SpyBara
Go Premium

Documentation 2026-10-20 23:00 UTC to 2026-10-21 23:02 UTC

87 files changed +1,452 −523. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59

admin-setup.md +1 −1

Details

91| [Verrouillage des permissions](/docs/fr/permissions#managed-only-settings) | Rendre les paramètres gérés la [seule source de paramètres des règles de permission](/docs/fr/settings-reference#allowmanagedpermissionrulesonly). Désactiver `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |91| [Verrouillage des permissions](/docs/fr/permissions#managed-only-settings) | Rendre les paramètres gérés la [seule source de paramètres des règles de permission](/docs/fr/settings-reference#allowmanagedpermissionrulesonly). Désactiver `--dangerously-skip-permissions` | `allowManagedPermissionRulesOnly`, `permissions.disableBypassPermissionsMode` |

92| [Mode de permission de démarrage](/docs/fr/permission-modes#which-mode-a-session-starts-in) | Choisir le mode de permission dans lequel les sessions de terminal de vos développeurs commencent au lieu du mode de permission de démarrage intégré, ou supprimer le mode auto. [Basculer les modes de permission](/docs/fr/permission-modes#switch-permission-modes) énumère quand l'extension VS Code lit un `defaultMode` que vous définissez | `permissions.defaultMode`, `permissions.disableAutoMode` |92| [Mode de permission de démarrage](/docs/fr/permission-modes#which-mode-a-session-starts-in) | Choisir le mode de permission dans lequel les sessions de terminal de vos développeurs commencent au lieu du mode de permission de démarrage intégré, ou supprimer le mode auto. [Basculer les modes de permission](/docs/fr/permission-modes#switch-permission-modes) énumère quand l'extension VS Code lit un `defaultMode` que vous définissez | `permissions.defaultMode`, `permissions.disableAutoMode` |

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

94| [Politique gérée CLAUDE.md](/docs/fr/memory#deploy-organization-wide-claude-md) | Instructions à l'échelle de l'organisation chargées dans chaque session, ne peuvent pas être exclues | Fichier au chemin de la politique gérée |94| [Politique gérée CLAUDE.md](/docs/fr/memory#deploy-organization-wide-claude-md) | Instructions comportementales à l'échelle de l'organisation pour Claude plutôt qu'une règle appliquée par le client | Fichier au chemin de la politique gérée |

95| [Contrôle du serveur MCP](/docs/fr/managed-mcp) | Restreindre les serveurs MCP que les utilisateurs peuvent ajouter ou connecter, déployer un ensemble fixe, ou fournir des serveurs distants à chaque utilisateur aux côtés des leurs | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers`, ou un fichier `managed-mcp.json` déployé |95| [Contrôle du serveur MCP](/docs/fr/managed-mcp) | Restreindre les serveurs MCP que les utilisateurs peuvent ajouter ou connecter, déployer un ensemble fixe, ou fournir des serveurs distants à chaque utilisateur aux côtés des leurs | `allowedMcpServers`, `deniedMcpServers`, `allowManagedMcpServersOnly`, `managedMcpServers`, ou un fichier `managed-mcp.json` déployé |

96| [Contrôle de la place de marché des plugins](/docs/fr/plugins/org#restrict-what-users-can-install) | Restreindre les sources de place de marché que les utilisateurs peuvent ajouter et installer, rejeter les drapeaux CLI qui chargent les plugins, agents et serveurs MCP pour une seule exécution, bloquer les [sources de plugin `command`](/docs/fr/plugins/marketplace-reference#command-plugin-source), et autoriser les plugins des places de marché qui peuvent être suggérés | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |96| [Contrôle de la place de marché des plugins](/docs/fr/plugins/org#restrict-what-users-can-install) | Restreindre les sources de place de marché que les utilisateurs peuvent ajouter et installer, rejeter les drapeaux CLI qui chargent les plugins, agents et serveurs MCP pour une seule exécution, bloquer les [sources de plugin `command`](/docs/fr/plugins/marketplace-reference#command-plugin-source), et autoriser les plugins des places de marché qui peuvent être suggérés | `strictKnownMarketplaces`, `blockedMarketplaces`, `disableSideloadFlags`, `disableCommandPluginSources`, `pluginSuggestionMarketplaces` |

97| [Verrouillage de la personnalisation](/docs/fr/settings-reference#strictpluginonlycustomization) | Bloquer les skills, agents, hooks et serveurs MCP provenant de sources utilisateur et projet, afin qu'ils ne proviennent que de plugins ou de paramètres gérés. Le verrouillage des skills arrête également les [skills que vos développeurs activent sur claude.ai](/docs/fr/skills#where-synced-skills-load) de se synchroniser | `strictPluginOnlyCustomization` |97| [Verrouillage de la personnalisation](/docs/fr/settings-reference#strictpluginonlycustomization) | Bloquer les skills, agents, hooks et serveurs MCP provenant de sources utilisateur et projet, afin qu'ils ne proviennent que de plugins ou de paramètres gérés. Le verrouillage des skills arrête également les [skills que vos développeurs activent sur claude.ai](/docs/fr/skills#where-synced-skills-load) de se synchroniser | `strictPluginOnlyCustomization` |

advisor.md +1 −1

Details

83 83 

84Si vous démarrez une [session en arrière-plan](/docs/fr/agent-view) avec `--advisor` et que l'une de ces conditions s'applique, Claude Code démarre la session sans l'advisor au lieu de se terminer.84Si vous démarrez une [session en arrière-plan](/docs/fr/agent-view) avec `--advisor` et que l'une de ces conditions s'applique, Claude Code démarre la session sans l'advisor au lieu de se terminer.

85 85 

86Si le modèle demandé peut agir comme advisor mais [se classe en dessous](#choose-an-advisor-model) du modèle principal de la session, Claude Code démarre quand même la session. En dehors des sessions en arrière-plan, il avertit également au lancement que le modèle `cannot advise` le modèle principal.86Si le modèle que vous passez peut agir comme advisor mais [se classe en dessous de votre modèle principal](#choose-an-advisor-model), la session démarre, qu'il s'agisse ou non d'une session en arrière-plan. Votre modèle principal s'exécute alors sans l'advisor.

87 87 

88## Choisir un modèle advisor88## Choisir un modèle advisor

89 89 

Details

230 230 

231| Mode | Comportement | Cas d'usage |231| Mode | Comportement | Cas d'usage |

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

233| `"default"` | Les outils non couverts par les règles d'autorisation déclenchent votre rappel `canUseTool` ; pas de rappel signifie refuser | Applications interactives avec un rappel d'approbation personnalisé |233| `"default"` | Les appels d'outils qui nécessitent une approbation et ne sont pas couverts par les règles d'autorisation déclenchent votre rappel `canUseTool` ; pas de rappel signifie refuser | Applications interactives avec un rappel d'approbation personnalisé |

234| `"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é |234| `"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é |

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

236| `"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é, bien qu'un [mod](/docs/fr/plugins/mods/overview) que vous avez installé puisse toujours approuver [certains de ces appels](/docs/fr/permissions#precedence-among-rules-hooks-and-mods). `AskUserQuestion`, les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools), les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) et les [lectures depuis des chemins réseau](/docs/fr/permissions#network-paths) 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` |236| `"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é, bien qu'un [mod](/docs/fr/plugins/mods/overview) que vous avez installé puisse toujours approuver [certains de ces appels](/docs/fr/permissions#precedence-among-rules-hooks-and-mods). `AskUserQuestion`, les outils connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools), les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) et les [lectures depuis des chemins réseau](/docs/fr/permissions#network-paths) 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` |

Details

372 372 

373### Configurer les outils autorisés373### Configurer les outils autorisés

374 374 

375L'option `tools` et les listes d'autorisation/interdiction affectent deux couches : la disponibilité, qui contrôle si un outil apparaît dans le contexte de Claude, et la permission, qui contrôle si un appel est approuvé une fois que Claude le tente. `tools` et les entrées `disallowedTools` avec nom simple changent la disponibilité. `allowedTools` et les règles `disallowedTools` délimitées changent la permission. Si vous nommez l'un des [outils de suivi des tâches](/docs/fr/agent-sdk/todo-tracking#model-availability) dans `allowedTools`, Claude Code opte également la session.375L'option `tools` et les listes d'autorisation/interdiction affectent deux couches : la disponibilité, qui contrôle si un outil apparaît dans le contexte de Claude, et la permission, qui contrôle si un appel est approuvé une fois que Claude le tente. `tools` et les entrées `disallowedTools` avec nom simple changent la disponibilité. `allowedTools` et les règles `disallowedTools` délimitées changent la permission. Si vous nommez l'un des [outils de suivi des tâches](/docs/fr/agent-sdk/todo-tracking#model-availability) dans `allowedTools`, Claude Code active également ces outils pour la session.

376 376 

377| Option | Couche | Effet |377| Option | Couche | Effet |

378| :- | :- | :- |378| :- | :- | :- |

Details

20 20 

21Les applications dans [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) sont des démos pour le développement local, allant d'un client email à un système de recherche multi-agent. Clonez la démo dont la structure correspond à ce que vous construisez.21Les applications dans [`claude-agent-sdk-demos`](https://github.com/anthropics/claude-agent-sdk-demos) sont des démos pour le développement local, allant d'un client email à un système de recherche multi-agent. Clonez la démo dont la structure correspond à ce que vous construisez.

22 22 

23## Forker un projet complet

24 

25Pour créer un agent d'achat ou un agent marchand avec le SDK Python, partez de l'[implémentation de référence Claude for commerce](https://platform.claude.com/docs/en/about-claude/use-case-guides/commerce-agents).

26 

23## Travaillez avec une recette Python27## Travaillez avec une recette Python

24 28 

25La série Agent SDK du Claude Cookbook est une séquence de recettes, chacune étant un notebook Python, qui progresse d'un agent de recherche simple à des systèmes multi-agent sophistiqués. Chaque notebook s'appuie sur le précédent, introduisant de nouveaux concepts et capacités. Commencez par [l'agent de recherche one-liner](https://platform.claude.com/cookbook/claude-agent-sdk-00-the-one-liner-research-agent) et progressez.29La série Agent SDK du Claude Cookbook est une séquence de recettes, chacune étant un notebook Python, qui progresse d'un agent de recherche simple à des systèmes multi-agent sophistiqués. Chaque notebook s'appuie sur le précédent, introduisant de nouveaux concepts et capacités. Commencez par [l'agent de recherche one-liner](https://platform.claude.com/cookbook/claude-agent-sdk-00-the-one-liner-research-agent) et progressez.

Details

638 638 

639* [`permission_prompt`](/docs/fr/hooks#notification) une fois qu'une demande de permission a attendu environ six secondes sur votre rappel [`canUseTool`](/docs/fr/agent-sdk/user-input). Nécessite TypeScript Agent SDK v0.3.233 ou ultérieur, ou Python Agent SDK v0.2.139 ou ultérieur639* [`permission_prompt`](/docs/fr/hooks#notification) une fois qu'une demande de permission a attendu environ six secondes sur votre rappel [`canUseTool`](/docs/fr/agent-sdk/user-input). Nécessite TypeScript Agent SDK v0.3.233 ou ultérieur, ou Python Agent SDK v0.2.139 ou ultérieur

640* `elicitation_complete` et `elicitation_response` pour les flux d'élicitation de saisie utilisateur640* `elicitation_complete` et `elicitation_response` pour les flux d'élicitation de saisie utilisateur

641* `plugin_notification` lorsqu'un [mod](/docs/fr/plugins/mods/api#show-something-without-starting-a-turn) appelle `$.ui.notify`

641 642 

642Claude Code émet les autres types, tels que `idle_prompt`, `auth_success`, et `elicitation_dialog`, à partir de l'interface utilisateur interactive que les sessions SDK n'exécutent pas.643Claude Code émet les autres types, tels que `idle_prompt`, `auth_success`, et `elicitation_dialog`, à partir de l'interface utilisateur interactive que les sessions SDK n'exécutent pas.

643 644 

agent-sdk/mcp.md +29 −11

Details

142 142 

143## Délai de connexion143## Délai de connexion

144 144 

145Claude Code enregistre les serveurs que vous transmettez dans `options.mcpServers` au démarrage et émet le [message init](#error-handling) une fois que l'attente du premier tour, le cas échéant, est résolue. Que chaque serveur `options.mcpServers` retarde le premier tour, et quand il se connecte, dépend de son type :145Claude Code commence à connecter vos serveurs MCP au démarrage de la session, et envoie le [message init](#error-handling) une fois que l'attente du premier tour, le cas échéant, se termine. La durée pendant laquelle le premier tour attend un serveur dépend de l'endroit où vous l'avez configuré. Si vous définissez `permissionPromptToolName`, le premier tour attend toujours le serveur de cet outil, jusqu'à `MCP_TIMEOUT`, quel que soit l'endroit où vous l'avez configuré.

146 

147Pour un serveur dans `options.mcpServers`, trouvez son type dans la première colonne pour savoir combien de temps le premier tour l'attend.

146 148 

147| Type de serveur | Retarde le premier tour ? | Délai d'attente du premier tour |149| Type de serveur | Retarde le premier tour ? | Délai d'attente du premier tour |

148| :- | :- | :- |150| :- | :- | :- |


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

151| Serveur [SDK](#sdk-mcp-servers) en processus | Oui, jusqu'à ce qu'il se connecte et énumère ses outils | [`MCP_TIMEOUT`](/docs/fr/env-vars), 30 secondes par défaut, par tentative de connexion ; la connexion échoue à cette limite |153| Serveur [SDK](#sdk-mcp-servers) en processus | Oui, jusqu'à ce qu'il se connecte et énumère ses outils | [`MCP_TIMEOUT`](/docs/fr/env-vars), 30 secondes par défaut, par tentative de connexion ; la connexion échoue à cette limite |

152 154 

153Les serveurs chargés à partir de [fichiers de configuration](#from-a-config-file) tels que `.mcp.json` ou à partir de plugins affichent généralement `pending` dans le message init. Quand `options.mcpServers` contient un serveur stdio, HTTP ou SSE, le premier tour attend également ces serveurs en attente, jusqu'à `MCP_TIMEOUT`. Quand `options.mcpServers` est vide ou contient uniquement des serveurs SDK, le premier tour attend jusqu'à 2 secondes à la place :155Un serveur possède une liste d'outils en cache uniquement lorsque le [cache de découverte MCP](/docs/fr/mcp#server-status-detail) est activé.

156 

157Les serveurs provenant de [fichiers de paramètres](#from-a-config-file) tels que `.mcp.json`, ou de plugins, affichent souvent encore `pending` dans le message init. La durée pendant laquelle le premier tour les attend dépend de `options.mcpServers` et de la recherche d'outils :

158 

159* **`options.mcpServers` contient un serveur stdio, HTTP ou SSE** : le premier tour attend également les serveurs en attente issus des fichiers de paramètres et des plugins, jusqu'à `MCP_TIMEOUT`.

160* **Sinon, quand `ANTHROPIC_BASE_URL` pointe vers une [passerelle](/docs/fr/mcp#tool-search-through-a-gateway) et que [`ENABLE_TOOL_SEARCH`](/docs/fr/mcp#configure-tool-search) n'est pas défini** : le premier tour attend jusqu'à 2 secondes pour chaque serveur en attente issu des fichiers de paramètres et des plugins.

161* **Sinon, avec la [recherche d'outils](/docs/fr/agent-sdk/tool-search) activée, ce qui est la valeur par défaut** : le premier tour attend jusqu'à 2 secondes, et uniquement pour les serveurs en attente qui définissent [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral) ou que vous avez [nommés](#named-servers). Les autres continuent de se connecter en arrière-plan, et Claude [accède à leurs outils](/docs/fr/mcp#tool-availability) une fois qu'ils sont connectés.

162* **Sinon, avec la recherche d'outils désactivée** : le premier tour attend jusqu'à 2 secondes pour chaque serveur en attente issu des fichiers de paramètres et des plugins. La recherche d'outils est désactivée lorsque votre [valeur `ENABLE_TOOL_SEARCH` ou votre modèle](/docs/fr/agent-sdk/tool-search#configure-tool-search) la désactive, ou lorsque vous excluez l'outil `ToolSearch`, par exemple via `disallowedTools`.

163 

164### Serveurs nommés

165 

166Vous nommez un serveur en listant l'un de ses outils, comme `mcp__github__list_issues` ou `mcp__github__*`, dans [`allowedTools`](#allow-mcp-tools) ou dans une règle `permissions.allow` de l'option `settings`. Un [hook `mcp_tool`](/docs/fr/hooks#mcp-tool-hook-fields) nomme également le serveur qu'il appelle lorsque vous le configurez sur un événement de soumission de prompt, d'utilisation d'outil, de permission, de sous-agent, de tâche, d'élicitation ou de worktree. Avant la v2.1.284, nommer un serveur n'avait aucun effet sur l'attente du premier tour.

167 

168### Définir vous-même l'attente du premier tour

169 

170Pour choisir vous-même l'attente du premier tour, définissez `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` dans l'[option `env`](/docs/fr/agent-sdk/configuration#set-environment-variables), par exemple `CLAUDE_CODE_MCP_STARTUP_WAIT_MS: "5000"`. Le premier tour attend alors jusqu'à ce nombre de millisecondes pour les serveurs en attente issus des fichiers de paramètres et des plugins, que la recherche d'outils soit activée ou non. Cette même limite remplace l'attente `MCP_TIMEOUT` pour les serveurs stdio, HTTP et SSE dans `options.mcpServers`.

154 171 

155* **Avec [recherche d'outils](/docs/fr/agent-sdk/tool-search), la valeur par défaut** : l'attente couvre les serveurs toujours en attente configurés avec [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral) et non les autres. Les autres continuent de se connecter en arrière-plan. [Disponibilité des outils](/docs/fr/mcp#tool-availability) décrit comment Claude accède à leurs outils une fois qu'ils se connectent.172Trois attentes s'appliquent quelle que soit la valeur définie, y compris `0` :

156* **Sans recherche d'outils** : l'attente couvre tous les serveurs en attente. [Configurer la recherche d'outils](/docs/fr/agent-sdk/tool-search#configure-tool-search) couvre ce qui désactive la recherche d'outils. Si vous excluez l'outil `ToolSearch` de la session, par exemple via `disallowedTools`, la session s'exécute également sans recherche d'outils.

157 173 

158Si vous définissez `permissionPromptToolName`, le premier tour attend également le serveur de cet outil dans tous les cas, jusqu'à `MCP_TIMEOUT`.174* **Un serveur `permissionPromptToolName`** : jusqu'à `MCP_TIMEOUT`.

175* **Un [serveur SDK](#sdk-mcp-servers) en processus** : jusqu'à `MCP_TIMEOUT` par tentative de connexion.

176* **Un [serveur nommé](#named-servers) encore en cours de connexion** : au moins jusqu'à 2 secondes, de sorte qu'une valeur inférieure à `2000` ne raccourcit pas son attente.

159 177 

160Pour définir vous-même l'attente du premier tour, ajoutez `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` à l'[option `env`](/docs/fr/agent-sdk/configuration#set-environment-variables), par exemple `CLAUDE_CODE_MCP_STARTUP_WAIT_MS: "5000"`. Le premier tour attend alors jusqu'à ce nombre de millisecondes pour tous les serveurs en attente, que la recherche d'outils soit disponible ou non. Cette limite remplace également l'attente du premier tour `MCP_TIMEOUT` pour les serveurs stdio, HTTP et SSE dans `options.mcpServers`. `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` nécessite Claude Code v2.1.274 ou ultérieur.178Définissez la variable à `0` pour ignorer l'attente de tous les autres serveurs. Les serveurs toujours en attente quand l'attente se termine continuent de se connecter en arrière-plan. `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` nécessite Claude Code v2.1.274 ou ultérieur.

161 179 

162Les serveurs toujours en attente quand l'attente se termine continuent de se connecter en arrière-plan. Définissez la variable à `0` pour ignorer l'attente. Un serveur `permissionPromptToolName` conserve sa propre attente `MCP_TIMEOUT` indépendamment de la valeur.180### Faire attendre les serveurs au démarrage

163 181 

164Pour bloquer le démarrage lui-même à une phase distincte et antérieure à l'attente du premier tour, avant que le message init soit envoyé :182Deux paramètres font attendre le démarrage lui-même, avant que Claude Code n'envoie le message init :

165 183 

166* Définissez [`MCP_CONNECTION_NONBLOCKING`](/docs/fr/env-vars) à `0` pour bloquer sur tout le lot de connexions. Claude Code limite cette attente à 5 secondes par défaut. Ajustez la limite avec la variable d'environnement [`MCP_CONNECT_TIMEOUT_MS`](/docs/fr/env-vars), en millisecondes. Les serveurs toujours en attente à cette limite continuent de se connecter en arrière-plan.184* **[`MCP_CONNECTION_NONBLOCKING`](/docs/fr/env-vars) défini à `0`** : le démarrage attend tout le lot de connexions, jusqu'à 5 secondes par défaut. Définissez [`MCP_CONNECT_TIMEOUT_MS`](/docs/fr/env-vars), en millisecondes, pour modifier cette limite. Les serveurs toujours en attente à cette limite continuent de se connecter en arrière-plan.

167* Définissez `alwaysLoad: true` sur la configuration d'un serveur pour rendre ses outils disponibles à leurs schémas complets au premier tour, [exempts du report de recherche d'outils](/docs/fr/mcp#exempt-a-server-from-deferral). Claude Code attend au démarrage les outils de ce serveur, limités à la même limite, tandis que les autres serveurs continuent de se connecter en arrière-plan ; un serveur distant avec une liste d'outils en cache les fournit sans se connecter, selon le tableau ci-dessus.185* **`alwaysLoad: true` dans la configuration d'un serveur** : le démarrage attend les outils de ce serveur jusqu'à la même limite, afin que le premier tour en dispose avec leurs schémas complets, [exempts du report de recherche d'outils](/docs/fr/mcp#exempt-a-server-from-deferral). Un serveur distant avec une liste d'outils en cache les fournit sans se connecter ni bloquer le démarrage.

168 186 

169Le message `system` avec le sous-type `init` rapporte l'état de chaque serveur au moment où il est émis ; voir [Gestion des erreurs](#error-handling) pour lire ces états.187Le message init rapporte l'état de chaque serveur au moment où Claude Code l'envoie.

170 188 

171## Autoriser les outils MCP189## Autoriser les outils MCP

172 190 

Details

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

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

80 80 

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

82 82 

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

84 84 

Details

535| `set_model(model)` | Change le modèle pour la session actuelle. Passez `None` pour réinitialiser au [modèle par défaut de Claude Code](/docs/fr/model-config). Une session en mode `auto` [passe en mode `default`](/docs/fr/agent-sdk/permissions#auto-mode-auto) si le nouveau modèle ne prend pas en charge le mode auto |535| `set_model(model)` | Change le modèle pour la session actuelle. Passez `None` pour réinitialiser au [modèle par défaut de Claude Code](/docs/fr/model-config). Une session en mode `auto` [passe en mode `default`](/docs/fr/agent-sdk/permissions#auto-mode-auto) si le nouveau modèle ne prend pas en charge le mode auto |

536| `rewind_files(user_message_id)` | Restaure les fichiers à leur état au message utilisateur spécifié. Nécessite `enable_file_checkpointing=True`. Voir [File checkpointing](/docs/fr/agent-sdk/file-checkpointing) |536| `rewind_files(user_message_id)` | Restaure les fichiers à leur état au message utilisateur spécifié. Nécessite `enable_file_checkpointing=True`. Voir [File checkpointing](/docs/fr/agent-sdk/file-checkpointing) |

537| `get_mcp_status()` | Obtient le statut de tous les serveurs MCP configurés. Retourne [`McpStatusResponse`](#mcpstatusresponse) |537| `get_mcp_status()` | Obtient le statut de tous les serveurs MCP configurés. Retourne [`McpStatusResponse`](#mcpstatusresponse) |

538| `get_context_usage()` | Obtient une ventilation de l'utilisation de la fenêtre de contexte par catégorie, compétence et outil. Les mêmes données que `/context` affiche dans une session interactive. Retourne [`ContextUsageResponse`](#contextusageresponse). Pour calculer la ventilation, Claude Code effectue plusieurs demandes d'API de comptage de tokens qui n'apparaissent pas dans le flux de messages ; voir [comment ces demandes sont traitées](#contextusageresponse) |538| `get_context_usage()` | Obtient une ventilation de l'utilisation de la fenêtre de contexte par catégorie, skill et outil. Inclut les données que `/context` affiche dans une session interactive. Retourne [`ContextUsageResponse`](#contextusageresponse). Pour calculer la ventilation, Claude Code effectue plusieurs requêtes d'API de comptage de tokens qui n'apparaissent pas dans le flux de messages ; voir [comment ces requêtes sont traitées](#contextusageresponse) |

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

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

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


1524 1524 

1525### `ContextUsageResponse`1525### `ContextUsageResponse`

1526 1526 

1527Réponse de [`ClaudeSDKClient.get_context_usage()`](#methods). Ceci est la même charge utile que Claude Code rend pour la commande `/context` dans une session interactive, donc aux côtés des comptages de tokens elle porte des champs d'affichage tels que `color` et `gridRows` que Claude Code utilise pour dessiner la grille d'utilisation `/context`.1527Réponse de [`ClaudeSDKClient.get_context_usage()`](#methods). La réponse inclut la charge utile que Claude Code rend pour la commande `/context` dans une session interactive. Aux côtés des comptages de tokens, cette charge utile porte des champs d'affichage tels que `color` et `gridRows` que Claude Code utilise pour dessiner la grille d'utilisation `/context`.

1528 1528 

1529Claude Code construit cette charge utile en envoyant plusieurs requêtes à l'API de [comptage de tokens](https://platform.claude.com/docs/en/build-with-claude/token-counting). Ces requêtes n'apparaissent pas dans le flux de messages, donc le suivi des coûts qui lit le flux ne les verra pas. Sur l'API Anthropic, le comptage de tokens n'est pas facturé.1529Claude Code construit cette charge utile en envoyant plusieurs requêtes à l'API de [comptage de tokens](https://platform.claude.com/docs/en/build-with-claude/token-counting). Ces requêtes n'apparaissent pas dans le flux de messages, donc le suivi des coûts qui lit le flux ne les verra pas. Sur l'API Anthropic, le comptage de tokens n'est pas facturé.

1530 1530 


1715 1715 

1716Plusieurs champs portent des détails de diagnostic sur la façon dont la conversation s'est terminée :1716Plusieurs champs portent des détails de diagnostic sur la façon dont la conversation s'est terminée :

1717 1717 

1718* `is_error` : `True` quand la conversation s'est terminée dans un état d'erreur. Toujours `True` sur les sous-types `error_*`. Sur `subtype="success"` c'est `True` quand la dernière requête de modèle a échoué, ce qui signifie que la boucle d'agent s'est terminée mais le dernier appel API a retourné une erreur.1718* `is_error` : `True` quand la conversation s'est terminée dans un état d'erreur. Toujours `True` sur les sous-types `error_*`. Sur `subtype="success"`, c'est `True` dans trois cas. Vérifiez `stop_reason` pour les distinguer :

1719 * `"refusal"` : le modèle a refusé de répondre. Lisez le texte du refus dans `result`, ou dans l'`AssistantMessage` précédent quand `result` est vide.

1720 * `"tool_deferred_unavailable"` : l'[outil différé](/docs/fr/hooks#defer-a-tool-call-for-later) n'était plus disponible quand vous avez repris la session, par exemple parce que son serveur MCP n'était pas connecté. Dans les deux cas ci-dessous, un prompt que vous envoyez après la reprise compte de la même manière qu'un prompt transmis avec la reprise :

1721 * Aucun prompt : l'appel est toujours en attente. Rendez l'outil disponible et reprenez à nouveau sans prompt, et l'appel s'exécute en premier.

1722 * Un prompt : Claude Code y répond sans le résultat de l'outil, et l'appel différé disparaît. Envoyez un nouveau prompt si vous avez encore besoin que l'outil soit appelé.

1723 * Toute autre valeur : le tour s'est terminé sur une erreur que Claude Code a signalée à la place d'une réponse du modèle, telle qu'une erreur API. Lisez `terminal_reason` pour la cause, `result` pour le message, et `api_error_status` pour le statut HTTP quand l'API en a renvoyé un.

1719* `api_error_status` : le code de statut HTTP de l'erreur API terminale. `None` quand le tour s'est terminé sans une. Rempli uniquement sur `subtype="success"`.1724* `api_error_status` : le code de statut HTTP de l'erreur API terminale. `None` quand le tour s'est terminé sans une. Rempli uniquement sur `subtype="success"`.

1720* `result` : texte du message d'assistant final sur `subtype="success"`, ou `None` sur les sous-types `error_*`. Quand `subtype="success"` et `is_error=True`, ceci contient la chaîne d'erreur API si une est disponible mais peut être vide, donc vérifiez `api_error_status` et le contenu `AssistantMessage` précédent pour plus de détails.1725* `result` : texte du message d'assistant final sur `subtype="success"`, ou `None` sur les sous-types `error_*`. Quand `subtype="success"` et `is_error=True`, ceci contient la chaîne d'erreur API si une est disponible mais peut être vide, donc vérifiez `api_error_status` et le contenu `AssistantMessage` précédent pour plus de détails.

1721* `errors` : chaînes d'erreur au niveau de la boucle telles que le message max-turns. Rempli uniquement sur les sous-types `error_*`.1726* `errors` : chaînes d'erreur au niveau de la boucle telles que le message max-turns. Rempli uniquement sur les sous-types `error_*`.


2062 errors: list[str] # an empty list when the result message reported none2067 errors: list[str] # an empty list when the result message reported none

2063 result: str | None2068 result: str | None

2064 api_error_status: int | None2069 api_error_status: int | None

2065 terminal_reason: str | None # "max_turns", "api_error", ...; check this before subtype2070 terminal_reason: str | None # "max_turns", "api_error", ...; check after data["stop_reason"], before subtype

2066 session_id: str | None2071 session_id: str | None

2067 data: dict[str, Any] # the raw result message payload2072 data: dict[str, Any] # the raw result message payload

2068```2073```

2069 2074 

2070Pour distinguer les échecs, vérifiez `terminal_reason` avant `subtype`. Quand la requête finale échoue, par exemple sur une erreur API, Claude Code rapporte `subtype` `"success"` avec la cause dans `terminal_reason`, par exemple `"api_error"` ; quand une limite que vous avez définie termine l'exécution, comme `max_turns` ou `max_budget_usd`, il rapporte un sous-type `error_*`.2075Pour distinguer les échecs, vérifiez d'abord `data["stop_reason"]`, puis `terminal_reason`, puis `subtype`. Une réponse refusée a un `stop_reason` `"refusal"`, généralement avec un `subtype` `"success"` ; son `terminal_reason` ne permet pas de l'identifier et peut valoir `"completed"` ou `"api_error"`. Une requête finale en échec a un `subtype` `"success"` et sa cause dans `terminal_reason`, par exemple `"api_error"` pour une erreur API. Quand l'exécution atteint une limite que vous avez définie, comme `max_turns` ou `max_budget_usd`, vous obtenez un sous-type `error_*`.

2071 2076 

2072### `CLIJSONDecodeError`2077### `CLIJSONDecodeError`

2073 2078 


2574 "subagent_type": str | None, # The type of specialized agent to use2579 "subagent_type": str | None, # The type of specialized agent to use

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

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

2577 "run_in_background": bool | None, # Agents run in the background by default; set to False to run synchronously2582 "run_in_background": bool | None, # Default when omitted: your main agent's call runs the new agent in the background, and a subagent's call waits for it

2578 "name": str | None, # Name for the spawned agent2583 "name": str | None, # Name for the spawned agent

2579 "team_name": str | None, # Deprecated; ignored2584 "team_name": str | None, # Deprecated; ignored

2580 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # Deprecated; ignored. The subagent inheritance rules decide a subagent's permission mode2585 "mode": "acceptEdits" | "auto" | "bypassPermissions" | "default" | "dontAsk" | "plan" | None, # Deprecated; ignored. The subagent inheritance rules decide a subagent's permission mode


2584 2589 

2585Lance un nouvel agent pour gérer des tâches complexes et multi-étapes de manière autonome.2590Lance un nouvel agent pour gérer des tâches complexes et multi-étapes de manière autonome.

2586 2591 

2592Lorsque Claude omet `run_in_background` dans un appel `Agent`, par défaut votre agent principal n'attend pas le nouvel agent, tandis qu'un sous-agent l'attend :

2593 

2594* **Depuis votre agent principal** : le nouvel agent s'exécute en arrière-plan, et le résultat a `status: "async_launched"`. Pour que votre agent principal attende plutôt le nouvel agent, consultez [Choisir si Claude attend les sous-agents](/docs/fr/agent-sdk/subagents#choose-whether-claude-waits-for-subagents).

2595* **Depuis l'un de vos sous-agents** : le sous-agent appelant [attend le nouvel agent](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents). Le nouvel agent s'exécute plutôt en arrière-plan lorsque sa définition définit [`background`](#agentdefinition) sur `True`, ou lorsque vous [désactivez le mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off) en définissant `CLAUDE_CODE_FORK_SUBAGENT` sur `0`.

2596 

2597Avant le SDK Python v0.2.169, les agents démarrés par vos sous-agents s'exécutaient également en arrière-plan par défaut. Cette version est la première à intégrer Claude Code v2.1.302 ou ultérieur.

2598 

2587**Sortie (statut : `"completed"`) :**2599**Sortie (statut : `"completed"`) :**

2588 2600 

2589```python theme={null}2601```python theme={null}


3519 "Claude Code CLI not found. Try reinstalling: pip install --force-reinstall claude-agent-sdk"3531 "Claude Code CLI not found. Try reinstalling: pip install --force-reinstall claude-agent-sdk"

3520 )3532 )

3521 # Catch ResultError before ProcessError, which it subclasses. Its message3533 # Catch ResultError before ProcessError, which it subclasses. Its message

3522 # carries the error text. A failed final request, such as an API error,3534 # carries the error text. A refusal and a failed final request both usually

3523 # arrives with subtype "success", so branch on terminal_reason first.3535 # arrive with subtype "success", so check stop_reason, then terminal_reason.

3524 except ResultError as e:3536 except ResultError as e:

3525 if e.terminal_reason == "api_error":3537 if e.data.get("stop_reason") == "refusal":

3538 print(f"Model declined to respond: {e}")

3539 elif e.terminal_reason == "api_error":

3526 print(f"API request failed: {e}")3540 print(f"API request failed: {e}")

3527 else:3541 else:

3528 print(f"Query ended with an error result ({e.terminal_reason or e.subtype}): {e}")3542 print(f"Query ended with an error result ({e.terminal_reason or e.subtype}): {e}")

Details

318 318 

319## Limitations connues319## Limitations connues

320 320 

321* **Sortie structurée** : avec les messages partiels activés, le JSON est diffusé en tant que chunks `input_json_delta` non validés d'un appel d'outil, et seul le résultat validé atteint le `ResultMessage.structured_output` final. Consultez [les sorties structurées](/docs/fr/agent-sdk/structured-outputs) pour plus de détails.321* **Sortie structurée** : avec les messages partiels activés, le JSON est diffusé en tant que chunks `input_json_delta` non validés d'un appel d'outil, et seul le résultat validé atteint le `ResultMessage.structured_output` final. [Reconnaître l'appel d'outil StructuredOutput](/docs/fr/agent-sdk/structured-outputs#recognize-the-structuredoutput-tool-call) explique comment cet appel apparaît dans votre flux.

322 322 

323## Étapes suivantes323## Étapes suivantes

324 324 

Details

368asyncio.run(main())368asyncio.run(main())

369```369```

370 370 

371## Reconnaître l'appel d'outil StructuredOutput

372 

373Lorsque vous définissez `outputFormat` en TypeScript ou `output_format` en Python, votre flux de messages contient un appel d'outil nommé `StructuredOutput` que vous n'avez jamais défini. Claude Code ajoute cet outil à la session, et l'agent l'appelle pour renvoyer sa réponse. Le [message d'initialisation système](/docs/fr/agent-sdk/typescript#sdksystemmessage) le liste dans le tableau `tools`, et chaque appel arrive sous forme de deux blocs :

374 

375* Un bloc `tool_use` nommé `StructuredOutput`, dont l'entrée est l'objet produit par l'agent pour votre schéma

376* Un bloc `tool_result` indiquant `Structured output provided successfully`

377 

378Lorsque cet objet ne correspond pas à votre schéma, le `tool_result` contient à la place `is_error: true` et l'agent appelle à nouveau `StructuredOutput`, de sorte que votre flux peut contenir plusieurs appels pour une seule requête. Lisez les données validées depuis `structured_output` sur le message de résultat plutôt que depuis un bloc `tool_use`, et consultez [Gestion des erreurs](#error-handling) pour connaître le résultat obtenu lorsqu'aucune tentative n'aboutit.

379 

380Si votre application affiche ou journalise les appels d'outils, ignorez ceux nommés `StructuredOutput` afin que ce mécanisme n'apparaisse pas comme une étape choisie par l'agent. Un bloc `tool_result` ne contient aucun nom d'outil, seulement le `tool_use_id` de l'appel auquel il répond : comparez-le donc à l'`id` de chaque appel que vous avez ignoré.

381 

371## Gestion des erreurs382## Gestion des erreurs

372 383 

373La génération de sortie structurée peut échouer quand l'agent ne peut pas produire du JSON valide correspondant à votre schéma. Cela se produit généralement quand le schéma est trop complexe pour la tâche, la tâche elle-même est ambiguë, ou l'agent atteint sa limite de tentatives en essayant de corriger les erreurs de validation. Cela peut aussi se produire sans aucune erreur de validation : un [basculement vers un modèle de secours](/docs/fr/model-config#automatic-model-fallback) peut rétracter une sortie déjà complétée en cours de flux, et si aucune nouvelle tentative ne la remplace, l'exécution se termine avec la même erreur. Vérifiez la liste `errors` du message de résultat d'erreur pour distinguer les deux causes avant de déboguer votre schéma.384La génération de sortie structurée peut échouer quand l'agent ne peut pas produire du JSON valide correspondant à votre schéma. Cela se produit généralement quand le schéma est trop complexe pour la tâche, la tâche elle-même est ambiguë, ou l'agent atteint sa limite de tentatives en essayant de corriger les erreurs de validation. Cela peut aussi se produire sans aucune erreur de validation : un [basculement vers un modèle de secours](/docs/fr/model-config#automatic-model-fallback) peut rétracter une sortie déjà complétée en cours de flux, et si aucune nouvelle tentative ne la remplace, l'exécution se termine avec la même erreur. Vérifiez la liste `errors` du message de résultat d'erreur pour distinguer les deux causes avant de déboguer votre schéma.

Details

147| `tools` | `string[]` | Non | Tableau des noms d'outils autorisés. S'il est omis, hérite de tous les [outils disponibles pour les sous-agents](/docs/fr/sub-agents#available-tools) |147| `tools` | `string[]` | Non | Tableau des noms d'outils autorisés. S'il est omis, hérite de tous les [outils disponibles pour les sous-agents](/docs/fr/sub-agents#available-tools) |

148| `disallowedTools` | `string[]` | Non | Tableau des noms d'outils à supprimer de l'ensemble d'outils de l'agent. Les modèles au niveau du serveur MCP sont également acceptés : `mcp__server` ou `mcp__server__*` supprime tous les outils de ce serveur, et `mcp__*` supprime tous les outils MCP de n'importe quel serveur |148| `disallowedTools` | `string[]` | Non | Tableau des noms d'outils à supprimer de l'ensemble d'outils de l'agent. Les modèles au niveau du serveur MCP sont également acceptés : `mcp__server` ou `mcp__server__*` supprime tous les outils de ce serveur, et `mcp__*` supprime tous les outils MCP de n'importe quel serveur |

149| `model` | `string` | Non | Remplacement du modèle pour cet agent. Accepte un alias tel que `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, ou un ID de modèle complet. `'inherit'` utilise le modèle principal. Lorsque vous l'omettez, Claude Code choisit le modèle dans l'[ordre des modèles de sous-agent](/docs/fr/sub-agents#choose-a-model) |149| `model` | `string` | Non | Remplacement du modèle pour cet agent. Accepte un alias tel que `'fable'`, `'opus'`, `'sonnet'`, `'haiku'`, `'inherit'`, ou un ID de modèle complet. `'inherit'` utilise le modèle principal. Lorsque vous l'omettez, Claude Code choisit le modèle dans l'[ordre des modèles de sous-agent](/docs/fr/sub-agents#choose-a-model) |

150| `skills` | `string[]` | Non | Liste des noms de compétences à précharger dans le contexte de l'agent au démarrage. Les compétences non listées restent invocables via l'outil Skill |150| `skills` | `string[]` | Non | Liste des noms de skills à précharger dans le contexte de l'agent au démarrage. Au plus les [32 premiers noms distincts](/docs/fr/sub-agents#preload-skills-into-subagents) de la liste sont préchargés. Les skills non listés restent invocables via l'outil Skill |

151| `memory` | `'user' \| 'project' \| 'local'` | Non | Source de mémoire pour cet agent |151| `memory` | `'user' \| 'project' \| 'local'` | Non | Source de mémoire pour cet agent |

152| `mcpServers` | `(string \| object)[]` | Non | Serveurs MCP disponibles pour cet agent, par nom ou configuration en ligne |152| `mcpServers` | `(string \| object)[]` | Non | Serveurs MCP disponibles pour cet agent, par nom ou configuration en ligne |

153| `initialPrompt` | `string` | Non | Auto-soumis comme le premier tour utilisateur lorsque cet agent s'exécute en tant qu'agent du thread principal. Ignoré lorsque l'agent est invoqué en tant que sous-agent |153| `initialPrompt` | `string` | Non | Auto-soumis comme le premier tour utilisateur lorsque cet agent s'exécute en tant qu'agent du thread principal. Ignoré lorsque l'agent est invoqué en tant que sous-agent |


323 323 

324Claude invoque les sous-agents via l'outil Agent. Pour détecter quand un sous-agent est invoqué, recherchez les blocs `tool_use` où `name` est `"Agent"`.324Claude invoque les sous-agents via l'outil Agent. Pour détecter quand un sous-agent est invoqué, recherchez les blocs `tool_use` où `name` est `"Agent"`.

325 325 

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

327 327 

328> [!NOTE]328> [!NOTE]

329>329>

Details

8 8 

9Claude Code fournit les [outils de suivi des tâches](/docs/fr/tools-reference#task-tool-availability) par défaut uniquement sur les modèles listés sous [Disponibilité des modèles](#model-availability). Les modèles plus récents suivent les travaux multi-étapes sans liste de tâches écrite, donc sur ceux-ci vous n'avez besoin de rien sur cette page pour que Claude travaille sur des tâches multi-étapes.9Claude Code fournit les [outils de suivi des tâches](/docs/fr/tools-reference#task-tool-availability) par défaut uniquement sur les modèles listés sous [Disponibilité des modèles](#model-availability). Les modèles plus récents suivent les travaux multi-étapes sans liste de tâches écrite, donc sur ceux-ci vous n'avez besoin de rien sur cette page pour que Claude travaille sur des tâches multi-étapes.

10 10 

11Dans une session qui dispose des outils de suivi des tâches, Claude maintient une liste de tâches écrite, mettant à jour le statut de chaque élément au fur et à mesure qu'il travaille. Vous voyez chaque changement dans le flux de messages sous forme d'appel d'outil structuré. Optez pour une session uniquement lorsque votre application lit ces appels d'outils, que ce soit pour enregistrer l'activité des tâches ou pour afficher son propre écran de progression.11Dans une session qui dispose des outils de suivi des tâches, Claude maintient une liste de tâches écrite, mettant à jour le statut de chaque élément au fur et à mesure qu'il travaille. Vous voyez chaque changement dans le flux de messages sous forme d'appel d'outil structuré. N'activez ces outils pour une session que lorsque votre application lit ces appels d'outils, que ce soit pour enregistrer l'activité des tâches ou pour afficher son propre écran de progression.

12 12 

13## Disponibilité des modèles13## Disponibilité des modèles

14 14 


26>26>

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

28 28 

29Sur 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 :29Sur un modèle qui n'a pas les outils par défaut, sauf si vous les activez 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 activer ces outils pour une session, faites l'une des choses suivantes :

30 30 

31* Nommez l'un des outils dans l'option [`allowedTools`](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) (TypeScript) ou `allowed_tools` (Python)31* Nommez l'un des outils dans l'option [`allowedTools`](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) (TypeScript) ou `allowed_tools` (Python)

32* Listez les outils dans l'option `tools`, qui restreint les outils intégrés de la session à ceux qu'elle nomme. Incluez les outils que vous souhaitez aux côtés des autres outils intégrés que vous utilisez32* Listez les outils dans l'option `tools`, qui restreint les outils intégrés de la session à ceux qu'elle nomme. Incluez les outils que vous souhaitez aux côtés des autres outils intégrés que vous utilisez

Details

660| `supportedModels()` | Renvoie les modèles disponibles avec leurs informations d'affichage |660| `supportedModels()` | Renvoie les modèles disponibles avec leurs informations d'affichage |

661| `supportedAgents()` | Renvoie les sous-agents disponibles sous forme de [`AgentInfo`](#agentinfo)`[]` |661| `supportedAgents()` | Renvoie les sous-agents disponibles sous forme de [`AgentInfo`](#agentinfo)`[]` |

662| `mcpServerStatus()` | Renvoie l'état des serveurs MCP connectés sous forme de [`McpServerStatus`](#mcpserverstatus)`[]` |662| `mcpServerStatus()` | Renvoie l'état des serveurs MCP connectés sous forme de [`McpServerStatus`](#mcpserverstatus)`[]` |

663| `getContextUsage(opts?)` | Renvoie un [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) qui détaille l'utilisation de la fenêtre de contexte de la session par catégorie, skill et outil. Avec la valeur par défaut de `detail`, il s'agit des mêmes données que celles affichées par `/context` dans une session interactive, calculées avec des requêtes API de comptage de tokens qui n'apparaissent pas dans le flux de messages ; consultez [comment ces requêtes sont traitées](#sdkcontrolgetcontextusageresponse). L'[option `detail`](#sdkcontrolgetcontextusageresponse) nécessite Agent SDK v0.3.257 ou ultérieure |663| `getContextUsage(opts?)` | Renvoie un [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) détaillant l'utilisation de la fenêtre de contexte de la session par catégorie, skill et outil. Avec la valeur par défaut de `detail`, il inclut les données que `/context` affiche dans une session interactive, calculées à l'aide de requêtes API de comptage de tokens qui n'apparaissent pas dans le flux de messages ; consultez [comment ces requêtes sont gérées](#sdkcontrolgetcontextusageresponse). L'[option `detail`](#sdkcontrolgetcontextusageresponse) nécessite Agent SDK v0.3.257 ou ultérieur |

664| `readFile(path, options?)` | Lit un fichier depuis le système de fichiers de la session. Claude Code résout le chemin par rapport à `cwd` ; [Ce que `readFile()` peut lire](#what-readfile-can-read) liste les fichiers qu'elle sert. Passez `{ maxBytes }` pour modifier la limite de lecture (1 Mo par défaut, 10 Mo maximum) et `{ encoding: 'base64' }` pour les fichiers binaires tels que les images. Se résout avec un [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse), ou `null` en cas de refus de permission, de fichier manquant ou d'erreur de transport. Nécessite TypeScript SDK v0.2.121 ou ultérieure |664| `readFile(path, options?)` | Lit un fichier depuis le système de fichiers de la session. Claude Code résout le chemin par rapport à `cwd` ; [Ce que `readFile()` peut lire](#what-readfile-can-read) liste les fichiers qu'elle sert. Passez `{ maxBytes }` pour modifier la limite de lecture (1 Mo par défaut, 10 Mo maximum) et `{ encoding: 'base64' }` pour les fichiers binaires tels que les images. Se résout avec un [`SDKControlReadFileResponse`](#sdkcontrolreadfileresponse), ou `null` en cas de refus de permission, de fichier manquant ou d'erreur de transport. Nécessite TypeScript SDK v0.2.121 ou ultérieure |

665| `reloadPlugins(options?)` | Recharge les plugins depuis le disque, afin que les plugins que vous installez ou modifiez en cours de session parviennent à la session en cours. Se résout avec un [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) listant les commandes, les sous-agents, les plugins et l'état des serveurs MCP de la session. Nécessite Agent SDK v0.2.85 ou ultérieure. L'[option `holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) nécessite Agent SDK v0.3.268 ou ultérieure |665| `reloadPlugins(options?)` | Recharge les plugins depuis le disque, afin que les plugins que vous installez ou modifiez en cours de session parviennent à la session en cours. Se résout avec un [`SDKControlReloadPluginsResponse`](#sdkcontrolreloadpluginsresponse) listant les commandes, les sous-agents, les plugins et l'état des serveurs MCP de la session. Nécessite Agent SDK v0.2.85 ou ultérieure. L'[option `holdOnCacheImpact`](#sdkcontrolreloadpluginsresponse) nécessite Agent SDK v0.3.268 ou ultérieure |

666| `reloadSkills()` | Recharge les skills depuis le disque, afin que les skills que vous ajoutez ou modifiez en cours de session deviennent disponibles pour la session en cours. Se résout avec un [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) listant les skills disponibles après le rechargement. Nécessite Agent SDK v0.3.163 ou ultérieure |666| `reloadSkills()` | Recharge les skills depuis le disque, afin que les skills que vous ajoutez ou modifiez en cours de session deviennent disponibles pour la session en cours. Se résout avec un [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) listant les skills disponibles après le rechargement. Nécessite Agent SDK v0.3.163 ou ultérieure |


863 863 

864### `SDKControlGetContextUsageResponse`864### `SDKControlGetContextUsageResponse`

865 865 

866Type de retour de [`getContextUsage()`](#query-object). Avec la valeur par défaut de `detail`, il s'agit du même payload que celui que Claude Code affiche pour la commande `/context` dans une session interactive ; en plus des nombres de tokens, il contient donc des champs d'affichage tels que `color` et `gridRows` que Claude Code utilise pour dessiner la grille d'utilisation de `/context`.866Type de retour de [`getContextUsage()`](#query-object). Avec la valeur par défaut de `detail`, la réponse inclut le payload que Claude Code affiche pour la commande `/context` dans une session interactive. En plus du nombre de tokens, ce payload contient des champs d'affichage tels que `color` et `gridRows`, que Claude Code utilise pour dessiner la grille d'utilisation de `/context`.

867 867 

868L'argument optionnel `detail` de la méthode détermine la manière dont Claude Code compte chaque catégorie. L'argument `detail` nécessite Agent SDK v0.3.257 ou ultérieure.868L'argument optionnel `detail` de la méthode détermine la manière dont Claude Code compte chaque catégorie. L'argument `detail` nécessite Agent SDK v0.3.257 ou ultérieure.

869 869 


872 872 

873Lorsque vous envoyez `/context` comme prompt au lieu d'appeler la méthode, Claude Code joint un payload [`SDKContextUsage`](#sdkcontextusage) au champ `context_usage` du message assistant qui délivre le résultat. Ce champ nécessite Agent SDK v0.3.232 ou ultérieure.873Lorsque vous envoyez `/context` comme prompt au lieu d'appeler la méthode, Claude Code joint un payload [`SDKContextUsage`](#sdkcontextusage) au champ `context_usage` du message assistant qui délivre le résultat. Ce champ nécessite Agent SDK v0.3.232 ou ultérieure.

874 874 

875Dans `SDKControlGetContextUsageResponse`, `categories[].id`, `mcpInstructions`, ainsi que les champs `pluginId` et `path` des entrées `agents` et `skills.skillFrontmatter` nécessitent Agent SDK v0.3.304 ou ultérieur.

876 

875```typescript theme={null}877```typescript theme={null}

876type SDKControlGetContextUsageResponse = {878type SDKControlGetContextUsageResponse = {

877 categories: {879 categories: {

880 id?:

881 | "system_prompt"

882 | "system_tools"

883 | "mcp_tools"

884 | "mcp_instructions"

885 | "mcp_tools_deferred"

886 | "system_tools_deferred"

887 | "custom_agents"

888 | "memory_files"

889 | "skills"

890 | "messages"

891 | "autocompact_buffer"

892 | "compact_buffer"

893 | "free_space";

878 name: string;894 name: string;

879 tokens: number;895 tokens: number;

880 color: string;896 color: string;


905 tokens: number;921 tokens: number;

906 isLoaded?: boolean;922 isLoaded?: boolean;

907 }[];923 }[];

924 mcpInstructions?: {

925 serverName: string;

926 tokens: number;

927 }[];

908 deferredBuiltinTools?: {928 deferredBuiltinTools?: {

909 name: string;929 name: string;

910 tokens: number;930 tokens: number;


921 agents: {941 agents: {

922 agentType: string;942 agentType: string;

923 source: string;943 source: string;

944 pluginId?: string;

945 path?: string;

924 tokens: number;946 tokens: number;

925 }[];947 }[];

926 slashCommands?: {948 slashCommands?: {


935 skillFrontmatter: {957 skillFrontmatter: {

936 name: string;958 name: string;

937 source: string;959 source: string;

960 pluginName?: string;

961 pluginId?: string;

962 path?: string;

938 tokens: number;963 tokens: number;

939 }[];964 }[];

940 };965 };


978 1003 

979Claude Code laisse non définis les diagnostics optionnels `deferredBuiltinTools`, `systemTools` et `systemPromptSections` ; attendez-vous donc à ce qu'ils soient absents, même si le type les déclare.1004Claude Code laisse non définis les diagnostics optionnels `deferredBuiltinTools`, `systemTools` et `systemPromptSections` ; attendez-vous donc à ce qu'ils soient absents, même si le type les déclare.

980 1005 

1006#### Trouver une ligne par ID, les tokens d'instructions d'un serveur ou le plugin et le fichier d'une entrée

1007 

1008Les instructions de serveur MCP sont les notes d'utilisation que les serveurs connectés fournissent et que Claude Code ajoute au contexte, et la ligne `mcp_instructions` de `categories` compte leurs tokens. Utilisez ces champs de [`getContextUsage()`](#query-object) pour isoler une ligne de `categories` par `id`, répartir les tokens de `mcp_instructions` par serveur, ou trouver le plugin et le fichier à l'origine d'une entrée d'agent ou de skill :

1009 

1010| Champ | Emplacement | Contenu |

1011| :- | :- | :- |

1012| `id` | Chaque ligne de `categories` | L'identifiant de la ligne, l'une des valeurs listées par le [type de réponse](#sdkcontrolgetcontextusageresponse), comme `mcp_instructions`. Filtrez sur `id` pour isoler une ligne, ou sur `kind` pour regrouper des lignes. Une version ultérieure de Claude Code peut envoyer une valeur que vos types installés ne listent pas ; traitez donc un `id` que vous ne reconnaissez pas comme absent |

1013| `mcpInstructions` | La réponse | Une entrée `{ serverName, tokens }` par serveur MCP connecté qui fournit des instructions, ou un tableau vide lorsqu'aucun n'en fournit. Les valeurs `tokens` sont des estimations dont la somme correspond aux `tokens` de la ligne `mcp_instructions`. `serverName` est le `name` que [`mcpServerStatus()`](#query-object) indique pour ce serveur |

1014| `pluginId` | Entrées `agents` et `skills.skillFrontmatter` | Nomme le plugin dont provient l'entrée, sous forme d'ID au format `name@marketplace`, et est absent pour une entrée qui ne provient pas d'un plugin. Lorsque le plugin ne provient pas d'une marketplace, la partie après `@` nomme plutôt [son origine](/docs/fr/plugins/loading#find-where-a-plugin-came-from), comme `inline` pour un plugin que vous avez chargé via l'option [`plugins`](#options) |

1015| `path` | Entrées `agents` et `skills.skillFrontmatter` | Chemin absolu du fichier qui définit l'agent ou le skill, sur la machine où s'exécute Claude Code. Le champ est absent lorsqu'aucun fichier ne définit l'entrée, par exemple pour un agent provenant de l'option [`agents`](#options) ou pour un skill intégré à Claude Code |

1016 

1017À titre d'exemple de filtrage sur `id`, cet extrait trouve la ligne `mcp_instructions` :

1018 

1019```typescript theme={null}

1020// q is the Query object that query() returned

1021const usage = await q.getContextUsage();

1022// undefined if no connected server supplies instructions

1023const row = usage.categories.find((c) => c.id === "mcp_instructions");

1024```

1025 

981### `SDKControlReadFileResponse`1026### `SDKControlReadFileResponse`

982 1027 

983Type de retour de [`readFile()`](#query-object).1028Type de retour de [`readFile()`](#query-object).


2991 3036 

2992Documentation des schémas d'entrée pour les outils Claude Code intégrés. Ces types sont exportés depuis `@anthropic-ai/claude-agent-sdk/sdk-tools` et peuvent être utilisés pour les interactions d'outils type-safe.3037Documentation des schémas d'entrée pour les outils Claude Code intégrés. Ces types sont exportés depuis `@anthropic-ai/claude-agent-sdk/sdk-tools` et peuvent être utilisés pour les interactions d'outils type-safe.

2993 3038 

3039L'outil `StructuredOutput` n'a pas de type ici : Claude Code construit son schéma d'entrée à partir du schéma que vous passez à `outputFormat`, il n'y a donc rien de fixe à exporter. Voir [Reconnaître l'appel d'outil StructuredOutput](/docs/fr/agent-sdk/structured-outputs#recognize-the-structuredoutput-tool-call) pour savoir à quoi ressemble cet appel dans votre flux de messages.

3040 

2994### `ToolInputSchemas`3041### `ToolInputSchemas`

2995 3042 

2996Union de types d'entrée d'outil exportée depuis `@anthropic-ai/claude-agent-sdk/sdk-tools` ; les membres incluent :3043Union de types d'entrée d'outil exportée depuis `@anthropic-ai/claude-agent-sdk/sdk-tools` ; les membres incluent :


4810 4857 

4811### `ApiKeySource`4858### `ApiKeySource`

4812 4859 

4813D'où provient la clé API pour les requêtes de la session, signalée comme `apiKeySource` sur le message d'initialisation [`SDKSystemMessage`](#sdksystemmessage).4860La provenance de la clé API utilisée pour les requêtes de la session, indiquée dans `apiKeySource` sur le message d'initialisation [`SDKSystemMessage`](#sdksystemmessage).

4814 4861 

4815```typescript theme={null}4862```typescript theme={null}

4816type ApiKeySource =4863type ApiKeySource =


4825 | "oauth";4872 | "oauth";

4826```4873```

4827 4874 

4828Claude Code signale l'une de quatre valeurs :4875Claude Code indique l'une de ces quatre valeurs :

4829 4876 

4830| Valeur | Clé en utilisation |4877| Valeur | Clé utilisée |

4831| - | - |4878| - | - |

4832| `ANTHROPIC_API_KEY` | La clé dans la variable d'environnement `ANTHROPIC_API_KEY` |4879| `ANTHROPIC_API_KEY` | La clé contenue dans la variable d'environnement `ANTHROPIC_API_KEY` |

4833| `apiKeyHelper` | La clé renvoyée par votre commande [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) |4880| `apiKeyHelper` | La clé renvoyée par votre commande [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) |

4834| `/login managed key` | La clé que Claude Code a stockée lorsque vous vous êtes connecté avec un [compte Claude Console](/docs/fr/authentication#claude-console-authentication) |4881| `/login managed key` | La clé que Claude Code a stockée lorsque vous vous êtes connecté avec un [compte Claude Console](/docs/fr/authentication#claude-console-authentication) |

4835| `none` | Aucune clé API. La session s'authentifie d'une autre manière, par exemple une connexion claude.ai, un jeton porteur ou un fournisseur cloud |4882| `none` | Aucune clé API. La session s'authentifie d'une autre manière, par exemple via une connexion claude.ai, un jeton bearer ou un fournisseur cloud |

4836 4883 

4837Agent SDK v0.3.234 et versions ultérieures listent ces quatre valeurs dans le type. Le type conserve également `user`, `project`, `org`, `temporary` et `oauth` afin que le code plus ancien soit toujours compilé, et Claude Code ne les signale pas.4884L'Agent SDK v0.3.234 et versions ultérieures répertorient ces quatre valeurs dans le type. Le type conserve également `user`, `project`, `org`, `temporary` et `oauth` afin que le code plus ancien compile toujours, mais Claude Code ne les indique pas.

4838 4885 

4839### `SdkBeta`4886### `SdkBeta`

4840 4887 

4841Les fonctionnalités bêta disponibles qui peuvent être activées via l'option `betas`. Consultez [En-têtes bêta](https://platform.claude.com/docs/en/api/beta-headers) pour plus d'informations.4888Fonctionnalités bêta disponibles pouvant être activées via l'option `betas`. Consultez [En-têtes bêta](https://platform.claude.com/docs/en/api/beta-headers) pour plus d'informations.

4842 4889 

4843```typescript theme={null}4890```typescript theme={null}

4844type SdkBeta = "context-1m-2025-08-07";4891type SdkBeta = "context-1m-2025-08-07";


4846 4893 

4847> [!WARNING]4894> [!WARNING]

4848>4895>

4849> Sur l'API Claude, la bêta `context-1m-2025-08-07` est retirée pour Claude Sonnet 4.5 et Claude Sonnet 4. Si vous la transmettez encore avec l'un de ces modèles, les requêtes qui dépassent la fenêtre de contexte standard de 200 000 tokens renvoient une erreur ; retirez-la donc de `betas`. Pour exécuter une session avec une fenêtre de contexte de 1 M de tokens, définissez `model` sur un modèle qui [s'exécute par défaut avec la fenêtre de 1 M](/docs/fr/model-config#extended-context), tel que `claude-sonnet-5-5` ou `claude-opus-5-5`. Pour un modèle qui n'atteint 1 M que via sa variante `[1m]`, ajoutez le suffixe à l'ID du modèle, comme dans `claude-opus-4-6[1m]`.4896> Sur l'API Claude, la bêta `context-1m-2025-08-07` est retirée pour Claude Sonnet 4.5 et Claude Sonnet 4. Si vous la transmettez encore avec l'un de ces modèles, les requêtes qui dépassent la fenêtre de contexte standard de 200 000 tokens renvoient une erreur ; retirez-la donc de `betas`. Pour exécuter une session avec une fenêtre de contexte de 1 million de tokens, définissez `model` sur un modèle qui [fonctionne par défaut avec la fenêtre de 1M](/docs/fr/model-config#extended-context), comme `claude-sonnet-5-5` ou `claude-opus-5-5`. Pour un modèle qui n'atteint 1M que via sa variante `[1m]`, ajoutez le suffixe à l'identifiant du modèle, comme dans `claude-opus-4-6[1m]`.

4850 4897 

4851### `SlashCommand`4898### `SlashCommand`

4852 4899 


4862};4909};

4863```4910```

4864 4911 

4865`builtin` est `true` sur une ligne lorsque la commande est celle de Claude Code et que taper `/name` l'exécute. Elle est absente pour une commande définie par un utilisateur, un projet, un plugin ou un serveur MCP, et pour une commande groupée que l'un de ceux-ci [remplace par nom](/docs/fr/skills#resolve-skills-that-share-a-name). Nécessite Agent SDK v0.3.277 ou version ultérieure.4912`builtin` vaut `true` sur une ligne lorsque la commande appartient à Claude Code et que saisir `/name` l'exécute. Il est absent pour une commande définie par un utilisateur, un projet, un plugin ou un serveur MCP, ainsi que pour une commande intégrée que l'un de ceux-ci [remplace par son nom](/docs/fr/skills#resolve-skills-that-share-a-name). Nécessite l'Agent SDK v0.3.277 ou version ultérieure.

4866 4913 

4867### `ModelInfo`4914### `ModelInfo`

4868 4915 


4884 4931 

4885| Champ | Type | Description |4932| Champ | Type | Description |

4886| :- | :- | :- |4933| :- | :- | :- |

4887| `value` | `string` | Identifiant du modèle à passer dans les appels API |4934| `value` | `string` | Identifiant du modèle à transmettre dans les appels API |

4888| `resolvedModel` | `string \| undefined` | L'ID de modèle auquel la `value` de cette entrée se résout, tel que `claude-sonnet-5-5` pour l'entrée d'alias `sonnet`. Nécessite Claude Code v2.1.197 ou version ultérieure. |4935| `resolvedModel` | `string \| undefined` | L'identifiant de modèle vers lequel se résout la `value` de cette entrée, comme `claude-sonnet-5-5` pour l'entrée de l'alias `sonnet`. Nécessite Claude Code v2.1.197 ou version ultérieure. |

4889| `displayName` | `string` | Nom d'affichage lisible par l'homme |4936| `displayName` | `string` | Nom d'affichage lisible |

4890| `description` | `string` | Description des capacités du modèle |4937| `description` | `string` | Description des capacités du modèle |

4891| `supportsEffort` | `boolean \| undefined` | Si ce modèle supporte les niveaux d'effort |4938| `supportsEffort` | `boolean \| undefined` | Indique si ce modèle prend en charge les niveaux d'effort |

4892| `supportedEffortLevels` | `("low" \| "medium" \| "high" \| "xhigh" \| "max")[] \| undefined` | Niveaux d'effort que ce modèle accepte |4939| `supportedEffortLevels` | `("low" \| "medium" \| "high" \| "xhigh" \| "max")[] \| undefined` | Niveaux d'effort acceptés par ce modèle |

4893| `supportsAdaptiveThinking` | `boolean \| undefined` | Si ce modèle supporte la réflexion adaptative, où Claude décide quand et combien réfléchir |4940| `supportsAdaptiveThinking` | `boolean \| undefined` | Indique si ce modèle prend en charge la réflexion adaptative, où Claude décide quand réfléchir et dans quelle mesure |

4894| `supportsFastMode` | `boolean \| undefined` | Si ce modèle supporte le mode rapide |4941| `supportsFastMode` | `boolean \| undefined` | Indique si ce modèle prend en charge le mode rapide |

4895| `supportsAutoMode` | `boolean \| undefined` | Si ce modèle supporte le mode auto |4942| `supportsAutoMode` | `boolean \| undefined` | Indique si ce modèle prend en charge le mode auto |

4896 4943 

4897### `AgentInfo`4944### `AgentInfo`

4898 4945 

4899Informations sur un sous-agent disponible qui peut être invoqué via l'outil Agent.4946Informations sur un sous-agent disponible pouvant être invoqué via l'outil Agent.

4900 4947 

4901```typescript theme={null}4948```typescript theme={null}

4902type AgentInfo = {4949type AgentInfo = {


4909| Champ | Type | Description |4956| Champ | Type | Description |

4910| :- | :- | :- |4957| :- | :- | :- |

4911| `name` | `string` | Identifiant du type d'agent (par exemple, `"Explore"`, `"general-purpose"`) |4958| `name` | `string` | Identifiant du type d'agent (par exemple, `"Explore"`, `"general-purpose"`) |

4912| `description` | `string` | Description de quand utiliser cet agent |4959| `description` | `string` | Description des cas où utiliser cet agent |

4913| `model` | `string \| undefined` | Modèle que cet agent utilise : un alias ou un ID de modèle, ou `'inherit'` pour le modèle du parent. Lorsqu'il est `undefined`, Claude Code choisit le modèle dans l'[ordre des modèles de sous-agent](/docs/fr/sub-agents#choose-a-model) |4960| `model` | `string \| undefined` | Modèle utilisé par cet agent : un alias ou un identifiant de modèle, ou `'inherit'` pour le modèle du parent. Lorsqu'il vaut `undefined`, Claude Code choisit le modèle selon l'[ordre de sélection du modèle des sous-agents](/docs/fr/sub-agents#choose-a-model) |

4914 4961 

4915### `McpServerProvenance`4962### `McpServerProvenance`

4916 4963 

4917Le serveur MCP qui sert un outil `mcp__*`, et d'où provient la définition de ce serveur. Les entrées de hook [`PreToolUse`](#pretoolusehookinput), `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` et `PermissionDenied` le portent comme `mcp_server`, et les options [`CanUseTool`](#canusetool) le portent comme `mcpServer`. Les deux l'omettent pour les outils qui ne proviennent pas d'un serveur MCP.4964Le serveur MCP qui fournit un outil `mcp__*`, et la provenance de la définition de ce serveur. Les entrées de hook [`PreToolUse`](#pretoolusehookinput), `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` et `PermissionDenied` le contiennent sous `mcp_server`, et les options de [`CanUseTool`](#canusetool) le contiennent sous `mcpServer`. Les deux l'omettent pour les outils qui ne proviennent pas d'un serveur MCP.

4918 4965 

4919```typescript theme={null}4966```typescript theme={null}

4920type McpServerProvenance = {4967type McpServerProvenance = {


4925 4972 

4926| Champ | Type | Description |4973| Champ | Type | Description |

4927| :- | :- | :- |4974| :- | :- | :- |

4928| `name` | `string` | Le nom sous lequel le serveur est enregistré, la même valeur que [`mcpServerStatus()`](#query-object) signale pour lui |4975| `name` | `string` | Le nom sous lequel le serveur est enregistré, la même valeur que celle indiquée pour lui par [`mcpServerStatus()`](#query-object) |

4929| `source` | `string` | D'où provient la définition du serveur : `sdk`, `plugin` ou une portée de configuration |4976| `source` | `string` | La provenance de la définition du serveur : `sdk`, `plugin` ou une portée de configuration |

4930 4977 

4931`source` prend l'une des valeurs suivantes. L'ensemble est ouvert, donc traitez une valeur que vous ne reconnaissez pas comme une source configurée, jamais comme `sdk` :4978`source` prend l'une des valeurs suivantes. L'ensemble est ouvert : traitez donc une valeur que vous ne reconnaissez pas comme une source configurée, jamais comme `sdk` :

4932 4979 

4933* **`sdk`** : un serveur en processus que votre application a enregistré. Seule l'application hôte du SDK peut en enregistrer un, donc un serveur configuré ne signale jamais `sdk`, quel que soit son nom.4980* **`sdk`** : un serveur in-process enregistré par votre application. Seule l'application hôte du SDK peut en enregistrer un ; un serveur configuré n'indique donc jamais `sdk`, quel que soit son nom.

4934* **`plugin`** : un serveur qu'un [plugin](/docs/fr/agent-sdk/plugins) fournit. Son `name` est la forme `plugin:<plugin-name>:<server-name>` délimitée décrite sous [serveurs MCP fournis par plugin](/docs/fr/mcp#plugin-provided-mcp-servers).4981* **`plugin`** : un serveur fourni par un [plugin](/docs/fr/agent-sdk/plugins). Son `name` est la forme à portée `plugin:<plugin-name>:<server-name>` décrite dans [serveurs MCP fournis par des plugins](/docs/fr/mcp#plugin-provided-mcp-servers).

4935* **Une portée de configuration** : `user`, `project`, `local`, `dynamic`, `managed`, `enterprise`, `claudeai` ou `agent`. Un serveur `.mcp.json` signale `project`, et [les portées d'installation MCP](/docs/fr/mcp#mcp-installation-scopes) définissent `local`, `project` et `user`. Les serveurs que votre application transmet dans l'option [`mcpServers`](#options), autres que les serveurs SDK en processus, signalent `dynamic`.4982* **Une portée de configuration** : `user`, `project`, `local`, `dynamic`, `managed`, `enterprise`, `claudeai` ou `agent`. Un serveur `.mcp.json` indique `project`, et les [portées d'installation MCP](/docs/fr/mcp#mcp-installation-scopes) définissent `local`, `project` et `user`. Les serveurs que votre application transmet dans l'[option `mcpServers`](#options), à l'exception des serveurs SDK in-process, indiquent `dynamic`.

4936 4983 

4937Basez les décisions de confiance sur `source`, pas sur `name` ou le préfixe du nom d'outil `mcp__<server>__`. Pour toute source autre que `sdk`, `name` est du texte non fiable : échappez-le avant l'affichage.4984Fondez vos décisions de confiance sur `source`, et non sur `name` ou le préfixe de nom d'outil `mcp__<server>__`. Pour toute source autre que `sdk`, `name` est un texte non fiable : échappez-le avant de l'afficher.

4938 4985 

4939`McpServerProvenance` et les champs qui le portent nécessitent Agent SDK v0.3.274 ou version ultérieure.4986`McpServerProvenance` et les champs qui le contiennent nécessitent l'Agent SDK v0.3.274 ou version ultérieure.

4940 4987 

4941### `McpServerStatus`4988### `McpServerStatus`

4942 4989 

4943État d'un serveur MCP connecté.4990Statut d'un serveur MCP connecté.

4944 4991 

4945```typescript theme={null}4992```typescript theme={null}

4946type McpServerStatus = {4993type McpServerStatus = {


4967};5014};

4968```5015```

4969 5016 

4970`source` indique d'où provient la définition du serveur, avec les mêmes valeurs et règle de confiance que le `source` de [`McpServerProvenance`](#mcpserverprovenance). Le champ nécessite Agent SDK v0.3.274 ou version ultérieure et est absent sur les versions antérieures.5017`source` indique la provenance de la définition du serveur, avec les mêmes valeurs et la même règle de confiance que le `source` de [`McpServerProvenance`](#mcpserverprovenance). Le champ nécessite l'Agent SDK v0.3.274 ou version ultérieure et est absent dans les versions antérieures.

4971 5018 

4972`_meta` sur une entrée `tools` porte les membres MCP Apps de `_meta` de cet outil, afin que votre application puisse trouver la ressource `ui://` à rendre avec [`readMcpResource()`](#query-object). Claude Code transmet l'objet `ui` et la chaîne `ui/resourceUri` plate dépréciée, et retient toute autre clé. À l'intérieur de `ui`, `resourceUri` est une chaîne `ui://` et `visibility` un tableau de `"model"` et `"app"` lorsque le serveur les définit, et tout autre membre passe inchangé. Claude Code supprime l'une ou l'autre clé lorsque la valeur est malformée, et omet `_meta` d'un outil qui ne déclare ni l'une ni l'autre. Le champ est présent uniquement lorsque les [`capabilities`](#sdksystemmessage) du message d'initialisation incluent `mcp_tool_ui_meta_v1`, et nécessite TypeScript Agent SDK v0.3.280 ou version ultérieure.5019`_meta` sur une entrée `tools` contient les membres MCP Apps du `_meta` de cet outil, afin que votre application puisse trouver la ressource `ui://` à afficher avec [`readMcpResource()`](#query-object). Claude Code transmet l'objet `ui` et la chaîne plate dépréciée `ui/resourceUri`, et retient toutes les autres clés. Dans `ui`, `resourceUri` est une chaîne `ui://` et `visibility` un tableau de `"model"` et `"app"` lorsque le serveur les définit, et tout autre membre est transmis sans modification. Claude Code supprime l'une ou l'autre clé lorsque la valeur est mal formée, et omet `_meta` pour un outil qui ne déclare ni l'une ni l'autre. Le champ n'est présent que lorsque les [`capabilities`](#sdksystemmessage) du message d'initialisation incluent `mcp_tool_ui_meta_v1`, et nécessite l'Agent SDK TypeScript v0.3.280 ou version ultérieure.

4973 5020 

4974### `McpServerStatusConfig`5021### `McpServerStatusConfig`

4975 5022 

4976La configuration d'un serveur MCP telle que signalée par `mcpServerStatus()`. C'est l'union de tous les types de transport de serveur MCP.5023La configuration d'un serveur MCP telle qu'indiquée par `mcpServerStatus()`. Il s'agit de l'union de tous les types de transport de serveur MCP.

4977 5024 

4978```typescript theme={null}5025```typescript theme={null}

4979type McpServerStatusConfig =5026type McpServerStatusConfig =


4984 | McpClaudeAIProxyServerConfig;5031 | McpClaudeAIProxyServerConfig;

4985```5032```

4986 5033 

4987Consultez [`McpServerConfig`](#mcpserverconfig) pour les détails sur chaque type de transport.5034Consultez [`McpServerConfig`](#mcpserverconfig) pour plus de détails sur chaque type de transport.

4988 5035 

4989### `AccountInfo`5036### `AccountInfo`

4990 5037 

4991Informations de compte pour l'utilisateur authentifié.5038Informations de compte de l'utilisateur authentifié.

4992 5039 

4993```typescript theme={null}5040```typescript theme={null}

4994type AccountInfo = {5041type AccountInfo = {


5002 5049 

5003### `ModelUsage`5050### `ModelUsage`

5004 5051 

5005Statistiques d'utilisation par modèle renvoyées dans les messages de résultat. La valeur `costUSD` est une estimation côté client. Consultez [Suivre le coût et l'utilisation](/docs/fr/agent-sdk/cost-tracking) pour les avertissements de facturation.5052Statistiques d'utilisation par modèle renvoyées dans les messages de résultat. La valeur `costUSD` est une estimation côté client. Consultez [Suivre les coûts et l'utilisation](/docs/fr/agent-sdk/cost-tracking) pour les réserves concernant la facturation.

5006 5053 

5007```typescript theme={null}5054```typescript theme={null}

5008type ModelUsage = {5055type ModelUsage = {


5021};5068};

5022```5069```

5023 5070 

5024`thinkingTokens` compte les tokens de réflexion que ce modèle a générés. `outputTokens` les inclut déjà, donc n'additionnez pas les deux. Le champ est absent jusqu'à ce qu'un tour s'exécute sur une version de Claude Code qui l'enregistre, donc une session reprise qui a commencé sur une version antérieure signale un décompte partiel. `thinkingTokens` nécessite Agent SDK v0.3.257 ou version ultérieure.5071`thinkingTokens` compte les tokens de réflexion générés par ce modèle. `outputTokens` les inclut déjà, n'additionnez donc pas les deux. Le champ est absent jusqu'à ce qu'un tour s'exécute sur une version de Claude Code qui l'enregistre ; une session reprise qui a commencé sur une version antérieure indique donc un décompte partiel. `thinkingTokens` nécessite l'Agent SDK v0.3.257 ou version ultérieure.

5025 5072 

5026Les champs `canonicalModel` et `provider` nécessitent Claude Code v2.1.218 ou version ultérieure. `canonicalModel` est l'ID de modèle canonique que la recherche de prix utilise ; il peut différer de la chaîne de modèle brute qui sert de clé à l'entrée, par exemple lorsque cette chaîne est un ID spécifique au fournisseur ou un alias.5073Les champs `canonicalModel` et `provider` nécessitent Claude Code v2.1.218 ou version ultérieure. `canonicalModel` est l'identifiant de modèle canonique utilisé pour la recherche de tarifs ; il peut différer de la chaîne de modèle brute qui sert de clé à l'entrée, par exemple lorsque cette chaîne est un identifiant propre à un fournisseur ou un alias.

5027 5074 

5028`provider` nomme le backend API qui a servi le modèle, tel que `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` ou `gateway`.5075`provider` désigne le backend API qui a servi le modèle, comme `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` ou `gateway`.

5029 5076 

5030`costBasis` nomme la table de prix qui a tarifé la dernière requête du modèle : `list` pour le prix catalogue, `managed` pour une table [`modelPricing`](/docs/fr/settings-reference#modelpricing), ou `unknown` lorsqu'aucune ne correspondait à l'ID du modèle. Le champ nécessite Claude Code v2.1.246 ou version ultérieure.5077`costBasis` désigne la table de prix qui a tarifé la dernière requête du modèle : `list` pour le prix catalogue, `managed` pour une table [`modelPricing`](/docs/fr/settings-reference#modelpricing), ou `unknown` lorsqu'aucune ne correspondait à l'identifiant du modèle. Le champ nécessite Claude Code v2.1.246 ou version ultérieure.

5031 5078 

5032### `ConfigScope`5079### `ConfigScope`

5033 5080 


5037 5084 

5038### `NonNullableUsage`5085### `NonNullableUsage`

5039 5086 

5040Une version de [`Usage`](#usage) avec tous les champs nullables rendus non-nullables, sauf `fallback_credit`, qui peut toujours être `null`.5087Une version de [`Usage`](#usage) dans laquelle chaque champ nullable est rendu non nullable, à l'exception de `fallback_credit`, qui peut toujours valoir `null`.

5041 5088 

5042```typescript theme={null}5089```typescript theme={null}

5043type NonNullableUsage = {5090type NonNullableUsage = {


5049 5096 

5050### `Usage`5097### `Usage`

5051 5098 

5052Statistiques d'utilisation des tokens. C'est le type `BetaUsage` de `@anthropic-ai/sdk`.5099Statistiques d'utilisation des tokens. Il s'agit du type `BetaUsage` de `@anthropic-ai/sdk`.

5053 5100 

5054```typescript theme={null}5101```typescript theme={null}

5055type Usage = {5102type Usage = {


5073 5120 

5074`BetaServerToolUsage`, `BetaIterationsUsage`, `BetaOutputTokensDetails` et `BetaFallbackCreditUsage` sont définis dans `@anthropic-ai/sdk`.5121`BetaServerToolUsage`, `BetaIterationsUsage`, `BetaOutputTokensDetails` et `BetaFallbackCreditUsage` sont définis dans `@anthropic-ai/sdk`.

5075 5122 

5076`output_tokens_details` décompose la sortie facturée par catégorie. Il porte actuellement un champ, `thinking_tokens: number`, comptant les tokens de sortie que le modèle a générés comme raisonnement interne, y compris les délimiteurs de bloc de réflexion. Le champ `output_tokens_details` nécessite TypeScript SDK v0.3.228 ou version ultérieure, qui regroupe Claude Code v2.1.228.5123`output_tokens_details` ventile la sortie facturée par catégorie. Il contient actuellement un seul champ, `thinking_tokens: number`, qui compte les tokens de sortie générés par le modèle en tant que raisonnement interne, y compris les délimiteurs des blocs de réflexion. Le champ `output_tokens_details` nécessite le SDK TypeScript v0.3.228 ou version ultérieure, qui intègre Claude Code v2.1.228.

5077 5124 

5078* **Facturation** : lisez la décomposition pour l'observabilité, pas pour la facturation. `output_tokens` reste le total faisant autorité, et `output_tokens - thinking_tokens` approxime la sortie sans raisonnement.5125* **Facturation** : utilisez cette ventilation pour l'observabilité, pas pour la facturation. `output_tokens` reste le total de référence, et `output_tokens - thinking_tokens` donne une approximation de la sortie hors raisonnement.

5079* **Ce que le décompte couvre** : le raisonnement brut que le modèle a produit, qui peut être plus long que le texte de réflexion renvoyé dans le corps de la réponse. L'API le calcule en retokenisant ce texte brut, donc il peut différer du décompte de génération exact du modèle de quelques tokens.5126* **Ce que couvre le décompte** : le raisonnement brut produit par le modèle, qui peut être plus long que le texte de réflexion renvoyé dans le corps de la réponse. L'API le calcule en re-tokenisant ce texte brut ; il peut donc différer de quelques tokens du décompte exact de génération du modèle.

5080* **Streaming** : sur les messages d'assistant diffusés en streaming, cette décomposition, comme `output_tokens`, est un espace réservé `message_start` et ne porte aucun décompte réel, donc lisez-la à partir du `usage` du message de résultat comme [Lire les tokens de sortie du message de résultat](/docs/fr/agent-sdk/cost-tracking#read-output-tokens-from-the-result-message) le décrit. Sur le message de résultat, `thinking_tokens` vaut `0` lorsque le modèle ou le fournisseur ne signale aucune décomposition.5127* **Streaming** : sur les messages assistant en streaming, cette ventilation, comme `output_tokens`, est un espace réservé de `message_start` et ne contient aucun décompte réel ; lisez-la donc depuis le `usage` du message de résultat, comme le décrit [Lire les tokens de sortie depuis le message de résultat](/docs/fr/agent-sdk/cost-tracking#read-output-tokens-from-the-result-message). Sur le message de résultat, `thinking_tokens` vaut `0` lorsque le modèle ou le fournisseur n'indique aucune ventilation.

5081* **Cas `null`** : `output_tokens_details` lui-même est `null` sur les messages d'assistant que Claude Code synthétise, tels que les messages d'erreur API.5128* **Cas `null`** : `output_tokens_details` lui-même vaut `null` sur les messages assistant que Claude Code synthétise, comme les messages d'erreur d'API.

5082 5129 

5083La présence de `fallback_credit` dans `Usage` dépend de la version de `@anthropic-ai/sdk` que vous avez installée, qui l'a ajouté dans la version 0.115.0.5130La présence de `fallback_credit` dans `Usage` dépend de la version installée de `@anthropic-ai/sdk`, qui l'a ajouté dans la version 0.115.0.

5084 5131 

5085### `CallToolResult`5132### `CallToolResult`

5086 5133 

5087Type de résultat d'outil MCP (de `@modelcontextprotocol/sdk/types.js`). `structuredContent` est un objet JSON qui peut être renvoyé aux côtés de `content`, y compris les blocs d'image. Consultez [Retourner des données structurées](/docs/fr/agent-sdk/custom-tools#return-structured-data).5134Type de résultat d'outil MCP (issu de `@modelcontextprotocol/sdk/types.js`). `structuredContent` est un objet JSON qui peut être renvoyé en plus de `content`, y compris des blocs d'image. Consultez [Renvoyer des données structurées](/docs/fr/agent-sdk/custom-tools#return-structured-data).

5088 5135 

5089```typescript theme={null}5136```typescript theme={null}

5090type CallToolResult = {5137type CallToolResult = {


5099 5146 

5100### `SDKMcpResourceLink`5147### `SDKMcpResourceLink`

5101 5148 

5102Un fichier qu'un outil MCP a renvoyé par référence. Claude Code construit chaque entrée à partir d'un bloc `resource_link` dans le résultat de l'outil et livre la liste comme `resourceLinks` sur [`SDKUserMessage.tool_use_result`](#sdkusermessage), ou comme `resource_links` sur [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) lorsque l'appel s'est terminé en arrière-plan. Nécessite Agent SDK v0.3.257 ou version ultérieure.5149Un fichier renvoyé par référence par un outil MCP. Claude Code construit chaque entrée à partir d'un bloc `resource_link` du résultat de l'outil et fournit la liste sous `resourceLinks` dans [`SDKUserMessage.tool_use_result`](#sdkusermessage), ou sous `resource_links` dans [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) lorsque l'appel s'est terminé en arrière-plan. Nécessite l'Agent SDK v0.3.257 ou version ultérieure.

5103 5150 

5104```typescript theme={null}5151```typescript theme={null}

5105type SDKMcpResourceLink = {5152type SDKMcpResourceLink = {


5113};5160};

5114```5161```

5115 5162 

5116Claude Code supprime un bloc dont `uri` ou `name` n'est pas une chaîne, et omet un champ optionnel dont la valeur n'est pas du type listé.5163Claude Code supprime un bloc dont `uri` ou `name` n'est pas une chaîne, et omet un champ facultatif dont la valeur n'est pas du type indiqué.

5117 5164 

5118| Champ | Type | Description |5165| Champ | Type | Description |

5119| :- | :- | :- |5166| :- | :- | :- |

5120| `uri` | `string` | URI de la ressource, telle que le serveur l'a renvoyée |5167| `uri` | `string` | URI de la ressource, telle que renvoyée par le serveur |

5121| `name` | `string` | Nom que le serveur a donné à la ressource |5168| `name` | `string` | Nom donné à la ressource par le serveur |

5122| `title` | `string \| undefined` | Titre d'affichage, lorsque le serveur en a défini un |5169| `title` | `string \| undefined` | Titre d'affichage, lorsque le serveur en a défini un |

5123| `description` | `string \| undefined` | Description, lorsque le serveur en a défini une |5170| `description` | `string \| undefined` | Description, lorsque le serveur en a défini une |

5124| `mimeType` | `string \| undefined` | Type MIME, lorsque le serveur en a défini un |5171| `mimeType` | `string \| undefined` | Type MIME, lorsque le serveur en a défini un |

5125| `size` | `number \| undefined` | Taille en octets, lorsque le serveur en a défini une |5172| `size` | `number \| undefined` | Taille en octets, lorsque le serveur l'a définie |

5126| `annotations` | `Record<string, unknown> \| undefined` | L'objet d'annotations MCP du bloc, lorsque le serveur en a défini un |5173| `annotations` | `Record<string, unknown> \| undefined` | L'objet d'annotations MCP du bloc, lorsque le serveur en a défini un |

5127 5174 

5128### `ThinkingConfig`5175### `ThinkingConfig`

5129 5176 

5130Contrôle le comportement de réflexion/raisonnement de Claude. A priorité sur le `maxThinkingTokens` déprécié.5177Contrôle le comportement de réflexion/raisonnement de Claude. A priorité sur le paramètre déprécié `maxThinkingTokens`.

5131 5178 

5132```typescript theme={null}5179```typescript theme={null}

5133type ThinkingDisplay = "summarized" | "omitted";5180type ThinkingDisplay = "summarized" | "omitted";


5138 | { type: "disabled" }; // No extended thinking5185 | { type: "disabled" }; // No extended thinking

5139```5186```

5140 5187 

5141Le champ optionnel `display` contrôle si le texte de réflexion est renvoyé `"summarized"` ou `"omitted"`. Sur Claude Opus 4.7 et versions ultérieures, la valeur par défaut de l'API est `"omitted"`, donc définissez `"summarized"` pour recevoir le contenu de réflexion dans les blocs `thinking`. Claude Code ne transmet pas votre valeur `display` à certains fournisseurs, tels qu'Amazon Bedrock et la plateforme Agent de Google Cloud. Sur ces fournisseurs, Opus 4.7 et versions ultérieures renvoient des blocs `thinking` vides même lorsque vous définissez `display` sur `"summarized"`.5188Le champ facultatif `display` détermine si le texte de réflexion est renvoyé `"summarized"` ou `"omitted"`. Sur Claude Opus 4.7 et versions ultérieures, la valeur par défaut de l'API est `"omitted"` ; définissez donc `"summarized"` pour recevoir le contenu de réflexion dans les blocs `thinking`. Claude Code ne transmet pas votre valeur `display` à certains fournisseurs, comme Amazon Bedrock et Agent Platform de Google Cloud. Sur ces fournisseurs, Opus 4.7 et versions ultérieures renvoient des blocs `thinking` vides même lorsque vous définissez `display` sur `"summarized"`.

5142 5189 

5143### `SpawnedProcess`5190### `SpawnedProcess`

5144 5191 

5145Interface pour la génération de processus personnalisée (utilisée avec l'option `spawnClaudeCodeProcess`). `ChildProcess` satisfait déjà cette interface.5192Interface pour le lancement de processus personnalisé (utilisée avec l'option `spawnClaudeCodeProcess`). `ChildProcess` satisfait déjà cette interface.

5146 5193 

5147```typescript theme={null}5194```typescript theme={null}

5148interface SpawnedProcess {5195interface SpawnedProcess {


5171 5218 

5172### `SpawnOptions`5219### `SpawnOptions`

5173 5220 

5174Options transmises à la fonction de génération personnalisée.5221Options transmises à la fonction de lancement personnalisée.

5175 5222 

5176```typescript theme={null}5223```typescript theme={null}

5177interface SpawnOptions {5224interface SpawnOptions {


5185 5232 

5186> [!NOTE]5233> [!NOTE]

5187>5234>

5188> Le champ `signal` indique à votre fonction de génération quand arrêter le processus. Transmettez-le comme l'option `signal` au `spawn()` de Node, ou transmettez-le à votre gestionnaire d'arrêt de VM ou de conteneur.5235> Le champ `signal` indique à votre fonction de lancement quand arrêter le processus. Transmettez-le comme option `signal` à la fonction `spawn()` de Node, ou transmettez-le au gestionnaire d'arrêt de votre VM ou de votre conteneur.

5189>5236>

5190> Ce signal ne se déclenche pas à l'instant où [`Options.abortController`](#options) s'arrête. Le SDK ferme d'abord stdin du processus et attend environ deux secondes pour que l'interface de ligne de commande s'arrête proprement, puis arrête ce signal. Pour réagir au moment où l'appelant s'arrête, écoutez votre propre `Options.abortController.signal`, que votre fonction de génération peut référencer à partir de sa portée englobante.5237> Ce signal ne se déclenche pas à l'instant où [`Options.abortController`](#options) déclenche l'abandon. Le SDK ferme d'abord le stdin du processus et attend environ deux secondes afin que la CLI puisse s'arrêter proprement, puis déclenche l'abandon sur ce signal. Pour réagir dès que l'appelant déclenche l'abandon, écoutez plutôt votre propre `Options.abortController.signal`, que votre fonction de lancement peut référencer depuis sa portée englobante.

5191 5238 

5192### `McpSetServersResult`5239### `McpSetServersResult`

5193 5240 


5203 5250 

5204Lorsque vous appelez `setMcpServers()`, Claude Code applique ces règles :5251Lorsque vous appelez `setMcpServers()`, Claude Code applique ces règles :

5205 5252 

5206* **Serveurs que l'appel ne nomme pas** : en dehors d'une [session cloud](/docs/fr/claude-code-on-the-web), Claude Code déconnecte les serveurs qu'un appel `setMcpServers()` antérieur a ajoutés ainsi que les serveurs SDK en processus, et les liste dans `removed`. Les autres serveurs continuent de s'exécuter et ne sont pas listés dans `removed`, parmi lesquels les serveurs stdio, HTTP et SSE de l'option [`mcpServers`](#options), les serveurs des fichiers de paramètres et les serveurs fournis par plugin.5253* **Serveurs que l'appel ne nomme pas** : en dehors d'une [session cloud](/docs/fr/claude-code-on-the-web), Claude Code déconnecte les serveurs ajoutés par un appel `setMcpServers()` antérieur ainsi que les serveurs SDK in-process, et les répertorie dans `removed`. Les autres serveurs continuent de fonctionner et ne sont pas répertoriés dans `removed`, parmi lesquels les serveurs stdio, HTTP et SSE de l'option [`mcpServers`](#options), les serveurs issus des fichiers de paramètres et les serveurs fournis par des plugins.

5207* **Serveurs que l'appel nomme** : Claude Code remplace un serveur stdio, HTTP ou SSE qu'un appel `setMcpServers()` antérieur a ajouté uniquement lorsque sa configuration diffère de celle que vous avez transmise. Un serveur SDK en processus déjà enregistré sous ce nom reste tel quel ; pour en remplacer un, omettez-le d'un appel et ajoutez-le dans le suivant.5254* **Serveurs que l'appel nomme** : Claude Code remplace un serveur stdio, HTTP ou SSE ajouté par un appel `setMcpServers()` antérieur uniquement lorsque sa configuration diffère de celle que vous avez transmise. Un serveur SDK in-process déjà enregistré sous ce nom reste tel quel ; pour en remplacer un, omettez-le d'un appel et ajoutez-le dans le suivant.

5208* **Serveurs intégrés que l'interface de ligne de commande a démarrés au démarrage** : si l'appel en nomme un, Claude Code supprime cette entrée et la signale dans `errors`.5255* **Serveurs intégrés démarrés par la CLI au lancement** : si l'appel en nomme un, Claude Code supprime cette entrée et l'indique dans `errors`.

5256* **Serveurs stdio, HTTP ou SSE qui portent le même nom qu'un serveur d'une portée d'installation MCP telle que `.mcp.json`** : sous ce nom, la session utilise les outils de votre serveur plutôt que ceux du [serveur de la portée d'installation](/docs/fr/mcp#mcp-installation-scopes). Avant Claude Code v2.1.305, Claude Code pouvait déconnecter votre serveur et connecter le serveur de la portée d'installation lorsque votre application [rechargeait les plugins](#query-object).

5209 5257 

5210La promesse se résout après que les serveurs stdio, HTTP et SSE nouvellement ajoutés se connectent ou échouent, donc les outils des serveurs qui se sont connectés sont disponibles au tour suivant.5258La promesse est résolue une fois que les serveurs stdio, HTTP et SSE nouvellement ajoutés se sont connectés ou ont échoué ; les outils des serveurs connectés sont donc disponibles au tour suivant.

5211 5259 

5212`added` liste les serveurs que Claude Code a ajoutés ou remplacés, qu'ils se soient connectés ou non. Un serveur qui n'a pas pu se connecter apparaît à la fois dans `added` et `errors`, avec le texte d'échec sous `errors` et une ligne `failed` dans [`mcpServerStatus()`](#methods). Avant Claude Code v2.1.257, un serveur dont la tentative de connexion a levé une exception était signalé uniquement sous `errors`.5260`added` répertorie les serveurs que Claude Code a ajoutés ou remplacés, qu'ils se soient connectés ou non. Un serveur dont la connexion a échoué apparaît à la fois dans `added` et dans `errors`, avec le texte de l'échec sous `errors` et une ligne `failed` dans [`mcpServerStatus()`](#methods). Avant Claude Code v2.1.257, un serveur dont la tentative de connexion levait une exception n'était indiqué que sous `errors`.

5213 5261 

5214### `RewindFilesResult`5262### `RewindFilesResult`

5215 5263 


5226};5274};

5227```5275```

5228 5276 

5229`skippedLinks` compte les chemins suivis que le rembobinage a refusé de restaurer ou de supprimer pour la sécurité des liens : un lien symbolique, un lien physique ou un autre fichier non régulier au chemin suivi, un répertoire parent qui ne se résout plus à l'endroit où il pointait lorsque le checkpoint a été pris, ou une sauvegarde qui n'a pas pu être lue en toute sécurité. Le champ nécessite Claude Code v2.1.216 ou version ultérieure. Un appel d'aperçu avec `rewindFiles(userMessageId, { dryRun: true })` ne le définit jamais.5277`skippedLinks` compte les chemins suivis que le retour en arrière a refusé de restaurer ou de supprimer pour des raisons de sécurité liées aux liens : un lien symbolique, un lien physique ou tout autre fichier non régulier au chemin suivi, un répertoire parent qui ne se résout plus vers l'emplacement qu'il désignait lors de la création du checkpoint, ou une sauvegarde qui n'a pas pu être lue en toute sécurité. Le champ nécessite Claude Code v2.1.216 ou version ultérieure. Un appel d'aperçu avec `rewindFiles(userMessageId, { dryRun: true })` ne le définit jamais.

5230 5278 

5231### `SDKStatusMessage`5279### `SDKStatusMessage`

5232 5280 

5233Message de mise à jour d'état (par exemple, compactage).5281Message de mise à jour de statut (par exemple, compactage).

5234 5282 

5235```typescript theme={null}5283```typescript theme={null}

5236type SDKStatusMessage = {5284type SDKStatusMessage = {


5245 5293 

5246### `SDKTaskNotificationMessage`5294### `SDKTaskNotificationMessage`

5247 5295 

5248Notification lorsqu'une tâche en arrière-plan se termine, échoue ou est arrêtée. Les tâches en arrière-plan incluent les commandes Bash `run_in_background`, les surveillances [Monitor](#monitor) et les sous-agents en arrière-plan. Pour les champs `run_id` et `ambient`, consultez [`SDKTaskStartedMessage`](#sdktaskstartedmessage), qui les définit ainsi que leurs exigences de version.5296Notification émise lorsqu'une tâche en arrière-plan se termine, échoue ou est arrêtée. Les tâches en arrière-plan incluent les commandes Bash `run_in_background`, les surveillances [Monitor](#monitor) et les sous-agents en arrière-plan. Pour les champs `run_id` et `ambient`, consultez [`SDKTaskStartedMessage`](#sdktaskstartedmessage), qui les définit ainsi que leurs exigences de version.

5249 5297 

5250```typescript theme={null}5298```typescript theme={null}

5251type SDKTaskNotificationMessage = {5299type SDKTaskNotificationMessage = {


5270};5318};

5271```5319```

5272 5320 

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

5274 5322 

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

5276 5324 

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

5278 5326 

5279Pour détecter un tour de notification de tâche, vérifiez `origin.kind === "task-notification"` sur [`SDKUserMessage`](#sdkusermessage) ou [`SDKResultMessage`](#sdkresultmessage) plutôt que de faire correspondre le texte de l'avis. Lisez `subkind` à partir du même champ si vous avez besoin de savoir ce qui l'a soulevé. Avant v2.1.205, Claude Code laissait l'avis hors des notifications qui arrivaient pendant que la session était inactive.5327Pour détecter un tour de notification de tâche, vérifiez `origin.kind === "task-notification"` sur le [`SDKUserMessage`](#sdkusermessage) ou le [`SDKResultMessage`](#sdkresultmessage) plutôt que de vous fier au texte de l'avis. Lisez `subkind` dans le même champ si vous avez besoin de savoir ce qui l'a déclenché. Avant la v2.1.205, Claude Code n'ajoutait pas l'avis aux notifications arrivées pendant que la session était inactive.

5280 5328 

5281### `SDKToolUseSummaryMessage`5329### `SDKToolUseSummaryMessage`

5282 5330 


5296 5344 

5297Émis lorsqu'un hook commence à s'exécuter.5345Émis lorsqu'un hook commence à s'exécuter.

5298 5346 

5299Claude Code livre ce message, [`SDKHookProgressMessage`](#sdkhookprogressmessage) et [`SDKHookResponseMessage`](#sdkhookresponsemessage) au flux de messages immédiatement, y compris pendant qu'un hook `SessionStart` ou `Setup` s'exécute toujours au démarrage de la session. Claude Code v2.1.169 à v2.1.203 livrait ces messages en un lot après qu'un hook `SessionStart` ou `Setup` se soit terminé ; v2.1.204 a restauré la livraison en direct.5347Claude Code transmet ce message, [`SDKHookProgressMessage`](#sdkhookprogressmessage) et [`SDKHookResponseMessage`](#sdkhookresponsemessage) au flux de messages immédiatement, y compris pendant qu'un hook `SessionStart` ou `Setup` est encore en cours d'exécution lors du démarrage de la session. Claude Code v2.1.169 à v2.1.203 transmettait ces messages en un seul lot après la fin d'un hook `SessionStart` ou `Setup` ; la v2.1.204 a rétabli la transmission en direct.

5300 5348 

5301```typescript theme={null}5349```typescript theme={null}

5302type SDKHookStartedMessage = {5350type SDKHookStartedMessage = {


5312 5360 

5313### `SDKHookProgressMessage`5361### `SDKHookProgressMessage`

5314 5362 

5315Émis pendant qu'un hook s'exécute, avec la sortie stdout/stderr.5363Émis pendant l'exécution d'un hook, avec la sortie stdout/stderr.

5316 5364 

5317```typescript theme={null}5365```typescript theme={null}

5318type SDKHookProgressMessage = {5366type SDKHookProgressMessage = {


5352 5400 

5353### `SDKToolProgressMessage`5401### `SDKToolProgressMessage`

5354 5402 

5355Émis périodiquement pendant qu'un outil s'exécute pour indiquer la progression.5403Émis périodiquement pendant l'exécution d'un outil pour indiquer la progression.

5356 5404 

5357```typescript theme={null}5405```typescript theme={null}

5358type SDKToolProgressMessage = {5406type SDKToolProgressMessage = {


5377};5425};

5378```5426```

5379 5427 

5380Pendant qu'un appel d'outil s'exécute dans la conversation principale, Claude Code émet un message `tool_progress` toutes les 30 secondes avec `heartbeat: true`. Chaque battement porte le nom de l'outil et les secondes écoulées, afin que vous puissiez distinguer un appel de longue durée d'une session bloquée. Claude Code n'émet pas de battements pour les appels d'outil à l'intérieur d'un sous-agent. Le champ `heartbeat` nécessite Agent SDK v0.3.214 ou version ultérieure. Avant v2.1.257, Claude Code n'émettait pas non plus de battements pour un appel d'outil Agent au premier plan.5428Pendant qu'un appel d'outil s'exécute dans la conversation principale, Claude Code émet un message `tool_progress` toutes les 30 secondes avec `heartbeat: true`. Chaque heartbeat contient le nom de l'outil et le nombre de secondes écoulées, ce qui vous permet de distinguer un appel de longue durée d'une session bloquée. Claude Code n'émet pas de heartbeats pour les appels d'outils à l'intérieur d'un sous-agent. Le champ `heartbeat` nécessite l'Agent SDK v0.3.214 ou version ultérieure. Avant la v2.1.257, Claude Code n'émettait pas non plus de heartbeats pour un appel de l'outil Agent au premier plan.

5381 5429 

5382Sur les messages `tool_progress` pour l'outil Agent autres que les battements, `subagent_type` nomme le type de sous-agent en cours d'exécution, tel que `general-purpose`. `subagent_retry` est présent pendant que ce sous-agent attend un backoff d'erreur API, tel qu'une limite de débit ou une surcharge, avec un message par nouvelle tentative. Les deux champs nécessitent Agent SDK v0.3.214 ou version ultérieure.5430Sur les messages `tool_progress` de l'outil Agent autres que les heartbeats, `subagent_type` désigne le type du sous-agent en cours d'exécution, comme `general-purpose`. `subagent_retry` est présent pendant que ce sous-agent attend la fin d'un délai d'attente consécutif à une erreur d'API, comme une limite de débit ou une surcharge, avec un message par nouvelle tentative. Les deux champs nécessitent l'Agent SDK v0.3.214 ou version ultérieure.

5383 5431 

5384Pour rendre un indicateur de nouvelle tentative à partir de `subagent_retry` :5432Pour afficher un indicateur de nouvelle tentative à partir de `subagent_retry` :

5385 5433 

5386* Suivez l'indicateur par `parent_tool_use_id`, qui est unique par sous-agent. `tool_use_id` est partagé par les sous-agents parallèles d'un tour d'assistant, donc le suivi par celui-ci laisserait la mise à jour d'un sous-agent effacer l'indicateur d'un autre.5434* Suivez l'indicateur par `parent_tool_use_id`, qui est unique pour chaque sous-agent. `tool_use_id` est partagé par les sous-agents parallèles issus d'un même tour de l'assistant ; un suivi basé sur celui-ci permettrait donc à la mise à jour d'un sous-agent d'effacer l'indicateur d'un autre.

5387* Effacez l'indicateur lorsqu'un `tool_progress` ultérieur pour le même `parent_tool_use_id` arrive sans `subagent_retry` ni `heartbeat: true`, ou lorsque le message de résultat de l'outil arrive. Les cadres avec `heartbeat: true` ne signalent que la vivacité, donc conservez l'indicateur lorsqu'un arrive. `attempt` peut dépasser `max_retries` sous une nouvelle tentative persistante, donc ne dérivez pas l'effacement des compteurs.5435* Effacez l'indicateur lorsqu'un `tool_progress` ultérieur pour le même `parent_tool_use_id` arrive sans `subagent_retry` ni `heartbeat: true`, ou lorsque le message de résultat de l'outil arrive. Les trames avec `heartbeat: true` signalent uniquement que l'appel est actif ; conservez donc l'indicateur lorsque l'une d'elles arrive. `attempt` peut dépasser `max_retries` en cas de nouvelles tentatives persistantes ; ne vous basez donc pas sur les compteurs pour effacer l'indicateur.

5388* Traitez `error_category` comme un jeton pour choisir votre propre texte de message, pas comme du texte d'affichage. Les valeurs sont `rate_limit`, `overloaded`, `authentication_failed`, `server_error`, `cloud_credential_error` et `unknown`. Gérez une valeur que vous ne reconnaissez pas de la même manière que vous gérez `unknown`, car les versions ultérieures peuvent ajouter des valeurs.5436* Traitez `error_category` comme un jeton permettant de choisir votre propre texte de message, et non comme un texte à afficher. Les valeurs sont `rate_limit`, `overloaded`, `authentication_failed`, `server_error`, `cloud_credential_error` et `unknown`. Traitez une valeur que vous ne reconnaissez pas comme vous traitez `unknown`, car des versions ultérieures peuvent ajouter des valeurs.

5389 5437 

5390### `SDKAuthStatusMessage`5438### `SDKAuthStatusMessage`

5391 5439 


5404 5452 

5405### `SDKTaskStartedMessage`5453### `SDKTaskStartedMessage`

5406 5454 

5407Émis lorsqu'une tâche commence. Le champ `task_type` est `"local_bash"` pour les commandes Bash et les surveillances [Monitor](#monitor), `"local_agent"` pour les sous-agents, ou `"remote_agent"`.5455Émis lorsqu'une tâche commence. Le champ `task_type` vaut `"local_bash"` pour les commandes Bash et les surveillances [Monitor](#monitor), `"local_agent"` pour les sous-agents, ou `"remote_agent"`.

5408 5456 

5409```typescript theme={null}5457```typescript theme={null}

5410type SDKTaskStartedMessage = {5458type SDKTaskStartedMessage = {


5424};5472};

5425```5473```

5426 5474 

5427`run_id` identifie une exécution de la tâche. Lorsqu'une tâche s'exécute de nouveau sous le même `task_id`, comme un [sous-agent que Claude reprend](/docs/fr/agent-sdk/subagents#resume-subagents), la nouvelle exécution reçoit un nouveau `run_id`. Le champ nécessite Agent SDK v0.3.292 ou version ultérieure. Utilisez-le pour distinguer les exécutions d'une même tâche :5475`run_id` identifie une exécution de la tâche. Lorsqu'une tâche s'exécute à nouveau sous le même `task_id`, comme un [sous-agent que Claude reprend](/docs/fr/agent-sdk/subagents#resume-subagents), la nouvelle exécution reçoit un nouveau `run_id`. Le champ nécessite l'Agent SDK v0.3.292 ou version ultérieure. Utilisez-le pour distinguer les exécutions d'une même tâche :

5428 5476 

5429* **Associer les messages à une exécution** : les messages `task_started`, [`task_progress`](#sdktaskprogressmessage), [`task_updated`](#sdktaskupdatedmessage) et [`task_notification`](#sdktasknotificationmessage) d'une même exécution portent le même `run_id`. L'entrée de l'exécution dans chaque [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage) le porte également, tout comme le [`runId`](#task-notification-subkinds) sur l'origine du message utilisateur qui livre la notification de l'exécution.5477* **Associer les messages à une exécution** : les messages `task_started`, [`task_progress`](#sdktaskprogressmessage), [`task_updated`](#sdktaskupdatedmessage) et [`task_notification`](#sdktasknotificationmessage) d'une même exécution portent le même `run_id`. L'entrée de l'exécution dans chaque [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage) le porte également, tout comme le [`runId`](#task-notification-subkinds) présent dans l'origine du message utilisateur qui transmet la notification de l'exécution.

5430* **Détecter un message tardif** : comparés comme de simples chaînes, les ID d'exécution d'une tâche se trient dans l'ordre de démarrage des exécutions ; un message dont le `run_id` se trie avant l'exécution que vous affichez provient donc d'une exécution antérieure. Traitez la valeur comme opaque en dehors de cette comparaison.5478* **Détecter un message tardif** : comparés comme de simples chaînes, les identifiants d'exécution d'une même tâche se trient dans l'ordre de démarrage des exécutions ; un message dont le `run_id` se trie avant l'exécution que vous affichez provient donc d'une exécution antérieure. En dehors de cette comparaison, traitez la valeur comme opaque.

5431* **Se rabattre sur `task_id`** : lorsqu'un message ne porte aucun `run_id`, comme le `task_notification` qu'une session reprise émet pour clôturer une tâche que le processus précédent avait démarrée, attribuez-le par `task_id`.5479* **Se rabattre sur `task_id`** : lorsqu'un message ne porte aucun `run_id`, comme le `task_notification` qu'une session reprise émet pour clôturer une tâche démarrée par le processus précédent, attribuez-le par `task_id`.

5432 5480 

5433Par exemple, ces trois messages, réduits à leurs champs d'identification, proviennent d'un sous-agent en arrière-plan que Claude a repris une fois. Les deux messages `task_started` partagent un `task_id`, et la notification qui a mis fin à la première exécution porte l'ID de la première exécution :5481Par exemple, ces trois messages, réduits à leurs champs d'identification, proviennent d'un sous-agent en arrière-plan que Claude a repris une fois. Les deux messages `task_started` partagent un `task_id`, et la notification qui a mis fin à la première exécution porte l'identifiant de la première exécution :

5434 5482 

5435```json theme={null}5483```json theme={null}

5436{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubbs7i8-6f0c2d41"}5484{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubbs7i8-6f0c2d41"}


5438{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubc18m1-b7719e05"}5486{"subtype": "task_started", "task_id": "a5c2e8f41b09d7a36", "run_id": "0mubc18m1-b7719e05"}

5439```5487```

5440 5488 

5441`ambient` est `true` pour les tâches qui ne font pas partie du travail de la session, telles que les tâches que Claude Code exécute pour son propre fonctionnement. Les surveillances de mise à jour en direct sont également ambiantes, y compris les surveillances que l'utilisateur a demandées. Excluez les tâches ambiantes des indicateurs d'activité. Le champ nécessite Agent SDK v0.3.247 ou version ultérieure.5489`ambient` vaut `true` pour les tâches qui ne font pas partie du travail de la session, comme les tâches que Claude Code exécute pour son propre fonctionnement. Les observateurs de mise à jour en direct sont également ambiants, y compris ceux demandés par l'utilisateur. Excluez les tâches ambiantes des indicateurs d'activité. Le champ nécessite l'Agent SDK v0.3.247 ou version ultérieure.

5442 5490 

5443`ambient` apparaît également sur [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) et sur les entrées [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).5491`ambient` apparaît également sur [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) et sur les entrées de [`SDKBackgroundTasksChangedMessage`](#sdkbackgroundtaskschangedmessage).

5444 5492 

5445`is_backgrounded` et `spawn_depth` décrivent comment Claude Code a démarré la tâche. Les deux champs nécessitent Agent SDK v0.3.238 ou version ultérieure.5493`is_backgrounded` et `spawn_depth` décrivent la manière dont Claude Code a démarré la tâche. Les deux champs nécessitent l'Agent SDK v0.3.238 ou version ultérieure.

5446 5494 

5447* `is_backgrounded` : Claude Code le définit sur les tâches `"local_agent"` et `"local_bash"`. `true` signifie que la tâche s'exécute en arrière-plan. `false` signifie que la tâche s'exécute au premier plan, et l'appel d'outil qui l'a démarrée reste bloqué jusqu'à ce que la tâche se termine ou se déplace en arrière-plan.5495* `is_backgrounded` : Claude Code le définit sur les tâches `"local_agent"` et `"local_bash"`. `true` signifie que la tâche s'exécute en arrière-plan. `false` signifie que la tâche s'exécute au premier plan, et l'appel d'outil qui l'a démarrée reste bloqué jusqu'à ce que la tâche se termine ou passe en arrière-plan.

5448* `spawn_depth` : Claude Code le définit uniquement sur les tâches `"local_agent"`. Un sous-agent que le thread principal a généré a une profondeur `1`. Un sous-agent qu'un sous-agent de profondeur `1` a généré a une profondeur `2`, et ainsi de suite.5496* `spawn_depth` : Claude Code le définit uniquement sur les tâches `"local_agent"`. Un sous-agent lancé par le thread principal a une profondeur de `1`. Un sous-agent lancé par un sous-agent de profondeur `1` a une profondeur de `2`, et ainsi de suite.

5449 5497 

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

5451 5499 

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

5453 5501 

5454* Le thread principal a lancé la tâche5502* Le thread principal a lancé la tâche

5455* Claude Code ne suit plus la tâche parente5503* Claude Code ne suit plus la tâche parente

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

5457 5505 

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

5459 5507 

5460### `SDKTaskProgressMessage`5508### `SDKTaskProgressMessage`

5461 5509 

5462Émis périodiquement pendant qu'un sous-agent ou une tâche en arrière-plan s'exécute. Pour le champ `run_id`, consultez [`SDKTaskStartedMessage`](#sdktaskstartedmessage), qui le définit ainsi que son exigence de version.5510Émis périodiquement pendant l'exécution d'un sous-agent ou d'une tâche en arrière-plan. Pour le champ `run_id`, consultez [`SDKTaskStartedMessage`](#sdktaskstartedmessage), qui le définit ainsi que son exigence de version.

5463 5511 

5464Pour une tâche de sous-agent, le champ `summary` porte un résumé de progression généré par le modèle et n'est rempli que lorsque [`agentProgressSummaries`](#options) est activé. Pour un [appel d'outil MCP mis en arrière-plan](/docs/fr/mcp#automatic-backgrounding-of-long-tool-calls), `summary` porte le dernier progrès signalé par le serveur MCP et ne dépend pas de cette option.5512Pour une tâche de sous-agent, le champ `summary` contient un résumé de progression généré par le modèle et n'est renseigné que lorsque [`agentProgressSummaries`](#options) est activé. Pour un [appel d'outil MCP passé en arrière-plan](/docs/fr/mcp#automatic-backgrounding-of-long-tool-calls), `summary` contient la dernière progression indiquée par le serveur MCP et ne dépend pas de cette option.

5465 5513 

5466```typescript theme={null}5514```typescript theme={null}

5467type SDKTaskProgressMessage = {5515type SDKTaskProgressMessage = {


5486 5534 

5487### `SDKTaskUpdatedMessage`5535### `SDKTaskUpdatedMessage`

5488 5536 

5489Émis lorsque l'état d'une tâche en arrière-plan change, par exemple lorsqu'elle passe de `running` à `completed`. Fusionnez `patch` dans votre carte de tâches locale indexée par `task_id`. Le champ `end_time` est un horodatage d'époque Unix en millisecondes, comparable avec `Date.now()`. Pour le champ `run_id`, consultez [`SDKTaskStartedMessage`](#sdktaskstartedmessage), qui le définit ainsi que son exigence de version.5537Émis lorsque l'état d'une tâche en arrière-plan change, par exemple lorsqu'elle passe de `running` à `completed`. Fusionnez `patch` dans votre table locale de tâches indexée par `task_id`. Le champ `end_time` est un horodatage Unix epoch en millisecondes, comparable à `Date.now()`. Pour le champ `run_id`, consultez [`SDKTaskStartedMessage`](#sdktaskstartedmessage), qui le définit ainsi que son exigence de version.

5490 5538 

5491```typescript theme={null}5539```typescript theme={null}

5492type SDKTaskUpdatedMessage = {5540type SDKTaskUpdatedMessage = {


5509 5557 

5510### `SDKBackgroundTasksChangedMessage`5558### `SDKBackgroundTasksChangedMessage`

5511 5559 

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

5513 5561 

5514Le tableau `tasks` est l'ensemble en direct complet. Remplacez tout ensemble mis en cache par chaque payload au lieu d'appairer les événements `task_started` et `task_notification`, afin que le prochain changement d'appartenance corrige tout événement que vous avez manqué.5562Le tableau `tasks` représente l'ensemble complet des tâches actives. Remplacez tout ensemble en cache par chaque payload au lieu d'apparier les événements `task_started` et `task_notification`, afin que le prochain changement de composition corrige tout événement manqué.

5515 5563 

5516Lorsqu'une tâche se termine, ses messages [`task_updated`](#sdktaskupdatedmessage) et [`task_notification`](#sdktasknotificationmessage) arrivent avant le `background_tasks_changed` qui la retire de la liste. L'ordre relatif aux événements par tâche n'est sinon pas spécifié.5564Lorsqu'une tâche se termine, ses messages [`task_updated`](#sdktaskupdatedmessage) et [`task_notification`](#sdktasknotificationmessage) arrivent avant le `background_tasks_changed` qui la retire de la liste. L'ordre par rapport aux événements propres à chaque tâche n'est pas spécifié par ailleurs.

5517 5565 

5518Rien n'est émis au démarrage. Réinitialisez à un ensemble vide chaque fois que le processus CLI de la session démarre ou redémarre et laissez le prochain changement d'appartenance le repeupler.5566Rien n'est émis au démarrage. Réinitialisez l'ensemble à vide chaque fois que le processus CLI de la session démarre ou redémarre, et laissez le prochain changement de composition le remplir à nouveau.

5519 5567 

5520Lorsque vous envoyez une demande de contrôle `initialize` répétée à une session en cours d'exécution, par exemple avec [`reinitialize()`](#query-object) après une interruption du transport, Claude Code fait suivre la réponse d'un instantané de l'ensemble en direct actuel, même lorsqu'il est vide. Un hôte qui se reconnecte apprend donc ce qui s'exécute sans attendre le prochain changement d'appartenance. Avant Agent SDK v0.3.239, Claude Code n'envoyait aucun instantané après un `initialize` répété.5568Lorsque vous envoyez une requête de contrôle `initialize` répétée à une session en cours, par exemple avec [`reinitialize()`](#query-object) après une interruption du transport, Claude Code fait suivre la réponse d'un instantané de l'ensemble actif actuel, même lorsqu'il est vide. Un hôte qui se reconnecte apprend ainsi ce qui est en cours d'exécution sans attendre le prochain changement de composition. Avant l'Agent SDK v0.3.239, Claude Code n'envoyait aucun instantané après un `initialize` répété.

5521 5569 

5522Nécessite Claude Code v2.1.203 ou version ultérieure.5570Nécessite Claude Code v2.1.203 ou version ultérieure.

5523 5571 


5539};5587};

5540```5588```

5541 5589 

5542`subagent_type` nomme le type de sous-agent sur les entrées dont le [`task_type`](#sdktaskstartedmessage) est `"local_agent"`, tel que `general-purpose` ou le nom d'un sous-agent personnalisé. Le champ nécessite Agent SDK v0.3.293 ou version ultérieure.5590`subagent_type` désigne le type de sous-agent sur les entrées dont le [`task_type`](#sdktaskstartedmessage) vaut `"local_agent"`, comme `general-purpose` ou le nom d'un sous-agent personnalisé. Le champ nécessite l'Agent SDK v0.3.293 ou version ultérieure.

5543 5591 

5544### `SDKThinkingTokensMessage`5592### `SDKThinkingTokensMessage`

5545 5593 

5546Émis pendant que Claude produit un bloc de réflexion, y compris un bloc expurgé. `estimated_tokens` est une estimation en cours des tokens de réflexion générés jusqu'à présent dans le bloc actuel, et `estimated_tokens_delta` est l'incrément porté par ce cadre. Utilisez ces estimations pour l'affichage de la progression.5594Émis pendant que Claude produit un bloc de réflexion, y compris un bloc expurgé. `estimated_tokens` est une estimation cumulée des tokens de réflexion générés jusqu'ici dans le bloc actuel, et `estimated_tokens_delta` est l'incrément porté par cette trame. Utilisez ces estimations pour l'affichage de la progression.

5547 5595 

5548Lorsque le modèle ou le fournisseur signale une décomposition, le décompte final pour la boucle d'agent de haut niveau est le [`usage.output_tokens_details.thinking_tokens`](#usage) du message de résultat, qui [n'inclut pas les tokens de sous-agent](/docs/fr/agent-sdk/cost-tracking#get-the-total-cost-of-a-query).5596Lorsque le modèle ou le fournisseur indique une ventilation, le décompte final pour la boucle d'agent de niveau supérieur est le [`usage.output_tokens_details.thinking_tokens`](#usage) du message de résultat, qui [n'inclut pas les tokens des sous-agents](/docs/fr/agent-sdk/cost-tracking#get-the-total-cost-of-a-query).

5549 5597 

5550Nécessite Claude Code v2.1.153 ou version ultérieure.5598Nécessite Claude Code v2.1.153 ou version ultérieure.

5551 5599 


5563 5611 

5564### `SDKSessionStateChangedMessage`5612### `SDKSessionStateChangedMessage`

5565 5613 

5566Émis lorsque Claude Code signale l'état de la session. Pour recevoir ces messages, définissez [`CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS=1`](/docs/fr/env-vars#variables). Claude Code peut signaler le même état plus d'une fois ; lisez donc un message comme l'état actuel de la session plutôt que comme une transition.5614Émis lorsque Claude Code indique l'état de la session. Pour recevoir ces messages, définissez [`CLAUDE_CODE_EMIT_SESSION_STATE_EVENTS=1`](/docs/fr/env-vars#variables). Claude Code peut indiquer le même état plusieurs fois ; lisez donc un message comme l'état actuel de la session plutôt que comme une transition.

5567 5615 

5568Le champ `state` porte l'une de ces valeurs :5616Le champ `state` contient l'une de ces valeurs :

5569 5617 

5570* `running` : la session est en train de travailler.5618* `running` : la session est en cours de travail.

5571* `idle` : Claude Code attend votre prochain prompt.5619* `idle` : Claude Code attend votre prochain prompt.

5572* `requires_action` : la session est bloquée en attente d'une réponse à une demande qu'elle a envoyée à votre hôte, telle qu'une demande de permission.5620* `requires_action` : la session est bloquée dans l'attente d'une réponse à une demande qu'elle a envoyée à votre hôte, comme une demande de permission.

5573 5621 

5574Le message `idle` d'un tour et son message `result` peuvent arriver dans n'importe quel ordre. Pour modifier le fait que `idle` attende ou non le travail en arrière-plan, tel qu'un sous-agent en arrière-plan ou une exécution de [workflow](/docs/fr/workflows), consultez [`CLAUDE_CODE_BG_TASKS_REPORT_RUNNING`](/docs/fr/env-vars#variables).5622Le message `idle` d'un tour et son message `result` peuvent arriver dans n'importe quel ordre. Pour déterminer si `idle` attend la fin d'un travail en arrière-plan, comme un sous-agent en arrière-plan ou l'exécution d'un [workflow](/docs/fr/workflows), consultez [`CLAUDE_CODE_BG_TASKS_REPORT_RUNNING`](/docs/fr/env-vars#variables).

5575 5623 

5576```typescript theme={null}5624```typescript theme={null}

5577type SDKSessionStateChangedMessage = {5625type SDKSessionStateChangedMessage = {


5619};5667};

5620```5668```

5621 5669 

5622Lorsque `errorCode` est `"credits_required"`, le rejet provient d'un abonnement claude.ai dont l'utilisation incluse est épuisée, et la session ne peut pas continuer jusqu'à ce que l'utilisateur achète des crédits d'utilisation. `canUserPurchaseCredits` indique si l'utilisateur authentifié peut acheter des crédits pour le compte, et `hasChargeableSavedPaymentMethod` indique si une méthode de paiement enregistrée est en dossier. Les trois champs sont absents sur les événements de limite de débit qui ne sont pas des rejets de crédits requis. Nécessite Claude Code v2.1.181 ou version ultérieure.5670Lorsque `errorCode` vaut `"credits_required"`, le refus provient d'un abonnement claude.ai dont l'utilisation incluse est épuisée, et la session ne peut pas continuer tant que l'utilisateur n'a pas acheté de crédits d'utilisation. `canUserPurchaseCredits` indique si l'utilisateur authentifié peut acheter des crédits pour le compte, et `hasChargeableSavedPaymentMethod` indique si un moyen de paiement est enregistré. Ces trois champs sont absents des événements de limite de débit qui ne sont pas des refus liés aux crédits. Nécessite Claude Code v2.1.181 ou version ultérieure.

5623 5671 

5624### `SDKLocalCommandOutputMessage`5672### `SDKLocalCommandOutputMessage`

5625 5673 

5626Claude Code n'émet pas ce type de message. Lorsque vous envoyez une commande telle que `/context` ou `/usage` comme prompt, sa sortie arrive comme [`SDKAssistantMessage`](#sdkassistantmessage).5674Claude Code n'émet pas ce type de message. Lorsque vous envoyez une commande telle que `/context` ou `/usage` en tant que prompt, sa sortie arrive sous la forme d'un [`SDKAssistantMessage`](#sdkassistantmessage).

5627 5675 

5628```typescript theme={null}5676```typescript theme={null}

5629type SDKLocalCommandOutputMessage = {5677type SDKLocalCommandOutputMessage = {


5637 5685 

5638### `SDKCommandsChangedMessage`5686### `SDKCommandsChangedMessage`

5639 5687 

5640Émis lorsque l'ensemble des commandes disponibles change en milieu de session, par exemple lorsque Claude Code découvre des skills à mesure que l'agent entre dans un sous-répertoire. Le tableau `commands` est la liste complète mise à jour, donc remplacez tout cache de liste de commandes par ce payload. L'appel de [`supportedCommands()`](#query-object) après ce message renvoie la même liste mise à jour, car la méthode suit le dernier push ; cela nécessite Agent SDK v0.3.216 ou version ultérieure. Dans les versions antérieures du SDK, `supportedCommands()` renvoie l'instantané capturé à l'initialisation et ne reflète jamais les changements en milieu de session.5688Émis lorsque l'ensemble des commandes disponibles change en cours de session, par exemple lorsque Claude Code découvre des skills au moment où l'agent entre dans un sous-répertoire. Le tableau `commands` est la liste complète mise à jour ; remplacez donc toute liste de commandes en cache par ce payload. Appeler [`supportedCommands()`](#query-object) après ce message renvoie la même liste mise à jour, car la méthode suit la dernière mise à jour reçue ; cela nécessite l'Agent SDK v0.3.216 ou version ultérieure. Dans les versions antérieures du SDK, `supportedCommands()` renvoie l'instantané capturé à l'initialisation et ne reflète jamais les changements en cours de session.

5641 5689 

5642Claude Code émet également ce message lorsque les [prompts](/docs/fr/mcp#use-mcp-prompts-as-commands) d'un serveur MCP rejoignent ou quittent la liste, par exemple lorsqu'un serveur termine de se connecter après le démarrage de la session. Cela nécessite Claude Code v2.1.281 ou version ultérieure.5690Claude Code émet également ce message lorsque les [prompts](/docs/fr/mcp#use-mcp-prompts-as-commands) d'un serveur MCP sont ajoutés à la liste ou en sont retirés, par exemple lorsqu'un serveur termine sa connexion après le démarrage de la session. Cela nécessite Claude Code v2.1.281 ou version ultérieure.

5643 5691 

5644```typescript theme={null}5692```typescript theme={null}

5645type SDKCommandsChangedMessage = {5693type SDKCommandsChangedMessage = {


5666 5714 

5667### `SDKConversationResetMessage`5715### `SDKConversationResetMessage`

5668 5716 

5669Émis lorsque la conversation de la session est remplacée sans terminer la session. Dans un appel `query()`, seul `/clear` et ses alias produisent ce message. Montez une transcription vide sous `new_conversation_id` et jetez tout titre de session mis en cache.5717Émis lorsque la conversation de la session est remplacée sans que la session ne se termine. Dans un appel `query()`, seuls `/clear` et ses alias produisent ce message. Montez une transcription vide sous `new_conversation_id` et supprimez tout titre de session en cache.

5670 5718 

5671```typescript theme={null}5719```typescript theme={null}

5672type SDKConversationResetMessage = {5720type SDKConversationResetMessage = {


5680};5728};

5681```5729```

5682 5730 

5683Les champs optionnels décrivent la réinitialisation :5731Les champs facultatifs décrivent la réinitialisation :

5684 5732 

5685* `trigger` : ce qui a supprimé la conversation. Réinitialisez votre transcription sur chaque message `conversation_reset`, y compris celui où ce champ est absent ou porte une valeur que vous ne reconnaissez pas.5733* `trigger` : ce qui a supprimé la conversation. Réinitialisez votre transcription à chaque message `conversation_reset`, y compris lorsque ce champ est absent ou contient une valeur que vous ne reconnaissez pas.

5686* `user_message_uuid` : l'`uuid` du message utilisateur qui portait le `/clear`. Utilisez-le pour faire correspondre la réinitialisation à ce message.5734* `user_message_uuid` : l'`uuid` du message utilisateur qui contenait le `/clear`. Utilisez-le pour associer la réinitialisation à ce message.

5687* `timestamp` : quand la réinitialisation s'est produite, sous forme de chaîne ISO 8601 en UTC. Utilisez-le pour l'affichage, pas pour l'ordre des messages.5735* `timestamp` : le moment de la réinitialisation, sous forme de chaîne ISO 8601 en UTC. Utilisez-le pour l'affichage, pas pour ordonner les messages.

5688 5736 

5689Les champs `trigger`, `user_message_uuid` et `timestamp` nécessitent Claude Code v2.1.281 ou version ultérieure.5737Les champs `trigger`, `user_message_uuid` et `timestamp` nécessitent Claude Code v2.1.281 ou version ultérieure.

5690 5738 

5691Les typages publiés du SDK déclarent `SDKConversationResetMessage` dans Claude Code v2.1.203 et versions ultérieures. Avant v2.1.203, `SDKMessage` référençait le type sans le déclarer, donc le rétrécissement sur `type === "conversation_reset"` échouait à la vérification de type lorsque `skipLibCheck` était désactivé.5739Les typages publiés du SDK déclarent `SDKConversationResetMessage` dans Claude Code v2.1.203 et versions ultérieures. Avant la v2.1.203, `SDKMessage` référençait le type sans le déclarer ; le rétrécissement de type sur `type === "conversation_reset"` échouait donc à la vérification des types lorsque `skipLibCheck` était désactivé.

5692 5740 

5693### `AbortError`5741### `AbortError`

5694 5742 

5695Classe d'erreur personnalisée pour les opérations d'arrêt.5743Classe d'erreur personnalisée pour les opérations d'abandon.

5696 5744 

5697```typescript theme={null}5745```typescript theme={null}

5698class AbortError extends Error {}5746class AbortError extends Error {}

5699```5747```

5700 5748 

5701`AbortError` est la seule classe d'erreur dans l'API typée du SDK. Les autres défaillances, telles que la sortie ou l'échec du lancement du processus Claude Code, rejettent l'itération de message avec des erreurs qui ne portent aucune classe SDK à laquelle se référer. [Dépannage](/docs/fr/agent-sdk/troubleshooting) répertorie ces erreurs par message, avec la cause et la correction pour chacune.5749`AbortError` est la seule classe d'erreur de l'API typée du SDK. Les autres échecs, comme l'arrêt du processus Claude Code ou l'échec de son lancement, rejettent l'itération des messages avec des erreurs qui ne portent aucune classe du SDK permettant de les identifier. La page [Dépannage](/docs/fr/agent-sdk/troubleshooting) répertorie ces erreurs par message, avec la cause et la solution pour chacune.

5702 5750 

5703## Configuration du sandbox5751## Configuration du sandbox

5704 5752 

agent-teams.md +5 −3

Details

34| | Subagents | Équipes d'agents |34| | Subagents | Équipes d'agents |

35| :- | :- | :- |35| :- | :- | :- |

36| **Contexte** | Fenêtre de contexte propre ; les résultats reviennent à l'appelant | Fenêtre de contexte propre ; complètement indépendant |36| **Contexte** | Fenêtre de contexte propre ; les résultats reviennent à l'appelant | Fenêtre de contexte propre ; complètement indépendant |

37| **Communication** | Rendre un résultat à l'appelant. Les subagents que Claude a nommés lors de leur création peuvent également [se messaguer les uns les autres](/docs/fr/sub-agents#what-loads-at-startup) | Les coéquipiers se messagent directement |37| **Communication** | Rendre un résultat à l'appelant. Les sous-agents que Claude a [nommés](/docs/fr/sub-agents#subagent-names) lors de leur création peuvent également [s'envoyer des messages les uns aux autres](/docs/fr/sub-agents#what-loads-at-startup) | Les coéquipiers s'envoient des messages directement |

38| **Coordination** | L'agent principal gère tout le travail | Auto-coordination via des messages, plus une liste de tâches partagée pour les [agents disposant des outils Task](/docs/fr/tools-reference#task-tool-availability) |38| **Coordination** | L'agent principal gère tout le travail | Auto-coordination via des messages, plus une liste de tâches partagée pour les [agents disposant des outils Task](/docs/fr/tools-reference#task-tool-availability) |

39| **Meilleur pour** | Les tâches ciblées où seul le résultat compte | Le travail complexe nécessitant discussion et collaboration |39| **Meilleur pour** | Les tâches ciblées où seul le résultat compte | Le travail complexe nécessitant discussion et collaboration |

40| **Coût en tokens** | Inférieur : les résultats sont résumés au contexte principal | Supérieur : chaque coéquipier est une instance Claude distincte |40| **Coût en tokens** | Inférieur : les résultats sont résumés au contexte principal | Supérieur : chaque coéquipier est une instance Claude distincte |


166Générez un coéquipier architecte pour refactoriser le module d'authentification.166Générez un coéquipier architecte pour refactoriser le module d'authentification.

167```167```

168 168 

169Lorsqu'un coéquipier termine la planification, il envoie une demande d'approbation du plan au chef. Claude Code approuve le plan dans la session du chef dès que la demande arrive, sans que le chef l'examine. Les modifications et commandes du coéquipier passent toujours par les invites de permission décrites dans [Permissions](#permissions). Une fois approuvé, le coéquipier quitte le mode plan et commence la mise en œuvre.169Lorsque ce coéquipier termine la planification, il envoie une demande d'approbation du plan au chef. Si vous n'avez pas modifié le mode de permission de ce coéquipier depuis sa génération, Claude Code approuve le plan dès que la demande arrive, sans que le chef l'examine. Les modifications et commandes du coéquipier passent toujours par les demandes de permission décrites dans [Permissions](#permissions). Une fois approuvé, le coéquipier quitte le mode plan et commence la mise en œuvre.

170 

171Si vous placez un coéquipier in-process en cours d'exécution en mode plan en appuyant sur [`Shift+Tab`](/docs/fr/permission-modes#switch-permission-modes) pendant que vous visualisez sa session, c'est le chef qui examine le plan de cette exécution au lieu que Claude Code l'approuve. Il ne vous est pas demandé de l'approuver ; le chef l'approuve ou le renvoie pour révision.

170 172 

171### Parler directement aux coéquipiers173### Parler directement aux coéquipiers

172 174 


286 288 

287Les coéquipiers commencent avec le mode de permission du chef, sauf le mode [`dontAsk`](/docs/fr/permission-modes#allow-only-pre-approved-tools-with-dontask-mode), qu'ils n'héritent pas. Si le chef s'exécute avec `--dangerously-skip-permissions`, tous les coéquipiers le font aussi. Après la génération, vous pouvez modifier le mode de permission d'un coéquipier individuel, mais vous ne pouvez pas définir les modes de permission par coéquipier au moment de la génération.289Les coéquipiers commencent avec le mode de permission du chef, sauf le mode [`dontAsk`](/docs/fr/permission-modes#allow-only-pre-approved-tools-with-dontask-mode), qu'ils n'héritent pas. Si le chef s'exécute avec `--dangerously-skip-permissions`, tous les coéquipiers le font aussi. Après la génération, vous pouvez modifier le mode de permission d'un coéquipier individuel, mais vous ne pouvez pas définir les modes de permission par coéquipier au moment de la génération.

288 290 

289Les invites de permission des coéquipiers remontent à la session chef, donc approuvez-les vous-même là-bas. [L'approbation du plan](#have-teammates-plan-before-implementing) est l'exception conçue : la session chef accorde les approbations de plan des coéquipiers sans une invite séparée pour vous.291Les demandes de permission des coéquipiers s'affichent dans la session chef ; approuvez-les donc vous-même à cet endroit. Vous n'avez pas besoin d'approuver [le plan d'un coéquipier](#have-teammates-plan-before-implementing).

290 292 

291#### Messages entre agents293#### Messages entre agents

292 294 

agent-view.md +92 −34

Details

276 276 

277Après environ dix secondes, Claude Code met la session en arrière-plan sans attendre davantage, sauf dans des cas comme ceux-ci :277Après environ dix secondes, Claude Code met la session en arrière-plan sans attendre davantage, sauf dans des cas comme ceux-ci :

278 278 

279* **Des sous-agents au premier plan s'exécutent encore** : Claude Code continue d'attendre afin que le travail des [sous-agents au premier plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) que Claude a démarrés soit transféré, et affiche `Still backgrounding after the current tool`. Appuyez à nouveau sur `←` pour mettre en arrière-plan sans attendre, ce qui redémarre ces sous-agents depuis le début.279* **Des sous-agents au premier plan sont toujours en cours d'exécution** : Claude Code continue d'attendre afin que le travail des [sous-agents au premier plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) lancés par Claude soit conservé, et affiche `Still backgrounding after the current tool`. Appuyez de nouveau sur `←` pour passer en arrière-plan sans attendre, ce qui redémarre ces sous-agents depuis le début.

280* **Une demande de permission ou une question attend votre réponse** : pendant qu'une demande de permission ou une question posée par Claude attend, Claude Code continue d'attendre et affiche `Still backgrounding after the current tool — a question is waiting for your answer.` Si votre réponse permet au tour de continuer, comme **Yes** sur une demande de permission, Claude Code met la session en arrière-plan lorsque l'outil actuel se termine.280* **Une demande de permission ou une question attend votre réponse** : pendant qu'une demande de permission ou une question posée par Claude attend, Claude Code continue d'attendre et affiche `Still backgrounding after the current tool — a question is waiting for your answer.` Si votre réponse permet au tour de continuer, comme **Yes** sur une demande de permission, Claude Code met la session en arrière-plan lorsque l'outil actuel se termine.

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

282* **Vous arrêtez le tour** : Claude Code annule le basculement et affiche `Backgrounding cancelled — the turn was stopped.` Par exemple, le tour s'arrête lorsque vous [interrompez Claude avec `Esc`](/docs/fr/interactive-mode#general-controls) ou sélectionnez **No** [sans commentaire](/docs/fr/permissions#add-a-comment-when-you-answer-a-permission-prompt) sur une demande de permission de la conversation principale, ou appuyez sur `Esc` sur une question que Claude y pose. Appuyez à nouveau sur `←` pour mettre la session en arrière-plan.282* **Vous arrêtez le tour** : Claude Code annule le basculement et affiche `Backgrounding cancelled — the turn was stopped.` Par exemple, le tour s'arrête lorsque vous [interrompez Claude avec `Esc`](/docs/fr/interactive-mode#general-controls) ou sélectionnez **No** [sans commentaire](/docs/fr/permissions#add-a-comment-when-you-answer-a-permission-prompt) sur une demande de permission de la conversation principale, ou appuyez sur `Esc` sur une question que Claude y pose. Appuyez à nouveau sur `←` pour mettre la session en arrière-plan.

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

284 284 


288 288 

289Vous pouvez désactiver ce raccourci pour les sessions au premier plan avec le paramètre [`leftArrowOpensAgents`](/docs/fr/settings-reference#leftarrowopensagents) dans `/config`.289Vous pouvez désactiver ce raccourci pour les sessions au premier plan avec le paramètre [`leftArrowOpensAgents`](/docs/fr/settings-reference#leftarrowopensagents) dans `/config`.

290 290 

291##### Prompts envoyés pendant que la session passe en arrière-plan

292 

293Si vous saisissez un prompt ou une commande shell `!` au moment où la session passe en arrière-plan, il est arrêté ou reste non envoyé :

294 

295* **Envoyé pendant la fermeture de la conversation** : la réponse ou la commande s'arrête lorsque la conversation se ferme et que la vue agent s'ouvre

296* **Encore en attente des [hooks](/docs/fr/hooks) à ce moment** : le prompt n'est pas envoyé, et rien à l'écran ne l'indique. Cela inclut un prompt que vous avez tapé pendant que les [hooks `SessionStart`](/docs/fr/hooks#sessionstart) s'exécutaient encore

297 

298Dans les deux cas, le texte que vous avez tapé est conservé dans l'[historique des prompts](/docs/fr/interactive-mode#command-history). Pour l'envoyer à nouveau, ouvrez la session mise en arrière-plan et appuyez sur `↑` dans son prompt pour récupérer le texte.

299 

291### Organiser la liste300### Organiser la liste

292 301 

293La vue agent groupe les sessions afin que celles qui ont besoin d'entrée soient en haut, avec `Ready for review` et `Needs input` au-dessus de `Working` et `Completed`. Ces noms de groupe ne correspondent pas un à un aux [états](#read-session-state) ci-dessus : une session passe dans `Ready for review` lorsqu'elle a une pull request ouverte qui nécessite un examen ou dont les vérifications échouent, et `Completed` rassemble les sessions terminées, échouées et arrêtées.302La vue agent groupe les sessions afin que celles qui ont besoin d'entrée soient en haut, avec `Ready for review` et `Needs input` au-dessus de `Working` et `Completed`. Ces noms de groupe ne correspondent pas un à un aux [états](#read-session-state) ci-dessus : une session passe dans `Ready for review` lorsqu'elle a une pull request ouverte qui nécessite un examen ou dont les vérifications échouent, et `Completed` rassemble les sessions terminées, échouées et arrêtées.


300* Appuyez sur `Shift+↑` ou `Shift+↓` pour réorganiser les sessions309* Appuyez sur `Shift+↑` ou `Shift+↓` pour réorganiser les sessions

301* Appuyez sur `Ctrl+R` pour renommer une session310* Appuyez sur `Ctrl+R` pour renommer une session

302* Appuyez sur `Enter` sur un en-tête de groupe pour le réduire, sauf lorsqu'un [filtre](#filter-sessions) est actif, auquel cas chaque groupe reste développé311* Appuyez sur `Enter` sur un en-tête de groupe pour le réduire, sauf lorsqu'un [filtre](#filter-sessions) est actif, auquel cas chaque groupe reste développé

312* Appuyez sur `Ctrl+X` pour arrêter une session et à nouveau sur `Ctrl+X` dans les deux secondes pour la supprimer de la liste, ou sur `Esc` pour ignorer la confirmation sans supprimer. Le deuxième appui supprime la session même lorsque la tentative d'arrêt échoue, par exemple parce que le [service en arrière-plan ne répond pas](#agent-view-says-the-background-service-did-not-respond). Dans ce cas, la confirmation reste active pendant deux secondes supplémentaires, et la suppression termine elle-même le processus de la session

303 313 

304Pour supprimer une session de la liste, appuyez sur `Ctrl+X` pour l'arrêter et à nouveau sur `Ctrl+X` dans les deux secondes pour la supprimer. Appuyer sur `Ctrl+X` sur un en-tête de groupe supprime chaque session de ce groupe après confirmation.314Appuyer sur `Ctrl+X` sur un en-tête de groupe supprime chaque session de ce groupe après confirmation. Sauf dans les cas de conservation décrits dans [Ce que la suppression d'une session supprime](#what-deleting-a-session-removes), la suppression retire la session de la liste. Un worktree que Claude a créé pour elle est supprimé, conservé ou laissé en place selon la façon dont vous supprimez et ce que contient le worktree. La transcription de la conversation reste sur votre machine locale, disponible via `claude --resume`.

305 315 

306Le deuxième appui supprime la session même lorsque la tentative d'arrêt échoue, par exemple parce que le [service en arrière-plan ne répond pas](#agent-view-says-the-background-service-did-not-respond) : la confirmation reste active pendant deux secondes supplémentaires, et la suppression termine elle-même le processus de la session. Appuyez sur `Esc` pour ignorer la confirmation sans supprimer.316Les sessions terminées qui ne tiennent pas à l'écran se replient dans une ligne `… N more`. Le groupe `Completed` remplit l'espace vertical restant après les groupes actifs. Sur un terminal de faible hauteur, l'en-tête se compacte en une seule ligne de résumé afin que les sessions qui travaillent ou ont besoin d'entrée restent visibles.

307 317 

308Sauf dans les cas de conservation décrits dans [Ce que la suppression d'une session supprime](#what-deleting-a-session-removes), la suppression retire la session de la liste, et un worktree que Claude a créé pour elle est supprimé, conservé ou laissé en place selon la façon dont vous supprimez et ce que contient le worktree. La transcription de la conversation reste sur votre machine locale, disponible via `claude --resume`.318#### Ramener une session passée

309 319 

310Pour ramener une session sur Claude Code v2.1.212 ou ultérieur, tapez `/resume` dans l'entrée de dispatch. Un sélecteur s'ouvre avec les sessions passées du dépôt à partir duquel vous avez ouvert la vue agent, les plus récentes en premier, y compris les sessions que vous avez supprimées de la liste ; les sessions qui ont déjà une ligne ne sont pas répertoriées. `↑`/`↓` déplacent la sélection, `Enter` reprend la session sélectionnée en tant que session en arrière-plan afin qu'elle rejoigne la liste en tant que ligne, et `Esc` ferme le sélecteur.320Pour ramener une session sur Claude Code v2.1.212 ou ultérieur, tapez `/resume` dans l'[entrée de dispatch](#dispatch-an-agent-from-agent-view). Un sélecteur s'ouvre avec les sessions passées du dépôt à partir duquel vous avez ouvert la vue agent, les plus récentes en premier, y compris les sessions que vous avez supprimées de la liste. Les sessions qui ont déjà une ligne ne sont pas répertoriées. Appuyez sur `Enter` pour reprendre la session sélectionnée en tant que session en arrière-plan, afin qu'elle rejoigne la liste en tant que ligne.

311 321 

312Le sélecteur s'ouvre uniquement pour un `/resume` seul. Une reprise ciblée, limitée à un périmètre ou restreinte ne peut pas être servie par le sélecteur, la vue agent affiche donc l'indication `attach to a session to run it` à la place lorsque :322`/resume` échoue avec `isn't available in agent view` lorsque :

313 323 

314* `/resume` nomme un id ou un terme de recherche324* `/resume` nomme un id ou un terme de recherche

315* la vue est limitée avec `--cwd`325* la vue est limitée avec `--cwd`

316* la vue a été démarrée avec [`--safe-mode`](/docs/fr/cli-reference#cli-flags)326* la vue a été démarrée avec [`--safe-mode`](/docs/fr/cli-reference#cli-flags)

317* la vue a été ouverte avec un flag comme `--permission-mode` ou `--settings`327* la vue a été ouverte avec un flag comme `--permission-mode` ou `--settings`

318 328 

319Les sessions terminées qui ne tiennent pas à l'écran se replient dans une ligne `… N more`. Le groupe `Completed` remplit l'espace vertical restant après les groupes actifs, et sur un terminal de faible hauteur, l'en-tête se compacte en une seule ligne de résumé afin que les sessions qui travaillent ou ont besoin d'entrée restent visibles.329Si vous avez tapé quoi que ce soit après `/resume`, retapez la commande sans. Si vous avez utilisé l'un de ces flags, exécutez `claude agents` dans votre shell sans celui-ci, puis tapez `/resume` seul.

320 330 

321### Filtrer les sessions331### Filtrer les sessions

322 332 


361| `Ctrl+X` | Arrêter la session ; appuyez à nouveau dans les deux secondes pour la supprimer |371| `Ctrl+X` | Arrêter la session ; appuyez à nouveau dans les deux secondes pour la supprimer |

362| `Shift+↑` / `Shift+↓` | Réorganiser la session sélectionnée |372| `Shift+↑` / `Shift+↓` | Réorganiser la session sélectionnée |

363| `Esc` | Fermer le panneau d'aperçu, effacer l'entrée ou quitter. Lorsque vous avez ouvert la vue agent en mettant votre session en arrière-plan avec `←`, le dernier `Esc` revient à cette conversation au lieu de quitter. Avec le [mode éditeur vim](/docs/fr/interactive-mode#vim-editor-mode) activé, appuyer sur `Esc` dans l'entrée bascule du mode INSERT au mode NORMAL et conserve votre texte, comme dans le prompt principal |373| `Esc` | Fermer le panneau d'aperçu, effacer l'entrée ou quitter. Lorsque vous avez ouvert la vue agent en mettant votre session en arrière-plan avec `←`, le dernier `Esc` revient à cette conversation au lieu de quitter. Avec le [mode éditeur vim](/docs/fr/interactive-mode#vim-editor-mode) activé, appuyer sur `Esc` dans l'entrée bascule du mode INSERT au mode NORMAL et conserve votre texte, comme dans le prompt principal |

364| `Ctrl+C` | Effacer l'entrée ; appuyez deux fois pour quitter |374| `Ctrl+C` | Effacer l'entrée ; appuyez deux fois pour quitter. Lorsque du texte à l'écran est sélectionné, l'appui efface plutôt la sélection, en la copiant d'abord sauf si [la sélection l'a déjà copiée](/docs/fr/settings-reference#copyonselect) |

365| `?` | Afficher les raccourcis |375| `?` | Afficher les raccourcis |

366 376 

367Les raccourcis qui ont une action dans le [contexte `Agents`](/docs/fr/keybindings#agents-actions) suivent votre [`keybindings.json`](/docs/fr/keybindings). C'est aussi le cas de `Ctrl+G`, via la liaison `chat:externalEditor` du contexte `Chat`.377Les raccourcis qui ont une action dans le [contexte `Agents`](/docs/fr/keybindings#agents-actions) suivent votre [`keybindings.json`](/docs/fr/keybindings). C'est aussi le cas de `Ctrl+G`, via la liaison `chat:externalEditor` du contexte `Chat`.


395 405 

396* `/exit` et `/quit` ferment la vue agent406* `/exit` et `/quit` ferment la vue agent

397* `/logout` vous déconnecte407* `/logout` vous déconnecte

398* `/model` définit le [modèle de lancement](#set-the-model)408* `/model`, `/effort` et `/fast` définissent [ce avec quoi démarrent les sessions que vous lancez ensuite](#set-the-model-effort-and-fast-mode). `/effort` et `/fast` nécessitent Claude Code v2.1.299 ou ultérieur.

399* `/login` ouvre la boîte de dialogue de connexion pour que vous puissiez vous connecter à nouveau sans vous attacher à une session409* `/login` ouvre la boîte de dialogue de connexion pour que vous puissiez vous connecter à nouveau sans vous attacher à une session

400* Un `/resume` seul, ou son alias `/continue`, ouvre un sélecteur des sessions passées du dépôt pour [en ramener une](#organize-the-list) comme session en arrière-plan. Nécessite Claude Code v2.1.212 ou ultérieur410* Un `/resume` seul, ou son alias `/continue`, ouvre un sélecteur des sessions passées du dépôt pour [en ramener une](#bring-back-a-past-session) comme session en arrière-plan. Nécessite Claude Code v2.1.212 ou ultérieur

401 411 

402Les skills, vos propres commandes, et les commandes intégrées qui développent les prompts comme `/init` sont envoyés à une nouvelle session en arrière-plan comme premier prompt. Les autres commandes intégrées affichent plutôt un indice `attach to a session to run it`. Tout ce que vous avez tapé reste dans l'entrée à côté de l'indice pour que vous puissiez le modifier.412Les skills, vos propres commandes, et les commandes intégrées qui développent les prompts comme `/init` sont envoyés à une nouvelle session en arrière-plan comme premier prompt. L'indice `isn't available in agent view` signifie que la commande intégrée que vous avez saisie ne s'est pas exécutée. Pour l'exécuter, [attachez-vous à une session](#attach-to-a-session) et saisissez-la à cet endroit. Tout ce que vous avez tapé reste dans l'entrée à côté de l'indice pour que vous puissiez le modifier.

403 413 

404Empaqueter une tâche récurrente comme un [skill](/docs/fr/skills) vous permet de démarrer le même workflow à partir de la vue agent à plusieurs reprises sans retaper le prompt.414Empaqueter une tâche récurrente comme un [skill](/docs/fr/skills) vous permet de démarrer le même workflow à partir de la vue agent à plusieurs reprises sans retaper le prompt.

405 415 


458 468 

459#### Ce qui est transféré quand vous mettez en arrière-plan469#### Ce qui est transféré quand vous mettez en arrière-plan

460 470 

461La mise en arrière-plan démarre un nouveau processus qui reprend à partir de la conversation enregistrée, et le travail en arrière-plan en cours y est transféré : les commandes shell en arrière-plan en cours d'exécution, les sous-agents mis en arrière-plan, les workflows dynamiques, les tâches planifiées que vous avez créées avec [`/loop`](/docs/fr/scheduled-tasks), et les [réponses automatiques de Claude aux commentaires d'artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) sont tous transférés et continuent de s'y exécuter. Un sous-agent se déplace avec tout ce qu'il a démarré, donc il n'est transféré que lorsque tout ce travail peut aussi être déplacé. Pour arrêter le travail en arrière-plan en cours au lieu de le transférer, définissez la variable d'environnement [`CLAUDE_DISABLE_ADOPT=1`](/docs/fr/env-vars#variables) ; Claude Code vous demande alors de confirmer avant la mise en arrière-plan.471La mise en arrière-plan démarre un nouveau processus qui reprend à partir de la conversation enregistrée, et le travail en arrière-plan en cours y est transféré. Les commandes shell en arrière-plan en cours d'exécution, les sous-agents mis en arrière-plan, les workflows dynamiques, les tâches planifiées que vous avez créées avec [`/loop`](/docs/fr/scheduled-tasks), et les [réponses automatiques de Claude aux commentaires d'artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) sont tous transférés et continuent de s'y exécuter. Un sous-agent se déplace avec tout ce qu'il a démarré, donc il n'est transféré que lorsque tout ce travail peut aussi être déplacé.

462 472 

463Quand un [workflow dynamique](/docs/fr/workflows) a encore des sous-agents en cours d'exécution, Claude Code demande confirmation avant la mise en arrière-plan avec la boîte de dialogue `Background this session?`, qui indique combien de sous-agents redémarreraient. Choisissez `Stay` pour les laisser terminer d'abord. Si vous confirmez, Claude Code rejoue l'exécution dans la session en arrière-plan : les sous-agents qui s'exécutaient encore recommencent depuis le début, donc les tokens qu'ils ont utilisés jusqu'à présent sont dépensés à nouveau. Voir [Reprendre après une pause](/docs/fr/workflows#resume-after-a-pause) pour savoir quels sous-agents terminés renvoient leurs résultats enregistrés et lesquels s'exécutent à nouveau.473Quand un [workflow dynamique](/docs/fr/workflows) a encore des sous-agents en cours d'exécution, Claude Code demande confirmation avant la mise en arrière-plan avec la boîte de dialogue `Background this session?`, qui indique combien de sous-agents redémarreraient. Choisissez `Stay` pour les laisser terminer d'abord. Si vous confirmez, Claude Code rejoue l'exécution dans la session en arrière-plan : les sous-agents qui s'exécutaient encore recommencent depuis le début, donc les tokens qu'ils ont utilisés jusqu'à présent sont dépensés à nouveau. Voir [Reprendre après une pause](/docs/fr/workflows#resume-after-a-pause) pour savoir quels sous-agents terminés renvoient leurs résultats enregistrés et lesquels s'exécutent à nouveau.

464 474 


526 claude stop 7c5dcf5d stop this session536 claude stop 7c5dcf5d stop this session

527```537```

528 538 

539#### Prompts contenant `--bg`

540 

541Un prompt qui mentionne `--bg` ou `--background` est transmis tel que vous l'avez tapé, tout comme une réponse `--bg` que vous envoyez à une session en arrière-plan. Par exemple, cette commande démarre une seule session en arrière-plan, et le second `--bg` fait partie de son prompt :

542 

543```bash theme={null}

544claude --bg "find out why --bg sessions are slow to start on this machine"

545```

546 

547Claude Code ne lit un argument entier comme le flag que là où un flag peut figurer : avant tout séparateur `--` seul et pas là où un autre flag attend sa valeur. Placez le flag en premier, comme dans `claude --bg "<prompt>"`.

548 

549Là où la position est ambiguë, par exemple après une suite de flags courts combinés, Claude Code ne démarre rien. Il se termine à la place avec [`Couldn't tell whether --bg is a flag or text here`](/docs/fr/errors#couldnt-tell-whether-bg-is-a-flag-or-text).

550 

529#### Exécuter une commande shell551#### Exécuter une commande shell

530 552 

531Pour exécuter une commande shell comme une tâche en arrière-plan au lieu d'une session Claude, passez `--exec`. L'exemple suivant exécute `pytest -x` comme une tâche en arrière-plan :553Pour exécuter une commande shell comme une tâche en arrière-plan au lieu d'une session Claude, passez `--exec`. L'exemple suivant exécute `pytest -x` comme une tâche en arrière-plan :


626 648 

627Dans les deux cas, un répertoire mentionné par les enregistrements d'une autre session terminée est conservé.649Dans les deux cas, un répertoire mentionné par les enregistrements d'une autre session terminée est conservé.

628 650 

629### Définir le modèle651### Définir le modèle, l'effort et le mode rapide

630 652 

631Le nom du modèle affiché dans l'en-tête de la vue agent est le modèle de lancement par défaut. Les nouvelles sessions que vous démarrez à partir de l'entrée utilisent ce modèle, qui provient du [paramètre `model`](/docs/fr/settings-reference#model) dans vos paramètres utilisateur. Définissez-le en sélectionnant un modèle dans le [sélecteur `/model`](/docs/fr/model-config), ou modifiez directement le paramètre.653Dans la vue agent, tapez `/model`, `/effort` ou `/fast` dans l'[entrée de lancement](#dispatch-an-agent-from-agent-view) et appuyez sur `Entrée`, et les sessions que vous lancez ensuite démarrent avec ce que vous avez défini. Votre choix reste associé à cette fenêtre de vue agent et n'est pas enregistré dans un fichier de paramètres. `/effort` et `/fast` nécessitent Claude Code v2.1.299 ou ultérieur, tout comme `/model` tapé sans rien après.

632 654 

633Pour remplacer le modèle de lancement par défaut pour l'ensemble de la session de la vue agent, passez `--model` lors de l'ouverture de la vue agent. Voir [Mode de permission, modèle et effort](#permission-mode-model-and-effort).655Indiquez la valeur après la commande, ou tapez la commande seule pour en choisir une dans une liste :

634 656 

635Pour changer le modèle de lancement par défaut depuis la vue agent, tapez `/model` suivi d'un nom de modèle dans l'entrée de lancement et appuyez sur `Entrée`. L'en-tête se met à jour pour afficher ce modèle avec un marqueur `(session)`, et les sessions que vous lancez ensuite l'utilisent. Tapez `/model default` pour effacer le remplacement et revenir au modèle de lancement par défaut. Ce remplacement dure pour le reste de l'exécution actuelle de `claude agents` et n'écrit pas dans votre fichier de paramètres. L'exemple suivant lance une session sur Opus et la suivante sur Sonnet :657* **Modèle** : `/model <name>`, par exemple `/model opus`

658* **[Niveau d'effort](/docs/fr/model-config#adjust-effort-level)** : `/effort` avec `low`, `medium`, `high`, `xhigh` ou `max`, par exemple `/effort high`. Pour démarrer des sessions en [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode), ouvrez plutôt la vue agent depuis votre shell avec [`claude agents --effort ultracode`](#dispatch-defaults) ; l'entrée de lancement n'accepte pas `/effort ultracode`

659* **Mode rapide** : `/fast on` ou `/fast off`. La session démarre en mode rapide uniquement si le mode rapide vous est [disponible](/docs/fr/fast-mode#requirements) et si son modèle prend en charge le mode rapide. Sur un modèle qui ne le prend pas en charge, la session démarre avec le mode rapide désactivé, donc utilisez d'abord `/model` pour choisir l'un des [modèles qui prennent en charge le mode rapide](/docs/fr/fast-mode). C'est l'indice sous l'entrée, et non l'en-tête, qui confirme si les nouvelles sessions bénéficient du mode rapide.

660 

661Pour annuler un choix, indiquez `default` comme valeur, par exemple `/effort default`.

662 

663L'exemple suivant lance une session sur Opus et la suivante sur Sonnet :

636 664 

637```text theme={null}665```text theme={null}

638/model opus666/model opus


645 673 

646* Depuis le shell, passez `--model` avec `claude --bg`.674* Depuis le shell, passez `--model` avec `claude --bg`.

647* Attachez-vous à une session en cours d'exécution et exécutez `/model` pour changer de modèle : un choix dans le sélecteur, ou un `/model <name>` tapé, est enregistré comme votre valeur par défaut pour les nouvelles sessions, sauf si vous appuyez sur `s` dans le sélecteur pour un changement limité à la session. Un changement limité à la session persiste si la session est relancée.675* Attachez-vous à une session en cours d'exécution et exécutez `/model` pour changer de modèle : un choix dans le sélecteur, ou un `/model <name>` tapé, est enregistré comme votre valeur par défaut pour les nouvelles sessions, sauf si vous appuyez sur `s` dans le sélecteur pour un changement limité à la session. Un changement limité à la session persiste si la session est relancée.

648* Lancez un [sous-agent](/docs/fr/sub-agents) dont le frontmatter définit un champ `model`.676* Lancez un [sous-agent](/docs/fr/sub-agents) qui définit `model` dans son frontmatter, en commençant le prompt par son nom ou en mentionnant `@name`. Tant qu'un choix `/model` dans l'entrée de lancement s'applique, le `model` du sous-agent n'est pas utilisé, donc saisissez `/model default` à cet endroit. Si vous avez lancé avec [`claude agents --model`](#dispatch-defaults), celui du sous-agent n'est pas utilisé non plus, donc exécutez `claude agents` dans votre shell sans `--model`.

649 677 

650### Mode de permission, modèle et effort678### Mode de permission, modèle et effort

651 679 


666* Vous mettez votre propre session en arrière-plan avec `←` ou `/background`694* Vous mettez votre propre session en arrière-plan avec `←` ou `/background`

667* Vous lancez une session dans le répertoire dans lequel vous vous trouvez695* Vous lancez une session dans le répertoire dans lequel vous vous trouvez

668* Vous réveillez une session arrêtée dans le répertoire dans lequel vous vous trouvez en vous y attachant ou en lui répondant696* Vous réveillez une session arrêtée dans le répertoire dans lequel vous vous trouvez en vous y attachant ou en lui répondant

697* Vous redémarrez une session dans le répertoire dans lequel vous vous trouvez avec [`claude respawn`](#manage-sessions-from-the-shell)

669 698 

670Claude Code transmet une passerelle placée devant un fournisseur cloud. Si le shell à partir duquel vous lancez sélectionne le fournisseur et exporte l'endpoint de sa passerelle avec son flag de contournement d'authentification, Claude Code transmet la paire endpoint et flag à la session dans les conditions qui s'appliquent à `ANTHROPIC_BASE_URL`, avec `ANTHROPIC_CUSTOM_HEADERS`. Par exemple, exportez `CLAUDE_CODE_USE_VERTEX=1` avec `ANTHROPIC_VERTEX_BASE_URL` et `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`, et Claude Code transmet cet endpoint et ce flag.699Claude Code transmet une passerelle placée devant un fournisseur cloud. Si le shell à partir duquel vous lancez sélectionne le fournisseur et exporte l'endpoint de sa passerelle avec son flag de contournement d'authentification, Claude Code transmet la paire endpoint et flag à la session dans les conditions qui s'appliquent à `ANTHROPIC_BASE_URL`, avec `ANTHROPIC_CUSTOM_HEADERS`. Par exemple, exportez `CLAUDE_CODE_USE_VERTEX=1` avec `ANTHROPIC_VERTEX_BASE_URL` et `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`, et Claude Code transmet cet endpoint et ce flag.

671 700 


673 702 

674#### Mode de permission703#### Mode de permission

675 704 

676Le [mode de permission](/docs/fr/permissions) dépend de la façon dont vous avez démarré la session :705* **Mise en arrière-plan avec `/bg` ou `←`** : Claude Code conserve le [mode de permission](/docs/fr/permissions) dans lequel se trouvait la session, donc une session que vous avez basculée en `acceptEdits` ou `auto` y reste après le détachement

677 

678* **Mise en arrière-plan avec `/bg` ou `←`** : Claude Code conserve le mode de permission dans lequel se trouvait la session, donc une session que vous avez basculée en `acceptEdits` ou `auto` y reste après le détachement

679* **Lancée à partir d'une vue agent que vous avez ouverte avec `←`** : Claude Code prend le mode de permission de la nouvelle session d'abord dans la configuration du répertoire cible, puis dans la session dont vous venez

680* **Lancée à partir de `claude agents` démarré dans un shell, ou avec `claude --bg`** : la nouvelle session démarre comme le ferait une nouvelle session `claude` dans ce répertoire, sauf si vous l'avez lancée à partir d'une vue agent ouverte avec des [valeurs de lancement par défaut](#dispatch-defaults). [Dans quel mode de permission une session démarre](/docs/fr/permission-modes#which-mode-a-session-starts-in) indique l'ordre706* **Lancée à partir de `claude agents` démarré dans un shell, ou avec `claude --bg`** : la nouvelle session démarre comme le ferait une nouvelle session `claude` dans ce répertoire, sauf si vous l'avez lancée à partir d'une vue agent ouverte avec des [valeurs de lancement par défaut](#dispatch-defaults). [Dans quel mode de permission une session démarre](/docs/fr/permission-modes#which-mode-a-session-starts-in) indique l'ordre

681 707 

682Pour une session que vous lancez à partir d'une vue agent ouverte avec `←`, Claude Code prend le mode de permission de la première de ces sources qui s'applique :708Pour une session que vous lancez à partir d'une vue agent ouverte avec `←`, Claude Code prend le mode de permission de la première de ces sources qui s'applique :

683 709 

6841. Le [`permissions.defaultMode`](/docs/fr/settings-reference#permissions-defaultmode) du répertoire cible. Deux règles de source s'appliquent :7101. Le [`permissions.defaultMode`](/docs/fr/settings-reference#permissions-defaultmode) du répertoire cible. `auto` et `bypassPermissions` [ne prennent effet qu'à partir des paramètres gérés, d'un fichier `--settings`, ou de `~/.claude/settings.json`](/docs/fr/settings-reference#permissions-defaultmode). Claude Code refuse un `defaultMode` provenant du `.claude/settings.json` ou du `.claude/settings.local.json` du projet qui sélectionne un mode plus permissif que celui de la session dont vous venez.

685 * `auto` et `bypassPermissions` [ne prennent effet qu'à partir des paramètres gérés, d'un fichier `--settings`, ou de `~/.claude/settings.json`](/docs/fr/settings-reference#permissions-defaultmode).7112. Le mode de permission de la session dont vous venez.

686 * Claude Code refuse un `defaultMode` provenant du `.claude/settings.json` ou du `.claude/settings.local.json` du projet qui sélectionne un mode plus permissif que celui de la session dont vous venez.712 

6872. Le mode de permission de la session dont vous venez. Si cette session était en mode `bypassPermissions`, la nouvelle session peut démarrer à la place en mode Manual, avec l'avis `Bypass permissions was requested at launch and ignored`. Cela se produit quand votre acceptation de l'avertissement de contournement se trouve uniquement dans `.claude/settings.local.json` ou dans un fichier `--settings`. Continuez en mode Manual, ou [ajoutez cette acceptation à `~/.claude/settings.json`](/docs/fr/permission-modes#bypass-permissions-acceptance).713 Si cette session était en mode `bypassPermissions`, la nouvelle session peut démarrer à la place en mode Manual, avec l'avis `Bypass permissions was requested at launch and ignored`. Cela se produit quand votre acceptation de l'avertissement de contournement se trouve uniquement dans `.claude/settings.local.json` ou dans un fichier `--settings`. Continuez en mode Manual, ou [ajoutez cette acceptation à `~/.claude/settings.json`](/docs/fr/permission-modes#bypass-permissions-ignored-in-a-background-session).

688 714 

689Quand Claude Code refuse le mode d'une source comme trop permissif, la source suivante de la liste décide. Par exemple, si vous lancez à partir d'une session en mode plan vers un répertoire dont les paramètres versionnés demandent `acceptEdits`, la nouvelle session démarre en mode plan. Si vous déplacez ce `defaultMode` vers `~/.claude/settings.json`, il s'applique quel que soit le mode de permission de la session dont vous venez.715Quand Claude Code refuse le mode d'une source comme trop permissif, la source suivante de la liste décide. Par exemple, si vous lancez à partir d'une session en mode plan vers un répertoire dont les paramètres versionnés demandent `acceptEdits`, la nouvelle session démarre en mode plan. Si vous déplacez ce `defaultMode` vers `~/.claude/settings.json`, il s'applique quel que soit le mode de permission de la session dont vous venez.

690 716 


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

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

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

819* **Le superviseur lui-même s'arrête**, par exemple parce que son processus a été terminé depuis l'extérieur de Claude Code : sur macOS et Linux, le processus de chaque session attend environ une minute qu'un nouveau superviseur s'y reconnecte, et s'arrête si aucun ne le fait. Exécutez `claude agents` dans votre shell durant cette minute pour démarrer un nouveau superviseur et garder vos sessions en cours d'exécution. Si la minute s'écoule d'abord, les sessions s'arrêtent, mais leurs conversations enregistrées restent sur le disque : attachez-vous à une session ou répondez-y et elle redémarre à partir de sa conversation enregistrée, comme décrit dans [Les sessions s'affichent comme échouées ou arrêtées après l'arrêt](#sessions-show-as-failed-after-shutdown).845* **Le superviseur lui-même s'arrête**, par exemple parce que son processus a été terminé depuis l'extérieur de Claude Code : sur macOS et Linux, vos sessions s'arrêtent à moins qu'un nouveau superviseur ne se connecte dans un délai d'environ une minute. Pour en démarrer un, exécutez `claude agents` dans votre shell. Une fois cette minute écoulée, voir [Garder les sessions en cours d'exécution après l'arrêt du superviseur](#keep-sessions-running-after-the-supervisor-stops).

820 846 

821Quand le processus d'une session s'arrête ou redémarre, les commandes shell en arrière-plan, les workflows dynamiques et les sous-agents en arrière-plan que Claude a démarrés dedans se reportent à son processus suivant ; les monitors en cours d'exécution et les commandes shell qu'un sous-agent a démarrées s'arrêtent avec le processus. Supprimer la session arrête tout ce qu'elle a reporté. Pour arrêter tout cela avec le processus à la place, définissez [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/fr/env-vars#variables) à `1`.847Quand le processus d'une session s'arrête ou redémarre, les commandes shell en arrière-plan, les workflows dynamiques et les sous-agents en arrière-plan que Claude a démarrés dedans se reportent à son processus suivant ; les monitors en cours d'exécution et les commandes shell qu'un sous-agent a démarrées s'arrêtent avec le processus. Supprimer la session arrête tout ce qu'elle a reporté. Pour arrêter tout cela avec le processus à la place, définissez [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/fr/env-vars#variables) à `1`.

822 848 

823Le superviseur et ses sessions s'authentifient avec les mêmes identifiants stockés que vos sessions interactives. Pour savoir quels paramètres et variables shell atteignent une session, y compris `PATH`, voir [Paramètres et fournisseur](#settings-and-provider). Pour les endpoints de passerelle, voir [Passerelle LLM](#llm-gateway).849Le superviseur et ses sessions s'authentifient avec les mêmes identifiants stockés que vos sessions interactives. Pour savoir quels paramètres et variables shell atteignent une session, y compris `PATH`, voir [Paramètres et fournisseur](#settings-and-provider). Pour les endpoints de passerelle, voir [Passerelle LLM](#llm-gateway).

824 850 

851#### Garder les sessions en cours d'exécution après l'arrêt du superviseur

852 

853Si la vue agent affiche cet avis en se fermant, aucun [superviseur](#the-supervisor-process) n'est en cours d'exécution :

854 

855```text theme={null}

856Background sessions still running will stop in about a minute. Run 'claude agents' to keep them.

857```

858 

859Exécutez `claude agents` dans votre shell durant cette minute pour démarrer un nouveau superviseur et garder vos sessions en cours d'exécution.

860 

861Si la minute s'écoule d'abord, les sessions s'arrêtent, mais leurs conversations enregistrées restent sur le disque. Pour redémarrer une session à partir de sa conversation enregistrée, [attachez-vous](#attach-to-a-session) à elle ou [répondez-y](#peek-and-reply), comme décrit dans [Les sessions s'affichent comme échouées ou arrêtées après l'arrêt](#sessions-show-as-failed-after-shutdown).

862 

825### Où l'état est stocké863### Où l'état est stocké

826 864 

827L'état de la session est stocké sous votre répertoire de configuration Claude Code. Si vous définissez [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars), le superviseur utilise ce répertoire à la place de `~/.claude` et s'exécute comme une instance séparée avec ses propres sessions.865L'état de la session est stocké sous votre répertoire de configuration Claude Code. Si vous définissez [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars), le superviseur utilise ce répertoire à la place de `~/.claude` et s'exécute comme une instance séparée avec ses propres sessions.


930claude daemon stop --any --keep-workers968claude daemon stop --any --keep-workers

931```969```

932 970 

933Exécutez ensuite `claude agents` dans votre shell pour démarrer le nouveau superviseur. Si vous le faites dans un délai d'[environ une minute](#the-supervisor-process) après l'arrêt, il se reconnecte aux sessions toujours en cours d'exécution, et leur travail continue sans interruption. Si vous mettez plus de temps, sur macOS et Linux les sessions se sont alors arrêtées d'elles-mêmes, et l'attachement ou la réponse à l'une d'elles la redémarre à partir de sa conversation enregistrée. Sans `--keep-workers`, la commande termine également les sessions en arrière-plan. Le flag `--any` permet à la commande d'arrêter un superviseur que Claude Code a démarré à la demande.971Exécutez ensuite `claude agents` dans votre shell pour démarrer un nouveau superviseur. Sur macOS et Linux, faites-le dans un délai d'environ une minute après l'arrêt de l'ancien, sinon les sessions [s'arrêtent sans superviseur](#the-supervisor-process). Si vous avez vu `stopped` mais que la même erreur revient, et que vous êtes sur macOS ou Linux avec une version de Claude Code antérieure à v2.1.300, exécutez `claude update`, puis les deux commandes à nouveau.

934 

935Un superviseur qui démarre mais ne peut pas accepter les connexions se termine et libère son verrou de sa propre initiative, donc le prochain `claude agents` en démarre un nouveau sans cet arrêt manuel. Les étapes ci-dessus s'appliquent quand un superviseur en cours d'exécution se fige.

936 972 

937Si la commande se termine plutôt en disant que le processus enregistré n'a pas pu être vérifié comme superviseur, vérifiez l'ID de processus rapporté : s'il s'agit d'un superviseur que vous possédez, arrêtez-le vous-même, puis supprimez `~/.claude/daemon.lock` pour que le prochain `claude agents` reparte de zéro.973Si la commande d'arrêt a plutôt affiché l'un de ces quatre messages, l'ancien processus n'a pas été arrêté. Faites ce qu'indique la ligne correspondante dans votre shell, puis exécutez `claude agents` :

938 974 

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

976| :- | :- | :- |

977| `could not be verified as the daemon, so it was not signalled` | Toutes | Déterminez quel programme possède cet ID de processus. S'il s'agit de votre propre superviseur, arrêtez-le ; laissez tout autre programme tranquille. Supprimez ensuite `~/.claude/daemon.lock`. |

978| `is still running after SIGKILL` | macOS, Linux | Attendez que le processus se termine. S'il ne se termine jamais, redémarrez votre ordinateur. |

979| `was not sent SIGKILL` | macOS, Linux | Exécutez à nouveau la commande d'arrêt. Si le processus persiste, vérifiez-le avec `ps -ww -o args= -p <pid>` : Claude Code démarré avec `daemon` est un superviseur, exécutez donc `kill -9 <pid>`. Laissez tout le reste ; si `claude agents` ne peut alors pas démarrer de superviseur, supprimez `~/.claude/daemon.lock`. |

980| `supervisor (pid=<pid>) is still running` | Windows | Terminez le processus avec `taskkill /PID <pid>` |

940 981 

941### Le dispatch échoue avec `Could not resolve authentication method`982### Le dispatch échoue avec `Could not resolve authentication method`

942 983 


950 991 

951Consultez la [référence des erreurs](/docs/fr/errors#could-not-resolve-authentication-method) pour la liste complète des causes et des correctifs.992Consultez la [référence des erreurs](/docs/fr/errors#could-not-resolve-authentication-method) pour la liste complète des causes et des correctifs.

952 993 

994### Une session en arrière-plan affiche `No LLM gateway`

995 

996Si une session en arrière-plan affiche [`No LLM gateway`](/docs/fr/errors#no-llm-gateway-opened-from-another-folder), elle n'a pas reçu le `ANTHROPIC_BASE_URL` de votre passerelle, donc ses requêtes échouent. Claude Code l'a retenu parce que vous avez dispatché, réveillé ou redémarré la session depuis un répertoire autre que le dossier que nomme le message.

997 

998Vous voyez ce message, par exemple, après avoir dispatché dans un dépôt avec [`@<repo>`](#dispatch-to-a-specific-directory) ou réveillé une session arrêtée en exécutant `claude attach` depuis un autre répertoire. Pour donner votre passerelle à la session, choisissez le correctif qui correspond à l'endroit où votre passerelle est définie :

999 

1000* **Vous avez exporté la passerelle dans votre terminal** : dans un terminal où vous avez exporté les variables de la passerelle, faites `cd` vers le dossier que nomme le message et exécutez la commande [`claude respawn <id>`](#manage-sessions-from-the-shell) du message.

1001 * La passerelle n'atteint la session que si le [superviseur](#the-supervisor-process) a lui-même été démarré depuis un shell qui a exporté la même passerelle. Si ce n'est pas le cas, redémarrez-le depuis le terminal où vous avez exécuté la commande respawn, comme le décrit [Le dispatch échoue avec `Could not resolve authentication method`](#dispatch-fails-with-could-not-resolve-authentication-method), puis exécutez à nouveau cette commande.

1002* **Vous avez utilisé la vue agent dans un projet dont les paramètres définissent la passerelle** : placez `ANTHROPIC_BASE_URL` et son identifiant d'authentification dans [le bloc `env` d'un fichier de paramètres](/docs/fr/llm-gateway-connect#set-in-a-settings-file). Utilisez `~/.claude/settings.json`, ou `.claude/settings.local.json` dans le propre projet de la session, que lit tous deux une session relancée. Exécutez ensuite [`claude respawn <id>`](#manage-sessions-from-the-shell) dans votre shell depuis n'importe quel répertoire pour redémarrer cette session sur la passerelle.

1003 

953### Les sessions en arrière-plan ne peuvent pas lire Desktop, Documents ou Downloads sur macOS1004### Les sessions en arrière-plan ne peuvent pas lire Desktop, Documents ou Downloads sur macOS

954 1005 

955Sur macOS, l'hôte de la session en arrière-plan s'exécute en tant que processus distinct et demande l'accès aux dossiers protégés séparément de votre terminal. Si une session en arrière-plan rapporte `Operation not permitted` lors de la lecture de `~/Desktop`, `~/Documents`, `~/Downloads` ou d'un autre emplacement protégé, accordez l'accès dans Paramètres système sous Confidentialité et sécurité > Fichiers et dossiers, ou activez Accès complet au disque pour l'entrée.1006Sur macOS, l'hôte de la session en arrière-plan s'exécute en tant que processus distinct et demande l'accès aux dossiers protégés séparément de votre terminal. Si une session en arrière-plan rapporte `Operation not permitted` lors de la lecture de `~/Desktop`, `~/Documents`, `~/Downloads` ou d'un autre emplacement protégé, accordez l'accès dans Paramètres système sous Confidentialité et sécurité > Fichiers et dossiers, ou activez Accès complet au disque pour l'entrée.


996 1047 

997| Version | Changement |1048| Version | Changement |

998| - | - |1049| - | - |

1050| v2.1.299 | [`/effort` et `/fast` dans l'entrée de dispatch](#set-the-model-effort-and-fast-mode) définissent le niveau d'effort et le mode rapide des sessions que vous dispatchez ensuite. `/model`, `/effort` ou `/fast` tapés sans valeur ouvrent un sélecteur. |

1051| v2.1.299 | Claude Code [interprète `--bg` et `--background` comme le flag](#from-your-shell) uniquement avant tout séparateur `--` nu et en dehors de la valeur d'un autre flag, et refuse une position ambiguë au lieu de deviner. Avant cette version, un prompt ou une réponse `--bg` ou `--background` envoyé à une session en arrière-plan pouvait être pris pour le flag. Cela pouvait démarrer de nouvelles sessions en arrière-plan à répétition au lieu de livrer le texte. |

1052| v2.1.296 | Un prompt ou une commande shell `!` que vous saisissez [pendant que la session passe en arrière-plan](#switch-sessions-without-leaving-the-terminal) est arrêté ou n'est pas envoyé, et son texte est conservé dans l'historique des prompts. Avant cette version, la réponse ou la commande continuait de s'exécuter là où vous ne pouviez plus la voir, et un prompt envoyé juste après `←` pouvait s'exécuter une seconde fois sans que vous le voyiez. Un prompt tapé pendant que les hooks `SessionStart` s'exécutaient encore était perdu : ni envoyé, ni présent dans l'historique des prompts. |

1053| v2.1.295 | `Ctrl+C` dans le prompt inactif d'une [session en arrière-plan attachée](#attach-to-a-session) laisse intact le réveil en attente d'une [`/loop` à rythme autonome](/docs/fr/scheduled-tasks#let-claude-choose-the-interval), de sorte qu'appuyer deux fois détache et que la boucle continue de s'exécuter. `Esc` dans ce prompt [arrête la boucle à rythme autonome](/docs/fr/scheduled-tasks#stop-a-loop) et affiche une notification `Pending wakeup cancelled`. Avant cette version, le premier `Ctrl+C` pouvait mettre fin à une boucle à rythme autonome sans le signaler, et `Esc` n'arrêtait pas une boucle qui était passée en arrière-plan avec la session. |

1054| v2.1.295 | Sur macOS et Linux, quand `claude agents` quitte alors qu'aucun [superviseur](#keep-sessions-running-after-the-supervisor-stops) n'est en cours d'exécution, il n'en démarre pas un nouveau de lui-même. Les sessions en cours d'exécution s'arrêtent alors environ une minute plus tard, sauf si vous exécutez à nouveau `claude agents`, et la vue agent peut afficher une notification l'indiquant en quittant. Avant cette version, le `claude agents` qui quittait démarrait un nouveau superviseur. |

1055| v2.1.295 | Sur macOS avec l'installateur natif, les sessions en arrière-plan qui redémarrent ensemble après une mise à jour s'exécutent sous la même entrée Claude Code qui détient l'[accès aux dossiers protégés](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos) que vous avez accordé. Avant cette version, ces sessions pouvaient s'exécuter à la place sous le chemin propre du binaire. macOS répertorie ce chemin comme une entrée distincte, donc les demandes d'accès aux dossiers pouvaient réapparaître après une mise à jour. |

999| v2.1.290 | [`claude attach` et `claude logs`](#manage-sessions-from-the-shell) peuvent prendre une partie du nom d'une session à la place de l'ID. |1056| v2.1.290 | [`claude attach` et `claude logs`](#manage-sessions-from-the-shell) peuvent prendre une partie du nom d'une session à la place de l'ID. |

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

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


1048| v2.1.216 | `/fork` : la [confirmation](#from-inside-a-session) tient sur une ligne, affichant l'état de la copie, le nom de sa ligne dans la vue agent, et son ID de session pour `claude attach`, se terminant par `runs in the origin tree` ou `edits this checkout` uniquement quand la copie s'exécute dans la copie de travail principale ou modifie le checkout que vous avez ouvert. Cliquer sur le nom met cette session en arrière-plan et ouvre la vue agent dans la session de la copie. La confirmation ne reprend plus le mode de permission hérité par la copie ; les versions antérieures imprimaient une confirmation sur plusieurs lignes sans nom cliquable. Needs input : `/install-github-app` et la liste des paramètres `/mcp`, exécutées tandis que personne n'est attaché, affichent la session sous `Needs input` avec une ligne nommant la commande, et s'attacher et réexécuter la commande permet de continuer ; de v2.1.208 à v2.1.215 elles étaient refusées purement et simplement dans cet état. Restauration `--agent` : reprendre ou redémarrer une [session `--agent` mise en arrière-plan](#from-your-shell) restaure le prompt système de l'agent et ses restrictions d'outils, en cherchant d'abord l'agent dans le répertoire de la session, quand son espace de travail est approuvé ; une session dont l'agent n'existe plus continue avec les outils et le prompt système par défaut et s'ouvre avec un avertissement visible, au lieu de revenir silencieusement à l'agent par défaut. `Ctrl+X` : appuyer dessus deux fois supprime une session même quand la tentative d'arrêt échoue, au lieu qu'un arrêt échoué annule la suppression en attente, et une session supprimée dont le processus worker était mort ne réapparaît plus à la prochaine actualisation. Suppression de worktree : une session dont le répertoire worktree n'appartient à aucun dépôt git peut être supprimée ; avant cette version chaque tentative de suppression d'une telle session était refusée. Un répertoire qui a déjà disparu s'efface immédiatement. La double pression de la vue agent supprime un répertoire qui contient encore des fichiers, en exécutant votre hook `WorktreeRemove` pour un répertoire créé par hook, sauf si les enregistrements d'une autre session le nomment aussi. `claude rm` garde un tel répertoire chaque fois que des fichiers restent. |1105| v2.1.216 | `/fork` : la [confirmation](#from-inside-a-session) tient sur une ligne, affichant l'état de la copie, le nom de sa ligne dans la vue agent, et son ID de session pour `claude attach`, se terminant par `runs in the origin tree` ou `edits this checkout` uniquement quand la copie s'exécute dans la copie de travail principale ou modifie le checkout que vous avez ouvert. Cliquer sur le nom met cette session en arrière-plan et ouvre la vue agent dans la session de la copie. La confirmation ne reprend plus le mode de permission hérité par la copie ; les versions antérieures imprimaient une confirmation sur plusieurs lignes sans nom cliquable. Needs input : `/install-github-app` et la liste des paramètres `/mcp`, exécutées tandis que personne n'est attaché, affichent la session sous `Needs input` avec une ligne nommant la commande, et s'attacher et réexécuter la commande permet de continuer ; de v2.1.208 à v2.1.215 elles étaient refusées purement et simplement dans cet état. Restauration `--agent` : reprendre ou redémarrer une [session `--agent` mise en arrière-plan](#from-your-shell) restaure le prompt système de l'agent et ses restrictions d'outils, en cherchant d'abord l'agent dans le répertoire de la session, quand son espace de travail est approuvé ; une session dont l'agent n'existe plus continue avec les outils et le prompt système par défaut et s'ouvre avec un avertissement visible, au lieu de revenir silencieusement à l'agent par défaut. `Ctrl+X` : appuyer dessus deux fois supprime une session même quand la tentative d'arrêt échoue, au lieu qu'un arrêt échoué annule la suppression en attente, et une session supprimée dont le processus worker était mort ne réapparaît plus à la prochaine actualisation. Suppression de worktree : une session dont le répertoire worktree n'appartient à aucun dépôt git peut être supprimée ; avant cette version chaque tentative de suppression d'une telle session était refusée. Un répertoire qui a déjà disparu s'efface immédiatement. La double pression de la vue agent supprime un répertoire qui contient encore des fichiers, en exécutant votre hook `WorktreeRemove` pour un répertoire créé par hook, sauf si les enregistrements d'une autre session le nomment aussi. `claude rm` garde un tel répertoire chaque fois que des fichiers restent. |

1049| v2.1.214 | Une session mise en arrière-plan avec `←` ou `/background` et laissée inactive sans rien en cours d'exécution voit son processus arrêté comme toute autre session inactive, au lieu de garder son processus et le service en arrière-plan en cours d'exécution indéfiniment. Une session terminée peut être supprimée avec `claude rm` ou à partir de la vue agent après que le service en arrière-plan est devenu inactif, et une session qui est entrée dans un worktree après avoir été dispatchée à partir d'un répertoire qui n'est pas un dépôt git, comme un dossier d'espace de travail multi-dépôts, peut être supprimée à partir de la vue agent quand le worktree lui-même appartient à un dépôt git, parce que le nettoyage est résolu à partir du worktree au lieu du répertoire à partir duquel la session a été dispatchée ; les deux suppressions étaient refusées à chaque tentative auparavant. Rouvrir une session arrêtée restaure sa conversation enregistrée même quand un dossier dans le magasin de transcriptions ne peut pas être lu. |1106| v2.1.214 | Une session mise en arrière-plan avec `←` ou `/background` et laissée inactive sans rien en cours d'exécution voit son processus arrêté comme toute autre session inactive, au lieu de garder son processus et le service en arrière-plan en cours d'exécution indéfiniment. Une session terminée peut être supprimée avec `claude rm` ou à partir de la vue agent après que le service en arrière-plan est devenu inactif, et une session qui est entrée dans un worktree après avoir été dispatchée à partir d'un répertoire qui n'est pas un dépôt git, comme un dossier d'espace de travail multi-dépôts, peut être supprimée à partir de la vue agent quand le worktree lui-même appartient à un dépôt git, parce que le nettoyage est résolu à partir du worktree au lieu du répertoire à partir duquel la session a été dispatchée ; les deux suppressions étaient refusées à chaque tentative auparavant. Rouvrir une session arrêtée restaure sa conversation enregistrée même quand un dossier dans le magasin de transcriptions ne peut pas être lu. |

1050| v2.1.213 | `/install-github-app`, la liste des paramètres [`/mcp`](/docs/fr/mcp), et les actions d'authentification MCP fonctionnent dans une session en arrière-plan tandis qu'un terminal est attaché, et sont refusées uniquement quand personne n'est attaché, avec un message vous disant de vous attacher et de réexécuter la commande ; de v2.1.208 à v2.1.212 elles étaient refusées même avec un terminal attaché. |1107| v2.1.213 | `/install-github-app`, la liste des paramètres [`/mcp`](/docs/fr/mcp), et les actions d'authentification MCP fonctionnent dans une session en arrière-plan tandis qu'un terminal est attaché, et sont refusées uniquement quand personne n'est attaché, avec un message vous disant de vous attacher et de réexécuter la commande ; de v2.1.208 à v2.1.212 elles étaient refusées même avec un terminal attaché. |

1051| v2.1.212 | [`/fork` dans une session interactive](#from-inside-a-session) copie la conversation dans une nouvelle session en arrière-plan qui apparaît comme sa propre ligne, nommée d'après la session d'où elle vient ou, pour un fork avec prompt d'une session sans nom, d'après le prompt de fork, tandis que l'original continue de s'exécuter ; le comportement antérieur de sous-agent forké de `/fork` est passé à `/subtask`. Avec la [vue agent désactivée](#turn-off-agent-view), `/fork` garde le comportement de sous-agent forké. Une ligne focalisée qui attend son premier prompt affiche `space to send it a prompt`. `Ctrl+J` insère une nouvelle ligne dans l'entrée de dispatch sur les terminaux avec rapport de touches étendu, où la pression de touche était précédemment ignorée, et l'overlay `?` répertorie le raccourci. L'indice `←` du pied de page dans une session interactive affiche brièvement `N done` quand une session en arrière-plan se termine tandis qu'aucune n'a besoin de votre entrée. Taper un `/resume` nu dans la vue agent ouvre un sélecteur de sessions passées du dépôt à partir duquel vous avez ouvert la vue agent, y compris les sessions supprimées de la liste, et en choisir une la reprend comme une session en arrière-plan ; avant cette version `/resume` n'était pas disponible dans la vue agent et les sessions supprimées n'étaient accessibles que via `claude --resume` ou `/resume` à partir d'une session interactive. Les formes ciblées, limitées et restreintes conservent l'indice `attach to a session to run it` que les versions antérieures affichaient pour chaque forme. Les sessions attendant une demande d'hôte réseau du sandbox, une demande d'entrée MCP, ou une demande liée aux paramètres gérés s'affichent comme `Needs input` au lieu de `Working`, dans la vue agent et dans `claude agents --json`, et une question de Claude rapporte `waitingFor: input needed` au lieu de `permission prompt`. S'attacher à une session dont le processus s'est arrêté affiche sa transcription formatée de la manière dont la session en direct la rend, au lieu de texte brut. Une session arrêtée dont la transcription est dans un endroit inattendu reprend à partir de celle-ci via une analyse de dernier recours de vos transcriptions enregistrées, et ouvrir une ligne qui n'a pas de transcription enregistrée affiche `Press enter again to restart this session fresh`, la redémarrant de zéro à la deuxième pression ; v2.1.211 affichait le refus sans moyen de redémarrer à partir de la vue agent. |1108| v2.1.212 | [`/fork` dans une session interactive](#from-inside-a-session) copie la conversation dans une nouvelle session en arrière-plan tandis que l'original continue de s'exécuter ; le comportement antérieur de sous-agent forké de `/fork` est passé à `/subtask`. Avec la [vue agent désactivée](#turn-off-agent-view), `/fork` garde le comportement de sous-agent forké. |

1109| v2.1.212 | [Taper un `/resume` nu dans la vue agent](#bring-back-a-past-session) ouvre un sélecteur de sessions passées du dépôt à partir duquel vous avez ouvert la vue agent. |

1052| v2.1.211 | Réveiller une session arrêtée en s'attachant ou en répondant à partir du répertoire dans lequel elle s'exécute transfère à nouveau la passerelle `ANTHROPIC_BASE_URL` de votre shell, dans les mêmes conditions qu'un nouveau dispatch, donc une session authentifiée via une passerelle `ANTHROPIC_AUTH_TOKEN` reprend sur la passerelle au lieu de rapporter `Not logged in`. S'attacher à une session arrêtée qui a été mise en arrière-plan à partir d'une autre conversation avant que sa première réponse ne se termine est refusé avec `This session has no saved transcript` au lieu de démarrer silencieusement une conversation vierge sous le même ID de session ; ouvrir la même ligne à partir de la vue agent affichait le refus dans le pied de page. Terminer le processus d'une session `←` ou `/background` de l'extérieur de Claude Code la marque arrêtée au lieu que le superviseur la redémarre, un arrêt déjà enregistré sur le disque est honoré sauf si une réponse que vous avez envoyée attend toujours d'être livrée, une session redémarrée après un crash est informée qu'elle a été redémarrée, et une session `←` ou `/background` redémarrée ne reprend pas une réponse interrompue datant de plus d'environ une heure. Une réponse de nommage de session qui répond au prompt ou le refuse au lieu de l'étiqueter, comme pour un prompt qui est surtout un lien, est supprimée et la ligne garde un nom tiré du texte du prompt. Supprimer une session dont git ne reconnaît plus le worktree réussit, laissant le répertoire worktree sur le disque et nommant son chemin, au lieu que chaque tentative soit refusée. Un refus de suppression affiche la raison sur la ligne de la session, y compris l'erreur git sous-jacente quand le worktree n'a pas pu être supprimé, au lieu que la ligne réapparaisse silencieusement. |1110| v2.1.211 | Réveiller une session arrêtée en s'attachant ou en répondant à partir du répertoire dans lequel elle s'exécute transfère à nouveau la passerelle `ANTHROPIC_BASE_URL` de votre shell, dans les mêmes conditions qu'un nouveau dispatch, donc une session authentifiée via une passerelle `ANTHROPIC_AUTH_TOKEN` reprend sur la passerelle au lieu de rapporter `Not logged in`. S'attacher à une session arrêtée qui a été mise en arrière-plan à partir d'une autre conversation avant que sa première réponse ne se termine est refusé avec `This session has no saved transcript` au lieu de démarrer silencieusement une conversation vierge sous le même ID de session ; ouvrir la même ligne à partir de la vue agent affichait le refus dans le pied de page. Terminer le processus d'une session `←` ou `/background` de l'extérieur de Claude Code la marque arrêtée au lieu que le superviseur la redémarre, un arrêt déjà enregistré sur le disque est honoré sauf si une réponse que vous avez envoyée attend toujours d'être livrée, une session redémarrée après un crash est informée qu'elle a été redémarrée, et une session `←` ou `/background` redémarrée ne reprend pas une réponse interrompue datant de plus d'environ une heure. Une réponse de nommage de session qui répond au prompt ou le refuse au lieu de l'étiqueter, comme pour un prompt qui est surtout un lien, est supprimée et la ligne garde un nom tiré du texte du prompt. Supprimer une session dont git ne reconnaît plus le worktree réussit, laissant le répertoire worktree sur le disque et nommant son chemin, au lieu que chaque tentative soit refusée. Un refus de suppression affiche la raison sur la ligne de la session, y compris l'erreur git sous-jacente quand le worktree n'a pas pu être supprimé, au lieu que la ligne réapparaisse silencieusement. |

1053| v2.1.210 | `claude attach` attend tandis que le service en arrière-plan démarre ou se reconnecte au lieu d'échouer avec une erreur `job not found` ou `still starting`, rapporte une session qui s'est terminée pendant l'attachement comme quittée, et applique un redimensionnement de terminal effectué pendant un attachement lent quand l'attachement se termine. Le nombre de sessions en attente d'entrée de l'indice `←` du pied de page du prompt apparaît sur chaque fournisseur, y compris les fournisseurs tiers qui affichaient précédemment la forme simple `← for agents`. Mettre une session en arrière-plan avec `←` transfère la liste de tâches de Claude à la session en arrière-plan au lieu de la supprimer. La ligne sur laquelle vous avez appuyé sur `←` garde un nom en gras et non estompé après que la sélection se déplace. `claude agents --effort` accepte `ultracode` au lieu de le supprimer silencieusement. |1111| v2.1.210 | `claude attach` attend tandis que le service en arrière-plan démarre ou se reconnecte au lieu d'échouer avec une erreur `job not found` ou `still starting`, rapporte une session qui s'est terminée pendant l'attachement comme quittée, et applique un redimensionnement de terminal effectué pendant un attachement lent quand l'attachement se termine. Le nombre de sessions en attente d'entrée de l'indice `←` du pied de page du prompt apparaît sur chaque fournisseur, y compris les fournisseurs tiers qui affichaient précédemment la forme simple `← for agents`. Mettre une session en arrière-plan avec `←` transfère la liste de tâches de Claude à la session en arrière-plan au lieu de la supprimer. La ligne sur laquelle vous avez appuyé sur `←` garde un nom en gras et non estompé après que la sélection se déplace. `claude agents --effort` accepte `ultracode` au lieu de le supprimer silencieusement. |

1054| v2.1.208 | S'attacher à une session dont le processus s'est arrêté affiche le dernier écran de sa transcription tandis que le processus démarre, au lieu d'une simple note `Session is starting`. Une réponse qui ne peut pas être livrée parce que le service en arrière-plan est inaccessible ou que l'envoi échoue est enregistrée et envoyée comme le prompt suivant de la session quand son processus redémarre ; avant cette version, une réponse perdue tandis que le service en arrière-plan était inaccessible était supprimée. Un processus dont le binaire lui-même a été remplacé par une mise à jour peut toujours démarrer le superviseur, à partir du lanceur `claude` installé ou de la version la plus récente sur le disque, au lieu d'échouer jusqu'au redémarrage de Claude Code. Un superviseur exécutant une version plus ancienne ne redémarre jamais une session inactive démarrée par une version plus récente sur son propre binaire plus ancien. Supprimer une session supprime son worktree même après que la session a déplacé le worktree sur une branche différente, et garde le worktree avec la ligne de session quand le worktree a des commits qui ne sont poussés nulle part ou qu'une autre session le revendique, au lieu de détruire les commits ou de laisser le worktree orphelin. `/install-github-app` et la liste des paramètres `/mcp` et ses actions d'authentification sont refusées dans une session en arrière-plan avec un message nommant l'alternative ; en v2.1.208 uniquement, le sélecteur `/model` était refusé de la même manière et un `/model <name>` tapé ne basculait que cette session au lieu d'enregistrer également votre modèle par défaut. |1112| v2.1.208 | S'attacher à une session dont le processus s'est arrêté affiche le dernier écran de sa transcription tandis que le processus démarre, au lieu d'une simple note `Session is starting`. Une réponse qui ne peut pas être livrée parce que le service en arrière-plan est inaccessible ou que l'envoi échoue est enregistrée et envoyée comme le prompt suivant de la session quand son processus redémarre ; avant cette version, une réponse perdue tandis que le service en arrière-plan était inaccessible était supprimée. Un processus dont le binaire lui-même a été remplacé par une mise à jour peut toujours démarrer le superviseur, à partir du lanceur `claude` installé ou de la version la plus récente sur le disque, au lieu d'échouer jusqu'au redémarrage de Claude Code. Un superviseur exécutant une version plus ancienne ne redémarre jamais une session inactive démarrée par une version plus récente sur son propre binaire plus ancien. Supprimer une session supprime son worktree même après que la session a déplacé le worktree sur une branche différente, et garde le worktree avec la ligne de session quand le worktree a des commits qui ne sont poussés nulle part ou qu'une autre session le revendique, au lieu de détruire les commits ou de laisser le worktree orphelin. `/install-github-app` et la liste des paramètres `/mcp` et ses actions d'authentification sont refusées dans une session en arrière-plan avec un message nommant l'alternative ; en v2.1.208 uniquement, le sélecteur `/model` était refusé de la même manière et un `/model <name>` tapé ne basculait que cette session au lieu d'enregistrer également votre modèle par défaut. |


1061| v2.1.199 | Une session en arrière-plan dont le processus se termine avant de finir de démarrer sur un hôte à faible mémoire affiche `possibly low memory — free some up and retry` dans le statut de sa ligne au lieu de la seule raison de sortie brute. Mettre en arrière-plan une session avec `←` ou `/background` transfère son `/color` vers la nouvelle ligne. |1119| v2.1.199 | Une session en arrière-plan dont le processus se termine avant de finir de démarrer sur un hôte à faible mémoire affiche `possibly low memory — free some up and retry` dans le statut de sa ligne au lieu de la seule raison de sortie brute. Mettre en arrière-plan une session avec `←` ou `/background` transfère son `/color` vers la nouvelle ligne. |

1062| v2.1.198 | La vue agent envoie une notification via `preferredNotifChannel` quand une session en arrière-plan a besoin d'une entrée, se termine ou échoue, et déclenche le hook `Notification` avec le type `agent_needs_input` ou `agent_completed`. `←` et `/exit` à l'intérieur de `claude attach <id>` reviennent à la vue agent au lieu de quitter vers le shell ; `Ctrl+Z` revient au shell. Une session en arrière-plan qui a isolé son travail dans un worktree crée un commit, pousse sa propre branche isolée, jamais `main` ou `master`, et ouvre une pull request en brouillon quand elle se termine au lieu de demander d'abord. `/login` s'exécute dans la vue agent et ouvre la boîte de dialogue de connexion. La boîte de dialogue de sortie `Background work is running` propose `Move to background and exit`. Le transfert à la sortie couvre également les sous-agents en arrière-plan, qui reprennent à partir de leur transcription au prochain réveil au lieu d'être signalés comme échoués. `claude --bg` combiné avec `-p` ou `--print` est rejeté avec une erreur. L'hôte de session en arrière-plan demande la permission de réseau local macOS au premier accès au LAN au lieu d'échouer avec `connect: no route to host`. |1120| v2.1.198 | La vue agent envoie une notification via `preferredNotifChannel` quand une session en arrière-plan a besoin d'une entrée, se termine ou échoue, et déclenche le hook `Notification` avec le type `agent_needs_input` ou `agent_completed`. `←` et `/exit` à l'intérieur de `claude attach <id>` reviennent à la vue agent au lieu de quitter vers le shell ; `Ctrl+Z` revient au shell. Une session en arrière-plan qui a isolé son travail dans un worktree crée un commit, pousse sa propre branche isolée, jamais `main` ou `master`, et ouvre une pull request en brouillon quand elle se termine au lieu de demander d'abord. `/login` s'exécute dans la vue agent et ouvre la boîte de dialogue de connexion. La boîte de dialogue de sortie `Background work is running` propose `Move to background and exit`. Le transfert à la sortie couvre également les sous-agents en arrière-plan, qui reprennent à partir de leur transcription au prochain réveil au lieu d'être signalés comme échoués. `claude --bg` combiné avec `-p` ou `--print` est rejeté avec une erreur. L'hôte de session en arrière-plan demande la permission de réseau local macOS au premier accès au LAN au lieu d'échouer avec `connect: no route to host`. |

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

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

1065| v2.1.191 | `claude --bg` avec un nom `--agent` qui ne correspond à aucun de vos sous-agents fait échouer le lancement : la session quitte immédiatement avec une erreur `--agent '<name>' not found` au lieu de s'exécuter avec l'agent par défaut. |1123| v2.1.191 | `claude --bg` avec un nom `--agent` qui ne correspond à aucun de vos sous-agents fait échouer le lancement : la session quitte immédiatement avec une erreur `--agent '<name>' not found` au lieu de s'exécuter avec l'agent par défaut. |

1066| v2.1.174 | Les sessions en arrière-plan n'héritent plus des variables d'endpoint de passerelle comme `ANTHROPIC_BASE_URL` du shell de lancement du superviseur ; le superviseur fournit un nouvel instantané d'identifiants aux workers préchauffés, corrigeant les erreurs `Could not resolve authentication method` intempestives. |1124| v2.1.174 | Les sessions en arrière-plan n'héritent plus des variables d'endpoint de passerelle comme `ANTHROPIC_BASE_URL` du shell de lancement du superviseur ; le superviseur fournit un nouvel instantané d'identifiants aux workers préchauffés, corrigeant les erreurs `Could not resolve authentication method` intempestives. |

1067| v2.1.172 | `/model` dans l'entrée de dispatch définit un remplacement du modèle de dispatch limité à la session. |1125| v2.1.172 | `/model` dans l'entrée de dispatch définit un remplacement du modèle de dispatch limité à la session. |

artifacts.md +17 −6

Details

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

99* **`o`** : l'ouvre dans votre navigateur99* **`o`** : l'ouvre dans votre navigateur

100* **`c`** : copie son lien100* **`c`** : copie son lien

101* **`d`** : en dehors d'une [session cloud](/docs/fr/claude-code-on-the-web), supprime définitivement un artefact que vous possédez après votre confirmation. Son lien cesse de fonctionner pour tout le monde, y compris pour vous

101 102 

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

103 104 

104## Partager un artifact105## Partager un artifact

105 106 

106Un nouvel artifact n'est visible que pour vous. Pour le partager, ouvrez l'artifact dans votre navigateur et utilisez le contrôle **Partager** dans l'en-tête de la page. L'en-tête contient également un lien vers votre galerie sur [claude.ai/code/artifacts](https://claude.ai/code/artifacts), qui répertorie tous les artifacts que vous avez créés.107Un nouvel artifact n'est visible que pour vous. Pour le partager, ouvrez l'artifact dans votre navigateur et utilisez le contrôle **Partager** dans l'en-tête de la page. L'en-tête contient également un lien vers votre galerie sur [claude.ai/code/artifacts](https://claude.ai/code/artifacts), qui répertorie tous les artifacts que vous avez créés.

107 108 

108Les spectateurs de votre organisation peuvent voir qui a publié la page : sur un artifact partagé au sein de votre organisation, votre nom figure dans le menu de titre, et sur un artifact public, il figure dans l'en-tête de la page pour les spectateurs connectés de votre organisation. Un spectateur qui ouvre un lien public sans se connecter, ou depuis l'extérieur de votre organisation, voit l'étiquette « Le contenu est généré par l'utilisateur et non vérifié. » à la place de votre nom.109Les spectateurs de votre organisation peuvent voir qui a publié la page : sur un artefact partagé au sein de votre organisation, votre nom figure dans le menu de titre, et sur un artefact public, il figure dans l'en-tête de la page pour les spectateurs connectés de votre organisation. Un spectateur qui ouvre un lien public sans se connecter, ou depuis l'extérieur de votre organisation, voit l'étiquette `Content is user-generated and unverified.` à la place de votre nom.

109 110 

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

111 112 

112* **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.113* **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.

113* **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).114* **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).

114 115 

116### Créer un lien vers une vue spécifique

117 

118Si une page comporte plusieurs vues, comme des onglets ou des sections, vous pouvez créer un lien direct vers l'une d'entre elles. Demandez les liens à Claude :

119 

120```text wrap theme={null}

121Give me a link to each tab of the deploy failures dashboard.

122```

123 

124Chaque lien correspond au lien de l'artefact suivi d'une ancre, comme `#overview`.

125 

115### Laisser quelqu'un modifier avec vous126### Laisser quelqu'un modifier avec vous

116 127 

117Les personnes avec lesquelles vous partagez sont des spectateurs par défaut : elles voient chaque version que vous publiez mais ne peuvent pas modifier la page. Sur les plans Team et Enterprise, vous pouvez également faire de quelqu'un un éditeur. Dans la boîte de dialogue de partage, ajoutez une personne et changez son rôle de **spectateur** à **éditeur**.128Les personnes avec lesquelles vous partagez sont des spectateurs par défaut : elles voient chaque version que vous publiez mais ne peuvent pas modifier la page. Sur les plans Team et Enterprise, vous pouvez également faire de quelqu'un un éditeur. Dans la boîte de dialogue de partage, ajoutez une personne et changez son rôle de **spectateur** à **éditeur**.


424 435 

425| Méthode | Point de terminaison |436| Méthode | Point de terminaison |

426| :- | :- |437| :- | :- |

427| `GET` | `/v1/compliance/code/artifacts` |438| `GET` | `/v1/compliance/apps/code/artifacts` |

428| `GET` | `/v1/compliance/code/artifacts/{artifact_id}/versions/{version_id}` |439| `GET` | `/v1/compliance/apps/code/artifacts/{artifact_id}/versions/{version_id}` |

429| `DELETE` | `/v1/compliance/code/artifacts/{artifact_id}` |440| `DELETE` | `/v1/compliance/apps/code/artifacts/{artifact_id}` |

430 441 

431Pour les schémas de demande et de réponse, consultez la [référence de l'API de conformité](https://docs.claude.com/en/api/compliance/code/artifacts).442Pour les schémas de requête et de réponse, consultez la [référence de l'API de conformité](https://platform.claude.com/docs/en/api/compliance/apps/code/artifacts).

432 443 

433## Ressources connexes444## Ressources connexes

434 445 

Details

161 161 

162> [!NOTE]162> [!NOTE]

163>163>

164> `/auto-mode-setup` nécessite un plan Pro, Max ou Team et Claude Code v2.1.228 ou ultérieur. Sur Windows natif, il nécessite v2.1.233 ou ultérieur. Vous ne pouvez pas l'exécuter dans une [session cloud](/docs/fr/claude-code-on-the-web). Il a également besoin de [récupération de drapeaux de fonctionnalités](/docs/fr/env-vars#features-that-need-feature-flag-fetching), donc vous ne pouvez pas l'exécuter dans une session où vous avez désactivé la récupération de drapeaux.164> `/auto-mode-setup` est disponible avec les plans Pro, Max, Team et Enterprise, ainsi qu'avec une clé API Claude Console. Avec un plan Pro, Max ou Team, vous avez besoin de la v2.1.228 ou ultérieure, ou de la v2.1.233 ou ultérieure sur Windows natif. Avec un plan Enterprise ou une clé API Claude Console, vous avez besoin de la v2.1.283 ou ultérieure. Si la commande est absente de votre session, consultez [`/auto-mode-setup` renvoie « Unknown command »](#auto-mode-setup-returns-unknown-command).

165 165 

166### Ce que `/auto-mode-setup` lit166### Ce que `/auto-mode-setup` lit

167 167 


202 202 

203`/auto-mode-setup` est une commande intégrée plutôt qu'une [compétence groupée](/docs/fr/skills#bundled-skills), donc cette entrée `skillOverrides` s'y applique toujours, mais [`disableBundledSkills`](/docs/fr/settings-reference#disablebundledskills) ne la désactive pas.203`/auto-mode-setup` est une commande intégrée plutôt qu'une [compétence groupée](/docs/fr/skills#bundled-skills), donc cette entrée `skillOverrides` s'y applique toujours, mais [`disableBundledSkills`](/docs/fr/settings-reference#disablebundledskills) ne la désactive pas.

204 204 

205### `/auto-mode-setup` renvoie « Unknown command »

206 

207Si la saisie de `/auto-mode-setup` dans le prompt de Claude Code affiche `Unknown command: /auto-mode-setup`, vérifiez les causes suivantes :

208 

209* **Première session après une installation ou une mise à jour** : démarrez une nouvelle session. Si la commande est toujours absente, consultez les [configurations dans lesquelles les sessions suivantes démarrent également sans elle](/docs/fr/env-vars#first-session-after-an-install-or-upgrade).

210* **Version obsolète** : exécutez `claude --version` dans votre shell. Si la version est inférieure au [minimum requis pour votre plan](#generate-environment-entries), [mettez à jour Claude Code](/docs/fr/setup#update-claude-code).

211* **Télémétrie désactivée, fournisseur tiers ou passerelle Claude apps** : avant la v2.1.304, la commande n'est pas disponible dans les [sessions où la récupération des drapeaux de fonctionnalités est désactivée](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Si votre session en fait partie, [mettez à jour Claude Code](/docs/fr/setup#update-claude-code) vers la v2.1.304 ou ultérieure.

212 

213Dans une [session cloud](/docs/fr/claude-code-on-the-web), la commande affiche plutôt `/auto-mode-setup isn't available in this environment.`. Exécutez-la dans une session interactive dans votre terminal.

214 

205## Remplacer les règles de blocage et d'autorisation215## Remplacer les règles de blocage et d'autorisation

206 216 

207Trois champs supplémentaires vous permettent de remplacer les listes de règles intégrées du classificateur :217Trois champs supplémentaires vous permettent de remplacer les listes de règles intégrées du classificateur :

Details

44 44 

45Le choix de Résumer jusqu'à ici vous laisse à la fin de la conversation avec le champ de saisie vide. Avec l'une ou l'autre option de résumé, un marqueur **Summarized conversation** apparaît dans la conversation où les messages compressés se trouvaient.45Le choix de Résumer jusqu'à ici vous laisse à la fin de la conversation avec le champ de saisie vide. Avec l'une ou l'autre option de résumé, un marqueur **Summarized conversation** apparaît dans la conversation où les messages compressés se trouvaient.

46 46 

47#### Les messages rembobinés peuvent réapparaître si vous quittez avant votre prochain prompt

48 

49Pour supprimer à nouveau les messages réapparus, exécutez `/rewind` dans la session et sélectionnez le même prompt, puis **Restaurer la conversation**. Avant de quitter, envoyez un prompt à Claude, car Claude Code enregistre la conversation rembobinée en même temps que ce prompt. Les fichiers que vous avez restaurés restent dans l'état où le rembobinage les a laissés.

50 

47#### Rembobiner au-delà d'une conversation effacée51#### Rembobiner au-delà d'une conversation effacée

48 52 

49Si vous avez exécuté `/clear` plus tôt dans le même processus Claude Code, le menu de rembobinage affiche une entrée supplémentaire en haut de la liste intitulée `/resume <session-id> (previous session)`. Sélectionnez-la pour reprendre la conversation qui était active avant l'exécution de `/clear`. L'entrée est disponible jusqu'à ce que vous quittiez Claude Code ou repreniez une session différente.53Si vous avez exécuté `/clear` plus tôt dans le même processus Claude Code, le menu de rembobinage affiche une entrée supplémentaire en haut de la liste intitulée `/resume <session-id> (previous session)`. Sélectionnez-la pour reprendre la conversation qui était active avant l'exécution de `/clear`. L'entrée est disponible jusqu'à ce que vous quittiez Claude Code ou repreniez une session différente.

Details

827Un fourre-tout `match: {}`, conventionnellement listé en dernier, est traité comme une couche de base. Chaque autre politique hérite du fourre-tout toute clé qu'elle ne définit pas, 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é :827Un fourre-tout `match: {}`, conventionnellement listé en dernier, est traité comme une couche de base. Chaque autre politique hérite du fourre-tout toute clé qu'elle ne définit pas, 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é :

828 828 

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

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

831* **Clés de type enregistrement** : `env`, `modelOverrides` et `skillOverrides`. Celles-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.831* **Clés de type enregistrement** : `env`, `modelOverrides` et `skillOverrides`. Celles-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.

832 832 

833`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. Une liste vide refuse tous les modèles. La vérification couvre également le modèle sur lequel une session démarre avant que le développeur n'en choisisse un ; [démarrez donc les sessions sur un modèle autorisé par la politique](#start-sessions-on-a-model-the-policy-allows).833`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. Une liste vide refuse tous les modèles. La vérification couvre également le modèle sur lequel une session démarre avant que le développeur n'en choisisse un ; [démarrez donc les sessions sur un modèle autorisé par la politique](#start-sessions-on-a-model-the-policy-allows).


973| Clé | Appliquée par | Effet |973| Clé | Appliquée par | Effet |

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

975| `availableModels` | Passerelle + CLI | Liste d'autorisation des modèles. Également vérifiée à `/v1/messages`, afin qu'un client modifié ne puisse pas la contourner. |975| `availableModels` | Passerelle + CLI | Liste d'autorisation des modèles. Également vérifiée à `/v1/messages`, afin qu'un client modifié ne puisse pas la contourner. |

976| [`deniedModels`](/docs/fr/settings-reference#deniedmodels), [`availableModelsMatch`](/docs/fr/settings-reference#availablemodelsmatch) | Passerelle + CLI | [Bloquer des modèles ou des versions spécifiques](/docs/fr/model-config#block-specific-models-or-versions) que `availableModels` autoriserait sinon. Un modèle bloqué est rejeté avec un `400` sur `/v1/messages` et est exclu de `/v1/models`. La vérification propre à la passerelle nécessite Claude Code v2.1.299 ou ultérieure sur le serveur de passerelle. La vérification du CLI nécessite la v2.1.283 ou ultérieure sur les clients, et les clients antérieurs ignorent les deux clés. |

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

977| `permissions.disableBypassPermissionsMode` | CLI | Définissez à `disable` pour bloquer [`bypassPermissions`](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode), le mode qui ignore les demandes de permission, et le flag `--dangerously-skip-permissions` |978| `permissions.disableBypassPermissionsMode` | CLI | Définissez à `disable` pour bloquer [`bypassPermissions`](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode), le mode qui ignore les demandes de permission, et le flag `--dangerously-skip-permissions` |

978| `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 alors. |979| `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 alors. |


1045 1046 

1046La passerelle dérive une grande partie de la réponse de bootstrap du bloc `cli` ou `code` de la politique correspondante et de la configuration de premier niveau de la passerelle :1047La passerelle dérive une grande partie de la réponse de bootstrap du bloc `cli` ou `code` de la politique correspondante et de la configuration de premier niveau de la passerelle :

1047 1048 

1048* La liste des modèles, à partir de `availableModels`. [Contexte étendu dans Claude Desktop](#extended-context-in-claude-desktop) couvre l'option de contexte 1M de chaque modèle1049* La liste des modèles, à partir de `availableModels`. La liste exclut les modèles que la politique bloque avec [`deniedModels` ou `availableModelsMatch: exact`](#what-goes-in-cli). Ce filtre nécessite Claude Code v2.1.299 ou ultérieure sur le serveur de passerelle. [Contexte étendu dans Claude Desktop](#extended-context-in-claude-desktop) couvre l'option de contexte de 1M de chaque modèle

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

1050* La liste d'autorisation de sortie, à partir de `sandbox.network.allowedDomains`. Si vous définissez `coworkEgressAllowedHosts` dans le bloc `desktop` de la politique, la passerelle utilise cette valeur à la place de la liste dérivée. Si la liste d'autorisation que sert la passerelle inclut `*` et que la passerelle ne sert pas également le paramètre [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/code#applied-as-managed-policy) de Claude Desktop, Claude Desktop n'active pas le [sandbox Bash](/docs/fr/sandboxing) dans l'onglet Code1051* La liste d'autorisation de sortie, à partir de `sandbox.network.allowedDomains`. Si vous définissez `coworkEgressAllowedHosts` dans le bloc `desktop` de la politique, la passerelle utilise cette valeur à la place de la liste dérivée. Si la liste d'autorisation que sert la passerelle inclut `*` et que la passerelle ne sert pas également le paramètre [`allowedWorkspaceFolders`](https://claude.com/docs/third-party/claude-desktop/code#applied-as-managed-policy) de Claude Desktop, Claude Desktop n'active pas le [sandbox Bash](/docs/fr/sandboxing) dans l'onglet Code

1051* Un endpoint 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 sur cet endpoint vers vos destinations `forward_to`. Elle inclut l'endpoint et les attributs lorsque vous définissez à la fois [`telemetry.forward_to`](#telemetry) et `listen.public_url`.1052* Un endpoint 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 sur cet endpoint vers vos destinations `forward_to`. Elle inclut l'endpoint et les attributs lorsque vous définissez à la fois [`telemetry.forward_to`](#telemetry) et `listen.public_url`.

Details

8 8 

9> [!NOTE]9> [!NOTE]

10>10>

11> Les sessions cloud sont disponibles sur les plans Pro, Max et Team, ainsi que pour les utilisateurs Enterprise disposant de sièges premium ou de sièges Chat + Claude Code.11> Les sessions cloud sont disponibles sur les plans Pro, Max et Team, ainsi que pour les utilisateurs Enterprise disposant de sièges premium ou de sièges Chat + Claude Code. Si votre organisation Enterprise gère votre accès avec des [rôles personnalisés](https://support.claude.com/en/articles/13930452), vous avez également besoin d'un rôle qui inclut la permission des sessions cloud. Demandez à un Owner de vérifier vos rôles et de l'ajouter dans [**Organization settings > Roles**](https://claude.ai/admin-settings/roles) s'il est manquant.

12 12 

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

14 14 


264 264 

265* **`/model`, `/effort`, `/color` et `/rename`** : transmettez la valeur en tant qu'argument, par exemple `/model sonnet`, au lieu d'ouvrir le sélecteur du terminal ou le curseur. Les formes d'argument suivent les [notes de disponibilité](/docs/fr/commands#all-commands) de chaque commande.265* **`/model`, `/effort`, `/color` et `/rename`** : transmettez la valeur en tant qu'argument, par exemple `/model sonnet`, au lieu d'ouvrir le sélecteur du terminal ou le curseur. Les formes d'argument suivent les [notes de disponibilité](/docs/fr/commands#all-commands) de chaque commande.

266* **`/fast`** : bascule le [mode rapide](/docs/fr/fast-mode#use-fast-mode-in-cloud-sessions) pour la session lorsque le mode rapide est [disponible sur votre compte](/docs/fr/fast-mode#requirements). Nécessite Claude Code v2.1.271 ou une version ultérieure dans l'environnement de la session.266* **`/fast`** : bascule le [mode rapide](/docs/fr/fast-mode#use-fast-mode-in-cloud-sessions) pour la session lorsque le mode rapide est [disponible sur votre compte](/docs/fr/fast-mode#requirements). Nécessite Claude Code v2.1.271 ou une version ultérieure dans l'environnement de la session.

267* **`/config`** : dans votre navigateur sur claude.ai/code, ouvre la section Claude Code de vos paramètres au lieu de définir une valeur, et le texte après la commande, y compris `key=value`, est ignoré. Pour modifier un paramètre pour une session cloud, définissez une [variable d'environnement](/docs/fr/cloud-environments#set-environment-variables) sur l'environnement, ou dans une session avec un référentiel, validez la clé dans le fichier `.claude/settings.json` de ce référentiel. [Les paramètres dans les sessions cloud](/docs/fr/settings#settings-in-cloud-sessions) énumère ce que chaque session lit.267* **`/config`** : dans votre navigateur sur claude.ai/code, ouvre la section Claude Code de vos paramètres au lieu de définir une valeur, et le texte après la commande, y compris `key=value`, est ignoré. Pour modifier un paramètre pour une session cloud, définissez une [variable d'environnement](/docs/fr/cloud-environments#set-environment-variables) sur l'environnement. Dans une session avec un seul dépôt en dehors d'un [projet](/docs/fr/claude-projects), créez plutôt un commit de la clé dans le fichier `.claude/settings.json` de ce dépôt. [Les paramètres dans les sessions cloud](/docs/fr/settings#settings-in-cloud-sessions) énumère ce que chaque session lit.

268 268 

269Pour la gestion du contexte spécifiquement :269Pour la gestion du contexte spécifiquement :

270 270 


278 278 

279Pour modifier la fenêtre de compaction automatique à la place, définissez [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/fr/env-vars) dans vos variables d'environnement, ou exécutez [`/autocompact`](/docs/fr/commands#all-commands) avec un nombre de jetons dans une session où la variable n'est pas définie.279Pour modifier la fenêtre de compaction automatique à la place, définissez [`CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/fr/env-vars) dans vos variables d'environnement, ou exécutez [`/autocompact`](/docs/fr/commands#all-commands) avec un nombre de jetons dans une session où la variable n'est pas définie.

280 280 

281Les [sous-agents](/docs/fr/sub-agents) fonctionnent de la même manière qu'en local. Claude peut les générer avec l'outil Agent pour déléguer la recherche ou le travail parallèle à une fenêtre de contexte séparée, en gardant la conversation principale plus légère. Les sous-agents définis dans le répertoire `.claude/agents/` de votre référentiel sont détectés automatiquement.281Les [sous-agents](/docs/fr/sub-agents) fonctionnent de la même manière qu'en local. Claude peut les générer avec l'outil Agent pour déléguer la recherche ou le travail parallèle à une fenêtre de contexte séparée, en gardant la conversation principale plus légère. En dehors des fils d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), les sous-agents définis dans le répertoire `.claude/agents/` de votre dépôt se chargent automatiquement.

282 282 

283Les [équipes d'agents](/docs/fr/agent-teams) sont désactivées par défaut mais peuvent être activées en ajoutant `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` à vos [variables d'environnement](/docs/fr/cloud-environments#set-environment-variables).283Les [équipes d'agents](/docs/fr/agent-teams) sont désactivées par défaut mais peuvent être activées en ajoutant `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1` à vos [variables d'environnement](/docs/fr/cloud-environments#set-environment-variables).

284 284 


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

429 429 

430* **Restauré** : votre historique de conversation430* **Restauré** : votre historique de conversation

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

432 * **Commandes shell** : Claude Code indique à Claude quelles commandes se sont arrêtées. Demandez à Claude de relancer celles dont vous avez encore besoin.

433 * **Sous-agents** : Claude Code indique à Claude quels sous-agents se sont arrêtés, et lesquels d'entre eux peuvent être [repris](/docs/fr/sub-agents#resume-subagents) au lieu d'être recommencés. Demandez à Claude de poursuivre leur travail.

434 * **Tâches planifiées à l'échelle de la session** : les tâches que vous avez [planifiées dans la session](/docs/fr/scheduled-tasks) et une `/loop` en attente de sa prochaine itération ne sont pas reportées dans la session rouverte. Demandez à Claude de planifier à nouveau les tâches, ou exécutez à nouveau `/loop` pour relancer la boucle.

432 435 

433## Limitations436## Limitations

434 437 

Details

175 175 

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

177| - | - |177| - | - |

178| `history.jsonl` | Chaque prompt que vous avez tapé, avec horodatage et chemin du projet. Utilisé pour le rappel avec la flèche vers le haut, la recherche d'historique `Ctrl+R` et la complétion de commande shell `!`. Chaque balayage supprime les entrées plus anciennes que `cleanupPeriodDays` lorsque la [configuration HIPAA s'applique à vos sessions](/docs/fr/hipaa-setup#check-how-developers-sign-in-and-connect). |178| `history.jsonl` | Les prompts que vous avez saisis, avec l'horodatage et le chemin du projet. Utilisé pour le rappel avec la flèche vers le haut, la recherche dans l'historique avec `Ctrl+R` et la complétion des commandes shell avec `!`. Chaque nettoyage supprime les entrées antérieures à `cleanupPeriodDays` lorsque la [configuration HIPAA s'applique à vos sessions](/docs/fr/hipaa-setup#check-how-developers-sign-in-and-connect). |

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

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

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

claude-projects.md +23 −27

Details

52* **Threads** : les travailleurs. Chacun est une session distincte avec sa propre fenêtre de contexte qui fait un morceau de travail et rapporte à la conversation quand il termine. Un thread cloud travaille sur sa propre branche et ouvre une pull request quand le travail l'exige.52* **Threads** : les travailleurs. Chacun est une session distincte avec sa propre fenêtre de contexte qui fait un morceau de travail et rapporte à la conversation quand il termine. Un thread cloud travaille sur sa propre branche et ouvre une pull request quand le travail l'exige.

53* **Ce que chaque thread cloud commence avec** :53* **Ce que chaque thread cloud commence avec** :

54 * Les dépôts et fichiers du projet, plus ses [instructions et mémoire](#give-a-project-standing-context)54 * Les dépôts et fichiers du projet, plus ses [instructions et mémoire](#give-a-project-standing-context)

55 * Le `CLAUDE.md` et skills dans [chacun des dépôts du projet](#what-threads-pick-up-from-your-repositories), et dans un projet avec un dépôt, les règles de permission et les hooks de ce dépôt aussi55 * Le `CLAUDE.md` dans [chacun des dépôts du projet](#what-threads-pick-up-from-your-repositories), mais pas les skills, le `.claude/settings.json` ni le `.mcp.json` des dépôts

56 * Les [connecteurs](#get-skills-plugins-connectors-and-tools-into-threads) sur votre compte claude.ai56 * Les [connecteurs](#get-skills-plugins-connectors-and-tools-into-threads) sur votre compte claude.ai

57 * Un [environnement cloud](#choose-an-environment-for-threads) qui définit son accès réseau, les variables d'environnement, les secrets réseau et les outils installés57 * Un [environnement cloud](#choose-an-environment-for-threads) qui définit son accès réseau, les variables d'environnement, les secrets réseau et les outils installés

58* **Le volet Overview** : où vous [voyez tous les threads à la fois](#see-what-needs-you-in-overview) et lesquels vous attendent. Ses autres onglets sont **Library** pour les fichiers que vous avez ajoutés et les fichiers que les threads ont produits, **Pull requests** pour celles que les threads ont ouvertes, et **Scheduled tasks** pour le travail planifié dans le projet.58* **Le volet Overview** : où vous [voyez tous les threads à la fois](#see-what-needs-you-in-overview) et lesquels vous attendent. Ses autres onglets sont **Library** pour les fichiers que vous avez ajoutés et les fichiers que les threads ont produits, **Pull requests** pour celles que les threads ont ouvertes, et **Scheduled tasks** pour le travail planifié dans le projet.


239 239 

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

241 241 

242Chaque approbation couvre cette demande, ou le reste de ce thread si vous choisissez l'option plus large.242Chaque approbation couvre cette demande, ou le reste de ce thread si vous choisissez l'option plus large. Les threads cloud ne lisent pas les [règles de permission](/docs/fr/permissions) du `.claude/settings.json` d'un dépôt, donc vous comptez sur le mode auto et sur les approbations que vous donnez à l'intérieur de chaque thread.

243 

244Pour 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 dépôt. Vérifiez que les threads cloud de votre projet les appliquent :

245 

246* **Un dépôt** : les threads cloud appliquent les règles. Voir [Ce que les threads récupèrent de vos dépôts](#what-threads-pick-up-from-your-repositories).

247* **Plusieurs dépôts, environnement hébergé par Anthropic** : aucune règle de permission d'un dépôt 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.

248* **Plusieurs dépôts, environnement auto-hébergé** : voir [quels paramètres de dépôt s'appliquent](/docs/fr/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

249 243 

250### Exécuter un thread sur votre propre ordinateur244### Exécuter un thread sur votre propre ordinateur

251 245 


301Par exemple :295Par exemple :

302 296 

303```text theme={null}297```text theme={null}

304Ce projet maintient la latence p95 de l'API des paiements sous 200 ms : profilage, corrections de requêtes et de cache, et les mises à jour de dépendances qui les accompagnent, dans le dépôt payments-api.298This project holds p95 latency for the payments API under 200 ms: profiling, query and caching fixes, and the dependency upgrades that come with them, in the payments-api repository.

305 299 

306- Créez une branche à partir de main et ouvrez une pull request brouillon par thread.300- Branch from main and open one draft pull request per thread.

307- Avant d'appeler le travail terminé, exécutez `make test` et `make lint` et collez les lignes de résumé dans votre message final.301- Before you call work done, run `make test` and `make lint` and paste the summary lines in your final message.

308- Si vous ne pouvez pas atteindre quelque chose dont vous avez besoin, comme un dépôt, un secret, une API ou un connecteur, dites exactement ce qui manque dans votre premier message et arrêtez. Ne substituez pas, ne simulez pas et ne devinez pas.302- If you can't reach something you need, such as a repository, a secret, an API, or a connector, say exactly what's missing in your first message and stop. Don't substitute, mock, or guess.

309- Ne fusionnez pas, ne forcez pas de push et ne changez pas la configuration CI sans me le demander dans le thread.303- Don't merge, force-push, or change CI configuration without asking me in the thread.

310```304```

311 305 

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

313 307 

314### Décider quels dépôts ajouter308### Décider quels dépôts ajouter

315 309 

316Les dépôts que vous ajoutez à un projet viennent avec tout ce qu'ils contiennent, leur code, `CLAUDE.md` et skills, dans chaque thread cloud. Les dépôts que vous n'ajoutez pas sont toujours à portée : un thread cloud peut en ajouter un à lui-même quand sa tâche en a besoin. La plupart des projets utilisent les deux :310Les dépôts que vous ajoutez à un projet viennent avec leur code et leur `CLAUDE.md` dans chaque thread cloud, mais [pas leurs skills, leur `.claude/settings.json` ni leur `.mcp.json`](#what-threads-pick-up-from-your-repositories). Les dépôts que vous n'ajoutez pas sont toujours à portée : un thread cloud peut en ajouter un à lui-même quand sa tâche en a besoin. La plupart des projets utilisent les deux :

317 311 

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

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

320 314 

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

322 316 


335 329 

336### Ce que les threads reprennent de vos dépôts330### Ce que les threads reprennent de vos dépôts

337 331 

338Chaque thread cloud clone chaque dépôt du projet et charge `CLAUDE.md` et les skills de tous. Les règles de permission, les hooks et `env` viennent seulement du `.claude/settings.json` dans le répertoire où le thread commence.332Les threads cloud chargent les instructions `CLAUDE.md` de chaque dépôt, mais pas ses skills, ses serveurs `.mcp.json` ni son `.claude/settings.json`, que le projet ait un dépôt ou plusieurs.

339 333 

340| Dans chaque dépôt | Un dépôt | Plusieurs dépôts |334| Dans chaque dépôt | Dans un thread cloud |

341| :- | :- | :- |335| :- | :- |

342| `CLAUDE.md` | Chargé au démarrage du thread | Chargé à partir de chaque dépôt au démarrage du thread |336| `CLAUDE.md`, `.claude/CLAUDE.md` et `.claude/rules/` à la racine du dépôt | Chargés à partir de chaque dépôt au démarrage du thread. Les fichiers `CLAUDE.md` dans les sous-répertoires et les [règles spécifiques à un chemin](/docs/fr/memory#path-specific-rules) ne sont pas chargés |

343| Skills, agents et commandes sous `.claude/` | Chargés | Chargés à partir de chaque dépôt |337| Skills sous `.claude/skills/` | Non chargés. Activez plutôt le skill pour votre compte claude.ai, comme le décrit [Obtenir des skills, des plugins, des connecteurs et des outils dans les threads](#get-skills-plugins-connectors-and-tools-into-threads) |

344| Plugins activés dans `.claude/settings.json` | Non chargés. Ajoutez le plugin dans **Project settings > Plugins** à la place | Non chargés. Ajoutez le plugin dans **Project settings > Plugins** à la place |338| Agents et commandes sous `.claude/` | Non chargés. Pour les utiliser, [exécutez le thread sur votre propre ordinateur](#run-a-thread-on-your-own-computer) |

345| Règles de permission, hooks et `env` définis dans `.claude/settings.json` | S'appliquent au thread, sauf les clés `env` que [aucune session cloud n'honore](/docs/fr/cloud-environments#what-carries-over-from-your-setup) | Ne s'appliquent pas dans un environnement hébergé par Anthropic. Pour un environnement auto-hébergé, voir [quels paramètres de dépôt s'appliquent](/docs/fr/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories) |339| Serveurs MCP dans `.mcp.json` | Non chargés. Utilisez plutôt les connecteurs de votre compte claude.ai, comme le décrit [Obtenir des skills, des plugins, des connecteurs et des outils dans les threads](#get-skills-plugins-connectors-and-tools-into-threads) |

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

347Dans un projet avec plusieurs dépôts, mettez les règles permanentes dans les instructions du projet et donnez aux threads les variables d'environnement via l'[environnement cloud](#choose-an-environment-for-threads).341| Règles de permission dans `.claude/settings.json` | Non appliquées. Approuvez les appels d'outils dans le thread, comme le décrit [Débloquer un thread en attente d'approbation](#unblock-a-thread-waiting-on-approval), ou [exécutez le thread sur votre propre ordinateur](#run-a-thread-on-your-own-computer) |

342| Hooks dans `.claude/settings.json` | Non exécutés. Pour utiliser vos hooks, [exécutez le thread sur votre propre ordinateur](#run-a-thread-on-your-own-computer) |

343| `env` dans `.claude/settings.json` | Non appliqué. Définissez les variables d'environnement dans l'[environnement cloud](#choose-an-environment-for-threads) |

348 344 

349### Choisir un environnement pour les threads345### Choisir un environnement pour les threads

350 346 


356 352 

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

358 354 

359* Skills, sous-agents et commandes : commitez-les dans un dépôt que vous avez ajouté au projet, par exemple un skill à `.claude/skills/<skill-name>/SKILL.md`. Chaque thread cloud clone chaque dépôt du projet et charge `.claude/skills/`, `.claude/agents/` et `.claude/commands/` à partir de chacun d'eux, donc un skill commité dans un dépôt est disponible dans chaque thread cloud. Les threads cloud chargent également les [skills que vous activez pour votre compte claude.ai](/docs/fr/skills#skills-in-cowork-and-cloud-sessions).355* Skills : activez-les pour votre compte claude.ai, et les threads cloud chargent les [skills que vous y activez](/docs/fr/skills#skills-in-cowork-and-cloud-sessions), à l'exception de [certains threads dans un environnement auto-hébergé](/docs/fr/self-hosted-environments-configuration#how-each-session’s-config-is-assembled). Les skills commités dans le `.claude/skills/` d'un dépôt ne se chargent pas dans les threads cloud.

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

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

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

363 359 

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

Details

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](#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.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 dépôts, 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.

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

Details

135| `--teleport` | Reprendre une [session web](/docs/fr/claude-code-on-the-web) dans votre terminal local | `claude --teleport` |135| `--teleport` | Reprendre une [session web](/docs/fr/claude-code-on-the-web) dans votre terminal local | `claude --teleport` |

136| `--teammate-mode` | Définir comment les coéquipiers de l'[équipe d'agents](/docs/fr/agent-teams) s'affichent : `in-process` (par défaut), `auto`, `tmux`, ou `iterm2`. Remplace le paramètre [`teammateMode`](/docs/fr/settings-reference#teammatemode) pour cette session. Voir [Choisir un mode d'affichage](/docs/fr/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |136| `--teammate-mode` | Définir comment les coéquipiers de l'[équipe d'agents](/docs/fr/agent-teams) s'affichent : `in-process` (par défaut), `auto`, `tmux`, ou `iterm2`. Remplace le paramètre [`teammateMode`](/docs/fr/settings-reference#teammatemode) pour cette session. Voir [Choisir un mode d'affichage](/docs/fr/agent-teams#choose-a-display-mode) | `claude --teammate-mode auto` |

137| `--tmux` | Créer une session tmux pour le worktree. Nécessite `--worktree`. Utilise les volets natifs iTerm2 lorsqu'ils sont disponibles ; passez `--tmux=classic` pour le tmux traditionnel | `claude -w feature-auth --tmux` |137| `--tmux` | Créer une session tmux pour le worktree. Nécessite `--worktree`. Utilise les volets natifs iTerm2 lorsqu'ils sont disponibles ; passez `--tmux=classic` pour le tmux traditionnel | `claude -w feature-auth --tmux` |

138| `--tools` | Restreindre les outils intégrés que Claude peut utiliser. Utilisez `""` pour désactiver tous, `"default"` pour l'ensemble par défaut, ou des noms d'outils comme `"Bash,Edit,Read"`. Sur macOS, Linux et WSL, l'ensemble par défaut laisse de côté `Glob` et `Grep`, comme décrit sous [Comportement de l'outil Glob](/docs/fr/tools-reference#glob-tool-behavior). Si vous nommez l'un des [outils de suivi des tâches](/docs/fr/tools-reference#task-tool-availability) ici, Claude Code opte également la session. Le drapeau n'affecte pas les outils MCP ; pour les refuser aussi, utilisez `--disallowedTools "mcp__*"`. Une liste qui omet [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) ne le supprime pas ; `""` le supprime uniquement lorsqu'aucun outil MCP ne reste | `claude --tools "Bash,Edit,Read"` |138| `--tools` | Restreindre les outils intégrés que Claude peut utiliser. Utilisez `""` pour désactiver tous, `"default"` pour l'ensemble par défaut, ou des noms d'outils comme `"Bash,Edit,Read"`. Sur macOS, Linux et WSL, l'ensemble par défaut laisse de côté `Glob` et `Grep`, comme décrit sous [Comportement de l'outil Glob](/docs/fr/tools-reference#glob-tool-behavior). Si vous nommez l'un des [outils de suivi des tâches](/docs/fr/tools-reference#task-tool-availability) ici, Claude Code les active également pour la session. Le drapeau n'affecte pas les outils MCP ; pour les refuser aussi, utilisez `--disallowedTools "mcp__*"`. Une liste qui omet [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) ne le supprime pas ; `""` le supprime uniquement lorsqu'aucun outil MCP ne reste | `claude --tools "Bash,Edit,Read"` |

139| `--verbose` | Activer la journalisation détaillée, affiche la sortie complète tour par tour. Remplace le paramètre [`viewMode`](/docs/fr/settings-reference#viewmode) pour cette session | `claude --verbose` |139| `--verbose` | Activer la journalisation détaillée, affiche la sortie complète tour par tour. Remplace le paramètre [`viewMode`](/docs/fr/settings-reference#viewmode) pour cette session | `claude --verbose` |

140| `--version`, `-v` | Afficher le numéro de version | `claude -v` |140| `--version`, `-v` | Afficher le numéro de version | `claude -v` |

141| `--worktree`, `-w` | Démarrer Claude dans un [git worktree](/docs/fr/worktrees) isolé à `<repo>/.claude/worktrees/<name>`. Si vous ne donnez pas de nom, Claude Code en génère un. Passez `#<number>`, une URL de demande de tirage GitHub, ou une URL de demande de fusion GitLab pour [récupérer cette PR ou MR de `origin` et créer une branche du worktree à partir de celle-ci](/docs/fr/worktrees#branch-from-a-pull-request). La création d'une branche à partir d'une demande de fusion GitLab nécessite Claude Code v2.1.233 ou ultérieur | `claude -w feature-auth` |141| `--worktree`, `-w` | Démarrer Claude dans un [git worktree](/docs/fr/worktrees) isolé à `<repo>/.claude/worktrees/<name>`. Si vous ne donnez pas de nom, Claude Code en génère un. Passez `#<number>`, une URL de demande de tirage GitHub, ou une URL de demande de fusion GitLab pour [récupérer cette PR ou MR de `origin` et créer une branche du worktree à partir de celle-ci](/docs/fr/worktrees#branch-from-a-pull-request). La création d'une branche à partir d'une demande de fusion GitLab nécessite Claude Code v2.1.233 ou ultérieur | `claude -w feature-auth` |

Details

164 164 

165### Archiver un environnement165### Archiver un environnement

166 166 

167Pour archiver l'un de vos propres environnements, ouvrez-le pour modification, sélectionnez **Archive environment** et confirmez. Si l'environnement est [partagé avec votre organisation](#organization-shared-environments), c'est un propriétaire qui l'archive à partir de la page **Cloud environments** dans les [paramètres d'administration](https://claude.ai/admin-settings) ; adressez-vous donc à un propriétaire si vous n'en êtes pas un. Vous ne pouvez pas supprimer un environnement, seulement l'archiver.167Pour archiver l'un de vos propres environnements, ouvrez-le pour modification, sélectionnez **Archive environment** et confirmez. Si l'environnement est [partagé avec votre organisation](#organization-shared-environments), c'est un propriétaire qui l'archive à partir de la page **Cloud environments** dans les [paramètres d'administration](https://claude.ai/admin-settings) ; adressez-vous donc à un propriétaire si vous n'en êtes pas un.

168 168 

169L'archivage affecte les nouvelles sessions, pas les sessions en cours d'exécution :169L'archivage affecte les nouvelles sessions, pas les sessions en cours d'exécution :

170 170 


175 * **Défaut CLI enregistré** : si l'environnement était votre [défaut CLI](#select-an-environment-from-the-cli) enregistré, Claude Code démarre les sessions cloud CLI dans l'environnement hébergé par Anthropic lorsque votre liste en a un. Sinon, il les démarre dans le premier environnement de votre liste qui n'est pas un [environnement de pont Remote Control](#the-default-environment).175 * **Défaut CLI enregistré** : si l'environnement était votre [défaut CLI](#select-an-environment-from-the-cli) enregistré, Claude Code démarre les sessions cloud CLI dans l'environnement hébergé par Anthropic lorsque votre liste en a un. Sinon, il les démarre dans le premier environnement de votre liste qui n'est pas un [environnement de pont Remote Control](#the-default-environment).

176 * **Configuré explicitement** : tout ce qui est configuré avec l'environnement explicitement, comme une [tâche planifiée cloud](/docs/fr/routines#environments-and-network-access), ne peut pas démarrer de nouvelles sessions dedans. Pointez-le vers un autre environnement.176 * **Configuré explicitement** : tout ce qui est configuré avec l'environnement explicitement, comme une [tâche planifiée cloud](/docs/fr/routines#environments-and-network-access), ne peut pas démarrer de nouvelles sessions dedans. Pointez-le vers un autre environnement.

177 177 

178Lorsque vous n'avez plus besoin d'un environnement hébergé par Anthropic, archivez-le. Ni la boîte de dialogue de l'environnement ni la page d'administration **Cloud environments** ne proposent d'option pour supprimer un environnement hébergé par Anthropic. Si l'environnement est [auto-hébergé](/docs/fr/self-hosted-environments), un propriétaire peut le supprimer à partir de la page **Cloud environments** dans les paramètres d'administration. Si vous n'êtes pas propriétaire, demandez à un propriétaire de le supprimer.

179 

178### Environnements partagés par l'organisation180### Environnements partagés par l'organisation

179 181 

180Sur les plans Team et Enterprise, un propriétaire peut créer des environnements cloud qui sont partagés avec chaque membre de l'organisation. Le même rôle gère tout le reste sur la page d'administration **Cloud environments**, y compris les [environnements auto-hébergés](/docs/fr/self-hosted-environments) ; le rôle Admin ne peut pas ouvrir la page. La liste complète des rôles qui peuvent l'ouvrir est celle pour [gérer les paramètres gérés par le serveur](/docs/fr/server-managed-settings#access-control).182Sur les plans Team et Enterprise, un propriétaire peut créer des environnements cloud qui sont partagés avec chaque membre de l'organisation. Le même rôle gère tout le reste sur la page d'administration **Cloud environments**, y compris les [environnements auto-hébergés](/docs/fr/self-hosted-environments) ; le rôle Admin ne peut pas ouvrir la page. La liste complète des rôles qui peuvent l'ouvrir est celle pour [gérer les paramètres gérés par le serveur](/docs/fr/server-managed-settings#access-control).


275 277 

276### Ce qui est reporté de votre configuration278### Ce qui est reporté de votre configuration

277 279 

280> [!NOTE]

281>

282> Parmi la configuration de dépôt présentée dans ce tableau, un thread cloud dans un [projet](/docs/fr/claude-projects) charge uniquement les fichiers `CLAUDE.md`, `.claude/CLAUDE.md` et `.claude/rules/` à la racine du dépôt qui ne sont pas [spécifiques à un chemin](/docs/fr/memory#path-specific-rules). Consultez [Ce que les threads récupèrent de vos dépôts](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories).

283 

278Les sessions cloud commencent à partir d'un clone frais de votre dépôt. Tout ce que vous commitez dans le dépôt est disponible. Tout ce que vous avez installé ou configuré seulement sur votre propre machine n'est pas disponible dans la session. La politique de votre organisation arrive séparément via les [paramètres gérés par le serveur](/docs/fr/server-managed-settings).284Les sessions cloud commencent à partir d'un clone frais de votre dépôt. Tout ce que vous commitez dans le dépôt est disponible. Tout ce que vous avez installé ou configuré seulement sur votre propre machine n'est pas disponible dans la session. La politique de votre organisation arrive séparément via les [paramètres gérés par le serveur](/docs/fr/server-managed-settings).

279 285 

280| | Disponible dans les sessions cloud | Pourquoi |286| | Disponible dans les sessions cloud | Pourquoi |


465 471 

466Si vous avez des crochets SessionStart dans votre `~/.claude/settings.json` au niveau utilisateur, ne vous attendez pas à les voir dans le cloud : les paramètres au niveau utilisateur restent sur votre machine. Quels autres crochets s'exécutent dépend de l'endroit où la session s'exécute :472Si vous avez des crochets SessionStart dans votre `~/.claude/settings.json` au niveau utilisateur, ne vous attendez pas à les voir dans le cloud : les paramètres au niveau utilisateur restent sur votre machine. Quels autres crochets s'exécutent dépend de l'endroit où la session s'exécute :

467 473 

468* **Environnement hébergé par Anthropic** : Claude Code exécute les crochets du dépôt et de vos [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de l'organisation. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) ne reçoivent pas les paramètres gérés par le serveur, donc les crochets des paramètres gérés par le serveur ne s'y exécutent pas.474* **Environnement hébergé par Anthropic** : Claude Code exécute les hooks des [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation et, en dehors d'un thread de [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), ceux du dépôt. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) ne reçoivent pas les paramètres gérés par le serveur, donc les hooks des paramètres gérés par le serveur ne s'y exécutent pas.

469* **[Environnement auto-hébergé](/docs/fr/self-hosted-environments-configuration#permissions-and-tool-approval)** : Claude Code exécute également les crochets que l'opérateur a ensemencés à partir de `~/.claude/` de l'hôte d'exécuteur, et les crochets dans le fichier de paramètres gérés de l'image d'exécuteur quand ce fichier est l'une des [sources gérées que Claude Code applique](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).475* **[Environnement auto-hébergé](/docs/fr/self-hosted-environments-configuration#permissions-and-tool-approval)** : Claude Code exécute également les crochets que l'opérateur a ensemencés à partir de `~/.claude/` de l'hôte d'exécuteur, et les crochets dans le fichier de paramètres gérés de l'image d'exécuteur quand ce fichier est l'une des [sources gérées que Claude Code applique](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).

470 476 

471### Installez les dépendances avec un crochet SessionStart477### Installez les dépendances avec un crochet SessionStart

472 478 

473Pour installer les dépendances seulement dans les sessions cloud, associez un crochet SessionStart avec un script qui vérifie où il s'exécute.479Pour installer les dépendances seulement dans les sessions cloud en dehors d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), associez un hook SessionStart avec un script qui vérifie où il s'exécute.

474 480 

475Tout d'abord, ajoutez un crochet SessionStart au `.claude/settings.json` de votre dépôt. Cette configuration dit à Claude Code d'exécuter `scripts/install_pkgs.sh` à partir de votre dépôt chaque fois qu'une session démarre ou reprend :481Tout d'abord, ajoutez un crochet SessionStart au `.claude/settings.json` de votre dépôt. Cette configuration dit à Claude Code d'exécuter `scripts/install_pkgs.sh` à partir de votre dépôt chaque fois qu'une session démarre ou reprend :

476 482 


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

533 539 

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

541* **Pas dans les threads cloud d'un projet** : un thread cloud dans un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories) n'exécute pas les hooks du `.claude/settings.json` d'un dépôt, quel que soit le nombre de dépôts. Dans un environnement hébergé par Anthropic, installez les dépendances pour les threads avec un [script de configuration](#setup-scripts). Dans un environnement auto-hébergé, utilisez plutôt un hook dans les [paramètres de l'hôte d'exécuteur](/docs/fr/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

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

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

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

Details

92 92 

93Limitez `REVIEW.md` aux instructions qui modifient le comportement de la revue, et laissez le contexte général du projet dans `CLAUDE.md`.93Limitez `REVIEW.md` aux instructions qui modifient le comportement de la revue, et laissez le contexte général du projet dans `CLAUDE.md`.

94 94 

95### Inclure d'autres fichiers dans REVIEW\.md

96 

97Vous pouvez répartir les instructions de revue sur plusieurs fichiers et les intégrer dans votre `REVIEW.md` racine. Procédez ainsi lorsque `REVIEW.md` devient long ou lorsque vous conservez déjà des règles de revue dans un autre fichier.

98 

99Pour inclure un fichier, ajoutez au `REVIEW.md` racine une ligne contenant uniquement `@` suivi du nom du fichier. Code Review remplace cette ligne par le contenu du fichier, qui s'applique alors comme partie intégrante de `REVIEW.md`. Dans cet exemple, le fichier racine donne une instruction qui lui est propre, puis inclut deux fichiers de règles :

100 

101```markdown theme={null}

102# Review instructions

103 

104Report at most five Nits per review.

105 

106@review-security.md

107@review-api.md

108```

109 

110Enregistrez les fichiers inclus à la racine du dépôt, à côté de `REVIEW.md` :

111 

112```text theme={null}

113your-repo/

114├── REVIEW.md

115├── review-security.md

116└── review-api.md

117```

118 

119Code Review inclut les fichiers lorsqu'il lit `REVIEW.md` depuis une branche protégée ; vérifiez donc [quelle branche une revue lit pour votre dépôt](#what-a-review-reads-for-each-branch-setup) :

120 

121* **Branche protégée** : Code Review remplace la ligne `@` par le fichier inclus

122* **Branche par défaut non protégée** : la ligne `@` reste dans `REVIEW.md` sous forme de texte brut. Si la pull request modifie le fichier nommé par la ligne, la ligne est omise.

123 

124Lorsqu'une revue n'applique pas un fichier inclus, vérifiez chacun des points suivants :

125 

126* **Emplacement** : déplacez le fichier à la racine du dépôt. Un chemin vers un sous-répertoire tel que `@docs/review-rules.md` n'est pas inclus.

127* **Nom** : faites correspondre exactement le nom du fichier, casse comprise, et utilisez un nom sans espaces. Une ligne dont le nom ne correspond à aucun fichier situé à côté de `REVIEW.md` reste dans `REVIEW.md` sous forme de texte brut, et le check run ne la signale pas comme une inclusion ignorée.

128* **Un seul niveau** : listez chaque fichier dans le `REVIEW.md` racine. Une ligne `@` dans un fichier inclus ou dans un `REVIEW.md` de sous-répertoire reste sous forme de texte brut, et un lien Markdown vers un autre fichier ne constitue pas une inclusion.

129* **Limites** : incluez au maximum huit fichiers différents, et maintenez `REVIEW.md` et les fichiers qu'il inclut sous 150 000 octets au total. Un fichier qui atteindrait la limite d'octets est ignoré en entier, et non tronqué. Le check run indique combien de lignes d'inclusion il a ignorées pour l'une ou l'autre limite.

130* **Liens** : limitez les liens Markdown à 64 au maximum dans `REVIEW.md` et les fichiers qu'il inclut. Les liens vers des adresses `http`, `https` ou `mailto` et vers des ancres `#` ne sont pas comptés. Au-delà de cette limite, la revue ignore l'ensemble de votre `REVIEW.md` racine, et pas seulement les fichiers inclus. Le check run [indique alors que les instructions n'ont pas été appliquées](/docs/fr/code-review-troubleshooting#the-check-run-mentions-review-md).

131* **Copie fusionnée** : fusionnez le fichier inclus dans la [branche depuis laquelle `REVIEW.md` est lu](#which-branch-review-md-is-read-from). La revue lit les deux depuis le même commit, jamais depuis les modifications de la pull request elle-même.

132 

95### Depuis quelle branche REVIEW\.md est lu133### Depuis quelle branche REVIEW\.md est lu

96 134 

97Code Review lit `REVIEW.md` depuis la branche de base de la pull request ou depuis la branche par défaut, jamais depuis les modifications de la pull request elle-même. Pour modifier le comportement de la revue, fusionnez d'abord la modification de `REVIEW.md`.135Code Review lit `REVIEW.md` depuis la branche de base de la pull request ou depuis la branche par défaut, jamais depuis les modifications de la pull request elle-même. Pour modifier le comportement de la revue, fusionnez d'abord la modification de `REVIEW.md`.


117 155 

118| Protection de branche | Copie lue | Fichiers lus |156| Protection de branche | Copie lue | Fichiers lus |

119| :- | :- | :- |157| :- | :- | :- |

120| La branche par défaut est protégée, et la pull request la cible ou cible une branche qu'aucun ruleset ne protège | Branche par défaut | Fichiers racine et de sous-répertoire |158| La branche par défaut est protégée, et la pull request la cible ou cible une branche qu'aucun ruleset ne protège | Branche par défaut | Fichier racine, les fichiers qu'il inclut et les fichiers de sous-répertoire |

121| La pull request cible une autre branche protégée par un ruleset | Cette branche de base | Fichiers racine et de sous-répertoire |159| La pull request cible une autre branche protégée par un ruleset | Cette branche de base | Fichier racine, les fichiers qu'il inclut et les fichiers de sous-répertoire |

122| La branche par défaut n'est pas protégée, et la branche de base n'a aucune règle de protection, quel qu'en soit le type | Branche par défaut | Fichier racine |160| La branche par défaut n'est pas protégée, et la branche de base n'a aucune règle de protection, quel qu'en soit le type | Branche par défaut | Fichier racine |

123| Code Review ne peut pas confirmer les paramètres de protection. Cela inclut une branche par défaut non protégée avec une branche de base qui n'a qu'une règle classique | Aucune | Aucun |161| Code Review ne peut pas confirmer les paramètres de protection. Cela inclut une branche par défaut non protégée avec une branche de base qui n'a qu'une règle classique | Aucune | Aucun |

124 162 

Details

55 55 

56### Lire le résultat depuis un script56### Lire le résultat depuis un script

57 57 

58Pour conditionner une fusion ou publier un résumé depuis votre propre CI, analysez la dernière ligne du texte Details avec `gh` et jq. Cette ligne est un commentaire lisible par machine.58Pour conditionner une fusion ou publier un résumé depuis votre propre CI, analysez la dernière ligne du texte Details avec `gh` et jq. Cette ligne est un commentaire HTML qui contient les décomptes par gravité au format JSON :

59 

60```text theme={null}

61<!-- bughunter-severity: {"nit":1,"normal":2,"pre_existing":0} -->

62```

63 

64Les lignes qui la précèdent peuvent inclure des noms de fichiers provenant de la pull request. Si vous analysez le texte à votre manière, prenez les décomptes uniquement dans la dernière ligne, comme le fait la commande de ces étapes.

59 65 

60**1. Trouver l'ID du check run**66**1. Trouver l'ID du check run**

61 67 


67 73 

68**2. Lire les décomptes par gravité**74**2. Lire les décomptes par gravité**

69 75 

70Lisez les décomptes de ce check run, en remplaçant `CHECK_RUN_ID` par l'ID :76Lisez les décomptes depuis le champ `output.text` du check run, qui contient le texte Details. Remplacez `CHECK_RUN_ID` par l'ID :

71 77 

72```bash theme={null}78```bash theme={null}

73gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \79gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID --jq '

74 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'80 (.output.text | split("\n") | last

81 | scan("^<!-- bughunter-severity: (.*) -->$")[0] | fromjson)?

82 // error("no severity line")'

75```83```

76 84 

77Cette commande affiche un objet JSON contenant un décompte par gravité, avec ses clés dans l'ordre alphabétique, par exemple `{"nit": 1, "normal": 2, "pre_existing": 0}`. Les décomptes incluent les résultats des revues précédentes de la pull request dont les fils sont encore ouverts.85Cette commande affiche un objet JSON contenant un décompte par gravité, avec ses clés dans l'ordre alphabétique, par exemple `{"nit": 1, "normal": 2, "pre_existing": 0}`. Les décomptes incluent les résultats des revues précédentes de la pull request dont les fils sont encore ouverts.


80 88 

81Faites en sorte que votre script gère ces cas :89Faites en sorte que votre script gère ces cas :

82 90 

83* **`normal` est supérieur à zéro** : faites échouer le job si vous souhaitez conditionner la fusion. La clé `normal` contient le nombre de résultats Important : Claude a donc trouvé au moins un bug qui mérite d'être corrigé avant la fusion.91* **`normal` est supérieur à zéro** : faites échouer le job si vous souhaitez conditionner la fusion. La clé `normal` contient le nombre de résultats Important : Claude a donc trouvé au moins un bug qui mérite d'être corrigé avant la fusion. Pour n'afficher que ce décompte, ajoutez `| .normal` avant le guillemet simple fermant.

84* **La ligne est absente** : considérez-la comme une absence de verdict plutôt que comme zéro résultat. Le check run d'une revue qui a échoué, expiré, été annulée ou remplacée par une plus récente ne comporte pas cette ligne, et certaines revues terminées n'en ont pas non plus.92* **La ligne est absente** : la commande affiche une erreur contenant `no severity line` au lieu des décomptes, et se termine avec un statut non nul. Considérez cela comme une absence de verdict plutôt que comme zéro résultat. Le check run d'une revue qui a échoué, expiré, été annulée ou remplacée par une plus récente ne comporte pas cette ligne, et certaines revues terminées n'en ont pas non plus.

85 93 

86## Demander une revue94## Demander une revue

87 95 


99 107 

100| Commande | Ce qu'elle fait | Quand l'utiliser |108| Commande | Ce qu'elle fait | Quand l'utiliser |

101| :- | :- | :- |109| :- | :- | :- |

102| `@claude review` | Lance une revue unique sans abonner la PR aux futurs push | Vous voulez une revue maintenant, par exemple sur une pull request d'un dépôt configuré sur Manual, ou une autre revue immédiatement dans les autres modes |110| `@claude review` | Lance une revue unique sans abonner la PR aux futurs push | Vous voulez une revue maintenant, par exemple sur une pull request d'un dépôt configuré sur **Manual**, ou une autre revue immédiatement dans les autres modes |

103| `@claude review always` | Lance une revue et abonne la PR aux revues déclenchées par push à l'avenir | Vous voulez que chaque push ultérieur lance une nouvelle revue, par exemple sur une PR prioritaire dans un dépôt configuré sur Manual |111| `@claude review always` | Lance une revue et abonne la PR aux revues déclenchées par push à l'avenir | Vous voulez que chaque push ultérieur lance une nouvelle revue, par exemple sur une PR prioritaire dans un dépôt configuré sur **Manual** |

104| `@claude review once` | Identique à `@claude review` : lance une revue unique sans abonnement | Les mêmes cas que `@claude review` |112| `@claude review once` | Identique à `@claude review` : lance une revue unique sans abonnement | Les mêmes cas que `@claude review` |

113| `@claude review stop` | Met fin à l'abonnement de la PR aux revues déclenchées par push, sans lancer de revue ni annuler une revue déjà en file d'attente ou en cours. Claude répond par un commentaire au lieu d'un check run. | Vous avez abonné une PR avec `@claude review always` dans un dépôt configuré sur **Manual** ou **Once after PR creation**, et ne voulez plus que chaque push lance une revue |

114| `@claude review off` ou `@claude review pause` | Identique à `@claude review stop` | Les mêmes cas que `@claude review stop` |

115 

116Dans un dépôt configuré sur **After every push**, vous ne pouvez pas arrêter les revues avec un commentaire, car les push y lancent des revues avec ou sans abonnement. Pour empêcher les push de lancer des revues sur une pull request de ce dépôt, convertissez-la en [brouillon](#review-drafts-and-pull-requests-from-forks). Lorsque vous la marquez à nouveau comme prête pour la revue, une revue démarre.

105 117 

106Pour que l'une de ces commandes lance une revue, toutes les conditions suivantes doivent être remplies :118Pour qu'une commande de commentaire prenne effet, toutes les conditions suivantes doivent être remplies :

107 119 

108* Publiez-la en tant que nouveau commentaire de premier niveau sur la pull request, et non en tant que commentaire en ligne sur une ligne du diff ni dans le corps d'une revue. La modification d'un commentaire précédent ne compte pas.120* Publiez-la en tant que nouveau commentaire de premier niveau sur la pull request, et non en tant que commentaire en ligne sur une ligne du diff ni dans le corps d'une revue. La modification d'un commentaire précédent ne compte pas.

109* Placez la commande au début du commentaire, avec `always` sur la même ligne que le reste de la commande. La casse n'a pas d'importance.121* Placez la commande entière sur une seule ligne au début du commentaire. D'autres textes peuvent la suivre. Si `always` ou `stop` est mal orthographié ou se trouve sur une ligne ultérieure, Claude interprète le commentaire comme un simple `@claude review` et lance une revue unique. La casse n'a pas d'importance.

110* Vous devez disposer de la permission write, maintain ou admin sur le dépôt. Claude vérifie cela auprès de GitHub pour chaque personne qui commente, et les commentaires de bots ne lancent pas de revues.122* Vous devez disposer de la permission write, maintain ou admin sur le dépôt. Claude vérifie cela auprès de GitHub pour chaque personne qui commente, et les commentaires de bots ne lancent pas de revues.

111* La pull request doit être ouverte.123* La pull request doit être ouverte.

112 124 

113Lorsque la commande est acceptée, un check run **Claude Code Review** apparaît sur la pull request avec le titre **Code review queued...**. Le titre devient **Code review in progress...** lorsque la revue démarre. Claude peut aussi réagir à votre commentaire avec 👀, mais cette réaction peut apparaître même lorsqu'aucune revue ne démarre : fiez-vous plutôt au check run.125Lorsqu'une commande qui lance une revue est acceptée, un check run **Claude Code Review** apparaît sur la pull request avec le titre **Code review queued...**. Le titre devient **Code review in progress...** lorsque la revue démarre. Claude peut aussi réagir à votre commentaire avec 👀, mais cette réaction peut apparaître même lorsqu'aucune revue ne démarre : fiez-vous plutôt au check run.

114 126 

115Si une revue est déjà en cours sur le dernier commit de la pull request, une nouvelle demande n'en lance pas une seconde.127Si une revue est déjà en cours sur le dernier commit de la pull request, une nouvelle demande n'en lance pas une seconde.

116 128 

Details

66 66 

67## Le check run mentionne REVIEW\.md67## Le check run mentionne REVIEW\.md

68 68 

69Deux des messages qu'un check run peut afficher à propos de `REVIEW.md` concernent la protection des branches :69Voici trois des messages qu'un check run peut afficher à propos de `REVIEW.md` :

70 70 

71* **« This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes. »** : la revue a lu uniquement le fichier racine. Consultez [Depuis quelle branche REVIEW.md est lu](/docs/fr/code-review-customize#which-branch-review-md-is-read-from) pour savoir ce que change la protection de la branche.71* **« This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes. »** : la revue a lu uniquement le fichier racine. Consultez [Depuis quelle branche REVIEW.md est lu](/docs/fr/code-review-customize#which-branch-review-md-is-read-from) pour savoir ce que change la protection de la branche.

72* **« were not applied to this review: branch protection could not be confirmed »** : la revue n'a lu aucun `REVIEW.md`.72* **« were not applied to this review: branch protection could not be confirmed »** : la revue n'a lu aucun `REVIEW.md`.

73* **« they link to a file this pull request modifies, or carry more links than the review checks »** : la revue a ignoré le `REVIEW.md` racine, ou le nombre de fichiers `REVIEW.md` de sous-répertoires indiqué par le message. Vérifiez le fichier ignoré pour chacune des causes. Pour le `REVIEW.md` racine, vérifiez également les [fichiers qu'il inclut](/docs/fr/code-review-customize#include-other-files-in-review-md) :

74 * **Trop de liens** : il contient plus de 64 liens Markdown. Réduisez les liens à [64 ou moins](/docs/fr/code-review-customize#include-other-files-in-review-md).

75 * **Un lien que la revue ne peut pas analyser** : il contient un lien Markdown mal formé. Corrigez ou supprimez le lien.

76 * **Un lien vers un fichier modifié** : il pointe vers un fichier ou un dossier que cette pull request modifie, et la revue n'a pas pu exclure uniquement les lignes contenant ce lien. Rédigez la règle directement dans `REVIEW.md`.

73 77 

74## Problèmes de configuration78## Problèmes de configuration

75 79 

commands.md +5 −5

Details

26 26 

27**Avant de livrer.** `/diff` affiche ce qui a changé. `/code-review` vérifie la différence actuelle pour les bogues de correction et peut appliquer les résultats avec `--fix` ; transmettez un numéro de PR, tel que `/code-review high 1234`, pour examiner une demande de tirage à la place. `/review` est un alias. `/code-review ultra` exécute un examen multi-agents dans le cloud. `/security-review` vérifie la différence pour les vulnérabilités de sécurité.27**Avant de livrer.** `/diff` affiche ce qui a changé. `/code-review` vérifie la différence actuelle pour les bogues de correction et peut appliquer les résultats avec `--fix` ; transmettez un numéro de PR, tel que `/code-review high 1234`, pour examiner une demande de tirage à la place. `/review` est un alias. `/code-review ultra` exécute un examen multi-agents dans le cloud. `/security-review` vérifie la différence pour les vulnérabilités de sécurité.

28 28 

29**Entre les sessions.** `/clear` commence une nouvelle tâche tout en conservant la mémoire du projet. `/resume` revient à une conversation antérieure, `/branch` crée une branche de la conversation actuelle pour essayer une direction différente, et `/fork` la copie dans une nouvelle [session en arrière-plan](/docs/fr/agent-view). `/teleport` extrait une session web dans ce terminal, et `/remote-control` vous permet de continuer cette session locale à partir d'un autre appareil.29**Entre les sessions.** `/clear` commence une nouvelle tâche tout en conservant la mémoire du projet. `/resume` revient à une conversation antérieure, `/branch` crée une branche de la conversation actuelle pour essayer une direction différente, et `/fork` la copie dans une nouvelle [session en arrière-plan](/docs/fr/agent-view). `/teleport` extrait une session cloud dans ce terminal, et `/remote-control` vous permet de continuer cette session locale à partir d'un autre appareil.

30 30 

31**Quand quelque chose ne va pas.** `/rewind` restaure le code et la conversation à un point de contrôle, ou résume une partie de la conversation. `/doctor` exécute une vérification de configuration qui diagnostique les problèmes d'installation et de configuration et peut les corriger, `/debug` diagnostique les problèmes d'exécution, et `/feedback` signale un bogue avec le contexte de la session joint.31**Quand quelque chose ne va pas.** `/rewind` restaure le code et la conversation à un point de contrôle, ou résume une partie de la conversation. `/doctor` exécute une vérification de configuration qui diagnostique les problèmes d'installation et de configuration et peut les corriger, `/debug` diagnostique les problèmes d'exécution, et `/feedback` signale un bogue avec le contexte de la session joint.

32 32 


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

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

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

58| `/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 |58| `/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. Sur un plan Pro, Max ou Team, nécessite Claude Code v2.1.228 ou ultérieur, ou la v2.1.233 ou ultérieur sur Windows natif. Sur un plan Entreprise ou avec une clé API Claude Console, nécessite la v2.1.283 ou ultérieur. Si la commande est absente, consultez [`/auto-mode-setup` renvoie « Unknown command »](/docs/fr/auto-mode-config#auto-mode-setup-returns-unknown-command) |

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

60| `/autofix-pr [prompt]` | Générer une [session cloud](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) qui surveille la PR de la branche actuelle et pousse les corrections lorsque l'intégration continue échoue ou que les relecteurs laissent des commentaires. Détecte la PR ouverte à partir de votre branche extraite avec `gh pr view` ; pour surveiller une autre PR, extrayez d'abord sa branche. Par défaut, la session cloud est invitée à corriger chaque échec d'intégration continue et chaque commentaire de relecteur ; passez un prompt pour lui donner des instructions différentes, par exemple `/autofix-pr only fix lint and type errors`. Nécessite la CLI `gh` et l'accès aux [sessions cloud](/docs/fr/claude-code-on-the-web) |60| `/autofix-pr [prompt]` | Générer une [session cloud](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) qui surveille la PR de la branche actuelle et pousse les corrections lorsque l'intégration continue échoue ou que les relecteurs laissent des commentaires. Détecte la PR ouverte à partir de votre branche extraite avec `gh pr view` ; pour surveiller une autre PR, extrayez d'abord sa branche. Par défaut, la session cloud est invitée à corriger chaque échec d'intégration continue et chaque commentaire de relecteur ; passez un prompt pour lui donner des instructions différentes, par exemple `/autofix-pr only fix lint and type errors`. Nécessite la CLI `gh` et l'accès aux [sessions cloud](/docs/fr/claude-code-on-the-web) |

61| `/background [prompt]` | Détacher la session actuelle pour s'exécuter en tant qu'[agent en arrière-plan](/docs/fr/agent-view) et libérer ce terminal. Passez un prompt pour envoyer une instruction supplémentaire avant de détacher. Surveillez la session avec `claude agents`. Pour copier la conversation dans une nouvelle session en arrière-plan tandis que celle-ci continue de s'exécuter, utilisez `/fork`. Alias : `/bg` |61| `/background [prompt]` | Détacher la session actuelle pour s'exécuter en tant qu'[agent en arrière-plan](/docs/fr/agent-view) et libérer ce terminal. Passez un prompt pour envoyer une instruction supplémentaire avant de détacher. Surveillez la session avec `claude agents`. Pour copier la conversation dans une nouvelle session en arrière-plan tandis que celle-ci continue de s'exécuter, utilisez `/fork`. Alias : `/bg` |


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

66| `/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. 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) |66| `/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. 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) |

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

68| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|managed-agents-secure\|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) |68| `/claude-api [migrate\|upgrade\|api-version\|managed-agents-onboard\|managed-agents-secure\|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) |

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

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

71| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/fr/skills#bundled-skills).** Examiner le diff actuel, ou un numéro de PR, une branche ou un chemin que vous passez, pour les bogues de correction. Selon votre modèle et votre niveau d'effort, la revue couvre également les opportunités de nettoyage. Passez `--fix` pour que Claude applique les résultats, `--comment` pour les publier sur la PR GitHub ou la merge request GitLab, ou `ultra` pour exécuter une [revue cloud](/docs/fr/ultrareview) approfondie. La publication sur une merge request GitLab nécessite Claude Code v2.1.257 ou ultérieur. Avec `ultra` sur une cible de PR `github.com`, passez `--post` pour présélectionner [la publication des résultats terminés sur la pull request](/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 [Effectuer une revue locale avec `/code-review`](/docs/fr/code-review-local) pour les niveaux d'effort, le ciblage et la relation avec `/simplify`. Alias : `/review` |71| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/fr/skills#bundled-skills).** Examiner le diff actuel, ou un numéro de PR, une branche ou un chemin que vous passez, pour les bogues de correction. Selon votre modèle et votre niveau d'effort, la revue couvre également les opportunités de nettoyage. Passez `--fix` pour que Claude applique les résultats, `--comment` pour les publier sur la PR GitHub ou la merge request GitLab, ou `ultra` pour exécuter une [revue cloud](/docs/fr/ultrareview) approfondie. La publication sur une merge request GitLab nécessite Claude Code v2.1.257 ou ultérieur. Avec `ultra` sur une cible de PR `github.com`, passez `--post` pour présélectionner [la publication des résultats terminés sur la pull request](/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 [Effectuer une revue locale avec `/code-review`](/docs/fr/code-review-local) pour les niveaux d'effort, le ciblage et la relation avec `/simplify`. Alias : `/review` |


80| `/deep-research <question>` | **[Workflow](/docs/fr/workflows#bundled-workflows).** Distribuer les recherches web sur une question, récupérer et vérifier les sources, et synthétiser un rapport cité |80| `/deep-research <question>` | **[Workflow](/docs/fr/workflows#bundled-workflows).** Distribuer les recherches web sur une question, récupérer et vérifier les sources, et synthétiser un rapport cité |

81| `/design [brief]` | **[Skill](/docs/fr/skills#bundled-skills).** Rédiger des maquettes d'interface utilisateur, des flux d'écran, des pages de destination ou des affiches sous forme de plans de travail sur un seul canevas, publiés en tant qu'[artefact](/docs/fr/artifacts#draft-a-design-canvas) Claude Design, par exemple `/design a settings screen for a mobile banking app`. Vous modifiez les plans de travail dans un navigateur de bureau, et vos modifications s'enregistrent automatiquement. Vous pouvez exporter chaque plan de travail en PNG ou PDF. Nécessite Claude Code v2.1.265 ou ultérieur, une session où les [artefacts sont disponibles](/docs/fr/artifacts#availability), et un compte où le [modèle Design est disponible](/docs/fr/artifacts#start-from-a-slides-design-or-docs-template) ; si votre organisation a désactivé ce modèle, `/design` ne rédige pas de conceptions. Disponible sur l'API Anthropic. Sur Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry et Claude Platform sur AWS, les artefacts ne sont pas disponibles, donc la commande n'est pas disponible là-bas |81| `/design [brief]` | **[Skill](/docs/fr/skills#bundled-skills).** Rédiger des maquettes d'interface utilisateur, des flux d'écran, des pages de destination ou des affiches sous forme de plans de travail sur un seul canevas, publiés en tant qu'[artefact](/docs/fr/artifacts#draft-a-design-canvas) Claude Design, par exemple `/design a settings screen for a mobile banking app`. Vous modifiez les plans de travail dans un navigateur de bureau, et vos modifications s'enregistrent automatiquement. Vous pouvez exporter chaque plan de travail en PNG ou PDF. Nécessite Claude Code v2.1.265 ou ultérieur, une session où les [artefacts sont disponibles](/docs/fr/artifacts#availability), et un compte où le [modèle Design est disponible](/docs/fr/artifacts#start-from-a-slides-design-or-docs-template) ; si votre organisation a désactivé ce modèle, `/design` ne rédige pas de conceptions. Disponible sur l'API Anthropic. Sur Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry et Claude Platform sur AWS, les artefacts ne sont pas disponibles, donc la commande n'est pas disponible là-bas |

82| `/design consent`, `/design revoke` | Accorder à Claude l'accès à [Claude Design](https://claude.ai/design), ou le retirer. Lorsqu'une réponse de Claude vous demande d'exécuter `/design consent`, tapez-la vous-même dans le prompt de Claude Code |82| `/design consent`, `/design revoke` | Accorder à Claude l'accès à [Claude Design](https://claude.ai/design), ou le retirer. Lorsqu'une réponse de Claude vous demande d'exécuter `/design consent`, tapez-la vous-même dans le prompt de Claude Code |

83| `/design-login` | Autoriser l'accès au système de conception pour `/design-sync` avec votre compte claude.ai. Connectez-vous avec `/design-login` chaque fois que `/design-sync` ou `/design consent` vous le demande |83| `/design-login` | Autoriser l'accès au système de conception pour `/design-sync` avec votre compte claude.ai. Connectez-vous avec `/design-login` chaque fois que `/design-sync` ou `/design consent` vous le demande. Cette connexion concerne le site autonome Claude Design à l'adresse claude.ai/design, qui ferme au plus tard le 14/12/2026 ; consultez [Migrate from standalone Claude Design to Claude](https://support.claude.com/en/articles/17440474-migrate-from-standalone-claude-design-to-claude) |

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

85| `/desktop` | Continuer la session actuelle dans l'application Claude Code Desktop. Nécessite macOS ou Windows x64 et un abonnement Claude. Alias : `/app` |85| `/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) |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) |

87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/fr/skills#bundled-skills).** Exécuter une vérification de configuration qui diagnostique les problèmes d'installation, de paramètres, d'extensions et de `CLAUDE.md`, et propose des corrections que Claude applique après votre confirmation. Pour ce que couvre la vérification, ou pour auditer plutôt vos instructions avec `prompt-audit`, consultez [Vérifier votre configuration avec `/doctor`](/docs/fr/skills#check-your-setup-with-/doctor). La sous-commande `prompt-audit` nécessite Claude Code v2.1.283 ou ultérieur. Alias : `/checkup` |87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/fr/skills#bundled-skills).** Exécuter une vérification de configuration qui diagnostique les problèmes d'installation, de paramètres, d'extensions et de `CLAUDE.md`, et propose des corrections que Claude applique après votre confirmation. Pour ce que couvre la vérification, ou pour auditer plutôt vos instructions avec `prompt-audit`, consultez [Vérifier votre configuration avec `/doctor`](/docs/fr/skills#check-your-setup-with-/doctor). La sous-commande `prompt-audit` nécessite Claude Code v2.1.283 ou ultérieur. Alias : `/checkup` |

Details

379 379 

380Pour empêcher les références `@` d'inclure le contenu des fichiers et les listes de répertoires dans votre message, définissez [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/fr/env-vars#variables) dans votre shell ou vos paramètres utilisateur. Claude reçoit alors les chemins que vous avez référencés, accompagnés d'une note lui indiquant de les lire à l'aide de ses outils de fichiers. La variable nécessite Claude Code v2.1.299 ou une version ultérieure, et Claude Code l'ignore dans les paramètres de projet et locaux.380Pour empêcher les références `@` d'inclure le contenu des fichiers et les listes de répertoires dans votre message, définissez [`CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`](/docs/fr/env-vars#variables) dans votre shell ou vos paramètres utilisateur. Claude reçoit alors les chemins que vous avez référencés, accompagnés d'une note lui indiquant de les lire à l'aide de ses outils de fichiers. La variable nécessite Claude Code v2.1.299 ou une version ultérieure, et Claude Code l'ignore dans les paramètres de projet et locaux.

381 381 

382Vos [hooks `PreToolUse`](/docs/fr/hooks#pretooluse) ne s'exécutent pas lorsque Claude Code inclut un fichier que vous référencez avec `@`, car il n'effectue aucun appel d'outil. Si vous comptez sur ces hooks pour contrôler ce que Claude lit, bloquez des chemins spécifiques ou empêchez les références `@` d'inclure des fichiers :

383 

384* **Bloquer des chemins spécifiques** : ajoutez une [règle de refus `Read`](/docs/fr/permissions#read-and-edit) pour ces chemins. Claude Code n'inclut pas un fichier auquel la règle correspond.

385* **Empêcher les références `@` d'inclure des fichiers** : définissez `CLAUDE_CODE_DISABLE_FILE_MENTIONS=1`, ce qui empêche les références `@` de fichiers et de répertoires dans vos messages d'inclure du contenu, même pour les chemins que vos hooks ne vérifient pas. Vos hooks correspondants s'exécutent alors avant que Claude n'ouvre un chemin référencé avec un outil tel que `Read`.

386 

382***387***

383 388 

384### Exécuter Claude selon un calendrier389### Exécuter Claude selon un calendrier

costs.md +24 −5

Details

55 55 

56#### Ventilation de l'utilisation du plan56#### Ventilation de l'utilisation du plan

57 57 

58Sur un plan Pro, Max, Team ou Enterprise, `/usage` affiche également une ventilation de ce qui compte par rapport à vos limites de plan :58Sur un plan Pro, Max, Team ou Enterprise, `/usage` affiche également une ventilation de ce qui compte par rapport à vos limites de plan, accompagnée de recommandations :

59 59 

60* **Attribution** : utilisation récente attribuée aux skills, subagents, plugins et serveurs MCP individuels, chacun affiché en pourcentage du total. La part d'un serveur MCP compte uniquement les demandes qui ont consommé l'un de ses résultats d'outils. Avant la v2.1.222, après un appel à un serveur MCP, Claude Code attribuait chaque demande ultérieure à ce serveur, surestimant sa part.60* **Attribution** : utilisation récente attribuée aux skills, subagents, plugins et serveurs MCP individuels, chacun affiché en pourcentage du total. La part d'un serveur MCP compte uniquement les demandes qui ont consommé l'un de ses résultats d'outils. Avant la v2.1.222, après un appel à un serveur MCP, Claude Code attribuait chaque demande ultérieure à ce serveur, surestimant sa part.

61* **Behavior flags** : comportements tels que le contexte long ou les défauts de cache, signalés quand l'un d'eux représente 10 % ou plus de l'utilisation récente.61* **Recommendations** : des modifications qui réduisent votre utilisation, une par ligne. Chaque ligne commence par la part de l'utilisation récente qu'elle concerne, au moins 10 %, comme dans `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request`. Pour que Claude Code applique celles qu'il peut traiter, consultez [Appliquer les recommandations avec le raccourci de correction](#apply-recommendations-with-the-fix-shortcut).

62* **Loops** : une ligne pour chacune des tâches [`/loop` ou autres tâches planifiées limitées à la session](/docs/fr/scheduled-tasks) les plus lourdes qui ont été exécutées récemment, ordonnées par tokens totaux, avec un décompte du reste. Nécessite Claude Code v2.1.242 ou version ultérieure.62* **Loops** : une ligne pour chacune des tâches [`/loop` ou autres tâches planifiées limitées à la session](/docs/fr/scheduled-tasks) les plus lourdes qui ont été exécutées récemment, ordonnées par tokens totaux, avec un décompte du reste. Nécessite Claude Code v2.1.242 ou version ultérieure.

63 * **Ce que rapporte chaque ligne** : la fréquence de déclenchement de la tâche, le nombre de fois qu'elle a été exécutée, ses tokens totaux et par exécution, et quand elle a été exécutée pour la dernière fois63 * **Ce que rapporte chaque ligne** : la fréquence de déclenchement de la tâche, le nombre de fois qu'elle a été exécutée, ses tokens totaux et par exécution, et quand elle a été exécutée pour la dernière fois

64 * **Boucles arrêtées et recréées** : Claude Code identifie une ligne par le prompt de la tâche, donc une boucle que vous arrêtez et recréez reste une seule ligne64 * **Boucles arrêtées et recréées** : Claude Code identifie une ligne par le prompt de la tâche, donc une boucle que vous arrêtez et recréez reste une seule ligne

65 65 

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

67 67 

68Dans l'[extension VS Code](/docs/fr/vs-code#check-account-and-usage), les parts d'attribution et les drapeaux de comportement apparaissent dans la boîte de dialogue Compte et utilisation avec un bouton bascule Jour et Semaine, sans les lignes Loops.68Dans l'[extension VS Code](/docs/fr/vs-code#check-account-and-usage), les parts d'attribution et les recommandations apparaissent dans la boîte de dialogue Compte et utilisation avec un bouton bascule Jour et Semaine, sans les lignes Loops.

69 

70#### Appliquer les recommandations avec le raccourci de correction

71 

72Quand le pied de page de `/usage` affiche une indication telle que `f to fix 2 of 3`, appuyez sur `f` pour que Claude Code agisse sur les recommandations qu'il peut traiter. Le raccourci `f` nécessite Claude Code v2.1.305 ou version ultérieure.

73 

741. Une fois le tour en cours terminé, Claude Code exécute chaque commande [`/effort`](/docs/fr/model-config#adjust-effort-level) affichée dans une ligne sans `run`.

752. Claude reçoit ensuite un seul prompt contenant une étape pour chacune des autres lignes sur lesquelles il peut agir. Le prompt demande à Claude de vous montrer chaque modification avant de l'effectuer.

76 

77Pour savoir ce que fait l'appui sur `f` pour chacune de vos lignes, repérez la forme de la ligne dans la première colonne :

78 

79| Forme de la ligne | Exemple de ligne | Quand vous appuyez sur `f` |

80| :- | :- | :- |

81| Se termine par une commande `/effort` sans `run` devant | `40% Switch from max to high effort · /effort high` | Claude Code exécute la commande |

82| Se termine par `run` et une commande | `30% Compact before you step away · run /compact` | Rien ne se passe pour cette ligne. Exécutez la commande vous-même dans l'invite de Claude Code |

83| Se termine par autre chose | `25% Trim ~/code/api/CLAUDE.md · 49k tokens per request` | Claude reçoit une étape dans le prompt pour certaines de ces lignes, et rien ne se passe pour les autres. Si Claude ne vous montre aucune modification pour une ligne, suivez cette recommandation vous-même |

84 

85Dans `f to fix 2 of 3`, le premier nombre compte les lignes sur lesquelles Claude Code agit quand vous appuyez sur `f`, et le second compte les lignes affichées. Une indication sans `of`, telle que `f to fix both`, signifie que Claude Code agit sur chaque ligne affichée.

86 

87Tant que [Remote Control](/docs/fr/remote-control) est connecté, le pied de page n'affiche aucune indication `f`. Si l'appui sur `f` ferme `/usage` avec `Nothing was sent. Turn off Remote Control to use fixes.`, c'est que Remote Control s'est connecté pendant que `/usage` était ouvert. Pour utiliser à nouveau `f`, [déconnectez Remote Control](/docs/fr/remote-control#check-connection-status), puis exécutez `/usage` dans l'invite de Claude Code et appuyez à nouveau sur `f`.

69 88 

70#### Vérifier vos dépenses en crédits d'utilisation89#### Vérifier vos dépenses en crédits d'utilisation

71 90 


367Une session qui a été ouverte pendant des heures peut utiliser bien plus de vos limites de plan que votre activité ne le suggère, généralement pour l'une de ces raisons :386Une session qui a été ouverte pendant des heures peut utiliser bien plus de vos limites de plan que votre activité ne le suggère, généralement pour l'une de ces raisons :

368 387 

369* **Contexte long** : Claude Code envoie votre conversation complète avec chaque requête, et chaque fois que Claude utilise des outils, il envoie une autre requête contenant ce lot de résultats d'outils. Avec la [mise en cache des invites](/docs/fr/prompt-caching), Claude Code relit cet historique au [taux de jetons mis en cache](https://platform.claude.com/docs/en/about-claude/pricing), donc une question d'une ligne dans une session ouverte toute la journée consomme quand même l'utilisation pour toute la conversation. Consultez [Gérer le contexte de manière proactive](#manage-context-proactively) pour découvrir des façons de garder votre contexte petit388* **Contexte long** : Claude Code envoie votre conversation complète avec chaque requête, et chaque fois que Claude utilise des outils, il envoie une autre requête contenant ce lot de résultats d'outils. Avec la [mise en cache des invites](/docs/fr/prompt-caching), Claude Code relit cet historique au [taux de jetons mis en cache](https://platform.claude.com/docs/en/about-claude/pricing), donc une question d'une ligne dans une session ouverte toute la journée consomme quand même l'utilisation pour toute la conversation. Consultez [Gérer le contexte de manière proactive](#manage-context-proactively) pour découvrir des façons de garder votre contexte petit

370* **Absences de cache** : votre premier message après une pause plus longue que la [durée de vie du cache](/docs/fr/prompt-caching#cache-lifetime) manque le cache et retraite votre contexte complet. La durée de vie est d'une heure sur un abonnement et tombe à cinq minutes une fois que vous utilisez des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) ; sur une clé API ou un fournisseur cloud, c'est cinq minutes par défaut. Pour conserver la durée de vie d'une heure tout en utilisant des crédits d'utilisation, [choisissez vous-même le TTL](/docs/fr/prompt-caching#choose-the-ttl-yourself)389* **Absences de cache** : votre premier message après une pause plus longue que la [durée de vie du cache](/docs/fr/prompt-caching#cache-lifetime) manque le cache et retraite votre contexte complet. Consultez [quelle durée de vie s'applique à vos requêtes](/docs/fr/prompt-caching#which-ttl-each-request-gets) et [les paramètres permettant de la définir](/docs/fr/prompt-caching#choose-the-ttl-yourself)

371* **Tâches planifiées** : une [tâche planifiée limitée à la session](/docs/fr/scheduled-tasks) s'exécute selon son intervalle même pendant que la session est inactive, envoyant votre contexte complet à chaque fois390* **Tâches planifiées** : une [tâche planifiée limitée à la session](/docs/fr/scheduled-tasks) s'exécute selon son intervalle même pendant que la session est inactive, envoyant votre contexte complet à chaque fois

372* **Messages entre sessions** : Claude Code livre un [message d'une autre de vos sessions](/docs/fr/cross-session-messaging) comme un nouveau tour lorsque cette session est inactive, envoyant votre contexte complet à chaque fois. Pour retenir les messages entrants au lieu de les livrer, définissez [`crossSessionInbound`](/docs/fr/settings-reference#crosssessioninbound) sur `hold`391* **Messages entre sessions** : Claude Code livre un [message d'une autre de vos sessions](/docs/fr/cross-session-messaging) comme un nouveau tour lorsque cette session est inactive, envoyant votre contexte complet à chaque fois. Pour retenir les messages entrants au lieu de les livrer, définissez [`crossSessionInbound`](/docs/fr/settings-reference#crosssessioninbound) sur `hold`

373* **Vérifications d'objectifs** : tandis que le travail en arrière-plan maintient un [objectif](/docs/fr/goal) actif en attente, Claude Code [demande à Claude de vérifier ce travail](/docs/fr/goal#background-work-defers-evaluation) même lorsque la session est inactive, en commençant un nouveau tour qui envoie votre contexte complet. Claude Code démarre au maximum trois vérifications inactives par objectif entre vos invites. Avant la v2.1.246, les vérifications inactives n'étaient pas limitées. Pour désactiver les vérifications, définissez [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/fr/env-vars) sur `0`. Les vérifications inactives nécessitent Claude Code v2.1.236 ou version ultérieure392* **Vérifications d'objectifs** : tandis que le travail en arrière-plan maintient un [objectif](/docs/fr/goal) actif en attente, Claude Code [demande à Claude de vérifier ce travail](/docs/fr/goal#background-work-defers-evaluation) même lorsque la session est inactive, en commençant un nouveau tour qui envoie votre contexte complet. Claude Code démarre au maximum trois vérifications inactives par objectif entre vos invites. Avant la v2.1.246, les vérifications inactives n'étaient pas limitées. Pour désactiver les vérifications, définissez [`CLAUDE_CODE_GOAL_CHECKIN_MINUTES`](/docs/fr/env-vars) sur `0`. Les vérifications inactives nécessitent Claude Code v2.1.236 ou version ultérieure


375* **Coéquipiers agents** : chaque [coéquipier](#agent-team-token-costs) actif continue de consommer des jetons jusqu'à sa sortie394* **Coéquipiers agents** : chaque [coéquipier](#agent-team-token-costs) actif continue de consommer des jetons jusqu'à sa sortie

376* **Compaction** : `/compact` lit la conversation qu'il résume, donc [compacter un grand contexte](/docs/fr/prompt-caching#compacting-the-conversation) est en soi une grande requête. Lorsque vous voulez un nouveau départ au lieu de continuité, `/clear` ne coûte rien395* **Compaction** : `/compact` lit la conversation qu'il résume, donc [compacter un grand contexte](/docs/fr/prompt-caching#compacting-the-conversation) est en soi une grande requête. Lorsque vous voulez un nouveau départ au lieu de continuité, `/clear` ne coûte rien

377 396 

378Sur un plan Pro, Max, Team ou Enterprise, la répartition `/usage` signale les comportements qui représentent 10 % ou plus de votre utilisation récente, comme un contexte long ou des absences de cache, chacun avec un conseil pour le réduire.397Sur un plan Pro, Max, Team ou Enterprise, la [répartition `/usage`](#plan-usage-breakdown) recommande un changement pour les comportements qui représentent 10 % ou plus de votre utilisation récente, comme un contexte long ou des absences de cache.

379 398 

380## Comprendre les changements de comportement de Claude Code399## Comprendre les changements de comportement de Claude Code

381 400 

Details

228* **Avant la date limite** : si un mode ou changement de paramètres permet le message, Claude Code le livre.228* **Avant la date limite** : si un mode ou changement de paramètres permet le message, Claude Code le livre.

229* **Au-delà de la date limite** : Claude Code supprime le message et le rapporte comme expiré à un expéditeur qu'il peut atteindre.229* **Au-delà de la date limite** : Claude Code supprime le message et le rapporte comme expiré à un expéditeur qu'il peut atteindre.

230 230 

231Définissez `dialogExpiry` à `"never"` pour garder les messages retenus par défaut jusqu'à ce que la session se termine. Un message retenu par un paramètre `hold` explicite n'expire pas ; Claude Code le livre seulement quand un `accept` s'applique plus tard.231Définissez `dialogExpiry` à `"never"` pour garder les messages retenus par défaut jusqu'à ce que la session se termine. Un message retenu par un paramètre `hold` explicite n'expire pas ; Claude Code le livre quand un `accept` s'applique plus tard.

232 232 

233Pour laisser un worker `-p` prendre des messages sans surveillance, démarrez-le avec `crossSessionInbound` défini à `accept` dans sa valeur `--settings`. Un `accept` dans vos paramètres utilisateur fonctionne aussi mais s'applique à chaque session que vous exécutez.233Pour laisser un worker `-p` prendre des messages sans surveillance, démarrez-le avec `crossSessionInbound` défini à `accept` dans sa valeur `--settings`. Un `accept` dans vos paramètres utilisateur fonctionne aussi mais s'applique à chaque session que vous exécutez.

234 234 

desktop.md +15 −8

Details

6 6 

7> Tirez le meilleur parti de Claude Code Desktop : sessions parallèles avec isolation Git, disposition des volets par glisser-déposer, terminal intégré et éditeur de fichiers, chats latéraux, utilisation informatique, sessions Dispatch depuis votre téléphone, examen visuel des différences, aperçus d'applications, surveillance des PR, connecteurs et configuration d'entreprise.7> Tirez le meilleur parti de Claude Code Desktop : sessions parallèles avec isolation Git, disposition des volets par glisser-déposer, terminal intégré et éditeur de fichiers, chats latéraux, utilisation informatique, sessions Dispatch depuis votre téléphone, examen visuel des différences, aperçus d'applications, surveillance des PR, connecteurs et configuration d'entreprise.

8 8 

9L'application Claude Desktop a trois onglets : **Chat** pour les conversations, **Cowork** pour [Dispatch et les travaux agentiques plus longs](https://claude.com/product/cowork), et **Code** pour le développement logiciel. Cette page est la référence pour l'onglet Code.9Dans l'application Claude Desktop, Claude Code correspond à l'onglet **Code**. L'application propose également le chat et [Cowork](https://claude.com/product/cowork), qui gère Dispatch et les travaux agentiques plus longs. Cette page est la référence pour l'onglet Code.

10 10 

11> **[Télécharger pour macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**11> **[Télécharger pour macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**

12>12>


214 214 

215### Voir les détails de la session215### Voir les détails de la session

216 216 

217Le panneau des détails de la session est un ensemble de cartes à côté du chat qui indiquent où la session s'exécute, ce qu'elle a modifié et ce qu'elle exécute. Le panneau apparaît après que vous avez démarré une session, tant que le chat est suffisamment large pour l'afficher.217Le panneau des détails de la session est un ensemble de cartes à côté du chat qui indiquent où la session s'exécute, ce qu'elle a modifié, ce qu'elle exécute et son utilisation du contexte. Le panneau apparaît après que vous avez démarré une session, tant que le chat est suffisamment large pour l'afficher.

218 218 

219#### Masquer ou afficher le panneau des détails de la session219#### Masquer ou afficher le panneau des détails de la session

220 220 


298 298 

299### Vérifier l'utilisation299### Vérifier l'utilisation

300 300 

301Cliquez sur l'anneau d'utilisation à côté du sélecteur de modèle pour voir votre utilisation actuelle de la fenêtre de contexte et votre utilisation du plan pour la période. L'utilisation du contexte est par session ; l'utilisation du plan est partagée sur toutes vos surfaces Claude Code.301Pour voir à quel point la fenêtre de contexte de cette session est remplie, identifiez votre disposition de l'onglet Code :

302 

303* **Disposition actuelle** : l'en-tête de la carte **Contexte** dans le [panneau des détails de la session](#see-session-details) l'indique sous forme de pourcentage. Ouvrez la carte pour voir ce qui utilise la fenêtre, par catégorie.

304* **[Disposition précédente](#check-which-layout-you-have)** : cliquez sur l'anneau d'utilisation à côté du sélecteur de modèle. Sa fenêtre contextuelle affiche votre utilisation de la fenêtre de contexte.

305 

306Quelle que soit la disposition, tapez `/context` dans la zone de prompt pour afficher dans le chat une répartition par catégorie de la fenêtre de contexte de cette session.

307 

308Les deux dispositions comportent l'anneau d'utilisation à côté du sélecteur de modèle. Cliquez dessus pour voir votre utilisation du plan, qui est partagée sur toutes vos surfaces Claude Code.

302 309 

303## Laisser Claude utiliser votre ordinateur310## Laisser Claude utiliser votre ordinateur

304 311 


398 405 

399> [!NOTE]406> [!NOTE]

400>407>

401> L'isolation des sessions nécessite [Git](https://git-scm.com/downloads). La plupart des Macs incluent Git par défaut. Exécutez `git --version` dans Terminal pour vérifier ; s'il affiche un numéro de version, Git est installé. Si vous rencontrez des erreurs Git, demandez à Claude dans l'[onglet Cowork](https://claude.com/product/cowork) de vous aider à dépanner votre configuration.408> L'isolation des sessions nécessite [Git](https://git-scm.com/downloads). La plupart des Macs incluent Git par défaut. Exécutez `git --version` dans Terminal pour vérifier ; s'il affiche un numéro de version, Git est installé. Si vous rencontrez des erreurs Git, demandez à Claude dans [Cowork](https://claude.com/product/cowork) de vous aider à dépanner votre configuration.

402 409 

403### Ajouter des dossiers à une session410### Ajouter des dossiers à une session

404 411 


462 469 

463Quand Claude envoie un message à une autre session à travers cette surface, Claude Code l'affiche là comme une carte étiquetée avec le titre de la session d'envoi et un lien de retour, donc vous pouvez toujours dire d'où vient un message. Si la session réceptrice est en cours de tâche, Claude Code retient le message et Claude le lit une fois le travail actuel terminé. Le Claude récepteur peut répondre, et Claude Code livre la réponse en retour à travers cette surface. Claude ne peut pas livrer à une session archivée, et vous dit quand un message ne passe pas.470Quand Claude envoie un message à une autre session à travers cette surface, Claude Code l'affiche là comme une carte étiquetée avec le titre de la session d'envoi et un lien de retour, donc vous pouvez toujours dire d'où vient un message. Si la session réceptrice est en cours de tâche, Claude Code retient le message et Claude le lit une fois le travail actuel terminé. Le Claude récepteur peut répondre, et Claude Code livre la réponse en retour à travers cette surface. Claude ne peut pas livrer à une session archivée, et vous dit quand un message ne passe pas.

464 471 

465Claude Code applique quatre comportements de sécurité entre les sessions :472Claude Code applique trois comportements de sécurité entre les sessions :

466 473 

467* Vous voyez une carte d'approbation avant que Claude n'archive une session, sauf en mode auto et en mode Bypass permissions, où Claude peut archiver une session sans carte. Pour que Claude vous le demande, passez en mode Manual.474* Vous voyez une carte d'approbation avant que Claude n'archive une session, sauf en mode auto et en mode Bypass permissions, où Claude peut archiver une session sans carte. Pour que Claude vous le demande, passez en mode Manual.

468* À travers cette surface, Claude ne peut pas envoyer de messages entre sessions à partir d'une session que personne ne regarde, comme une exécution de tâche planifiée, et ne peut pas livrer de messages dans une.

469* Claude Code vérifie chaque message de cette surface par rapport aux [contrôles entrants](/docs/fr/cross-session-messaging#control-inbound-messages) de la session réceptrice, même quand la session réceptrice n'a pas [la messagerie entre sessions](/docs/fr/cross-session-messaging#availability) elle-même. Si vous définissez [`crossSessionInbound`](/docs/fr/settings-reference#crosssessioninbound) à `refuse` dans la session réceptrice, Claude Code supprime les messages de cette surface. Claude Code signale le refus à l'application de bureau Claude. Avant v2.1.234, Claude Code supprimait chaque message de cette surface vers une session réceptrice sans messagerie entre sessions.475* Claude Code vérifie chaque message de cette surface par rapport aux [contrôles entrants](/docs/fr/cross-session-messaging#control-inbound-messages) de la session réceptrice, même quand la session réceptrice n'a pas [la messagerie entre sessions](/docs/fr/cross-session-messaging#availability) elle-même. Si vous définissez [`crossSessionInbound`](/docs/fr/settings-reference#crosssessioninbound) à `refuse` dans la session réceptrice, Claude Code supprime les messages de cette surface. Claude Code signale le refus à l'application de bureau Claude. Avant v2.1.234, Claude Code supprimait chaque message de cette surface vers une session réceptrice sans messagerie entre sessions.

470* Claude Code cite chaque message entrant et l'attribue à la session qui l'a envoyé, et Claude suit toujours les paramètres de permission propres de la session réceptrice quand il agit sur un.476* Claude Code cite chaque message entrant et l'attribue à la session qui l'a envoyé, et Claude suit toujours les paramètres de permission propres de la session réceptrice quand il agit sur un.

471 477 


514 520 

515### Sessions depuis Dispatch521### Sessions depuis Dispatch

516 522 

517[Dispatch](https://support.claude.com/en/articles/13947068) est une conversation persistante avec Claude qui vit dans l'onglet [Cowork](https://claude.com/product/cowork). Vous envoyez un message à Dispatch avec une tâche, et il décide comment la gérer.523[Dispatch](https://support.claude.com/en/articles/13947068) est une conversation persistante avec Claude qui vit dans [Cowork](https://claude.com/product/cowork). Vous envoyez un message à Dispatch avec une tâche, et il décide comment la gérer.

518 524 

519Une tâche peut devenir une session Code de deux façons : vous en demandez une directement, comme « ouvrir une session Claude Code et corriger le bug de connexion », ou Dispatch décide que la tâche est du travail de développement et en génère une automatiquement. Les tâches qui routent généralement vers Code incluent la correction de bugs, la mise à jour des dépendances, l'exécution de tests ou l'ouverture de pull requests. La recherche, l'édition de documents et le travail sur feuille de calcul restent dans Cowork.525Une tâche peut devenir une session Code de deux façons : vous en demandez une directement, comme « ouvrir une session Claude Code et corriger le bug de connexion », ou Dispatch décide que la tâche est du travail de développement et en génère une automatiquement. Les tâches qui routent généralement vers Code incluent la correction de bugs, la mise à jour des dépendances, l'exécution de tests ou l'ouverture de pull requests. La recherche, l'édition de documents et le travail sur feuille de calcul restent dans Cowork.

520 526 


528 534 

529## Étendre Claude Code535## Étendre Claude Code

530 536 

531Connectez les services externes, ajoutez des flux de travail réutilisables, personnalisez le comportement de Claude et configurez les serveurs d'aperçu. Pour gérer les connecteurs, les skills et les plugins au même endroit, cliquez sur **Personnaliser** dans la barre latérale. L'onglet [Cowork](https://claude.com/product/cowork) dans l'application de bureau récupère ses skills, plugins et connecteurs à partir de cette configuration Personnaliser, qui se synchronise via votre compte claude.ai, et non à partir du répertoire `~/.claude` de la CLI.537Connectez les services externes, ajoutez des workflows réutilisables, personnalisez le comportement de Claude et configurez les serveurs d'aperçu. Pour gérer les connecteurs, les skills et les plugins au même endroit, cliquez sur **Personnaliser** dans la barre latérale. L'onglet [Cowork](https://claude.com/product/cowork) dans l'application de bureau récupère ses skills, plugins et connecteurs à partir de cette configuration Personnaliser, qui se synchronise via votre compte claude.ai, et non à partir du répertoire `~/.claude` de la CLI.

532 538 

533Claude Code charge également les skills et les plugins activés pour votre compte claude.ai dans les sessions de terminal où vous vous connectez avec le même compte. Voir [Skills synchronisés à partir de claude.ai](/docs/fr/skills#how-synced-skills-behave) et [Plugins synchronisés à partir de claude.ai](/docs/fr/plugins/loading#synced-plugins).539Claude Code charge également les skills et les plugins activés pour votre compte claude.ai dans les sessions de terminal où vous vous connectez avec le même compte. Voir [Skills synchronisés à partir de claude.ai](/docs/fr/skills#how-synced-skills-behave) et [Plugins synchronisés à partir de claude.ai](/docs/fr/plugins/loading#synced-plugins).

534 540 


1659*.livepreview.claude.ai1665*.livepreview.claude.ai

1660claude.com1666claude.com

1661platform.claude.com1667platform.claude.com

1668sso.claude.com

1662*.livepreview.claude.app1669*.livepreview.claude.app

1663*.claudeusercontent.com1670*.claudeusercontent.com

1664*.claudemcpcontent.com1671*.claudemcpcontent.com

Details

21 21 

22### Exigences de Cowork22### Exigences de Cowork

23 23 

24Cowork est l'onglet de bureau pour [Dispatch et les travaux agentiques plus longs](https://claude.com/docs/cowork/overview). Sur Linux, Cowork exécute ces tâches dans une machine virtuelle que l'application de bureau héberge avec QEMU et KVM. Pour utiliser Cowork, votre machine a besoin de :24Cowork est la partie de l'application de bureau dédiée à [Dispatch et aux travaux agentiques plus longs](https://claude.com/docs/cowork/overview). Sur Linux, Cowork exécute ces tâches dans une machine virtuelle que l'application de bureau héberge avec QEMU et KVM. Pour utiliser Cowork, votre machine a besoin de :

25 25 

26* **Virtualisation matérielle** : activée dans les paramètres de votre firmware. Sans cela, l'onglet Cowork signale « Cowork requires hardware virtualization (KVM) ».26* **Virtualisation matérielle** : activée dans les paramètres de votre firmware. Sans cela, Cowork signale « Cowork requires hardware virtualization (KVM) ».

27* **Firmware QEMU et UEFI** : `qemu-system-x86`, `ovmf` et `virtiofsd` sur x86\_64, ou `qemu-system-arm`, `qemu-efi-aarch64` et `virtiofsd` sur arm64. `apt install claude-desktop` les installe par défaut en tant que paquets recommandés. Si vous avez installé avec `--no-install-recommends`, ou si votre système est une image minimale qui ignore les paquets recommandés, l'onglet Cowork signale « Cowork requires QEMU » et affiche la commande `apt install` à exécuter. Ubuntu 22.04 n'a pas de paquet `virtiofsd` ; l'application utilise une copie fournie à cet endroit.27* **Firmware QEMU et UEFI** : `qemu-system-x86`, `ovmf` et `virtiofsd` sur x86\_64, ou `qemu-system-arm`, `qemu-efi-aarch64` et `virtiofsd` sur arm64. `apt install claude-desktop` les installe par défaut en tant que paquets recommandés. Si vous avez installé avec `--no-install-recommends`, ou si votre système est une image minimale qui ignore les paquets recommandés, Cowork signale « Cowork requires QEMU » et affiche la commande `apt install` à exécuter. Ubuntu 22.04 n'a pas de paquet `virtiofsd` ; l'application utilise une copie fournie à cet endroit.

28* **Accès à `/dev/kvm`** : ajoutez votre utilisateur au groupe `kvm` avec `sudo usermod -aG kvm $USER`, puis déconnectez-vous et reconnectez-vous. Certains environnements de bureau accordent à l'utilisateur connecté l'accès à `/dev/kvm` sans le groupe, mais Cowork a également besoin de `/dev/vhost-vsock`, que seuls les membres du groupe `kvm` peuvent ouvrir. Rejoignez le groupe même si `/dev/kvm` fonctionne déjà pour vous.28* **Accès à `/dev/kvm`** : ajoutez votre utilisateur au groupe `kvm` avec `sudo usermod -aG kvm $USER`, puis déconnectez-vous et reconnectez-vous. Certains environnements de bureau accordent à l'utilisateur connecté l'accès à `/dev/kvm` sans le groupe, mais Cowork a également besoin de `/dev/vhost-vsock`, que seuls les membres du groupe `kvm` peuvent ouvrir. Rejoignez le groupe même si `/dev/kvm` fonctionne déjà pour vous.

29 29 

30L'application vérifie ces exigences une fois au lancement : redémarrez-la après l'installation des paquets, et déconnectez-vous et reconnectez-vous après avoir rejoint le groupe. Si `/dev/vhost-vsock` est manquant et que votre noyau en cours d'exécution n'a pas de répertoire de module sous `/lib/modules`, l'onglet Cowork signale que le noyau n'inclut pas le support de virtualisation dont Cowork a besoin et qu'il ne peut pas être ajouté manuellement. Cette combinaison est courante sur ChromeOS et dans les environnements Linux basés sur des conteneurs.30L'application vérifie ces exigences une fois au lancement : redémarrez-la après l'installation des paquets, et déconnectez-vous et reconnectez-vous après avoir rejoint le groupe. Si `/dev/vhost-vsock` est manquant et que votre noyau en cours d'exécution n'a pas de répertoire de module sous `/lib/modules`, Cowork signale que le noyau n'inclut pas le support de virtualisation dont Cowork a besoin et qu'il ne peut pas être ajouté manuellement. Cette combinaison est courante sur ChromeOS et dans les environnements Linux basés sur des conteneurs.

31 31 

32## Installation32## Installation

33 33 


71 71 

72Lancez **Claude** à partir de votre lanceur d'applications, ou exécutez `claude-desktop` à partir d'un terminal, et connectez-vous avec votre compte Anthropic.72Lancez **Claude** à partir de votre lanceur d'applications, ou exécutez `claude-desktop` à partir d'un terminal, et connectez-vous avec votre compte Anthropic.

73 73 

74L'application Linux se connecte de la même manière que sur macOS et Windows : avec un abonnement claude.ai, ou via l'authentification unique de votre organisation. Desktop n'accepte pas directement une clé API Claude Console ; utilisez l'[interface de ligne de commande](/docs/fr/quickstart) pour l'authentification par clé API. Pour les déploiements d'entreprise qui acheminent Desktop vers la plateforme Agent de Google Cloud ou une passerelle LLM, consultez [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) et la [configuration réseau](/docs/fr/network-config).74L'application Linux se connecte de la même manière que sur macOS et Windows : avec un abonnement claude.ai, ou via le SSO de votre organisation. Pour l'authentification par clé API, utilisez la [CLI](/docs/fr/quickstart). Pour utiliser plutôt Desktop avec Amazon Bedrock, la plateforme Agent de Google Cloud, Microsoft Foundry ou une passerelle LLM, consultez [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). Pour les proxys et les autorités de certification personnalisées dans ces déploiements, consultez la [configuration réseau](/docs/fr/network-config).

75 75 

76### Installer à partir d'un fichier téléchargé76### Installer à partir d'un fichier téléchargé

77 77 


153 153 

154### Cowork n'est pas disponible154### Cowork n'est pas disponible

155 155 

156Si l'onglet Cowork affiche l'un de ces messages, corrigez l'exigence qu'il nomme, puis redémarrez l'application :156Si Cowork affiche l'un de ces messages, corrigez l'exigence qu'il nomme, puis redémarrez l'application :

157 157 

158* **Cowork nécessite QEMU** : installez les [paquets QEMU et firmware UEFI](#cowork-requirements) que le message énumère.158* **Cowork nécessite QEMU** : installez les [paquets QEMU et firmware UEFI](#cowork-requirements) que le message énumère.

159* **Cowork nécessite la virtualisation matérielle (KVM)** : activez la [virtualisation matérielle](#cowork-requirements) dans les paramètres de votre firmware.159* **Cowork nécessite la virtualisation matérielle (KVM)** : activez la [virtualisation matérielle](#cowork-requirements) dans les paramètres de votre firmware.

Details

6 6 

7> Installez l'application de bureau Claude, ouvrez l'onglet Code et commencez votre première session Claude Code sur un dossier de projet sur votre ordinateur.7> Installez l'application de bureau Claude, ouvrez l'onglet Code et commencez votre première session Claude Code sur un dossier de projet sur votre ordinateur.

8 8 

9L'application de bureau vous donne accès à Claude Code avec une interface graphique, afin que vous puissiez demander à Claude de travailler sur le code dans un dossier sur votre ordinateur et examiner ses modifications sans utiliser un terminal. Cette page vous guide dans l'installation de l'application et le démarrage de votre première session dans l'onglet **Code**. Claude Code nécessite un [abonnement Pro, Max, Team ou Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).9L'application de bureau vous donne accès à Claude Code avec une interface graphique. Vous pouvez demander à Claude de travailler sur le code dans un dossier sur votre ordinateur et examiner ses modifications sans utiliser un terminal.

10 

11Claude Code se trouve dans l'onglet **Code** en haut de la barre latérale de l'application. Cette page vous guide dans l'installation de l'application et le démarrage de votre première session à cet endroit. Claude Code nécessite un [abonnement Pro, Max, Team ou Enterprise](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_pricing).

10 12 

11> **[Télécharger pour macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**13> **[Télécharger pour macOS](https://claude.ai/api/desktop/darwin/universal/dmg/latest/redirect?utm_source=claude_code\&utm_medium=docs)**

12>14>


28>30>

29> * **Déjà configuré** : consultez [Utiliser Claude Code Desktop](/docs/fr/desktop) pour tout ce que l'onglet Code peut faire31> * **Déjà configuré** : consultez [Utiliser Claude Code Desktop](/docs/fr/desktop) pour tout ce que l'onglet Code peut faire

30> * **Vous voulez `claude` dans votre terminal** : [installez le CLI](/docs/fr/quickstart) séparément32> * **Vous voulez `claude` dans votre terminal** : [installez le CLI](/docs/fr/quickstart) séparément

31 33> * **Vous utilisez le chat ou Cowork** : consultez le [Centre d'aide Claude](https://support.claude.com/)

32L'application de bureau a trois onglets :34> * **Besoin de plus d'informations sur l'installation ou le déploiement de l'application de bureau** : consultez les [articles d'assistance Claude Desktop](https://support.claude.com/en/collections/16163169-claude-desktop)

33 

34* **Chat** : Conversation générale sans accès aux fichiers, similaire à claude.ai.

35* **Cowork** : Un agent autonome en arrière-plan qui travaille sur des tâches indépendamment pendant que vous faites autre chose.

36* **Code** : Un assistant de codage interactif avec accès direct à vos fichiers locaux. Selon le mode de permission, vous approuvez chaque modification au fur et à mesure que Claude la propose ou vous examinez les modifications après que Claude les ait apportées.

37 

38Chat et Cowork sont couverts dans le [Centre d'aide Claude](https://support.claude.com/) ; l'installation et le déploiement de l'application de bureau sont couverts dans les [articles d'assistance Claude Desktop](https://support.claude.com/en/collections/16163169-claude-desktop). Cette page se concentre sur l'onglet **Code**.

39 35 

40## Installer36## Installer

41 37 


45 41 

46**2. Ouvrir l'onglet Code**42**2. Ouvrir l'onglet Code**

47 43 

48Cliquez sur l'onglet **Code** en haut au centre. Si cliquer sur Code vous invite à mettre à niveau, vous devez d'abord [vous abonner à un plan payant](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_upgrade). S'il vous invite à vous connecter en ligne, complétez la connexion et redémarrez l'application. Si vous voyez une erreur 403, consultez [dépannage de l'authentification](/docs/fr/desktop#403-or-authentication-errors-in-the-code-tab).44Cliquez sur l'onglet **Code** en haut de la barre latérale. Si les onglets n'affichent que des icônes, survolez-en une pour voir son nom. Si une invite ou une erreur apparaît après avoir cliqué sur **Code**, appliquez la solution correspondante :

45 

46* **Invite à mettre à niveau** : vous devez d'abord [vous abonner à un plan payant](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=desktop_quickstart_upgrade)

47* **Invite à vous connecter en ligne** : complétez la connexion et redémarrez l'application

48* **Erreur 403** : consultez [dépannage de l'authentification](/docs/fr/desktop#403-or-authentication-errors-in-the-code-tab)

49 49 

50L'application de bureau inclut Claude Code, vous n'avez donc pas besoin d'installer Node.js ou la CLI pour utiliser l'onglet Code.50L'application de bureau inclut Claude Code, vous n'avez donc pas besoin d'installer Node.js ou la CLI pour utiliser l'onglet Code.

51 51 


87 87 

88Vérifiez votre [mode de permission](/docs/fr/desktop#choose-a-permission-mode) dans la ligne sous la zone de prompt pour savoir si Claude attend votre approbation :88Vérifiez votre [mode de permission](/docs/fr/desktop#choose-a-permission-mode) dans la ligne sous la zone de prompt pour savoir si Claude attend votre approbation :

89 89 

90* **Auto ou Accept edits** : Claude applique ses modifications de fichier, et un indicateur tel que `+12 -1` apparaît pour que vous puissiez les examiner dans la vue diff90* **Auto ou Accept edits** : Claude applique ses modifications de fichier, et un indicateur tel que `+12 -1` apparaît pour que vous puissiez les examiner dans la [vue diff](/docs/fr/desktop#review-changes-with-diff-view)

91* **Manual** : Claude propose chaque modification et attend votre approbation avant de l'appliquer91* **Manual** : Claude propose chaque modification et attend votre approbation avant de l'appliquer

92 92 

93En mode Manual, vous verrez :93En mode Manual, vous verrez :

94 94 

951. Une [vue diff](/docs/fr/desktop#review-changes-with-diff-view) montrant exactement ce qui changera dans chaque fichier951. Un diff montrant exactement ce qui changera

962. Des boutons Accept/Reject pour approuver ou refuser chaque modification962. Des boutons pour approuver ou refuser chaque modification

973. Des mises à jour en temps réel au fur et à mesure que Claude traite votre demande973. Des mises à jour en temps réel au fur et à mesure que Claude traite votre demande

98 98 

99## Et maintenant ?99## Et maintenant ?

Details

28| Accès aux fichiers locaux | Non (clone frais) | Oui | Oui |28| Accès aux fichiers locaux | Non (clone frais) | Oui | Oui |

29| Serveurs MCP | Connecteurs configurés par tâche | [Fichiers de configuration](/docs/fr/mcp) et connecteurs | Hérité de la session |29| Serveurs MCP | Connecteurs configurés par tâche | [Fichiers de configuration](/docs/fr/mcp) et connecteurs | Hérité de la session |

30| Invites de permission | Non (s'exécute de manière autonome) | Configurable par tâche | Hérité de la session |30| Invites de permission | Non (s'exécute de manière autonome) | Configurable par tâche | Hérité de la session |

31| Planification personnalisable | Via `/schedule` dans la CLI | Oui | Oui |31| Planification personnalisable | Oui | Oui | Oui |

32| Intervalle minimum | 1 heure | 1 minute | 1 minute |32| Intervalle minimum | 1 heure | 1 minute lorsque Claude le définit, [1 heure dans les formulaires](/docs/fr/desktop-scheduled-tasks#schedule-options) | 1 minute |

33 33 

34> [!TIP]34> [!TIP]

35>35>


61 61 

62**5. Activer Only on this computer**62**5. Activer Only on this computer**

63 63 

64Ignorez la carte **Trigger** pour l'instant et développez **Advanced settings** en dessous. Dans l'onglet **General**, activez **Only on this computer**. Lorsque cette option est activée, la tâche s'exécute sur votre machine dans un dossier local, et la carte **Trigger** propose les préréglages répertoriés dans [Options de planification](#schedule-options).64Ignorez la carte **Trigger** pour l'instant et développez **Advanced settings** en dessous. Dans l'onglet **General**, activez **Only on this computer**. Lorsque cette option est activée, la tâche s'exécute sur votre machine dans un dossier local.

65 65 

66Si l'interrupteur n'est pas disponible, supprimez le dépôt ou le déclencheur d'événement GitHub ou d'API, car ceux-ci font de la tâche une [tâche planifiée dans le cloud](/docs/fr/routines).66Si l'interrupteur n'est pas disponible, supprimez le dépôt ou le déclencheur d'événement GitHub ou d'API, car ceux-ci font de la tâche une [tâche planifiée dans le cloud](/docs/fr/routines).

67 67 


81 81 

82Cliquez sur **Create**. Si vous n'avez pas encore approuvé le dossier, Desktop vous demande de l'approuver à ce moment-là. La page de détails de la tâche s'ouvre.82Cliquez sur **Create**. Si vous n'avez pas encore approuvé le dossier, Desktop vous demande de l'approuver à ce moment-là. La page de détails de la tâche s'ouvre.

83 83 

84Sur la page de détails, cliquez sur l'icône en forme de crayon pour ouvrir le [formulaire **Edit**](#manage-scheduled-tasks). Vous pouvez y modifier la **Description** que Desktop a remplie à partir de vos instructions, sélectionner **Worktree** ou passer la planification en **Manual**.84Sur la page de détails, cliquez sur l'icône en forme de crayon pour ouvrir le [formulaire **Edit**](#manage-scheduled-tasks). Vous pouvez y modifier la **Description** que Desktop a remplie à partir de vos instructions, sélectionner **Worktree** ou passer la planification en **Manual** ou **Custom**.

85 85 

86Vous pouvez également créer une tâche en décrivant ce que vous souhaitez dans n'importe quelle session. Par exemple, « configurer une revue de code quotidienne qui s'exécute chaque matin à 9h » crée une tâche récurrente. Une demande comme « rappelle-moi à 15h demain de vérifier le déploiement » crée une tâche unique qui se désactive après son exécution.86Vous pouvez également créer une tâche en décrivant ce que vous souhaitez dans n'importe quelle session. Par exemple, « configurer une revue de code quotidienne qui s'exécute chaque matin à 9h » crée une tâche récurrente. Une demande comme « rappelle-moi à 15h demain de vérifier le déploiement » crée une tâche unique qui se désactive après son exécution.

87 87 


95* **Description** : saisissez une description. **Create** reste indisponible tant que vous ne l'avez pas fait.95* **Description** : saisissez une description. **Create** reste indisponible tant que vous ne l'avez pas fait.

96* **La zone d'instructions** : saisissez ce que Claude doit faire lorsque la tâche s'exécute. Sélectionnez le mode de permission et le modèle dans les menus de la zone.96* **La zone d'instructions** : saisissez ce que Claude doit faire lorsque la tâche s'exécute. Sélectionnez le mode de permission et le modèle dans les menus de la zone.

97* **Working folder** : sélectionnez le dossier dans lequel la tâche s'exécute. **Create** reste indisponible tant que vous n'en avez pas sélectionné un.97* **Working folder** : sélectionnez le dossier dans lequel la tâche s'exécute. **Create** reste indisponible tant que vous n'en avez pas sélectionné un.

98* **Trigger** : sélectionnez une planification. **Custom** accepte une expression cron. Pour les autres préréglages, consultez [Options de planification](#schedule-options).98* **Trigger** : sélectionnez une planification. Pour les préréglages, consultez [Options de planification](#schedule-options).

99 99 

100Cliquez sur **Create**. La page de détails de la tâche s'ouvre.100Cliquez sur **Create**. La page de détails de la tâche s'ouvre.

101 101 

102## Options de planification102## Options de planification

103 103 

104Lorsque vous activez **Only on this computer** sous **Advanced settings**, la carte **Trigger** propose Hourly, Daily, Weekdays et Weekly. Le [formulaire **Edit**](#manage-scheduled-tasks) de la tâche propose également **Manual**.104Lorsque vous activez **Only on this computer** sous **Advanced settings**, la carte **Trigger** propose Hourly, Daily, Weekdays et Weekly. Pour obtenir **Manual** ou **Custom** pour une telle tâche, ouvrez son [formulaire **Edit**](#manage-scheduled-tasks) après l'avoir créée. Ce formulaire et la [boîte de dialogue avec **Only on this computer** en haut](#dialog-with-only-on-this-computer-at-the-top) proposent ces six options :

105 105 

106* **Hourly** : s'exécute toutes les heures106* **Hourly** : s'exécute toutes les heures

107* **Daily** : s'exécute chaque jour à l'heure locale que vous choisissez107* **Daily** : s'exécute chaque jour à l'heure locale que vous choisissez

108* **Weekdays** : identique à Daily mais ignore samedi et dimanche108* **Weekdays** : identique à Daily mais ignore samedi et dimanche

109* **Weekly** : affiche un sélecteur d'heure et un sélecteur de jour109* **Weekly** : affiche un sélecteur d'heure et un sélecteur de jour

110* **Manual** : pas de planification, s'exécute uniquement lorsque vous cliquez sur **Run now**. Utile pour enregistrer un prompt que vous déclenchez à la demande110* **Manual** : pas de planification, s'exécute uniquement lorsque vous cliquez sur **Run now**. Utile pour enregistrer un prompt que vous déclenchez à la demande

111* **Custom** : s'exécute selon une expression cron que vous saisissez et qui est évaluée dans votre heure locale, comme `0 9 * * *` pour 9 h 00 chaque jour. Écrivez les jours de la semaine et les mois sous forme de nombres, car leurs noms ne sont pas acceptés. Dimanche correspond à `0`, et non à `7`. Le formulaire rejette toute expression qui s'exécute plus d'une fois par heure.

111 112 

112Pour les intervalles que le sélecteur n'offre pas, comme toutes les 15 minutes, le premier de chaque mois ou une exécution unique à un moment futur spécifique, demandez à Claude dans n'importe quelle session Desktop de définir la planification. Utilisez le langage naturel ; par exemple, « planifier une tâche pour exécuter tous les tests toutes les 6 heures ».113Vous pouvez également demander à Claude dans n'importe quelle session Desktop de définir la planification. Claude n'est pas soumis à la limite d'une exécution par heure et peut programmer une exécution unique à un moment futur. Par exemple, demandez « exécuter la suite de tests toutes les 30 minutes » ou « lundi prochain à 9 h, résumer les pull requests fusionnées depuis vendredi ».

113 114 

114## Comment les tâches planifiées s'exécutent115## Comment les tâches planifiées s'exécutent

115 116 


121>122>

122> Pour les tâches qui doivent s'exécuter même lorsque votre ordinateur est éteint, ou qui doivent être déclenchées par un appel API ou un événement GitHub, créez plutôt une [tâche planifiée dans le cloud](/docs/fr/routines).123> Pour les tâches qui doivent s'exécuter même lorsque votre ordinateur est éteint, ou qui doivent être déclenchées par un appel API ou un événement GitHub, créez plutôt une [tâche planifiée dans le cloud](/docs/fr/routines).

123 124 

124Lorsqu'une tâche locale s'active, une nouvelle session apparaît sous une section **Scheduled** dans la barre latérale. Ouvrez-la pour voir ce que Claude a fait, examiner les modifications ou répondre aux demandes de permission. Claude peut modifier des fichiers, exécuter des commandes, créer des commits et ouvrir des pull requests, comme dans une session que vous démarrez vous-même.125### Trouver la session d'une exécution

126 

127Pour ouvrir la session démarrée par une exécution, accédez à la [page de détails](#manage-scheduled-tasks) de la tâche et cliquez sur la ligne de cette exécution dans la liste **History**.

128 

129La liste des sessions de la barre latérale peut également afficher un groupe **Scheduled**, avec une ligne par tâche. Pour ouvrir la session de la dernière exécution d'une tâche, cliquez sur la ligne de la tâche dans ce groupe. Pour afficher le groupe, [vérifiez quelle disposition vous utilisez](/docs/fr/desktop#check-which-layout-you-have) :

130 

131* **Disposition actuelle** : ouvrez le [menu **Group and sort**](/docs/fr/desktop#organize-and-find-sessions), sélectionnez **Show**, puis sélectionnez **Scheduled**. Le groupe est initialement réduit ; cliquez donc sur son en-tête pour le développer. **Show** liste **Scheduled** lorsqu'au moins une de vos tâches est **Active**, le **Status** affiché sur la page de détails d'une tâche. S'il n'est pas listé, utilisez la liste **History**, qui fonctionne que le groupe soit affiché ou non.

132* **Disposition antérieure** : le groupe se trouve dans la liste des sessions, sans rien à activer

133 

134Dans la session d'une exécution, quelle que soit la manière dont vous y avez accédé, vous pouvez voir ce que Claude a fait, examiner les modifications et répondre aux demandes de permission. Claude peut modifier des fichiers, exécuter des commandes, créer des commits et ouvrir des pull requests, comme dans une session que vous démarrez vous-même.

125 135 

126## Exécutions manquées136## Exécutions manquées

127 137 


131 141 

132## Permissions pour les tâches planifiées142## Permissions pour les tâches planifiées

133 143 

134Chaque tâche a son propre mode de permission, que vous définissez lors de la création ou de la modification de la tâche. Les règles d'autorisation de `~/.claude/settings.json` s'appliquent également aux sessions de tâches planifiées. Si une tâche s'exécute en [mode Manuel](/docs/fr/desktop#choose-a-permission-mode) et doit exécuter un outil pour lequel elle n'a pas de permission, l'exécution s'arrête jusqu'à ce que vous l'approuviez. La session reste ouverte dans la barre latérale pour que vous puissiez répondre plus tard.144Chaque tâche a son propre mode de permission, que vous définissez lors de la création ou de la modification de la tâche. Les règles d'autorisation de `~/.claude/settings.json` s'appliquent également aux sessions de tâches planifiées. Si une tâche s'exécute en [mode Manuel](/docs/fr/desktop#choose-a-permission-mode) et doit exécuter un outil pour lequel elle n'a pas de permission, l'exécution s'arrête jusqu'à ce que vous l'approuviez. Pour l'approuver, [trouvez la session de l'exécution](#find-a-runs-session) et répondez-y à la demande de permission.

135 145 

136Pour éviter les arrêts, cliquez sur **Run now** après avoir créé une tâche, surveillez les invites de permission et sélectionnez « always allow » pour chacune. Les exécutions futures de cette tâche approuvent automatiquement les mêmes outils sans demander. Vous pouvez examiner et révoquer ces approbations à partir de la page de détail de la tâche.146Pour éviter les arrêts, cliquez sur **Run now** après avoir créé une tâche, surveillez les invites de permission et sélectionnez « always allow » pour chacune. Les exécutions futures de cette tâche approuvent automatiquement les mêmes outils sans demander. Vous pouvez examiner et révoquer ces approbations à partir de la page de détail de la tâche.

137 147 


146* **Edit** : modifier les instructions, la planification, le dossier ou d'autres paramètres156* **Edit** : modifier les instructions, la planification, le dossier ou d'autres paramètres

147* **Review history** : voir chaque exécution passée, y compris les exécutions ignorées. Survolez une entrée ignorée pour voir pourquoi : votre ordinateur était en veille, l'exécution précédente était toujours en cours ou d'autres tâches planifiées s'exécutaient déjà. Cliquez sur **Show more** pour charger les entrées plus anciennes.157* **Review history** : voir chaque exécution passée, y compris les exécutions ignorées. Survolez une entrée ignorée pour voir pourquoi : votre ordinateur était en veille, l'exécution précédente était toujours en cours ou d'autres tâches planifiées s'exécutaient déjà. Cliquez sur **Show more** pour charger les entrées plus anciennes.

148* **Review allowed permissions** : voir et révoquer les approbations d'outils enregistrées pour cette tâche à partir du panneau **Always allowed**158* **Review allowed permissions** : voir et révoquer les approbations d'outils enregistrées pour cette tâche à partir du panneau **Always allowed**

149* **Delete** : supprimer la tâche et archiver toutes les sessions qu'elle a créées. Une case à cocher **Also delete files on disk** apparaît dans la boîte de dialogue de confirmation ; cochez-la pour supprimer également le fichier `SKILL.md` de la tâche et les données associées de `~/.claude/scheduled-tasks/`.159* **Delete** : supprimer la tâche. Les sessions créées par la tâche sont [archivées](/docs/fr/desktop#organize-and-find-sessions), et non supprimées. Le dossier contenant le fichier `SKILL.md` de la tâche reste sur le disque dans `~/.claude/scheduled-tasks/<task-name>/`, ou dans `scheduled-tasks/<task-name>/` sous [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars) si vous avez défini cette variable. Pour supprimer ce dossier, supprimez-le vous-même.

150 160 

151Vous pouvez également lister, créer, modifier et mettre en pause des tâches en demandant à Claude dans n'importe quelle session Desktop. Par exemple, « pause my dependency-audit task » ou « show me my scheduled tasks ». Pour supprimer une tâche, utilisez le bouton **Delete** sur sa page de détail.161Vous pouvez également lister, créer, modifier et mettre en pause des tâches en demandant à Claude dans n'importe quelle session Desktop. Par exemple, « pause my dependency-audit task » ou « show me my scheduled tasks ». Pour supprimer une tâche, utilisez le bouton **Delete** sur sa page de détail.

152 162 

env-vars.md +10 −19

Details

124> * `DISABLE_TELEMETRY`124> * `DISABLE_TELEMETRY`

125> * `DISABLE_ERROR_REPORTING`125> * `DISABLE_ERROR_REPORTING`

126> * `CLAUDE_CODE_TMUX_TRUECOLOR`126> * `CLAUDE_CODE_TMUX_TRUECOLOR`

127> * `FALLBACK_FOR_ALL_PRIMARY_MODELS`

128> * `IS_DEMO`127> * `IS_DEMO`

129>128>

130> Une autre variable suit sa propre règle : `FORCE_HYPERLINK` lit un nombre, donc seul `0` la désactive. La ligne de chaque variable indique également sa propre règle.129> Une autre variable suit sa propre règle : `FORCE_HYPERLINK` lit un nombre, donc seul `0` la désactive. La ligne de chaque variable indique également sa propre règle.


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

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

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

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

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

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

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


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

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

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

181| `API_TIMEOUT_MS` | Temps en millisecondes dont dispose chaque tentative de requête API pour recevoir ses en-têtes de réponse (par défaut : 600000, soit 10 minutes ; maximum : 2147483647). Il ne limite pas la durée d'une réponse en streaming au-delà. Lorsque vous définissez une valeur positive, chaque tentative de [requête sans streaming](/docs/fr/errors#streaming-response-ended-before-any-complete-data-was-received) doit se terminer dans ce délai. Augmentez cette valeur lorsque des requêtes expirent sur des réseaux lents ou lors du routage via un proxy |180| `API_TIMEOUT_MS` | Temps en millisecondes dont dispose chaque tentative de requête API pour recevoir ses en-têtes de réponse. Il ne limite pas la durée d'une réponse en streaming au-delà. La valeur par défaut est 600 000, soit 10 minutes, et le maximum est 2 147 483 647. Lorsque vous définissez une valeur positive, chaque tentative de [requête sans streaming](/docs/fr/errors#streaming-response-ended-before-any-complete-data-was-received) doit se terminer dans ce délai. Augmentez-la lorsque les requêtes expirent sur des réseaux lents ou lors du routage via un proxy. Définissez `0` pour supprimer cette limite, ce qui nécessite Claude Code v2.1.305 ou ultérieur. Avec `0`, une tentative sans streaming expire tout de même au bout de 300 secondes dans une session locale |

182| `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/)) |181| `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/)) |

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

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


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

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

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

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

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

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

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

193| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Délai de blocage en millisecondes pour les sous-agents. Couvre également les [agents de workflow](/docs/fr/workflows#when-an-agent-stalls-and-restarts) sur Claude Code v2.1.286 ou ultérieur. Par défaut `600000` (10 minutes) ; si vous augmentez `CLAUDE_STREAM_IDLE_TIMEOUT_MS` alors que le watchdog de flux est actif, la valeur par défaut augmente avec lui, comme le décrit [Gérer les réponses API lentes ou bloquées](/docs/fr/agent-sdk/typescript#handle-slow-or-stalled-api-responses) |190| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Délai de blocage en millisecondes pour les sous-agents. Couvre également les [agents de workflow](/docs/fr/workflows#when-an-agent-stalls-and-restarts) sur Claude Code v2.1.286 ou ultérieur. Par défaut `600000` (10 minutes) ; si vous augmentez `CLAUDE_STREAM_IDLE_TIMEOUT_MS` alors que le watchdog de flux est actif, la valeur par défaut augmente avec lui, comme le décrit [Gérer les réponses API lentes ou bloquées](/docs/fr/agent-sdk/typescript#handle-slow-or-stalled-api-responses) |


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

230| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez sur `1` pour désactiver la prise en charge de la [fenêtre de contexte de 1M](/docs/fr/model-config#extended-context). Claude Code retire les variantes de modèle `[1m]` du sélecteur de modèle et limite à une fenêtre de 200K les modèles qui s'exécutent par défaut avec la fenêtre de 1M. Voir [Désactiver le contexte 1M](/docs/fr/model-config#turn-off-1m-context). Utile pour les environnements d'entreprise soumis à des exigences de conformité. Pour son rôle dans la correction de la fenêtre d'un ID de modèle `[1m]` non reconnu, voir [Corriger la fenêtre pour un ID de modèle de passerelle ou personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |227| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez sur `1` pour désactiver la prise en charge de la [fenêtre de contexte de 1M](/docs/fr/model-config#extended-context). Claude Code retire les variantes de modèle `[1m]` du sélecteur de modèle et limite à une fenêtre de 200K les modèles qui s'exécutent par défaut avec la fenêtre de 1M. Voir [Désactiver le contexte 1M](/docs/fr/model-config#turn-off-1m-context). Utile pour les environnements d'entreprise soumis à des exigences de conformité. Pour son rôle dans la correction de la fenêtre d'un ID de modèle `[1m]` non reconnu, voir [Corriger la fenêtre pour un ID de modèle de passerelle ou personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

302| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Définir sur `1` pour dessiner les [éléments `Image` des mods](/docs/fr/plugins/mods/reference#elements) sous forme d'images lorsque votre terminal affiche les images du protocole graphique kitty avec des placeholders Unicode sans être détecté automatiquement. Voir [quels terminaux Claude Code détecte](/docs/fr/plugins/mods/gallery#image-and-client) et pourquoi cela n'aide pas dans tmux ou screen |298| `CLAUDE_CODE_FORCE_TERMINAL_IMAGES` | Définir sur `1` pour dessiner les [éléments `Image` des mods](/docs/fr/plugins/mods/reference#elements) sous forme d'images lorsque votre terminal dessine les images du protocole graphique kitty avec des placeholders Unicode et que vous voyez toujours le texte `alt` grisé d'un `Image`. Voir [quels terminaux dessinent un `Image`](/docs/fr/plugins/mods/gallery#image-and-client) et pourquoi cette variable n'aide pas dans tmux ou screen |

303| `CLAUDE_CODE_FORK_SUBAGENT` | Contrôle le mode fork, activé par défaut, qui permet à Claude de lancer des [forks](/docs/fr/sub-agents#fork-the-current-conversation) de lui-même. Tant que le mode fork est activé, Claude ne peut pas non plus [attendre un sous-agent](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) dans les sessions de terminal interactif, VS Code ou de bureau sur votre machine. Définir sur `0` pour désactiver le mode fork. Pour les versions, voir [Désactiver le mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off) |299| `CLAUDE_CODE_FORK_SUBAGENT` | Contrôle le mode fork, activé par défaut, qui permet à Claude de lancer des [forks](/docs/fr/sub-agents#fork-the-current-conversation) de lui-même. Tant que le mode fork est activé, Claude ne peut pas non plus [attendre un sous-agent](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) dans les sessions de terminal interactif, VS Code ou de bureau sur votre machine. Définir sur `0` pour désactiver le mode fork. Pour les versions, voir [Désactiver le mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off) |

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

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


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

320| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Longueur maximale en caractères des descriptions d'outils MCP et des instructions de serveur MCP que Claude Code envoie au modèle. La valeur que vous définissez remplace les deux [limites par défaut](/docs/fr/mcp#for-mcp-server-authors) : 4096, et 16384 pour la description d'un outil que Claude charge via la recherche d'outils. Accepte un nombre entier positif en chiffres simples. Toute autre valeur est ignorée et les valeurs par défaut s'appliquent. Nécessite Claude Code v2.1.280 ou ultérieur |316| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Longueur maximale en caractères des descriptions d'outils MCP et des instructions de serveur MCP que Claude Code envoie au modèle. La valeur que vous définissez remplace les deux [limites par défaut](/docs/fr/mcp#for-mcp-server-authors) : 4096, et 16384 pour la description d'un outil que Claude charge via la recherche d'outils. Accepte un nombre entier positif en chiffres simples. Toute autre valeur est ignorée et les valeurs par défaut s'appliquent. Nécessite Claude Code v2.1.280 ou ultérieur |

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

322| `CLAUDE_CODE_MAX_RETRIES` | Remplace le nombre de nouvelles tentatives pour les requêtes API ayant échoué (par défaut : 10). Plafonné à 15 depuis la v2.1.186 ; depuis la v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Pour les sessions sans surveillance qui doivent patienter pendant des pannes plus longues, définissez plutôt `CLAUDE_CODE_RETRY_WATCHDOG` |318| `CLAUDE_CODE_MAX_RETRIES` | Remplacer le nombre de nouvelles tentatives pour les requêtes API en échec (par défaut : 10). Les nouvelles tentatives peuvent s'arrêter plus tôt en cas d'erreurs `529` de surcharge. Par exemple, avec une clé API sur un modèle Opus, elles s'arrêtent à la troisième erreur `529` et affichent [Repeated 529 Overloaded errors](/docs/fr/errors#api-error-repeated-529-overloaded-errors). Si vous définissez un [modèle de secours](/docs/fr/settings-reference#fallbackmodel), Claude Code bascule sur ce modèle au lieu d'afficher l'erreur. Plafonné à 15 depuis la v2.1.186 ; depuis la v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Pour les sessions sans surveillance qui doivent patienter pendant des pannes plus longues, définissez plutôt `CLAUDE_CODE_RETRY_WATCHDOG` |

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

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

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

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

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

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

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

330| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Durée en millisecondes pendant laquelle le premier tour d'une session [non interactive](/docs/fr/headless) attend les serveurs MCP encore en cours de connexion, à la place de l'[attente du premier tour](/docs/fr/agent-sdk/mcp#connection-timing) par défaut. Lorsqu'elle est définie, l'attente couvre tous les serveurs en attente ; dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-configuration#connection-timing), elle ne modifie que la durée de l'attente. Définissez sur `0` pour ignorer l'attente. Un serveur [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) conserve sa propre attente `MCP_TIMEOUT`, quelle que soit la valeur. Nécessite Claude Code v2.1.274 ou ultérieur |325| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Durée en millisecondes pendant laquelle le premier tour d'une session [non interactive](/docs/fr/headless) attend les serveurs MCP encore en cours de connexion, à la place de l'[attente du premier tour](/docs/fr/agent-sdk/mcp#connection-timing) par défaut. Dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-configuration#connection-timing), elle ne modifie que la durée de l'attente. Certains serveurs conservent leur propre attente quelle que soit la valeur ; [Chronologie de connexion](/docs/fr/agent-sdk/mcp#connection-timing) les répertorie. Définir sur `0` pour ignorer l'attente pour tous les autres serveurs. Nécessite Claude Code v2.1.274 ou ultérieur |

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

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

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


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

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

374| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Durée maximale en millisecondes que chaque requête API passe à attendre la fin des erreurs `429` et `529` lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini. Une fois cette durée écoulée, l'erreur suivante de ce type met fin à la requête. Indiquez un nombre entier positif en chiffres simples, par exemple `1800000` pour 30 minutes. Lorsqu'elle n'est pas définie, l'attente n'a pas de limite. Nécessite Claude Code v2.1.295 ou ultérieur |369| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS` | Durée maximale en millisecondes que chaque requête API passe à attendre la fin des erreurs `429` et `529` lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini. Une fois cette durée écoulée, l'erreur suivante de ce type met fin à la requête. Indiquez un nombre entier positif en chiffres simples, par exemple `1800000` pour 30 minutes. Lorsqu'elle n'est pas définie, l'attente n'a pas de limite. Nécessite Claude Code v2.1.295 ou ultérieur |

370| `CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS` | Intervalle minimal en millisecondes entre les vérifications visant à savoir si une [limite d'utilisation](/docs/fr/errors#youve-hit-your-session-limit) a déjà été levée, pendant qu'une requête attend la réinitialisation de cette limite avec `CLAUDE_CODE_RETRY_WATCHDOG` défini. Lorsqu'une vérification constate que la limite est levée, la requête part immédiatement. Indiquez un nombre entier en chiffres simples de `60000`, une minute, à `10800000`, trois heures. Les vérifications ne portent que sur la limite de session ou hebdomadaire d'un abonnement claude.ai lorsque les crédits d'utilisation ne sont pas utilisés, et n'ont pas lieu lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est défini. Lorsque cette variable n'est pas définie ou que sa valeur est hors de cette plage, aucune vérification n'est effectuée. Nécessite Claude Code v2.1.305 ou ultérieur |

375| `CLAUDE_CODE_SAFE_MODE` | Définir sur `1` pour démarrer en mode sans échec : CLAUDE.md, les skills, les plugins, les hooks, les serveurs MCP, les commandes et agents personnalisés, les styles de sortie, les workflows, les thèmes personnalisés, les raccourcis clavier personnalisés, les commandes de barre de statut et de suggestion de fichiers, les serveurs LSP et la mémoire automatique ne sont pas chargés, afin de dépanner une configuration défectueuse. La politique des paramètres gérés s'applique toujours, y compris les hooks, la barre de statut et les commandes de suggestion de fichiers configurés par la politique ; ce n'est pas le cas des plugins gérés, des skills gérés, du CLAUDE.md géré et des serveurs MCP configurés par la politique. Équivaut à transmettre [`--safe-mode`](/docs/fr/cli-reference#cli-flags). Les processus enfants lancés directement héritent de la variable |371| `CLAUDE_CODE_SAFE_MODE` | Définir sur `1` pour démarrer en mode sans échec : CLAUDE.md, les skills, les plugins, les hooks, les serveurs MCP, les commandes et agents personnalisés, les styles de sortie, les workflows, les thèmes personnalisés, les raccourcis clavier personnalisés, les commandes de barre de statut et de suggestion de fichiers, les serveurs LSP et la mémoire automatique ne sont pas chargés, afin de dépanner une configuration défectueuse. La politique des paramètres gérés s'applique toujours, y compris les hooks, la barre de statut et les commandes de suggestion de fichiers configurés par la politique ; ce n'est pas le cas des plugins gérés, des skills gérés, du CLAUDE.md géré et des serveurs MCP configurés par la politique. Équivaut à transmettre [`--safe-mode`](/docs/fr/cli-reference#cli-flags). Les processus enfants lancés directement héritent de la variable |

376| `CLAUDE_CODE_SCRIPT_CAPS` | Objet JSON limitant le nombre de fois où certains scripts peuvent être invoqués par session lorsque `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` est défini. Les clés sont des sous-chaînes comparées au texte de la commande ; les valeurs sont des limites d'appels entières. Par exemple, `{"deploy.sh": 2}` permet d'appeler `deploy.sh` au plus deux fois. La correspondance se fait par sous-chaîne, de sorte que les astuces d'expansion du shell comme `./scripts/deploy.sh $(evil)` sont tout de même comptabilisées. La démultiplication à l'exécution via `xargs` ou `find -exec` n'est pas détectée ; il s'agit d'un contrôle de défense en profondeur |372| `CLAUDE_CODE_SCRIPT_CAPS` | Objet JSON limitant le nombre de fois où certains scripts peuvent être invoqués par session lorsque `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` est défini. Les clés sont des sous-chaînes comparées au texte de la commande ; les valeurs sont des limites d'appels entières. Par exemple, `{"deploy.sh": 2}` permet d'appeler `deploy.sh` au plus deux fois. La correspondance se fait par sous-chaîne, de sorte que les astuces d'expansion du shell comme `./scripts/deploy.sh $(evil)` sont tout de même comptabilisées. La démultiplication à l'exécution via `xargs` ou `find -exec` n'est pas détectée ; il s'agit d'un contrôle de défense en profondeur |

377| `CLAUDE_CODE_SCROLL_SPEED` | Définit le multiplicateur de défilement de la molette de la souris dans le [rendu plein écran](/docs/fr/fullscreen#mouse-wheel-scrolling). Accepte toute valeur positive jusqu'à 20, y compris des valeurs fractionnaires inférieures à 1 comme `0.5` pour ralentir le défilement accéléré du trackpad et de la molette dans les terminaux qui amplifient déjà les événements de molette. Définir sur `3` pour reproduire le comportement de `vim` si votre terminal envoie un événement de molette par cran sans amplification. Ignorée dans le terminal des IDE JetBrains, où Claude Code utilise sa propre gestion du défilement |373| `CLAUDE_CODE_SCROLL_SPEED` | Définit le multiplicateur de défilement de la molette de la souris dans le [rendu plein écran](/docs/fr/fullscreen#mouse-wheel-scrolling). Accepte toute valeur positive jusqu'à 20, y compris des valeurs fractionnaires inférieures à 1 comme `0.5` pour ralentir le défilement accéléré du trackpad et de la molette dans les terminaux qui amplifient déjà les événements de molette. Définir sur `3` pour reproduire le comportement de `vim` si votre terminal envoie un événement de molette par cran sans amplification. Ignorée dans le terminal des IDE JetBrains, où Claude Code utilise sa propre gestion du défilement |


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

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

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

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

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

410| `CLAUDE_CODE_TMUX_TRUECOLOR` | Définir sur n'importe quelle valeur non vide, comme `1`, pour autoriser la sortie truecolor 24 bits dans tmux. **La définir sur `0` ou `false` autorise tout de même le truecolor**, contrairement à la plupart des variables activé/désactivé ; supprimez la variable pour rétablir la limitation à 256 couleurs. Par défaut, Claude Code se limite à 256 couleurs lorsque `$TMUX` est défini, car tmux ne transmet pas les séquences d'échappement truecolor sauf s'il est configuré pour le faire. Définissez-la après avoir ajouté `set -ga terminal-overrides ',*:Tc'` à votre `~/.tmux.conf`. Voir [Configuration du terminal](/docs/fr/terminal-config) pour les autres paramètres tmux |405| `CLAUDE_CODE_TMUX_TRUECOLOR` | Définir sur n'importe quelle valeur non vide, comme `1`, pour autoriser la sortie truecolor 24 bits dans tmux. **La définir sur `0` ou `false` autorise tout de même le truecolor**, contrairement à la plupart des variables activé/désactivé ; supprimez la variable pour rétablir la limitation à 256 couleurs. Par défaut, Claude Code se limite à 256 couleurs lorsque `$TMUX` est défini, car tmux ne transmet pas les séquences d'échappement truecolor sauf s'il est configuré pour le faire. Définissez-la après avoir ajouté `set -ga terminal-overrides ',*:Tc'` à votre `~/.tmux.conf`. Voir [Configuration du terminal](/docs/fr/terminal-config) pour les autres paramètres tmux |

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

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

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

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

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

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

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

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

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

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

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

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


427| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite supérieure, en millisecondes, du temps pendant lequel un agent de [workflow](/docs/fr/workflows) attend que la première réponse d'un agent frère partageant le même préfixe commence avant d'envoyer sa propre première requête. Lorsqu'un fan-out lance plusieurs agents partageant un [préfixe de cache de prompt](/docs/fr/workflows#prompt-caching-in-a-fan-out), Claude Code retient tous les agents sauf le premier pendant au plus cette durée, afin que les autres lisent le préfixe mis en cache au lieu de le traiter chacun sans cache. Valeur par défaut : `5000`. Définissez sur `0` pour désactiver l'attente. Lorsque `DISABLE_PROMPT_CACHING` est défini, les agents n'attendent jamais. Nécessite Claude Code v2.1.229 ou ultérieur |421| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite supérieure, en millisecondes, du temps pendant lequel un agent de [workflow](/docs/fr/workflows) attend que la première réponse d'un agent frère partageant le même préfixe commence avant d'envoyer sa propre première requête. Lorsqu'un fan-out lance plusieurs agents partageant un [préfixe de cache de prompt](/docs/fr/workflows#prompt-caching-in-a-fan-out), Claude Code retient tous les agents sauf le premier pendant au plus cette durée, afin que les autres lisent le préfixe mis en cache au lieu de le traiter chacun sans cache. Valeur par défaut : `5000`. Définissez sur `0` pour désactiver l'attente. Lorsque `DISABLE_PROMPT_CACHING` est défini, les agents n'attendent jamais. Nécessite Claude Code v2.1.229 ou ultérieur |

428| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Définissez sur `1` pour afficher, au-dessus du prompt, une ligne pour chacune des trois dernières vérifications effectuées par le [mod You should know](/docs/fr/interactive-mode#you-should-know-suggestions) dans cette session. Utilisez-la pour confirmer que le mod effectue bien ses vérifications lorsqu'aucune note n'apparaît. Nécessite Claude Code v2.1.287 ou ultérieur |422| `CLAUDE_CODE_YOU_SHOULD_KNOW_DEBUG` | Définissez sur `1` pour afficher, au-dessus du prompt, une ligne pour chacune des trois dernières vérifications effectuées par le [mod You should know](/docs/fr/interactive-mode#you-should-know-suggestions) dans cette session. Utilisez-la pour confirmer que le mod effectue bien ses vérifications lorsqu'aucune note n'apparaît. Nécessite Claude Code v2.1.287 ou ultérieur |

429| `CLAUDE_CONFIG_DIR` | Remplacer le répertoire de configuration (par défaut : `~/.claude`). Tous les paramètres, l'historique des sessions et les plugins sont stockés sous ce chemin. Pour les identifiants, voir [où Claude Code stocke les identifiants](/docs/fr/authentication#credential-management). Utile pour exécuter plusieurs comptes côte à côte : par exemple, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Dans un fichier de paramètres, indiquez le [chemin absolu](#in-settings-files). Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |423| `CLAUDE_CONFIG_DIR` | Remplacer le répertoire de configuration (par défaut : `~/.claude`). Tous les paramètres, l'historique des sessions et les plugins sont stockés sous ce chemin. Pour les identifiants, voir [où Claude Code stocke les identifiants](/docs/fr/authentication#credential-management). Utile pour exécuter plusieurs comptes côte à côte : par exemple, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Définissez-la dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Dans un fichier de paramètres, indiquez le [chemin absolu](#in-settings-files). Ignorée dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

430| `CLAUDE_DISABLE_ADOPT` | Définissez sur `1` pour arrêter le travail en arrière-plan en cours au lieu de le reporter lorsque vous passez une session en arrière-plan en appuyant sur `←` ou avec [`/background`](/docs/fr/agent-view#from-inside-a-session). Claude Code vous demande de confirmer avant de passer en arrière-plan, puis arrête les tâches qui auraient sinon été reportées. Nécessite Claude Code v2.1.195 ou ultérieur |

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

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

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


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

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

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

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

469| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Dépréciée. Utilisez plutôt `ENABLE_PROMPT_CACHING_1H` |462| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Dépréciée. Utilisez plutôt `ENABLE_PROMPT_CACHING_1H` |

470| `ENABLE_TOOL_SEARCH` | Contrôle la [recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search). Lorsqu'elle n'est pas définie, Claude Code diffère par défaut le chargement de tous les outils MCP, et les charge plutôt dès le départ lorsque `ANTHROPIC_BASE_URL` pointe vers un hôte non first-party. `true` les maintient différés également sur un tel hôte. `auto` les charge dès le départ lorsque les définitions d'outils tiennent dans 10 % du contexte. `auto:N` définit un seuil personnalisé, comme `auto:5` pour 5 %. `false` charge tous les outils dès le départ. Pour les modèles et les déploiements qui chargent tous les outils dès le départ quelle que soit cette valeur, consultez [Configurer la recherche d'outils](/docs/fr/mcp#configure-tool-search) |463| `ENABLE_TOOL_SEARCH` | Contrôle [MCP Tool Search](/docs/fr/mcp#scale-with-mcp-tool-search). Non définie ou `true` diffère le chargement des outils MCP, sauf dans les [cas qui maintiennent la recherche d'outils désactivée](/docs/fr/mcp#configure-tool-search). `auto` active la recherche d'outils dès que les définitions atteignent 10 % de la fenêtre de contexte. `auto:N` définit un seuil personnalisé, comme `auto:5` pour 5 %. `false` charge tous les outils dès le départ. Si une passerelle rejette la recherche d'outils, consultez [Recherche d'outils via une passerelle LLM](/docs/fr/mcp#tool-search-through-a-gateway) |

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

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

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

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


572 564 

573Lorsque la récupération est désactivée, vous ne pouvez pas :565Lorsque la récupération est désactivée, vous ne pouvez pas :

574 566 

575* Exécuter [`/auto-mode-setup`](/docs/fr/auto-mode-config#generate-environment-entries) pour rédiger des entrées `autoMode.environment`

576* Utiliser [Remote Control](/docs/fr/remote-control) lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ou `DISABLE_GROWTHBOOK` est défini. Pour `DISABLE_TELEMETRY` et `DO_NOT_TRACK`, consultez les [prérequis de Remote Control](/docs/fr/remote-control#requirements)567* Utiliser [Remote Control](/docs/fr/remote-control) lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ou `DISABLE_GROWTHBOOK` est défini. Pour `DISABLE_TELEMETRY` et `DO_NOT_TRACK`, consultez les [prérequis de Remote Control](/docs/fr/remote-control#requirements)

577* [Envoyer des messages à des sessions au-delà de cette machine](/docs/fr/cross-session-messaging#message-sessions-on-other-machines) lorsque [Remote Control](/docs/fr/remote-control#requirements) n'est pas disponible. La messagerie entre sessions sur cette machine fonctionne lorsque la récupération est désactivée568* [Envoyer des messages à des sessions au-delà de cette machine](/docs/fr/cross-session-messaging#message-sessions-on-other-machines) lorsque [Remote Control](/docs/fr/remote-control#requirements) n'est pas disponible. La messagerie entre sessions sur cette machine fonctionne lorsque la récupération est désactivée

578* Exécuter [`claude import` ou la commande `/import`](/docs/fr/cli-reference#cli-commands)569* Exécuter [`claude import` ou la commande `/import`](/docs/fr/cli-reference#cli-commands)

errors.md +304 −57

Details

83| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Authentification](#oauth-token-revoked-or-expired) |83| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Authentification](#oauth-token-revoked-or-expired) |

84| `API Error: 401 Invalid authentication credentials` | [Authentification](#api-error-401-invalid-authentication-credentials) |84| `API Error: 401 Invalid authentication credentials` | [Authentification](#api-error-401-invalid-authentication-credentials) |

85| `Login expired · Please run /login` | [Authentification](#login-expired) |85| `Login expired · Please run /login` | [Authentification](#login-expired) |

86| `The browser can't return the sign-in to Claude Code automatically` | [Authentification](#couldnt-start-the-local-sign-in-listener) |

87| `Couldn't start the local listener that receives the browser sign-in. Try again.` | [Authentification](#couldnt-start-the-local-sign-in-listener) |

86| `Failed to start OAuth callback server` | [Authentification](#failed-to-start-oauth-callback-server) |88| `Failed to start OAuth callback server` | [Authentification](#failed-to-start-oauth-callback-server) |

87| `Claude login not accepted · Run /login, then try again` | [Authentification](#claude-login-not-accepted) |89| `Claude login not accepted · Run /login, then try again` | [Authentification](#claude-login-not-accepted) |

88| `Artifacts need a claude.ai login` | [Authentification](#artifacts-need-a-claude-ai-login) |90| `Artifacts need a claude.ai login` | [Authentification](#artifacts-need-a-claude-ai-login) |


100| `claude.ai rejected the session token` / `session token rejected` | [Authentification](#claude-ai-rejected-the-session-token) |102| `claude.ai rejected the session token` / `session token rejected` | [Authentification](#claude-ai-rejected-the-session-token) |

101| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [Authentification](#mcp-server-needs-you-to-sign-in-again) |103| `MCP server "<name>" needs you to sign in again (run /mcp to re-authenticate)` | [Authentification](#mcp-server-needs-you-to-sign-in-again) |

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

105| `(check the helper, then start a new task or chat)` / `(update it, then start a new task or chat)` | [Authentification](#mcp-credential-rejected-in-cowork) |

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

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

105| `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) |108| `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) |


200| `Installation was killed before it could finish (exit code 137)` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#installation-was-killed-before-it-could-finish) |203| `Installation was killed before it could finish (exit code 137)` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#installation-was-killed-before-it-could-finish) |

201| `The connection dropped while downloading the update` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |204| `The connection dropped while downloading the update` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

202| `Download timed out: exceeded the total deadline` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |205| `Download timed out: exceeded the total deadline` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

206| `Release verification failed for Claude Code <version> (<reason>). The update was not installed.` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#release-verification-failed) |

207| `Auto-update failed · Run claude doctor` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#auto-update-failed) |

203| `--bg and --print conflict` | [Erreurs de ligne de commande](#conflict-between-bg-and-print) |208| `--bg and --print conflict` | [Erreurs de ligne de commande](#conflict-between-bg-and-print) |

204| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [Erreurs de ligne de commande](#couldnt-tell-whether-bg-is-a-flag-or-text) |209| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [Erreurs de ligne de commande](#couldnt-tell-whether-bg-is-a-flag-or-text) |

205| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Erreurs de ligne de commande](#conflict-between-a-system-prompt-flag-and-its-file-form) |210| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Erreurs de ligne de commande](#conflict-between-a-system-prompt-flag-and-its-file-form) |


270| `Custom output styles can't be selected over Remote Control or from a relayed message` | [Erreurs de ligne de commande](#custom-output-styles-cant-be-selected-over-remote-control) |275| `Custom output styles can't be selected over Remote Control or from a relayed message` | [Erreurs de ligne de commande](#custom-output-styles-cant-be-selected-over-remote-control) |

271| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Erreurs de ligne de commande](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |276| `Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load` | [Erreurs de ligne de commande](#output-styles-are-saved-to-local-settings-which-this-session-doesnt-load) |

272| `/recap only runs when you ask for it yourself in this session` | [Erreurs de ligne de commande](#recap-only-runs-when-you-ask-for-it-yourself) |277| `/recap only runs when you ask for it yourself in this session` | [Erreurs de ligne de commande](#recap-only-runs-when-you-ask-for-it-yourself) |

278| `/feedback is disabled by your organization's policy`, ou le même message pour `/bug` ou `/share` | [Erreurs de ligne de commande](#feedback-is-disabled-by-your-organizations-policy) |

273| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Erreurs de plugin](#plugin-eval-is-currently-in-early-access) |279| `` `plugin eval` is currently in early access `` / `` `plugin eval` is currently unavailable `` | [Erreurs de plugin](#plugin-eval-is-currently-in-early-access) |

274| `cannot be evaluated where sessions load it` | [Tester des plugins avec des evals](/docs/fr/plugin-evals#cannot-be-evaluated-where-sessions-load-it) |280| `cannot be evaluated where sessions load it` | [Tester des plugins avec des evals](/docs/fr/plugin-evals#cannot-be-evaluated-where-sessions-load-it) |

275| `Marketplace "<name>" is registered from an untrusted source` | [Erreurs de plugin](#marketplace-is-registered-from-an-untrusted-source) |281| `Marketplace "<name>" is registered from an untrusted source` | [Erreurs de plugin](#marketplace-is-registered-from-an-untrusted-source) |


289| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |295| `The packages it lists are not installed` / `The packages it lists were not installed, because` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#the-packages-it-lists-are-not-installed) |

290| `does not load (...), so Claude Code ignores the whole file` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |296| `does not load (...), so Claude Code ignores the whole file` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#does-not-load-so-claude-code-ignores-the-whole-file) |

291| `path escapes plugin directory` | [Erreurs de plugin](#path-escapes-plugin-directory) |297| `path escapes plugin directory` | [Erreurs de plugin](#path-escapes-plugin-directory) |

298| `Plugin not loaded: its manifest <path> was not read` | [Erreurs de plugin](#plugin-not-loaded-its-manifest-was-not-read) |

292| `path could not be checked` | [Erreurs de plugin](#path-could-not-be-checked) |299| `path could not be checked` | [Erreurs de plugin](#path-could-not-be-checked) |

293| `its marketplace entry path does not stay inside the marketplace directory` | [Erreurs de plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |300| `its marketplace entry path does not stay inside the marketplace directory` | [Erreurs de plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |

294| `Plugin source path refused` | [Erreurs de plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |301| `Plugin source path refused` | [Erreurs de plugin](#marketplace-entry-path-does-not-stay-inside-the-marketplace-directory) |


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

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

306| `Path contains null bytes` | [Erreurs d'outil](#path-cannot-contain-null-bytes) |313| `Path contains null bytes` | [Erreurs d'outil](#path-cannot-contain-null-bytes) |

314| `File is too large to read as an image (the limit is 128MB)` | [Erreurs d'outil](#file-is-too-large-to-read-as-an-image) |

315| `Cannot read this as an image: <path> is a pipe or a device` | [Erreurs d'outil](#file-is-too-large-to-read-as-an-image) |

307| `subagent_type is required: the general-purpose agent is not available in this session` | [Erreurs d'outil](#subagent-type-is-required) |316| `subagent_type is required: the general-purpose agent is not available in this session` | [Erreurs d'outil](#subagent-type-is-required) |

308| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Erreurs d'outil](#memory-index-is-over-its-read-limit) |317| `Error: this write left the memory index at MEMORY.md at ..., over its ... read limit` | [Erreurs d'outil](#memory-index-is-over-its-read-limit) |

309| `pkill: refusing to run` | [Erreurs d'outil](#pkill-pattern-matches-the-claude-code-process) |318| `pkill: refusing to run` | [Erreurs d'outil](#pkill-pattern-matches-the-claude-code-process) |

310| `Failed to write to <name>'s inbox — nothing was sent` | [Erreurs d'outil](#failed-to-write-to-a-teammate-inbox) |319| `Failed to write to <name>'s inbox — nothing was sent` | [Erreurs d'outil](#failed-to-write-to-a-teammate-inbox) |

311| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Erreurs d'outil](#failed-to-write-to-a-teammate-inbox) |320| `Failed to write the plan approval request to the lead's inbox — plan not submitted` | [Erreurs d'outil](#failed-to-write-to-a-teammate-inbox) |

312| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Erreurs d'outil](#teammate-agent-definition-not-restored) |321| `Its agent definition was not restored: the folder its definition file came from is not trusted` | [Erreurs d'outil](#teammate-agent-definition-not-restored) |

322| `Only a teammate can approve a shutdown request` | [Erreurs d'outil](#only-a-teammate-can-approve-a-shutdown-request) |

313| `Message too large for cross-session delivery` | [Erreurs d'outil](#message-too-large-for-cross-session-delivery) |323| `Message too large for cross-session delivery` | [Erreurs d'outil](#message-too-large-for-cross-session-delivery) |

314| `Too many messages to this session just now` | [Erreurs d'outil](#too-many-messages-to-this-session-just-now) |324| `Too many messages to this session just now` | [Erreurs d'outil](#too-many-messages-to-this-session-just-now) |

315| `Cross-session message was dropped at the recipient session's inbox` | [Erreurs d'outil](#cross-session-message-dropped-at-the-inbox) |325| `Cross-session message was dropped at the recipient session's inbox` | [Erreurs d'outil](#cross-session-message-dropped-at-the-inbox) |


325| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [Erreurs d'outil](#disk-quota-or-temp-filesystem-is-full) |335| `Your disk quota is full on the filesystem with Claude Code's temp directory <dir> (EDQUOT)` | [Erreurs d'outil](#disk-quota-or-temp-filesystem-is-full) |

326| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [Erreurs d'outil](#disk-quota-or-temp-filesystem-is-full) |336| `The filesystem with Claude Code's temp directory <dir>, or your disk quota on it, is full (ENOSPC)` | [Erreurs d'outil](#disk-quota-or-temp-filesystem-is-full) |

327| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [Erreurs d'outil](#disk-quota-or-temp-filesystem-is-full) |337| `Command output was lost: the temp filesystem at <dir> is full` / `is out of inodes` | [Erreurs d'outil](#disk-quota-or-temp-filesystem-is-full) |

338| `The command was not started: this computer's disk is full (ENOSPC)` / `(EDQUOT)` | [Erreurs d'outil](#disk-quota-or-temp-filesystem-is-full) |

328| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [Erreurs d'outil](#file-is-not-valid-utf-8) |339| `File is not valid UTF-8. It may use a legacy encoding such as Windows-1252, Shift-JIS or GBK, or be binary` | [Erreurs d'outil](#file-is-not-valid-utf-8) |

329| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Erreurs d'outil](#the-source-file-is-not-valid-utf-8-text) |340| `the source file is not valid UTF-8 text` / `the source file is not valid UTF-16 text` | [Erreurs d'outil](#the-source-file-is-not-valid-utf-8-text) |

330| `the source file has the replacement character U+FFFD` | [Erreurs d'outil](#the-source-file-is-not-valid-utf-8-text) |341| `the source file has the replacement character U+FFFD` | [Erreurs d'outil](#the-source-file-is-not-valid-utf-8-text) |

331| `Not published: that file is on a network share` | [Erreurs d'outil](#not-published-that-file-is-on-a-network-share) |342| `Not published: that file is on a network share` | [Erreurs d'outil](#not-published-that-file-is-on-a-network-share) |

343| `Not published: Claude sent the same content again after a newer version of the artifact turned it away` / `Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away` | [Erreurs d'outil](#not-published-a-newer-version-of-the-artifact-turned-it-away) |

332| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Erreurs d'outil](#reading-a-local-file-from-outside-the-connected-folders) |344| `Reading a local file from outside this session's connected folders, or through a link, needs the approval card` | [Erreurs d'outil](#reading-a-local-file-from-outside-the-connected-folders) |

333| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [Erreurs d'outil](#reading-a-local-file-from-outside-the-connected-folders) |345| `cannot read file_path (...) — the file could not be examined, and no one can answer the approval card` | [Erreurs d'outil](#reading-a-local-file-from-outside-the-connected-folders) |

334| `WebFetch cannot fetch localhost or other hostnames without a dot` | [Erreurs d'outil](#webfetch-cannot-fetch-localhost) |346| `WebFetch cannot fetch localhost or other hostnames without a dot` | [Erreurs d'outil](#webfetch-cannot-fetch-localhost) |


345| `Can't open — this session is running in another terminal` | [Erreurs de session en arrière-plan](#this-session-is-running-in-another-terminal) |357| `Can't open — this session is running in another terminal` | [Erreurs de session en arrière-plan](#this-session-is-running-in-another-terminal) |

346| `This conversation is already open in another running Claude session` | [Erreurs de session en arrière-plan](#this-session-is-running-in-another-terminal) |358| `This conversation is already open in another running Claude session` | [Erreurs de session en arrière-plan](#this-session-is-running-in-another-terminal) |

347| `This session's saved conversation is no longer on disk` | [Erreurs de session en arrière-plan](#this-sessions-saved-conversation-is-no-longer-on-disk) |359| `This session's saved conversation is no longer on disk` | [Erreurs de session en arrière-plan](#this-sessions-saved-conversation-is-no-longer-on-disk) |

348| `Bypass permissions was requested at launch and ignored` | [Ignorer toutes les vérifications avec le mode bypassPermissions](/docs/fr/permission-modes#bypass-permissions-acceptance) |360| `Bypass permissions was requested at launch and ignored` | [Mode bypass permissions ignoré dans une session en arrière-plan](/docs/fr/permission-modes#bypass-permissions-ignored-in-a-background-session) |

349| `kept <id> — its worktree is still at <path>` | [Erreurs de session en arrière-plan](#worktree-has-commits-that-are-not-pushed-anywhere) |361| `kept <id> — its worktree is still at <path>` | [Erreurs de session en arrière-plan](#worktree-has-commits-that-are-not-pushed-anywhere) |

350| `kept <id> — <n> unpushed commits on <branch>` | [Erreurs de session en arrière-plan](#worktree-has-commits-that-are-not-pushed-anywhere) |362| `kept <id> — <n> unpushed commits on <branch>` | [Erreurs de session en arrière-plan](#worktree-has-commits-that-are-not-pushed-anywhere) |

351| `kept <id> — worktree has commits that are not pushed anywhere` | [Erreurs de session en arrière-plan](#worktree-has-commits-that-are-not-pushed-anywhere) |363| `kept <id> — worktree has commits that are not pushed anywhere` | [Erreurs de session en arrière-plan](#worktree-has-commits-that-are-not-pushed-anywhere) |


354| `Session <id> was stopped while the respawn was in flight` | [Erreurs de session en arrière-plan](#session-was-stopped-while-the-respawn-was-in-flight) |366| `Session <id> was stopped while the respawn was in flight` | [Erreurs de session en arrière-plan](#session-was-stopped-while-the-respawn-was-in-flight) |

355| `This session was running agent '<name>', which is no longer available` | [Erreurs de session en arrière-plan](#session-agent-no-longer-available) |367| `This session was running agent '<name>', which is no longer available` | [Erreurs de session en arrière-plan](#session-agent-no-longer-available) |

356| `This session restarted <time> after its next /loop wakeup was due, so that wakeup will not fire` | [Erreurs de session en arrière-plan](#restarted-after-its-next-loop-wakeup-was-due) |368| `This session restarted <time> after its next /loop wakeup was due, so that wakeup will not fire` | [Erreurs de session en arrière-plan](#restarted-after-its-next-loop-wakeup-was-due) |

369| `No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder` | [Erreurs de session en arrière-plan](#no-llm-gateway-opened-from-another-folder) |

370| `No LLM gateway: opened from another folder · respawn from <folder>` | [Erreurs de session en arrière-plan](#no-llm-gateway-opened-from-another-folder) |

357| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [Erreurs de session en arrière-plan](#claude_code_process_wrapper-launcher-errors) |371| `CLAUDE_CODE_PROCESS_WRAPPER: launcher ...` | [Erreurs de session en arrière-plan](#claude_code_process_wrapper-launcher-errors) |

358| `EUNKNOWN: unknown error, uv_spawn` | [Erreurs de session en arrière-plan](#eunknown-when-starting-a-background-session) |372| `EUNKNOWN: unknown error, uv_spawn` | [Erreurs de session en arrière-plan](#eunknown-when-starting-a-background-session) |

359| `EACCES: permission denied, posix_spawn` | [Erreurs de session en arrière-plan](#eacces-when-starting-a-background-session) |373| `EACCES: permission denied, posix_spawn` | [Erreurs de session en arrière-plan](#eacces-when-starting-a-background-session) |


394| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [Avertissements de configuration](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |408| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [Avertissements de configuration](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |

395| `headersHelper not run — this workspace has no persisted trust` | [Avertissements de configuration](#headershelper-not-run) |409| `headersHelper not run — this workspace has no persisted trust` | [Avertissements de configuration](#headershelper-not-run) |

396| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [Avertissements de configuration](#malformed-tool-content-rule) |410| `Invalid permission rule "..." was skipped: Malformed Tool(content) rule` | [Avertissements de configuration](#malformed-tool-content-rule) |

411| `matches no tool · check for typos` / `matches no known tool — check for typos` | [Avertissements de configuration](#matches-no-tool) |

397| `... is not matched by file permission checks` | [Avertissements de configuration](#is-not-matched-by-file-permission-checks) |412| `... is not matched by file permission checks` | [Avertissements de configuration](#is-not-matched-by-file-permission-checks) |

413| `Write(<path>) never matches · use Edit(<path>)` / `Glob(<path>) never matches · use Read(<path>)` | [Avertissements de configuration](#is-not-matched-by-file-permission-checks) |

398| `... has a wildcard before the rest of the command` | [Avertissements de configuration](#has-a-wildcard-before-the-rest-of-the-command) |414| `... has a wildcard before the rest of the command` | [Avertissements de configuration](#has-a-wildcard-before-the-rest-of-the-command) |

415| `allows any option at its * · use an exact value` | [Avertissements de configuration](#has-a-wildcard-before-the-rest-of-the-command) |

399| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [Avertissements de configuration](#denying-bash-also-turns-off-the-powershell-tool) |416| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [Avertissements de configuration](#denying-bash-also-turns-off-the-powershell-tool) |

400| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [Avertissements de configuration](#the-200k-limit-isnt-enforced) |417| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [Avertissements de configuration](#the-200k-limit-isnt-enforced) |

418| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" reads as <N> tokens, so Claude Code treats it as the 100k minimum` | [Valeurs et avertissements pour `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/fr/model-config#claude_code_auto_compact_window-values) |

419| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" is too large, so Claude Code treats it as the 1M maximum` | [Valeurs et avertissements pour `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/fr/model-config#claude_code_auto_compact_window-values) |

420| `CLAUDE_CODE_AUTO_COMPACT_WINDOW="<value>" isn't a usable size, so Claude Code ignores it` | [Valeurs et avertissements pour `CLAUDE_CODE_AUTO_COMPACT_WINDOW`](/docs/fr/model-config#claude_code_auto_compact_window-values) |

401| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |421| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

402| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |422| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

403| `[claude-code:unrecognized_model]` | [Avertissements de configuration](#unrecognized-model-id-on-a-request) |423| `[claude-code:unrecognized_model]` | [Avertissements de configuration](#unrecognized-model-id-on-a-request) |


430 450 

431Claude Code ne réessaie pas ces défaillances :451Claude Code ne réessaie pas ces défaillances :

432 452 

433* Une défaillance de validation de certificat TLS, telle qu'un proxy inspectant TLS, un bundle `NODE_EXTRA_CA_CERTS` manquant, ou un certificat expiré. Claude Code signale l'erreur à la première tentative, pour que vous puissiez corriger la configuration du certificat immédiatement ; voir [SSL certificate errors](#ssl-certificate-errors). Claude Code réessaie toujours les conditions TLS transitoires telles qu'un délai d'attente de poignée de main. Avant v2.1.199, Claude Code réessayait les défaillances de certificat à travers le budget de tentatives complet avant d'afficher l'erreur.453* Une défaillance de validation de certificat TLS, telle qu'un proxy inspectant TLS, un bundle `NODE_EXTRA_CA_CERTS` manquant, ou un certificat expiré. Claude Code signale l'erreur à la première tentative, pour que vous puissiez corriger la configuration du certificat immédiatement ; voir [Erreurs de certificat SSL](#ssl-certificate-errors). Claude Code réessaie toujours les conditions TLS transitoires telles qu'un délai d'attente de poignée de main. Avant v2.1.199, Claude Code réessayait les défaillances de certificat à travers le budget de tentatives complet avant d'afficher l'erreur.

434* Une erreur serveur, une connexion interrompue, ou un flux bloqué qui arrive après que Claude a complété un bloc de texte ou un appel d'outil, ou en a commencé un après avoir terminé sa réflexion, mais avant de terminer la réponse. Claude Code ne renvoie pas la requête, car cela pourrait exécuter les mêmes appels d'outils deux fois. Il conserve ce que Claude a complété, exécute tous les appels d'outils que Claude a terminés, et continue le tour à partir de leurs résultats. Pour ce que vous voyez dans une session interactive et dans une session non-interactive, lisez [The response above may be incomplete](#the-response-above-may-be-incomplete). Avant v2.1.199, Claude Code rejetait la sortie partielle et signalait le tour entier comme une erreur lorsqu'une erreur serveur arrivait au milieu du flux.454* Une erreur serveur, une connexion interrompue, ou un flux bloqué qui arrive après que Claude a complété un bloc de texte ou un appel d'outil, ou en a commencé un après avoir terminé sa réflexion, mais avant de terminer la réponse. Claude Code ne renvoie pas la requête, car cela pourrait exécuter les mêmes appels d'outils deux fois. Il conserve ce que Claude a complété, exécute tous les appels d'outils que Claude a terminés, et continue le tour à partir de leurs résultats. Pour ce que vous voyez dans une session interactive et dans une session non-interactive, lisez [The response above may be incomplete](#the-response-above-may-be-incomplete). Avant v2.1.199, Claude Code rejetait la sortie partielle et signalait le tour entier comme une erreur lorsqu'une erreur serveur arrivait au milieu du flux.

435* Une défaillance qui arrive après que Claude a terminé la réponse : rien n'a besoin d'être réessayé, donc Claude Code conserve la réponse complète et termine le tour normalement.455* Une défaillance qui arrive après que Claude a terminé la réponse : rien n'a besoin d'être réessayé, donc Claude Code conserve la réponse complète et termine le tour normalement.

436* Une [réponse en streaming Amazon Bedrock avec un type de contenu inattendu](#bedrock-streaming-response-has-an-unexpected-content-type), parce que la passerelle ou le proxy réécrivant la réponse réécrirait la nouvelle tentative de la même manière. Nécessite Claude Code v2.1.208 ou ultérieur.456* Une [réponse en streaming Amazon Bedrock avec un type de contenu inattendu](#bedrock-streaming-response-has-an-unexpected-content-type), parce que la passerelle ou le proxy réécrivant la réponse réécrirait la nouvelle tentative de la même manière. Nécessite Claude Code v2.1.208 ou ultérieur.


445 465 

446Si aucune donnée n'arrive sur le flux de réponse pendant 20 secondes tandis qu'une requête est toujours en attente, le spinner affiche `Waiting for API response · will retry in … · check your network` avant que toute nouvelle tentative n'ait commencé. La requête n'a pas encore échoué : le compte à rebours s'exécute jusqu'au point où Claude Code abandonne la connexion bloquée. Après l'abandon, ce que vous voyez dépend de la distance parcourue par la réponse :466Si aucune donnée n'arrive sur le flux de réponse pendant 20 secondes tandis qu'une requête est toujours en attente, le spinner affiche `Waiting for API response · will retry in … · check your network` avant que toute nouvelle tentative n'ait commencé. La requête n'a pas encore échoué : le compte à rebours s'exécute jusqu'au point où Claude Code abandonne la connexion bloquée. Après l'abandon, ce que vous voyez dépend de la distance parcourue par la réponse :

447 467 

448* Avant que Claude n'ait complété un bloc de texte ou un appel d'outil, ou en ait commencé un après avoir terminé sa réflexion, Claude Code réessaie la requête ou termine le tour avec une erreur. [Automatic retries](#automatic-retries) dit quels blocages il réessaie et combien de fois.468* Avant que Claude n'ait complété un bloc de texte ou un appel d'outil, ou en ait commencé un après avoir terminé sa réflexion, Claude Code réessaie la requête ou termine le tour avec une erreur. [Tentatives automatiques](#automatic-retries) dit quels blocages il réessaie et combien de fois.

449* Après que Claude a complété un bloc de texte ou un appel d'outil, ou en a commencé un après avoir terminé sa réflexion, mais avant que Claude n'ait terminé la réponse, Claude Code conserve ce que Claude a complété, continue le tour à partir de tous les appels d'outils que Claude a terminés, et affiche [The response above may be incomplete](#the-response-above-may-be-incomplete). Dans une session non-interactive, et pour la réponse d'un sous-agent dans toute session, Claude Code peut d'abord demander à Claude de continuer la réponse ; cette entrée dit quand il le fait et quand vous voyez toujours l'avis là.469* Après que Claude a complété un bloc de texte ou un appel d'outil, ou en a commencé un après avoir terminé sa réflexion, mais avant que Claude n'ait terminé la réponse, Claude Code conserve ce que Claude a complété, continue le tour à partir de tous les appels d'outils que Claude a terminés, et affiche [The response above may be incomplete](#the-response-above-may-be-incomplete). Dans une session non-interactive, et pour la réponse d'un sous-agent dans toute session, Claude Code peut d'abord demander à Claude de continuer la réponse ; cette entrée dit quand il le fait et quand vous voyez toujours l'avis là.

450* Après que Claude a terminé la réponse, Claude Code termine le tour normalement.470* Après que Claude a terminé la réponse, Claude Code termine le tour normalement.

451 471 


462| [`CLAUDE_CODE_MAX_RETRIES`](/docs/fr/env-vars) | 10 | Nombre de nouvelles tentatives. Plafonné à 15 à partir de v2.1.186 ; à partir de v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Réduisez-le pour afficher les défaillances plus rapidement dans les scripts. |482| [`CLAUDE_CODE_MAX_RETRIES`](/docs/fr/env-vars) | 10 | Nombre de nouvelles tentatives. Plafonné à 15 à partir de v2.1.186 ; à partir de v2.1.199 `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Réduisez-le pour afficher les défaillances plus rapidement dans les scripts. |

463| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/fr/env-vars) | non défini | Définissez sur `1` dans les sessions sans surveillance telles que les travaux CI pour réessayer les erreurs de capacité `429` et `529` indéfiniment au lieu d'échouer après `CLAUDE_CODE_MAX_RETRIES` tentatives. Claude Code échoue immédiatement lorsqu'une requête à vitesse standard obtient un `429` qui signale une limite de dépenses ou des crédits d'utilisation épuisés, même un provenant d'un [plafond de dépenses de passerelle](#spend-limit-reached) qui se réinitialise selon un calendrier. Avant v2.1.239, le watchdog réessayait ceux-ci indéfiniment. Pour les requêtes en mode rapide, voir [Handle rate limits](/docs/fr/fast-mode#handle-rate-limits). Sur v2.1.199 ou ultérieur, il augmente également le nombre de tentatives par défaut pour les autres erreurs transitoires, telles que les erreurs serveur, les délais d'attente et les connexions interrompues, à 300, environ trois heures de backoff, et supprime le plafond de 15 sur `CLAUDE_CODE_MAX_RETRIES` si vous définissez explicitement cette variable. |483| [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/fr/env-vars) | non défini | Définissez sur `1` dans les sessions sans surveillance telles que les travaux CI pour réessayer les erreurs de capacité `429` et `529` indéfiniment au lieu d'échouer après `CLAUDE_CODE_MAX_RETRIES` tentatives. Claude Code échoue immédiatement lorsqu'une requête à vitesse standard obtient un `429` qui signale une limite de dépenses ou des crédits d'utilisation épuisés, même un provenant d'un [plafond de dépenses de passerelle](#spend-limit-reached) qui se réinitialise selon un calendrier. Avant v2.1.239, le watchdog réessayait ceux-ci indéfiniment. Pour les requêtes en mode rapide, voir [Handle rate limits](/docs/fr/fast-mode#handle-rate-limits). Sur v2.1.199 ou ultérieur, il augmente également le nombre de tentatives par défaut pour les autres erreurs transitoires, telles que les erreurs serveur, les délais d'attente et les connexions interrompues, à 300, environ trois heures de backoff, et supprime le plafond de 15 sur `CLAUDE_CODE_MAX_RETRIES` si vous définissez explicitement cette variable. |

464| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/fr/env-vars) | non défini | Durée maximale en millisecondes pendant laquelle chaque requête API attend la fin des erreurs `429` et `529` lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini. Lorsqu'elle n'est pas définie, l'attente n'a pas de limite. Nécessite Claude Code v2.1.295 ou ultérieur. |484| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/fr/env-vars) | non défini | Durée maximale en millisecondes pendant laquelle chaque requête API attend la fin des erreurs `429` et `529` lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini. Lorsqu'elle n'est pas définie, l'attente n'a pas de limite. Nécessite Claude Code v2.1.295 ou ultérieur. |

485| [`CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS`](/docs/fr/env-vars) | non défini | Intervalle minimal en millisecondes entre les vérifications visant à savoir si une [limite d'utilisation](#youve-hit-your-session-limit) a déjà été levée, pendant qu'une requête attend la réinitialisation de cette limite avec `CLAUDE_CODE_RETRY_WATCHDOG` défini. Lorsqu'une vérification constate que la limite a été levée, la requête part immédiatement. Indiquez uniquement des chiffres, de `60000` à `10800000`. Lorsqu'elle n'est pas définie ou se trouve hors de cette plage, aucune vérification n'est effectuée. Pour savoir quand Claude Code ignore ces vérifications, voir la [référence des variables d'environnement](/docs/fr/env-vars). Nécessite Claude Code v2.1.305 ou ultérieur. |

465| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/fr/env-vars) | 500 | Délai initial en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le, jusqu'à 32000, pour répartir les nouvelles tentatives sur une période plus longue lorsque l'API est à pleine capacité. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](/docs/fr/fast-mode#handle-rate-limits). Nécessite Claude Code v2.1.292 ou ultérieur. |486| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/fr/env-vars) | 500 | Délai initial en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le, jusqu'à 32000, pour répartir les nouvelles tentatives sur une période plus longue lorsque l'API est à pleine capacité. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](/docs/fr/fast-mode#handle-rate-limits). Nécessite Claude Code v2.1.292 ou ultérieur. |

466| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/fr/env-vars) | 32000 | Plafond en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le, jusqu'à 64000, pour que les nouvelles tentatives ultérieures continuent de s'espacer lorsque l'API est à pleine capacité. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](/docs/fr/fast-mode#handle-rate-limits). Nécessite Claude Code v2.1.296 ou ultérieur. |487| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/fr/env-vars) | 32000 | Plafond en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le, jusqu'à 64000, pour que les nouvelles tentatives ultérieures continuent de s'espacer lorsque l'API est à pleine capacité. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](/docs/fr/fast-mode#handle-rate-limits). Nécessite Claude Code v2.1.296 ou ultérieur. |

467| [`API_TIMEOUT_MS`](/docs/fr/env-vars) | 600000 | Délai en millisecondes dont dispose chaque tentative de requête pour recevoir ses en-têtes de réponse. Il ne limite pas la durée d'une réponse en streaming au-delà. Augmentez-le pour les réseaux lents ou les proxys. Pour savoir comment il plafonne le délai de premier octet, voir [No response from API](#no-response-from-api). |488| [`API_TIMEOUT_MS`](/docs/fr/env-vars) | 600000 | Délai en millisecondes dont dispose chaque tentative de requête pour recevoir ses en-têtes de réponse. Il ne limite pas la durée d'une réponse en streaming au-delà. Augmentez-le pour les réseaux lents ou les proxys. Pour savoir comment il plafonne le délai de premier octet, voir [No response from API](#no-response-from-api). |


490 511 

491* Vérifiez [status.claude.com](https://status.claude.com), ou la page d'état du fournisseur nommée dans le message, pour les incidents actifs512* Vérifiez [status.claude.com](https://status.claude.com), ou la page d'état du fournisseur nommée dans le message, pour les incidents actifs

492* Attendez une minute, puis renvoyez votre message. Votre message original est toujours dans la conversation, donc pour un long prompt vous pouvez taper `try again` au lieu de coller le tout.513* Attendez une minute, puis renvoyez votre message. Votre message original est toujours dans la conversation, donc pour un long prompt vous pouvez taper `try again` au lieu de coller le tout.

514* Si [`ANTHROPIC_BASE_URL`](/docs/fr/env-vars) pointe vers une [passerelle LLM](/docs/fr/llm-gateway) et que chaque requête échoue de cette manière, vérifiez si votre passerelle rejette les champs de recherche d'outils que Claude Code envoie par défaut. Pour le vérifier, définissez `ENABLE_TOOL_SEARCH=false` comme décrit dans [Recherche d'outils via une passerelle LLM](/docs/fr/mcp#tool-search-through-a-gateway), puis réessayez. Avant v2.1.304, la recherche d'outils était désactivée derrière une passerelle, sauf si vous l'activiez avec `ENABLE_TOOL_SEARCH`.

493* Si l'erreur persiste sans incident signalé, exécutez `/feedback` pour qu'Anthropic puisse enquêter avec les détails de votre demande. Voir [Signaler une erreur](#report-an-error) si `/feedback` n'est pas disponible dans votre environnement.515* Si l'erreur persiste sans incident signalé, exécutez `/feedback` pour qu'Anthropic puisse enquêter avec les détails de votre demande. Voir [Signaler une erreur](#report-an-error) si `/feedback` n'est pas disponible dans votre environnement.

494 516 

495### Erreur API : Erreurs 529 Overloaded répétées517### Erreur API : Erreurs 529 Overloaded répétées


520Request timed out542Request timed out

521```543```

522 544 

523Le délai d'expiration de requête par défaut est de 10 minutes.545Le délai d'expiration de requête par défaut est de 10 minutes. Si vous définissez [`API_TIMEOUT_MS`](/docs/fr/env-vars) sur `0`, ce délai d'expiration de requête est désactivé. Le [délai du premier octet](#no-response-from-api) et le délai d'inactivité du corps ne se désactivent pas quand vous définissez `0`, donc une requête de streaming reste soumise à [ceux d'entre eux qui s'appliquent à votre connexion](/docs/fr/network-config#streaming-idle-watchdogs). Une tentative sans streaming conserve sa limite de 300 secondes dans une session locale et peut toujours se terminer par ce message.

524 546 

525**Que faire :**547**Que faire :**

526 548 

549* Si chaque requête échoue avec ce message et que vous avez défini `API_TIMEOUT_MS` sur `0`, vérifiez `claude --version`. Sur une version antérieure à v2.1.305, mettez à jour Claude Code ou définissez une valeur positive.

527* Réessayez la demande550* Réessayez la demande

528* Si une connexion réseau lente ou un proxy en est la cause, augmentez `API_TIMEOUT_MS` comme décrit dans [Tentatives automatiques](#automatic-retries)551* Si une connexion réseau lente ou un proxy en est la cause, augmentez `API_TIMEOUT_MS` comme décrit dans [Tentatives automatiques](#automatic-retries)

529* Si les délais d'attente sont fréquents et votre réseau est par ailleurs sain, voir [Erreurs réseau et de connexion](#network-and-connection-errors) ci-dessous552* Si les délais d'attente sont fréquents et votre réseau est par ailleurs sain, voir [Erreurs réseau et de connexion](#network-and-connection-errors) ci-dessous


541* **Première tentative** : [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/fr/env-vars) quand vous le définissez à 1 ou plus, limité entre 10 secondes et 30 minutes. Sinon, Claude Code utilise le délai d'attente du watchdog au niveau des octets listé dans [Watchdogs d'inactivité de streaming](/docs/fr/network-config#streaming-idle-watchdogs), donc les variables qui changent ce délai d'attente changent aussi cette attente. De toute façon, Claude Code ajoute une seconde pour chaque 32 Ko de corps de demande.564* **Première tentative** : [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/fr/env-vars) quand vous le définissez à 1 ou plus, limité entre 10 secondes et 30 minutes. Sinon, Claude Code utilise le délai d'attente du watchdog au niveau des octets listé dans [Watchdogs d'inactivité de streaming](/docs/fr/network-config#streaming-idle-watchdogs), donc les variables qui changent ce délai d'attente changent aussi cette attente. De toute façon, Claude Code ajoute une seconde pour chaque 32 Ko de corps de demande.

542* **Tentative de réessai** : une seconde de moins que `API_TIMEOUT_MS`, juste sous 10 minutes par défaut, afin que la tentative de réessai puisse dépasser un proxy ou une passerelle qui retient la réponse jusqu'à ce que la génération soit terminée. Sur Amazon Bedrock, la tentative de réessai utilise la même date limite que la première tentative, et le message affiche une durée au lieu de deux.565* **Tentative de réessai** : une seconde de moins que `API_TIMEOUT_MS`, juste sous 10 minutes par défaut, afin que la tentative de réessai puisse dépasser un proxy ou une passerelle qui retient la réponse jusqu'à ce que la génération soit terminée. Sur Amazon Bedrock, la tentative de réessai utilise la même date limite que la première tentative, et le message affiche une durée au lieu de deux.

543 566 

567 Sauf sur Amazon Bedrock, si vous définissez `API_TIMEOUT_MS` sur `0`, la tentative de réessai attend 10 minutes plus une seconde par 32 Ko, ou aussi longtemps que la première tentative si celle-ci est plus longue.

568 

544Aucune attente ne dépasse une seconde de moins qu'un `API_TIMEOUT_MS` positif, et un `API_TIMEOUT_MS` positif inférieur à 11 secondes désactive la date limite. Le watchdog au niveau des octets ne démarre qu'une fois les en-têtes de réponse arrivés, donc une réponse qui arrête d'envoyer des octets après cela suit les [règles de flux interrompu](#automatic-retries) au lieu de cette date limite.569Aucune attente ne dépasse une seconde de moins qu'un `API_TIMEOUT_MS` positif, et un `API_TIMEOUT_MS` positif inférieur à 11 secondes désactive la date limite. Le watchdog au niveau des octets ne démarre qu'une fois les en-têtes de réponse arrivés, donc une réponse qui arrête d'envoyer des octets après cela suit les [règles de flux interrompu](#automatic-retries) au lieu de cette date limite.

545 570 

546**Que faire :**571**Que faire :**


754 779 

755Claude Code bloque les requêtes supplémentaires jusqu'à l'heure de réinitialisation indiquée dans le message. Les limites de session et hebdomadaires sont partagées entre tous les modèles, donc changer de modèle ne restaure pas l'accès. Les limites Opus et Sonnet s'appliquent chacune uniquement aux requêtes adressées à cette famille de modèles, donc passer à un modèle en dehors de la famille avec `/model` vous permet de continuer à travailler.780Claude Code bloque les requêtes supplémentaires jusqu'à l'heure de réinitialisation indiquée dans le message. Les limites de session et hebdomadaires sont partagées entre tous les modèles, donc changer de modèle ne restaure pas l'accès. Les limites Opus et Sonnet s'appliquent chacune uniquement aux requêtes adressées à cette famille de modèles, donc passer à un modèle en dehors de la famille avec `/model` vous permet de continuer à travailler.

756 781 

757Dans une session interactive connectée avec un abonnement claude.ai, Claude Code peut également attendre dans la session ouverte et continuer la tâche interrompue peu après la réinitialisation. Consultez [Wait for a usage limit to reset](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) pour voir ce que vous voyez, comment démarrer ou annuler une attente, et comment désactiver la continuation automatique. Avant la v2.1.234, Claude Code n'offrait pas cette attente.782Dans une session interactive connectée avec un abonnement claude.ai, Claude Code peut également attendre dans la session ouverte et continuer la tâche interrompue peu après la réinitialisation. Consultez [Attendre la réinitialisation d'une limite d'utilisation](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) pour voir ce que vous voyez, comment démarrer ou annuler une attente, et comment désactiver la continuation automatique. Avant la v2.1.234, Claude Code n'offrait pas cette attente.

758 783 

759L'utilisation compte à la fois pour les allocations de session et hebdomadaires. Une seule rafale d'activité intensive, comme un grand fanout de workflow, peut épuiser l'allocation hebdomadaire avant que la fenêtre de session ne se réinitialise.784L'utilisation compte à la fois pour les allocations de session et hebdomadaires. Une seule rafale d'activité intensive, comme un grand fanout de workflow, peut épuiser l'allocation hebdomadaire avant que la fenêtre de session ne se réinitialise.

760 785 


762 787 

763* Attendez l'heure de réinitialisation indiquée dans l'erreur788* Attendez l'heure de réinitialisation indiquée dans l'erreur

764* Dans l'onglet Code de l'[application de bureau](/docs/fr/desktop), la carte de limite de session offre une case à cocher **Auto-continue when limits reset**. La carte de limite hebdomadaire ne l'offre pas. Quand elle est cochée, l'application de bureau réessaie le tour interrompu après la réinitialisation et affiche l'heure de nouvelle tentative sur la carte. La case à cocher de l'application de bureau et le paramètre **Continue automatically at usage limit** de la CLI dans `/config` sont séparés, donc désactivez chacun indépendamment.789* Dans l'onglet Code de l'[application de bureau](/docs/fr/desktop), la carte de limite de session offre une case à cocher **Auto-continue when limits reset**. La carte de limite hebdomadaire ne l'offre pas. Quand elle est cochée, l'application de bureau réessaie le tour interrompu après la réinitialisation et affiche l'heure de nouvelle tentative sur la carte. La case à cocher de l'application de bureau et le paramètre **Continue automatically at usage limit** de la CLI dans `/config` sont séparés, donc désactivez chacun indépendamment.

765* Pour la limite Opus ou Sonnet, exécutez `/model` et basculez vers un modèle en dehors de cette famille pour continuer à travailler. Chaque modèle a son propre cache de prompt, donc la requête suivante relit toute la conversation sans accès au cache ; consultez [Switching models](/docs/fr/prompt-caching#switching-models)790* Pour la limite Opus ou Sonnet, exécutez `/model` et basculez vers un modèle en dehors de cette famille pour continuer à travailler. Chaque modèle a son propre cache de prompt, donc la requête suivante relit toute la conversation sans accès au cache ; consultez [Changement de modèles](/docs/fr/prompt-caching#switching-models)

766* Exécutez `/usage` pour voir vos limites de plan et quand elles se réinitialisent791* Exécutez `/usage` pour voir vos limites de plan et quand elles se réinitialisent

767* Exécutez `/usage-credits` pour acheter une utilisation supplémentaire sur Pro et Max, ou pour la demander à votre administrateur sur Team et Enterprise. Consultez [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pour savoir comment cela est facturé.792* Exécutez `/usage-credits` pour acheter une utilisation supplémentaire sur Pro et Max, ou pour la demander à votre administrateur sur Team et Enterprise. Consultez [usage credits for paid plans](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) pour savoir comment cela est facturé.

768* Pour mettre à niveau votre plan pour des limites de base plus élevées, consultez [claude.com/pricing](https://claude.com/pricing)793* Pour mettre à niveau votre plan pour des limites de base plus élevées, consultez [claude.com/pricing](https://claude.com/pricing)


779 804 

780Dans une session que l'application Claude Desktop exécute, l'indice ne nomme aucune commande : il pointe vers la page des paramètres d'utilisation de claude.ai, ou sur les plans Team et Enterprise indique d'activer les crédits d'utilisation à claude.ai/admin-settings/usage ou de demander à votre administrateur.805Dans une session que l'application Claude Desktop exécute, l'indice ne nomme aucune commande : il pointe vers la page des paramètres d'utilisation de claude.ai, ou sur les plans Team et Enterprise indique d'activer les crédits d'utilisation à claude.ai/admin-settings/usage ou de demander à votre administrateur.

781 806 

782C'est une vérification de droit, pas un épuisement de quota. Elle se déclenche même quand vos allocations de session et hebdomadaires ont de la capacité restante. Consultez [Extended context](/docs/fr/model-config#extended-context) pour voir quels plans incluent le contexte 1M directement et lesquels nécessitent des crédits d'utilisation.807C'est une vérification de droit, pas un épuisement de quota. Elle se déclenche même quand vos allocations de session et hebdomadaires ont de la capacité restante. Consultez [Contexte étendu](/docs/fr/model-config#extended-context) pour voir quels plans incluent le contexte 1M directement et lesquels nécessitent des crédits d'utilisation.

783 808 

784Quand cette erreur apparaît au milieu d'une conversation parce que le contexte a dépassé 200K tokens, Claude Code compacte automatiquement la conversation en dessous de la limite de contexte standard et maintient la session à cette limite par la suite, donc aucune action n'est nécessaire. Sur les versions antérieures à v2.1.172, l'erreur se répétait à chaque requête suivante, y compris `/compact` ; exécutez `/clear` sur ces versions pour récupérer. Les étapes ci-dessous s'appliquent quand vous avez explicitement sélectionné un modèle `[1m]`.809Quand cette erreur apparaît au milieu d'une conversation parce que le contexte a dépassé 200K tokens, Claude Code compacte automatiquement la conversation en dessous de la limite de contexte standard et maintient la session à cette limite par la suite, donc aucune action n'est nécessaire. Sur les versions antérieures à v2.1.172, l'erreur se répétait à chaque requête suivante, y compris `/compact` ; exécutez `/clear` sur ces versions pour récupérer. Les étapes ci-dessous s'appliquent quand vous avez explicitement sélectionné un modèle `[1m]`.

785 810 


787 812 

788* Exécutez `/model` et sélectionnez la variante sans le suffixe `[1m]` pour revenir à la fenêtre de contexte standard813* Exécutez `/model` et sélectionnez la variante sans le suffixe `[1m]` pour revenir à la fenêtre de contexte standard

789* Où le message nomme `/usage-credits`, exécutez-le pour activer la facturation à l'usage pour la variante 1M sur Pro et Max, ou pour demander des crédits d'utilisation à votre administrateur sur Team et Enterprise. Une fois que les crédits d'utilisation sont activés, redémarrez Claude Code ou démarrez une nouvelle session, selon ce que le message indique. Jusqu'à ce moment, la session reste à la limite de contexte standard.814* Où le message nomme `/usage-credits`, exécutez-le pour activer la facturation à l'usage pour la variante 1M sur Pro et Max, ou pour demander des crédits d'utilisation à votre administrateur sur Team et Enterprise. Une fois que les crédits d'utilisation sont activés, redémarrez Claude Code ou démarrez une nouvelle session, selon ce que le message indique. Jusqu'à ce moment, la session reste à la limite de contexte standard.

790* Si l'erreur persiste après `/model`, un ID de modèle 1M peut être défini ailleurs. Consultez [Setting your model](/docs/fr/model-config#setting-your-model) pour les emplacements de configuration à vérifier par ordre de priorité.815* Si l'erreur persiste après `/model`, un ID de modèle 1M peut être défini ailleurs. Consultez [Définir votre modèle](/docs/fr/model-config#setting-your-model) pour les emplacements de configuration à vérifier par ordre de priorité.

791* Pour supprimer complètement les variantes 1M du sélecteur de modèle, définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/env-vars)816* Pour supprimer complètement les variantes 1M du sélecteur de modèle, définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/env-vars)

792 817 

793Avant v2.1.268, le message se terminait par `run /usage-credits to turn them on, or /model to switch to standard context` et ne mentionnait pas le redémarrage.818Avant v2.1.268, le message se terminait par `run /usage-credits to turn them on, or /model to switch to standard context` et ne mentionnait pas le redémarrage.


803 828 

804Les messages nomment le modèle Fable de la session, donc sur Fable 5, ils indiquent `continuing on Fable 5` et `Fable 5 now uses usage credits`. Avant v2.1.257, le premier message commençait par `Fable 5 limit reached`.829Les messages nomment le modèle Fable de la session, donc sur Fable 5, ils indiquent `continuing on Fable 5` et `Fable 5 now uses usage credits`. Avant v2.1.257, le premier message commençait par `Fable 5 limit reached`.

805 830 

806Cela se produit dans les sessions [Remote Control](/docs/fr/remote-control), les [sessions en arrière-plan](/docs/fr/agent-view), les sessions de coéquipiers d'une [équipe d'agents](/docs/fr/agent-teams), et les sessions qu'une autre application héberge via l'Agent SDK. Pour savoir quand Claude Code ferme l'invite, consultez [Fable and usage credits](/docs/fr/model-config#fable-and-usage-credits).831Cela se produit dans les sessions [Remote Control](/docs/fr/remote-control), les [sessions en arrière-plan](/docs/fr/agent-view), les sessions de coéquipiers d'une [équipe d'agents](/docs/fr/agent-teams), et les sessions qu'une autre application héberge via l'Agent SDK. Pour savoir quand Claude Code ferme l'invite, consultez [Fable et crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits).

807 832 

808**Ce qu'il faut faire :**833**Ce qu'il faut faire :**

809 834 


845* Exécutez `/status` et confirmez que les identifiants actifs sont ceux que vous attendez. Un `ANTHROPIC_API_KEY` égaré dans votre environnement peut acheminer les requêtes via une clé de niveau inférieur au lieu de votre abonnement.870* Exécutez `/status` et confirmez que les identifiants actifs sont ceux que vous attendez. Un `ANTHROPIC_API_KEY` égaré dans votre environnement peut acheminer les requêtes via une clé de niveau inférieur au lieu de votre abonnement.

846* Vérifiez votre console de fournisseur pour les limites actives et demandez un niveau supérieur si nécessaire871* Vérifiez votre console de fournisseur pour les limites actives et demandez un niveau supérieur si nécessaire

847* Pour les clés API Anthropic, consultez la [référence des limites de débit](https://platform.claude.com/docs/en/api/rate-limits) pour savoir comment fonctionnent les niveaux et comment définir des plafonds par espace de travail872* Pour les clés API Anthropic, consultez la [référence des limites de débit](https://platform.claude.com/docs/en/api/rate-limits) pour savoir comment fonctionnent les niveaux et comment définir des plafonds par espace de travail

848* Réduisez la concurrence : abaissez [`CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY`](/docs/fr/env-vars), évitez d'exécuter de nombreux sous-agents parallèles, ou basculez vers un modèle plus petit avec `/model` pour les exécutions scriptées à haut volume873* Réduisez la concurrence : évitez d'exécuter de nombreux sous-agents parallèles, ou basculez vers un modèle plus petit avec `/model` pour les exécutions scriptées à haut volume

849 874 

850### You've hit your monthly spend limit875### You've hit your monthly spend limit

851 876 


902 927 

903* Si vous avez un plan Pro, Max, Team ou Enterprise et voyez ceci, exécutez `/status` et vérifiez la ligne `API key`. Un `ANTHROPIC_API_KEY` approuvé dans votre environnement achemine les requêtes via cette clé au lieu de votre abonnement. Supprimez-le dans le shell actuel et retirez-le de votre profil de shell, puis relancez `claude`. Exécutez `/login` si vous ne vous êtes pas encore connecté avec votre abonnement.928* Si vous avez un plan Pro, Max, Team ou Enterprise et voyez ceci, exécutez `/status` et vérifiez la ligne `API key`. Un `ANTHROPIC_API_KEY` approuvé dans votre environnement achemine les requêtes via cette clé au lieu de votre abonnement. Supprimez-le dans le shell actuel et retirez-le de votre profil de shell, puis relancez `claude`. Exécutez `/login` si vous ne vous êtes pas encore connecté avec votre abonnement.

904* Ajoutez des crédits à [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), et envisagez d'activer le rechargement automatique là-bas pour que le solde se remplisse avant d'atteindre zéro929* Ajoutez des crédits à [platform.claude.com/settings/billing](https://platform.claude.com/settings/billing), et envisagez d'activer le rechargement automatique là-bas pour que le solde se remplisse avant d'atteindre zéro

905* Définissez des plafonds de dépenses par espace de travail dans la Console pour empêcher un seul projet de drainer le solde de l'organisation. Consultez [Manage costs effectively](/docs/fr/costs).930* Définissez des plafonds de dépenses par espace de travail dans la Console pour empêcher un seul projet de drainer le solde de l'organisation. Consultez [Gérer les coûts efficacement](/docs/fr/costs).

906 931 

907### Could not update your spend limit932### Could not update your spend limit

908 933 


1267* Si `/status` n'affiche que votre connexion, exécutez `/login` une fois. Si les identifiants ont été révoqués, une nouvelle connexion les remplace.1292* Si `/status` n'affiche que votre connexion, exécutez `/login` une fois. Si les identifiants ont été révoqués, une nouvelle connexion les remplace.

1268* Si le même message revient pour le même compte de connexion, le compte ou l'organisation n'est plus actif. Vérifiez le compte et l'organisation que signale `/status`, et demandez à l'administrateur de votre organisation de rétablir l'accès.1293* Si le même message revient pour le même compte de connexion, le compte ou l'organisation n'est plus actif. Vérifiez le compte et l'organisation que signale `/status`, et demandez à l'administrateur de votre organisation de rétablir l'accès.

1269* Si [`ANTHROPIC_BASE_URL`](/docs/fr/env-vars) pointe vers une [passerelle LLM](/docs/fr/llm-gateway), le texte après `401` est le message de votre passerelle et non celui d'Anthropic, et `/login` n'y change rien. Corrigez plutôt les identifiants qu'attend votre passerelle.1294* Si [`ANTHROPIC_BASE_URL`](/docs/fr/env-vars) pointe vers une [passerelle LLM](/docs/fr/llm-gateway), le texte après `401` est le message de votre passerelle et non celui d'Anthropic, et `/login` n'y change rien. Corrigez plutôt les identifiants qu'attend votre passerelle.

1295* Si chaque requête échoue avec une erreur `401` alors que votre passerelle dispose des identifiants qu'elle attend, vérifiez si la passerelle rejette les champs de recherche d'outils que Claude Code envoie par défaut. Pour le vérifier, définissez `ENABLE_TOOL_SEARCH=false` comme le décrit [Recherche d'outils via une passerelle LLM](/docs/fr/mcp#tool-search-through-a-gateway), puis réessayez. Avant la v2.1.304, la recherche d'outils était désactivée derrière une passerelle, sauf si vous l'activiez avec `ENABLE_TOOL_SEARCH`.

1270 1296 

1271### Connexion expirée1297### Connexion expirée

1272 1298 


1338* Sur les autres plateformes, exécutez à nouveau `/login`1364* Sur les autres plateformes, exécutez à nouveau `/login`

1339* Si la connexion ne s'enregistre toujours pas, consultez [Non connecté ou jeton expiré](/docs/fr/troubleshoot-install#not-logged-in-or-token-expired) pour la commande de déverrouillage du trousseau et d'autres étapes de récupération du stockage des identifiants1365* Si la connexion ne s'enregistre toujours pas, consultez [Non connecté ou jeton expiré](/docs/fr/troubleshoot-install#not-logged-in-or-token-expired) pour la commande de déverrouillage du trousseau et d'autres étapes de récupération du stockage des identifiants

1340 1366 

1341### Échec du démarrage du serveur de rappel OAuth1367### Couldn't start the local listener that receives the browser sign-in

1342 1368 

1343Lorsque `/login`, `claude auth login` ou `claude setup-token` vous connecte via le navigateur, Claude Code ouvre un port d'écoute sur `127.0.0.1` afin que votre navigateur puisse lui renvoyer le résultat de la connexion. Ce message signifie que Claude Code n'a pas pu ouvrir ce port, et la connexion s'arrête avant qu'une fenêtre de navigateur ou une URL de connexion n'apparaisse :1369Chacun de ces messages provenant de `/login`, `claude auth login` ou `claude setup-token` signifie que Claude Code n'a pas pu ouvrir le port sur `127.0.0.1` où votre navigateur renvoie le résultat de la connexion.

1344 1370 

1345```text theme={null}1371Avec l'avis qui commence par `The browser can't return the sign-in to Claude Code automatically`, la connexion se poursuit sans ce port. Aucun navigateur ne s'ouvre, et l'avis apparaît au-dessus d'une URL où vous vous connectez à la place :

1346Failed to start OAuth callback server: Failed to start server. Is port 0 in use?1372 

1373```text wrap theme={null}

1374The browser can't return the sign-in to Claude Code automatically. After you sign in, paste the code shown.

1347```1375```

1348 1376 

1349Si votre message se termine par `Is port 0 in use?`, la tentative d'écoute sur l'adresse de bouclage IPv4 `127.0.0.1` a échoué purement et simplement. Comme l'échec survient avant qu'une URL de connexion n'existe, le flux `Paste code here if prompted` n'est pas disponible comme solution de contournement.1377Avec le message qui inclut `Couldn't start the local listener`, la connexion s'est arrêtée. Cela se produit, par exemple, lorsque vous redirigez une entrée vers `claude auth login` :

1378 

1379```text theme={null}

1380Couldn't start the local listener that receives the browser sign-in. Try again.

1381```

1350 1382 

1351**Que faire :**1383**Que faire :**

1352 1384 

1353* Pour vous connecter immédiatement sans l'écouteur local : si vous utilisez un abonnement claude.ai, exécutez [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token) sur une machine où la connexion fonctionne et définissez le jeton qu'il affiche comme `CLAUDE_CODE_OAUTH_TOKEN` sur cette machine. Sinon, définissez `ANTHROPIC_API_KEY` sur une clé provenant de la [Claude Console](https://platform.claude.com/settings/keys). [Priorité d'authentification](/docs/fr/authentication#authentication-precedence) explique comment Claude Code choisit entre les identifiants.1385* **`The browser can't return the sign-in to Claude Code automatically`** : vous n'avez rien à corriger au préalable. Ouvrez l'URL affichée sous l'avis dans un navigateur et connectez-vous. Le navigateur affiche alors un code : collez-le dans Claude Code à l'invite `Paste code here >`, et la connexion se poursuit à partir de là.

1354* Pour utiliser plutôt la connexion par navigateur sur cette machine, Claude Code doit pouvoir écouter sur `127.0.0.1`. S'il s'exécute dans un sandbox, vérifiez que la politique du sandbox autorise l'écoute sur les ports locaux, puis exécutez à nouveau `/login`. S'il devrait pouvoir le faire et que cela échoue toujours, exécutez `/feedback` afin que le rapport inclue les détails de votre environnement.1386* **`Couldn't start the local listener that receives the browser sign-in`** : exécutez à nouveau la même commande. Si elle s'arrête de la même manière, connectez-vous avec un jeton ou une clé API au lieu du navigateur. Ou, si vous avez redirigé une entrée vers `claude auth login`, exécutez-la dans un terminal afin qu'elle puisse accepter un code collé.

1387* **Pour vous connecter avec un jeton ou une clé API au lieu du navigateur** : si vous utilisez un abonnement claude.ai, exécutez [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token) sur une machine où la connexion fonctionne. Définissez ensuite le jeton qu'il affiche comme variable d'environnement [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/fr/env-vars) sur cette machine. Sinon, définissez la variable d'environnement `ANTHROPIC_API_KEY` sur une clé provenant de la [Claude Console](https://platform.claude.com/settings/keys). [Priorité d'authentification](/docs/fr/authentication#authentication-precedence) explique comment Claude Code choisit entre les identifiants.

1388* **Pour rétablir le retour automatique du navigateur** : Claude Code doit pouvoir écouter sur `127.0.0.1`. S'il s'exécute dans un sandbox, vérifiez que la politique du sandbox autorise l'écoute sur les ports locaux, puis reconnectez-vous. Si l'écoute devrait fonctionner dans cet environnement et que l'avis apparaît toujours, exécutez `/feedback` afin que le rapport inclue les détails de votre environnement.

1389 

1390Avant la v2.1.305, la connexion s'arrêtait dès que le port ne pouvait pas être ouvert et n'affichait aucune URL de connexion. Le message était, par exemple, `Failed to start OAuth callback server: Failed to start server. Is port 0 in use?`. Sur ces versions, mettez à jour Claude Code et reconnectez-vous, ou connectez-vous avec un jeton ou une clé API au lieu du navigateur.

1355 1391 

1356### Connexion Claude non acceptée1392### Connexion Claude non acceptée

1357 1393 


1513 1549 

1514Mettez à jour la valeur de l'en-tête là où le serveur est configuré, puis reconnectez-vous depuis `/mcp`.1550Mettez à jour la valeur de l'en-tête là où le serveur est configuré, puis reconnectez-vous depuis `/mcp`.

1515 1551 

1516Avant la v2.1.273, les cas de connexion expirée, de `headersHelper` et d'en-tête `Authorization` affichaient tous `MCP server "<name>" requires re-authorization (token expired)`.1552Dans une session [Cowork](https://claude.com/docs/cowork/overview) sur votre machine dans l'application Claude Desktop, ces messages signifient que le serveur MCP a rejeté un identifiant qui lui a été fourni. Corrigez celui que le message nomme, puis démarrez une nouvelle tâche ou un nouveau chat dans Cowork :

1553 

1554```text theme={null}

1555MCP server "<name>" rejected the credential from its headersHelper (check the helper, then start a new task or chat)

1556MCP server "<name>" rejected the Authorization header in its config (update it, then start a new task or chat)

1557```

1558 

1559* **Identifiant `headersHelper` rejeté** : vérifiez que le helper renvoie un identifiant accepté par le serveur, puis démarrez une nouvelle tâche ou un nouveau chat dans Cowork

1560* **En-tête `Authorization` rejeté** : mettez à jour la valeur `Authorization` sous `headers` dans la configuration de ce serveur, puis démarrez une nouvelle tâche ou un nouveau chat dans Cowork

1561 

1562Avant la v2.1.302, une session Cowork affichait plutôt les fins de message `run /mcp to reconnect`, bien que `/mcp` n'y soit pas disponible. Si vous voyez une telle fin de message dans Cowork, vérifiez tout de même le helper ou mettez à jour l'en-tête, puis démarrez une nouvelle tâche ou un nouveau chat. Avant la v2.1.273, les cas de connexion expirée, de `headersHelper` et d'en-tête `Authorization` affichaient tous `MCP server "<name>" requires re-authorization (token expired)`.

1517 1563 

1518Un serveur peut également refuser un appel d'outil avec une erreur HTTP 403 `insufficient_scope` pour vous demander d'autoriser un scope, parfois un scope que votre jeton liste déjà. Le message nomme ce scope :1564Un serveur peut également refuser un appel d'outil avec une erreur HTTP 403 `insufficient_scope` pour vous demander d'autoriser un scope, parfois un scope que votre jeton liste déjà. Le message nomme ce scope :

1519 1565 


1812* Confirmez que vous pouvez atteindre l'hôte API à partir du même shell en exécutant `curl -I https://api.anthropic.com`. Sur Windows PowerShell, utilisez `curl.exe -I https://api.anthropic.com` pour que l'alias `Invoke-WebRequest` intégré ne soit pas utilisé.1858* Confirmez que vous pouvez atteindre l'hôte API à partir du même shell en exécutant `curl -I https://api.anthropic.com`. Sur Windows PowerShell, utilisez `curl.exe -I https://api.anthropic.com` pour que l'alias `Invoke-WebRequest` intégré ne soit pas utilisé.

1813* Si vous êtes derrière un proxy d'entreprise, définissez `HTTPS_PROXY` avant de lancer Claude Code et consultez [Configuration réseau](/docs/fr/network-config)1859* Si vous êtes derrière un proxy d'entreprise, définissez `HTTPS_PROXY` avant de lancer Claude Code et consultez [Configuration réseau](/docs/fr/network-config)

1814* Si vous routez via une passerelle LLM ou un relais, définissez [`ANTHROPIC_BASE_URL`](/docs/fr/env-vars) sur son adresse. Consultez [Connecter Claude Code à une passerelle LLM](/docs/fr/llm-gateway-connect) pour la configuration.1860* Si vous routez via une passerelle LLM ou un relais, définissez [`ANTHROPIC_BASE_URL`](/docs/fr/env-vars) sur son adresse. Consultez [Connecter Claude Code à une passerelle LLM](/docs/fr/llm-gateway-connect) pour la configuration.

1861* Si `ANTHROPIC_BASE_URL` pointe déjà vers votre passerelle et que chaque requête se termine par `Connection dropped`, vérifiez si votre passerelle rejette les champs de recherche d'outils que Claude Code envoie par défaut. Pour le vérifier, définissez `ENABLE_TOOL_SEARCH=false` comme le décrit [Recherche d'outils via une passerelle LLM](/docs/fr/mcp#tool-search-through-a-gateway), puis réessayez. Avant la v2.1.304, la recherche d'outils était désactivée derrière une passerelle, sauf si vous l'activiez avec `ENABLE_TOOL_SEARCH`.

1815* Assurez-vous que votre pare-feu autorise les hôtes listés dans [Exigences d'accès réseau](/docs/fr/network-config#network-access-requirements)1862* Assurez-vous que votre pare-feu autorise les hôtes listés dans [Exigences d'accès réseau](/docs/fr/network-config#network-access-requirements)

1816* Les défaillances intermittentes sont [automatiquement réessayées](#automatic-retries) ; les défaillances persistantes pointent vers un problème réseau local1863* Les défaillances intermittentes sont [automatiquement réessayées](#automatic-retries)

1817 1864 

1818Si `curl` réussit mais que Claude Code échoue toujours, la cause est généralement quelque chose entre le runtime et le réseau plutôt que le réseau lui-même :1865Si `curl` réussit mais que Claude Code échoue toujours, la cause est généralement quelque chose entre le runtime et le réseau plutôt que le réseau lui-même :

1819 1866 


1963* Dans la boîte de dialogue **Edit 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.2010* Dans la boîte de dialogue **Edit 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.

1964* 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).2011* 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).

1965 2012 

1966Consultez [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.2013Consultez [Accès réseau](/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.

1967 2014 

1968### Le proxy a refusé la connexion2015### Le proxy a refusé la connexion

1969 2016 


1977 2024 

1978Le statut est la réponse du proxy au `CONNECT`. L'hôte n'a jamais répondu, donc chaque statut pointe vers un correctif différent :2025Le statut est la réponse du proxy au `CONNECT`. L'hôte n'a jamais répondu, donc chaque statut pointe vers un correctif différent :

1979 2026 

1980* `HTTP 407` : le proxy nécessite des identifiants qu'il n'a pas reçus. Mettez-les dans l'URL du proxy, comme [Basic authentication](/docs/fr/network-config#basic-authentication) le montre.2027* `HTTP 407` : le proxy nécessite des identifiants qu'il n'a pas reçus. Mettez-les dans l'URL du proxy, comme le montre [Authentification basique](/docs/fr/network-config#basic-authentication).

1981* `HTTP 403` : le proxy refuse de tunneler vers `*.frame.claudeusercontent.com`. Demandez à celui qui gère le proxy d'autoriser cet hôte, que [Network access requirements](/docs/fr/network-config#network-access-requirements) liste.2028* `HTTP 403` : le proxy refuse de tunneler vers `*.frame.claudeusercontent.com`. Demandez à celui qui gère le proxy d'autoriser cet hôte, que liste [Exigences d'accès réseau](/docs/fr/network-config#network-access-requirements).

1982* Tout autre statut, comme `HTTP 502` : le proxy n'a pas ouvert le tunnel pour sa propre raison, comme l'échec à atteindre l'hôte. Recherchez le statut dans les logs du proxy.2029* Tout autre statut, comme `HTTP 502` : le proxy n'a pas ouvert le tunnel pour sa propre raison, comme l'échec à atteindre l'hôte. Recherchez le statut dans les logs du proxy.

1983* `unreadable reply` à la place d'un statut : tout ce qui se trouve à l'adresse du proxy n'a pas répondu avec une ligne de statut HTTP. Vérifiez que l'adresse est un proxy HTTP.2030* `unreadable reply` à la place d'un statut : tout ce qui se trouve à l'adresse du proxy n'a pas répondu avec une ligne de statut HTTP. Vérifiez que l'adresse est un proxy HTTP.

1984 2031 

1985**À faire :**2032**À faire :**

1986 2033 

1987* Vérifiez l'adresse et les identifiants dans la variable proxy, comme [Proxy configuration](/docs/fr/network-config#proxy-configuration) le décrit, puis exécutez `curl -x http://proxy.example.com:8080 -I https://api.anthropic.com` à partir du shell dans lequel vous démarrez Claude Code, en utilisant votre propre URL de proxy. Sur Windows PowerShell, exécutez `curl.exe`. Si cette sonde échoue de la même manière, corrigez d'abord la configuration du proxy. Si elle réussit, le refus est spécifique à l'hôte des artefacts.2034* Vérifiez l'adresse et les identifiants dans la variable proxy, comme le décrit [Configuration du proxy](/docs/fr/network-config#proxy-configuration), puis exécutez `curl -x http://proxy.example.com:8080 -I https://api.anthropic.com` à partir du shell dans lequel vous démarrez Claude Code, en utilisant votre propre URL de proxy. Sur Windows PowerShell, exécutez `curl.exe`. Si cette sonde échoue de la même manière, corrigez d'abord la configuration du proxy. Si elle réussit, le refus est spécifique à l'hôte des artefacts.

1988* Si votre réseau permet à Claude Code d'atteindre l'hôte des artefacts directement, ajoutez `.frame.claudeusercontent.com` à [`NO_PROXY`](/docs/fr/network-config#environment-variables). Gardez l'entrée étroite : une entrée `.claudeusercontent.com` plus large contourne également le proxy pour `bridge.claudeusercontent.com`, que les organisations avec [IP allowlisting](/docs/fr/network-config#organization-ip-allowlists-and-proxy-egress) doivent garder sur le proxy.2035* Si votre réseau permet à Claude Code d'atteindre l'hôte des artefacts directement, ajoutez `.frame.claudeusercontent.com` à [`NO_PROXY`](/docs/fr/network-config#environment-variables). Gardez l'entrée étroite : une entrée `.claudeusercontent.com` plus large contourne également le proxy pour `bridge.claudeusercontent.com`, que les organisations avec [IP allowlisting](/docs/fr/network-config#organization-ip-allowlists-and-proxy-egress) doivent garder sur le proxy.

1989 2036 

1990Avant la v2.1.238, Claude Code rapportait un tunnel refusé comme une erreur réseau générique.2037Avant la v2.1.238, Claude Code rapportait un tunnel refusé comme une erreur réseau générique.


2065 2112 

2066**À faire :**2113**À faire :**

2067 2114 

2068* Exécutez `/feedback` pour envoyer la transcription avec une description de ce qui s'est passé. Consultez [Report an error](#report-an-error) si `/feedback` n'est pas disponible dans votre environnement2115* Exécutez `/feedback` pour envoyer la transcription avec une description de ce qui s'est passé. Consultez [Signaler une erreur](#report-an-error) si `/feedback` n'est pas disponible dans votre environnement

2069* Si d'autres requêtes échouent aussi, vérifiez votre connexion réseau et consultez [Impossible de se connecter à l'API](#unable-to-connect-to-api)2116* Si d'autres requêtes échouent aussi, vérifiez votre connexion réseau et consultez [Impossible de se connecter à l'API](#unable-to-connect-to-api)

2070 2117 

2071### Couldn't send feedback2118### Couldn't send feedback


2166* Réduisez les fichiers mémoire `CLAUDE.md` volumineux, ou déplacez les instructions dans les [règles à portée de chemin](/docs/fr/memory#path-specific-rules) qui se chargent uniquement quand pertinent2213* Réduisez les fichiers mémoire `CLAUDE.md` volumineux, ou déplacez les instructions dans les [règles à portée de chemin](/docs/fr/memory#path-specific-rules) qui se chargent uniquement quand pertinent

2167* La compaction automatique est activée par défaut et prévient normalement cette erreur. Si vous l'avez désactivée dans `/config` ou avec [`DISABLE_AUTO_COMPACT`](/docs/fr/env-vars), réactivez-la. Si vous la gardez désactivée, exécutez `/compact` vous-même avant que la fenêtre se remplisse.2214* La compaction automatique est activée par défaut et prévient normalement cette erreur. Si vous l'avez désactivée dans `/config` ou avec [`DISABLE_AUTO_COMPACT`](/docs/fr/env-vars), réactivez-la. Si vous la gardez désactivée, exécutez `/compact` vous-même avant que la fenêtre se remplisse.

2168* Si l'erreur apparaît vers 200K tokens sur un modèle qui en accepte davantage, l'une des causes possibles est un identifiant de modèle que Claude Code ne reconnaît pas. Claude Code suppose une fenêtre de 200K pour un tel identifiant ; pour continuer à travailler au-delà de ce seuil, [indiquez-lui la fenêtre de contexte réelle du modèle](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id).2215* Si l'erreur apparaît vers 200K tokens sur un modèle qui en accepte davantage, l'une des causes possibles est un identifiant de modèle que Claude Code ne reconnaît pas. Claude Code suppose une fenêtre de 200K pour un tel identifiant ; pour continuer à travailler au-delà de ce seuil, [indiquez-lui la fenêtre de contexte réelle du modèle](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id).

2216* Si l'erreur est apparue juste après que vous avez arrêté Claude pendant qu'il compactait la conversation, votre conversation est inchangée et reste suffisamment volumineuse pour nécessiter une compaction. Exécutez `/compact` et renvoyez votre message. Pour éviter que l'erreur ne se reproduise, [mettez à jour Claude Code](/docs/fr/setup#update-claude-code) vers la v2.1.304 ou une version ultérieure. Avant la v2.1.304, un arrêt à ce moment-là pouvait terminer le tour avec cette erreur.

2169 2217 

2170Voir [Explorez la fenêtre de contexte](/docs/fr/context-window) pour une vue interactive de la façon dont le contexte se remplit.2218Voir [Explorez la fenêtre de contexte](/docs/fr/context-window) pour une vue interactive de la façon dont le contexte se remplit.

2171 2219 


2298 2346 

2299### Les entrées supplémentaires ne sont pas autorisées2347### Les entrées supplémentaires ne sont pas autorisées

2300 2348 

2301Un proxy ou une passerelle LLM entre Claude Code et l'API a supprimé l'en-tête de requête `anthropic-beta`, donc l'API a rejeté les champs qui en dépendent.2349L'endpoint qui a reçu la requête a rejeté l'un des champs de la requête comme une entrée qu'il n'accepte pas, et le message de l'endpoint nomme ce champ.

2302 2350 

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

2304API Error: 400 ... Extra inputs are not permitted ... context_management2352API Error: 400 ... context_management: Extra inputs are not permitted

2305```2353```

2306 2354 

2307Claude Code envoie des champs réservés aux bêtas, comme `context_management`, accompagnés d'un en-tête `anthropic-beta` qui les active. Quand une passerelle transfère le corps mais supprime l'en-tête, l'API voit des champs qu'elle ne reconnaît pas.2355Claude Code envoie des champs réservés aux bêtas, comme `context_management` et le `defer_loading` de la recherche d'outils, accompagnés d'un en-tête `anthropic-beta` qui les active. Lorsqu'une passerelle transmet le corps mais supprime l'en-tête, l'API voit des champs qu'elle ne reconnaît pas. Lorsqu'une passerelle transmet un corps au format Anthropic à un upstream doté d'un schéma différent, cet upstream rejette ces champs. [Paires d'en-têtes bêta et de champs de corps](/docs/fr/llm-gateway-protocol#beta-header-and-body-field-pairs) couvre les deux cas.

2308 2356 

2309**Que faire :**2357**Que faire :**

2310 2358 

2311* Configurez votre passerelle pour transférer l'en-tête `anthropic-beta`. Voir [transmission de fonctionnalités](/docs/fr/llm-gateway-protocol#feature-pass-through) pour ce que les passerelles doivent transférer.2359* Si le message contient `context_management: Extra inputs are not permitted`, [mettez à jour Claude Code](/docs/fr/setup#update-claude-code) vers la v2.1.304 ou une version ultérieure. Après la mise à jour, Claude Code répond à ce rejet en renvoyant la requête une fois de plus sans ce champ. Avant la v2.1.304, Claude Code ne réessayait pas après ce rejet.

2360* Si le message nomme `defer_loading` ou `tool_reference`, mettez à jour Claude Code ou désactivez la [recherche d'outils](/docs/fr/mcp#tool-search-through-a-gateway) :

2361 * [Mettez à jour Claude Code](/docs/fr/setup#update-claude-code) vers la v2.1.305 ou une version ultérieure. Claude Code répond alors à ce rejet en renvoyant la requête une fois de plus sans les champs de recherche d'outils.

2362 * Si vous ne pouvez pas mettre à jour, ou si le message apparaît toujours après la mise à jour, définissez `ENABLE_TOOL_SEARCH=false` dans votre shell ou dans la [section `env` de vos paramètres](/docs/fr/settings-reference#env). Si un fichier de paramètres définit déjà la variable, modifiez-la à cet endroit, car cette valeur [peut remplacer un export du shell](/docs/fr/settings-reference#how-env-values-interact-with-your-shell). Claude Code charge alors les outils MCP dès le départ.

2363* Si votre passerelle supprime l'en-tête, configurez-la pour qu'elle transmette l'en-tête `anthropic-beta`. Consultez [transmission des fonctionnalités](/docs/fr/llm-gateway-protocol#feature-pass-through) pour savoir ce que les passerelles doivent transmettre.

2312* En dernier recours, définissez [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/fr/env-vars) avant de lancer. [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) couvre la portée exacte.2364* En dernier recours, définissez [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/fr/env-vars) avant de lancer. [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) couvre la portée exacte.

2313 2365 

2366Avant la v2.1.302, cette erreur pouvait aussi nommer le champ `diagnostics` sans qu'aucune passerelle ne soit en cause. Elle apparaissait lorsqu'une session ayant déjà utilisé l'API Anthropic passait à Amazon Bedrock ou à Google Cloud's Agent Platform sans redémarrage. Par exemple, une session laissée ouverte passe à Bedrock lorsque vous exécutez [`/setup-bedrock`](/docs/fr/commands) dans une autre fenêtre Claude Code. Dans ces versions, exécutez `/clear` dans cette session ou redémarrez-la.

2367 

2314### Le schéma d'entrée de l'outil est invalide2368### Le schéma d'entrée de l'outil est invalide

2315 2369 

2316Un outil dans la requête a déclaré un `input_schema` qui échoue la validation JSON Schema de l'API, donc l'API a rejeté la requête entière. Le nombre après `tools.` est la position de l'outil défaillant dans la liste d'outils de la requête, pas un nom que vous pouvez rechercher.2370Un outil dans la requête a déclaré un `input_schema` qui échoue la validation JSON Schema de l'API, donc l'API a rejeté la requête entière. Le nombre après `tools.` est la position de l'outil défaillant dans la liste d'outils de la requête, pas un nom que vous pouvez rechercher.


2384* Utilisez un alias comme `sonnet` ou `opus` au lieu d'un ID complet versionné. Les alias se résolvent à une valeur par défaut maintenue afin qu'ils ne deviennent pas obsolètes. Voir [Configuration du modèle](/docs/fr/model-config).2438* Utilisez un alias comme `sonnet` ou `opus` au lieu d'un ID complet versionné. Les alias se résolvent à une valeur par défaut maintenue afin qu'ils ne deviennent pas obsolètes. Voir [Configuration du modèle](/docs/fr/model-config).

2385* Si le mauvais modèle continue de revenir dans le CLI, un ID obsolète est défini quelque part. Vérifiez les endroits où vous pouvez définir un modèle dans [l'ordre de priorité](/docs/fr/model-config#setting-your-model) et supprimez la valeur obsolète.2439* Si le mauvais modèle continue de revenir dans le CLI, un ID obsolète est défini quelque part. Vérifiez les endroits où vous pouvez définir un modèle dans [l'ordre de priorité](/docs/fr/model-config#setting-your-model) et supprimez la valeur obsolète.

2386* Claude Code signale une connexion claude.ai expirée comme [Connexion expirée](#login-expired), pas comme cette erreur. Avant v2.1.206, une connexion expirée qui ne pouvait plus être actualisée échouait chaque modèle avec cette erreur ; exécutez `/login` si vous voyez cela sur une version plus ancienne.2440* Claude Code signale une connexion claude.ai expirée comme [Connexion expirée](#login-expired), pas comme cette erreur. Avant v2.1.206, une connexion expirée qui ne pouvait plus être actualisée échouait chaque modèle avec cette erreur ; exécutez `/login` si vous voyez cela sur une version plus ancienne.

2441* Si [`ANTHROPIC_BASE_URL`](/docs/fr/env-vars) pointe vers une [passerelle LLM](/docs/fr/llm-gateway) et que tous les modèles échouent de cette manière, vérifiez si votre passerelle rejette les champs de recherche d'outils que Claude Code envoie par défaut. Pour le vérifier, définissez `ENABLE_TOOL_SEARCH=false` comme le décrit [Recherche d'outils via une passerelle LLM](/docs/fr/mcp#tool-search-through-a-gateway), puis réessayez. Avant la v2.1.304, la recherche d'outils était désactivée derrière une passerelle, sauf si vous l'activiez avec `ENABLE_TOOL_SEARCH`.

2387* Pour les déploiements de la plateforme d'agent de Google Cloud, voir [Dépannage de la plateforme d'agent de Google Cloud](/docs/fr/google-vertex-ai#troubleshooting).2442* Pour les déploiements de la plateforme d'agent de Google Cloud, voir [Dépannage de la plateforme d'agent de Google Cloud](/docs/fr/google-vertex-ai#troubleshooting).

2388 2443 

2389### Le modèle n'est pas un ID de modèle reconnu2444### Le modèle n'est pas un ID de modèle reconnu


2590D'autres messages signalent la même condition :2645D'autres messages signalent la même condition :

2591 2646 

2592* Dans une session interactive, une notification indique `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`.2647* Dans une session interactive, une notification indique `Advisor will not activate on the main model (advisor is less capable); subagents may still use it and may use more tokens · /advisor`.

2593* Au lancement avec le flag `--advisor`, un avertissement indique `"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.` et la session démarre quand même.2648* Lorsque vous lancez avec le flag `--advisor` en [mode non interactif](/docs/fr/headless) et que l'exécution n'est pas une [session en arrière-plan](/docs/fr/agent-view), un avertissement est envoyé sur stderr et l'exécution démarre quand même. Il indique `"<advisor>" cannot advise "<main model>" (the advisor must be at least as capable as the main model). The advisor will not be used for the main model.` Une session interactive n'écrit cet avertissement que dans le [log de débogage](#configuration-warnings).

2594 2649 

2595**Que faire :**2650**Que faire :**

2596 2651 


3361 3416 

3362Des messages voisins se déclenchent avant même l'exécution de la commande :3417Des messages voisins se déclenchent avant même l'exécution de la commande :

3363 3418 

3364* `Shell command permission check failed for pattern "..."` : la vérification de permission de la commande ne l'a pas autorisée. [Permission checks on injected commands](/docs/fr/skills#permission-checks-on-injected-commands) explique quels résultats entraînent l'interruption dans chaque mode de permission et comment pré-approuver une commande avec `allowed-tools`3419* `Shell command permission check failed for pattern "..."` : la vérification de permission de la commande ne l'a pas autorisée. [Vérifications de permission sur les commandes injectées](/docs/fr/skills#permission-checks-on-injected-commands) indique quels résultats provoquent l'interruption dans chaque mode de permission et comment pré-approuver une commande avec `allowed-tools`

3365* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` : le frontmatter du skill exige bash sur une machine qui n'en dispose pas. Installez Git for Windows ou modifiez le frontmatter en `shell: powershell`. Consultez [How injected commands run](/docs/fr/skills#how-injected-commands-run)3420* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` : le frontmatter du skill exige bash sur une machine qui ne l'a pas. Installez Git for Windows ou modifiez le frontmatter en `shell: powershell`. Consultez [Comment les commandes injectées s'exécutent](/docs/fr/skills#how-injected-commands-run)

3366* `No shell command in <name> was run` : l'une des commandes `!` du fichier contient un caractère de contrôle brut autre qu'une tabulation ou un saut de ligne, donc aucune d'elles ne s'exécute. Consultez [comment trouver et supprimer le caractère](#no-shell-command-was-run)3421* `No shell command in <name> was run` : l'une des commandes `!` du fichier contient un caractère de contrôle brut autre qu'une tabulation ou un saut de ligne, donc aucune d'elles ne s'exécute. Consultez [comment trouver et supprimer le caractère](#no-shell-command-was-run)

3367 3422 

3368**Que faire :**3423**Que faire :**


3464Claude Code suggère le nom de commande ou l'alias le plus proche parmi ceux que le menu liste dans cette session. Lorsque rien n'est proche, le message s'arrête après le nom. La cause est généralement l'une des suivantes :3519Claude Code suggère le nom de commande ou l'alias le plus proche parmi ceux que le menu liste dans cette session. Lorsque rien n'est proche, le message s'arrête après le nom. La cause est généralement l'une des suivantes :

3465 3520 

3466* Une faute de frappe, comme `/hepl` pour `/help`. [Comment le menu des commandes fait correspondre ce que vous tapez](/docs/fr/commands#how-the-command-menu-matches-what-you-type) explique comment choisir une correspondance proche avant de soumettre3521* Une faute de frappe, comme `/hepl` pour `/help`. [Comment le menu des commandes fait correspondre ce que vous tapez](/docs/fr/commands#how-the-command-menu-matches-what-you-type) explique comment choisir une correspondance proche avant de soumettre

3467* Une commande qui existe mais n'est pas disponible dans cette session parce qu'une condition n'est pas remplie, comme votre plateforme, votre forfait ou votre méthode d'authentification. Les entrées de dépannage pour [`/web-setup`](/docs/fr/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command) et [`/schedule`](/docs/fr/routines#schedule-returns-unknown-command) détaillent deux cas courants. Certaines commandes répondent par leur propre message lorsque la politique de votre organisation les désactive, comme [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)3522* Une commande qui existe mais qui n'est pas disponible dans cette session parce qu'une condition n'est pas remplie, comme votre plateforme, votre forfait ou votre méthode d'authentification. Consultez l'entrée pour [`/web-setup`](/docs/fr/web-quickstart#web-setup-shows-no-commands-match-or-unknown-command), [`/schedule`](/docs/fr/routines#schedule-returns-unknown-command) ou [`/auto-mode-setup`](/docs/fr/auto-mode-config#auto-mode-setup-returns-unknown-command). Certaines commandes répondent par leur propre message lorsque la politique de votre organisation les désactive, comme [`Cloud sessions are disabled by your organization's policy`](#cloud-sessions-are-disabled-by-your-organizations-policy)

3468* Une commande provenant d'un [plugin](/docs/fr/plugins/overview) ou d'un [serveur MCP](/docs/fr/mcp#use-mcp-prompts-as-commands) qui n'est pas installé ou connecté dans cette session3523* Une commande provenant d'un [plugin](/docs/fr/plugins/overview) ou d'un [serveur MCP](/docs/fr/mcp#use-mcp-prompts-as-commands) qui n'est pas installé ou connecté dans cette session

3469 3524 

3470Claude Code ne répond de cette façon à un nom `/` sans correspondance que dans une session de terminal interactive. Dans toutes les autres sessions, il envoie plutôt le prompt à Claude comme un message normal, avec une note indiquant que la commande ne s'est pas exécutée et une liste des commandes que Claude peut exécuter dans la session. Ces sessions incluent :3525Claude Code ne répond de cette façon à un nom `/` sans correspondance que dans une session de terminal interactive. Dans toutes les autres sessions, il envoie plutôt le prompt à Claude comme un message normal, avec une note indiquant que la commande ne s'est pas exécutée et une liste des commandes que Claude peut exécuter dans la session. Ces sessions incluent :


3513 3568 

3514* **Vous n'avez pas passé de branche de base** : Claude Code a effectué la comparaison avec la branche par défaut du dépôt et suggère de passer explicitement votre branche de base, comme dans l'exemple ci-dessus3569* **Vous n'avez pas passé de branche de base** : Claude Code a effectué la comparaison avec la branche par défaut du dépôt et suggère de passer explicitement votre branche de base, comme dans l'exemple ci-dessus

3515* **Vous avez passé une branche de base déjà présente dans votre clone** : l'indication est ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3570* **Vous avez passé une branche de base déjà présente dans votre clone** : l'indication est ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3516* **Vous avez passé une branche de base qui n'était pas dans votre clone** : Claude Code l'a récupérée depuis origin avant la comparaison. L'indication est ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` ; lorsque Claude Code ne peut pas déterminer si votre clone est superficiel, il suggère plutôt `git fetch --unshallow origin`. Avant la v2.1.221, l'indication suggérait `git fetch --unshallow origin` pour chaque branche de base récupérée, et sur un clone complet cette commande échoue avec `fatal: --unshallow on a complete repository does not make sense`.3571* **Vous avez passé une branche de base absente de votre clone** : Claude Code l'a récupérée depuis origin avant la comparaison. L'indication est ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` ; lorsque Claude Code ne peut pas déterminer si votre clone est superficiel, il suggère plutôt `git fetch --unshallow origin`. Avant la v2.1.221, l'indication suggérait `git fetch --unshallow origin` pour chaque branche de base récupérée, et sur un clone complet, cette commande échoue avec `fatal: --unshallow on a complete repository does not make sense`.

3517 3572 

3518**Que faire :**3573**Que faire :**

3519 3574 


3856* Ouvrez vous-même la session et exécutez-y `/recap` : dans son terminal, dans l'[application Desktop](/docs/fr/desktop) ou l'[application mobile](/docs/fr/mobile), sur [claude.ai/code](https://claude.ai/code), ou via [Remote Control](/docs/fr/remote-control)3911* Ouvrez vous-même la session et exécutez-y `/recap` : dans son terminal, dans l'[application Desktop](/docs/fr/desktop) ou l'[application mobile](/docs/fr/mobile), sur [claude.ai/code](https://claude.ai/code), ou via [Remote Control](/docs/fr/remote-control)

3857* Si une tâche planifiée dans le cloud ou un autre programme l'a envoyé, supprimez `/recap` de ce prompt3912* Si une tâche planifiée dans le cloud ou un autre programme l'a envoyé, supprimez `/recap` de ce prompt

3858 3913 

3914### /feedback is disabled by your organization's policy

3915 

3916Ce message signifie que la politique de votre organisation n'autorise pas les retours sur le produit depuis Claude Code ; `/feedback`, `/bug` et `/share` n'ouvrent donc pas la boîte de dialogue de retour. Le message nomme la commande que vous avez saisie dans le prompt de Claude Code :

3917 

3918```text wrap theme={null}

3919/feedback is disabled by your organization's policy. To report a bug, open an issue at https://github.com/anthropics/claude-code/issues. Issues are public, so leave out anything confidential.

3920```

3921 

3922Le message peut aussi se limiter à sa première phrase.

3923 

3924**Que faire :**

3925 

3926* Pour signaler un bug, ouvrez une issue sur [github.com/anthropics/claude-code/issues](https://github.com/anthropics/claude-code/issues). Tout le monde peut y lire les issues ; n'y incluez donc pas de code, de transcriptions ni quoi que ce soit de confidentiel.

3927 

3928Avant la v2.1.302, le message complet était `/feedback is disabled by your organization's policy. Contact your organization admin to enable it.`

3929 

3859## Erreurs de plugin3930## Erreurs de plugin

3860 3931 

3861Ces erreurs proviennent de la configuration des [plugins](/docs/fr/plugins/overview) et des [marketplaces](/docs/fr/plugins/overview). Pour les problèmes de plugin qui ne produisent pas l'un des messages de cette page, comme une URL de marketplace qui ne se charge pas ou un plugin qui s'installe mais n'apparaît pas, consultez [Dépannage des plugins](/docs/fr/plugins/troubleshooting).3932Ces erreurs proviennent de la configuration des [plugins](/docs/fr/plugins/overview) et des [marketplaces](/docs/fr/plugins/overview). Pour les problèmes de plugin qui ne produisent pas l'un des messages de cette page, comme une URL de marketplace qui ne se charge pas ou un plugin qui s'installe mais n'apparaît pas, consultez [Dépannage des plugins](/docs/fr/plugins/troubleshooting).


4001 4072 

4002### Path escapes plugin directory4073### Path escapes plugin directory

4003 4074 

4004Un chemin de composant de plugin, déclaré dans le `plugin.json` du plugin ou dans son [entrée de marketplace](/docs/fr/plugins/marketplace-reference#plugin-entries), se résout en dehors du répertoire du plugin. Claude Code supprime ce chemin et charge le reste du plugin. Le nom du composant dans le message, comme `commands` ou `hooks`, nomme le champ qui a déclaré le chemin.4075L'un des chemins de composant du plugin mène en dehors du répertoire du plugin ou n'a pas pu être confirmé à l'intérieur de celui-ci, donc Claude Code supprime ce chemin et charge le reste du plugin. Pour un chemin que le plugin déclare dans `plugin.json` ou dans son [entrée de marketplace](/docs/fr/plugins/marketplace-reference#plugin-entries), le nom du composant dans le message, comme `commands` ou `hooks`, nomme le champ qui a déclaré le chemin.

4005 4076 

4006```text theme={null}4077```text theme={null}

4007commands path escapes plugin directory: ./../shared.md4078commands path escapes plugin directory: ./../shared.md


4015commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory4086commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory

4016```4087```

4017 4088 

4089Un message qui donne le chemin complet de l'un des propres fichiers d'un plugin de marketplace, comme `hooks/hooks.json`, signifie que Claude Code a ignoré ce fichier. Cela se produit quand Claude Code ne peut pas confirmer que le fichier se trouve à l'intérieur du plugin ou, pour un plugin dans une [marketplace locale](/docs/fr/plugins/loading#in-place-and-copied-plugins), à l'intérieur de cette marketplace. Le message rapporte chacun de ces fichiers sous le nom de composant indiqué :

4090 

4091* `hooks/hooks.json` : `hooks`

4092* `monitors/monitors.json` : `monitors`

4093* `settings.json` : `settings`

4094* `SKILL.md` à la racine du plugin : `skills`

4095 

4096Par exemple, ce message concerne un `hooks/hooks.json` qui se résout en dehors à la fois du plugin et de sa marketplace locale :

4097 

4098```text theme={null}

4099hooks path escapes plugin directory: /home/user/my-marketplace/my-plugin/hooks/hooks.json — it resolves to /home/user/dotfiles/hooks.json, outside the plugin directory and its marketplace directory

4100```

4101 

4018Sur macOS et Linux, Claude Code rejette également un chemin de composant qui contient une barre oblique inverse n'importe où dedans, même quand le chemin reste à l'intérieur du plugin. Un plugin dont les chemins de composant utilisent des séparateurs de style Windows se charge sur Windows et déclenche ce rejet sur les autres plates-formes :4102Sur macOS et Linux, Claude Code rejette également un chemin de composant qui contient une barre oblique inverse n'importe où dedans, même quand le chemin reste à l'intérieur du plugin. Un plugin dont les chemins de composant utilisent des séparateurs de style Windows se charge sur Windows et déclenche ce rejet sur les autres plates-formes :

4019 4103 

4020```text theme={null}4104```text theme={null}


4023 4107 

4024Avant v2.1.251, Claude Code chargeait un chemin `commands` déclaré dans une entrée de marketplace même quand il pointait en dehors du répertoire du plugin.4108Avant v2.1.251, Claude Code chargeait un chemin `commands` déclaré dans une entrée de marketplace même quand il pointait en dehors du répertoire du plugin.

4025 4109 

4026Avant v2.1.257, la vérification ne regardait que l'orthographe du chemin, pas où un lien symbolique mène.4110Avant v2.1.257, la vérification des chemins que le plugin déclare ne regardait que l'orthographe du chemin, pas où un lien symbolique mène.

4027 4111 

4028**Que faire :**4112**Que faire :**

4029 4113 

4030* Déplacez le fichier référencé à l'intérieur du répertoire du plugin et pointez le chemin vers lui avec un chemin relatif `./`4114* Si vous avez installé le plugin et ne le maintenez pas, signalez le message à son auteur

4031* Si le chemin est un lien symbolique vers un fichier en dehors du plugin, remplacez le lien symbolique par une copie du fichier4115* Pour un chemin que le plugin déclare, déplacez le fichier référencé à l'intérieur du répertoire du plugin et pointez le chemin vers lui avec un chemin relatif `./`

4032* Si le message dit que le chemin contient une barre oblique inverse, écrivez le chemin avec des barres obliques avant, par exemple `./commands/deploy.md`4116* Si le chemin, ou un dossier au-dessus de lui à l'intérieur du plugin, est un lien symbolique menant en dehors du plugin, remplacez le lien symbolique par une copie de ce vers quoi il pointe

4117* Si le message dit qu'un chemin que le plugin déclare contient une barre oblique inverse, écrivez le chemin avec des barres obliques avant, par exemple `./commands/deploy.md`

4118* Si le message se termine par `EACCES`, restaurez votre permission d'exécution sur chaque répertoire menant au fichier ou au dossier que le chemin nomme. Vérifiez les répertoires au-dessus du chemin, puis suivez chaque lien symbolique que vous rencontrez et vérifiez les répertoires menant à l'endroit où il pointe. Pour tout autre code d'erreur, recherchez-le dans les [causes et étapes pour un chemin qui n'a pas pu être vérifié](#path-could-not-be-checked).

4033* Pour partager des fichiers avec d'autres plugins dans la même marketplace, liez-les avec un lien symbolique à l'intérieur du répertoire du plugin, en suivant les [règles de lien symbolique](/docs/fr/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)4119* Pour partager des fichiers avec d'autres plugins dans la même marketplace, liez-les avec un lien symbolique à l'intérieur du répertoire du plugin, en suivant les [règles de lien symbolique](/docs/fr/plugins/host-marketplace#share-files-within-a-marketplace-with-symlinks)

4034 4120 

4121### Plugin not loaded: its manifest was not read

4122 

4123Claude Code n'a pas pu confirmer que le [manifeste](/docs/fr/plugins/manifest-reference) d'un plugin de marketplace à `.claude-plugin/plugin.json` se trouve à l'intérieur du plugin, donc il ne charge rien de ce plugin. Pour un plugin dans une [marketplace locale](/docs/fr/plugins/loading#in-place-and-copied-plugins), Claude Code n'a pas non plus pu confirmer que le manifeste se trouve à l'intérieur de cette marketplace. Le message apparaît dans l'onglet **Errors** de `/plugin`, et la raison à sa fin indique ce que Claude Code a trouvé.

4124 

4125Par exemple, ce message concerne un plugin dans une marketplace locale dont le dossier `.claude-plugin` est un lien symbolique menant en dehors de la marketplace :

4126 

4127```text theme={null}

4128Plugin not loaded: its manifest /home/user/my-marketplace/my-plugin/.claude-plugin/plugin.json was not read, because it resolves to /home/user/dotfiles/my-plugin/.claude-plugin/plugin.json, outside the plugin directory and its marketplace directory

4129```

4130 

4131**Que faire :**

4132 

4133* Si la raison se termine par `EACCES`, restaurez votre permission d'exécution sur chaque répertoire menant au manifeste. Vérifiez les répertoires au-dessus du manifeste, puis suivez chaque lien symbolique que vous rencontrez et vérifiez les répertoires menant à l'endroit où il pointe. Pour tout autre code d'erreur, recherchez-le dans les [causes et étapes pour un chemin qui n'a pas pu être vérifié](#path-could-not-be-checked).

4134* Si vous maintenez le plugin et que la raison indique où le manifeste se résout, le dossier `.claude-plugin` ou `plugin.json` lui-même est un lien symbolique qui mène là. Remplacez ce lien par une copie de ce vers quoi il pointe.

4135* Si vous avez installé le plugin et ne le maintenez pas, signalez le message à son auteur

4136 

4035### Path could not be checked4137### Path could not be checked

4036 4138 

4037Claude Code a demandé au système d'exploitation si un chemin de plugin existe et a reçu une erreur autre que « non trouvé », donc il ne charge pas ce que le chemin nomme. La quantité du plugin qui se charge dépend du chemin qui a échoué :4139Claude Code a demandé au système d'exploitation si un chemin de plugin existe et a reçu une erreur autre que « non trouvé », donc il ne charge pas ce que le chemin nomme. La quantité du plugin qui se charge dépend du chemin qui a échoué :


4069* Un chemin d'entrée qui est absolu, grimpe en dehors de la marketplace avec `..`, ou est orthographié comme un chemin réseau4171* Un chemin d'entrée qui est absolu, grimpe en dehors de la marketplace avec `..`, ou est orthographié comme un chemin réseau

4070* Sur macOS et Linux, un chemin d'entrée qui contient une barre oblique inverse n'importe où après le `./` initial4172* Sur macOS et Linux, un chemin d'entrée qui contient une barre oblique inverse n'importe où après le `./` initial

4071* Une entrée dans une marketplace récupérée à partir d'une source distante, comme git ou une URL, qui atteint sa cible via un lien symbolique se résolvant en dehors du répertoire de la marketplace4173* Une entrée dans une marketplace récupérée à partir d'une source distante, comme git ou une URL, qui atteint sa cible via un lien symbolique se résolvant en dehors du répertoire de la marketplace

4072* Une entrée relative dans une marketplace ajoutée à partir d'une URL directe vers son `marketplace.json` : Claude Code télécharge uniquement ce fichier, donc aucun fichier de plugin local n'existe pour que le chemin nomme. Consultez [Plugins with relative paths fail in URL-based marketplaces](/docs/fr/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces)4174* Une entrée relative dans une marketplace ajoutée à partir d'une URL directe vers son `marketplace.json` : Claude Code télécharge uniquement ce fichier, donc il n'existe aucun fichier de plugin local que le chemin puisse désigner. Consultez [Les plugins avec des chemins relatifs échouent dans les marketplaces basées sur URL](/docs/fr/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces)

4073 4175 

4074`claude plugin install` rapporte le refus comme ceci :4176`claude plugin install` rapporte le refus comme ceci :

4075 4177 


4226 4328 

4227Avant la v2.1.281, un octet nul dans un chemin Read, Write, Edit, ou NotebookEdit terminait tout le tour avec une erreur nommant `Path contains null bytes`, et l'outil ne s'exécutait jamais.4329Avant la v2.1.281, un octet nul dans un chemin Read, Write, Edit, ou NotebookEdit terminait tout le tour avec une erreur nommant `Path contains null bytes`, et l'outil ne s'exécutait jamais.

4228 4330 

4331### File is too large to read as an image

4332 

4333Claude a essayé de lire un fichier comme une image avec l'[outil Read](/docs/fr/tools-reference#read-tool-behavior), et le fichier dépasse 128 Mo, le maximum que Read charge depuis un fichier image. Rien n'a été lu, et Claude reçoit cette erreur comme résultat de l'outil :

4334 

4335```text wrap theme={null}

4336File is too large to read as an image (the limit is 128MB): <path>. If it is an image, resize it or export a smaller copy, then read that.

4337```

4338 

4339Quand le chemin est un pipe ou un périphérique plutôt qu'un fichier ordinaire, Read s'arrête dès que plus de 128 Mo sont arrivés et renvoie cette erreur à la place :

4340 

4341```text wrap theme={null}

4342Cannot read this as an image: <path> is a pipe or a device, not a regular file, and it sent more than 128MB without ending.

4343```

4344 

4345**Que faire :**

4346 

4347* Si Claude a suivi le message `File is too large` et a ensuite redimensionné l'image ou lu une copie plus petite, ne faites rien

4348* Si Claude s'est arrêté à l'erreur, exportez vous-même une copie de moins de 128 Mo, par exemple à une résolution inférieure, et indiquez ce fichier à Claude

4349* Si le chemin était un pipe ou un périphérique, indiquez plutôt à Claude un fichier image ordinaire

4350 

4229### subagent\_type is required4351### subagent\_type is required

4230 4352 

4231```text theme={null}4353```text theme={null}


4261**Que faire :**4383**Que faire :**

4262 4384 

4263* Laissez Claude réécrire `MEMORY.md`, ou demandez-lui : gardez une ligne par entrée, déplacez les détails dans les fichiers de sujet, et fusionnez ou supprimez les entrées obsolètes4385* Laissez Claude réécrire `MEMORY.md`, ou demandez-lui : gardez une ligne par entrée, déplacez les détails dans les fichiers de sujet, et fusionnez ou supprimez les entrées obsolètes

4264* Pour réduire l'index vous-même, voir [Audit and edit your memory](/docs/fr/memory#audit-and-edit-your-memory)4386* Pour réduire l'index vous-même, voir [Auditer et modifier votre mémoire](/docs/fr/memory#audit-and-edit-your-memory)

4265 4387 

4266### pkill pattern matches the Claude Code process4388### pkill pattern matches the Claude Code process

4267 4389 


4316* Exécutez `claude` dans le dossier que le [journal de débogage](/docs/fr/debug-your-config) nomme et acceptez le dialogue de confiance. La définition est réappliquée la prochaine fois que Claude Code ramène le coéquipier ; vous n'avez pas besoin de redémarrer la session du responsable4438* Exécutez `claude` dans le dossier que le [journal de débogage](/docs/fr/debug-your-config) nomme et acceptez le dialogue de confiance. La définition est réappliquée la prochaine fois que Claude Code ramène le coéquipier ; vous n'avez pas besoin de redémarrer la session du responsable

4317* Ou définissez l'entrée `hasTrustDialogAccepted` à `true` dans `~/.claude.json`, en utilisant la clé exacte `projects["<path>"]` que le journal de débogage imprime4439* Ou définissez l'entrée `hasTrustDialogAccepted` à `true` dans `~/.claude.json`, en utilisant la clé exacte `projects["<path>"]` que le journal de débogage imprime

4318 4440 

4441### Only a teammate can approve a shutdown request

4442 

4443Claude Code a refusé une approbation d'arrêt d'[équipe d'agents](/docs/fr/agent-teams) parce que la session qui l'a envoyée ne s'exécute pas en tant que coéquipier. Rien n'a été envoyé et rien ne s'est arrêté. Le refus apparaît dans le résultat de l'outil de la session d'envoi :

4444 

4445```text wrap theme={null}

4446Only a teammate can approve a shutdown request, and this session is not running as one. Nothing was sent. To shut down a teammate, send that teammate a shutdown_request message. The teammate is the one that approves it.

4447```

4448 

4449**Que faire :**

4450 

4451* Si le refus est apparu dans votre session du responsable, vérifiez d'abord si le coéquipier s'est arrêté entre-temps. Le refus est renvoyé à Claude avec l'instruction d'envoyer plutôt un `shutdown_request`, et le tour continue. Dans une session de responsable interactive, `<name> has shut down.` apparaît quand le coéquipier approuve une demande d'arrêt.

4452* Si le coéquipier est toujours en cours d'exécution, demandez au responsable, à son invite, d'arrêter le coéquipier, par exemple `Ask the researcher teammate to shut down`. Consultez [Arrêter les coéquipiers](/docs/fr/agent-teams#shut-down-teammates).

4453* Si un ancien coéquipier que vous avez vous-même repris avec `claude --resume` a reçu ce refus, rien n'a été envoyé. Pour terminer cette session, exécutez `/exit` à son invite.

4454 

4319### Message too large for cross-session delivery4455### Message too large for cross-session delivery

4320 4456 

4321Le [message inter-sessions](/docs/fr/cross-session-messaging) de Claude à une autre de vos sessions sur cette machine était trop long à envoyer. Claude Code l'a refusé, et la session de réception n'a rien reçu. Le refus apparaît dans le résultat de l'outil de la session d'envoi, pas comme une bannière dans votre terminal. Il nomme les deux tailles et comment faire tenir le message :4457Le [message inter-sessions](/docs/fr/cross-session-messaging) de Claude à une autre de vos sessions sur cette machine était trop long à envoyer. Claude Code l'a refusé, et la session de réception n'a rien reçu. Le refus apparaît dans le résultat de l'outil de la session d'envoi, pas comme une bannière dans votre terminal. Il nomme les deux tailles et comment faire tenir le message :


4449 4585 

4450### Disk quota or temp filesystem is full4586### Disk quota or temp filesystem is full

4451 4587 

4452Claude Code enregistre la sortie de chaque commande Bash et PowerShell dans un fichier sous son répertoire temporaire. Quand une commande se termine avec un code non nul et aucune sortie du tout, Claude Code vérifie si le système de fichiers contenant ce fichier est à court d'espace ou d'inodes, ou si votre quota disque sur celui-ci est utilisé. Si c'est le cas, un diagnostic apparaît dans le résultat de la commande à la place de la sortie vide :4588Claude Code enregistre la sortie de chaque commande Bash et PowerShell dans un fichier sous son répertoire temporaire. Ces messages dans le résultat d'une commande signifient que le système de fichiers contenant ce répertoire, ou votre quota disque sur celui-ci, est plein.

4589 

4590Si Claude Code ne peut pas créer ce fichier parce que le système de fichiers ou votre quota sur celui-ci est plein, votre commande ne démarre pas, et le résultat se lit :

4591 

4592```text wrap theme={null}

4593The command was not started: this computer's disk is full (ENOSPC), so the file that captures command output could not be created. Nothing ran. If this is the user's own computer, tell them before deleting anything to make room.

4594```

4595 

4596Quand une commande se termine avec un code non nul et aucune sortie du tout, Claude Code vérifie le système de fichiers contenant le fichier de sortie. Si ce système de fichiers est à court d'espace ou d'inodes, ou si votre quota disque sur celui-ci est utilisé, un diagnostic remplace la sortie vide dans le résultat de la commande :

4453 4597 

4454```text wrap theme={null}4598```text wrap theme={null}

4455Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.4599Your disk quota is full on the filesystem with Claude Code's temp directory /private/tmp/claude-501/-Users-you-my-project/1f0e62dc-4b0a-4f5e-9c2d-8a7b6c5d4e3f/tasks (EDQUOT), so any output this command printed was lost, and it may have failed because it could not write. Delete files you no longer need there, or restart Claude Code with CLAUDE_CODE_TMPDIR set to a directory on another filesystem.


4460* `Your disk quota is full ... (EDQUOT)` : votre propre quota sur ce système de fichiers est utilisé. Un quota peut être plein alors que le système de fichiers affiche toujours de l'espace libre4604* `Your disk quota is full ... (EDQUOT)` : votre propre quota sur ce système de fichiers est utilisé. Un quota peut être plein alors que le système de fichiers affiche toujours de l'espace libre

4461* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)` : le système de fichiers, ou votre quota sur celui-ci, n'a pas d'espace libre4605* `The filesystem with Claude Code's temp directory ..., or your disk quota on it, is full (ENOSPC)` : le système de fichiers, ou votre quota sur celui-ci, n'a pas d'espace libre

4462* `Command output was lost: the temp filesystem at ... is full` ou `... is out of inodes` : le système de fichiers a presque pas d'espace libre, ou manque d'inodes4606* `Command output was lost: the temp filesystem at ... is full` ou `... is out of inodes` : le système de fichiers a presque pas d'espace libre, ou manque d'inodes

4607* `The command was not started: this computer's disk is full (ENOSPC)` ou `... (EDQUOT)` : le système de fichiers n'a plus d'espace pour le fichier de sortie, ou, avec `EDQUOT`, votre propre quota sur celui-ci est utilisé

4463 4608 

4464**Que faire :**4609**Que faire :**

4465 4610 

4466* Supprimez les fichiers que vous n'avez plus besoin sur le système de fichiers qui contient le répertoire temporaire de Claude Code. Pour `EDQUOT`, supprimez les fichiers qui comptent pour votre propre quota. Pour `out of inodes`, supprimez de nombreux fichiers plutôt que quelques gros, puisque chaque fichier prend un inode quelle que soit sa taille4611* Supprimez les fichiers que vous n'avez plus besoin sur le système de fichiers qui contient le répertoire temporaire de Claude Code. Si votre message ne nomme pas ce répertoire, consultez son emplacement par défaut dans la référence de [`CLAUDE_CODE_TMPDIR`](/docs/fr/env-vars). Pour `EDQUOT`, supprimez les fichiers qui comptent pour votre propre quota. Pour `out of inodes`, supprimez de nombreux fichiers plutôt que quelques gros, puisque chaque fichier prend un inode quelle que soit sa taille

4467* Ou redémarrez Claude Code avec [`CLAUDE_CODE_TMPDIR`](/docs/fr/env-vars) défini sur un répertoire sur un système de fichiers avec de la place4612* Ou redémarrez Claude Code avec [`CLAUDE_CODE_TMPDIR`](/docs/fr/env-vars) défini sur un répertoire sur un système de fichiers avec de la place

4468* Puis demandez à Claude d'exécuter la commande à nouveau. La sortie qu'elle a imprimée a été perdue, pas tronquée4613* Puis demandez à Claude d'exécuter la commande à nouveau

4614 

4615Avant la v2.1.305, une commande que Claude Code ne pouvait pas démarrer parce que le disque était plein ne renvoyait que le texte d'erreur du système d'exploitation. Ce texte se lisait, par exemple, `ENOSPC: no space left on device, open <path>.output`.

4469 4616 

4470### File is not valid UTF-84617### File is not valid UTF-8

4471 4618 


4524* Sur Windows, pour permettre à Claude de publier directement depuis le partage, mappez-le à une lettre de lecteur et passez le lecteur au démarrage de Claude Code. Dans PowerShell, par exemple, exécutez `net use Z: \\server\share` puis `claude --add-dir Z:\`. Claude peut alors publier des fichiers depuis ce lecteur. Ajouter le lecteur en cours de session avec `/add-dir` ne suffit pas.4671* Sur Windows, pour permettre à Claude de publier directement depuis le partage, mappez-le à une lettre de lecteur et passez le lecteur au démarrage de Claude Code. Dans PowerShell, par exemple, exécutez `net use Z: \\server\share` puis `claude --add-dir Z:\`. Claude peut alors publier des fichiers depuis ce lecteur. Ajouter le lecteur en cours de session avec `/add-dir` ne suffit pas.

4525* Sur macOS ou Linux, montez le partage dans un répertoire tel qu'un sous-répertoire de `/mnt` ou `/Volumes`, et publiez depuis ce chemin au lieu du chemin de montage automatique4672* Sur macOS ou Linux, montez le partage dans un répertoire tel qu'un sous-répertoire de `/mnt` ou `/Volumes`, et publiez depuis ce chemin au lieu du chemin de montage automatique

4526 4673 

4674### Not published: Claude sent the same content again after a newer version of the artifact turned it away

4675 

4676Cette ligne rouge sous un appel Artifact signifie que Claude Code a arrêté une publication répétée : l'[artefact](/docs/fr/artifacts) n'a pas été mis à jour, et rien n'a été écrit dans le fichier à partir duquel Claude publie. Vous n'avez rien à faire, sauf si Claude s'arrête sans publier.

4677 

4678Plus tôt dans la session, Claude Code a refusé une publication parce que l'artefact avait une version plus récente, par exemple une version publiée par un [éditeur](/docs/fr/artifacts#let-someone-edit-with-you) ou par une autre de vos sessions. La fin de la ligne indique ce que Claude doit faire ensuite :

4679 

4680```text wrap theme={null}

4681Not published: Claude sent the same content again after a newer version of the artifact turned it away. Claude needs to work from that newer version first.

4682Not published: Claude sent the same content again after a newer version of the artifact turned it away. The artifact hasn't changed since, so publishing it once more should go through.

4683Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. Claude needs to work from that newer version first.

4684Not published: Claude sent its changes again over the same file after a newer version of the artifact turned them away. The artifact hasn't changed since, so publishing once more should go through.

4685```

4686 

4687**Que faire :**

4688 

4689* **Se termine par `Claude needs to work from that newer version first`** : si Claude s'est arrêté là, demandez-lui de récupérer la version actuelle de l'artefact, d'y fusionner ses modifications, puis de publier à nouveau

4690* **Se termine par `should go through`** : si Claude s'est arrêté là, demandez-lui de publier à nouveau

4691 

4527### Reading a local file from outside the connected folders in a Cowork session4692### Reading a local file from outside the connected folders in a Cowork session

4528 4693 

4529Dans une session [Cowork](https://claude.com/docs/cowork/overview) s'exécutant sur votre machine dans l'application Claude Desktop, Claude a nommé un fichier local pour un [artefact](/docs/fr/artifacts). Claude Code n'a pas pu confirmer que le fichier est un fichier ordinaire à l'intérieur des dossiers connectés de la session : le chemin se trouve en dehors de ces dossiers, passe par un lien symbolique, ou est orthographié d'une manière qui peut nommer un fichier différent de celui qu'il semble être. Lire un tel fichier nécessite votre approbation, et dans une session qui ne peut pas vous montrer la carte d'approbation, comme une définie pour ignorer toutes les approbations, Claude Code refuse la lecture.4694Dans une session [Cowork](https://claude.com/docs/cowork/overview) s'exécutant sur votre machine dans l'application Claude Desktop, Claude a nommé un fichier local pour un [artefact](/docs/fr/artifacts). Claude Code n'a pas pu confirmer que le fichier est un fichier ordinaire à l'intérieur des dossiers connectés de la session : le chemin se trouve en dehors de ces dossiers, passe par un lien symbolique, ou est orthographié d'une manière qui peut nommer un fichier différent de celui qu'il semble être. Lire un tel fichier nécessite votre approbation, et dans une session qui ne peut pas vous montrer la carte d'approbation, comme une définie pour ignorer toutes les approbations, Claude Code refuse la lecture.


4816* Pour continuer la boucle, [répondez à la session](/docs/fr/agent-view#peek-and-reply) en le précisant, par exemple `keep the loop running`. Claude lit la notification avec votre réponse et peut planifier le prochain réveil4981* Pour continuer la boucle, [répondez à la session](/docs/fr/agent-view#peek-and-reply) en le précisant, par exemple `keep the loop running`. Claude lit la notification avec votre réponse et peut planifier le prochain réveil

4817* Si vous en avez terminé avec la boucle, ne faites rien. Elle s'est déjà arrêtée4982* Si vous en avez terminé avec la boucle, ne faites rien. Elle s'est déjà arrêtée

4818 4983 

4984### No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder

4985 

4986La [session en arrière-plan](/docs/fr/agent-view) qui affiche ce message n'utilise pas votre [passerelle LLM](/docs/fr/llm-gateway) : elle n'a pas reçu l'adresse de la passerelle, de sorte que ses requêtes échouent. Le message apparaît dans la conversation à la place de la réponse de Claude, avec l'ID et le dossier de votre session renseignés :

4987 

4988```text wrap theme={null}

4989No LLM gateway: a gateway set in your shell isn't passed to a session opened from another folder. To fix, run `claude respawn abc12345` from ~/project in another terminal where your gateway is set, or set ANTHROPIC_BASE_URL and its API key or token in a settings file's env block.

4990```

4991 

4992Tant que vous êtes attaché à la session, la notification sous son prompt affiche la forme courte `No LLM gateway: opened from another folder · respawn from ~/project`.

4993 

4994Vous avez envoyé, réveillé ou redémarré la session à partir d'un dossier autre que celui que le message nomme, alors que `ANTHROPIC_BASE_URL` était défini sur votre passerelle. Pour les cas où une passerelle exportée dans le shell atteint bien une session en arrière-plan, consultez [Passerelle LLM](/docs/fr/agent-view#llm-gateway).

4995 

4996**Ce qu'il faut faire :**

4997 

4998* **Vous avez utilisé la vue agent dans un projet dont les paramètres définissent la passerelle** : placez `ANTHROPIC_BASE_URL` et sa clé API ou son jeton dans [le bloc `env` d'un fichier de paramètres](/docs/fr/llm-gateway-connect#set-in-a-settings-file). Utilisez `~/.claude/settings.json`, ou `.claude/settings.local.json` dans le propre projet de la session, que lit l'un comme l'autre une session relancée. Exécutez ensuite `claude respawn <id>` dans votre shell à partir de n'importe quel dossier.

4999* **Vous avez exporté la passerelle dans votre terminal** : dans un terminal où vous avez exporté les variables de la passerelle, faites `cd` vers le dossier que le message nomme et exécutez la commande `claude respawn <id>` du message. La session redémarre à partir de sa conversation enregistrée.

5000 * La passerelle n'atteint la session que lorsque le [superviseur](/docs/fr/agent-view#the-supervisor-process) a lui-même été démarré à partir d'un shell qui exportait la même passerelle. Si ce n'est pas le cas, redémarrez-le à partir de ce terminal comme le décrit [L'envoi échoue avec `Could not resolve authentication method`](/docs/fr/agent-view#dispatch-fails-with-could-not-resolve-authentication-method), puis exécutez à nouveau la commande respawn.

5001 

5002Avant v2.1.302, une session en arrière-plan dans cette situation affichait à la place une erreur de connexion telle que [`Not logged in · Please run /login`](#not-logged-in), sans nommer le dossier.

5003 

4819### Erreurs du lanceur CLAUDE\_CODE\_PROCESS\_WRAPPER5004### Erreurs du lanceur CLAUDE\_CODE\_PROCESS\_WRAPPER

4820 5005 

4821[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/fr/corporate-launcher) est défini, et sa valeur ne peut pas être utilisée, de sorte que Claude Code refuse de démarrer le processus affecté plutôt que de l'exécuter sans le lanceur. Les problèmes de configuration sont signalés avec un message qui commence par le nom de la variable et énonce la raison, par exemple :5006[`CLAUDE_CODE_PROCESS_WRAPPER`](/docs/fr/corporate-launcher) est défini, et sa valeur ne peut pas être utilisée, de sorte que Claude Code refuse de démarrer le processus affecté plutôt que de l'exécuter sans le lanceur. Les problèmes de configuration sont signalés avec un message qui commence par le nom de la variable et énonce la raison, par exemple :


5094 5279 

5095## Avertissements de configuration5280## Avertissements de configuration

5096 5281 

5097Claude Code écrit la plupart de ces messages sur stderr, et non dans la conversation, et les écrit principalement au démarrage. Une entrée le précise quand son message apparaît ailleurs, par exemple dans le journal de débogage ou comme un avis de démarrage dans la vue de conversation, ou à un autre moment, par exemple la [ligne de diagnostic de modèle non reconnu](#unrecognized-model-id-on-a-request) au moment de la requête.5282Pour trouver un avertissement que Claude Code a émis au démarrage dans une session interactive, regardez d'abord sous la bannière de démarrage, puis dans le journal de débogage :

5283 

5284* **Ligne sous la bannière de démarrage** : certains avertissements concernant les [règles de permission](/docs/fr/permissions), comme [`⚠ Deny rule Bsh matches no tool · check for typos`](#matches-no-tool)

5285* **Journal de débogage** : Claude Code ne conserve ce journal qu'en mode débogage. Pour y lire les avertissements, démarrez Claude Code depuis votre shell avec `claude --debug-file <path>`, puis ouvrez le fichier situé à ce chemin.

5286 

5287En [mode non interactif](/docs/fr/headless) avec une sortie texte, en dehors d'une [session en arrière-plan](/docs/fr/agent-view), cherchez les avertissements de démarrage sur stderr.

5288 

5289Avant la v2.1.305, regardez aussi sur stderr dans une session interactive, y compris pour les avertissements de règles de permission qui s'affichent désormais comme des lignes sous la bannière.

5098 5290 

5099### Claude Code s'est fermé après une erreur d'interface irrécupérable5291### Claude Code s'est fermé après une erreur d'interface irrécupérable

5100 5292 


5214 5406 

5215### Le répertoire de travail est un chemin réseau5407### Le répertoire de travail est un chemin réseau

5216 5408 

5217Claude Code n'ajoute pas les chemins réseau comme répertoires de travail. La recherche d'un chemin réseau peut contacter l'hôte qu'il nomme, et sur Windows, ce contact peut envoyer vos identifiants à l'hôte, donc Claude Code refuse le chemin sans le rechercher. Vous voyez ce message quand vous exécutez `/add-dir` avec un tel chemin, ou comme un avertissement au démarrage. Quand il apparaît au démarrage, Claude Code démarre sans ce répertoire.5409Claude Code n'ajoute pas les chemins réseau comme répertoires de travail. La recherche d'un chemin réseau peut contacter l'hôte qu'il nomme, et sur Windows, ce contact peut envoyer vos identifiants à l'hôte. Claude Code refuse donc le chemin sans le rechercher.

5410 

5411Vous voyez ce message quand vous exécutez `/add-dir` avec un chemin réseau :

5218 5412 

5219```text theme={null}5413```text theme={null}

5220\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).5414\\server\share is a network path, which cannot be added as a working directory. On Windows, map the share to a drive letter and pass it at launch with --add-dir (a drive letter added mid-session does not yet carry remote-read trust).

5221```5415```

5222 5416 

5417Quand vous en passez un au démarrage à la place, avec `--add-dir` ou dans `permissions.additionalDirectories`, Claude Code démarre sans ce répertoire. Dans une session interactive, vous ne voyez pas le message au démarrage, car il va dans le journal de débogage avec les autres [avertissements de démarrage](#configuration-warnings).

5418 

5223Les chemins que Claude Code refuse de cette façon incluent :5419Les chemins que Claude Code refuse de cette façon incluent :

5224 5420 

5225* Les partages UNC tels que `\\server\share`5421* Les partages UNC tels que `\\server\share`


5465 5661 

5466Avant la v2.1.260, Claude Code signalait une règle avec des parenthèses non appariées comme `Mismatched parentheses`.5662Avant la v2.1.260, Claude Code signalait une règle avec des parenthèses non appariées comme `Mismatched parentheses`.

5467 5663 

5468### N'est pas mis en correspondance par les vérifications de permission de fichier5664### Matches no tool · check for typos

5665 

5666Cette ligne sous la bannière de démarrage nomme une [règle de permission](/docs/fr/permissions) de refus ou de demande dont Claude Code ne reconnaît pas le nom d'outil, de sorte que la règle ne s'applique pas à l'outil que vous visiez. Une règle de refus écrite `Bsh` n'est pas appliquée à Bash, pas plus qu'une règle qui utilise le libellé qu'un outil affiche dans la transcription au lieu de son nom canonique. La ligne reprend la règle telle que vous l'avez écrite :

5667 

5668```text theme={null}

5669⚠ Deny rule Bsh matches no tool · check for typos

5670```

5469 5671 

5470Claude Code a trouvé une [règle de permission](/docs/fr/permissions#read-and-edit) `Write`, `NotebookEdit`, `MultiEdit`, ou `Glob` avec un chemin dans l'un de vos [fichiers de paramètres](/docs/fr/settings#where-settings-live), dans les [paramètres gérés](/docs/fr/managed-settings), ou dans une valeur de flag `--allowedTools`, `--disallowedTools`, ou `--settings`. Il vérifie les permissions de fichier uniquement par rapport aux règles `Edit` et `Read`, donc il ne consulte jamais une règle de chemin qui nomme l'un des autres outils de fichier. Il conserve la règle et ne change rien d'autre ; l'avertissement nomme la règle, sa source entre parenthèses, et le remplacement à écrire :5672En [mode non interactif](/docs/fr/headless) avec une sortie texte, Claude Code imprime plutôt l'avertissement sur stderr dans sa forme longue :

5471 5673 

5472```text theme={null}5674```text theme={null}

5473Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).5675Permission deny rule "Bsh" matches no known tool — check for typos.

5474```5676```

5475 5677 

5476**À faire :**5678**À faire :**

5477 5679 

5680* Corrigez le nom de l'outil dans la règle, par exemple `Bash` à la place de `Bsh`. Consultez les noms canoniques dans la [référence des outils](/docs/fr/tools-reference).

5681* Pour trouver où la règle est définie, exécutez `/permissions` dans la session et sélectionnez la règle. Ses détails indiquent sa provenance, par exemple `From project local settings`, ou `From CLI argument` pour une valeur `--disallowedTools`.

5682* Si les détails indiquent `From enterprise managed settings`, transmettez la ligne à celui qui maintient vos [paramètres gérés](/docs/fr/managed-settings), car vous ne pouvez pas modifier cette règle vous-même.

5683 

5684Dans une [session en arrière-plan](/docs/fr/agent-view) ou avec `--output-format json` ou `stream-json`, Claude Code écrit l'avertissement au journal de débogage au lieu de stderr. Exécutez avec `--debug` pour le capturer à `~/.claude/debug/<session-id>.txt`.

5685 

5686Avant la v2.1.305, une session interactive imprimait la forme longue sur stderr au démarrage au lieu d'afficher la ligne.

5687 

5688### N'est pas mis en correspondance par les vérifications de permission de fichier

5689 

5690Claude Code a trouvé une [règle de permission](/docs/fr/permissions#read-and-edit) `Write`, `NotebookEdit`, `MultiEdit`, ou `Glob` avec un chemin dans l'un de vos [fichiers de paramètres](/docs/fr/settings#where-settings-live), dans les [paramètres gérés](/docs/fr/managed-settings), ou dans une valeur de flag `--allowedTools`, `--disallowedTools`, ou `--settings`. Il vérifie les permissions de fichier uniquement par rapport aux règles `Edit` et `Read`, donc il ne consulte jamais une règle de chemin qui nomme l'un des autres outils de fichier. Il conserve la règle et ne change rien d'autre.

5691 

5692* **Session interactive** : l'avertissement complet va dans le [journal de débogage](#configuration-warnings), et une règle de refus ou de demande de cette forme s'affiche aussi comme cette ligne sous la bannière de démarrage :

5693 

5694 ```text theme={null}

5695 ⚠ Deny rule Write(docs/**) never matches · use Edit(docs/**)

5696 ```

5697 

5698 Une règle d'autorisation de cette forme n'obtient pas de ligne. Pour trouver où la règle est définie, exécutez `/permissions` dans la session et sélectionnez la règle.

5699* **[Mode non interactif](/docs/fr/headless) avec une sortie texte** : l'avertissement complet sur stderr nomme la règle, sa source entre parenthèses, et le remplacement à écrire :

5700 

5701 ```text theme={null}

5702 Permission deny rule (.claude/settings.json): Write(docs/**) is not matched by file permission checks — only Edit(path) rules are. Use Edit(docs/**) instead (Edit rules cover all file-editing tools).

5703 ```

5704* **[Session en arrière-plan](/docs/fr/agent-view), ou `--output-format json` ou `stream-json`** : l'avertissement complet va dans le journal de débogage au lieu de stderr, donc la sortie lue par machine reste propre. Exécutez avec `--debug` pour le capturer à `~/.claude/debug/<session-id>.txt`.

5705 

5706**À faire :**

5707 

5478* Remplacez les règles `Write(path)`, `NotebookEdit(path)`, et `MultiEdit(path)` héritées par `Edit(path)`. Les règles `Edit` couvrent tous les outils d'édition de fichiers.5708* Remplacez les règles `Write(path)`, `NotebookEdit(path)`, et `MultiEdit(path)` héritées par `Edit(path)`. Les règles `Edit` couvrent tous les outils d'édition de fichiers.

5479* Sauf dans `--allowedTools`, où Claude Code accepte une règle `Glob` sans avertissement, remplacez les règles `Glob(path)` par `Read(path)`.5709* Sauf dans `--allowedTools`, où Claude Code accepte une règle `Glob` sans avertissement, remplacez les règles `Glob(path)` par `Read(path)`.

5480* Corrigez la règle à la source que l'avertissement nomme entre parenthèses : un chemin de fichier de paramètres, ou le flag lui-même pour `--allowed-tools` et `--disallowed-tools`. Un chemin `claude-settings-<hash>.json` qui n'existe pas sur le disque représente une valeur `--settings` en ligne. Corrigez le JSON que vous passez à ce flag.5710* Corrigez la règle à la source que l'avertissement complet nomme entre parenthèses : un chemin de fichier de paramètres, ou le flag lui-même pour `--allowed-tools` et `--disallowed-tools`. Un chemin `claude-settings-<hash>.json` qui n'existe pas sur le disque représente une valeur `--settings` en ligne. Corrigez le JSON que vous passez à ce flag.

5481* Laissez telles quelles les règles composées du seul nom d'outil, comme `Write` ou `Glob`. Claude Code les met en correspondance au [niveau de l'outil](/docs/fr/permissions#match-all-uses-of-a-tool) et n'émet pas d'avertissement à leur sujet.5711* Laissez telles quelles les règles composées du seul nom d'outil, comme `Write` ou `Glob`. Claude Code les met en correspondance au [niveau de l'outil](/docs/fr/permissions#match-all-uses-of-a-tool) et n'émet pas d'avertissement à leur sujet.

5482* Si la source lit `managed policy settings`, transmettez l'avertissement à celui qui maintient vos paramètres gérés, car vous ne pouvez pas l'effacer vous-même.5712* Pour une règle provenant des paramètres gérés, les parenthèses de l'avertissement complet indiquent `managed policy settings` et les détails de la règle dans `/permissions` indiquent `From enterprise managed settings`. Transmettez cet avertissement à celui qui maintient vos paramètres gérés, car vous ne pouvez pas l'effacer vous-même.

5483 5713 

5484Dans une [session en arrière-plan](/docs/fr/agent-view) ou avec `--output-format json` ou `stream-json`, Claude Code écrit l'avertissement au journal de débogage au lieu de stderr, donc la sortie lue par machine reste propre. Exécutez avec `--debug` pour la capturer à `~/.claude/debug/<session-id>.txt`. Avant la v2.1.210, Claude Code acceptait ces règles sans avertissement.5714Avant la v2.1.210, Claude Code acceptait ces règles sans avertissement. Avant la v2.1.305, une session interactive imprimait l'avertissement complet sur stderr.

5485 5715 

5486### A un caractère générique avant le reste de la commande5716### A un caractère générique avant le reste de la commande

5487 5717 

5488Claude Code a trouvé une règle d'autorisation `Bash` dont le `*` vient avant un mot ultérieur qui détermine quelle commande c'est, par exemple `Bash(git * main)` ou `Bash(git -C * status *)`, dans l'un de vos [fichiers de paramètres](/docs/fr/settings#where-settings-live), dans les [paramètres gérés](/docs/fr/managed-settings), ou dans une valeur de flag `--allowedTools` ou `--settings`. Le `*` correspond à n'importe quel texte, y compris les options insérées à cette position : `Bash(git * main)` approuve également `git -c core.fsmonitor=<script> diff main`, où `-c` fait exécuter à git un programme que la commande nomme. [Modèles de caractères génériques](/docs/fr/permissions#wildcard-patterns) montre les règles de correspondance.5718Claude Code a trouvé une règle d'autorisation `Bash` dont le `*` vient avant un mot ultérieur qui détermine quelle commande c'est, par exemple `Bash(git * main)` ou `Bash(git -C * status *)`, dans l'un de vos [fichiers de paramètres](/docs/fr/settings#where-settings-live), dans les [paramètres gérés](/docs/fr/managed-settings), ou dans une valeur de flag `--allowedTools` ou `--settings`. Le `*` correspond à n'importe quel texte, y compris les options insérées à cette position : `Bash(git * main)` approuve également `git -c core.fsmonitor=<script> diff main`, où `-c` fait exécuter à git un programme que la commande nomme. [Modèles de caractères génériques](/docs/fr/permissions#wildcard-patterns) montre les règles de correspondance.

5489 5719 

5490L'avertissement existe pour que vous puissiez affiner une règle dont le caractère générique est plus large que vous ne l'aviez prévu. Claude Code conserve la règle et ne change rien à la façon dont elle correspond ; l'avertissement nomme la règle et sa source entre parenthèses :5720L'avertissement existe pour que vous puissiez affiner une règle dont le caractère générique est plus large que vous ne l'aviez prévu. Claude Code conserve la règle et ne change rien à la façon dont elle correspond. En [mode non interactif](/docs/fr/headless) avec une sortie texte, l'avertissement sur stderr nomme la règle et sa source entre parenthèses :

5491 5721 

5492```text theme={null}5722```text theme={null}

5493Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).5723Permission allow rule (.claude/settings.json): Bash(git -C * status *) has a wildcard before the rest of the command, so it also matches any options inserted at that position and approves them without a prompt. For git, options such as -c and --exec-path can run arbitrary commands. Replace that * with the exact value you mean, or only use * after the subcommand (for example Bash(git status *)).

5494```5724```

5495 5725 

5726Dans une session interactive, l'avertissement complet va dans le [journal de débogage](#configuration-warnings) et la règle s'affiche comme cette ligne sous la bannière de démarrage :

5727 

5728```text theme={null}

5729⚠ Allow rule Bash(git -C * status *) allows any option at its * · use an exact value

5730```

5731 

5732Pour trouver où la règle est définie, exécutez `/permissions` dans la session et sélectionnez la règle.

5733 

5496**À faire :**5734**À faire :**

5497 5735 

5498* Remplacez le `*` avant la sous-commande par la valeur exacte que vous entendez : `Bash(git checkout main)` à la place de `Bash(git * main)`.5736* Remplacez le `*` avant la sous-commande par la valeur exacte que vous entendez : `Bash(git checkout main)` à la place de `Bash(git * main)`.

5499* Déplacez chaque `*` après la sous-commande : `Bash(git status *)` à la place de `Bash(git -C * status *)`. Écrivez une règle par sous-commande que vous voulez autoriser.5737* Déplacez chaque `*` après la sous-commande : `Bash(git status *)` à la place de `Bash(git -C * status *)`. Écrivez une règle par sous-commande que vous voulez autoriser.

5500* Corrigez la règle à la source que l'avertissement nomme entre parenthèses : un chemin de fichier de paramètres, ou le flag `--allowed-tools` lui-même. Un chemin `claude-settings-<hash>.json` qui n'existe pas sur le disque représente une valeur `--settings` en ligne. Corrigez le JSON que vous passez à ce flag.5738* Corrigez la règle à la source que l'avertissement complet nomme entre parenthèses : un chemin de fichier de paramètres, ou le flag `--allowed-tools` lui-même. Un chemin `claude-settings-<hash>.json` qui n'existe pas sur le disque représente une valeur `--settings` en ligne. Corrigez le JSON que vous passez à ce flag.

5501* Si la source lit `managed policy settings`, transmettez l'avertissement à celui qui maintient vos paramètres gérés, car vous ne pouvez pas l'effacer vous-même.5739* Pour une règle provenant des paramètres gérés, les parenthèses de l'avertissement complet indiquent `managed policy settings` et les détails de la règle dans `/permissions` indiquent `From enterprise managed settings`. Transmettez cet avertissement à celui qui maintient vos paramètres gérés, car vous ne pouvez pas l'effacer vous-même.

5502 5740 

5503Dans une [session en arrière-plan](/docs/fr/agent-view) ou avec `--output-format json` ou `stream-json`, Claude Code écrit l'avertissement au journal de débogage au lieu de stderr, donc la sortie lue par machine reste propre. Exécutez avec `--debug` pour la capturer à `~/.claude/debug/<session-id>.txt`. Avant la v2.1.246, Claude Code acceptait ces règles sans avertissement.5741Dans une [session en arrière-plan](/docs/fr/agent-view) ou avec `--output-format json` ou `stream-json`, Claude Code écrit l'avertissement au journal de débogage au lieu de stderr, donc la sortie lue par machine reste propre. Exécutez avec `--debug` pour la capturer à `~/.claude/debug/<session-id>.txt`. Avant la v2.1.246, Claude Code acceptait ces règles sans avertissement.

5504 5742 

5743Avant la v2.1.305, une session interactive imprimait l'avertissement complet sur stderr au lieu d'afficher une ligne.

5744 

5505### Refuser Bash désactive aussi l'outil PowerShell5745### Refuser Bash désactive aussi l'outil PowerShell

5506 5746 

5507Vous avez supprimé l'outil Bash entier, par exemple avec `--disallowedTools Bash` ou avec une [règle de refus](/docs/fr/permissions#match-all-uses-of-a-tool) `Bash` ou `Bash(*)` seule dans l'un de vos fichiers de paramètres. Sur Windows avec Git Bash installé, [refuser Bash désactive aussi l'outil PowerShell](/docs/fr/tools-reference#bash-deny-rules-also-turn-off-the-powershell-tool), donc la session démarre sans aucun outil shell. Claude Code imprime cet avertissement au démarrage :5747Vous avez supprimé l'outil Bash entier, par exemple avec `--disallowedTools Bash` ou avec une [règle de refus](/docs/fr/permissions#match-all-uses-of-a-tool) `Bash` ou `Bash(*)` seule dans l'un de vos fichiers de paramètres. Sur Windows avec Git Bash installé, [refuser Bash désactive aussi l'outil PowerShell](/docs/fr/tools-reference#bash-deny-rules-also-turn-off-the-powershell-tool), donc la session démarre sans aucun outil shell.

5748 

5749En [mode non interactif](/docs/fr/headless) avec une sortie texte, Claude Code imprime cet avertissement sur stderr au démarrage, et une session interactive l'écrit uniquement dans le [journal de débogage](#configuration-warnings) :

5508 5750 

5509```text theme={null}5751```text theme={null}

5510Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.5752Denying Bash also turns off the PowerShell tool, so Claude has neither. To use PowerShell, set CLAUDE_CODE_USE_POWERSHELL_TOOL=1.


5517 5759 

5518Dans une [session en arrière-plan](/docs/fr/agent-view) ou avec `--output-format json` ou `stream-json`, Claude Code écrit l'avertissement au journal de débogage au lieu de stderr. Exécutez avec `--debug` pour le capturer à `~/.claude/debug/<session-id>.txt`. Avant la v2.1.287, Claude Code désactivait l'outil PowerShell de la même façon sans imprimer d'avertissement.5760Dans une [session en arrière-plan](/docs/fr/agent-view) ou avec `--output-format json` ou `stream-json`, Claude Code écrit l'avertissement au journal de débogage au lieu de stderr. Exécutez avec `--debug` pour le capturer à `~/.claude/debug/<session-id>.txt`. Avant la v2.1.287, Claude Code désactivait l'outil PowerShell de la même façon sans imprimer d'avertissement.

5519 5761 

5762Avant la v2.1.305, une session interactive imprimait aussi l'avertissement sur stderr au démarrage.

5763 

5520### crossSessionInbound doit être l'un de accept, hold, refuse5764### crossSessionInbound doit être l'un de accept, hold, refuse

5521 5765 

5522Un fichier de paramètres définit [`crossSessionInbound`](/docs/fr/settings-reference#crosssessioninbound) à une valeur que Claude Code ne reconnaît pas, par exemple la faute de frappe `"reject"`. La deuxième phrase de l'avertissement dépend du fichier qui contient la valeur ; dans un fichier utilisateur, projet, local, ou `--settings`, elle lit :5766Un fichier de paramètres définit [`crossSessionInbound`](/docs/fr/settings-reference#crosssessioninbound) à une valeur que Claude Code ne reconnaît pas, par exemple la faute de frappe `"reject"`. La deuxième phrase de l'avertissement dépend du fichier qui contient la valeur ; dans un fichier utilisateur, projet, local, ou `--settings`, elle lit :


5566* Si le message nomme un ID de modèle que cette version ne reconnaît pas, exécutez `claude update`. Une version qui reconnaît l'ID comme un modèle à contexte 1M applique la limite sans configuration supplémentaire.5810* Si le message nomme un ID de modèle que cette version ne reconnaît pas, exécutez `claude update`. Une version qui reconnaît l'ID comme un modèle à contexte 1M applique la limite sans configuration supplémentaire.

5567* Si vous voulez que la session utilise la fenêtre complète du modèle à la place, supprimez `CLAUDE_CODE_DISABLE_1M_CONTEXT` ; l'avertissement signale uniquement que la limite de 200K n'est pas appliquée5811* Si vous voulez que la session utilise la fenêtre complète du modèle à la place, supprimez `CLAUDE_CODE_DISABLE_1M_CONTEXT` ; l'avertissement signale uniquement que la limite de 200K n'est pas appliquée

5568 5812 

5569Dans une [session en arrière-plan](/docs/fr/agent-view) ou avec `--output-format json` ou `stream-json`, Claude Code écrit l'avertissement au journal de débogage au lieu de stderr.5813En [mode non interactif](/docs/fr/headless) avec une sortie texte, cet avertissement apparaît sur stderr. Dans une session interactive, une [session en arrière-plan](/docs/fr/agent-view), ou avec `--output-format json` ou `stream-json`, il va plutôt dans le journal de débogage. Exécutez avec `--debug` pour le capturer à `~/.claude/debug/<session-id>.txt`.

5814 

5815Avant la v2.1.305, une session interactive imprimait l'avertissement sur stderr au démarrage.

5570 5816 

5571### ID de modèle non reconnu sur une requête5817### ID de modèle non reconnu sur une requête

5572 5818 


5678Si une erreur n'est pas répertoriée ici ou si la correction suggérée ne vous aide pas :5924Si une erreur n'est pas répertoriée ici ou si la correction suggérée ne vous aide pas :

5679 5925 

5680* Exécutez `/feedback` dans Claude Code pour envoyer la transcription et une description à Anthropic. La commande propose également d'ouvrir un problème GitHub prérempli. L'envoi à Anthropic nécessite une [authentification](/docs/fr/authentication). Sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et d'autres fournisseurs tiers, ou lorsqu'aucune identifiant Anthropic n'est configuré, `/feedback` enregistre une archive locale que vous pouvez envoyer à votre représentant de compte Anthropic à la place.5926* Exécutez `/feedback` dans Claude Code pour envoyer la transcription et une description à Anthropic. La commande propose également d'ouvrir un problème GitHub prérempli. L'envoi à Anthropic nécessite une [authentification](/docs/fr/authentication). Sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et d'autres fournisseurs tiers, ou lorsqu'aucune identifiant Anthropic n'est configuré, `/feedback` enregistre une archive locale que vous pouvez envoyer à votre représentant de compte Anthropic à la place.

5927* Si `/feedback` répond qu'il est désactivé par la politique de votre organisation, consultez [l'entrée correspondant à ce message](#feedback-is-disabled-by-your-organizations-policy)

5681* Exécutez `claude doctor` depuis votre shell pour un diagnostic en lecture seule de votre installation, ou exécutez la vérification `/doctor` dans Claude Code pour trouver et corriger les problèmes de configuration5928* Exécutez `claude doctor` depuis votre shell pour un diagnostic en lecture seule de votre installation, ou exécutez la vérification `/doctor` dans Claude Code pour trouver et corriger les problèmes de configuration

5682* Vérifiez [status.claude.com](https://status.claude.com) pour les incidents actifs5929* Vérifiez [status.claude.com](https://status.claude.com) pour les incidents actifs

5683* Recherchez les [problèmes existants](https://github.com/anthropics/claude-code/issues) sur GitHub5930* Recherchez les [problèmes existants](https://github.com/anthropics/claude-code/issues) sur GitHub

Details

34 34 

35Celles-ci ont des différences spécifiques au fournisseur :35Celles-ci ont des différences spécifiques au fournisseur :

36 36 

37* **Serveurs MCP** : les [connecteurs de claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) se chargent uniquement lorsque votre abonnement claude.ai est la méthode d'authentification active. La [recherche d'outils](/docs/fr/mcp#configure-tool-search) est désactivée par défaut lorsque `ANTHROPIC_BASE_URL` pointe vers un hôte non-propriétaire, et n'est pas supportée sur les modèles Google Cloud's Agent Platform antérieurs à Claude Opus 4.5, Claude Sonnet 4.5 et Claude Haiku 4.5 ni sur les [déploiements Microsoft Foundry hébergés sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)37* **Serveurs MCP** : les [connecteurs de claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) se chargent uniquement lorsque votre abonnement claude.ai est la méthode d'authentification active. La [recherche d'outils](/docs/fr/mcp#configure-tool-search) n'est pas supportée sur les [déploiements Microsoft Foundry hébergés sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options). Sur Google Cloud's Agent Platform, la recherche d'outils n'est pas supportée sur les modèles antérieurs à Claude Opus 4.5, Claude Sonnet 4.5 et Claude Haiku 4.5

38* **Subagents** : lorsque la conversation principale exécute Fable, le [sous-agent Explore intégré](/docs/fr/sub-agents#built-in-subagents) s'exécute sur Opus avec un abonnement Claude, un compte Console Anthropic ou une [passerelle LLM](/docs/fr/llm-gateway) atteinte via `ANTHROPIC_BASE_URL`. Chez les autres fournisseurs, y compris Claude Platform sur AWS, il s'exécute sur Fable38* **Subagents** : lorsque la conversation principale exécute Fable, le [sous-agent Explore intégré](/docs/fr/sub-agents#built-in-subagents) s'exécute sur Opus avec un abonnement Claude, un compte Console Anthropic ou une [passerelle LLM](/docs/fr/llm-gateway) atteinte via `ANTHROPIC_BASE_URL`. Chez les autres fournisseurs, y compris Claude Platform sur AWS, il s'exécute sur Fable

39* **[Commands](/docs/fr/commands#all-commands)** :39* **[Commands](/docs/fr/commands#all-commands)** :

40 * `/design-sync` et `/import` avec sa forme de sous-commande `claude import` ne sont pas disponibles sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et Claude Platform sur AWS, et via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway#availability-and-limitations)40 * `/design-sync` et `/import` avec sa forme de sous-commande `claude import` ne sont pas disponibles sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et Claude Platform sur AWS, et via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway#availability-and-limitations)


57* [Artifacts](/docs/fr/artifacts) : plans Pro, Max, Team et Enterprise57* [Artifacts](/docs/fr/artifacts) : plans Pro, Max, Team et Enterprise

58* [Voice dictation](/docs/fr/voice-dictation)58* [Voice dictation](/docs/fr/voice-dictation)

59 59 

60Desktop est l'exception partielle : l'[acheminement par passerelle peut être configuré dans l'application ou par un administrateur](/docs/fr/llm-gateway-connect#desktop-app), les déploiements Enterprise peuvent acheminer Desktop vers Google Cloud's Agent Platform ou un fournisseur de passerelle via les [paramètres gérés](https://claude.com/docs/third-party/claude-desktop/configuration), et [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) exécute l'onglet Code sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou une passerelle LLM auto-hébergée. Pour la disponibilité par plan de ces fonctionnalités, consultez [Disponibilité par plan d'abonnement](#availability-by-subscription-plan).60Desktop est l'exception partielle : l'[acheminement par passerelle peut être configuré dans l'application ou par un administrateur](/docs/fr/llm-gateway-connect#desktop-app). [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview) exécute également l'onglet Code sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou une passerelle LLM auto-hébergée. Il exécute aussi l'onglet Code sur l'[API Claude](https://claude.com/docs/third-party/claude-desktop/claude-api) avec une clé API de la Console Anthropic. Pour la disponibilité par plan de ces fonctionnalités, consultez [Disponibilité par plan d'abonnement](#availability-by-subscription-plan).

61 61 

62### Capacités CLI qui varient selon le fournisseur62### Capacités CLI qui varient selon le fournisseur

63 63 


287 287 

288Tout ce qui se trouve dans [Capacités CLI qui varient selon le fournisseur](#cli-capabilities-that-vary-by-provider) est disponible, sauf que [fast mode](/docs/fr/fast-mode) nécessite un [accès provisionné](/docs/fr/fast-mode#enable-fast-mode-for-your-organization). Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) que vous configurez dans une organisation claude.ai Team ou Enterprise n'atteignent pas une session qui s'authentifie avec une clé API Console. Consultez [Disponibilité par plateforme](/docs/fr/server-managed-settings#platform-availability) pour savoir comment couvrir ces sessions.288Tout ce qui se trouve dans [Capacités CLI qui varient selon le fournisseur](#cli-capabilities-that-vary-by-provider) est disponible, sauf que [fast mode](/docs/fr/fast-mode) nécessite un [accès provisionné](/docs/fr/fast-mode#enable-fast-mode-for-your-organization). Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) que vous configurez dans une organisation claude.ai Team ou Enterprise n'atteignent pas une session qui s'authentifie avec une clé API Console. Consultez [Disponibilité par plateforme](/docs/fr/server-managed-settings#platform-availability) pour savoir comment couvrir ces sessions.

289 289 

290**Support partiel :**

291 

292* [Desktop](/docs/fr/desktop) : via [Claude Desktop on 3P avec l'API Claude](https://claude.com/docs/third-party/claude-desktop/claude-api)

293 

290## Disponibilité par plan d'abonnement294## Disponibilité par plan d'abonnement

291 295 

292Si vous vous authentifiez via Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou une clé API de la Console Anthropic, cette section ne s'applique pas à vous. Lorsque vous vous connectez avec un compte claude.ai, votre plan détermine les fonctionnalités ci-dessous qui sont disponibles.296Si vous vous authentifiez via Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou une clé API de la Console Anthropic, cette section ne s'applique pas à vous. Lorsque vous vous connectez avec un compte claude.ai, votre plan détermine les fonctionnalités ci-dessous qui sont disponibles.

Details

148* **Subagents** sont des travailleurs que Claude génère, chacun retournant un résumé à la conversation qui l'a généré148* **Subagents** sont des travailleurs que Claude génère, chacun retournant un résumé à la conversation qui l'a généré

149* **[Flux de travail dynamique](/docs/fr/workflows)** sont des scripts que Claude écrit qui exécutent de nombreux subagents en arrière-plan et retournent un résultat149* **[Flux de travail dynamique](/docs/fr/workflows)** sont des scripts que Claude écrit qui exécutent de nombreux subagents en arrière-plan et retournent un résultat

150 150 

151**Utilisez un subagent** quand vous avez besoin d'un travailleur rapide et ciblé : rechercher une question, vérifier une affirmation, examiner un fichier. Le subagent fait le travail et retourne un résumé, afin que votre conversation principale reste propre. Les subagents que Claude a nommés quand il les a générés peuvent aussi [se messaguer les uns les autres](/docs/fr/sub-agents#what-loads-at-startup).151**Utilisez un sous-agent** quand vous avez besoin d'un travailleur rapide et ciblé : rechercher une question, vérifier une affirmation, faire la revue d'un fichier. Le sous-agent fait le travail et retourne un résumé, afin que votre conversation principale reste propre. Les sous-agents que Claude a [nommés](/docs/fr/sub-agents#subagent-names) en les lançant peuvent aussi [s'envoyer des messages](/docs/fr/sub-agents#what-loads-at-startup).

152 152 

153**Utilisez un flux de travail dynamique** quand un travail [dépasse une poignée de subagents](/docs/fr/workflows#when-to-use-a-workflow), ou quand vous voulez que les conclusions soient vérifiées en croisant avant que vous les voyiez, comme un audit à l'échelle du codebase, une grande migration ou un plan rédigé sous plusieurs angles. Pour en démarrer un, [demandez un flux de travail dans votre invite](/docs/fr/workflows#ask-for-a-workflow-in-your-prompt).153**Utilisez un flux de travail dynamique** quand un travail [dépasse une poignée de subagents](/docs/fr/workflows#when-to-use-a-workflow), ou quand vous voulez que les conclusions soient vérifiées en croisant avant que vous les voyiez, comme un audit à l'échelle du codebase, une grande migration ou un plan rédigé sous plusieurs angles. Pour en démarrer un, [demandez un flux de travail dans votre invite](/docs/fr/workflows#ask-for-a-workflow-in-your-prompt).

154 154 

fullscreen.md +1 −0

Details

32* Votre [mode de permission](/docs/fr/permission-modes) et [niveau d'effort](/docs/fr/model-config#adjust-effort-level)32* Votre [mode de permission](/docs/fr/permission-modes) et [niveau d'effort](/docs/fr/model-config#adjust-effort-level)

33* Le modèle que vous avez sélectionné en dernier avec [`/model`](/docs/fr/model-config#setting-your-model)33* Le modèle que vous avez sélectionné en dernier avec [`/model`](/docs/fr/model-config#setting-your-model)

34* Les règles que vous avez transmises avec [`--allowed-tools` ou `--disallowed-tools`](/docs/fr/cli-reference#cli-flags), et vos drapeaux `--agent`, `--agents`, `--append-system-prompt`, et `--system-prompt-snapshot`34* Les règles que vous avez transmises avec [`--allowed-tools` ou `--disallowed-tools`](/docs/fr/cli-reference#cli-flags), et vos drapeaux `--agent`, `--agents`, `--append-system-prompt`, et `--system-prompt-snapshot`

35* Un flag `--chrome` ou `--no-chrome` avec lequel vous avez lancé la session, afin que l'[intégration Chrome](/docs/fr/chrome) reste activée ou désactivée comme vous l'avez choisi pour cette session

35 36 

36Claude Code refuse de redémarrer si la session a une restriction qu'il ne peut pas transmettre au processus redémarré. Les restrictions qu'il ne peut pas transmettre incluent :37Claude Code refuse de redémarrer si la session a une restriction qu'il ne peut pas transmettre au processus redémarré. Les restrictions qu'il ne peut pas transmettre incluent :

37 38 

hipaa-setup.md +1 −0

Details

93| :- | :- |93| :- | :- |

94| `api.anthropic.com` | Les requêtes à l'API Claude, la télémétrie et la politique d'organisation qui indique à Claude Code que la configuration HIPAA est activée |94| `api.anthropic.com` | Les requêtes à l'API Claude, la télémétrie et la politique d'organisation qui indique à Claude Code que la configuration HIPAA est activée |

95| `claude.ai`, `claude.com`, `platform.claude.com` | La connexion et l'actualisation des jetons |95| `claude.ai`, `claude.com`, `platform.claude.com` | La connexion et l'actualisation des jetons |

96| `sso.claude.com` | La connexion, lorsque votre organisation utilise l'authentification unique |

96| `downloads.claude.ai` | Le programme d'installation natif et ses mises à jour |97| `downloads.claude.ai` | Le programme d'installation natif et ses mises à jour |

97| `mcp-proxy.anthropic.com` | [Les connecteurs de claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) |98| `mcp-proxy.anthropic.com` | [Les connecteurs de claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) |

98 99 

hooks.md +12 −6

Details

294| `SessionStart` | comment la session a démarré | `startup`, `resume`, `clear`, `compact`, `fork` |294| `SessionStart` | comment la session a démarré | `startup`, `resume`, `clear`, `compact`, `fork` |

295| `Setup` | quel drapeau CLI a déclenché la configuration | `init`, `maintenance` |295| `Setup` | quel drapeau CLI a déclenché la configuration | `init`, `maintenance` |

296| `SessionEnd` | pourquoi la session s'est terminée | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |296| `SessionEnd` | pourquoi la session s'est terminée | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

297| `Notification` | type de notification | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled` |297| `Notification` | type de notification | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled`, `plugin_notification` |

298| `SubagentStart` | type d'agent | `general-purpose`, `Explore`, `Plan`, noms d'agents personnalisés ou noms limités au plugin comme `^my-plugin:reviewer$` |298| `SubagentStart` | type d'agent | `general-purpose`, `Explore`, `Plan`, noms d'agents personnalisés ou noms limités au plugin comme `^my-plugin:reviewer$` |

299| `PreCompact`, `PostCompact` | ce qui a déclenché la compaction | `manual`, `auto` |299| `PreCompact`, `PostCompact` | ce qui a déclenché la compaction | `manual`, `auto` |

300| `PreModelSwitch`, `PostModelSwitch` | nom canonique du modèle vers lequel la session bascule, comme décrit sous [PreModelSwitch](#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |300| `PreModelSwitch`, `PostModelSwitch` | nom canonique du modèle vers lequel la session bascule, comme décrit sous [PreModelSwitch](#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |


1923 1923 

1924| Champ | Description |1924| Champ | Description |

1925| :- | :- |1925| :- | :- |

1926| `permissionDecision` | `"allow"` ignore la demande de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) et les [lectures depuis des chemins réseau](/docs/fr/permissions#network-paths). `AskUserQuestion` et `ExitPlanMode` nécessitent [`updatedInput` associé à `"allow"`](#allow-with-updatedinput). Pour le mode plan, consultez [Approbations par hook en mode plan](/docs/fr/permissions#hook-approvals-in-plan-mode). `"deny"` empêche l'appel d'outil. `"ask"` demande à l'utilisateur de confirmer. `"defer"` quitte proprement afin que l'outil puisse être repris plus tard. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées, quelle que soit la valeur renvoyée par le hook |1926| `permissionDecision` | `"allow"` ignore la demande de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) et les [lectures depuis des chemins réseau](/docs/fr/permissions#network-paths). `AskUserQuestion` et `ExitPlanMode` nécessitent [`updatedInput` associé à `"allow"`](#allow-with-updatedinput). Pour le mode plan, consultez [Approbations par hook en mode plan](/docs/fr/permissions#hook-approvals-in-plan-mode). `"deny"` empêche l'appel d'outil. `"ask"` demande à l'utilisateur de confirmer. `"defer"` termine le tour afin que l'outil puisse être repris plus tard, et nécessite le [mode non interactif](#defer-a-tool-call-for-later) avec le flag `-p`. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées, quel que soit ce que renvoie le hook |

1927| `permissionDecisionReason` | Pour `"ask"`, affiché à l'utilisateur dans la demande de permission. Lorsque Claude Code [refuse l'appel](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs) lors d'une exécution `-p` où personne ne peut répondre à cette demande, Claude lit plutôt la raison dans le résultat de l'outil. Pour `"deny"`, affiché à Claude. Pour `"allow"` et `"defer"`, écrit uniquement dans le [log de débogage](#debug-hooks) |1927| `permissionDecisionReason` | Pour `"ask"`, affiché à l'utilisateur dans la demande de permission. Lorsque Claude Code [refuse l'appel](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs) lors d'une exécution `-p` où personne ne peut répondre à cette demande, Claude lit plutôt la raison dans le résultat de l'outil. Pour `"deny"`, affiché à Claude. Pour `"allow"` et `"defer"`, écrit uniquement dans le [log de débogage](#debug-hooks) |

1928| `updatedInput` | Modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'intégralité de l'objet d'entrée : incluez donc les champs inchangés en plus des champs modifiés. Claude Code évalue les règles de permission et l'[éligibilité au passage automatique en arrière-plan](/docs/fr/tools-reference#foreground-commands-that-move-to-the-background) d'une commande Bash par rapport à l'entrée renvoyée par votre hook, et non à celle envoyée par Claude. Combinez-le avec `"allow"` pour approuver automatiquement, ou avec `"ask"` pour montrer l'entrée modifiée à l'utilisateur. Ignoré pour `"defer"` |1928| `updatedInput` | Modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'intégralité de l'objet d'entrée : incluez donc les champs inchangés en plus des champs modifiés. Claude Code évalue les règles de permission et l'[éligibilité au passage automatique en arrière-plan](/docs/fr/tools-reference#foreground-commands-that-move-to-the-background) d'une commande Bash par rapport à l'entrée renvoyée par votre hook, et non à celle envoyée par Claude. Combinez-le avec `"allow"` pour approuver automatiquement, ou avec `"ask"` pour montrer l'entrée modifiée à l'utilisateur. Ignoré pour `"defer"` |

1929| `additionalContext` | Chaîne ajoutée au contexte de Claude en plus du résultat de l'outil. Ignorée lorsque `permissionDecision` vaut `"defer"`. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |1929| `additionalContext` | Chaîne ajoutée au contexte de Claude en plus du résultat de l'outil. Ignorée lorsque `permissionDecision` vaut `"defer"`. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |


1997L'outil `AskUserQuestion` en est le cas typique : Claude veut poser une question à l'utilisateur, mais aucun terminal ne permet d'y répondre. Une exécution `-p` ne propose `AskUserQuestion` que lorsqu'elle dispose d'un [hôte de permissions](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs), comme un outil MCP que vous transmettez avec `--permission-prompt-tool` : démarrez donc l'exécution avec l'un d'eux. L'aller-retour fonctionne ainsi :1997L'outil `AskUserQuestion` en est le cas typique : Claude veut poser une question à l'utilisateur, mais aucun terminal ne permet d'y répondre. Une exécution `-p` ne propose `AskUserQuestion` que lorsqu'elle dispose d'un [hôte de permissions](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs), comme un outil MCP que vous transmettez avec `--permission-prompt-tool` : démarrez donc l'exécution avec l'un d'eux. L'aller-retour fonctionne ainsi :

1998 1998 

19991. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.19991. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.

20002. Le hook renvoie `permissionDecision: "defer"`. L'outil ne s'exécute pas. Le processus se termine avec `stop_reason: "tool_deferred"` et l'appel d'outil en attente est conservé dans la transcription.20002. Le hook renvoie `permissionDecision: "defer"`. L'outil ne s'exécute pas. Le tour se termine avec un résultat portant `stop_reason: "tool_deferred"`, et l'appel d'outil en attente reste dans la transcription.

20013. Le processus appelant lit `deferred_tool_use` dans le résultat du SDK, affiche la question dans sa propre interface utilisateur et attend une réponse.20013. Le processus appelant lit `deferred_tool_use` dans le résultat du SDK, affiche la question dans sa propre interface utilisateur et attend une réponse.

20024. Le processus appelant exécute `claude -p --resume <session-id>` avec le même hôte de permissions. Le même appel d'outil déclenche à nouveau `PreToolUse`.20024. Le processus appelant exécute `claude -p --resume <session-id>` avec le même hôte de permissions. Le même appel d'outil déclenche à nouveau `PreToolUse`.

20035. Le hook renvoie `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.20035. Le hook renvoie `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.


2018}2018}

2019```2019```

2020 2020 

2021Il n'y a ni délai d'expiration ni limite de nouvelles tentatives. La session reste sur le disque jusqu'à ce que vous la repreniez, sous réserve du nettoyage de rétention [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), qui supprime les fichiers de session après 30 jours par défaut, selon les [règles du nettoyage de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Si la réponse n'est pas prête lorsque vous reprenez la session, le hook peut renvoyer à nouveau `"defer"` et le processus se termine de la même manière. Le processus appelant décide quand sortir de la boucle en renvoyant finalement `"allow"` ou `"deny"` depuis le hook.2021Il n'y a ni délai d'expiration ni limite de nouvelles tentatives. La session reste sur le disque jusqu'à ce que vous la repreniez, sous réserve du nettoyage de rétention [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), qui supprime les fichiers de session après 30 jours par défaut, selon les [règles du nettoyage de rétention](/docs/fr/claude-directory#cleaned-up-automatically).

2022 2022 

2023`"defer"` ne fonctionne que lorsque Claude effectue un seul appel d'outil dans le tour. Si Claude effectue plusieurs appels d'outils à la fois, `"defer"` est ignoré avec un avertissement et l'outil suit le flux de permission normal. Cette contrainte existe parce que la reprise ne peut réexécuter qu'un seul outil : il n'existe aucun moyen de différer un appel d'un lot sans laisser les autres non résolus.2023Si l'outil différé n'est plus disponible lors de la reprise, le premier résultat de la reprise comporte `stop_reason: "tool_deferred_unavailable"` et `is_error: true`, et le hook ne se déclenche pas. Cela se produit lorsqu'un serveur MCP qui fournissait l'outil n'est pas connecté pour la session reprise. Le payload `deferred_tool_use` est tout de même inclus afin que vous puissiez identifier l'outil manquant.

2024 

2025* **Si vous n'avez envoyé aucun prompt, avec la reprise ou après celle-ci**, l'appel est toujours en attente. Reprenez à nouveau lorsque l'outil est disponible, et il s'exécutera en premier.

2026* **Si vous avez envoyé un prompt, avec la reprise ou après celle-ci**, Claude Code y répond sans le résultat de l'outil et abandonne l'appel différé. Envoyez un nouveau prompt une fois l'outil disponible si vous avez toujours besoin qu'il soit appelé.

2024 2027 

2025Si l'outil différé n'est plus disponible lors de la reprise, le processus se termine avec `stop_reason: "tool_deferred_unavailable"` et `is_error: true` avant que le hook ne se déclenche. Cela se produit lorsqu'un serveur MCP qui fournissait l'outil n'est pas connecté pour la session reprise. Le payload `deferred_tool_use` est tout de même inclus afin que vous puissiez identifier l'outil manquant.2028Si la réponse que vous attendez n'est pas prête lorsque vous reprenez sans prompt, le hook peut renvoyer `"defer"` à nouveau. Si vous avez envoyé un prompt et que le hook diffère à nouveau, Claude Code traite le prompt de la même manière : il y répond sans le résultat de l'outil et abandonne l'appel. Reprenez sans prompt jusqu'à ce que le hook renvoie `"allow"` ou `"deny"` ; c'est ainsi que le processus appelant sort de la boucle.

2029 

2030`"defer"` ne fonctionne que lorsque Claude effectue un seul appel d'outil dans le tour. Si Claude effectue plusieurs appels d'outils à la fois, `"defer"` est ignoré avec un avertissement et l'outil suit le flux de permission normal. Cette contrainte existe parce que la reprise ne peut réexécuter qu'un seul outil : il n'existe aucun moyen de différer un appel d'un lot sans laisser les autres non résolus.

2026 2031 

2027> [!NOTE]2032> [!NOTE]

2028>2033>


2424| `quota_auto_resume_fired` | Claude Code poursuit votre tâche après qu'une limite d'utilisation de claude.ai l'a mise en pause : lors de la réinitialisation, ou plus tôt lorsqu'une action que vous effectuez dans Claude Code pendant l'attente, comme l'ajout de crédits d'utilisation, la mise à niveau de votre forfait ou le changement de modèle, rend à nouveau l'utilisation disponible, avec l'[exception relative au paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |2429| `quota_auto_resume_fired` | Claude Code poursuit votre tâche après qu'une limite d'utilisation de claude.ai l'a mise en pause : lors de la réinitialisation, ou plus tôt lorsqu'une action que vous effectuez dans Claude Code pendant l'attente, comme l'ajout de crédits d'utilisation, la mise à niveau de votre forfait ou le changement de modèle, rend à nouveau l'utilisation disponible, avec l'[exception relative au paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |

2425| `quota_auto_resume_stale` | Une limite d'utilisation de claude.ai a été réinitialisée alors que votre ordinateur était en veille depuis plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Enter` au lieu de continuer. Après une veille plus courte, il continue et déclenche plutôt `quota_auto_resume_fired` |2430| `quota_auto_resume_stale` | Une limite d'utilisation de claude.ai a été réinitialisée alors que votre ordinateur était en veille depuis plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Enter` au lieu de continuer. Après une veille plus courte, il continue et déclenche plutôt `quota_auto_resume_fired` |

2426| `quota_auto_resume_disabled` | Claude Code met fin à son attente d'une limite d'utilisation de claude.ai sans poursuivre votre tâche : [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) a été désactivé ou la réinitialisation a été repoussée à plus de 24 heures pendant une attente que Claude Code a lancée de lui-même, la tâche poursuivie a continué d'atteindre la limite, ou la poursuite a été bloquée avant d'atteindre le modèle. Ne se déclenche pas lorsque vous appuyez sur `Esc` ou `Ctrl+C`, ou choisissez **Don't continue automatically** |2431| `quota_auto_resume_disabled` | Claude Code met fin à son attente d'une limite d'utilisation de claude.ai sans poursuivre votre tâche : [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) a été désactivé ou la réinitialisation a été repoussée à plus de 24 heures pendant une attente que Claude Code a lancée de lui-même, la tâche poursuivie a continué d'atteindre la limite, ou la poursuite a été bloquée avant d'atteindre le modèle. Ne se déclenche pas lorsque vous appuyez sur `Esc` ou `Ctrl+C`, ou choisissez **Don't continue automatically** |

2432| `plugin_notification` | Un [mod](/docs/fr/plugins/mods/api#show-something-without-starting-a-turn) émet une notification avec `$.ui.notify`. Le `title` du hook est le nom du mod, sauf si le mod en a défini un |

2427 2433 

2428Les types `quota_auto_resume_fired`, `quota_auto_resume_stale` et `quota_auto_resume_disabled` nécessitent Claude Code v2.1.234 ou une version ultérieure.2434Les types `quota_auto_resume_fired`, `quota_auto_resume_stale` et `quota_auto_resume_disabled` nécessitent Claude Code v2.1.234 ou une version ultérieure.

2429 2435 

hooks-guide.md +3 −2

Details

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

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

195| `quota_auto_resume_disabled` | Claude Code termine son attente pour une limite d'utilisation claude.ai sans continuer votre tâche : [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) désactivé ou la réinitialisation s'est déplacée de plus de 24 heures pendant une attente que Claude Code a lancée de lui-même, la tâche continuée a continué à atteindre la limite, ou la continuation a été bloquée avant d'atteindre le modèle. Ne se déclenche pas lorsque vous appuyez sur `Échap` ou `Ctrl+C`, ou sélectionnez **Ne pas continuer automatiquement** |195| `quota_auto_resume_disabled` | Claude Code termine son attente pour une limite d'utilisation claude.ai sans continuer votre tâche : [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) désactivé ou la réinitialisation s'est déplacée de plus de 24 heures pendant une attente que Claude Code a lancée de lui-même, la tâche continuée a continué à atteindre la limite, ou la continuation a été bloquée avant d'atteindre le modèle. Ne se déclenche pas lorsque vous appuyez sur `Échap` ou `Ctrl+C`, ou sélectionnez **Ne pas continuer automatiquement** |

196| `plugin_notification` | Un [mod](/docs/fr/plugins/mods/api#show-something-without-starting-a-turn) émet une notification avec `$.ui.notify`. Le `title` du hook est le nom du mod, sauf si le mod en a défini un |

196 197 

197Claude Code chronométre `permission_prompt` différemment dans un terminal et dans Claude Desktop, l'extension VS Code et d'autres hôtes qui répondent aux demandes de permission via le SDK Agent. Consultez [quand chaque type de notification se déclenche](/docs/fr/hooks#notification) pour les deux timings.198Claude Code chronométre `permission_prompt` différemment dans un terminal et dans Claude Desktop, l'extension VS Code et d'autres hôtes qui répondent aux demandes de permission via le SDK Agent. Consultez [quand chaque type de notification se déclenche](/docs/fr/hooks#notification) pour les deux timings.

198 199 


632 633 

633 Pour ce que fait `"allow"` en mode plan, consultez [Approbations des hooks en mode plan](/docs/fr/permissions#hook-approvals-in-plan-mode).634 Pour ce que fait `"allow"` en mode plan, consultez [Approbations des hooks en mode plan](/docs/fr/permissions#hook-approvals-in-plan-mode).

634 635 

635Une quatrième valeur, `"defer"`, est disponible en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Elle quitte le processus avec l'appel d'outil préservé afin qu'un wrapper SDK Agent puisse collecter l'entrée et reprendre. Consultez [Différer un appel d'outil pour plus tard](/docs/fr/hooks#defer-a-tool-call-for-later) dans la référence.636Une quatrième valeur, `"defer"`, est disponible en [mode non interactif](/docs/fr/headless) avec le flag `-p`. La retourner met fin au tour en préservant l'appel d'outil, afin qu'un wrapper Agent SDK puisse collecter l'entrée et reprendre. Consultez [Différer un appel d'outil pour plus tard](/docs/fr/hooks#defer-a-tool-call-for-later) dans la référence.

636 637 

637Un hook `PreModelSwitch` retourne le même champ `permissionDecision` : `"allow"` laisse un changement de modèle se poursuivre, et `"deny"` l'annule. `"ask"` vous demande de confirmer le changement lorsque vous exécutez `/model` dans une session interactive ; partout ailleurs, Claude Code traite `"ask"` comme un refus. Consultez [Contrôle de décision PreModelSwitch](/docs/fr/hooks#premodelswitch-decision-control).638Un hook `PreModelSwitch` retourne le même champ `permissionDecision` : `"allow"` laisse un changement de modèle se poursuivre, et `"deny"` l'annule. `"ask"` vous demande de confirmer le changement lorsque vous exécutez `/model` dans une session interactive ; partout ailleurs, Claude Code traite `"ask"` comme un refus. Consultez [Contrôle de décision PreModelSwitch](/docs/fr/hooks#premodelswitch-decision-control).

638 639 


686| `SessionStart` | comment la session a démarré | `startup`, `resume`, `clear`, `compact`, `fork` |687| `SessionStart` | comment la session a démarré | `startup`, `resume`, `clear`, `compact`, `fork` |

687| `Setup` | quel drapeau CLI a déclenché la configuration | `init`, `maintenance` |688| `Setup` | quel drapeau CLI a déclenché la configuration | `init`, `maintenance` |

688| `SessionEnd` | pourquoi la session s'est terminée | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |689| `SessionEnd` | pourquoi la session s'est terminée | `clear`, `resume`, `logout`, `prompt_input_exit`, `other` |

689| `Notification` | type de notification | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled` |690| `Notification` | type de notification | `permission_prompt`, `idle_prompt`, `auth_success`, `elicitation_dialog`, `elicitation_url_dialog`, `elicitation_complete`, `elicitation_response`, `agent_needs_input`, `agent_completed`, `quota_auto_resume_fired`, `quota_auto_resume_stale`, `quota_auto_resume_disabled`, `plugin_notification` |

690| `SubagentStart` | type d'agent | `general-purpose`, `Explore`, `Plan`, ou noms d'agents personnalisés |691| `SubagentStart` | type d'agent | `general-purpose`, `Explore`, `Plan`, ou noms d'agents personnalisés |

691| `PreCompact`, `PostCompact` | ce qui a déclenché la compaction | `manual`, `auto` |692| `PreCompact`, `PostCompact` | ce qui a déclenché la compaction | `manual`, `auto` |

692| `PreModelSwitch`, `PostModelSwitch` | nom canonique du modèle vers lequel la session bascule, comme décrit sous [PreModelSwitch](/docs/fr/hooks#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |693| `PreModelSwitch`, `PostModelSwitch` | nom canonique du modèle vers lequel la session bascule, comme décrit sous [PreModelSwitch](/docs/fr/hooks#premodelswitch) | `claude-opus-5`, `claude-opus-4-6\|claude-opus-5`, `.*opus.*` |

Details

18 18 

19| Raccourci | Description | Contexte |19| Raccourci | Description | Contexte |

20| :- | :- | :- |20| :- | :- | :- |

21| `Ctrl+C` | Interrompre ou effacer l'entrée | Interrompt une opération en cours. Si rien ne s'exécute, la première pression efface l'entrée du prompt et une deuxième pression quitte Claude Code. Appuyez sur `Haut` tant que le prompt est encore vide pour récupérer le brouillon effacé, ce qui nécessite Claude Code v2.1.288 ou version ultérieure |21| `Ctrl+C` | Interrompre ou effacer l'entrée | Interrompt une opération en cours. Si rien ne s'exécute, la première pression efface l'entrée du prompt et une deuxième pression quitte Claude Code. Pour récupérer un brouillon effacé, consultez [Récupérer un brouillon effacé](#bring-back-a-cleared-draft) |

22| `Ctrl+X Ctrl+K` | Arrêter tous les [sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) dans cette session et désactiver les [réponses automatiques des artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) pour le reste de celle-ci. Appuyez deux fois dans les 3 secondes pour confirmer. Vous pouvez appuyer sur ce raccourci pendant qu'une demande de permission d'un sous-agent en arrière-plan est ouverte | Contrôle des sous-agents |22| `Ctrl+X Ctrl+K` | Arrêter tous les [sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) dans cette session et désactiver les [réponses automatiques des artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) pour le reste de celle-ci. Appuyez deux fois dans les 3 secondes pour confirmer. Vous pouvez appuyer sur ce raccourci pendant qu'une demande de permission d'un sous-agent en arrière-plan est ouverte | Contrôle des sous-agents |

23| `Ctrl+D` | Quitter la session Claude Code | La première pression affiche un indice de confirmation et une deuxième pression dans les 800 ms quitte. Lorsque le prompt contient du texte, `Ctrl+D` supprime le caractère après le curseur à la place |23| `Ctrl+D` | Quitter la session Claude Code | La première pression affiche un indice de confirmation et une deuxième pression dans les 800 ms quitte. Lorsque le prompt contient du texte, `Ctrl+D` supprime le caractère après le curseur à la place |

24| `Ctrl+G` ou `Ctrl+X Ctrl+E` | Ouvrir dans l'éditeur de texte par défaut | Modifiez votre prompt ou votre réponse personnalisée dans votre éditeur de texte par défaut. `Ctrl+X Ctrl+E` est la liaison native readline. Activez **Afficher la dernière réponse dans l'éditeur externe** dans `/config` pour ajouter la réponse précédente de Claude en tant que contexte commenté avec `#` au-dessus de votre prompt ; Claude Code supprime le bloc de commentaire lorsque vous enregistrez |24| `Ctrl+G` ou `Ctrl+X Ctrl+E` | Ouvrir dans l'éditeur de texte par défaut | Modifiez votre prompt ou votre réponse personnalisée dans votre éditeur de texte par défaut. `Ctrl+X Ctrl+E` est la liaison native readline. Activez **Afficher la dernière réponse dans l'éditeur externe** dans `/config` pour ajouter la réponse précédente de Claude en tant que contexte commenté avec `#` au-dessus de votre prompt ; Claude Code supprime le bloc de commentaire lorsque vous enregistrez |


262 262 

263Le mode visuel par bloc avec `Ctrl+V` n'est pas pris en charge.263Le mode visuel par bloc avec `Ctrl+V` n'est pas pris en charge.

264 264 

265### Annuler une question en mode vim

266 

267Lorsque vous saisissez votre propre réponse dans la ligne `Other` d'une [question posée par Claude](/docs/fr/tools-reference#askuserquestion-tool-behavior), appuyez deux fois sur `Esc` pour annuler la question.

268 

269Pour annuler plutôt avec une seule pression de touche, [associez une autre touche à l'annulation de la question](/docs/fr/keybindings#cancel-a-question-with-one-key-press).

270 

265## Historique des commandes271## Historique des commandes

266 272 

267Claude Code conserve un historique des invites que vous tapez, et le rappel avec la flèche vers le haut récupère les invites des sessions précédentes du même projet :273Claude Code conserve un historique des invites que vous tapez, et le rappel avec la flèche vers le haut récupère les invites des sessions précédentes du même projet :


272* Lorsque vous rappelez une invite qui incluait du texte collé, Claude Code envoie à nouveau le contenu collé complet lors de la resoumission. Si le contenu a depuis été [nettoyé](/docs/fr/claude-directory#cleaned-up-automatically), Claude Code n'envoie pas la chaîne littérale `[Pasted text #N]` ; consultez [Coller du contenu volumineux](/docs/fr/terminal-config#paste-large-content) pour savoir ce qui se passe avec l'invite278* Lorsque vous rappelez une invite qui incluait du texte collé, Claude Code envoie à nouveau le contenu collé complet lors de la resoumission. Si le contenu a depuis été [nettoyé](/docs/fr/claude-directory#cleaned-up-automatically), Claude Code n'envoie pas la chaîne littérale `[Pasted text #N]` ; consultez [Coller du contenu volumineux](/docs/fr/terminal-config#paste-large-content) pour savoir ce qui se passe avec l'invite

273* L'expansion d'historique avec `!` est désactivée par défaut279* L'expansion d'historique avec `!` est désactivée par défaut

274 280 

281### Récupérer un brouillon effacé

282 

283Pour récupérer un brouillon que vous avez effacé avec `Ctrl+C`, appuyez sur `Haut`, soit immédiatement, soit après avoir envoyé un message ou une commande :

284 

285* **Juste après avoir effacé le brouillon** : appuyez une fois sur `Haut` tant que le prompt est encore vide. Nécessite Claude Code v2.1.288 ou ultérieur.

286* **Après avoir envoyé un message ou une commande** : appuyez sur `Haut` pour revenir au brouillon. Claude Code conserve les dix brouillons effacés les plus récents de la session en cours, avec leur texte collé et leurs images, et les supprime lorsque vous quittez. Nécessite Claude Code v2.1.292 ou ultérieur.

287 

275### Recherche inversée avec Ctrl+R288### Recherche inversée avec Ctrl+R

276 289 

277Appuyez sur `Ctrl+R` pour rechercher interactivement dans votre historique de commandes. En [rendu plein écran](/docs/fr/fullscreen), `Ctrl+R` ouvre une boîte de dialogue de recherche à la place : tapez pour filtrer, appuyez sur `Haut` et `Bas` pour vous déplacer dans les correspondances, et appuyez sur `Ctrl+S` pour faire défiler l'étendue entre cette session, ce projet et tous les projets. Appuyez sur `Entrée` ou `Tab` pour placer une correspondance dans l'entrée d'invite, ou `Échap` pour annuler. Les étapes ci-dessous décrivent la recherche en ligne du moteur de rendu classique :290Appuyez sur `Ctrl+R` pour rechercher interactivement dans votre historique de commandes. En [rendu plein écran](/docs/fr/fullscreen), `Ctrl+R` ouvre une boîte de dialogue de recherche à la place : tapez pour filtrer, appuyez sur `Haut` et `Bas` pour vous déplacer dans les correspondances, et appuyez sur `Ctrl+S` pour faire défiler l'étendue entre cette session, ce projet et tous les projets. Appuyez sur `Entrée` ou `Tab` pour placer une correspondance dans l'entrée d'invite, ou `Échap` pour annuler. Les étapes ci-dessous décrivent la recherche en ligne du moteur de rendu classique :


386* [`/effort`](/docs/fr/model-config#adjust-effort-level) : 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 votre modification à la prochaine requête qu'il effectue dans ce tour399* [`/effort`](/docs/fr/model-config#adjust-effort-level) : 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 votre modification à la prochaine requête qu'il effectue dans ce tour

387* [`/fast`](/docs/fr/fast-mode#toggle-fast-mode) : Claude Code conserve le paramètre de mode rapide qui était actif au début du tour, donc votre changement de vitesse s'applique à partir de votre tour suivant. Si votre modèle actuel ne supporte pas le mode rapide, l'activer [bascule également votre modèle](/docs/fr/prompt-caching#turning-on-fast-mode), et Claude Code utilise le nouveau modèle à partir de sa prochaine requête dans ce tour400* [`/fast`](/docs/fr/fast-mode#toggle-fast-mode) : Claude Code conserve le paramètre de mode rapide qui était actif au début du tour, donc votre changement de vitesse s'applique à partir de votre tour suivant. Si votre modèle actuel ne supporte pas le mode rapide, l'activer [bascule également votre modèle](/docs/fr/prompt-caching#turning-on-fast-mode), et Claude Code utilise le nouveau modèle à partir de sa prochaine requête dans ce tour

388 401 

402### Passer en arrière-plan une session avec des messages en file d'attente

403 

404Quand la session passe en arrière-plan après que vous avez [appuyé sur `←`](/docs/fr/agent-view#switch-sessions-without-leaving-the-terminal), les messages que vous aviez mis en file d'attente la suivent. Claude les y lit dans l'ordre où vous les avez envoyés.

405 

406Les commandes et les commandes shell `!` ne peuvent pas être déplacées, pas plus que certains messages, comme un message auquel est attachée une [sélection d'IDE](/docs/fr/vs-code#the-built-in-ide-mcp-server). Si vous appuyez sur `←` alors que l'un d'eux est en file d'attente, la session reste au premier plan et un avis commençant par `Cannot open agents` s'affiche. Pour passer la session en arrière-plan, retirez l'entrée de la file d'attente, puis appuyez à nouveau sur `←` :

407 

408* **Commandes et commandes shell `!`** : attendez qu'elles s'exécutent à la fin du tour, ou [récupérez-les](#take-back-what-you-queued) et videz la zone de saisie. Tant qu'autre chose est en file d'attente, vous ne pouvez pas récupérer les commandes shell `!`, attendez donc qu'elles s'exécutent.

409* **Messages qui ne peuvent pas être déplacés** : attendez que Claude les ait lus

410 

389### Récupérer ce que vous avez mis en file d'attente411### Récupérer ce que vous avez mis en file d'attente

390 412 

391Appuyez sur `Haut` à partir de la première ligne de la zone de saisie pour récupérer les messages et commandes en attente. Claude Code les supprime de la file d'attente et les place dans la zone de saisie, un par ligne, avant tout texte que vous aviez tapé. Modifiez le texte et appuyez sur `Entrée` pour le mettre à nouveau en file d'attente en tant qu'une seule entrée, ou videz la zone de saisie pour l'abandonner.413Appuyez sur `Haut` à partir de la première ligne de la zone de saisie pour récupérer les messages et commandes en attente. Claude Code les supprime de la file d'attente et les place dans la zone de saisie, un par ligne, avant tout texte que vous aviez tapé. Modifiez le texte et appuyez sur `Entrée` pour le mettre à nouveau en file d'attente en tant qu'une seule entrée, ou videz la zone de saisie pour l'abandonner.

keybindings.md +23 −0

Details

446| :- | :- | :- |446| :- | :- | :- |

447| `settings:search` | / | Entrer en mode recherche |447| `settings:search` | / | Entrer en mode recherche |

448| `settings:retry` | R | Réessayer de charger les données d'utilisation en cas d'erreur |448| `settings:retry` | R | Réessayer de charger les données d'utilisation en cas d'erreur |

449| `settings:fixUsage` | F | Envoyer à votre session les [recommandations `/usage`](/docs/fr/costs#apply-recommendations-with-the-fix-shortcut) que Claude Code peut appliquer, quand le pied de page de `/usage` propose un correctif. Nécessite v2.1.305 ou ultérieur |

449| `select:accept` | Entrée, Espace | Modifier le paramètre sélectionné ou ouvrir son sous-menu |450| `select:accept` | Entrée, Espace | Modifier le paramètre sélectionné ou ouvrir son sous-menu |

450| `confirm:no` | Échap | Fermer le panneau. Les modifications sont déjà enregistrées |451| `confirm:no` | Échap | Fermer le panneau. Les modifications sont déjà enregistrées |

451 452 


688 689 

689Dans la ligne `Other` d'une question posée par Claude, la touche Échappement n'annule pas immédiatement la question en mode vim. Sauf en [mode lecteur d'écran](/docs/fr/accessibility), la ligne démarre en mode INSERT chaque fois que vous lui donnez le focus. Lorsque vous appuyez sur Échappement dans la ligne `Other`, la ligne bascule en mode NORMAL ou abandonne une commande vim partiellement saisie, et la question reste ouverte. Appuyez à nouveau sur Échappement en mode NORMAL pour annuler la question.690Dans la ligne `Other` d'une question posée par Claude, la touche Échappement n'annule pas immédiatement la question en mode vim. Sauf en [mode lecteur d'écran](/docs/fr/accessibility), la ligne démarre en mode INSERT chaque fois que vous lui donnez le focus. Lorsque vous appuyez sur Échappement dans la ligne `Other`, la ligne bascule en mode NORMAL ou abandonne une commande vim partiellement saisie, et la question reste ouverte. Appuyez à nouveau sur Échappement en mode NORMAL pour annuler la question.

690 691 

692### Annuler une question en une seule pression de touche

693 

694Pour annuler une question en une seule pression de touche en mode vim, associez une autre touche à `select:cancel` dans le contexte `Select`. Vous pouvez annuler de cette manière depuis la ligne `Other` d'une question où vous sélectionnez une seule option. En [mode lecteur d'écran](/docs/fr/accessibility) ou dans une question où vous pouvez sélectionner plusieurs options, la touche associée n'annule pas la question ; annulez-la alors avec Échappement.

695 

696Choisissez une touche que vous utilisez avec Ctrl ou Alt. Une lettre ou un chiffre seul [est envoyé à la ligne `Other`](#text-fields) et n'atteint pas vos liaisons. Par exemple, pour associer `Ctrl+Q`, ajoutez ceci à `~/.claude/keybindings.json` :

697 

698```json theme={null}

699{

700 "bindings": [

701 {

702 "context": "Select",

703 "bindings": {

704 "ctrl+q": "select:cancel"

705 }

706 }

707 ]

708}

709```

710 

711Après avoir enregistré le fichier, appuyez sur `Ctrl+Q` dans la ligne `Other` d'une question où vous sélectionnez une seule option. La question se ferme, que la ligne soit en mode INSERT ou NORMAL.

712 

691## Validation713## Validation

692 714 

693Claude Code valide vos liaisons de touches et écrit un avertissement dans le journal de débogage pour :715Claude Code valide vos liaisons de touches et écrit un avertissement dans le journal de débogage pour :

694 716 

695* Erreurs d'analyse (JSON invalide ou structure)717* Erreurs d'analyse (JSON invalide ou structure)

696* 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.718* 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.

719* Un espace à côté de `+` dans une chaîne de touches, tel que `ctrl+ k`. Claude Code interprète la chaîne comme un [accord](#chords) de `ctrl+` suivi de `k`. Aucune frappe ne correspond à `ctrl+` seul, la liaison ne se déclenche donc jamais. Supprimez l'espace.

697* Noms de contexte invalides720* Noms de contexte invalides

698* Valeurs d'action invalides, telles qu'une action qui n'est pas une chaîne ou `null`721* Valeurs d'action invalides, telles qu'une action qui n'est pas une chaîne ou `null`

699* 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.722* 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.

large-codebases.md +14 −14

Details

75 75 

76Une division courante est deux niveaux :76Une division courante est deux niveaux :

77 77 

78* **CLAUDE.md racine** : instructions qui s'appliquent partout, comme les normes de codage et les conventions de commit78* **`CLAUDE.md` racine** : instructions qui s'appliquent partout, comme les normes de codage et les conventions de commit

79* **CLAUDE.md par sous-répertoire** : conventions spécifiques à la pile de cette zone. Dans un monorepo, c'est un par package. Dans un grand arbre unique, c'est un par sous-système tel que `src/db/` ou `src/api/`79* **`CLAUDE.md` par sous-répertoire** : conventions spécifiques à la pile de cette zone. Dans un monorepo, c'est un par package. Dans un grand arbre unique, c'est un par sous-système tel que `src/db/` ou `src/api/`

80 80 

81Validez ces fichiers dans le référentiel afin que les coéquipiers les héritent. Le propriétaire de chaque répertoire maintient généralement son fichier.81Validez ces fichiers dans le référentiel afin que les coéquipiers les héritent. Le propriétaire de chaque répertoire maintient généralement son fichier.

82 82 

83Pour réduire un fichier qui est déjà enregistré, exécutez la [vérification `/doctor`](/docs/fr/memory#my-claude-md-is-too-large). Le CLAUDE.md racine contient les règles qui s'appliquent dans chaque package :83Pour réduire un fichier qui est déjà enregistré, exécutez la [vérification `/doctor`](/docs/fr/memory#my-claude-md-is-too-large). Le `CLAUDE.md` racine contient les règles qui s'appliquent dans chaque package :

84 84 

85```markdown CLAUDE.md theme={null}85```markdown CLAUDE.md theme={null}

86Exécutez les scripts de package à partir du répertoire du package, pas de la racine du monorepo.86Run package scripts from the package directory, not the monorepo root.

87Préfixez les sujets de commit avec le nom du package, par exemple `api: add rate limiting`.87Prefix commit subjects with the package name, for example `api: add rate limiting`.

88Ne modifiez jamais les fichiers sous packages/*/generated/. Exécutez `npm run codegen` dans le package à la place.88Never edit files under packages/*/generated/. Run `npm run codegen` in the package instead.

89```89```

90 90 

91Le CLAUDE.md de chaque sous-répertoire, ici `packages/api/CLAUDE.md`, ajoute les conventions spécifiques à cette zone :91Le `CLAUDE.md` de chaque sous-répertoire, ici `packages/api/CLAUDE.md`, ajoute les conventions spécifiques à cette zone :

92 92 

93```markdown packages/api/CLAUDE.md theme={null}93```markdown packages/api/CLAUDE.md theme={null}

94Copiez `.env.example` en `.env` avant d'exécuter quoi que ce soit. Les tests et le serveur de développement échouent sans cela.94Copy `.env.example` to `.env` before running anything. Tests and the dev server fail without it.

95Écrivez les requêtes de base de données avec le générateur de requêtes Knex. Ne mettez jamais de chaînes SQL brutes dans les gestionnaires de routes.95Write database queries with the Knex query builder. Never put raw SQL strings in route handlers.

96Ne modifiez jamais une migration après qu'elle ait fusionné. Ajoutez une nouvelle migration à la place.96Never edit a migration after it has merged. Add a new migration instead.

97```97```

98 98 

99Lorsque vous démarrez Claude à partir de `packages/api/`, il charge à la fois `packages/api/CLAUDE.md` et le CLAUDE.md racine. Claude voit les instructions locales aux côtés des règles à l'échelle du référentiel, sans instructions de `packages/web/` dans le contexte. La même chose s'applique à n'importe quel sous-répertoire dans un arbre non-monorepo. Pour confirmer quels fichiers se sont chargés, exécutez `/context` et vérifiez la liste sous **Fichiers de mémoire**.99Lorsque vous démarrez Claude à partir de `packages/api/`, il charge à la fois `packages/api/CLAUDE.md` et le `CLAUDE.md` racine. Claude voit les instructions locales aux côtés des règles à l'échelle du dépôt, sans instructions de `packages/web/` dans le contexte. La même chose s'applique à n'importe quel sous-répertoire dans un arbre non-monorepo. Pour confirmer quels fichiers se sont chargés, exécutez `/context` et vérifiez la liste sous **Memory files**.

100 100 

101Quelques façons de garder les fichiers à jour à mesure que le dépôt de code et les modèles changent :101Quelques façons de garder les fichiers à jour à mesure que le dépôt de code et les modèles changent :

102 102 


108 108 

109### Choisir entre CLAUDE.md par répertoire et règles limitées au chemin109### Choisir entre CLAUDE.md par répertoire et règles limitées au chemin

110 110 

111Les fichiers CLAUDE.md par répertoire et les [règles limitées au chemin](/docs/fr/memory#path-specific-rules) sous `.claude/rules/` vous permettent tous deux de cibler les instructions vers une partie de l'arbre. Ils diffèrent par l'endroit où le fichier vit et quand il se charge.111Les fichiers `CLAUDE.md` par répertoire et les [règles limitées au chemin](/docs/fr/memory#path-specific-rules) sous `.claude/rules/` vous permettent tous deux de cibler les instructions vers une partie de l'arbre. Ils diffèrent par l'endroit où le fichier se trouve et le moment où il se charge.

112 112 

113| Approche | Emplacement du fichier | Se charge quand | Utiliser quand |113| Approche | Emplacement du fichier | Se charge quand | Utiliser quand |

114| :- | :- | :- | :- |114| :- | :- | :- | :- |


141* `"**/packages/legacy-*/**"` : exclut chaque package dont le nom correspond au glob, y compris les règles141* `"**/packages/legacy-*/**"` : exclut chaque package dont le nom correspond au glob, y compris les règles

142* `"/home/user/monorepo/legacy/CLAUDE.md"` : exclut un fichier spécifique par chemin absolu142* `"/home/user/monorepo/legacy/CLAUDE.md"` : exclut un fichier spécifique par chemin absolu

143 143 

144Les fichiers CLAUDE.md de politique gérée ne peuvent pas être exclus, donc les instructions à l'échelle de l'organisation s'appliquent toujours. Vous pouvez définir `claudeMdExcludes` à n'importe quel [scope de paramètres](/docs/fr/settings#where-settings-live) : utilisateur, projet, local ou géré. Les tableaux fusionnent entre les scopes, donc une équipe peut définir les valeurs par défaut au niveau du projet tandis que les individus ajoutent des remplacements locaux.144Vous pouvez définir `claudeMdExcludes` à n'importe quelle [portée de paramètres](/docs/fr/settings#where-settings-live) : utilisateur, projet, local ou géré. Les tableaux fusionnent entre les portées, donc une équipe peut définir des valeurs par défaut au niveau du projet tandis que les individus ajoutent des remplacements locaux. Si votre organisation déploie un [fichier CLAUDE.md géré](/docs/fr/memory#deploy-organization-wide-claude-md), un motif qui lui correspond ne l'ignore pas, quelle que soit la portée qui définit le motif.

145 145 

146Pour la documentation complète d'exclusion, voir [Exclure les fichiers CLAUDE.md spécifiques](/docs/fr/memory#exclude-specific-claude-md-files).146Pour la documentation complète d'exclusion, voir [Exclure les fichiers CLAUDE.md spécifiques](/docs/fr/memory#exclude-specific-claude-md-files).

147 147 


349 349 

350Un sous-répertoire différent contient différents skills de la même manière : `packages/web/.claude/skills/component-patterns/` décrit les conventions de composants du frontend au lieu des tests. Lorsque Claude travaille sur un fichier dans `packages/api/`, il charge le skill api-testing. Lorsqu'il travaille dans `packages/web/`, il charge component-patterns à la place. Les skills d'aucun répertoire ne se chargent pendant les tâches de l'autre.350Un sous-répertoire différent contient différents skills de la même manière : `packages/web/.claude/skills/component-patterns/` décrit les conventions de composants du frontend au lieu des tests. Lorsque Claude travaille sur un fichier dans `packages/api/`, il charge le skill api-testing. Lorsqu'il travaille dans `packages/web/`, il charge component-patterns à la place. Les skills d'aucun répertoire ne se chargent pendant les tâches de l'autre.

351 351 

352Vous pouvez également limiter un skill par modèle de fichier au lieu de par placement. Le [champ frontmatter `paths`](/docs/fr/skills#frontmatter-reference) prend des modèles glob, et Claude charge le skill automatiquement uniquement lorsqu'il travaille avec des fichiers correspondants. Utilisez ceci pour un skill qui vit dans le `.claude/skills/` de la racine du référentiel mais s'applique uniquement à certains fichiers où qu'ils apparaissent, comme un skill de migration de base de données limité à `**/migrations/**`.352Vous pouvez également limiter un skill par modèle de fichier au lieu de par placement. Le [champ frontmatter `paths`](/docs/fr/skills#frontmatter-reference) prend des modèles glob, et Claude charge le skill automatiquement uniquement lorsqu'il travaille avec des fichiers correspondants. Utilisez ceci pour un skill qui vit dans le `.claude/skills/` de la racine du dépôt mais s'applique uniquement à certains fichiers, comme un skill de migration de base de données limité à `**/migrations/**`.

353 353 

354Pour plus d'informations sur la création et l'organisation des skills, voir [Skills](/docs/fr/skills).354Pour plus d'informations sur la création et l'organisation des skills, voir [Skills](/docs/fr/skills).

355 355 

Details

513| `Your apiKeyHelper script is failing`, ou `apiKeyHelper failed:` sur stderr en mode non interactif | La commande dans le paramètre [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) n'a pas produit une clé utilisable, de sorte que les demandes portent une clé d'espace réservé | Exécutez la commande directement pour voir pourquoi elle échoue, et réauthentifiez-vous auprès de votre fournisseur d'identifiants s'il signale une session expirée ; voir [la référence d'erreur](/docs/fr/errors#your-apikeyhelper-script-is-failing) |513| `Your apiKeyHelper script is failing`, ou `apiKeyHelper failed:` sur stderr en mode non interactif | La commande dans le paramètre [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) n'a pas produit une clé utilisable, de sorte que les demandes portent une clé d'espace réservé | Exécutez la commande directement pour voir pourquoi elle échoue, et réauthentifiez-vous auprès de votre fournisseur d'identifiants s'il signale une session expirée ; voir [la référence d'erreur](/docs/fr/errors#your-apikeyhelper-script-is-failing) |

514| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` quand rien ne répond à l'adresse, ou `Can't reach the API server — check your internet or DNS (ENOTFOUND)` quand le nom d'hôte ne se résout pas, souvent après une pause silencieuse tandis que Claude Code [réessaie avec backoff](/docs/fr/errors#automatic-retries). Le code entre parenthèses varie ; [Unable to connect to API](/docs/fr/errors#unable-to-connect-to-api) couvre les orthographes de code et la formulation antérieure | Rien n'a répondu à l'URL de base : l'adresse est mauvaise, ou un VPN ou un pare-feu bloque le chemin vers la passerelle | Exécutez le [test curl ci-dessus](#verify-the-connection), qui échoue immédiatement avec la même cause, et confirmez l'URL et le chemin réseau avec votre équipe de passerelle |514| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` quand rien ne répond à l'adresse, ou `Can't reach the API server — check your internet or DNS (ENOTFOUND)` quand le nom d'hôte ne se résout pas, souvent après une pause silencieuse tandis que Claude Code [réessaie avec backoff](/docs/fr/errors#automatic-retries). Le code entre parenthèses varie ; [Unable to connect to API](/docs/fr/errors#unable-to-connect-to-api) couvre les orthographes de code et la formulation antérieure | Rien n'a répondu à l'URL de base : l'adresse est mauvaise, ou un VPN ou un pare-feu bloque le chemin vers la passerelle | Exécutez le [test curl ci-dessus](#verify-the-connection), qui échoue immédiatement avec la même cause, et confirmez l'URL et le chemin réseau avec votre équipe de passerelle |

515| `API returned an empty or malformed response (HTTP 200)` | La passerelle ou un proxy intermédiaire a retourné une réponse non-API, souvent une page d'erreur HTML ou de connexion | Testez avec la [demande curl ci-dessus](#verify-the-connection) ; corrigez la route de passerelle qui retourne quelque chose d'autre qu'une réponse Claude API. [La référence d'erreur](/docs/fr/errors#api-returned-an-empty-or-malformed-response) explique le détail que le message signale |515| `API returned an empty or malformed response (HTTP 200)` | La passerelle ou un proxy intermédiaire a retourné une réponse non-API, souvent une page d'erreur HTML ou de connexion | Testez avec la [demande curl ci-dessus](#verify-the-connection) ; corrigez la route de passerelle qui retourne quelque chose d'autre qu'une réponse Claude API. [La référence d'erreur](/docs/fr/errors#api-returned-an-empty-or-malformed-response) explique le détail que le message signale |

516| Erreurs `400` nommant `context_management`, `Extra inputs are not permitted`, ou d'autres champs non reconnus | La passerelle transfère les demandes à un amont qui rejette les champs que Claude Code envoie aux points de terminaison au format Anthropic | Définissez `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, qui supprime la plupart des champs de pré-version ; voir [feature pass-through](/docs/fr/llm-gateway-protocol#feature-pass-through). Certaines betas ne sont pas fermées par ce drapeau ; pour celles-ci, définissez la variable de fournisseur `CLAUDE_CODE_USE_*` correspondante de sorte que Claude Code envoie uniquement ce que ce fournisseur accepte |516| Erreurs `400` nommant `context_management`, `Extra inputs are not permitted`, ou d'autres champs non reconnus | La passerelle transfère les demandes à un amont qui rejette les champs que Claude Code envoie aux endpoints au format Anthropic | Définissez `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, qui supprime la plupart des champs de pré-version ; voir [feature pass-through](/docs/fr/llm-gateway-protocol#feature-pass-through). Certaines betas ne sont pas contrôlées par ce flag ; pour celles-ci, définissez la variable de fournisseur `CLAUDE_CODE_USE_*` correspondante de sorte que Claude Code envoie uniquement ce que ce fournisseur accepte. Pour les étapes qui dépendent du champ nommé par le message, voir [Extra inputs are not permitted](/docs/fr/errors#extra-inputs-are-not-permitted) |

517| Erreurs `400` nommant `thinking` ou `adaptive`, comme `Input tag 'adaptive' found` | Le build du modèle en amont n'accepte pas le raisonnement adaptatif, que Claude Code demande pour Claude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 5.5, Claude Fable 5 et les modèles ultérieurs | Mettez à niveau l'amont de la passerelle. Sur Opus 4.6 et Sonnet 4.6, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` fonctionne à la place. Les variables de capacité de [configuration de modèle](/docs/fr/model-config) s'appliquent uniquement aux configurations de fournisseur, comme `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_VERTEX`, pas derrière une passerelle `ANTHROPIC_BASE_URL` |517| Erreurs `400` nommant `thinking` ou `adaptive`, comme `Input tag 'adaptive' found` | Le build du modèle en amont n'accepte pas le raisonnement adaptatif, que Claude Code demande pour Claude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 5.5, Claude Fable 5 et les modèles ultérieurs | Mettez à niveau l'amont de la passerelle. Sur Opus 4.6 et Sonnet 4.6, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` fonctionne à la place. Les variables de capacité de [configuration de modèle](/docs/fr/model-config) s'appliquent uniquement aux configurations de fournisseur, comme `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_VERTEX`, pas derrière une passerelle `ANTHROPIC_BASE_URL` |

518| Erreurs `400` indiquant une limite de contexte ou de jeton dans les propres termes de la passerelle, comme `ContextWindowExceededError` ou `prompt token count of N exceeds the limit of M` | La passerelle applique une fenêtre de contexte plus petite que celle native du modèle et réécrit l'erreur en amont, de sorte que Claude Code ne la reconnaît pas comme une [erreur trop longue](/docs/fr/errors#prompt-is-too-long) et ne compacte pas et ne réessaie pas automatiquement | Exécutez `/compact` pour récupérer la session. Pour l'éviter, définissez `CLAUDE_CODE_AUTO_COMPACT_WINDOW` à la limite de la passerelle ; Claude Code limite la valeur à au moins 100 000 jetons et au maximum la fenêtre de contexte du modèle, de sorte qu'une limite de passerelle inférieure à 100 000 ne peut pas être appariée, et `/compact` reste la récupération là. Définissez aussi `CLAUDE_CODE_MAX_OUTPUT_TOKENS` en dessous de la limite de sortie du modèle de passerelle |518| Erreurs `400` indiquant une limite de contexte ou de jeton dans les propres termes de la passerelle, comme `ContextWindowExceededError` ou `prompt token count of N exceeds the limit of M` | La passerelle applique une fenêtre de contexte plus petite que celle native du modèle et réécrit l'erreur en amont, de sorte que Claude Code ne la reconnaît pas comme une [erreur trop longue](/docs/fr/errors#prompt-is-too-long) et ne compacte pas et ne réessaie pas automatiquement | Exécutez `/compact` pour récupérer la session. Pour l'éviter, définissez `CLAUDE_CODE_AUTO_COMPACT_WINDOW` à la limite de la passerelle ; Claude Code limite la valeur à au moins 100 000 jetons et au maximum la fenêtre de contexte du modèle, de sorte qu'une limite de passerelle inférieure à 100 000 ne peut pas être appariée, et `/compact` reste la récupération là. Définissez aussi `CLAUDE_CODE_MAX_OUTPUT_TOKENS` en dessous de la limite de sortie du modèle de passerelle |

519| `400` erreurs sur chaque demande, dans les propres termes de la passerelle rejetant un schéma d'entrée d'outil ou son `pattern`, sur Claude Code v2.1.265 à v2.1.267 | Dans un déploiement progressif sur ces versions, le schéma de l'[outil Artifact](/docs/fr/artifacts#availability) porte une expression régulière avec des classes de caractères Unicode `\p{...}`. L'API Anthropic l'accepte, mais une passerelle ou un amont qui vérifie le `pattern` de chaque schéma d'outil avec son propre moteur regex rejette la demande entière | Mettez à jour vers v2.1.268 ou ultérieur, qui n'envoie pas l'expression régulière. Sur une version affectée, [désactivez les artifacts](/docs/fr/artifacts#disable-artifacts), ce qui supprime l'outil et son schéma des demandes |519| `400` erreurs sur chaque demande, dans les propres termes de la passerelle rejetant un schéma d'entrée d'outil ou son `pattern`, sur Claude Code v2.1.265 à v2.1.267 | Dans un déploiement progressif sur ces versions, le schéma de l'[outil Artifact](/docs/fr/artifacts#availability) porte une expression régulière avec des classes de caractères Unicode `\p{...}`. L'API Anthropic l'accepte, mais une passerelle ou un amont qui vérifie le `pattern` de chaque schéma d'outil avec son propre moteur regex rejette la demande entière | Mettez à jour vers v2.1.268 ou ultérieur, qui n'envoie pas l'expression régulière. Sur une version affectée, [désactivez les artifacts](/docs/fr/artifacts#disable-artifacts), ce qui supprime l'outil et son schéma des demandes |

Details

100| :- | :- | :- | :- |100| :- | :- | :- | :- |

101| ID de modèle dans les requêtes par défaut | Le formulaire du fournisseur, tel que `us.anthropic.claude-opus-4-8` sur Amazon Bedrock | ID Anthropic, tels que `claude-opus-4-8` | ID Anthropic |101| ID de modèle dans les requêtes par défaut | Le formulaire du fournisseur, tel que `us.anthropic.claude-opus-4-8` sur Amazon Bedrock | ID Anthropic, tels que `claude-opus-4-8` | ID Anthropic |

102| Valeurs `anthropic-beta` envoyées | Le sous-ensemble qu'Amazon Bedrock et Agent Platform acceptent | L'ensemble complet décrit sous [transmission des fonctionnalités](#feature-pass-through), sauf si le développeur définit [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Le sous-ensemble qu'Amazon Bedrock et Agent Platform acceptent |102| Valeurs `anthropic-beta` envoyées | Le sous-ensemble qu'Amazon Bedrock et Agent Platform acceptent | L'ensemble complet décrit sous [transmission des fonctionnalités](#feature-pass-through), sauf si le développeur définit [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Le sous-ensemble qu'Amazon Bedrock et Agent Platform acceptent |

103| Champs de requête pour un ID de modèle que Claude Code ne reconnaît pas, tel qu'un alias de passerelle | Réflexion avec un budget fixe plutôt que raisonnement adaptatif, et aucun champ de gestion d'effort ou de contexte | Tout ce que les modèles Claude actuels acceptent sur l'API Claude, y compris le raisonnement adaptatif, l'effort et la gestion du contexte, qu'un upstream Amazon Bedrock ou Agent Platform peut rejeter | Identique au format Amazon Bedrock ou Agent Platform |103| Champs de requête pour un ID de modèle que Claude Code ne reconnaît pas, tel qu'un alias de passerelle | Réflexion avec un budget fixe plutôt que raisonnement adaptatif, et aucun champ de gestion d'effort ou de contexte. Claude Code envoie tout de même les [messages système en cours de conversation](#feature-pass-through) | Tout ce que les modèles Claude actuels acceptent sur l'API Claude, y compris le raisonnement adaptatif, l'effort et la gestion du contexte, qu'un upstream Amazon Bedrock ou Agent Platform peut rejeter | Identique au format Amazon Bedrock ou Agent Platform |

104| [TTL du cache de prompt](/docs/fr/prompt-caching#choose-the-ttl-yourself) d'une heure lorsqu'un développeur opte pour cette option | Demandé via le champ `ttl` dans `cache_control`, sans valeur bêta | Demandé via le champ `ttl` plus une valeur `extended-cache-ttl` dans `anthropic-beta`, que vous devez transférer | Consultez le tableau [disponibilité et limitations](/docs/fr/claude-apps-gateway#availability-and-limitations) de la passerelle des applications Claude |104| [TTL du cache de prompt](/docs/fr/prompt-caching#choose-the-ttl-yourself) d'une heure lorsqu'un développeur opte pour cette option | Demandé via le champ `ttl` dans `cache_control`, sans valeur bêta | Demandé via le champ `ttl` plus une valeur `extended-cache-ttl` dans `anthropic-beta`, que vous devez transférer | Consultez le tableau [disponibilité et limitations](/docs/fr/claude-apps-gateway#availability-and-limitations) de la passerelle des applications Claude |

105| Modèle pour les [tâches en arrière-plan](/docs/fr/costs#background-token-usage) sauf si `ANTHROPIC_DEFAULT_HAIKU_MODEL` en épingle un | Le modèle Sonnet par défaut, ou le modèle principal une fois qu'un est sélectionné, comme le décrivent les pages [Amazon Bedrock](/docs/fr/amazon-bedrock#4-pin-model-versions) et [Agent Platform](/docs/fr/google-vertex-ai#5-pin-model-versions) | Le modèle principal, ou le modèle Haiku par défaut lorsqu'une clé Anthropic Console est fournie par `ANTHROPIC_API_KEY` ou `apiKeyHelper` et que `ANTHROPIC_AUTH_TOKEN` n'est pas défini | Le modèle principal |105| Modèle pour les [tâches en arrière-plan](/docs/fr/costs#background-token-usage) sauf si `ANTHROPIC_DEFAULT_HAIKU_MODEL` en épingle un | Le modèle Sonnet par défaut, ou le modèle principal une fois qu'un est sélectionné, comme le décrivent les pages [Amazon Bedrock](/docs/fr/amazon-bedrock#4-pin-model-versions) et [Agent Platform](/docs/fr/google-vertex-ai#5-pin-model-versions) | Le modèle principal, ou le modèle Haiku par défaut lorsqu'une clé Anthropic Console est fournie par `ANTHROPIC_API_KEY` ou `apiKeyHelper` et que `ANTHROPIC_AUTH_TOKEN` n'est pas défini | Le modèle principal |

106 106 


207 207 

208Claude Code traite une passerelle `ANTHROPIC_BASE_URL` comme un point de terminaison au format Anthropic et lui envoie les en-têtes bêta et champs de corps de requête qu'il envoie à `api.anthropic.com`, sauf un petit ensemble de diagnostics et de valeurs par défaut réservés aux connexions directes, comme la valeur par défaut de streaming d'outils à grain fin couverte ci-dessous. Cet ensemble varie selon la version, donc ne dépendez pas de son contenu.208Claude Code traite une passerelle `ANTHROPIC_BASE_URL` comme un point de terminaison au format Anthropic et lui envoie les en-têtes bêta et champs de corps de requête qu'il envoie à `api.anthropic.com`, sauf un petit ensemble de diagnostics et de valeurs par défaut réservés aux connexions directes, comme la valeur par défaut de streaming d'outils à grain fin couverte ci-dessous. Cet ensemble varie selon la version, donc ne dépendez pas de son contenu.

209 209 

210Les capacités qui ajoutent des champs de corps les associent à un en-tête bêta, et la paire voyage ensemble. Une passerelle qui supprime l'en-tête tout en transmettant le corps, ou transmet un corps au format Anthropic à un amont avec un schéma différent, produit des erreurs `400` dures ; seulement lorsque les deux moitiés sont absentes ensemble la fonctionnalité s'éteint silencieusement. Une passerelle qui réécrit ou rédige les corps de requête pour l'inspection du contenu casse l'appairage de la même manière que la suppression, donc inspectez sans modifier. Le tableau note où une fonctionnalité s'écarte de l'appairage.

211 

212Le streaming d'outils à grain fin est l'une des valeurs par défaut de connexion directe : il est désactivé par défaut chaque fois que les requêtes sont routées via une URL de base personnalisée, et une passerelle le reçoit lorsque les développeurs définissent [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/fr/env-vars).210Le streaming d'outils à grain fin est l'une des valeurs par défaut de connexion directe : il est désactivé par défaut chaque fois que les requêtes sont routées via une URL de base personnalisée, et une passerelle le reçoit lorsque les développeurs définissent [`CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1`](/docs/fr/env-vars).

213 211 

212### Paires d'en-tête bêta et de champ de corps

213 

214Les capacités qui ajoutent des champs de corps les associent à un en-tête bêta, et la paire voyage ensemble. Une passerelle qui supprime l'en-tête tout en transmettant le corps, ou transmet un corps au format Anthropic à un amont avec un schéma différent, produit des erreurs `400`. Lorsque les deux moitiés sont absentes ensemble, la fonctionnalité se désactive silencieusement.

215 

216Une passerelle qui réécrit ou rédige les corps de requête pour l'inspection du contenu casse l'appairage de la même manière que la suppression, donc inspectez sans modifier. Le tableau note où une fonctionnalité s'écarte de l'appairage.

217 

214| Fonctionnalité | Paire en-tête et corps | Symptôme lorsque cassé | Correction |218| Fonctionnalité | Paire en-tête et corps | Symptôme lorsque cassé | Correction |

215| :- | :- | :- | :- |219| :- | :- | :- | :- |

216| [Raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) | Pas d'en-tête bêta. Claude Code envoie `thinking: {"type": "adaptive"}` pour Claude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 5.5, Claude Fable 5 et les modèles ultérieurs, et traite les noms de modèles qu'il ne reconnaît pas, tels que les alias de passerelle, comme des modèles actuels qui reçoivent le champ | `400` nommant le champ `thinking` ou la balise `adaptive` lorsque le build du modèle amont ne l'accepte pas | Mettez à niveau l'amont. Sur Opus 4.6 et Sonnet 4.6, les développeurs peuvent définir `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` à la place |220| [Raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) | Pas d'en-tête bêta. Claude Code envoie `thinking: {"type": "adaptive"}` pour Claude Opus 4.6, Claude Sonnet 4.6, Claude Haiku 5.5, Claude Fable 5 et les modèles ultérieurs, et traite les noms de modèles qu'il ne reconnaît pas, tels que les alias de passerelle, comme des modèles actuels qui reçoivent le champ | `400` nommant le champ `thinking` ou la balise `adaptive` lorsque le build du modèle amont ne l'accepte pas | Mettez à niveau l'amont. Sur Opus 4.6 et Sonnet 4.6, les développeurs peuvent définir `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` à la place |

217| [Gestion du contexte](https://platform.claude.com/docs/en/build-with-claude/context-editing) | L'en-tête bêta de gestion du contexte s'associe au champ de corps `context_management` | `400` avec `Extra inputs are not permitted`. Courant lorsqu'une passerelle accepte les requêtes au format Anthropic mais les transmet à Amazon Bedrock | Transmettez les deux, ou [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |221| [Gestion du contexte](https://platform.claude.com/docs/en/build-with-claude/context-editing) | L'en-tête bêta de gestion du contexte s'associe au champ de corps `context_management` | `400` avec `Extra inputs are not permitted`. Courant lorsqu'une passerelle accepte les requêtes au format Anthropic mais les transmet à Amazon Bedrock. Sur v2.1.304 ou ultérieur, Claude Code [réessaie de lui-même sans la paire](#automatic-retry-and-error-forwarding) | Transmettez les deux, ou [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

218| [Contexte étendu](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) et [pensée entrelacée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | En-têtes bêta uniquement, pas de champ de corps | Silencieusement indisponible lorsque l'en-tête est supprimé ; l'amont ne voit jamais la demande de capacité | Transmettez `anthropic-beta` verbatim |222| [Contexte étendu](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model) et [pensée entrelacée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) | En-têtes bêta uniquement, pas de champ de corps | Silencieusement indisponible lorsque l'en-tête est supprimé ; l'amont ne voit jamais la demande de capacité | Transmettez `anthropic-beta` verbatim |

219| Champs d'outil [bêta](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Les en-têtes bêta liés aux outils s'associent aux champs de schéma d'outil tels que `strict` et `defer_loading` | `400` nommant le champ de schéma d'outil non reconnu lorsque le corps passe sans son en-tête | Transmettez les deux, ou [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |223| Champs d'outil [bêta](https://platform.claude.com/docs/en/agents-and-tools/tool-use/overview) | Les en-têtes bêta liés aux outils s'associent aux champs de schéma d'outil tels que `strict` et `defer_loading` | `400` nommant le champ de schéma d'outil non reconnu lorsque le corps passe sans son en-tête. Pour `defer_loading`, consultez [Réessayer sans la recherche d'outils](#retry-without-tool-search) | Transmettez les deux, ou [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) |

220| [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) et [sorties structurées](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Le champ de corps `output_config` porte les paramètres d'effort, de format de sortie structurée et de budget de tâche ; chacun s'associe à son propre en-tête bêta | `400` nommant `output_config`, souvent `Extra inputs are not permitted`, sur les amonts Amazon Bedrock et Agent Platform de Google Cloud | Transmettez le champ et ses en-têtes ensemble, ou demandez aux développeurs de définir [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), qui supprime les paramètres de format et de budget de tâche mais pas l'effort. Pour supprimer uniquement le format, ils peuvent définir [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/fr/env-vars) à la place, ce qui nécessite v2.1.288 ou ultérieur |224| [Effort](https://platform.claude.com/docs/en/build-with-claude/effort) et [sorties structurées](https://platform.claude.com/docs/en/build-with-claude/structured-outputs) | Le champ de corps `output_config` porte les paramètres d'effort, de format de sortie structurée et de budget de tâche ; chacun s'associe à son propre en-tête bêta | `400` nommant `output_config`, souvent `Extra inputs are not permitted`, sur les amonts Amazon Bedrock et Agent Platform de Google Cloud | Transmettez le champ et ses en-têtes ensemble, ou demandez aux développeurs de définir [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities), qui supprime les paramètres de format et de budget de tâche mais pas l'effort. Pour supprimer uniquement le format, ils peuvent définir [`CLAUDE_CODE_DISABLE_STRUCTURED_OUTPUTS=1`](/docs/fr/env-vars) à la place, ce qui nécessite v2.1.288 ou ultérieur |

225| Messages système en milieu de conversation | Pas d'en-tête bêta. Claude Code envoie une partie du texte de rappel et de pièce jointe sous forme d'entrées `role: "system"` dans `messages` pour Claude Opus 4.8, les modèles publiés après lui et les ID de modèle non reconnus | `400` tel que `Unexpected role "system"` | Claude Code [réessaie sans les messages système](#automatic-retry-and-error-forwarding). Pour arrêter les messages système sur un alias d'un modèle publié avant Claude Opus 4.8, ajoutez une [entrée `modelOverrides`](#settings-for-unrecognized-model-ids) aux paramètres que vous distribuez |

226| [Effort défini par tour](/docs/fr/prompt-caching#changing-effort-level) | Sur Opus 5.5, Sonnet 5.5, Haiku 5.5 et Fable 5.1, un en-tête bêta s'associe à `output_config.effort` sur les entrées `role: "system"`, qu'il s'agisse d'un message système ou d'une entrée au contenu vide | `400` avec `messages.N: system content must contain at least one block` lorsque votre passerelle supprime le champ d'une entrée vide | Transmettez les deux, ou demandez aux développeurs de définir [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities) pour arrêter l'envoi du champ et des entrées vides |

221| [Mise en cache des invites](/docs/fr/prompt-caching) | Pas d'appairage bêta. Claude Code attache les marqueurs `cache_control` aux blocs `system` et aux entrées `messages`, y compris les entrées `role: "system"` ajoutées en milieu de conversation | Pas d'erreur : la conversation est facturée comme entrée non mise en cache à chaque tour, visible comme `input_tokens` élevé avec peu ou pas d'activité de cache dans `usage` | Transmettez `cache_control` inchangé partout où il apparaît, et ne convertissez pas le formulaire de bloc `system` ou le contenu du message en chaînes simples |227| [Mise en cache des invites](/docs/fr/prompt-caching) | Pas d'appairage bêta. Claude Code attache les marqueurs `cache_control` aux blocs `system` et aux entrées `messages`, y compris les entrées `role: "system"` ajoutées en milieu de conversation | Pas d'erreur : la conversation est facturée comme entrée non mise en cache à chaque tour, visible comme `input_tokens` élevé avec peu ou pas d'activité de cache dans `usage` | Transmettez `cache_control` inchangé partout où il apparaît, et ne convertissez pas le formulaire de bloc `system` ou le contenu du message en chaînes simples |

222| [Comptage des jetons](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Pas d'appairage bêta ; utilise le point de terminaison `count_tokens` | Pas d'erreur : Claude Code revient à une estimation basée sur les caractères, donc `/context` affiche les comptages approximatifs | Exposez le point de terminaison pour les comptages de jetons exacts |228| [Comptage des jetons](https://platform.claude.com/docs/en/build-with-claude/token-counting) | Pas d'appairage bêta ; utilise le point de terminaison `count_tokens` | Pas d'erreur : Claude Code revient à une estimation basée sur les caractères, donc `/context` affiche les comptages approximatifs | Exposez le point de terminaison pour les comptages de jetons exacts |

223 229 


225 231 

226### Nouvelle tentative automatique et transmission d'erreur232### Nouvelle tentative automatique et transmission d'erreur

227 233 

228Ce que Claude Code fait après un rejet en amont dépend de ce qui a été rejeté :234Lorsque l'amont rejette l'une de ces capacités, Claude Code peut réessayer la requête de lui-même en supprimant ou en modifiant la partie rejetée :

229 235 

230* Lorsque l'amont rejette le champ `thinking`, un message système en milieu de conversation, ou le marqueur `cache_control` sur un tel message, Claude Code réessaie la requête et désactive la capacité rejetée pour le reste de la conversation236* Lorsqu'une erreur `400` indique que la valeur `enabled` ou `adaptive` de `thinking.type` n'est pas prise en charge, Claude Code réessaie une fois avec l'autre type et conserve le champ `thinking`. Les requêtes ultérieures à ce modèle conservent le type modifié jusqu'à ce que Claude Code se termine. Avant v2.1.121, Claude Code ne réessayait pas, donc [`thinking.type.enabled is not supported`](/docs/fr/errors#thinking-type-enabled-is-not-supported-for-this-model) atteignait le développeur

237* Lorsque l'amont rejette une entrée `role: "system"` dans `messages`, Claude Code réessaie une fois sans ces messages système en milieu de conversation et transporte plutôt leur texte dans des messages utilisateur. Les requêtes ultérieures de la conversation conservent cette forme jusqu'à ce que le développeur exécute `/clear` ou que la conversation soit compactée

238* Lorsque l'amont rejette uniquement le marqueur `cache_control` sur un message système en milieu de conversation, Claude Code conserve les messages système et réessaie une fois avec le marqueur déplacé. Le marqueur est placé sur la dernière entrée de `messages` qui n'est pas un message système, dans cette nouvelle tentative et dans les requêtes ultérieures jusqu'à ce que Claude Code se termine

231* Lorsque l'amont rejette une [signature de pensée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), y compris avec un `400` dont le message dit que le bloc est `bound to a different conversation`, Claude Code supprime les blocs de pensée antérieurs de la requête, réessaie, et les garde hors de chaque requête ultérieure. Les nouvelles réponses incluent toujours la pensée239* Lorsque l'amont rejette une [signature de pensée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), y compris avec un `400` dont le message dit que le bloc est `bound to a different conversation`, Claude Code supprime les blocs de pensée antérieurs de la requête, réessaie, et les garde hors de chaque requête ultérieure. Les nouvelles réponses incluent toujours la pensée

232* Lorsque la passerelle ou son amont rejette l'entrée de l'[outil conseiller](/docs/fr/advisor) dans `tools` comme un type d'outil non reconnu, Claude Code réessaie la requête une fois sans cette entrée et sa valeur `anthropic-beta`. Les requêtes ultérieures à cette URL de base laissent le conseiller de côté jusqu'à ce que Claude Code se termine, et `/advisor` n'est pas disponible pour le développeur pendant ce temps. Claude Code reconnaît ce rejet par une réponse `400` ou `422` dont le message nomme le type d'outil après `Input tag`, comme `Input tag 'advisor_20260301'`. Avant v2.1.280, Claude Code ne réessayait pas ce rejet240* Lorsque la passerelle ou son amont rejette l'entrée de l'[outil conseiller](/docs/fr/advisor) dans `tools` comme un type d'outil non reconnu, Claude Code réessaie la requête une fois sans cette entrée et sa valeur `anthropic-beta`. Les requêtes ultérieures à cette URL de base laissent le conseiller de côté jusqu'à ce que Claude Code se termine, et `/advisor` n'est pas disponible pour le développeur pendant ce temps. Claude Code reconnaît ce rejet par une réponse `400` ou `422` dont le message nomme le type d'outil après `Input tag`, comme `Input tag 'advisor_20260301'`. Avant v2.1.280, Claude Code ne réessayait pas ce rejet

233* Lorsque l'amont rejette `output_config.effort`, Claude Code réessaie la requête sans l'effort et le laisse de côté dans les requêtes ultérieures à ce modèle jusqu'à ce que Claude Code se termine. Claude Code reconnaît ce rejet par un `400` dont le message nomme `output_config.effort` avec `Extra inputs are not permitted`, ou indique que le modèle ne prend pas en charge le paramètre d'effort241* Lorsque l'amont rejette `output_config.effort`, Claude Code réessaie la requête sans l'effort et le laisse de côté dans les requêtes ultérieures à ce modèle jusqu'à ce que Claude Code se termine. Claude Code reconnaît ce rejet par un `400` dont le message nomme `output_config.effort` avec `Extra inputs are not permitted`, ou indique que le modèle ne prend pas en charge le paramètre d'effort

234* Claude Code ne réessaie pas les rejets de gestion du contexte ou de champ de schéma d'outil, donc ces erreurs `400` atteignent le développeur242* Lorsque l'amont rejette le champ `context_management` ou sa valeur `anthropic-beta`, la passerelle voit la requête une nouvelle fois sans eux. Si la passerelle les voit de nouveau dans une requête ultérieure et que l'amont les rejette encore, la même nouvelle tentative suit. Claude Code reconnaît ce rejet par son message, par exemple un message contenant `context_management: Extra inputs are not permitted`. Avant v2.1.304, Claude Code ne réessayait pas ce rejet

243* Lorsque l'amont rejette un champ d'outil bêta autre que `defer_loading`, tel que `strict`, l'erreur `400` atteint le développeur. Avant cela, la passerelle peut voir la requête de nouveau [sans les champs de recherche d'outils](#retry-without-tool-search). Pour arrêter l'envoi de tels champs, demandez aux développeurs de définir [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](#disable-pre-release-capabilities)

235 244 

236Le rejet `bound to a different conversation` provient de la vérification de [pensée préservée](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) de l'API, qui échoue lorsque le contenu `system`, `tools`, ou `messages` antérieurs diffère de la requête qui a produit la pensée. Une passerelle qui réécrit l'un de ces contenus peut causer le rejet lui-même ; [Bibliothèques, proxies et passerelles](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) couvre ce qu'il faut transmettre inchangé.245Le rejet `bound to a different conversation` provient de la vérification de [pensée préservée](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) de l'API, qui échoue lorsque le contenu `system`, `tools`, ou `messages` antérieurs diffère de la requête qui a produit la pensée. Une passerelle qui réécrit l'un de ces contenus peut causer le rejet lui-même ; [Bibliothèques, proxies et passerelles](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) couvre ce qu'il faut transmettre inchangé.

237 246 

238La logique de nouvelle tentative correspond à la formulation d'erreur de l'amont, donc transmettez les corps de réponse d'erreur inmodifiés. Une passerelle qui enveloppe les erreurs en amont dans sa propre enveloppe casse le chemin de récupération, même lorsqu'elle préserve le code d'état, sauf si le message de l'enveloppe porte un jeton `capability_rejected:` stable. [La passerelle des applications Claude substitue ces jetons à la formulation d'erreur des fournisseurs de cloud](/docs/fr/claude-apps-gateway-config#upstream-error-messages), par exemple `capability_rejected: prompt_too_long`.247La majeure partie de cette logique de nouvelle tentative s'appuie sur la formulation d'erreur de l'amont, donc transmettez les corps de réponse d'erreur sans modification. Une passerelle qui enveloppe les erreurs en amont dans sa propre enveloppe casse le chemin de récupération, même lorsqu'elle préserve le code d'état, sauf si le message de l'enveloppe porte un jeton `capability_rejected:` stable. [La passerelle des applications Claude substitue ces jetons à la formulation d'erreur des fournisseurs de cloud](/docs/fr/claude-apps-gateway-config#upstream-error-messages), par exemple `capability_rejected: prompt_too_long`.

248 

249#### Réessayer sans la recherche d'outils

250 

251Sur v2.1.305 ou ultérieur, une requête portant des [champs `defer_loading` et des blocs `tool_reference`](/docs/fr/mcp#tool-search-through-a-gateway) peut arriver de nouveau sans eux après un `400` ou un `422` dont Claude Code ne reconnaît pas la cause. Après une nouvelle tentative réussie, les requêtes ultérieures les omettent également.

252 

253Les requêtes du développeur continuent de fonctionner sans aucune modification de la passerelle, avec leurs outils MCP chargés dès le départ. Claude Code réessaie la recherche d'outils plus tard, de sorte que la passerelle peut voir une autre requête rejetée suivie de sa nouvelle tentative. Pour exclure les champs de chaque requête, demandez aux développeurs de définir `ENABLE_TOOL_SEARCH=false`. Pour la recherche d'outils elle-même, Claude Code s'attend à ce que la passerelle transmette les champs `defer_loading` et les blocs `tool_reference` avec leur valeur `anthropic-beta`.

239 254 

240### Désactiver les capacités de pré-version255### Désactiver les capacités de pré-version

241 256 


250La variable ne supprime pas toutes les valeurs `anthropic-beta`. Ce qu'elle laisse en place comprend :265La variable ne supprime pas toutes les valeurs `anthropic-beta`. Ce qu'elle laisse en place comprend :

251 266 

252* Les valeurs `anthropic-beta` pour le contexte étendu, la réflexion entrelacée et l'effort, que les fournisseurs de cloud acceptent également267* Les valeurs `anthropic-beta` pour le contexte étendu, la réflexion entrelacée et l'effort, que les fournisseurs de cloud acceptent également

253* Le champ `output_config.effort`. [Nouvelle tentative automatique et transmission d'erreur](#automatic-retry-and-error-forwarding) couvre le cas d'un amont qui le rejette268* Le champ `output_config.effort` de premier niveau. [Nouvelle tentative automatique et transmission d'erreur](#automatic-retry-and-error-forwarding) couvre le cas d'un amont qui le rejette

254* Le champ `thinking` du raisonnement adaptatif, qui n'a pas d'en-tête bêta269* Le champ `thinking` du raisonnement adaptatif, qui n'a pas d'en-tête bêta

270* Les entrées `role: "system"` qui portent les [messages système en milieu de conversation](#feature-pass-through)

255* La valeur `anthropic-beta` OAuth que l'authentification par abonnement exige271* La valeur `anthropic-beta` OAuth que l'authentification par abonnement exige

256* Les valeurs d'en-tête et champs de corps que les développeurs ajoutent eux-mêmes via [`ANTHROPIC_BETAS`](/docs/fr/env-vars) ou [`CLAUDE_CODE_EXTRA_BODY`](/docs/fr/env-vars)272* Les valeurs d'en-tête et champs de corps que les développeurs ajoutent eux-mêmes via [`ANTHROPIC_BETAS`](/docs/fr/env-vars) ou [`CLAUDE_CODE_EXTRA_BODY`](/docs/fr/env-vars)

257 273 

Details

86 * **Dans un sandbox VM complet** : quand votre configuration gérée Claude Desktop définit [`requireCoworkFullVmSandbox`](https://claude.com/docs/third-party/claude-desktop/configuration#requirecoworkfullvmsandbox), Claude Code s'exécute à l'intérieur d'une machine virtuelle où la politique MDM de l'appareil et le fichier de paramètres gérés ne sont pas présents.86 * **Dans un sandbox VM complet** : quand votre configuration gérée Claude Desktop définit [`requireCoworkFullVmSandbox`](https://claude.com/docs/third-party/claude-desktop/configuration#requirecoworkfullvmsandbox), Claude Code s'exécute à l'intérieur d'une machine virtuelle où la politique MDM de l'appareil et le fichier de paramètres gérés ne sont pas présents.

87 * **Sessions Cowork distantes** : celles-ci s'exécutent sur des machines virtuelles gérées par Anthropic, où Claude Code n'a pas de politique d'appareil à lire.87 * **Sessions Cowork distantes** : celles-ci s'exécutent sur des machines virtuelles gérées par Anthropic, où Claude Code n'a pas de politique d'appareil à lire.

88 88 

89 Où que la session s'exécute, claude.ai applique les listes [`strictKnownMarketplaces`](/docs/fr/settings-reference#strictknownmarketplaces) et [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) de la console d'administration elle-même quand quelqu'un ajoute une marketplace à partir d'un référentiel git sur claude.ai ou à partir de **Personnaliser** dans l'onglet Cowork. [Comment fonctionnent les restrictions](/docs/fr/plugins/org#restrict-what-users-can-install) décrit cette vérification. Le tableau [couverture de surface](/docs/fr/model-config#surface-coverage) compare Cowork avec les autres surfaces.89 Où que la session s'exécute, claude.ai applique les listes [`strictKnownMarketplaces`](/docs/fr/settings-reference#strictknownmarketplaces) et [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) de la console d'administration elle-même quand quelqu'un ajoute une marketplace à partir d'un dépôt git sur claude.ai ou à partir de **Personnaliser** dans Cowork. [Comment fonctionnent les restrictions](/docs/fr/plugins/org#restrict-what-users-can-install) décrit cette vérification. Le tableau [couverture de surface](/docs/fr/model-config#surface-coverage) compare Cowork avec les autres surfaces.

90* **Sessions en cours d'exécution** : la plupart des modifications atteignent une session en cours d'exécution selon le calendrier du tableau de [mécanisme de livraison](#choose-a-delivery-mechanism), sans redémarrage.90* **Sessions en cours d'exécution** : la plupart des modifications atteignent une session en cours d'exécution selon le calendrier du tableau de [mécanisme de livraison](#choose-a-delivery-mechanism), sans redémarrage.

91 * Les modifications apportées à [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh), [`requiredMinimumVersion`](/docs/fr/settings-reference#requiredminimumversion), et [certaines clés modifiables par l'utilisateur](/docs/fr/settings#when-edits-take-effect) prennent effet au prochain démarrage de session.91 * Les modifications apportées à [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh), [`requiredMinimumVersion`](/docs/fr/settings-reference#requiredminimumversion), et [certaines clés modifiables par l'utilisateur](/docs/fr/settings#when-edits-take-effect) prennent effet au prochain démarrage de session.

92 * Une entrée [`policyHelper`](/docs/fr/settings-reference#policyhelper) nouvelle ou modifiée prend effet au prochain lancement. Si les paramètres gérés par le serveur masquent l'assistant à ce lancement, l'assistant s'exécute dès qu'une récupération signale que ces paramètres ont été supprimés.92 * Une entrée [`policyHelper`](/docs/fr/settings-reference#policyhelper) nouvelle ou modifiée prend effet au prochain lancement. Si les paramètres gérés par le serveur masquent l'assistant à ce lancement, l'assistant s'exécute dès qu'une récupération signale que ces paramètres ont été supprimés.

mcp.md +31 −7

Details

302Si votre demande a besoin d'outils d'un serveur qui se connecte toujours en arrière-plan, Claude attend ce serveur avant de continuer. La façon dont l'attente se produit dépend de votre configuration :302Si votre demande a besoin d'outils d'un serveur qui se connecte toujours en arrière-plan, Claude attend ce serveur avant de continuer. La façon dont l'attente se produit dépend de votre configuration :

303 303 

304* **Avec la [recherche d'outils](#scale-with-mcp-tool-search), la valeur par défaut** : l'attente se produit à l'intérieur de l'appel `ToolSearch`.304* **Avec la [recherche d'outils](#scale-with-mcp-tool-search), la valeur par défaut** : l'attente se produit à l'intérieur de l'appel `ToolSearch`.

305* **Sans recherche d'outils** : Claude utilise plutôt l'outil `WaitForMcpServers`. Les configurations sans recherche d'outils incluent une `ANTHROPIC_BASE_URL` personnalisée, `ENABLE_TOOL_SEARCH=false`, et un modèle antérieur à Claude Opus 4.5, Claude Sonnet 4.5 et Claude Haiku 4.5 sur la plateforme Agent de Google Cloud.305* **Sans recherche d'outils** : Claude utilise plutôt l'outil `WaitForMcpServers`. Les configurations sans recherche d'outils incluent `ENABLE_TOOL_SEARCH=false` et un modèle antérieur à Claude Opus 4.5, Claude Sonnet 4.5 et Claude Haiku 4.5 sur la plateforme Agent de Google Cloud. Pour une passerelle `ANTHROPIC_BASE_URL`, voir [Recherche d'outils via une passerelle LLM](#tool-search-through-a-gateway).

306* **Sur un [déploiement Microsoft Foundry hébergé sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)** : Claude commence sur le chemin de recherche d'outils plutôt qu'avec `WaitForMcpServers`, car Claude Code découvre le rejet côté serveur du déploiement uniquement à partir de l'API. Après que Claude Code a basculé ce déploiement vers le [chargement en amont](#scale-with-mcp-tool-search), les outils d'un serveur qui termine de se connecter deviennent disponibles à la requête suivante de Claude.306* **Sur un [déploiement Microsoft Foundry hébergé sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)** : Claude commence sur le chemin de recherche d'outils plutôt qu'avec `WaitForMcpServers`, car Claude Code découvre le rejet côté serveur du déploiement uniquement à partir de l'API. Après que Claude Code a basculé ce déploiement vers le [chargement en amont](#scale-with-mcp-tool-search), les outils d'un serveur qui termine de se connecter deviennent disponibles à la requête suivante de Claude.

307 307 

308Avec la recherche d'outils activée, lorsqu'un serveur termine de se connecter pendant que Claude travaille, Claude Code liste les noms d'outils du serveur à Claude lors de sa requête suivante dans le même tour. Claude peut alors rechercher et appeler ces outils sans attendre votre message suivant.308Avec la recherche d'outils activée, lorsqu'un serveur termine de se connecter pendant que Claude travaille, Claude Code liste les noms d'outils du serveur à Claude lors de sa requête suivante dans le même tour. Claude peut alors rechercher et appeler ces outils sans attendre votre message suivant.


509 509 

510Les serveurs de plugins apparaissent dans `/mcp` avec des indicateurs montrant qu'ils proviennent de plugins.510Les serveurs de plugins apparaissent dans `/mcp` avec des indicateurs montrant qu'ils proviennent de plugins.

511 511 

512Pour un serveur stdio d'un plugin, `claude mcp get` imprime `Command: stdio`, une ligne `Args:` vide, et chaque variable d'environnement sous la forme `NAME=[REDACTED]`. Les valeurs sont masquées car elles peuvent contenir des identifiants.512`claude mcp get` masque les valeurs configurées pour le serveur stdio ou WebSocket d'un plugin, car elles peuvent contenir des identifiants :

513 

514* **Serveur stdio** : il imprime `Command: stdio`, une ligne `Args:` vide, et chaque variable d'environnement sous la forme `NAME=[REDACTED]`

515* **Serveur WebSocket** : il imprime `URL: ws` et chaque en-tête sous la forme `<name>: [REDACTED]`, et `claude mcp list` affiche `ws` à la place de l'URL

516 

517Pour voir ce que le plugin a configuré, [trouvez le plugin sur le disque](/docs/fr/plugins/loading#find-plugins-on-disk) et lisez son `.mcp.json` ou son `plugin.json`.

513 518 

514**Noms d'outils MCP des plugins** :519**Noms d'outils MCP des plugins** :

515 520 


592 597 

593Pour des raisons de sécurité, Claude Code demande une approbation dans les sessions interactives avant d'utiliser les serveurs à portée de projet à partir des fichiers `.mcp.json`. Pour réinitialiser ces choix d'approbation, exécutez `claude mcp reset-project-choices`.598Pour des raisons de sécurité, Claude Code demande une approbation dans les sessions interactives avant d'utiliser les serveurs à portée de projet à partir des fichiers `.mcp.json`. Pour réinitialiser ces choix d'approbation, exécutez `claude mcp reset-project-choices`.

594 599 

595Dans les exécutions `claude -p`, les sessions du [SDK Agent](/docs/fr/headless) et les [sessions cloud](/docs/fr/claude-code-on-the-web), Claude Code ne peut pas afficher cette invite : il charge les serveurs à portée de projet sans demander. Claude Code ignore également l'invite dans une session que vous démarrez en mode `bypassPermissions` avec [`skipDangerousModePermissionPrompt`](/docs/fr/settings-reference#skipdangerousmodepermissionprompt) défini dans vos paramètres utilisateur ou dans les paramètres gérés. Pour garder un serveur à l'écart de toute façon :600Dans les exécutions `claude -p`, les sessions du [SDK Agent](/docs/fr/headless) et les [sessions cloud](/docs/fr/claude-code-on-the-web) en dehors d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), Claude Code ne peut pas afficher cette demande : il charge les serveurs à portée de projet sans demander. Claude Code ignore également la demande dans une session que vous démarrez en mode `bypassPermissions` avec [`skipDangerousModePermissionPrompt`](/docs/fr/settings-reference#skipdangerousmodepermissionprompt) défini dans vos paramètres utilisateur ou dans les paramètres gérés. Pour garder un serveur à l'écart de toute façon :

596 601 

597* Ajoutez-le à [`disabledMcpjsonServers`](/docs/fr/settings-reference#disabledmcpjsonservers), qui le bloque dans tous les modes de permission.602* Ajoutez-le à [`disabledMcpjsonServers`](/docs/fr/settings-reference#disabledmcpjsonservers), qui le bloque dans tous les modes de permission.

598* Excluez entièrement les paramètres du projet avec [`--setting-sources`](/docs/fr/cli-reference#cli-flags) ou l'option `settingSources` du SDK.603* Excluez entièrement les paramètres du projet avec [`--setting-sources`](/docs/fr/cli-reference#cli-flags) ou l'option `settingSources` du SDK.


1483 1488 

1484### Configurer la recherche d'outils1489### Configurer la recherche d'outils

1485 1490 

1486La recherche d'outils est activée par défaut : les outils MCP sont reportés et découverts à la demande. Claude Code la désactive quand `ANTHROPIC_BASE_URL` pointe vers un hôte non-propriétaire, puisque la plupart des proxys ne transmettent pas les blocs `tool_reference`. Définissez `ENABLE_TOOL_SEARCH` explicitement pour contourner ce repli.1491La recherche d'outils est activée par défaut : les outils MCP sont reportés et découverts à la demande.

1487 1492 

1488Définir [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/fr/env-vars) maintient la recherche d'outils désactivée. Vous ne pouvez pas la contourner en définissant `ENABLE_TOOL_SEARCH` vous-même. Sur Claude Code v2.1.227 ou ultérieur, votre organisation peut maintenir la recherche d'outils activée malgré cette variable via les [paramètres gérés](/docs/fr/managed-settings). Dans une session qui [reçoit la configuration HIPAA](/docs/fr/hipaa-setup#check-how-developers-sign-in-and-connect), la recherche d'outils est désactivée, et ni `ENABLE_TOOL_SEARCH` ni les paramètres gérés ne la réactivent. [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) couvre où le remplacement s'applique et ce que la variable supprime.1493Définir [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](/docs/fr/env-vars) maintient la recherche d'outils désactivée. Vous ne pouvez pas la contourner en définissant `ENABLE_TOOL_SEARCH` vous-même. Sur Claude Code v2.1.227 ou ultérieur, votre organisation peut maintenir la recherche d'outils activée malgré cette variable via les [paramètres gérés](/docs/fr/managed-settings). Dans une session qui [reçoit la configuration HIPAA](/docs/fr/hipaa-setup#check-how-developers-sign-in-and-connect), la recherche d'outils est désactivée, et ni `ENABLE_TOOL_SEARCH` ni les paramètres gérés ne la réactivent. [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) couvre où le remplacement s'applique et ce que la variable supprime.

1489 1494 


1500 1505 

1501| Valeur | Comportement |1506| Valeur | Comportement |

1502| :- | :- |1507| :- | :- |

1503| (non défini) | Tous les outils MCP reportés et chargés à la demande. Revient au chargement en amont sur les modèles antérieurs à Opus 4 et Sonnet 4, sur les modèles de la plateforme Agent de Google Cloud antérieurs à Opus 4.5, Sonnet 4.5 et Haiku 4.5, quand `ANTHROPIC_BASE_URL` est un hôte non-propriétaire, ou sur un déploiement Microsoft Foundry hébergé sur Azure |1508| (non défini) | Tous les outils MCP reportés et chargés à la demande. Chargés en amont sur les modèles antérieurs à Opus 4 et Sonnet 4, sur les [modèles Agent Platform antérieurs](#configure-tool-search), et sur les déploiements Microsoft Foundry hébergés sur Azure |

1504| `true` | Les outils MCP restent reportés quand `ANTHROPIC_BASE_URL` est un hôte non-propriétaire. Les autres solutions de repli du cas (non défini) s'appliquent toujours. Claude Code envoie l'en-tête bêta via les proxys, et les requêtes échouent sur les proxys qui ne prennent pas en charge les blocs `tool_reference` |1509| `true` | Outils MCP reportés, avec les mêmes solutions de repli que (non défini) |

1505| `auto` | Mode seuil : Claude Code charge les outils qu'il reporterait autrement en amont tant que leurs définitions totalisent moins de 10 % de la fenêtre de contexte, et les reporte tous une fois que les définitions atteignent 10 % |1510| `auto` | Mode seuil. Les outils qui seraient autrement reportés se chargent en amont tant que leurs définitions totalisent moins de 10 % de la fenêtre de contexte. À 10 % ou plus, la recherche d'outils s'active, et ces outils peuvent [rester reportés](#tools-that-stay-deferred-below-the-threshold) même si le total repasse sous 10 % |

1506| `auto:N` | Mode seuil avec un pourcentage personnalisé, où `N` est 0-100. Par exemple, `auto:5` pour 5 % |1511| `auto:N` | Mode seuil avec un pourcentage personnalisé, où `N` est 0-100. Par exemple, `auto:5` pour 5 % |

1507| `false` | Tous les outils MCP chargés en amont, pas de report |1512| `false` | Tous les outils MCP chargés en amont, pas de report |

1508 1513 


1526}1531}

1527```1532```

1528 1533 

1534Si vous refusez `ToolSearch` ou l'omettez de [`--tools`](/docs/fr/cli-reference#cli-flags), les outils MCP se chargent en amont à la place, mais une requête peut encore contenir une entrée `defer_loading` fictive. Si une passerelle rejette cette entrée, consultez [Recherche d'outils via une passerelle LLM](#tool-search-through-a-gateway).

1535 

1536#### Recherche d'outils via une passerelle LLM

1537 

1538> [!NOTE]

1539>

1540> Ces cas sont traités ailleurs :

1541>

1542> * **Vous avez défini `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`** : consultez [son effet sur la recherche d'outils](#configure-tool-search)

1543> * **Une requête a échoué avec une erreur qui mentionne `defer_loading` ou `tool_reference`** : consultez [Extra inputs are not permitted](/docs/fr/errors#extra-inputs-are-not-permitted)

1544 

1545Lorsque `ANTHROPIC_BASE_URL` pointe vers une passerelle, la recherche d'outils est activée par défaut : les requêtes incluent donc des champs d'outil `defer_loading` et des blocs `tool_reference` que la passerelle doit transmettre. Tant que la recherche d'outils est activée, les outils MCP sont [reportés](#scale-with-mcp-tool-search). Pour charger plutôt tous les outils en amont, définissez `ENABLE_TOOL_SEARCH=false` dans votre shell ou dans le [champ `env` de vos paramètres](/docs/fr/settings-reference#env). Avant v2.1.304, la recherche d'outils était désactivée derrière une passerelle sauf si `ENABLE_TOOL_SEARCH` valait `true`, `auto` ou `auto:N`.

1546 

1547Sur v2.1.305 ou ultérieur, Claude Code peut [réessayer une requête sans la recherche d'outils](/docs/fr/llm-gateway-protocol#retry-without-tool-search) après une erreur `400` ou `422` dont il ne reconnaît pas la cause. Lorsque la nouvelle tentative fonctionne, rien ne s'affiche à l'écran et vous n'avez rien à faire : les outils MCP se chargent en amont à la place. Claude Code réessaie la recherche d'outils plus tard, au prix d'une autre requête rejetée. Pour éviter ces requêtes, définissez `ENABLE_TOOL_SEARCH=false`.

1548 

1549#### Outils qui restent reportés sous le seuil `ENABLE_TOOL_SEARCH=auto`

1550 

1551Si [`/context`](/docs/fr/commands#all-commands) marque des outils comme `(deferred)` ou `(loaded on-demand)` alors que leurs définitions totalisent moins que le seuil `auto`, c'est que la recherche d'outils était déjà activée dans cette conversation et qu'elle est restée activée. Le total peut baisser ultérieurement, par exemple pendant que les serveurs MCP se reconnectent après la reprise d'une session. Vous n'avez rien à faire : Claude charge chacun de ces outils lorsqu'une tâche en a besoin.

1552 

1529### Exempter un serveur du report1553### Exempter un serveur du report

1530 1554 

1531Si les outils d'un serveur doivent toujours être visibles pour Claude sans une étape de recherche, définissez `alwaysLoad` à `true` dans la configuration de ce serveur. Les outils du serveur se chargent alors dans le contexte indépendamment du paramètre `ENABLE_TOOL_SEARCH`. Utilisez ceci pour un petit nombre d'outils que Claude doit utiliser à chaque tour, puisque chaque outil en amont consomme du contexte qui serait autrement disponible pour votre conversation.1555Si les outils d'un serveur doivent toujours être visibles pour Claude sans une étape de recherche, définissez `alwaysLoad` à `true` dans la configuration de ce serveur. Les outils du serveur se chargent alors dans le contexte indépendamment du paramètre `ENABLE_TOOL_SEARCH`. Utilisez ceci pour un petit nombre d'outils que Claude doit utiliser à chaque tour, puisque chaque outil en amont consomme du contexte qui serait autrement disponible pour votre conversation.

Details

278* **Application de bureau Claude Code** : ajoutez des serveurs via l'[interface utilisateur des connecteurs](/docs/fr/desktop#connect-external-tools).278* **Application de bureau Claude Code** : ajoutez des serveurs via l'[interface utilisateur des connecteurs](/docs/fr/desktop#connect-external-tools).

279* **Application de chat Claude Desktop** : une application distincte de Claude Code. Pour copier les serveurs de son `claude_desktop_config.json` dans l'interface de ligne de commande, exécutez `claude mcp add-from-claude-desktop` sur macOS ou WSL.279* **Application de chat Claude Desktop** : une application distincte de Claude Code. Pour copier les serveurs de son `claude_desktop_config.json` dans l'interface de ligne de commande, exécutez `claude mcp add-from-claude-desktop` sur macOS ou WSL.

280* **VS Code** : voir [Se connecter aux outils externes avec MCP](/docs/fr/vs-code#connect-to-external-tools-with-mcp).280* **VS Code** : voir [Se connecter aux outils externes avec MCP](/docs/fr/vs-code#connect-to-external-tools-with-mcp).

281* **Sessions cloud** : validez un `.mcp.json` dans votre référentiel ; une session avec un référentiel le charge. Voir [Modifier .mcp.json directement](#edit-mcp-json-directly) et [Ce qui est conservé de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup).281* **Sessions cloud** : en dehors d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), faites un commit d'un `.mcp.json` dans votre dépôt ; une session avec un seul dépôt le charge. Les threads cloud d'un projet utilisent plutôt vos connecteurs claude.ai. Voir [Modifier .mcp.json directement](#edit-mcp-json-directly) et [Ce qui est conservé de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup).

282* **Claude.ai** : les connecteurs que vous ajoutez à [claude.ai/customize/connectors](https://claude.ai/customize/connectors) se chargent automatiquement dans l'interface de ligne de commande lorsque vous vous connectez avec ce compte. Voir [Utiliser les serveurs MCP de Claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai).282* **Claude.ai** : les connecteurs que vous ajoutez à [claude.ai/customize/connectors](https://claude.ai/customize/connectors) se chargent automatiquement dans l'interface de ligne de commande lorsque vous vous connectez avec ce compte. Voir [Utiliser les serveurs MCP de Claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai).

283 283 

284## Dépannage284## Dépannage

memory.md +10 −5

Details

208 208 

209Les règles sans champ `paths` sont chargées sans condition et s'appliquent à tous les fichiers. Une règle limitée à des chemins se charge quand Claude utilise l'outil Read, Write ou Edit sur un fichier correspondant. Elle se charge également quand Claude affiche un fichier correspondant avec une commande Bash qui [compte comme une lecture](/docs/fr/tools-reference#edit-tool-behavior), telle que `cat` ou `head` sur un seul fichier. La correspondance fonctionne également quand Claude atteint un fichier via un chemin passant par un lien symbolique vers le répertoire du projet, par exemple dans un checkout accessible via un lien symbolique.209Les règles sans champ `paths` sont chargées sans condition et s'appliquent à tous les fichiers. Une règle limitée à des chemins se charge quand Claude utilise l'outil Read, Write ou Edit sur un fichier correspondant. Elle se charge également quand Claude affiche un fichier correspondant avec une commande Bash qui [compte comme une lecture](/docs/fr/tools-reference#edit-tool-behavior), telle que `cat` ou `head` sur un seul fichier. La correspondance fonctionne également quand Claude atteint un fichier via un chemin passant par un lien symbolique vers le répertoire du projet, par exemple dans un checkout accessible via un lien symbolique.

210 210 

211Chaque modèle est relatif au répertoire de base de la règle :

212 

213* **Règles de projet** : le répertoire qui contient le dossier `.claude` de la règle

214* **[Règles au niveau utilisateur](#user-level-rules)** : le [répertoire de travail principal](/docs/fr/permissions#working-directories) de la session

215 

216Pour que les règles limitées à des chemins se chargent pour les fichiers d'un git worktree voisin, démarrez Claude Code dans ce worktree ou [déplacez la session vers celui-ci avec `/cd`](/docs/fr/permissions#move-the-session-to-another-directory).

217 

211Utilisez les modèles glob dans le champ `paths` pour faire correspondre les fichiers par extension, répertoire ou toute combinaison :218Utilisez les modèles glob dans le champ `paths` pour faire correspondre les fichiers par extension, répertoire ou toute combinaison :

212 219 

213| Modèle | Correspond à |220| Modèle | Correspond à |


279 286 

280#### Déployer un CLAUDE.md à l'échelle de l'organisation287#### Déployer un CLAUDE.md à l'échelle de l'organisation

281 288 

282Les organisations peuvent déployer un CLAUDE.md géré de manière centralisée qui s'applique à tous les utilisateurs sur une machine. Ce fichier ne peut pas être exclu par les paramètres individuels.289Les organisations peuvent déployer un CLAUDE.md géré de manière centralisée qui s'applique à tous les utilisateurs sur une machine. Les développeurs peuvent [exclure d'autres fichiers CLAUDE.md](#exclude-specific-claude-md-files) avec le paramètre `claudeMdExcludes`, mais pas celui-ci. Si un développeur démarre une session avec le chargement de CLAUDE.md entièrement désactivé, cette session ne charge pas non plus le contenu géré. Utilisez ce fichier pour donner des conseils, et appliquez les règles avec les [paramètres gérés](/docs/fr/managed-settings) tels que `permissions.deny`.

283 290 

284**1. Créer le fichier à l'emplacement de la politique gérée**291**1. Créer le fichier à l'emplacement de la politique gérée**

285 292 


293 300 

294La clé `claudeMd` vous permet de placer le contenu CLAUDE.md géré directement dans `managed-settings.json` au lieu de déployer un fichier séparé.301La clé `claudeMd` vous permet de placer le contenu CLAUDE.md géré directement dans `managed-settings.json` au lieu de déployer un fichier séparé.

295 302 

296**Portée** : chaque session Claude Code sur la machine, dans chaque dépôt. Pour des conseils spécifiques au dépôt, commitez plutôt un CLAUDE.md de projet.303**Portée** : tous les utilisateurs de la machine, dans n'importe quel dépôt. Pour des conseils spécifiques au dépôt, commitez plutôt un CLAUDE.md de projet.

297 304 

298**Priorité** : identique à un fichier CLAUDE.md géré. Se charge avant CLAUDE.md utilisateur et projet.305**Priorité** : identique à un fichier CLAUDE.md géré. Se charge avant CLAUDE.md utilisateur et projet.

299 306 


323 330 

324#### Exclure des fichiers CLAUDE.md spécifiques331#### Exclure des fichiers CLAUDE.md spécifiques

325 332 

326Dans les grands monorepos, les fichiers CLAUDE.md ancêtres peuvent contenir des instructions qui ne sont pas pertinentes pour votre travail. Le paramètre `claudeMdExcludes` vous permet d'ignorer des fichiers spécifiques par chemin ou modèle glob.333Dans les grands monorepos, les fichiers CLAUDE.md ancêtres peuvent contenir des instructions qui ne sont pas pertinentes pour votre travail. Le paramètre `claudeMdExcludes` vous permet d'ignorer des fichiers spécifiques par chemin ou modèle glob. Vous ne pouvez pas exclure un [fichier CLAUDE.md géré](#deploy-organization-wide-claude-md) avec `claudeMdExcludes`.

327 334 

328Cet exemple exclut un CLAUDE.md de niveau supérieur et un répertoire de règles d'un dossier parent. Ajoutez-le à `.claude/settings.local.json` pour que l'exclusion reste locale à votre machine :335Cet exemple exclut un CLAUDE.md de niveau supérieur et un répertoire de règles d'un dossier parent. Ajoutez-le à `.claude/settings.local.json` pour que l'exclusion reste locale à votre machine :

329 336 


340 347 

341Pour exclure un fichier de règles que vous atteignez via un [lien symbolique](#share-rules-across-projects-with-symlinks), que le fichier ou son répertoire soit le lien, écrivez le modèle par rapport à l'un ou l'autre chemin : le chemin du fichier sous `.claude/rules/` ou sa cible de lien. Un modèle qui correspond à l'un ou l'autre chemin exclut le fichier. Avant v2.1.239, seul un modèle qui correspondait à la cible du lien excluait le fichier.348Pour exclure un fichier de règles que vous atteignez via un [lien symbolique](#share-rules-across-projects-with-symlinks), que le fichier ou son répertoire soit le lien, écrivez le modèle par rapport à l'un ou l'autre chemin : le chemin du fichier sous `.claude/rules/` ou sa cible de lien. Un modèle qui correspond à l'un ou l'autre chemin exclut le fichier. Avant v2.1.239, seul un modèle qui correspondait à la cible du lien excluait le fichier.

342 349 

343Les fichiers CLAUDE.md de politique gérée ne peuvent pas être exclus. Cela garantit que les instructions à l'échelle de l'organisation s'appliquent toujours indépendamment des paramètres individuels.

344 

345## AGENTS.md350## AGENTS.md

346 351 

347Claude Code peut lire [`AGENTS.md`](/docs/fr/glossary#agents-md) comme vos instructions de projet, donc un référentiel déjà configuré pour d'autres agents de codage fonctionne sans ajouter un `CLAUDE.md`, une importation ou un paramètre. Ce tableau montre ce que Claude lit par défaut pour chaque combinaison de fichiers d'instructions dans votre référentiel :352Claude Code peut lire [`AGENTS.md`](/docs/fr/glossary#agents-md) comme vos instructions de projet, donc un référentiel déjà configuré pour d'autres agents de codage fonctionne sans ajouter un `CLAUDE.md`, une importation ou un paramètre. Ce tableau montre ce que Claude lit par défaut pour chaque combinaison de fichiers d'instructions dans votre référentiel :

model-config.md +6 −2

Details

441 441 

442Votre organisation peut plafonner le [niveau d'effort](#adjust-effort-level) de deux façons. Sur un plan Claude Enterprise, les administrateurs d'organisation définissent des limites d'effort par rôle, décrites ci-dessous. Sur n'importe quel plan et n'importe quel fournisseur, y compris Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, le paramètre géré [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) plafonne l'effort côté client. Lorsque les deux s'appliquent à un modèle, le plafond inférieur s'applique.442Votre organisation peut plafonner le [niveau d'effort](#adjust-effort-level) de deux façons. Sur un plan Claude Enterprise, les administrateurs d'organisation définissent des limites d'effort par rôle, décrites ci-dessous. Sur n'importe quel plan et n'importe quel fournisseur, y compris Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, le paramètre géré [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) plafonne l'effort côté client. Lorsque les deux s'appliquent à un modèle, le plafond inférieur s'applique.

443 443 

444Les administrateurs d'organisation sur les plans Claude Enterprise peuvent définir un [niveau d'effort](#adjust-effort-level) maximum par modèle pour chaque rôle personnalisé, aux côtés des [restrictions de modèle au niveau de l'organisation](#organization-model-restrictions). Les niveaux au-dessus du plafond ne sont pas proposés dans le sélecteur `/effort`, et nommer un niveau supérieur avec `--effort` ou `/effort` s'exécute au plafond à la place. Dans les sessions interactives et les exécutions en texte brut `--print`, un avertissement nomme les niveaux demandés et appliqués ; avec une sortie `json` ou `stream-json` ou dans les agents en arrière-plan, le plafonnement s'applique silencieusement. Les plafonds sont par modèle, donc changer de modèle peut modifier les niveaux disponibles. Lorsque plusieurs de vos rôles accordent le même modèle, le plafond le moins restrictif s'applique. Nécessite Claude Code v2.1.195 ou version ultérieure.444Les administrateurs d'organisation sur les plans Claude Enterprise peuvent définir un [niveau d'effort](#adjust-effort-level) maximum par modèle pour chaque rôle personnalisé, aux côtés des [restrictions de modèle au niveau de l'organisation](#organization-model-restrictions). Nécessite Claude Code v2.1.195 ou version ultérieure.

445 

446* Les niveaux au-dessus du plafond ne sont pas proposés dans le sélecteur `/effort`, et nommer un niveau supérieur avec `--effort` ou `/effort` s'exécute au plafond à la place. Si vous lancez une exécution en texte brut `--print` avec `--effort` au-dessus du plafond, un avertissement sur stderr nomme les niveaux demandés et appliqués. Dans les sessions interactives, avec une sortie `json` ou `stream-json`, ou dans les agents en arrière-plan, cet avertissement est envoyé dans le [log de débogage](/docs/fr/errors#configuration-warnings) à la place.

447* Les plafonds sont par modèle, donc changer de modèle peut modifier les niveaux disponibles.

448* Lorsque plusieurs de vos rôles accordent le même modèle, le plafond le moins restrictif s'applique.

445 449 

446Les limites d'effort sont livrées avec les [restrictions de modèle au niveau de l'organisation](#organization-model-restrictions) et atteignent les mêmes sessions.450Les limites d'effort sont livrées avec les [restrictions de modèle au niveau de l'organisation](#organization-model-restrictions) et atteignent les mêmes sessions.

447 451 


843* Si Claude Code ne peut pas résoudre un fournisseur ou une orthographe personnalisée en un modèle qu'il reconnaît et que l'ID ne contient pas `[1m]`, la variable s'applique directement et la compaction proactive continue à la fenêtre déclarée.847* Si Claude Code ne peut pas résoudre un fournisseur ou une orthographe personnalisée en un modèle qu'il reconnaît et que l'ID ne contient pas `[1m]`, la variable s'applique directement et la compaction proactive continue à la fenêtre déclarée.

844* Si Claude Code ne peut pas résoudre un fournisseur ou une orthographe personnalisée en un modèle qu'il reconnaît et que l'ID contient `[1m]`, en toute casse, Claude Code suppose une fenêtre de 1 M pour celui-ci et la variable ne s'applique pas d'elle-même. Pour corriger la fenêtre tout en maintenant la compaction proactive, définissez également [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/env-vars). Avec cette variable définie, Claude Code dimensionne l'ID comme la même orthographe sans `[1m]`, donc `CLAUDE_CODE_MAX_CONTEXT_TOKENS` s'applique lorsqu'il s'appliquerait à cette orthographe sans étiquette.848* Si Claude Code ne peut pas résoudre un fournisseur ou une orthographe personnalisée en un modèle qu'il reconnaît et que l'ID contient `[1m]`, en toute casse, Claude Code suppose une fenêtre de 1 M pour celui-ci et la variable ne s'applique pas d'elle-même. Pour corriger la fenêtre tout en maintenant la compaction proactive, définissez également [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/env-vars). Avec cette variable définie, Claude Code dimensionne l'ID comme la même orthographe sans `[1m]`, donc `CLAUDE_CODE_MAX_CONTEXT_TOKENS` s'applique lorsqu'il s'appliquerait à cette orthographe sans étiquette.

845 849 

846 Avec une fenêtre déclarée supérieure à 200 K, Claude Code affiche alors un [avertissement au démarrage](/docs/fr/errors#the-200k-limit-isnt-enforced) indiquant que la limite de 200 K n'est pas appliquée. L'avertissement est attendu dans cette configuration.850 Avec une fenêtre déclarée supérieure à 200 K, l'avertissement indiquant que [la limite de 200 K n'est pas appliquée](/docs/fr/errors#the-200k-limit-isnt-enforced) est attendu dans cette configuration.

847* Si l'ID se résout en un modèle que Claude Code reconnaît, ou si l'ID est un nom `claude-` simple sans suffixe pour Claude Code à supprimer, en toute casse, la variable ne prend effet que lorsque vous définissez également [`DISABLE_COMPACT`](/docs/fr/env-vars), ce qui désactive toute compaction.851* Si l'ID se résout en un modèle que Claude Code reconnaît, ou si l'ID est un nom `claude-` simple sans suffixe pour Claude Code à supprimer, en toute casse, la variable ne prend effet que lorsque vous définissez également [`DISABLE_COMPACT`](/docs/fr/env-vars), ce qui désactive toute compaction.

848 852 

849 Par exemple, un ID qui contient un nom de modèle Claude que Claude Code connaît, comme `anthropic/claude-opus-4-8`, `us.anthropic.claude-…-v1:0`, ou le daté `claude-sonnet-4-5@20250929`, se résout en ce modèle. Cela inclut les ID qui contiennent également `[1m]` : Claude Code résout `claude-opus-4-8[1m]` en Opus 4.8 même avec `CLAUDE_CODE_DISABLE_1M_CONTEXT` défini.853 Par exemple, un ID qui contient un nom de modèle Claude que Claude Code connaît, comme `anthropic/claude-opus-4-8`, `us.anthropic.claude-…-v1:0`, ou le daté `claude-sonnet-4-5@20250929`, se résout en ce modèle. Cela inclut les ID qui contiennent également `[1m]` : Claude Code résout `claude-opus-4-8[1m]` en Opus 4.8 même avec `CLAUDE_CODE_DISABLE_1M_CONTEXT` défini.

Details

220| `claude.ai` | Authentification du compte claude.ai |220| `claude.ai` | Authentification du compte claude.ai |

221| `claude.com` | La connexion au compte claude.ai ouvre une page `claude.com` dans le navigateur, qui redirige vers `claude.ai` ; les recherches de documentation WebFetch pré-approuvées atteignent également cet hôte depuis l'interface de ligne de commande |221| `claude.com` | La connexion au compte claude.ai ouvre une page `claude.com` dans le navigateur, qui redirige vers `claude.ai` ; les recherches de documentation WebFetch pré-approuvées atteignent également cet hôte depuis l'interface de ligne de commande |

222| `platform.claude.com` | Authentification du compte Anthropic Console. L'échange, l'actualisation et la révocation des jetons OAuth vont également à cet hôte pour les comptes claude.ai, donc les connexions à la fois à Console et à claude.ai le nécessitent |222| `platform.claude.com` | Authentification du compte Anthropic Console. L'échange, l'actualisation et la révocation des jetons OAuth vont également à cet hôte pour les comptes claude.ai, donc les connexions à la fois à Console et à claude.ai le nécessitent |

223| `sso.claude.com` | Fait partie du flux de connexion par navigateur pour les organisations qui utilisent l'authentification unique (SSO). Si un proxy bloque cet hôte, ces connexions peuvent échouer |

223| `mcp-proxy.anthropic.com` | [Connecteurs MCP depuis claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai), y compris les connecteurs qu'un administrateur d'organisation configure. Le trafic des connecteurs est acheminé via ce proxy ; les connecteurs sont activés par défaut pour les utilisateurs authentifiés par claude.ai. Pour empêcher Claude Code de les récupérer, définissez [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/docs/fr/env-vars) ou le paramètre [`disableClaudeAiConnectors`](/docs/fr/settings-reference#disableclaudeaiconnectors) |224| `mcp-proxy.anthropic.com` | [Connecteurs MCP depuis claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai), y compris les connecteurs qu'un administrateur d'organisation configure. Le trafic des connecteurs est acheminé via ce proxy ; les connecteurs sont activés par défaut pour les utilisateurs authentifiés par claude.ai. Pour empêcher Claude Code de les récupérer, définissez [`ENABLE_CLAUDEAI_MCP_SERVERS=false`](/docs/fr/env-vars) ou le paramètre [`disableClaudeAiConnectors`](/docs/fr/settings-reference#disableclaudeaiconnectors) |

224| `downloads.claude.ai` | Téléchargements d'exécutables de plugins ; programme d'installation natif, mise à jour automatique native et vérifications de version de mise à jour |225| `downloads.claude.ai` | Téléchargements d'exécutables de plugins ; programme d'installation natif, mise à jour automatique native et vérifications de version de mise à jour |

225| `storage.googleapis.com` | Comptages d'installation de plugins et métadonnées affichées dans `/plugin` |226| `storage.googleapis.com` | Comptages d'installation de plugins et métadonnées affichées dans `/plugin` |

overview.md +5 −5

Details

22 22 

23**macOS, Linux, WSL :**23**macOS, Linux, WSL :**

24 24 

25```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}25```bash theme={null}

26curl -fsSL https://claude.ai/install.sh | bash26curl -fsSL https://claude.ai/install.sh | bash

27```27```

28 28 


30 30 

31**Windows PowerShell :**31**Windows PowerShell :**

32 32 

33```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}33```powershell theme={null}

34irm https://claude.ai/install.ps1 | iex34irm https://claude.ai/install.ps1 | iex

35```35```

36 36 

37**Windows CMD :**37**Windows CMD :**

38 38 

39```batch theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}39```batch theme={null}

40curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd40curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

41```41```

42 42 


54 54 

55**Homebrew**55**Homebrew**

56 56 

57```bash theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}57```bash theme={null}

58brew install --cask claude-code58brew install --cask claude-code

59```59```

60 60 


66 66 

67**WinGet**67**WinGet**

68 68 

69```powershell theme={null} theme={null} theme={null} theme={null} theme={null} theme={null} theme={null}69```powershell theme={null}

70winget install Anthropic.ClaudeCode70winget install Anthropic.ClaudeCode

71```71```

72 72 

Details

172 172 

173Observez la barre d'état dans cet extrait d'une session démarrée en mode auto. Chaque fois que vous appuyez sur `Shift+Tab`, elle passe de `auto mode on` à `manual mode on`, `accept edits on`, `plan mode on`, puis revient à `auto mode on`.173Observez la barre d'état dans cet extrait d'une session démarrée en mode auto. Chaque fois que vous appuyez sur `Shift+Tab`, elle passe de `auto mode on` à `manual mode on`, `accept edits on`, `plan mode on`, puis revient à `auto mode on`.

174 174 

175<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/oa7CKjMeIChox26S/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=oa7CKjMeIChox26S&q=85&s=198ca90aeb2e3675b3d01b7d686aab0b" aria-label="La barre d'état sous la zone de saisie de Claude Code change à chaque appui sur Shift+Tab : auto mode on, manual mode on, accept edits on, plan mode on, puis de nouveau auto mode on." />175<video autoPlay muted loop playsInline src="https://mintcdn.com/claude-code/tA-x-5L2YsYSVdee/images/permission-modes-cycle-light.mp4?fit=max&auto=format&n=tA-x-5L2YsYSVdee&q=85&s=3927dd62d59b01efd81b3578f2a6f971" aria-label="La barre d'état sous la zone de saisie de Claude Code change à chaque appui sur Shift+Tab : auto mode on, manual mode on, accept edits on, plan mode on, puis de nouveau auto mode on." />

176 176 

177Tous les modes ne sont pas dans le cycle par défaut :177Tous les modes ne sont pas dans le cycle par défaut :

178 178 


236* **Auto** : apparaît quand le [mode auto est disponible](#eliminate-prompts-with-auto-mode)236* **Auto** : apparaît quand le [mode auto est disponible](#eliminate-prompts-with-auto-mode)

237* **Bypass permissions** : nécessite le bouton bascule **Allow bypass permissions mode** dans les paramètres Desktop sur les plans Pro et Max ; sur les plans Team et Enterprise, la politique organisationnelle le contrôle à la place237* **Bypass permissions** : nécessite le bouton bascule **Allow bypass permissions mode** dans les paramètres Desktop sur les plans Pro et Max ; sur les plans Team et Enterprise, la politique organisationnelle le contrôle à la place

238 238 

239L'onglet Cowork n'utilise pas ces modes. Cowork a ses propres modes de permission, activés séparément, et l'onglet Cowork n'affiche aucun sélecteur de mode du tout jusqu'à ce qu'un mode au-delà de sa valeur par défaut soit activé pour votre compte. Voir la [documentation Cowork](https://claude.com/docs/cowork/overview).239Cowork n'utilise pas ces modes. Il dispose de ses propres modes de permission, activés séparément, et n'affiche aucun sélecteur de mode du tout jusqu'à ce qu'un mode autre que celui par défaut soit activé pour votre compte. Voir la [documentation Cowork](https://claude.com/docs/cowork/overview).

240 240 

241Pour les détails spécifiques au bureau, voir [Choisir un mode de permission](/docs/fr/desktop#choose-a-permission-mode) dans le guide Desktop.241Pour les détails spécifiques au bureau, voir [Choisir un mode de permission](/docs/fr/desktop#choose-a-permission-mode) dans le guide Desktop.

242 242 


579>579>

580> Un [mod](/docs/fr/plugins/mods/overview) que vous installez et qui gère `tool.check` peut également approuver une action. Pour les cas où son approbation ne passe pas outre vos règles et vos hooks, voir [Étendre les permissions avec des hooks](/docs/fr/permissions#precedence-among-rules-hooks-and-mods).580> Un [mod](/docs/fr/plugins/mods/overview) que vous installez et qui gère `tool.check` peut également approuver une action. Pour les cas où son approbation ne passe pas outre vos règles et vos hooks, voir [Étendre les permissions avec des hooks](/docs/fr/permissions#precedence-among-rules-hooks-and-mods).

581>581>

582> Dans l'extension VS Code, la façon dont les actions du navigateur [Claude dans Chrome](/docs/fr/chrome) sont approuvées dépend de la manière dont la session s'est connectée au navigateur : voir [Demandes de permission dans les sessions VS Code](/docs/fr/chrome#permission-prompts-in-vs-code-sessions).582> Pour savoir comment les actions du navigateur [Claude dans Chrome](/docs/fr/chrome) sont approuvées dans l'extension VS Code, voir [Demandes de permission dans les sessions VS Code](/docs/fr/chrome#permission-prompts-in-vs-code-sessions).

583>583>

584> En entrant en mode auto, les règles allow larges qui accordent l'exécution de code arbitraire sont supprimées :584> En entrant en mode auto, les règles allow larges qui accordent l'exécution de code arbitraire sont supprimées :

585>585>


667* **Si vous acceptez** : Claude Code définit `skipDangerousModePermissionPrompt` sur `true` dans `~/.claude/settings.json`, de sorte que les sessions ultérieures ignorent le dialogue. Pour voir le dialogue à nouveau, supprimez la clé de ce fichier ou définissez-la sur `false`. La [référence `skipDangerousModePermissionPrompt`](/docs/fr/settings-reference#skipdangerousmodepermissionprompt) énumère les autres fichiers de paramètres où vous ou votre organisation pouvez le définir.667* **Si vous acceptez** : Claude Code définit `skipDangerousModePermissionPrompt` sur `true` dans `~/.claude/settings.json`, de sorte que les sessions ultérieures ignorent le dialogue. Pour voir le dialogue à nouveau, supprimez la clé de ce fichier ou définissez-la sur `false`. La [référence `skipDangerousModePermissionPrompt`](/docs/fr/settings-reference#skipdangerousmodepermissionprompt) énumère les autres fichiers de paramètres où vous ou votre organisation pouvez le définir.

668* **Si vous refusez** : Claude Code quitte.668* **Si vous refusez** : Claude Code quitte.

669 669 

670En [mode non interactif](/docs/fr/headless), aucun dialogue n'est affiché. Une [session en arrière-plan](/docs/fr/agent-view) respecte votre acceptation lorsqu'elle est enregistrée dans les paramètres utilisateur ou les paramètres gérés :670En [mode non interactif](/docs/fr/headless), aucun dialogue n'est affiché.

671 

672Une [session en arrière-plan](/docs/fr/agent-view) respecte votre acceptation lorsqu'elle est enregistrée dans les paramètres utilisateur ou les paramètres gérés :

673 

674* Sans acceptation enregistrée, `claude --bg --permission-mode bypassPermissions` est refusé. Acceptez d'abord le dialogue dans une session interactive.

675* Avec `skipDangerousModePermissionPrompt` défini uniquement dans `.claude/settings.local.json`, la session en arrière-plan démarre en [ignorant la demande de contournement](#bypass-permissions-ignored-in-a-background-session) :

671 676 

672* Sans acceptation enregistrée, `claude --bg --permission-mode bypassPermissions` est refusé jusqu'à ce que vous acceptiez le dialogue dans une session interactive.

673* Avec `skipDangerousModePermissionPrompt` défini uniquement dans `.claude/settings.local.json`, la session en arrière-plan démarre en ignorant la demande de contournement et épingle l'avis `Bypass permissions was requested at launch and ignored · if that was you, ~/.claude/settings.json needs "skipDangerousModePermissionPrompt": true`. Ajoutez cette clé à `~/.claude/settings.json`, puis démarrez une nouvelle session en arrière-plan. La session qui affiche l'avis continue de s'exécuter :

674 * Lorsque `--allow-dangerously-skip-permissions` est ignoré, `bypassPermissions` est exclu de son cycle `Shift+Tab`.677 * Lorsque `--allow-dangerously-skip-permissions` est ignoré, `bypassPermissions` est exclu de son cycle `Shift+Tab`.

675 * Lorsque `--permission-mode bypassPermissions` ou `--dangerously-skip-permissions` est ignoré, la session démarre plutôt en mode Manual.678 * Lorsque `--permission-mode bypassPermissions` ou `--dangerously-skip-permissions` est ignoré, la session démarre plutôt en mode Manual.

676 679 

680 Ajoutez `"skipDangerousModePermissionPrompt": true` à `~/.claude/settings.json`, puis démarrez une nouvelle session en arrière-plan.

681 

677Sur Linux et macOS, Claude Code refuse de démarrer en mode `bypassPermissions` lors de l'exécution en tant que root ou sous `sudo` :682Sur Linux et macOS, Claude Code refuse de démarrer en mode `bypassPermissions` lors de l'exécution en tant que root ou sous `sudo` :

678 683 

679```text theme={null}684```text theme={null}


688>693>

689> `bypassPermissions` n'offre aucune protection contre l'injection de prompt ou les actions involontaires. Pour les contrôles de sécurité en arrière-plan avec beaucoup moins d'invites de permission, utilisez le [mode auto](#eliminate-prompts-with-auto-mode) à la place. Les administrateurs peuvent bloquer ce mode en définissant `permissions.disableBypassPermissionsMode` sur `"disable"` dans les [paramètres gérés](/docs/fr/managed-settings).694> `bypassPermissions` n'offre aucune protection contre l'injection de prompt ou les actions involontaires. Pour les contrôles de sécurité en arrière-plan avec beaucoup moins d'invites de permission, utilisez le [mode auto](#eliminate-prompts-with-auto-mode) à la place. Les administrateurs peuvent bloquer ce mode en définissant `permissions.disableBypassPermissionsMode` sur `"disable"` dans les [paramètres gérés](/docs/fr/managed-settings).

690 695 

696### Contournement des permissions ignoré dans une session en arrière-plan

697 

698Cet avis signifie que la [session en arrière-plan](/docs/fr/agent-view) n'a pas trouvé votre acceptation de l'[avertissement de contournement des permissions](#bypass-permissions-acceptance) dans les paramètres utilisateur ou les paramètres gérés, et qu'elle a donc ignoré la demande de contournement faite au lancement :

699 

700```text theme={null}

701Bypass permissions was requested at launch and ignored · if that was you, ~/.claude/settings.json needs "skipDangerousModePermissionPrompt": true

702```

703 

704Ajoutez `"skipDangerousModePermissionPrompt": true` à `~/.claude/settings.json`, puis démarrez une nouvelle session en arrière-plan.

705 

706### `claude agents` affiche l'avertissement de contournement des permissions que les sessions interactives ignorent

707 

708Si [`claude agents`](/docs/fr/agent-view#dispatch-defaults) affiche l'[avertissement de contournement des permissions](#bypass-permissions-acceptance) alors que vos sessions interactives l'ignorent, vérifiez si `skipDangerousModePermissionPrompt` est défini dans `.claude/settings.local.json` ou dans un fichier `--settings`. Les sessions interactives considèrent la clé à cet endroit comme votre acceptation de l'avertissement, mais pas `claude agents`. Que vous l'y trouviez ou non, acceptez l'avertissement pour ajouter la clé à `~/.claude/settings.json`, où `claude agents` la recherche.

709 

691## Chemins protégés710## Chemins protégés

692 711 

693Les écritures vers un petit ensemble de chemins ne sont jamais approuvées automatiquement, sauf en mode `bypassPermissions` et dans les sessions de terminal interactif en mode plan avec les [autorisations de contournement](#skip-all-checks-with-bypasspermissions-mode) disponibles. Cela empêche la corruption accidentelle de l'état du référentiel et de la configuration propre de Claude.712Les écritures vers un petit ensemble de chemins ne sont jamais approuvées automatiquement, sauf en mode `bypassPermissions` et dans les sessions de terminal interactif en mode plan avec les [autorisations de contournement](#skip-all-checks-with-bypasspermissions-mode) disponibles. Cela empêche la corruption accidentelle de l'état du référentiel et de la configuration propre de Claude.

permissions.md +29 −6

Details

202}202}

203```203```

204 204 

205Les règles d'autorisation acceptent les globs de nom d'outil uniquement après un préfixe littéral `mcp__<server>__`. Le segment serveur doit être exempt de glob afin que la règle nomme un serveur spécifique que vous avez configuré. `mcp__puppeteer__*` correspond à chaque outil du serveur `puppeteer`, et `mcp__github__get_*` correspond à ses outils `get_`. Un glob d'autorisation non ancré tel que `"*"`, `"B*"`, ou `"mcp__*"` est ignoré avec un avertissement et n'approuve automatiquement rien.205Les règles d'autorisation acceptent les globs de nom d'outil uniquement après un préfixe littéral `mcp__<server>__`. Le segment serveur doit être exempt de glob afin que la règle nomme un serveur spécifique que vous avez configuré. `mcp__puppeteer__*` correspond à chaque outil du serveur `puppeteer`, et `mcp__github__get_*` correspond à ses outils `get_`. Un glob d'autorisation non ancré tel que `"*"`, `"B*"`, ou `"mcp__*"` est ignoré et n'approuve automatiquement rien.

206 206 

207Une règle de refus ou de demande dont le nom d'outil ne correspond à aucun outil connu produit un avertissement au démarrage pour détecter les fautes de frappe. Les noms d'outils contenant `_` ou `*` sont exemptés de la vérification, et il en va de même pour les noms des outils que Claude Code a supprimés, comme `TaskOutput`.207Une règle de refus ou de demande dont le nom d'outil ne correspond à aucun outil connu produit un [avertissement au démarrage](/docs/fr/errors#matches-no-tool) pour détecter les fautes de frappe. Les noms d'outils contenant `_` ou `*` sont exemptés de la vérification, et il en va de même pour les noms des outils que Claude Code a supprimés, comme `TaskOutput`.

208 208 

209L'étiquette affichée pour un outil dans la transcription et la boîte de dialogue d'autorisation peut différer de son nom canonique. Par exemple, l'outil étiqueté `Stop Task` dans la transcription a le nom canonique `TaskStop`. Les règles d'autorisation et les [correspondances de hook](/docs/fr/hooks) ne correspondent pas à l'étiquette, donc une règle écrite comme `Stop Task` ne correspond pas. Pour les règles de refus et de demande, l'avertissement au démarrage ci-dessus détecte l'inadéquation. Utilisez les noms canoniques listés dans la [référence des outils](/docs/fr/tools-reference).209L'étiquette affichée pour un outil dans la transcription et la boîte de dialogue d'autorisation peut différer de son nom canonique. Par exemple, l'outil étiqueté `Stop Task` dans la transcription a le nom canonique `TaskStop`. Les règles d'autorisation et les [correspondances de hook](/docs/fr/hooks) ne correspondent pas à l'étiquette, donc une règle écrite comme `Stop Task` ne correspond pas. Pour les règles de refus et de demande, l'avertissement au démarrage ci-dessus détecte l'inadéquation. Utilisez les noms canoniques listés dans la [référence des outils](/docs/fr/tools-reference).

210 210 


241Une règle de préfixe comme `Bash(watch *)` ou `Bash(find *)` ne peut pas approuver automatiquement les commandes suivantes. En mode Manual, elles déclenchent donc une demande de permission :241Une règle de préfixe comme `Bash(watch *)` ou `Bash(find *)` ne peut pas approuver automatiquement les commandes suivantes. En mode Manual, elles déclenchent donc une demande de permission :

242 242 

243* **Wrappers d'exécution** : comme `watch`, `setsid`, `ionice` et `flock`243* **Wrappers d'exécution** : comme `watch`, `setsid`, `ionice` et `flock`

244* **`find`** : avec une action qui exécute des commandes, supprime des fichiers ou écrit des fichiers, comme `-exec`, `-delete` ou `-fprint`, ou avec `-files0-from`, qui lit dans un fichier les chemins à rechercher244* **`find`** : avec une action qui exécute des commandes, supprime des fichiers ou écrit des fichiers, comme `-exec`, `-delete`, `-rm` ou `-fprint`, ou avec `-files0-from`, qui lit dans un fichier les chemins à rechercher

245 245 

246Pour approuver une invocation spécifique qui ne contient pas de `*`, écrivez une règle de correspondance exacte pour la chaîne de commande complète, comme `Bash(find build -type f -delete)`.246Pour approuver une invocation spécifique qui ne contient pas de `*`, écrivez une règle de correspondance exacte pour la chaîne de commande complète, comme `Bash(find build -type f -delete)`.

247 247 


460 460 

461Grep et Glob effectuent leur recherche dans le répertoire vers lequel l'argument `path` est résolu. Claude Code applique les règles `Read` deny à ce répertoire.461Grep et Glob effectuent leur recherche dans le répertoire vers lequel l'argument `path` est résolu. Claude Code applique les règles `Read` deny à ce répertoire.

462 462 

463##### Pièces jointes via un lien symbolique

464 

465Une règle `Read` deny couvre également les pièces jointes suivantes, en faisant correspondre chacune soit au chemin indiqué, soit au fichier vers lequel il est résolu. Claude Code exclut une pièce jointe de la conversation lorsqu'une règle lui correspond :

466 

467* **Mentions `@`** : un fichier ou un répertoire que vous mentionnez dans votre prompt. Un fichier refusé ne laisse rien dans la conversation, et la [liste d'un répertoire](#read-and-edit) omet les noms couverts par une règle.

468* **Images collées** : une image dont vous collez ou faites glisser le chemin dans le prompt dans le terminal

469* **Fichiers modifiés** : un fichier que Claude Code relit après sa modification sur le disque

470* **Contexte de l'IDE** : la sélection et le contexte des fichiers ouverts qu'un IDE connecté partage

471 

472Lorsque [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) est activé, ou dans une session [`--restricted`](/docs/fr/cli-reference#cli-flags), ces pièces jointes sont également exclues lorsqu'elles proviennent d'un chemin où ce paramètre ou ce flag refuse les lectures de fichiers de Claude.

473 

474Si cette ligne apparaît à la place d'un fichier que vous avez mentionné avec `@`, cela signifie que Claude Code n'a pas pu déterminer où mène le chemin, par exemple parce que ses liens symboliques forment une boucle :

475 

476```text theme={null}

477Referenced <path> (not read: could not be examined)

478```

479 

480Claude reçoit alors l'instruction de lire le chemin avec ses outils de fichiers, ce qui peut réussir lorsque Claude Code a simplement manqué de temps pour examiner le chemin.

481 

482Lorsque les liens symboliques du chemin ne sont pas résolus, cette lecture est également [refusée](/docs/fr/errors#refusing-after-a-symlink-changed) ; corrigez donc le lien sur le disque ou mentionnez le fichier avec `@` via un chemin qui peut être résolu.

483 

463##### Écritures via un lien symbolique484##### Écritures via un lien symbolique

464 485 

465Si le chemin que Claude demande de modifier ou d'écrire est lui-même un lien symbolique, les outils Edit et Write [refusent l'écriture et redirigent Claude vers la cible du lien](/docs/fr/errors#refusing-after-a-symlink-changed).486Si le chemin que Claude demande de modifier ou d'écrire est lui-même un lien symbolique, les outils Edit et Write [refusent l'écriture et redirigent Claude vers la cible du lien](/docs/fr/errors#refusing-after-a-symlink-changed).


489 510 

490Pour lire des fichiers sur un partage réseau sans cette demande, donnez d'abord au partage un chemin local :511Pour lire des fichiers sur un partage réseau sans cette demande, donnez d'abord au partage un chemin local :

491 512 

492* **Windows** : mappez le partage à une lettre de lecteur et passez ce lecteur avec `--add-dir` lorsque vous lancez Claude Code, comme décrit dans [Répertoires de travail](#working-directories)513* **Windows** : mappez le partage à une lettre de lecteur et passez ce lecteur avec `--add-dir` lorsque vous lancez Claude Code, comme décrit dans [Répertoires de travail](#working-directories). Les lectures sous un lecteur que vous ajoutez ultérieurement avec `/add-dir`, ou que vous listez dans `additionalDirectories` dans un fichier de paramètres, déclenchent toujours une demande. Pour supprimer ces demandes pour un partage mappé sur `Z:`, démarrez une nouvelle session dans PowerShell avec `claude --add-dir Z:\`.

493* **macOS et Linux** : montez le partage sur un chemin local, comme un répertoire sous `/mnt` ou `/Volumes`, et lisez les fichiers depuis cet emplacement, comme décrit dans [Working directory is a network path](/docs/fr/errors#working-directory-is-a-network-path)514* **macOS et Linux** : montez le partage sur un chemin local, comme un répertoire sous `/mnt` ou `/Volumes`, et lisez les fichiers depuis cet emplacement, comme décrit dans [Working directory is a network path](/docs/fr/errors#working-directory-is-a-network-path)

494 515 

495### WebFetch516### WebFetch


545 566 

546* **Noms comportant des caractères comme `.` ou des espaces** : ces caractères deviennent `_` ; pour un serveur que vous avez configuré sous le nom `my.server`, écrivez donc `mcp__my_server__*`567* **Noms comportant des caractères comme `.` ou des espaces** : ces caractères deviennent `_` ; pour un serveur que vous avez configuré sous le nom `my.server`, écrivez donc `mcp__my_server__*`

547* **Serveurs fournis par un plugin** : `<server>` prend la [forme propre au plugin](/docs/fr/mcp#plugin-provided-mcp-servers) ; pour le serveur `database-tools` d'un plugin nommé `my-plugin`, écrivez donc `mcp__plugin_my-plugin_database-tools__*`568* **Serveurs fournis par un plugin** : `<server>` prend la [forme propre au plugin](/docs/fr/mcp#plugin-provided-mcp-servers) ; pour le serveur `database-tools` d'un plugin nommé `my-plugin`, écrivez donc `mcp__plugin_my-plugin_database-tools__*`

548* **Un `<server>` qui contient `__` ou se termine par `_`** : écrivez la forme avec caractère générique, `mcp__<server>__*`, avec le nom complet. Pour un serveur nommé `reports__v2`, écrivez `mcp__reports__v2__*`. La forme nue `mcp__reports__v2` et la forme plus courte `mcp__reports` ne correspondent pas à ses outils en tant que règles allow, car Claude Code les interprète toutes deux comme des règles pour un serveur nommé `reports`569* **Un `<server>` qui contient `__` ou se termine par `_`** : écrivez la forme avec caractère générique, `mcp__<server>__*`, avec le nom complet. Pour un serveur nommé `reports__v2`, écrivez `mcp__reports__v2__*`. La forme nue `mcp__reports__v2` et la forme plus courte `mcp__reports` ne correspondent pas à ses outils en tant que règles allow, car Claude Code les interprète toutes deux comme des règles pour un serveur nommé `reports`.

570 

571 En tant que règle deny ou ask, en revanche, chacun de ces deux noms couvre aussi tous les outils du serveur `reports__v2`. Pour couvrir uniquement un serveur nommé `reports`, écrivez une règle par outil sous la forme `mcp__reports__<tool>`, ou renommez l'un des serveurs.

549 572 

550Si votre organisation a défini un outil de [connecteur claude.ai](/docs/fr/mcp#organization-controls-on-connector-tools) sur `ask` et que ce paramètre parvient à Claude Code dans votre session, les règles allow pour cet outil ne prennent pas effet : Claude Code demande une permission à chaque appel, même dans les modes `auto` et `bypassPermissions`. En mode `dontAsk`, qui ne demande jamais de permission, Claude Code refuse plutôt l'appel. Les outils des connecteurs que Claude Code récupère lui-même apparaissent sous la forme `mcp__claude_ai_<server>__<tool>`.573Si votre organisation a défini un outil de [connecteur claude.ai](/docs/fr/mcp#organization-controls-on-connector-tools) sur `ask` et que ce paramètre parvient à Claude Code dans votre session, les règles allow pour cet outil ne prennent pas effet : Claude Code demande une permission à chaque appel, même dans les modes `auto` et `bypassPermissions`. En mode `dontAsk`, qui ne demande jamais de permission, Claude Code refuse plutôt l'appel. Les outils des connecteurs que Claude Code récupère lui-même apparaissent sous la forme `mcp__claude_ai_<server>__<tool>`.

551 574 


593 616 

594Les décisions du hook PreToolUse ne contournent pas les règles d'autorisation. Claude Code évalue les règles de refus et de demande indépendamment de ce qu'un hook PreToolUse retourne : une règle de refus correspondante bloque l'appel, et une règle de demande correspondante demande toujours même lorsque le hook a retourné `"allow"` ou `"ask"`. Cela préserve la précédence de refus en premier décrite dans [Gérer les autorisations](#manage-permissions), y compris les règles de refus définies dans les paramètres gérés.617Les décisions du hook PreToolUse ne contournent pas les règles d'autorisation. Claude Code évalue les règles de refus et de demande indépendamment de ce qu'un hook PreToolUse retourne : une règle de refus correspondante bloque l'appel, et une règle de demande correspondante demande toujours même lorsque le hook a retourné `"allow"` ou `"ask"`. Cela préserve la précédence de refus en premier décrite dans [Gérer les autorisations](#manage-permissions), y compris les règles de refus définies dans les paramètres gérés.

595 618 

596Cette priorité couvre les hooks dans les fichiers de paramètres et dans le fichier `hooks/hooks.json` d'un plugin. Un [mod](/docs/fr/plugins/mods/overview) que vous installez et qui gère l'événement [`tool.check`](/docs/fr/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) donne sa réponse après que les règles de permission et les hooks `PreToolUse` ont décidé. Avec des [paramètres gérés](/docs/fr/settings#check-what-your-organization-enforces) sur la machine, ou une connexion [`/login`](/docs/fr/authentication#authentication-precedence) Team ou Enterprise comme identifiants de la session, ces résultats restent en place par défaut lorsque le mod approuve un appel :619Cette priorité couvre les hooks dans les fichiers de paramètres et dans le fichier `hooks/hooks.json` d'un plugin. Un [mod](/docs/fr/plugins/mods/overview) que vous installez et qui gère l'événement [`tool.check`](/docs/fr/plugins/mods/events#approve-or-refuse-a-tool-call-before-the-user-is-asked) donne sa réponse après l'exécution des hooks `PreToolUse`. Avec des [paramètres gérés](/docs/fr/settings#check-what-your-organization-enforces) sur la machine, ou une connexion [`/login`](/docs/fr/authentication#authentication-precedence) Team ou Enterprise comme identifiants de la session, ces résultats restent en place par défaut lorsque le mod approuve un appel :

597 620 

598* Un appel qu'une règle de refus refuse reste refusé, et votre organisation peut modifier cela.621* Un appel qu'une règle de refus refuse reste refusé, et votre organisation peut modifier cela.

599* Un appel pour lequel une règle de demande vous solliciterait continue de vous solliciter.622* Un appel pour lequel une règle de demande vous solliciterait continue de vous solliciter.

Details

36 36 

37Le `text` que vous retournez s'affiche dans la transcription et Claude le lit. Pour ne rien imprimer, comme une commande qui ouvre seulement un [volet](/docs/fr/plugins/mods/interface#pick-where-to-draw), retournez `{}`. Pour laisser la commande s'exécuter pendant que Claude travaille, ajoutez `immediate: true` à l'enregistrement.37Le `text` que vous retournez s'affiche dans la transcription et Claude le lit. Pour ne rien imprimer, comme une commande qui ouvre seulement un [volet](/docs/fr/plugins/mods/interface#pick-where-to-draw), retournez `{}`. Pour laisser la commande s'exécuter pendant que Claude travaille, ajoutez `immediate: true` à l'enregistrement.

38 38 

39Choisissez un nom qu'aucune commande intégrée n'utilise. Tapez `/` dans une session pour les voir. `$.command.register` lève une exception pour un nom pris, avec un message tel que `"/focus" refused: it is the built-in /focus"`. Un hook qui lève une exception est ignoré, donc le reste de votre hook `session.start` ne s'exécute pas non plus. Enregistrez les commandes en dernier dans ce hook, ou enveloppez l'appel dans `try` et `catch`.39Choisissez un nom qu'aucune commande intégrée n'utilise. Tapez `/` dans une session pour les voir. `$.command.register` lève une exception pour un nom pris, avec un message tel que `"/focus" refused: it is the built-in /focus`. Un hook qui lève une exception est ignoré, donc le reste de votre hook `session.start` ne s'exécute pas non plus. Enregistrez les commandes en dernier dans ce hook, ou enveloppez l'appel dans `try` et `catch`.

40 40 

41### Ajouter un outil41### Ajouter un outil

42 42 


211| `$.ui.status(text)` | Une ligne sous l'invite qui reste jusqu'à ce que vous la changiez. Elle commence par `⚠` et le nom du mod, comme dans `⚠ my-mod: checks: 3 passing`. |211| `$.ui.status(text)` | Une ligne sous l'invite qui reste jusqu'à ce que vous la changiez. Elle commence par `⚠` et le nom du mod, comme dans `⚠ my-mod: checks: 3 passing`. |

212| `$.ui.toast(text)` | Une notification toast avec le nom du mod qui disparaît après quelques secondes. Il s'agit d'une boîte en haut à droite en [rendu plein écran](/docs/fr/fullscreen), et d'une ligne à droite sous l'invite dans le moteur de rendu classique. |212| `$.ui.toast(text)` | Une notification toast avec le nom du mod qui disparaît après quelques secondes. Il s'agit d'une boîte en haut à droite en [rendu plein écran](/docs/fr/fullscreen), et d'une ligne à droite sous l'invite dans le moteur de rendu classique. |

213| `$.ui.log(text)` | Une ligne atténuée dans la transcription que Claude ne lit pas. Elle commence par `●` et le nom du mod, comme dans `● my-mod: build finished`. |213| `$.ui.log(text)` | Une ligne atténuée dans la transcription que Claude ne lit pas. Elle commence par `●` et le nom du mod, comme dans `● my-mod: build finished`. |

214| `$.ui.notify(text)` | Une notification de son terminal, en dehors de Claude Code, envoyée de la manière qu'indique son paramètre [`preferredNotifChannel`](/docs/fr/settings-reference#preferrednotifchannel). Le nom du mod en est le titre, sauf si vous passez un `{ title }` non vide, qui est affiché tel que vous le fournissez. |

215 

216`$.ui.notify` est le seul de ces appels qui répond. Il se résout en `{ isSent: true, channel }` quand le canal de l'utilisateur a écrit la notification dans son terminal. `channel` est la valeur du paramètre qui l'a envoyée, comme `kitty` ou `terminal_bell`. Le canal `terminal_bell` fait sonner la cloche et n'affiche ni votre texte ni le titre.

217 

218Sinon, l'appel se résout en `{ isSent: false, reason }` :

219 

220| `reason` | Signification |

221| :- | :- |

222| `disabled` | L'utilisateur a défini `preferredNotifChannel` sur `notifications_disabled` |

223| `no-channel` | Le paramètre est `auto` et son terminal n'a aucune notification que Claude Code peut envoyer |

224| `no-surface` | La session n'a pas de terminal, comme dans une exécution `-p`, l'Agent SDK, l'application de bureau, l'extension VS Code ou une session cloud. C'est aussi la réponse à un appel effectué avant le démarrage de la session, pendant le chargement de votre mod, et à un appel effectué pendant que Claude Code se ferme |

225| `refused` | Le hook d'un autre mod sur `ui.notify` a répondu à la place de Claude Code sans envoyer |

226 

227L'appel rejette au lieu de se résoudre quand `text` n'est pas une chaîne, quand le hook d'un autre mod sur `ui.notify` retourne `{ deny }`, ou quand l'écriture dans le terminal échoue.

228 

229Votre mod ne peut pas choisir le canal, et Claude Code ne limite pas la fréquence à laquelle un mod envoie des notifications. Le paramètre de l'utilisateur est le seul interrupteur.

230 

231Quand l'appel atteint une session en cours, les [hooks `Notification`](/docs/fr/hooks#notification) de l'utilisateur s'exécutent avec le type `plugin_notification`. Ils s'exécutent même quand la réponse est `disabled`, et dans une session sans terminal, où la réponse est `no-surface`. Aucun hook ne s'exécute pour un appel effectué avant le démarrage de la session ou pendant que Claude Code se ferme. Le hook depuis lequel votre mod a appelé `$.ui.notify` est exclu de cette exécution, de sorte qu'un hook `classic.Notification` qui envoie une notification n'est pas rappelé pour sa propre notification.

232 

233Un terminal n'indique pas s'il a affiché la notification, donc `isSent: true` signifie qu'elle a été envoyée, et non que l'utilisateur l'a vue.

234 

235Cet exemple envoie une notification quand le tour de la conversation principale se termine sans interruption, et se rabat sur un toast quand aucune notification avec du texte n'est partie. Il n'attend pas la notification avant de transmettre l'événement, car les hooks `Notification` de l'utilisateur s'exécutent d'abord et peuvent prendre un certain temps :

236 

237```javascript theme={null}

238on('turn.complete', ($, e, next) => {

239 const isMainTurn = e.agentId === undefined && !e.isAborted

240 const fallBack = () => $.ui.toast('Turn finished')

241 if (isMainTurn) {

242 $.ui.notify('Turn finished').then(sent => {

243 const hasText = sent.isSent && sent.channel !== 'terminal_bell'

244 if (!hasText) fallBack()

245 }, fallBack)

246 }

247 return next(e)

248})

249```

214 250 

215Dans l'[extension VS Code](/docs/fr/plugins/mods/interface#draw-in-the-vs-code-extension), les lignes de statut et les toasts s'affichent plutôt au-dessus de la zone de saisie du prompt, et les lignes de log dans la conversation.251Dans l'[extension VS Code](/docs/fr/plugins/mods/interface#draw-in-the-vs-code-extension), les lignes de statut et les toasts s'affichent plutôt au-dessus de la zone de saisie du prompt, et les lignes de log dans la conversation.

216 252 

Details

181 181 

182#### Approuver ou refuser un appel d'outil avant que l'utilisateur ne soit sollicité182#### Approuver ou refuser un appel d'outil avant que l'utilisateur ne soit sollicité

183 183 

184Pour décider si un appel d'outil peut s'exécuter, gérez [`tool.check`](/docs/fr/plugins/mods/reference#tools), l'événement où Claude Code prend cette décision. Il se déclenche après que les règles de permission et les hooks des paramètres ont décidé, et `next(e)` se résout avec leur décision : `allow`, `ask` ou `deny`. Votre hook renvoie cette décision ou une autre. `e.input` contient les arguments de l'outil, comme `command` pour Bash.184Pour décider si un appel d'outil peut s'exécuter, gérez [`tool.check`](/docs/fr/plugins/mods/reference#tools), l'événement où Claude Code prend cette décision.

185 185 

186Pour une commande ou un chemin fixe, utilisez une [règle de permission](/docs/fr/permissions#permission-rule-syntax) comme `Bash(npm test)`, qui ne nécessite aucun code. Gérez `tool.check` lorsque la décision dépend de ce qui est vrai à ce moment-là, comme la branche Git courante ou une valeur enregistrée par un autre hook.186Pour une commande ou un chemin fixe, utilisez une [règle de permission](/docs/fr/permissions#permission-rule-syntax) comme `Bash(npm test)`, qui ne nécessite aucun code. Gérez `tool.check` lorsque la décision dépend de ce qui est vrai à ce moment-là, comme la branche Git courante ou une valeur enregistrée par un autre hook.

187 187 

188* **Ce qu'il faut renvoyer** : pour décider vous-même de l'appel, renvoyez votre propre objet, comme `{ decision: 'allow' }` ou `{ decision: 'deny', reason }`. Pour ne pas toucher à la décision, renvoyez ce que vous fournit `await next(e)`.

189* **Ce que vous fournit `await next(e)`** : la décision propre de Claude Code, sous la forme d'un objet dont le champ `decision` vaut `allow`, `ask` ou `deny`. Aucune demande de permission n'apparaît pendant l'exécution de `next(e)`.

190* **Arguments** : `e.input` contient les arguments de l'outil, comme `command` pour Bash

191* **Quand `tool.check` se déclenche** : après l'exécution des [hooks `PreToolUse`](/docs/fr/hooks#pretooluse), et avant la demande de permission, le classifieur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) ou un hook [`PermissionRequest`](/docs/fr/hooks#permissionrequest)

192 

188Ce hook refuse `git push` lorsque la branche courante est `main` :193Ce hook refuse `git push` lorsque la branche courante est `main` :

189 194 

190```javascript theme={null}195```javascript theme={null}

191on('tool.check', { tool: 'Bash' }, async ($, e, next) => {196on('tool.check', { tool: 'Bash' }, async ($, e, next) => {

192 // What the permission rules and settings hooks decided: 'allow', 'ask', or 'deny'197 // Claude Code's own decision

193 const decided = await next(e)198 const decided = await next(e)

194 if (!e.input.command.includes('git push')) return decided199 if (!e.input.command.includes('git push')) return decided

195 const branch = await $.process.run(['git', 'branch', '--show-current'])200 const branch = await $.process.run(['git', 'branch', '--show-current'])


209>214>

210> Un hook `tool.check` peut aussi renvoyer `allow` ou `ask`. En [mode plan](/docs/fr/permissions#hook-approvals-in-plan-mode), pour un appel qui n'est pas en lecture seule, comme une modification de fichier, votre hook peut durcir la décision que renvoie `next(e)`, mais pas l'assouplir. Pour connaître les règles de permission et les décisions des hooks `PreToolUse` que l'`allow` de votre hook ne peut pas remplacer, consultez [Étendre les permissions avec des hooks](/docs/fr/permissions#precedence-among-rules-hooks-and-mods).215> Un hook `tool.check` peut aussi renvoyer `allow` ou `ask`. En [mode plan](/docs/fr/permissions#hook-approvals-in-plan-mode), pour un appel qui n'est pas en lecture seule, comme une modification de fichier, votre hook peut durcir la décision que renvoie `next(e)`, mais pas l'assouplir. Pour connaître les règles de permission et les décisions des hooks `PreToolUse` que l'`allow` de votre hook ne peut pas remplacer, consultez [Étendre les permissions avec des hooks](/docs/fr/permissions#precedence-among-rules-hooks-and-mods).

211 216 

217#### Vérifier si un appel d'outil est en lecture seule

218 

219Dans un hook [`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked), `e.isReadOnly` vaut `true` lorsque l'outil signale l'appel comme étant en lecture seule. Sinon, le champ est absent, et ne vaut pas `false`. `e.isReadOnly` nécessite Claude Code v2.1.304 ou une version ultérieure.

220 

221Certains outils, comme Read, Grep, Glob et WebSearch, signalent chaque appel comme étant en lecture seule. Bash et les outils MCP signalent un appel comme étant en lecture seule dans les cas suivants :

222 

223* **Bash** : la commande passe la [vérification intégrée des commandes en lecture seule](/docs/fr/permissions#read-only-commands) de Claude Code

224* **Un outil MCP** : le serveur définit l'annotation `readOnlyHint` de l'outil sur `true`

225 

226La valeur correspond à ce que déclare l'outil lui-même ; n'approuvez donc pas un appel sur la seule base de ce champ. Par exemple, les appels WebFetch et Agent sont signalés comme étant en lecture seule, bien que [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) envoie une requête vers une URL et qu'[Agent](/docs/fr/tools-reference#agent-tool-behavior) démarre un sous-agent qui exécute ses propres outils.

227 

228Ce hook renvoie un `ask` pour chaque appel `mcp__github__` qui n'est pas en lecture seule et qui n'a pas déjà été refusé :

229 

230```javascript theme={null}

231on('tool.check', { tool: /^mcp__github__/ }, async ($, e, next) => {

232 const decided = await next(e)

233 // Read-only calls and denied calls pass through unchanged

234 if (e.isReadOnly || decided.decision === 'deny') return decided

235 return { decision: 'ask', reason: 'This tool can change the GitHub repository' }

236})

237```

238 

239#### Filtrer un hook `tool.check` selon que l'appel est en lecture seule ou non

240 

241Pour limiter les appels que traite votre hook en fonction de [`e.isReadOnly`](#check-whether-a-tool-call-is-read-only), utilisez le [matcher](#filter-which-events-a-hook-handles) pour les appels en lecture seule et le corps du hook pour les autres :

242 

243* **Appels en lecture seule uniquement** : ajoutez `isReadOnly: true` au matcher, comme dans `on('tool.check', { tool: 'Bash', isReadOnly: true }, hook)`

244* **Appels qui ne sont pas en lecture seule** : testez `e.isReadOnly` dans le corps du hook, comme le fait l'[exemple `mcp__github__`](#check-whether-a-tool-call-is-read-only). Si vous placez `isReadOnly: false` dans un matcher, votre hook ne s'exécute jamais.

245 

212### Réécrire un prompt ou y ajouter du contenu246### Réécrire un prompt ou y ajouter du contenu

213 247 

214Un hook `prompt.submit` voit chaque prompt avant le début du tour, ce qui lui permet de réécrire le texte ou d'y ajouter du contenu. `e.text` correspond à ce qui a été saisi.248Un hook `prompt.submit` voit chaque prompt avant le début du tour, ce qui lui permet de réécrire le texte ou d'y ajouter du contenu. `e.text` correspond à ce qui a été saisi.


312* **Hooks `PreToolUse` des paramètres gérés** : s'exécutent avant le hook `tool.call` du premier mod. Lorsqu'un hook géré bloque l'appel, aucun hook `tool.call` d'un mod ne s'exécute pour cet appel.346* **Hooks `PreToolUse` des paramètres gérés** : s'exécutent avant le hook `tool.call` du premier mod. Lorsqu'un hook géré bloque l'appel, aucun hook `tool.call` d'un mod ne s'exécute pour cet appel.

313* **Hooks `PreToolUse` de chaque autre fichier de paramètres et des `hooks/hooks.json` des plugins** : s'exécutent après que le dernier mod appelle `next`, comme partie du comportement propre de Claude Code. Un mod qui répond à `tool.call` sans appeler `next` les empêche de s'exécuter, et un mod qui appelle `next` voit leur décision dans le résultat qu'il retourne.347* **Hooks `PreToolUse` de chaque autre fichier de paramètres et des `hooks/hooks.json` des plugins** : s'exécutent après que le dernier mod appelle `next`, comme partie du comportement propre de Claude Code. Un mod qui répond à `tool.call` sans appeler `next` les empêche de s'exécuter, et un mod qui appelle `next` voit leur décision dans le résultat qu'il retourne.

314 348 

315[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) se déclenche une fois que les règles de permission et les deux groupes de hooks `PreToolUse` ont décidé. Pour savoir lesquelles de ces décisions l'`allow` d'un hook `tool.check` ne peut pas remplacer, consultez [Étendre les permissions avec des hooks](/docs/fr/permissions#precedence-among-rules-hooks-and-mods).349[`tool.check`](#approve-or-refuse-a-tool-call-before-the-user-is-asked) se déclenche une fois que les hooks `PreToolUse` se sont exécutés. Pour connaître les règles de permission et les décisions de hooks `PreToolUse` que l'`allow` d'un hook `tool.check` ne peut pas remplacer, consultez [Étendre les permissions avec des hooks](/docs/fr/permissions#precedence-among-rules-hooks-and-mods).

316 350 

317### Gérer un hook qui échoue351### Gérer un hook qui échoue

318 352 

Details

306| `closeOnEscape` | Fait que Esc ferme le volet |306| `closeOnEscape` | Fait que Esc ferme le volet |

307| `holdToasts` | Dans le terminal, retient les toasts tant que ce volet est celui qui s'affiche. Voir [Retenir les toasts derrière un dialogue](#hold-toasts-behind-a-dialog). |307| `holdToasts` | Dans le terminal, retient les toasts tant que ce volet est celui qui s'affiche. Voir [Retenir les toasts derrière un dialogue](#hold-toasts-behind-a-dialog). |

308| `rows` | La hauteur à demander quand le volet se trouve au-dessus de l'invite. La valeur par défaut est un tiers de l'espace. |308| `rows` | La hauteur à demander quand le volet se trouve au-dessus de l'invite. La valeur par défaut est un tiers de l'espace. |

309| `columns` | La largeur à demander quand le volet se trouve à côté de la transcription |309| `columns` | La largeur à demander quand le volet se trouve à côté de la transcription, au plus 45 % de la largeur du terminal. Une fois que l'utilisateur a redimensionné un volet à côté de la transcription, dans cette session ou une session précédente, les volets s'y ouvrent plutôt à la largeur qu'il a définie. La même limite de 45 % s'applique à cette largeur. |

310 310 

311L'[extension VS Code](#draw-in-the-vs-code-extension) ignore `rows` et `columns` et dimensionne le volet elle-même.311L'[extension VS Code](#draw-in-the-vs-code-extension) ignore `rows` et `columns` et dimensionne le volet elle-même.

312 312 


537| Entrée | Appuie sur le `Button` ciblé, soumet le `Input` ciblé, ou choisit dans un `Select` |537| Entrée | Appuie sur le `Button` ciblé, soumet le `Input` ciblé, ou choisit dans un `Select` |

538| La touche de raccourci d'un bouton | Appuie sur ce bouton. Pendant qu'un `Input` a le focus, chaque touche imprimable va au champ. |538| La touche de raccourci d'un bouton | Appuie sur ce bouton. Pendant qu'un `Input` a le focus, chaque touche imprimable va au champ. |

539| Page Up, Page Down, Home et End | Font défiler votre volet ou votre bande quand il a plus de lignes qu'il ne peut en afficher |539| Page Up, Page Down, Home et End | Font défiler votre volet ou votre bande quand il a plus de lignes qu'il ne peut en afficher |

540| Ctrl+X puis une touche fléchée | Redimensionne votre volet. Gauche ou Haut lui donne plus d'espace, et Droite ou Bas rend l'espace. |540| Ctrl+X puis une touche fléchée | Redimensionne votre volet. Gauche ou Haut lui donne plus d'espace, et Droite ou Bas rend l'espace. Un volet à côté de la transcription cesse de s'élargir à 45 % de la largeur du terminal. |

541| Ctrl+X puis X | Ferme votre volet, même pendant qu'un de ses champs a le focus |541| Ctrl+X puis X | Ferme votre volet, même pendant qu'un de ses champs a le focus |

542| Esc | Retourne le focus clavier à l'invite. Avec `closeOnEscape: true`, il ferme aussi le volet. |542| Esc | Retourne le focus clavier à l'invite. Avec `closeOnEscape: true`, il ferme aussi le volet. |

543 543 

Details

56| Événement | Se déclenche lorsque | Un hook peut renvoyer |56| Événement | Se déclenche lorsque | Un hook peut renvoyer |

57| :- | :- | :- |57| :- | :- | :- |

58| [`tool.call`](/docs/fr/plugins/mods/events#guard-or-change-a-tool-call) | Un outil est sur le point de s'exécuter | `next(e)`, `{ deny: reason }` ou `{ result }` |58| [`tool.call`](/docs/fr/plugins/mods/events#guard-or-change-a-tool-call) | Un outil est sur le point de s'exécuter | `next(e)`, `{ deny: reason }` ou `{ result }` |

59| [`tool.check`](/docs/fr/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code décide si un appel d'outil peut s'exécuter, après les hooks `tool.call` et `PreToolUse`. `next(e)` se résout avec la décision à laquelle ont abouti les règles, le mode de permission et ces hooks. | `{ decision }`, qui vaut `allow`, `ask` ou `deny` |59| [`tool.check`](/docs/fr/plugins/mods/events#where-settings-hooks-run-in-the-order) | Claude Code décide si un appel d'outil peut s'exécuter, après les hooks `tool.call` et `PreToolUse`. `next(e)` se résout avec la décision à laquelle ont abouti les règles, le mode de permission et ces hooks. | `next(e)` ou `{ decision }`, avec `decision` défini sur `allow`, `ask` ou `deny` et un `reason` facultatif |

60| `tool.describe` | Une fois pour chaque outil, lorsque sa description est envoyée à Claude pour la première fois. Une seconde fois pour un outil MCP lorsque Claude le charge via la [recherche d'outils](/docs/fr/mcp#scale-with-mcp-tool-search), avec `e.description` défini sur le texte que Claude lit pour l'outil chargé. | `{ description }`, avec éventuellement `isDeferred` défini sur `true` pour placer l'outil derrière la recherche d'outils ou sur `false` pour le charger dès le départ |60| `tool.describe` | Une fois pour chaque outil, lorsque sa description est envoyée à Claude pour la première fois. Une seconde fois pour un outil MCP lorsque Claude le charge via la [recherche d'outils](/docs/fr/mcp#scale-with-mcp-tool-search), avec `e.description` défini sur le texte que Claude lit pour l'outil chargé. | `{ description }`, avec éventuellement `isDeferred` défini sur `true` pour placer l'outil derrière la recherche d'outils ou sur `false` pour le charger dès le départ |

61 61 

62#### Champs d'agent et d'organisation sur `tool.check`62#### Champs d'agent et d'organisation sur `tool.check`


68 68 

69Sur `tool.check`, `e.agentId` et `e.ceiling` nécessitent Claude Code v2.1.290 ou une version ultérieure.69Sur `tool.check`, `e.agentId` et `e.ceiling` nécessitent Claude Code v2.1.290 ou une version ultérieure.

70 70 

71#### Le champ `e.isReadOnly` sur `tool.check`

72 

73Dans un hook `tool.check`, `e.isReadOnly` vaut `true` lorsque l'outil signale cet appel comme étant en lecture seule. Sinon, le champ est absent, et ne vaut pas `false`. La valeur correspond au propre signalement de l'outil : lisez donc [Vérifier si un appel d'outil est en lecture seule](/docs/fr/plugins/mods/events#check-whether-a-tool-call-is-read-only) avant d'approuver un appel sur la seule base de ce champ.

74 

75Sur `tool.check`, `e.isReadOnly` nécessite Claude Code v2.1.304 ou une version ultérieure.

76 

71### Prompts et ce que Claude lit77### Prompts et ce que Claude lit

72 78 

73Les événements de prompt couvrent le texte que l'utilisateur saisit et le texte que Claude Code envoie de lui-même à Claude, comme le prompt système et les rappels :79Les événements de prompt couvrent le texte que l'utilisateur saisit et le texte que Claude Code envoie de lui-même à Claude, comme le prompt système et les rappels :


196| Namespace | Méthodes |202| Namespace | Méthodes |

197| :- | :- |203| :- | :- |

198| `$.plugin` | `name`, `root` : le nom et le répertoire de ce plugin |204| `$.plugin` | `name`, `root` : le nom et le répertoire de ce plugin |

199| [`$.ui`](/docs/fr/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |205| [`$.ui`](/docs/fr/plugins/mods/interface#pick-where-to-draw) | `resolve`, `invalidate`, `open`, `close`, `panes`, `focus`, `scroll`, `toast`, `notify`, `status`, `log`, `notice`, `ask`, `copy`, `selection`, `blit` |

200| [`$.command`](/docs/fr/plugins/mods/api#add-a-command) | `register`, `run`, `list` |206| [`$.command`](/docs/fr/plugins/mods/api#add-a-command) | `register`, `run`, `list` |

201| [`$.tool`](/docs/fr/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |207| [`$.tool`](/docs/fr/plugins/mods/api#add-a-tool) | `register`, `call`, `check`, `list` |

202| `$.agent` | `register`, `spawn`, `list`. `list()` renvoie les sous-agents et coéquipiers de cette session, chacun avec un `status` parmi `pending`, `running`, `waiting`, `idle`, `completed`, `failed` ou `killed`, où `idle` et `waiting` nécessitent Claude Code v2.1.289 ou une version ultérieure. |208| `$.agent` | `register`, `spawn`, `list`. `list()` renvoie les sous-agents et coéquipiers de cette session, chacun avec un `status` parmi `pending`, `running`, `waiting`, `idle`, `completed`, `failed` ou `killed`, où `idle` et `waiting` nécessitent Claude Code v2.1.289 ou une version ultérieure. |


266| `Svg` | Un document SVG, jusqu'à 131 072 caractères | | ✓ | ✓ |272| `Svg` | Un document SVG, jusqu'à 131 072 caractères | | ✓ | ✓ |

267| [`Client`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ | |273| [`Client`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ | |

268| [`Raster`](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` jusqu'à 512, `rows` jusqu'à 256, `cells`. Consultez [Dessiner une grille de cellules colorées](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | | |274| [`Raster`](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` jusqu'à 512, `rows` jusqu'à 256, `cells`. Consultez [Dessiner une grille de cellules colorées](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | | |

269| `Image` | Octets PNG ou RGBA jusqu'à 2 Mio, ou un chemin de fichier, `columns` et `rows` jusqu'à 255, et un texte `alt`. | ✓ | | |275| `Image` | Octets PNG ou RGBA jusqu'à 2 Mio, ou un chemin de fichier, `columns` et `rows` jusqu'à 255, et un texte `alt`. Consultez [les terminaux qui le dessinent](/docs/fr/plugins/mods/gallery#image-and-client). | ✓ | | |

270 276 

271Autres règles pour `Button` : `action` nomme l'une des propres [actions de raccourci clavier](/docs/fr/keybindings) de Claude Code, et le raccourci de l'utilisateur pour cette action presse le bouton lorsque ce raccourci est une combinaison de touches ou une touche avec modificateur. Un `hotkey` numérique sur un bouton du bandeau se déclenche aussi lorsque l'utilisateur tape ce seul chiffre dans un prompt vide puis marque une pause. Lorsque deux boutons d'un même dessin désignent le même `hotkey`, c'est le dernier qui l'obtient. `autoFocus` n'accepte que `true` sur tout contrôle : omettez donc la prop pour le désactiver.277Autres règles pour `Button` : `action` nomme l'une des propres [actions de raccourci clavier](/docs/fr/keybindings) de Claude Code, et le raccourci de l'utilisateur pour cette action presse le bouton lorsque ce raccourci est une combinaison de touches ou une touche avec modificateur. Un `hotkey` numérique sur un bouton du bandeau se déclenche aussi lorsque l'utilisateur tape ce seul chiffre dans un prompt vide puis marque une pause. Lorsque deux boutons d'un même dessin désignent le même `hotkey`, c'est le dernier qui l'obtient. `autoFocus` n'accepte que `true` sur tout contrôle : omettez donc la prop pour le désactiver.

272 278 

Details

187| `prompt.fill` | `() => ({ isFilled: true })` |187| `prompt.fill` | `() => ({ isFilled: true })` |

188| `$.prompt.read` | `() => ({ value: { text: '...', cursor: 0 } })` |188| `$.prompt.read` | `() => ({ value: { text: '...', cursor: 0 } })` |

189| `$.ui.copy` | `() => ({ value: { isCopied: true } })` |189| `$.ui.copy` | `() => ({ value: { isCopied: true } })` |

190| `$.ui.notify` | `() => ({ value: { isSent: true, channel: 'terminal_bell' } })`. Le texte est `e.text` et le titre est `e.title`. |

190| `$.session.messages` | `() => ({ value: [{ role: 'assistant', text: '...', toolUses: [] }] })` |191| `$.session.messages` | `() => ({ value: [{ role: 'assistant', text: '...', toolUses: [] }] })` |

191| `$.session.id`, `$.agent.list` | `() => ({ value: 'abc123' })`, `() => ({ value: [] })` |192| `$.session.id`, `$.agent.list` | `() => ({ value: 'abc123' })`, `() => ({ value: [] })` |

192| `session.send` | `() => ({ isDelivered: true })`. `e.to` arrive en tant que chaîne même quand votre mod a passé `{ sessionId }`. |193| `session.send` | `() => ({ isDelivered: true })`. `e.to` arrive en tant que chaîne même quand votre mod a passé `{ sessionId }`. |

Details

830 830 

831* **`Failed to load hooks from <path>: <reason>`** : `hooks/hooks.json` n'est pas un JSON valide ou échoue le schéma des hooks. La raison nomme l'erreur d'analyse ou de validation. Corrigez le fichier. Pour attraper un problème de syntaxe JSON dans `hooks/hooks.json` avant de publier le plugin, exécutez `claude plugin validate <plugin-directory>` dans votre shell831* **`Failed to load hooks from <path>: <reason>`** : `hooks/hooks.json` n'est pas un JSON valide ou échoue le schéma des hooks. La raison nomme l'erreur d'analyse ou de validation. Corrigez le fichier. Pour attraper un problème de syntaxe JSON dans `hooks/hooks.json` avant de publier le plugin, exécutez `claude plugin validate <plugin-directory>` dans votre shell

832* **`hooks path not found: <path>`** : le champ `hooks` du manifeste nomme un fichier qui n'existe pas à ce chemin relatif à la racine du plugin. Corrigez le chemin ou ajoutez le fichier832* **`hooks path not found: <path>`** : le champ `hooks` du manifeste nomme un fichier qui n'existe pas à ce chemin relatif à la racine du plugin. Corrigez le chemin ou ajoutez le fichier

833* **`hooks path escapes plugin directory: <path>`** : consultez [Le chemin sort du répertoire du plugin](/docs/fr/errors#path-escapes-plugin-directory)

833 834 

834#### Avis `hook error` dans la transcription835#### Avis `hook error` dans la transcription

835 836 


948 949 

949Claude Code a résolu un chemin à partir de votre `plugin.json` ou entrée de marketplace par rapport à la racine du plugin et n'a rien trouvé là. Le chemin dans le message est le chemin absolu qu'il a vérifié, donc comparez-le avec ce qui est sur le disque. Corrigez le chemin ou créez le répertoire, puis exécutez `/reload-plugins`.950Claude Code a résolu un chemin à partir de votre `plugin.json` ou entrée de marketplace par rapport à la racine du plugin et n'a rien trouvé là. Le chemin dans le message est le chemin absolu qu'il a vérifié, donc comparez-le avec ce qui est sur le disque. Corrigez le chemin ou créez le répertoire, puis exécutez `/reload-plugins`.

950 951 

952> [!NOTE]

953>

954> Avant v2.1.299, ce message pouvait apparaître au démarrage sur une ligne étiquetée avec une balise telle que `synced[0]`. Cette ligne correspond à un plugin [synchronisé depuis claude.ai](/docs/fr/plugins/loading#synced-plugins). Il apparaissait lorsqu'une autre session Claude Code sur votre machine avait mis à jour le plugin quelques instants auparavant et déplacé ses fichiers. Pour charger le plugin, redémarrez Claude Code. Pour éviter que le message n'apparaisse pour cette raison, effectuez la mise à jour vers v2.1.299 ou ultérieur.

955 

951Les chemins dans le manifeste sont relatifs à la racine du plugin et commencent par `./`. Un chemin qui se résout en dehors de la racine du plugin est signalé comme `<component> path escapes plugin directory` à la place et est supprimé.956Les chemins dans le manifeste sont relatifs à la racine du plugin et commencent par `./`. Un chemin qui se résout en dehors de la racine du plugin est signalé comme `<component> path escapes plugin directory` à la place et est supprimé.

952 957 

953### `--plugin-dir` à une racine de marketplace ne charge pas les plugins sous `plugins/`958### `--plugin-dir` à une racine de marketplace ne charge pas les plugins sous `plugins/`

Details

55Lorsque vos requêtes passent par une [passerelle LLM](/docs/fr/llm-gateway), un `ANTHROPIC_BASE_URL` personnalisé, ou un remplacement d'URL de base du fournisseur cloud tel que [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/fr/env-vars), ce qui reste en cache dépend de la façon dont la passerelle gère les [marqueurs `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) que Claude Code envoie :55Lorsque vos requêtes passent par une [passerelle LLM](/docs/fr/llm-gateway), un `ANTHROPIC_BASE_URL` personnalisé, ou un remplacement d'URL de base du fournisseur cloud tel que [`ANTHROPIC_BEDROCK_BASE_URL`](/docs/fr/env-vars), ce qui reste en cache dépend de la façon dont la passerelle gère les [marqueurs `cache_control`](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#explicit-cache-breakpoints) que Claude Code envoie :

56 56 

57* **Les transmet inchangés** : le bloc et votre conversation se mettent en cache de la même manière qu'à l'endpoint propre du fournisseur.57* **Les transmet inchangés** : le bloc et votre conversation se mettent en cache de la même manière qu'à l'endpoint propre du fournisseur.

58* **Rejette la requête marquée avec une erreur `400` nommant `cache_control`** : Claude Code renvoie la requête avec le marqueur déplacé du bloc vers votre dernier message de conversation, et le garde là pour le reste de la conversation. Le bloc est facturé comme entrée non mise en cache ; votre conversation reste mise en cache.58* **Rejette la requête marquée avec une erreur `400` nommant `cache_control`** : Claude Code renvoie la requête avec le marqueur déplacé du bloc vers votre dernier message de conversation, et l'y conserve jusqu'à la fermeture de Claude Code. Le bloc est facturé comme entrée non mise en cache ; votre conversation reste mise en cache.

59* **Supprime les marqueurs tout en retournant le succès** : l'historique de votre conversation entière est facturé comme entrée non mise en cache à chaque tour. Une passerelle qui convertit le contenu du système sous forme de bloc en une chaîne simple supprime le marqueur de la même manière.59* **Supprime les marqueurs tout en retournant le succès** : l'historique de votre conversation entière est facturé comme entrée non mise en cache à chaque tour. Une passerelle qui convertit le contenu du système sous forme de bloc en une chaîne simple supprime le marqueur de la même manière.

60 60 

61Pour ce que chaque fournisseur stocke et traite, consultez [utilisation des données](/docs/fr/data-usage). Où que le cache se trouve, les entrées expirent après une période d'inactivité, et [Durée de vie du cache](#cache-lifetime) ci-dessous couvre le TTL et comment l'étendre.61Pour ce que chaque fournisseur stocke et traite, consultez [utilisation des données](/docs/fr/data-usage). Où que le cache se trouve, les entrées expirent après une période d'inactivité, et [Durée de vie du cache](#cache-lifetime) ci-dessous couvre le TTL et comment l'étendre.


109Les définitions d'outils se trouvent dans la couche du prompt système, donc le cache s'invalide lorsque l'ensemble des définitions d'outils dans la requête change entre les tours. Basculer l'[outil conseiller](/docs/fr/advisor) est une exception : sa définition se trouve après le point de rupture du cache, donc l'activation ou la désactivation de `/advisor` conserve le préfixe mis en cache intact. Qu'un changement de [serveur MCP](/docs/fr/mcp) fasse cela dépend de si la [recherche d'outils](/docs/fr/mcp#scale-with-mcp-tool-search) diffère les outils MCP de la session, la valeur par défaut sur les modèles supportés :109Les définitions d'outils se trouvent dans la couche du prompt système, donc le cache s'invalide lorsque l'ensemble des définitions d'outils dans la requête change entre les tours. Basculer l'[outil conseiller](/docs/fr/advisor) est une exception : sa définition se trouve après le point de rupture du cache, donc l'activation ou la désactivation de `/advisor` conserve le préfixe mis en cache intact. Qu'un changement de [serveur MCP](/docs/fr/mcp) fasse cela dépend de si la [recherche d'outils](/docs/fr/mcp#scale-with-mcp-tool-search) diffère les outils MCP de la session, la valeur par défaut sur les modèles supportés :

110 110 

111* **Outils différés** : Claude Code conserve la liste d'outils de la première requête de la conversation pour toute la conversation, donc un serveur se connectant ou se déconnectant en cours de session ne perturbe rien de déjà mis en cache. Un serveur qui finit de se connecter après la première requête fournit ses outils comme des définitions différées que Claude charge à la demande.111* **Outils différés** : Claude Code conserve la liste d'outils de la première requête de la conversation pour toute la conversation, donc un serveur se connectant ou se déconnectant en cours de session ne perturbe rien de déjà mis en cache. Un serveur qui finit de se connecter après la première requête fournit ses outils comme des définitions différées que Claude charge à la demande.

112* **Outils chargés en amont** : l'ajout d'une définition invalide le cache, et il en va de même pour la suppression intentionnelle d'une. Cela s'applique lorsque la recherche d'outils est [en dessous de son seuil `auto`, désactivée ou indisponible](/docs/fr/mcp#configure-tool-search), par exemple sur les modèles de la plateforme Agent de Google Cloud antérieurs à Opus 4.5, Sonnet 4.5 et Haiku 4.5, avec une passerelle `ANTHROPIC_BASE_URL` personnalisée, ou sur un [déploiement Microsoft Foundry hébergé sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) une fois que Claude Code détecte que le déploiement rejette la recherche d'outils.112* **Outils chargés en amont** : l'ajout d'une définition invalide le cache, et il en va de même pour la suppression intentionnelle d'une. Cela s'applique lorsque la recherche d'outils est [désactivée ou indisponible](/docs/fr/mcp#configure-tool-search), par exemple sur :

113 * Les modèles de la plateforme Agent de Google Cloud antérieurs à Opus 4.5, Sonnet 4.5 et Haiku 4.5

114 * Un [déploiement Microsoft Foundry hébergé sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) une fois que Claude Code détecte que le déploiement rejette la recherche d'outils

113 115 

114Sans recherche d'outils, qu'un changement de serveur en cours de session invalide le cache dépend de ce qui a changé. Pour chaque changement, ce tableau indique si le cache est conservé et ce qui se passe avec les définitions d'outils dans la prochaine requête.116Sans recherche d'outils, qu'un changement de serveur en cours de session invalide le cache dépend de ce qui a changé. Pour chaque changement, ce tableau indique si le cache est conservé et ce qui se passe avec les définitions d'outils dans la prochaine requête.

115 117 


169 171 

170### Compaction de la conversation172### Compaction de la conversation

171 173 

172La [compaction](/docs/fr/context-window#what-survives-compaction) remplace votre historique de messages par un résumé. Par conception, cela invalide la couche de conversation, puisque la prochaine requête a un nouvel historique plus court qui ne partage pas de préfixe avec l'ancien. Claude Code réutilise la couche du prompt système sauf si la conversation a été [reprise tout en conservant un prompt système qui aurait autrement changé](#resuming-a-session) ; dans ce cas, la première compaction bascule vers le prompt actuel et cette couche se reconstruit une fois. Il recharge le contexte du projet à partir du disque, qui ne produit des cache hits que si CLAUDE.md et la mémoire sont inchangés depuis le début de la session.174La [compaction](/docs/fr/context-window#what-survives-compaction) remplace votre historique de messages par un résumé. Par conception, cela invalide la couche de conversation : la prochaine requête a un nouvel historique plus court qui ne partage pas de préfixe avec l'ancien. Les couches du prompt système et du contexte du projet peuvent rester en cache :

173 175 

174Pour produire le résumé, Claude Code envoie une requête séparée avec le même prompt système, les mêmes outils et le même historique que votre conversation, plus une instruction de résumé ajoutée comme dernier message utilisateur. Tant que le cache est chaud, cette requête lit votre préfixe à partir du cache, donc un `/compact` en cours de session coûte une fraction de ce que la taille du contexte suggère et passe la plupart de son temps à générer le résumé.176* **Prompt système** : la prochaine requête lit cette couche à partir du cache, sauf si une [conversation reprise](#resuming-a-session) a conservé un prompt système désormais obsolète. La première fois que cette conversation est compactée, Claude Code la bascule vers le prompt actuel, et la prochaine requête reconstruit le cache de cette couche une fois.

177* **Contexte du projet** : Claude Code recharge cette couche à partir du disque. La prochaine requête la lit à partir du cache uniquement si CLAUDE.md et la mémoire sont inchangés depuis le début de la session.

175 178 

176Après une pause plus longue que la [durée de vie du cache](#cache-lifetime), il n'y a pas de cache à lire, donc la requête de résumé retraite l'historique complet en tant qu'entrée non mise en cache. C'est pourquoi `/compact` coûte le plus lorsque vous [reprenez une ancienne session](/docs/fr/sessions#resume-a-session). Dans les deux cas, chaud et froid, le tour après compaction reconstruit le cache de conversation pour seulement le résumé beaucoup plus court, donc ce tour n'est pas la partie lente.179Pour produire le résumé, Claude Code envoie une requête séparée. La requête reprend le prompt système, les outils et l'historique en cours de résumé de votre conversation. Elle se termine par une instruction de résumé. Tant que le cache est chaud, cette requête lit votre préfixe à partir du cache. Un `/compact` en cours de session coûte alors une fraction de ce que la taille du contexte suggère et passe la plupart de son temps à générer le résumé.

180 

181Après une pause plus longue que la [durée de vie du cache](#cache-lifetime), il n'y a plus de cache à lire, donc la requête de résumé retraite cet historique en tant qu'entrée non mise en cache. C'est pourquoi `/compact` coûte le plus lorsque vous [reprenez une ancienne session](/docs/fr/sessions#resume-a-session). Dans les deux cas, chaud et froid, le tour après compaction reconstruit le cache de conversation pour seulement le résumé beaucoup plus court, donc ce tour n'est pas la partie lente.

177 182 

178> [!TIP]183> [!TIP]

179>184>

Details

26Avant d'utiliser Remote Control, confirmez que votre environnement répond à ces conditions :26Avant d'utiliser Remote Control, confirmez que votre environnement répond à ces conditions :

27 27 

28* **Abonnement** : disponible sur les plans Pro, Max, Team et Enterprise. Les clés API ne sont pas prises en charge. Sur Team et Enterprise, un propriétaire doit d'abord activer le bouton Remote Control dans les [paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code).28* **Abonnement** : disponible sur les plans Pro, Max, Team et Enterprise. Les clés API ne sont pas prises en charge. Sur Team et Enterprise, un propriétaire doit d'abord activer le bouton Remote Control dans les [paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code).

29* **Rôles personnalisés** : si votre organisation Enterprise gère votre accès avec des [rôles personnalisés](https://support.claude.com/en/articles/13930452), vos rôles doivent vous accorder à la fois la permission des sessions cloud et la permission **Claude Code remote control**. Si l'une ou l'autre manque, le démarrage de Remote Control affiche [`Remote Control is disabled by your organization's policy`](#remote-control-is-disabled-by-your-organizations-policy). Demandez à un propriétaire de vérifier vos rôles et d'ajouter ce qui manque dans [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

29* **Authentification** : exécutez `claude` et utilisez `/login` pour vous connecter via claude.ai si vous ne l'avez pas déjà fait. Sans une connexion éligible, `claude remote-control` se termine avec une erreur, tandis que `claude --remote-control` démarre toujours une session interactive et affiche une notification d'échec de Remote Control peu de temps après le lancement.30* **Authentification** : exécutez `claude` et utilisez `/login` pour vous connecter via claude.ai si vous ne l'avez pas déjà fait. Sans une connexion éligible, `claude remote-control` se termine avec une erreur, tandis que `claude --remote-control` démarre toujours une session interactive et affiche une notification d'échec de Remote Control peu de temps après le lancement.

30* **Point de terminaison API** : non disponible dans l'une de ces configurations :31* **Point de terminaison API** : non disponible dans l'une de ces configurations :

31 * Vous utilisez Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.32 * Vous utilisez Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.


33 * Vous vous connectez via une passerelle [Claude apps gateway](/docs/fr/claude-apps-gateway) d'entreprise.34 * Vous vous connectez via une passerelle [Claude apps gateway](/docs/fr/claude-apps-gateway) d'entreprise.

34* **Évaluation des drapeaux de fonctionnalité** : si vous définissez une [variable d'environnement qui désactive l'évaluation des drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), la disponibilité de Remote Control dépend de celle-ci :35* **Évaluation des drapeaux de fonctionnalité** : si vous définissez une [variable d'environnement qui désactive l'évaluation des drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), la disponibilité de Remote Control dépend de celle-ci :

35 * Si vous définissez `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ou `DISABLE_GROWTHBOOK`, Remote Control n'est pas disponible. Déconfigurez la variable partout où elle est définie, dans votre environnement shell ou dans le bloc `env` d'un [fichier `settings.json`](/docs/fr/settings-reference#all-settings), pour utiliser Remote Control.36 * Si vous définissez `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ou `DISABLE_GROWTHBOOK`, Remote Control n'est pas disponible. Déconfigurez la variable partout où elle est définie, dans votre environnement shell ou dans le bloc `env` d'un [fichier `settings.json`](/docs/fr/settings-reference#all-settings), pour utiliser Remote Control.

36 * Si vous définissez uniquement `DISABLE_TELEMETRY` ou `DO_NOT_TRACK`, Remote Control reste disponible sauf si votre organisation exige des [appareils de confiance](#trusted-devices). Si c'est le cas, déconfigurez la variable pour utiliser Remote Control. L'utilisation de Remote Control avec l'une ou l'autre de ces variables définies nécessite Claude Code v2.1.283 ou version ultérieure.37 * Si vous définissez uniquement `DISABLE_TELEMETRY` ou `DO_NOT_TRACK`, Remote Control reste disponible sauf si votre organisation exige des [appareils de confiance](#trusted-devices). Si c'est le cas, déconfigurez la variable pour utiliser Remote Control. L'utilisation de Remote Control avec l'une ou l'autre de ces variables définies nécessite Claude Code v2.1.283 ou version ultérieure, ou v2.1.304 ou version ultérieure dans l'application Claude Desktop.

37* **Confiance de l'espace de travail** : dans un répertoire que vous n'avez pas encore approuvé, `claude remote-control` affiche ce que l'approbation active et demande `Trust <directory>? [y/N]` avant de démarrer. Répondre `y` enregistre le choix, sauf dans votre répertoire personnel, où la confiance n'est jamais enregistrée et la question revient à chaque exécution. Lorsque son entrée ou sa sortie standard n'est pas un terminal, la commande ne peut pas demander et se termine avec une erreur [`Workspace not trusted`](/docs/fr/errors#workspace-not-trusted-when-starting-remote-control).38* **Confiance de l'espace de travail** : dans un répertoire que vous n'avez pas encore approuvé, `claude remote-control` affiche ce que l'approbation active et demande `Trust <directory>? [y/N]` avant de démarrer. Répondre `y` enregistre le choix, sauf dans votre répertoire personnel, où la confiance n'est jamais enregistrée et la question revient à chaque exécution. Lorsque son entrée ou sa sortie standard n'est pas un terminal, la commande ne peut pas demander et se termine avec une erreur [`Workspace not trusted`](/docs/fr/errors#workspace-not-trusted-when-starting-remote-control).

38 39 

39## Démarrer une session Remote Control40## Démarrer une session Remote Control


60| `--remote-control-session-name-prefix <prefix>` | Préfixe pour les noms de session générés automatiquement lorsqu'aucun nom explicite n'est défini. Par défaut, le nom d'hôte de votre machine, produisant des noms comme `myhost-graceful-unicorn`. Définissez `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` pour le même effet. |61| `--remote-control-session-name-prefix <prefix>` | Préfixe pour les noms de session générés automatiquement lorsqu'aucun nom explicite n'est défini. Par défaut, le nom d'hôte de votre machine, produisant des noms comme `myhost-graceful-unicorn`. Définissez `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` pour le même effet. |

61| `-c`, `--continue` | Reprendre la session que le dernier serveur dans ce répertoire a démarrée, au lieu d'en créer une nouvelle. Voir [Reprendre les sessions après l'arrêt du serveur](#resume-sessions-after-stopping-the-server). Ne peut pas être combiné avec `--session-id`, `--spawn`, `--capacity`, ou `--create-session-in-dir`. Nécessite Claude Code v2.1.200 ou version ultérieure. |62| `-c`, `--continue` | Reprendre la session que le dernier serveur dans ce répertoire a démarrée, au lieu d'en créer une nouvelle. Voir [Reprendre les sessions après l'arrêt du serveur](#resume-sessions-after-stopping-the-server). Ne peut pas être combiné avec `--session-id`, `--spawn`, `--capacity`, ou `--create-session-in-dir`. Nécessite Claude Code v2.1.200 ou version ultérieure. |

62| `--session-id <id>` | Reprendre une session par son ID. Voir [Reprendre les sessions après l'arrêt du serveur](#resume-sessions-after-stopping-the-server). Ne peut pas être combiné avec `--continue`, `--spawn`, `--capacity`, ou `--create-session-in-dir`. Nécessite Claude Code v2.1.200 ou version ultérieure. |63| `--session-id <id>` | Reprendre une session par son ID. Voir [Reprendre les sessions après l'arrêt du serveur](#resume-sessions-after-stopping-the-server). Ne peut pas être combiné avec `--continue`, `--spawn`, `--capacity`, ou `--create-session-in-dir`. Nécessite Claude Code v2.1.200 ou version ultérieure. |

63| `--spawn <mode>` | Comment le serveur crée les sessions. • `same-dir` (par défaut) : toutes les sessions partagent le répertoire de travail actuel, elles peuvent donc entrer en conflit si elles modifient les mêmes fichiers. • `worktree` : chaque session à la demande obtient son propre [git worktree](/docs/fr/worktrees). Nécessite un dépôt git ou un [hook `WorktreeCreate`](/docs/fr/hooks#worktreecreate). • `session` : mode session unique. Sert exactement une session et rejette les connexions supplémentaires. Défini au démarrage uniquement. Appuyez sur `w` à l'exécution pour basculer entre `same-dir` et `worktree`. |64| `--spawn <mode>` | Comment le serveur crée les sessions. • `same-dir` (par défaut lorsqu'aucun mode n'est enregistré) : toutes les sessions partagent le répertoire de travail actuel, elles peuvent donc entrer en conflit si elles modifient les mêmes fichiers. • `worktree` : chaque session à la demande obtient son propre [git worktree](/docs/fr/worktrees). Nécessite un dépôt git ou un [hook `WorktreeCreate`](/docs/fr/hooks#worktreecreate). • `session` : mode session unique. Sert exactement une session et rejette les connexions supplémentaires. Défini au démarrage uniquement. Appuyez sur `w` à l'exécution pour basculer entre `same-dir` et `worktree`. Le mode vers lequel vous basculez devient le [mode par défaut pour ce projet](#set-the-default-spawn-mode-for-a-project). |

64| `--capacity <N>` | Nombre maximum de sessions concurrentes. La valeur par défaut est 32. Ne peut pas être utilisé avec `--spawn=session`. |65| `--capacity <N>` | Nombre maximum de sessions concurrentes. La valeur par défaut est 32. Ne peut pas être utilisé avec `--spawn=session`. |

65| `--[no-]create-session-in-dir` | Pré-créer une session dans le répertoire actuel au démarrage du serveur, afin que vous ayez un endroit où taper immédiatement. En mode `worktree`, cette session reste dans le répertoire actuel tandis que les sessions à la demande obtiennent des worktrees isolés. Activé par défaut. Si vous passez `--no-create-session-in-dir` pour démarrer sans aucune, Claude Code archive les sessions du serveur lorsque vous l'arrêtez, il n'y a donc rien à [reprendre](#resume-sessions-after-stopping-the-server). |66| `--[no-]create-session-in-dir` | Pré-créer une session dans le répertoire actuel au démarrage du serveur, afin que vous ayez un endroit où taper immédiatement. En mode `worktree`, cette session reste dans le répertoire actuel tandis que les sessions à la demande obtiennent des worktrees isolés. Activé par défaut. Si vous passez `--no-create-session-in-dir` pour démarrer sans aucune, Claude Code archive les sessions du serveur lorsque vous l'arrêtez, il n'y a donc rien à [reprendre](#resume-sessions-after-stopping-the-server). |

66| `--permission-mode <mode>` | Définissez le [mode de permission](/docs/fr/permission-modes) de démarrage pour les sessions du serveur, tel que `acceptEdits`. Accepte `manual` comme alias pour `default` ; un mode non reconnu arrête le serveur au démarrage et liste les modes valides. |67| `--permission-mode <mode>` | Définissez le [mode de permission](/docs/fr/permission-modes) de démarrage pour les sessions du serveur, tel que `acceptEdits`. Accepte `manual` comme alias pour `default` ; un mode non reconnu arrête le serveur au démarrage et liste les modes valides. |


203 204 

204Lorsque seul `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini, vos sessions ne se connectent pas automatiquement via la valeur par défaut définie par l'administrateur de votre organisation ni via la valeur par défaut de Claude Code. Si autre chose rend Remote Control indisponible pour vous, comme `DISABLE_GROWTHBOOK` ou une passerelle LLM, commencez plutôt par les [Exigences](#requirements).205Lorsque seul `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini, vos sessions ne se connectent pas automatiquement via la valeur par défaut définie par l'administrateur de votre organisation ni via la valeur par défaut de Claude Code. Si autre chose rend Remote Control indisponible pour vous, comme `DISABLE_GROWTHBOOK` ou une passerelle LLM, commencez plutôt par les [Exigences](#requirements).

205 206 

206Activer l'auto-connexion lorsque seul `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini nécessite Claude Code v2.1.283 ou version ultérieure. Pour vous connecter automatiquement, vérifiez si votre organisation exige les [appareils de confiance](#trusted-devices) :207Avant d'activer l'auto-connexion lorsque seul `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini, vérifiez que votre version de Claude Code satisfait l'[exigence relative à ces variables](#requirements). Vérifiez ensuite si votre organisation exige les [appareils de confiance](#trusted-devices) :

207 208 

208* **Non exigés** : définissez **Enable Remote Control for all sessions** sur `true` dans `/config`.209* **Non exigés** : définissez **Enable Remote Control for all sessions** sur `true` dans `/config`.

209* **Exigés** : Remote Control n'est pas disponible tant que `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini. Supprimez celle des deux variables que vous avez définie. Si vos sessions ne se connectent toujours pas automatiquement, définissez **Enable Remote Control for all sessions** sur `true` dans `/config`.210* **Exigés** : Remote Control n'est pas disponible tant que `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini. Supprimez celle des deux variables que vous avez définie. Si vos sessions ne se connectent toujours pas automatiquement, définissez **Enable Remote Control for all sessions** sur `true` dans `/config`.


224 225 

225Lorsque vous reprenez une conversation dans Claude Desktop ou une extension IDE qui avait Remote Control activé, Claude Code la réattache à la session claude.ai existante au lieu d'en ajouter une nouvelle à la liste des sessions.226Lorsque vous reprenez une conversation dans Claude Desktop ou une extension IDE qui avait Remote Control activé, Claude Code la réattache à la session claude.ai existante au lieu d'en ajouter une nouvelle à la liste des sessions.

226 227 

228### Définir le mode spawn par défaut pour un projet

229 

230Si `claude remote-control` affiche `Spawn mode: <mode> (saved for this folder; press w to change)` au démarrage, le serveur démarre dans un mode spawn enregistré précédemment pour ce projet.

231 

232Le mode enregistré provient d'un choix que vous avez fait dans votre propre terminal. Si `claude remote-control` y a demandé `Spawn mode for this project:`, Claude Code a conservé votre réponse : `1` pour `same-dir` ou `2` pour `worktree`. Si vous avez appuyé sur `w` pendant son exécution, Claude Code a conservé le mode vers lequel vous avez basculé, même lors d'une exécution démarrée avec `--spawn same-dir` ou `--spawn worktree`.

233 

234* Pendant que le serveur s'exécute en mode `same-dir` ou `worktree`, appuyez sur `w` dans le terminal du serveur pour basculer vers l'autre. Le basculement nécessite un dépôt git ou un hook `WorktreeCreate`.

235* Pour utiliser un mode différent le temps d'une exécution, passez `--spawn <mode>`.

236 

227## Connexion et sécurité237## Connexion et sécurité

228 238 

229Votre session Claude Code locale effectue uniquement des requêtes HTTPS sortantes et n'ouvre jamais de ports entrants sur votre machine. Lorsque vous démarrez Remote Control, il s'enregistre auprès de l'API Anthropic et interroge le travail. Lorsque vous vous connectez depuis un autre appareil, le serveur achemine les messages entre le client web ou mobile et votre session locale sur une connexion en continu.239Votre session Claude Code locale effectue uniquement des requêtes HTTPS sortantes et n'ouvre jamais de ports entrants sur votre machine. Lorsque vous démarrez Remote Control, il s'enregistre auprès de l'API Anthropic et interroge le travail. Lorsque vous vous connectez depuis un autre appareil, le serveur achemine les messages entre le client web ou mobile et votre session locale sur une connexion en continu.


426Une [variable d'environnement](/docs/fr/env-vars#features-that-need-feature-flag-fetching) qui désactive l'évaluation des feature-flags est définie, et le message complet nomme la variable que Claude Code a trouvée. Sur les versions antérieures à 2.1.154, la même configuration produit « Remote Control is not yet enabled for your account » à la place. Ce qu'il faut faire dépend de la variable que le message nomme :436Une [variable d'environnement](/docs/fr/env-vars#features-that-need-feature-flag-fetching) qui désactive l'évaluation des feature-flags est définie, et le message complet nomme la variable que Claude Code a trouvée. Sur les versions antérieures à 2.1.154, la même configuration produit « Remote Control is not yet enabled for your account » à la place. Ce qu'il faut faire dépend de la variable que le message nomme :

427 437 

428* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ou `DISABLE_GROWTHBOOK`** : supprimez la variable partout où elle est définie, dans votre environnement shell ou dans le bloc `env` d'un [fichier `settings.json`](/docs/fr/settings-reference#all-settings).438* **`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` ou `DISABLE_GROWTHBOOK`** : supprimez la variable partout où elle est définie, dans votre environnement shell ou dans le bloc `env` d'un [fichier `settings.json`](/docs/fr/settings-reference#all-settings).

429* **`DISABLE_TELEMETRY` ou `DO_NOT_TRACK`** : sur un plan Pro, Max, Team ou Enterprise avec `DISABLE_GROWTHBOOK` non défini, ces variables laissent Remote Control disponible sauf si votre organisation exige [Trusted Devices](#trusted-devices). Si c'est le cas, supprimez la variable partout où elle est définie pour utiliser Remote Control. De la v2.1.154 à la v2.1.282, l'une ou l'autre variable produisait ce message, donc mettez à jour Claude Code vers la v2.1.283 ou ultérieure.439* **`DISABLE_TELEMETRY` ou `DO_NOT_TRACK`** : sur un plan Pro, Max, Team ou Enterprise avec `DISABLE_GROWTHBOOK` non défini, ces variables laissent Remote Control disponible sauf si votre organisation exige [Trusted Devices](#trusted-devices). Si c'est le cas, supprimez la variable partout où elle est définie pour utiliser Remote Control. De la v2.1.154 à la v2.1.282, vous voyez ce message lorsque l'une ou l'autre variable est définie ; mettez donc à jour Claude Code vers une version qui satisfait à l'[exigence relative à ces variables](#requirements).

430 440 

431### « Remote Control is only available when using Claude via api.anthropic.com »441### « Remote Control is only available when using Claude via api.anthropic.com »

432 442 


441* **L'erreur mentionne `disableRemoteControl`** : votre administrateur informatique a désactivé Remote Control sur cet appareil via [paramètres gérés](/docs/fr/managed-settings), indépendamment du bouton bascule à l'échelle de l'organisation et de la façon dont vous êtes connecté.451* **L'erreur mentionne `disableRemoteControl`** : votre administrateur informatique a désactivé Remote Control sur cet appareil via [paramètres gérés](/docs/fr/managed-settings), indépendamment du bouton bascule à l'échelle de l'organisation et de la façon dont vous êtes connecté.

442* **Votre plan claude.ai est Pro ou Max** : Claude Code est toujours connecté sous une organisation Team ou Enterprise d'une connexion antérieure, il vérifie donc la politique Remote Control de cette organisation. Exécutez `/status` pour voir quel plan et quelle organisation votre connexion utilise. Exécutez `claude auth logout` puis `claude auth login` pour vous reconnecter sous votre plan actuel.452* **Votre plan claude.ai est Pro ou Max** : Claude Code est toujours connecté sous une organisation Team ou Enterprise d'une connexion antérieure, il vérifie donc la politique Remote Control de cette organisation. Exécutez `/status` pour voir quel plan et quelle organisation votre connexion utilise. Exécutez `claude auth logout` puis `claude auth login` pour vous reconnecter sous votre plan actuel.

443* **Le message ne dit pas de contacter votre administrateur d'organisation** : la [configuration HIPAA](/docs/fr/hipaa-setup) est appliquée à votre organisation, ce qui désactive Remote Control. Pour le confirmer, exécutez `/status` et recherchez `HIPAA` sur la ligne `Organization configuration`. Un propriétaire voit le bouton bascule **Remote Control** grisé dans les [paramètres d'administration](https://claude.ai/admin-settings/claude-code) et ne peut pas l'activer. Si vous avez des questions sur la configuration, adressez-vous à un propriétaire, qui peut contacter l'équipe de compte Anthropic de votre organisation. Avant la v2.1.267, ce cas affichait « Remote Control isn't available for your organization due to its compliance policy » à la place.453* **Le message ne dit pas de contacter votre administrateur d'organisation** : la [configuration HIPAA](/docs/fr/hipaa-setup) est appliquée à votre organisation, ce qui désactive Remote Control. Pour le confirmer, exécutez `/status` et recherchez `HIPAA` sur la ligne `Organization configuration`. Un propriétaire voit le bouton bascule **Remote Control** grisé dans les [paramètres d'administration](https://claude.ai/admin-settings/claude-code) et ne peut pas l'activer. Si vous avez des questions sur la configuration, adressez-vous à un propriétaire, qui peut contacter l'équipe de compte Anthropic de votre organisation. Avant la v2.1.267, ce cas affichait « Remote Control isn't available for your organization due to its compliance policy » à la place.

454* **Remote Control fonctionne pour d'autres membres de votre organisation, mais pas pour vous** : si votre organisation Enterprise gère votre accès avec des [rôles personnalisés](https://support.claude.com/en/articles/13930452), vos rôles peuvent en être la cause. Remote Control nécessite à la fois la permission des sessions cloud et la permission **Claude Code remote control**. Demandez à un propriétaire de vérifier si vos rôles incluent les deux et d'ajouter ce qui manque dans [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

444* **Sinon, un propriétaire ne l'a pas activé pour votre organisation** : Remote Control est désactivé par défaut sur les plans Team et Enterprise. Un propriétaire peut l'activer sur [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) en activant le bouton bascule **Remote Control**. Ce bouton bascule est un paramètre d'organisation côté serveur.455* **Sinon, un propriétaire ne l'a pas activé pour votre organisation** : Remote Control est désactivé par défaut sur les plans Team et Enterprise. Un propriétaire peut l'activer sur [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) en activant le bouton bascule **Remote Control**. Ce bouton bascule est un paramètre d'organisation côté serveur.

445 456 

446Avant la v2.1.281, ce message apparaissait également lorsque Claude Code n'avait pas chargé la politique de votre organisation sur cette machine, par exemple après un démarrage hors ligne. Les versions ultérieures signalent cet état comme [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) à la place.457Avant la v2.1.281, ce message apparaissait également lorsque Claude Code n'avait pas chargé la politique de votre organisation sur cette machine, par exemple après un démarrage hors ligne. Les versions ultérieures signalent cet état comme [`Couldn't verify your organization's policy for remote control`](#couldnt-verify-your-organizations-policy-for-remote-control) à la place.

routines.md +10 −9

Details

33 33 

34Les propriétaires Team et Enterprise peuvent désactiver les tâches planifiées pour tous les membres avec le bouton bascule **Scheduled tasks (Was Routines)** dans [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). Lorsque le bouton bascule est désactivé, les tâches planifiées existantes cessent de s'exécuter et les membres ne peuvent pas en créer de nouvelles.34Les propriétaires Team et Enterprise peuvent désactiver les tâches planifiées pour tous les membres avec le bouton bascule **Scheduled tasks (Was Routines)** dans [**Organization settings > Capabilities > Remote sessions**](https://claude.ai/admin-settings/capabilities). Lorsque le bouton bascule est désactivé, les tâches planifiées existantes cessent de s'exécuter et les membres ne peuvent pas en créer de nouvelles.

35 35 

36Si votre organisation Enterprise gère votre accès avec des [rôles personnalisés](https://support.claude.com/en/articles/13930452), vous avez également besoin d'un rôle qui inclut la permission des tâches planifiées. Un propriétaire peut l'ajouter dans la section **Remote sessions** d'un rôle dans [**Organization settings > Roles**](https://claude.ai/admin-settings/roles).

37 

36## Exemples de cas d'usage38## Exemples de cas d'usage

37 39 

38Chaque exemple associe un type de déclencheur au type de travail auquel les tâches planifiées sont adaptées : sans surveillance, répétable et lié à un résultat clair.40Chaque exemple associe un type de déclencheur au type de travail auquel les tâches planifiées sont adaptées : sans surveillance, répétable et lié à un résultat clair.


48 50 

49Créez une tâche planifiée à partir du web sur [claude.ai/code/routines](https://claude.ai/code/routines), à partir de l'application Desktop, ou à partir de la CLI. Les trois surfaces écrivent dans le même compte cloud, de sorte qu'une tâche planifiée que vous créez dans l'une apparaît immédiatement dans les autres. Dans l'onglet **Code** de l'application Desktop, cliquez sur **Scheduled** dans la barre latérale ou dans le menu **More** de la barre latérale, puis sur **New task**, et poursuivez avec [Créer à partir du web](#create-from-the-web).51Créez une tâche planifiée à partir du web sur [claude.ai/code/routines](https://claude.ai/code/routines), à partir de l'application Desktop, ou à partir de la CLI. Les trois surfaces écrivent dans le même compte cloud, de sorte qu'une tâche planifiée que vous créez dans l'une apparaît immédiatement dans les autres. Dans l'onglet **Code** de l'application Desktop, cliquez sur **Scheduled** dans la barre latérale ou dans le menu **More** de la barre latérale, puis sur **New task**, et poursuivez avec [Créer à partir du web](#create-from-the-web).

50 52 

51Les tâches planifiées s'exécutent de manière autonome en tant que sessions cloud Claude Code complètes. Vous ne choisissez pas de mode de permission. La session exécute des commandes shell, utilise des [skills](/docs/fr/skills) commités dans le dépôt cloné, et appelle tous les connecteurs que vous incluez, le tout sans s'arrêter pour approbation en dehors de certaines [actions sur les artefacts](#when-a-run-publishes-an-artifact-without-asking).53Les tâches planifiées s'exécutent de manière autonome en tant que sessions cloud Claude Code complètes. Vous ne choisissez pas de mode de permission. La session exécute des commandes shell, utilise des [skills](/docs/fr/skills) et appelle tous les connecteurs que vous incluez, le tout sans s'arrêter pour approbation en dehors de certaines [actions sur les artefacts](#when-a-run-publishes-an-artifact-without-asking). En dehors d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), ces skills incluent ceux commités dans le dépôt cloné.

52 54 

53Ce qu'une tâche planifiée peut atteindre est déterminé par :55Ce qu'une tâche planifiée peut atteindre est déterminé par :

54 56 


116 118 

117Cliquez sur **Create**. La boîte de dialogue se ferme et la page de détail de la nouvelle tâche s'ouvre. La tâche s'exécute la prochaine fois que l'un de ses déclencheurs correspond. Pour démarrer une exécution immédiatement, cliquez sur **Run now** sur la page de détail.119Cliquez sur **Create**. La boîte de dialogue se ferme et la page de détail de la nouvelle tâche s'ouvre. La tâche s'exécute la prochaine fois que l'un de ses déclencheurs correspond. Pour démarrer une exécution immédiatement, cliquez sur **Run now** sur la page de détail.

118 120 

119Chaque exécution crée une nouvelle session aux côtés de vos autres sessions, où vous pouvez voir ce que Claude a fait, examiner les modifications et créer une pull request.121Pour voir ce qu'une exécution a fait, cliquez dessus dans la liste **History** de la page de détail. L'exécution [s'ouvre en tant que session complète](#view-and-interact-with-runs), une nouvelle pour chaque exécution, où vous pouvez voir ce que Claude a fait, examiner les modifications et créer une pull request.

120 122 

121#### Boîte de dialogue avec Repositories et Environment dans la vue principale123#### Boîte de dialogue avec Repositories et Environment dans la vue principale

122 124 


147 149 

148Un déclencheur de planification exécute la tâche selon une cadence récurrente, ou une seule fois à un moment futur spécifique. Dans la boîte de dialogue de création ou de modification de la tâche sur le web, choisissez une fréquence prédéfinie telle que toutes les heures, quotidienne ou hebdomadaire :150Un déclencheur de planification exécute la tâche selon une cadence récurrente, ou une seule fois à un moment futur spécifique. Dans la boîte de dialogue de création ou de modification de la tâche sur le web, choisissez une fréquence prédéfinie telle que toutes les heures, quotidienne ou hebdomadaire :

149 151 

150* **Fuseau horaire** : les heures sont saisies dans votre fuseau horaire local et converties automatiquement, de sorte que la tâche s'exécute à cette heure locale, quel que soit l'emplacement de l'infrastructure cloud.

151* **Exécutions à l'heure pile** : si vous planifiez une exécution exactement à l'heure pile, par exemple 9:00, elle peut démarrer avec plusieurs minutes de retard. Pour démarrer au plus près de l'heure planifiée, choisissez quelques minutes après l'heure, par exemple 9:07.152* **Exécutions à l'heure pile** : si vous planifiez une exécution exactement à l'heure pile, par exemple 9:00, elle peut démarrer avec plusieurs minutes de retard. Pour démarrer au plus près de l'heure planifiée, choisissez quelques minutes après l'heure, par exemple 9:07.

152* **Intervalles personnalisés** : pour un intervalle personnalisé tel que toutes les deux heures, choisissez le préréglage le plus proche dans la boîte de dialogue, puis exécutez `/schedule update` dans la CLI pour définir une expression cron spécifique. L'intervalle minimum est d'une heure ; les expressions qui s'exécutent plus fréquemment sont rejetées.153* **Intervalles personnalisés** : pour une cadence absente des préréglages, créez la tâche et sélectionnez **Custom** dans sa [boîte de dialogue de modification](#edit-and-control-scheduled-tasks). Saisissez ensuite une expression cron, telle que `0 */2 * * *` pour toutes les deux heures. Pour en définir une à partir de la CLI, exécutez [`/schedule update`](#manage-scheduled-tasks-from-the-cli). Les expressions qui s'exécutent plus d'une fois par heure sont rejetées.

154* **Fuseau horaire** : lorsque vous choisissez une fréquence prédéfinie, saisissez l'heure dans votre fuseau horaire local.

153 155 

154#### Planifier une exécution ponctuelle156#### Planifier une exécution ponctuelle

155 157 


159* Ouvrir une PR de nettoyage après la fin d'un déploiement progressif161* Ouvrir une PR de nettoyage après la fin d'un déploiement progressif

160* Lancer un travail de suivi après la livraison d'une modification en amont162* Lancer un travail de suivi après la livraison d'une modification en amont

161 163 

162Après l'exécution, la tâche se désactive d'elle-même et l'interface web la marque comme **Completed**. Pour l'exécuter à nouveau, ouvrez la boîte de dialogue de modification de la tâche sur le web, qui propose **One-time** pour une tâche ponctuelle, et définissez une nouvelle heure.164Après l'exécution, la tâche se désactive d'elle-même et l'interface web la marque comme **Completed**. Pour l'exécuter à nouveau, ouvrez la [boîte de dialogue de modification](#edit-and-control-scheduled-tasks) de la tâche sur le web et sélectionnez **One-time** ou **Once**, selon le libellé affiché dans votre boîte de dialogue. Définissez ensuite une nouvelle date et une nouvelle heure dans votre fuseau horaire local, puis enregistrez.

163 165 

164Créez une exécution ponctuelle à partir de la CLI en décrivant l'heure en langage naturel. Claude interprète l'expression par rapport à l'heure actuelle et confirme l'horodatage absolu avant d'enregistrer.166Créez une exécution ponctuelle à partir de la CLI en décrivant l'heure en langage naturel. Claude interprète l'expression par rapport à l'heure actuelle et confirme l'horodatage absolu avant d'enregistrer.

165 167 


171/schedule in 2 weeks, open a cleanup PR that removes the feature flag173/schedule in 2 weeks, open a cleanup PR that removes the feature flag

172```174```

173 175 

174La même conversion de l'heure locale vers UTC que pour les planifications récurrentes s'applique aux horodatages ponctuels.

175 

176Les exécutions ponctuelles sont décomptées de la même limite horaire que les autres exécutions planifiées. Consultez [Utilisation et limites](#usage-and-limits) pour plus de détails.176Les exécutions ponctuelles sont décomptées de la même limite horaire que les autres exécutions planifiées. Consultez [Utilisation et limites](#usage-and-limits) pour plus de détails.

177 177 

178### Ajouter un déclencheur API178### Ajouter un déclencheur API


356Les connecteurs sont les [intégrations claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) de votre compte. Les serveurs MCP que vous avez ajoutés localement dans la CLI avec `claude mcp add` sont stockés sur votre machine plutôt que sur votre compte claude.ai, ils n'apparaissent donc pas dans la liste des connecteurs. Pour utiliser l'un de ces serveurs dans une tâche planifiée :356Les connecteurs sont les [intégrations claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) de votre compte. Les serveurs MCP que vous avez ajoutés localement dans la CLI avec `claude mcp add` sont stockés sur votre machine plutôt que sur votre compte claude.ai, ils n'apparaissent donc pas dans la liste des connecteurs. Pour utiliser l'un de ces serveurs dans une tâche planifiée :

357 357 

358* **En tant que connecteur** : ajoutez-le en tant que connecteur sur [claude.ai/customize/connectors](https://claude.ai/customize/connectors)358* **En tant que connecteur** : ajoutez-le en tant que connecteur sur [claude.ai/customize/connectors](https://claude.ai/customize/connectors)

359* **Dans le dépôt** : pour une tâche planifiée avec un seul dépôt, vous pouvez plutôt déclarer le serveur dans un fichier [`.mcp.json`](/docs/fr/mcp#project-scope) commité afin qu'il fasse partie du dépôt cloné359* **Dans le dépôt** : pour une tâche planifiée avec un seul dépôt en dehors d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), vous pouvez plutôt déclarer le serveur dans un fichier [`.mcp.json`](/docs/fr/mcp#project-scope) commité. Une tâche planifiée dans un projet ne charge pas `.mcp.json` ; ajoutez donc le serveur en tant que connecteur

360 360 

361Lorsque vous créez une tâche planifiée, tous vos connecteurs actuellement connectés sont inclus par défaut. Supprimez ceux qui ne sont pas nécessaires afin de limiter les outils auxquels Claude a accès pendant l'exécution. Vous pouvez également ajouter des connecteurs directement à partir de la boîte de dialogue de création ou de modification de la tâche.361Lorsque vous créez une tâche planifiée, tous vos connecteurs actuellement connectés sont inclus par défaut. Supprimez ceux qui ne sont pas nécessaires afin de limiter les outils auxquels Claude a accès pendant l'exécution. Vous pouvez également ajouter des connecteurs directement à partir de la boîte de dialogue de création ou de modification de la tâche.

362 362 


452* Vous êtes dans une session cloud, où soumettre `/schedule` répond que la commande n'est pas disponible dans cet environnement. Gérez plutôt les tâches planifiées à partir de l'[interface web](https://claude.ai/code/routines)452* Vous êtes dans une session cloud, où soumettre `/schedule` répond que la commande n'est pas disponible dans cet environnement. Gérez plutôt les tâches planifiées à partir de l'[interface web](https://claude.ai/code/routines)

453* La politique de votre organisation désactive les [sessions cloud](/docs/fr/claude-code-on-the-web), dont les tâches planifiées ont besoin. Dans ce cas, soumettre `/schedule` répond plutôt [`Cloud sessions are disabled by your organization's policy`](/docs/fr/errors#cloud-sessions-are-disabled-by-your-organizations-policy). Avant la v2.1.268, cela renvoyait `Unknown command: /schedule`453* La politique de votre organisation désactive les [sessions cloud](/docs/fr/claude-code-on-the-web), dont les tâches planifiées ont besoin. Dans ce cas, soumettre `/schedule` répond plutôt [`Cloud sessions are disabled by your organization's policy`](/docs/fr/errors#cloud-sessions-are-disabled-by-your-organizations-policy). Avant la v2.1.268, cela renvoyait `Unknown command: /schedule`

454* Un propriétaire a [désactivé les tâches planifiées](#routines-are-disabled-by-your-organizations-policy) pour votre organisation Team ou Enterprise. Avant la v2.1.227, la commande apparaissait toujours dans ce cas, et claude.ai rejetait la tâche lorsque Claude tentait de la créer ou de l'exécuter454* Un propriétaire a [désactivé les tâches planifiées](#routines-are-disabled-by-your-organizations-policy) pour votre organisation Team ou Enterprise. Avant la v2.1.227, la commande apparaissait toujours dans ce cas, et claude.ai rejetait la tâche lorsque Claude tentait de la créer ou de l'exécuter

455* Votre organisation Enterprise gère votre accès avec des [rôles personnalisés](https://support.claude.com/en/articles/13930452), et aucun de vos rôles n'inclut la permission des tâches planifiées sous **Remote sessions**. Demandez à un propriétaire de l'ajouter à l'un de vos rôles

455 456 

456À moins que la politique de votre organisation ne désactive les tâches planifiées ou les sessions cloud, vous pouvez créer et gérer des tâches planifiées sur [claude.ai/code/routines](https://claude.ai/code/routines), quelle que soit la configuration de la CLI.457Si la cause est votre connexion à la CLI ou le fait d'être dans une session cloud, vous pouvez tout de même créer et gérer des tâches planifiées sur [claude.ai/code/routines](https://claude.ai/code/routines). Vous y avez besoin d'un compte Pro, Max, Team ou Enterprise. Si les tâches planifiées ou les sessions cloud sont désactivées pour votre organisation ou absentes de vos rôles, vous ne pouvez pas non plus les créer sur le web.

457 458 

458### "Routines are disabled by your organization's policy"459### "Routines are disabled by your organization's policy"

459 460 

sandboxing.md +16 −2

Details

546 546 

547Si `git merge` ou `git checkout` échoue avec `unable to unlink old` sur l'un de ces chemins, consultez [Une commande git échoue avec `unable to unlink old`](#a-git-command-fails-with-unable-to-unlink-old).547Si `git merge` ou `git checkout` échoue avec `unable to unlink old` sur l'un de ces chemins, consultez [Une commande git échoue avec `unable to unlink old`](#a-git-command-fails-with-unable-to-unlink-old).

548 548 

549#### Chemins refusés qui passent par un lien symbolique

550 

551Sous macOS, lorsqu'un chemin refusé passe par un lien symbolique, comme un `~/.claude` qui est un lien vers un dépôt de dotfiles, le sandbox refuse également l'emplacement réel du chemin. Cela couvre les refus propres au sandbox ainsi que vos entrées littérales `denyWrite` et `denyRead`.

552 

549### Isolation réseau553### Isolation réseau

550 554 

551Une commande en sandbox ne dispose d'aucun accès direct au réseau :555Une commande en sandbox ne dispose d'aucun accès direct au réseau :


974✗ Sandbox settings not changed: /home/you/project/.claude/settings.local.json couldn't be updated (EACCES). Start Claude Code in a project folder you can write to.978✗ Sandbox settings not changed: /home/you/project/.claude/settings.local.json couldn't be updated (EACCES). Start Claude Code in a project folder you can write to.

975```979```

976 980 

977Si la raison indiquée entre parenthèses est `EACCES`, `EPERM` ou `EROFS`, démarrez Claude Code dans un dossier de projet dans lequel vous pouvez écrire, puis exécutez à nouveau `/sandbox` dans cette session.981Si la raison indiquée entre parenthèses est `EACCES`, `EPERM` ou `EROFS`, démarrez Claude Code dans un dossier de projet dans lequel vous pouvez écrire, puis exécutez à nouveau `/sandbox` dans cette session. Si la raison commence par `Invalid JSON syntax in settings file`, corrigez le JSON dans le fichier `.claude/settings.local.json` de votre projet, puis exécutez à nouveau `/sandbox`.

982 

983Si vous ne disposez d'aucun dossier de projet accessible en écriture, activez plutôt le sandbox depuis vos paramètres utilisateur. Ajoutez ceci à `~/.claude/settings.json` :

984 

985```json theme={null}

986{

987 "sandbox": {

988 "enabled": true

989 }

990}

991```

978 992 

979Si la raison commence par `Invalid JSON syntax in settings file`, corrigez le JSON dans le fichier `.claude/settings.local.json` de votre projet, puis exécutez à nouveau `/sandbox`.993Cela active le [mode d'autorisation automatique](#sandbox-modes). Pour le mode de permissions standard, définissez également [`sandbox.autoAllowBashIfSandboxed`](/docs/fr/settings-reference#sandbox-autoallowbashifsandboxed) sur `false`. La modification prend effet dans votre session en cours dès la prochaine commande shell exécutée par Claude, et l'onglet **Mode** de `/sandbox` indique alors le mode en vigueur.

980 994 

981## Limitations995## Limitations

982 996 

Details

30| Accès aux fichiers locaux | Non (clone frais) | Oui | Oui |30| Accès aux fichiers locaux | Non (clone frais) | Oui | Oui |

31| Serveurs MCP | Connecteurs configurés par tâche | [Fichiers de configuration](/docs/fr/mcp) et connecteurs | Hérité de la session |31| Serveurs MCP | Connecteurs configurés par tâche | [Fichiers de configuration](/docs/fr/mcp) et connecteurs | Hérité de la session |

32| Invites de permission | Non (s'exécute de manière autonome) | Configurable par tâche | Hérité de la session |32| Invites de permission | Non (s'exécute de manière autonome) | Configurable par tâche | Hérité de la session |

33| Planification personnalisable | Via `/schedule` dans la CLI | Oui | Oui |33| Planification personnalisable | Oui | Oui | Oui |

34| Intervalle minimum | 1 heure | 1 minute | 1 minute |34| Intervalle minimum | 1 heure | 1 minute lorsque Claude le définit, [1 heure dans les formulaires](/docs/fr/desktop-scheduled-tasks#schedule-options) | 1 minute |

35 35 

36> [!TIP]36> [!TIP]

37>37>


124 124 

125### Arrêter une boucle125### Arrêter une boucle

126 126 

127Pour arrêter un [`/loop` autonome](#let-claude-choose-the-interval) pendant qu'il attend la prochaine itération, appuyez sur `Esc`. Cela efface le réveil en attente afin que la boucle ne se déclenche pas à nouveau. Les tâches que vous avez planifiées en [demandant directement à Claude](#manage-scheduled-tasks) ne sont pas affectées par `Esc` et restent en place jusqu'à ce que vous les supprimiez.127* **[Boucle autonome](#let-claude-choose-the-interval)** : pendant que la boucle attend sa prochaine itération, appuyez sur `Esc` pour l'arrêter. Vous pouvez également l'arrêter avec `Ctrl+C` lorsque Claude est inactif, sauf dans une [session en arrière-plan à laquelle vous êtes attaché](#detach-without-stopping-a-loop). Un avis `Pending wakeup cancelled` confirme que la boucle ne se déclenchera plus.

128* **[Boucle à intervalle fixe](#run-on-a-fixed-interval)** : pour arrêter une boucle telle que `/loop 5m`, demandez à Claude de l'annuler, par exemple `cancel the deploy check loop`. `Esc` et `Ctrl+C` ne l'arrêtent pas, ni aucune tâche que vous avez [planifiée en demandant directement à Claude](#manage-scheduled-tasks). Une boucle que vous n'annulez pas se termine lorsque [sept jours s'écoulent](#seven-day-expiry).

128 129 

129En [mode autonome](#let-claude-choose-the-interval), Claude peut également terminer la boucle de lui-même une fois que la tâche est terminée. Claude appelle l'[outil `ScheduleWakeup`](/docs/fr/tools-reference) avec `stop: true`, ce qui annule le réveil en attente immédiatement. Si une itération se termine sans reprogrammer ni arrêter, Claude Code planifie un réveil de secours environ 20 minutes plus tard et termine la boucle quand cette itération ne reprogramme pas non plus.130En [mode autonome](#let-claude-choose-the-interval), Claude peut également terminer la boucle de lui-même une fois que la tâche est terminée. Claude appelle l'[outil `ScheduleWakeup`](/docs/fr/tools-reference) avec `stop: true`, ce qui annule le réveil en attente immédiatement. Si une itération se termine sans reprogrammer ni arrêter, Claude Code planifie un réveil de secours environ 20 minutes plus tard et termine la boucle quand cette itération ne reprogramme pas non plus.

130 131 

131Les boucles selon un intervalle fixe continuent de s'exécuter jusqu'à ce que vous les [annuliez comme n'importe quelle autre tâche planifiée](#manage-scheduled-tasks) ou que [sept jours s'écoulent](#seven-day-expiry).132#### Se détacher sans arrêter une boucle

133 

134Lorsque vous êtes [attaché à une session en arrière-plan](/docs/fr/agent-view#attach-to-a-session) et que Claude est inactif, appuyez deux fois sur `Ctrl+C` sur un prompt vide pour vous détacher. Une boucle autonome qui y attend sa prochaine itération continue de s'exécuter, et cette itération démarre comme prévu. Pour plutôt arrêter la boucle, appuyez sur `Esc` avant de vous détacher. Se détacher avec `Ctrl+C` sans arrêter la boucle nécessite Claude Code v2.1.295 ou ultérieur.

132 135 

133## Définir un rappel ponctuel136## Définir un rappel ponctuel

134 137 


232 235 

233* 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.236* 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.

234* 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é.237* 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é.

235* 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.238* Dans une [session en arrière-plan](/docs/fr/agent-view#from-inside-a-session), une [boucle à rythme personnel](#let-claude-choose-the-interval) s'arrête si son prochain réveil arrive à échéance alors que le processus de la session ne s'exécute pas, par exemple après un plantage. Quand le processus redémarre, la transcription affiche un [avis indiquant que le réveil ne se déclenchera pas](/docs/fr/errors#restarted-after-its-next-loop-wakeup-was-due). Pour poursuivre la boucle, [répondez à la session](/docs/fr/agent-view#peek-and-reply) et demandez à Claude de la maintenir en cours d'exécution.

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

240* Une tâche récurrente restaurée ne s'exécute pas pour les exécutions manquées pendant que la session ne s'exécutait pas. Sa prochaine exécution est la première prévue après la reprise, et le [jitter](#jitter) s'applique à cette exécution.

241* Quand vous reprenez avec `claude --resume` ou `claude --continue`, Claude Code ne redémarre pas les commandes Bash en arrière-plan ni les moniteurs qui s'exécutaient à la fin de la session. Si vous en avez encore besoin, demandez à Claude de les relancer.

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

237 243 

238Pour l'automatisation pilotée par cron qui doit s'exécuter sans surveillance :244Pour l'automatisation pilotée par cron qui doit s'exécuter sans surveillance :

Details

281| `CLAUDE_RUNNER_ATTEMPT` | Un compteur par session à utiliser pour la journalisation. Ce n'est ni un nombre de nouvelles tentatives ni un nombre de demandes. `0` pour les demandes de pré-réchauffage, bien qu'une demande pour une session puisse aussi porter `0`. |281| `CLAUDE_RUNNER_ATTEMPT` | Un compteur par session à utiliser pour la journalisation. Ce n'est ni un nombre de nouvelles tentatives ni un nombre de demandes. `0` pour les demandes de pré-réchauffage, bien qu'une demande pour une session puisse aussi porter `0`. |

282| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | Heure du serveur à partir de l'en-tête HTTP `Date` de la réponse du sondage. Quand le hook vérifie le `exp` du JWT du bon de travail, comparez par rapport à cette valeur au lieu de l'horloge locale pour tolérer l'asymétrie. Vide quand la passerelle a omis l'en-tête. |282| `CLAUDE_RUNNER_ORDER_SERVER_TIME` | Heure du serveur à partir de l'en-tête HTTP `Date` de la réponse du sondage. Quand le hook vérifie le `exp` du JWT du bon de travail, comparez par rapport à cette valeur au lieu de l'horloge locale pour tolérer l'asymétrie. Vide quand la passerelle a omis l'en-tête. |

283| `CLAUDE_RUNNER_POOL_ID` | L'ID de l'environnement auquel le nouveau runner doit se joindre, sous la forme `ccpool_...` |283| `CLAUDE_RUNNER_POOL_ID` | L'ID de l'environnement auquel le nouveau runner doit se joindre, sous la forme `ccpool_...` |

284| `CLAUDE_RUNNER_ACCOUNT_ID` | ID balisé du compte qui a mis en attente la session, pour l'acheminement par compte, le quota ou la rétrofacturation. Vide quand indisponible, et toujours vide pour les sessions du canal Claude Tag, qu'aucun compte ne met en attente. |284| `CLAUDE_RUNNER_ACCOUNT_ID` | ID balisé du compte qui a mis en attente la session. Utilisez-le pour l'acheminement par compte, le quota ou la rétrofacturation, pas comme clé de déduplication. Vide quand indisponible, et toujours vide pour les sessions du canal Claude Tag, qu'aucun compte ne met en attente. |

285| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | Email du compte qui a mis en attente la session. Vide quand indisponible. Traitez l'email comme des informations d'identification personnelle et ne le consignez pas. |285| `CLAUDE_RUNNER_ACCOUNT_EMAIL` | Email du compte qui a mis en attente la session. Vide quand indisponible. Traitez l'email comme des informations d'identification personnelle et ne le consignez pas. |

286| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | URL de la première source git de la session, pour l'acheminement vers un runner avec ce référentiel pré-réchauffé. Vide quand la session n'a pas de sources git. |286| `CLAUDE_RUNNER_PRIMARY_REPO_URL` | URL de la première source git de la session, pour l'acheminement vers un runner avec ce référentiel pré-réchauffé. Vide quand la session n'a pas de sources git. |

287| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | Révision de la première source git de la session : branche, SHA, tag ou nom de référence complet. Vide quand non spécifié. |287| `CLAUDE_RUNNER_PRIMARY_REPO_REVISION` | Révision de la première source git de la session : branche, SHA, tag ou nom de référence complet. Vide quand non spécifié. |


306 * **Sortie 1, ou hook toujours en cours d'exécution à l'expiration de `--hook-timeout`** : échec pouvant être réessayé. La session recule et est re-proposée.306 * **Sortie 1, ou hook toujours en cours d'exécution à l'expiration de `--hook-timeout`** : échec pouvant être réessayé. La session recule et est re-proposée.

307 * **Sortie 2 ou supérieure** : échec ne pouvant pas être réessayé. La session est empêchée de générer un nouveau spawn jusqu'à ce qu'un utilisateur lui envoie un nouveau message ou qu'un [Owner](/docs/fr/cloud-environments#organization-shared-environments) sélectionne **Retry** sur elle dans l'onglet **Activity** de l'environnement.307 * **Sortie 2 ou supérieure** : échec ne pouvant pas être réessayé. La session est empêchée de générer un nouveau spawn jusqu'à ce qu'un utilisateur lui envoie un nouveau message ou qu'un [Owner](/docs/fr/cloud-environments#organization-shared-environments) sélectionne **Retry** sur elle dans l'onglet **Activity** de l'environnement.

308 308 

309 Sur une sortie non nulle, la fin du stderr du hook apparaît dans l'onglet **Activity** comme raison de l'échec, donc écrivez l'erreur exploitable sur stderr et n'y écrivez jamais de secrets. Dans un hook shell, [gardez les échecs transitoires réessayables](#keep-transient-failures-retryable-in-a-shell-hook).309 Pendant qu'une session recule, elle affiche **Queued** dans l'onglet **Activity** sans erreur de spawn, donc lisez la sortie du hook dans le journal de l'orchestrateur. Une fois bloquée, la session affiche **Failed**. Développez-la pour lire l'erreur de spawn, tirée des 512 derniers caractères du stderr du hook. Écrivez une erreur exploitable sur stderr, sans aucun secret. Dans un hook shell, [gardez les échecs transitoires réessayables](#keep-transient-failures-retryable-in-a-shell-hook).

310 310 

311 Une demande de pré-réchauffage n'a pas de session à faire échouer : l'orchestrateur consigne une sortie non nulle localement uniquement, et le serveur re-demande le spawn après l'expiration du bail `--expected-spawn-seconds`.311 Une demande de pré-réchauffage n'a pas de session à faire échouer : l'orchestrateur consigne une sortie non nulle localement uniquement, et le serveur re-demande le spawn après l'expiration du bail `--expected-spawn-seconds`.

3124. **Définissez `--expected-spawn-seconds` à au moins votre temps p99 entre la demande de spawn et l'enregistrement du runner.** Mesurez à partir du moment où l'orchestrateur reçoit la demande de spawn, et incluez toute attente de capacité sur votre plateforme ainsi que le temps de démarrage. Cette valeur est le bail côté serveur, et le bon de travail expire avec lui, donc un runner dont la charge de travail prend plus de temps ne peut pas s'enregistrer. Toutes les répliques d'orchestrateur doivent utiliser la même valeur.3124. **Définissez `--expected-spawn-seconds` à au moins votre temps p99 entre la demande de spawn et l'enregistrement du runner.** Mesurez à partir du moment où l'orchestrateur reçoit la demande de spawn, et incluez toute attente de capacité sur votre plateforme ainsi que le temps de démarrage. Cette valeur est le bail côté serveur, et le bon de travail expire avec lui, donc un runner dont la charge de travail prend plus de temps ne peut pas s'enregistrer. Toutes les répliques d'orchestrateur doivent utiliser la même valeur.


327 327 

328Supprimez la charge de travail lorsque le runner se termine, par exemple en définissant `ttlSecondsAfterFinished` sur un Kubernetes Job ou en faisant supprimer la VM par son script de démarrage une fois terminé.328Supprimez la charge de travail lorsque le runner se termine, par exemple en définissant `ttlSecondsAfterFinished` sur un Kubernetes Job ou en faisant supprimer la VM par son script de démarrage une fois terminé.

329 329 

330#### Envoyer la sortie d'un processus en arrière-plan vers un fichier

331 

332Si votre hook `spawn-runner` laisse un processus s'exécuter en arrière-plan, envoyez la sortie de ce processus vers un fichier que l'utilisateur du hook peut créer. Par exemple, ajoutez `>> "$HOME/claude-runner.log" 2>&1` à la commande qui démarre le processus, avant tout `&`. Cette ligne de hook montre où se place la redirection, `your-background-command` représentant la commande que votre hook lance en arrière-plan :

333 

334```bash theme={null}

335your-background-command >> "$HOME/claude-runner.log" 2>&1 &

336```

337 

338Sans la redirection, le processus écrit sur le stdout et le stderr du hook :

339 

340* Environ une seconde après la sortie du hook, l'orchestrateur consigne `exited, but a process it started still has the hook's stdout or stderr open`. À partir de cette ligne, il consigne jusqu'à 64 Ko supplémentaires de cette sortie sous `[runner:hook:spawn-runner:after-exit jti=<order id>]`, puis abandonne le reste.

341* Une fois que l'orchestrateur s'est terminé, les écritures du processus à cet endroit échouent.

342 

343Un runner que votre hook démarre lui-même exécute les sessions sur l'hôte orchestrateur, qui détient le [secret d'environnement](/docs/fr/self-hosted-environments-deploy#harden-your-deployment).

344 

345Avant la v2.1.305, un hook qui s'était déjà terminé atteignait quand même [`--hook-timeout`](/docs/fr/self-hosted-environments-reference#orchestrator-cli-flags) tant qu'un processus qu'il avait démarré gardait ouverts le stdout ou le stderr du hook, ce qui s'affichait ainsi :

346 

347* **Onglet Activity**, dans l'erreur de spawn d'une session échouée : `spawn-runner hook timed out after 60000ms`, ou les dernières lignes du stderr du hook.

348* **Journal de l'orchestrateur** : `timed out after 60000ms, sending SIGTERM to process tree`.

349 

330#### Garder les échecs transitoires réessayables dans un hook shell350#### Garder les échecs transitoires réessayables dans un hook shell

331 351 

332Dans un hook shell qui utilise `set -e`, un échec qu'une nouvelle tentative aurait pu résoudre peut bloquer la session. Le hook s'arrête à la commande en échec et sort avec le statut propre à cette commande, et l'orchestrateur applique le contrat du code de sortie à ce statut. De nombreux échecs renvoient un statut de 2 ou plus, comme `127` quand une commande n'est pas installée et `22` de `curl --fail` sur une erreur HTTP, de sorte qu'ils bloquent la session dès son premier échec.352Dans un hook shell qui utilise `set -e`, un échec qu'une nouvelle tentative aurait pu résoudre peut bloquer la session. Le hook s'arrête à la commande en échec et sort avec le statut propre à cette commande, et l'orchestrateur applique le contrat du code de sortie à ce statut. De nombreux échecs renvoient un statut de 2 ou plus, comme `127` quand une commande n'est pas installée et `22` de `curl --fail` sur une erreur HTTP, de sorte qu'ils bloquent la session dès son premier échec.


350 ```bash theme={null}370 ```bash theme={null}

351 trap 'rc=$?; your-cleanup-command || true; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT371 trap 'rc=$?; your-cleanup-command || true; [ "$rc" -eq 0 ] || [ -n "${PERMANENT:-}" ] || exit 1' EXIT

352 ```372 ```

353* **Commandes autorisées à échouer** : si le hook n'utilisait pas `set -e` auparavant, il s'arrête désormais à la première commande qui renvoie une valeur non nulle, comme une recherche qui ne trouve rien ou une soumission en double que votre plateforme rejette. Si le hook agit sur le résultat, faites de cette commande la condition d'un `if`. S'il ignore le résultat, faites suivre la commande de `|| true`.373* **Commandes autorisées à échouer** : si le hook n'utilisait pas `set -e` auparavant, il s'arrête désormais à la première commande qui renvoie une valeur non nulle, comme une recherche qui ne trouve rien. Si le hook agit sur le résultat, faites de cette commande la condition d'un `if`. S'il ignore le résultat, faites suivre la commande de `|| true`.

374* **La commande qui soumet la charge de travail** : ne la faites pas suivre de `|| true`. Avec `|| true`, le hook sort avec 0 même lorsque votre plateforme refuse la soumission, par exemple en cas de dépassement de quota, et la session attend un runner qui n'a jamais été démarré.

375 

376 Nommez la charge de travail d'après `CLAUDE_RUNNER_ORDER_ID`, comme l'indique [la première règle du hook](#the-spawn-runner-hook). Une réponse indiquant que la ressource existe déjà correspond alors à une redélivraison de la même demande, donc traitez uniquement cette réponse comme un succès. Pour toute autre réponse, affichez-la sur stderr et sortez avec 1, ou appelez `permanent` si aucune nouvelle tentative ne peut corriger le problème. Cet exemple le fait pour `kubectl create`, avec un `job.yaml` qui ne contient que la charge de travail :

377 

378 ```bash theme={null}

379 if ! out=$(kubectl create -f job.yaml 2>&1); then

380 case "$out" in

381 *AlreadyExists*) ;;

382 *) printf '%s\n' "${out:-kubectl create failed}" >&2; exit 1 ;;

383 esac

384 fi

385 ```

386 

387 Le journal de l'orchestrateur affiche alors ce message. Si le hook crée d'autres objets, nommez chacun d'après l'ID de commande, donnez-lui sa propre commande et traitez de la même manière sa réponse indiquant qu'il existe déjà comme un succès. Pour un objet qui contient un secret, affichez un message fixe à la place de la sortie de la commande.

354 388 

355Pour confirmer que le trap fonctionne, ajoutez directement sous la ligne `trap` une ligne qui appelle une commande inexistante, comme `no-such-command`. Exécutez le fichier du hook depuis votre shell et vérifiez que `echo $?` affiche `1`, puis supprimez la ligne.389Pour confirmer que le trap fonctionne, ajoutez directement sous la ligne `trap` une ligne qui appelle une commande inexistante, comme `no-such-command`. Exécutez le fichier du hook depuis votre shell et vérifiez que `echo $?` affiche `1`, puis supprimez la ligne.

356 390 


457 491 

458* Le [fichier MCP géré](/docs/fr/managed-mcp) de portée entreprise, à son chemin système standard : `/etc/claude-code/managed-mcp.json` sur les hôtes de runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` sur les hôtes macOS. Utilisez-le pour les parcs verrouillés où seuls les serveurs listés par un administrateur peuvent être chargés. Consultez [le contrôle exclusif avec managed-mcp.json](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) pour les règles de priorité. Lorsque ce fichier est présent sur l'hôte du runner, Claude Code ignore les serveurs MCP que le plan de contrôle d'Anthropic fournit à une session, y compris les connecteurs claude.ai, et les nomme dans un avertissement sur la sortie stderr du processus enfant de la session, que le runner enregistre au niveau de log `debug`. Avant la v2.1.229, ces sessions se terminaient au démarrage avec `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.492* Le [fichier MCP géré](/docs/fr/managed-mcp) de portée entreprise, à son chemin système standard : `/etc/claude-code/managed-mcp.json` sur les hôtes de runner Linux, `/Library/Application Support/ClaudeCode/managed-mcp.json` sur les hôtes macOS. Utilisez-le pour les parcs verrouillés où seuls les serveurs listés par un administrateur peuvent être chargés. Consultez [le contrôle exclusif avec managed-mcp.json](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) pour les règles de priorité. Lorsque ce fichier est présent sur l'hôte du runner, Claude Code ignore les serveurs MCP que le plan de contrôle d'Anthropic fournit à une session, y compris les connecteurs claude.ai, et les nomme dans un avertissement sur la sortie stderr du processus enfant de la session, que le runner enregistre au niveau de log `debug`. Avant la v2.1.229, ces sessions se terminaient au démarrage avec `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

459* La clé [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers) dans les [paramètres gérés](/docs/fr/managed-settings) sur l'hôte du runner : elle fournit des serveurs HTTP et SSE sans prendre le contrôle exclusif, de sorte que les serveurs des autres sources sont toujours chargés. Nécessite Claude Code v2.1.259 ou une version ultérieure.493* La clé [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers) dans les [paramètres gérés](/docs/fr/managed-settings) sur l'hôte du runner : elle fournit des serveurs HTTP et SSE sans prendre le contrôle exclusif, de sorte que les serveurs des autres sources sont toujours chargés. Nécessite Claude Code v2.1.259 ou une version ultérieure.

460* `<repo>/.mcp.json` : portée projet. Faites un commit du fichier dans le dépôt ; ses serveurs sont approuvés automatiquement dans les sessions cloud. Dans une session comportant plusieurs dépôts, [le fichier d'un seul dépôt au plus est chargé](#repository-settings-in-sessions-with-several-repositories).494* `<repo>/.mcp.json` : portée projet. En dehors d'un fil de [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), faites un commit du fichier dans le dépôt ; ses serveurs sont approuvés automatiquement dans les sessions cloud. Dans une session comportant plusieurs dépôts, [le fichier d'un seul dépôt au plus est chargé](#repository-settings-in-sessions-with-several-repositories).

461* Un fichier [`--mcp-config`](/docs/fr/cli-reference#cli-flags) passé par votre script wrapper : ajoutez le flag après `"$@"`, comme dans `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --mcp-config /etc/claude/mcp.json`. Pour que les serveurs de ce fichier continuent de fonctionner lorsque les serveurs fournis à la session sont mis à jour en cours de session, faites en sorte que votre wrapper transmette l'[environnement complet](#wrapper-scripts) au processus enfant, comme le fait `exec`. Avant la v2.1.299, les serveurs stdio, HTTP et SSE de ce fichier s'arrêtaient à la première mise à jour de ce type qui ne les nommait pas.495* Un fichier [`--mcp-config`](/docs/fr/cli-reference#cli-flags) passé par votre script wrapper : ajoutez le flag après `"$@"`, comme dans `exec "$CLAUDE_RUNNER_CLAUDE_BIN" "$@" --mcp-config /etc/claude/mcp.json`. Pour que les serveurs de ce fichier continuent de fonctionner lorsque les serveurs fournis à la session sont mis à jour en cours de session, faites en sorte que votre wrapper transmette l'[environnement complet](#wrapper-scripts) au processus enfant, comme le fait `exec`. Avant la v2.1.299, les serveurs stdio, HTTP et SSE de ce fichier s'arrêtaient à la première mise à jour de ce type qui ne les nommait pas.

462 496 

463Lorsque la fourniture des connecteurs est activée pour votre organisation, le plan de contrôle d'Anthropic fournit les connecteurs que vous avez configurés sur claude.ai aux sessions créées de manière interactive, via une configuration MCP fournie par le serveur et acheminée par `api.anthropic.com`. Les sessions créées par programmation, comme les [dispatches via la CLI](/docs/fr/self-hosted-environments-testing#run-the-test-loop), ne bénéficient pas de la fourniture des connecteurs ; fournissez-leur plutôt des serveurs MCP via l'une des autres sources listées dans cette section. Le jeton OAuth du processus enfant ne comporte pas de scope permettant de récupérer directement les connecteurs ; le processus enfant ne tente donc pas lui-même cette récupération : la fourniture est pilotée par le serveur.497Lorsque la fourniture des connecteurs est activée pour votre organisation, le plan de contrôle d'Anthropic fournit les connecteurs que vous avez configurés sur claude.ai aux sessions créées de manière interactive, via une configuration MCP fournie par le serveur et acheminée par `api.anthropic.com`. Les sessions créées par programmation, comme les [dispatches via la CLI](/docs/fr/self-hosted-environments-testing#run-the-test-loop), ne bénéficient pas de la fourniture des connecteurs ; fournissez-leur plutôt des serveurs MCP via l'une des autres sources listées dans cette section. Le jeton OAuth du processus enfant ne comporte pas de scope permettant de récupérer directement les connecteurs ; le processus enfant ne tente donc pas lui-même cette récupération : la fourniture est pilotée par le serveur.

464 498 

499> [!NOTE]

500>

501> Dans une session qui a reçu un connecteur, un serveur portant le même nom et provenant du fichier `.claude.json` de l'hôte ou du fichier `.mcp.json` d'un dépôt n'est pas connecté. Pour utiliser les deux, donnez un nom différent à votre serveur.

502 

465`settings.json` ne contient pas de définitions de serveurs MCP, et il n'existe pas de champ `mcpServers` de premier niveau dans le schéma des paramètres. Dans les paramètres gérés, fournissez plutôt les serveurs avec la clé [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers).503`settings.json` ne contient pas de définitions de serveurs MCP, et il n'existe pas de champ `mcpServers` de premier niveau dans le schéma des paramètres. Dans les paramètres gérés, fournissez plutôt les serveurs avec la clé [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers).

466 504 

467Les sessions héritent de l'environnement du runner ; définissez donc [`ENABLE_TOOL_SEARCH`](/docs/fr/mcp#scale-with-mcp-tool-search) à ce niveau pour contrôler la recherche d'outils MCP pour chaque session lancée par un runner ; la page MCP décrit les valeurs possibles.505Les sessions héritent de l'environnement du runner ; définissez donc [`ENABLE_TOOL_SEARCH`](/docs/fr/mcp#scale-with-mcp-tool-search) à ce niveau pour contrôler la recherche d'outils MCP pour chaque session lancée par un runner ; la page MCP décrit les valeurs possibles.


642 680 

643Les sessions lisent également ces fichiers de paramètres :681Les sessions lisent également ces fichiers de paramètres :

644 682 

645* **Paramètres du projet** : un `.claude/settings.json` commité dans le dépôt se superpose à la ligne de base au niveau utilisateur. Dans une session avec plusieurs dépôts, [le fichier d'au plus un dépôt prend effet](#repository-settings-in-sessions-with-several-repositories).683* **Paramètres du projet** : en dehors d'un fil de [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), un `.claude/settings.json` commité dans le dépôt se superpose à la ligne de base au niveau utilisateur. Dans une session avec plusieurs dépôts, [le fichier d'au plus un dépôt prend effet](#repository-settings-in-sessions-with-several-repositories).

646* **Paramètres gérés** : les sessions lisent [`managed-settings.json`](/docs/fr/settings#where-settings-live) à partir du chemin système standard dans votre image runner. Pour savoir si ses clés s'appliquent aux côtés des [paramètres gérés par le serveur](/docs/fr/server-managed-settings), voir [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).684* **Paramètres gérés** : les sessions lisent [`managed-settings.json`](/docs/fr/settings#where-settings-live) à partir du chemin système standard dans votre image runner. Pour savoir si ses clés s'appliquent aux côtés des [paramètres gérés par le serveur](/docs/fr/server-managed-settings), voir [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).

647 685 

648Pour l'ordre dans lequel ces sources s'appliquent, voir [priorité des paramètres](/docs/fr/settings#settings-precedence).686Pour l'ordre dans lequel ces sources s'appliquent, voir [priorité des paramètres](/docs/fr/settings#settings-precedence).


653* **Qui les crée** : le plan de contrôle remplit les scripts à partir de constantes fixes dans son propre déploiement, jamais à partir d'entrées par session ou tierces.691* **Qui les crée** : le plan de contrôle remplit les scripts à partir de constantes fixes dans son propre déploiement, jamais à partir d'entrées par session ou tierces.

654* **Ce qui les gouverne toujours** : les hooks livrés via `--settings` entrent dans la configuration de hook fusionnée ordinaire, pas le niveau géré, donc vos paramètres gérés s'appliquent toujours. `disableAllHooks` les désactive, et ils ne font pas partie des catégories que [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) garde chargées.692* **Ce qui les gouverne toujours** : les hooks livrés via `--settings` entrent dans la configuration de hook fusionnée ordinaire, pas le niveau géré, donc vos paramètres gérés s'appliquent toujours. `disableAllHooks` les désactive, et ils ne font pas partie des catégories que [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) garde chargées.

655 693 

656Quand une personne démarre sa propre session, Claude Code télécharge aussi les [skills activés pour son compte claude.ai](/docs/fr/skills#skills-in-cowork-and-cloud-sessions) dans le répertoire de configuration de cette session. Une exécution de [tâche planifiée cloud](/docs/fr/routines) ne reçoit pas les skills de son propriétaire, et une session qui [envoie des requêtes de modèle à Bedrock ou Agent Platform](#send-model-requests-to-bedrock-or-agent-platform) n'en télécharge aucun. Pour un skill dont ces sessions ont besoin, commitez-le dans le `.claude/skills/` du dépôt ou ajoutez-le à votre image runner.694Quand une personne démarre sa propre session, Claude Code télécharge aussi les [skills activés pour son compte claude.ai](/docs/fr/skills#skills-in-cowork-and-cloud-sessions) dans le répertoire de configuration de cette session. Une exécution de [tâche planifiée cloud](/docs/fr/routines) ne reçoit pas les skills de son propriétaire, et une session qui [envoie des requêtes de modèle à Bedrock ou Agent Platform](#send-model-requests-to-bedrock-or-agent-platform) n'en télécharge aucun. Pour un skill dont ces sessions ont besoin, ajoutez-le à votre image runner ou, en dehors d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), commitez-le dans le `.claude/skills/` du dépôt.

657 695 

658En dehors des sessions [Claude Tag](https://claude.com/docs/claude-tag/overview), une session dans un environnement auto-hébergé s'exécute avec la [mémoire automatique](/docs/fr/memory#auto-memory) désactivée par défaut. Pour les instructions qui doivent persister d'une session à l'autre, utilisez le `CLAUDE.md` de votre image runner ou du dépôt.696En dehors des sessions [Claude Tag](https://claude.com/docs/claude-tag/overview), une session dans un environnement auto-hébergé s'exécute avec la [mémoire automatique](/docs/fr/memory#auto-memory) désactivée par défaut. Pour les instructions qui doivent persister d'une session à l'autre, utilisez le `CLAUDE.md` de votre image runner ou du dépôt.

659 697 


661 699 

662### Paramètres de dépôt dans les sessions avec plusieurs dépôts700### Paramètres de dépôt dans les sessions avec plusieurs dépôts

663 701 

664Dans une session avec plusieurs dépôts, Claude Code lit les paramètres du projet à partir du répertoire dans lequel la session démarre, donc le `.claude/settings.json` d'au plus un dépôt prend effet comme paramètres du projet. Un hook défini dans le fichier d'un autre dépôt ne s'exécute pas, une règle de refus qui s'y trouve ne s'applique pas, et son `env` n'est pas défini.702Dans un fil d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), aucun `.claude/settings.json` de dépôt ne prend effet comme paramètres du projet et aucun `.mcp.json` ni aucun skill de dépôt ne se charge, quel que soit l'endroit où le fil démarre. Pour fournir un skill à ces fils, ajoutez-le à votre image runner.

703 

704Dans toute autre session avec plusieurs dépôts, Claude Code lit les paramètres du projet à partir du répertoire dans lequel la session démarre, donc le `.claude/settings.json` d'au plus un dépôt prend effet comme paramètres du projet. Un hook défini dans le fichier d'un autre dépôt ne s'exécute pas, une règle de refus qui s'y trouve ne s'applique pas, et son `env` n'est pas défini.

665 705 

666* **`--capacity 1`, la valeur par défaut, avec le checkout intégré** : la session démarre dans le premier dépôt de sa liste de dépôts. Le `.claude/settings.json` de ce dépôt prend effet comme paramètres du projet et son `.mcp.json` se charge, contrairement à ceux des autres dépôts.706* **`--capacity 1`, la valeur par défaut, avec le checkout intégré** : la session démarre dans le premier dépôt de sa liste de dépôts. Le `.claude/settings.json` de ce dépôt prend effet comme paramètres du projet et son `.mcp.json` se charge, contrairement à ceux des autres dépôts.

667* **Un `--capacity` supérieur à un, ou un [hook `checkout`](#checkout)** : la session démarre dans un répertoire propre à la session qui contient les checkouts. Aucun `.claude/settings.json` de dépôt ne prend effet comme paramètres du projet, aucun `.mcp.json` de dépôt ne se charge, et [`$CLAUDE_PROJECT_DIR`](/docs/fr/hooks#reference-scripts-by-path) dans une commande de hook correspond à ce répertoire, et non à un checkout.707* **Un `--capacity` supérieur à un, ou un [hook `checkout`](#checkout)** : la session démarre dans un répertoire propre à la session qui contient les checkouts. Aucun `.claude/settings.json` de dépôt ne prend effet comme paramètres du projet, aucun `.mcp.json` de dépôt ne se charge, et [`$CLAUDE_PROJECT_DIR`](/docs/fr/hooks#reference-scripts-by-path) dans une commande de hook correspond à ce répertoire, et non à un checkout.

668 708 

669Le `CLAUDE.md` et les skills de chaque dépôt se chargent quel que soit l'endroit où la session démarre. Le runner transmet chaque dépôt à Claude Code comme [répertoire supplémentaire](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration), donc Claude Code lit aussi les clés `enabledPlugins` et `extraKnownMarketplaces` du `.claude/settings.json` de chaque dépôt.709Le `CLAUDE.md` de chaque dépôt se charge quel que soit l'endroit où la session démarre. En dehors d'un fil de projet, ses skills se chargent aussi. Le runner transmet chaque dépôt à Claude Code comme [répertoire supplémentaire](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration), donc Claude Code lit aussi les clés `enabledPlugins` et `extraKnownMarketplaces` du `.claude/settings.json` de chaque dépôt.

670 710 

671Pour exécuter un hook ou appliquer une règle de permission dans chaque session, placez-le dans `~/.claude/settings.json` sur l'hôte du runner. Le runner [sème le fichier de l'hôte dans chaque session](#how-each-session’s-config-is-assembled), quel que soit l'endroit où la session démarre. Écrivez un chemin dans une règle `Read` ou `Edit` sous forme de [pattern](/docs/fr/permissions#read-and-edit) absolu `//` ou relatif au répertoire personnel `~/`, car les autres patterns sont ancrés à la source des paramètres ou au répertoire courant.711Pour exécuter un hook ou appliquer une règle de permission dans chaque session, placez-le dans `~/.claude/settings.json` sur l'hôte du runner. Le runner [sème le fichier de l'hôte dans chaque session](#how-each-session’s-config-is-assembled), quel que soit l'endroit où la session démarre. Écrivez un chemin dans une règle `Read` ou `Edit` sous forme de [pattern](/docs/fr/permissions#read-and-edit) absolu `//` ou relatif au répertoire personnel `~/`, car les autres patterns sont ancrés à la source des paramètres ou au répertoire courant.

672 712 

Details

80Ces flux côté hôte atteignent bien `claude.ai`, donc exécutez-les à partir d'un hôte dont la sortie le permet plutôt que d'élargir la sortie du conteneur de session :80Ces flux côté hôte atteignent bien `claude.ai`, donc exécutez-les à partir d'un hôte dont la sortie le permet plutôt que d'élargir la sortie du conteneur de session :

81 81 

82* **L'installateur d'une ligne** : récupère `install.sh` depuis `claude.ai` au moment de l'installation.82* **L'installateur d'une ligne** : récupère `install.sh` depuis `claude.ai` au moment de l'installation.

83* **`claude auth login` interactif** : se connecte via `claude.ai`, `claude.com` et `platform.claude.com`. La [configuration guidée](/docs/fr/self-hosted-environments-quickstart#run-the-guided-setup), le mode connecté de `doctor` et [le dispatch CI](/docs/fr/self-hosted-environments-testing#authenticate-from-ci) l'utilisent. Le navigateur avec lequel vous vous connectez charge également les vérifications de navigateur de la page de connexion claude.ai depuis `hcaptcha.com`, `*.hcaptcha.com` et `challenges.cloudflare.com`.83* **`claude auth login` interactif** : se connecte via `claude.ai`, `claude.com` et `platform.claude.com`. La [configuration guidée](/docs/fr/self-hosted-environments-quickstart#run-the-guided-setup), le mode connecté de `doctor` et [le dispatch CI](/docs/fr/self-hosted-environments-testing#authenticate-from-ci) l'utilisent. Le navigateur avec lequel vous vous connectez charge également les vérifications de navigateur de la page de connexion claude.ai depuis `hcaptcha.com`, `*.hcaptcha.com` et `challenges.cloudflare.com`. Si votre organisation utilise l'authentification unique (SSO), ce navigateur peut également être redirigé via `sso.claude.com`.

84 84 

85### Sortie par défaut-refuser85### Sortie par défaut-refuser

86 86 


654* **Le runner s'arrête au démarrage avec `RegisterRunner failed:` et une erreur de certificat TLS** : l'erreur peut être, par exemple, `self signed certificate in certificate chain`. Le runner ne fait pas confiance à l'autorité de certification (CA) à l'origine du certificat qu'il a reçu, comme c'est le cas derrière un proxy d'inspection TLS. Définissez [`NODE_EXTRA_CA_CERTS`](/docs/fr/network-config#custom-ca-certificates) dans l'environnement du runner avec un fichier PEM contenant la CA racine du proxy.654* **Le runner s'arrête au démarrage avec `RegisterRunner failed:` et une erreur de certificat TLS** : l'erreur peut être, par exemple, `self signed certificate in certificate chain`. Le runner ne fait pas confiance à l'autorité de certification (CA) à l'origine du certificat qu'il a reçu, comme c'est le cas derrière un proxy d'inspection TLS. Définissez [`NODE_EXTRA_CA_CERTS`](/docs/fr/network-config#custom-ca-certificates) dans l'environnement du runner avec un fichier PEM contenant la CA racine du proxy.

655 655 

656 Vous n'avez pas à la redéfinir pour les sessions, qui en héritent. Git ne la lit pas : pour les clones passant par ce proxy, définissez également [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).656 Vous n'avez pas à la redéfinir pour les sessions, qui en héritent. Git ne la lit pas : pour les clones passant par ce proxy, définissez également [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).

657* **Votre script de démarrage affiche une erreur d'écriture contenant `Resource temporarily unavailable` et s'arrête** : votre script partage son stdout ou son stderr avec le processus `claude self-hosted-runner` ou [orchestrateur](/docs/fr/self-hosted-environments-configuration#on-demand-runners) qu'il démarre, lequel a basculé ce pipe ou ce socket partagé en mode non bloquant. Lorsque le pipe est plein, une écriture de votre script échoue avec cette erreur du système d'exploitation au lieu d'attendre, et avec `set -e` le script s'arrête.

658 

659 Pour éliminer l'erreur, envoyez la sortie du runner ou de l'orchestrateur vers un fichier que l'utilisateur de votre script peut créer. Ajoutez `>> "$HOME/claude-runner.log" 2>&1` à la commande qui le démarre, avant tout `&` qui le place en arrière-plan :

660 

661 ```bash theme={null}

662 claude self-hosted-runner --environment-secret-file /etc/claude/environment-secret >> "$HOME/claude-runner.log" 2>&1

663 ```

664 

665 La sortie propre de votre script continue d'aller là où elle allait auparavant, tandis que ce que le runner écrit sur stdout et stderr, y compris ses erreurs de démarrage, va dans ce fichier. Utilisez cette redirection shell plutôt que [`--log-file`](/docs/fr/self-hosted-environments-reference#runner-cli-flags) seul, qui duplique le log dans un fichier pendant que le runner continue d'écrire sur stdout et stderr. Si vous passez déjà `--log-file`, conservez-le également, car la redirection ne modifie pas ce que reçoit ce fichier.

657* **L'orchestrateur journalise `poll failed:` avec une erreur de certificat TLS et continue de réessayer** : l'orchestrateur ne fait pas confiance à la CA à l'origine du certificat qu'il a reçu, comme c'est le cas derrière un proxy d'inspection TLS. Définissez [`NODE_EXTRA_CA_CERTS`](/docs/fr/network-config#custom-ca-certificates) dans l'environnement de l'orchestrateur avec un fichier PEM contenant la CA racine du proxy. Définissez-la également pour les runners que votre hook `spawn-runner` démarre.666* **L'orchestrateur journalise `poll failed:` avec une erreur de certificat TLS et continue de réessayer** : l'orchestrateur ne fait pas confiance à la CA à l'origine du certificat qu'il a reçu, comme c'est le cas derrière un proxy d'inspection TLS. Définissez [`NODE_EXTRA_CA_CERTS`](/docs/fr/network-config#custom-ca-certificates) dans l'environnement de l'orchestrateur avec un fichier PEM contenant la CA racine du proxy. Définissez-la également pour les runners que votre hook `spawn-runner` démarre.

658 667 

659 Par exemple, une ligne peut se terminer par `poll failed: self signed certificate in certificate chain — retrying in 1s`, avec le message de la bibliothèque TLS entre les deux-points et le tiret. Pour confirmer la correction, vérifiez que `connected` vaut `true` dans le corps de [`/healthz`](/docs/fr/self-hosted-environments-reference#health-endpoint) de l'orchestrateur.668 Par exemple, une ligne peut se terminer par `poll failed: self signed certificate in certificate chain — retrying in 1s`, avec le message de la bibliothèque TLS entre les deux-points et le tiret. Pour confirmer la correction, vérifiez que `connected` vaut `true` dans le corps de [`/healthz`](/docs/fr/self-hosted-environments-reference#health-endpoint) de l'orchestrateur.

Details

321* **Jeton OAuth** : générez un jeton avec [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token), autorisez-le pour votre organisation Team ou Enterprise, et définissez-le comme `CLAUDE_CODE_OAUTH_TOKEN` dans l'environnement de la tâche. Supprimez de cet environnement tout identifiant qui [a priorité](/docs/fr/authentication#authentication-precedence) sur le jeton, comme `ANTHROPIC_API_KEY`.321* **Jeton OAuth** : générez un jeton avec [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token), autorisez-le pour votre organisation Team ou Enterprise, et définissez-le comme `CLAUDE_CODE_OAUTH_TOKEN` dans l'environnement de la tâche. Supprimez de cet environnement tout identifiant qui [a priorité](/docs/fr/authentication#authentication-precedence) sur le jeton, comme `ANTHROPIC_API_KEY`.

322* **Paramètres gérés par le point de terminaison** : déployez un [fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) sur la machine qui exécute la tâche.322* **Paramètres gérés par le point de terminaison** : déployez un [fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) sur la machine qui exécute la tâche.

323 323 

324Dans une session [Cowork](https://claude.com/docs/cowork/overview) dans l'application Claude Desktop, Claude Code ne récupère pas les paramètres gérés par le serveur à partir de la console d'administration claude.ai, même lorsque l'utilisateur se connecte avec un compte Team ou Enterprise. [Où et quand une politique s'applique](/docs/fr/managed-settings#where-and-when-a-policy-applies) couvre quelle politique atteint les sessions Cowork sur la machine de l'utilisateur et les sessions Cowork distantes. claude.ai applique toujours vos listes [`strictKnownMarketplaces`](/docs/fr/settings-reference#strictknownmarketplaces) et [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) lorsqu'un utilisateur Cowork ajoute une marketplace à partir d'un référentiel git sur claude.ai ou à partir de **Personnaliser** dans l'onglet Cowork. [Comment fonctionnent les restrictions](/docs/fr/plugins/org#restrict-what-users-can-install) décrit cette vérification.324Dans une session [Cowork](https://claude.com/docs/cowork/overview) dans l'application Claude Desktop, Claude Code ne récupère pas les paramètres gérés par le serveur à partir de la console d'administration claude.ai, même lorsque l'utilisateur se connecte avec un compte Team ou Enterprise. [Où et quand une politique s'applique](/docs/fr/managed-settings#where-and-when-a-policy-applies) couvre quelle politique atteint les sessions Cowork sur la machine de l'utilisateur et les sessions Cowork distantes. claude.ai applique toujours lui-même vos listes [`strictKnownMarketplaces`](/docs/fr/settings-reference#strictknownmarketplaces) et [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) lorsqu'un utilisateur Cowork ajoute une marketplace à partir d'un dépôt git sur claude.ai ou à partir de **Customize** dans Cowork. [Comment fonctionnent les restrictions](/docs/fr/plugins/org#restrict-what-users-can-install) décrit cette vérification.

325 325 

326Si vous exportez une variable de fournisseur `CLAUDE_CODE_USE_*` ou une `ANTHROPIC_BASE_URL` différente de la valeur par défaut dans votre shell, Claude Code ignore la récupération des paramètres pour vos sessions. [`claude doctor` et `/status` signalent la récupération ignorée et sa cause](#verify-settings-delivery).326Si vous exportez une variable de fournisseur `CLAUDE_CODE_USE_*` ou une `ANTHROPIC_BASE_URL` différente de la valeur par défaut dans votre shell, Claude Code ignore la récupération des paramètres pour vos sessions. [`claude doctor` et `/status` signalent la récupération ignorée et sa cause](#verify-settings-delivery).

327 327 

settings.md +4 −2

Details

321 321 

322Une [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans un [environnement cloud](/docs/fr/cloud-environments) sur un clone frais de votre référentiel, pas sur votre machine. Cela change quels paramètres l'atteignent :322Une [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans un [environnement cloud](/docs/fr/cloud-environments) sur un clone frais de votre référentiel, pas sur votre machine. Cela change quels paramètres l'atteignent :

323 323 

324* **Paramètres de projet partagés** (`.claude/settings.json`) : lus dans une session avec un dépôt, car le fichier fait partie du clone et la session démarre à l'intérieur. Commitez un paramètre à cet endroit pour l'appliquer dans ces sessions. Dans un environnement hébergé par Anthropic, une session avec plusieurs dépôts démarre au-dessus des clones et lit uniquement les clés `enabledPlugins` et `extraKnownMarketplaces` du `.claude/settings.json` de chaque dépôt, pas les règles de permission, les hooks, `env`, ou d'autres clés. Les marketplaces et les plugins que ces deux clés déclarent ne [se chargent toujours pas dans une session cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup). Pour un environnement auto-hébergé, consultez [les paramètres de quel dépôt s'appliquent](/docs/fr/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).324* **Threads cloud dans un projet** : dans un thread cloud d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), aucune des règles de permission, aucun des hooks ni aucune des valeurs `env` du `.claude/settings.json` d'un dépôt ne s'applique, quel que soit le nombre de dépôts du projet. [Ce que les threads récupèrent de vos dépôts](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories) énumère ce qu'il faut utiliser à la place.

325* **Paramètres de projet partagés** (`.claude/settings.json`) : lus dans une session avec un seul dépôt en dehors d'un projet, car le fichier fait partie du clone et la session démarre à l'intérieur. Commitez un paramètre à cet endroit pour l'appliquer dans ces sessions.

326* **Paramètres de projet partagés avec plusieurs dépôts** : dans un environnement hébergé par Anthropic, une session avec plusieurs dépôts démarre au-dessus des clones et lit uniquement les clés `enabledPlugins` et `extraKnownMarketplaces` du `.claude/settings.json` de chaque dépôt, pas les règles de permission, les hooks, `env`, ou d'autres clés. Les marketplaces et les plugins que ces deux clés déclarent ne [se chargent toujours pas dans une session cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup). Pour un environnement auto-hébergé, consultez [les paramètres de quel dépôt s'appliquent](/docs/fr/self-hosted-environments-configuration#repository-settings-in-sessions-with-several-repositories).

325* **Paramètres utilisateur et projet local** (`~/.claude/settings.json` et `.claude/settings.local.json`) : non lus. Les deux restent sur votre machine, et le fichier local n'est pas dans le clone.327* **Paramètres utilisateur et projet local** (`~/.claude/settings.json` et `.claude/settings.local.json`) : non lus. Les deux restent sur votre machine, et le fichier local n'est pas dans le clone.

326* **Paramètres gérés** : un fichier `managed-settings.json` ou un profil MDM sur votre appareil ne parvient pas à une session cloud. Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation le font ; la [couverture de surface](/docs/fr/model-config#surface-coverage) énumère quelles sessions cloud les reçoivent. Un [environnement auto-hébergé](/docs/fr/self-hosted-environments) lit aussi le fichier de paramètres gérés dans son image de runner. [Comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) indique quand ce fichier s'applique.328* **Paramètres gérés** : un fichier `managed-settings.json` ou un profil MDM sur votre appareil ne parvient pas à une session cloud. Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation le font ; la [couverture de surface](/docs/fr/model-config#surface-coverage) énumère quelles sessions cloud les reçoivent. Un [environnement auto-hébergé](/docs/fr/self-hosted-environments) lit aussi le fichier de paramètres gérés dans son image de runner. [Comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) indique quand ce fichier s'applique.

327* **`/config`** : dans votre navigateur sur claude.ai/code, ouvre la section Claude Code de vos paramètres claude.ai à la place de modifier une valeur. Pour modifier un paramètre pour une session cloud, définissez une [variable d'environnement](/docs/fr/cloud-environments#set-environment-variables) sur l'environnement, ou dans une session avec un référentiel, validez la clé dans le `.claude/settings.json` de ce référentiel.329* **`/config`** : dans votre navigateur sur claude.ai/code, ouvre la section Claude Code de vos paramètres claude.ai à la place de modifier une valeur. Pour modifier un paramètre pour une session cloud, définissez une [variable d'environnement](/docs/fr/cloud-environments#set-environment-variables) sur l'environnement. Dans une session avec un seul dépôt en dehors d'un projet, vous pouvez à la place commiter la clé dans le `.claude/settings.json` de ce dépôt.

328 330 

329[Ce qui se transfère de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup) énumère le reste : `CLAUDE.md`, skills, serveurs MCP, plugins, et identifiants.331[Ce qui se transfère de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup) énumère le reste : `CLAUDE.md`, skills, serveurs MCP, plugins, et identifiants.

330 332 

Details

94 94 

95Les paramètres partagés d'une équipe, validés dans le référentiel afin que tous ceux qui le clonent obtiennent les mêmes permissions, hooks et marketplace de plugins. Enregistrez un fichier comme celui-ci à `.claude/settings.json` en haut du référentiel. Ce qu'il faut savoir avant de valider un :95Les paramètres partagés d'une équipe, validés dans le référentiel afin que tous ceux qui le clonent obtiennent les mêmes permissions, hooks et marketplace de plugins. Enregistrez un fichier comme celui-ci à `.claude/settings.json` en haut du référentiel. Ce qu'il faut savoir avant de valider un :

96 96 

97* **Les sessions cloud le lisent aussi.** Une [session cloud](/docs/fr/settings#settings-in-cloud-sessions) démarre à partir d'un clone du référentiel, donc le fichier validé s'applique également là.97* **Les sessions cloud en dehors d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories) le lisent aussi.** Une [session cloud](/docs/fr/settings#settings-in-cloud-sessions) avec un seul dépôt démarre à l'intérieur du clone, donc le fichier commité s'applique également là.

98* **La télémétrie va dans les paramètres gérés ou personnels.** Claude Code ignore les [variables d'exportateur OpenTelemetry](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) dans les fichiers de paramètres d'un référentiel, à l'exception de certaines valeurs qui désactivent la télémétrie. Définissez-les dans les [paramètres gérés](/docs/fr/monitoring-usage#administrator-configuration) de votre organisation, ou dans le fichier `~/.claude/settings.json` de chaque personne.98* **La télémétrie va dans les paramètres gérés ou personnels.** Claude Code ignore les [variables d'exportateur OpenTelemetry](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) dans les fichiers de paramètres d'un référentiel, à l'exception de certaines valeurs qui désactivent la télémétrie. Définissez-les dans les [paramètres gérés](/docs/fr/monitoring-usage#administrator-configuration) de votre organisation, ou dans le fichier `~/.claude/settings.json` de chaque personne.

99* **Les règles d'autorisation attendent la confiance.** Les règles d'autorisation et les entrées `extraKnownMarketplaces` prennent effet après que chaque personne [fasse confiance à ce dossier lui-même](/docs/fr/permissions#project-allow-rules-and-workspace-trust), pas seulement à un dossier parent ; les règles de refus et de demande s'appliquent dans chaque session, de confiance ou non.99* **Les règles d'autorisation attendent la confiance.** Les règles d'autorisation et les entrées `extraKnownMarketplaces` prennent effet après que chaque personne [fasse confiance à ce dossier lui-même](/docs/fr/permissions#project-allow-rules-and-workspace-trust), pas seulement à un dossier parent ; les règles de refus et de demande s'appliquent dans chaque session, de confiance ou non.

100* **Le hook est un script dans le référentiel.** Le hook de ce fichier exécute `.claude/hooks/block-rm.sh` ; [Comment un hook se résout](/docs/fr/hooks#how-a-hook-resolves) explique comment l'écrire.100* **Le hook est un script dans le référentiel.** Le hook de ce fichier exécute `.claude/hooks/block-rm.sh` ; [Comment un hook se résout](/docs/fr/hooks#how-a-hook-resolves) explique comment l'écrire.

Details

725 725 

726### `showThinkingSummaries`726### `showThinkingSummaries`

727 727 

728Voyez les résumés de la [réflexion étendue](/docs/fr/model-config#extended-thinking) de Claude dans les sessions interactives. Définissez-le si vous voulez les résumés complets quand vous développez la réflexion avec `Ctrl+O`. Quand non défini ou `false`, l'API Anthropic rédige les blocs de réflexion et Claude Code affiche un stub réduit ; les fournisseurs tiers ne rédactent pas.728Voyez les résumés de la [réflexion étendue](/docs/fr/model-config#extended-thinking) de Claude dans les sessions interactives. Définissez-le si vous voulez les résumés complets quand vous développez la réflexion avec `Ctrl+O`. Quand il est non défini ou `false`, l'API Anthropic masque les blocs de réflexion et Claude Code affiche un résumé réduit.

729 729 

730* **Portée** : [`Tout fichier`](#scopes)730* **Portée** : [`Tout fichier`](#scopes)

731* **Type** : Booléen731* **Type** : Booléen


1370* **`allowWrite` et `denyWrite`** : sur macOS, les caractères génériques fonctionnent. Sur Linux et WSL2, le sandbox monte des chemins concrets, donc Claude Code ignore une entrée qui contient `*`, `?` ou `[` une fois que le `/**` final est supprimé, et cette entrée n'a aucun effet. Claude Code ajoute les chemins de vos règles de permission `Edit` à ces listes, donc la même limite s'applique à elles, et l'onglet **Config** de `/sandbox` avertit des règles de permission `Edit` et `Read` qui contiennent des caractères génériques.1370* **`allowWrite` et `denyWrite`** : sur macOS, les caractères génériques fonctionnent. Sur Linux et WSL2, le sandbox monte des chemins concrets, donc Claude Code ignore une entrée qui contient `*`, `?` ou `[` une fois que le `/**` final est supprimé, et cette entrée n'a aucun effet. Claude Code ajoute les chemins de vos règles de permission `Edit` à ces listes, donc la même limite s'applique à elles, et l'onglet **Config** de `/sandbox` avertit des règles de permission `Edit` et `Read` qui contiennent des caractères génériques.

1371* **`denyRead` et `allowRead`** : les caractères génériques fonctionnent sur chaque plateforme. Sur Linux et WSL2, Claude Code développe une entrée de lecture aux chemins concrets qu'elle correspond, ce qu'il ne fait pas pour les listes d'écriture.1371* **`denyRead` et `allowRead`** : les caractères génériques fonctionnent sur chaque plateforme. Sur Linux et WSL2, Claude Code développe une entrée de lecture aux chemins concrets qu'elle correspond, ce qu'il ne fait pas pour les listes d'écriture.

1372 1372 

1373Les accolades correspondent à des caractères ordinaires dans un nom, donc `~/data/{keys,tokens}` couvre un répertoire littéralement nommé `{keys,tokens}`, et non deux alternatives. Pour couvrir `~/data/keys` et `~/data/tokens`, ajoutez chacun comme une entrée distincte.

1374 

1373### `sandbox.filesystem.allowWrite`1375### `sandbox.filesystem.allowWrite`

1374 1376 

1375Ajoutez des chemins où les commandes en sandbox peuvent écrire, au-delà du répertoire de travail, du répertoire temporaire propre à l'utilisateur et des répertoires que vous avez ajoutés avec `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`. Utilisez-le lorsqu'un sous-processus tel que `kubectl` ou un outil de build doit écrire en dehors du projet.1377Ajoutez des chemins où les commandes en sandbox peuvent écrire, au-delà du répertoire de travail, du répertoire temporaire propre à l'utilisateur et des répertoires que vous avez ajoutés avec `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`. Utilisez-le lorsqu'un sous-processus tel que `kubectl` ou un outil de build doit écrire en dehors du projet.


2321 2323 

2322 Ignorer ce groupe dans les paramètres de projet et locaux nécessite Claude Code v2.1.282 ou ultérieur.2324 Ignorer ce groupe dans les paramètres de projet et locaux nécessite Claude Code v2.1.282 ou ultérieur.

2323 * Les variables qui changent la façon dont Claude Code démarre ou se synchronise, telles que `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR` et `CLAUDE_CODE_PLUGIN_SEED_DIR`.2325 * Les variables qui changent la façon dont Claude Code démarre ou se synchronise, telles que `CLAUDE_CODE_PROCESS_WRAPPER`, `CLAUDE_CODE_SYNC_SKILLS`, `CLAUDE_CODE_SYNC_PLUGINS`, `CLAUDE_CODE_PLUGIN_CACHE_DIR` et `CLAUDE_CODE_PLUGIN_SEED_DIR`.

2324 * Les variables qui définissent les minuteurs d'une boîte de dialogue sans réponse : [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`, `CLAUDE_AFK_TIMEOUT_MS` et `CLAUDE_AFK_COUNTDOWN_MS`](/docs/fr/env-vars#variables).2326 * [`CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS`](/docs/fr/env-vars#variables), qui définit le minuteur d'une boîte de dialogue sans réponse.

2325 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/fr/env-vars#variables), qui désactive le traitement des pièces jointes.2327 * [`CLAUDE_CODE_DISABLE_ATTACHMENTS`](/docs/fr/env-vars#variables), qui désactive le traitement des pièces jointes.

2326 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](/docs/fr/env-vars#variables), qui empêche Claude Code de développer les mentions `@` de fichiers et de répertoires.2328 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](/docs/fr/env-vars#variables), qui empêche Claude Code de développer les mentions `@` de fichiers et de répertoires.

2327 2329 


2470* **Portée** : [`Utilisateur ou géré`](#scopes)2472* **Portée** : [`Utilisateur ou géré`](#scopes)

2471* **Type** : chaîne de caractères, l'une de `"60s"`, `"5m"`, `"10m"`, ou `"never"`2473* **Type** : chaîne de caractères, l'une de `"60s"`, `"5m"`, `"10m"`, ou `"never"`

2472* **Défaut** : `"never"`2474* **Défaut** : `"never"`

2473* **Remplacements par session** : [`CLAUDE_AFK_TIMEOUT_MS`](/docs/fr/env-vars) a la priorité sur cette clé pour une session

2474 2475 

2475```json settings.json theme={null}2476```json settings.json theme={null}

2476{2477{


4854 4855 

4855### `preferredNotifChannel`4856### `preferredNotifChannel`

4856 4857 

4857Choisir comment Claude Code vous notifie quand une tâche se termine ou qu'une invite de permission attend. Apparaît dans `/config` sous **Notifications locales**.4858Choisir comment Claude Code vous notifie quand une tâche se termine ou qu'une demande de permission attend. Les [notifications d'un mod](/docs/fr/plugins/mods/api#show-something-without-starting-a-turn) utilisent le même paramètre. Apparaît dans `/config` sous **Notifications locales**.

4858 4859 

4859* **Portée** : [`Tout fichier`](#scopes). Claude Code lit également une valeur laissée dans `~/.claude.json` par les versions antérieures.4860* **Portée** : [`Tout fichier`](#scopes). Claude Code lit également une valeur laissée dans `~/.claude.json` par les versions antérieures.

4860* **Type** : chaîne, l'une des :4861* **Type** : chaîne, l'une des :

setup.md +1 −1

Details

200 200 

201Claude Code vérifie les mises à jour au démarrage et périodiquement pendant l'exécution. Les mises à jour se téléchargent et s'installent en arrière-plan, puis prennent effet la prochaine fois que vous démarrez Claude Code.201Claude Code vérifie les mises à jour au démarrage et périodiquement pendant l'exécution. Les mises à jour se téléchargent et s'installent en arrière-plan, puis prennent effet la prochaine fois que vous démarrez Claude Code.

202 202 

203Exécutez `claude doctor` pour voir le résultat de la tentative de mise à jour la plus récente.203Exécutez `claude doctor` dans votre shell pour voir le résultat de la dernière tentative de mise à jour enregistrée par Claude Code. Sur une installation native, s'il signale une tentative échouée, consultez [`Auto-update failed` dans le pied de page de la session](/docs/fr/troubleshoot-install#auto-update-failed) pour savoir quoi faire ensuite.

204 204 

205Sur macOS et Linux, le programme d'installation natif gère le lanceur à `~/.local/bin/claude` en tant que lien symbolique vers `~/.local/share/claude/versions/`. Si vous remplacez ce lanceur par votre propre script ou lien symbolique, la mise à jour automatique et `claude update` le laissent en place : les nouvelles versions s'installent toujours sous le répertoire `versions/`, et votre lanceur décide quelle version s'exécute.205Sur macOS et Linux, le programme d'installation natif gère le lanceur à `~/.local/bin/claude` en tant que lien symbolique vers `~/.local/share/claude/versions/`. Si vous remplacez ce lanceur par votre propre script ou lien symbolique, la mise à jour automatique et `claude update` le laissent en place : les nouvelles versions s'installent toujours sous le répertoire `versions/`, et votre lanceur décide quelle version s'exécute.

206 206 

skills.md +10 −7

Details

42* **Extensions** : skills, serveurs MCP et plugins inutilisés comparés à leur coût en contexte, et [hooks](/docs/fr/hooks) lents42* **Extensions** : skills, serveurs MCP et plugins inutilisés comparés à leur coût en contexte, et [hooks](/docs/fr/hooks) lents

43* **Fichiers `CLAUDE.md`** : fichiers `CLAUDE.md` locaux qui dupliquent ceux versionnés dans le dépôt, [contenu de `CLAUDE.md` que Claude pourrait déduire de la base de code](/docs/fr/memory#my-claude-md-is-too-large) versionné dans le dépôt, et les consignes toujours chargées restantes, que Claude propose de migrer vers des skills et des fichiers `CLAUDE.md` imbriqués chargés à la demande43* **Fichiers `CLAUDE.md`** : fichiers `CLAUDE.md` locaux qui dupliquent ceux versionnés dans le dépôt, [contenu de `CLAUDE.md` que Claude pourrait déduire de la base de code](/docs/fr/memory#my-claude-md-is-too-large) versionné dans le dépôt, et les consignes toujours chargées restantes, que Claude propose de migrer vers des skills et des fichiers `CLAUDE.md` imbriqués chargés à la demande

44* **Permissions** : une proposition de faire du [mode auto](/docs/fr/permissions#permission-modes) votre mode de permission par défaut et de [pré-approuver](/docs/fr/permissions) les commandes en lecture seule que vous refusez fréquemment44* **Permissions** : une proposition de faire du [mode auto](/docs/fr/permissions#permission-modes) votre mode de permission par défaut et de [pré-approuver](/docs/fr/permissions) les commandes en lecture seule que vous refusez fréquemment

45* **Utilisation** : avec un forfait Pro, Max, Team ou Enterprise, les [modifications recommandées par `/usage`](/docs/fr/costs#plan-usage-breakdown) pour réduire l'utilisation de votre forfait, mesurée sur les 7 derniers jours. Claude propose les modifications qu'il peut effectuer lui-même et présente le reste sous forme de conseils, comme une commande à exécuter vous-même. La vérification de l'utilisation nécessite Claude Code v2.1.305 ou version ultérieure, et `/doctor` l'omet lorsque [Remote Control](/docs/fr/remote-control) est connecté.

45 46 

46Pour obtenir des diagnostics d'installation en lecture seule sans démarrer de session, exécutez plutôt `claude doctor` dans votre terminal.47Pour obtenir des diagnostics d'installation en lecture seule sans démarrer de session, exécutez plutôt `claude doctor` dans votre terminal.

47 48 


83| :- | :- | :- |84| :- | :- | :- |

84| `migrate` | Mettez à jour votre code Claude API existant vers un modèle plus récent | Antérieur à v2.1.221 |85| `migrate` | Mettez à jour votre code Claude API existant vers un modèle plus récent | Antérieur à v2.1.221 |

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

87| `api-version` | Mettez à jour votre code Claude API pour une [version de l'API](https://platform.claude.com/docs/en/api/versioning) plus récente, puis basculez vos requêtes vers cette version | v2.1.307 ou version ultérieure |

86| `managed-agents-onboard` | Parcourez la création d'un nouvel Agent géré | Antérieur à v2.1.221 |88| `managed-agents-onboard` | Parcourez la création d'un nouvel Agent géré | Antérieur à v2.1.221 |

87| `managed-agents-onboard <url>` | Créez l'Agent géré que décrit la page située à l'URL, par exemple une page de la [documentation des Agents gérés](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 ou version ultérieure |89| `managed-agents-onboard <url>` | Créez l'Agent géré que décrit la page située à l'URL, par exemple une page de la [documentation des Agents gérés](https://platform.claude.com/docs/en/managed-agents/overview) | v2.1.290 ou version ultérieure |

88| `managed-agents-onboard <quickstart-name>` | Créez l'un des templates de démarrage rapide de la Console, comme `deep-researcher`. Si vous indiquez un seul mot qui n'est pas un nom de template, Claude liste les noms valides | v2.1.290 ou version ultérieure |90| `managed-agents-onboard <quickstart-name>` | Créez l'un des templates de démarrage rapide de la Console, comme `deep-researcher`. Si vous indiquez un seul mot qui n'est pas un nom de template, Claude liste les noms valides | v2.1.290 ou version ultérieure |


155| :- | :- | :- |157| :- | :- | :- |

156| Entreprise | `.claude/skills/<skill-name>/SKILL.md` dans le [répertoire des paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) | Tous les utilisateurs des machines sur lesquelles votre organisation le déploie |158| Entreprise | `.claude/skills/<skill-name>/SKILL.md` dans le [répertoire des paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) | Tous les utilisateurs des machines sur lesquelles votre organisation le déploie |

157| Personnel | `~/.claude/skills/<skill-name>/SKILL.md` | Tous vos projets sur cette machine, mais pas les [sessions Cowork ou cloud](#skills-in-cowork-and-cloud-sessions) |159| Personnel | `~/.claude/skills/<skill-name>/SKILL.md` | Tous vos projets sur cette machine, mais pas les [sessions Cowork ou cloud](#skills-in-cowork-and-cloud-sessions) |

158| Projet | `.claude/skills/<skill-name>/SKILL.md` | Les sessions dans ce dépôt. Créez un commit pour que votre équipe en dispose aussi |160| Projet | `.claude/skills/<skill-name>/SKILL.md` | Les sessions dans ce dépôt, mais pas les [threads cloud d'un projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories). Créez un commit pour que votre équipe en dispose aussi |

159| Imbriqué | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Les sessions démarrées dans `<subdir>` ou en dessous. Une session démarrée au-dessus charge le skill dès que Claude travaille sur des fichiers à cet endroit. Voir [monorepos et sous-répertoires](#discovery-from-parent-and-nested-directories) |161| Imbriqué | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Les sessions démarrées dans `<subdir>` ou en dessous, mais pas les threads cloud d'un projet. En dehors de ces threads, une session démarrée au-dessus charge le skill dès que Claude travaille sur des fichiers à cet endroit. Voir [monorepos et sous-répertoires](#discovery-from-parent-and-nested-directories) |

160| Répertoire supplémentaire | `.claude/skills/<skill-name>/SKILL.md` dans un répertoire que vous passez avec `--add-dir` | Cette session. Voir [répertoires en dehors du projet](#skills-from-additional-directories) |162| Répertoire supplémentaire | `.claude/skills/<skill-name>/SKILL.md` dans un répertoire que vous passez avec `--add-dir` | Cette session. Voir [répertoires en dehors du projet](#skills-from-additional-directories) |

161| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Partout où le [plugin](/docs/fr/plugins/overview) est activé, sous la forme `/plugin-name:skill-name` |163| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Partout où le [plugin](/docs/fr/plugins/overview) est activé, sous la forme `/plugin-name:skill-name` |

162| Compte claude.ai | Les skills activés pour votre compte claude.ai | Les sessions Cowork, les sessions cloud et les sessions de terminal dans lesquelles vous vous connectez avec ce compte. Voir [Skills synchronisés depuis claude.ai](#how-synced-skills-behave) |164| Compte claude.ai | Les skills activés pour votre compte claude.ai | Les sessions Cowork, les sessions cloud et les sessions de terminal dans lesquelles vous vous connectez avec ce compte. Voir [Skills synchronisés depuis claude.ai](#how-synced-skills-behave) |


207 209 

208### Utiliser des skills dans les sessions Cowork et cloud210### Utiliser des skills dans les sessions Cowork et cloud

209 211 

210Les sessions [Cowork](https://claude.com/product/cowork) et les [sessions cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup), y compris les [tâches planifiées cloud](/docs/fr/routines), ne lisent pas `~/.claude/skills/` sur votre machine. Les sessions Cowork interactives comme planifiées chargent les skills activés pour votre compte claude.ai, synchronisés au démarrage de la session. Gérez-les depuis **Customize** dans la barre latérale de l'application Desktop ou depuis les paramètres des skills sur claude.ai. Les sessions cloud chargent en outre les skills de projet commités dans le `.claude/skills/` du dépôt cloné.212Les sessions [Cowork](https://claude.com/product/cowork) et les [sessions cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup), y compris les [tâches planifiées cloud](/docs/fr/routines), ne lisent pas `~/.claude/skills/` sur votre machine. Les sessions Cowork interactives comme planifiées chargent les skills activés pour votre compte claude.ai, synchronisés au démarrage de la session. Gérez-les depuis **Customize** dans la barre latérale de l'application Desktop ou depuis les paramètres des skills sur claude.ai.

211 213 

212Si un skill existe uniquement dans `~/.claude/skills/` sur votre machine, Claude Code signale que le skill est introuvable lorsqu'une [tâche planifiée cloud](/docs/fr/routines) l'invoque. Cela se produit parce que chaque exécution démarre comme une nouvelle session cloud. Pour rendre un skill personnel disponible dans ces sessions :214Si un skill existe uniquement dans `~/.claude/skills/` sur votre machine, Claude Code signale que le skill est introuvable lorsqu'une [tâche planifiée cloud](/docs/fr/routines) l'invoque. Cela se produit parce que chaque exécution démarre comme une nouvelle session cloud. Pour rendre un skill personnel disponible dans ces sessions :

213 215 

214* Pour les sessions Cowork et cloud, activez le skill pour votre compte claude.ai. [Certaines sessions dans un environnement auto-hébergé](/docs/fr/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) ne chargent pas les skills de votre compte.216* Pour les sessions Cowork, les sessions cloud et les threads cloud d'un [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), activez le skill pour votre compte claude.ai. Dans le thread cloud d'un projet, les skills commités dans le `.claude/skills/` d'un dépôt ne sont pas disponibles. [Certaines sessions dans un environnement auto-hébergé](/docs/fr/self-hosted-environments-configuration#how-each-session’s-config-is-assembled) ne chargent pas les skills de votre compte.

215* Pour les sessions cloud, vous pouvez à la place créer un commit du skill dans le `.claude/skills/` du dépôt. Les plugins déclarés dans le `.claude/settings.json` du dépôt et les plugins activés uniquement dans vos paramètres utilisateur [ne se chargent pas dans les sessions cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup).217* Pour les sessions cloud autres que les threads de projet, vous pouvez à la place créer un commit du skill dans le `.claude/skills/` du dépôt. Les plugins déclarés dans le `.claude/settings.json` du dépôt et les plugins activés uniquement dans vos paramètres utilisateur [ne se chargent pas dans les sessions cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup).

216 218 

217Les [tâches planifiées Desktop](/docs/fr/desktop-scheduled-tasks) s'exécutent localement sur votre machine : elles chargent donc bien `~/.claude/skills/`.219Les [tâches planifiées Desktop](/docs/fr/desktop-scheduled-tasks) s'exécutent localement sur votre machine : elles chargent donc bien `~/.claude/skills/`.

218 220 


398| `agent` | Non | Quel type de sous-agent utiliser lorsque `context: fork` est défini. |400| `agent` | Non | Quel type de sous-agent utiliser lorsque `context: fork` est défini. |

399| `background` | Non | S'applique uniquement avec `context: fork`. Définissez sur `false` pour attendre le résultat du sous-agent forké dans le tour qui a invoqué la compétence, au lieu de [l'exécuter en arrière-plan](#run-skills-in-a-subagent). Par défaut : `true`. Nécessite Claude Code v2.1.218 ou ultérieur. |401| `background` | Non | S'applique uniquement avec `context: fork`. Définissez sur `false` pour attendre le résultat du sous-agent forké dans le tour qui a invoqué la compétence, au lieu de [l'exécuter en arrière-plan](#run-skills-in-a-subagent). Par défaut : `true`. Nécessite Claude Code v2.1.218 ou ultérieur. |

400| `hooks` | Non | Hooks que Claude Code enregistre lorsque la compétence est invoquée et continue à exécuter pour le reste de la session. Voir [Hooks dans les compétences et les agents](/docs/fr/hooks#hooks-in-skills-and-agents) pour le format de configuration et l'option `once`. |402| `hooks` | Non | Hooks que Claude Code enregistre lorsque la compétence est invoquée et continue à exécuter pour le reste de la session. Voir [Hooks dans les compétences et les agents](/docs/fr/hooks#hooks-in-skills-and-agents) pour le format de configuration et l'option `once`. |

401| `paths` | Non | Modèles Glob qui limitent quand cette compétence est activée. Accepte une chaîne séparée par des virgules ou une liste YAML. Lorsqu'elle est définie, Claude charge la compétence automatiquement uniquement lorsqu'il travaille avec des fichiers correspondant aux modèles. Utilise le même format que [les règles spécifiques au chemin](/docs/fr/memory#path-specific-rules). |403| `paths` | Non | Modèles Glob qui limitent quand ce skill est activé. Accepte une chaîne séparée par des virgules ou une liste YAML. Lorsqu'il est défini, Claude charge le skill automatiquement uniquement lorsqu'il travaille avec des fichiers correspondant aux modèles. Les modèles sont relatifs au répertoire de travail actuel de Claude, et les fichiers situés en dehors de ce répertoire ne correspondent pas. Utilise le même format glob que [les règles spécifiques au chemin](/docs/fr/memory#path-specific-rules). |

402| `shell` | Non | Shell à utiliser pour `` !`command` `` et ` ```! ` blocs dans cette compétence. Accepte `bash` (par défaut) ou `powershell`. La définition de `powershell` exécute les commandes shell en ligne via PowerShell lorsque l'[outil PowerShell](/fr/tools-reference#powershell-tool) est activé : il est activé par défaut sur Windows sans Git Bash, activé par défaut avec Git Bash pour les comptes claude.ai et Console, et nécessite `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry et sur macOS, Linux et WSL. Définissez-le sur `0` pour désactiver l'outil. |404| `shell` | Non | Shell à utiliser pour `` !`command` `` et ` ```! ` blocs dans cette compétence. Accepte `bash` (par défaut) ou `powershell`. La définition de `powershell` exécute les commandes shell en ligne via PowerShell lorsque l'[outil PowerShell](/fr/tools-reference#powershell-tool) est activé : il est activé par défaut sur Windows sans Git Bash, activé par défaut avec Git Bash pour les comptes claude.ai et Console, et nécessite `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry et sur macOS, Linux et WSL. Définissez-le sur `0` pour désactiver l'outil. |

403| `metadata` | Non | Carte YAML libre pour vos propres données clé-valeur, comme les champs d'habilitation ou de catalogue, lus par votre propre outillage à partir de `SKILL.md`. Claude Code n'agit pas sur son contenu et supprime une valeur qui n'est pas une carte. Ne réutilisez pas les noms de champs frontmatter tels que `paths` comme clés. |405| `metadata` | Non | Carte YAML libre pour vos propres données clé-valeur, comme les champs d'habilitation ou de catalogue, lus par votre propre outillage à partir de `SKILL.md`. Claude Code n'agit pas sur son contenu et supprime une valeur qui n'est pas une carte. Ne réutilisez pas les noms de champs frontmatter tels que `paths` comme clés. |

404| `license` | Non | Licence couvrant la compétence. Fait partie de la spécification [Agent Skills](https://agentskills.io) ; voir [Utiliser le frontmatter de compétence en dehors de Claude Code](#using-skill-frontmatter-outside-claude-code). Claude Code accepte le champ mais n'agit pas sur lui. |406| `license` | Non | Licence couvrant la compétence. Fait partie de la spécification [Agent Skills](https://agentskills.io) ; voir [Utiliser le frontmatter de compétence en dehors de Claude Code](#using-skill-frontmatter-outside-claude-code). Claude Code accepte le champ mais n'agit pas sur lui. |


755Les commandes qui obtiennent l'exception dépendent du shell :757Les commandes qui obtiennent l'exception dépendent du shell :

756 758 

757* Shell `bash` par défaut : les commandes listées sous [Output limits](/docs/fr/tools-reference#output-limits)759* Shell `bash` par défaut : les commandes listées sous [Output limits](/docs/fr/tools-reference#output-limits)

758* `shell: powershell`, lorsque l'outil PowerShell est activé : un [ensemble différent](/docs/fr/tools-reference#shell-selection-in-settings-hooks-and-skills) qui inclut `grep` et `git diff` mais pas `find` ou `diff`760* `shell: powershell`, lorsque l'outil PowerShell est activé : un [ensemble différent](/docs/fr/tools-reference#exit-code-1-from-searches-and-git-diff-in-powershell) qui inclut `grep` et `git diff` mais pas `find` ou `diff`

759 761 

760Avec le shell `bash` par défaut, ajoutez `|| true` à toute autre commande que vous vous attendez à quitter non-zéro. Un script de vérification qui quitte 1 lorsqu'il trouve des problèmes en est un exemple.762Avec le shell `bash` par défaut, ajoutez `|| true` à toute autre commande que vous vous attendez à quitter non-zéro. Un script de vérification qui quitte 1 lorsqu'il trouve des problèmes en est un exemple.

761 763 


11773. Essayez de reformuler votre demande pour correspondre plus étroitement à la description11793. Essayez de reformuler votre demande pour correspondre plus étroitement à la description

11784. Invoquez-la directement avec `/skill-name` si la compétence est invocable par l'utilisateur11804. Invoquez-la directement avec `/skill-name` si la compétence est invocable par l'utilisateur

11795. Si `/skill-name` n'est pas reconnu non plus, vérifiez si Claude Code [a refusé le nom du skill](#characters-a-skill-name-cant-hold)11815. Si `/skill-name` n'est pas reconnu non plus, vérifiez si Claude Code [a refusé le nom du skill](#characters-a-skill-name-cant-hold)

11826. Si le skill définit `paths`, vérifiez que les fichiers que Claude lit, modifie ou écrit se trouvent dans le répertoire de travail actuel de Claude. Le skill ne s'active pas pour les fichiers situés en dehors, comme ceux d'un worktree git voisin, même un worktree que vous avez ajouté avec `/add-dir`. Pour que le skill s'active pour ces fichiers, démarrez Claude Code dans ce worktree ou [déplacez la session vers celui-ci avec `/cd`](/docs/fr/permissions#move-the-session-to-another-directory).

1180 1183 

1181Si le YAML du frontmatter est malformé, Claude Code charge le corps de la compétence avec des métadonnées vides, donc `/skill-name` fonctionne toujours mais Claude ne peut pas faire correspondre votre `description`. Exécutez avec `--debug` pour voir l'erreur d'analyse.1184Si le YAML du frontmatter est malformé, Claude Code charge le corps de la compétence avec des métadonnées vides, donc `/skill-name` fonctionne toujours mais Claude ne peut pas faire correspondre votre `description`. Exécutez avec `--debug` pour voir l'erreur d'analyse.

1182 1185 

sub-agents.md +25 −2

Details

489 489 

490Une entrée `disallowedTools` avec un spécificateur, tel que `Bash(git push *)`, supprime toujours l'outil entier du sous-agent, pas seulement les commandes correspondantes. Pour conserver Bash et bloquer des commandes spécifiques, ajoutez une [règle de refus Bash](/docs/fr/permissions#bash) telle que `Bash(git push *)` à `permissions.deny` dans vos paramètres. La règle s'applique à la conversation principale et aux sous-agents.490Une entrée `disallowedTools` avec un spécificateur, tel que `Bash(git push *)`, supprime toujours l'outil entier du sous-agent, pas seulement les commandes correspondantes. Pour conserver Bash et bloquer des commandes spécifiques, ajoutez une [règle de refus Bash](/docs/fr/permissions#bash) telle que `Bash(git push *)` à `permissions.deny` dans vos paramètres. La règle s'applique à la conversation principale et aux sous-agents.

491 491 

492##### Noms de serveurs MCP contenant un double trait de soulignement

493 

494Si un sous-agent n'obtient aucun des outils d'un serveur MCP dont le nom contient `__`, tel que `reports__v2`, vérifiez les entrées `mcp__` du sous-agent :

495 

496* **Dans `tools`** : écrivez `mcp__` suivi du [nom complet du serveur](/docs/fr/permissions#mcp) et de `__*`, comme dans `mcp__reports__v2__*`. Sans le `__*` final, `mcp__reports__v2` ne correspond à aucun des outils de ce serveur.

497* **Dans `disallowedTools`** : recherchez `mcp__reports` ou `mcp__reports__*`, les entrées qui excluent un serveur nommé `reports`. Avec l'une ou l'autre de ces entrées, le sous-agent perd également tous les outils `reports__v2`, car ces noms d'outils commencent aussi par `mcp__reports__`. Pour exclure uniquement les outils du serveur `reports`, listez-les plutôt un par un, par exemple `mcp__reports__run_query`.

498 

492#### Restreindre les sous-agents qui peuvent être générés499#### Restreindre les sous-agents qui peuvent être générés

493 500 

494Lorsqu'un agent s'exécute en tant que thread principal avec `claude --agent`, il peut générer des sous-agents à l'aide de l'outil Agent. Pour restreindre les types de sous-agents qu'il peut générer, utilisez la syntaxe `Agent(agent_type)` dans le champ `tools`.501Lorsqu'un agent s'exécute en tant que thread principal avec `claude --agent`, il peut générer des sous-agents à l'aide de l'outil Agent. Pour restreindre les types de sous-agents qu'il peut générer, utilisez la syntaxe `Agent(agent_type)` dans le champ `tools`.


955 962 

956### Noms des sous-agents963### Noms des sous-agents

957 964 

958Claude peut donner un nom à un sous-agent en passant un paramètre `name` sur l'appel de l'outil Agent, et peut le faire de sa propre initiative, sans vous demander d'abord. Le nom rend le sous-agent adressable : Claude peut [lui envoyer un message ou le reprendre par nom](#resume-subagents) après sa fin.965Si vous démarrez une session avec les [équipes d'agents](/docs/fr/agent-teams#enable-agent-teams) activées, Claude peut donner un nom à un sous-agent en passant un paramètre `name` sur l'appel de l'outil Agent. Il peut le faire de sa propre initiative, sans vous demander d'abord. Le nom rend le sous-agent adressable : Claude peut [lui envoyer un message ou le reprendre par nom](#resume-subagents) après sa fin.

959 966 

960Dans une session interactive avec les [équipes d'agents](/docs/fr/agent-teams) activées, un sous-agent que Claude génère à partir de la conversation principale avec un `name` se lance en tant que coéquipier à la place, sauf si l'appel est un [fork](#fork-the-current-conversation) ou passe `isolation` sur l'appel lui-même. Une valeur `isolation` dans le frontmatter du sous-agent ne l'empêche pas, et le coéquipier s'exécute alors dans le répertoire de travail de la session principale. Voir [Comment Claude démarre les équipes d'agents](/docs/fr/agent-teams#how-claude-starts-agent-teams).967Dans une session interactive avec les [équipes d'agents](/docs/fr/agent-teams) activées, un sous-agent que Claude génère à partir de la conversation principale avec un `name` se lance en tant que coéquipier à la place, sauf si l'appel est un [fork](#fork-the-current-conversation) ou passe `isolation` sur l'appel lui-même. Une valeur `isolation` dans le frontmatter du sous-agent ne l'empêche pas, et le coéquipier s'exécute alors dans le répertoire de travail de la session principale. Voir [Comment Claude démarre les équipes d'agents](/docs/fr/agent-teams#how-claude-starts-agent-teams).

961 968 


968* **Premier plan** : si une limite de débit, une surcharge ou une erreur serveur coupe un sous-agent qui a déjà produit une sortie texte, l'outil Agent retourne cette sortie partielle avec une note indiquant que le sous-agent a été coupé et n'a pas terminé sa tâche. Un sous-agent qui n'a rien produit, ou dont la seule sortie était des appels d'outils, échoue avec [`Agent terminated early due to an API error`](/docs/fr/errors#agent-terminated-early-due-to-an-api-error), suivi du détail de l'erreur.975* **Premier plan** : si une limite de débit, une surcharge ou une erreur serveur coupe un sous-agent qui a déjà produit une sortie texte, l'outil Agent retourne cette sortie partielle avec une note indiquant que le sous-agent a été coupé et n'a pas terminé sa tâche. Un sous-agent qui n'a rien produit, ou dont la seule sortie était des appels d'outils, échoue avec [`Agent terminated early due to an API error`](/docs/fr/errors#agent-terminated-early-due-to-an-api-error), suivi du détail de l'erreur.

969* **Arrière-plan** : le sous-agent est marqué comme échoué, et le message que Claude reçoit lorsqu'il se termine nomme l'erreur API et inclut la dernière sortie du sous-agent, de sorte que le travail partiel n'est pas perdu.976* **Arrière-plan** : le sous-agent est marqué comme échoué, et le message que Claude reçoit lorsqu'il se termine nomme l'erreur API et inclut la dernière sortie du sous-agent, de sorte que le travail partiel n'est pas perdu.

970 977 

978Si le rapport d'un sous-agent commence par la ligne suivante, le sous-agent s'est terminé sur un modèle de secours :

979 

980```text theme={null}

981⚠ This agent switched to <model> because its earlier model could not be used.

982```

983 

971Lorsque vous configurez une [chaîne de modèles de secours](/docs/fr/model-config#fallback-model-chains) et qu'un sous-agent rencontre une défaillance que la chaîne couvre, comme l'indisponibilité de son modèle, Claude Code bascule le sous-agent vers le premier modèle de la chaîne qui accepte la requête. Le sous-agent continue à travailler au lieu de se terminer sur l'erreur.984Lorsque vous configurez une [chaîne de modèles de secours](/docs/fr/model-config#fallback-model-chains) et qu'un sous-agent rencontre une défaillance que la chaîne couvre, comme l'indisponibilité de son modèle, Claude Code bascule le sous-agent vers le premier modèle de la chaîne qui accepte la requête. Le sous-agent continue à travailler au lieu de se terminer sur l'erreur.

972 985 

973Une fois que l'erreur API sous-jacente est résolue, demandez à Claude de réessayer la tâche ou de [reprendre le sous-agent](#resume-subagents).986Une fois que l'erreur API sous-jacente est résolue, demandez à Claude de réessayer la tâche ou de [reprendre le sous-agent](#resume-subagents).


1114 1127 

1115Chaque invocation de sous-agent crée une nouvelle instance plutôt que de continuer une instance antérieure. Pour continuer le travail d'un sous-agent existant au lieu de recommencer, demandez à Claude de le reprendre.1128Chaque invocation de sous-agent crée une nouvelle instance plutôt que de continuer une instance antérieure. Pour continuer le travail d'un sous-agent existant au lieu de recommencer, demandez à Claude de le reprendre.

1116 1129 

1117Les sous-agents repris conservent leur historique de conversation complet, y compris tous les appels d'outils précédents, les résultats et le raisonnement. Si le sous-agent a généré [ses propres sous-agents en arrière-plan](#let-subagents-spawn-their-own-subagents), cet historique inclut les résultats qu'ils ont livrés pendant qu'il s'exécutait. Le sous-agent reprend exactement où il s'est arrêté plutôt que de recommencer à zéro.1130Les sous-agents repris conservent leur historique de conversation complet, y compris tous les appels d'outils précédents, les résultats et le raisonnement. Si le sous-agent a généré [ses propres sous-agents en arrière-plan](#let-subagents-spawn-their-own-subagents), cet historique inclut les résultats qu'ils ont livrés pendant qu'il s'exécutait. Avant la v2.1.304, un sous-agent auquel Claude envoyait un message ou qu'il reprenait juste après sa fin pouvait oublier son travail le plus récent.

1118 1131 

1119* Lorsqu'un sous-agent se termine, Claude reçoit son ID d'agent.1132* Lorsqu'un sous-agent se termine, Claude reçoit son ID d'agent.

1120* Les agents Explore et Plan intégrés sont ponctuels et ne retournent pas d'ID d'agent, de sorte que Claude ne peut pas les reprendre. Utilisez `general-purpose` ou un sous-agent personnalisé lorsque vous avez besoin de continuer le travail.1133* Les agents Explore et Plan intégrés sont ponctuels et ne retournent pas d'ID d'agent, de sorte que Claude ne peut pas les reprendre. Utilisez `general-purpose` ou un sous-agent personnalisé lorsque vous avez besoin de continuer le travail.


1154* **Persistance de la session** : les transcriptions des sous-agents persistent dans leur session. Vous pouvez [reprendre un sous-agent](#resume-subagents) après avoir redémarré Claude Code en reprenant la même session.1167* **Persistance de la session** : les transcriptions des sous-agents persistent dans leur session. Vous pouvez [reprendre un sous-agent](#resume-subagents) après avoir redémarré Claude Code en reprenant la même session.

1155* **Nettoyage automatique** : Claude Code supprime les transcriptions des sous-agents après la période de rétention `cleanupPeriodDays`, 30 jours par défaut, en suivant les [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically).1168* **Nettoyage automatique** : Claude Code supprime les transcriptions des sous-agents après la période de rétention `cleanupPeriodDays`, 30 jours par défaut, en suivant les [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically).

1156 1169 

1170##### Envoyer un message à un sous-agent par son nom après un redémarrage

1171 

1172> [!NOTE]

1173>

1174> Pour un sous-agent lancé en tant que coéquipier, consultez plutôt les [limitations des équipes d'agents](/docs/fr/agent-teams#limitations).

1175 

1176Si Claude ne peut pas envoyer de message à un sous-agent par son nom après que vous avez redémarré Claude Code et repris la session, donnez plutôt à Claude l'ID d'agent du sous-agent. Les noms que Claude a donnés depuis la conversation principale depuis sa dernière [compaction](/docs/fr/context-window#what-survives-compaction) survivent au redémarrage. Un nom antérieur à cette compaction ne survit pas. Pour trouver l'ID correspondant à un nom, recherchez ce nom dans les fichiers `agent-{agentId}.meta.json` de `~/.claude/projects/{project}/{sessionId}/subagents/`.

1177 

1178Après un message envoyé par ID, le nom du sous-agent fonctionne à nouveau, sauf si un agent plus récent a pris ce nom. Avant la v2.1.299, aucun nom ne survivait à un redémarrage, et un envoi par nom était refusé même lorsque l'ID d'agent fonctionnait encore.

1179 

1157#### Compaction automatique1180#### Compaction automatique

1158 1181 

1159Les sous-agents prennent en charge la compaction automatique. La compaction se déclenche à mesure que la propre fenêtre de contexte du sous-agent se remplit, et `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` s'applique également aux sous-agents. Voir [variables d'environnement](/docs/fr/env-vars) pour savoir quand le remplacement prend effet.1182Les sous-agents prennent en charge la compaction automatique. La compaction se déclenche à mesure que la propre fenêtre de contexte du sous-agent se remplit, et `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` s'applique également aux sous-agents. Voir [variables d'environnement](/docs/fr/env-vars) pour savoir quand le remplacement prend effet.

Details

476 476 

477Les commandes PowerShell reçoivent également les variables que les hooks conservent via `CLAUDE_ENV_FILE`, dans les conditions décrites dans [Variables persistantes dans les commandes PowerShell](/docs/fr/hooks#persisted-variables-in-powershell-commands). Nécessite Claude Code v2.1.296 ou version ultérieure.477Les commandes PowerShell reçoivent également les variables que les hooks conservent via `CLAUDE_ENV_FILE`, dans les conditions décrites dans [Variables persistantes dans les commandes PowerShell](/docs/fr/hooks#persisted-variables-in-powershell-commands). Nécessite Claude Code v2.1.296 ou version ultérieure.

478 478 

479Le code de sortie 1 de `grep`, `rg`, `egrep`, `fgrep`, `findstr` et `git grep` signifie aucune correspondance. Le code de sortie 1 de `git diff` signifie que des différences existent. Aucun de ces résultats n'est signalé à Claude comme un échec de commande. Pour `robocopy`, les codes de sortie 0 à 7 sont des résultats informationnels, tels que des fichiers copiés ou des fichiers supplémentaires détectés. Les codes de sortie 8 ou supérieurs comptent comme des échecs.479### Code de sortie 1 des recherches et de `git diff` dans PowerShell

480 

481Si une recherche `grep` ou `rg` qui ne trouve aucune correspondance affiche `Error: Exit code 1` lorsque Claude l'exécute dans l'outil PowerShell, la recherche n'a pas échoué. Vous n'avez rien à faire. L'erreur peut apparaître lorsque la recherche fait partie d'une commande plus longue. Par exemple, lorsque `rg` se termine avec le code 1, `rg foo | Out-Null` affiche l'erreur, mais pas `rg foo`.

482 

483L'outil PowerShell peut considérer le code de sortie 1 comme un résultat normal de `grep`, `rg`, `egrep`, `fgrep`, `findstr`, `git grep` et `git diff`. Les recherches utilisent le code de sortie 1 pour signaler l'absence de correspondance. Pour `git diff`, le code de sortie 1 signifie que les fichiers diffèrent. Une commande qui affiche l'erreur lorsque Claude l'exécute [compte comme un échec](/docs/fr/skills#when-an-injected-command-fails) dans un skill avec `shell: powershell`.

480 484 

481### Encodage Windows et codes de sortie485### Encodage Windows et codes de sortie

482 486 


484* Claude Code encode le texte acheminé vers l'entrée standard d'une commande native en UTF-8488* Claude Code encode le texte acheminé vers l'entrée standard d'une commande native en UTF-8

485* Claude Code capture la sortie d'erreur sans séquences d'échappement ANSI489* Claude Code capture la sortie d'erreur sans séquences d'échappement ANSI

486* Une commande dont le processus enfant attend sur l'entrée standard reçoit une fin de fichier au lieu de se bloquer490* Une commande dont le processus enfant attend sur l'entrée standard reçoit une fin de fichier au lieu de se bloquer

487* Le code de sortie 1 de `where.exe` signifie aucune correspondance, et de `fc.exe` et `diff.exe` signifie que les fichiers diffèrent, de sorte que lorsque la commande produit une sortie, Claude Code traite ce code de sortie comme une réponse négative valide plutôt qu'une erreur de commande. Claude Code signale toujours une forme silencieuse, telle que `where.exe /Q` ou une redirection vers `$null`, comme un échec au code de sortie 1491* Si `where.exe` ne trouve aucune correspondance, ou si `fc.exe` ou `diff.exe` détecte que les fichiers diffèrent, le résultat peut afficher `Error: Exit code 1` bien que la commande n'ait pas échoué. Vous n'avez rien à faire.

492* Si un code de sortie `robocopy` compris entre 1 et 7 s'affiche comme une erreur, la copie n'a pas échoué et vous n'avez rien à faire. `robocopy` se termine avec un code de 0 à 7 pour signaler un résultat, tel que des fichiers copiés, et avec un code de 8 ou plus en cas d'échec.

488 493 

489### Limitations de l'aperçu494### Limitations de l'aperçu

490 495 


504* **Images** : les fichiers PNG, JPEG, GIF et WebP sont retournés comme contenu visuel que Claude peut voir, pas comme des octets bruts. Claude Code redimensionne et récompresse les grandes images pour s'adapter aux limites de taille d'image du modèle avant de les envoyer, donc Claude peut voir une version réduite d'une grande capture d'écran.509* **Images** : les fichiers PNG, JPEG, GIF et WebP sont retournés comme contenu visuel que Claude peut voir, pas comme des octets bruts. Claude Code redimensionne et récompresse les grandes images pour s'adapter aux limites de taille d'image du modèle avant de les envoyer, donc Claude peut voir une version réduite d'une grande capture d'écran.

505 510 

506 Si Claude manque des détails fins au niveau des pixels dans une grande image, demandez-lui de recadrer la région qui vous intéresse, par exemple avec ImageMagick via Bash, puis de lire l'image recadrée.511 Si Claude manque des détails fins au niveau des pixels dans une grande image, demandez-lui de recadrer la région qui vous intéresse, par exemple avec ImageMagick via Bash, puis de lire l'image recadrée.

512 

513 Read refuse un fichier image de plus de 128 MB avec une erreur qui indique à Claude de redimensionner l'image ou d'en exporter une copie plus petite, puis de lire cette copie. Si Claude s'arrête à l'erreur au lieu de le faire, consultez [File is too large to read as an image](/docs/fr/errors#file-is-too-large-to-read-as-an-image).

507* **PDFs** : Claude lit les fichiers `.pdf` courts en entier. Pour les PDFs plus longs que 10 pages, il lit par plages avec un paramètre `pages`, tel que `"1-5"`, jusqu'à 20 pages à la fois. Les lectures par plage de pages restituent les pages avec `pdftoppm` de poppler-utils, donc installez-le avec `brew install poppler` sur macOS ou `apt-get install poppler-utils` sur Debian et Ubuntu. Sur Windows et autres plates-formes, installez une version poppler qui met `pdftoppm` sur votre `PATH`. Sans cela, une lecture par plage de pages échoue avec `pdftoppm is not installed`.514* **PDFs** : Claude lit les fichiers `.pdf` courts en entier. Pour les PDFs plus longs que 10 pages, il lit par plages avec un paramètre `pages`, tel que `"1-5"`, jusqu'à 20 pages à la fois. Les lectures par plage de pages restituent les pages avec `pdftoppm` de poppler-utils, donc installez-le avec `brew install poppler` sur macOS ou `apt-get install poppler-utils` sur Debian et Ubuntu. Sur Windows et autres plates-formes, installez une version poppler qui met `pdftoppm` sur votre `PATH`. Sans cela, une lecture par plage de pages échoue avec `pdftoppm is not installed`.

508* **Notebooks Jupyter** : les fichiers `.ipynb` retournent toutes les cellules avec leurs résultats, y compris le code, le markdown et les visualisations. Un notebook dont les cellules dépassent 256 KB, ou la [limite de tokens](#large-files), retourne une erreur à la place. Claude Code refuse de lire un fichier notebook de plus de 100 MB ; l'erreur indique à Claude comment lire une portion du notebook à la place, comme une tranche de cellules, avec une commande shell.515* **Notebooks Jupyter** : les fichiers `.ipynb` retournent toutes les cellules avec leurs résultats, y compris le code, le markdown et les visualisations. Un notebook dont les cellules dépassent 256 KB, ou la [limite de tokens](#large-files), retourne une erreur à la place. Claude Code refuse de lire un fichier notebook de plus de 100 MB ; l'erreur indique à Claude comment lire une portion du notebook à la place, comme une tranche de cellules, avec une commande shell.

509 516 


558 565 

559Claude Code conserve votre répertoire de travail dans le brouillon local afin de pouvoir trouver la transcription, et n'envoie pas le répertoire.566Claude Code conserve votre répertoire de travail dans le brouillon local afin de pouvoir trouver la transcription, et n'envoie pas le répertoire.

560 567 

561Dans les [organisations avec rétention zéro des données](/docs/fr/zero-data-retention#features-disabled-under-zdr), et dans les organisations où la [configuration HIPAA](/docs/fr/hipaa-setup) est appliquée, Claude Code laisse l'outil de côté, comme il le fait pour `/feedback`. Si une session dans une organisation avec rétention zéro des données offre toujours l'outil, les brouillons restent sur votre machine, et l'envoi échoue avec `Feedback collection is not available for organizations with custom data retention policies.`568Dans les [organisations avec rétention zéro des données](/docs/fr/zero-data-retention#features-disabled-under-zdr), et dans les organisations où la [configuration HIPAA](/docs/fr/hipaa-setup) est appliquée, Claude Code exclut l'outil SendFeedback de vos sessions. Si une session dans une organisation avec rétention zéro des données offre toujours l'outil, les brouillons restent sur votre machine, et l'envoi échoue avec `Feedback collection is not available for organizations with custom data retention policies.`

562 569 

563### Supprimer ou conserver un brouillon570### Supprimer ou conserver un brouillon

564 571 


665* **Attendre la recharge** : sur Claude Code v2.1.290 ou ultérieur, la limite d'une session de terminal interactive se recharge à raison d'environ 100 appels par heure. Pour modifier ce rythme, définissez [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/fr/env-vars#variables) sur un nombre d'appels par heure, comme `50`.672* **Attendre la recharge** : sur Claude Code v2.1.290 ou ultérieur, la limite d'une session de terminal interactive se recharge à raison d'environ 100 appels par heure. Pour modifier ce rythme, définissez [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/fr/env-vars#variables) sur un nombre d'appels par heure, comme `50`.

666* **Démarrer une nouvelle conversation** : l'exécution de [`/clear`](/docs/fr/commands#all-commands) dans le prompt de Claude Code réinitialise également le compteur. Si un travail qui peut toujours générer des sous-agents survit au clear, comme un workflow en cours d'exécution, le compteur est reporté à la place.673* **Démarrer une nouvelle conversation** : l'exécution de [`/clear`](/docs/fr/commands#all-commands) dans le prompt de Claude Code réinitialise également le compteur. Si un travail qui peut toujours générer des sous-agents survit au clear, comme un workflow en cours d'exécution, le compteur est reporté à la place.

667 674 

675En [mode non interactif](/docs/fr/headless) avec `-p` et dans l'[Agent SDK](/docs/fr/agent-sdk/overview), la limite s'applique par tour, et non par session. Un tour s'étend depuis un message que vous envoyez jusqu'à ce que Claude ait fini de répondre. La limite est réinitialisée lorsque vous envoyez le message suivant ou lancez une nouvelle exécution `claude -p`, même avec [`--continue` ou `--resume`](/docs/fr/headless#continue-conversations). Pour obtenir plus de recherches, relevez [`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/fr/env-vars#variables) ou définissez un rythme de recharge avec [`CLAUDE_CODE_WEB_SEARCH_REFILLS_PER_HOUR`](/docs/fr/env-vars#variables).

676 

668## Comportement de l'outil Write677## Comportement de l'outil Write

669 678 

670L'outil Write crée un nouveau fichier ou remplace un fichier existant par le contenu complet fourni. Il n'ajoute pas ou ne fusionne pas. Write remplace également un fichier existant dont les octets ne peuvent pas être décodés et enregistre le nouveau contenu en UTF-8, comme décrit dans [fichiers non UTF-8](#non-utf-8-files).679L'outil Write crée un nouveau fichier ou remplace un fichier existant par le contenu complet fourni. Il n'ajoute pas ou ne fusionne pas. Write remplace également un fichier existant dont les octets ne peuvent pas être décodés et enregistre le nouveau contenu en UTF-8, comme décrit dans [fichiers non UTF-8](#non-utf-8-files).

Details

31| `CRYPT_E_NO_REVOCATION_CHECK` ou `CRYPT_E_REVOCATION_OFFLINE` | [Contournez les vérifications de révocation bloquées](#tls-or-ssl-connection-errors) |31| `CRYPT_E_NO_REVOCATION_CHECK` ou `CRYPT_E_REVOCATION_OFFLINE` | [Contournez les vérifications de révocation bloquées](#tls-or-ssl-connection-errors) |

32| `Failed to fetch version` ou impossible d'atteindre le serveur de téléchargement | [Vérifiez les paramètres réseau et proxy](#check-network-connectivity) |32| `Failed to fetch version` ou impossible d'atteindre le serveur de téléchargement | [Vérifiez les paramètres réseau et proxy](#check-network-connectivity) |

33| `The connection dropped while downloading the update` ou `Download timed out: exceeded the total deadline` | [Relancez la mise à jour ou configurez votre proxy](#the-connection-dropped-while-downloading-the-update) |33| `The connection dropped while downloading the update` ou `Download timed out: exceeded the total deadline` | [Relancez la mise à jour ou configurez votre proxy](#the-connection-dropped-while-downloading-the-update) |

34| `Release verification failed for Claude Code` | [Exécutez à nouveau `claude update` ou `claude install`](#release-verification-failed) |

35| `Auto-update failed · Run claude doctor` en rouge dans le pied de page de la session | [Exécutez `claude update` depuis votre shell](#auto-update-failed) |

34| `irm is not recognized` ou `The token '&&' is not a valid statement separator` | [Utilisez la bonne commande pour votre shell](#wrong-install-command-on-windows) |36| `irm is not recognized` ou `The token '&&' is not a valid statement separator` | [Utilisez la bonne commande pour votre shell](#wrong-install-command-on-windows) |

35| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Mettez à jour Homebrew](#homebrew-cask-unavailable-or-outdated) |37| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Mettez à jour Homebrew](#homebrew-cask-unavailable-or-outdated) |

36| `Cask 'claude-code@latest' is not installed` | [Mettez à niveau le cask que vous avez installé](#cask-is-not-installed) |38| `Cask 'claude-code@latest' is not installed` | [Mettez à niveau le cask que vous avez installé](#cask-is-not-installed) |


631* Si un proxy d'entreprise continue de fermer le transfert, demandez à votre équipe réseau d'autoriser le téléchargement complet depuis `downloads.claude.ai`. Consultez [Exigences d'accès réseau](/docs/fr/network-config#network-access-requirements).633* Si un proxy d'entreprise continue de fermer le transfert, demandez à votre équipe réseau d'autoriser le téléchargement complet depuis `downloads.claude.ai`. Consultez [Exigences d'accès réseau](/docs/fr/network-config#network-access-requirements).

632* Exécutez `claude doctor` depuis votre shell pour obtenir des diagnostics d'installation634* Exécutez `claude doctor` depuis votre shell pour obtenir des diagnostics d'installation

633 635 

636### Release verification failed for Claude Code

637 

638Ce message de `claude update` ou `claude install` signifie que Claude Code n'a pas pu confirmer que la version qu'il s'apprêtait à installer est authentique ; il n'a donc rien installé. Toute version que vous avez déjà continue de fonctionner.

639 

640```text theme={null}

641Release verification failed for Claude Code <version> (<reason>). The update was not installed.

642```

643 

644Suivez l'étape qui correspond à la valeur entre parenthèses dans votre message :

645 

646* **Une valeur qui commence par `sidecar_fetch_`** : exécutez à nouveau la même commande depuis votre shell. `claude update` a réussi s'il affiche une ligne qui commence par `Successfully updated from`, et `claude install` a réussi s'il affiche `Claude Code successfully installed!`.

647* **Toute autre valeur** : réessayez la même commande plus tard

648 

649Quelle que soit la valeur, si le message se répète, [signalez le problème](#still-stuck) en incluant le message complet.

650 

651### `Auto-update failed · Run claude doctor` dans le pied de page de la session

652 

653Cette ligne rouge signifie que Claude Code a tenté de se mettre à jour en arrière-plan et que la mise à jour ne s'est pas installée. Vous pouvez continuer à travailler sans rien faire.

654 

655La ligne vous renvoie vers `claude doctor`, dont la ligne `Last update attempt: failed (install_failed)` indique une date mais aucune cause. Pour terminer la mise à jour ou savoir pourquoi elle a échoué, exécutez plutôt `claude update` dans votre shell. Si cette installation échoue également, recherchez l'erreur affichée par `claude update` dans [Trouver votre erreur](#find-your-error).

656 

634### Mauvaise commande d'installation sur Windows657### Mauvaise commande d'installation sur Windows

635 658 

636Si vous voyez `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'`, ou `'bash' is not recognized as the name of a cmdlet`, vous avez copié la commande d'installation pour un shell ou un système d'exploitation différent. Si la commande affiche le texte du script au lieu d'installer quoi que ce soit, vous n'avez exécuté qu'une partie de celle-ci.659Si vous voyez `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'`, ou `'bash' is not recognized as the name of a cmdlet`, vous avez copié la commande d'installation pour un shell ou un système d'exploitation différent. Si la commande affiche le texte du script au lieu d'installer quoi que ce soit, vous n'avez exécuté qu'une partie de celle-ci.

Details

12| :- | :- |12| :- | :- |

13| `command not found`, l'installation échoue, problèmes de PATH, `EACCES`, erreurs TLS | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install) |13| `command not found`, l'installation échoue, problèmes de PATH, `EACCES`, erreurs TLS | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install) |

14| Le téléchargement de la mise à jour ou de l'installation échoue avec `The connection dropped while downloading the update` ou `aborted` | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |14| Le téléchargement de la mise à jour ou de l'installation échoue avec `The connection dropped while downloading the update` ou `aborted` | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

15| La mise à jour ou l'installation échoue avec `Release verification failed for Claude Code` | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#release-verification-failed) |

16| Le pied de page de la session affiche `Auto-update failed · Run claude doctor` en rouge | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#auto-update-failed) |

15| Boucles de connexion, erreurs OAuth, `403 Forbidden`, « organisation désactivée », identifiants Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#login-and-authentication) |17| Boucles de connexion, erreurs OAuth, `403 Forbidden`, « organisation désactivée », identifiants Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#login-and-authentication) |

16| Les paramètres ne s'appliquent pas, les hooks ne se déclenchent pas, les serveurs MCP ne se chargent pas | [Déboguer votre configuration](/docs/fr/debug-your-config) |18| Les paramètres ne s'appliquent pas, les hooks ne se déclenchent pas, les serveurs MCP ne se chargent pas | [Déboguer votre configuration](/docs/fr/debug-your-config) |

17| Session démarrée en mode auto, ou Claude modifie les fichiers et exécute les commandes sans demander | [Mode de démarrage d'une session](/docs/fr/permission-modes#which-mode-a-session-starts-in) |19| Session démarrée en mode auto, ou Claude modifie les fichiers et exécute les commandes sans demander | [Mode de démarrage d'une session](/docs/fr/permission-modes#which-mode-a-session-starts-in) |

vs-code.md +16 −3

Details

174* **Favoris** : survolez une réponse et cliquez sur **Bookmark response** pour l'enregistrer, ou cliquez sur **Remove bookmark** sur une réponse enregistrée pour la retirer.174* **Favoris** : survolez une réponse et cliquez sur **Bookmark response** pour l'enregistrer, ou cliquez sur **Remove bookmark** sur une réponse enregistrée pour la retirer.

175 175 

176 Pour consulter les réponses enregistrées, ouvrez le panneau Bookmarks. Vous pouvez cliquer sur l'icône de favori en haut du panneau Claude Code, sélectionner **Bookmarks** dans la section Context du menu des commandes, ou taper `/bookmarks`. Nécessite Claude Code v2.1.286 ou version ultérieure.176 Pour consulter les réponses enregistrées, ouvrez le panneau Bookmarks. Vous pouvez cliquer sur l'icône de favori en haut du panneau Claude Code, sélectionner **Bookmarks** dans la section Context du menu des commandes, ou taper `/bookmarks`. Nécessite Claude Code v2.1.286 ou version ultérieure.

177* **Fichiers que Claude vous envoie** : lorsque la session est connectée à [Remote Control](/docs/fr/remote-control#start-a-remote-control-session) et que Claude vous envoie des fichiers avec l'[outil `SendUserFile`](/docs/fr/tools-reference), la conversation affiche une ligne comme **Sent report.md, chart.png**. Cliquez sur le nom d'un fichier pour l'ouvrir dans l'éditeur.177* **Fichiers que Claude vous envoie** : lorsque la session est connectée à [Remote Control](/docs/fr/remote-control#start-a-remote-control-session) et que Claude vous envoie des fichiers avec l'[outil `SendUserFile`](/docs/fr/tools-reference), la conversation affiche une ligne comme **Sent report.md, chart.png**. Cliquez sur le nom d'un fichier pour l'ouvrir dans l'éditeur. La ligne reste visible dans Focus view. Nécessite Claude Code v2.1.295 ou version ultérieure.

178 

179 Un fichier apparaît sous forme de chemin complet non cliquable, comme `\\server\share\report.md`, lorsque son chemin désigne un hôte réseau. Claude Code ne crée pas de lien vers ce fichier, car l'ouvrir contacterait cet hôte et, sous Windows, [pourrait envoyer vos identifiants Windows à cet hôte](/docs/fr/permissions#read-only-commands).

178* **Indicateur de contexte** : la zone de prompt indique quelle part de la fenêtre de contexte de Claude vous utilisez. Claude effectue automatiquement une compaction si nécessaire, ou vous pouvez exécuter `/compact` manuellement.180* **Indicateur de contexte** : la zone de prompt indique quelle part de la fenêtre de contexte de Claude vous utilisez. Claude effectue automatiquement une compaction si nécessaire, ou vous pouvez exécuter `/compact` manuellement.

179* **Horloge du cache de prompt** : une icône d'horloge à côté de l'indicateur de contexte estime le temps restant avant l'expiration du [cache de prompt](/docs/fr/prompt-caching) de la conversation. Elle décompte à partir de la [durée de vie](/docs/fr/prompt-caching#cache-lifetime) de cinq minutes ou d'une heure du cache, et chaque réponse qui utilise le cache relance le décompte. En dehors de la compaction, les [actions qui invalident le cache](/docs/fr/prompt-caching#actions-that-invalidate-the-cache) ne réinitialisent pas l'horloge, qui peut donc encore afficher des minutes restantes après un changement de modèle.181* **Horloge du cache de prompt** : une icône d'horloge à côté de l'indicateur de contexte estime le temps restant avant l'expiration du [cache de prompt](/docs/fr/prompt-caching) de la conversation. Elle décompte à partir de la [durée de vie](/docs/fr/prompt-caching#cache-lifetime) de cinq minutes ou d'une heure du cache, et chaque réponse qui utilise le cache relance le décompte. En dehors de la compaction, les [actions qui invalident le cache](/docs/fr/prompt-caching#actions-that-invalidate-the-cache) ne réinitialisent pas l'horloge, qui peut donc encore afficher des minutes restantes après un changement de modèle.

180 * Jusqu'à la fin du décompte, l'icône affiche les minutes restantes, par exemple **12m**.182 * Jusqu'à la fin du décompte, l'icône affiche les minutes restantes, par exemple **12m**.


252 254 

253* **Titres des sessions** : les nouvelles sessions reçoivent des titres générés par l'IA à partir de votre premier message.255* **Titres des sessions** : les nouvelles sessions reçoivent des titres générés par l'IA à partir de votre premier message.

254* **Renommer et archiver** : survolez une session pour afficher ces actions. Renommez-la pour lui donner un titre descriptif, ou archivez-la pour la déplacer dans le groupe **Archived sessions** en bas de la liste.256* **Renommer et archiver** : survolez une session pour afficher ces actions. Renommez-la pour lui donner un titre descriptif, ou archivez-la pour la déplacer dans le groupe **Archived sessions** en bas de la liste.

257* **Conversations manquantes lorsque [`claudeProcessWrapper`](#extension-settings) est défini** : mettez à jour l'extension vers la version 2.1.304 ou ultérieure. La liste inclut alors les conversations qui manquaient, ainsi que les sessions que `claude -p` ou l'[Agent SDK](/docs/fr/agent-sdk/overview) ont démarrées dans cet espace de travail.

255 258 

256Si la conversation est ouverte dans un autre processus Claude Code, comme `claude` dans un terminal ou une autre fenêtre VS Code, cet avis apparaît à la place de la zone de prompt :259Si la conversation est ouverte dans un autre processus Claude Code, comme `claude` dans un terminal ou une autre fenêtre VS Code, cet avis apparaît à la place de la zone de prompt :

257 260 


308 311 

309* **Forfait claude.ai** : des barres d'utilisation pour les limites de votre forfait, comme la session en cours et la semaine. Chaque barre indique le temps restant avant la réinitialisation de sa limite.312* **Forfait claude.ai** : des barres d'utilisation pour les limites de votre forfait, comme la session en cours et la semaine. Chaque barre indique le temps restant avant la réinitialisation de sa limite.

310 313 

311 La boîte de dialogue détaille également ce qui contribue aux limites de votre forfait. Elle signale les comportements qui représentent 10 % ou plus de l'utilisation récente, comme les échecs de cache, les contextes longs et les sessions faisant un usage intensif de sous-agents ou fortement parallélisées. Chaque comportement signalé s'accompagne d'un conseil pour le réduire. Des tableaux d'attribution indiquent la part d'utilisation provenant de chaque skill, sous-agent, plugin et serveur MCP.314 La boîte de dialogue détaille également ce qui contribue aux limites de votre forfait :

315 

316 * **Recommandations** : des modifications qui réduisent votre utilisation, une par ligne avec la part de l'utilisation récente qu'elle concerne, comme `Trim ~/code/api/CLAUDE.md · 49k tokens per request`

317 * **Bouton de correction** : pour que Claude Code applique les recommandations qu'il est en mesure d'appliquer, cliquez sur le bouton situé en dessous, comme **Fix both**. Pour savoir sur quelles lignes le bouton agit et ce qui se passe ensuite dans votre session, consultez [Appliquer les recommandations avec le raccourci de correction](/docs/fr/costs#apply-recommendations-with-the-fix-shortcut). Nécessite Claude Code v2.1.305 ou version ultérieure.

318 

319 Le bouton n'est pas affiché lorsque [Remote Control](/docs/fr/remote-control) est connecté. Si un avertissement indique `The usage fix wasn’t fully sent. Open usage and try again.` après la connexion de Remote Control, [déconnectez Remote Control](/docs/fr/remote-control#check-connection-status) avant de réessayer.

320 * **Attribution** : des tableaux indiquant la part d'utilisation provenant de chaque skill, sous-agent, plugin et serveur MCP

312 321 

313 Utilisez le sélecteur Day et Week pour basculer entre les dernières 24 heures et les 7 derniers jours. Les chiffres sont approximatifs et calculés à partir des sessions locales sur cette machine ; l'utilisation depuis d'autres appareils ou depuis claude.ai n'est donc pas incluse.322 Utilisez le sélecteur Day et Week pour basculer entre les dernières 24 heures et les 7 derniers jours. Les chiffres sont approximatifs et calculés à partir des sessions locales sur cette machine ; l'utilisation depuis d'autres appareils ou depuis claude.ai n'est donc pas incluse.

314* **Autres connexions** : lorsque les limites de forfait ne s'appliquent pas à votre connexion, par exemple avec un [fournisseur tiers](#use-third-party-providers) ou une clé API, la section Usage affiche à la place le coût et l'utilisation de tokens propres à la session. La commande `/usage` de la CLI affiche les mêmes totaux dans son [bloc Session](/docs/fr/costs#track-your-costs). La liste des sessions dans la barre d'activité affiche également les totaux de la session active sous son en-tête **Account & usage**. Nécessite Claude Code v2.1.277 ou version ultérieure.323* **Autres connexions** : lorsque les limites de forfait ne s'appliquent pas à votre connexion, par exemple avec un [fournisseur tiers](#use-third-party-providers) ou une clé API, la section Usage affiche à la place le coût et l'utilisation de tokens propres à la session. La commande `/usage` de la CLI affiche les mêmes totaux dans son [bloc Session](/docs/fr/costs#track-your-costs). La liste des sessions dans la barre d'activité affiche également les totaux de la session active sous son en-tête **Account & usage**. Nécessite Claude Code v2.1.277 ou version ultérieure.


573 582 

574Pour une commande shell en arrière-plan, ou pour un [moniteur](/docs/fr/tools-reference#monitor-tool) qui exécute une commande, la fiche affiche également la dernière sortie de la commande et l'actualise pendant l'exécution de celle-ci.583Pour une commande shell en arrière-plan, ou pour un [moniteur](/docs/fr/tools-reference#monitor-tool) qui exécute une commande, la fiche affiche également la dernière sortie de la commande et l'actualise pendant l'exécution de celle-ci.

575 584 

585#### Voir les appels d'outils d'un sous-agent en arrière-plan

586 

587Lorsqu'un sous-agent s'affiche sous la forme d'une seule barre de statut sans appels d'outils, tapez `/tasks` dans la zone de prompt pour ouvrir la [carte des agents](#use-the-prompt-box) et cliquez sur le sous-agent à cet endroit. Le sous-agent [s'exécute en arrière-plan](#the-run-in-background-action-is-missing-under-a-subagent), et sa fiche affiche ses appels d'outils ainsi qu'un bouton qui ouvre sa transcription.

588 

576## Commandes et raccourcis VS Code589## Commandes et raccourcis VS Code

577 590 

578Pour ouvrir la palette de commandes, appuyez sur `Cmd+Shift+P` sur Mac ou `Ctrl+Shift+P` sur Windows/Linux. Tapez « Claude Code » pour afficher toutes les commandes VS Code disponibles pour l'extension Claude Code.591Pour ouvrir la palette de commandes, appuyez sur `Cmd+Shift+P` sur Mac ou `Ctrl+Shift+P` sur Windows/Linux. Tapez « Claude Code » pour afficher toutes les commandes VS Code disponibles pour l'extension Claude Code.


726 739 

727* **Les réponses de Claude** : l'extension annonce chaque réponse une seule fois, lorsqu'elle est terminée, et reste silencieuse pendant que le texte s'affiche en streaming. Votre lecteur d'écran lit les blocs de code sous forme d'un résumé indiquant le nombre de lignes, lit les liens par leur libellé et lit les tableaux cellule par cellule ; la réponse complète reste lisible dans la transcription.740* **Les réponses de Claude** : l'extension annonce chaque réponse une seule fois, lorsqu'elle est terminée, et reste silencieuse pendant que le texte s'affiche en streaming. Votre lecteur d'écran lit les blocs de code sous forme d'un résumé indiquant le nombre de lignes, lit les liens par leur libellé et lit les tableaux cellule par cellule ; la réponse complète reste lisible dans la transcription.

728* **Les demandes de permission et les questions** : l'extension annonce une demande lorsque sa demande de permission apparaît, en nommant l'outil que Claude souhaite utiliser. Elle fait la même annonce lorsque Claude vous pose une question et lorsque Claude termine un plan et attend votre relecture.741* **Les demandes de permission et les questions** : l'extension annonce une demande lorsque sa demande de permission apparaît, en nommant l'outil que Claude souhaite utiliser. Elle fait la même annonce lorsque Claude vous pose une question et lorsque Claude termine un plan et attend votre relecture.

729* **Les changements d'état** : l'extension annonce quand Claude commence à travailler, quand Claude est prêt pour votre saisie et quand Claude Code commence à compacter la conversation.742* **Les changements d'état** : l'extension annonce quand Claude commence à travailler, quand Claude est prêt pour votre saisie et quand Claude Code commence à compacter la conversation. Si vous envoyez un prompt pendant que les hooks [SessionStart](/docs/fr/hooks#sessionstart) de la session sont encore en cours d'exécution, votre lecteur d'écran annonce également « Running start-up hooks. »

730* **Les messages en file d'attente** : lorsque vous envoyez un message pendant que Claude travaille, l'extension annonce « Message queued. » pour ce message.743* **Les messages en file d'attente** : lorsque vous envoyez un message pendant que Claude travaille, l'extension annonce « Message queued. » pour ce message.

731* **Les erreurs et les prompts liés au modèle** : l'extension annonce les erreurs dans la conversation, et annonce l'apparition de la [demande de consentement aux crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits) ou de la [demande concernant une requête signalée](/docs/fr/model-config#ask-before-switching).744* **Les erreurs et les prompts liés au modèle** : l'extension annonce les erreurs dans la conversation, et annonce l'apparition de la [demande de consentement aux crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits) ou de la [demande concernant une requête signalée](/docs/fr/model-config#ask-before-switching).

732 745 

workflows.md +3 −1

Details

376Claude Code rejoue l'exécution dans l'ordre où les agents ont commencé, et chaque agent retourne soit son résultat sauvegardé, soit s'exécute à nouveau :376Claude Code rejoue l'exécution dans l'ordre où les agents ont commencé, et chaque agent retourne soit son résultat sauvegardé, soit s'exécute à nouveau :

377 377 

378* **Terminé** : retourne son résultat sauvegardé. Le premier agent dont l'invite diffère de l'exécution précédente, parce que vous avez modifié le script ou qu'un agent antérieur a retourné quelque chose de différent, s'exécute à nouveau, tout comme tous les agents après lui, même ceux qui ont terminé.378* **Terminé** : retourne son résultat sauvegardé. Le premier agent dont l'invite diffère de l'exécution précédente, parce que vous avez modifié le script ou qu'un agent antérieur a retourné quelque chose de différent, s'exécute à nouveau, tout comme tous les agents après lui, même ceux qui ont terminé.

379 

380 Avant la v2.1.305, les agents terminés pouvaient également s'exécuter à nouveau quand vous relanciez un script non modifié dont les éléments `pipeline()` ou les tâches `parallel()` exécutaient chacun plus d'un agent. Pour éviter ces réexécutions lors des nouvelles exécutions, mettez à jour Claude Code.

379* **Toujours en cours d'exécution quand vous avez arrêté** : recommence. L'arrêt de l'ensemble de l'exécution ne compte aucun agent comme ayant échoué.381* **Toujours en cours d'exécution quand vous avez arrêté** : recommence. L'arrêt de l'ensemble de l'exécution ne compte aucun agent comme ayant échoué.

380* **Échoué** : s'exécute à nouveau, tout comme tous les agents qui ont commencé après lui, même ceux qui ont terminé. L'arrêt d'un seul agent, en le sélectionnant dans [`/workflows`](#watch-the-run) et en appuyant sur `x`, compte comme un échec.382* **Échoué** : s'exécute à nouveau, tout comme tous les agents que le script démarre après lui, même ceux qui ont terminé. L'arrêt d'un seul agent, en le sélectionnant dans [`/workflows`](#watch-the-run) et en appuyant sur `x`, compte comme un échec.

381 383 

382Ce dernier cas signifie qu'un échec au milieu d'une distribution réexécute le travail qui a déjà terminé. Si un script démarre A, B, C et D dans cet ordre et que B échoue, relancer retourne A du cache et exécute B, C et D à nouveau.384Ce dernier cas signifie qu'un échec au milieu d'une distribution réexécute le travail qui a déjà terminé. Si un script démarre A, B, C et D dans cet ordre et que B échoue, relancer retourne A du cache et exécute B, C et D à nouveau.

383 385 

worktrees.md +1 −0

Details

58 58 

59* **Le worktree est propre** : pour une session sans nom, Claude supprime le worktree et sa branche automatiquement. Une session [nommée](/docs/fr/sessions#name-your-sessions) vous demande d'abord pour que vous puissiez conserver le worktree pour plus tard59* **Le worktree est propre** : pour une session sans nom, Claude supprime le worktree et sa branche automatiquement. Une session [nommée](/docs/fr/sessions#name-your-sessions) vous demande d'abord pour que vous puissiez conserver le worktree pour plus tard

60* **Le worktree contient du travail** : Claude vous demande de conserver ou de supprimer le worktree. Conserver préserve le répertoire et la branche. Pour revenir plus tard, exécutez la commande `claude --worktree <name> --resume` que Claude Code affiche à la sortie. Supprimer supprime le répertoire worktree et sa branche, ainsi que tout le travail qu'ils contiennent60* **Le worktree contient du travail** : Claude vous demande de conserver ou de supprimer le worktree. Conserver préserve le répertoire et la branche. Pour revenir plus tard, exécutez la commande `claude --worktree <name> --resume` que Claude Code affiche à la sortie. Supprimer supprime le répertoire worktree et sa branche, ainsi que tout le travail qu'ils contiennent

61* **Une autre branche est extraite** : si le worktree se trouve sur une branche autre que la sienne et que cette branche contient des commits postérieurs au commit de départ du worktree, Claude vous demande de conserver ou de supprimer le worktree. Quelle que soit votre réponse, cette autre branche et ses commits sont conservés. Supprimer supprime le répertoire worktree et la branche propre au worktree, celle que Claude a créée avec lui

61* **L'état du worktree ne peut pas être vérifié** : quand Claude Code ne peut pas compter les modifications du worktree ou ne peut pas inspecter les extraits de ses sous-modules, il vous demande plutôt que de supprimer le worktree automatiquement. L'invite nomme ce qu'il n'a pas pu vérifier62* **L'état du worktree ne peut pas être vérifié** : quand Claude Code ne peut pas compter les modifications du worktree ou ne peut pas inspecter les extraits de ses sous-modules, il vous demande plutôt que de supprimer le worktree automatiquement. L'invite nomme ce qu'il n'a pas pu vérifier

62 63 

63Les exécutions non interactives avec `-p` n'ont pas d'invite de sortie, donc Claude ne nettoie pas leurs worktrees, et Claude Code laisse le verrou qu'il a pris sur chacun à la création en place jusqu'à ce qu'une [balayage de verrous obsolètes](#clean-up-subagent-and-background-session-worktrees) ultérieure le libère. Pour en supprimer un, exécutez `git worktree remove` ; si git refuse parce que le worktree est verrouillé, exécutez d'abord `git worktree unlock` dessus.64Les exécutions non interactives avec `-p` n'ont pas d'invite de sortie, donc Claude ne nettoie pas leurs worktrees, et Claude Code laisse le verrou qu'il a pris sur chacun à la création en place jusqu'à ce qu'une [balayage de verrous obsolètes](#clean-up-subagent-and-background-session-worktrees) ultérieure le libère. Pour en supprimer un, exécutez `git worktree remove` ; si git refuse parce que le worktree est verrouillé, exécutez d'abord `git worktree unlock` dessus.