SpyBara
Go Premium

Documentation 2026-11-03 23:58 UTC to 2026-11-04 23:59 UTC

33 files changed +511 −153. View all changes and history on the product overview
2026
Fri 13 00:00 Thu 12 23:02 Wed 11 22:59 Tue 10 21:57 Mon 9 23:02 Sun 8 22:58 Sat 7 23:58 Fri 6 23:01 Thu 5 23:03 Wed 4 23:59 Tue 3 23:58 Mon 2 23:57 Sun 1 23:57
Details

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

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

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é |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.) dans vos [répertoires de travail](https://code.claude.com/docs/fr/permissions.md#working-directories) ; 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. Les éditions effectuées avec les outils de fichiers de Claude sont transmises à votre rappel `canUseTool` même lorsqu'une règle d'autorisation les couvre | Vous voulez que Claude produise d'abord un plan, par exemple lors d'une revue de code ou avant une modification importante |

236| `"dontAsk"` | Ne demande jamais. Les outils pré-approuvés par les [règles de permission](https://code.claude.com/docs/fr/settings-reference.md#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](https://code.claude.com/docs/fr/plugins/mods/overview.md) que vous avez installé puisse toujours approuver [certains de ces appels](https://code.claude.com/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods). Quelques appels, comme les [lectures depuis des chemins réseau](https://code.claude.com/docs/fr/permissions.md#network-paths), sont refusés même si vous les avez autorisés. Pour la liste, voir [Mode Don't ask](https://code.claude.com/docs/fr/agent-sdk/permissions.md#don’t-ask-mode-dontask) | Agents headless sans personne pour approuver les appels |236| `"dontAsk"` | Ne demande jamais. Les outils pré-approuvés par les [règles de permission](https://code.claude.com/docs/fr/settings-reference.md#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](https://code.claude.com/docs/fr/plugins/mods/overview.md) que vous avez installé puisse toujours approuver [certains de ces appels](https://code.claude.com/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods). Quelques appels, comme les [lectures depuis des chemins réseau](https://code.claude.com/docs/fr/permissions.md#network-paths), sont refusés même si vous les avez autorisés. Pour la liste, voir [Mode Don't ask](https://code.claude.com/docs/fr/agent-sdk/permissions.md#don’t-ask-mode-dontask) | Agents headless sans personne pour approuver les appels |

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

238| `"bypassPermissions"` | Exécute les appels d'outils sans demander d'approbation, y compris les appels aux outils que vous n'avez pas listés dans `allowedTools`. Quelques appels sont tout de même transmis à votre rappel `canUseTool` ; ils sont listés sous [Mode Bypass permissions](https://code.claude.com/docs/fr/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions). Dans le SDK TypeScript, nécessite également `allowDangerouslySkipPermissions: true` dans `options`. Ne peut pas être utilisé lors de l'exécution en tant que root sur Unix. À utiliser uniquement dans des environnements isolés où les actions de l'agent ne peuvent pas affecter les systèmes qui vous intéressent | CI, conteneurs ou autres environnements isolés |238| `"bypassPermissions"` | Exécute les appels d'outils sans demander d'approbation, y compris les appels aux outils que vous n'avez pas listés dans `allowedTools`. Quelques appels sont tout de même transmis à votre rappel `canUseTool` ; ils sont listés sous [Mode Bypass permissions](https://code.claude.com/docs/fr/agent-sdk/permissions.md#bypass-permissions-mode-bypasspermissions). Dans le SDK TypeScript, nécessite également `allowDangerouslySkipPermissions: true` dans `options`. Ne peut pas être utilisé lors de l'exécution en tant que root sur Unix. À utiliser uniquement dans des environnements isolés où les actions de l'agent ne peuvent pas affecter les systèmes qui vous intéressent | CI, conteneurs ou autres environnements isolés |

239 239 

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

241 241 

242### Modèle242### Modèle

243 243 

Details

14>14>

15> Si vous chargez un plugin qui contient un [mod](https://code.claude.com/docs/fr/plugins/mods/overview.md), consultez [où se situent les décisions d'un mod parmi les règles et les hooks](https://code.claude.com/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods).15> Si vous chargez un plugin qui contient un [mod](https://code.claude.com/docs/fr/plugins/mods/overview.md), consultez [où se situent les décisions d'un mod parmi les règles et les hooks](https://code.claude.com/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods).

16 16 

17Lorsque Claude demande un outil, le SDK vérifie les permissions dans cet ordre :17Lorsque Claude demande un outil, Claude Code vérifie l'appel au cours des étapes suivantes. Chaque étape peut trancher l'appel, l'envoyer à votre callback `canUseTool` ou le transmettre :

18 18 

19**1. Hooks**19**1. Hooks**

20 20 

21Exécutez d'abord les [hooks](https://code.claude.com/docs/fr/agent-sdk/hooks.md). Un hook peut refuser l'appel catégoriquement ou le transmettre. Un hook qui retourne `allow` ne contourne pas les règles de refus et de demande ci-dessous ; celles-ci sont évaluées indépendamment du résultat du hook.21Exécutez les [hooks](https://code.claude.com/docs/fr/agent-sdk/hooks.md). Un hook peut refuser l'appel catégoriquement ou le transmettre. Un hook qui retourne `allow` ne contourne pas les règles de refus et de demande ci-dessous ; celles-ci sont évaluées indépendamment du résultat du hook.

22 22 

23Un hook `PreToolUse` qui retourne `allow` ne peut pas non plus approuver une commande `rm` ou `rmdir` dont Claude Code reconnaît la cible comme un [chemin critique](https://code.claude.com/docs/fr/permission-modes.md#critical-paths), par exemple `rm -rf ~`. Pour savoir ce que fait ce `allow` en mode plan, consultez [Approbations par hook en mode plan](https://code.claude.com/docs/fr/permissions.md#hook-approvals-in-plan-mode).23Un hook `PreToolUse` qui retourne `allow` ne peut pas non plus approuver une commande `rm` ou `rmdir` dont Claude Code reconnaît la cible comme un [chemin critique](https://code.claude.com/docs/fr/permission-modes.md#critical-paths), par exemple `rm -rf ~`. Pour savoir ce que fait ce `allow` en mode plan, consultez [Approbations par hook en mode plan](https://code.claude.com/docs/fr/permissions.md#hook-approvals-in-plan-mode).

24 24 

25**2. Règles de refus**25**2. Règles de refus**

26 26 

27Si une règle de refus provenant de `disallowed_tools` ou de [settings.json](https://code.claude.com/docs/fr/settings-reference.md#permission-settings) correspond, l'appel est refusé et [`canUseTool`](https://code.claude.com/docs/fr/agent-sdk/user-input) n'est pas appelé, même en mode [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) et même lorsqu'un hook a retourné `allow`.27Si une règle de refus provenant de `disallowed_tools` ou d'un [fichier de paramètres chargé par le SDK](#rules-in-settings-files) correspond, l'appel est refusé et [`canUseTool`](https://code.claude.com/docs/fr/agent-sdk/user-input) n'est pas appelé. L'appel est refusé de cette manière même en mode [`bypassPermissions`](#bypass-permissions-mode-bypasspermissions) et même lorsqu'un hook a retourné `allow`.

28 28 

29Dans le SDK TypeScript, si vous définissez la `permission_policy` d'un [outil personnalisé](https://code.claude.com/docs/fr/agent-sdk/custom-tools.md#require-approval-for-specific-tools) sur [`always_deny`](https://code.claude.com/docs/fr/agent-sdk/typescript#mcpservertoolpolicy), un appel à cet outil est refusé à cette étape.29Dans le SDK TypeScript, si vous définissez la `permission_policy` d'un [outil personnalisé](https://code.claude.com/docs/fr/agent-sdk/custom-tools.md#require-approval-for-specific-tools) sur [`always_deny`](https://code.claude.com/docs/fr/agent-sdk/typescript#mcpservertoolpolicy), un appel à cet outil est refusé à cette étape.

30 30 


32 32 

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

34 34 

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

36 36 

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

38 38 


42 42 

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

44 44 

45* En mode `bypassPermissions`, Claude Code approuve tout ce qui atteint cette étape sauf les [suppressions de chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#critical-paths) reconnues et les commandes Bash signalées [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/fr/permission-modes#dangerous-rm-operation-not-ruled-out), qui passent à la place.45* En mode `bypassPermissions`, Claude Code approuve chaque appel qui atteint cette étape, sauf s'il s'agit de l'une des [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves). Pour savoir lesquelles de ces actions sont transmises à votre callback `canUseTool`, consultez [Mode Bypass permissions](#bypass-permissions-mode-bypasspermissions).

46 * Pour exécuter ces suppressions sans demande de permission, consultez [Désactiver la demande de permission pour les suppressions de chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode).

47* En mode `acceptEdits`, Claude Code approuve les opérations de fichier listées sous [Mode Accept edits](#accept-edits-mode-acceptedits).46* En mode `acceptEdits`, Claude Code approuve les opérations de fichier listées sous [Mode Accept edits](#accept-edits-mode-acceptedits).

48* En mode `plan`, Claude Code envoie les outils de modification de fichier à votre callback `canUseTool` indépendamment des règles allow.47* En mode `plan`, certains appels atteignent votre callback et, lorsque le mode auto est disponible, d'autres sont envoyés à son classifieur à la place. Pour plus d'informations, consultez [Mode plan](#plan-mode-plan).

49* Dans les autres modes, la demande passe.48* En mode `default` et `dontAsk`, l'appel passe aux règles allow.

49* Pour le mode `auto`, consultez [Mode auto](#auto-mode-auto).

50 50 

51**5. Règles d'autorisation**51**5. Règles d'autorisation**

52 52 


91 91 

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

93 93 

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

95 

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

97 

98> [!WARNING]94> [!WARNING]

99>95>

100> **Les outils approuvés automatiquement n'atteignent jamais `canUseTool`.** Un appel d'outil approuvé à n'importe quelle étape antérieure, par `acceptEdits` ou `bypassPermissions`, ou par une règle d'autorisation, ignore votre rappel `canUseTool`, donc les vérifications de permission que vous y mettez sont silencieusement contournées pour cet outil.96> **Les outils approuvés automatiquement n'atteignent jamais `canUseTool`.** Un appel d'outil approuvé à n'importe quelle étape antérieure, par `acceptEdits` ou `bypassPermissions`, ou par une règle d'autorisation, ignore votre rappel `canUseTool`, donc les vérifications de permission que vous y mettez sont silencieusement contournées pour cet outil.


105>101>

106> * Les outils personnalisés que votre application marque [`always_ask`](https://code.claude.com/docs/fr/agent-sdk/custom-tools#require-approval-for-specific-tools) : décidez de l'appel dans le rappel. Pour que ces appels cessent d'arriver, [modifiez la politique en cours de session](https://code.claude.com/docs/fr/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance). En mode `auto`, `plan` et `bypassPermissions`, l'appel peut à la place être approuvé avant le rappel, dans les cas listés sous [Modes de permission pouvant approuver un appel `always_ask`](https://code.claude.com/docs/fr/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)102> * Les outils personnalisés que votre application marque [`always_ask`](https://code.claude.com/docs/fr/agent-sdk/custom-tools#require-approval-for-specific-tools) : décidez de l'appel dans le rappel. Pour que ces appels cessent d'arriver, [modifiez la politique en cours de session](https://code.claude.com/docs/fr/agent-sdk/typescript.md#mcpsdkserverconfigwithinstance). En mode `auto`, `plan` et `bypassPermissions`, l'appel peut à la place être approuvé avant le rappel, dans les cas listés sous [Modes de permission pouvant approuver un appel `always_ask`](https://code.claude.com/docs/fr/agent-sdk/typescript#permission-modes-that-can-approve-an-always_ask-call)

107>103>

108> * Les [suppressions de chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#critical-paths) `rm` et `rmdir` reconnues : en mode `default`, `acceptEdits` et `bypassPermissions`, autorisez ou refusez la suppression dans le rappel, où [`decisionReason`](https://code.claude.com/docs/fr/agent-sdk/typescript#canusetool) commence par `Dangerous rm`. Pour les modes `auto` et `plan`, voir [Suppressions de chemins critiques dans chaque mode de permission](https://code.claude.com/docs/fr/permission-modes.md#critical-path-removals-in-each-permission-mode). La vérification qui reconnaît ces suppressions [peut manquer certaines commandes](https://code.claude.com/docs/fr/permission-modes.md#critical-paths)104> * Les [suppressions de chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#critical-paths) `rm` et `rmdir` reconnues : en mode `default`, `acceptEdits` et `bypassPermissions`, autorisez ou refusez la suppression dans le rappel, où [`decisionReason`](https://code.claude.com/docs/fr/agent-sdk/typescript#canusetool) commence par `Dangerous rm`. Pour les modes `auto` et `plan`, voir [Suppressions de chemins critiques dans chaque mode de permission](https://code.claude.com/docs/fr/permission-modes.md#critical-path-removals-in-each-permission-mode)

109>105>

110> * **Nom nu** : une entrée comme `Read` ou `mcp__github__get_issue` approuve automatiquement chaque appel à cet outil, en dehors des [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves) et des [lectures depuis des chemins réseau](https://code.claude.com/docs/fr/permissions.md#network-paths).106> * **Nom nu** : une entrée comme `Read` ou `mcp__github__get_issue` approuve automatiquement chaque appel à cet outil, en dehors des [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves) et des [lectures depuis des chemins réseau](https://code.claude.com/docs/fr/permissions.md#network-paths).

111>107>

112> * **Règle délimitée** : une entrée comme `Bash(npm test *)` approuve automatiquement uniquement les appels correspondants, et les autres appels `Bash` qui nécessitent une approbation tombent toujours dans le rappel.108> * **Règle délimitée** : une entrée comme `Bash(npm test *)` approuve automatiquement les appels qui y correspondent, et les autres appels `Bash` qui nécessitent une approbation tombent dans le mode de permission.

113>109>

114> Pour les vérifications qui doivent s'exécuter sur chaque appel d'outil, utilisez un [hook `PreToolUse`](https://code.claude.com/docs/fr/agent-sdk/hooks) : les hooks s'exécutent avant chaque autre étape, et un refus de hook s'applique même en mode `bypassPermissions`.110> Pour vérifier les appels qu'une règle d'autorisation, `acceptEdits` ou `bypassPermissions` approuve, utilisez un [hook `PreToolUse`](https://code.claude.com/docs/fr/agent-sdk/hooks), qui s'exécute également pour ces appels. Un refus de hook s'applique même en mode `bypassPermissions`.

115 111 

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

117 113 


128 124 

129> [!WARNING]125> [!WARNING]

130>126>

131> **`allowed_tools` ne contraint pas `bypassPermissions`.** `allowed_tools` pré-approuve les outils que vous listez. Les autres outils non listés ne sont pas mis en correspondance par aucune règle d'autorisation et tombent dans le mode de permission, où `bypassPermissions` les approuve. Définir `allowed_tools=["Read"]` aux côtés de `permission_mode="bypassPermissions"` approuve toujours chaque outil, y compris `Bash`, `Write`, et `Edit`. Si vous avez besoin de `bypassPermissions` mais que vous voulez que des outils spécifiques soient bloqués, utilisez `disallowed_tools`.127> **`allowed_tools` ne contraint pas `bypassPermissions`.** `allowed_tools` pré-approuve les outils que vous listez. En mode `bypassPermissions`, Claude Code approuve un appel à un outil non listé, sauf s'il fait partie des [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves).

128>

129> Si vous définissez `allowed_tools=["Read"]` avec `permission_mode="bypassPermissions"`, Claude Code approuve toujours les appels à des outils tels que `Bash`, `Write` et `Edit`. Si vous avez besoin de `bypassPermissions` mais que vous voulez que des outils spécifiques soient bloqués, utilisez `disallowed_tools`. Pour les appels qui atteignent toujours votre rappel `canUseTool` dans ce mode, voir [Mode de contournement des permissions](#bypass-permissions-mode-bypasspermissions).

132 130 

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

134 132 

133Pour savoir quand les règles d'autorisation du fichier `.claude/settings.json` d'un projet s'appliquent, voir [Règles d'autorisation de projet et confiance de l'espace de travail](https://code.claude.com/docs/fr/permissions.md#project-allow-rules-and-workspace-trust).

134 

135### Motifs de chemin dans les règles

136 

137Les 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` ; écrivez donc une règle de chemin pour n'importe lequel d'entre eux sous la forme `Edit(path)`. Si vous écrivez une règle de chemin sous la forme `Write(path)` ou `NotebookEdit(path)`, elle [ne correspond à aucun appel](https://code.claude.com/docs/fr/permissions.md#path-rules-that-never-match) et n'a aucun effet.

138 

139Dans `allowed_tools` et `disallowed_tools`, commencez un motif de chemin par `//` pour un chemin absolu, ou par une seule `/` pour un chemin à l'intérieur du répertoire de travail de la session :

140 

141* **`//path`** : avec une règle de refus `Edit(//secrets/**)`, Claude Code bloque les écritures sous `/secrets` sur le disque effectuées par les outils de fichiers de Claude et par les [commandes Bash telles que `tee` et la redirection `> file`](https://code.claude.com/docs/fr/permissions#what-read-and-edit-rules-cover). Un script que Claude exécute et qui ouvre lui-même des fichiers peut toujours écrire sous `/secrets`. Pour une application de ces restrictions par le système d'exploitation, voir [Configurer l'outil Bash en sandbox](https://code.claude.com/docs/fr/sandboxing.md).

142* **`/path`** : `Edit(/secrets/**)` correspond au répertoire `secrets` à l'intérieur du répertoire de travail.

143 

144Pour les autres façons de commencer un motif de chemin, voir [Règles Read et Edit](https://code.claude.com/docs/fr/permissions.md#read-and-edit).

145 

135## Modes de permission146## Modes de permission

136 147 

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


146| :- | :- | :- |157| :- | :- | :- |

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

148| `dontAsk` | Refuser au lieu de demander | Tout appel qui déclencherait autrement une demande est refusé sans appeler `canUseTool`, bien qu'un [mod](https://code.claude.com/docs/fr/plugins/mods/overview.md) que vous avez installé puisse encore approuver [certains de ces appels](https://code.claude.com/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods). Les appels approuvés par `allowed_tools` ou par les règles d'autorisation de `settings.json` s'exécutent, tout comme les appels qui ne nécessitent pas d'approbation en mode `default`. Certains appels, tels que les [lectures depuis des chemins réseau](https://code.claude.com/docs/fr/permissions.md#network-paths), sont refusés même lorsque `allowed_tools` ou une règle d'autorisation leur correspond. Pour la liste, consultez [Mode ne pas demander](#don’t-ask-mode-dontask) |159| `dontAsk` | Refuser au lieu de demander | Tout appel qui déclencherait autrement une demande est refusé sans appeler `canUseTool`, bien qu'un [mod](https://code.claude.com/docs/fr/plugins/mods/overview.md) que vous avez installé puisse encore approuver [certains de ces appels](https://code.claude.com/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods). Les appels approuvés par `allowed_tools` ou par les règles d'autorisation de `settings.json` s'exécutent, tout comme les appels qui ne nécessitent pas d'approbation en mode `default`. Certains appels, tels que les [lectures depuis des chemins réseau](https://code.claude.com/docs/fr/permissions.md#network-paths), sont refusés même lorsque `allowed_tools` ou une règle d'autorisation leur correspond. Pour la liste, consultez [Mode ne pas demander](#don’t-ask-mode-dontask) |

149| `acceptEdits` | Accepter automatiquement les modifications de fichiers | Les modifications de fichiers et les [opérations du système de fichiers](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, etc.) sont automatiquement approuvées |160| `acceptEdits` | Accepter automatiquement les modifications de fichiers | Les modifications de fichiers et les [opérations du système de fichiers](#accept-edits-mode-acceptedits) (`mkdir`, `rm`, `mv`, etc.) à l'intérieur de vos [répertoires de travail](https://code.claude.com/docs/fr/permissions.md#working-directories) sont automatiquement approuvées |

150| `bypassPermissions` | Contourner les vérifications de permission | Les outils s'exécutent sans demandes de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves) et, en dehors d'une [session cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md), les outils personnalisés que votre application [marque `always_ask`](https://code.claude.com/docs/fr/agent-sdk/custom-tools#require-approval-for-specific-tools). À utiliser avec prudence |161| `bypassPermissions` | Contourner les vérifications de permission | Les outils s'exécutent sans demandes de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves) et, en dehors d'une [session cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md), les outils personnalisés que votre application [marque `always_ask`](https://code.claude.com/docs/fr/agent-sdk/custom-tools#require-approval-for-specific-tools). À utiliser avec prudence |

151| `plan` | Mode de planification | Claude explore et planifie sans modifier vos fichiers source ; les modifications de fichiers ne sont jamais approuvées automatiquement et demandent via votre rappel `canUseTool` |162| `plan` | Mode de planification | Claude explore et planifie. Les modifications effectuées avec les outils de fichiers de Claude sont transmises à votre rappel `canUseTool`, même lorsqu'une règle d'autorisation leur correspond |

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

153 164 

154> [!WARNING]165> [!WARNING]


267 278 

268**Opérations approuvées automatiquement :**279**Opérations approuvées automatiquement :**

269 280 

270* Modifications de fichiers (outils Edit, Write)281* Modifications de fichiers avec les outils Edit, Write et NotebookEdit

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

272 283 

273Les deux s'appliquent uniquement aux chemins à l'intérieur du répertoire de travail ou de `additionalDirectories`. En mode `acceptEdits`, Claude Code n'approuve pas automatiquement la demande lorsque Claude :284Les deux s'appliquent aux chemins à l'intérieur du répertoire de travail ou d'un répertoire que vous ajoutez. En Python, ajoutez-en un avec `add_dirs`, et en TypeScript avec `additionalDirectories`. En mode `acceptEdits`, Claude Code n'approuve pas automatiquement la demande lorsque Claude :

274 285 

275* Travaille sur un chemin en dehors de cette portée286* Travaille sur un chemin en dehors de cette portée

276* Écrit dans un chemin protégé287* Écrit dans un [chemin protégé](https://code.claude.com/docs/fr/permission-modes.md#protected-paths)

277* Supprime avec `rm` ou `rmdir` un chemin que Claude Code reconnaît comme un [chemin critique](https://code.claude.com/docs/fr/permission-modes.md#critical-paths)288* Supprime avec `rm` ou `rmdir` un chemin que Claude Code reconnaît comme un [chemin critique](https://code.claude.com/docs/fr/permission-modes.md#critical-paths)

278* Exécute [`touch`](https://code.claude.com/docs/fr/permission-modes#auto-approve-file-edits-with-acceptedits-mode) avec, par exemple, une option, un glob, ou un préfixe `timeout 5` ou `LANG=C`289* Exécute [`touch`](https://code.claude.com/docs/fr/permission-modes#auto-approve-file-edits-with-acceptedits-mode) avec, par exemple, une option, un glob, ou un préfixe `timeout 5` ou `LANG=C`

279 290 


293 304 

294Si votre hook `PreToolUse` renvoie `allow` pour une suppression de chemin critique reconnue, une lecture depuis un chemin réseau ou un appel à un outil marqué `always_ask`, l'appel est tout de même refusé. La vérification qui reconnaît ces suppressions [peut manquer certaines commandes](https://code.claude.com/docs/fr/permission-modes.md#critical-paths).305Si votre hook `PreToolUse` renvoie `allow` pour une suppression de chemin critique reconnue, une lecture depuis un chemin réseau ou un appel à un outil marqué `always_ask`, l'appel est tout de même refusé. La vérification qui reconnaît ces suppressions [peut manquer certaines commandes](https://code.claude.com/docs/fr/permission-modes.md#critical-paths).

295 306 

296**À utiliser quand :** vous souhaitez une surface d'outils fixe et explicite pour un agent sans interface et préférez un refus catégorique à une dépendance silencieuse à l'absence de `canUseTool`.307**À utiliser quand :** vous exécutez un agent sans interface et souhaitez un refus catégorique pour chaque appel qui déclencherait autrement une demande.

297 308 

298#### Mode contournement des permissions (`bypassPermissions`)309#### Mode contournement des permissions (`bypassPermissions`)

299 310 


303>314>

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

305>316>

306> `allowed_tools` ne contraint pas ce mode. Chaque outil est approuvé, pas seulement ceux que vous avez énumérés. Ces contrôles s'appliquent toujours :317> `allowed_tools` ne contraint pas ce mode, et les appels aux outils que vous n'avez pas énumérés sont également approuvés. Ces contrôles s'appliquent toujours :

307>318>

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

309> * Les outils connecteur [que votre organisation a définis sur `ask`](https://code.claude.com/docs/fr/mcp#organization-controls-on-connector-tools), les outils qui nécessitent une interaction utilisateur et les [suppressions de chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#critical-paths) reconnues reviennent toujours à votre rappel `canUseTool`. La vérification qui reconnaît ces suppressions [peut manquer certaines commandes](https://code.claude.com/docs/fr/permission-modes.md#critical-paths), et vous pouvez [désactiver la demande de permission pour la suppression de chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). En dehors d'une [session cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md), les appels aux outils personnalisés que votre application [marque `always_ask`](https://code.claude.com/docs/fr/agent-sdk/custom-tools#require-approval-for-specific-tools) reviennent également au rappel.320> * Les outils connecteur [que votre organisation a définis sur `ask`](https://code.claude.com/docs/fr/mcp#organization-controls-on-connector-tools), les outils qui nécessitent une interaction utilisateur, les [suppressions de chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#critical-paths) reconnues et les commandes Bash signalées [`Dangerous rm operation not ruled out`](https://code.claude.com/docs/fr/permission-modes#dangerous-rm-operation-not-ruled-out) reviennent toujours à votre rappel `canUseTool`. La vérification qui reconnaît les suppressions de chemins critiques [peut manquer certaines commandes](https://code.claude.com/docs/fr/permission-modes.md#critical-paths), et vous pouvez [désactiver la demande de permission pour la suppression de chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode). En dehors d'une [session cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md), les appels aux outils personnalisés que votre application [marque `always_ask`](https://code.claude.com/docs/fr/agent-sdk/custom-tools#require-approval-for-specific-tools) reviennent également au rappel.

310> * Les [protections de messagerie inter-sessions](https://code.claude.com/docs/fr/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) s'appliquent toujours.321> * Les [protections de messagerie inter-sessions](https://code.claude.com/docs/fr/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) s'appliquent toujours.

311 322 

312#### Mode de planification (`plan`)323#### Mode de planification (`plan`)

313 324 

314Claude explore la base de code et produit un plan sans modifier vos fichiers source. Les modifications de fichiers ne sont jamais approuvées automatiquement en mode plan, même lorsqu'une règle d'autorisation correspond ou qu'un hook `PreToolUse` renvoie `allow`. Elles demandent via votre rappel `canUseTool` à la place.325Claude explore la base de code et produit un plan. Pendant la planification, les modifications effectuées avec les outils de fichiers de Claude en dehors des [chemins protégés](https://code.claude.com/docs/fr/permission-modes.md#protected-paths) atteignent votre rappel `canUseTool`, même lorsqu'une règle d'autorisation correspond ou qu'un hook `PreToolUse` renvoie `allow`. Les appels à [`AskUserQuestion`](https://code.claude.com/docs/fr/agent-sdk/user-input#handle-clarifying-questions) atteignent également votre rappel, même lorsqu'une règle d'autorisation nomme l'outil.

326 

327Lorsque le [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) est disponible, Claude Code envoie ces appels effectués pendant la planification au [classifieur du mode auto](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode) pour examen au lieu de votre rappel, lorsqu'aucune règle d'autorisation ne les approuve :

328 

329* Commandes shell

330* Récupérations web

331* Recherches web

332* Appels aux outils MCP que leur serveur marque en lecture seule

333 

334Cet examen est activé par défaut. Pour le désactiver, définissez [`useAutoModeDuringPlan`](https://code.claude.com/docs/fr/settings-reference#useautomodeduringplan) sur `false` dans l'option `settings` que vous passez à `query()`, ou dans vos paramètres utilisateur. Tant que l'examen est désactivé, les recherches web et les appels aux outils MCP marqués en lecture seule atteignent votre rappel.

315 335 

316Tant que le mode auto est disponible pour la session, les commandes que Claude exécute pendant la planification n'atteignent pas votre rappel par défaut, car le modèle classifieur qu'utilise le [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) [les examine à la place](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode). Lorsque cet examen est activé, le classifieur peut également approuver des appels en lecture seule qui atteindraient autrement votre rappel, comme un appel `WebFetch` sans règle d'autorisation.336Pour les commandes shell et les récupérations web, le tableau indique si chaque appel atteint votre rappel :

337 

338| Appel pendant la planification | Examen activé | Examen désactivé, ou mode auto non disponible |

339| :- | :- | :- |

340| Une commande shell en [lecture seule](https://code.claude.com/docs/fr/permissions.md#read-only-commands), telle que `ls` | S'exécute sans atteindre votre rappel | S'exécute sans atteindre votre rappel |

341| Toute autre commande shell qu'aucune règle d'autorisation n'approuve, à l'exception d'une [suppression de chemin critique](https://code.claude.com/docs/fr/permission-modes.md#critical-paths) | Est transmise au classifieur, qui l'approuve ou la refuse sans votre rappel | Atteint votre rappel |

342| Un appel `WebFetch` vers un [domaine de documentation pré-approuvé](https://code.claude.com/docs/fr/tools-reference.md#webfetch-tool-behavior) | S'exécute sans atteindre votre rappel | S'exécute sans atteindre votre rappel |

343| Tout autre appel `WebFetch` qu'aucune règle d'autorisation n'approuve | Est transmis au classifieur, qui l'approuve ou le refuse sans votre rappel | Atteint votre rappel |

344 

345Pour savoir ce qui se passe après que le classifieur a refusé plusieurs appels d'affilée, consultez [Seuils de blocages répétés](https://code.claude.com/docs/fr/permission-modes.md#repeated-block-thresholds).

317 346 

318> [!NOTE]347> [!NOTE]

319>348>

320> Dans le SDK TypeScript, si vous définissez `allowDangerouslySkipPermissions: true` aux côtés de `permissionMode: 'plan'`, les modifications de fichiers atteignent toujours votre rappel `canUseTool`. Pour faire passer plus tard une session qui démarre en mode plan à `bypassPermissions` avec `setPermissionMode()`, vous devez définir `allowDangerouslySkipPermissions` dès le départ.349> Dans le SDK TypeScript, si vous définissez `allowDangerouslySkipPermissions: true` aux côtés de `permissionMode: 'plan'`, les modifications de fichiers atteignent toujours votre rappel `canUseTool`. Pour faire passer plus tard une session qui démarre en mode plan à `bypassPermissions` avec `setPermissionMode()`, vous devez définir `allowDangerouslySkipPermissions` dès le départ.

321 350 

322Claude peut utiliser `AskUserQuestion` pour clarifier les exigences avant de finaliser le plan. Voir [Gérer les approbations et les entrées utilisateur](https://code.claude.com/docs/fr/agent-sdk/user-input.md#handle-clarifying-questions) pour gérer ces invites.351**À utiliser quand :** vous souhaitez que Claude produise d'abord un plan, par exemple lors d'une revue de code ou avant une modification importante.

323 

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

325 352 

326#### Mode auto (`auto`)353#### Mode auto (`auto`)

327 354 

Details

1175PermissionMode = Literal[1175PermissionMode = Literal[

1176 "default", # Comportement de permission standard1176 "default", # Comportement de permission standard

1177 "acceptEdits", # Auto-accepter les modifications de fichiers1177 "acceptEdits", # Auto-accepter les modifications de fichiers

1178 "plan", # Mode planification - explorer sans éditer1178 "plan", # Mode planification - Claude explore et planifie

1179 "dontAsk", # Refuser tout ce qui n'est pas pré-approuvé au lieu de demander1179 "dontAsk", # Refuser tout ce qui n'est pas pré-approuvé au lieu de demander

1180 "bypassPermissions", # Contourner les vérifications de permission ; les règles d'ask explicites demandent toujours (utiliser avec prudence)1180 "bypassPermissions", # Contourner les vérifications de permission ; les règles d'ask explicites demandent toujours (utiliser avec prudence)

1181 "auto", # Un classifieur de modèle examine les actions telles que les commandes shell et les requêtes réseau1181 "auto", # Un classifieur de modèle examine les actions telles que les commandes shell et les requêtes réseau


1214 1214 

1215Retourne un `PermissionResult` (soit `PermissionResultAllow` soit `PermissionResultDeny`).1215Retourne un `PermissionResult` (soit `PermissionResultAllow` soit `PermissionResultDeny`).

1216 1216 

1217Le rappel est le remplacement SDK de la demande de permission interactive : il est invoqué uniquement quand le [flux d'évaluation des permissions](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) aboutit à une demande de permission. Les appels d'outils déjà approuvés par une entrée `allowed_tools`, une règle d'autorisation des paramètres, ou le mode de permission, tel que `acceptEdits` ou `bypassPermissions`, ne l'invoquent jamais. Pour contrôler chaque appel d'outil, utilisez plutôt un [hook `PreToolUse`](https://code.claude.com/docs/fr/agent-sdk/hooks).1217Le rappel remplace la demande de permission interactive. Le SDK appelle `can_use_tool` quand le [flux d'évaluation des permissions](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) aboutit à une demande de permission. Les appels approuvés de l'une des manières suivantes s'exécutent sans appeler `can_use_tool` :

1218 

1219* Un appel qu'une entrée `allowed_tools` ou une règle d'autorisation des paramètres approuve

1220* Un appel que le mode de permission approuve, tel qu'une modification de fichier en mode `acceptEdits`

1221 

1222Pour contrôler ces appels, utilisez un [hook `PreToolUse`](https://code.claude.com/docs/fr/agent-sdk/hooks), qui s'exécute également pour eux.

1218 1223 

1219Une règle d'autorisation ne pré-approuve pas les [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves) ; voir [Comment les permissions sont évaluées](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) pour savoir lesquelles d'entre elles atteignent le rappel et ce qui se passe en mode `dontAsk` et `auto`.1224Une règle d'autorisation ne pré-approuve pas les [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves) ; voir [Comment les permissions sont évaluées](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) pour savoir lesquelles d'entre elles atteignent le rappel et ce qui se passe en mode `dontAsk` et `auto`.

1220 1225 


3659 3664 

3660> [!NOTE]3665> [!NOTE]

3661>3666>

3662> Le proxy intégré du sandbox applique la liste d'autorisation réseau en fonction du nom d'hôte demandé et ne termine ni n'inspecte le trafic TLS ; des techniques telles que le [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) peuvent donc potentiellement le contourner. Consultez [Limites de sécurité du sandboxing](https://code.claude.com/docs/fr/sandboxing.md#security-limitations) pour plus de détails et [Déploiement sécurisé](https://code.claude.com/docs/fr/agent-sdk/secure-deployment.md#traffic-forwarding) pour configurer un proxy qui termine le TLS.3667> Le proxy intégré du sandbox applique la liste d'autorisation réseau en fonction du nom d'hôte demandé. Par défaut, le proxy ne termine ni n'inspecte le trafic TLS ; des techniques telles que le [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) peuvent donc potentiellement contourner la liste d'autorisation. Consultez [Limites de sécurité du sandboxing](https://code.claude.com/docs/fr/sandboxing.md#security-limitations) pour plus de détails et [Déploiement sécurisé](https://code.claude.com/docs/fr/agent-sdk/secure-deployment.md#traffic-forwarding) pour configurer un proxy qui termine le TLS.

3663 3668 

3664### `SandboxIgnoreViolations`3669### `SandboxIgnoreViolations`

3665 3670 

Details

22 22 

23Claude Code inclut plusieurs fonctionnalités de sécurité qui répondent aux préoccupations courantes. Consultez la [documentation de sécurité](https://code.claude.com/docs/fr/security.md) pour plus de détails.23Claude Code inclut plusieurs fonctionnalités de sécurité qui répondent aux préoccupations courantes. Consultez la [documentation de sécurité](https://code.claude.com/docs/fr/security.md) pour plus de détails.

24 24 

25* **Système de permissions** : Chaque outil et commande bash peut être configuré pour autoriser, bloquer ou demander l'approbation de l'utilisateur. Utilisez des motifs glob pour créer des règles comme « autoriser toutes les commandes npm » ou « bloquer toute commande avec sudo ». Les organisations peuvent définir des politiques qui s'appliquent à tous les utilisateurs. Consultez [permissions](https://code.claude.com/docs/fr/permissions.md).25* **Système de permissions** : Les règles de permission déterminent si un appel d'outil s'exécute, est bloqué ou demande d'abord une approbation. Pour les formes qu'une règle Bash ne couvre pas et la façon dont les règles se combinent avec les modes de permission, consultez [Ce qu'une règle Bash ne couvre pas](https://code.claude.com/docs/fr/permissions.md#bash-rule-limits) et [Configurer les permissions](https://code.claude.com/docs/fr/agent-sdk/permissions.md). Les administrateurs peuvent également définir des règles dans les [paramètres gérés](https://code.claude.com/docs/fr/permissions.md#managed-settings).

26* **Analyse des commandes pour les permissions** : Avant d'exécuter les commandes bash, Claude Code les analyse dans un AST et compare le résultat à vos règles de permission. Les commandes qui ne peuvent pas être analysées correctement, ou qui ne correspondent pas à une règle d'autorisation, nécessitent une approbation explicite. Un petit ensemble de constructions telles que `eval` nécessitent toujours une approbation indépendamment des règles d'autorisation. C'est une porte de permission, pas un sandbox ; en dehors des vérifications de sécurité intégrées telles que la [vérification des chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#critical-paths) sur `rm` et `rmdir` et la liste des [chemins protégés](https://code.claude.com/docs/fr/permission-modes.md#protected-paths), elle ne déduit pas si une commande est dangereuse à partir de son chemin cible ou de ses effets.26* **Suppressions de chemins critiques** : Lorsque le mode de permission est défini sur `default`, une commande `rm` ou `rmdir` reconnue comme supprimant votre répertoire de travail ou un autre [chemin critique](https://code.claude.com/docs/fr/permission-modes.md#critical-paths) nécessite une approbation. Une règle d'autorisation correspondante ne permet pas d'ignorer cette approbation. Il s'agit d'une porte de permission, pas d'un sandbox. Pour contrôler ce que l'agent peut écrire, utilisez les [contrôles du système de fichiers](#filesystem-configuration).

27* **Résumé de la recherche web** : Les résultats de recherche sont résumés plutôt que de transmettre le contenu brut directement dans le contexte, réduisant le risque d'injection de prompt à partir de contenu web malveillant.27* **Résumé de la recherche web** : Les résultats de recherche sont résumés plutôt que de transmettre le contenu brut directement dans le contexte, réduisant le risque d'injection de prompt à partir de contenu web malveillant.

28* **Mode sandbox** : Les commandes bash peuvent s'exécuter dans un environnement sandboxé qui restreint l'accès au système de fichiers et au réseau. Consultez la [documentation du sandboxing](https://code.claude.com/docs/fr/sandboxing.md) pour plus de détails.28* **Mode sandbox** : Les commandes bash peuvent s'exécuter dans un environnement sandboxé qui restreint l'accès au système de fichiers et au réseau. Consultez la [documentation du sandboxing](https://code.claude.com/docs/fr/sandboxing.md) pour plus de détails.

29 29 


83**Comment cela fonctionne :**83**Comment cela fonctionne :**

84 84 

85* **Système de fichiers** : Utilise les primitives du système d'exploitation (`bubblewrap` sur Linux, `sandbox-exec` sur macOS) pour restreindre l'accès en lecture/écriture aux chemins configurés85* **Système de fichiers** : Utilise les primitives du système d'exploitation (`bubblewrap` sur Linux, `sandbox-exec` sur macOS) pour restreindre l'accès en lecture/écriture aux chemins configurés

86* **Réseau** : Supprime l'espace de noms réseau (Linux) ou utilise les profils Seatbelt (macOS) pour acheminer le trafic réseau via un proxy intégré86* **Réseau** : Exécute les commandes dans leur propre espace de noms réseau (Linux) ou sous un profil Seatbelt (macOS) et achemine leur trafic via un proxy intégré qui autorise les domaines configurés. Une connexion vers un hôte externe qui contourne le proxy échoue.

87* **Configuration** : Listes blanches basées sur JSON pour les domaines et les chemins du système de fichiers87* **Configuration** : Listes blanches basées sur JSON pour les domaines et les chemins du système de fichiers

88 88 

89**Configuration :**89**Configuration :**

90 90 

91```bash theme={null}91Pour les étapes d'installation, de configuration et de lancement, consultez [Configurer et lancer le runtime](https://code.claude.com/docs/fr/sandbox-environments.md#set-up-and-launch-the-runtime).

92npm install @anthropic-ai/sandbox-runtime

93```

94 

95Créez ensuite un fichier de configuration spécifiant les chemins et domaines autorisés.

96 92 

97**Considérations de sécurité :**93**Considérations de sécurité :**

98 94 

991. **Noyau sur le même hôte** : Contrairement aux VMs, les processus sandboxés partagent le noyau de l'hôte. Une vulnérabilité du noyau pourrait théoriquement permettre une évasion. Pour certains modèles de menace, c'est acceptable, mais si vous avez besoin d'une isolation au niveau du noyau, utilisez gVisor ou une VM séparée.951. **Noyau sur le même hôte** : Contrairement aux VMs, les processus sandboxés partagent le noyau de l'hôte. Une vulnérabilité du noyau pourrait théoriquement permettre une évasion. Pour certains modèles de menace, c'est acceptable, mais si vous avez besoin d'une isolation au niveau du noyau, utilisez gVisor ou une VM séparée.

100 96 

1012. **Pas d'inspection TLS** : Le proxy crée une liste blanche des domaines en fonction du nom d'hôte fourni par le client et ne termine pas ou n'inspecte pas le trafic chiffré. Le code s'exécutant à l'intérieur du sandbox peut potentiellement utiliser le [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) ou des techniques similaires pour atteindre les hôtes en dehors de la liste blanche. Si votre modèle de menace nécessite des garanties plus fortes, configurez un [proxy qui termine TLS](#traffic-forwarding). Consultez les [limitations de sécurité du sandboxing](https://code.claude.com/docs/fr/sandboxing.md#security-limitations) pour plus de détails. Séparément, si l'agent dispose d'identifiants permissifs pour un domaine autorisé, assurez-vous qu'il ne peut pas utiliser ce domaine pour déclencher d'autres demandes réseau ou pour exfiltrer des données.972. **Pas d'inspection TLS** : Par défaut, le proxy ajoute les domaines à la liste d'autorisation en fonction du nom d'hôte fourni par le client et ne termine pas ou n'inspecte pas le trafic chiffré. Le code s'exécutant à l'intérieur du sandbox peut potentiellement utiliser le [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) ou des techniques similaires pour atteindre des hôtes en dehors de la liste d'autorisation. Si votre modèle de menace nécessite des garanties plus fortes, utilisez un proxy qui termine TLS et inspecte le trafic, comme le décrit [Transfert du trafic](#traffic-forwarding). Pour plus d'informations, consultez les [limitations de sécurité du sandboxing](https://code.claude.com/docs/fr/sandboxing.md#security-limitations).

98 

993. **Identifiants pour les domaines autorisés** : Si l'agent dispose d'identifiants permissifs pour un domaine autorisé, assurez-vous qu'il ne peut pas utiliser ce domaine pour déclencher d'autres requêtes réseau ou pour exfiltrer des données.

102 100 

103Pour de nombreux cas d'utilisation de développeur unique et CI/CD, sandbox-runtime élève considérablement la barre avec une configuration minimale. Les sections ci-dessous couvrent les conteneurs et les VMs pour les déploiements nécessitant une isolation plus forte.101Pour de nombreux cas d'utilisation de développeur unique et CI/CD, sandbox-runtime élève considérablement la barre avec une configuration minimale. Les sections ci-dessous couvrent les conteneurs et les VMs pour les déploiements nécessitant une isolation plus forte.

104 102 


135| `--security-opt seccomp=...` | Restreint les appels système disponibles ; la valeur par défaut de Docker en bloque \~44, les profils personnalisés peuvent en bloquer davantage |133| `--security-opt seccomp=...` | Restreint les appels système disponibles ; la valeur par défaut de Docker en bloque \~44, les profils personnalisés peuvent en bloquer davantage |

136| `--read-only` | Rend le système de fichiers racine du conteneur immuable, empêchant l'agent de persister les modifications |134| `--read-only` | Rend le système de fichiers racine du conteneur immuable, empêchant l'agent de persister les modifications |

137| `--tmpfs /tmp:...` | Fournit un répertoire temporaire inscriptible qui est effacé lorsque le conteneur s'arrête |135| `--tmpfs /tmp:...` | Fournit un répertoire temporaire inscriptible qui est effacé lorsque le conteneur s'arrête |

138| `--network none` | Supprime toutes les interfaces réseau ; l'agent communique via la prise Unix montée ci-dessous |136| `--network none` | Coupe le conteneur des réseaux externes |

139| `--memory 2g` | Limite l'utilisation de la mémoire pour prévenir l'épuisement des ressources |137| `--memory 2g` | Limite l'utilisation de la mémoire pour prévenir l'épuisement des ressources |

140| `--pids-limit 100` | Limite le nombre de processus pour prévenir les fork bombs |138| `--pids-limit 100` | Limite le nombre de processus pour prévenir les fork bombs |

141| `--user 1000:1000` | S'exécute en tant qu'utilisateur non-root |139| `--user 1000:1000` | S'exécute en tant qu'utilisateur non-root |


144 142 

145**Architecture de prise Unix :**143**Architecture de prise Unix :**

146 144 

147Avec `--network none`, le conteneur n'a aucune interface réseau. La seule façon pour l'agent d'atteindre le monde extérieur est via la prise Unix montée, qui se connecte à un proxy s'exécutant sur l'hôte. Ce proxy peut appliquer les listes blanches de domaines, injecter les identifiants et enregistrer tout le trafic.145Avec `--network none`, une résolution DNS ou une connexion directe vers un autre hôte échoue à l'intérieur du conteneur. Pour permettre au code du conteneur d'atteindre d'autres hôtes, exécutez un proxy sur l'hôte et montez sa socket Unix dans le conteneur. Si vous faites pointer `ANTHROPIC_BASE_URL` ou `HTTP_PROXY` vers un port sur `localhost`, comme le montre [Configurer Claude Code pour utiliser un proxy](#configuring-claude-code-to-use-a-proxy), relayez ce port vers la socket à l'intérieur du conteneur.

148 146 

149C'est la même architecture utilisée par [sandbox-runtime](https://github.com/anthropics/sandbox-runtime). Même si l'agent est compromis via une injection de prompt, il ne peut pas exfiltrer les données vers des serveurs arbitraires. Il ne peut communiquer que via le proxy, qui contrôle les domaines accessibles. Pour plus de détails, consultez le [billet de blog sur le sandboxing de Claude Code](https://www.anthropic.com/engineering/claude-code-sandboxing).147Vous pouvez configurer ce proxy pour appliquer des listes d'autorisation de domaines, injecter des identifiants et journaliser tout le trafic.

148 

149> [!WARNING]

150>

151> Dans la limite de la liste d'autorisation de votre proxy, l'agent peut envoyer des données vers n'importe quel domaine autorisé. N'autorisez que les domaines dont l'agent a besoin.

150 152 

151**Options de renforcement supplémentaires :**153**Options de renforcement supplémentaires :**

152 154 

Details

1340 | "default" // Standard permission behavior1340 | "default" // Standard permission behavior

1341 | "acceptEdits" // Auto-accept file edits1341 | "acceptEdits" // Auto-accept file edits

1342 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt1342 | "bypassPermissions" // Bypass permission checks; explicit ask rules still prompt

1343 | "plan" // Planning mode - explore without editing1343 | "plan" // Planning mode - Claude explores and plans

1344 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved1344 | "dontAsk" // Don't prompt for permissions, deny if not pre-approved

1345 | "auto"; // A model classifier reviews actions such as shell commands and network requests1345 | "auto"; // A model classifier reviews actions such as shell commands and network requests

1346```1346```


1349 1349 

1350Type de fonction de permission personnalisée pour contrôler l'utilisation des outils.1350Type de fonction de permission personnalisée pour contrôler l'utilisation des outils.

1351 1351 

1352Cette fonction est le remplaçant, dans le SDK, de la demande de permission interactive : elle n'est invoquée que lorsque le [flux d'évaluation des permissions](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) aboutit à une demande. Les appels d'outils déjà approuvés par une entrée `allowedTools`, une règle allow des paramètres ou le mode de permission, comme `acceptEdits` ou `bypassPermissions`, ne l'invoquent jamais. Pour contrôler chaque appel d'outil, utilisez plutôt un [hook `PreToolUse`](https://code.claude.com/docs/fr/agent-sdk/hooks).1352La fonction remplace la demande de permission interactive. Le SDK appelle `canUseTool` lorsque le [flux d'évaluation des permissions](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) aboutit à une demande. Les appels approuvés de l'une de ces manières s'exécutent sans appeler `canUseTool` :

1353 

1354* Un appel approuvé par une entrée `allowedTools` ou une règle allow des paramètres

1355* Un appel approuvé par le mode de permission, tel qu'une modification de fichier en mode `acceptEdits`

1356 

1357Pour contrôler ces appels, utilisez un [hook `PreToolUse`](https://code.claude.com/docs/fr/agent-sdk/hooks), qui s'exécute également pour eux.

1353 1358 

1354Une règle allow ne pré-approuve pas les [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves) ; consultez [Comment les permissions sont évaluées](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) pour savoir lesquelles atteignent le callback et ce qui se passe en mode `dontAsk` et `auto`.1359Une règle allow ne pré-approuve pas les [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves) ; consultez [Comment les permissions sont évaluées](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) pour savoir lesquelles atteignent le callback et ce qui se passe en mode `dontAsk` et `auto`.

1355 1360 


2006* Une reprise que Claude Code arrête parce qu'il [ne peut pas ramener la session dans son worktree](https://code.claude.com/docs/fr/worktrees.md#the-session-resumes-outside-its-worktree), avec `worktree_unverified` ou `worktree_resume_refused`. Cette section indique quelle erreur porte quelle valeur.2011* Une reprise que Claude Code arrête parce qu'il [ne peut pas ramener la session dans son worktree](https://code.claude.com/docs/fr/worktrees.md#the-session-resumes-outside-its-worktree), avec `worktree_unverified` ou `worktree_resume_refused`. Cette section indique quelle erreur porte quelle valeur.

2007* Un [`continue`](#options) refusé d'une conversation détenue par une session en arrière-plan, avec `session_held_by_background`. Pour un [`resume`](#options) refusé d'une telle conversation, Claude Code écrit le résultat uniquement quand la variable est définie.2012* Un [`continue`](#options) refusé d'une conversation détenue par une session en arrière-plan, avec `session_held_by_background`. Pour un [`resume`](#options) refusé d'une telle conversation, Claude Code écrit le résultat uniquement quand la variable est définie.

2008* Un démarrage que Claude Code refuse parce que [`failIfUnavailable`](#sandboxsettings) est activé et que le sandbox ne peut pas démarrer, avec `sandbox_required_unavailable`.2013* Un démarrage que Claude Code refuse parce que [`failIfUnavailable`](#sandboxsettings) est activé et que le sandbox ne peut pas démarrer, avec `sandbox_required_unavailable`.

2014* Un démarrage que Claude Code refuse parce que `~/.claude.json` n'est pas un JSON valide, avec `config_file_invalid`.

2009 2015 

2010Le type `SDKStartupFailureReason` liste les valeurs que `startup_failure_reason` peut prendre :2016Le type `SDKStartupFailureReason` liste les valeurs que `startup_failure_reason` peut prendre :

2011 2017 


2030 | "bypass_root"2036 | "bypass_root"

2031 | "org_config_required_unavailable"2037 | "org_config_required_unavailable"

2032 | "org_config_refused"2038 | "org_config_refused"

2033 | "sandbox_required_unavailable";2039 | "sandbox_required_unavailable"

2040 | "config_file_invalid";

2034```2041```

2035 2042 

2036Chaque valeur nomme un refus :2043Chaque valeur nomme un refus :


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

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

2059| `sandbox_required_unavailable` | [`failIfUnavailable`](#sandboxsettings) est activé et le sandbox ne peut pas démarrer. Le texte de `errors` se termine par `Set sandbox.failIfUnavailable=false to allow unsandboxed execution.` Nécessite Agent SDK v0.3.314 ou ultérieur |2066| `sandbox_required_unavailable` | [`failIfUnavailable`](#sandboxsettings) est activé et le sandbox ne peut pas démarrer. Le texte de `errors` se termine par `Set sandbox.failIfUnavailable=false to allow unsandboxed execution.` Nécessite Agent SDK v0.3.314 ou ultérieur |

2067| `config_file_invalid` | `~/.claude.json` n'est pas un JSON valide. Claude Code laisse le fichier inchangé, de sorte qu'une nouvelle tentative échoue de la même façon tant que personne ne l'a réparé. `errors` nomme le fichier et indique comment le restaurer ou le réparer. Consultez [Configuration error in \~/.claude.json](https://code.claude.com/docs/fr/errors.md#configuration-error-in-claude-json). Nécessite TypeScript Agent SDK v0.3.318 ou ultérieur et Claude Code v2.1.318 ou ultérieur |

2060 2068 

2061### `SDKSystemMessage`2069### `SDKSystemMessage`

2062 2070 


6108 6116 

6109> [!NOTE]6117> [!NOTE]

6110>6118>

6111> Le proxy sandbox intégré applique `allowedDomains` en fonction du nom d'hôte demandé et ne termine ni n'inspecte le trafic TLS, donc des techniques telles que le [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) peuvent potentiellement le contourner. Voir [Limitations de sécurité du sandboxing](https://code.claude.com/docs/fr/sandboxing.md#security-limitations) pour les détails et [Déploiement sécurisé](https://code.claude.com/docs/fr/agent-sdk/secure-deployment.md#traffic-forwarding) pour configurer un proxy qui termine TLS.6119> Le proxy sandbox intégré applique `allowedDomains` en fonction du nom d'hôte demandé. Par défaut, le proxy ne termine ni n'inspecte le trafic TLS, donc des techniques telles que le [domain fronting](https://en.wikipedia.org/wiki/Domain_fronting) peuvent potentiellement contourner `allowedDomains`. Voir [Limitations de sécurité du sandboxing](https://code.claude.com/docs/fr/sandboxing.md#security-limitations) pour les détails et [Déploiement sécurisé](https://code.claude.com/docs/fr/agent-sdk/secure-deployment.md#traffic-forwarding) pour configurer un proxy qui termine TLS.

6112 6120 

6113### `SandboxFilesystemConfig`6121### `SandboxFilesystemConfig`

6114 6122 

Details

47Le callback se déclenche dans deux cas :47Le callback se déclenche dans deux cas :

48 48 

491. **L'outil a besoin d'approbation** : Claude veut utiliser un outil qui n'est pas auto-approuvé par une [règle de permission](https://code.claude.com/docs/fr/agent-sdk/permissions.md) ou un mode de permission. Vérifiez `tool_name` pour l'outil (par exemple, `"Bash"`, `"Write"`).491. **L'outil a besoin d'approbation** : Claude veut utiliser un outil qui n'est pas auto-approuvé par une [règle de permission](https://code.claude.com/docs/fr/agent-sdk/permissions.md) ou un mode de permission. Vérifiez `tool_name` pour l'outil (par exemple, `"Bash"`, `"Write"`).

502. **Claude pose une question** : Claude appelle l'outil `AskUserQuestion`. Vérifiez si `tool_name == "AskUserQuestion"` pour le gérer différemment. Si vous spécifiez un tableau `tools`, incluez `AskUserQuestion` pour que cela fonctionne. Voir [Gérer les questions de clarification](#handle-clarifying-questions) pour plus de détails.502. **Claude pose une question** : Claude appelle l'outil `AskUserQuestion`. Vérifiez si `tool_name == "AskUserQuestion"` pour le traiter différemment. Si vous spécifiez un tableau `tools`, incluez `AskUserQuestion` pour que cela fonctionne. Pour plus d'informations, consultez [Gérer les questions de clarification](#handle-clarifying-questions).

51 51 

52> [!WARNING]52> [!WARNING]

53>53>

54> **Le callback ne se déclenche jamais pour les outils auto-approuvés.** Toute approbation antérieure dans le [flux d'évaluation des permissions](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated), une règle d'autorisation ou un mode comme `acceptEdits` ou `bypassPermissions`, résout l'appel avant que `canUseTool` soit consulté. Si vous listez un outil seul dans `allowed_tools`, une vérification `canUseTool` pour cet outil s'exécute uniquement quand le [flux d'évaluation](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) redirige l'appel vers une invite, comme une règle d'ask ou le mode `plan`. Pour une logique qui doit s'appliquer à chaque appel d'outil, utilisez un [hook `PreToolUse`](https://code.claude.com/docs/fr/agent-sdk/hooks), qui s'exécute avant le reste du flux et peut autoriser, refuser ou modifier les demandes.54> **Une étape antérieure peut autoriser ou refuser un appel avant l'exécution de `canUseTool`.** Le [flux d'évaluation des permissions](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) vérifie les règles de refus, le mode de permission et les règles d'autorisation avant votre callback.

55>55>

56> Une règle d'autorisation n'approuve pas au préalable les [actions qu'aucun mode n'approuve automatiquement](https://code.claude.com/docs/fr/permission-modes.md#actions-no-mode-auto-approves) ; voir [Comment les permissions sont évaluées](https://code.claude.com/docs/fr/agent-sdk/permissions.md#how-permissions-are-evaluated) pour savoir lesquelles d'entre elles atteignent le callback et ce qui se passe en mode `dontAsk` et `auto`.56> Pour exécuter vos vérifications sur les appels qu'une règle ou le mode de permission a déjà autorisés, utilisez un [hook `PreToolUse`](https://code.claude.com/docs/fr/agent-sdk/hooks), qui s'exécute pour ces appels et peut les autoriser, les refuser ou les modifier.

57 57 

58Vous pouvez également utiliser le [hook `PermissionRequest`](https://code.claude.com/docs/fr/agent-sdk/hooks#available-hooks) pour envoyer des notifications externes (Slack, email, push) quand Claude attend une approbation.58Vous pouvez également utiliser le [hook `PermissionRequest`](https://code.claude.com/docs/fr/agent-sdk/hooks#available-hooks) pour envoyer des notifications externes (Slack, email, push) quand Claude attend une approbation.

59 59 

agent-view.md +2 −2

Details

1020 1020 

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

1022 1022 

1023Avec le programme d'installation natif, l'entrée apparaît comme Claude Code et l'octroi persiste lors des mises à jour. Avec d'autres méthodes d'installation telles que Homebrew ou npm, l'entrée affiche le chemin du binaire et peut avoir besoin d'être accordée à nouveau après la mise à jour.1023Dans l'une ou l'autre liste, recherchez une entrée nommée Claude Code, ou une entrée portant le chemin ou le nom de fichier du binaire `claude`. Ce nom de fichier peut être un numéro de version tel que `2.1.316`. Si `Operation not permitted` réapparaît après une mise à jour de Claude Code, recherchez une nouvelle entrée, par exemple une entrée portant le nom de la nouvelle version. Si elle existe, accordez-lui l'accès.

1024 1024 

1025### Les sessions en arrière-plan ne peuvent pas atteindre les hôtes du réseau local sur macOS1025### Les sessions en arrière-plan ne peuvent pas atteindre les hôtes du réseau local sur macOS

1026 1026 


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

1068| 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](https://code.claude.com/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](https://code.claude.com/docs/fr/scheduled-tasks.md#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. |1068| 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](https://code.claude.com/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](https://code.claude.com/docs/fr/scheduled-tasks.md#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. |

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

1070| 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. |1070| v2.1.295 | Sur macOS avec l'installateur natif, les sessions en arrière-plan qui redémarrent ensemble après une mise à jour exécutent leurs processus hôtes à partir du même dossier `~/.local/share/claude/ClaudeCode.app`. Avant cette version, ces processus pouvaient s'exécuter à la place à partir du chemin propre du binaire. macOS peut répertorier ce chemin comme une entrée distincte, donc les [demandes d'accès aux dossiers](#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos) pouvaient réapparaître après une mise à jour. |

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

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

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

Details

459export ANTHROPIC_BEDROCK_SERVICE_TIER=priority459export ANTHROPIC_BEDROCK_SERVICE_TIER=priority

460```460```

461 461 

462Claude Code envoie ceci comme en-tête `X-Amzn-Bedrock-Service-Tier` sur chaque demande. La disponibilité des niveaux varie selon le modèle et la région. La capacité réservée utilise un ARN de [débit provisionné](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) comme ID de modèle au lieu de ce paramètre.462Claude Code envoie ceci comme en-tête `X-Amzn-Bedrock-Service-Tier` sur chaque requête [Invoke API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) provenant d'une session qui dispose de la variable, à l'exception de ses [vérifications d'accès aux modèles](#startup-model-checks). Ce paramètre n'a aucun effet sur les requêtes adressées à l'[endpoint Mantle](#use-the-mantle-endpoint) ou passant par une [passerelle Claude apps](https://code.claude.com/docs/fr/claude-apps-gateway). La disponibilité des niveaux varie selon le modèle et la région. La capacité réservée utilise un ARN de [débit provisionné](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) comme ID de modèle au lieu de ce paramètre.

463 

464Pour couvrir les [sessions en arrière-plan](https://code.claude.com/docs/fr/agent-view.md#settings-and-provider) que vous démarrez depuis un terminal, définissez `ANTHROPIC_BEDROCK_SERVICE_TIER` dans le bloc [`env`](https://code.claude.com/docs/fr/settings-reference#env) de vos paramètres. Ces sessions ne reçoivent la valeur que vous exportez que si le shell qui a démarré le [superviseur](https://code.claude.com/docs/fr/agent-view.md#the-supervisor-process) l'a exportée.

463 465 

464## Garde-fous AWS466## Garde-fous AWS

465 467 


487 489 

488### Activer Mantle490### Activer Mantle

489 491 

490Avec les identifiants AWS déjà configurés, définissez `CLAUDE_CODE_USE_MANTLE` pour acheminer les demandes vers le point de terminaison Mantle :492Avec les identifiants AWS déjà configurés, définissez `CLAUDE_CODE_USE_MANTLE` et votre région AWS :

491 493 

492```bash theme={null}494```bash theme={null}

493export CLAUDE_CODE_USE_MANTLE=1495export CLAUDE_CODE_USE_MANTLE=1


587 589 

588* Spécifiez le modèle comme ID de [profil d'inférence](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)590* Spécifiez le modèle comme ID de [profil d'inférence](https://docs.aws.amazon.com/bedrock/latest/userguide/inference-profiles-support.html)

589 591 

590Claude Code utilise l'API Amazon Bedrock [Invoke](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_InvokeModelWithResponseStream.html) et ne prend pas en charge l'API Converse.

591 

592### Erreurs de streaming derrière une passerelle ou un proxy592### Erreurs de streaming derrière une passerelle ou un proxy

593 593 

594Amazon Bedrock diffuse les réponses `InvokeModelWithResponseStream` dans un format d'événement binaire event-stream avec l'en-tête `Content-Type: application/vnd.amazon.eventstream`. Une passerelle ou un proxy entre Claude Code et Amazon Bedrock doit transmettre le corps de la réponse et ses en-têtes, y compris `Content-Type`, tels qu'Amazon Bedrock les a envoyés.594Amazon Bedrock diffuse les réponses `InvokeModelWithResponseStream` dans un format d'événement binaire event-stream avec l'en-tête `Content-Type: application/vnd.amazon.eventstream`. Une passerelle ou un proxy entre Claude Code et Amazon Bedrock doit transmettre le corps de la réponse et ses en-têtes, y compris `Content-Type`, tels qu'Amazon Bedrock les a envoyés.


618* Si l'erreur nomme une action `bedrock-mantle:`, accordez cette action à votre identité IAM.618* Si l'erreur nomme une action `bedrock-mantle:`, accordez cette action à votre identité IAM.

619* Si l'erreur ne nomme aucune action et que vos identifiants sont valides, votre compte AWS n'a pas reçu l'accès au modèle que vous avez demandé. Contactez votre équipe de compte AWS pour demander l'accès.619* Si l'erreur ne nomme aucune action et que vos identifiants sont valides, votre compte AWS n'a pas reçu l'accès au modèle que vous avez demandé. Contactez votre équipe de compte AWS pour demander l'accès.

620 620 

621Un `400` qui nomme l'ID du modèle signifie que ce modèle n'est pas servi sur Mantle. Mantle a sa propre gamme de modèles distincte du catalogue Amazon Bedrock standard, donc les ID de profil d'inférence tels que `us.anthropic.claude-sonnet-4-6` ne fonctionneront pas. Utilisez un ID au format Mantle, ou activez [les deux points de terminaison](#run-mantle-alongside-the-invoke-api) afin que Claude Code achemine chaque demande vers le point de terminaison où le modèle est disponible.621Un `400` qui nomme l'ID du modèle signifie que ce modèle n'est pas servi sur Mantle. Mantle a sa propre gamme de modèles distincte du catalogue Amazon Bedrock standard, donc les ID de profil d'inférence tels que `us.anthropic.claude-sonnet-4-6` ne fonctionnent pas. Utilisez un ID au format Mantle, ou activez [les deux endpoints](#run-mantle-alongside-the-invoke-api) afin que Claude Code envoie les ID de profil d'inférence à l'API Invoke.

622 622 

623## Ressources supplémentaires623## Ressources supplémentaires

624 624 

Details

155- Integration tests need DATABASE_URL set, see .env.example155- Integration tests need DATABASE_URL set, see .env.example

156```156```

157 157 

158Dans une session, exécutez `/context` pour confirmer que Claude a chargé le fichier.158Dans une session, exécutez [`/context all`](https://code.claude.com/docs/fr/commands#all-commands) pour confirmer que Claude a chargé le fichier.

159 159 

160Remarquez que la ligne de vérification de types ne contient que la commande. Claude a besoin de connaître la commande pour pouvoir vérifier son propre travail au fur et à mesure. Si vous voulez aussi que Claude Code *impose* une vérification de types réussie avant que Claude ne termine, c'est le rôle d'un [hook `Stop`](#enforce-the-check-with-a-stop-hook). Une ligne comme `Always typecheck before you finish` dans ce fichier fonctionne la plupart du temps, pas à chaque fois.160Remarquez que la ligne de vérification de types ne contient que la commande. Claude a besoin de connaître la commande pour pouvoir vérifier son propre travail au fur et à mesure. Si vous voulez aussi que Claude Code *impose* une vérification de types réussie avant que Claude ne termine, c'est le rôle d'un [hook `Stop`](#enforce-the-check-with-a-stop-hook). Une ligne comme `Always typecheck before you finish` dans ce fichier fonctionne la plupart du temps, pas à chaque fois.

161 161 


544Dans un script, vous voudrez presque toujours quelques flags supplémentaires :544Dans un script, vous voudrez presque toujours quelques flags supplémentaires :

545 545 

546* [`--bare`](https://code.claude.com/docs/fr/headless#start-faster-with-bare-mode) ignore les hooks, les skills, les plugins, les serveurs MCP et les fichiers `CLAUDE.md`, ceux du dépôt comme ceux de la machine, afin que l'exécution fasse la même chose où qu'elle s'exécute. Il ne touche jamais non plus à votre connexion claude.ai : l'authentification provient de `ANTHROPIC_API_KEY`, d'un `apiKeyHelper` dans le fichier que vous passez avec `--settings`, ou des identifiants de votre fournisseur cloud.546* [`--bare`](https://code.claude.com/docs/fr/headless#start-faster-with-bare-mode) ignore les hooks, les skills, les plugins, les serveurs MCP et les fichiers `CLAUDE.md`, ceux du dépôt comme ceux de la machine, afin que l'exécution fasse la même chose où qu'elle s'exécute. Il ne touche jamais non plus à votre connexion claude.ai : l'authentification provient de `ANTHROPIC_API_KEY`, d'un `apiKeyHelper` dans le fichier que vous passez avec `--settings`, ou des identifiants de votre fournisseur cloud.

547* `--append-system-prompt`, `--mcp-config` et `--settings` transmettent explicitement ce dont l'exécution *a* besoin.547* `--append-system-prompt`, `--mcp-config` et `--settings` transmettent explicitement ce dont l'exécution *a* besoin. Les hooks que vous passez avec `--settings` [ne s'exécutent pas sous `--bare`](https://code.claude.com/docs/fr/headless#start-faster-with-bare-mode), donc n'utilisez pas `--bare` pour une exécution qui en a besoin.

548* `--allowedTools` pré-approuve ses outils, et [`--permission-mode dontAsk`](https://code.claude.com/docs/fr/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) refuse tout le reste qui aurait déclenché une demande.548* `--allowedTools` pré-approuve ses outils, et [`--permission-mode dontAsk`](https://code.claude.com/docs/fr/permission-modes#allow-only-pre-approved-tools-with-dontask-mode) refuse tout le reste qui aurait déclenché une demande.

549* `--output-format json` vous donne un objet résultat unique à analyser, et `stream-json` avec `--verbose` diffuse les événements au fur et à mesure.549* `--output-format json` vous donne un objet résultat unique à analyser, et `stream-json` avec `--verbose` diffuse les événements au fur et à mesure.

550 550 

Details

494 494 

495* Si STS refuse ou est inaccessible, la passerelle n'envoie pas la demande avec les identifiants propres de l'upstream. Elle enregistre l'erreur STS avec ce qu'il faut vérifier, puis essaie l'upstream suivant que vous avez listé. [Messages d'erreur Upstream](#upstream-error-messages) couvre ce que le client reçoit lorsqu'aucun upstream ne réussit. Un upstream ultérieur sans `assume_role` servirait la demande avec ses propres identifiants, donc listez-en un uniquement si c'est ce que vous voulez.495* Si STS refuse ou est inaccessible, la passerelle n'envoie pas la demande avec les identifiants propres de l'upstream. Elle enregistre l'erreur STS avec ce qu'il faut vérifier, puis essaie l'upstream suivant que vous avez listé. [Messages d'erreur Upstream](#upstream-error-messages) couvre ce que le client reçoit lorsqu'aucun upstream ne réussit. Un upstream ultérieur sans `assume_role` servirait la demande avec ses propres identifiants, donc listez-en un uniquement si c'est ce que vous voulez.

496* La passerelle appelle l'endpoint STS régional `sts.<region>.amazonaws.com`, que son réseau doit atteindre. Pour l'endpoint FIPS, définissez `AWS_USE_FIPS_ENDPOINT=true` dans l'environnement de la passerelle plutôt que `use_fips_endpoint` dans un fichier de configuration AWS.496* La passerelle appelle l'endpoint STS régional `sts.<region>.amazonaws.com`, que son réseau doit atteindre. Pour l'endpoint FIPS, définissez `AWS_USE_FIPS_ENDPOINT=true` dans l'environnement de la passerelle plutôt que `use_fips_endpoint` dans un fichier de configuration AWS.

497* `assume_role` s'applique à `provider: bedrock` uniquement et a besoin d'identifiants source SigV4 : la passerelle refuse de démarrer lorsqu'il est défini à côté de `aws_bearer_token`.497* `assume_role` nécessite des identifiants source SigV4 : la passerelle refuse de démarrer lorsqu'il est défini à côté de `aws_bearer_token`.

498* Sans [liste `groups`](#send-each-team-to-its-own-upstream), chaque développeur admis par la passerelle peut utiliser cet upstream. Pour limiter les modèles qu'un développeur peut utiliser, définissez `availableModels` dans une politique [`managed`](#managed).498* Sans [liste `groups`](#send-each-team-to-its-own-upstream), chaque développeur admis par la passerelle peut utiliser cet upstream. Pour limiter les modèles qu'un développeur peut utiliser, définissez `availableModels` dans une politique [`managed`](#managed).

499* Pour éviter qu'un modèle servi via le rôle soit aussi servi depuis un autre compte, attribuez-lui un id personnalisé dont la map `upstream_model` ne contient que le nom de cet upstream. Pour un tel id, la passerelle ignore tous les autres upstreams, de sorte que ni la requête ni le comptage de tokens d'une requête abandonnée ne peuvent basculer vers un autre compte.499* Pour éviter qu'un modèle servi via le rôle soit aussi servi depuis un autre compte, attribuez-lui un id personnalisé dont la map `upstream_model` ne contient que le nom de cet upstream. Pour un tel id, la passerelle ignore tous les autres upstreams, de sorte que ni la requête ni le comptage de tokens d'une requête abandonnée ne peuvent basculer vers un autre compte.

500* Une requête portant un nom de modèle intégré peut tout de même [atteindre cet upstream](#multiple-upstreams), et la passerelle la signe avec le même rôle. Placez cet upstream en dernier, sauf si son compte doit aussi servir ces modèles.500* Une requête portant un nom de modèle intégré peut tout de même [atteindre cet upstream](#multiple-upstreams), et la passerelle la signe avec le même rôle. Placez cet upstream en dernier, sauf si son compte doit aussi servir ces modèles.


556| `region` | Oui | Région AWS. La passerelle en dérive l'endpoint sous la forme `https://bedrock-mantle.<region>.api.aws/anthropic`. |556| `region` | Oui | Région AWS. La passerelle en dérive l'endpoint sous la forme `https://bedrock-mantle.<region>.api.aws/anthropic`. |

557| `models` | Oui | Les modèles auxquels votre compte AWS a accès sur Mantle, nommés tels que les clients les envoient, par exemple `claude-haiku-4-5`. Seuls ceux-ci vont vers cet upstream, et chaque autre modèle passe au suivant. |557| `models` | Oui | Les modèles auxquels votre compte AWS a accès sur Mantle, nommés tels que les clients les envoient, par exemple `claude-haiku-4-5`. Seuls ceux-ci vont vers cet upstream, et chaque autre modèle passe au suivant. |

558| `auth` | Non | Accepte les mêmes clés que le bloc `auth` de l'upstream [Amazon Bedrock](#amazon-bedrock), selon les mêmes règles. |558| `auth` | Non | Accepte les mêmes clés que le bloc `auth` de l'upstream [Amazon Bedrock](#amazon-bedrock), selon les mêmes règles. |

559| `assume_role` | Non | Le rôle par lequel passent les requêtes de cet upstream, avec les mêmes clés que [sur un upstream `bedrock`](#bedrock-in-another-aws-account), y compris `session_name` pour l'[attribution par développeur](#per-developer-aws-cost-attribution). Accordez au rôle les actions IAM de Mantle. Nécessite une passerelle exécutant Claude Code v2.1.318 ou ultérieur. Une passerelle antérieure s'arrête au démarrage avec `Unrecognized key(s) in object: 'assume_role'`. |

559| `base_url` | Non | Remplacer l'endpoint dérivé. Conservez le chemin `/anthropic` à la fin. |560| `base_url` | Non | Remplacer l'endpoint dérivé. Conservez le chemin `/anthropic` à la fin. |

560 561 

561Accordez à l'identité AWS de l'upstream les actions IAM propres à Mantle pour l'inférence et le comptage de tokens, que [Utiliser l'endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#use-the-mantle-endpoint) liste.562Accordez à l'identité AWS de l'upstream les actions IAM propres à Mantle pour l'inférence et le comptage de tokens, que [Utiliser l'endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#use-the-mantle-endpoint) liste.


565Les paramètres `guardrail` et `assume_role` d'un upstream `bedrock` ne s'étendent pas aux requêtes que Mantle sert :566Les paramètres `guardrail` et `assume_role` d'un upstream `bedrock` ne s'étendent pas aux requêtes que Mantle sert :

566 567 

567* **`guardrail`** : la passerelle n'applique aucune [protection Bedrock](#apply-an-amazon-bedrock-guardrail) aux requêtes qu'elle envoie à Mantle, donc elle refuse de démarrer lorsqu'un upstream `mantle` est listé alors qu'un upstream `bedrock` définit `guardrail`.568* **`guardrail`** : la passerelle n'applique aucune [protection Bedrock](#apply-an-amazon-bedrock-guardrail) aux requêtes qu'elle envoie à Mantle, donc elle refuse de démarrer lorsqu'un upstream `mantle` est listé alors qu'un upstream `bedrock` définit `guardrail`.

568* **`assume_role`** : un upstream `mantle` n'accepte pas [`assume_role`](#bedrock-in-another-aws-account). Les requêtes que Mantle sert sont envoyées avec les identifiants `auth` propres à l'upstream `mantle`, et ne sont pas [attribuées par développeur](#per-developer-aws-cost-attribution).569* **`assume_role`** : définissez-le sur l'upstream `mantle` lui-même. Sans lui, les requêtes servies par Mantle sont envoyées avec les propres identifiants `auth` de l'upstream `mantle`.

569 570 

570Pour la signification des réponses d'erreur propres à Mantle, voir [Erreurs de l'endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#mantle-endpoint-errors).571Pour la signification des réponses d'erreur propres à Mantle, voir [Erreurs de l'endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#mantle-endpoint-errors).

571 572 

Details

424| Log : `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, et les développeurs voient `Cloud gateway session expired` toutes les `session.ttl_hours` | L'IdP a accepté le jeton de rafraîchissement mais n'a renvoyé aucun id\_token avec celui-ci, si bien que la passerelle a demandé les claims de l'utilisateur à l'endpoint userinfo de l'IdP. L'IdP y a rejeté le jeton d'accès rafraîchi. La passerelle répond `temporarily_unavailable`, donc Claude Code conserve le jeton de rafraîchissement mais ne peut pas renouveler la session. Les versions de la passerelle antérieures à v2.1.260 consignent la même ligne sans le détail `(at …)`. | Définissez [`oidc.scope_on_refresh: true`](https://code.claude.com/docs/fr/claude-apps-gateway-config#oidc), disponible dans la passerelle v2.1.260 ou ultérieure, afin que la requête de rafraîchissement redemande `openid`. Certains IdP, comme Okta, ne renvoient un id\_token lors du rafraîchissement que sur demande. Sur PingFederate, activez plutôt **Return ID Token On Refresh Grant** sous **Applications > OAuth > OpenID Connect Policy Management**. La clé ne modifie pas le comportement de PingFederate. Pour les autres IdP qui l'omettent toujours, vérifiez si l'endpoint userinfo accepte les jetons d'accès émis par un rafraîchissement. En solution temporaire, augmentez [`session.ttl_hours`](https://code.claude.com/docs/fr/claude-apps-gateway-config#session). Voir [Configuration du fournisseur d'identité](#identity-provider-setup) pour le compromis lié au déprovisionnement. |424| Log : `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, et les développeurs voient `Cloud gateway session expired` toutes les `session.ttl_hours` | L'IdP a accepté le jeton de rafraîchissement mais n'a renvoyé aucun id\_token avec celui-ci, si bien que la passerelle a demandé les claims de l'utilisateur à l'endpoint userinfo de l'IdP. L'IdP y a rejeté le jeton d'accès rafraîchi. La passerelle répond `temporarily_unavailable`, donc Claude Code conserve le jeton de rafraîchissement mais ne peut pas renouveler la session. Les versions de la passerelle antérieures à v2.1.260 consignent la même ligne sans le détail `(at …)`. | Définissez [`oidc.scope_on_refresh: true`](https://code.claude.com/docs/fr/claude-apps-gateway-config#oidc), disponible dans la passerelle v2.1.260 ou ultérieure, afin que la requête de rafraîchissement redemande `openid`. Certains IdP, comme Okta, ne renvoient un id\_token lors du rafraîchissement que sur demande. Sur PingFederate, activez plutôt **Return ID Token On Refresh Grant** sous **Applications > OAuth > OpenID Connect Policy Management**. La clé ne modifie pas le comportement de PingFederate. Pour les autres IdP qui l'omettent toujours, vérifiez si l'endpoint userinfo accepte les jetons d'accès émis par un rafraîchissement. En solution temporaire, augmentez [`session.ttl_hours`](https://code.claude.com/docs/fr/claude-apps-gateway-config#session). Voir [Configuration du fournisseur d'identité](#identity-provider-setup) pour le compromis lié au déprovisionnement. |

425| Un développeur se connecte, puis chaque requête de cette session échoue avec une erreur `431` | Le jeton de session dans l'en-tête `Authorization` de chaque requête répertorie les groupes IdP du développeur ; pour un développeur membre de nombreux groupes, les en-têtes peuvent donc dépasser au total ce que la passerelle accepte | Voir [En-têtes de requête trop volumineux après la connexion](#request-headers-too-large-after-sign-in) pour savoir quelle limite s'applique et quoi modifier |425| Un développeur se connecte, puis chaque requête de cette session échoue avec une erreur `431` | Le jeton de session dans l'en-tête `Authorization` de chaque requête répertorie les groupes IdP du développeur ; pour un développeur membre de nombreux groupes, les en-têtes peuvent donc dépasser au total ce que la passerelle accepte | Voir [En-têtes de requête trop volumineux après la connexion](#request-headers-too-large-after-sign-in) pour savoir quelle limite s'applique et quoi modifier |

426| Chaque requête Amazon Bedrock renvoie 502 ; le log affiche `Could not load credentials from any providers` | Sur EC2, la limite de sauts par défaut d'IMDSv2, égale à 1, bloque la requête de métadonnées d'instance depuis l'intérieur du conteneur. Le démarrage et `/readyz` réussissent malgré tout, car le SDK AWS résout les identifiants de l'instance lors de la première requête, et non à la construction du client | Augmentez la limite de sauts avec `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, ou définissez-la dans le modèle de lancement. La modification s'applique à chaque conteneur de l'instance. Préférez les rôles de tâche ECS lorsqu'ils sont disponibles : ils lisent les identifiants depuis l'endpoint d'identifiants de conteneur ECS et évitent entièrement cette modification. Sinon, appliquez la modification sur une instance dédiée à la passerelle pour limiter l'exposition. |426| Chaque requête Amazon Bedrock renvoie 502 ; le log affiche `Could not load credentials from any providers` | Sur EC2, la limite de sauts par défaut d'IMDSv2, égale à 1, bloque la requête de métadonnées d'instance depuis l'intérieur du conteneur. Le démarrage et `/readyz` réussissent malgré tout, car le SDK AWS résout les identifiants de l'instance lors de la première requête, et non à la construction du client | Augmentez la limite de sauts avec `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, ou définissez-la dans le modèle de lancement. La modification s'applique à chaque conteneur de l'instance. Préférez les rôles de tâche ECS lorsqu'ils sont disponibles : ils lisent les identifiants depuis l'endpoint d'identifiants de conteneur ECS et évitent entièrement cette modification. Sinon, appliquez la modification sur une instance dédiée à la passerelle pour limiter l'exposition. |

427| Log : un avertissement contenant `upstream <name>: Google issued an access token that expires in <N>s`, sur un upstream dont le fichier d'identifiants Google est de type `external_account` | Les requêtes réussissent jusqu'à l'expiration de ce jeton d'accès, puis échouent à moins que le jeton vers lequel pointe `credential_source` n'ait été renouvelé au préalable. | Si un processus écrit ce jeton dans un fichier, faites-lui écrire un nouveau jeton plus de cinq minutes avant l'expiration de l'ancien |

427| En pic de charge, les réponses tardent à démarrer ou semblent bloquées, ou échouent avec un 502 `all upstreams failed` alors que l'upstream est sain | Un réplica a plus de requêtes ouvertes qu'il n'en envoie simultanément à l'upstream, si bien que les requêtes supplémentaires attendent dans la passerelle. Sur un upstream `provider: anthropic`, une requête qui attend plus longtemps que `timeouts.upstream_ttfb_ms` abandonne cet upstream, ce qui produit le 502 lorsqu'aucun upstream suivant ne la sert. Le log affiche un avertissement contenant `client requests are open`. | Ajoutez des réplicas, ou augmentez la limite de chaque réplica. Voir [Requêtes upstream simultanées](#concurrent-upstream-requests). |428| En pic de charge, les réponses tardent à démarrer ou semblent bloquées, ou échouent avec un 502 `all upstreams failed` alors que l'upstream est sain | Un réplica a plus de requêtes ouvertes qu'il n'en envoie simultanément à l'upstream, si bien que les requêtes supplémentaires attendent dans la passerelle. Sur un upstream `provider: anthropic`, une requête qui attend plus longtemps que `timeouts.upstream_ttfb_ms` abandonne cet upstream, ce qui produit le 502 lorsqu'aucun upstream suivant ne la sert. Le log affiche un avertissement contenant `client requests are open`. | Ajoutez des réplicas, ou augmentez la limite de chaque réplica. Voir [Requêtes upstream simultanées](#concurrent-upstream-requests). |

428| Sur un upstream autre que `provider: anthropic`, un tour comportant une longue pause de réflexion échoue. Le proxy placé devant la passerelle consigne une requête qui reste ouverte environ 12,5 minutes, puis une série d'erreurs `504` | Claude Code a mis fin à un flux qui avait livré son premier événement de réponse puis ne transportait plus que des pings keepalive. Il a renvoyé la requête sans streaming, et chaque réponse prend plus de temps que le délai d'expiration du proxy. | Augmentez `CLAUDE_STREAM_IDLE_TIMEOUT_MS` pour vos développeurs. Voir [Une longue réflexion se termine par des délais d'expiration du proxy](#long-thinking-ends-in-proxy-timeouts). |429| Sur un upstream autre que `provider: anthropic`, un tour comportant une longue pause de réflexion échoue. Le proxy placé devant la passerelle consigne une requête qui reste ouverte environ 12,5 minutes, puis une série d'erreurs `504` | Claude Code a mis fin à un flux qui avait livré son premier événement de réponse puis ne transportait plus que des pings keepalive. Il a renvoyé la requête sans streaming, et chaque réponse prend plus de temps que le délai d'expiration du proxy. | Augmentez `CLAUDE_STREAM_IDLE_TIMEOUT_MS` pour vos développeurs. Voir [Une longue réflexion se termine par des délais d'expiration du proxy](#long-thinking-ends-in-proxy-timeouts). |

429| Sur `provider: anthropic`, un tour comportant une longue pause de réflexion échoue. Le proxy consigne une requête ouverte pendant environ 20 minutes, puis des erreurs `502` ou `504` | Claude Code a mis fin à un flux qui avait livré son premier événement de réponse puis ne transportait plus que des pings keepalive. Il a renvoyé la requête sans streaming, et chaque réponse prend plus de temps que l'attente de la passerelle sur l'upstream, `timeouts.upstream_ttfb_ms`, ou que le délai d'expiration du proxy. | Augmentez `CLAUDE_STREAM_IDLE_TIMEOUT_MS` pour vos développeurs. Voir [Longue réflexion sur un upstream Anthropic API](#long-thinking-on-an-anthropic-api-upstream). |430| Sur `provider: anthropic`, un tour comportant une longue pause de réflexion échoue. Le proxy consigne une requête ouverte pendant environ 20 minutes, puis des erreurs `502` ou `504` | Claude Code a mis fin à un flux qui avait livré son premier événement de réponse puis ne transportait plus que des pings keepalive. Il a renvoyé la requête sans streaming, et chaque réponse prend plus de temps que l'attente de la passerelle sur l'upstream, `timeouts.upstream_ttfb_ms`, ou que le délai d'expiration du proxy. | Augmentez `CLAUDE_STREAM_IDLE_TIMEOUT_MS` pour vos développeurs. Voir [Longue réflexion sur un upstream Anthropic API](#long-thinking-on-an-anthropic-api-upstream). |

Details

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

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

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

134| `backups/` | Versions antérieures de `~/.claude.json`, copiées lorsque Claude Code réécrit le fichier. Claude Code conserve les cinq plus récentes, plus une copie de toute version qu'il n'a pas pu analyser. |134| `backups/` | Versions antérieures de `~/.claude.json`, copiées lorsque Claude Code réécrit le fichier. Claude Code conserve les cinq plus récentes, plus une copie de toute version qu'il n'a pas pu analyser. Au-delà du seuil d'âge, la dernière copie contenant votre configuration est également supprimée. Si le fichier actuel peut être analysé, contient votre configuration et fait moins de 8 Mio, il vous en reste une nouvelle copie. |

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

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

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


288| `~/.claude/tasks/` | Vos [listes de tâches](https://code.claude.com/docs/fr/interactive-mode.md#task-list), y compris celles encore utilisées |288| `~/.claude/tasks/` | Vos [listes de tâches](https://code.claude.com/docs/fr/interactive-mode.md#task-list), y compris celles encore utilisées |

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

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

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

292| `~/.claude/backups/` | Les copies antérieures à partir desquelles vous pouvez [restaurer `~/.claude.json`](https://code.claude.com/docs/fr/errors#configuration-error-in-claude-json) |

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

293 294 

294Ne supprimez pas `~/.claude.json`, `~/.claude/settings.json` ou `~/.claude/plugins/` : ceux-ci contiennent les informations de votre compte, vos préférences et vos plugins installés.295Ne supprimez pas `~/.claude.json`, `~/.claude/settings.json` ou `~/.claude/plugins/` : ceux-ci contiennent les informations de votre compte, vos préférences et vos plugins installés.

Details

480* **« Unable to access your repository »**, rapporté par un thread quand son clone échoue : GitHub a rejeté le clone, le référentiel n'a pas été trouvé sous le nom que le projet a, ou la branche à partir de laquelle le thread a été demandé de commencer n'existe pas.480* **« Unable to access your repository »**, rapporté par un thread quand son clone échoue : GitHub a rejeté le clone, le référentiel n'a pas été trouvé sous le nom que le projet a, ou la branche à partir de laquelle le thread a été demandé de commencer n'existe pas.

481* **« Claude can't access »** un référentiel, affiché quand vous enregistrez les référentiels dans la boîte de dialogue **New project** ou **Project settings**. Le message continue avec un lien d'installation et un lien de reconnexion. Utilisez le lien d'installation si l'application Claude GitHub n'est pas sur ce référentiel, et le lien de reconnexion si elle l'est, puisque l'application GitHub peut être installée sur GitHub sans être liée au compte que vous avez connecté à Claude. Si le message dit que l'application GitHub est suspendue ou n'inclut pas ce référentiel, suivez son lien vers GitHub pour corriger cela.481* **« Claude can't access »** un référentiel, affiché quand vous enregistrez les référentiels dans la boîte de dialogue **New project** ou **Project settings**. Le message continue avec un lien d'installation et un lien de reconnexion. Utilisez le lien d'installation si l'application Claude GitHub n'est pas sur ce référentiel, et le lien de reconnexion si elle l'est, puisque l'application GitHub peut être installée sur GitHub sans être liée au compte que vous avez connecté à Claude. Si le message dit que l'application GitHub est suspendue ou n'inclut pas ce référentiel, suivez son lien vers GitHub pour corriger cela.

482 482 

483Pour corriger l'un d'eux, cliquez sur le bouton que le message offre, comme **Install GitHub App** ou **Select repositories on GitHub**, puis **Check again**. Quand le bloc est du côté de l'organisation GitHub, comme un propriétaire qui n'a pas approuvé l'application ou une liste d'autorisation IP qui exclut Claude, le message affiche un lien **See how to fix** à la place. S'il n'y a pas de bouton, suivez [Configurer l'accès GitHub](#set-up-github-access), puis envoyez un autre message pour réessayer.483Pour corriger l'accès GitHub en cas de « Couldn't start the session » ou « Unable to access your repository », cliquez sur le bouton que le message propose, comme **Install on GitHub** ou **Select repositories**. S'il n'y a pas de bouton, suivez [Configurer l'accès GitHub](#set-up-github-access). Après la correction, demandez à Claude dans la conversation du projet de démarrer un nouveau thread pour le même travail.

484 484 

485### Un thread a atteint la limite d'utilisation485### Un thread a atteint la limite d'utilisation

486 486 


505 505 

506| Message | Quoi faire |506| Message | Quoi faire |

507| :- | :- |507| :- | :- |

508| « Unable to connect to repository » avec « Claude couldn't reach GitHub to fetch your repository » | Attendez un moment, puis envoyez un autre message pour réessayer |508| « Unable to connect to repository » avec « Claude couldn't reach GitHub to fetch your repository » | Attendez un moment, puis demandez à Claude dans la conversation du projet de démarrer un nouveau thread pour le même travail |

509| « Unable to connect to repository » avec « Claude couldn't access your repository or environment » | Votre compte GitHub a besoin d'accès en push au référentiel, et l'environnement doit toujours exister. Vérifiez les deux dans **Project settings > Environment**, puis réessayez |509| « Unable to connect to repository » avec « Claude couldn't access your repository or environment » | Votre compte GitHub a besoin d'accès en push au référentiel, et l'environnement doit toujours exister. Vérifiez les deux dans **Project settings > Environment**, puis réessayez |

510| « Couldn't show the setup proposal » | L'application que vous avez ouverte est plus ancienne que les **Setup recommendations** que Claude a envoyées. Actualisez la page ou redémarrez l'application de bureau, ou demandez à Claude de proposer à nouveau la configuration |510| « Couldn't show the setup proposal » | L'application que vous avez ouverte est plus ancienne que les **Setup recommendations** que Claude a envoyées. Actualisez la page ou redémarrez l'application de bureau, ou demandez à Claude de proposer à nouveau la configuration |

511| « The project's environment was removed » | Choisissez un environnement différent dans **Project settings > Environment** ; le changement s'applique aux nouveaux threads |511| « The project's environment was removed » | Choisissez un environnement différent dans **Project settings > Environment** ; le changement s'applique aux nouveaux threads |

Details

12 12 

13## Voir ce qui a été chargé dans le contexte13## Voir ce qui a été chargé dans le contexte

14 14 

15La commande `/context` affiche tout ce qui occupe la fenêtre de contexte pour la session actuelle, ventilé par catégorie : invite système, outils système, outils MCP, sous-agents personnalisés avec la source de chacun, fichiers de mémoire, skills et messages de conversation. Exécutez-la d'abord pour confirmer si vos fichiers `CLAUDE.md`, règles ou descriptions de skills sont présents. La section skills dans `/context` inclut également les [skills groupés](https://code.claude.com/docs/fr/skills.md#bundled-skills), que `/skills` ne liste pas.15La commande `/context` affiche tout ce qui occupe la fenêtre de contexte pour la session actuelle. Elle le ventile par catégorie : prompt système, outils système, outils MCP, sous-agents personnalisés avec la source de chacun, fichiers de mémoire, skills et messages de conversation. Exécutez-la d'abord pour confirmer si vos fichiers `CLAUDE.md`, règles ou descriptions de skills sont présents. La section skills dans `/context` inclut également les [skills fournis](https://code.claude.com/docs/fr/skills.md#bundled-skills), que `/skills` ne liste pas.

16 

17En [mode plein écran](https://code.claude.com/docs/fr/fullscreen.md), `/context` réduit la ventilation par élément ; exécutez donc `/context all` pour la développer.

16 18 

17Pour plus de détails sur une catégorie spécifique, suivez avec la commande dédiée :19Pour plus de détails sur une catégorie spécifique, suivez avec la commande dédiée :

18 20 

desktop.md +71 −14

Details

84 84 

85Les modes de permission déterminent le degré d'autonomie de Claude pendant une session : s'il demande avant de modifier des fichiers, d'exécuter des commandes, ou les deux. Vous pouvez changer de mode de permission à tout moment à l'aide du sélecteur de mode situé dans la ligne sous la zone de prompt. Pour approuver vous-même chaque modification, passez en mode Manual.85Les modes de permission déterminent le degré d'autonomie de Claude pendant une session : s'il demande avant de modifier des fichiers, d'exécuter des commandes, ou les deux. Vous pouvez changer de mode de permission à tout moment à l'aide du sélecteur de mode situé dans la ligne sous la zone de prompt. Pour approuver vous-même chaque modification, passez en mode Manual.

86 86 

87Pour définir un mode par défaut pour les nouvelles sessions locales, ajoutez `permissions.defaultMode` à votre [fichier de paramètres](https://code.claude.com/docs/fr/settings.md#where-settings-live). L'application de bureau lit les mêmes fichiers de paramètres que la CLI. Un mode choisi dans le sélecteur est mémorisé par dossier et a priorité sur `defaultMode` pour ce dossier, à l'exception de Plan, qui ne s'applique qu'à la session en cours.87Pour définir un mode de permission par défaut pour les nouvelles sessions locales, ajoutez `permissions.defaultMode` à votre [fichier de paramètres](https://code.claude.com/docs/fr/settings.md#where-settings-live). Un mode choisi dans une session locale est mémorisé par dossier et a priorité sur un `defaultMode` défini dans les paramètres `.claude/` du projet. Une nouvelle session locale peut néanmoins démarrer dans un `defaultMode` provenant de `~/.claude/settings.json` ou des paramètres gérés : vérifiez donc le sélecteur avant votre premier message. Si vous choisissez Plan, ce mode ne s'applique qu'à cette session.

88 88 

89| Mode | Clé de paramètre | Comportement |89| Mode | Clé de paramètre | Comportement |

90| - | - | - |90| - | - | - |


1289 1289 

1290> [!WARNING]1290> [!WARNING]

1291>1291>

1292> Si vous vous connectez à Desktop avec un compte Claude, ne comptez pas sur une tâche pour s'exécuter toute la nuit. Desktop renouvelle cette connexion pour la tâche uniquement tant que Desktop est en cours d'exécution et connecté : la connexion de la tâche peut donc expirer après votre déconnexion, et la tâche s'arrête alors. Le temps restant au moment de votre déconnexion varie, et il peut n'être que de quelques minutes.1292> Si vous vous connectez à Desktop avec un compte Claude, ne comptez pas sur une tâche pour s'exécuter toute la nuit. Desktop ne renouvelle la connexion de la tâche que tant que Desktop est en cours d'exécution, connecté et authentifié ; la connexion de la tâche peut donc expirer après votre déconnexion, et la tâche s'arrête alors. Le temps restant au moment de votre déconnexion varie et peut n'être que de quelques minutes.

1293>1293>

1294> Le travail effectué jusque-là reste sur la machine distante, et vous pouvez poursuivre avec un message à votre retour.1294> Le travail effectué jusque-là reste sur la machine distante, et vous pouvez poursuivre avec un message à votre retour.

1295>1295>

1296> Si la tâche doit s'exécuter toute la nuit :1296> Si la tâche doit s'exécuter toute la nuit :

1297>1297>

1298> * [Maintenez votre ordinateur éveillé](https://code.claude.com/docs/fr/desktop-scheduled-tasks.md#how-scheduled-tasks-run) et en ligne, avec le capot ouvert et Desktop en cours d'exécution1298> * [Maintenez votre ordinateur éveillé](https://code.claude.com/docs/fr/desktop-scheduled-tasks.md#how-scheduled-tasks-run) et en ligne, avec le capot ouvert et Desktop en cours d'exécution et connecté

1299> * Utilisez une méthode de connexion qui fonctionne sans invite, comme une clé détenue par votre agent SSH, pour la machine distante et pour tout hôte de rebond sur le chemin. Desktop peut alors se reconnecter de lui-même après une coupure.1299> * Utilisez une méthode de connexion qui fonctionne sans invite, comme une clé détenue par votre agent SSH, pour la machine distante et pour tout hôte de rebond sur le chemin. Desktop peut alors se reconnecter de lui-même après une coupure.

1300>1300>

1301> Pour une tâche qui doit s'exécuter pendant que votre ordinateur est en veille ou éteint, démarrez plutôt une [session cloud](#run-long-running-tasks-in-the-cloud).1301> Pour une tâche qui doit s'exécuter pendant que votre ordinateur est en veille ou éteint, démarrez plutôt une [session cloud](#run-long-running-tasks-in-the-cloud).


1303* **Après une mise en veille ou une perte de réseau** : vous récupérez la tâche en cours si le processus [s'exécute toujours](#limits-while-desktop-is-disconnected) et que Desktop peut se connecter sans invite. Sinon, [envoyez un message](#reconnect-after-sleep-or-a-network-loss).1303* **Après une mise en veille ou une perte de réseau** : vous récupérez la tâche en cours si le processus [s'exécute toujours](#limits-while-desktop-is-disconnected) et que Desktop peut se connecter sans invite. Sinon, [envoyez un message](#reconnect-after-sleep-or-a-network-loss).

1304* **Après avoir quitté l'application** : la tâche continue de s'exécuter, mais vous la perdez lorsque la session se rouvre, sauf si Desktop peut rejoindre son processus. Vérifiez [quand Desktop peut rejoindre le processus](#reopen-a-session-after-you-quit-desktop) avant de quitter. Si vous avez perdu la tâche, envoyez un message pour continuer.1304* **Après avoir quitté l'application** : la tâche continue de s'exécuter, mais vous la perdez lorsque la session se rouvre, sauf si Desktop peut rejoindre son processus. Vérifiez [quand Desktop peut rejoindre le processus](#reopen-a-session-after-you-quit-desktop) avant de quitter. Si vous avez perdu la tâche, envoyez un message pour continuer.

1305 1305 

1306Lorsque vous revenez et que la tâche n'est pas terminée, vérifiez si Desktop indique qu'il ne peut pas se reconnecter, s'il y a une erreur d'authentification ou une demande en attente :1306Lorsque vous revenez et que la tâche n'est pas terminée, recherchez la page de connexion de Desktop, un message indiquant que Desktop ne peut pas se reconnecter, une erreur d'authentification ou une demande en attente :

1307 1307 

1308* **Page de connexion** : connectez-vous. Si la tâche s'est arrêtée, envoyez un message pour continuer. Sur un forfait Enterprise, votre organisation peut [vous déconnecter un nombre défini de jours après votre connexion](https://support.claude.com/en/articles/13163631-configuring-session-security-settings), quel que soit votre niveau d'activité. Avec un compte Claude, Desktop ne renouvelle pas la connexion de la tâche tant que vous êtes déconnecté, la tâche peut donc s'arrêter.

1308* **Desktop ne peut pas se reconnecter** : la session en indique la raison, et une notification peut également l'indiquer. Desktop peut [avoir besoin que vous vous connectiez](#reconnect-after-sleep-or-a-network-loss).1309* **Desktop ne peut pas se reconnecter** : la session en indique la raison, et une notification peut également l'indiquer. Desktop peut [avoir besoin que vous vous connectiez](#reconnect-after-sleep-or-a-network-loss).

1309* **Erreur d'authentification** : le [jeton de connexion ou les identifiants](#limits-while-desktop-is-disconnected) ont peut-être expiré. Avec un compte Claude, envoyez un message pour continuer. Avec un fournisseur tiers, consultez [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).1310* **Erreur d'authentification** : le [jeton de connexion ou les identifiants](#limits-while-desktop-is-disconnected) ont peut-être expiré. Avec un compte Claude, envoyez un message pour continuer. Avec un fournisseur tiers, consultez [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

1310* **Demande en attente** : [répondez-y](#handle-requests-that-arrive-while-you-are-away)1311* **Demande en attente** : [répondez-y](#handle-requests-that-arrive-while-you-are-away)


1602 1603 

1603> [!NOTE]1604> [!NOTE]

1604>1605>

1605> Les connexions à partir d'une commande nécessitent Claude Desktop v3.6556.0 ou une version ultérieure sur macOS ou Linux, avec une connexion via un compte Claude. Les administrateurs peuvent [distribuer des commandes à une équipe](#distribute-commands-to-your-team).1606> Les connexions à partir d'une commande nécessitent Claude Desktop v3.6556.0 ou une version ultérieure sur macOS ou Linux, ou v4.16336.0 ou une version ultérieure sur Windows, avec une connexion à un compte Claude. Sur Windows, Desktop doit également [se connecter via le client OpenSSH](#use-your-ssh-configuration). Les administrateurs peuvent [distribuer des commandes à une équipe](#distribute-commands-to-your-team).

1606 1607 

1607Desktop exécute la commande uniquement lorsque vous créez la connexion ou que vous [créez une autre machine](#create-another-machine), et non à chaque connexion. Chaque entrée correspond à une connexion, qui pointe vers l'hôte que Desktop a enregistré en dernier à partir de la commande de l'entrée.1608Desktop exécute la commande uniquement lorsque vous créez la connexion ou que vous [créez une autre machine](#create-another-machine), et non à chaque connexion. Chaque entrée correspond à une connexion, qui pointe vers l'hôte que Desktop a enregistré en dernier à partir de la commande de l'entrée.

1608 1609 


1632}1633}

1633```1634```

1634 1635 

1636Sur Windows, un nom seul comme `acme-dev` ne fonctionne pas ; [commencez donc la commande par le chemin complet du programme](#write-the-command-on-windows).

1637 

1635Chaque entrée accepte ces champs, et `id`, `name` et `command` sont obligatoires :1638Chaque entrée accepte ces champs, et `id`, `name` et `command` sont obligatoires :

1636 1639 

1637| Champ | Valeur |1640| Champ | Valeur |


1646 1649 

1647##### Écrire la commande1650##### Écrire la commande

1648 1651 

1649Desktop démarre le programme directement, sans shell et sans terminal :1652Sur Windows, commencez par [Écrire la commande sur Windows](#write-the-command-on-windows), qui indique lesquelles de ces règles s'y appliquent.

1653 

1654Sur macOS et Linux, Desktop démarre le programme directement, sans shell ni terminal :

1650 1655 

1651* **Programme** : écrivez son nom, ou son chemin complet depuis `/`, sans espaces. Desktop recherche un nom seul dans le `PATH` que votre shell de connexion exporte. Les chemins relatifs comme `./acme-dev`, les chemins qui commencent par `~`, ainsi que les alias et fonctions shell ne fonctionnent pas.1656* **Programme** : écrivez son nom, ou son chemin complet depuis `/`. Desktop recherche un nom seul dans le `PATH` que votre shell de connexion exporte. Les chemins relatifs comme `./acme-dev`, les chemins commençant par `~`, ainsi que les alias et fonctions du shell ne fonctionnent pas.

1652* **Arguments** : séparez les arguments simples par des espaces. La commande ne peut contenir que des espaces, des lettres ASCII, des chiffres et les caractères `+,-./:=@_~`, et aucun mot ne peut commencer par `~`.1657* **Espaces dans le chemin** : placez le chemin complet du programme entre guillemets simples, comme `'/Users/you/My Tools/make-devbox' create`. Les guillemets, simples ou doubles, nécessitent Claude Desktop v4.16336.0 ou une version ultérieure, et ne fonctionnent qu'autour du chemin du programme.

1653* **Scripts** : si la commande nécessite autre chose, comme des guillemets, des pipes, des variables ou une URL contenant `?` ou `&`, placez-la dans un script. Rendez le script exécutable, commencez-le par une ligne `#!`, et définissez `command` sur son chemin complet, comme `/Users/you/bin/make-devbox`. Sur macOS, gardez le script en dehors des dossiers Documents, Bureau et Téléchargements, où macOS peut le bloquer.1658* **Arguments** : séparez les arguments par des espaces. En dehors des guillemets, la commande ne peut contenir que des espaces, des lettres ASCII, des chiffres et les caractères `+,-./:=@_~`, et aucun mot ne peut commencer par `~`. Un chemin entre guillemets peut également contenir certains autres caractères, comme `(`, `)` et `&`.

1659* **Scripts** : si la commande nécessite autre chose, comme des arguments entre guillemets, des pipes, des variables ou une URL contenant `?` ou `&`, placez-la dans un script. Rendez le script exécutable, commencez-le par une ligne `#!`, et définissez `command` sur son chemin complet, comme `/Users/you/bin/make-devbox`. Sur macOS, gardez le script en dehors des dossiers Documents, Bureau et Téléchargements, où macOS peut le bloquer.

1654* **Entrée** : le programme ne reçoit ni entrée ni terminal ; il ne peut donc pas vous y poser de questions. Si votre outil vous connecte via un navigateur ou une invite, connectez-vous d'abord depuis un terminal, puis de nouveau chaque fois que cette connexion expire.1660* **Entrée** : le programme ne reçoit ni entrée ni terminal ; il ne peut donc pas vous y poser de questions. Si votre outil vous connecte via un navigateur ou une invite, connectez-vous d'abord depuis un terminal, puis de nouveau chaque fois que cette connexion expire.

1655* **Environnement** : le programme s'exécute dans votre répertoire personnel avec les variables que votre shell de connexion exporte. Desktop les lit au démarrage, comme il le fait pour [un `ProxyCommand`](#use-variables-from-your-shell-in-a-proxycommand) ; quittez donc et rouvrez Desktop après les avoir modifiées.1661* **Environnement** : le programme s'exécute dans votre répertoire personnel avec les variables que votre shell de connexion exporte. Desktop les lit au démarrage, comme il le fait pour [un `ProxyCommand`](#use-variables-from-your-shell-in-a-proxycommand) ; quittez donc et rouvrez Desktop après les avoir modifiées.

1656* **Délai** : Desktop arrête un programme qui est toujours en cours d'exécution au bout de 10 minutes. Le message de progression de Desktop n'affiche pas la sortie du programme. Pour arrêter le programme plus tôt, sélectionnez **Cancel** à côté de ce message.1662* **Délai** : Desktop arrête un programme qui est toujours en cours d'exécution au bout de 10 minutes. Le message de progression de Desktop n'affiche pas la sortie du programme. Pour arrêter le programme plus tôt, sélectionnez **Cancel** à côté de ce message.


1680 1686 

1681Si la commande échoue, **View details** dans le message de Desktop affiche la dernière ligne que la commande a écrite sur la sortie d'erreur standard, le cas échéant.1687Si la commande échoue, **View details** dans le message de Desktop affiche la dernière ligne que la commande a écrite sur la sortie d'erreur standard, le cas échéant.

1682 1688 

1689##### Écrire la commande sur Windows

1690 

1691Sur Windows, commencez `command` par le chemin complet d'un fichier `.exe`, `.cmd` ou `.bat`, depuis la lettre de lecteur. Desktop ne recherche pas un nom seul dans votre `PATH` ; une entrée dont le `command` est `acme-dev create` est donc [grisée](#if-a-command-is-missing-or-gray).

1692 

1693L'entrée suivante dans `%USERPROFILE%\.claude\settings.json` exécute `C:\Program Files\Acme\acme-dev.exe` avec l'argument `create`. En JSON, écrivez chaque barre oblique inverse deux fois, ou écrivez `/` à la place. Les guillemets simples sont présents parce que le chemin contient un espace :

1694 

1695```json settings.json theme={null}

1696{

1697 "sshHostCommands": [

1698 {

1699 "id": "devbox",

1700 "name": "Dev box",

1701 "command": "'C:\\Program Files\\Acme\\acme-dev.exe' create"

1702 }

1703 ]

1704}

1705```

1706 

1707Suivez les règles d'[Écrire la commande](#write-the-command) concernant les espaces dans le chemin, l'entrée, le délai et ce que le programme affiche. À la place de ses autres règles, suivez celles-ci :

1708 

1709* **Programme** : n'utilisez pas de chemin réseau comme `\\server\share`, de variable comme `%USERPROFILE%` ni de lettre hors ASCII. Si le chemin contient l'un de ces éléments, l'entrée est grisée. Si le nom de votre dossier utilisateur contient une telle lettre, gardez le programme en dehors de ce dossier.

1710* **Arguments** : suivez la règle Arguments d'Écrire la commande. La commande peut également contenir `\`, mais aucun mot ne peut se terminer par ce caractère.

1711* **Scripts** : utilisez un fichier `.cmd` ou `.bat`, que Desktop exécute via `cmd.exe`. Même entre guillemets, le chemin du fichier ne peut pas contenir `&`, `^` ou `;`. Dans un fichier que vous écrivez, lisez les arguments avec `%*`, car `%1` à `%9` scindent un argument au niveau de `,` et `=`.

1712* **Environnement** : le programme reçoit les variables d'environnement de l'application Desktop, et non celles d'un profil de shell. Après avoir modifié une variable, quittez et rouvrez Desktop.

1713* **Test** : pour voir la sortie que Desktop lit, exécutez la commande dans l'invite de commandes. Placez un chemin contenant un espace entre guillemets doubles et utilisez `NUL` pour l'absence d'entrée, comme dans `"C:\Program Files\Acme\acme-dev.exe" create < NUL > host.txt`. Le fichier ne doit contenir que l'hôte. Le test crée également une machine ; supprimez-la donc ensuite avec votre outil.

1714 

1715##### Encapsuler un outil Windows qui affiche d'autres lignes

1716 

1717Si votre outil affiche d'autres lignes avant l'hôte, comme des messages de progression, encapsulez-le dans un fichier batch qui n'affiche que l'hôte. Le fichier suivant affiche la dernière ligne de la sortie de votre outil, et se termine avec le code de votre outil en cas d'échec :

1718 

1719```batch make-devbox.cmd theme={null}

1720@echo off

1721setlocal

1722set "host="

1723set "out=%TEMP%\acme-dev-%RANDOM%.txt"

1724call "C:\Program Files\Acme\acme-dev.exe" create > "%out%"

1725set "code=%ERRORLEVEL%"

1726for /f "usebackq delims=" %%L in ("%out%") do set "host=%%L"

1727del "%out%"

1728if not "%code%"=="0" exit /b %code%

1729setlocal EnableDelayedExpansion

1730echo(!host!

1731```

1732 

1733Définissez `command` sur le chemin complet du fichier, comme `C:\\tools\\make-devbox.cmd` en JSON. Conservez ses deux dernières lignes telles quelles, car elles affichent l'hôte sans l'exécuter comme une commande.

1734 

1683##### Se connecter à un nouvel hôte1735##### Se connecter à un nouvel hôte

1684 1736 

1685Répondez à deux questions lors de votre première connexion à chaque nouvel hôte :1737Répondez à deux questions lors de votre première connexion à chaque nouvel hôte :

1686 1738 

1687* **Clé d'hôte** : avec la vérification de clé d'hôte par défaut d'OpenSSH, vérifiez l'empreinte de la clé, puis choisissez de vous connecter ou non. Pour éviter la question, faites en sorte que votre commande ajoute la clé à `~/.ssh/known_hosts` avant d'afficher l'hôte, en utilisant une clé que votre outil a obtenue lors de la création de la machine. Pour un port autre que 22, cette ligne commence par `[host]:port`. Si votre outil réutilise des noms d'hôte, supprimez aussi la ligne de l'ancienne clé.1739* **Clé d'hôte** : avec la vérification des clés d'hôte par défaut d'OpenSSH, vérifiez l'empreinte de la clé, puis choisissez de vous connecter ou non. Pour éviter la question, faites en sorte que votre commande ajoute la clé à `~/.ssh/known_hosts`, ou `%USERPROFILE%\.ssh\known_hosts` sur Windows, avant d'afficher l'hôte :

1740 * Utilisez une clé que votre outil a obtenue lors de la création de la machine

1741 * Pour un port autre que 22, commencez la ligne par `[host]:port`

1742 * Si votre outil réutilise des noms d'hôte, supprimez également la ligne de l'ancienne clé

1688* **Dossier** : choisissez si vous faites confiance au dossier que vous y ouvrez1743* **Dossier** : choisissez si vous faites confiance au dossier que vous y ouvrez

1689 1744 

1690Laissez la vérification de clé d'hôte activée pour ces hôtes, et conservez un fichier `known_hosts` pour eux. Si `StrictHostKeyChecking` vaut `no` ou `accept-new` et que `UserKnownHostsFile` vaut également `/dev/null` ou `none`, rien n'enregistre la clé. Lorsque votre outil réutilise ensuite un nom, vous pouvez vous connecter à une autre machine sans avertissement.1745Laissez la vérification de clé d'hôte activée pour ces hôtes, et conservez un fichier `known_hosts` pour eux. Si `StrictHostKeyChecking` vaut `no` ou `accept-new` et que `UserKnownHostsFile` vaut également `/dev/null` ou `none`, rien n'enregistre la clé. Lorsque votre outil réutilise ensuite un nom, vous pouvez vous connecter à une autre machine sans avertissement.


1746 1801 

1747* **Où placer la clé** : si votre stratégie MDM pour Claude Code définit déjà une [clé de stratégie](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources), placez-la là. Sinon, placez-la dans le fichier de paramètres gérés. Par défaut, une telle stratégie prime sur le fichier, et Desktop ignore alors les entrées du fichier. Définissez-la sur l'ordinateur même lorsque des [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) s'appliquent : Desktop y ignore la clé, ainsi que dans les paramètres de projet et locaux.1802* **Où placer la clé** : si votre stratégie MDM pour Claude Code définit déjà une [clé de stratégie](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources), placez-la là. Sinon, placez-la dans le fichier de paramètres gérés. Par défaut, une telle stratégie prime sur le fichier, et Desktop ignore alors les entrées du fichier. Définissez-la sur l'ordinateur même lorsque des [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) s'appliquent : Desktop y ignore la clé, ainsi que dans les paramètres de projet et locaux.

1748* **L'`id`** : si l'entrée `sshHostCommands` d'un utilisateur possède votre `id`, seule la vôtre fonctionne. Si une autre connexion SSH le possède, comme une connexion dans les `sshConfigs` d'un utilisateur, votre entrée est grisée. Choisissez un `id` que les utilisateurs ont peu de chances de choisir.1803* **L'`id`** : si l'entrée `sshHostCommands` d'un utilisateur possède votre `id`, seule la vôtre fonctionne. Si une autre connexion SSH le possède, comme une connexion dans les `sshConfigs` d'un utilisateur, votre entrée est grisée. Choisissez un `id` que les utilisateurs ont peu de chances de choisir.

1749* **Le programme** : indiquez son chemin complet, car Desktop recherche un nom seul dans le `PATH` propre à chaque utilisateur. Le programme s'exécute sous l'utilisateur, avec les variables que son shell de connexion exporte.1804* **Le programme** : indiquez son chemin complet, car sur macOS et Linux, Desktop recherche un nom seul dans le `PATH` de chaque utilisateur, et sur Windows, une entrée avec un nom seul est grisée. Le programme s'exécute en tant qu'utilisateur, avec [les variables de cet utilisateur](#write-the-command).

1805* **Chaque plateforme** : déployez une entrée sur les ordinateurs Windows et une autre sur les ordinateurs macOS et Linux. Une entrée avec un [chemin Windows](#write-the-command-on-windows) est grisée sur macOS et Linux, et une entrée avec un chemin macOS ou Linux est grisée sur Windows.

1750* **Les entrées propres aux utilisateurs** : Desktop traite l'entrée d'un utilisateur comme un [hook](https://code.claude.com/docs/fr/hooks.md), car tous deux exécutent un programme sur l'ordinateur. Pour n'autoriser que vos entrées, définissez [`strictPluginOnlyCustomization`](https://code.claude.com/docs/fr/settings-reference#strictpluginonlycustomization) sur `["hooks"]`, ou ajoutez `"hooks"` à sa liste. Vous bloquez également les hooks Claude Code provenant des paramètres utilisateur, projet et locaux, sans moyen de les conserver. Si vous définissez plutôt cette clé ou [`allowManagedHooksOnly`](https://code.claude.com/docs/fr/settings-reference#allowmanagedhooksonly) sur `true`, vous bloquez davantage, comme l'indique l'entrée de chaque clé.1806* **Les entrées propres aux utilisateurs** : Desktop traite l'entrée d'un utilisateur comme un [hook](https://code.claude.com/docs/fr/hooks.md), car tous deux exécutent un programme sur l'ordinateur. Pour n'autoriser que vos entrées, définissez [`strictPluginOnlyCustomization`](https://code.claude.com/docs/fr/settings-reference#strictpluginonlycustomization) sur `["hooks"]`, ou ajoutez `"hooks"` à sa liste. Vous bloquez également les hooks Claude Code provenant des paramètres utilisateur, projet et locaux, sans moyen de les conserver. Si vous définissez plutôt cette clé ou [`allowManagedHooksOnly`](https://code.claude.com/docs/fr/settings-reference#allowmanagedhooksonly) sur `true`, vous bloquez davantage, comme l'indique l'entrée de chaque clé.

1751* **Toutes les entrées** : pour désactiver également vos entrées, définissez [`disableAllHooks`](https://code.claude.com/docs/fr/settings-reference#disableallhooks) dans les paramètres gérés. Si vous définissez [`disableDesktopLocalSessions`](https://code.claude.com/docs/fr/settings-reference#disabledesktoplocalsessions), ou une `sshHostAllowlist` qui n'autorise aucun hôte, le sélecteur ne liste aucun élément **Create** ni **Create another**.1807* **Toutes les entrées** : pour désactiver également vos entrées, définissez [`disableAllHooks`](https://code.claude.com/docs/fr/settings-reference#disableallhooks) dans les paramètres gérés. Si vous définissez [`disableDesktopLocalSessions`](https://code.claude.com/docs/fr/settings-reference#disabledesktoplocalsessions), ou une `sshHostAllowlist` qui n'autorise aucun hôte, le sélecteur ne liste aucun élément **Create** ni **Create another**.

1752* **Où les verrous comptent** : pour ces entrées, Desktop lit `allowManagedHooksOnly`, `strictPluginOnlyCustomization` et `disableAllHooks` à partir des paramètres gérés par le serveur et du fichier ou de la stratégie propre à l'ordinateur, et applique le résultat le plus strict. Toutes les entrées restent grisées tant que Desktop n'a pas vérifié sur claude.ai la présence de paramètres gérés par le serveur, même si votre organisation n'en a aucun.1808* **Où les verrous comptent** : pour ces entrées, Desktop lit `allowManagedHooksOnly`, `strictPluginOnlyCustomization` et `disableAllHooks` à partir des paramètres gérés par le serveur et du fichier ou de la stratégie propre à l'ordinateur, et applique le résultat le plus strict. Toutes les entrées restent grisées tant que Desktop n'a pas vérifié sur claude.ai la présence de paramètres gérés par le serveur, même si votre organisation n'en a aucun.


1759Le sélecteur d'environnement ne liste aucun élément **Create** ni **Create another** dans ces cas :1815Le sélecteur d'environnement ne liste aucun élément **Create** ni **Create another** dans ces cas :

1760 1816 

1761* **Le fichier** : `~/.claude/settings.json` contient [du JSON non valide ou une valeur que le schéma rejette](https://code.claude.com/docs/fr/settings.md#fix-a-broken-settings-file), vous avez mal orthographié la clé, ou vous l'avez placée dans les paramètres d'un projet. Corrigez le fichier.1817* **Le fichier** : `~/.claude/settings.json` contient [du JSON non valide ou une valeur que le schéma rejette](https://code.claude.com/docs/fr/settings.md#fix-a-broken-settings-file), vous avez mal orthographié la clé, ou vous l'avez placée dans les paramètres d'un projet. Corrigez le fichier.

1762* **Plateforme et compte** : vous utilisez Windows, ou un [fournisseur tiers](https://code.claude.com/docs/fr/third-party-integrations.md) au lieu d'un compte Claude. Ajoutez vous-même chaque hôte comme [connexion SSH](#ssh-sessions).1818* **Compte** : vous utilisez un [fournisseur tiers](https://code.claude.com/docs/fr/third-party-integrations.md) au lieu d'un compte Claude. Ajoutez vous-même chaque hôte en tant que [connexion SSH](#ssh-sessions).

1819* **Windows** : Desktop est antérieur à v4.16336.0, ou il ne se connecte pas via le client OpenSSH. Mettez à jour Desktop et remplissez [les conditions requises pour le client OpenSSH](#use-your-ssh-configuration), puis quittez et rouvrez Desktop.

1763* **Les paramètres de votre organisation** : votre administrateur a désactivé les sessions locales ou les sessions SSH. Demandez-lui si vous pouvez utiliser des commandes.1820* **Les paramètres de votre organisation** : votre administrateur a désactivé les sessions locales ou les sessions SSH. Demandez-lui si vous pouvez utiliser des commandes.

1764* **Pas de programme `ssh`** : Desktop n'a pas pu démarrer le client OpenSSH sur votre ordinateur. Installez-le, ou demandez à votre administrateur de l'autoriser, puis redémarrez Desktop.1821* **Pas de programme `ssh`** : Desktop n'a pas pu démarrer le client OpenSSH sur votre ordinateur. Installez-le, ou demandez à votre administrateur de l'autoriser, puis redémarrez Desktop.

1765 1822 

1766Une entrée que vous ne pouvez pas sélectionner est grisée. Survolez-la pour en voir la raison :1823Une entrée que vous ne pouvez pas sélectionner est grisée. Survolez-la pour en voir la raison :

1767 1824 

1768* **Une erreur dans l'entrée** : corrigez le champ ou la commande que le message nomme. Si l'`id` est déjà utilisé, donnez-en un autre à l'entrée.1825* **Une erreur dans l'entrée** : corrigez le champ ou la commande que le message nomme. Si l'`id` est déjà utilisé, donnez-en un autre à l'entrée. Sur Windows, la commande doit [commencer par le chemin complet du programme](#write-the-command-on-windows).

1769* **Un fichier de paramètres défectueux** : tant que votre propre fichier de paramètres est défectueux, les entrées de votre administrateur peuvent être grisées, avec un message qui nomme le fichier. [Corrigez le fichier](https://code.claude.com/docs/fr/settings.md#fix-a-broken-settings-file).1826* **Un fichier de paramètres défectueux** : tant que votre propre fichier de paramètres est défectueux, les entrées de votre administrateur peuvent être grisées, avec un message qui nomme le fichier. [Corrigez le fichier](https://code.claude.com/docs/fr/settings.md#fix-a-broken-settings-file).

1770* **Un nouvel hôte** : [**Create another**](#create-another-machine) est grisé pendant une minute après que Desktop a enregistré un hôte. Sélectionnez-le une fois cette minute écoulée. Avant Claude Desktop v4.4212.0, **Replace Dev box's host** est grisé pendant 10 minutes.1827* **Un nouvel hôte** : [**Create another**](#create-another-machine) est grisé pendant une minute après que Desktop a enregistré un hôte. Sélectionnez-le une fois cette minute écoulée. Avant Claude Desktop v4.4212.0, **Replace Dev box's host** est grisé pendant 10 minutes.

1771* **Les hooks sont désactivés ou restreints** : vos propres entrées ne fonctionnent que là où vos propres hooks peuvent s'exécuter. Supprimez `disableAllHooks` de vos paramètres, ou contactez votre administrateur.1828* **Les hooks sont désactivés ou restreints** : vos propres entrées ne fonctionnent que là où vos propres hooks peuvent s'exécuter. Supprimez `disableAllHooks` de vos paramètres, ou contactez votre administrateur.


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

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

1942| `sshConfigs` | pré-configurez les [connexions SSH](#pre-configure-ssh-connections-for-your-team) qui apparaissent dans le sélecteur d'environnement. Les utilisateurs ne peuvent pas supprimer les connexions gérées ni modifier quoi que ce soit d'autre que leur propre **Worktree folder**. |1999| `sshConfigs` | pré-configurez les [connexions SSH](#pre-configure-ssh-connections-for-your-team) qui apparaissent dans le sélecteur d'environnement. Les utilisateurs ne peuvent pas supprimer les connexions gérées ni modifier quoi que ce soit d'autre que leur propre **Worktree folder**. |

1943| `sshHostCommands` | fournissez aux utilisateurs des [connexions SSH dont l'hôte provient d'une commande](#distribute-commands-to-your-team), en plus des leurs. Desktop le lit à partir du fichier de paramètres gérés ou de la politique MDM sur l'ordinateur, et l'ignore dans les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md). Nécessite Claude Desktop v3.6556.0 ou version ultérieure sur macOS ou Linux, avec une connexion via un compte Claude. |2000| `sshHostCommands` | fournissez aux utilisateurs des [connexions SSH dont l'hôte provient d'une commande](#distribute-commands-to-your-team), en plus des leurs. Desktop le lit à partir du fichier de paramètres gérés ou de la politique MDM sur l'ordinateur, et l'ignore dans les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md). Nécessite Claude Desktop v3.6556.0 ou version ultérieure sur macOS ou Linux, ou v4.16336.0 ou version ultérieure sur Windows, avec une connexion via un compte Claude. Sur Windows, Desktop doit également [se connecter via le client OpenSSH](#use-your-ssh-configuration). |

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

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

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

env-vars.md +3 −2

Details

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](https://code.claude.com/docs/fr/llm-gateway). Voir [Amazon Bedrock](https://code.claude.com/docs/fr/amazon-bedrock.md) |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](https://code.claude.com/docs/fr/llm-gateway). Voir [Amazon Bedrock](https://code.claude.com/docs/fr/amazon-bedrock.md) |

140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplace l'URL de l'endpoint Amazon Bedrock Mantle. Voir [Endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#use-the-mantle-endpoint) |140| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplace l'URL de l'endpoint Amazon Bedrock Mantle. Voir [Endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#use-the-mantle-endpoint) |

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](https://code.claude.com/docs/fr/amazon-bedrock.md#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](https://code.claude.com/docs/fr/amazon-bedrock.md#cross-region-inference-profile-prefixes) |

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

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

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

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


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](https://code.claude.com/docs/fr/amazon-bedrock.md) 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](https://code.claude.com/docs/fr/amazon-bedrock.md#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](https://code.claude.com/docs/fr/amazon-bedrock.md) 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](https://code.claude.com/docs/fr/amazon-bedrock.md#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 |

239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Définissez sur `1` pour arrêter le travail en cours d'une [session en arrière-plan](https://code.claude.com/docs/fr/agent-view.md) lorsque le [superviseur](https://code.claude.com/docs/fr/agent-view.md#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 d'exécution 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`](https://code.claude.com/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 version ultérieure |239| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Définissez sur `1` pour arrêter le travail en cours d'une [session en arrière-plan](https://code.claude.com/docs/fr/agent-view.md) lorsque le [superviseur](https://code.claude.com/docs/fr/agent-view.md#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 d'exécution 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`](https://code.claude.com/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 version ultérieure |

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](https://code.claude.com/docs/fr/interactive-mode.md#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](https://code.claude.com/docs/fr/interactive-mode.md#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 |

241| `CLAUDE_CODE_DISABLE_BG_STABLE_PATH` | Sous macOS avec l'installateur natif, définissez `1` pour exécuter le processus hôte de chaque [session en arrière-plan](https://code.claude.com/docs/fr/agent-view.md) depuis le binaire installé, et non depuis `~/.local/share/claude/ClaudeCode.app`. macOS peut alors redemander des permissions comme l'[accès aux dossiers](https://code.claude.com/docs/fr/agent-view.md#background-sessions-can’t-read-desktop-documents-or-downloads-on-macos), y compris après chaque mise à jour. Définissez-la dans le [bloc `env`](#in-settings-files) des paramètres utilisateur, d'un fichier de paramètres gérés ou d'une politique MDM, et non dans votre shell. Pour supprimer `ClaudeCode.app`, supprimez-le vous-même. Nécessite Claude Code v2.1.295 ou ultérieur |

241| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Définissez sur `1` pour désactiver les [skills](https://code.claude.com/docs/fr/skills.md) 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`](https://code.claude.com/docs/fr/settings-reference#disablebundledskills) |242| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Définissez sur `1` pour désactiver les [skills](https://code.claude.com/docs/fr/skills.md) 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`](https://code.claude.com/docs/fr/settings-reference#disablebundledskills) |

242| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Pour les hôtes qui intègrent Claude Code et fournissent leurs propres consignes de navigation. Définissez `1` pour conserver les outils de navigateur [Claude in Chrome](https://code.claude.com/docs/fr/chrome.md) tout en omettant la section Chrome du prompt système et le [skill fourni](https://code.claude.com/docs/fr/skills.md#bundled-skills) `/claude-in-chrome`. Dans VS Code, l'extension en v2.1.314 ou ultérieure omet également les instructions de Claude in Chrome des messages d'une session. Nécessite Claude Code v2.1.257 ou ultérieur |243| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Pour les hôtes qui intègrent Claude Code et fournissent leurs propres consignes de navigation. Définissez `1` pour conserver les outils de navigateur [Claude in Chrome](https://code.claude.com/docs/fr/chrome.md) tout en omettant la section Chrome du prompt système et le [skill fourni](https://code.claude.com/docs/fr/skills.md#bundled-skills) `/claude-in-chrome`. Dans VS Code, l'extension en v2.1.314 ou ultérieure omet également les instructions de Claude in Chrome des messages d'une session. Nécessite Claude Code v2.1.257 ou ultérieur |

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


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

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

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

315| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Définir sur `1` pour ignorer l'installation automatique des extensions IDE. Équivaut à définir [`autoInstallIdeExtension`](https://code.claude.com/docs/fr/settings-reference#autoinstallideextension) sur `false` |316| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Définissez sur `1` pour empêcher `/ide` d'installer l'extension IDE. Équivaut à définir [`autoInstallIdeExtension`](https://code.claude.com/docs/fr/settings-reference#autoinstallideextension) sur `false` |

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

317| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | Taille du contexte, en tokens, à partir de laquelle la [compaction en cas d'inactivité](https://code.claude.com/docs/fr/settings-reference.md#idlecompaction) s'applique à une conversation (par défaut : `200000`). Accepte un nombre entier positif ; toute autre valeur est ignorée. Les valeurs inférieures à `100000` sont relevées à `100000`, le seuil le plus bas. La compaction en cas d'inactivité est activée par défaut pour les conversations qui remplissent ses conditions. Pour la désactiver, définissez `idleCompaction` sur `false`. Nécessite Claude Code v2.1.290 ou ultérieure |318| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | Taille du contexte, en tokens, à partir de laquelle la [compaction en cas d'inactivité](https://code.claude.com/docs/fr/settings-reference.md#idlecompaction) s'applique à une conversation (par défaut : `200000`). Accepte un nombre entier positif ; toute autre valeur est ignorée. Les valeurs inférieures à `100000` sont relevées à `100000`, le seuil le plus bas. La compaction en cas d'inactivité est activée par défaut pour les conversations qui remplissent ses conditions. Pour la désactiver, définissez `idleCompaction` sur `false`. Nécessite Claude Code v2.1.290 ou ultérieure |

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

errors.md +144 −4

Details

55| `spend limit reached` / `spend limit unavailable` | [Limites d'utilisation](#spend-limit-reached) |55| `spend limit reached` / `spend limit unavailable` | [Limites d'utilisation](#spend-limit-reached) |

56| `Not logged in · Please run /login` | [Authentification](#not-logged-in) |56| `Not logged in · Please run /login` | [Authentification](#not-logged-in) |

57| `Couldn't save your login` | [Authentification](#couldnt-save-your-login) |57| `Couldn't save your login` | [Authentification](#couldnt-save-your-login) |

58| `Sign in again to take your previous account or API key off the config file.` | [Authentification](#sign-in-again-to-take-your-previous-account-or-api-key-off-the-config-file) |

59| `Your account or API key may still be in the config file. Run claude auth logout.` | [Authentification](#your-account-or-api-key-may-still-be-in-the-config-file) |

58| `Authentication required · Sign in again to continue` | [Authentification](#not-logged-in) |60| `Authentication required · Sign in again to continue` | [Authentification](#not-logged-in) |

59| `Could not resolve authentication method` | [Authentification](#could-not-resolve-authentication-method) |61| `Could not resolve authentication method` | [Authentification](#could-not-resolve-authentication-method) |

60| `Invalid API key` | [Authentification](#invalid-api-key) |62| `Invalid API key` | [Authentification](#invalid-api-key) |


82| `Couldn't verify your organization's policy for remote control` | [Dépannage de Remote Control](https://code.claude.com/docs/fr/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |84| `Couldn't verify your organization's policy for remote control` | [Dépannage de Remote Control](https://code.claude.com/docs/fr/remote-control.md#couldnt-verify-your-organizations-policy-for-remote-control) |

83| `Remote Control is disabled by your organization's policy` | [Dépannage de Remote Control](https://code.claude.com/docs/fr/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |85| `Remote Control is disabled by your organization's policy` | [Dépannage de Remote Control](https://code.claude.com/docs/fr/remote-control.md#remote-control-is-disabled-by-your-organizations-policy) |

84| `Remote Control was turned off by your organization's policy` | [Dépannage de Remote Control](https://code.claude.com/docs/fr/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |86| `Remote Control was turned off by your organization's policy` | [Dépannage de Remote Control](https://code.claude.com/docs/fr/remote-control.md#remote-control-was-turned-off-by-your-organizations-policy) |

87| `Session failed: working folder not found:` | [Dépanner Remote Control](https://code.claude.com/docs/fr/remote-control.md#working-folder-not-found) |

88| `The program file this Remote Control started from is gone` | [Dépanner Remote Control](https://code.claude.com/docs/fr/remote-control.md#program-file-is-gone) |

89| `Session failed: spawn error:` suivi d'un message `ENOENT` | [Dépanner Remote Control](https://code.claude.com/docs/fr/remote-control.md#program-file-is-gone) |

85| `OAuth token revoked` / `OAuth token has expired` | [Authentification](#oauth-token-revoked-or-expired) |90| `OAuth token revoked` / `OAuth token has expired` | [Authentification](#oauth-token-revoked-or-expired) |

86| `Failed to authenticate: OAuth token revoked` | [Authentification](#oauth-token-revoked-or-expired) |91| `Failed to authenticate: OAuth token revoked` | [Authentification](#oauth-token-revoked-or-expired) |

87| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Authentification](#oauth-token-revoked-or-expired) |92| `Your account does not have access to Claude. Please login again or contact your administrator.` | [Authentification](#oauth-token-revoked-or-expired) |


165| `Request too large for the API's 32MB request limit` | [Erreurs de requête](#request-too-large) |170| `Request too large for the API's 32MB request limit` | [Erreurs de requête](#request-too-large) |

166| `Image was too large` | [Erreurs de requête](#image-was-too-large) |171| `Image was too large` | [Erreurs de requête](#image-was-too-large) |

167| `API Error: an image in the conversation could not be processed and was removed` | [Erreurs de requête](#image-was-too-large) |172| `API Error: an image in the conversation could not be processed and was removed` | [Erreurs de requête](#image-was-too-large) |

173| `An image in the conversation exceeds the dimension limit for many-image requests` | [Erreurs de requête](#image-was-too-large) |

168| `Unable to resize image` | [Erreurs de requête](#unable-to-resize-image) |174| `Unable to resize image` | [Erreurs de requête](#unable-to-resize-image) |

169| `Request rejected as unprocessable by the model` | [Erreurs de requête](#request-rejected-as-unprocessable-by-the-model) |175| `Request rejected as unprocessable by the model` | [Erreurs de requête](#request-rejected-as-unprocessable-by-the-model) |

170| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Erreurs de requête](#pdf-errors) |176| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Erreurs de requête](#pdf-errors) |


229| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Erreurs de ligne de commande](#invalid-agents-configuration) |235| `Error: --agents takes a JSON object, or a file path only with --print (-p)` | [Erreurs de ligne de commande](#invalid-agents-configuration) |

230| `Error: --agents file not found` | [Erreurs de ligne de commande](#invalid-agents-configuration) |236| `Error: --agents file not found` | [Erreurs de ligne de commande](#invalid-agents-configuration) |

231| `Error: Settings file exceeds the 2MiB limit` | [Erreurs de ligne de commande](#settings-file-exceeds-the-2mib-limit) |237| `Error: Settings file exceeds the 2MiB limit` | [Erreurs de ligne de commande](#settings-file-exceeds-the-2mib-limit) |

238| `Configuration error in` | [Erreurs de ligne de commande](#configuration-error-in-claude-json) |

239| `Claude configuration file at <path> was empty and no backup holds anything: starting with defaults.` | [Erreurs de ligne de commande](#claude-configuration-file-was-empty) |

232| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Erreurs de ligne de commande](#the-current-directory-no-longer-exists) |240| `The current directory no longer exists (it was deleted or moved)` / `Can't read the current directory` | [Erreurs de ligne de commande](#the-current-directory-no-longer-exists) |

233| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [Erreurs de ligne de commande](#temp-directory-refused-or-cannot-be-created) |241| `Temp directory <dir> ... Refusing to use it` / `Claude Code's temporary directory <dir> could not be created` | [Erreurs de ligne de commande](#temp-directory-refused-or-cannot-be-created) |

234| `ENOSPC: no space left on device, mkdir '<dir>'` | [Erreurs de ligne de commande](#temp-directory-refused-or-cannot-be-created) |242| `ENOSPC: no space left on device, mkdir '<dir>'` | [Erreurs de ligne de commande](#temp-directory-refused-or-cannot-be-created) |


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

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

254| `No available ports for OAuth redirect` | [Erreurs de ligne de commande](#no-available-ports-for-oauth-redirect) |262| `No available ports for OAuth redirect` | [Erreurs de ligne de commande](#no-available-ports-for-oauth-redirect) |

255| `Shell command failed for pattern "..."`, depuis `/security-review` ou tout skill qui injecte du contexte dynamique | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |263| `Shell command failed for pattern "..."`, provenant de `/security-review` ou de tout skill qui injecte du contexte dynamique | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |

256| `Shell command permission check failed for pattern "..."`, provenant d'un skill qui injecte du contexte dynamique | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |264| `Shell command permission check failed for pattern "..."`, provenant d'un skill qui injecte du contexte dynamique | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |

257| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |265| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |

258| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [Erreurs de ligne de commande](#no-shell-command-was-run) |266| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [Erreurs de ligne de commande](#no-shell-command-was-run) |


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

335| `Path contains null bytes` | [Erreurs d'outil](#path-cannot-contain-null-bytes) |343| `Path contains null bytes` | [Erreurs d'outil](#path-cannot-contain-null-bytes) |

336| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Erreurs d'outil](#command-contains-an-invisible-character) |344| `command contains the invisible character U+FEFF (byte order mark) or U+180E (Mongolian vowel separator), and was not run` | [Erreurs d'outil](#command-contains-an-invisible-character) |

345| `This call was not run. The command was approved before Claude Code restarted` | [Erreurs d'outil](#command-approved-before-a-restart-was-not-run) |

337| `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) |346| `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) |

338| `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) |347| `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) |

339| `subagent_type is required: the general-purpose agent is not available in this session` | [Erreurs d'outil](#subagent-type-is-required) |348| `subagent_type is required: the general-purpose agent is not available in this session` | [Erreurs d'outil](#subagent-type-is-required) |


420| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Avertissements de configuration](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |429| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Avertissements de configuration](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

421| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Avertissements de configuration](#skill-or-command-name-refused) |430| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Avertissements de configuration](#skill-or-command-name-refused) |

422| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Avertissements de configuration](#workspace-has-not-been-trusted) |431| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Avertissements de configuration](#workspace-has-not-been-trusted) |

432| `Make this change again later: <path> could not be updated, so it applies to this session only` | [Avertissements de configuration](#make-this-change-again-later) |

423| `is a network path, which cannot be added as a working directory` | [Avertissements de configuration](#working-directory-is-a-network-path) |433| `is a network path, which cannot be added as a working directory` | [Avertissements de configuration](#working-directory-is-a-network-path) |

424| `Remote managed settings failed to load (<cause>)` | [Avertissements de configuration](#remote-managed-settings-failed-to-load) |434| `Remote managed settings failed to load (<cause>)` | [Avertissements de configuration](#remote-managed-settings-failed-to-load) |

435| `Your organization requires remote managed settings to load, but they could not be loaded` | [Imposer un démarrage en mode fail-closed](https://code.claude.com/docs/fr/server-managed-settings.md#enforce-fail-closed-startup) |

436| `Remote managed settings are still loading` | [Avertissements de configuration](#remote-managed-settings-failed-to-load) |

437| `Remote managed settings did not load` | [Avertissements de configuration](#remote-managed-settings-failed-to-load) |

438| `Claude Code couldn't load your organization's settings` / `Claude Code couldn't reach Anthropic to load your organization's settings` / `requires them before a session can start` | [Avertissements de configuration](#couldnt-load-your-organizations-settings) |

439| `Claude Code can't start this session yet` | [Avertissements de configuration](#couldnt-load-your-organizations-settings) |

440| `Your Claude session has expired. Sign in again to continue (claude auth login).` | [Avertissements de configuration](#couldnt-load-your-organizations-settings) |

425| `Managed settings were not approved; exiting without applying them.` | [Avertissements de configuration](#managed-settings-were-not-approved) |441| `Managed settings were not approved; exiting without applying them.` | [Avertissements de configuration](#managed-settings-were-not-approved) |

426| `Your organization's managed settings need your approval, which couldn't be asked for here.` | [Avertissements de configuration](#managed-settings-need-your-approval) |442| `Your organization's managed settings need your approval, which couldn't be asked for here.` | [Avertissements de configuration](#managed-settings-need-your-approval) |

427| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [Avertissements de configuration](#managed-settings-block-the-default-model) |443| `Claude Code can't start: your organization's managed settings block the default model` / `Claude Code can't start: your organization allows only the models listed in "availableModels"` | [Avertissements de configuration](#managed-settings-block-the-default-model) |


454| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [Avertissements de configuration](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |470| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [Avertissements de configuration](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |

455| `Sandbox mask files left behind at write-deny paths` | [Avertissements de configuration](#stale-sandbox-mask-files-left-by-a-killed-session) |471| `Sandbox mask files left behind at write-deny paths` | [Avertissements de configuration](#stale-sandbox-mask-files-left-by-a-killed-session) |

456| `Stale sandbox mask files left by a killed session` | [Avertissements de configuration](#stale-sandbox-mask-files-left-by-a-killed-session) |472| `Stale sandbox mask files left by a killed session` | [Avertissements de configuration](#stale-sandbox-mask-files-left-by-a-killed-session) |

473| `Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here` | [Dépannage du sandboxing](https://code.claude.com/docs/fr/sandboxing.md#apparmor-restriction-stops-bubblewrap) |

474| `bwrap: setting up uid map: Permission denied` / `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` | [Dépannage du sandboxing](https://code.claude.com/docs/fr/sandboxing.md#bwrap-uid-map-permission-denied) |

457| Les réponses semblent être de qualité inférieure à la normale | [Qualité des réponses](#responses-seem-lower-quality-than-usual) |475| Les réponses semblent être de qualité inférieure à la normale | [Qualité des réponses](#responses-seem-lower-quality-than-usual) |

458 476 

459## Tentatives automatiques477## Tentatives automatiques


1031* Exécutez `/login` pour vous authentifier avec votre abonnement Claude ou votre compte Console1049* Exécutez `/login` pour vous authentifier avec votre abonnement Claude ou votre compte Console

1032* Si vous vous attendiez à ce qu'une variable d'environnement vous authentifie, vérifiez que `ANTHROPIC_API_KEY` est définie et exportée dans le shell où vous avez lancé `claude`1050* Si vous vous attendiez à ce qu'une variable d'environnement vous authentifie, vérifiez que `ANTHROPIC_API_KEY` est définie et exportée dans le shell où vous avez lancé `claude`

1033* Pour la CI ou l'automatisation où la connexion interactive n'est pas possible, configurez un script [`apiKeyHelper`](https://code.claude.com/docs/fr/settings-reference#apikeyhelper) qui récupère une clé au démarrage1051* Pour la CI ou l'automatisation où la connexion interactive n'est pas possible, configurez un script [`apiKeyHelper`](https://code.claude.com/docs/fr/settings-reference#apikeyhelper) qui récupère une clé au démarrage

1052* Si des tâches `claude -p` se terminent avec ce message lorsque quelqu'un se reconnecte au même compte et à la même organisation claude.ai, mettez à jour Claude Code là où cette connexion s'effectue. Avant la v2.1.318, Claude Code supprimait la connexion enregistrée pendant cette connexion, avant d'enregistrer la nouvelle.

1034* Consultez [Priorité d'authentification](https://code.claude.com/docs/fr/authentication.md#authentication-precedence) pour comprendre quels identifiants Claude Code utilise lorsque plusieurs sont présents1053* Consultez [Priorité d'authentification](https://code.claude.com/docs/fr/authentication.md#authentication-precedence) pour comprendre quels identifiants Claude Code utilise lorsque plusieurs sont présents

1035 1054 

1036Si vous êtes invité à vous connecter à plusieurs reprises, consultez [Non connecté ou jeton expiré](https://code.claude.com/docs/fr/troubleshoot-install.md#not-logged-in-or-token-expired) pour les vérifications de l'horloge système et les étapes de récupération du stockage des identifiants sur macOS.1055Si vous êtes invité à vous connecter à plusieurs reprises, consultez [Non connecté ou jeton expiré](https://code.claude.com/docs/fr/troubleshoot-install.md#not-logged-in-or-token-expired) pour les vérifications de l'horloge système et les étapes de récupération du stockage des identifiants sur macOS.


1441* Sur les autres plateformes, exécutez à nouveau `/login`1460* Sur les autres plateformes, exécutez à nouveau `/login`

1442* Si la connexion ne s'enregistre toujours pas, consultez [Non connecté ou jeton expiré](https://code.claude.com/docs/fr/troubleshoot-install.md#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 identifiants1461* Si la connexion ne s'enregistre toujours pas, consultez [Non connecté ou jeton expiré](https://code.claude.com/docs/fr/troubleshoot-install.md#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

1443 1462 

1463### Sign in again to take your previous account or API key off the config file

1464 

1465Cet avertissement après votre connexion signifie que tout compte avec lequel vous étiez connecté auparavant peut encore être stocké dans [`~/.claude.json`](https://code.claude.com/docs/fr/claude-directory#ce-claude-json) :

1466 

1467```text theme={null}

1468Sign in again to take your previous account or API key off the config file.

1469```

1470 

1471Une clé API peut aussi se trouver encore dans `~/.claude.json` si une connexion Console en a créé une sous Linux ou Windows.

1472 

1473**Que faire :**

1474 

1475* Exécutez `claude auth login` dans votre shell pour vous reconnecter. Claude Code retente alors l'enregistrement qui retire du fichier le compte ou la clé API remplacés.

1476 

1477### Your account or API key may still be in the config file

1478 

1479Vous avez exécuté `/logout` ou `claude auth logout`, et Claude Code a déconnecté ce processus mais n'a pas pu confirmer que [`~/.claude.json`](https://code.claude.com/docs/fr/claude-directory#ce-claude-json) ne contient plus votre compte. Soit l'enregistrement n'a pas abouti, soit le fichier n'a pas pu être relu pour vérification.

1480 

1481```text theme={null}

1482Your account or API key may still be in the config file. Run claude auth logout.

1483```

1484 

1485Une clé API peut aussi se trouver encore dans `~/.claude.json` si une connexion Console en a créé une sous Linux ou Windows.

1486 

1487**Que faire :**

1488 

1489* Exécutez `claude auth logout` dans votre shell pour retenter l'enregistrement. Lorsque l'enregistrement aboutit, la commande affiche `Successfully logged out from your Anthropic account.`

1490 

1444### Couldn't start the local listener that receives the browser sign-in1491### Couldn't start the local listener that receives the browser sign-in

1445 1492 

1446Chacun 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.1493Chacun 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.


2420Image was too large. Double press esc to go back and try again with a smaller image.2467Image was too large. Double press esc to go back and try again with a smaller image.

2421API Error: 400 ... image dimensions exceed max allowed size2468API Error: 400 ... image dimensions exceed max allowed size

2422API Error: an image in the conversation could not be processed and was removed.2469API Error: an image in the conversation could not be processed and was removed.

2470An image in the conversation exceeds the dimension limit for many-image requests (3000px). Run /compact to remove old images from context, or start a new session.

2423```2471```

2424 2472 

2425La ligne `could not be processed and was removed` signifie que l'API a refusé une image de la conversation, par exemple une image dépassant les limites de taille ou de dimensions.2473La ligne `could not be processed and was removed` signifie que l'API a refusé une image de la conversation, par exemple une image dépassant les limites de taille ou de dimensions.


2434 2482 

2435* Redimensionnez l'image avant de la coller. L'API accepte des images jusqu'à 8000 pixels sur le côté le plus long pour une image unique, ou 3000 pixels lorsque plus de 20 images sont dans le contexte.2483* Redimensionnez l'image avant de la coller. L'API accepte des images jusqu'à 8000 pixels sur le côté le plus long pour une image unique, ou 3000 pixels lorsque plus de 20 images sont dans le contexte.

2436* Prenez une capture d'écran plus resserrée de la zone pertinente au lieu de l'écran entier2484* Prenez une capture d'écran plus resserrée de la zone pertinente au lieu de l'écran entier

2485* Pour le message `dimension limit for many-image requests`, exécutez `/compact` dans le prompt de Claude Code si le message le mentionne, ou démarrez une nouvelle session avec moins d'images

2486 

2487Le message `dimension limit for many-image requests` indique la limite en pixels mentionnée dans l'erreur de l'API.

2437 2488 

2438### Unable to resize image2489### Unable to resize image

2439 2490 


3223 3274 

3224* Faites pointer `--settings` vers un fichier de paramètres JSON ordinaire de moins de 2 MiB. Consultez [Paramètres](https://code.claude.com/docs/fr/settings.md) pour le format.3275* Faites pointer `--settings` vers un fichier de paramètres JSON ordinaire de moins de 2 MiB. Consultez [Paramètres](https://code.claude.com/docs/fr/settings.md) pour le format.

3225 3276 

3277### Configuration error in \~/.claude.json

3278 

3279Claude Code n'a pas pu analyser `~/.claude.json`, le fichier qui contient les détails de votre compte, vos serveurs MCP et l'état propre à chaque projet. Votre fichier est inchangé. Un démarrage [non interactif](https://code.claude.com/docs/fr/headless.md) tel que `claude -p` se termine avec le code 1 à chaque fois jusqu'à ce que vous répariez le fichier.

3280 

3281Lorsque Claude Code trouve une [sauvegarde](https://code.claude.com/docs/fr/claude-directory.md#cleaned-up-automatically), la sortie la nomme et affiche une ligne `cp` qui la restaure :

3282 

3283```text wrap theme={null}

3284Claude configuration file at /home/user/.claude.json is corrupted: <JSON parser's message>

3285The corrupted file has been backed up to: /home/user/.claude/backups/.claude.json.corrupted.1793664000000

3286A backup file exists at: /home/user/.claude/backups/.claude.json.backup.1793660400000

3287You can manually restore it by running: cp -f "/home/user/.claude/backups/.claude.json.backup.1793660400000" "/home/user/.claude.json"

3288 

3289Configuration error in /home/user/.claude.json: <JSON parser's message>

3290```

3291 

3292**Que faire :**

3293 

3294* **La sortie contient une ligne `cp`** : exécutez cette ligne dans votre terminal. Sous Windows, exécutez-la dans PowerShell. Elle remplace le fichier endommagé par la sauvegarde, une version antérieure de `~/.claude.json`.

3295* **La sortie ne contient pas de ligne `cp`, ou l'erreur revient après l'avoir exécutée** : corrigez le JSON dans `~/.claude.json`, copiez par-dessus un autre fichier `.claude.json.backup.<timestamp>` depuis [`~/.claude/backups/`](https://code.claude.com/docs/fr/claude-directory#cleaned-up-automatically) s'il en existe un, ou renommez-le. Sans fichier à `~/.claude.json`, Claude Code démarre avec les paramètres par défaut et sans rien de ce que contenait le fichier.

3296 

3297Avant la v2.1.318, vous vous retrouviez avec les valeurs par défaut dans `~/.claude.json` après qu'un démarrage non interactif avait affiché cette erreur, donc le démarrage suivant s'exécutait sans votre configuration.

3298 

3299### Claude configuration file was empty and no backup holds anything

3300 

3301Ce message au démarrage signifie que le fichier qu'il nomme était vide et qu'aucune des [copies `.backup`](https://code.claude.com/docs/fr/claude-directory#cleaned-up-automatically) du fichier ne contient quoi que ce soit. Claude Code a démarré avec les valeurs par défaut pour ce que contient ce fichier. Vos fichiers `settings.json` et `.mcp.json` sont des fichiers distincts.

3302 

3303```text wrap theme={null}

3304Claude configuration file at /home/user/.claude.json was empty and no backup holds anything: starting with defaults.

3305```

3306 

3307**Que faire :**

3308 

3309* Reconfigurez ce que vous aviez configuré dans ce fichier. Par exemple, ajoutez vos [serveurs MCP](https://code.claude.com/docs/fr/mcp.md#mcp-installation-scopes) de portée `user` et `local` avec `claude mcp add` depuis votre terminal.

3310* Reconnectez-vous si Claude Code vous le demande

3311 

3312Avant la v2.1.318, Claude Code signalait un fichier vide sans sauvegarde comme [corrompu](#configuration-error-in-claude-json).

3313 

3226### The current directory no longer exists3314### The current directory no longer exists

3227 3315 

3228Vous avez démarré `claude` depuis un répertoire qui a été supprimé ou déplacé après que votre shell y est entré, par exemple un worktree ou un répertoire temporaire supprimé par un autre shell. Claude Code ne peut pas lire son répertoire de travail, donc il se termine avec le code 1 avant de démarrer la session, en mode interactif comme en [mode non interactif](https://code.claude.com/docs/fr/headless.md). Avant la v2.1.239, Claude Code plantait en affichant sur stderr le code source minifié du bundle et une pile brute `ENOENT ... uv_cwd` au lieu de ce message.3316Vous avez démarré `claude` depuis un répertoire qui a été supprimé ou déplacé après que votre shell y est entré, par exemple un worktree ou un répertoire temporaire supprimé par un autre shell. Claude Code ne peut pas lire son répertoire de travail, donc il se termine avec le code 1 avant de démarrer la session, en mode interactif comme en [mode non interactif](https://code.claude.com/docs/fr/headless.md). Avant la v2.1.239, Claude Code plantait en affichant sur stderr le code source minifié du bundle et une pile brute `ENOENT ... uv_cwd` au lieu de ce message.


3626 3714 

3627Des messages apparentés surviennent avant même l'exécution de la commande :3715Des messages apparentés surviennent avant même l'exécution de la commande :

3628 3716 

3629* `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](https://code.claude.com/docs/fr/skills.md#permission-checks-on-injected-commands) indique quels résultats provoquent une interruption dans chaque mode de permission et comment pré-approuver une commande avec `allowed-tools`3717* `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](https://code.claude.com/docs/fr/skills.md#permission-checks-on-injected-commands) couvre quels résultats interrompent l'exécution dans chaque mode de permission et comment pré-approuver une commande avec `allowed-tools`

3630* ``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 s'exécutent les commandes injectées](https://code.claude.com/docs/fr/skills.md#how-injected-commands-run)3718* ``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 s'exécutent les commandes injectées](https://code.claude.com/docs/fr/skills.md#how-injected-commands-run)

3631 3719 

3632**Marche à suivre :**3720**Marche à suivre :**


3780 3868 

3781* **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-dessus3869* **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

3782* **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>`)``3870* **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>`)``

3783* **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 toute 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`.3871* **Vous avez passé une branche de base absente de votre clone** : Claude Code l'a récupérée depuis origin avant de comparer. 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`.

3784 3872 

3785**Que faire :**3873**Que faire :**

3786 3874 


4666* **Pour une commande écrite par Claude** : vous n'avez rien à corriger. Le message indique à Claude comment réécrire la commande.4754* **Pour une commande écrite par Claude** : vous n'avez rien à corriger. Le message indique à Claude comment réécrire la commande.

4667* **Pour un skill ou un fichier de commande** : le message suit `No shell command in <name> was run`. Consultez [où trouver le caractère et le supprimer](#no-shell-command-was-run).4755* **Pour un skill ou un fichier de commande** : le message suit `No shell command in <name> was run`. Consultez [où trouver le caractère et le supprimer](#no-shell-command-was-run).

4668 4756 

4757### Command approved before Claude Code restarted was not run

4758 

4759Une commande shell que vous avez approuvée ne s'est pas exécutée, et Claude reçoit ce message comme résultat de la commande :

4760 

4761```text wrap theme={null}

4762This call was not run. The command was approved before Claude Code restarted, and Claude Code could not confirm that the shell is back in the directory where it was approved. That directory may be gone or replaced, lie outside the directory where the session started, or be one that Claude Code needs approval to enter or is not allowed to examine. The shell's directory is <directory>. If the command still makes sense, cd to the directory it was meant for and make the call again; it may need approval again.

4763```

4764 

4765La troisième phrase du message peut à la place se lire `It does not keep track of that directory across a restart in a session that has been in a worktree.`

4766 

4767**Que faire :**

4768 

4769* Laissez Claude continuer, et répondez à la demande si l'on vous demande d'approuver à nouveau la commande.

4770 

4669### File is too large to read as an image4771### File is too large to read as an image

4670 4772 

4671Claude a essayé de lire un fichier comme une image avec l'[outil Read](https://code.claude.com/docs/fr/tools-reference.md#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 :4773Claude a essayé de lire un fichier comme une image avec l'[outil Read](https://code.claude.com/docs/fr/tools-reference.md#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 :


5818 5920 

5819### Les paramètres gérés à distance n'ont pas pu être chargés5921### Les paramètres gérés à distance n'ont pas pu être chargés

5820 5922 

5821Votre session est éligible pour les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md), mais Claude Code n'a pas pu les récupérer ou n'a pas pu appliquer ce que le serveur a renvoyé, donc il affiche cet avertissement dans les sessions interactives.5923Votre session est éligible pour les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md), mais Claude Code n'a pas pu les récupérer ou n'a pas pu appliquer ce que le serveur a renvoyé, donc il affiche cet avertissement dans les sessions interactives et dans l'onglet Code de Claude Desktop.

5822 5924 

5823La cause entre parenthèses nomme ce qui a échoué, par exemple `network error`, `request timed out`, ou `authentication rejected (401)`. La cause `no setting in the server response could be applied as written` signifie que le serveur a répondu mais aucun des paramètres qu'il a renvoyés n'a réussi la [validation](https://code.claude.com/docs/fr/server-managed-settings.md#invalid-entries-in-delivered-settings). Avant la v2.1.282, cette cause lisait `server returned invalid settings`.5925La cause entre parenthèses nomme ce qui a échoué, par exemple `network error`, `request timed out`, ou `authentication rejected (401)`. La cause `no setting in the server response could be applied as written` signifie que le serveur a répondu mais aucun des paramètres qu'il a renvoyés n'a réussi la [validation](https://code.claude.com/docs/fr/server-managed-settings.md#invalid-entries-in-delivered-settings). Avant la v2.1.282, cette cause lisait `server returned invalid settings`.

5824 5926 


5827* **Paramètres mis en cache à partir d'une récupération antérieure réussie** : Claude Code exécute la session sur cette politique mise en cache, sauf les [variables d'environnement retenues](https://code.claude.com/docs/fr/server-managed-settings.md#fetch-and-caching-behavior), et la ligne lit `using cached policy`.5929* **Paramètres mis en cache à partir d'une récupération antérieure réussie** : Claude Code exécute la session sur cette politique mise en cache, sauf les [variables d'environnement retenues](https://code.claude.com/docs/fr/server-managed-settings.md#fetch-and-caching-behavior), et la ligne lit `using cached policy`.

5828* **Pas de cache** : Claude Code exécute la session sans paramètres gérés par le serveur, et la ligne lit `no remote policy applied`.5930* **Pas de cache** : Claude Code exécute la session sans paramètres gérés par le serveur, et la ligne lit `no remote policy applied`.

5829 5931 

5932Dans l'onglet Code, l'avertissement apparaît comme une ligne dans la conversation quand vous envoyez un message, et une nouvelle ligne apparaît quand l'état de la récupération change. Trois messages associés apparaissent de la même façon :

5933 

5934* `Remote managed settings are still loading` : la récupération était toujours en cours quand la session a poursuivi

5935* `Remote managed settings did not load` : la récupération s'est terminée sans réponse

5936* `Remote managed settings have now loaded` : les paramètres se sont chargés après l'un de ces avertissements, et le reste de la ligne indique si une politique distante s'applique

5937 

5830**À faire :**5938**À faire :**

5831 5939 

5832* Agissez sur la cause que le message nomme : pour une cause réseau, vérifiez que cette machine peut atteindre `api.anthropic.com` ; pour une cause d'authentification, vérifiez votre connexion avec `/status`5940* Agissez sur la cause que le message nomme : pour une cause réseau, vérifiez que cette machine peut atteindre `api.anthropic.com` ; pour une cause d'authentification, vérifiez votre connexion avec `/status`


5835 5943 

5836Avant la v2.1.248, Claude Code ne signalait une récupération de paramètres échouée que dans le journal de débogage.5944Avant la v2.1.248, Claude Code ne signalait une récupération de paramètres échouée que dans le journal de débogage.

5837 5945 

5946### Claude Code n'a pas pu charger les paramètres de votre organisation

5947 

5948Votre session n'a pas démarré, car les paramètres de votre organisation, y compris ses [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md), doivent d'abord être chargés et Claude Code n'a pas pu les charger. Par exemple :

5949 

5950```text theme={null}

5951Claude Code couldn't reach Anthropic to load your organization's settings (could not connect). <Organization name> requires them before a session can start.

5952```

5953 

5954Si le message se trouve dans une boîte de dialogue intitulée `Claude Code can't start this session yet`, la boîte de dialogue se ferme et la session démarre dès que les paramètres sont chargés.

5955 

5956En [mode non interactif](https://code.claude.com/docs/fr/headless.md) et dans les [sessions en arrière-plan](https://code.claude.com/docs/fr/agent-view.md), Claude Code imprime plutôt le message et se ferme avec le statut 1.

5957 

5958**À faire :**

5959 

5960* **`could not connect`, ou `the reply came from a network proxy, not Anthropic`** : vérifiez votre connexion réseau et, sur un réseau d'entreprise, demandez au service informatique d'autoriser le HTTPS vers `api.anthropic.com/api/claude_code/policy_limits` et `api.anthropic.com/api/claude_code/settings`. Sélectionnez ensuite **Retry now**, ou exécutez à nouveau votre commande.

5961* **`timed out`, `Anthropic returned an error`, ou `Anthropic asked it to retry shortly`** : laissez la boîte de dialogue réessayer, ou exécutez à nouveau votre commande plus tard. Consultez [status.anthropic.com](https://status.anthropic.com) si le problème persiste.

5962* **`still loading`, ou `couldn't verify your sign-in with Anthropic yet`** : laissez la boîte de dialogue réessayer, ou exécutez à nouveau votre commande. Si le message de connexion revient sans cesse, reconnectez-vous en exécutant `claude auth login` dans votre shell.

5963* **`Your Claude session has expired`** : la connexion enregistrée sur cette machine n'est plus valide, donc réessayer n'aidera pas. Dans la boîte de dialogue, sélectionnez **Sign in again** pour fermer Claude Code ; puis, dans votre shell, exécutez `claude auth login`, qui fonctionne même quand les sessions ne peuvent pas démarrer.

5964* **`none of the settings the server returned could be applied as written`** : demandez à votre administrateur de corriger les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md#invalid-entries-in-delivered-settings) de l'organisation, puis réessayez.

5965 

5838### Les paramètres gérés n'ont pas été approuvés5966### Les paramètres gérés n'ont pas été approuvés

5839 5967 

5840Les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) de votre organisation incluent des paramètres qui nécessitent votre approbation, et vous avez refusé la [boîte de dialogue d'approbation de sécurité](https://code.claude.com/docs/fr/server-managed-settings.md#security-approval-dialogs), donc Claude Code se ferme sans les appliquer :5968Les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) de votre organisation incluent des paramètres qui nécessitent votre approbation, et vous avez refusé la [boîte de dialogue d'approbation de sécurité](https://code.claude.com/docs/fr/server-managed-settings.md#security-approval-dialogs), donc Claude Code se ferme sans les appliquer :


6294 6422 

6295Avant la v2.1.257, `claude doctor` ne signalait pas ces fichiers ; les versions antérieures laissent les mêmes espaces réservés derrière elles quand une session est tuée.6423Avant la v2.1.257, `claude doctor` ne signalait pas ces fichiers ; les versions antérieures laissent les mêmes espaces réservés derrière elles quand une session est tuée.

6296 6424 

6425### Make this change again later: \~/.claude.json could not be updated

6426 

6427Cet avis sur stderr signifie qu'une modification de [`~/.claude.json`](https://code.claude.com/docs/fr/claude-directory#ce-claude-json), comme une connexion ou une réponse à une demande d'approbation, n'a pas été enregistrée dans le fichier :

6428 

6429```text theme={null}

6430Make this change again later: /home/user/.claude.json could not be updated, so it applies to this session only.

6431```

6432 

6433**À faire :**

6434 

6435* Effectuez à nouveau la modification dans une session ultérieure. Par exemple, exécutez à nouveau `/login` ou répondez à nouveau à la demande d'approbation.

6436 

6297## Les réponses semblent de moins bonne qualité que d'habitude6437## Les réponses semblent de moins bonne qualité que d'habitude

6298 6438 

6299Si les réponses de Claude semblent moins performantes que prévu mais qu'aucune erreur ne s'affiche, la cause est généralement l'état de la conversation plutôt que le modèle lui-même. Claude Code ne change pas de version de modèle silencieusement. Il peut basculer sur un modèle de secours dans les cas suivants :6439Si les réponses de Claude semblent moins performantes que prévu mais qu'aucune erreur ne s'affiche, la cause est généralement l'état de la conversation plutôt que le modèle lui-même. Claude Code ne change pas de version de modèle silencieusement. Il peut basculer sur un modèle de secours dans les cas suivants :

headless.md +3 −1

Details

48 48 

49En mode bare, Claude Code ne lit jamais les identifiants OAuth ou le trousseau système. Pour l'API Anthropic, définissez `ANTHROPIC_API_KEY` dans l'environnement, avec une clé créée dans la [Claude Console](https://platform.claude.com), ou fournissez un `apiKeyHelper` dans le JSON `--settings`. Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry continuent à lire leurs propres identifiants de fournisseur comme d'habitude.49En mode bare, Claude Code ne lit jamais les identifiants OAuth ou le trousseau système. Pour l'API Anthropic, définissez `ANTHROPIC_API_KEY` dans l'environnement, avec une clé créée dans la [Claude Console](https://platform.claude.com), ou fournissez un `apiKeyHelper` dans le JSON `--settings`. Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry continuent à lire leurs propres identifiants de fournisseur comme d'habitude.

50 50 

51En mode bare, Claude a accès aux outils Bash, lecture de fichier et modification de fichier. Passez tout contexte dont vous avez besoin avec un flag :51En mode bare, Claude a accès aux outils Bash, lecture de fichier et modification de fichier. Passez le contexte dont vous avez besoin avec un flag :

52 52 

53| Pour charger | Utilisez |53| Pour charger | Utilisez |

54| - | - |54| - | - |


58| [Agents personnalisés](https://code.claude.com/docs/fr/sub-agents.md#choose-the-subagent-scope) | `--agents <file-or-json>` |58| [Agents personnalisés](https://code.claude.com/docs/fr/sub-agents.md#choose-the-subagent-scope) | `--agents <file-or-json>` |

59| Un plugin | `--plugin-dir <path>`, `--plugin-url <url>` |59| Un plugin | `--plugin-dir <path>`, `--plugin-url <url>` |

60 60 

61Les hooks ne s'exécutent toujours pas en mode bare lorsque vous les passez avec `--settings`, ni lorsqu'ils se trouvent dans le [`hooks/hooks.json`](https://code.claude.com/docs/fr/plugins/components#hooks) ou la [clé de manifeste `hooks`](https://code.claude.com/docs/fr/plugins/manifest-reference#hooks) d'un plugin que vous chargez avec un flag. N'utilisez pas le mode bare pour une exécution qui en a besoin.

62 

61Le mode bare limite également ce qui se passe pendant l'exécution de la session :63Le mode bare limite également ce qui se passe pendant l'exécution de la session :

62 64 

63* **Serveurs MCP** : seuls les serveurs fournis sur la ligne de commande se connectent, par exemple avec `--mcp-config`. Dans une session interactive, Claude Code ignore également la connexion automatique à l'IDE, sauf si vous passez `--ide`.65* **Serveurs MCP** : seuls les serveurs fournis sur la ligne de commande se connectent, par exemple avec `--mcp-config`. Dans une session interactive, Claude Code ignore également la connexion automatique à l'IDE, sauf si vous passez `--ide`.

Details

96Never edit a migration after it has merged. Add a new migration instead.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 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**.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 all`](https://code.claude.com/docs/fr/commands#all-commands) 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 

memory.md +6 −4

Details

67 67 

68### Configurer un CLAUDE.md de projet68### Configurer un CLAUDE.md de projet

69 69 

70Un CLAUDE.md de projet peut être stocké dans `./CLAUDE.md` ou `./.claude/CLAUDE.md`. Créez ce fichier et ajoutez des instructions qui s'appliquent à quiconque travaille sur le projet : commandes de build et de test, normes de codage, décisions architecturales, conventions de nommage et workflows courants. Ces instructions sont partagées avec votre équipe via le contrôle de source, donc concentrez-vous sur les normes au niveau du projet plutôt que sur les préférences personnelles. Pour confirmer que le fichier a été chargé, exécutez `/context` dans une session et vérifiez la liste sous **Memory files**.70Un CLAUDE.md de projet peut être stocké dans `./CLAUDE.md` ou `./.claude/CLAUDE.md`. Créez ce fichier et ajoutez des instructions qui s'appliquent à quiconque travaille sur le projet : commandes de build et de test, normes de codage, décisions architecturales, conventions de nommage et workflows courants. Ces instructions sont partagées avec votre équipe via le contrôle de source, donc concentrez-vous sur les normes au niveau du projet plutôt que sur les préférences personnelles.

71 

72Pour confirmer que le fichier a été chargé, exécutez [`/context all`](https://code.claude.com/docs/fr/commands#all-commands) dans une session et vérifiez la liste sous **Memory files**. En [mode plein écran](https://code.claude.com/docs/fr/fullscreen.md), `/context` seul réduit cette liste.

71 73 

72> [!TIP]74> [!TIP]

73>75>


461* **Édition** : Claude lit `CLAUDE.md` via le lien, mais les outils Edit et Write [refusent d'écrire via un lien symbolique](https://code.claude.com/docs/fr/errors.md#refusing-after-a-symlink-changed), et le refus dirige Claude à éditer la cible du lien, `AGENTS.md`, à la place463* **Édition** : Claude lit `CLAUDE.md` via le lien, mais les outils Edit et Write [refusent d'écrire via un lien symbolique](https://code.claude.com/docs/fr/errors.md#refusing-after-a-symlink-changed), et le refus dirige Claude à éditer la cible du lien, `AGENTS.md`, à la place

462* **Windows** : si vous ou quelqu'un qui clone le référentiel travaillez sur Windows, utilisez l'importation `@AGENTS.md` à la place. Créer un lien symbolique là nécessite les privilèges d'administrateur ou le mode développeur, et Git vérifie un lien symbolique validé comme un fichier texte brut sauf si `core.symlinks` est activé, ce qui laisse ce clone avec un `CLAUDE.md` d'une ligne à la place de vos instructions464* **Windows** : si vous ou quelqu'un qui clone le référentiel travaillez sur Windows, utilisez l'importation `@AGENTS.md` à la place. Créer un lien symbolique là nécessite les privilèges d'administrateur ou le mode développeur, et Git vérifie un lien symbolique validé comme un fichier texte brut sauf si `core.symlinks` est activé, ce qui laisse ce clone avec un `CLAUDE.md` d'une ligne à la place de vos instructions

463 465 

464Avec l'une ou l'autre approche, exécutez `/context` dans votre prochaine session et confirmez que `CLAUDE.md` apparaît sous **Fichiers de mémoire**.466Avec l'une ou l'autre approche, exécutez `/context all` dans votre prochaine session et confirmez que `CLAUDE.md` apparaît sous **Fichiers de mémoire**.

465 467 

466### Migrer les instructions d'autres outils468### Migrer les instructions d'autres outils

467 469 


567 569 

568## Afficher et modifier avec `/memory`570## Afficher et modifier avec `/memory`

569 571 

570La commande `/memory` liste vos fichiers CLAUDE.md, CLAUDE.local.md et autres emplacements de fichiers de mémoire dans les portées utilisateur et projet, y compris les entrées CLAUDE.md utilisateur et projet pour les fichiers qui n'existent pas encore. Elle vous permet également de basculer la mémoire automatique activée ou désactivée et fournit une option pour ouvrir le dossier de mémoire automatique. Sélectionnez n'importe quel fichier pour l'ouvrir dans votre éditeur ; en sélectionner un qui n'existe pas encore le crée d'abord. Pour vérifier quels fichiers `CLAUDE.md` et fichiers de règles ont été chargés au lancement, exécutez `/context`.572La commande `/memory` liste vos fichiers CLAUDE.md, CLAUDE.local.md et autres emplacements de fichiers de mémoire dans les portées utilisateur et projet. La liste inclut les entrées CLAUDE.md utilisateur et projet pour les fichiers qui n'existent pas encore. La commande vous permet également d'activer ou de désactiver la mémoire automatique et fournit une option pour ouvrir le dossier de mémoire automatique. Sélectionnez n'importe quel fichier pour l'ouvrir dans votre éditeur ; en sélectionner un qui n'existe pas encore le crée d'abord.

571 573 

572Les éditeurs GUI tels que VS Code ouvrent le fichier dans une fenêtre séparée, et vous pouvez continuer à utiliser la session pendant qu'il est ouvert. Les éditeurs de terminal tels que Vim prennent le contrôle du terminal jusqu'à ce que vous quittiez.574Les éditeurs GUI tels que VS Code ouvrent le fichier dans une fenêtre séparée, et vous pouvez continuer à utiliser la session pendant qu'il est ouvert. Les éditeurs de terminal tels que Vim prennent le contrôle du terminal jusqu'à ce que vous quittiez.

573 575 


583 585 

584Pour déboguer :586Pour déboguer :

585 587 

586* Exécutez `/context` et vérifiez la liste sous **Fichiers de mémoire** pour confirmer les fichiers CLAUDE.md et CLAUDE.local.md qui doivent se charger au lancement. Si l'un d'eux est manquant là, Claude ne peut pas le voir. Utilisez `/memory` pour ouvrir et modifier les fichiers.588* Exécutez `/context all` et vérifiez la liste sous **Fichiers de mémoire** pour confirmer les fichiers CLAUDE.md et CLAUDE.local.md qui doivent se charger au lancement. Si l'un d'eux est manquant là, Claude ne peut pas le voir. Utilisez `/memory` pour ouvrir et modifier les fichiers.

587* Si un avis `Instruction file not loaded` apparaît, consultez [ce qu'il signifie et ce qu'il faut faire](https://code.claude.com/docs/fr/errors.md#instruction-file-not-loaded).589* Si un avis `Instruction file not loaded` apparaît, consultez [ce qu'il signifie et ce qu'il faut faire](https://code.claude.com/docs/fr/errors.md#instruction-file-not-loaded).

588* Un `CLAUDE.md` situé dans un sous-répertoire de votre répertoire de travail n'apparaît pas sous **Fichiers de mémoire**, car il se charge à la demande plutôt qu'au lancement. Lorsqu'il se charge, une ligne `Loaded` avec son chemin apparaît dans le terminal. Pour en tester un nouveau, créez-le depuis votre shell plutôt que de demander à Claude de l'écrire, puis demandez à Claude de lire un fichier dans ce sous-répertoire.590* Un `CLAUDE.md` situé dans un sous-répertoire de votre répertoire de travail n'apparaît pas sous **Fichiers de mémoire**, car il se charge à la demande plutôt qu'au lancement. Lorsqu'il se charge, une ligne `Loaded` avec son chemin apparaît dans le terminal. Pour en tester un nouveau, créez-le depuis votre shell plutôt que de demander à Claude de l'écrire, puis demandez à Claude de lire un fichier dans ce sous-répertoire.

589* Vérifiez que le CLAUDE.md pertinent se trouve dans un emplacement qui se charge pour votre session (consultez [Choisir où placer les fichiers CLAUDE.md](#choose-where-to-put-claude-md-files)).591* Vérifiez que le CLAUDE.md pertinent se trouve dans un emplacement qui se charge pour votre session (consultez [Choisir où placer les fichiers CLAUDE.md](#choose-where-to-put-claude-md-files)).

Details

245>245>

246> **Comme valeur par défaut** : définissez `defaultMode` dans les [paramètres](https://code.claude.com/docs/fr/settings.md#where-settings-live). L'application de bureau lit les mêmes fichiers de paramètres que la CLI et applique le mode de permission aux nouvelles sessions locales.246> **Comme valeur par défaut** : définissez `defaultMode` dans les [paramètres](https://code.claude.com/docs/fr/settings.md#where-settings-live). L'application de bureau lit les mêmes fichiers de paramètres que la CLI et applique le mode de permission aux nouvelles sessions locales.

247>247>

248> Un mode que vous choisissez dans le sélecteur de mode est mémorisé par dossier et prend précédence sur `defaultMode` pour ce dossier. Plan est l'exception : le choisir s'applique à la session actuelle uniquement.248> Un mode que vous choisissez dans le sélecteur de mode lors d'une session locale est mémorisé par dossier et prend précédence sur un `defaultMode` défini dans les paramètres `.claude/` du projet. Une nouvelle session locale peut tout de même démarrer dans un `defaultMode` provenant de `~/.claude/settings.json` ou des paramètres gérés ; vérifiez donc le sélecteur avant votre premier message. Si vous choisissez Plan, ce choix s'applique à cette session uniquement.

249>249>

250> Pour savoir où placer `defaultMode` dans un fichier de paramètres, voir l'exemple sous [Démarrer dans un mode de permission différent](#start-in-a-different-mode).250> Pour savoir où placer `defaultMode` dans un fichier de paramètres, voir l'exemple sous [Démarrer dans un mode de permission différent](#start-in-a-different-mode).

251 251 


372 372 

373* **Une connexion directe à l'API Anthropic** : dans les sessions de terminal interactif et dans les sessions `-p`, Agent SDK, [extension VS Code](https://code.claude.com/docs/fr/vs-code.md) et [application de bureau](https://code.claude.com/docs/fr/desktop.md), quel que soit votre plan ou type de compte, au fur et à mesure qu'Anthropic le déploie. Vérifiez votre type de session par rapport à ces versions minimales de Claude Code :373* **Une connexion directe à l'API Anthropic** : dans les sessions de terminal interactif et dans les sessions `-p`, Agent SDK, [extension VS Code](https://code.claude.com/docs/fr/vs-code.md) et [application de bureau](https://code.claude.com/docs/fr/desktop.md), quel que soit votre plan ou type de compte, au fur et à mesure qu'Anthropic le déploie. Vérifiez votre type de session par rapport à ces versions minimales de Claude Code :

374 * Dans les sessions de terminal interactif, interroger le serveur nécessite Claude Code v2.1.271 ou ultérieur sur les plans Pro, Max, Ultra et Team. Sur les plans Enterprise et les comptes Claude API, ces sessions nécessitent v2.1.278 ou ultérieur.374 * Dans les sessions de terminal interactif, interroger le serveur nécessite Claude Code v2.1.271 ou ultérieur sur les plans Pro, Max, Ultra et Team. Sur les plans Enterprise et les comptes Claude API, ces sessions nécessitent v2.1.278 ou ultérieur.

375 * Dans les sessions `-p`, Agent SDK, extension VS Code et application de bureau, interroger le serveur nécessite Claude Code v2.1.281 ou ultérieur375 * Dans les sessions `-p` et extension VS Code, interroger le serveur nécessite Claude Code v2.1.278 ou ultérieur

376 * Dans les sessions Agent SDK et application de bureau, interroger le serveur nécessite Claude Code v2.1.281 ou ultérieur

376 * À partir de v2.1.282, une session qui [ne récupère pas les feature flags](https://code.claude.com/docs/fr/env-vars.md#features-that-need-feature-flag-fetching), par exemple parce que vous avez désactivé la télémétrie, interroge le serveur par défaut dans n'importe quel type de session377 * À partir de v2.1.282, une session qui [ne récupère pas les feature flags](https://code.claude.com/docs/fr/env-vars.md#features-that-need-feature-flag-fetching), par exemple parce que vous avez désactivé la télémétrie, interroge le serveur par défaut dans n'importe quel type de session

377* **Un fournisseur cloud, une passerelle LLM ou un proxy** : sur [Claude Platform sur AWS](https://code.claude.com/docs/fr/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, et chaque fois que vous pointez `ANTHROPIC_BASE_URL` vers une [passerelle LLM ou un proxy](https://code.claude.com/docs/fr/llm-gateway), quel que soit votre plan. Demander par défaut nécessite Claude Code v2.1.278 ou ultérieur.378* **Un fournisseur cloud, une passerelle LLM ou un proxy** : sur [Claude Platform sur AWS](https://code.claude.com/docs/fr/claude-platform-on-aws.md), Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, et chaque fois que vous pointez `ANTHROPIC_BASE_URL` vers une [passerelle LLM ou un proxy](https://code.claude.com/docs/fr/llm-gateway), quel que soit votre plan. Demander par défaut nécessite Claude Code v2.1.278 ou ultérieur.

378* **Une session de [passerelle d'applications Claude](https://code.claude.com/docs/fr/claude-apps-gateway) connectée** : nécessite Claude Code v2.1.280 ou ultérieur379* **Une session de [passerelle d'applications Claude](https://code.claude.com/docs/fr/claude-apps-gateway) connectée** : nécessite Claude Code v2.1.280 ou ultérieur

permissions.md +1 −1

Details

69 69 

70## Modes de permission70## Modes de permission

71 71 

72Claude Code prend en charge plusieurs modes de permission qui contrôlent la façon dont il approuve les appels d'outils. Consultez [Modes de permission](https://code.claude.com/docs/fr/permission-modes.md) pour savoir quand utiliser chacun. Pour modifier le mode dans lequel les sessions commencent, définissez `defaultMode` dans vos [fichiers de paramètres](https://code.claude.com/docs/fr/settings.md#where-settings-live). [Quel mode une session commence](https://code.claude.com/docs/fr/permission-modes.md#which-mode-a-session-starts-in) couvre la valeur par défaut intégrée pour chaque plan et ce que l'extension VS Code lit.72Claude Code prend en charge plusieurs modes de permission qui contrôlent la façon dont il approuve les appels d'outils. Consultez [Modes de permission](https://code.claude.com/docs/fr/permission-modes.md) pour savoir quand utiliser chacun. Pour modifier le mode de permission par défaut des nouvelles sessions, définissez `defaultMode` dans vos [fichiers de paramètres](https://code.claude.com/docs/fr/settings.md#where-settings-live). [Quel mode une session commence](https://code.claude.com/docs/fr/permission-modes.md#which-mode-a-session-starts-in) couvre la valeur par défaut intégrée pour chaque plan et ce que l'extension VS Code lit.

73 73 

74| Mode | Description |74| Mode | Description |

75| :- | :- |75| :- | :- |

Details

571| :- | :- | :- |571| :- | :- | :- |

572| Commandes hook | N'importe où dans `command` et `args` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR`, et `CLAUDE_PLUGIN_OPTION_<KEY>` |572| Commandes hook | N'importe où dans `command` et `args` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR`, et `CLAUDE_PLUGIN_OPTION_<KEY>` |

573| Commandes monitor | N'importe où dans `command` | Non exporté |573| Commandes monitor | N'importe où dans `command` | Non exporté |

574| Serveurs MCP `stdio` | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA` |574| Serveurs MCP `stdio` | `command`, `args`, `env` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |

575| Serveurs MCP `http`, `sse`, `ws` | `url`, `headers`, `headersHelper` | Non applicable |575| Serveurs MCP `http`, `sse`, `ws` | `url`, `headers`, `headersHelper` | Non applicable |

576| Serveurs LSP | `command`, `args`, `env`, `workspaceFolder` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |576| Serveurs LSP | `command`, `args`, `env`, `workspaceFolder` | `CLAUDE_PLUGIN_ROOT`, `CLAUDE_PLUGIN_DATA`, `CLAUDE_PROJECT_DIR` |

577| Contenu de skill, de commande, et d'agent | N'importe où dans le corps Markdown | Non applicable |577| Contenu de skill, de commande, et d'agent | N'importe où dans le corps Markdown | Non applicable |

Details

154| Événement | Se déclenche lorsque | Un hook peut renvoyer |154| Événement | Se déclenche lorsque | Un hook peut renvoyer |

155| :- | :- | :- |155| :- | :- | :- |

156| `agent.offer` | Un type de sous-agent est proposé à Claude | `{ isOffered: false }` pour le retenir |156| `agent.offer` | Un type de sous-agent est proposé à Claude | `{ isOffered: false }` pour le retenir |

157| `agent.spawn` | Un sous-agent ou un coéquipier d'une [équipe d'agents](https://code.claude.com/docs/fr/agent-teams.md) est sur le point de démarrer. Pour un coéquipier, `e.isTeammate` vaut `true`. | `next({ ...e, model })` pour choisir son modèle, ou `{ deny: reason }` |157| `agent.spawn` | Un sous-agent ou un coéquipier d'une [équipe d'agents](https://code.claude.com/docs/fr/agent-teams.md) est sur le point de démarrer, ou un sous-agent qui s'est terminé ou a été arrêté est sur le point de s'exécuter à nouveau. Pour un coéquipier, `e.isTeammate` vaut `true`. Pour une exécution reprise, `e.resume` est défini. | `next({ ...e, model })` pour choisir le modèle de celui qui démarre, ou `{ deny: reason }` |

158 158 

159Lorsque Claude reprend un sous-agent avec l'outil [`SendMessage`](https://code.claude.com/docs/fr/sub-agents#resume-subagents), votre hook `agent.spawn` ne s'exécute pas à nouveau. Pour refuser les appels `SendMessage` qui reprennent un sous-agent, ciblez cet outil dans un hook [`tool.call`](https://code.claude.com/docs/fr/plugins/mods/events#guard-or-change-a-tool-call).159Votre hook `agent.spawn` s'exécute également lorsqu'un sous-agent qui s'est terminé ou a été arrêté est sur le point de s'exécuter à nouveau, par exemple lorsque Claude lui envoie un message avec l'outil [`SendMessage`](https://code.claude.com/docs/fr/sub-agents#resume-subagents). Sur cet événement, `e.resume` vaut `{ agentId }`. Si votre hook compte les sous-agents, ignorez les événements où `e.resume` est défini, afin qu'un sous-agent repris ne soit pas compté à nouveau.

160 

161Renvoyez `{ deny: reason }` pour refuser une exécution reprise. L'exécution ne démarre pas, et le sous-agent reste dans l'état où il était. Lorsqu'un appel `SendMessage` a demandé l'exécution, Claude lit `a plugin declined the resume:` suivi de votre raison comme résultat de cet appel. Si vous transmettez un événement modifié à `next` pour une exécution reprise, par exemple un `model` différent, Claude Code ignore la modification.

162 

163> [!NOTE]

164>

165> L'événement pour une exécution reprise nécessite Claude Code v2.1.299 ou une version ultérieure. Avant la v2.1.299, votre hook `agent.spawn` ne s'exécutait pas lorsqu'un sous-agent reprenait. Sur ces versions, pour refuser les appels `SendMessage` qui reprennent un sous-agent, ciblez cet outil dans un hook [`tool.call`](https://code.claude.com/docs/fr/plugins/mods/events#guard-or-change-a-tool-call).

160 166 

161### Interface167### Interface

162 168 

Details

502* Problème de réseau ou de proxy : un pare-feu ou un proxy peut bloquer la requête HTTPS sortante. Remote Control nécessite l'accès à l'API Anthropic sur le port 443.502* Problème de réseau ou de proxy : un pare-feu ou un proxy peut bloquer la requête HTTPS sortante. Remote Control nécessite l'accès à l'API Anthropic sur le port 443.

503* Échec de la création de session : si vous voyez également `Session creation failed — see debug log`, l'échec s'est produit plus tôt dans la configuration. Vérifiez que votre abonnement est actif.503* Échec de la création de session : si vous voyez également `Session creation failed — see debug log`, l'échec s'est produit plus tôt dans la configuration. Vérifiez que votre abonnement est actif.

504 504 

505### « working folder not found »

506 

507Dans le terminal qui exécute [`claude remote-control`](#start-a-remote-control-session), `Session failed: working folder not found:` suivi d'un chemin entre guillemets signifie qu'une session n'a pas pu démarrer, car aucun dossier n'existe à ce chemin.

508 

509* **Le serveur est toujours en cours d'exécution** : restaurez le dossier et démarrez à nouveau la session, ou arrêtez le serveur

510* **Le serveur s'est arrêté** : exécutez à nouveau `claude remote-control` depuis un dossier qui existe

511 

512Avant la v2.1.318, une session qui échouait de cette manière affichait `Session failed: spawn error:` et un message `ENOENT` qui nommait un fichier de programme au lieu du dossier manquant.

513 

514### « The program file this Remote Control started from is gone »

515 

516Cet avertissement dans le terminal qui exécute [`claude remote-control`](#start-a-remote-control-session) signifie que le fichier de programme à partir duquel le serveur a démarré est manquant, et que les nouvelles sessions exécutent la version plus récente qui l'a remplacé. Pour faire également passer le serveur à cette version, arrêtez-le et exécutez à nouveau `claude remote-control`. Si Claude Code est installé sur un stockage réseau, redémarrez le serveur maintenant et suivez [Installer sur un stockage réseau](https://code.claude.com/docs/fr/setup.md#install-on-network-storage). Sinon, les nouvelles sessions démarrent sans redémarrage.

517 

518Lorsque le fichier de programme a disparu et que Claude Code ne trouve aucune version plus récente à exécuter, les nouvelles sessions échouent. Le terminal affiche une erreur telle que `Session failed: spawn error:` suivie d'un message `ENOENT`. Arrêtez le serveur, [installez Claude Code](https://code.claude.com/docs/fr/setup.md#install-claude-code) à nouveau si `claude` ne s'exécute pas dans votre shell, puis exécutez à nouveau `claude remote-control`. Avant la v2.1.318, les nouvelles sessions échouaient de cette manière même lorsqu'une version plus récente était installée.

519 

505### « Couldn't reconnect to your Remote Control session »520### « Couldn't reconnect to your Remote Control session »

506 521 

507Lorsque vous reprenez une conversation avec `claude --resume` ou `claude --continue`, Claude Code se reconnecte à la session Remote Control enregistrée dans cette conversation. Ce message signifie que la reconnexion a échoué pour une raison qui peut être temporaire, comme une interruption réseau ou une erreur serveur, donc Claude Code ne peut pas confirmer si la session distante existe toujours.522Lorsque vous reprenez une conversation avec `claude --resume` ou `claude --continue`, Claude Code se reconnecte à la session Remote Control enregistrée dans cette conversation. Ce message signifie que la reconnexion a échoué pour une raison qui peut être temporaire, comme une interruption réseau ou une erreur serveur, donc Claude Code ne peut pas confirmer si la session distante existe toujours.

sandboxing.md +59 −27

Details

71* **Overrides** : choisissez si les commandes qui échouent dans le sandbox peuvent se rabattre sur une exécution hors sandbox. Il s'agit du paramètre [`allowUnsandboxedCommands`](https://code.claude.com/docs/fr/settings-reference#sandbox-allowunsandboxedcommands)71* **Overrides** : choisissez si les commandes qui échouent dans le sandbox peuvent se rabattre sur une exécution hors sandbox. Il s'agit du paramètre [`allowUnsandboxedCommands`](https://code.claude.com/docs/fr/settings-reference#sandbox-allowunsandboxedcommands)

72* **Config** : affichez les paramètres du sandbox résolus72* **Config** : affichez les paramètres du sandbox résolus

73 73 

74Si le panneau n'affiche qu'un onglet Dependencies, un paquet requis est manquant. Installez-le comme décrit dans [Configurer Linux et WSL2](#set-up-linux-and-wsl2), redémarrez Claude Code, puis exécutez à nouveau `/sandbox`.74Si le panneau n'affiche qu'un onglet Dependencies, le sandbox ne peut pas encore démarrer. Corrigez ce que l'onglet signale comme décrit dans [Configurer Linux et WSL2](#set-up-linux-and-wsl2), redémarrez Claude Code, puis exécutez à nouveau `/sandbox`.

75 75 

76**2. Choisir un mode**76**2. Choisir un mode**

77 77 


97 97 

98> [!WARNING]98> [!WARNING]

99>99>

100> Par défaut, si le sandbox ne peut pas démarrer parce qu'une dépendance est manquante ou que la plateforme n'est pas prise en charge, Claude Code exécute les commandes sans sandboxing. Pour que Claude Code s'arrête plutôt au démarrage, définissez [`sandbox.failIfUnavailable`](https://code.claude.com/docs/fr/settings-reference#sandbox-failifunavailable) sur `true`. Les déploiements gérés qui exigent le sandboxing comme barrière de sécurité peuvent utiliser ce paramètre.100> Par défaut, lorsque la plateforme ne prend pas en charge le sandbox ou que la vérification des dépendances au démarrage échoue, Claude Code exécute les commandes sans sandboxing. Pour que Claude Code s'arrête plutôt au démarrage, définissez [`sandbox.failIfUnavailable`](https://code.claude.com/docs/fr/settings-reference#sandbox-failifunavailable) sur `true`. Les déploiements gérés qui exigent le sandboxing comme barrière de sécurité peuvent utiliser ce paramètre.

101 101 

102### Vérifier que les commandes s'exécutent dans le sandbox102### Vérifier que les commandes s'exécutent dans le sandbox

103 103 


135 135 

136Ripgrep est fourni avec le binaire natif de Claude Code. Le filtre seccomp est facultatif et ajoute le blocage des sockets de domaine Unix. Installez-le avec `npm install -g @anthropic-ai/sandbox-runtime` s'il est absent.136Ripgrep est fourni avec le binaire natif de Claude Code. Le filtre seccomp est facultatif et ajoute le blocage des sockets de domaine Unix. Installez-le avec `npm install -g @anthropic-ai/sandbox-runtime` s'il est absent.

137 137 

138Lorsqu'une dépendance requise est manquante, l'onglet Dependencies est le seul onglet affiché jusqu'à ce que vous l'installiez. Lorsque seul le filtre seccomp facultatif est absent, l'onglet Dependencies apparaît à côté des autres onglets. La vérification des dépendances s'exécute au démarrage ; redémarrez donc Claude Code après avoir installé des paquets pour que `/sandbox` les détecte.138* **Dependencies est le seul onglet** : le sandbox ne peut pas démarrer. Installez ce que l'onglet indique comme manquant ou, s'il signale la restriction AppArmor d'Ubuntu, [ajoutez un profil AppArmor pour bubblewrap](#add-an-apparmor-profile-for-bubblewrap)

139* **Dependencies apparaît à côté des autres onglets** : l'onglet indique un élément facultatif manquant, comme le filtre seccomp. Le sandbox peut démarrer sans lui ; installez-le donc uniquement si vous souhaitez ce qu'il apporte

139 140 

140> [accordion] Ubuntu 24.04 et versions ultérieures : autoriser bubblewrap à créer des espaces de noms utilisateur141La vérification des dépendances s'exécute au démarrage ; redémarrez donc Claude Code après avoir installé des paquets pour que `/sandbox` les détecte.

141>

142> Sous Ubuntu 24.04 et versions ultérieures, la politique AppArmor par défaut empêche bubblewrap de créer les espaces de noms utilisateur dont il a besoin pour l'isolation.

143>

144> Pour vérifier si votre environnement applique cette restriction, y compris dans WSL2, exécutez `sysctl kernel.apparmor_restrict_unprivileged_userns`. Si la commande renvoie `0`, ignorez cette étape. Si elle affiche une erreur `No such file or directory`, la clé n'existe pas et vous pouvez ignorer cette étape. Si elle renvoie `1`, ajoutez un profil AppArmor qui accorde cette capacité à `bwrap` :

145>

146> ```bash theme={null}

147> sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

148> abi <abi/4.0>,

149> include <tunables/global>

150>

151> profile bwrap /usr/bin/bwrap flags=(unconfined) {

152> userns,

153> include if exists <local/bwrap>

154> }

155> EOF

156> ```

157>

158> Le profil s'applique uniquement à `bwrap` lui-même, et non aux commandes qu'il exécute dans le sandbox. Rechargez AppArmor pour l'appliquer :

159>

160> ```bash theme={null}

161> sudo systemctl reload apparmor

162> ```

163 142 

164> [accordion] Remarques sur WSL2143> [accordion] Remarques sur WSL2

165>144>


167>146>

168> Sous WSL2, WSL transmet le lancement d'un binaire Windows tel que `cmd.exe`, `powershell.exe` ou tout élément situé sous `/mnt/c/` à l'hôte Windows via un socket Unix ; la possibilité pour une commande en sandbox d'en lancer un dépend donc des [paramètres de socket Unix](https://code.claude.com/docs/fr/settings-reference.md#sandbox-network-allowunixsockets) du sandbox : le filtre seccomp facultatif doit être installé pour que le socket puisse être bloqué. Pour autoriser ces lancements, définissez `allowAllUnixSockets`, qui ouvre tous les sockets Unix aux commandes en sandbox.147> Sous WSL2, WSL transmet le lancement d'un binaire Windows tel que `cmd.exe`, `powershell.exe` ou tout élément situé sous `/mnt/c/` à l'hôte Windows via un socket Unix ; la possibilité pour une commande en sandbox d'en lancer un dépend donc des [paramètres de socket Unix](https://code.claude.com/docs/fr/settings-reference.md#sandbox-network-allowunixsockets) du sandbox : le filtre seccomp facultatif doit être installé pour que le socket puisse être bloqué. Pour autoriser ces lancements, définissez `allowAllUnixSockets`, qui ouvre tous les sockets Unix aux commandes en sandbox.

169 148 

149#### Ajouter un profil AppArmor pour bubblewrap

150 

151Ajoutez le profil si Claude Code exécute `/usr/bin/bwrap` et que l'une de ces situations se produit :

152 

153* Claude Code [signale la restriction AppArmor d'Ubuntu sur les espaces de noms utilisateur](#apparmor-restriction-stops-bubblewrap)

154* Les commandes en sandbox échouent avec `bwrap: setting up uid map: Permission denied` ou `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` lorsque [cette restriction est activée](#bwrap-uid-map-permission-denied)

155 

156Claude Code exécute le premier `bwrap` présent dans le `PATH`, sauf si les paramètres gérés en désignent un dans [`sandbox.bwrapPath`](https://code.claude.com/docs/fr/settings-reference#sandbox-bwrappath). Pour voir quel `bwrap` vient en premier, exécutez `which bwrap` dans le shell depuis lequel vous démarrez Claude Code. Si Claude Code exécute un chemin autre que `/usr/bin/bwrap`, [levez plutôt la restriction avec `sysctl`](#apparmor-restriction-stops-bubblewrap).

157 

158Pour ajouter le profil pour `/usr/bin/bwrap`, exécutez cette commande :

159 

160```bash theme={null}

161sudo tee /etc/apparmor.d/bwrap > /dev/null <<'EOF'

162abi <abi/4.0>,

163include <tunables/global>

164 

165profile bwrap /usr/bin/bwrap flags=(unconfined) {

166 userns,

167 include if exists <local/bwrap>

168}

169EOF

170```

171 

172Rechargez AppArmor pour l'appliquer :

173 

174```bash theme={null}

175sudo systemctl reload apparmor

176```

177 

178Redémarrez ensuite Claude Code et [vérifiez que le sandbox fonctionne](#confirm-commands-run-inside-the-sandbox).

179 

170### Modes du sandbox180### Modes du sandbox

171 181 

172Claude Code propose deux modes de sandbox. Dans les deux cas, le sandbox applique les mêmes restrictions sur le système de fichiers et le réseau ; la seule différence réside dans le fait que les commandes en sandbox sont approuvées automatiquement ou nécessitent une permission explicite.182Claude Code propose deux modes de sandbox. Dans les deux cas, le sandbox applique les mêmes restrictions sur le système de fichiers et le réseau ; la seule différence réside dans le fait que les commandes en sandbox sont approuvées automatiquement ou nécessitent une permission explicite.


716 726 

717Les deux clés au-delà de `enabled` contrôlent ce qui se passe lorsque le sandbox ne peut pas exécuter une commande :727Les deux clés au-delà de `enabled` contrôlent ce qui se passe lorsque le sandbox ne peut pas exécuter une commande :

718 728 

719* **`failIfUnavailable`** : une dépendance manquante telle que bubblewrap sur Linux empêche Claude Code de démarrer plutôt que de revenir à une exécution non sandboxée729* **`failIfUnavailable`** : lorsque la plateforme ne prend pas en charge le sandbox ou que la vérification des dépendances au démarrage échoue, Claude Code refuse de démarrer plutôt que de revenir à une exécution non sandboxée

720* **`allowUnsandboxedCommands: false`** : Claude Code ignore la trappe d'échappement `dangerouslyDisableSandbox`, donc lorsqu'une commande échoue sous le sandbox, Claude ne peut pas la réessayer en dehors du sandbox730* **`allowUnsandboxedCommands: false`** : Claude Code ignore la trappe d'échappement `dangerouslyDisableSandbox`, donc lorsqu'une commande échoue sous le sandbox, Claude ne peut pas la réessayer en dehors du sandbox

721 731 

722Envisagez ces ajouts en complément :732Envisagez ces ajouts en complément :


902 912 

903Dans un conteneur sans privilèges, [bubblewrap](#os-level-enforcement) ne peut pas monter un système de fichiers `/proc` frais, donc les commandes sandboxées échouent avec une erreur `bwrap` telle que `Can't mount proc on /newroot/proc: Operation not permitted`. Définissez [`enableWeakerNestedSandbox`](https://code.claude.com/docs/fr/settings-reference#sandbox-enableweakernestedsandbox) sur `true` pour que le sandbox bind-monte le `/proc` existant du conteneur à la place. Utilisez ce paramètre uniquement lorsque le conteneur externe fournit déjà la limite d'isolation dont vous avez besoin, car il expose aux commandes sandboxées des informations de processus qu'un montage `/proc` frais cacherait.913Dans un conteneur sans privilèges, [bubblewrap](#os-level-enforcement) ne peut pas monter un système de fichiers `/proc` frais, donc les commandes sandboxées échouent avec une erreur `bwrap` telle que `Can't mount proc on /newroot/proc: Operation not permitted`. Définissez [`enableWeakerNestedSandbox`](https://code.claude.com/docs/fr/settings-reference#sandbox-enableweakernestedsandbox) sur `true` pour que le sandbox bind-monte le `/proc` existant du conteneur à la place. Utilisez ce paramètre uniquement lorsque le conteneur externe fournit déjà la limite d'isolation dont vous avez besoin, car il expose aux commandes sandboxées des informations de processus qu'un montage `/proc` frais cacherait.

904 914 

915### La restriction AppArmor d'Ubuntu bloque bubblewrap

916 

917Sur Linux et WSL2, le message `Ubuntu's AppArmor restriction on user namespaces stops bubblewrap here` signifie que la restriction AppArmor d'Ubuntu empêche le sandbox de démarrer.

918 

919Pour que le sandbox puisse démarrer, levez la restriction de l'une de ces deux manières :

920 

921* [Ajoutez un profil AppArmor pour bubblewrap](#add-an-apparmor-profile-for-bubblewrap) si Claude Code exécute `/usr/bin/bwrap`

922* Dans votre shell, exécutez `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`, qui lève la restriction pour tous les programmes de la machine jusqu'au prochain redémarrage

923 

924Redémarrez ensuite Claude Code et [vérifiez que le sandbox fonctionne](#confirm-commands-run-inside-the-sandbox).

925 

926Tant que vous n'avez pas levé la restriction, les commandes s'exécutent sans le sandbox selon le flux de permission habituel, ou Claude Code refuse de démarrer si [`sandbox.failIfUnavailable`](https://code.claude.com/docs/fr/settings-reference#sandbox-failifunavailable) est défini sur `true`.

927 

928### Les commandes sandboxées échouent avec `bwrap: setting up uid map: Permission denied`

929 

930Sur Linux et WSL2, cette erreur ou `bwrap: loopback: Failed RTM_NEWADDR: Operation not permitted` peut signifier que la restriction AppArmor d'Ubuntu sur les espaces de noms utilisateur bloque bubblewrap. Pour le vérifier, exécutez `sysctl kernel.apparmor_restrict_unprivileged_userns` dans votre shell :

931 

932* `kernel.apparmor_restrict_unprivileged_userns = 1` : la restriction est active. [Ajoutez un profil AppArmor](#add-an-apparmor-profile-for-bubblewrap) si Claude Code exécute `/usr/bin/bwrap`, ou exécutez `sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0`, qui la lève pour tous les programmes jusqu'au prochain redémarrage. Redémarrez ensuite Claude Code et [vérifiez que le sandbox fonctionne](#confirm-commands-run-inside-the-sandbox)

933* Toute autre sortie : la restriction n'est pas en cause. Pour signaler l'échec, exécutez [`/feedback`](https://code.claude.com/docs/fr/commands#all-commands) dans l'invite de Claude Code

934 

935Avant v2.1.310, Claude Code ne vérifiait pas cette restriction au démarrage, donc `/sandbox` ne la signalait pas.

936 

905### Des fichiers en lecture seule de 0 octet apparaissent aux chemins des paramètres `.claude`, et « Oui, et ne pas demander à nouveau » ne sauvegarde pas937### Des fichiers en lecture seule de 0 octet apparaissent aux chemins des paramètres `.claude`, et « Oui, et ne pas demander à nouveau » ne sauvegarde pas

906 938 

907Sur Linux et WSL2, le sandbox maintient un refus d'écriture sur un fichier qui n'existe pas encore en créant un espace réservé en lecture seule de 0 octet à cet emplacement pendant qu'une commande sandboxée s'exécute. Le sandbox supprime l'espace réservé ensuite.939Sur Linux et WSL2, le sandbox maintient un refus d'écriture sur un fichier qui n'existe pas encore en créant un espace réservé en lecture seule de 0 octet à cet emplacement pendant qu'une commande sandboxée s'exécute. Le sandbox supprime l'espace réservé ensuite.

Details

472 472 

473Pour confirmer que le trap fonctionne, ajoutez directement sous la ligne `trap` une ligne qui appelle une commande inexistante, par exemple `no-such-command`. Exécutez le fichier du hook depuis votre shell et vérifiez que `echo $?` affiche `1`, puis supprimez la ligne.473Pour confirmer que le trap fonctionne, ajoutez directement sous la ligne `trap` une ligne qui appelle une commande inexistante, par exemple `no-such-command`. Exécutez le fichier du hook depuis votre shell et vérifiez que `echo $?` affiche `1`, puis supprimez la ligne.

474 474 

475#### Savoir pourquoi une demande de lancement a été envoyée

476 

477Votre hook reçoit la raison de chaque demande de lancement dans `CLAUDE_RUNNER_SPAWN_REASON`, ce qui vous permet de journaliser pourquoi le hook s'est exécuté, avec `CLAUDE_RUNNER_SESSION_UUID`. Nécessite Claude Code v2.1.318 ou une version ultérieure sur l'orchestrateur. Lisez-la sous la forme `"${CLAUDE_RUNNER_SPAWN_REASON:-}"`, car elle peut ne pas être définie, et démarrez le runner quelle que soit sa valeur. Si votre hook effectue un branchement conditionnel sur cette valeur, conservez un cas par défaut, car Anthropic peut ajouter des valeurs.

478 

479Pour trouver la raison des demandes antérieures, recherchez dans le log de chaque réplica de l'orchestrateur `session=` suivi du `CLAUDE_RUNNER_SESSION_UUID` de la session, et non de son identifiant `session_...`. Les lignes `ok session=` et `nack session=` affichent la valeur de `CLAUDE_RUNNER_SPAWN_REASON` après `reason=`, ou `reason=-` si elle n'était pas définie :

480 

481* **`[runner:orchestrator] ok session=`** : le hook est sorti avec 0

482* **`[runner:orchestrator] nack session=`** : l'orchestrateur signale à Anthropic une demande de lancement en échec

483 

484Chaque valeur indique uniquement la dernière cause enregistrée par Anthropic pour la session, et non son historique :

485 

486| Valeur | Ce qui s'est passé | Ce qu'il faut vérifier |

487| :- | :- | :- |

488| `session_created` | Il s'agit de la première demande de lancement pour une nouvelle session | Rien. Ne vous y fiez pas pour repérer la première demande d'une session, car la première demande que voit votre hook peut porter `runner_lost` après qu'un runner de flotte fixe ou de réserve a détenu la session. |

489| `no_runner_registered` | Aucun runner ne s'est enregistré pour la demande précédente dans le délai `--expected-spawn-seconds`, et Anthropic n'a enregistré aucun rapport d'échec pour celle-ci | `stop: no nack for session=` ou `nack failed session=` parmi les lignes antérieures de la session signifie qu'aucun rapport d'échec n'a été enregistré. Lisez toute erreur du hook qui précède, et si l'orchestrateur était en cours d'arrêt, consultez [Arrêter ou redémarrer l'orchestrateur](#stop-or-restart-the-orchestrator). Après une ligne `ok session=`, vérifiez que son runner a démarré et s'est enregistré dans le délai `--expected-spawn-seconds`. Si aucun réplica n'a journalisé la demande, vérifiez si vos orchestrateurs ont redémarré et recherchez des lignes `poll failed`. |

490| `hook_failed` | Votre orchestrateur a signalé que la demande précédente a échoué et peut faire l'objet d'une nouvelle tentative, par exemple parce que votre hook est sorti avec 1 ou était toujours en cours d'exécution à la fin de `--hook-timeout`. La valeur est la même lorsque votre orchestrateur renvoie une demande à Anthropic sans exécuter le hook, par exemple pendant l'arrêt de l'orchestrateur. | Recherchez la dernière ligne `[runner:orchestrator] nack session=` ou `stop: handing back session=` de la session avant cette demande. L'erreur de lancement envoyée par l'orchestrateur suit la valeur `reason=` et peut se poursuivre sur les lignes suivantes. Une ligne `handing back session=` signifie que l'orchestrateur était en cours d'arrêt et n'a pas exécuté le hook ; il n'y a donc rien à corriger dans le hook. |

491| `runner_lost` | Le runner qui détenait la session a cessé de communiquer avec Anthropic, s'est désenregistré ou a été supprimé | Identifiez ce qui a arrêté le runner ou l'a coupé d'Anthropic, comme une éviction de nœud, un arrêt pour manque de mémoire, une récupération d'instance spot, ou votre propre déploiement ou réduction d'échelle |

492| `runner_reported_failure` | Le runner précédent a signalé que la session a échoué sur celui-ci, par exemple lors du checkout | Lisez le log du runner précédent. Si de nombreuses sessions reçoivent cette valeur, vérifiez l'image et la configuration du dépôt. |

493| `resumed` | La session était en pause et a de nouveau besoin d'un runner. Par exemple, son runner l'a libérée en vertu de [`--release-idle-session-min`](#make-on-demand-runners-exit-when-idle), puis elle a reçu un nouveau message. | Rien |

494| `requeued` | La session a été remise dans la file d'attente, par exemple lorsqu'un Owner a sélectionné **Retry** ou qu'une session bloquée a reçu un nouveau message | Si la même session reçoit cette valeur de manière répétée, lisez l'erreur sur ses lignes `nack session=`. Si son hook est sorti avec 0, lisez le log du runner. |

495| `server_retry` | Anthropic a abandonné la demande précédente ou le démarrage de la session sur son runner, et réessaie. Votre hook n'a pas échoué. | Rien pour une demande isolée. Si la valeur continue d'apparaître, sur une session ou sur plusieurs, signalez-le à [votre équipe de compte Anthropic](https://code.claude.com/docs/fr/self-hosted-environments-deploy.md#report-an-issue). |

496| `prewarm` | Il s'agit d'une demande de préchauffage, sans session pour l'instant | Rien |

497 

475### Arrêter ou redémarrer l'orchestrateur498### Arrêter ou redémarrer l'orchestrateur

476 499 

477Pour arrêter ou redémarrer l'orchestrateur sans interrompre les hooks `spawn-runner` en cours d'exécution, démarrez-le avec [`--shutdown-drain-sec`](https://code.claude.com/docs/fr/self-hosted-environments-reference#orchestrator-cli-flags). À la réception de `SIGTERM`, il accorde alors aux hooks en cours d'exécution jusqu'au nombre de secondes que vous avez défini pour se terminer. Pour choisir la valeur et configurer votre superviseur de processus en conséquence, consultez [Dimensionner `--shutdown-drain-sec` et le délai d'arrêt de l'orchestrateur](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).500Pour arrêter ou redémarrer l'orchestrateur sans interrompre les hooks `spawn-runner` en cours d'exécution, démarrez-le avec [`--shutdown-drain-sec`](https://code.claude.com/docs/fr/self-hosted-environments-reference#orchestrator-cli-flags). À la réception de `SIGTERM`, il accorde alors aux hooks en cours d'exécution jusqu'au nombre de secondes que vous avez défini pour se terminer. Pour choisir la valeur et configurer votre superviseur de processus en conséquence, consultez [Dimensionner `--shutdown-drain-sec` et le délai d'arrêt de l'orchestrateur](#size-shutdown-drain-sec-and-the-supervisors-stop-timeout-for-the-orchestrator).

Details

172 172 

173Un client connecté via une [passerelle d'applications Claude](#platform-availability) récupère ses paramètres à partir de la passerelle et attend cette récupération avant le démarrage de la session, donc la récupération dans les listes ci-dessous ne s'applique pas à lui. [Appliquer un démarrage fermé par défaut](#enforce-fail-closed-startup) couvre ce qui se passe lorsque cette récupération échoue.173Un client connecté via une [passerelle d'applications Claude](#platform-availability) récupère ses paramètres à partir de la passerelle et attend cette récupération avant le démarrage de la session, donc la récupération dans les listes ci-dessous ne s'applique pas à lui. [Appliquer un démarrage fermé par défaut](#enforce-fail-closed-startup) couvre ce qui se passe lorsque cette récupération échoue.

174 174 

175> [!NOTE]

176>

177> Avec une connexion claude.ai Team ou Enterprise enregistrée sur la machine, Anthropic peut exiger les paramètres de votre organisation avant le démarrage d'une session. Dans ce cas, quoi qu'indiquent les listes ci-dessous, un développeur [ne peut pas démarrer de session](https://code.claude.com/docs/fr/errors.md#couldnt-load-your-organizations-settings) dans des cas comme ceux-ci :

178>

179> * Sa connexion a expiré, jusqu'à ce qu'il exécute `claude auth login`

180> * Claude Code ne dispose ni des paramètres ni d'une copie récente en cache. Vérifiez que la machine peut atteindre `api.anthropic.com`

181>

182> Un message de démarrage contenant `before a session can start` ou `Your Claude session has expired` signifie que cette exigence s'applique.

183 

175**Premier lancement sans paramètres en cache :**184**Premier lancement sans paramètres en cache :**

176 185 

177* Lorsqu'un développeur se connecte au démarrage, par exemple lors d'une première exécution ou après `/logout`, Claude Code attend jusqu'à cinq secondes la récupération avant d'ouvrir la session. Lorsque la stratégie arrive à temps, Claude Code l'applique à partir du premier écran et affiche vos [`companyAnnouncements`](https://code.claude.com/docs/fr/settings-reference#companyannouncements) dessus. Lorsque la charge utile nécessite une [approbation de sécurité](#security-approval-dialogs), Claude Code termine l'attente et applique la charge utile une fois que le développeur l'approuve186* Lorsqu'un développeur se connecte au démarrage, par exemple lors d'une première exécution ou après `/logout`, Claude Code attend jusqu'à cinq secondes la récupération avant d'ouvrir la session. Lorsque la stratégie arrive à temps, Claude Code l'applique à partir du premier écran et affiche vos [`companyAnnouncements`](https://code.claude.com/docs/fr/settings-reference#companyannouncements) dessus. Lorsque la charge utile nécessite une [approbation de sécurité](#security-approval-dialogs), Claude Code termine l'attente et applique la charge utile une fois que le développeur l'approuve

178* À tout autre démarrage, et lorsque cette attente de cinq secondes s'écoule, Claude Code ouvre la session tandis que la récupération continue, de sorte qu'une brève fenêtre passe avant le chargement des paramètres et l'entrée en vigueur des restrictions187* À tout autre démarrage, et lorsque cette attente de cinq secondes s'écoule, Claude Code ouvre la session tandis que la récupération continue, de sorte qu'une brève fenêtre passe avant le chargement des paramètres et l'entrée en vigueur des restrictions

179* Si la récupération échoue, Claude Code continue sans paramètres gérés par le serveur et avertit dans les sessions interactives qu'aucune stratégie distante ne s'applique ; les paramètres gérés par le point de terminaison s'appliquent toujours. Si une source gérée définit [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup), Claude Code se ferme à la place188* Si la récupération échoue, Claude Code continue sans paramètres gérés par le serveur et avertit dans les sessions interactives et dans [l'onglet Code de Claude Desktop](https://code.claude.com/docs/fr/desktop.md) qu'aucune stratégie distante ne s'applique ; les paramètres gérés par l'endpoint s'appliquent toujours. Si une source gérée définit [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup), Claude Code se ferme à la place

180 189 

181**Lancements ultérieurs avec paramètres en cache :**190**Lancements ultérieurs avec paramètres en cache :**

182 191 


186* Une valeur [`prependPlugins`](https://code.claude.com/docs/fr/settings-reference#prependplugins), [`appendPlugins`](https://code.claude.com/docs/fr/settings-reference#appendplugins) ou [`enabledPlugins`](https://code.claude.com/docs/fr/settings-reference#enabledplugins) en cache ne peut pas supprimer le garde-fou intégré, modifier sa position ni le désactiver tant que la récupération de la session n'a pas confirmé la charge utile195* Une valeur [`prependPlugins`](https://code.claude.com/docs/fr/settings-reference#prependplugins), [`appendPlugins`](https://code.claude.com/docs/fr/settings-reference#appendplugins) ou [`enabledPlugins`](https://code.claude.com/docs/fr/settings-reference#enabledplugins) en cache ne peut pas supprimer le garde-fou intégré, modifier sa position ni le désactiver tant que la récupération de la session n'a pas confirmé la charge utile

187* Sur une machine où une [source gérée par l'endpoint](https://code.claude.com/docs/fr/managed-settings.md#choose-a-delivery-mechanism) liste ou active ses propres plugins, un plugin que seule une liste en cache active est considéré comme [celui de l'utilisateur](https://code.claude.com/docs/fr/plugins/mods/admin.md#install-your-organizations-mods), et non comme celui de votre organisation, jusqu'à ce que la récupération confirme la charge utile196* Sur une machine où une [source gérée par l'endpoint](https://code.claude.com/docs/fr/managed-settings.md#choose-a-delivery-mechanism) liste ou active ses propres plugins, un plugin que seule une liste en cache active est considéré comme [celui de l'utilisateur](https://code.claude.com/docs/fr/plugins/mods/admin.md#install-your-organizations-mods), et non comme celui de votre organisation, jusqu'à ce que la récupération confirme la charge utile

188* Claude Code récupère les paramètres actualisés en arrière-plan197* Claude Code récupère les paramètres actualisés en arrière-plan

189* Les paramètres en cache persistent en cas de défaillance réseau. Si la récupération au démarrage échoue, Claude Code avertit dans les sessions interactives que la stratégie en cache est en vigueur198* Les paramètres en cache persistent en cas de défaillance réseau. Si la récupération au démarrage échoue, Claude Code avertit dans les sessions interactives et dans l'onglet Code que la stratégie en cache est en vigueur

190* Jusqu'à ce qu'une récupération réussisse, les valeurs retenues au démarrage restent retenues199* Jusqu'à ce qu'une récupération réussisse, les valeurs retenues au démarrage restent retenues

191 200 

192Claude Code retient plusieurs catégories de variables dans le bloc `env` en cache jusqu'à ce que le serveur confirme la charge utile pour la session. Cela empêche une valeur de proxy, d'autorité de certification, d'endpoint ou d'identifiant en cache de rediriger, d'intercepter ou de réauthentifier la récupération des paramètres qui confirme la charge utile. Le renforcement s'applique uniquement au cache des paramètres récupérés par le serveur : les [paramètres gérés par l'endpoint](https://code.claude.com/docs/fr/managed-settings.md#delivery-mechanisms) déployés via MDM ou `managed-settings.json` ne sont pas affectés. Les catégories retenues incluent :201Claude Code retient plusieurs catégories de variables dans le bloc `env` en cache jusqu'à ce que le serveur confirme la charge utile pour la session. Cela empêche une valeur de proxy, d'autorité de certification, d'endpoint ou d'identifiant en cache de rediriger, d'intercepter ou de réauthentifier la récupération des paramètres qui confirme la charge utile. Le renforcement s'applique uniquement au cache des paramètres récupérés par le serveur : les [paramètres gérés par l'endpoint](https://code.claude.com/docs/fr/managed-settings.md#delivery-mechanisms) déployés via MDM ou `managed-settings.json` ne sont pas affectés. Les catégories retenues incluent :


221 * Aucun d'eux ne revient à une valeur plus stricte.230 * Aucun d'eux ne revient à une valeur plus stricte.

222 * La charge utile contient une clé autre que ces deux clés de rétention.231 * La charge utile contient une clé autre que ces deux clés de rétention.

223 232 

224 L'avis de démarrage, `/status`, et `claude doctor` signalent alors le [chargement échoué](https://code.claude.com/docs/fr/errors.md#remote-managed-settings-failed-to-load) avec la cause `no setting in the server response could be applied as written`, et cette entrée indique quelle stratégie la session exécute. Les clients qui [appliquent un démarrage fermé par défaut](#enforce-fail-closed-startup) se ferment au démarrage à la place.233 L'avis de démarrage, `/status`, et `claude doctor` signalent alors le [chargement échoué](https://code.claude.com/docs/fr/errors.md#remote-managed-settings-failed-to-load) avec la cause `no setting in the server response could be applied as written`, et cette entrée indique quelle stratégie la session exécute. Les clients qui [appliquent un démarrage fermé par défaut](#enforce-fail-closed-startup) se ferment au démarrage à la place. Si le démarrage s'arrête avec un message indiquant que votre organisation exige ses paramètres `before a session can start`, consultez [Claude Code n'a pas pu charger les paramètres de votre organisation](https://code.claude.com/docs/fr/errors.md#couldnt-load-your-organizations-settings).

225* La [boîte de dialogue d'approbation de sécurité](#security-approval-dialogs) évalue la charge utile sauvegardée, de sorte qu'une entrée invalide supprimée n'est jamais présentée pour approbation et n'exécute jamais.234* La [boîte de dialogue d'approbation de sécurité](#security-approval-dialogs) évalue la charge utile sauvegardée, de sorte qu'une entrée invalide supprimée n'est jamais présentée pour approbation et n'exécute jamais.

226 235 

227Pour déboguer les problèmes de livraison, exécutez `claude --debug-file <path>` et recherchez `Remote settings` dans le journal. Validez un changement de charge utile avec `claude doctor` sur une machine de test avant de le déployer dans l'organisation.236Pour déboguer les problèmes de livraison, exécutez `claude --debug-file <path>` et recherchez `Remote settings` dans le journal. Validez un changement de charge utile avec `claude doctor` sur une machine de test avant de le déployer dans l'organisation.

228 237 

229### Appliquer un démarrage fermé par défaut238### Appliquer un démarrage fermé par défaut

230 239 

231Par défaut, si la récupération des paramètres distants échoue au démarrage, l'interface de ligne de commande continue avec les paramètres en cache à partir de la dernière récupération réussie, à l'exception des [valeurs que Claude Code retient](#fetch-and-caching-behavior) jusqu'à ce qu'une récupération réussisse. Sur une machine qui ne les a jamais récupérés, l'interface de ligne de commande continue sans paramètres gérés par le serveur et applique toujours tous les [paramètres gérés par le point de terminaison](https://code.claude.com/docs/fr/managed-settings.md#delivery-mechanisms) sur l'appareil.240Par défaut, si la récupération des paramètres distants échoue au démarrage, l'interface de ligne de commande continue avec les paramètres en cache à partir de la dernière récupération réussie. Les [valeurs que Claude Code retient](#fetch-and-caching-behavior) restent retenues jusqu'à ce qu'une récupération réussisse. Sur une machine qui ne les a jamais récupérés, l'interface de ligne de commande continue sans paramètres gérés par le serveur et applique toujours tous les [paramètres gérés par l'endpoint](https://code.claude.com/docs/fr/managed-settings.md#delivery-mechanisms) sur l'appareil. [Anthropic peut exiger les paramètres](#fetch-and-caching-behavior) à la place.

232 241 

233Pour empêcher les clients de démarrer sur des paramètres gérés par le serveur en cache ou absents, définissez `forceRemoteSettingsRefresh: true` dans vos paramètres gérés.242Pour empêcher les clients de démarrer sur des paramètres gérés par le serveur en cache ou absents, définissez `forceRemoteSettingsRefresh: true` dans vos paramètres gérés.

234 243 


370| L'utilisateur supprime le fichier de paramètres en cache | Le [comportement du premier lancement](#fetch-and-caching-behavior) se produit |379| L'utilisateur supprime le fichier de paramètres en cache | Le [comportement du premier lancement](#fetch-and-caching-behavior) se produit |

371| L'utilisateur exécute un binaire Claude Code modifié | Un utilisateur qui peut exécuter un client modifié peut contourner n'importe quel contrôle côté client |380| L'utilisateur exécute un binaire Claude Code modifié | Un utilisateur qui peut exécuter un client modifié peut contourner n'importe quel contrôle côté client |

372| L'utilisateur exécute une version antérieure de Claude Code | Les versions antérieures aux paramètres gérés par le serveur ne les récupèrent ni ne les appliquent |381| L'utilisateur exécute une version antérieure de Claude Code | Les versions antérieures aux paramètres gérés par le serveur ne les récupèrent ni ne les appliquent |

373| L'API est indisponible | Les paramètres en cache s'appliquent s'ils sont disponibles, sauf pour les [valeurs que Claude Code retient](#fetch-and-caching-behavior) jusqu'à ce qu'une récupération réussisse. Sans cache, Claude Code n'applique aucun paramètre géré par le serveur jusqu'à la prochaine récupération réussie et applique toujours les [paramètres gérés par le point de terminaison](https://code.claude.com/docs/fr/managed-settings.md#delivery-mechanisms) sur l'appareil. Avec `forceRemoteSettingsRefresh: true`, l'interface de ligne de commande se ferme au lieu de continuer, sauf pour les [sous-commandes `claude auth`](#enforce-fail-closed-startup). Les clients connectés via une [passerelle d'applications Claude](#platform-availability) se ferment au démarrage sans ce paramètre, avec la même exemption `claude auth` |382| L'API est indisponible | Les paramètres en cache s'appliquent s'ils sont disponibles. Sans cache, Claude Code n'applique aucun paramètre géré par le serveur jusqu'à la prochaine récupération réussie. La section [Comportement de récupération et de mise en cache](#fetch-and-caching-behavior) répertorie les exceptions, y compris lorsqu'Anthropic exige les paramètres. Avec `forceRemoteSettingsRefresh: true`, la CLI se ferme au lieu de continuer, sauf pour les [sous-commandes `claude auth`](#enforce-fail-closed-startup). Les clients connectés via une [passerelle d'applications Claude](#platform-availability) se ferment au démarrage sans ce paramètre, avec la même exemption `claude auth` |

374| L'utilisateur s'authentifie avec une organisation différente | Les paramètres ne sont pas livrés pour les comptes en dehors de l'organisation gérée, y compris une session qui s'authentifie avec une [clé API Console](#platform-availability) |383| L'utilisateur s'authentifie avec une organisation différente | Les paramètres ne sont pas livrés pour les comptes en dehors de l'organisation gérée, y compris une session qui s'authentifie avec une [clé API Console](#platform-availability) |

375| L'utilisateur configure un [fournisseur de modèle tiers](#platform-availability) | Les paramètres gérés par le serveur sont contournés. Cela inclut la définition de `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS`, ou un `ANTHROPIC_BASE_URL` différent de la valeur par défaut |384| L'utilisateur configure un [fournisseur de modèle tiers](#platform-availability) | Les paramètres gérés par le serveur sont contournés. Cela inclut la définition de `CLAUDE_CODE_USE_BEDROCK`, `CLAUDE_CODE_USE_MANTLE`, `CLAUDE_CODE_USE_VERTEX`, `CLAUDE_CODE_USE_FOUNDRY`, `CLAUDE_CODE_USE_ANTHROPIC_AWS`, ou un `ANTHROPIC_BASE_URL` différent de la valeur par défaut |

376| Le trafic réseau est intercepté ou redirigé | La validation TLS désactivée ou le trafic intercepté peut modifier les paramètres que le client reçoit |385| Le trafic réseau est intercepté ou redirigé | La validation TLS désactivée ou le trafic intercepté peut modifier les paramètres que le client reçoit |

settings.md +2 −2

Details

199* **Erreur de paramètres** : un fichier utilisateur, projet ou local a du JSON invalide ou une valeur que le schéma rejette. Au début d'une session interactive, Claude Code affiche un dialogue qui vous permet de corriger le fichier avec l'aide de Claude, de quitter, ou de continuer sans les paramètres cassés.199* **Erreur de paramètres** : un fichier utilisateur, projet ou local a du JSON invalide ou une valeur que le schéma rejette. Au début d'une session interactive, Claude Code affiche un dialogue qui vous permet de corriger le fichier avec l'aide de Claude, de quitter, ou de continuer sans les paramètres cassés.

200* **Avertissement de paramètres** : seules les entrées individuelles échouent, comme une règle de permission mal formée ou un nom d'événement hook inconnu. Claude Code ignore ces valeurs et garde le reste du fichier en vigueur.200* **Avertissement de paramètres** : seules les entrées individuelles échouent, comme une règle de permission mal formée ou un nom d'événement hook inconnu. Claude Code ignore ces valeurs et garde le reste du fichier en vigueur.

201* **Paramètres gérés** : Claude Code continue d'appliquer le reste du fichier. [Les entrées invalides dans les paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md#invalid-entries-in-managed-settings) dit ce qu'il supprime et quelles clés reviennent à une valeur plus stricte jusqu'à ce que vous les corrigiez. Pour un document de paramètres gérés qui n'est pas du JSON valide, voir [Le document de paramètres gérés n'a pas pu être analysé](https://code.claude.com/docs/fr/errors.md#managed-settings-document-could-not-be-parsed).201* **Paramètres gérés** : Claude Code continue d'appliquer le reste du fichier. [Les entrées invalides dans les paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md#invalid-entries-in-managed-settings) dit ce qu'il supprime et quelles clés reviennent à une valeur plus stricte jusqu'à ce que vous les corrigiez. Pour un document de paramètres gérés qui n'est pas du JSON valide, voir [Le document de paramètres gérés n'a pas pu être analysé](https://code.claude.com/docs/fr/errors.md#managed-settings-document-could-not-be-parsed).

202* **Erreur de configuration** : `~/.claude.json` ne peut pas être analysé. Claude Code copie le fichier cassé à `~/.claude/backups/.claude.json.corrupted.<timestamp>` et demande si vous voulez quitter et le corriger à la main ou réinitialiser à la configuration par défaut ; une exécution `-p` imprime l'erreur et quitte. Pour récupérer votre état précédent, copiez l'un des cinq fichiers `.claude.json.backup.<timestamp>` les plus récents dans `~/.claude/backups/`, que Claude Code enregistre avant d'écrire le fichier.202* **Erreur de configuration** : [`~/.claude.json`](https://code.claude.com/docs/fr/claude-directory#ce-claude-json) ne peut pas être analysé. Une exécution `claude -p` quitte, et votre fichier reste inchangé. Voir [Configuration error in \~/.claude.json](https://code.claude.com/docs/fr/errors.md#configuration-error-in-claude-json) pour restaurer une copie antérieure. Claude Code copie le fichier cassé dans `~/.claude/backups/.claude.json.corrupted.<timestamp>` et, dans une session interactive, demande si vous voulez quitter et le corriger ou réinitialiser à la configuration par défaut. Quand le fichier est vide et qu'il n'existe aucune sauvegarde à restaurer, Claude Code démarre avec les paramètres par défaut.

203 203 

204Après avoir continué, exécutez `/status` pour voir les fichiers affectés et `claude doctor` pour les détails de chaque erreur.204Après avoir continué, exécutez `/status` pour voir les fichiers affectés et `claude doctor` pour les détails de chaque erreur.

205 205 

206Une exécution `-p` n'affiche aucun dialogue. Sauf si [un document de paramètres gérés ne peut pas être analysé](https://code.claude.com/docs/fr/errors.md#managed-settings-document-could-not-be-parsed), Claude Code ignore le fichier cassé ou les valeurs et continue avec le reste, donc après une exécution `-p` qui ignore un paramètre, exécutez `claude doctor` pour voir ce qu'il a supprimé.206Une exécution `-p` n'affiche aucun dialogue. Sauf si [un document de paramètres gérés ne peut pas être analysé](https://code.claude.com/docs/fr/errors.md#managed-settings-document-could-not-be-parsed), Claude Code ignore un fichier utilisateur, projet ou local cassé, ou ses valeurs cassées, et continue avec le reste. Après une exécution `-p` qui ignore un paramètre, exécutez `claude doctor` depuis votre terminal pour voir ce qu'il a supprimé.

207 207 

208## Priorité des paramètres208## Priorité des paramètres

209 209 

Details

40| [`autoCompactWindow`](#autocompactwindow) | Définir le niveau de remplissage du contexte à partir duquel Claude Code [compacte](https://code.claude.com/docs/fr/context-window.md) | Mémoire et contexte | Tout fichier |40| [`autoCompactWindow`](#autocompactwindow) | Définir le niveau de remplissage du contexte à partir duquel Claude Code [compacte](https://code.claude.com/docs/fr/context-window.md) | Mémoire et contexte | Tout fichier |

41| [`autoConnectIde`](#autoconnectide) | Se connecter automatiquement à un IDE [VS Code](https://code.claude.com/docs/fr/vs-code.md) ou [JetBrains](https://code.claude.com/docs/fr/jetbrains.md#from-external-terminals) en cours d'exécution depuis un terminal externe | Paramètres de configuration globale | Config globale |41| [`autoConnectIde`](#autoconnectide) | Se connecter automatiquement à un IDE [VS Code](https://code.claude.com/docs/fr/vs-code.md) ou [JetBrains](https://code.claude.com/docs/fr/jetbrains.md#from-external-terminals) en cours d'exécution depuis un terminal externe | Paramètres de configuration globale | Config globale |

42| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Attendre dans la session ouverte et [poursuivre la tâche automatiquement](https://code.claude.com/docs/fr/interactive-mode.md#wait-for-a-usage-limit-to-reset) après la réinitialisation d'une limite d'utilisation claude.ai | Interface et terminal | Utilisateur ou géré |42| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Attendre dans la session ouverte et [poursuivre la tâche automatiquement](https://code.claude.com/docs/fr/interactive-mode.md#wait-for-a-usage-limit-to-reset) après la réinitialisation d'une limite d'utilisation claude.ai | Interface et terminal | Utilisateur ou géré |

43| [`autoInstallIdeExtension`](#autoinstallideextension) | Désactiver l'installation automatique de l'[extension IDE](https://code.claude.com/docs/fr/vs-code.md#install-the-extension) depuis un terminal VS Code | Paramètres de configuration globale | Config globale |43| [`autoInstallIdeExtension`](#autoinstallideextension) | Permettre à `/ide` d'installer l'[extension IDE](https://code.claude.com/docs/fr/vs-code.md#install-the-extension) depuis un terminal externe | Paramètres de configuration globale | Config globale |

44| [`autoMemoryDirectory`](#automemorydirectory) | Stocker la [mémoire automatique](https://code.claude.com/docs/fr/memory.md#auto-memory) dans le répertoire de votre choix | Mémoire et contexte | Tout fichier |44| [`autoMemoryDirectory`](#automemorydirectory) | Stocker la [mémoire automatique](https://code.claude.com/docs/fr/memory.md#auto-memory) dans le répertoire de votre choix | Mémoire et contexte | Tout fichier |

45| [`autoMemoryEnabled`](#automemoryenabled) | Désactiver ou activer la [mémoire automatique](https://code.claude.com/docs/fr/memory.md#auto-memory) | Mémoire et contexte | Tout fichier |45| [`autoMemoryEnabled`](#automemoryenabled) | Désactiver ou activer la [mémoire automatique](https://code.claude.com/docs/fr/memory.md#auto-memory) | Mémoire et contexte | Tout fichier |

46| [`autoMode`](#automode) | Ajouter vos propres règles d'autorisation et de refus au classifieur du [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) | Paramètres de permission | Utilisateur ou géré |46| [`autoMode`](#automode) | Ajouter vos propres règles d'autorisation et de refus au classifieur du [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) | Paramètres de permission | Utilisateur ou géré |


139| [`outputStyle`](#outputstyle) | Modifier le rôle, le ton et le format de sortie de Claude avec un [style de sortie](https://code.claude.com/docs/fr/output-styles.md) | Modèle et réponses | Tout fichier |139| [`outputStyle`](#outputstyle) | Modifier le rôle, le ton et le format de sortie de Claude avec un [style de sortie](https://code.claude.com/docs/fr/output-styles.md) | Modèle et réponses | Tout fichier |

140| [`parentSettingsBehavior`](#parentsettingsbehavior) | Appliquer ou ignorer les restrictions transmises par un [hôte SDK ou IDE](https://code.claude.com/docs/fr/managed-settings.md#let-an-embedding-host-add-policy) lorsque vous déployez des [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) | Entreprise et paramètres gérés | Géré |140| [`parentSettingsBehavior`](#parentsettingsbehavior) | Appliquer ou ignorer les restrictions transmises par un [hôte SDK ou IDE](https://code.claude.com/docs/fr/managed-settings.md#let-an-embedding-host-add-policy) lorsque vous déployez des [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) | Entreprise et paramètres gérés | Géré |

141| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Supprimé dans la v2.1.257, avec l'explication de commande `Ctrl+E` des demandes de permission shell | Paramètres de configuration globale | Config globale |141| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Supprimé dans la v2.1.257, avec l'explication de commande `Ctrl+E` des demandes de permission shell | Paramètres de configuration globale | Config globale |

142| [`permissions`](#permissions) | Définir les règles d'autorisation, de demande et de refus ainsi que le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) de départ | Paramètres de permission | Tout fichier |142| [`permissions`](#permissions) | Définir les règles d'autorisation, de demande et de refus ainsi que le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) par défaut | Paramètres de permission | Tout fichier |

143| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Donner à Claude accès aux fichiers de [répertoires situés en dehors du répertoire actuel](https://code.claude.com/docs/fr/permissions.md#working-directories) | Paramètres de permission | Tout fichier |143| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Donner à Claude accès aux fichiers de [répertoires situés en dehors du répertoire actuel](https://code.claude.com/docs/fr/permissions.md#working-directories) | Paramètres de permission | Tout fichier |

144| [`permissions.allow`](#permissions-allow) | Approuver sans demande les [utilisations d'outils](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax) listées | Paramètres de permission | Tout fichier |144| [`permissions.allow`](#permissions-allow) | Approuver sans demande les [utilisations d'outils](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax) listées | Paramètres de permission | Tout fichier |

145| [`permissions.ask`](#permissions-ask) | Toujours demander avant les [utilisations d'outils](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax) listées | Paramètres de permission | Tout fichier |145| [`permissions.ask`](#permissions-ask) | Toujours demander avant les [utilisations d'outils](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax) listées | Paramètres de permission | Tout fichier |

146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Faire refuser par les outils de fichiers les lectures en dehors des [répertoires de travail](https://code.claude.com/docs/fr/permissions.md#working-directories), dans tous les modes de permission | Paramètres de permission | Tout fichier |146| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Faire refuser par les outils de fichiers les lectures en dehors des [répertoires de travail](https://code.claude.com/docs/fr/permissions.md#working-directories), dans tous les modes de permission | Paramètres de permission | Tout fichier |

147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | Faire refuser par les outils `Write`, `Edit` et `NotebookEdit` les chemins situés en dehors des [répertoires de travail](https://code.claude.com/docs/fr/permissions.md#working-directories), dans tous les modes de permission, à l'exception de [certains fichiers propres à Claude Code](#what-the-write-block-refuses-and-what-stays-writable) | Paramètres de permission | Tout fichier |147| [`permissions.blockWritesOutsideWorkingDirectories`](#permissions-blockwritesoutsideworkingdirectories) | Faire refuser par les outils `Write`, `Edit` et `NotebookEdit` les chemins situés en dehors des [répertoires de travail](https://code.claude.com/docs/fr/permissions.md#working-directories), dans tous les modes de permission, à l'exception de [certains fichiers propres à Claude Code](#what-the-write-block-refuses-and-what-stays-writable) | Paramètres de permission | Tout fichier |

148| [`permissions.defaultMode`](#permissions-defaultmode) | Définir le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md#which-mode-a-session-starts-in) dans lequel démarrent les nouvelles sessions | Paramètres de permission | Tout fichier |148| [`permissions.defaultMode`](#permissions-defaultmode) | Définir le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md#which-mode-a-session-starts-in) par défaut des nouvelles sessions | Paramètres de permission | Tout fichier |

149| [`permissions.deny`](#permissions-deny) | Bloquer les [utilisations d'outils](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax) listées, y compris la lecture de fichiers contenant des secrets | Paramètres de permission | Tout fichier |149| [`permissions.deny`](#permissions-deny) | Bloquer les [utilisations d'outils](https://code.claude.com/docs/fr/permissions.md#permission-rule-syntax) listées, y compris la lecture de fichiers contenant des secrets | Paramètres de permission | Tout fichier |

150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Empêcher quiconque d'entrer en [mode bypassPermissions](https://code.claude.com/docs/fr/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Paramètres de permission | Tout fichier |150| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Empêcher quiconque d'entrer en [mode bypassPermissions](https://code.claude.com/docs/fr/permission-modes.md#skip-all-checks-with-bypasspermissions-mode) | Paramètres de permission | Tout fichier |

151| [`plansDirectory`](#plansdirectory) | Choisir où le [mode plan](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode) écrit les fichiers de plan | Mémoire et contexte | Tout fichier |151| [`plansDirectory`](#plansdirectory) | Choisir où le [mode plan](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode) écrit les fichiers de plan | Mémoire et contexte | Tout fichier |


804 804 

805## Paramètres de permission805## Paramètres de permission

806 806 

807Décidez ce que Claude peut faire sans demander, quel mode de permission une session démarre, et ce que le classificateur du mode auto autorise. Pour la syntaxe des règles et le modèle de permission, consultez [Configurer les permissions](https://code.claude.com/docs/fr/permissions.md).807Décidez ce que Claude peut faire sans demander, le mode de permission par défaut des nouvelles sessions, et ce que le classificateur du mode auto autorise. Pour la syntaxe des règles et le modèle de permission, consultez [Configurer les permissions](https://code.claude.com/docs/fr/permissions.md).

808 808 

809### `allowManagedPermissionRulesOnly`809### `allowManagedPermissionRulesOnly`

810 810 


899 899 

900### `permissions`900### `permissions`

901 901 

902Contrôlez quels outils Claude peut utiliser sans demander, lesquels invitent toujours, et lesquels sont bloqués, et définissez le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) qu'une session démarre. Chaque clé `permissions.*` ci-dessous s'imbrique sous cet objet.902Contrôlez quels outils Claude peut utiliser sans demander, lesquels déclenchent une demande de confirmation, et lesquels sont bloqués. Définissez aussi le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) par défaut des nouvelles sessions. Chaque clé `permissions.*` ci-dessous s'imbrique sous cet objet.

903 903 

904* **Portée** : [`Any file`](#scopes)904* **Portée** : [`Any file`](#scopes)

905* **Type** : objet avec `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode` et `disableAutoMode`905* **Type** : objet avec `allow`, `ask`, `deny`, `additionalDirectories`, `blockReadsOutsideWorkingDirectories`, `blockWritesOutsideWorkingDirectories`, `defaultMode`, `disableBypassPermissionsMode` et `disableAutoMode`


1137 1137 

1138### `permissions.defaultMode`1138### `permissions.defaultMode`

1139 1139 

1140Définissez le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) que les nouvelles sessions démarrent. Quand vous le laissez non défini, les sessions démarrent dans la [valeur par défaut intégrée](https://code.claude.com/docs/fr/permission-modes.md#which-mode-a-session-starts-in) pour votre surface.1140Définissez le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) par défaut des nouvelles sessions. Quand vous le laissez non défini, la [valeur par défaut intégrée](https://code.claude.com/docs/fr/permission-modes.md#which-mode-a-session-starts-in) pour votre surface s'applique.

1141 1141 

1142* **Portée** : [`Any file`](#scopes). `auto` et `bypassPermissions` ne prennent pas effet à partir des paramètres du projet ou local, donc définissez-les dans `~/.claude/settings.json` à la place. Avant la v2.1.257, `bypassPermissions` prenait effet à partir de n'importe quel fichier. Pour les conversations que l'extension VS Code démarre, Claude Code lit uniquement les valeurs utilisateur, gérées et `--settings`.1142* **Portée** : [`Any file`](#scopes). `auto` et `bypassPermissions` ne prennent pas effet à partir des paramètres du projet ou local, donc définissez-les dans `~/.claude/settings.json` à la place. Avant la v2.1.257, `bypassPermissions` prenait effet à partir de n'importe quel fichier. Pour les conversations que l'extension VS Code démarre, Claude Code lit uniquement les valeurs utilisateur, gérées et `--settings`.

1143* **Type** : chaîne, l'une de :1143* **Type** : chaîne, l'une de :


1267 1267 

1268### `sandbox.failIfUnavailable`1268### `sandbox.failIfUnavailable`

1269 1269 

1270Faites en sorte que Claude Code se termine avec une erreur au démarrage lorsque `sandbox.enabled` est `true` mais que le sandbox ne peut pas démarrer, car une dépendance est manquante ou la plateforme n'est pas supportée. Sans cette clé, Claude Code exécute les commandes sans sandbox. Les déploiements gérés qui exigent le sandboxing comme barrière de sécurité peuvent utiliser ce paramètre.1270Faites en sorte que Claude Code se ferme avec une erreur au démarrage lorsque `sandbox.enabled` vaut `true` mais que le sandbox ne peut pas démarrer, parce que la plateforme ne le prend pas en charge ou que la vérification des dépendances échoue. Sans cette clé, Claude Code exécute les commandes hors sandbox. Les déploiements gérés qui exigent le sandboxing comme barrière de sécurité peuvent utiliser ce paramètre.

1271 1271 

1272Sur une plateforme que le sandbox ne supporte pas, Claude Code ne démarre pas lorsque cette clé est activée. Consultez [Enforce sandboxing with managed settings](https://code.claude.com/docs/fr/sandboxing.md#enforce-sandboxing-with-managed-settings).1272Sur une plateforme que le sandbox ne supporte pas, Claude Code ne démarre pas lorsque cette clé est activée. Consultez [Enforce sandboxing with managed settings](https://code.claude.com/docs/fr/sandboxing.md#enforce-sandboxing-with-managed-settings).

1273 1273 


5087 5087 

5088### `sshHostCommands`5088### `sshHostCommands`

5089 5089 

5090Ajouter au sélecteur d'environnement de [Bureau](https://code.claude.com/docs/fr/desktop.md#create-an-ssh-connection-from-a-command) des connexions SSH dont l'hôte provient d'une commande. Lorsque vous créez une connexion ou remplacez son hôte, Bureau exécute la commande de l'entrée sur votre ordinateur et se connecte à l'hôte que la commande affiche. Nécessite Claude Desktop v3.6556.0 ou ultérieur sur macOS ou Linux, connecté avec un compte Claude.5090Ajouter au sélecteur d'environnement de [Bureau](https://code.claude.com/docs/fr/desktop.md#create-an-ssh-connection-from-a-command) des connexions SSH dont l'hôte provient d'une commande. Lorsque vous créez une connexion ou créez une autre machine pour celle-ci, Bureau exécute la commande de l'entrée sur votre ordinateur et se connecte à l'hôte que la commande affiche.

5091 

5092Nécessite Claude Desktop v3.6556.0 ou ultérieur sur macOS ou Linux, ou v4.16336.0 ou ultérieur sur Windows, connecté avec un compte Claude. Sur Windows, Bureau doit également [se connecter via le client OpenSSH](https://code.claude.com/docs/fr/desktop.md#use-your-ssh-configuration).

5091 5093 

5092* **Portée** : [`Utilisateur ou géré`](#scopes). Seule l'application de bureau lit cette clé. Elle lit les entrées gérées depuis [un seul fichier de paramètres gérés ou une seule politique MDM](https://code.claude.com/docs/fr/desktop.md#distribute-commands-to-your-team) sur l'ordinateur, et ignore la clé dans les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md).5094* **Portée** : [`Utilisateur ou géré`](#scopes). Seule l'application de bureau lit cette clé. Elle lit les entrées gérées depuis [un seul fichier de paramètres gérés ou une seule politique MDM](https://code.claude.com/docs/fr/desktop.md#distribute-commands-to-your-team) sur l'ordinateur, et ignore la clé dans les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md).

5093* **Type** : tableau d'objets, chacun avec `id`, `name` et `command` requis et `sshIdentityFile` et `startDirectory` optionnels. Bureau démarre `command` sans shell, donc [écrivez-la sous forme de programme et d'arguments simples](https://code.claude.com/docs/fr/desktop.md#write-the-command).5095* **Type** : tableau d'objets, chacun avec `id`, `name` et `command` requis et `sshIdentityFile` et `startDirectory` optionnels. Bureau ne lit pas `command` comme une syntaxe shell, donc les pipes et les variables ne fonctionnent pas : [écrivez-la sous forme de programme et de ses arguments](https://code.claude.com/docs/fr/desktop.md#write-the-command).

5094* **Défaut** : non défini5096* **Défaut** : non défini

5095 5097 

5096Cet exemple ajoute une connexion nommée `Dev box`, où `acme-dev create` représente votre propre outil :5098Cet exemple ajoute une connexion nommée `Dev box`, où `acme-dev create` représente votre propre outil :


5107}5109}

5108```5110```

5109 5111 

5112Sur Windows, un nom seul tel que `acme-dev` ne fonctionne pas, donc [commencez la commande par le chemin complet du programme](https://code.claude.com/docs/fr/desktop.md#write-the-command-on-windows).

5113 

5110Avant Claude Code v2.1.307, l'outil Edit refusait une modification qui ajoutait cette clé à un fichier de paramètres valide, avec l'erreur `Unrecognized field: sshHostCommands`. Sur ces versions, ajoutez plutôt la clé dans un éditeur de texte ; Claude Code charge un fichier qui contient la clé. Dans Bureau, la version qui compte est la [version de Claude Code de l'onglet Code](https://code.claude.com/docs/fr/desktop.md#claude-code-version-in-the-code-tab), et non celle de votre terminal.5114Avant Claude Code v2.1.307, l'outil Edit refusait une modification qui ajoutait cette clé à un fichier de paramètres valide, avec l'erreur `Unrecognized field: sshHostCommands`. Sur ces versions, ajoutez plutôt la clé dans un éditeur de texte ; Claude Code charge un fichier qui contient la clé. Dans Bureau, la version qui compte est la [version de Claude Code de l'onglet Code](https://code.claude.com/docs/fr/desktop.md#claude-code-version-in-the-code-tab), et non celle de votre terminal.

5111 5115 

5112## Authentification et fournisseurs5116## Authentification et fournisseurs


5583 5587 

5584Bloquer le démarrage de la CLI jusqu'à ce que Claude Code ait récupéré à nouveau les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md). Si la récupération échoue, Claude Code se termine au lieu de continuer avec des paramètres en cache ou sans paramètres. Définissez cette clé lorsque votre environnement ne peut accepter aucune fenêtre, même brève, pendant laquelle une session s'exécute sans sa stratégie gérée.5588Bloquer le démarrage de la CLI jusqu'à ce que Claude Code ait récupéré à nouveau les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md). Si la récupération échoue, Claude Code se termine au lieu de continuer avec des paramètres en cache ou sans paramètres. Définissez cette clé lorsque votre environnement ne peut accepter aucune fenêtre, même brève, pendant laquelle une session s'exécute sans sa stratégie gérée.

5585 5589 

5586Lorsque la clé n'est pas définie, Claude Code ne bloque pas le démarrage pendant la récupération, mais lorsque le développeur se connecte au démarrage, il attend jusqu'à cinq secondes la récupération. Une session Cloud gateway attend toujours, et se termine si la passerelle est injoignable.5590Lorsque la clé n'est pas définie, Claude Code ne bloque pas le démarrage pendant la récupération, mais lorsque le développeur se connecte au démarrage, il attend jusqu'à cinq secondes la récupération. [Anthropic peut exiger les paramètres](https://code.claude.com/docs/fr/server-managed-settings.md#fetch-and-caching-behavior), ce qui bloque alors un démarrage sans eux. Une session Cloud gateway attend, et se termine si la passerelle est injoignable.

5587 5591 

5588* **Portée** : [`Managed`](#scopes). Claude Code respecte une valeur `true` provenant de toute source gérée contrôlée par un administrateur, même si ce n'est pas la source de plus haute priorité.5592* **Portée** : [`Managed`](#scopes). Claude Code respecte une valeur `true` provenant de toute source gérée contrôlée par un administrateur, même si ce n'est pas la source de plus haute priorité.

5589* **Type** : Boolean5593* **Type** : Boolean

5590 * `true` : Claude Code bloque le démarrage jusqu'à avoir récupéré à nouveau les paramètres gérés par le serveur, et se termine si la récupération échoue5594 * `true` : Claude Code bloque le démarrage jusqu'à avoir récupéré à nouveau les paramètres gérés par le serveur, et se termine si la récupération échoue

5591 * `false` : Claude Code ne bloque pas le démarrage pendant la récupération, mais lors d'un démarrage avec connexion, il attend jusqu'à cinq secondes la récupération5595 * `false` : sauf si Anthropic exige les paramètres, Claude Code ne bloque pas le démarrage pendant la récupération, mais lors d'un démarrage avec connexion, il attend jusqu'à cinq secondes la récupération

5592* **Par défaut** : `false`5596* **Par défaut** : `false`

5593 5597 

5594```json managed-settings.json theme={null}5598```json managed-settings.json theme={null}


5823 5827 

5824### `autoInstallIdeExtension`5828### `autoInstallIdeExtension`

5825 5829 

5826Installez l'extension Claude Code IDE automatiquement lorsque vous exécutez Claude Code à partir d'un terminal VS Code. Apparaît dans `/config` sous **Auto-install IDE extension** lorsque vous exécutez Claude Code à l'intérieur d'un terminal VS Code ou JetBrains.5830Permettez à [`/ide`](https://code.claude.com/docs/fr/commands) d'installer l'extension Claude Code IDE dans un VS Code, Cursor ou Devin Desktop en cours d'exécution lorsque vous exécutez la commande à partir d'un terminal externe. Claude Code n'installe pas l'extension à son démarrage. Apparaît dans `/config` sous **Auto-install IDE extension** lorsque vous exécutez Claude Code à l'intérieur d'un terminal VS Code ou JetBrains.

5827 5831 

5828* **Scope** : [`Global config`](#scopes)5832* **Scope** : [`Global config`](#scopes)

5829* **Type** : Boolean5833* **Type** : Boolean

5830 * `true` : Claude Code installe l'extension IDE automatiquement lorsque vous l'exécutez à partir d'un terminal VS Code5834 * `true` : `/ide` installe l'extension

5831 * `false` : Claude Code n'installe pas l'extension automatiquement5835 * `false` : `/ide` n'installe pas l'extension

5832* **Default** : `true`5836* **Default** : `true`

5833* **Per-session overrides** : [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/fr/env-vars) défini à `1` ignore l'installation pour une session même lorsque cette clé est `true`5837* **Per-session overrides** : [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/fr/env-vars) défini à `1` ignore l'installation pour une session même lorsque cette clé est `true`

5834 5838 

skills.md +1 −1

Details

404| `allowed-tools` | Non | Outils que Claude peut utiliser sans demander la permission lors du tour qui invoque cette compétence. La subvention s'efface lorsque vous envoyez votre message suivant. Accepte une chaîne séparée par des espaces ou des virgules, ou une liste YAML. Voir [Pré-approuver les outils pour une compétence](#pre-approve-tools-for-a-skill). |404| `allowed-tools` | Non | Outils que Claude peut utiliser sans demander la permission lors du tour qui invoque cette compétence. La subvention s'efface lorsque vous envoyez votre message suivant. Accepte une chaîne séparée par des espaces ou des virgules, ou une liste YAML. Voir [Pré-approuver les outils pour une compétence](#pre-approve-tools-for-a-skill). |

405| `disallowed-tools` | Non | Outils supprimés du pool disponible de Claude tandis que cette compétence est active. Utilisez pour les compétences autonomes qui ne devraient jamais appeler certains outils, comme `AskUserQuestion` pour une boucle de fond. Accepte une chaîne séparée par des espaces ou des virgules, ou une liste YAML. La restriction s'efface lorsque vous envoyez votre message suivant. Comme les règles de refus, le champ ne peut pas supprimer [`EndConversation`](https://code.claude.com/docs/fr/tools-reference#endconversation-tool-behavior) tant que tout autre outil reste. |405| `disallowed-tools` | Non | Outils supprimés du pool disponible de Claude tandis que cette compétence est active. Utilisez pour les compétences autonomes qui ne devraient jamais appeler certains outils, comme `AskUserQuestion` pour une boucle de fond. Accepte une chaîne séparée par des espaces ou des virgules, ou une liste YAML. La restriction s'efface lorsque vous envoyez votre message suivant. Comme les règles de refus, le champ ne peut pas supprimer [`EndConversation`](https://code.claude.com/docs/fr/tools-reference#endconversation-tool-behavior) tant que tout autre outil reste. |

406| `model` | Non | Modèle à utiliser lorsque cette compétence est active. Le remplacement s'applique pour le reste du tour actuel et n'est pas enregistré dans les paramètres. Le modèle de session reprend à votre prochaine invite. Accepte les mêmes valeurs que [`/model`](https://code.claude.com/docs/fr/model-config), ou `inherit` pour conserver le modèle actif. Une valeur exclue par la liste d'autorisation [`availableModels`](https://code.claude.com/docs/fr/model-config#restrict-model-selection) de votre organisation n'est pas utilisée et la session conserve son modèle actuel. En [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) et en [mode plan tandis que le classificateur examine les commandes](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode), un modèle que le mode auto ne supporte pas n'est pas utilisé non plus, et la session conserve son modèle actuel. Avec `context: fork`, la valeur définit le [modèle du sous-agent forké](#run-skills-in-a-subagent) à la place, et une valeur exclue suit les [mêmes règles qu'un remplacement de modèle de sous-agent](https://code.claude.com/docs/fr/model-config.md#restrict-model-selection). |406| `model` | Non | Modèle à utiliser lorsque cette compétence est active. Le remplacement s'applique pour le reste du tour actuel et n'est pas enregistré dans les paramètres. Le modèle de session reprend à votre prochaine invite. Accepte les mêmes valeurs que [`/model`](https://code.claude.com/docs/fr/model-config), ou `inherit` pour conserver le modèle actif. Une valeur exclue par la liste d'autorisation [`availableModels`](https://code.claude.com/docs/fr/model-config#restrict-model-selection) de votre organisation n'est pas utilisée et la session conserve son modèle actuel. En [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) et en [mode plan tandis que le classificateur examine les commandes](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode), un modèle que le mode auto ne supporte pas n'est pas utilisé non plus, et la session conserve son modèle actuel. Avec `context: fork`, la valeur définit le [modèle du sous-agent forké](#run-skills-in-a-subagent) à la place, et une valeur exclue suit les [mêmes règles qu'un remplacement de modèle de sous-agent](https://code.claude.com/docs/fr/model-config.md#restrict-model-selection). |

407| `effort` | Non | [Niveau d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level) pour le reste du tour actuel. Remplace le niveau d'effort de la session, mais pas la variable d'environnement [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/fr/env-vars#variables). Avec `context: fork`, la valeur définit à la place le niveau d'effort du sous-agent forké. Lorsque vous l'omettez, le niveau provient de l'[ordre de résolution de l'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level). Options : `low`, `medium`, `high`, `xhigh`, `max` ; les niveaux disponibles dépendent du modèle. |407| `effort` | Non | [Niveau d'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level) pour le reste du tour actuel. Remplace le niveau d'effort de la session, mais pas la variable d'environnement [`CLAUDE_CODE_EFFORT_LEVEL`](https://code.claude.com/docs/fr/env-vars#variables). Avec `context: fork`, la valeur définit à la place le niveau d'effort du sous-agent forké. Lorsque vous l'omettez, le niveau provient de l'[ordre de résolution de l'effort](https://code.claude.com/docs/fr/model-config.md#adjust-effort-level). Pour un fork sur un autre modèle, voir [Niveau d'effort des sous-agents et des coéquipiers](https://code.claude.com/docs/fr/model-config.md#effort-level-of-subagents-and-teammates). Options : `low`, `medium`, `high`, `xhigh`, `max` ; les niveaux disponibles dépendent du modèle. |

408| `context` | Non | Définissez sur `fork` pour exécuter dans un contexte de sous-agent forké. Voir [Exécuter les compétences dans un sous-agent](#run-skills-in-a-subagent). |408| `context` | Non | Définissez sur `fork` pour exécuter dans un contexte de sous-agent forké. Voir [Exécuter les compétences dans un sous-agent](#run-skills-in-a-subagent). |

409| `agent` | Non | Quel type de sous-agent utiliser lorsque `context: fork` est défini. |409| `agent` | Non | Quel type de sous-agent utiliser lorsque `context: fork` est défini. |

410| `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é le skill, au lieu de [l'exécuter en arrière-plan](#run-skills-in-a-subagent). Par défaut : `true`. |410| `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é le skill, au lieu de [l'exécuter en arrière-plan](#run-skills-in-a-subagent). Par défaut : `true`. |

Details

1264 1264 

1265Une fois le trousseau de nouveau accessible en écriture, Claude Code y replace les identifiants lors de la prochaine écriture d'un identifiant. Pour forcer l'opération immédiatement, exécutez `/logout` puis `/login`. La déconnexion supprime tous les identifiants stockés, y compris le contenu du fichier en texte brut, les connexions enregistrées aux serveurs MCP et les valeurs sensibles des plugins : prévoyez donc de réautoriser les serveurs MCP et de saisir à nouveau les secrets des plugins par la suite. La reconnexion enregistre votre connexion dans le trousseau.1265Une fois le trousseau de nouveau accessible en écriture, Claude Code y replace les identifiants lors de la prochaine écriture d'un identifiant. Pour forcer l'opération immédiatement, exécutez `/logout` puis `/login`. La déconnexion supprime tous les identifiants stockés, y compris le contenu du fichier en texte brut, les connexions enregistrées aux serveurs MCP et les valeurs sensibles des plugins : prévoyez donc de réautoriser les serveurs MCP et de saisir à nouveau les secrets des plugins par la suite. La reconnexion enregistre votre connexion dans le trousseau.

1266 1266 

1267#### La connexion échoue sur un répertoire personnel réseau

1268 

1269Lorsqu'une requête échoue avec `API Error: 401` et que votre [répertoire de configuration](https://code.claude.com/docs/fr/claude-directory.md) se trouve sur un système de fichiers réseau, vérifiez si ce système de fichiers ou votre quota sur celui-ci est plein. Faute d'espace disponible, Claude Code ne peut pas enregistrer une connexion nouvelle ou renouvelée dans le [fichier `.credentials.json`](https://code.claude.com/docs/fr/authentication#credential-management) en texte brut, et `claude auth login` peut tout de même afficher `Login successful.`

1270 

1271**1. Libérer de l'espace sur le système de fichiers**

1272 

1273Supprimez les fichiers dont vous n'avez plus besoin sur le système de fichiers qui contient `~/.claude`, ou le répertoire que vous avez défini dans [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/fr/env-vars).

1274 

1275**2. Se reconnecter**

1276 

1277Exécutez `/login` à l'invite de Claude Code ou `claude auth login` dans votre shell.

1278 

1279Avant la v2.1.318, lorsque Claude Code enregistrait le fichier de connexion sur un système de fichiers réseau plein, il pouvait remplacer une connexion enregistrée encore valide par un fichier vide. Les commandes suivantes signalaient alors `Not logged in`.

1280 

1267### Les identifiants Bedrock, Agent Platform ou Foundry ne se chargent pas1281### Les identifiants Bedrock, Agent Platform ou Foundry ne se chargent pas

1268 1282 

1269Si vous avez configuré Claude Code pour utiliser un fournisseur cloud et voyez `Could not load credentials from any providers` sur Amazon Bedrock, `Could not load the default credentials` sur Agent Platform de Google Cloud, ou `ChainedTokenCredential authentication failed` sur Microsoft Foundry, la CLI de votre fournisseur cloud n'est probablement pas authentifiée dans le shell actuel.1283Si vous avez configuré Claude Code pour utiliser un fournisseur cloud et voyez `Could not load credentials from any providers` sur Amazon Bedrock, `Could not load the default credentials` sur Agent Platform de Google Cloud, ou `ChainedTokenCredential authentication failed` sur Microsoft Foundry, la CLI de votre fournisseur cloud n'est probablement pas authentifiée dans le shell actuel.

vs-code.md +7 −2

Details

818 818 

819### Exécuter la CLI dans VS Code819### Exécuter la CLI dans VS Code

820 820 

821Pour utiliser la CLI sans quitter VS Code, appuyez sur `` Ctrl+` `` sous Windows/Linux ou sur `` Cmd+` `` sur Mac pour ouvrir le terminal intégré, puis exécutez `claude`. La CLI s'intègre automatiquement à votre IDE pour des fonctionnalités comme l'affichage des diffs et le partage des diagnostics. Si vous utilisez un terminal externe, exécutez `/ide` dans Claude Code pour le connecter à VS Code.821Pour utiliser la CLI sans quitter VS Code, appuyez sur `` Ctrl+` `` sous Windows/Linux ou sur `` Cmd+` `` sur Mac pour ouvrir le terminal intégré, puis exécutez `claude`. Le lancement de `claude` n'installe pas l'extension. Sans elle, `/ide` dans le terminal intégré signale « No available IDEs detected » et `/status` affiche l'IDE comme « Not connected ».

822 

823Pour bénéficier de fonctionnalités comme l'affichage des diffs et le partage des diagnostics, connectez la CLI à l'extension depuis le terminal intégré ou un terminal externe :

824 

825* **Terminal intégré** : [installez l'extension](#install-the-extension), puis lancez `claude`. La CLI se connecte automatiquement.

826* **Terminal externe** : exécutez `/ide` dans Claude Code pour vous connecter à VS Code. Si VS Code s'exécute sans l'extension, `/ide` l'installe, sauf si vous avez désactivé [`autoInstallIdeExtension`](https://code.claude.com/docs/fr/settings-reference#autoinstallideextension).

822 827 

823L'installation de l'extension n'ajoute pas `claude` au PATH de votre shell. L'extension embarque une copie privée de la CLI pour son panneau de chat, mais taper `claude` dans un terminal nécessite l'[installation autonome de la CLI](https://code.claude.com/docs/fr/setup.md). Effectuez l'installation une seule fois, et les commandes de cette page, y compris `claude mcp add` et `claude --resume`, fonctionneront dans n'importe quel terminal. Si `claude` reste introuvable après l'installation, [vérifiez votre PATH](https://code.claude.com/docs/fr/troubleshoot-install.md#verify-your-path).828L'installation de l'extension n'ajoute pas `claude` au PATH de votre shell. L'extension embarque une copie privée de la CLI pour son panneau de chat, mais taper `claude` dans un terminal nécessite l'[installation autonome de la CLI](https://code.claude.com/docs/fr/setup.md). Effectuez l'installation une seule fois, et les commandes de cette page, y compris `claude mcp add` et `claude --resume`, fonctionneront dans n'importe quel terminal. Si `claude` reste introuvable après l'installation, [vérifiez votre PATH](https://code.claude.com/docs/fr/troubleshoot-install.md#verify-your-path).

824 829 


10862. Recherchez « Claude Code »10912. Recherchez « Claude Code »

10873. Cliquez sur **Uninstall**10923. Cliquez sur **Uninstall**

1088 1093 

1089Si vous exécutez `claude` dans un terminal intégré de VS Code, Claude Code réinstalle automatiquement l'extension. Pour qu'elle reste désinstallée, désactivez **Auto-install IDE extension** dans `/config`, ou définissez [`autoInstallIdeExtension`](https://code.claude.com/docs/fr/settings-reference#autoinstallideextension) sur `false`. Vous pouvez également définir la variable d'environnement [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/fr/env-vars) sur `1`.1094L'extension reste désinstallée lorsque vous lancez `claude`. Si vous exécutez `/ide` depuis un terminal externe pendant que VS Code est ouvert, Claude Code la réinstalle. Pour éviter cela, définissez [`autoInstallIdeExtension`](https://code.claude.com/docs/fr/settings-reference#autoinstallideextension) sur `false` dans `~/.claude.json`, ou désactivez **Auto-install IDE extension** dans `/config` depuis le terminal intégré. Vous pouvez également définir la variable d'environnement [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](https://code.claude.com/docs/fr/env-vars) sur `1`.

1090 1095 

1091Pour supprimer également les données de l'extension et réinitialiser tous les paramètres, supprimez le répertoire de stockage de l'extension correspondant à votre plateforme.1096Pour supprimer également les données de l'extension et réinitialiser tous les paramètres, supprimez le répertoire de stockage de l'extension correspondant à votre plateforme.

1092 1097