SpyBara
Go Premium

Documentation 2026-10-18 22:59 UTC to 2026-10-19 23:58 UTC

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

20* Pour les sessions démarrées à partir d'un shell : définissez la variable d'environnement `CLAUDE_AX_SCREEN_READER` sur `1`. Dans Bash ou Zsh, exécutez `export CLAUDE_AX_SCREEN_READER=1`. Dans PowerShell, exécutez `$env:CLAUDE_AX_SCREEN_READER = "1"`. Ajoutez cette ligne à votre profil shell pour la conserver pour les shells futurs.20* Pour les sessions démarrées à partir d'un shell : définissez la variable d'environnement `CLAUDE_AX_SCREEN_READER` sur `1`. Dans Bash ou Zsh, exécutez `export CLAUDE_AX_SCREEN_READER=1`. Dans PowerShell, exécutez `$env:CLAUDE_AX_SCREEN_READER = "1"`. Ajoutez cette ligne à votre profil shell pour la conserver pour les shells futurs.

21* Pour chaque session sur la machine : ajoutez `"axScreenReader": true` à votre [fichier de paramètres](/docs/fr/settings) utilisateur. Le paramètre s'applique dans n'importe quel terminal, y compris le terminal intégré VS Code.21* Pour chaque session sur la machine : ajoutez `"axScreenReader": true` à votre [fichier de paramètres](/docs/fr/settings) utilisateur. Le paramètre s'applique dans n'importe quel terminal, y compris le terminal intégré VS Code.

22 22 

23Si vous combinez les méthodes, Claude Code applique le flag [`--ax-screen-reader`](/docs/fr/cli-reference#cli-flags) sur la variable d'environnement [`CLAUDE_AX_SCREEN_READER`](/docs/fr/env-vars#variables), et la variable sur le paramètre [`axScreenReader`](/docs/fr/settings-reference#axscreenreader).23Si vous combinez les méthodes, Claude Code donne la priorité au flag [`--ax-screen-reader`](/docs/fr/cli-reference#cli-flags) sur la variable d'environnement [`CLAUDE_AX_SCREEN_READER`](/docs/fr/env-vars#variables), et à la variable sur le paramètre [`axScreenReader`](/docs/fr/settings-reference#axscreenreader).

24 24 

25Si vous utilisez Claude Code via SSH, définissez la variable d'environnement ou le paramètre sur la machine distante où Claude Code s'exécute.25Si vous utilisez Claude Code via SSH, définissez la variable d'environnement ou le paramètre sur la machine distante où Claude Code s'exécute.

26 26 

Details

291| :- | :- | :- |291| :- | :- | :- |

292| **Prompt système** | Chaque requête | Petit coût fixe, toujours présent |292| **Prompt système** | Chaque requête | Petit coût fixe, toujours présent |

293| **Fichiers CLAUDE.md** | Démarrage de session, via [`settingSources`](/docs/fr/agent-sdk/claude-code-features) | Contenu complet dans chaque requête (mais mis en cache par prompt, donc seule la première requête paie le coût complet) |293| **Fichiers CLAUDE.md** | Démarrage de session, via [`settingSources`](/docs/fr/agent-sdk/claude-code-features) | Contenu complet dans chaque requête (mais mis en cache par prompt, donc seule la première requête paie le coût complet) |

294| **Définitions d'outils** | Chaque requête ; schémas MCP différés par défaut | Les schémas d'outils intégrés se chargent à chaque requête. La [recherche d'outils](/docs/fr/agent-sdk/mcp#mcp-tool-search) diffère les schémas d'outils MCP par défaut, en revenant au chargement initial sur les modèles non pris en charge et certaines plateformes. Voir [Configurer la recherche d'outils](/docs/fr/agent-sdk/tool-search#configure-tool-search) pour la matrice complète |294| **Définitions d'outils** | Chaque requête pour les outils intégrés principaux tels que Bash, Read et Edit ; à la demande pour les outils MCP et les autres outils intégrés, que la [recherche d'outils](/docs/fr/agent-sdk/mcp#mcp-tool-search) diffère par défaut | Tous les schémas se chargent dès le départ dans les cas décrits sous [Configurer la recherche d'outils](/docs/fr/agent-sdk/tool-search#configure-tool-search) |

295| **Historique de conversation** | S'accumule au fil des tours | Croît avec chaque tour : prompts, réponses, entrées d'outils, sorties d'outils |295| **Historique de conversation** | S'accumule au fil des tours | Croît avec chaque tour : prompts, réponses, entrées d'outils, sorties d'outils |

296| **Descriptions de compétences** | Démarrage de session, via sources de paramètres | Résumés courts ; le contenu complet se charge uniquement lors de l'invocation |296| **Descriptions de compétences** | Démarrage de session, via sources de paramètres | Résumés courts ; le contenu complet se charge uniquement lors de l'invocation |

297 297 


331 331 

332Quelques stratégies pour les agents de longue durée :332Quelques stratégies pour les agents de longue durée :

333 333 

334* **Utilisez des sous-agents pour les sous-tâches.** Chaque sous-agent commence avec une conversation fraîche (pas d'historique de messages antérieurs, bien qu'il charge son propre prompt système et le contexte au niveau du projet comme CLAUDE.md). Il ne voit pas les tours du parent, et seule sa réponse finale retourne au parent. Le contexte de l'agent principal croît par ce résumé, pas par la transcription complète de la sous-tâche. Voir [Ce que les sous-agents héritent](/docs/fr/agent-sdk/subagents#what-subagents-inherit) pour les détails.334* **Utilisez des sous-agents pour les sous-tâches.** Un sous-agent ne renvoie que sa réponse finale, donc le contexte de votre agent principal croît d'un résumé, et non de la transcription de la sous-tâche.

335* **Soyez sélectif avec les outils.** Chaque définition d'outil prend de l'espace de contexte. Utilisez le champ `tools` sur [`AgentDefinition`](/docs/fr/agent-sdk/subagents#agentdefinition-configuration) pour délimiter les sous-agents à l'ensemble minimum dont ils ont besoin.335* **Soyez sélectif avec les outils.** Chaque définition d'outil prend de l'espace de contexte. Utilisez le champ `tools` sur [`AgentDefinition`](/docs/fr/agent-sdk/subagents#agentdefinition-configuration) pour délimiter les sous-agents à l'ensemble minimum dont ils ont besoin.

336* **Surveillez les coûts des serveurs MCP.** La [recherche d'outils MCP](/docs/fr/agent-sdk/mcp#mcp-tool-search) diffère les schémas d'outils MCP par défaut et les charge à la demande. Lorsque la recherche d'outils est désactivée ou a basculé vers le chargement initial, chaque serveur MCP ajoute tous ses schémas d'outils à chaque requête, donc quelques serveurs avec de nombreux outils peuvent consommer un contexte significatif avant que l'agent ne fasse aucun travail. Voir [Configurer la recherche d'outils](/docs/fr/agent-sdk/tool-search#configure-tool-search) pour les configurations où le basculement s'applique.336* **Surveillez les coûts des serveurs MCP.** La [recherche d'outils MCP](/docs/fr/agent-sdk/mcp#mcp-tool-search) diffère les schémas d'outils MCP par défaut et les charge à la demande. Lorsque la recherche d'outils est désactivée ou a basculé vers le chargement initial, chaque serveur MCP ajoute tous ses schémas d'outils à chaque requête, donc quelques serveurs avec de nombreux outils peuvent consommer un contexte significatif avant que l'agent ne fasse aucun travail. Voir [Configurer la recherche d'outils](/docs/fr/agent-sdk/tool-search#configure-tool-search) pour les configurations où le basculement s'applique.

337* **Utilisez un effort inférieur pour les tâches de routine.** Définissez [effort](#effort-level) à `"low"` pour les agents qui n'ont besoin que de lire des fichiers ou de lister des répertoires. Cela réduit l'utilisation des tokens et le coût.337* **Utilisez un effort inférieur pour les tâches de routine.** Définissez [effort](#effort-level) à `"low"` pour les agents qui n'ont besoin que de lire des fichiers ou de lister des répertoires. Cela réduit l'utilisation des tokens et le coût.

Details

123 123 

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

125 125 

126Si vous n'en définissez pas un, Claude Code choisit le mode de permission de démarrage selon les règles dans [Quel mode une session démarre](/docs/fr/permission-modes#which-mode-a-session-starts-in) :126Avec Claude Code v2.1.302 ou ultérieur, votre application démarre en mode `default`, sauf si vous définissez un mode de permission ou si elle en obtient un via [`permissions.defaultMode`](/docs/fr/settings-reference#permissions-defaultmode) dans ses fichiers de paramètres. En mode `default`, Claude Code refuse tout appel d'outil nécessitant une approbation, sauf si vous l'approuvez via une règle d'autorisation, un hook, un rappel `canUseTool` ou un outil de demande de permission. Si des appels d'outils sont refusés, consultez [Appels d'outils refusés dans `claude -p` et les exécutions de l'Agent SDK](/docs/fr/permission-modes#which-mode-a-non-interactive-run-starts-in).

127 

128* Un `permissions.defaultMode` à partir des [fichiers de paramètres](/docs/fr/settings#where-settings-live) de la session lorsqu'un s'applique

129* Sinon la valeur par défaut intégrée, qui peut être [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode)

130 

131Une session qui démarre en mode auto supprime les règles d'autorisation larges telles qu'une entrée `Bash` nue, comme [Comment le mode auto évalue les actions](/docs/fr/permission-modes#how-auto-mode-evaluates-actions) le décrit. Si votre application s'appuie sur le mode `default` ou sur une telle règle, passez `default` explicitement.

132 

133Avant TypeScript Agent SDK v0.3.286, l'omission de `permissionMode` était la même que de passer `default`.

134 127 

135<h3 id="available-modes">128<h3 id="available-modes">

136 Modes disponibles129 Modes disponibles

Details

1035)1035)

1036```1036```

1037 1037 

1038* `API_TIMEOUT_MS` : délai d'attente par requête sur le client Anthropic, en millisecondes. Par défaut `600000`. S'applique à la boucle principale et à tous les sous-agents.1038* [`API_TIMEOUT_MS`](/docs/fr/env-vars) : durée pendant laquelle chaque tentative de requête peut attendre les en-têtes de réponse, en millisecondes. Cela ne limite pas la durée d'une réponse en streaming une fois les en-têtes arrivés. Par défaut `600000`. S'applique à la boucle principale et à tous les sous-agents.

1039* `CLAUDE_CODE_MAX_RETRIES` : nombre maximum de nouvelles tentatives d'API. Par défaut `10`, plafonné à `15`. Chaque tentative obtient sa propre fenêtre `API_TIMEOUT_MS`.1039* `CLAUDE_CODE_MAX_RETRIES` : nombre maximum de nouvelles tentatives d'API. Par défaut `10`, plafonné à `15`. Chaque tentative obtient sa propre fenêtre `API_TIMEOUT_MS`.

1040 1040 

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

Details

172 172 

173Dans le SDK Python, les noms de champs multi-mots tels que `disallowedTools` et `mcpServers` conservent leur orthographe camelCase pour correspondre au format de transmission plutôt que de suivre la convention snake\_case de Python. Consultez la [référence `AgentDefinition`](/docs/fr/agent-sdk/python#agentdefinition) pour plus de détails.173Dans le SDK Python, les noms de champs multi-mots tels que `disallowedTools` et `mcpServers` conservent leur orthographe camelCase pour correspondre au format de transmission plutôt que de suivre la convention snake\_case de Python. Consultez la [référence `AgentDefinition`](/docs/fr/agent-sdk/python#agentdefinition) pour plus de détails.

174 174 

175Les sous-agents s'exécutent en arrière-plan par défaut. Un appel d'outil Agent qui omet l'entrée [`run_in_background`](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) lance un sous-agent d'arrière-plan, et Claude définit `run_in_background: false` lorsqu'il a besoin du résultat avant de continuer. Définissez le champ `background` sur `true` pour forcer l'exécution en arrière-plan pour un agent spécifique, quel que soit ce que Claude demande. Avant Claude Code v2.1.198, la valeur par défaut d'arrière-plan était en cours de déploiement progressif, et un appel d'outil Agent qui omettait `run_in_background` pouvait exécuter le sous-agent de manière synchrone.175<h4 id="choose-whether-claude-waits-for-subagents">

176 Choisir si Claude attend les sous-agents

177</h4>

176 178 

177Les sous-agents peuvent également générer leurs propres sous-agents. Pour limiter la profondeur de cet imbrication, le nombre de sous-agents qui s'exécutent à la fois et le montant qu'une requête dépense, consultez [Limiter la profondeur, la concurrence et les dépenses des sous-agents](#cap-subagent-depth-concurrency-and-spend).179Par défaut, un sous-agent que votre agent principal génère [s'exécute en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background). Le résultat de l'outil Agent contient `status: "async_launched"`, et le rapport arrive lors d'un tour ultérieur.

180 

181Claude attend lorsque sa prochaine action a besoin du rapport : l'appel bloque et renvoie `status: "completed"`. Pour faire ce choix vous-même :

182 

183* **Dans votre prompt** : demandez à Claude d'attendre, par exemple « exécutez l'agent test-runner et attendez-le »

184* **Dans la définition** : définissez `background` sur `true` pour maintenir cet agent en arrière-plan

178 185 

179<h3 id="filesystem-based-definition-alternative">186<h3 id="filesystem-based-definition-alternative">

180 Définition basée sur le système de fichiers (alternative)187 Définition basée sur le système de fichiers (alternative)


242 249 

243Cela contourne la correspondance automatique et invoque directement le sous-agent nommé.250Cela contourne la correspondance automatique et invoque directement le sous-agent nommé.

244 251 

252<h3 id="forked-subagents">

253 Sous-agents forkés

254</h3>

255 

256Un [fork](/docs/fr/sub-agents#fork-the-current-conversation) est un sous-agent qui copie la conversation en cours au lieu de repartir de zéro. À partir de Claude Code v2.1.302, Claude peut démarrer des forks dans votre application sans aucune configuration, en appelant l'outil Agent avec `subagent_type: "fork"`.

257 

258Pour empêcher Claude de démarrer des forks, ajoutez une [règle de refus `Agent(fork)`](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) :

259 

260<CodeGroup>

261 ```python Python theme={null}

262 options = ClaudeAgentOptions(

263 # Deny only the fork subagent type; other subagents still run

264 disallowed_tools=["Agent(fork)"],

265 )

266 ```

267 

268 ```typescript TypeScript theme={null}

269 const options = {

270 // Deny only the fork subagent type; other subagents still run

271 disallowedTools: ["Agent(fork)"]

272 };

273 ```

274</CodeGroup>

275 

245<h3 id="dynamic-agent-configuration">276<h3 id="dynamic-agent-configuration">

246 Configuration dynamique d'agent277 Configuration dynamique d'agent

247</h3>278</h3>

Details

610| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Définir le format de sortie des résultats de l'agent. Consultez [Sorties structurées](/docs/fr/agent-sdk/structured-outputs) pour plus de détails |610| `outputFormat` | `{ type: 'json_schema', schema: JSONSchema }` | `undefined` | Définir le format de sortie des résultats de l'agent. Consultez [Sorties structurées](/docs/fr/agent-sdk/structured-outputs) pour plus de détails |

611| `outputStyle` | `string` | `undefined` | Ce n'est pas un champ d'`Options`. Définissez plutôt `outputStyle` dans l'objet [`settings`](/docs/fr/settings) inline ou dans un fichier de paramètres. Consultez [Activer un style de sortie](/docs/fr/agent-sdk/modifying-system-prompts#activate-an-output-style) |611| `outputStyle` | `string` | `undefined` | Ce n'est pas un champ d'`Options`. Définissez plutôt `outputStyle` dans l'objet [`settings`](/docs/fr/settings) inline ou dans un fichier de paramètres. Consultez [Activer un style de sortie](/docs/fr/agent-sdk/modifying-system-prompts#activate-an-output-style) |

612| `pathToClaudeCodeExecutable` | `string` | Résolu automatiquement depuis le binaire natif fourni | Chemin vers l'exécutable Claude Code. Nécessaire uniquement si les dépendances optionnelles ont été ignorées lors de l'installation ou si votre plateforme ne fait pas partie de l'ensemble pris en charge |612| `pathToClaudeCodeExecutable` | `string` | Résolu automatiquement depuis le binaire natif fourni | Chemin vers l'exécutable Claude Code. Nécessaire uniquement si les dépendances optionnelles ont été ignorées lors de l'installation ou si votre plateforme ne fait pas partie de l'ensemble pris en charge |

613| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | Mode de permission pour la session. Si vous l'omettez, la session peut démarrer en mode auto. Consultez [Modes de permission](/docs/fr/agent-sdk/permissions#permission-modes) pour savoir comment Claude Code choisit le mode de permission de départ |613| `permissionMode` | [`PermissionMode`](#permissionmode) | `undefined` | Mode de permission pour la session. Si vous l'omettez et que rien d'autre ne définit de mode de permission, comme un paramètre [`permissions.defaultMode`](/docs/fr/settings-reference#permissions-defaultmode), la session démarre en `default`. Consultez [Modes de permission](/docs/fr/agent-sdk/permissions#permission-modes) |

614| `permissionPromptToolName` | `string` | `undefined` | Nom de l'outil MCP pour les demandes de permission |614| `permissionPromptToolName` | `string` | `undefined` | Nom de l'outil MCP pour les demandes de permission |

615| `permissionPrompts` | `'host' \| 'none'` | `'host'` | Qui répond aux demandes de permission : `'host'` les achemine vers votre callback [`canUseTool`](#canusetool) ou l'outil `permissionPromptToolName`, et `'none'` [refuse les appels qui auraient déclenché une demande](/docs/fr/agent-sdk/permissions#how-permissions-are-evaluated). Nécessite Claude Code v2.1.259 ou ultérieure |615| `permissionPrompts` | `'host' \| 'none'` | `'host'` | Qui répond aux demandes de permission : `'host'` les achemine vers votre callback [`canUseTool`](#canusetool) ou l'outil `permissionPromptToolName`, et `'none'` [refuse les appels qui auraient déclenché une demande](/docs/fr/agent-sdk/permissions#how-permissions-are-evaluated). Nécessite Claude Code v2.1.259 ou ultérieure |

616| `persistSession` | `boolean` | `true` | Lorsque `false`, désactive la persistance de la session sur disque. Les sessions ne peuvent pas être reprises ultérieurement |616| `persistSession` | `boolean` | `true` | Lorsque `false`, désactive la persistance de la session sur disque. Les sessions ne peuvent pas être reprises ultérieurement |


662});662});

663```663```

664 664 

665* `API_TIMEOUT_MS` : délai d'expiration par requête sur le client Anthropic, en millisecondes. Par défaut `600000`. S'applique à la boucle principale et à tous les sous-agents.665* [`API_TIMEOUT_MS`](/docs/fr/env-vars) : durée pendant laquelle chaque tentative de requête peut attendre les en-têtes de réponse, en millisecondes. Elle ne limite pas la durée d'une réponse en streaming une fois les en-têtes reçus. Valeur par défaut : `600000`. S'applique à la boucle principale et à tous les sous-agents.

666* `CLAUDE_CODE_MAX_RETRIES` : nombre maximal de nouvelles tentatives d'API. Valeur par défaut `10`, plafonnée à `15`. Chaque nouvelle tentative dispose de sa propre fenêtre `API_TIMEOUT_MS`.666* `CLAUDE_CODE_MAX_RETRIES` : nombre maximal de nouvelles tentatives d'API. Valeur par défaut `10`, plafonnée à `15`. Chaque nouvelle tentative dispose de sa propre fenêtre `API_TIMEOUT_MS`.

667 667 

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

agent-teams.md +1 −1

Details

557* **L'arrêt peut être lent** : les coéquipiers terminent leur demande actuelle ou appel d'outil avant de s'arrêter, ce qui peut prendre du temps.557* **L'arrêt peut être lent** : les coéquipiers terminent leur demande actuelle ou appel d'outil avant de s'arrêter, ce qui peut prendre du temps.

558* **Une équipe par session** : une session a exactement une équipe, limitée à cette session. Vous ne pouvez pas créer d'équipes nommées supplémentaires ou partager une équipe entre les sessions.558* **Une équipe par session** : une session a exactement une équipe, limitée à cette session. Vous ne pouvez pas créer d'équipes nommées supplémentaires ou partager une équipe entre les sessions.

559* **Pas d'équipes imbriquées** : les coéquipiers ne peuvent pas générer leurs propres coéquipiers. Seul le chef peut gérer l'équipe.559* **Pas d'équipes imbriquées** : les coéquipiers ne peuvent pas générer leurs propres coéquipiers. Seul le chef peut gérer l'équipe.

560* **Pas de sous-agents d'arrière-plan à partir de coéquipiers in-process** : les propres sous-agents d'un coéquipier in-process s'exécutent au premier plan, car le travail d'arrière-plan d'un coéquipier ne peut pas survivre au processus du chef. Claude Code retourne une erreur quand un coéquipier génère un sous-agent dont la définition définit `background: true`. Une demande `run_in_background: true` d'un coéquipier échoue également, soit avec une erreur, soit en s'exécutant silencieusement au premier plan, comme décrit dans [comment Claude Code choisit le premier plan ou l'arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background). Les sous-agents lancés à partir de la conversation principale suivent la [valeur par défaut d'arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background).560* **Pas de sous-agents d'arrière-plan à partir de coéquipiers in-process** : les propres sous-agents d'un coéquipier in-process s'exécutent au premier plan, car le travail d'arrière-plan d'un coéquipier ne peut pas survivre au processus du chef. Claude Code retourne une erreur quand un coéquipier génère un sous-agent dont la définition définit `background: true`. Une demande `run_in_background: true` d'un coéquipier échoue également, soit avec une erreur, soit en s'exécutant silencieusement au premier plan. Les sous-agents lancés à partir de la conversation principale suivent la [valeur par défaut d'arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background).

561* **Le chef est fixe** : la session principale est le chef pour sa durée de vie. Vous ne pouvez pas promouvoir un coéquipier en chef ou transférer le leadership.561* **Le chef est fixe** : la session principale est le chef pour sa durée de vie. Vous ne pouvez pas promouvoir un coéquipier en chef ou transférer le leadership.

562* **Permissions définies au moment de la génération** : les coéquipiers commencent avec le mode de permission décrit sous [Permissions](#permissions). Vous pouvez modifier le mode de permission d'un coéquipier individuel après la génération, mais vous ne pouvez pas définir les modes de permission par coéquipier au moment de la génération.562* **Permissions définies au moment de la génération** : les coéquipiers commencent avec le mode de permission décrit sous [Permissions](#permissions). Vous pouvez modifier le mode de permission d'un coéquipier individuel après la génération, mais vous ne pouvez pas définir les modes de permission par coéquipier au moment de la génération.

563* **Les volets divisés nécessitent tmux ou iTerm2** : le mode in-process par défaut fonctionne dans n'importe quel terminal. Le mode volets divisés n'est pas supporté dans le terminal intégré de VS Code, Windows Terminal ou Ghostty.563* **Les volets divisés nécessitent tmux ou iTerm2** : le mode in-process par défaut fonctionne dans n'importe quel terminal. Le mode volets divisés n'est pas supporté dans le terminal intégré de VS Code, Windows Terminal ou Ghostty.

agent-view.md +9 −1

Details

479 479 

480Après le fork, les deux conversations sont indépendantes : rien de ce que fait la copie n'entre de lui-même dans la conversation originale, bien que dans les sessions où la [messagerie inter-sessions](/docs/fr/cross-session-messaging) est activée, le Claude de l'une ou l'autre session puisse explicitement envoyer un message à l'autre.480Après le fork, les deux conversations sont indépendantes : rien de ce que fait la copie n'entre de lui-même dans la conversation originale, bien que dans les sessions où la [messagerie inter-sessions](/docs/fr/cross-session-messaging) est activée, le Claude de l'une ou l'autre session puisse explicitement envoyer un message à l'autre.

481 481 

482Copier la session nécessite Claude Code v2.1.212 ou ultérieur ; de v2.1.161 à v2.1.211, `/fork` démarre à la place un [sous-agent forké](/docs/fr/sub-agents#fork-the-current-conversation), qui correspond désormais à `/subtask`. Quand la [vue agent est désactivée](#turn-off-agent-view), `/fork` conserve le comportement du sous-agent forké et `/subtask` n'est pas disponible.482Quand la [vue agent est désactivée](#turn-off-agent-view), `/fork` démarre un [sous-agent forké](/docs/fr/sub-agents#fork-the-current-conversation) au lieu de copier la session.

483 483 

484Passez un prompt comme `/fork open a draft pull request with the work so far` et la copie commence à y travailler immédiatement. Sans prompt, la copie attend sa première instruction : sélectionnez sa ligne dans `claude agents` et appuyez sur `Espace` pour en envoyer une, ou exécutez `claude attach <id>`. La ligne sélectionnée affiche `space to send it a prompt` pendant qu'elle attend.484Passez un prompt comme `/fork open a draft pull request with the work so far` et la copie commence à y travailler immédiatement. Sans prompt, la copie attend sa première instruction : sélectionnez sa ligne dans `claude agents` et appuyez sur `Espace` pour en envoyer une, ou exécutez `claude attach <id>`. La ligne sélectionnée affiche `space to send it a prompt` pendant qu'elle attend.

485 485 


957 957 

958Exécutez `/tasks` pour voir tout ce qui s'exécute, puis confirmez pour mettre en arrière-plan de toute façon ou choisissez `Stay` pour laisser le travail se terminer d'abord. Consultez [Ce qui est transféré lors de la mise en arrière-plan](#what-carries-over-when-you-background) pour savoir quels types de travail sont transférés et lesquels Claude Code arrête.958Exécutez `/tasks` pour voir tout ce qui s'exécute, puis confirmez pour mettre en arrière-plan de toute façon ou choisissez `Stay` pour laisser le travail se terminer d'abord. Consultez [Ce qui est transféré lors de la mise en arrière-plan](#what-carries-over-when-you-background) pour savoir quels types de travail sont transférés et lesquels Claude Code arrête.

959 959 

960<h3 id="carried-into-this-session-and-not-resumed">

961 La conversation indique qu'un agent en arrière-plan `was carried into this session and not resumed`

962</h3>

963 

964Cet avis nomme un [sous-agent](/docs/fr/sub-agents) en arrière-plan qui ne s'exécute pas dans cette session.

965 

966Claude voit l'avis et répond de lui-même, vous n'avez donc pas besoin de le lui demander. Si vous avez toujours besoin du travail de ce sous-agent après avoir lu la réponse de Claude, demandez-le à Claude.

967 

960<h3 id="prompt-rejected-as-too-short">968<h3 id="prompt-rejected-as-too-short">

961 Prompt rejeté comme trop court969 Prompt rejeté comme trop court

962</h3>970</h3>

Details

182export AWS_PROFILE=your-profile-name182export AWS_PROFILE=your-profile-name

183```183```

184 184 

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

186 186 

187<h4 id="use-aws-management-console-credentials">187<h4 id="use-aws-management-console-credentials">

188 Utiliser les identifiants de la console de gestion AWS188 Utiliser les identifiants de la console de gestion AWS


411 411 

412Lorsque Claude Code démarre avec Amazon Bedrock configuré, il vérifie que les modèles qu'il a l'intention d'utiliser sont accessibles dans votre compte.412Lorsque Claude Code démarre avec Amazon Bedrock configuré, il vérifie que les modèles qu'il a l'intention d'utiliser sont accessibles dans votre compte.

413 413 

414Si vous avez épinglé une version de modèle plus ancienne que la valeur par défaut actuelle de Claude Code, et que votre compte peut invoquer la version plus récente, Claude Code vous invite à mettre à jour l'épingle. L'acceptation écrit le nouvel ID de modèle dans votre [fichier de paramètres utilisateur](/docs/fr/settings) et redémarre Claude Code. Le refus est mémorisé jusqu'au prochain changement de version par défaut. Les épingles qui pointent vers un [ARN de profil d'inférence d'application](#map-each-model-version-to-an-inference-profile) sont ignorées, car celles-ci sont gérées par votre administrateur.414Si vous avez épinglé une version de modèle plus ancienne que la valeur par défaut actuelle de Claude Code, et que votre compte peut invoquer la version plus récente, Claude Code vous demande de mettre à jour l'épingle. L'acceptation écrit le nouvel ID de modèle dans votre [fichier de paramètres utilisateur](/docs/fr/settings) et redémarre Claude Code. Le refus est mémorisé jusqu'au prochain changement de version par défaut. Les épingles qui pointent vers un [ARN de profil d'inférence d'application](#map-each-model-version-to-an-inference-profile) sont ignorées, car celles-ci sont gérées par votre administrateur.

415 415 

416Si vous n'avez pas épinglé de modèle et que la valeur par défaut actuelle n'est pas disponible dans votre compte, Claude Code bascule pour la session actuelle et affiche un avis. Il essaie d'abord les versions antérieures du modèle par défaut et, lorsque la valeur par défaut est un modèle Opus et qu'aucune version Opus n'est disponible, bascule vers le modèle Sonnet par défaut. Le basculement n'est pas persistant. Activez le modèle plus récent dans votre compte Amazon Bedrock ou [épinglez une version](#4-pin-model-versions) pour rendre le choix permanent.416Si vous n'avez pas épinglé de modèle et que la valeur par défaut actuelle n'est pas disponible dans votre compte, Claude Code bascule pour la session actuelle et affiche un avis. Il essaie d'abord les versions antérieures du modèle par défaut et, lorsque la valeur par défaut est un modèle Opus et qu'aucune version Opus n'est disponible, bascule vers le modèle Sonnet par défaut. Le basculement n'est pas persistant. Activez le modèle plus récent dans votre compte Amazon Bedrock ou [épinglez une version](#4-pin-model-versions) pour rendre le choix permanent.

417 417 


419 419 

420Les alias de modèle tels que `opus` n'agissent pas comme des épingles, et il en va de même pour un ID de modèle que Claude Code ne reconnaît pas, comme un ARN de profil d'inférence d'application.420Les alias de modèle tels que `opus` n'agissent pas comme des épingles, et il en va de même pour un ID de modèle que Claude Code ne reconnaît pas, comme un ARN de profil d'inférence d'application.

421 421 

422Lorsque ces vérifications trouvent un modèle que votre compte ne peut pas invoquer, Claude Code mémorise le refus sur cette machine pendant jusqu'à un jour, et les lancements pendant ce temps ignorent le modèle mémorisé sans demander à Amazon Bedrock à nouveau. Claude Code vérifie un refus mémorisé d'un modèle par défaut actuel à nouveau au lancement une fois dix minutes se sont écoulées depuis la dernière vérification, de sorte qu'une valeur par défaut que votre administrateur réactive revient. Pour désactiver la mémoire, définissez [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](/docs/fr/env-vars).422Lorsque ces vérifications trouvent un modèle que votre compte ne peut pas invoquer, Claude Code mémorise le refus sur cette machine pendant jusqu'à un jour, et les lancements pendant ce temps ignorent le modèle mémorisé sans interroger à nouveau Amazon Bedrock. Claude Code vérifie à nouveau au lancement un refus mémorisé d'un modèle par défaut actuel une fois que dix minutes se sont écoulées depuis la dernière vérification, de sorte qu'une valeur par défaut que votre administrateur réactive revient. Pour désactiver la mémoire, définissez [`CLAUDE_CODE_SKIP_MODEL_ACCESS_MEMORY=1`](/docs/fr/env-vars).

423 423 

424<h3 id="when-your-organization-enforces-a-model-allowlist">424<h3 id="when-your-organization-enforces-a-model-allowlist">

425 Lorsque votre organisation impose une liste d'autorisation de modèles425 Lorsque votre organisation impose une liste d'autorisation de modèles


442 Lorsqu'un modèle est désactivé en cours de session442 Lorsqu'un modèle est désactivé en cours de session

443</h3>443</h3>

444 444 

445Si votre compte perd l'accès au modèle sur lequel votre session s'exécute, par exemple parce qu'un administrateur le désactive dans votre compte Amazon Bedrock, Claude Code bascule la session vers un autre modèle au lieu d'échouer à chaque demande, et affiche `Switched to <fallback> because <model> is not available`. Il essaie les mêmes modèles que le basculement au démarrage : les versions antérieures du même niveau d'abord et, pour une session Opus sans version Opus disponible, le modèle Sonnet par défaut.445Si votre compte perd l'accès au modèle sur lequel votre session s'exécute, par exemple parce qu'un administrateur le désactive dans votre compte Amazon Bedrock, Claude Code bascule la session vers un autre modèle au lieu d'échouer à chaque requête, et affiche `Switched to <fallback> because <model> is not available`. Il essaie les mêmes modèles que le basculement au démarrage : les versions antérieures du même niveau d'abord et, pour une session Opus sans version Opus disponible, le modèle Sonnet par défaut.

446 446 

447Le basculement s'applique uniquement à un niveau que vous n'avez pas épinglé, la même condition que le basculement au démarrage. Une session sur une version spécifique que vous avez choisie, ou sur un [ARN de profil d'inférence d'application](#map-each-model-version-to-an-inference-profile), conserve son modèle et, sans chaîne de modèle de basculement, la demande échoue à la place. En [mode auto](/docs/fr/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code bascule uniquement vers un modèle que le mode auto supporte sur Amazon Bedrock. Si aucun de ces modèles n'est disponible non plus, la demande échoue avec [AWS authentication failed](/docs/fr/errors#aws-authentication-failed) et un conseil pour activer le modèle.447Le basculement s'applique uniquement à un niveau que vous n'avez pas épinglé, la même condition que le basculement au démarrage. Une session sur une version spécifique que vous avez choisie, ou sur un [ARN de profil d'inférence d'application](#map-each-model-version-to-an-inference-profile), conserve son modèle et, sans chaîne de modèles de secours, la requête échoue à la place. En [mode auto](/docs/fr/permission-modes#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code bascule uniquement vers un modèle que le mode auto prend en charge sur Amazon Bedrock. Si aucun de ces modèles n'est disponible non plus, la requête échoue avec [AWS authentication failed](/docs/fr/errors#aws-authentication-failed) et un conseil pour activer le modèle.

448 448 

449Une [chaîne de modèle de basculement](/docs/fr/model-config#fallback-model-chains) que vous configurez remplace le basculement de niveau : sur ces refus Claude Code bascule vers votre basculement configuré à la place. Pour que les demandes refusées échouent plutôt que de basculer, définissez [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](/docs/fr/env-vars). Une chaîne de basculement que vous avez configurée bascule toujours sur ces refus ; supprimez également la chaîne si vous voulez que chaque demande refusée échoue.449Une [chaîne de modèles de secours](/docs/fr/model-config#fallback-model-chains) que vous configurez remplace le basculement de niveau : sur ces refus, Claude Code bascule vers votre modèle de secours configuré à la place. Pour que les requêtes refusées échouent plutôt que de basculer, définissez [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](/docs/fr/env-vars). Une chaîne de secours que vous avez configurée bascule toujours sur ces refus ; supprimez également la chaîne si vous voulez que chaque requête refusée échoue.

450 450 

451<h2 id="cross-region-inference-profile-prefixes">451<h2 id="cross-region-inference-profile-prefixes">

452 Préfixes de profil d'inférence inter-régions452 Préfixes de profil d'inférence inter-régions

artifacts.md +1 −1

Details

105 Retrouver un artifact105 Retrouver un artifact

106</h2>106</h2>

107 107 

108Exécutez `/artifacts` dans Claude Code pour lister les artefacts que vous possédez et ceux partagés avec vous. Les artefacts de la session actuelle apparaissent en premier, sous **This session**. Nécessite Claude Code v2.1.208 ou version ultérieure.108Exécutez `/artifacts` dans Claude Code pour lister les artefacts que vous possédez et ceux partagés avec vous. Les artefacts de la session actuelle apparaissent en premier, sous **This session**.

109 109 

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

111 111 

Details

321claude auto-mode defaults321claude auto-mode defaults

322```322```

323 323 

324Pour lire la formulation complète d'une règle sans passer par `jq`, passez `--label` avec le début du libellé de la règle, par exemple `claude auto-mode defaults --label 'Git Destructive'`. La correspondance est un préfixe insensible à la casse sur le libellé de chaque règle, et les sections sans correspondance s'affichent comme des listes vides. Nécessite Claude Code v2.1.208 ou version ultérieure.324Pour lire la formulation complète d'une règle sans passer par `jq`, passez `--label` avec le début du libellé de la règle, par exemple `claude auto-mode defaults --label 'Git Destructive'`. La correspondance est un préfixe insensible à la casse sur le libellé de chaque règle, et les sections sans correspondance s'affichent comme des listes vides.

325 325 

326Imprimez ce que le classificateur utilise réellement au format JSON, avec vos paramètres appliqués où définis et les valeurs par défaut sinon :326Imprimez ce que le classificateur utilise réellement au format JSON, avec vos paramètres appliqués où définis et les valeurs par défaut sinon :

327 327 


359 359 

360Si vous avez écrit des règles personnalisées, `claude auto-mode critique` les examine et signale les entrées ambiguës, redondantes ou susceptibles de causer des faux positifs.360Si vous avez écrit des règles personnalisées, `claude auto-mode critique` les examine et signale les entrées ambiguës, redondantes ou susceptibles de causer des faux positifs.

361 361 

362Pour abandonner vos personnalisations et revenir aux paramètres par défaut intégrés, exécutez la sous-commande reset. Elle nécessite Claude Code v2.1.212 ou version ultérieure et supprime la section `autoMode` de votre fichier de paramètres utilisateur :362Pour abandonner vos personnalisations et revenir aux paramètres par défaut intégrés, exécutez la sous-commande reset, qui supprime la section `autoMode` de votre fichier de paramètres utilisateur :

363 363 

364```bash theme={null}364```bash theme={null}

365claude auto-mode reset365claude auto-mode reset

chrome.md +3 −3

Details

113 113 

114Avec ce paramètre activé et Claude Code v2.1.287 ou ultérieur, chaque session VS Code se connecte à votre navigateur dès son démarrage, de sorte que Claude peut l'utiliser avant que vous ne tapiez `@browser`. Dans les versions antérieures, ou avec le paramètre désactivé, une session VS Code se connecte lorsque vous tapez `@browser`.114Avec ce paramètre activé et Claude Code v2.1.287 ou ultérieur, chaque session VS Code se connecte à votre navigateur dès son démarrage, de sorte que Claude peut l'utiliser avant que vous ne tapiez `@browser`. Dans les versions antérieures, ou avec le paramètre désactivé, une session VS Code se connecte lorsque vous tapez `@browser`.

115 115 

116Claude Code démarre normalement lorsque Chrome n'est pas en cours d'exécution. Avant la v2.1.211, le démarrage pouvait se bloquer lorsque l'intégration Chrome était activée mais que Chrome n'était pas en cours d'exécution.116Claude Code démarre normalement lorsque Chrome n'est pas en cours d'exécution.

117 117 

118<Note>118<Note>

119 L'activation de Chrome par défaut augmente l'utilisation du contexte puisque les outils du navigateur et leurs instructions sont toujours chargés. Si vous remarquez une augmentation de la consommation de contexte, désactivez ce paramètre et connectez-vous uniquement si nécessaire, avec `--chrome` dans la CLI ou en tapant [`@browser`](/docs/fr/vs-code#automate-browser-tasks-with-chrome) dans la zone de prompt de VS Code.119 L'activation de Chrome par défaut augmente l'utilisation du contexte puisque les outils du navigateur et leurs instructions sont toujours chargés. Si vous remarquez une augmentation de la consommation de contexte, désactivez ce paramètre et connectez-vous uniquement si nécessaire, avec `--chrome` dans la CLI ou en tapant [`@browser`](/docs/fr/vs-code#automate-browser-tasks-with-chrome) dans la zone de prompt de VS Code.


192 Télécharger des fichiers sur des pages web192 Télécharger des fichiers sur des pages web

193</h3>193</h3>

194 194 

195Claude peut joindre des fichiers de votre machine aux champs de téléchargement sur une page. Claude Code lit le fichier et envoie son contenu au navigateur, de sorte que les téléchargements fonctionnent dans les sessions locales et distantes. Nécessite Claude Code v2.1.211 ou version ultérieure.195Claude peut joindre des fichiers de votre machine aux champs de téléchargement sur une page. Claude Code lit le fichier et envoie son contenu au navigateur, de sorte que les téléchargements fonctionnent dans les sessions locales et distantes.

196 196 

197Cet exemple joint un fichier journal à un formulaire :197Cet exemple joint un fichier journal à un formulaire :

198 198 


271Take a screenshot of the checkout page and save it to disk271Take a screenshot of the checkout page and save it to disk

272```272```

273 273 

274Claude enregistre l'image sur le disque et rapporte le chemin du fichier. Avant v2.1.211, l'option `save_to_disk` de l'outil de capture d'écran n'écrivait pas de fichier.274Claude enregistre l'image sur le disque et rapporte le chemin du fichier.

275 275 

276<h2 id="troubleshooting">276<h2 id="troubleshooting">

277 Dépannage277 Dépannage

Details

502 Pipelines CI et machines distantes502 Pipelines CI et machines distantes

503</h3>503</h3>

504 504 

505Il n'y a pas de flux de jeton de service pour les pipelines sans surveillance. La connexion à la passerelle exécute toujours le flux d'appareil du navigateur, donc un travail CI sans développeur pour approuver la connexion ne peut pas s'authentifier ; configurez ceux-ci directement avec votre fournisseur.505Il n'y a pas de flux de jeton de service pour les pipelines sans surveillance. La connexion à la passerelle exécute toujours le flux d'appareil du navigateur, donc un travail CI sans développeur pour approuver la connexion ne peut pas s'authentifier ; configurez ceux-ci directement avec votre fournisseur. Déployez `forceLoginMethod` et `forceLoginGatewayUrl` sur les machines des développeurs et laissez-les hors des runners CI. Sur une machine dont les paramètres gérés les définissent, une session qui s'authentifie avec `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN` ou `apiKeyHelper` [se termine au démarrage](/docs/fr/errors#administrator-policy-requires-a-cloud-gateway-sign-in).

506 506 

507Une fois qu'un développeur s'est connecté, chaque session Claude Code sur cette machine utilise la session de passerelle, y compris les exécutions non interactives `claude -p` et les sessions démarrées par le SDK Agent. Claude Code applique la [politique de passerelle](/docs/fr/claude-apps-gateway-config#managed) à chacune d'elles.507Une fois qu'un développeur s'est connecté, chaque session Claude Code sur cette machine utilise la session de passerelle, y compris les exécutions non interactives `claude -p` et les sessions démarrées par le SDK Agent. Claude Code applique la [politique de passerelle](/docs/fr/claude-apps-gateway-config#managed) à chacune d'elles.

508 508 

Details

340 340 

341Définissez `forward_user_identity` uniquement sur un upstream dont le `base_url` est un proxy que vous exploitez. La passerelle envoie les e-mails des développeurs à quel que soit le serveur que ce `base_url` nomme. Si le `base_url` est l'API Anthropic, qui est la valeur par défaut, la passerelle refuse de démarrer.341Définissez `forward_user_identity` uniquement sur un upstream dont le `base_url` est un proxy que vous exploitez. La passerelle envoie les e-mails des développeurs à quel que soit le serveur que ce `base_url` nomme. Si le `base_url` est l'API Anthropic, qui est la valeur par défaut, la passerelle refuse de démarrer.

342 342 

343<Note>

344 Si vous définissez `forward_user_identity` sur un upstream Amazon Bedrock, la passerelle s'arrête au démarrage avec `Unrecognized key(s) in object: 'forward_user_identity'`. Si votre proxy se trouve devant Bedrock, listez-le plutôt comme un upstream `provider: anthropic`. La passerelle envoie à cet upstream le format Anthropic Messages, donc votre proxy doit [traduire les requêtes pour Bedrock](/docs/fr/llm-gateway-protocol#format-mismatch-with-the-upstream). Pour plutôt identifier chaque développeur auprès d'AWS, voir [Attribution des coûts AWS par développeur](#per-developer-aws-cost-attribution).

345</Note>

346 

343<h4 id="amazon-bedrock">347<h4 id="amazon-bedrock">

344 Amazon Bedrock348 Amazon Bedrock

345</h4>349</h4>


1133 1137 

1134* La liste des modèles, à partir de `availableModels`. [Contexte étendu dans Claude Desktop](#extended-context-in-claude-desktop) couvre l'option de contexte 1M de chaque modèle1138* La liste des modèles, à partir de `availableModels`. [Contexte étendu dans Claude Desktop](#extended-context-in-claude-desktop) couvre l'option de contexte 1M de chaque modèle

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

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

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

1138 1142 

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


1374 1378 

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

1376 1380 

1381<h4 id="send-cumulative-metrics">

1382 Envoyer des métriques cumulatives

1383</h4>

1384 

1385Si votre collecteur n'accepte que des métriques cumulatives, définissez [`OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE`](/docs/fr/monitoring-usage#common-configuration-variables) sur `cumulative`. Claude Code envoie par défaut des métriques delta, et la passerelle les relaie sans les convertir. Définissez la variable là où chaque type de session la lit :

1386 

1387* **Sessions de terminal** : dans le bloc `env` sous la [clé `cli` ou `code`](#choose-cli-or-code) d'une politique

1388* **Sessions Cowork qui [s'exécutent sur la machine de l'utilisateur](/docs/fr/managed-settings#where-and-when-a-policy-applies)** : dans le bloc `env` des [paramètres gérés côté client](#client-side-managed-settings) sur cette machine

1389* **Sessions de l'onglet Code sous une politique `code`** : dans le bloc `env` de la politique, une fois que vous remplissez les [conditions d'application des paramètres `code`](#apply-code-settings-in-the-code-tab)

1390* **Sessions de l'onglet Code sous une politique `cli`** : dans le bloc `env` des paramètres gérés côté client sur la machine qui exécute la session. Via SSH, il s'agit de l'hôte distant.

1391 

1392Si vous ajoutez la variable aux paramètres gérés d'une machine, définissez également [`parentSettingsBehavior: "merge"`](/docs/fr/claude-apps-gateway#set-the-opt-in) dans la source de plus haute priorité sur cette machine. Sans cela, les sessions Cowork et les sessions de l'onglet Code sous une politique `cli` s'exécutent sans la liste d'autorisation de sortie réseau ni les autres politiques que Claude Desktop leur transmet en tant que paramètres parents.

1393 

1377<h4 id="add-your-own-labels">1394<h4 id="add-your-own-labels">

1378 Ajouter vos propres étiquettes1395 Ajouter vos propres étiquettes

1379</h4>1396</h4>

Details

1706claude purge ~/work/my-repo --yes1706claude purge ~/work/my-repo --yes

1707```1707```

1708 1708 

1709Passez `--all` au lieu d'un chemin pour purger l'état de chaque projet à la fois, ce qui supprime `history.jsonl` directement plutôt que de le filtrer. Passez `-i` pour parcourir le plan de suppression un élément à la fois.1709Autres options :

1710 

1711* Passez `--all` au lieu d'un chemin pour purger l'état de tous les projets à la fois, ce qui supprime `history.jsonl` directement plutôt que de le filtrer.

1712* Passez `-i` pour parcourir le plan de suppression un élément à la fois.

1710 1713 

1711La commande laisse `shell-snapshots/` et `backups/` seuls car ceux-ci ne sont pas limités au projet, et les avertit dans la sortie du plan. Si quelqu'un a exécuté [`/heapdump`](/docs/fr/troubleshooting#high-cpu-or-memory-usage) sur la machine, supprimez également les fichiers `.heapsnapshot` qu'il a écrits. Un snapshot de heap contient la conversation complète et tous les identifiants que le processus détenait, et ni le balayage de rétention ni la purge n'y touchent.1714La commande laisse `shell-snapshots/` et `backups/` seuls car ceux-ci ne sont pas limités au projet, et les avertit dans la sortie du plan. Si quelqu'un a exécuté [`/heapdump`](/docs/fr/troubleshooting#high-cpu-or-memory-usage) sur la machine, supprimez également les fichiers `.heapsnapshot` qu'il a écrits. Un snapshot de heap contient la conversation complète et tous les identifiants que le processus détenait, et ni le balayage de rétention ni la purge n'y touchent.

1712 1715 

1713Vous pouvez également supprimer manuellement l'un des chemins de données d'application ci-dessus, à l'exception des [fichiers d'état à conserver](#state-files-to-keep). Les nouvelles sessions ne sont pas affectées. Le tableau ci-dessous montre ce que vous perdez pour les sessions passées.1716Vous pouvez également supprimer manuellement l'un des chemins de données d'application ci-dessus, à l'exception des [fichiers d'état à conserver](#state-files-to-keep).

1714 1717 

1715| Supprimer | Vous perdez |1718| Supprimer | Vous perdez |

1716| - | - |1719| - | - |


1726| `~/.claude/remote-settings.json` | Rien. Récupéré à nouveau au prochain lancement. |1729| `~/.claude/remote-settings.json` | Rien. Récupéré à nouveau au prochain lancement. |

1727| `~/.claude/cache/changelog.md` | Rien. Actualisé en arrière-plan. |1730| `~/.claude/cache/changelog.md` | Rien. Actualisé en arrière-plan. |

1728| `~/.claude/policy-limits.json` | Rien. Actualisé automatiquement. |1731| `~/.claude/policy-limits.json` | Rien. Actualisé automatiquement. |

1729| `~/.claude/tasks/` | Listes de tâches qu'une session reprise récupérerait |1732| `~/.claude/tasks/` | Vos [listes de tâches](/docs/fr/interactive-mode#task-list), y compris celles encore utilisées |

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

1731| `~/.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 |1734| `~/.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 |

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

Details

115| `--no-session-persistence` | Désactiver la persistance de session afin que les sessions ne soient pas enregistrées sur le disque et ne puissent pas être reprises. Mode impression uniquement. La variable d'environnement [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/fr/env-vars) fait la même chose dans n'importe quel mode | `claude -p --no-session-persistence "query"` |115| `--no-session-persistence` | Désactiver la persistance de session afin que les sessions ne soient pas enregistrées sur le disque et ne puissent pas être reprises. Mode impression uniquement. La variable d'environnement [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/docs/fr/env-vars) fait la même chose dans n'importe quel mode | `claude -p --no-session-persistence "query"` |

116| `--output-format` | Spécifier le format de sortie pour le mode impression (options : `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |116| `--output-format` | Spécifier le format de sortie pour le mode impression (options : `text`, `json`, `stream-json`) | `claude -p "query" --output-format json` |

117| `--permission-mode` | Commencer dans un [mode de permission](/docs/fr/permission-modes) spécifié. Accepte `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, ou `manual` comme alias pour `default`. L'alias `manual` sélectionne le mode de permission que l'interface utilisateur étiquette Manuel et nécessite Claude Code v2.1.200 ou ultérieur ; `claude --help` le répertorie à la place de `default`, et les deux valeurs fonctionnent. Remplace `defaultMode` des fichiers de paramètres. Sans ce drapeau ou `--dangerously-skip-permissions`, une nouvelle session démarre dans le mode de permission décrit dans [quel mode de permission une session démarre](/docs/fr/permission-modes#which-mode-a-session-starts-in), qui couvre également ce qu'une exécution `-p` démarre | `claude --permission-mode plan` |117| `--permission-mode` | Commencer dans un [mode de permission](/docs/fr/permission-modes) spécifié. Accepte `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, `bypassPermissions`, ou `manual` comme alias pour `default`. L'alias `manual` sélectionne le mode de permission que l'interface utilisateur étiquette Manuel et nécessite Claude Code v2.1.200 ou ultérieur ; `claude --help` le répertorie à la place de `default`, et les deux valeurs fonctionnent. Remplace `defaultMode` des fichiers de paramètres. Sans ce drapeau ou `--dangerously-skip-permissions`, une nouvelle session démarre dans le mode de permission décrit dans [quel mode de permission une session démarre](/docs/fr/permission-modes#which-mode-a-session-starts-in), qui couvre également ce qu'une exécution `-p` démarre | `claude --permission-mode plan` |

118| `--permission-prompt-tool` | Spécifier un outil MCP pour gérer les invites de permission en mode non interactif. Claude Code attend que le serveur MCP de cet outil se connecte avant d'exécuter le premier tour, jusqu'au délai d'expiration de démarrage [`MCP_TIMEOUT`](/docs/fr/env-vars), 30 secondes par défaut. <br /><br />L'outil d'invite ne peut pas approuver un outil MCP marqué comme [nécessitant une interaction utilisateur](/docs/fr/mcp#require-approval-for-a-specific-tool) : Claude Code convertit un résultat `allow` pour celui-ci en refus. Cette restriction nécessite Claude Code v2.1.199 ou ultérieur | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |118| `--permission-prompt-tool` | Spécifier un outil MCP pour gérer les demandes de permission en mode non interactif. Passez le nom complet, tel que `mcp__<server>__<tool>`, d'un outil sur un serveur MCP que l'exécution charge. Claude Code attend que le serveur MCP de cet outil se connecte avant d'exécuter le premier tour, jusqu'au délai d'expiration de démarrage [`MCP_TIMEOUT`](/docs/fr/env-vars), 30 secondes par défaut. <br /><br />L'outil de demande ne peut pas approuver un outil MCP marqué comme [nécessitant une interaction utilisateur](/docs/fr/mcp#require-approval-for-a-specific-tool) : Claude Code convertit un résultat `allow` pour celui-ci en refus. Cette restriction nécessite Claude Code v2.1.199 ou ultérieur | `claude -p --mcp-config ./mcp.json --permission-prompt-tool mcp__permissions__approve "query"` |

119| `--permission-prompts` | Définir qui répond aux invites de permission en mode impression. Avec le `host` par défaut, Claude Code les envoie à l'hôte du SDK Agent ou à l'outil `--permission-prompt-tool`. Passez `none` lorsque personne ne peut répondre, et Claude Code les refuse à la place. Voir [Désactiver les invites de permission dans les exécutions sans surveillance](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs). Nécessite Claude Code v2.1.259 ou ultérieur | `claude -p --permission-prompts none "query"` |119| `--permission-prompts` | Définir qui répond aux invites de permission en mode impression. Avec le `host` par défaut, Claude Code les envoie à l'hôte du SDK Agent ou à l'outil `--permission-prompt-tool`. Passez `none` lorsque personne ne peut répondre, et Claude Code les refuse à la place. Voir [Désactiver les invites de permission dans les exécutions sans surveillance](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs). Nécessite Claude Code v2.1.259 ou ultérieur | `claude -p --permission-prompts none "query"` |

120| `--plugin-dir` | Charger un plugin à partir d'un répertoire ou d'une archive `.zip`, ou plusieurs à partir d'un [dossier de plugins](/docs/fr/plugins/create#load-a-directory-or-archive-for-one-session), pour cette session uniquement. Chaque drapeau prend un chemin. Répétez le drapeau pour plus de chemins : `--plugin-dir A --plugin-dir B.zip`. Passer un dossier de plugins nécessite Claude Code v2.1.265 ou ultérieur | `claude --plugin-dir ./my-plugin` |120| `--plugin-dir` | Charger un plugin à partir d'un répertoire ou d'une archive `.zip`, ou plusieurs à partir d'un [dossier de plugins](/docs/fr/plugins/create#load-a-directory-or-archive-for-one-session), pour cette session uniquement. Chaque drapeau prend un chemin. Répétez le drapeau pour plus de chemins : `--plugin-dir A --plugin-dir B.zip`. Passer un dossier de plugins nécessite Claude Code v2.1.265 ou ultérieur | `claude --plugin-dir ./my-plugin` |

121| `--plugin-url` | Récupérer une archive `.zip` de plugin à partir d'une URL pour cette session uniquement. Répétez le drapeau pour plusieurs plugins, ou passez des URL séparées par des espaces dans une seule valeur entre guillemets | `claude --plugin-url https://example.com/plugin.zip` |121| `--plugin-url` | Récupérer une archive `.zip` de plugin à partir d'une URL pour cette session uniquement. Répétez le drapeau pour plusieurs plugins, ou passez des URL séparées par des espaces dans une seule valeur entre guillemets | `claude --plugin-url https://example.com/plugin.zip` |

Details

117 117 

118* **Le dépôt est configuré sur Manual** : comment demander une revue avec un commentaire118* **Le dépôt est configuré sur Manual** : comment demander une revue avec un commentaire

119* **La pull request provient d'un fork** : qu'un mainteneur peut demander la revue119* **La pull request provient d'un fork** : qu'un mainteneur peut demander la revue

120* **Un bot, ou une personne sans accès en écriture, commente `@claude review`** : qu'aucune revue n'a été lancée, et qui peut en demander une120* **Un bot, ou une personne sans accès en écriture qui n'est pas l'auteur de la pull request, commente `@claude review`** : qu'aucune revue n'a été lancée, et qui peut en demander une

121* **L'organisation GitHub n'est pas liée à votre organisation Claude** : que les revues sont suspendues, et comment la lier121* **L'organisation GitHub n'est pas liée à votre organisation Claude** : que les revues sont suspendues, et comment la lier

122 122 

123Désactivez le paramètre pour arrêter ces commentaires.123Désactivez le paramètre pour arrêter ces commentaires.

Details

38 38 

39* **Code Review n'est pas activé pour ce dépôt** : Claude ne publie ni commentaire ni check run en réponse à la commande. Demandez à un Owner d'[ajouter le dépôt](/docs/fr/code-review-setup#add-more-repositories).39* **Code Review n'est pas activé pour ce dépôt** : Claude ne publie ni commentaire ni check run en réponse à la commande. Demandez à un Owner d'[ajouter le dépôt](/docs/fr/code-review-setup#add-more-repositories).

40* **Le commentaire ne remplit pas une condition** : il s'agissait d'un commentaire en ligne ou du corps d'une revue plutôt que d'un nouveau commentaire de premier niveau, ou la commande ne se trouvait pas au début du commentaire. Modifier un commentaire précédent au lieu d'en publier un nouveau ne compte pas non plus, et la pull request doit être ouverte. Consultez les [conditions des commandes en commentaire](/docs/fr/code-review-pull-requests#comment-commands) et publiez un nouveau commentaire qui les remplit.40* **Le commentaire ne remplit pas une condition** : il s'agissait d'un commentaire en ligne ou du corps d'une revue plutôt que d'un nouveau commentaire de premier niveau, ou la commande ne se trouvait pas au début du commentaire. Modifier un commentaire précédent au lieu d'en publier un nouveau ne compte pas non plus, et la pull request doit être ouverte. Consultez les [conditions des commandes en commentaire](/docs/fr/code-review-pull-requests#comment-commands) et publiez un nouveau commentaire qui les remplit.

41* **Vous n'avez pas d'accès en écriture** : vous avez besoin de la permission write, maintain ou admin sur le dépôt, et sur une pull request provenant d'un fork, c'est la permission sur le dépôt de base qui compte. Si votre organisation a activé les conseils, Claude répond « No review was started: manual reviews can only be requested by someone with write access to this repository. » Demandez plutôt à une personne disposant d'un accès en écriture de commenter.41* **Vous n'avez pas d'accès en écriture** : vous avez besoin de la permission write, maintain ou admin sur le dépôt. Sur une pull request provenant d'un fork, c'est la permission sur le dépôt de base qui compte. Sauf si la pull request est la vôtre, Claude peut répondre par un [conseil](/docs/fr/code-review-setup#turn-tip-comments-on-or-off) : « No review was started: manual reviews can only be requested by someone with write access to this repository. » Demandez plutôt à une personne disposant d'un accès en écriture de commenter.

42* **Le budget est épuisé** : Claude publie un commentaire qui commence par « ⚠️ Code review skipped ». Consultez [La revue ne s'est pas exécutée et la PR affiche un message de budget](#review-didn’t-run-and-the-pr-shows-a-budget-message).42* **Le budget est épuisé** : Claude publie un commentaire qui commence par « ⚠️ Code review skipped ». Consultez [La revue ne s'est pas exécutée et la PR affiche un message de budget](#review-didn’t-run-and-the-pr-shows-a-budget-message).

43 43 

44<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">44<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">

commands.md +5 −5

Details

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

66| `/batch <instruction>` | **[Skill](/docs/fr/skills#bundled-skills).** Orchestrer les modifications à grande échelle dans une base de code en parallèle. Recherche la base de code, décompose le travail en 5 à 30 unités indépendantes, et présente un plan. Une fois approuvé, génère un [sous-agent en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) par unité dans un [worktree](/docs/fr/worktrees) isolé. Chaque sous-agent implémente son unité, exécute les tests, et publie sa modification. Nécessite un dépôt git ou un [hook `WorktreeCreate`](/docs/fr/worktrees#non-git-version-control) qui crée les worktrees. En dehors d'un dépôt git, `/batch` nécessite Claude Code v2.1.281 ou ultérieur. Exemple : `/batch migrate src/ from JavaScript to TypeScript` |66| `/batch <instruction>` | **[Skill](/docs/fr/skills#bundled-skills).** Orchestrer les modifications à grande échelle dans une base de code en parallèle. Recherche la base de code, décompose le travail en 5 à 30 unités indépendantes, et présente un plan. Une fois approuvé, génère un [sous-agent en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) par unité dans un [worktree](/docs/fr/worktrees) isolé. Chaque sous-agent implémente son unité, exécute les tests, et publie sa modification. Nécessite un dépôt git ou un [hook `WorktreeCreate`](/docs/fr/worktrees#non-git-version-control) qui crée les worktrees. En dehors d'un dépôt git, `/batch` nécessite Claude Code v2.1.281 ou ultérieur. Exemple : `/batch migrate src/ from JavaScript to TypeScript` |

67| `/branch [name]` | Créer une branche de la conversation actuelle à ce stade, afin que vous puissiez essayer une direction différente sans perdre la conversation telle qu'elle se présente. Vous bascule dans la branche et préserve l'original, auquel vous pouvez revenir avec `/resume`. Pour exécuter une copie en tant que [session en arrière-plan](/docs/fr/agent-view) distincte au lieu de basculer dedans, utilisez `/fork` ; pour confier une tâche secondaire à un [sous-agent](/docs/fr/sub-agents) qui rend compte dans cette conversation, utilisez `/subtask` |67| `/branch [name]` | Créer une branche de la conversation actuelle à ce stade, afin que vous puissiez essayer une direction différente sans perdre la conversation telle qu'elle se présente. Vous bascule dans la branche et préserve l'original, auquel vous pouvez revenir avec `/resume`. Pour exécuter une copie en tant que [session en arrière-plan](/docs/fr/agent-view) distincte au lieu de basculer dedans, utilisez `/fork` ; pour confier une tâche secondaire à un [sous-agent](/docs/fr/sub-agents) qui rend compte dans cette conversation, utilisez `/subtask` |

68| `/btw [question]` | Poser une [question secondaire](/docs/fr/interactive-mode#side-questions-with-%2Fbtw) sur la session actuelle sans l'ajouter à la conversation. Si vous exécutez `/btw` sans question, Claude Code affiche votre question secondaire la plus récente afin que vous puissiez parcourir les réponses antérieures ; si vous n'en avez pas encore posé une, Claude Code affiche une ligne d'utilisation. Avant la v2.1.212, `/btw` nécessitait une question |68| `/btw [question]` | Poser une [question secondaire](/docs/fr/interactive-mode#side-questions-with-%2Fbtw) sur la session actuelle sans l'ajouter à la conversation. Si vous exécutez `/btw` sans question, Claude Code affiche votre question secondaire la plus récente afin que vous puissiez parcourir les réponses antérieures ; si vous n'en avez pas encore posé une, Claude Code affiche une ligne d'utilisation |

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

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

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


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

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

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

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

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

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

101| `/help` | Afficher l'aide et les commandes disponibles |101| `/help` | Afficher l'aide et les commandes disponibles |

102| `/hooks` | Afficher les configurations de [hook](/docs/fr/hooks#the-%2Fhooks-menu) |102| `/hooks` | Afficher les configurations de [hook](/docs/fr/hooks#the-%2Fhooks-menu) |

103| `/ide` | Gérer les intégrations IDE et afficher l'état |103| `/ide` | Gérer les intégrations IDE et afficher l'état |

104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Apporter la configuration d'OpenAI Codex, Google Gemini CLI, ou Cursor sur votre machine dans Claude Code, y compris les fichiers d'instruction, les serveurs MCP, les commandes, les sous-agents et les skills. En [mode non interactif](/docs/fr/headless) avec `-p`, `/import` répertorie ce qu'il a trouvé et vous donne la commande qui confirme l'importation. Ajoutez `--dry-run` pour prévisualiser sans rien écrire, ou `--yes` pour ignorer le sélecteur interactif. Non disponible sur Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry ou Claude Platform sur AWS, ou via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway#availability-and-limitations). Également indisponible lorsque vous désactivez la [récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Nécessite Claude Code v2.1.213 ou ultérieur. L'importation à partir de Cursor nécessite la v2.1.265 ou ultérieur |104| `/import [codex\|gemini\|cursor] [--dry-run] [--yes]` | Apporter la configuration d'OpenAI Codex, Google Gemini CLI, ou Cursor sur votre machine dans Claude Code, y compris les fichiers d'instruction, les serveurs MCP, les commandes, les sous-agents et les skills. En [mode non interactif](/docs/fr/headless) avec `-p`, `/import` répertorie ce qu'il a trouvé et vous donne la commande qui confirme l'importation. Ajoutez `--dry-run` pour prévisualiser sans rien écrire, ou `--yes` pour ignorer le sélecteur interactif. Non disponible sur Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry ou Claude Platform sur AWS, ou via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway#availability-and-limitations). Également indisponible lorsque vous désactivez la [récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). L'importation à partir de Cursor nécessite la v2.1.265 ou ultérieur |

105| `/init` | Initialiser le projet avec un guide `CLAUDE.md`. Définissez `CLAUDE_CODE_NEW_INIT=1` pour un flux interactif qui vous guide également à travers les skills, les hooks et les fichiers de mémoire personnels. Si `/init` trouve une configuration OpenAI Codex ou Google Gemini CLI, il offre de la transférer avec `/import` |105| `/init` | Initialiser le projet avec un guide `CLAUDE.md`. Définissez `CLAUDE_CODE_NEW_INIT=1` pour un flux interactif qui vous guide également à travers les skills, les hooks et les fichiers de mémoire personnels. Si `/init` trouve une configuration OpenAI Codex ou Google Gemini CLI, il offre de la transférer avec `/import` |

106| `/insights` | Générer un rapport HTML analysant vos sessions récentes sur cette machine : dans quels projets vous travaillez, comment vous utilisez Claude Code, où les choses se passent mal, et les fonctionnalités à essayer. Non disponible dans les [sessions cloud](/docs/fr/claude-code-on-the-web). Consultez [Analyser vos modèles d'utilisation](/docs/fr/costs#analyze-your-usage-patterns) pour l'emplacement du rapport, la rétention et le coût |106| `/insights` | Générer un rapport HTML analysant vos sessions récentes sur cette machine : dans quels projets vous travaillez, comment vous utilisez Claude Code, où les choses se passent mal, et les fonctionnalités à essayer. Non disponible dans les [sessions cloud](/docs/fr/claude-code-on-the-web). Consultez [Analyser vos modèles d'utilisation](/docs/fr/costs#analyze-your-usage-patterns) pour l'emplacement du rapport, la rétention et le coût |

107| `/install-github-app` | Installer l'application Claude GitHub pour un dépôt, avec une étape facultative pour configurer les workflows [GitHub Actions](/docs/fr/github-actions) et les secrets. Vous guide à travers la sélection d'un dépôt et la configuration de l'intégration. Fonctionne uniquement avec les dépôts github.com. Lorsque le dépôt distant git de votre dépôt se trouve sur gitlab.com ou bitbucket.org, la commande affiche un avis et se termine au lieu de démarrer la configuration. Pour exécuter Claude Code à partir des pipelines GitLab, consultez [GitLab CI/CD](/docs/fr/gitlab-ci-cd) |107| `/install-github-app` | Installer l'application Claude GitHub pour un dépôt, avec une étape facultative pour configurer les workflows [GitHub Actions](/docs/fr/github-actions) et les secrets. Vous guide à travers la sélection d'un dépôt et la configuration de l'intégration. Fonctionne uniquement avec les dépôts github.com. Lorsque le dépôt distant git de votre dépôt se trouve sur gitlab.com ou bitbucket.org, la commande affiche un avis et se termine au lieu de démarrer la configuration. Pour exécuter Claude Code à partir des pipelines GitLab, consultez [GitLab CI/CD](/docs/fr/gitlab-ci-cd) |


153| `/statusline` | Configurer la [barre de statut](/docs/fr/statusline) de Claude Code. Décrivez ce que vous voulez, ou exécutez sans arguments pour configurer automatiquement à partir de votre invite de commandes du shell |153| `/statusline` | Configurer la [barre de statut](/docs/fr/statusline) de Claude Code. Décrivez ce que vous voulez, ou exécutez sans arguments pour configurer automatiquement à partir de votre invite de commandes du shell |

154| `/stickers` | Commander des autocollants Claude Code |154| `/stickers` | Commander des autocollants Claude Code |

155| `/stop` | Arrêter la [session en arrière-plan](/docs/fr/agent-view) à laquelle vous êtes attaché, ou celle à laquelle vous l'envoyez en tant que [réponse d'aperçu](/docs/fr/agent-view#peek-and-reply) ; la transcription et tout worktree sont conservés. Pour vous détacher sans arrêter, utilisez `/exit` ou appuyez sur `←` |155| `/stop` | Arrêter la [session en arrière-plan](/docs/fr/agent-view) à laquelle vous êtes attaché, ou celle à laquelle vous l'envoyez en tant que [réponse d'aperçu](/docs/fr/agent-view#peek-and-reply) ; la transcription et tout worktree sont conservés. Pour vous détacher sans arrêter, utilisez `/exit` ou appuyez sur `←` |

156| `/subtask <task>` | Générer un [sous-agent forké](/docs/fr/sub-agents#fork-the-current-conversation) : un sous-agent en arrière-plan qui hérite de la conversation complète et travaille sur la tâche pendant que vous continuez à travailler. Son résultat revient à cette conversation lorsqu'il se termine. Pour copier la conversation dans une session en arrière-plan distincte à la place, utilisez `/fork`. Nécessite Claude Code v2.1.212 ou ultérieur ; sur la v2.1.161 à la v2.1.211, cette commande est `/fork`. Lorsque la [vue agent est désactivée](/docs/fr/agent-view#turn-off-agent-view), `/subtask` n'est pas disponible et `/fork` conserve le comportement du sous-agent forké |156| `/subtask <task>` | Générer un [sous-agent forké](/docs/fr/sub-agents#fork-the-current-conversation) : un sous-agent en arrière-plan qui hérite de la conversation complète et travaille sur la tâche pendant que vous continuez à travailler. Son résultat revient à cette conversation lorsqu'il se termine. Pour copier la conversation dans une session en arrière-plan distincte à la place, utilisez `/fork`. Lorsque la [vue agent est désactivée](/docs/fr/agent-view#turn-off-agent-view), `/subtask` n'est pas disponible et `/fork` génère le sous-agent forké à la place |

157| `/tasks` | Afficher et gérer le travail en arrière-plan dans la session actuelle, y compris les sous-agents qui ont terminé. Également disponible en tant que `/bashes` |157| `/tasks` | Afficher et gérer le travail en arrière-plan dans la session actuelle, y compris les sous-agents qui ont terminé. Également disponible en tant que `/bashes` |

158| `/team-onboarding` | Générer un guide d'intégration d'équipe à partir de votre historique d'utilisation de Claude Code. Claude analyse vos sessions, commandes et utilisation du serveur MCP des 30 derniers jours et produit un guide markdown qu'un coéquipier peut coller en tant que premier message pour se configurer rapidement. Pour les abonnés claude.ai aux plans Pro, Max, Team et Entreprise, retourne également un lien de partage que les coéquipiers peuvent ouvrir directement dans Claude Code |158| `/team-onboarding` | Générer un guide d'intégration d'équipe à partir de votre historique d'utilisation de Claude Code. Claude analyse vos sessions, commandes et utilisation du serveur MCP des 30 derniers jours. Il produit un guide markdown qu'un coéquipier peut coller en tant que premier message pour se configurer rapidement. Pour les abonnés claude.ai aux plans Team et Entreprise, retourne également un lien de partage que les coéquipiers peuvent ouvrir directement dans Claude Code |

159| `/teleport` | Extraire une [session cloud](/docs/fr/claude-code-on-the-web#from-cloud-to-terminal) dans ce terminal. Ouvre un sélecteur, puis récupère la branche et la conversation. Également disponible en tant que `/tp`. Nécessite un abonnement claude.ai |159| `/teleport` | Extraire une [session cloud](/docs/fr/claude-code-on-the-web#from-cloud-to-terminal) dans ce terminal. Ouvre un sélecteur, puis récupère la branche et la conversation. Également disponible en tant que `/tp`. Nécessite un abonnement claude.ai |

160| `/terminal-setup` | [Installer un raccourci clavier Shift+Enter pour les nouvelles lignes](/docs/fr/terminal-config#enter-multiline-prompts) dans VS Code, Cursor, Devin Desktop, Alacritty ou Zed. Dans Apple Terminal, [activer Option+Enter pour les nouvelles lignes et désactiver la cloche audible](/docs/fr/terminal-config#enable-option-key-shortcuts-on-macos) à la place. Dans iTerm2, [activer l'accès au presse-papiers afin que `/copy` fonctionne](/docs/fr/terminal-config#enable-option-key-shortcuts-on-macos) |160| `/terminal-setup` | [Installer un raccourci clavier Shift+Enter pour les nouvelles lignes](/docs/fr/terminal-config#enter-multiline-prompts) dans VS Code, Cursor, Devin Desktop, Alacritty ou Zed. Dans Apple Terminal, [activer Option+Enter pour les nouvelles lignes et désactiver la cloche audible](/docs/fr/terminal-config#enable-option-key-shortcuts-on-macos) à la place. Dans iTerm2, [activer l'accès au presse-papiers afin que `/copy` fonctionne](/docs/fr/terminal-config#enable-option-key-shortcuts-on-macos) |

161| `/theme` | Changer le thème de couleur. Inclut une option `auto` qui correspond au fond clair ou foncé de votre terminal, des variantes claires et foncées, des thèmes accessibles aux daltoniens (daltonisés), des thèmes ANSI qui utilisent la palette de couleurs de votre terminal, et tous les [thèmes personnalisés](/docs/fr/terminal-config#create-a-custom-theme) de `~/.claude/themes/` ou des plugins. Sélectionnez **Nouveau thème personnalisé…** pour en créer un |161| `/theme` | Changer le thème de couleur. Inclut une option `auto` qui correspond au fond clair ou foncé de votre terminal, des variantes claires et foncées, des thèmes accessibles aux daltoniens (daltonisés), des thèmes ANSI qui utilisent la palette de couleurs de votre terminal, et tous les [thèmes personnalisés](/docs/fr/terminal-config#create-a-custom-theme) de `~/.claude/themes/` ou des plugins. Sélectionnez **Nouveau thème personnalisé…** pour en créer un |

Details

120Quand le lanceur ne peut pas s'exécuter, Claude Code refuse de démarrer le processus au lieu de le démarrer sans enveloppe. Sur Windows, [la variable est ignorée](#what-the-launcher-covers) et les processus démarrent sans enveloppe. Claude Code tient le script à ces règles :120Quand le lanceur ne peut pas s'exécuter, Claude Code refuse de démarrer le processus au lieu de le démarrer sans enveloppe. Sur Windows, [la variable est ignorée](#what-the-launcher-covers) et les processus démarrent sans enveloppe. Claude Code tient le script à ces règles :

121 121 

122* **Terminez par `exec "$@"`.** Un lanceur qui crée un enfant et se termine laisse un processus Claude Code orphelin que le service d'arrière-plan ne peut pas suivre. La vue agent marque une telle session comme échouée avec un message nommant le lanceur, et le service récolte ce que le lanceur a laissé derrière.122* **Terminez par `exec "$@"`.** Un lanceur qui crée un enfant et se termine laisse un processus Claude Code orphelin que le service d'arrière-plan ne peut pas suivre. La vue agent marque une telle session comme échouée avec un message nommant le lanceur, et le service récolte ce que le lanceur a laissé derrière.

123* **Ne réordonnez pas, n'absorbez pas et ne préparez pas les arguments.** Le premier argument est le binaire Claude Code et tout ce qui suit est son argv.123* **Ne réordonnez pas, n'absorbez pas et ne complétez pas les arguments de Claude Code.** Retirez les [propres arguments](#pass-arguments-to-the-launcher) du lanceur, qui arrivent en premier, et passez le reste à `exec` tel qu'il est arrivé.

124* **Passez chaque variable d'environnement héritée via `exec`.** Ajouter des variables, comme les credentials injectées, est correct ; supprimer les héritées ne l'est pas.124* **Passez chaque variable d'environnement héritée via `exec`.** Ajouter des variables, comme les credentials injectées, est correct ; supprimer les héritées ne l'est pas.

125 * Les jetons d'authentification par session, la sélection du modèle et du fournisseur, et `CLAUDE_CODE_PROCESS_WRAPPER` lui-même voyagent tous sur l'environnement hérité, donc un lanceur qui le reconstruit à partir d'une liste d'autorisation casse les sessions qu'il démarre, et `/status` signale une non-correspondance du lanceur.125 * Les jetons d'authentification par session, la sélection du modèle et du fournisseur, et `CLAUDE_CODE_PROCESS_WRAPPER` lui-même voyagent tous sur l'environnement hérité, donc un lanceur qui le reconstruit à partir d'une liste d'autorisation casse les sessions qu'il démarre, et `/status` signale une non-correspondance du lanceur.

126 * Si le lanceur doit entrer dans un espace de noms ou un bac à sable qui réinitialise l'environnement, réexportez l'environnement hérité à l'intérieur verbatim.126 * Si le lanceur doit entrer dans un espace de noms ou un bac à sable qui réinitialise l'environnement, réexportez l'environnement hérité à l'intérieur verbatim.

127* **Atteignez `exec` en environ trois secondes chaque fois que le lanceur s'exécute.** Une expédition d'arrière-plan à froid exécute le lanceur deux fois en série avant le premier octet de sortie, donc faites un travail lent comme un échange d'authentification unique paresseusement ou à partir d'un cache.127* **Atteignez `exec` en environ trois secondes chaque fois que le lanceur s'exécute.** Une session d'arrière-plan peut exécuter le lanceur trois fois en série avant sa première sortie. Effectuez le travail lent, comme un échange d'authentification unique (SSO), de manière paresseuse ou à partir d'un cache, et donnez à toute étape qui attend le réseau sa propre limite de temps.

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

129* **N'écrivez pas sur le terminal avant que Claude Code ne démarre.** Tout ce qui est imprimé avant le `exec` est signalé comme la cause du plantage si la session meurt avant l'initialisation.129* **N'écrivez pas sur le terminal ni sur la sortie standard avant que Claude Code ne démarre.** Tout ce qui est imprimé avant le `exec` est signalé comme la cause du plantage si la session meurt avant l'initialisation. Le texte écrit sur la sortie standard atteint aussi un programme qui lit la sortie de Claude Code, comme un script qui analyse les résultats de `claude -p`.

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

131* **Exécutez `exec` depuis le répertoire dans lequel le lanceur a démarré.** Claude Code travaille dans le répertoire dans lequel il démarre, donc un lanceur qui change de répertoire peut démarrer une session dans le mauvais projet. Si le lanceur doit entrer dans un espace de noms ou un sandbox qui réinitialise le répertoire de travail, revenez au répertoire de départ à l'intérieur de celui-ci, avant le `exec`.131* **Exécutez `exec` depuis le répertoire dans lequel le lanceur a démarré.** Claude Code travaille dans le répertoire dans lequel il démarre, donc un lanceur qui change de répertoire peut démarrer une session dans le mauvais projet. Si le lanceur doit entrer dans un espace de noms ou un sandbox qui réinitialise le répertoire de travail, revenez au répertoire de départ à l'intérieur de celui-ci, avant le `exec`.

132* **Ne lisez pas l'entrée standard.** Une commande qui la lit avant le `exec`, comme une commande qui demande un mot de passe, peut attendre une entrée qui ne vient pas et laisser la session bloquée. Elle peut aussi consommer une entrée destinée à Claude Code, et la session peut alors s'exécuter sans cette entrée sans signaler d'erreur. Redirigez l'entrée d'une telle commande depuis `/dev/null`.

133* **Appelez les autres programmes par leur chemin absolu.** Le lanceur peut démarrer avec un `PATH` qui ne contient pas les répertoires ajoutés par votre profil shell.

132 134 

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

134 Format de la valeur du lanceur136 Format de la valeur du lanceur


138 140 

139Pour passer à votre lanceur ses propres arguments, écrivez-les après le chemin. Claude Code analyse la valeur comme une liste d'arguments, pas une commande shell :141Pour passer à votre lanceur ses propres arguments, écrivez-les après le chemin. Claude Code analyse la valeur comme une liste d'arguments, pas une commande shell :

140 142 

141* L'espace blanc sépare les jetons, et les guillemets doubles groupent un jeton qui contient des espaces.143* L'espace blanc sépare les jetons, et les guillemets doubles groupent un jeton qui contient des espaces. Un guillemet simple est un caractère ordinaire, donc `'a b'` correspond à deux jetons.

142* Une valeur qui commence par `[` est lue comme un tableau de chaînes JSON, comme `["/opt/corp/launcher", "--profile", "cc"]`.144* Une valeur qui commence par `[` est lue comme un tableau de chaînes JSON, comme `["/opt/corp/launcher", "--profile", "cc"]`.

143* La syntaxe shell ne fonctionne pas : il n'y a pas d'expansion de variable ou de globbing, et un opérateur non cité comme `;`, `|`, `&` ou `$(` est rejeté comme une erreur de configuration plutôt que réinterprété.145* La syntaxe shell ne fonctionne pas : il n'y a pas d'expansion de variable ou de globbing, et un opérateur non cité comme `;`, `|`, `&` ou `$(` est rejeté comme une erreur de configuration plutôt que réinterprété.

144 146 

145Quand la valeur ne peut pas être utilisée, Claude Code refuse de démarrer le processus affecté et [signale la raison](/docs/fr/errors#claude_code_process_wrapper-launcher-errors).147Quand la valeur ne peut pas être utilisée, Claude Code refuse de démarrer le processus affecté et [signale la raison](/docs/fr/errors#claude_code_process_wrapper-launcher-errors).

146 148 

149Dans un fichier de paramètres, écrivez la forme tableau à l'intérieur d'une chaîne JSON et échappez ses guillemets : `"[\"/opt/corp/launcher\", \"--profile\", \"cc\"]"`.

150 

151<h3 id="pass-arguments-to-the-launcher">

152 Passer des arguments au lanceur

153</h3>

154 

155Écrivez les propres arguments du lanceur après son chemin dans [la valeur](#format-of-the-launcher-value), et retirez-les dans le script avant l'appel à `exec`. Ils atteignent le script en premier, avant la commande Claude Code. Le script suivant, écrit pour la valeur `/opt/corp/launcher --profile cc`, enregistre le nom du profil puis retire les deux arguments avec `shift` :

156 

157```bash theme={null}

158#!/bin/sh

159if [ "$1" = "--profile" ]; then

160 profile="$2"

161 shift 2

162fi

163# Your organization's setup for "$profile".

164exec "$@"

165```

166 

167Utilisez l'[étape de vérification](#set-up-the-launcher) pour voir la commande de lancement que Claude Code a résolue à partir de la valeur.

168 

147<h2 id="relationship-to-claude_code_shell_prefix">169<h2 id="relationship-to-claude_code_shell_prefix">

148 Relation avec `CLAUDE_CODE_SHELL_PREFIX`170 Relation avec `CLAUDE_CODE_SHELL_PREFIX`

149</h2>171</h2>

desktop.md +332 −70

Details

44 Démarrer une session44 Démarrer une session

45</h2>45</h2>

46 46 

47Avant d'envoyer votre premier message, configurez quatre choses dans la zone de prompt :47Avant d'envoyer votre premier message, choisissez l'environnement, le dossier du projet, le mode de permission et le modèle dans la rangée située sous la zone de prompt :

48 48 

49* **Environnement** : choisissez où Claude s'exécute. Sélectionnez **Local** pour votre machine, **Cloud** pour une [session cloud](#cloud-sessions) qui continue après la fermeture de l'application, une [**connexion SSH**](#ssh-sessions) pour une machine distante que vous gérez, ou sur Windows une [**distribution WSL**](/docs/fr/desktop-wsl). Une tâche dans une session SSH peut [continuer pendant que Desktop est déconnecté](#keep-a-task-running-while-desktop-is-disconnected), mais avec un compte Claude, elle peut s'arrêter lorsque son authentification expire. Voir [configuration de l'environnement](#environment-configuration).49* **Environnement** : utilisez le sélecteur d'environnement, premier contrôle de la rangée, pour choisir où Claude s'exécute. Voir [configuration de l'environnement](#environment-configuration).

50* **Dossier du projet** : sélectionnez le dossier ou le référentiel dans lequel Claude travaille. Pour les sessions cloud, vous pouvez ajouter [plusieurs référentiels](#run-long-running-tasks-in-the-cloud).50 * Si une nouvelle session n'affiche aucun sélecteur d'environnement sous la zone de prompt, suivez les [étapes de l'ancienne disposition](#check-which-layout-you-have).

51* **Modèle** : choisissez un [modèle](/docs/fr/model-config#available-models) dans la liste déroulante à côté du bouton d'envoi. Vous pouvez modifier ceci pendant la session.51* **Dossier du projet** : cliquez sur le contrôle du dossier du projet, à côté du sélecteur d'environnement, pour choisir le dossier dans lequel Claude travaille.

52* **Mode de permission** : choisissez le niveau d'autonomie de Claude à partir du [sélecteur de mode](#choose-a-permission-mode). Vous pouvez modifier ceci pendant la session.52 * **Session cloud** : sélectionnez des [dépôts](#run-long-running-tasks-in-the-cloud) au lieu d'un dossier

53 * **[Environnement local ou SSH enregistré](#create-a-saved-environment)** : l'environnement contient déjà ses dossiers, la rangée n'affiche donc aucun contrôle de dossier du projet. Pour modifier les dossiers, [modifiez l'environnement](#use-edit-or-remove-a-saved-environment).

54* **Mode de permission** : utilisez le [sélecteur de mode](#choose-a-permission-mode) pour choisir le niveau d'autonomie de Claude. Vous pouvez modifier le mode de permission pendant la session.

55* **Modèle** : choisissez un [modèle](/docs/fr/model-config#available-models) dans le sélecteur de modèle situé vers l'extrémité droite de la rangée. Vous pouvez modifier le modèle pendant la session.

53 56 

54Tapez votre tâche et appuyez sur **Entrée** pour démarrer. Chaque session suit son propre contexte et les modifications indépendamment.57Tapez votre tâche et appuyez sur **Entrée** pour démarrer. Chaque session suit son propre contexte et les modifications indépendamment.

55 58 


82 Ajouter des fichiers et du contexte aux prompts85 Ajouter des fichiers et du contexte aux prompts

83</h3>86</h3>

84 87 

85La zone de prompt supporte deux façons d'apporter du contexte externe :88Pour fournir un fichier à Claude, mentionnez-le avec @ ou joignez-le dans la zone de prompt :

86 89 

87* **Fichiers @mention** : tapez `@` suivi d'un nom de fichier pour ajouter un fichier au contexte de la conversation. Claude peut alors lire et référencer ce fichier. @mention n'est pas disponible dans les sessions cloud ou WSL.90* **Mentionner des fichiers avec @** : tapez `@` suivi d'un nom de fichier pour ajouter un fichier au contexte de la conversation.

88* **Joindre des fichiers** : joignez des images, des PDF et d'autres fichiers à votre prompt en utilisant le bouton de pièce jointe, ou glissez-déposez les fichiers directement dans le prompt. Ceci est utile pour partager des captures d'écran de bugs, des maquettes de conception ou des documents de référence.91 * **Dans une session cloud** : `@` ne peut lister les fichiers qu'après l'envoi de votre premier message. Si `@` n'en liste aucun, envoyez votre premier message sans le fichier, puis mentionnez le fichier avec @ dans votre message suivant.

92* **Joindre des fichiers** : joignez des images, des PDF et d'autres fichiers à votre prompt à partir du bouton **+** à côté de la zone de prompt, ou glissez-déposez les fichiers directement dans le prompt. Ceci est utile pour partager des captures d'écran de bugs, des maquettes de conception ou des documents de référence.

93 * **Dans une [session WSL](/docs/fr/desktop-wsl)** : si le menu **+** affiche **Ajouter une image** au lieu de **Ajouter des fichiers ou des photos**, vous ne pouvez joindre que des images. Pour fournir à Claude tout autre fichier du dossier de la session, mentionnez-le avec @.

89 94 

90<h3 id="choose-a-permission-mode">95<h3 id="choose-a-permission-mode">

91 Choisir un mode de permission96 Choisir un mode de permission

92</h3>97</h3>

93 98 

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

95 100 

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

97 102 


129 134 

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

131 136 

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

133 138 

134<Note>139<Note>

135 Dans une [session SSH](#ssh-sessions), Claude ne peut pas ouvrir votre application dans le volet Navigateur, car il n'y dispose pas des outils du volet. Pour consulter l'application vous-même, [transférez son port vers votre ordinateur](#reach-a-port-on-the-remote-machine).140 Dans une [session SSH](#ssh-sessions), Claude ne peut pas ouvrir votre application dans le volet Navigateur, car il n'y dispose pas des outils du volet. Pour consulter l'application vous-même, [transférez son port vers votre ordinateur](#reach-a-port-on-the-remote-machine).

136</Note>141</Note>

137 142 

143Si le volet Navigateur n'est pas ouvert après que Claude a démarré un serveur dans une session locale, cliquez sur **Ouvrir** sur la carte du serveur dans le chat.

144 

138À partir du volet Navigateur, vous pouvez :145À partir du volet Navigateur, vous pouvez :

139 146 

140* Interagir avec votre application en cours d'exécution directement dans le volet Navigateur147* Interagir avec votre application en cours d'exécution directement dans le volet Navigateur


185 Examiner les modifications avec la vue diff192 Examiner les modifications avec la vue diff

186</h3>193</h3>

187 194 

188Après que Claude a modifié votre code, la vue diff vous permet d'examiner les modifications fichier par fichier avant de créer une pull request.195Après que Claude a modifié votre code, la vue diff vous permet d'examiner les modifications fichier par fichier avant de créer une pull request. Pour ouvrir la vue diff, cliquez sur le nombre de lignes, comme `+12 -1`, dans la carte **Modifications** du [panneau de détails de la session](#see-session-details). Vous pouvez également cliquer sur **Modifications** dans la barre de titre de la session.

189 

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

191 196 

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

193 198 


213 Surveiller l'état de la pull request218 Surveiller l'état de la pull request

214</h3>219</h3>

215 220 

216Après avoir ouvert une pull request, une barre d'état CI apparaît dans la session. Claude Code utilise la CLI GitHub pour interroger les résultats des vérifications et afficher les défaillances.221Pour que Claude corrige les vérifications en échec, ou pour que GitHub fusionne la pull request, activez **Correction automatique** ou **Fusionner une fois prête**. Après avoir ouvert une pull request, celle-ci apparaît dans la carte **Modifications** du [panneau de détails de la session](#see-session-details) avec l'état de ses vérifications CI. Ouvrez le menu **⋮** à côté de son titre :

217 222 

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

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

225 * **Dans les sessions SSH et WSL** : **Fusionner une fois prête** est désactivé ; activez donc la fusion automatique pour la pull request sur GitHub

226 * **Si le dépôt n'autorise pas la fusion automatique** : **Fusionner une fois prête** ne s'active pas ; activez donc d'abord la fusion automatique dans les [paramètres de votre dépôt GitHub](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/configuring-pull-request-merges/managing-auto-merge-for-pull-requests-in-your-repository)

227* **[Ancienne disposition](#check-which-layout-you-have)** : une fois que la session a une pull request, cliquez sur **CI** dans sa barre d'état.

220 228 

221Pour les activer, cliquez sur **CI** dans la barre d'état. Pour archiver la session automatiquement une fois que la PR est fusionnée ou fermée, activez l'[archivage automatique](#work-in-parallel-with-sessions) dans **Paramètres > Claude Code**.229Pour archiver la session automatiquement une fois que la PR est fusionnée ou fermée, activez l'[archivage automatique](#archive-a-session) dans **Paramètres > Claude Code**.

222 230 

223<Note>231<Note>

224 La surveillance des PR nécessite que la [CLI GitHub (`gh`)](https://cli.github.com/) soit installée et authentifiée sur votre machine. Si `gh` n'est pas installée, Desktop vous invite à l'installer la première fois que vous essayez de créer une PR.232 La surveillance des PR nécessite que la [CLI GitHub (`gh`)](https://cli.github.com/) soit installée et authentifiée sur votre machine. Si `gh` n'est pas installée, Desktop vous invite à l'installer la première fois que vous essayez de créer une PR.


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

236 244 

237<Note>245<Note>

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

239</Note>247</Note>

240 248 

249<h3 id="see-session-details">

250 Voir les détails de la session

251</h3>

252 

253Le panneau des détails de la session est un ensemble de cartes à côté du chat qui indiquent où la session s'exécute, ce qu'elle a modifié et ce qu'elle exécute. Le panneau apparaît après que vous avez démarré une session, tant que le chat est suffisamment large pour l'afficher.

254 

255<h4 id="hide-or-show-the-session-details-panel">

256 Masquer ou afficher le panneau des détails de la session

257</h4>

258 

259Pour masquer ou afficher le panneau, cliquez sur **Masquer le rail de session** ou **Afficher le rail de session** dans la barre de titre de la session, ou dans le menu **⋮** de la barre lorsque la fenêtre est étroite. Si vous ne voyez toujours pas le panneau, [vérifiez quelle disposition de l'onglet Code vous avez](#check-which-layout-you-have).

260 

241<h3 id="run-commands-in-the-terminal">261<h3 id="run-commands-in-the-terminal">

242 Exécuter les commandes dans le terminal262 Exécuter les commandes dans le terminal

243</h3>263</h3>

244 264 

245Le terminal intégré vous permet d'exécuter les commandes aux côtés de votre session sans basculer vers une autre application. Cliquez sur **Terminal** dans la barre de titre de la session ou appuyez sur **Ctrl+\`** sur macOS ou Windows. Le terminal s'ouvre dans le répertoire de travail de votre session et partage le même environnement que Claude, donc les commandes comme `npm test` ou `git status` voient les mêmes fichiers que Claude édite. Pour ouvrir un deuxième onglet de terminal, cliquez sur **+** dans l'en-tête du volet de terminal ou cliquez avec le bouton droit sur un dossier dans le chat pour choisir **Ouvrir dans le terminal**.265Le terminal intégré vous permet d'exécuter les commandes aux côtés de votre session sans basculer vers une autre application. Cliquez sur **Terminal** dans la barre de titre de la session ou appuyez sur **Ctrl+\`** sur macOS ou Windows. Le terminal s'ouvre dans le répertoire de travail de votre session et partage le même environnement que Claude, donc les commandes comme `npm test` ou `git status` voient les mêmes fichiers que Claude édite. Pour ouvrir un deuxième onglet de terminal, cliquez sur **+** dans l'en-tête du volet de terminal ou cliquez avec le bouton droit sur un dossier dans le chat pour choisir **Ouvrir dans le terminal**.

246 266 

247Le terminal est disponible dans les sessions locales et [SSH](#ssh-sessions), avec une limitation sur les [machines distantes Windows](#windows-remote-machines).267Si une session WSL n'a pas de terminal, consultez [Si le terminal ou les connecteurs ne sont pas disponibles](/docs/fr/desktop-wsl#check-for-the-terminal-and-connectors). Le terminal est disponible dans les sessions locales et [SSH](#ssh-sessions), avec une limitation sur les [machines distantes Windows](#windows-remote-machines).

248 268 

249<h3 id="open-and-edit-files">269<h3 id="open-and-edit-files">

250 Ouvrir et modifier les fichiers270 Ouvrir et modifier les fichiers

251</h3>271</h3>

252 272 

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

254 274 

255Le volet de fichier est disponible dans les sessions locales et SSH. Pour les sessions cloud, demandez à Claude de faire la modification.275Pour modifier vous-même un fichier, utilisez le [volet de fichier](#arrange-your-workspace) :

276 

277* **Sessions locales** : vous pouvez modifier les fichiers situés dans le répertoire de travail de la session, à l'exception de certains fichiers en lecture seule tels que `.mcp.json` et `.claude/settings.json`. Pour en modifier un, [ouvrez-le dans une autre application](#open-files-in-other-apps).

278* **Sessions cloud, SSH et WSL** : le volet de fichier est en lecture seule, demandez donc à Claude d'effectuer les modifications.

279 

280<h4 id="save-edits-in-the-file-pane">

281 Enregistrer les modifications dans le volet de fichier

282</h4>

283 

284Par défaut, vos modifications dans le volet de fichier s'enregistrent automatiquement, donc le volet n'affiche pas de bouton **Enregistrer**. Pour enregistrer vous-même vos modifications, décochez **Enregistrement automatique** dans le menu **⋮** du volet. Avec **Enregistrement automatique** désactivé, cliquez sur **Enregistrer** après avoir modifié un fichier pour écrire vos modifications, ou sur **Annuler** pour les annuler.

285 

286Si le volet vous avertit que le fichier a changé sur le disque, cliquez sur **Remplacer** pour écrire vos modifications par-dessus la version sur le disque, ou sur **Abandonner** pour abandonner vos modifications.

256 287 

257<h3 id="open-files-in-other-apps">288<h3 id="open-files-in-other-apps">

258 Ouvrir les fichiers dans d'autres applications289 Ouvrir les fichiers dans d'autres applications


283 Raccourcis clavier314 Raccourcis clavier

284</h3>315</h3>

285 316 

286Appuyez sur **Cmd+/** sur macOS ou **Ctrl+/** sur Windows pour voir tous les raccourcis disponibles dans l'onglet Code. Sur Windows, utilisez **Ctrl** à la place de **Cmd** pour les raccourcis ci-dessous. Le cycle des sessions, le basculement du terminal et le basculement du mode d'affichage utilisent **Ctrl** sur chaque plateforme.317Appuyez sur **Cmd+/** sur macOS ou **Ctrl+/** sur Windows pour voir tous les raccourcis disponibles dans l'onglet Code. Le tableau de cette section indique les touches macOS. Sur Windows et Linux, remplacez ces touches :

318 

319* **Cmd+Option** : appuyez sur **Alt**

320* **Cmd** : appuyez sur **Ctrl**

321 

322Le cycle des sessions, le basculement du terminal et le basculement du mode d'affichage utilisent **Ctrl** sur chaque plateforme.

287 323 

288| Raccourci | Action |324| Raccourci | Action |

289| - | - |325| - | - |

290| `Cmd` `/` | Afficher les raccourcis clavier |326| `Cmd` `/` | Afficher les raccourcis clavier |

291| `Cmd` `N` | Nouvelle session |327| `Cmd` `N` | Nouvelle session |

328| `Cmd` `Option` `1`–`9` | Sur l'écran de nouvelle session dans la [disposition actuelle](#check-which-layout-you-have), sélectionner un environnement |

329| `Cmd` `Option` `0` | Sur l'écran de nouvelle session dans la disposition actuelle, ouvrir la [boîte de dialogue **Nouvel environnement**](#create-a-saved-environment) |

292| `Cmd` `W` | Fermer la session |330| `Cmd` `W` | Fermer la session |

293| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Session suivante ou précédente |331| `Ctrl` `Tab` / `Ctrl` `Shift` `Tab` | Session suivante ou précédente |

294| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Session suivante ou précédente |332| `Cmd` `Shift` `]` / `Cmd` `Shift` `[` | Session suivante ou précédente |


404 Travailler en parallèle avec les sessions442 Travailler en parallèle avec les sessions

405</h3>443</h3>

406 444 

407Cliquez sur **+ Nouvelle session** dans la barre latérale, ou appuyez sur **Cmd+N** sur macOS ou **Ctrl+N** sur Windows, pour travailler sur plusieurs tâches en parallèle. Appuyez sur **Ctrl+Tab** et **Ctrl+Shift+Tab** pour parcourir les sessions dans la barre latérale. Pour les dépôts Git, sélectionnez l'option **worktree** à côté du nom de la branche pour donner à la session sa propre copie isolée de votre projet en utilisant [Git worktrees](/docs/fr/worktrees).445Cliquez sur **+ Nouvelle** dans la barre latérale, ou appuyez sur **Cmd+N** sur macOS ou **Ctrl+N** sur Windows, pour travailler sur plusieurs tâches en parallèle. Appuyez sur **Ctrl+Tab** et **Ctrl+Shift+Tab** pour parcourir les sessions dans la barre latérale.

408 446 

409Pour afficher deux sessions à la fois, maintenez **Cmd** sur macOS ou **Ctrl** sur Windows et cliquez sur une session dans la barre latérale. La session s'ouvre dans un deuxième volet à côté de celui que vous avez déjà ouvert. Pendant que la division est active, cliquer sur une autre session de la barre latérale remplace le volet qui a le focus. Appuyez sur **Cmd+\\** sur macOS ou **Ctrl+\\** sur Windows pour fermer le volet actif et revenir à une seule session.447Pour afficher deux sessions à la fois, maintenez **Cmd** sur macOS ou **Ctrl** sur Windows et cliquez sur une session dans la barre latérale. La session s'ouvre dans un deuxième volet à côté de celui que vous avez déjà ouvert. Pendant que la division est active, cliquer sur une autre session de la barre latérale remplace le volet qui a le focus. Appuyez sur **Cmd+\\** sur macOS ou **Ctrl+\\** sur Windows pour fermer le volet actif et revenir à une seule session.

410 448 

411Les worktrees sont stockés dans `<project-root>/.claude/worktrees/` par défaut. Vous pouvez modifier ceci en un répertoire personnalisé :449<h4 id="run-a-session-in-its-own-worktree">

450 Exécuter une session dans son propre worktree

451</h4>

452 

453Dans un projet qui est un dépôt Git, activez **Worktree** avant de démarrer une session pour l'exécuter dans son propre [worktree Git](/docs/fr/worktrees), une copie isolée du projet. Par défaut, **Worktree** est désactivé et Claude travaille directement dans le dossier du projet. Cliquez sur le contrôle du dossier de projet dans la [ligne sous la zone de prompt](#start-a-session) et activez **Worktree**.

454 

455* **Avec un [environnement enregistré](#create-a-saved-environment)** : définissez **Worktree** lorsque vous créez ou modifiez l'environnement

456* **[Disposition précédente](#check-which-layout-you-have)** : cochez la case **worktree** à côté du nom de la branche, au-dessus de la zone de prompt

457 

458Les worktrees sont stockés dans `<project-root>/.claude/worktrees/` par défaut. Pour les stocker plutôt dans un répertoire personnalisé :

412 459 

413* **Sessions locales** : définissez **Emplacement du worktree** dans **Paramètres > Claude Code**460* **Sessions locales** : définissez **Emplacement du worktree** dans **Paramètres > Claude Code**

414* **Sessions SSH** : définissez **Dossier du worktree** sur la [connexion SSH](#choose-where-ssh-session-worktrees-go)461* **Sessions SSH** : définissez **Dossier du worktree** sur la [connexion SSH](#choose-where-ssh-session-worktrees-go)

415 462 

416Vous pouvez également définir un **Préfixe de branche** dans **Paramètres > Claude Code**. Desktop l'ajoute au début de chaque nom de branche worktree, ce qui est utile pour garder les branches créées par Claude organisées.463Vous pouvez également définir un **Préfixe de branche** dans **Paramètres > Claude Code**. Desktop l'ajoute au début de chaque nom de branche worktree, ce qui est utile pour garder les branches créées par Claude organisées.

417 464 

418Pour supprimer un worktree quand vous avez terminé, survolez la session dans la barre latérale et cliquez sur l'icône d'archive. Pour que les sessions s'archivent elles-mêmes quand leur pull request est fusionnée ou fermée, activez **Auto-archive après fusion ou fermeture de PR** dans **Paramètres > Claude Code**. L'auto-archive s'applique uniquement aux sessions locales qui ont terminé l'exécution.

419 

420Pour inclure les fichiers ignorés par git comme `.env` dans les nouveaux worktrees, créez un [fichier `.worktreeinclude`](/docs/fr/worktrees#copy-gitignored-files-into-worktrees) à la racine de votre projet. Voir [Ce que les worktrees partagent avec le checkout principal](/docs/fr/worktrees#what-worktrees-share-with-the-main-checkout) pour savoir où une session worktree lit les paramètres du projet, les hooks et les skills.465Pour inclure les fichiers ignorés par git comme `.env` dans les nouveaux worktrees, créez un [fichier `.worktreeinclude`](/docs/fr/worktrees#copy-gitignored-files-into-worktrees) à la racine de votre projet. Voir [Ce que les worktrees partagent avec le checkout principal](/docs/fr/worktrees#what-worktrees-share-with-the-main-checkout) pour savoir où une session worktree lit les paramètres du projet, les hooks et les skills.

421 466 

422<Note>467<Note>

423 L'isolation des sessions nécessite [Git](https://git-scm.com/downloads). La plupart des Macs incluent Git par défaut. Exécutez `git --version` dans Terminal pour vérifier ; s'il affiche un numéro de version, Git est installé. Si vous rencontrez des erreurs Git, demandez à Claude dans l'[onglet Cowork](https://claude.com/product/cowork) de vous aider à dépanner votre configuration.468 L'isolation des sessions nécessite [Git](https://git-scm.com/downloads). La plupart des Macs incluent Git par défaut. Exécutez `git --version` dans Terminal pour vérifier ; s'il affiche un numéro de version, Git est installé. Si vous rencontrez des erreurs Git, demandez à Claude dans l'[onglet Cowork](https://claude.com/product/cowork) de vous aider à dépanner votre configuration.

424</Note>469</Note>

425 470 

426Utilisez les contrôles en haut de la barre latérale pour filtrer les sessions par statut, projet ou environnement, et pour grouper les sessions par projet. Pour renommer une session, cliquez sur le titre de la session dans la barre d'outils en haut de la session active.471<h3 id="add-folders-to-a-session">

472 Ajouter des dossiers à une session

473</h3>

474 

475Ajoutez des dossiers avant le démarrage de la session ou pendant son exécution :

476 

477* **Avant le démarrage d'une session locale** : ajoutez les dossiers sous **Dossiers** lorsque vous [créez un environnement enregistré](#create-a-saved-environment) ou en modifiez un, puis [démarrez la session à partir de cet environnement enregistré](#use-edit-or-remove-a-saved-environment).

478* **Pendant l'exécution d'une session locale ou [SSH](#ssh-sessions)** : cliquez sur **+** à côté de la zone de prompt et sélectionnez **Ajouter un dossier**. Claude travaille directement dans ce dossier, sans [worktree](#run-a-session-in-its-own-worktree).

479 

480<h3 id="archive-a-session">

481 Archiver une session

482</h3>

483 

484Avant d'archiver une session dont le worktree contient des modifications non commitées, voir [Conserver les modifications non commitées lors de l'archivage d'une session](#keep-uncommitted-changes-when-a-session-is-archived). Pour archiver une session, survolez-la dans la barre latérale, ouvrez son menu et sélectionnez **Archiver**. La session est déplacée vers vos [sessions archivées](#organize-and-find-sessions).

485 

486Pour que les sessions s'archivent elles-mêmes quand leur pull request est fusionnée ou fermée, activez **Auto-archive après fusion ou fermeture de PR** dans **Paramètres > Claude Code**. Les sessions cloud et les sessions encore en cours d'exécution ne s'archivent pas elles-mêmes.

487 

488<h4 id="keep-uncommitted-changes-when-a-session-is-archived">

489 Conserver les modifications non commitées lors de l'archivage d'une session

490</h4>

491 

492Vous pouvez perdre les modifications non commitées du worktree d'une session lors de son archivage ; créez donc d'abord un commit de ce que vous souhaitez conserver :

493 

494* **Si Desktop vous interroge sur les modifications** : sélectionnez **Archiver quand même** pour les supprimer, ou annulez et créez un commit

495* **Si les seules modifications sont des fichiers non suivis** : créez un commit de ceux que vous souhaitez conserver avant que la pull request ouverte par Claude dans la session ne soit fusionnée, car Desktop peut alors les supprimer sans vous le demander

496* **Dans tous les autres cas** : le worktree reste sur le disque avec ses modifications. Pour une session locale, Desktop supprime les deux environ 30 jours après l'archivage de la session ou sa dernière ouverture, selon la date la plus tardive. Pour conserver les modifications, ouvrez la session depuis l'[onglet **Archivées**](#organize-and-find-sessions) et sélectionnez **Désarchiver**

497 

498<h3 id="organize-and-find-sessions">

499 Organiser et retrouver les sessions

500</h3>

501 

502Vous regroupez, triez et retrouvez les sessions à partir d'une icône dans la liste des sessions de la barre latérale :

503 

504* **Disposition actuelle** : survolez un titre de la liste des sessions pour afficher l'icône **Grouper et trier**, puis cliquez dessus. Pour retrouver les sessions archivées, sélectionnez **Tout afficher**, la dernière ligne du menu, puis ouvrez l'onglet **Archivées**.

505* **[Disposition précédente](#check-which-layout-you-have)** : l'icône **Filtrer** s'affiche sans survol. Cliquez dessus pour organiser la liste avec **Grouper par** ou **Trier par**. Pour afficher les sessions archivées, sélectionnez **Statut**, puis **Archivées**.

506 

507Pour renommer une session, ouvrez-la et cliquez sur le titre de la session dans la barre de titre.

508 

509<h3 id="check-and-free-up-context">

510 Vérifier et libérer le contexte

511</h3>

427 512 

428Pour vérifier l'utilisation du contexte, voir [Vérifier l'utilisation](#check-usage). Quand le contexte se remplit, Claude résume automatiquement la conversation et continue de travailler. Vous pouvez également taper `/compact` pour déclencher la compaction plus tôt et libérer de l'espace de contexte. Voir [la fenêtre de contexte](/docs/fr/how-claude-code-works#the-context-window) pour les détails sur le fonctionnement de la compaction.513Pour vérifier l'utilisation du contexte, voir [Vérifier l'utilisation](#check-usage). Quand le contexte se remplit, Claude résume automatiquement la conversation et continue de travailler. Vous pouvez également taper `/compact` pour déclencher la compaction plus tôt et libérer de l'espace de contexte. Voir [la fenêtre de contexte](/docs/fr/how-claude-code-works#the-context-window) pour les détails sur le fonctionnement de la compaction.

429 514 

515<h3 id="get-notified-when-a-session-finishes">

516 Être notifié quand une session se termine

517</h3>

518 

430L'application de bureau envoie une notification du système d'exploitation quand une session Code termine une tâche et que vous ne visualisez pas actuellement cette session. Pour les sessions qui appartiennent à un [projet](/docs/fr/claude-projects#see-what-needs-you-in-overview), vous recevez les notifications du projet à la place.519L'application de bureau envoie une notification du système d'exploitation quand une session Code termine une tâche et que vous ne visualisez pas actuellement cette session. Pour les sessions qui appartiennent à un [projet](/docs/fr/claude-projects#see-what-needs-you-in-overview), vous recevez les notifications du projet à la place.

431 520 

432<h3 id="ask-a-side-question-without-derailing-the-session">521<h3 id="ask-a-side-question-without-derailing-the-session">


451 Travailler entre les sessions540 Travailler entre les sessions

452</h3>541</h3>

453 542 

454Claude peut lister vos autres sessions de l'onglet Code, lire ce que chacune a fait, et envoyer des messages entre elles. Demandez en langage naturel : « quelle session a touché à la refonte d'authentification ? », « à quelle conclusion la session API est-elle arrivée ? », ou « dites à la session des paiements que le schéma a changé ». Vous pouvez également demander à Claude de renommer ou d'archiver une session. Claude archive une session de la même manière que l'icône d'archive de la barre latérale, donc demandez-lui de nettoyer les sessions dont les PR ont fusionné.543Claude peut lister vos autres sessions de l'onglet Code, lire ce que chacune a fait, et envoyer des messages entre elles. Demandez en langage naturel : « quelle session a touché à la refonte d'authentification ? », « à quelle conclusion la session API est-elle arrivée ? », ou « dites à la session des paiements que le schéma a changé ».

544 

545Vous pouvez également demander à Claude de renommer ou d'archiver une session. Par exemple, demandez-lui d'archiver les sessions dont les PR ont fusionné.

455 546 

456À travers cette surface, Claude ne voit que les sessions que l'application de bureau exécute elle-même : locales, [SSH](#ssh-sessions) et [WSL](/docs/fr/desktop-wsl) sessions dans l'onglet Code. Claude ne voit pas les sessions cloud, ou les sessions que vous avez démarrées à partir du CLI du terminal ou de l'extension VS Code, même dans les worktrees du même projet, donc avec neuf worktrees de terminal ouverts et deux sessions de bureau, Claude répondant dans l'une d'elles signale l'autre session de bureau. Claude ne liste jamais la session à partir de laquelle vous posez la question. Par défaut, il voit les 20 sessions les plus récemment actives et ignore les sessions archivées sauf si vous les demandez. [La messagerie entre sessions](/docs/fr/cross-session-messaging) permet séparément à Claude d'envoyer des messages à [vos autres sessions Claude Code](/docs/fr/cross-session-messaging#see-which-sessions-claude-can-reach), y compris les sessions de terminal.547À travers cette surface, Claude ne voit que les sessions que l'application de bureau exécute elle-même : locales, [SSH](#ssh-sessions) et [WSL](/docs/fr/desktop-wsl) sessions dans l'onglet Code. Claude ne voit pas les sessions cloud, ou les sessions que vous avez démarrées à partir du CLI du terminal ou de l'extension VS Code, même dans les worktrees du même projet, donc avec neuf worktrees de terminal ouverts et deux sessions de bureau, Claude répondant dans l'une d'elles signale l'autre session de bureau. Claude ne liste jamais la session à partir de laquelle vous posez la question. Par défaut, il voit les 20 sessions les plus récemment actives et ignore les sessions archivées sauf si vous les demandez. [La messagerie entre sessions](/docs/fr/cross-session-messaging) permet séparément à Claude d'envoyer des messages à [vos autres sessions Claude Code](/docs/fr/cross-session-messaging#see-which-sessions-claude-can-reach), y compris les sessions de terminal.

457 548 


470 Exécuter les tâches longues dans le cloud561 Exécuter les tâches longues dans le cloud

471</h3>562</h3>

472 563 

473Pour les refactorisations importantes, les suites de tests, les migrations ou autres tâches longues, sélectionnez **Cloud** au lieu de **Local** au démarrage d'une session. Les sessions cloud s'exécutent sur l'infrastructure gérée par Anthropic par défaut et continuent même si vous fermez l'application ou arrêtez votre ordinateur. Revenez à tout moment pour voir la progression ou orienter Claude dans une direction différente. Vous pouvez également surveiller les sessions cloud à partir de [claude.ai/code](https://claude.ai/code) ou de l'[application Claude mobile](/docs/fr/mobile).564Pour les refactorisations importantes, les suites de tests, les migrations ou autres tâches longues, sélectionnez un environnement sous **Cloud** dans le [sélecteur d'environnement](#start-a-session) au démarrage d'une session. Les sessions cloud s'exécutent sur l'infrastructure gérée par Anthropic par défaut et continuent même si vous fermez l'application ou arrêtez votre ordinateur. Revenez à tout moment pour voir la progression ou orienter Claude dans une direction différente. Vous pouvez également surveiller les sessions cloud à partir de [claude.ai/code](https://claude.ai/code) ou de l'[application Claude mobile](/docs/fr/mobile).

565 

566Les sessions cloud prennent également en charge plusieurs dépôts. Choisissez les dépôts :

474 567 

475Les sessions cloud supportent également plusieurs dépôts. Après avoir sélectionné un environnement cloud, cliquez sur le bouton **+** à côté du dépôt sélectionné pour ajouter des dépôts supplémentaires à la session. Chaque dépôt obtient son propre sélecteur de branche. Ceci est utile pour les tâches qui s'étendent sur plusieurs bases de code, comme la mise à jour d'une bibliothèque partagée et ses consommateurs.568* **Disposition actuelle** : dans la ligne sous la zone de prompt, une fois que vous avez sélectionné un environnement cloud.

569* **[Disposition précédente](#check-which-layout-you-have)** : au-dessus de la zone de prompt. Pour ajouter un autre dépôt, cliquez sur **+** à côté du dépôt sélectionné.

476 570 

477Voir [Utiliser Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) pour plus d'informations sur le fonctionnement des sessions cloud. Quand un corps de travail nécessite de nombreuses sessions cloud, sélectionnez **Projets** dans la barre latérale pour créer un [projet](/docs/fr/claude-projects), où Claude démarre et suit les sessions pour vous à partir d'une conversation.571Voir [Utiliser Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) pour plus d'informations sur le fonctionnement des sessions cloud. Quand un corps de travail nécessite de nombreuses sessions cloud, sélectionnez **Projets** dans la barre latérale pour créer un [projet](/docs/fr/claude-projects), où Claude démarre et suit les sessions pour vous à partir d'une conversation.

478 572 


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

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

502 596 

503Pour savoir si une session est connectée, regardez l'icône d'ordinateur portable devant le titre de la session dans la barre d'outils. L'icône est mise en surbrillance tant que la session est connectée ou en cours de connexion. Cliquez dessus pour ouvrir l'interrupteur **Remote Control** de la session.597Pour savoir si une session est connectée, vérifiez l'interrupteur **Remote Control** dans la carte **Environnement** de son [panneau de détails de la session](#see-session-details).

504 598 

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

506 600 


538 Connecter les outils externes632 Connecter les outils externes

539</h3>633</h3>

540 634 

541Pour les sessions locales et [SSH](#ssh-sessions), cliquez sur le bouton **+** à côté de la zone de prompt et sélectionnez **Connecteurs** pour ajouter des intégrations comme Google Calendar, Slack, GitHub, Linear, Notion et bien d'autres. Vous pouvez ajouter des connecteurs avant ou pendant une session. Le bouton **+** n'est pas disponible dans les sessions cloud ou WSL, mais les [routines](/docs/fr/routines) configurent les connecteurs au moment de la création de la routine.635Les connecteurs sont [des serveurs MCP](/docs/fr/mcp) avec un flux de configuration graphique.

636 

637Cliquez sur **+** à côté de la zone de prompt, avant ou pendant la session, pour ajouter des connecteurs dans une session locale ou [SSH](#ssh-sessions) avec un compte Claude. Sélectionnez **Ajouter des connecteurs** pour ouvrir le répertoire des connecteurs. Si le menu affiche plutôt **Connecteurs**, sélectionnez-le, puis **Parcourir les connecteurs**.

638 

639<Note>

640 Ces cas sont traités sur d'autres pages :

542 641 

543Pour gérer ou déconnecter les connecteurs, allez à Paramètres → Connecteurs dans l'application de bureau, ou sélectionnez **Gérer les connecteurs** à partir du menu Connecteurs dans la zone de prompt.642 * **Connecteurs est grisé dans une session WSL** : voir [Si le terminal ou les connecteurs ne sont pas disponibles](/docs/fr/desktop-wsl#check-for-the-terminal-and-connectors)

643 * **Sessions cloud** : voir [Comment les connecteurs atteignent Claude Code](/docs/fr/mcp#how-connectors-reach-claude-code)

644</Note>

544 645 

545Une fois connecté, Claude peut lire votre calendrier, envoyer des messages, créer des problèmes et interagir avec vos outils directement. Vous pouvez demander à Claude quels connecteurs sont configurés dans votre session.646Une fois connecté, Claude peut lire votre calendrier, envoyer des messages, créer des problèmes et interagir avec vos outils directement. Vous pouvez demander à Claude quels connecteurs sont configurés dans votre session. Pour gérer ou déconnecter les connecteurs, allez à **Paramètres > Connecteurs** dans l'application de bureau.

546 647 

547Les connecteurs sont [des serveurs MCP](/docs/fr/mcp) avec un flux de configuration graphique. Utilisez-les pour une intégration rapide avec les services supportés. Pour les intégrations non listées dans Connecteurs, ajoutez les serveurs MCP manuellement via [fichiers de paramètres](/docs/fr/mcp#installing-mcp-servers). Vous pouvez également [créer des connecteurs personnalisés](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).648Pour les intégrations non listées dans Connecteurs, ajoutez les serveurs MCP manuellement via [fichiers de paramètres](/docs/fr/mcp#installing-mcp-servers). Vous pouvez également [créer des connecteurs personnalisés](https://support.claude.com/en/articles/11175166-getting-started-with-custom-connectors-using-remote-mcp).

548 649 

549<h3 id="use-skills">650<h3 id="use-skills">

550 Utiliser les skills651 Utiliser les skills


564 665 

565[Les plugins](/docs/fr/plugins/overview) sont des packages réutilisables qui ajoutent des skills, des agents, des hooks, des serveurs MCP et des configurations LSP à Claude Code. Vous pouvez installer les plugins à partir de l'application de bureau sans utiliser le terminal.666[Les plugins](/docs/fr/plugins/overview) sont des packages réutilisables qui ajoutent des skills, des agents, des hooks, des serveurs MCP et des configurations LSP à Claude Code. Vous pouvez installer les plugins à partir de l'application de bureau sans utiliser le terminal.

566 667 

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

568 669 

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

570 671 


632| `runtimeArgs` | string\[] | Arguments passés à `runtimeExecutable`, comme `["run", "dev"]` |733| `runtimeArgs` | string\[] | Arguments passés à `runtimeExecutable`, comme `["run", "dev"]` |

633| `port` | number | Le port sur lequel votre serveur écoute. Par défaut 3000 |734| `port` | number | Le port sur lequel votre serveur écoute. Par défaut 3000 |

634| `cwd` | string | Répertoire de travail relatif à la racine de votre projet. Par défaut la racine du projet. Utilisez `${workspaceFolder}` pour référencer la racine du projet explicitement |735| `cwd` | string | Répertoire de travail relatif à la racine de votre projet. Par défaut la racine du projet. Utilisez `${workspaceFolder}` pour référencer la racine du projet explicitement |

635| `env` | object | Variables d'environnement supplémentaires comme paires clé-valeur, comme `{ "NODE_ENV": "development" }`. Ne mettez pas de secrets ici car ce fichier est validé dans votre référentiel. Pour passer les secrets à votre serveur de développement, définissez-les dans l'[éditeur d'environnement local](#local-sessions) à la place. |736| `env` | object | Variables d'environnement supplémentaires comme paires clé-valeur, comme `{ "NODE_ENV": "development" }`. Ne mettez pas de secrets ici car ce fichier est validé dans votre dépôt. Pour les secrets, voir [Définir des variables d'environnement pour les serveurs de développement](#set-environment-variables-for-dev-servers). |

636| `autoPort` | boolean | Comment gérer les conflits de port. Voir [Conflits de port](#port-conflicts) |737| `autoPort` | boolean | Comment gérer les conflits de port. Voir [Conflits de port](#port-conflicts) |

637| `program` | string | Un script à exécuter avec `node`. Voir [quand utiliser `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |738| `program` | string | Un script à exécuter avec `node`. Voir [quand utiliser `program` vs `runtimeExecutable`](#when-to-use-program-vs-runtimeexecutable) |

638| `args` | string\[] | Arguments passés à `program`. Utilisé uniquement quand `program` est défini |739| `args` | string\[] | Arguments passés à `program`. Utilisé uniquement quand `program` est défini |


795* **SSH** : s'exécute sur une machine distante à laquelle vous vous connectez via SSH, comme vos propres serveurs, des machines virtuelles cloud ou des conteneurs de développement. Une tâche en cours peut [continuer pendant que Desktop est déconnecté](#keep-a-task-running-while-desktop-is-disconnected), mais avec un compte Claude, elle peut s'arrêter lorsque son authentification expire.896* **SSH** : s'exécute sur une machine distante à laquelle vous vous connectez via SSH, comme vos propres serveurs, des machines virtuelles cloud ou des conteneurs de développement. Une tâche en cours peut [continuer pendant que Desktop est déconnecté](#keep-a-task-running-while-desktop-is-disconnected), mais avec un compte Claude, elle peut s'arrêter lorsque son authentification expire.

796* **WSL** (Windows) : s'exécute à l'intérieur d'une [distribution WSL 2](/docs/fr/desktop-wsl) sur votre machine, en utilisant sa chaîne d'outils Linux et ses chemins natifs897* **WSL** (Windows) : s'exécute à l'intérieur d'une [distribution WSL 2](/docs/fr/desktop-wsl) sur votre machine, en utilisant sa chaîne d'outils Linux et ses chemins natifs

797 898 

899<h3 id="create-a-saved-environment">

900 Créer un environnement enregistré

901</h3>

902 

903Un environnement enregistré est une entrée du [sélecteur d'environnement](#start-a-session) qui mémorise où Claude s'exécute, afin que vous puissiez y démarrer des sessions ultérieures. Un environnement local ou SSH contient également les dossiers dans lesquels Claude travaille. Les environnements locaux et SSH enregistrés [nécessitent Claude Desktop v2.37337.0 ou une version ultérieure](#check-which-layout-you-have).

904 

905<Steps>

906 <Step title="Ouvrir la boîte de dialogue New environment">

907 Ouvrez le sélecteur d'environnement sous la zone de prompt et sélectionnez **New environment** en bas de son menu.

908 </Step>

909 

910 <Step title="Choisir où Claude s'exécute">

911 Sélectionnez l'onglet **Local**, **SSH** ou [**Cloud**](#cloud-sessions) et remplissez le formulaire de cet onglet. Dans l'onglet **SSH**, choisissez une [connexion](#ssh-sessions) et un dossier sur la machine distante.

912 </Step>

913 

914 <Step title="Enregistrer l'environnement">

915 Sélectionnez **Create environment**, ou **Add environment** dans l'onglet **Cloud**.

916 </Step>

917</Steps>

918 

919<h4 id="environments-that-desktop-creates-for-you">

920 Environnements que Desktop crée pour vous

921</h4>

922 

923Si le sélecteur d'environnement répertorie des environnements locaux ou SSH que vous n'avez pas créés, c'est Desktop qui les a créés pour vous. La première fois que vous ouvrez l'onglet Code dans la [disposition actuelle](#check-which-layout-you-have), Desktop crée jusqu'à huit environnements. Ces environnements proviennent des dossiers locaux et SSH que vous avez le plus utilisés au cours du dernier mois. Vous pouvez [les modifier ou les supprimer](#use-edit-or-remove-a-saved-environment).

924 

925<h4 id="use-edit-or-remove-a-saved-environment">

926 Utiliser, modifier ou supprimer un environnement enregistré

927</h4>

928 

929Trouvez l'entrée de l'environnement dans le [sélecteur d'environnement](#start-a-session) :

930 

931* **Démarrer une session** : sélectionnez l'entrée.

932* **Modifier ou supprimer** : survolez l'entrée et cliquez sur l'icône d'engrenage. Pour supprimer un environnement local ou SSH, cliquez sur **Delete environment** dans **Edit environment**.

933* **Archiver des environnements cloud** : consultez [Archiver un environnement](/docs/fr/cloud-environments#archive-an-environment).

934 

798<h3 id="local-sessions">935<h3 id="local-sessions">

799 Sessions locales936 Sessions locales

800</h3>937</h3>

801 938 

802L'application de bureau n'hérite pas toujours de votre environnement shell complet. Sur macOS, quand vous lancez l'application à partir du Dock ou du Finder, elle lit votre profil shell, comme `~/.zshrc` ou `~/.bashrc`, pour extraire `PATH` et un ensemble fixe de variables Claude Code, mais les autres variables que vous exportez là ne sont pas récupérées. Sur Windows, l'application hérite des variables d'environnement utilisateur et système mais ne lit pas les profils PowerShell.939L'application de bureau n'hérite pas toujours de votre environnement shell complet. Sur macOS, quand vous lancez l'application à partir du Dock ou du Finder, elle lit votre profil shell, comme `~/.zshrc` ou `~/.bashrc`, pour extraire `PATH` et un ensemble fixe de variables Claude Code, mais les autres variables que vous exportez là ne sont pas récupérées. Sur Windows, l'application hérite des variables d'environnement utilisateur et système mais ne lit pas les profils PowerShell.

803 940 

804Pour définir les variables d'environnement pour les sessions locales et les serveurs de développement sur n'importe quelle plateforme, ouvrez la liste déroulante d'environnement dans la zone de prompt, survolez **Local** et cliquez sur l'icône d'engrenage pour ouvrir l'éditeur d'environnement local. Les variables que vous enregistrez ici sont stockées chiffrées sur votre machine et s'appliquent à chaque session locale et serveur d'aperçu que vous démarrez. Vous pouvez également ajouter des variables à la clé `env` dans votre fichier `~/.claude/settings.json`, bien que celles-ci n'atteignent que les sessions Claude et non les serveurs de développement. Voir [variables d'environnement](/docs/fr/env-vars) pour la liste complète des variables supportées.941<h4 id="set-environment-variables-for-local-sessions">

942 Définir des variables d'environnement pour les sessions locales

943</h4>

944 

945Ajoutez les variables à un environnement local enregistré et démarrez vos sessions à partir de celui-ci. Desktop [définit lui-même certaines variables](#environment-variables-desktop-sets-itself), comme `API_TIMEOUT_MS`, et vos sessions reçoivent sa valeur pour celles-ci au lieu de la vôtre.

946 

947<Note>

948 Si votre sélecteur d'environnement se trouve au-dessus de la zone de prompt, vous disposez de l'[ancienne disposition](#check-which-layout-you-have), qui ne propose pas d'environnements locaux enregistrés. Utilisez plutôt l'[éditeur d'environnement local](#use-the-local-environment-editor).

949</Note>

950 

951<Steps>

952 <Step title="Ouvrir le formulaire de l'environnement">

953 Ouvrez [**New environment**](#create-a-saved-environment) ou [**Edit environment**](#use-edit-or-remove-a-saved-environment).

954 </Step>

955 

956 <Step title="Saisir les variables">

957 Sélectionnez **Environment variables**, saisissez une paire `KEY=value` par ligne, puis sélectionnez **Done**.

958 </Step>

959 

960 <Step title="Enregistrer l'environnement">

961 Sélectionnez **Create environment** ou **Save**.

962 </Step>

963</Steps>

964 

965Seules les sessions que vous démarrez à partir de cet environnement reçoivent les variables.

966 

967Pour définir une variable pour toutes les sessions locales, ajoutez-la à la [clé `env`](/docs/fr/env-vars#set-variables-in-settings-files) de votre fichier `~/.claude/settings.json`. Claude Code [ignore la valeur](/docs/fr/settings-reference#how-env-values-interact-with-your-shell) si cette variable figure déjà dans l'environnement avec lequel Desktop démarre la session. Consultez [variables d'environnement](/docs/fr/env-vars) pour la liste complète des variables prises en charge.

968 

969<h4 id="set-environment-variables-for-dev-servers">

970 Définir des variables d'environnement pour les serveurs de développement

971</h4>

972 

973Pour fournir un secret à un serveur de développement sans le commiter dans [`launch.json`](#configure-preview-servers), définissez-le à l'un de ces emplacements, puis redémarrez Desktop :

974 

975* **macOS et Linux** : exportez-le dans votre profil shell

976* **Windows** : ajoutez-le à vos variables d'environnement utilisateur ou système

977* **Toute plateforme** : enregistrez-le dans l'[éditeur d'environnement local](#use-the-local-environment-editor), si vous pouvez l'ouvrir

978 

979Les serveurs de développement ne reçoivent pas les variables que vous ajoutez à un [environnement enregistré](#create-a-saved-environment) ou à `~/.claude/settings.json`.

980 

981<h4 id="use-the-local-environment-editor">

982 Utiliser l'éditeur d'environnement local

983</h4>

984 

985Pour ouvrir l'éditeur d'environnement local, cliquez sur l'icône d'engrenage de l'entrée correspondant à votre propre ordinateur, et non sur celle d'un environnement enregistré :

986 

987* **Sélecteur sous la zone de prompt** : survolez l'entrée de votre ordinateur, la première sous **Local**. Si une icône d'engrenage apparaît, cliquez dessus. Sinon, l'éditeur n'est pas disponible ; définissez donc la variable pour les [sessions locales](#set-environment-variables-for-local-sessions) ou les [serveurs de développement](#set-environment-variables-for-dev-servers) d'une autre manière.

988* **Sélecteur au-dessus de la zone de prompt** : survolez **Local** et cliquez sur l'icône d'engrenage

989 

990Saisissez une paire `KEY=value` par ligne et sélectionnez **Save changes**. Les variables que vous enregistrez ici sont stockées chiffrées sur votre machine. Les sessions locales les reçoivent, à l'exception de toute variable que [Desktop définit lui-même](#environment-variables-desktop-sets-itself), comme `API_TIMEOUT_MS`. Redémarrez Desktop pour transmettre vos variables aux serveurs de développement.

991 

992<h4 id="environment-variables-desktop-sets-itself">

993 Variables d'environnement que Desktop définit lui-même

994</h4>

995 

996Si vous définissez `API_TIMEOUT_MS` ou `ANTHROPIC_BASE_URL` et que rien n'a changé dans vos sessions locales, c'est parce que Desktop définit lui-même ces [variables](/docs/fr/env-vars#variables), entre autres. Une session locale reçoit la valeur de Desktop, que vous ayez défini la vôtre dans votre profil shell, dans vos variables utilisateur ou système Windows, dans l'éditeur d'environnement local ou dans un environnement enregistré. Déplacer la vôtre dans un fichier de paramètres n'aide pas, car Claude Code [ignore cette valeur](/docs/fr/settings-reference#how-env-values-interact-with-your-shell) dans une session locale.

997 

998* `API_TIMEOUT_MS` : une session locale reçoit `900000`, soit 15 minutes. Pour un délai d'expiration plus long, [installez la CLI Claude Code](/docs/fr/quickstart) et utilisez-la à la place de Desktop. [Définissez la variable dans votre shell](/docs/fr/env-vars#set-variables-in-your-shell) et exécutez `claude` dans votre terminal.

999* `ANTHROPIC_BASE_URL` : une session locale reçoit l'hôte de l'API d'Anthropic lorsque vous êtes connecté avec un compte Claude. Pour utiliser une passerelle, configurez plutôt la [configuration d'inférence tierce](/docs/fr/llm-gateway-connect#desktop-app) de Desktop.

1000 

1001<h4 id="turn-off-extended-thinking">

1002 Désactiver la réflexion étendue

1003</h4>

805 1004 

806[La réflexion étendue](/docs/fr/model-config#extended-thinking) est activée par défaut, ce qui améliore les performances sur les tâches de raisonnement complexe mais utilise des tokens supplémentaires. Sur l'API Anthropic, définissez `MAX_THINKING_TOKENS` à `0` dans l'éditeur d'environnement local pour désactiver la réflexion ; cela n'a aucun effet sur Opus 5.5, Sonnet 5.5, Haiku 5.5 ou les modèles Fable, qui utilisent toujours la réflexion étendue. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau supérieur aux modèles qu'il sait [ne pas accepter cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5.1005La [réflexion étendue](/docs/fr/model-config#extended-thinking) est activée par défaut, ce qui améliore les performances sur les tâches de raisonnement complexes, mais consomme des tokens supplémentaires. Pour la désactiver, définissez `MAX_THINKING_TOKENS` sur `0` dans un [environnement local enregistré](#set-environment-variables-for-local-sessions) ou dans l'[éditeur d'environnement local](#use-the-local-environment-editor). La réflexion est alors désactivée sur l'API Anthropic, sauf sur Opus 5.5, Sonnet 5.5, Haiku 5.5 et les modèles Fable, qui utilisent toujours la réflexion étendue.

1006 

1007Sur Opus 5, sélectionnez également un niveau d'effort `high` ou inférieur avant de démarrer la session. Dans la [disposition actuelle](#check-which-layout-you-have), ouvrez le sélecteur de modèle et sélectionnez un niveau sous **Effort**. Si vous avez démarré la session à un niveau supérieur, démarrez-en une nouvelle au niveau `high` ou inférieur.

1008 

1009<h4 id="fixed-thinking-budgets">

1010 Budgets de réflexion fixes

1011</h4>

807 1012 

808Sur les modèles avec [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level), Claude Code ignore le nombre lui-même dans une valeur `MAX_THINKING_TOKENS` positive, car le raisonnement adaptatif contrôle la profondeur de la réflexion à la place. Sur Opus 4.6 et Sonnet 4.6, définissez `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` à `1` pour utiliser un budget de réflexion fixe ; les modèles Fable, Sonnet 5 et versions ultérieures, Haiku 5.5, et Opus 4.7 et versions ultérieures utilisent toujours le raisonnement adaptatif et n'ont pas de mode de budget fixe.1013Sur les modèles avec [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level), Claude Code ignore le nombre lui-même dans une valeur `MAX_THINKING_TOKENS` positive, car le raisonnement adaptatif contrôle la profondeur de la réflexion à la place. Sur Opus 4.6 et Sonnet 4.6, définissez `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` à `1` pour utiliser un budget de réflexion fixe ; les modèles Fable, Sonnet 5 et versions ultérieures, Haiku 5.5, et Opus 4.7 et versions ultérieures utilisent toujours le raisonnement adaptatif et n'ont pas de mode de budget fixe.

809 1014 


811 Sessions locales sur les appareils gérés1016 Sessions locales sur les appareils gérés

812</h4>1017</h4>

813 1018 

814Votre administrateur peut désactiver les sessions locales avec le [paramètre géré `disableDesktopLocalSessions`](#managed-settings). Quand il l'a fait, **Local** reste dans la liste déroulante d'environnement mais est grisé et ne peut pas être sélectionné, avec une infobulle indiquant que votre organisation l'a désactivé, et sur Windows l'entrée [WSL](/docs/fr/desktop-wsl), dont la disponibilité sur les appareils gérés est [gouvernée séparément](/docs/fr/admin-setup#wsl-sessions-in-claude-code-desktop), est grisée de la même manière. Les nouvelles sessions utilisent par défaut la première connexion SSH si une est configurée, et Desktop affiche un message indiquant que les sessions locales ne sont pas disponibles sur cet appareil si vous essayez de continuer une session existante. Choisissez plutôt un environnement [SSH](#ssh-sessions) ou [cloud](#cloud-sessions), ou contactez votre équipe informatique.1019Si l'entrée de votre ordinateur est grisée dans le sélecteur d'environnement, avec l'info-bulle **Disabled by your organization**, votre administrateur a [désactivé les sessions locales](#managed-settings). Sur Windows, l'entrée [WSL](/docs/fr/desktop-wsl), dont la disponibilité sur les appareils gérés est [régie séparément](/docs/fr/admin-setup#wsl-sessions-in-claude-code-desktop), est grisée de la même manière.

1020 

1021Les nouvelles sessions utilisent par défaut la première connexion SSH si une connexion est configurée. Si vous essayez de poursuivre une session locale existante, Desktop affiche un message indiquant que les sessions locales ne sont pas disponibles sur cet appareil. Les [environnements locaux enregistrés](#create-a-saved-environment) affichent cette erreur lorsque vous en sélectionnez un : `Couldn’t switch environments: the Local environment isn’t available anymore.` Choisissez plutôt un environnement [SSH](#ssh-sessions) ou [cloud](#cloud-sessions), ou contactez votre équipe informatique.

815 1022 

816<h3 id="cloud-sessions">1023<h3 id="cloud-sessions">

817 Sessions cloud1024 Sessions cloud


819 1026 

820Les sessions cloud continuent en arrière-plan même si vous fermez l'application. L'utilisation compte vers les limites de votre [plan d'abonnement](/docs/fr/costs) sans frais de calcul séparés.1027Les sessions cloud continuent en arrière-plan même si vous fermez l'application. L'utilisation compte vers les limites de votre [plan d'abonnement](/docs/fr/costs) sans frais de calcul séparés.

821 1028 

822Vous pouvez créer des environnements cloud personnalisés avec différents niveaux d'accès réseau et variables d'environnement. Pour les gérer, ouvrez la liste déroulante d'environnement dans la zone de prompt et sélectionnez **Cloud** :1029Pour ajouter, modifier ou [archiver](/docs/fr/cloud-environments#archive-an-environment) un environnement cloud, ouvrez le [sélecteur d'environnement](#start-a-session) :

823 1030 

824* **Ajouter un environnement** : sélectionnez **Ajouter un environnement cloud**1031* **Ajouter un environnement** : sélectionnez **New environment** en bas du menu du sélecteur, puis l'onglet **Cloud** de la [boîte de dialogue **New environment**](#create-a-saved-environment)

825* **Modifier ou archiver l'un de vos propres environnements** : survolez-le et cliquez sur l'icône d'engrenage1032* **Modifier ou archiver l'un de vos propres environnements** : survolez-le et cliquez sur l'icône d'engrenage

826 1033 

827Voir [Configurer les environnements cloud](/docs/fr/cloud-environments) pour les détails sur la configuration de l'accès réseau et des variables d'environnement.1034Voir [Configurer les environnements cloud](/docs/fr/cloud-environments) pour les détails sur la configuration de l'accès réseau et des variables d'environnement.


836 Si vous utilisez Desktop avec un [fournisseur tiers](/docs/fr/third-party-integrations), les sessions SSH nécessitent leur propre configuration. Voir [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).1043 Si vous utilisez Desktop avec un [fournisseur tiers](/docs/fr/third-party-integrations), les sessions SSH nécessitent leur propre configuration. Voir [SSH remote sessions in Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/ssh-remote-sessions).

837</Note>1044</Note>

838 1045 

839Pour ajouter une connexion SSH, ouvrez la liste déroulante d'environnement dans la zone de prompt avant de démarrer une session, puis sélectionnez **SSH > Ajouter une connexion SSH…** et renseignez les détails de la connexion :1046Ajoutez une connexion SSH dans la [boîte de dialogue **New environment**](#create-a-saved-environment), puis démarrez une session sur cette connexion. Si une nouvelle session n'a pas de sélecteur d'environnement sous la zone de prompt, vous disposez de l'ancienne disposition. Consultez [Vérifier quelle disposition vous avez](#check-which-layout-you-have).

1047 

1048<Steps>

1049 <Step title="Ouvrir la boîte de dialogue New environment">

1050 Avant de démarrer une session, ouvrez le sélecteur d'environnement sous la zone de prompt et sélectionnez **New environment** en bas de son menu.

1051 </Step>

1052 

1053 <Step title="Ajouter la connexion">

1054 Dans l'onglet **SSH** de la boîte de dialogue **New environment**, ouvrez la liste **Host**, sélectionnez **Add SSH connection…** et renseignez les détails de la connexion :

840 1055 

841* **Nom** : une étiquette conviviale pour cette connexion1056 * **Name** : un libellé convivial pour cette connexion.

842* **Hôte SSH** : `user@hostname` ou un hôte défini dans `~/.ssh/config`1057 * **SSH host** : `user@hostname` ou un hôte défini dans `~/.ssh/config`.

843* **Port SSH** : par défaut 22 s'il est laissé vide, ou utilise le port de votre configuration SSH1058 * **SSH port** : vaut 22 par défaut s'il est laissé vide, ou utilise le port de votre configuration SSH.

844* **Clé SSH (facultatif)** : chemin vers votre clé privée, comme `~/.ssh/id_ed25519`. Laissez vide pour utiliser votre configuration SSH ou votre agent SSH.1059 * **SSH key (optional)** : chemin vers votre clé privée, comme `~/.ssh/id_ed25519`. Laissez vide pour utiliser votre configuration SSH ou votre agent SSH.

845* **Dossier des worktrees** : un dossier sur la machine distante, comme `~/worktrees`, où les nouvelles sessions créent leurs worktrees. Laissez vide pour utiliser la [valeur par défaut de la machine distante](#choose-where-ssh-session-worktrees-go).1060 * **Worktree folder** : un dossier sur la machine distante, comme `~/worktrees`, dans lequel les nouvelles sessions créent leurs worktrees. Laissez vide pour utiliser la [valeur par défaut de la machine distante](#choose-where-ssh-session-worktrees-go).

846 1061 

847Une fois ajoutée, la connexion apparaît sous **SSH** dans la liste déroulante d'environnement. Sélectionnez-la pour démarrer une session sur cette machine. Claude s'exécute sur la machine distante avec accès à ses fichiers et outils.1062 Sélectionnez ensuite **Add SSH connection**.

1063 </Step>

1064 

1065 <Step title="Démarrer une session sur la connexion">

1066 Sélectionnez un dossier sur la machine distante et cliquez sur **Create environment**. Vous conservez la machine et le dossier ensemble sous forme d'[environnement enregistré](#create-a-saved-environment) pour les sessions ultérieures. Desktop le sélectionne pour la nouvelle session ; saisissez donc votre tâche et appuyez sur **Entrée**.

1067 </Step>

1068</Steps>

848 1069 

849La machine distante peut exécuter Linux, macOS ou [Windows](#windows-remote-machines). Desktop installe Claude Code sur la machine distante automatiquement la première fois que vous vous connectez. Une fois connecté, les sessions SSH supportent les modes de permission, les connecteurs, les plugins et les serveurs MCP.1070La machine distante peut exécuter Linux, macOS ou [Windows](#windows-remote-machines). Desktop installe Claude Code sur la machine distante automatiquement la première fois que vous vous connectez. Une fois connecté, les sessions SSH supportent les modes de permission, les connecteurs, les plugins et les serveurs MCP.

850 1071 


1175 1396 

1176Les modifications de fichiers et certains outils peuvent échouer pendant que Desktop est déconnecté. Si la tâche en a besoin, gardez Desktop connecté :1397Les modifications de fichiers et certains outils peuvent échouer pendant que Desktop est déconnecté. Si la tâche en a besoin, gardez Desktop connecté :

1177 1398 

1178* **Worktrees** : dans une session qui utilise un [worktree](#work-in-parallel-with-sessions), Desktop vérifie chaque modification de fichier avant que Claude ne l'effectue. Pendant que Desktop est déconnecté, chaque modification attend environ 30 secondes puis échoue. Les commandes shell s'exécutent toujours. Sur une machine distante Linux ou macOS, [les modifications peuvent continuer à fonctionner](#worktree-edits-while-disconnected). En cas de doute, démarrez la session sans worktree.1399* **Worktrees** : dans une session qui utilise un [worktree](#run-a-session-in-its-own-worktree), Desktop vérifie chaque modification de fichier avant que Claude ne l'effectue. Pendant que Desktop est déconnecté, chaque modification attend environ 30 secondes puis échoue. Les commandes shell s'exécutent toujours. Sur une machine distante Linux ou macOS, [les modifications peuvent continuer à fonctionner](#worktree-edits-while-disconnected). En cas de doute, démarrez la session sans worktree.

1179* **Restrictions de dossiers** : si votre organisation restreint les dossiers que les sessions peuvent utiliser, Desktop vérifie chaque lecture, recherche et modification de fichier, avec ou sans worktree. Pendant que Desktop est déconnecté, chacune attend jusqu'à 10 minutes puis échoue.1400* **Restrictions de dossiers** : si votre organisation restreint les dossiers que les sessions peuvent utiliser, Desktop vérifie chaque lecture, recherche et modification de fichier, avec ou sans worktree. Pendant que Desktop est déconnecté, chacune attend jusqu'à 10 minutes puis échoue.

1180* **Connecteurs** : les [connecteurs](#connect-external-tools) et les autres outils fournis par Desktop passent par Desktop ; pendant qu'il est déconnecté, chaque appel échoue donc après environ 30 secondes1401* **Connecteurs** : les [connecteurs](#connect-external-tools) et les autres outils fournis par Desktop passent par Desktop ; pendant qu'il est déconnecté, chaque appel échoue donc après environ 30 secondes

1181* **Workflows** : Desktop vérifie chaque nouveau [workflow](/docs/fr/workflows) avant son démarrage ; pendant que Desktop est déconnecté, un nouveau workflow attend donc jusqu'à 10 minutes puis échoue1402* **Workflows** : Desktop vérifie chaque nouveau [workflow](/docs/fr/workflows) avant son démarrage ; pendant que Desktop est déconnecté, un nouveau workflow attend donc jusqu'à 10 minutes puis échoue


1264 Choisir l'emplacement des worktrees des sessions SSH1485 Choisir l'emplacement des worktrees des sessions SSH

1265</h4>1486</h4>

1266 1487 

1267Sauf si votre organisation restreint les dossiers que les sessions peuvent utiliser, les nouvelles sessions SSH créent leurs [worktrees](#work-in-parallel-with-sessions) dans le premier des emplacements suivants qui est défini :1488Sauf si votre organisation restreint les dossiers que les sessions peuvent utiliser, les nouvelles sessions SSH créent leurs [worktrees](#run-a-session-in-its-own-worktree) dans le premier de ces emplacements qui est défini :

1268 1489 

12691. **Dossier des worktrees** sur la connexion SSH14901. **Dossier des worktrees** sur la connexion SSH

12702. [`worktree.location`](/docs/fr/settings-reference#worktree-location) dans `~/.claude/settings.json` sur la machine distante14912. [`worktree.location`](/docs/fr/settings-reference#worktree-location) dans `~/.claude/settings.json` sur la machine distante


1272 1493 

1273Chaque projet obtient son propre sous-dossier dans le dossier que vous définissez ; ainsi, avec `~/worktrees`, le chemin d'un worktree est `~/worktrees/<project>-<id>/<worktree-name>`. Si le dossier que vous définissez se trouve à l'intérieur du projet, Desktop l'ignore pour ce projet et utilise la valeur par défaut. Sur une [machine distante Windows](#windows-remote-machines), Desktop utilise toujours la valeur par défaut.1494Chaque projet obtient son propre sous-dossier dans le dossier que vous définissez ; ainsi, avec `~/worktrees`, le chemin d'un worktree est `~/worktrees/<project>-<id>/<worktree-name>`. Si le dossier que vous définissez se trouve à l'intérieur du projet, Desktop l'ignore pour ce projet et utilise la valeur par défaut. Sur une [machine distante Windows](#windows-remote-machines), Desktop utilise toujours la valeur par défaut.

1274 1495 

1275Pour définir **Dossier des worktrees** sur une connexion que vous avez ajoutée précédemment ou sur une connexion gérée par votre organisation, survolez-la dans la liste déroulante d'environnement et cliquez sur l'icône d'engrenage.1496<a id="set-the-worktree-folder-on-an-existing-connection" />

1276 1497 

1277Le champ nécessite Claude Desktop v1.44121.0 ou une version ultérieure. Si votre organisation restreint les dossiers que les sessions peuvent utiliser, Desktop masque le champ et conserve les worktrees à l'intérieur du projet.1498<h5 id="set-the-worktree-folder-on-an-existing-connection">

1499 Définir le dossier des worktrees sur une connexion existante

1500</h5>

1501 

1502Définissez **Worktree folder** dans les paramètres d'une connexion que vous avez ajoutée précédemment ou d'une connexion gérée par votre organisation. Ce champ nécessite Claude Desktop v1.44121.0 ou une version ultérieure. Si votre organisation restreint les dossiers que les sessions peuvent utiliser, Desktop masque ce champ et conserve les worktrees à l'intérieur du projet.

1503 

1504<Steps>

1505 <Step title="Trouver la connexion">

1506 Ouvrez le [sélecteur d'environnement](#start-a-session) et trouvez la connexion sous **SSH**.

1507 </Step>

1508 

1509 <Step title="Ouvrir les paramètres de la connexion">

1510 Survolez la connexion et cliquez sur l'icône d'engrenage. Si la boîte de dialogue qui s'ouvre affiche **Edit connection…** à côté de **Host**, sélectionnez **Edit connection…**.

1511 </Step>

1512 

1513 <Step title="Définir le dossier">

1514 Dans **Worktree folder**, saisissez un dossier sur la machine distante, comme `~/worktrees`, et sélectionnez **Save changes**.

1515 </Step>

1516</Steps>

1278 1517 

1279<h4 id="files-and-processes-on-the-remote-machine">1518<h4 id="files-and-processes-on-the-remote-machine">

1280 Fichiers et processus sur la machine distante1519 Fichiers et processus sur la machine distante


1321 Mettre fin au processus d'une session1560 Mettre fin au processus d'une session

1322</h5>1561</h5>

1323 1562 

1324Pour mettre fin au processus Claude Code d'une session, [archivez la session](#work-in-parallel-with-sessions) dans Desktop pendant que Desktop est connecté à la machine distante. Le processus continue de s'exécuter une fois sa tâche terminée et après que vous avez quitté Desktop.1563Pour terminer le processus Claude Code d'une session, [archivez la session](#archive-a-session) dans Desktop pendant que Desktop est connecté à la machine distante. Le processus continue de s'exécuter une fois sa tâche terminée et après que vous avez quitté Desktop.

1325 1564 

1326Avant d'archiver une session qui possède un worktree, voir [Travailler en parallèle avec des sessions](#work-in-parallel-with-sessions).1565Avant d'archiver une session dont le worktree contient des modifications non commitées, consultez [Conserver les modifications non commitées lors de l'archivage d'une session](#keep-uncommitted-changes-when-a-session-is-archived).

1327 1566 

1328<h5 id="see-which-user-the-processes-run-as">1567<h5 id="see-which-user-the-processes-run-as">

1329 Voir sous quel utilisateur les processus s'exécutent1568 Voir sous quel utilisateur les processus s'exécutent


1474 Pré-configurer les connexions SSH pour votre équipe1713 Pré-configurer les connexions SSH pour votre équipe

1475</h4>1714</h4>

1476 1715 

1477Les administrateurs peuvent distribuer les connexions SSH aux membres de l'équipe en définissant `sshConfigs` dans les [paramètres gérés](/docs/fr/managed-settings). Les connexions définies de cette manière apparaissent dans la liste déroulante d'environnement de chaque utilisateur automatiquement et sont affichées comme gérées. Les utilisateurs peuvent les sélectionner et [définir leur propre **Dossier des worktrees**](#choose-where-ssh-session-worktrees-go) pour celles-ci, mais ne peuvent rien modifier d'autre ni les supprimer dans l'application.1716Les administrateurs peuvent distribuer des connexions SSH aux membres de l'équipe en définissant `sshConfigs` dans les [paramètres gérés](/docs/fr/managed-settings).

1717 

1718* **Ce que voient les utilisateurs** : les connexions définies de cette manière apparaissent automatiquement dans le sélecteur d'environnement de chaque utilisateur.

1719* **Ce que les utilisateurs peuvent modifier** : les utilisateurs peuvent sélectionner une connexion gérée et [définir leur propre **Worktree folder**](#set-the-worktree-folder-on-an-existing-connection) pour celle-ci. Ils ne peuvent ni modifier ses autres champs ni la supprimer dans l'application.

1478 1720 

1479L'exemple suivant pré-configure une seule connexion :1721L'exemple suivant pré-configure une seule connexion :

1480 1722 


1563Pour confirmer que les paramètres s'appliquent, vérifiez l'ordinateur d'un développeur :1805Pour confirmer que les paramètres s'appliquent, vérifiez l'ordinateur d'un développeur :

1564 1806 

1565<Steps>1807<Steps>

1566 <Step title="Vérifier la liste déroulante d'environnement">1808 <Step title="Vérifier le sélecteur d'environnement">

1567 Quittez et rouvrez Desktop, puis ouvrez la liste déroulante d'environnement dans la zone de prompt. **Local** est grisé, et **Shared Dev VM** apparaît sous **SSH**. Si **Local** est toujours disponible, vérifiez la version de Desktop, que le fichier est un JSON valide et quelle source gérée l'ordinateur lit.1809 Quittez et rouvrez Desktop, puis ouvrez le [sélecteur d'environnement](#start-a-session). Les paramètres sont appliqués s'il affiche :

1810 

1811 * L'entrée correspondant à cet ordinateur, en grisé

1812 * **Shared Dev VM** sous **SSH**. Si elle n'y figure pas, cliquez sur l'unique ligne **SSH**, ou sur **More** à la fin du groupe.

1813 

1814 Si l'entrée correspondant à l'ordinateur est toujours disponible, recherchez ces causes :

1815 

1816 * **Version de Desktop** : mettez à jour Desktop s'il est antérieur à la v1.37937.0.

1817 * **Fichier de paramètres gérés** : assurez-vous que le fichier est un JSON valide.

1818 * **Source gérée** : assurez-vous que l'ordinateur lit la [source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) qui contient les clés.

1568 </Step>1819 </Step>

1569 1820 

1570 <Step title="Ajouter un hôte absent de la liste d'autorisation">1821 <Step title="Ajouter un hôte absent de la liste d'autorisation">

1571 [Ajoutez une connexion SSH](#ssh-sessions) avec un nom d'hôte absent de la liste d'autorisation, comme `other.example.com`. Desktop enregistre la connexion mais refuse de se connecter, et indique que les paramètres de votre organisation n'autorisent pas la connexion.1822 [Ajoutez une connexion SSH](#ssh-sessions) avec un nom d'hôte qui ne figure pas dans la liste d'autorisation, comme `other.example.com`. Desktop enregistre la connexion mais refuse de s'y connecter, et indique que les paramètres de votre organisation n'autorisent pas la connexion.

1572 </Step>1823 </Step>

1573</Steps>1824</Steps>

1574 1825 


1612| `browserExternalPageTools` | définissez sur `"disabled"` pour empêcher Claude d'utiliser des outils pour lire ou agir sur des pages externes dans le [volet Navigateur](#browse-external-sites). Les utilisateurs peuvent toujours naviguer vers des sites externes eux-mêmes, et les aperçus des serveurs de développement locaux ne sont pas affectés. |1863| `browserExternalPageTools` | définissez sur `"disabled"` pour empêcher Claude d'utiliser des outils pour lire ou agir sur des pages externes dans le [volet Navigateur](#browse-external-sites). Les utilisateurs peuvent toujours naviguer vers des sites externes eux-mêmes, et les aperçus des serveurs de développement locaux ne sont pas affectés. |

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

1614| `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. |1865| `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. |

1615| `sshConfigs` | pré-configurez les [connexions SSH](#pre-configure-ssh-connections-for-your-team) qui apparaissent dans la liste déroulante de l'environnement. Les utilisateurs ne peuvent pas supprimer les connexions gérées ni modifier quoi que ce soit d'autre que leur propre **Worktree folder**. |1866| `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**. |

1616| `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. |1867| `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. |

1617| `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. |1868| `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. |

1618| `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. |1869| `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. |


1756 2007 

1757| CLI | Équivalent de bureau |2008| CLI | Équivalent de bureau |

1758| - | - |2009| - | - |

1759| `--model sonnet` | Liste déroulante de modèle à côté du bouton d'envoi |2010| `--model sonnet` | Sélecteur de modèle dans la ligne sous la zone de saisie |

1760| `--resume`, `--continue` | Cliquez sur une session dans la barre latérale, ou tapez `/resume` dans la zone de saisie pour reprendre une session que vous avez démarrée à partir de la CLI |2011| `--resume`, `--continue` | Cliquez sur une session dans la barre latérale, ou tapez `/resume` dans la zone de saisie pour reprendre une session que vous avez démarrée à partir de la CLI |

1761| `--permission-mode` | Sélecteur de mode à côté du bouton d'envoi |2012| `--permission-mode` | Sélecteur de mode dans la ligne sous la zone de saisie |

1762| `--dangerously-skip-permissions` | Contourner les permissions. Sur les plans Pro et Max, activez-le dans Paramètres → Claude Code → « Autoriser le mode de contournement des permissions » ; sur les plans Team et Enterprise, la politique organisationnelle le contrôle |2013| `--dangerously-skip-permissions` | Contourner les permissions. Sur les plans Pro et Max, activez-le dans Paramètres → Claude Code → « Autoriser le mode de contournement des permissions » ; sur les plans Team et Enterprise, la politique organisationnelle le contrôle |

1763| `--add-dir` | Ajouter plusieurs référentiels avec le bouton **+** dans les sessions cloud |2014| `--add-dir` | [Ajouter des dossiers à une session](#add-folders-to-a-session) dans les sessions locales et SSH, ou sélectionner [plusieurs dépôts](#run-long-running-tasks-in-the-cloud) dans une session cloud |

1764| `--allowedTools`, `--disallowedTools` | Aucun équivalent par session. Les règles de permission dans les [fichiers de paramètres](/docs/fr/settings) s'appliquent toujours. |2015| `--allowedTools`, `--disallowedTools` | Aucun équivalent par session. Les règles de permission dans les [fichiers de paramètres](/docs/fr/settings) s'appliquent toujours. |

1765| `--verbose` | [Mode d'affichage Verbose](#switch-view-modes) |2016| `--verbose` | [Mode d'affichage Verbose](#switch-view-modes) |

1766| `--print`, `--output-format` | Non disponible. Desktop est interactif uniquement. |2017| `--print`, `--output-format` | Non disponible. Desktop est interactif uniquement. |

1767| Variable d'environnement `ANTHROPIC_MODEL` | Liste déroulante de modèle à côté du bouton d'envoi |2018| Variable d'environnement `ANTHROPIC_MODEL` | Sélecteur de modèle dans la ligne sous la zone de saisie |

1768| Variable d'environnement `MAX_THINKING_TOKENS` | Définissez dans l'éditeur d'environnement local. Voir [configuration de l'environnement](#environment-configuration). |2019| Variable d'environnement `MAX_THINKING_TOKENS` | Voir [Désactiver la réflexion étendue](#turn-off-extended-thinking) |

1769 2020 

1770<h3 id="shared-configuration">2021<h3 id="shared-configuration">

1771 Configuration partagée2022 Configuration partagée


1777* Les **[serveurs MCP](/docs/fr/mcp)** configurés dans `~/.claude.json` ou `.mcp.json` fonctionnent dans les deux2028* Les **[serveurs MCP](/docs/fr/mcp)** configurés dans `~/.claude.json` ou `.mcp.json` fonctionnent dans les deux

1778* Les **[hooks](/docs/fr/hooks)** et **[skills](/docs/fr/skills)** définis dans les paramètres s'appliquent aux deux2029* Les **[hooks](/docs/fr/hooks)** et **[skills](/docs/fr/skills)** définis dans les paramètres s'appliquent aux deux

1779* Les **[paramètres](/docs/fr/settings)** dans `~/.claude.json` et `~/.claude/settings.json` sont partagés. Les règles de permission, les outils autorisés et d'autres paramètres dans `settings.json` s'appliquent aux sessions Desktop.2030* Les **[paramètres](/docs/fr/settings)** dans `~/.claude.json` et `~/.claude/settings.json` sont partagés. Les règles de permission, les outils autorisés et d'autres paramètres dans `settings.json` s'appliquent aux sessions Desktop.

1780* **Modèles** : les mêmes [modèles](/docs/fr/model-config#available-models) sont disponibles dans les deux. Dans Desktop, sélectionnez le modèle à partir de la liste déroulante à côté du bouton d'envoi. Vous pouvez modifier le modèle pendant la session à partir de la même liste déroulante.2031* **Modèles** : les mêmes [modèles](/docs/fr/model-config#available-models) sont disponibles dans les deux. Dans Desktop, sélectionnez le modèle à partir du sélecteur de modèle dans la ligne sous la zone de saisie. Vous pouvez modifier le modèle pendant la session à partir du même sélecteur.

1781 2032 

1782<h4 id="mcp-servers-from-the-claude-desktop-chat-app">2033<h4 id="mcp-servers-from-the-claude-desktop-chat-app">

1783 Serveurs MCP de l'application de chat Claude Desktop2034 Serveurs MCP de l'application de chat Claude Desktop


1805| [Fournisseurs tiers](/docs/fr/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API d'Anthropic par défaut. Pour le routage par passerelle, voir [connecter l'application de bureau à une passerelle](/docs/fr/llm-gateway-connect#desktop-app). Pour exécuter l'onglet Code sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou une passerelle LLM auto-hébergée, voir [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |2056| [Fournisseurs tiers](/docs/fr/third-party-integrations) | Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry | API d'Anthropic par défaut. Pour le routage par passerelle, voir [connecter l'application de bureau à une passerelle](/docs/fr/llm-gateway-connect#desktop-app). Pour exécuter l'onglet Code sur Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry ou une passerelle LLM auto-hébergée, voir [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). |

1806| [Serveurs MCP](/docs/fr/mcp) | Configurer dans les fichiers de paramètres | Interface utilisateur Connecteurs pour les sessions locales et SSH, ou fichiers de paramètres |2057| [Serveurs MCP](/docs/fr/mcp) | Configurer dans les fichiers de paramètres | Interface utilisateur Connecteurs pour les sessions locales et SSH, ou fichiers de paramètres |

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

1808| Fichiers @mention | Basé sur le texte | Avec autocomplétion ; sessions locales et SSH uniquement |2059| Fichiers @mention | Basé sur le texte | Avec autocomplétion, sauf pour le premier message d'une session cloud |

1809| Pièces jointes de fichiers | Non disponible | Images, PDF |2060| Pièces jointes de fichiers | Non disponible | Images, PDF |

1810| Isolation des sessions | Flag [`--worktree`](/docs/fr/cli-reference) | Option **worktree** au démarrage d'une session |2061| Isolation des sessions | Flag [`--worktree`](/docs/fr/cli-reference) | [Exécuter une session dans son propre worktree](#run-a-session-in-its-own-worktree) |

1811| Sessions multiples | Terminaux séparés | Onglets de barre latérale |2062| Sessions multiples | Terminaux séparés | Onglets de barre latérale |

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

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


1833 Dépannage2084 Dépannage

1834</h2>2085</h2>

1835 2086 

1836Les sections ci-dessous couvrent les problèmes spécifiques à l'application de bureau. Pour les erreurs API d'exécution qui apparaissent dans le chat comme `API Error: 500`, `529 Overloaded`, `429` ou `Prompt is too long`, voir la [référence des erreurs](/docs/fr/errors). Ces erreurs et leurs correctifs sont les mêmes sur la CLI, le bureau et le web.2087Les sections ci-dessous couvrent les problèmes spécifiques à l'application de bureau. Pour les erreurs API d'exécution qui apparaissent dans le chat comme `API Error: 500`, `529 Overloaded`, `429` ou `Prompt is too long`, voir la [référence des erreurs](/docs/fr/errors).

1837 2088 

1838<h3 id="check-your-version">2089<h3 id="check-your-version">

1839 Vérifier votre version2090 Vérifier votre version


1852 2103 

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

1854 2105 

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

1856 2107 

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

1858 2109 

2110<h3 id="check-which-layout-you-have">

2111 Vérifier quelle disposition vous utilisez

2112</h3>

2113 

2114Si une nouvelle session n'affiche pas de [sélecteur d'environnement](#start-a-session) sous la zone de prompt, vous disposez de l'ancienne disposition :

2115 

2116* **[Desktop antérieur à v2.37337.0](#check-your-version)** : mettez à jour pour obtenir la disposition actuelle. Sélectionnez **Claude > Rechercher les mises à jour…** sur macOS ou **Aide > Rechercher les mises à jour…** sur Windows.

2117* **[Fournisseur tiers](/docs/fr/third-party-integrations)** : vous conservez l'ancienne disposition ; il n'y a donc rien à faire.

2118 

2119Dans l'ancienne disposition, choisissez l'environnement et le dossier du projet au-dessus de la zone de prompt, et le mode de permission et le modèle dans la ligne située en dessous. L'ancienne disposition ne propose ni le [panneau des détails de session](#see-session-details) ni les [environnements locaux et SSH enregistrés](#create-a-saved-environment).

2120 

1859<h3 id="403-or-authentication-errors-in-the-code-tab">2121<h3 id="403-or-authentication-errors-in-the-code-tab">

1860 Erreurs 403 ou d'authentification dans l'onglet Code2122 Erreurs 403 ou d'authentification dans l'onglet Code

1861</h3>2123</h3>

Details

160* Confirmez que Xcode et les simulateurs iOS sont installés et que votre version de Xcode répond aux [conditions requises](#requirements).160* Confirmez que Xcode et les simulateurs iOS sont installés et que votre version de Xcode répond aux [conditions requises](#requirements).

161* Si votre organisation gère Claude Code, les [outils de simulateur peuvent être désactivés par la politique](#turn-off-simulator-access).161* Si votre organisation gère Claude Code, les [outils de simulateur peuvent être désactivés par la politique](#turn-off-simulator-access).

162* Si vous êtes dans une organisation Enterprise qui a une configuration HIPAA activée, le volet du simulateur n'est pas disponible pour vous.162* Si vous êtes dans une organisation Enterprise qui a une configuration HIPAA activée, le volet du simulateur n'est pas disponible pour vous.

163* Le volet du simulateur nécessite Claude Desktop v1.24012.0 ou version ultérieure. Ouvrez **Claude → Check for Updates**, puis redémarrez l'application.163* Le volet du simulateur nécessite Claude Desktop v1.24012.0 ou version ultérieure. Ouvrez **Claude > Check for Updates…**, puis redémarrez l'application.

164 164 

165<h3 id="the-simulator-pane-says-no-simulators-were-found">165<h3 id="the-simulator-pane-says-no-simulators-were-found">

166 Le volet du simulateur indique qu'aucun simulateur n'a été trouvé166 Le volet du simulateur indique qu'aucun simulateur n'a été trouvé


174 174 

175* [Utilisation de l'ordinateur dans Desktop](/docs/fr/desktop#let-claude-use-your-computer) : contrôle d'écran pour les applications sans volet dédié175* [Utilisation de l'ordinateur dans Desktop](/docs/fr/desktop#let-claude-use-your-computer) : contrôle d'écran pour les applications sans volet dédié

176* [Utilisation de l'ordinateur depuis la CLI](/docs/fr/computer-use) : comment la CLI accède au Simulateur iOS176* [Utilisation de l'ordinateur depuis la CLI](/docs/fr/computer-use) : comment la CLI accède au Simulateur iOS

177* [Travailler en parallèle avec les sessions](/docs/fr/desktop#work-in-parallel-with-sessions) : comment les sessions isolent les modifications177* [Exécuter une session dans son propre worktree](/docs/fr/desktop#run-a-session-in-its-own-worktree) : comment les sessions isolent les modifications

178* [Commencer avec Claude Code Desktop](/docs/fr/desktop-quickstart)178* [Commencer avec Claude Code Desktop](/docs/fr/desktop-quickstart)

Details

63 63 

64<Steps>64<Steps>

65 <Step title="Choisissez un environnement et un dossier">65 <Step title="Choisissez un environnement et un dossier">

66 Sélectionnez **Local** pour exécuter Claude sur votre machine en utilisant directement vos fichiers. Cliquez sur **Select folder** et choisissez votre répertoire de projet.66 Dans la [ligne sous la zone de prompt](/docs/fr/desktop#start-a-session), cliquez sur la première commande, le sélecteur d'environnement, puis sélectionnez la première entrée du groupe **Local**. Cliquez ensuite sur la commande de dossier de projet à côté du sélecteur d'environnement, sélectionnez **Open folder…** et choisissez le répertoire de votre projet.

67 

68 Si aucun sélecteur d'environnement n'apparaît sous votre zone de prompt, vous disposez de l'ancienne disposition. Consultez [Vérifier quelle disposition vous avez](/docs/fr/desktop#check-which-layout-you-have).

67 69 

68 <Tip>70 <Tip>

69 Commencez par un petit projet que vous connaissez bien. C'est le moyen le plus rapide de voir ce que Claude Code peut faire.71 Commencez par un petit projet que vous connaissez bien. C'est le moyen le plus rapide de voir ce que Claude Code peut faire.


72 Vous pouvez également sélectionner :74 Vous pouvez également sélectionner :

73 75 

74 * **Cloud** : Exécutez des sessions dans le cloud qui continuent même si vous fermez l'application. Consultez [Utiliser Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) pour savoir comment fonctionnent les sessions cloud.76 * **Cloud** : Exécutez des sessions dans le cloud qui continuent même si vous fermez l'application. Consultez [Utiliser Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) pour savoir comment fonctionnent les sessions cloud.

75 * **SSH** : Connectez-vous à une machine distante via SSH, comme vos propres serveurs, des machines virtuelles cloud ou des conteneurs de développement. Desktop installe Claude Code sur la machine distante automatiquement la première fois que vous vous connectez. Une tâche en cours peut [continuer pendant que Desktop est déconnecté](/docs/fr/desktop#keep-a-task-running-while-desktop-is-disconnected), mais avec un compte Claude, elle peut s'arrêter lorsque son authentification expire.77 * **SSH** : Connectez-vous à une machine distante via SSH, comme vos propres serveurs, des machines virtuelles cloud ou des conteneurs de développement. [Ajoutez d'abord une connexion](/docs/fr/desktop#ssh-sessions). Desktop installe Claude Code sur la machine distante automatiquement la première fois que vous vous connectez. Une tâche en cours peut [continuer pendant que Desktop est déconnecté](/docs/fr/desktop#keep-a-task-running-while-desktop-is-disconnected), mais avec un compte Claude, elle peut s'arrêter lorsque son authentification expire.

76 * **WSL** (Windows) : Exécutez la session à l'intérieur d'une [distribution WSL 2](/docs/fr/desktop-wsl) ; Claude Code, les outils et git s'exécutent du côté Linux avec des chemins natifs.78 * **WSL** (Windows) : Exécutez la session à l'intérieur d'une [distribution WSL 2](/docs/fr/desktop-wsl) ; Claude Code, les outils et git s'exécutent du côté Linux avec des chemins natifs.

77 </Step>79 </Step>

78 80 

79 <Step title="Choisissez un modèle">81 <Step title="Choisissez un modèle">

80 Sélectionnez un modèle dans la liste déroulante à côté du bouton d'envoi. Consultez [models](/docs/fr/model-config#available-models) pour une comparaison des modèles disponibles. Vous pouvez modifier le modèle ultérieurement à partir de la même liste déroulante.82 Sélectionnez un modèle dans le sélecteur de modèle situé vers l'extrémité droite de la ligne sous la zone de prompt. Consultez [models](/docs/fr/model-config#available-models) pour une comparaison des modèles disponibles. Vous pouvez modifier le modèle ultérieurement à partir du sélecteur de modèle.

81 </Step>83 </Step>

82 84 

83 <Step title="Dites à Claude ce qu'il faut faire">85 <Step title="Dites à Claude ce qu'il faut faire">


91 </Step>93 </Step>

92 94 

93 <Step title="Examinez et acceptez les modifications">95 <Step title="Examinez et acceptez les modifications">

94 Ce qui se passe ensuite dépend du [mode de permission](/docs/fr/desktop#choose-a-permission-mode) affiché dans le sélecteur à côté du bouton d'envoi :96 Vérifiez votre [mode de permission](/docs/fr/desktop#choose-a-permission-mode) dans la ligne sous la zone de prompt pour savoir si Claude attend votre approbation :

95 97 

96 * **Auto ou Accept edits** : Claude applique ses modifications de fichier, et un indicateur tel que `+12 -1` apparaît pour que vous puissiez les examiner dans la vue diff98 * **Auto ou Accept edits** : Claude applique ses modifications de fichier, et un indicateur tel que `+12 -1` apparaît pour que vous puissiez les examiner dans la vue diff

97 * **Manual** : Claude propose chaque modification et attend votre approbation avant de l'appliquer. Vos fichiers ne sont pas modifiés tant que vous n'acceptez pas, et si vous rejetez une modification, Claude vous demande comment vous aimeriez procéder à la place99 * **Manual** : Claude propose chaque modification et attend votre approbation avant de l'appliquer

98 100 

99 En mode Manual, vous verrez :101 En mode Manual, vous verrez :

100 102 


112 114 

113**Interrompre et rediriger.** Vous pouvez rediriger Claude à tout moment. Cliquez sur le bouton d'arrêt pour interrompre immédiatement, ou tapez une correction et appuyez sur **Entrée** pour l'envoyer sans arrêter l'action en cours. De toute façon, vous n'avez pas besoin d'attendre qu'elle se termine ou de recommencer.115**Interrompre et rediriger.** Vous pouvez rediriger Claude à tout moment. Cliquez sur le bouton d'arrêt pour interrompre immédiatement, ou tapez une correction et appuyez sur **Entrée** pour l'envoyer sans arrêter l'action en cours. De toute façon, vous n'avez pas besoin d'attendre qu'elle se termine ou de recommencer.

114 116 

115**Donner plus de contexte à Claude.** Tapez `@filename` dans la zone de saisie pour extraire un fichier spécifique dans la conversation, joignez des images et des PDF à l'aide du bouton de pièce jointe, ou glissez-déposez des fichiers directement dans l'invite. Plus Claude a de contexte, meilleurs sont les résultats. Consultez [Ajouter des fichiers et du contexte](/docs/fr/desktop#add-files-and-context-to-prompts).117**Donner plus de contexte à Claude.** Tapez `@filename` dans la zone de saisie pour extraire un fichier spécifique dans la conversation. Plus Claude a de contexte, meilleurs sont les résultats. Consultez [Ajouter des fichiers et du contexte](/docs/fr/desktop#add-files-and-context-to-prompts).

116 118 

117**Utiliser les skills pour les tâches répétables.** Tapez `/` ou cliquez sur **+** → **Slash commands** pour parcourir les [commandes intégrées](/docs/fr/commands), les [skills personnalisés](/docs/fr/skills) et les skills de plugin. Les skills sont des invites réutilisables que vous pouvez invoquer chaque fois que vous en avez besoin, comme des listes de contrôle d'examen de code ou des étapes de déploiement.119**Utiliser les skills pour les tâches répétables.** Tapez `/` ou cliquez sur **+** → **Slash commands** pour parcourir les [commandes intégrées](/docs/fr/commands), les [skills personnalisés](/docs/fr/skills) et les skills de plugin. Les skills sont des invites réutilisables que vous pouvez invoquer chaque fois que vous en avez besoin, comme des listes de contrôle d'examen de code ou des étapes de déploiement.

118 120 


125* **Accept edits** : Claude accepte automatiquement les modifications de fichiers pour une itération plus rapide.127* **Accept edits** : Claude accepte automatiquement les modifications de fichiers pour une itération plus rapide.

126* **Plan** : Claude propose une approche sans modifier aucun fichier, ce qui est utile avant une refonte majeure.128* **Plan** : Claude propose une approche sans modifier aucun fichier, ce qui est utile avant une refonte majeure.

127 129 

128**Ajouter des plugins pour plus de capacités.** Cliquez sur le bouton **+** à côté de la zone de saisie et sélectionnez **Plugins** pour parcourir et installer des [plugins](/docs/fr/desktop#install-plugins) qui ajoutent des skills, des agents, des serveurs MCP et bien plus.130**Ajouter des plugins pour plus de capacités.** Installez des [plugins](/docs/fr/desktop#install-plugins) qui ajoutent des skills, des agents, des serveurs MCP et bien plus.

129 131 

130**Organiser votre espace de travail.** Glissez les volets de chat, diff, terminal, fichier et navigateur dans la disposition que vous souhaitez. Ouvrez le terminal avec **Ctrl+\`** pour exécuter des commandes aux côtés de votre session, ou cliquez sur un chemin de fichier pour l'ouvrir dans le volet de fichier. Consultez [Organiser votre espace de travail](/docs/fr/desktop#arrange-your-workspace).132**Organiser votre espace de travail.** Glissez les volets de chat, diff, terminal, fichier et navigateur dans la disposition que vous souhaitez. Ouvrez le terminal avec **Ctrl+\`** pour exécuter des commandes aux côtés de votre session, ou cliquez sur un chemin de fichier pour l'ouvrir. Consultez [Organiser votre espace de travail](/docs/fr/desktop#arrange-your-workspace).

131 133 

132**Prévisualiser votre application.** Lorsque vous exécutez votre serveur de développement sur le bureau, votre application s'ouvre dans le volet Navigateur, qui peut également [ouvrir des sites externes](/docs/fr/desktop#browse-external-sites). Claude peut afficher l'application en cours d'exécution, tester les points de terminaison, inspecter les journaux et itérer sur ce qu'il voit. Consultez [Prévisualiser votre application](/docs/fr/desktop#preview-your-app).134**Prévisualiser votre application.** Lorsque vous exécutez votre serveur de développement sur le bureau, votre application s'ouvre dans le volet Navigateur, qui peut également [ouvrir des sites externes](/docs/fr/desktop#browse-external-sites). Claude peut afficher l'application en cours d'exécution, tester les points de terminaison, inspecter les journaux et itérer sur ce qu'il voit. Consultez [Prévisualiser votre application](/docs/fr/desktop#preview-your-app).

133 135 

134**Suivre votre demande de tirage.** Après l'ouverture d'une PR, Claude Code surveille les résultats des vérifications CI et peut corriger automatiquement les défaillances ou fusionner la PR une fois que toutes les vérifications sont réussies. Consultez [Surveiller l'état de la demande de tirage](/docs/fr/desktop#monitor-pull-request-status).136**Suivre votre pull request.** Après l'ouverture d'une PR, Claude Code surveille les résultats des vérifications CI et peut corriger automatiquement les défaillances. Consultez [Surveiller l'état de la pull request](/docs/fr/desktop#monitor-pull-request-status).

135 137 

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

137 139 

Details

33</Tip>33</Tip>

34 34 

35<Note>35<Note>

36 Par défaut, les tâches planifiées s'exécutent sur l'état actuel de votre répertoire de travail, y compris les modifications non validées. Activez le bouton bascule worktree lors de la création de la tâche pour donner à chaque exécution son propre worktree Git isolé, de la même manière que les [sessions parallèles](/docs/fr/desktop#work-in-parallel-with-sessions) fonctionnent.36 Par défaut, les tâches planifiées s'exécutent sur l'état actuel de votre répertoire de travail, y compris les modifications non validées. Activez le bouton bascule worktree lors de la création de la tâche pour donner à chaque exécution son propre [worktree Git isolé](/docs/fr/desktop#run-a-session-in-its-own-worktree).

37</Note>37</Note>

38 38 

39<h2 id="create-a-scheduled-task">39<h2 id="create-a-scheduled-task">

desktop-wsl.md +20 −6

Details

24 24 

25<Steps>25<Steps>

26 <Step title="Choisir une distribution">26 <Step title="Choisir une distribution">

27 Démarrez une nouvelle session dans l'onglet Code et ouvrez le sélecteur d'environnement. Vos distributions WSL 2 installées apparaissent dans une section **WSL**. Choisissez-en une.27 Démarrez une nouvelle session dans l'onglet Code et ouvrez le [sélecteur d'environnement](/docs/fr/desktop#start-a-session) sous la zone de prompt, ou au-dessus de celle-ci dans l'[ancienne disposition](/docs/fr/desktop#check-which-layout-you-have). Vos distributions WSL 2 installées apparaissent sous **WSL**. Choisissez-en une.

28 </Step>28 </Step>

29 29 

30 <Step title="Choisir un dossier">30 <Step title="Choisir un dossier">


32 </Step>32 </Step>

33 33 

34 <Step title="Approuver le dossier">34 <Step title="Approuver le dossier">

35 La première session dans un dossier affiche la boîte de dialogue de confiance de l'espace de travail. La confiance est accordée par distribution et par dossier ; approuver un dossier dans une distribution ne s'applique pas à une autre distribution ou au même chemin sur Windows.35 La première session dans un dossier affiche la boîte de dialogue de confiance de l'espace de travail. La confiance est accordée par distribution et par dossier. Un dossier que vous approuvez dans une distribution n'est pas approuvé dans une autre distribution ni au même chemin sur Windows.

36 </Step>36 </Step>

37</Steps>37</Steps>

38 38 

39La première session dans une distribution prend un peu plus de temps pendant que Claude se configure à l'intérieur. Vous pouvez également ouvrir un dossier `\\wsl.localhost\...` à partir du sélecteur de dossier normal, et il se réouvre à l'intérieur de cette distribution.39La première session dans une distribution prend un peu plus de temps pendant que Claude se configure à l'intérieur. Vous pouvez également ouvrir un dossier `\\wsl.localhost\...` à partir du sélecteur de dossier normal, et il se réouvre à l'intérieur de cette distribution.

40 40 

41Les dossiers que vous avez utilisés récemment apparaissent dans le sélecteur par distribution, donc se reconnecter à un projet ne prend qu'un clic.

42 

43<h2 id="what-works-in-a-wsl-session">41<h2 id="what-works-in-a-wsl-session">

44 Ce qui fonctionne dans une session WSL42 Ce qui fonctionne dans une session WSL

45</h2>43</h2>

46 44 

47Les sessions parallèles, les chats latéraux, l'examen des différences visuelles, l'état des branches et des demandes de tirage, et les worktrees fonctionnent tous, soutenus par git et la chaîne d'outils à l'intérieur de la distribution. « Ouvrir dans l'éditeur » ouvre VS Code connecté à la distribution via [Remote - WSL](https://code.visualstudio.com/docs/remote/wsl).45Les sessions parallèles, les chats latéraux, l'examen visuel des diffs, l'état des branches et des pull requests, et les worktrees fonctionnent tous, soutenus par git et la chaîne d'outils à l'intérieur de la distribution. « Ouvrir dans l'éditeur » ouvre VS Code connecté à la distribution via [Remote - WSL](https://code.visualstudio.com/docs/remote/wsl).

46 

47Si une fonctionnalité de Desktop est indisponible ou limitée dans une session WSL, vérifiez s'il s'agit de l'une des suivantes :

48 

49* **Terminal et connecteurs** : votre session peut ne pas disposer du [terminal intégré](/docs/fr/desktop#run-commands-in-the-terminal), des [connecteurs](/docs/fr/desktop#connect-external-tools), ou des deux. Consultez [Si le terminal ou les connecteurs sont indisponibles](#check-for-the-terminal-and-connectors).

50* **[Plugins](/docs/fr/desktop#install-plugins)** : non disponibles dans les sessions WSL

51* **Modification de fichiers** : vous pouvez afficher les fichiers dans le [volet des fichiers](/docs/fr/desktop#open-and-edit-files), mais vous ne pouvez pas les y modifier ; demandez donc à Claude d'effectuer les modifications

52* **Pièces jointes** : si le menu **+** affiche **Add image** au lieu de **Add files or photos**, vous ne pouvez joindre que des images. Consultez [Ajouter des fichiers et du contexte aux prompts](/docs/fr/desktop#add-files-and-context-to-prompts).

53 

54<a id="check-for-the-terminal-and-connectors" />

55 

56<h3 id="if-the-terminal-or-connectors-are-unavailable">

57 Si le terminal ou les connecteurs sont indisponibles

58</h3>

59 

60Vous ne pouvez pas activer vous-même le terminal intégré ou les connecteurs pour une session WSL :

48 61 

49Quelques fonctionnalités ne sont pas encore disponibles dans les sessions WSL : le terminal intégré, les connecteurs et les plugins, la bifurcation de session, le volet du navigateur de fichiers et les suggestions de fichiers lorsque vous tapez `@` dans le compositeur.62* **Compte Claude** : les deux fonctionnalités sont déployées séparément. Sélectionnez **Help > Check for Updates…**, et si une fonctionnalité est toujours absente après la mise à jour, vous n'avez rien à faire.

63* **[Fournisseur tiers](/docs/fr/third-party-integrations)** : les sessions WSL ne disposent ni du terminal ni des connecteurs, et la mise à jour de Desktop n'y change rien

50 64 

51<h2 id="managed-devices">65<h2 id="managed-devices">

52 Appareils gérés66 Appareils gérés

env-vars.md +7 −11

Details

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

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

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

199| `API_TIMEOUT_MS` | Délai d'expiration des requêtes API en millisecondes (par défaut : 600000, soit 10 minutes ; maximum : 2147483647). Une requête en streaming doit recevoir ses en-têtes de réponse dans ce délai. Augmentez-le lorsque les requêtes expirent sur des réseaux lents ou lors du routage via un proxy |199| `API_TIMEOUT_MS` | Temps en millisecondes dont dispose chaque tentative de requête API pour recevoir ses en-têtes de réponse (par défaut : 600000, soit 10 minutes ; maximum : 2147483647). Il ne limite pas la durée d'une réponse en streaming au-delà. Lorsque vous définissez une valeur positive, chaque tentative de [requête sans streaming](/docs/fr/errors#streaming-response-ended-before-any-complete-data-was-received) doit se terminer dans ce délai. Augmentez cette valeur lorsque des requêtes expirent sur des réseaux lents ou lors du routage via un proxy |

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

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

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


230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Supprimée dans la v2.1.283. Utilisez `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` à la place |230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Supprimée dans la v2.1.283. Utilisez `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` à la place |

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

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

233| `CLAUDE_CODE_AUTO_MODE_MODEL` | Définit le modèle utilisé pour les requêtes du classifieur que Claude Code envoie en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode). Utilisez un ID de modèle complet tel que `claude-sonnet-4-6`. Pour les cas où Claude Code l'ignore, voir [Choisir le modèle du classifieur](/docs/fr/permission-modes#choose-the-classifier-model). Nécessite Claude Code v2.1.302 ou version ultérieure |

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

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

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


241| `CLAUDE_CODE_CLIENT_CERT` | Chemin vers le fichier de certificat client pour l'authentification mTLS |242| `CLAUDE_CODE_CLIENT_CERT` | Chemin vers le fichier de certificat client pour l'authentification mTLS |

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

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

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

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

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

247| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez sur `1` pour désactiver la prise en charge de la [fenêtre de contexte de 1M](/docs/fr/model-config#extended-context). Claude Code retire les variantes de modèle `[1m]` du sélecteur de modèle et limite à une fenêtre de 200K les modèles qui s'exécutent par défaut avec la fenêtre de 1M. Voir [Désactiver le contexte 1M](/docs/fr/model-config#turn-off-1m-context). Utile pour les environnements d'entreprise soumis à des exigences de conformité. Pour son rôle dans la correction de la fenêtre d'un ID de modèle `[1m]` non reconnu, voir [Corriger la fenêtre pour un ID de modèle de passerelle ou personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |248| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez sur `1` pour désactiver la prise en charge de la [fenêtre de contexte de 1M](/docs/fr/model-config#extended-context). Claude Code retire les variantes de modèle `[1m]` du sélecteur de modèle et limite à une fenêtre de 200K les modèles qui s'exécutent par défaut avec la fenêtre de 1M. Voir [Désactiver le contexte 1M](/docs/fr/model-config#turn-off-1m-context). Utile pour les environnements d'entreprise soumis à des exigences de conformité. Pour son rôle dans la correction de la fenêtre d'un ID de modèle `[1m]` non reconnu, voir [Corriger la fenêtre pour un ID de modèle de passerelle ou personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |


304| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Contrôle si les entrées des appels d'outils sont diffusées en streaming depuis l'API au fur et à mesure que Claude les génère. Sans cela, une entrée d'outil volumineuse, comme l'écriture d'un long fichier, n'arrive qu'une fois que Claude a fini de la générer, ce qui peut donner l'impression d'un blocage. Activée par défaut sur l'API Anthropic. Sur Amazon Bedrock et Google Cloud's Agent Platform, activée par modèle lorsque le conteneur déployé la prend en charge. Définir sur `0` pour la désactiver. Définir sur `1` pour forcer l'activation lors du routage via un proxy avec `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL`. Désactivée par défaut sur Microsoft Foundry et les connexions via une [passerelle](/docs/fr/llm-gateway) |305| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Contrôle si les entrées des appels d'outils sont diffusées en streaming depuis l'API au fur et à mesure que Claude les génère. Sans cela, une entrée d'outil volumineuse, comme l'écriture d'un long fichier, n'arrive qu'une fois que Claude a fini de la générer, ce qui peut donner l'impression d'un blocage. Activée par défaut sur l'API Anthropic. Sur Amazon Bedrock et Google Cloud's Agent Platform, activée par modèle lorsque le conteneur déployé la prend en charge. Définir sur `0` pour la désactiver. Définir sur `1` pour forcer l'activation lors du routage via un proxy avec `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL`. Désactivée par défaut sur Microsoft Foundry et les connexions via une [passerelle](/docs/fr/llm-gateway) |

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

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

307| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définir sur `false` pour désactiver les suggestions de prompt, les prédictions grisées qui apparaissent dans votre zone de saisie. A priorité sur le paramètre [`promptSuggestionEnabled`](/docs/fr/settings-reference#promptsuggestionenabled), qui est celui qu'écrit l'interrupteur **Prompt suggestions** de `/config`. Claude Code [met également les suggestions en pause lorsque votre compte approche ou atteint sa limite d'utilisation](/docs/fr/interactive-mode#when-claude-code-skips-suggestions). Définir sur `true` pour les conserver jusqu'à ce que vous atteigniez la limite. Nécessite Claude Code v2.1.238 ou ultérieur. Voir [Suggestions de prompt](/docs/fr/interactive-mode#prompt-suggestions) |308| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définissez sur `false` pour désactiver les suggestions de prompts, les prédictions grisées qui apparaissent dans votre zone de saisie. A priorité sur le paramètre [`promptSuggestionEnabled`](/docs/fr/settings-reference#promptsuggestionenabled), qui est celui qu'écrit l'interrupteur **Prompt suggestions** dans `/config`. Claude Code [suspend également les suggestions lorsque votre compte est proche de sa limite d'utilisation ou l'a atteinte](/docs/fr/interactive-mode#when-claude-code-skips-suggestions). Définissez sur `true` pour que cette suspension ne s'applique pas avant que vous n'atteigniez la limite. Nécessite Claude Code v2.1.238 ou ultérieur. Consultez [Suggestions de prompts](/docs/fr/interactive-mode#prompt-suggestions) |

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

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

310| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Définir sur `1` pour obtenir les outils de suivi des tâches sur tous les modèles. Sans cela, Claude Code ne les fournit par défaut que sur les modèles listés dans [Disponibilité de l'outil Task](/docs/fr/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` sélectionne toujours les outils Task ou `TodoWrite`. Nécessite Claude Code v2.1.233 ou ultérieur |311| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Définir sur `1` pour obtenir les outils de suivi des tâches sur tous les modèles. Sans cela, Claude Code ne les fournit par défaut que sur les modèles listés dans [Disponibilité de l'outil Task](/docs/fr/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` sélectionne toujours les outils Task ou `TodoWrite`. Nécessite Claude Code v2.1.233 ou ultérieur |


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

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

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

319| `CLAUDE_CODE_FORK_SUBAGENT` | Contrôle le [mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off), qui permet à Claude de lancer lui-même des [sous-agents forkés](/docs/fr/sub-agents#fork-the-current-conversation) et qui est activé par défaut uniquement dans les sessions interactives. Définir sur `1` pour l'activer également dans `claude -p` et l'Agent SDK, ou sur `0` pour le désactiver dans tous les types de session. Vous pouvez exécuter `/subtask` que le mode fork soit activé ou non. La valeur par défaut interactive nécessite Claude Code v2.1.232 ou ultérieur ; dans les versions antérieures, définissez la variable sur `1` pour activer le mode fork |320| `CLAUDE_CODE_FORK_SUBAGENT` | Contrôle le mode fork, activé par défaut, qui permet à Claude de lancer des [forks](/docs/fr/sub-agents#fork-the-current-conversation) de lui-même. Tant que le mode fork est activé, Claude ne peut pas non plus [attendre un sous-agent](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) dans les sessions de terminal interactif, VS Code ou de bureau sur votre machine. Définir sur `0` pour désactiver le mode fork. Pour les versions, voir [Désactiver le mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off) |

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

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

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


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

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

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

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

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

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

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


599* Exécuter [`/skill-doctor`](/docs/fr/skills#find-unused-skills) ou ouvrir son rapport dans l'onglet **Stats** de `/plugin`600* Exécuter [`/skill-doctor`](/docs/fr/skills#find-unused-skills) ou ouvrir son rapport dans l'onglet **Stats** de `/plugin`

600* Synchroniser les [skills](/docs/fr/skills#where-synced-skills-load) et les [plugins](/docs/fr/plugins/loading#synced-plugins) activés pour votre compte claude.ai dans vos sessions de terminal601* Synchroniser les [skills](/docs/fr/skills#where-synced-skills-load) et les [plugins](/docs/fr/plugins/loading#synced-plugins) activés pour votre compte claude.ai dans vos sessions de terminal

601* Activer le [mod You should know](/docs/fr/interactive-mode#you-should-know-suggestions)602* Activer le [mod You should know](/docs/fr/interactive-mode#you-should-know-suggestions)

602* Voir ce qu'un [mod](/docs/fr/plugins/mods/overview#where-mods-run) affiche dans le panneau de chat de l'extension VS Code ; les hooks du mod s'exécutent quand même

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

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

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


613 Première session après une installation ou une mise à niveau613 Première session après une installation ou une mise à niveau

614</h3>614</h3>

615 615 

616Lors de votre première session après l'installation de Claude Code, ou après une mise à niveau vers une version qui ajoute une fonctionnalité, une [fonctionnalité soumise à un flag](#features-that-need-feature-flag-fetching) peut être absente. Cette session peut également démarrer dans un [mode de permission](/docs/fr/permission-modes#which-mode-a-session-starts-in) différent de celui de vos sessions ultérieures. Lorsque Claude Code récupère les flags pendant cette session, il les enregistre sur la machine, de sorte que votre session suivante sur cette machine dispose de la fonctionnalité et du mode de permission de démarrage habituel.616Lors de votre première session après l'installation de Claude Code, ou après une mise à niveau vers une version qui ajoute une fonctionnalité, une [fonctionnalité soumise à un flag](#features-that-need-feature-flag-fetching) peut être absente. Lorsque Claude Code récupère ses feature flags pendant cette session, il les enregistre sur la machine, de sorte que votre session suivante sur cette machine dispose de la fonctionnalité.

617 

618Après une nouvelle installation, dans une session non interactive telle que `claude -p`, l'Agent SDK ou l'extension VS Code, Claude Code peut récupérer les flags avant de [choisir le mode de permission de démarrage](/docs/fr/permission-modes#which-mode-a-session-starts-in), mais il ne les attend pas toujours.

619 617 

620Dans des configurations comme celles-ci, les sessions suivant la première démarrent également sans flags fraîchement récupérés :618Dans des configurations comme celles-ci, les sessions suivant la première démarrent également sans flags fraîchement récupérés :

621 619 

622* **Un environnement vierge à chaque exécution** : si chaque exécution démarre dans un conteneur CI, ou dans tout autre environnement dépourvu des flags enregistrés par une session antérieure, chaque exécution est une première session620* **Un environnement vierge à chaque exécution** : si chaque exécution démarre dans un conteneur CI, ou dans tout autre environnement dépourvu des flags enregistrés par une session antérieure, chaque exécution est une première session

623* **Un token de passerelle sans clé API** : si vous vous authentifiez avec `ANTHROPIC_AUTH_TOKEN` sans clé API, et que `ANTHROPIC_BASE_URL` pointe vers un hôte autre que celui d'Anthropic, comme une [passerelle LLM](/docs/fr/llm-gateway), Claude Code ne dispose d'aucun identifiant pour récupérer les flags621* **Un token de passerelle sans clé API** : si vous vous authentifiez avec `ANTHROPIC_AUTH_TOKEN` sans clé API, et que `ANTHROPIC_BASE_URL` pointe vers un hôte autre que celui d'Anthropic, comme une [passerelle LLM](/docs/fr/llm-gateway), Claude Code ne dispose d'aucun identifiant pour récupérer les flags

624 622 

625Pour choisir le mode de permission dans lequel démarrent les sessions de ces configurations, consultez [Démarrer dans un mode de permission différent](/docs/fr/permission-modes#start-in-a-different-mode).

626 

627<h2 id="see-also">623<h2 id="see-also">

628 Voir aussi624 Voir aussi

629</h2>625</h2>

errors.md +33 −6

Details

41| `Auto mode classifier transcript exceeded context window` | [Erreurs serveur](#auto-mode-cannot-determine-the-safety-of-an-action) |41| `Auto mode classifier transcript exceeded context window` | [Erreurs serveur](#auto-mode-cannot-determine-the-safety-of-an-action) |

42| `Agent aborted: auto mode classifier request refused by the safety safeguard` | [Erreurs serveur](#auto-mode-cannot-determine-the-safety-of-an-action) |42| `Agent aborted: auto mode classifier request refused by the safety safeguard` | [Erreurs serveur](#auto-mode-cannot-determine-the-safety-of-an-action) |

43| `The server-side auto mode classifier gave no verdict` | [Erreurs serveur](#the-server-returned-no-safety-verdict) |43| `The server-side auto mode classifier gave no verdict` | [Erreurs serveur](#the-server-returned-no-safety-verdict) |

44| `<tool> was not reviewed and did not run: the conversation is too long for auto mode's classifier` | [Erreurs serveur](#was-not-reviewed-and-did-not-run) |

44| `Auto mode is unavailable — the server returned no safety verdict for the last 10 responses` | [Erreurs serveur](#the-server-returned-no-safety-verdict) |45| `Auto mode is unavailable — the server returned no safety verdict for the last 10 responses` | [Erreurs serveur](#the-server-returned-no-safety-verdict) |

45| `Agent terminated early due to an API error` | [Erreurs serveur](#agent-terminated-early-due-to-an-api-error) |46| `Agent terminated early due to an API error` | [Erreurs serveur](#agent-terminated-early-due-to-an-api-error) |

46| `You've hit your session limit` / `You've hit your weekly limit` / `You've hit your Opus limit` / `You've hit your Sonnet limit` | [Limites d'utilisation](#youve-hit-your-session-limit) |47| `You've hit your session limit` / `You've hit your weekly limit` / `You've hit your Opus limit` / `You've hit your Sonnet limit` | [Limites d'utilisation](#youve-hit-your-session-limit) |


471| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/fr/env-vars) | non défini | Durée maximale en millisecondes pendant laquelle chaque requête API attend la fin des erreurs `429` et `529` lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini. Lorsqu'elle n'est pas définie, l'attente n'a pas de limite. Nécessite Claude Code v2.1.295 ou ultérieur. |472| [`CLAUDE_CODE_RETRY_WATCHDOG_MAX_WAIT_MS`](/docs/fr/env-vars) | non défini | Durée maximale en millisecondes pendant laquelle chaque requête API attend la fin des erreurs `429` et `529` lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini. Lorsqu'elle n'est pas définie, l'attente n'a pas de limite. Nécessite Claude Code v2.1.295 ou ultérieur. |

472| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/fr/env-vars) | 500 | Délai initial en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le, jusqu'à 32000, pour répartir les nouvelles tentatives sur une période plus longue lorsque l'API est à pleine capacité. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](/docs/fr/fast-mode#handle-rate-limits). Nécessite Claude Code v2.1.292 ou ultérieur. |473| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](/docs/fr/env-vars) | 500 | Délai initial en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le, jusqu'à 32000, pour répartir les nouvelles tentatives sur une période plus longue lorsque l'API est à pleine capacité. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](/docs/fr/fast-mode#handle-rate-limits). Nécessite Claude Code v2.1.292 ou ultérieur. |

473| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/fr/env-vars) | 32000 | Plafond en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le, jusqu'à 64000, pour que les nouvelles tentatives ultérieures continuent de s'espacer lorsque l'API est à pleine capacité. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](/docs/fr/fast-mode#handle-rate-limits). Nécessite Claude Code v2.1.296 ou ultérieur. |474| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](/docs/fr/env-vars) | 32000 | Plafond en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le, jusqu'à 64000, pour que les nouvelles tentatives ultérieures continuent de s'espacer lorsque l'API est à pleine capacité. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](/docs/fr/fast-mode#handle-rate-limits). Nécessite Claude Code v2.1.296 ou ultérieur. |

474| [`API_TIMEOUT_MS`](/docs/fr/env-vars) | 600000 | Délai d'attente par requête en millisecondes. Augmentez-le pour les réseaux lents ou les proxys. Il plafonne également la durée pendant laquelle Claude Code attend les en-têtes de réponse, décrite dans [No response from API](#no-response-from-api). |475| [`API_TIMEOUT_MS`](/docs/fr/env-vars) | 600000 | Délai en millisecondes dont dispose chaque tentative de requête pour recevoir ses en-têtes de réponse. Il ne limite pas la durée d'une réponse en streaming au-delà. Augmentez-le pour les réseaux lents ou les proxys. Pour savoir comment il plafonne le délai de premier octet, voir [No response from API](#no-response-from-api). |

475| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/fr/env-vars) | non défini | Limite du nombre de renvois d'une [requête sans streaming](#streaming-response-ended-before-any-complete-data-was-received) qui expire. Une fois la limite atteinte, la requête échoue. Une réponse de Claude dont la génération dure plus longtemps que le délai d'expiration expire de nouveau à chaque renvoi ; définissez donc un nombre faible tel que `0` pour échouer plus tôt. Chaque tentative sans streaming expire après 300 secondes dans une session locale, ou après `API_TIMEOUT_MS` lorsque vous définissez une valeur positive. Nécessite Claude Code v2.1.285 ou ultérieur. |476| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](/docs/fr/env-vars) | non défini | Limite du nombre de renvois d'une [requête sans streaming](#streaming-response-ended-before-any-complete-data-was-received) qui expire. Une fois la limite atteinte, la requête échoue. Une réponse de Claude dont la génération dure plus longtemps que le délai d'expiration expire de nouveau à chaque renvoi ; définissez donc un nombre faible tel que `0` pour échouer plus tôt. Chaque tentative sans streaming expire après 300 secondes dans une session locale, ou après `API_TIMEOUT_MS` lorsque vous définissez une valeur positive. Nécessite Claude Code v2.1.285 ou ultérieur. |

476| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/fr/env-vars) | non défini | Délai en millisecondes pour le premier octet de réponse d'une requête en streaming. Nécessite Claude Code v2.1.242 ou ultérieur. Pour savoir comment Claude Code choisit le délai lorsque ceci n'est pas défini, voir [No response from API](#no-response-from-api). |477| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](/docs/fr/env-vars) | non défini | Délai en millisecondes pour le premier octet de réponse d'une requête en streaming. Nécessite Claude Code v2.1.242 ou ultérieur. Pour savoir comment Claude Code choisit le délai lorsque ceci n'est pas défini, voir [No response from API](#no-response-from-api). |

477 478 


535Request timed out536Request timed out

536```537```

537 538 

538Cela peut se produire pendant les périodes de charge élevée ou quand le modèle génère une réponse très volumineuse. Le délai d'attente de demande par défaut est de 10 minutes.539Le délai d'expiration de requête par défaut est de 10 minutes.

539 540 

540**Que faire :**541**Que faire :**

541 542 


627<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.628<model> is temporarily unavailable, so auto mode cannot determine the safety of <tool> right now. Wait a moment and then try this action again.

628```629```

629 630 

630Dans une session interactive, une ligne estompée `Not run · auto mode's check had no usable answer` apparaît sous l'appel d'outil au lieu de ce message. Appuyez sur `Ctrl+O` pour lire le message dans la [visionneuse de transcription](/docs/fr/interactive-mode#transcript-viewer). Les refus décrits sous [Le serveur n'a retourné aucun verdict de sécurité](#the-server-returned-no-safety-verdict) affichent la même ligne. Avant v2.1.296, le message apparaissait sous l'appel sous forme d'erreur rouge.631Dans une session interactive, une ligne estompée `Not run · auto mode's check had no usable answer` apparaît sous l'appel d'outil au lieu de ce message. Appuyez sur `Ctrl+O` pour lire le message dans la [visionneuse de transcription](/docs/fr/interactive-mode#transcript-viewer). Les refus `gave no verdict` décrits sous [Le serveur n'a retourné aucun verdict de sécurité](#the-server-returned-no-safety-verdict) affichent la même ligne. Avant v2.1.296, le message apparaissait sous l'appel sous forme d'erreur rouge.

631 632 

632Quand Claude Code peut déterminer la catégorie d'échec, il nomme la catégorie entre parenthèses après `temporarily unavailable`, par exemple `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Les catégories sont `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)`, et `(connection failed)`. Si `(timed out)` ou `(connection failed)` se répète, vérifiez votre connexion ; voir [Impossible de se connecter à l'API](#unable-to-connect-to-api). Avant v2.1.229, le message ne nommait jamais une catégorie et lisait `Wait briefly and then try this action again`.633Quand Claude Code peut déterminer la catégorie d'échec, il nomme la catégorie entre parenthèses après `temporarily unavailable`, par exemple `<model> is temporarily unavailable (rate-limited), so auto mode cannot determine the safety of <tool> right now`. Les catégories sont `(rate-limited)`, `(overloaded)`, `(server error)`, `(timed out)`, et `(connection failed)`. Si `(timed out)` ou `(connection failed)` se répète, vérifiez votre connexion ; voir [Impossible de se connecter à l'API](#unable-to-connect-to-api). Avant v2.1.229, le message ne nommait jamais une catégorie et lisait `Wait briefly and then try this action again`.

633 634 


638* Réessayez après quelques secondes ; Claude voit le même message et réessaie généralement de lui-même. Un échec transitoire n'est pas lié à l'[admissibilité du mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) ; vous n'avez pas besoin de modifier les paramètres639* Réessayez après quelques secondes ; Claude voit le même message et réessaie généralement de lui-même. Un échec transitoire n'est pas lié à l'[admissibilité du mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) ; vous n'avez pas besoin de modifier les paramètres

639* Si les tentatives continuent à échouer, continuez avec les tâches en lecture seule et revenez à l'action bloquée plus tard640* Si les tentatives continuent à échouer, continuez avec les tâches en lecture seule et revenez à l'action bloquée plus tard

640* Sur Amazon Bedrock, si le message revient à chaque tentative, vérifiez que votre compte peut invoquer le modèle qu'il nomme : pour les modèles Amazon Bedrock standard, confirmez que votre [politique IAM](/docs/fr/amazon-bedrock#iam-configuration) permet de l'invoquer ; pour les ID de modèle Mantle, [contactez votre équipe de compte AWS](/docs/fr/amazon-bedrock#mantle-endpoint-errors)641* Sur Amazon Bedrock, si le message revient à chaque tentative, vérifiez que votre compte peut invoquer le modèle qu'il nomme : pour les modèles Amazon Bedrock standard, confirmez que votre [politique IAM](/docs/fr/amazon-bedrock#iam-configuration) permet de l'invoquer ; pour les ID de modèle Mantle, [contactez votre équipe de compte AWS](/docs/fr/amazon-bedrock#mantle-endpoint-errors)

642* Si le message revient à chaque tentative et nomme le modèle que vous avez défini dans [`CLAUDE_CODE_AUTO_MODE_MODEL`](/docs/fr/permission-modes#choose-the-classifier-model), vérifiez que l'API ou le fournisseur cloud sur lequel votre session s'exécute sert cet ID de modèle. Si ce n'est pas le cas, définissez la variable sur un ID de modèle qu'il sert, ou supprimez la variable pour utiliser le [modèle de classificateur par défaut](/docs/fr/permission-modes#default-classifier-model).

641 643 

642Quand une demande de classificateur échoue parce que votre jeton OAuth a expiré ou a été pivoté par une autre session, Claude Code actualise le jeton et réessaie la demande une fois, donc une expiration de jeton courante ne fait pas surface comme ce message. Avant v2.1.216, un jeton expiré ou pivoté échouait à chaque demande de classificateur, et le mode auto refusait chaque action vérifiée avec ce message jusqu'à ce que le jeton soit actualisé.644Quand une demande de classificateur échoue parce que votre jeton OAuth a expiré ou a été pivoté par une autre session, Claude Code actualise le jeton et réessaie la demande une fois, donc une expiration de jeton courante ne fait pas surface comme ce message. Avant v2.1.216, un jeton expiré ou pivoté échouait à chaque demande de classificateur, et le mode auto refusait chaque action vérifiée avec ce message jusqu'à ce que le jeton soit actualisé.

643 645 


672* Dans une session interactive, basculez vers un [mode de permission](/docs/fr/permission-modes) différent afin de pouvoir approuver l'action quand vous y êtes invité674* Dans une session interactive, basculez vers un [mode de permission](/docs/fr/permission-modes) différent afin de pouvoir approuver l'action quand vous y êtes invité

673* Commencez une nouvelle conversation sans le contenu déclencheur675* Commencez une nouvelle conversation sans le contenu déclencheur

674 676 

675Quand la conversation a grandi plus que la fenêtre de contexte du classificateur :677Quand la conversation est trop longue pour la requête du classificateur de Claude Code et que Claude Code ne peut pas [la compacter de lui-même](#was-not-reviewed-and-did-not-run) :

676 678 

677```text theme={null}679```text theme={null}

678Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)680Auto mode classifier transcript exceeded context window — falling back to manual approval (try /compact to reduce conversation size)


715 717 

716**Que faire :**718**Que faire :**

717 719 

720* Dans une session interactive, appuyez sur `Ctrl+O` pour lire le texte du refus dans la [visionneuse de transcription](/docs/fr/interactive-mode#transcript-viewer).

721* Si le refus nomme `(the conversation is too long for the check)`, exécutez `/compact` à l'invite de Claude Code pour raccourcir la conversation. Tant que la conversation n'est pas plus courte, l'envoi d'un autre message entraîne le même refus. Si vous avez désactivé la [compaction automatique](/docs/fr/settings-reference#autocompactenabled), réactivez-la afin que Claude Code compacte de lui-même la prochaine fois.

718* Envoyez un autre message pour que Claude réessaie. Le compte de réponses recommence.722* Envoyez un autre message pour que Claude réessaie. Le compte de réponses recommence.

719* Si l'arrêt se répète et que vos demandes passent par une [passerelle LLM ou un proxy](/docs/fr/llm-gateway), vérifiez s'il coupe les réponses de streaming ou les réécrit. [L'examen du classificateur côté serveur](/docs/fr/permission-modes#server-side-classifier-review) indique quel comportement de passerelle cause les refus, et le [guide de compatibilité de passerelle](/docs/fr/llm-gateway-protocol#feature-pass-through) liste ce qu'il faut transmettre inchangé.723* Si l'arrêt se répète et que vos demandes passent par une [passerelle LLM ou un proxy](/docs/fr/llm-gateway), vérifiez s'il coupe les réponses de streaming ou les réécrit. [L'examen du classificateur côté serveur](/docs/fr/permission-modes#server-side-classifier-review) indique quel comportement de passerelle cause les refus, et le [guide de compatibilité de passerelle](/docs/fr/llm-gateway-protocol#feature-pass-through) liste ce qu'il faut transmettre inchangé.

720* Définissez `CLAUDE_CODE_AUTO_MODE_SERVER=0` avant de démarrer Claude Code pour utiliser ses propres demandes de classificateur à la place. Avant v2.1.281, Claude Code ne lisait pas la variable sur une connexion directe à l'API Anthropic.724* Définissez `CLAUDE_CODE_AUTO_MODE_SERVER=0` avant de démarrer Claude Code pour utiliser ses propres demandes de classificateur à la place. Avant v2.1.281, Claude Code ne lisait pas la variable sur une connexion directe à l'API Anthropic.


722 726 

723Avant v2.1.280, Claude Code refusait chaque action d'une réponse sans verdict immédiatement et n'arrêtait jamais le tour.727Avant v2.1.280, Claude Code refusait chaque action d'une réponse sans verdict immédiatement et n'arrêtait jamais le tour.

724 728 

729Avant v2.1.302, sur une connexion directe à l'API Anthropic, Claude Code ne compactait pas une conversation devenue trop longue pour la vérification du serveur.

730 

731<h3 id="was-not-reviewed-and-did-not-run">

732 Was not reviewed and did not run

733</h3>

734 

735Un refus `was not reviewed and did not run` signifie que la conversation est trop longue pour que le classificateur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) vérifie l'action, donc l'action ne s'est pas exécutée. Claude Code retourne ce message à Claude :

736 

737```text theme={null}

738<tool> was not reviewed and did not run: the conversation is too long for auto mode's classifier. Claude Code will try to compact the conversation before the next request; if this action is still needed after that, issue it again and it will be reviewed normally.

739```

740 

741Si la compaction échoue, les actions ultérieures que le classificateur ne peut pas vérifier reçoivent l'un de deux autres messages :

742 

743* Un refus [`gave no verdict (the conversation is too long for the check)`](#the-server-returned-no-safety-verdict)

744* Le message [`Auto mode classifier transcript exceeded context window`](#auto-mode-cannot-determine-the-safety-of-an-action)

745 

746**Que faire :**

747 

748* Si la compaction annoncée par le message réussit, vous n'avez rien à faire.

749* Si vous voyez l'un de ces deux messages, exécutez `/compact` à l'invite de Claude Code pour raccourcir la conversation vous-même. Si vous avez désactivé la [compaction automatique](/docs/fr/settings-reference#autocompactenabled), réactivez-la afin que Claude Code compacte de lui-même la prochaine fois.

750 

725<h3 id="agent-terminated-early-due-to-an-api-error">751<h3 id="agent-terminated-early-due-to-an-api-error">

726 L'agent s'est arrêté prématurément en raison d'une erreur API752 L'agent s'est arrêté prématurément en raison d'une erreur API

727</h3>753</h3>


4554* Corrigez chaque entrée que l'erreur nomme par rapport aux [outils disponibles pour les sous-agents](/docs/fr/sub-agents#available-tools)4580* Corrigez chaque entrée que l'erreur nomme par rapport aux [outils disponibles pour les sous-agents](/docs/fr/sub-agents#available-tools)

4555* Supprimez les entrées pour les outils que la session n'a pas, comme les outils MCP d'un serveur qui n'est pas connecté4581* Supprimez les entrées pour les outils que la session n'a pas, comme les outils MCP d'un serveur qui n'est pas connecté

4556* Si l'entrée nomme un serveur MCP connecté, comparez l'entrée avec le nom de ce serveur tel que l'écrivent les [noms d'outils](/docs/fr/permissions#mcp) du serveur, comme `reports__v2` dans `mcp__reports__v2__get_totals`. Pour ce serveur, écrivez `mcp__reports__v2__*`, soit `mcp__` suivi du nom complet et de `__*`. Avec la forme plus courte `mcp__reports`, qui nomme un serveur appelé `reports`, le sous-agent n'obtient aucun des outils `reports__v2`4582* Si l'entrée nomme un serveur MCP connecté, comparez l'entrée avec le nom de ce serveur tel que l'écrivent les [noms d'outils](/docs/fr/permissions#mcp) du serveur, comme `reports__v2` dans `mcp__reports__v2__get_totals`. Pour ce serveur, écrivez `mcp__reports__v2__*`, soit `mcp__` suivi du nom complet et de `__*`. Avec la forme plus courte `mcp__reports`, qui nomme un serveur appelé `reports`, le sous-agent n'obtient aucun des outils `reports__v2`

4557* Pour un outil que [les sous-agents en arrière-plan abandonnent](/docs/fr/sub-agents#available-tools), comme `CronCreate`, supprimez l'entrée. Pour conserver l'outil, [désactivez le mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off) et demandez à Claude d'exécuter le sous-agent au premier plan4583* Pour un outil que [les sous-agents en arrière-plan abandonnent](/docs/fr/sub-agents#available-tools), comme `CronCreate`, supprimez l'entrée

4584* Pour plutôt conserver un outil tel que `CronCreate`, [laissez Claude attendre le sous-agent](/docs/fr/sub-agents#let-claude-wait-for-a-subagent), car un sous-agent que Claude attend s'exécute au premier plan et conserve l'outil. Si la définition contient `background: true`, supprimez d'abord ce champ, car il maintient le sous-agent en arrière-plan

4558* Supprimez le champ `tools` au lieu de lister les outils pour donner au sous-agent chaque [outil disponible pour les sous-agents](/docs/fr/sub-agents#available-tools)4585* Supprimez le champ `tools` au lieu de lister les outils pour donner au sous-agent chaque [outil disponible pour les sous-agents](/docs/fr/sub-agents#available-tools)

4559* Pour une liste `tools` qui contient uniquement `Agent`, augmentez la [limite de profondeur](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) ou donnez à l'agent au moins un autre outil : Claude Code retient `Agent` à cette limite, donc une liste avec rien d'autre dedans se résout à aucun outil4586* Pour une liste `tools` qui contient uniquement `Agent`, augmentez la [limite de profondeur](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) ou donnez à l'agent au moins un autre outil : Claude Code retient `Agent` à cette limite, donc une liste avec rien d'autre dedans se résout à aucun outil

4560 4587 


5405**Ce qu'il faut faire :**5432**Ce qu'il faut faire :**

5406 5433 

5407* Dans VS Code, suivez le lien **View output logs** affiché avec l'erreur pour voir l'échec sous-jacent5434* Dans VS Code, suivez le lien **View output logs** affiché avec l'erreur pour voir l'échec sous-jacent

5408* Dans une application Agent SDK, capturez l'erreur autour de votre boucle de messages. Les entrées sous [CLI process exit](/docs/fr/agent-sdk/troubleshooting#cli-process-exit) couvrent ce que votre code reçoit dans chaque langage SDK.5435* Dans une application Agent SDK, capturez l'erreur autour de votre boucle de messages. Les entrées sous [Sortie du processus CLI](/docs/fr/agent-sdk/troubleshooting#cli-process-exit) couvrent ce que votre code reçoit dans chaque langage SDK.

5409* Exécutez `claude` dans un terminal dans le même projet. L'échec se reproduit généralement là avec son vrai message d'erreur, que vous pouvez ensuite rechercher sur cette page.5436* Exécutez `claude` dans un terminal dans le même projet. L'échec se reproduit généralement là avec son vrai message d'erreur, que vous pouvez ensuite rechercher sur cette page.

5410* Exécutez `claude doctor` dans un terminal pour vérifier l'installation et la configuration5437* Exécutez `claude doctor` dans un terminal pour vérifier l'installation et la configuration

5411 5438 

fast-mode.md +1 −1

Details

47* Une petite icône `↯` apparaît à côté de l'invite pendant que le mode rapide est actif47* Une petite icône `↯` apparaît à côté de l'invite pendant que le mode rapide est actif

48* Exécutez `/fast` à nouveau à tout moment pour vérifier si le mode rapide est activé ou désactivé48* Exécutez `/fast` à nouveau à tout moment pour vérifier si le mode rapide est activé ou désactivé

49 49 

50Opus 5.5 est le mode rapide par défaut dans Claude Code v2.1.280 et ultérieur. Avant v2.1.280, le mode rapide utilisait par défaut Opus 5 à partir de v2.1.219, Opus 4.8 sur v2.1.154 à v2.1.218, et Opus 4.7 sur v2.1.142 à v2.1.153.50Opus 5.5 est le mode rapide par défaut dans Claude Code v2.1.280 et ultérieur. Avant v2.1.280, le mode rapide utilisait par défaut Opus 5 à partir de v2.1.219, et Opus 4.8 sur v2.1.154 à v2.1.218.

51 51 

52Quand vous désactivez le mode rapide avec `/fast` à nouveau, vous restez sur Opus. Pour basculer vers un modèle différent, utilisez `/model`.52Quand vous désactivez le mode rapide avec `/fast` à nouveau, vous restez sur Opus. Pour basculer vers un modèle différent, utilisez `/model`.

53 53 

Details

317| [Artifacts](/docs/fr/artifacts) | ✓ | ✓ | ✓ | ✓ |317| [Artifacts](/docs/fr/artifacts) | ✓ | ✓ | ✓ | ✓ |

318| [Tableau de bord Analytics et métriques de contribution](/docs/fr/analytics) | ✗ | ✗ | ✓ | ✓ |318| [Tableau de bord Analytics et métriques de contribution](/docs/fr/analytics) | ✗ | ✗ | ✓ | ✓ |

319| [API Enterprise Analytics](/docs/fr/analytics#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |319| [API Enterprise Analytics](/docs/fr/analytics#access-data-programmatically) | ✗ | ✗ | ✗ | ✓ |

320| [Server-managed settings](/docs/fr/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |320| [Paramètres gérés par le serveur](/docs/fr/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |

321| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✓ | ✓ |321| [SSO](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) | ✗ | ✗ | ✓ | ✓ |

322| SCIM | ✗ | ✗ | ✗ | ✓ |322| SCIM | ✗ | ✗ | ✗ | ✓ |

323| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |323| [Compliance API](https://platform.claude.com/docs/en/api/compliance) | ✗ | ✗ | ✗ | ✓ |

fullscreen.md +4 −4

Details

101* **Cliquez dans le champ de saisie du message** pour positionner votre curseur n'importe où dans le texte que vous tapez.101* **Cliquez dans le champ de saisie du message** pour positionner votre curseur n'importe où dans le texte que vous tapez.

102* **Cliquez sur une suggestion dans la liste de commandes `/` ou de fichiers `@`** pour l'accepter. Le survol met en évidence la ligne sous votre curseur.102* **Cliquez sur une suggestion dans la liste de commandes `/` ou de fichiers `@`** pour l'accepter. Le survol met en évidence la ligne sous votre curseur.

103* **Cliquez sur une option dans un menu de sélection** pour la choisir. Cela couvre les demandes de permission, `/model`, `/config` et autres dialogues qui affichent une liste d'options.103* **Cliquez sur une option dans un menu de sélection** pour la choisir. Cela couvre les demandes de permission, `/model`, `/config` et autres dialogues qui affichent une liste d'options.

104* **Cliquez sur une option dans un menu de sélection multiple** pour la basculer, et cliquez sur le bouton de soumission pour confirmer vos choix. Cliquer sur une ligne de texte libre, comme la ligne `Other` dans une question à choix multiples, met le focus sur son champ de saisie pour que vous puissiez taper une réponse. Nécessite Claude Code v2.1.208 ou version ultérieure.104* **Cliquez sur une option dans un menu de sélection multiple** pour la basculer, et cliquez sur le bouton de soumission pour confirmer vos choix. Cliquer sur une ligne de texte libre, comme la ligne `Other` dans une question à choix multiples, met le focus sur son champ de saisie pour que vous puissiez taper une réponse.

105* **Cliquez sur une valeur de paramètre dans le panneau `/config`** pour la modifier, et faites défiler la liste des paramètres avec la molette de la souris. Nécessite Claude Code v2.1.271 ou version ultérieure.105* **Cliquez sur une valeur de paramètre dans le panneau `/config`** pour la modifier, et faites défiler la liste des paramètres avec la molette de la souris. Nécessite Claude Code v2.1.271 ou version ultérieure.

106* **Faites défiler un menu de sélection ou de sélection multiple avec la molette de la souris** lorsqu'il a plus d'options qu'il n'en affiche à la fois, comme la liste `/model` dans une fenêtre de terminal courte. La molette fait défiler la liste tandis que le pointeur se trouve sur ses options. Nécessite Claude Code v2.1.280 ou version ultérieure.106* **Faites défiler un menu de sélection ou de sélection multiple avec la molette de la souris** lorsqu'il a plus d'options qu'il n'en affiche à la fois, comme la liste `/model` dans une fenêtre de terminal courte. La molette fait défiler la liste tandis que le pointeur se trouve sur ses options. Nécessite Claude Code v2.1.280 ou version ultérieure.

107* **Faites défiler une liste qui déborde avec sa barre de défilement.** Dans les panneaux de liste tels que `/skills`, `/mcp` et la liste Installed de `/plugin`, une barre de défilement apparaît à côté d'une liste avec plus de lignes que ce qui tient tandis que le pointeur se trouve sur elle. Cliquez sur la piste pour sauter à ce point, ou faites glisser le curseur. Nécessite Claude Code v2.1.281 ou version ultérieure.107* **Faites défiler une liste qui déborde avec sa barre de défilement.** Dans les panneaux de liste tels que `/skills`, `/mcp` et la liste Installed de `/plugin`, une barre de défilement apparaît à côté d'une liste avec plus de lignes que ce qui tient tandis que le pointeur se trouve sur elle. Cliquez sur la piste pour sauter à ce point, ou faites glisser le curseur. Nécessite Claude Code v2.1.281 ou version ultérieure.


146| `Ctrl+End` | Aller au dernier message et réactiver le suivi automatique |146| `Ctrl+End` | Aller au dernier message et réactiver le suivi automatique |

147| Molette de la souris | Faire défiler quelques lignes à la fois |147| Molette de la souris | Faire défiler quelques lignes à la fois |

148 148 

149Vous pouvez faire défiler jusqu'au début de la session même après [compaction](/docs/fr/context-window#what-survives-compaction). Claude continue de fonctionner à partir du résumé de compaction, mais Claude Code conserve tous les messages antérieurs dans le défilement en plein écran à travers les compactions répétées.149Si vous fermez une session [compactée](/docs/fr/context-window#what-survives-compaction) et que vous la [reprenez](/docs/fr/sessions#what-a-resumed-session-restores), le défilement vers le haut s'arrête à la ligne `Conversation compacted`, et vos messages antérieurs restent sur le disque dans le [fichier de transcription](/docs/fr/sessions#where-transcripts-are-stored). Pour obtenir un détail de ces messages, demandez à Claude de le rechercher dans ce fichier.

150 150 

151Sur les claviers sans touches dédiées `PgUp`, `PgDn`, `Home` ou `End`, comme les claviers MacBook, maintenez `Fn` avec les touches fléchées : `Fn+↑` envoie `PgUp`, `Fn+↓` envoie `PgDn`, `Fn+←` envoie `Home`, et `Fn+→` envoie `End`. `Ctrl+Fn+→` n'atteint pas Claude Code sur macOS, donc un clavier MacBook n'a pas de combinaison de touches fonctionnelle pour sauter vers le bas par défaut. À la place, utilisez l'une de ces options :151Sur les claviers sans touches dédiées `PgUp`, `PgDn`, `Home` ou `End`, comme les claviers MacBook, maintenez `Fn` avec les touches fléchées : `Fn+↑` envoie `PgUp`, `Fn+↓` envoie `PgDn`, `Fn+←` envoie `Home`, et `Fn+→` envoie `End`. `Ctrl+Fn+→` n'atteint pas Claude Code sur macOS, donc un clavier MacBook n'a pas de combinaison de touches fonctionnelle pour sauter vers le bas par défaut. À la place, utilisez l'une de ces options :

152 152 


162 Suivi automatique162 Suivi automatique

163</h3>163</h3>

164 164 

165Le défilement vers le haut met en pause le suivi automatique afin que la nouvelle sortie ne vous ramène pas vers le bas. Un bouton `Sauter vers le bas` flotte sur le bord inférieur de la transcription lorsque vous êtes défilé vers le haut, et affiche un décompte tel que `3 nouveaux messages` lorsqu'une nouvelle sortie arrive. Cliquez dessus, appuyez sur `Ctrl+End`, ou faites défiler vers le bas pour reprendre le suivi.165Le défilement vers le haut met en pause le suivi automatique afin que la nouvelle sortie ne vous ramène pas vers le bas. Un bouton `Jump to bottom` flotte sur le bord inférieur de la transcription lorsque vous êtes défilé vers le haut, et affiche un décompte tel que `3 new messages` lorsqu'une nouvelle sortie arrive. Cliquez dessus, appuyez sur `Ctrl+End`, ou faites défiler vers le bas pour reprendre le suivi.

166 166 

167Lorsque le suivi automatique est en pause, la vue reste également où vous l'avez défilée lorsqu'une réponse termine le streaming.167Lorsque le suivi automatique est en pause, la vue reste également où vous l'avez défilée lorsqu'une réponse termine le streaming.

168 168 


188 188 

189Une valeur de `3` correspond à la valeur par défaut dans `vim` et les applications similaires. Le paramètre accepte toute valeur positive jusqu'à 20, y compris les valeurs fractionnaires inférieures à 1 telles que `0.25` pour ralentir le défilement du trackpad et de la molette accélérés dans les terminaux qui amplifient déjà les événements de molette.189Une valeur de `3` correspond à la valeur par défaut dans `vim` et les applications similaires. Le paramètre accepte toute valeur positive jusqu'à 20, y compris les valeurs fractionnaires inférieures à 1 telles que `0.25` pour ralentir le défilement du trackpad et de la molette accélérés dans les terminaux qui amplifient déjà les événements de molette.

190 190 

191Pour ajuster la vitesse de défilement de manière interactive, exécutez `/scroll-speed`. Faites défiler pendant que le dialogue est ouvert pour sentir le changement immédiatement. Appuyez sur `←` et `→` pour ajuster la vitesse, `r` pour réinitialiser à la valeur par défaut détectée automatiquement, et `Entrée` pour enregistrer. Le dialogue augmente par nombres entiers jusqu'à 10, et sur les terminaux qui supportent un contrôle plus fin, il offre également des quarts de pas jusqu'à 0,25.191Pour ajuster la vitesse de défilement de manière interactive, exécutez `/scroll-speed`. Faites défiler pendant que le dialogue est ouvert pour sentir le changement immédiatement. Appuyez sur `←` et `→` pour ajuster la vitesse, `r` pour réinitialiser à la valeur par défaut détectée automatiquement, et `Enter` pour enregistrer. Le dialogue augmente par nombres entiers jusqu'à 10, et sur les terminaux qui supportent un contrôle plus fin, il offre également des quarts de pas jusqu'à 0,25.

192 192 

193La commande écrit la même valeur que la variable d'environnement `CLAUDE_CODE_SCROLL_SPEED` définit, persistée dans `~/.claude/settings.json`. Le maximum du dialogue est 10 : si vous définissez une valeur plus élevée via la variable d'environnement, le dialogue affiche 10, et l'enregistrement à partir du dialogue persiste 10. La commande n'est pas disponible dans le terminal IDE JetBrains.193La commande écrit la même valeur que la variable d'environnement `CLAUDE_CODE_SCROLL_SPEED` définit, persistée dans `~/.claude/settings.json`. Le maximum du dialogue est 10 : si vous définissez une valeur plus élevée via la variable d'environnement, le dialogue affiche 10, et l'enregistrement à partir du dialogue persiste 10. La commande n'est pas disponible dans le terminal IDE JetBrains.

194 194 

headless.md +5 −4

Details

138 L'entrée stdin transmise est limitée à 10 Mo. Si vous dépassez la limite, Claude Code se ferme avec une erreur claire et un statut non nul. Pour travailler avec des entrées plus volumineuses, écrivez le contenu dans un fichier et référencez le chemin du fichier dans votre prompt au lieu de le transmettre.138 L'entrée stdin transmise est limitée à 10 Mo. Si vous dépassez la limite, Claude Code se ferme avec une erreur claire et un statut non nul. Pour travailler avec des entrées plus volumineuses, écrivez le contenu dans un fichier et référencez le chemin du fichier dans votre prompt au lieu de le transmettre.

139</Note>139</Note>

140 140 

141Si Claude Code ne peut pas lire stdin, par exemple parce que le processus qui l'a démarré a déconnecté son extrémité, Claude Code imprime un avertissement sur stderr et continue avec le prompt de la ligne de commande. Avant la v2.1.211, une stdin illisible sur Windows plantait la session ou la fermait silencieusement sans sortie.141Si Claude Code ne peut pas lire stdin, par exemple parce que le processus qui l'a démarré a déconnecté son extrémité, Claude Code imprime un avertissement sur stderr et continue avec le prompt de la ligne de commande.

142 142 

143<h3 id="add-claude-to-a-build-script">143<h3 id="add-claude-to-a-build-script">

144 Ajouter Claude à un script de compilation144 Ajouter Claude à un script de compilation


213 213 

214La dernière ligne du flux est un message `result` avec le texte de réponse final, le coût et les métadonnées de session.214La dernière ligne du flux est un message `result` avec le texte de réponse final, le coût et les métadonnées de session.

215 215 

216Si votre consommateur lit le flux lentement, Claude Code attend que la sortie en file d'attente se vide avant de se fermer, en mettant à l'échelle l'attente en fonction de la quantité restante en file d'attente, plafonnée à 30 secondes. Avant la v2.1.214, l'attente de fermeture était plafonnée à environ deux secondes, ce qui pouvait couper la fin d'une grande réponse.216Si votre consommateur lit le flux lentement, Claude Code attend que la sortie en file d'attente se vide avant de se fermer, en mettant à l'échelle l'attente en fonction de la quantité restante en file d'attente, plafonnée à 30 secondes.

217 217 

218L'exemple suivant utilise [jq](https://jqlang.org/) pour filtrer les deltas de texte et afficher uniquement le texte en streaming. Le flag `-r` génère des chaînes brutes (sans guillemets) et `-j` joint sans sauts de ligne pour que les tokens se transmettent continuellement :218L'exemple suivant utilise [jq](https://jqlang.org/) pour filtrer les deltas de texte et afficher uniquement le texte en streaming. Le flag `-r` génère des chaînes brutes (sans guillemets) et `-j` joint sans sauts de ligne pour que les tokens se transmettent continuellement :

219 219 


249 249 

250Si certains de ces messages manquent dans votre flux, comparez votre version de Claude Code à ces versions minimales :250Si certains de ces messages manquent dans votre flux, comparez votre version de Claude Code à ces versions minimales :

251 251 

252* **`--forward-subagent-text` et `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`** : v2.1.211 ou ultérieur

253* **Transfert à chaque profondeur d'imbrication** : v2.1.219 ou ultérieur252* **Transfert à chaque profondeur d'imbrication** : v2.1.219 ou ultérieur

254* **Un skill dupliqué que Claude démarre avec l'outil Skill depuis la conversation principale** : v2.1.86 ou ultérieur pour ses blocs `tool_use` et `tool_result`, et v2.1.265 ou ultérieur pour son premier message `user` et ses blocs de texte et de réflexion253* **Un skill dupliqué que Claude démarre avec l'outil Skill depuis la conversation principale** : v2.1.86 ou ultérieur pour ses blocs `tool_use` et `tool_result`, et v2.1.265 ou ultérieur pour son premier message `user` et ses blocs de texte et de réflexion

255* **Messages des sous-agents qu'un skill dupliqué génère, et des skills dupliqués démarrés à l'intérieur d'un sous-agent ou d'un autre skill dupliqué** : v2.1.275 ou ultérieur254* **Messages des sous-agents qu'un skill dupliqué génère, et des skills dupliqués démarrés à l'intérieur d'un sous-agent ou d'un autre skill dupliqué** : v2.1.275 ou ultérieur


336 --allowedTools "Bash,Read,Edit"335 --allowedTools "Bash,Read,Edit"

337```336```

338 337 

339Pour définir une base de référence pour la session entière au lieu de lister les outils individuels, passez un [mode de permission](/docs/fr/permission-modes). Une exécution où rien ne définit un mode de permission prend le [mode de permission de démarrage intégré](/docs/fr/permission-modes#which-mode-a-session-starts-in), qui peut être `auto`, donc passez celui que vous souhaitez :338Les appels aux outils que vous n'avez pas listés s'exécutent s'ils n'ont pas besoin d'approbation. Dans une exécution `claude -p` en [mode Manual](/docs/fr/permission-modes#available-modes), un appel qui nécessite une approbation est refusé sauf si quelque chose l'approuve, comme un [hook `PermissionRequest`](/docs/fr/hooks#permissionrequest) ou un [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags). Avec Claude Code v2.1.302 ou ultérieur, les exécutions `claude -p` démarrent en mode Manual lorsque [rien ne définit de mode de permission](/docs/fr/permission-modes#which-mode-a-non-interactive-run-starts-in).

339 

340Pour définir une base de référence pour la session entière au lieu de lister les outils individuels, passez un [mode de permission](/docs/fr/permission-modes) avec `--permission-mode`, tel que `auto`, `dontAsk` ou `acceptEdits` :

340 341 

341* **`auto`** : passez `--permission-mode auto` pour qu'un classificateur examine la plupart des actions au lieu de vous342* **`auto`** : passez `--permission-mode auto` pour qu'un classificateur examine la plupart des actions au lieu de vous

342* **`dontAsk`** : Claude Code refuse chaque appel qui demanderait autrement, ce qui est utile pour les exécutions CI verrouillées. Les actions qui n'ont pas besoin d'approbation en mode Manual s'exécutent toujours, telles que les lectures de fichiers dans vos répertoires de travail et l'[ensemble de commandes en lecture seule](/docs/fr/permissions#read-only-commands), ainsi que les actions que vos entrées `--allowedTools` ou les règles `permissions.allow` couvrent. `AskUserQuestion`, les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools), les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) et les [lectures depuis des chemins réseau](/docs/fr/permissions#network-paths) sont refusés même lorsqu'une règle d'autorisation correspond343* **`dontAsk`** : Claude Code refuse chaque appel qui demanderait autrement, ce qui est utile pour les exécutions CI verrouillées. Les actions qui n'ont pas besoin d'approbation en mode Manual s'exécutent toujours, telles que les lectures de fichiers dans vos répertoires de travail et l'[ensemble de commandes en lecture seule](/docs/fr/permissions#read-only-commands), ainsi que les actions que vos entrées `--allowedTools` ou les règles `permissions.allow` couvrent. `AskUserQuestion`, les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools), les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) et les [lectures depuis des chemins réseau](/docs/fr/permissions#network-paths) sont refusés même lorsqu'une règle d'autorisation correspond

hooks.md +26 −32

Details

423* **[Hooks de prompt](#prompt-and-agent-hook-fields)** (`type: "prompt"`) : envoient un prompt à un modèle Claude pour une évaluation en un seul tour. Le modèle retourne sa décision en JSON. Consultez [Hooks basés sur des prompts](#prompt-based-hooks).423* **[Hooks de prompt](#prompt-and-agent-hook-fields)** (`type: "prompt"`) : envoient un prompt à un modèle Claude pour une évaluation en un seul tour. Le modèle retourne sa décision en JSON. Consultez [Hooks basés sur des prompts](#prompt-based-hooks).

424* **[Hooks d'agent](#prompt-and-agent-hook-fields)** (`type: "agent"`) : lancent un subagent qui peut utiliser des outils comme Read, Grep et Glob pour vérifier les conditions avant de retourner une décision. Les hooks d'agent sont expérimentaux et peuvent changer. Consultez [Hooks basés sur des agents](#agent-based-hooks).424* **[Hooks d'agent](#prompt-and-agent-hook-fields)** (`type: "agent"`) : lancent un subagent qui peut utiliser des outils comme Read, Grep et Glob pour vérifier les conditions avant de retourner une décision. Les hooks d'agent sont expérimentaux et peuvent changer. Consultez [Hooks basés sur des agents](#agent-based-hooks).

425 425 

426Tous les hooks correspondants s'exécutent en parallèle. Si vous définissez le même gestionnaire dans plus d'un fichier de paramètres, il s'exécute une fois. Une copie du même gestionnaire d'un plugin ou d'un skill reste séparée.426Lorsqu'un événement se déclenche, ses hooks correspondants s'exécutent en parallèle. Si plus de 12 d'entre eux sont des hooks de prompt ou d'agent, 12 de ceux-ci s'exécutent simultanément et les autres démarrent à mesure que ceux en cours d'exécution se terminent. Le [`timeout`](#common-fields) de chaque hook en attente commence à courir lorsque ce hook démarre.

427 

428Si vous définissez le même gestionnaire dans plus d'un fichier de paramètres, il s'exécute une fois. Une copie du même gestionnaire d'un plugin ou d'un skill reste séparée.

427 429 

428Les gestionnaires s'exécutent dans le répertoire courant avec l'environnement de Claude Code. Si le répertoire courant n'existe plus, par exemple un worktree ou un répertoire temporaire qu'un autre shell a supprimé en cours de session, Claude Code exécute les hooks de commande à partir du premier de ceux-ci qui existe toujours : le répertoire dans lequel la session a démarré, la racine du projet, votre répertoire personnel ou le répertoire temporaire du système. Claude Code consigne un avertissement nommant le répertoire de secours dans le [journal de débogage](#debug-hooks). Pour une session worktree que vous démarrez depuis l'application de bureau, consultez [Ce que les worktrees partagent avec le checkout principal](/docs/fr/worktrees#what-worktrees-share-with-the-main-checkout).430Les gestionnaires s'exécutent dans le répertoire courant avec l'environnement de Claude Code. Si le répertoire courant n'existe plus, par exemple un worktree ou un répertoire temporaire qu'un autre shell a supprimé en cours de session, Claude Code exécute les hooks de commande à partir du premier de ceux-ci qui existe toujours : le répertoire dans lequel la session a démarré, la racine du projet, votre répertoire personnel ou le répertoire temporaire du système. Claude Code consigne un avertissement nommant le répertoire de secours dans le [journal de débogage](#debug-hooks). Pour une session worktree que vous démarrez depuis l'application de bureau, consultez [Ce que les worktrees partagent avec le checkout principal](/docs/fr/worktrees#what-worktrees-share-with-the-main-checkout).

429 431 


445 447 

446Le champ `if` contient exactement une règle de permission. Il n'y a pas de syntaxe `&&`, `||` ou de liste pour combiner les règles ; pour appliquer plusieurs conditions, définissez un gestionnaire de hook séparé pour chacune.448Le champ `if` contient exactement une règle de permission. Il n'y a pas de syntaxe `&&`, `||` ou de liste pour combiner les règles ; pour appliquer plusieurs conditions, définissez un gestionnaire de hook séparé pour chacune.

447 449 

448Dans une condition `if` pour un outil de fichier, un modèle de répertoire à un seul segment comme `"Edit(src/**)"` correspond uniquement au répertoire `src` dans le répertoire de travail et aux fichiers sous celui-ci. Pour correspondre à un répertoire nommé `src` à n'importe quelle profondeur, écrivez `"Edit(**/src/**)"`. Avant v2.1.214, `"Edit(src/**)"` correspondait à un répertoire nommé `src` à n'importe quelle profondeur sous le répertoire de travail.450Dans une condition `if` pour un outil de fichier, un modèle de répertoire à un seul segment comme `"Edit(src/**)"` correspond uniquement au répertoire `src` dans le répertoire de travail et aux fichiers sous celui-ci. Pour correspondre à un répertoire nommé `src` à n'importe quelle profondeur, écrivez `"Edit(**/src/**)"`.

449 451 

450<h4 id="bash-if-matching">452<h4 id="bash-if-matching">

451 Comment les modèles `if` correspondent aux commandes Bash453 Comment les modèles `if` correspondent aux commandes Bash


825 Sortie du code de sortie827 Sortie du code de sortie

826</h3>828</h3>

827 829 

828Le code de sortie de votre hook indique à Claude Code s'il doit poursuivre l'action qui a déclenché le hook, comme un appel d'outil ou un prompt. Une exécution qui se termine aboutit à l'un de ces trois résultats :830Lorsque l'exécution de votre hook se termine, Claude Code utilise son code de sortie pour décider s'il doit poursuivre l'action qui l'a déclenché, comme un appel d'outil ou un prompt :

829 831 

830* **Succès** : votre hook quitte avec 0. Claude Code applique tous les champs de [sortie JSON](#json-output) que votre hook a imprimés, et l'action se poursuit sauf si ces champs la bloquent ou la refusent. [Hooks qui démarrent un processus en arrière-plan](#hooks-that-start-a-background-process) couvre l'exception.832* **Succès** : votre hook quitte avec 0. Claude Code applique tous les champs de [sortie JSON](#json-output) que votre hook a imprimés, et l'action se poursuit sauf si ces champs la bloquent ou la refusent. [Hooks qui démarrent un processus en arrière-plan](#hooks-that-start-a-background-process) couvre l'exception.

831* **Erreur bloquante** : votre hook quitte avec 2. Sur [les événements qui peuvent bloquer](#exit-code-2-behavior-per-event), Claude Code arrête l'action.833* **Erreur bloquante** : votre hook quitte avec 2. Sur [les événements qui peuvent bloquer](#exit-code-2-behavior-per-event), Claude Code arrête l'action.


853 Exit code 0855 Exit code 0

854</h4>856</h4>

855 857 

856Exit 0 signifie succès, et c'est le code de sortie prévu lorsque vous imprimez JSON pour un contrôle structuré.858Exit 0 signifie succès, et c'est le code de sortie prévu lorsque vous imprimez JSON pour un contrôle structuré. Lorsque votre hook quitte avec 0 mais imprime du JSON qui ne peut pas être analysé ou qui échoue la [validation du schéma](#json-output), l'action se poursuit sauf si le hook est l'un de ceux [dont l'échec bloque l'action](#block-the-action-when-a-hook-fails). Au lieu d'un succès avec vos champs appliqués, l'exécution est une [erreur non-bloquante](#exit-code-output).

857 

858Pour la plupart des événements, Claude Code écrit stdout dans le journal de débogage et ne l'affiche pas dans la transcription. Les exceptions sont `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` et `PostModelSwitch`, où Claude Code ajoute stdout en texte brut comme contexte que Claude peut voir et sur lequel agir.

859 859 

860Pour un hook qui n'est pas [async](#how-async-hooks-execute), Claude Code analyse votre stdout comme [sortie JSON](#json-output) lorsque la sortie entière est un seul objet JSON entouré uniquement d'espaces blancs, et sinon comme du texte brut ou un échec d'analyse :860Pour corriger votre sortie, utilisez le message d'analyse ou de validation que porte l'avis `<hook name> hook error`. Pour un hook qui n'est pas [async](#how-async-hooks-execute), votre stdout compte comme [sortie JSON](#json-output) uniquement lorsque vous imprimez un seul objet JSON, sur une ou plusieurs lignes, entouré uniquement d'espaces blancs. Claude Code lit tout autre stdout comme du texte brut ou un échec d'analyse :

861 861 

862* **Un seul objet JSON, sur une ou plusieurs lignes** : analysé comme sortie JSON.

863* **Une sortie qui ne commence pas par `{`, ou qui commence par `{` et ne se termine pas par `}`** : texte brut. Un tableau JSON et une chaîne JSON entre guillemets sont du texte brut selon cette règle.862* **Une sortie qui ne commence pas par `{`, ou qui commence par `{` et ne se termine pas par `}`** : texte brut. Un tableau JSON et une chaîne JSON entre guillemets sont du texte brut selon cette règle.

864* **Deux lignes ou plus qui s'analysent chacune comme JSON seules, la première commençant par `{` et la dernière se terminant par `}`** : texte brut lorsqu'aucune ligne n'est un objet de sortie JSON qui définit un champ, et échec d'analyse lorsque l'une d'elles l'est.863* **Deux lignes ou plus qui s'analysent chacune comme JSON seules, la première commençant par `{` et la dernière se terminant par `}`** : texte brut lorsqu'aucune ligne n'est un objet de sortie JSON qui définit un champ. Lorsque l'une d'elles l'est, la sortie est un échec d'analyse ; imprimez donc cet objet sans rien d'autre sur stdout.

865* **Tout autre contenu qui commence par `{` et se termine par `}` mais n'est pas du JSON valide** : un échec d'analyse.864* **Tout autre contenu qui commence par `{` et se termine par `}` mais n'est pas du JSON valide** : un échec d'analyse.

866 865 

867Sauf si le hook est l'un de ceux [dont l'échec bloque l'action](#block-the-action-when-a-hook-fails), un échec d'analyse ou un objet analysé qui échoue la [validation du schéma](#json-output) est une [erreur non-bloquante](#exit-code-output). L'avis `<hook name> hook error` porte le message d'analyse ou de validation. Sur les événements qui ajoutent stdout en texte brut comme contexte, Claude Code n'ajoute pas le stdout qu'il n'a pas pu analyser.866Pour la plupart des événements, Claude Code écrit stdout dans le journal de débogage et ne l'affiche pas dans la transcription. Les exceptions sont `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` et `PostModelSwitch`, où Claude Code ajoute stdout en texte brut comme contexte que Claude peut voir et sur lequel agir. Sur ces événements, Claude Code n'ajoute pas le stdout qu'il n'a pas pu analyser.

868 867 

869Claude ne voit jamais le stderr d'un hook qui quitte avec 0. Pour le lire vous-même sur des événements tels que `PreToolUse`, activez [la journalisation de débogage](#debug-hooks). Pour afficher un avertissement à Claude à partir d'un hook `PostToolUse` ou `PostToolUseFailure`, quittez 2 à la place afin que [Claude voie stderr](#exit-code-2-behavior-per-event) même si l'outil s'est déjà exécuté.868Claude ne voit jamais le stderr d'un hook qui quitte avec 0. Pour le lire vous-même sur des événements tels que `PreToolUse`, activez [la journalisation de débogage](#debug-hooks). Pour afficher un avertissement à Claude à partir d'un hook `PostToolUse` ou `PostToolUseFailure`, quittez 2 à la place afin que [Claude voie stderr](#exit-code-2-behavior-per-event) même si l'outil s'est déjà exécuté.

870 869 


907 Autres codes de sortie906 Autres codes de sortie

908</h4>907</h4>

909 908 

910Sauf si le hook est l'un de ceux [dont l'échec bloque l'action](#block-the-action-when-a-hook-fails), un code de sortie autre que 0 ou 2 avec du texte brut ou rien sur stdout est une [erreur non-bloquante](#exit-code-output). Si l'action se poursuit, vous voyez un avis `<hook name> hook error` dans la transcription avec `Failed with non-blocking status code:` et la première ligne du stderr de votre hook.909Un avis `<hook name> hook error` avec `Failed with non-blocking status code:` signifie que le code de sortie de votre hook n'était ni 0 ni 2 et que son stdout était du texte brut ou vide. Sauf si le hook est l'un de ceux [dont l'échec bloque l'action](#block-the-action-when-a-hook-fails), il s'agit d'une [erreur non-bloquante](#exit-code-output), donc votre hook n'a pas arrêté l'action. Pour capturer le stderr complet de votre hook plutôt que la première ligne affichée par l'avis, activez [la journalisation de débogage](#debug-hooks).

911 910 

912Par exemple, lorsqu'un hook `PreToolUse` sur `Bash` imprime `something broke` sur stderr et quitte avec 1, l'avis `PreToolUse:Bash hook error` porte cette ligne :911Par exemple, lorsqu'un hook `PreToolUse` sur `Bash` imprime `something broke` sur stderr et quitte avec 1, l'avis `PreToolUse:Bash hook error` porte cette ligne :

913 912 


915Failed with non-blocking status code: something broke914Failed with non-blocking status code: something broke

916```915```

917 916 

918Pour capturer le stderr complet plutôt que sa première ligne, activez [la journalisation de débogage](#debug-hooks).917Si l'avis porte le message `No such file or directory` du shell, comme dans la ligne suivante, le hook ne s'est jamais exécuté, par exemple parce que le chemin de son script n'existe pas :

919 

920Sauf si le hook est l'un de ceux [dont l'échec bloque l'action](#block-the-action-when-a-hook-fails), un hook qui ne peut pas démarrer est également une erreur non-bloquante. Sous forme shell, lorsque le chemin du script n'existe pas ou n'est pas exécutable, le shell quitte avec un code comme 127 et l'avis porte le message de l'interpréteur. Par exemple, lorsque le chemin du script n'existe pas, l'avis porte une ligne comme celle-ci :

921 918 

922```text theme={null}919```text theme={null}

923Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory920Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory

924```921```

925 922 

923Si le chemin est erroné, corrigez-le là où le hook est configuré. Sous forme shell, lorsque le chemin du script n'existe pas ou n'est pas exécutable, le shell quitte avec un code comme 127 et l'avis porte le message de l'interpréteur. Sauf si le hook est l'un de ceux [dont l'échec bloque l'action](#block-the-action-when-a-hook-fails), un hook qui ne peut pas démarrer est également une erreur non-bloquante.

924 

926Lorsque vous configurez un hook de politique, surveillez cet avis à sa première exécution, car un chemin mal orthographié dans `settings.json` signifie que le hook ne s'exécute jamais. Pour bloquer l'action lorsque le hook ne peut pas démarrer, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails).925Lorsque vous configurez un hook de politique, surveillez cet avis à sa première exécution, car un chemin mal orthographié dans `settings.json` signifie que le hook ne s'exécute jamais. Pour bloquer l'action lorsque le hook ne peut pas démarrer, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

927 926 

928<Warning>927<Warning>


933 Délais d'expiration932 Délais d'expiration

934</h4>933</h4>

935 934 

936À l'exception d'un hook de commande que vous exécutez avec [`async: true`](#run-hooks-in-the-background), Claude Code annule un hook `command`, `http` ou `mcp_tool` qui atteint son [`timeout`](#common-fields), en rejetant la sortie du hook, donc sur la plupart des événements un hook expiré ne rend aucune décision.935À l'exception d'un hook de commande que vous exécutez avec [`async: true`](#run-hooks-in-the-background), Claude Code annule un hook `command`, `http` ou `mcp_tool` qui atteint son [`timeout`](#common-fields), en rejetant la sortie du hook, donc sur la plupart des événements un hook expiré ne rend aucune décision. Sur [`PreModelSwitch`](#premodelswitch), un hook annulé à son délai d'expiration bloque le changement de modèle.

937 936 

938Sur [`PreModelSwitch`](#premodelswitch), un hook annulé à son délai d'expiration bloque le changement de modèle. Sur `PreToolUse`, les deux familles de hooks diffèrent :937Sur `PreToolUse`, un hook `command`, `http` ou `mcp_tool` expiré ne bloque pas l'appel d'outil, sauf pour les hooks [dont l'échec bloque l'action](#block-the-action-when-a-hook-fails). L'appel continue via le [flux de permission](/docs/fr/permissions) normal, donc ne comptez pas sur un hook bloqué pour agir comme un contrôle. Pour bloquer l'appel lorsqu'un hook `command` ou `http` expire, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails). Un [hook de rappel Agent SDK](/docs/fr/agent-sdk/hooks) qui dépasse son délai d'expiration [bloque l'appel d'outil](#pretooluse).

939 

940* Un hook `command`, `http` ou `mcp_tool` expiré ne bloque pas l'appel d'outil, sauf pour les hooks [dont l'échec bloque l'action](#block-the-action-when-a-hook-fails). L'appel continue via le [flux de permission](/docs/fr/permissions) normal, donc ne comptez pas sur un hook bloqué pour agir comme un contrôle. Pour bloquer l'appel lorsqu'un hook `command` ou `http` expire, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

941* Un hook de rappel [Agent SDK](/docs/fr/agent-sdk/hooks) qui dépasse son délai d'expiration [bloque l'appel d'outil](#pretooluse).

942 938 

943<h4 id="hooks-that-start-a-background-process">939<h4 id="hooks-that-start-a-background-process">

944 Hooks qui démarrent un processus en arrière-plan940 Hooks qui démarrent un processus en arrière-plan


1086 Gestion des réponses HTTP1082 Gestion des réponses HTTP

1087</h3>1083</h3>

1088 1084 

1089Les hooks HTTP utilisent les codes de statut HTTP et les corps de réponse au lieu des codes de sortie et stdout. Les résultats ci-dessous s'appliquent à la plupart des événements ; un événement avec son propre contrat d'échec dans le [tableau par événement](#exit-code-2-behavior-per-event), tel que `WorktreeCreate`, applique ce contrat à un hook HTTP échoué aussi :1085Les hooks HTTP utilisent les codes de statut HTTP et les corps de réponse au lieu des codes de sortie et stdout. Pour bloquer l'action lorsque la requête échoue ou retourne un statut non-2xx, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails). Pour bloquer un appel d'outil ou refuser une permission, retournez une réponse 2xx avec un corps JSON contenant les [champs de décision](#decision-control) appropriés.

1086 

1087Après une [erreur non-bloquante](#exit-code-output), l'action se poursuit sauf si le hook est l'un de ceux [dont l'échec bloque l'action](#block-the-action-when-a-hook-fails). Sauf sur les événements ayant leur propre contrat d'échec dans le [tableau par événement](#exit-code-2-behavior-per-event), tels que `WorktreeCreate`, vous obtenez ces résultats pour chaque réponse ou échec :

1090 1088 

1091* **2xx avec un corps vide** : succès, équivalent à exit code 0 sans sortie1089* **2xx avec un corps vide** : succès, équivalent à exit code 0 sans sortie

1092* **2xx avec un corps d'objet JSON** : analysé en utilisant le même schéma [sortie JSON](#json-output) que les hooks de commande. Un corps qui échoue la validation du schéma est une erreur non-bloquante1090* **2xx avec un corps d'objet JSON** : analysé en utilisant le même schéma [sortie JSON](#json-output) que les hooks de commande. Un corps qui échoue la validation du schéma est une erreur non-bloquante


1095* **Défaillance de connexion** : erreur non-bloquante1093* **Défaillance de connexion** : erreur non-bloquante

1096* **Délai d'expiration** : le hook est annulé, comme décrit sous [Délais d'expiration](#timeouts)1094* **Délai d'expiration** : le hook est annulé, comme décrit sous [Délais d'expiration](#timeouts)

1097 1095 

1098Après une [erreur non-bloquante](#exit-code-output), l'action se poursuit sauf si le hook est l'un de ceux [dont l'échec bloque l'action](#block-the-action-when-a-hook-fails). Pour bloquer un appel d'outil ou refuser une permission, retournez une réponse 2xx avec un corps JSON contenant les [champs de décision](#decision-control) appropriés. Pour bloquer l'action lorsque la requête échoue ou retourne un statut non-2xx, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails).

1099 

1100<h3 id="json-output">1096<h3 id="json-output">

1101 Sortie JSON1097 Sortie JSON

1102</h3>1098</h3>


1319| `compact` | Compaction automatique ou manuelle |1315| `compact` | Compaction automatique ou manuelle |

1320| `fork` | Une nouvelle session dérivée d'une session existante : `--fork-session` avec `--resume` ou `--continue`, la copie en arrière-plan de `/fork`, `/branch`, ou une conversation que vous [passez en arrière-plan](/docs/fr/agent-view#from-inside-a-session) |1316| `fork` | Une nouvelle session dérivée d'une session existante : `--fork-session` avec `--resume` ou `--continue`, la copie en arrière-plan de `/fork`, `/branch`, ou une conversation que vous [passez en arrière-plan](/docs/fr/agent-view#from-inside-a-session) |

1321 1317 

1322Avant la v2.1.214, les sessions dérivées indiquaient la source `"resume"`.

1323 

1324Lorsque vous démarrez une session interactive, reprenez une conversation au lancement avec `--continue` ou `--resume`, ou exécutez `/clear`, les hooks SessionStart s'exécutent en arrière-plan. Vous pouvez saisir du texte immédiatement, et une conversation que vous avez reprise s'affiche sans attendre les hooks. La première réponse de Claude attend toujours la fin des hooks, afin que leur contexte parvienne à Claude.1318Lorsque vous démarrez une session interactive, reprenez une conversation au lancement avec `--continue` ou `--resume`, ou exécutez `/clear`, les hooks SessionStart s'exécutent en arrière-plan. Vous pouvez saisir du texte immédiatement, et une conversation que vous avez reprise s'affiche sans attendre les hooks. La première réponse de Claude attend toujours la fin des hooks, afin que leur contexte parvienne à Claude.

1325 1319 

1326Lorsque vous changez de conversation avec `/resume` au sein d'une session, le changement attend au contraire la fin des hooks. Si vous exécutez `/clear` ou passez à une autre conversation alors que des hooks en arrière-plan sont encore en cours d'exécution, rien de ce qu'ils renvoient ne s'applique à la session.1320Lorsque vous changez de conversation avec `/resume` au sein d'une session, le changement attend au contraire la fin des hooks. Si vous exécutez `/clear` ou passez à une autre conversation alors que des hooks en arrière-plan sont encore en cours d'exécution, rien de ce qu'ils renvoient ne s'applique à la session.


1583 1577 

1584Hormis un hook de commande que vous exécutez avec [`async: true`](#run-hooks-in-the-background), un hook de commande, HTTP ou d'outil MCP `UserPromptSubmit` qui atteint son délai d'expiration est annulé et sa sortie, y compris tout `additionalContext`, est ignorée. Le prompt parvient tout de même à Claude, sans ce contexte. Pour bloquer plutôt le prompt, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails) sur un hook de commande ou HTTP. La transcription affiche un avis indiquant le nom du hook, le délai d'expiration qui s'est déclenché et le fait que la sortie a été ignorée.1578Hormis un hook de commande que vous exécutez avec [`async: true`](#run-hooks-in-the-background), un hook de commande, HTTP ou d'outil MCP `UserPromptSubmit` qui atteint son délai d'expiration est annulé et sa sortie, y compris tout `additionalContext`, est ignorée. Le prompt parvient tout de même à Claude, sans ce contexte. Pour bloquer plutôt le prompt, définissez [`onFailure: "block"`](#block-the-action-when-a-hook-fails) sur un hook de commande ou HTTP. La transcription affiche un avis indiquant le nom du hook, le délai d'expiration qui s'est déclenché et le fait que la sortie a été ignorée.

1585 1579 

1586Un [hook de callback de l'Agent SDK](/docs/fr/agent-sdk/hooks) sur `UserPromptSubmit` qui atteint son délai d'expiration bloque le prompt avec un message indiquant le hook et le délai d'expiration, car un callback à cet endroit peut servir de contrôle de politique qui ne doit pas échouer en mode ouvert. La session continue. Avant la v2.1.208, l'expiration d'un callback sur cet événement mettait fin au tour avec une erreur d'exécution.1580Un [hook de callback de l'Agent SDK](/docs/fr/agent-sdk/hooks) sur `UserPromptSubmit` qui atteint son délai d'expiration bloque le prompt avec un message indiquant le nom du hook et le délai d'expiration, car un callback à cet endroit peut faire office de contrôle de politique qui ne doit pas laisser passer en cas d'échec. La session continue.

1587 1581 

1588<h4 id="userpromptsubmit-input">1582<h4 id="userpromptsubmit-input">

1589 Entrée d'UserPromptSubmit1583 Entrée d'UserPromptSubmit


2058 2052 

2059| Champ | Type | Exemple | Description |2053| Champ | Type | Exemple | Description |

2060| :- | :- | :- | :- |2054| :- | :- | :- | :- |

2061| `status` | string | `"completed"` | `"completed"` pour les sous-agents au premier plan, `"async_launched"` pour les sous-agents en arrière-plan. Les sous-agents s'exécutent en arrière-plan par défaut : un appel Agent qui omet `run_in_background` produit donc également `"async_launched"` |2055| `status` | string | `"completed"` | `"completed"` pour les sous-agents au premier plan, `"async_launched"` pour les sous-agents en arrière-plan. Pour savoir quels sous-agents s'exécutent de chaque manière, consultez [Exécuter les sous-agents au premier plan ou en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) |

2062| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identifiant de l'exécution du sous-agent |2056| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identifiant de l'exécution du sous-agent |

2063| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Les blocs de texte finaux du sous-agent ou, pour un sous-agent dont le rapport passe par `SubagentHandback`, une brève note sur cette transmission à leur place |2057| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Les blocs de texte finaux du sous-agent ou, pour un sous-agent dont le rapport passe par `SubagentHandback`, une brève note sur cette transmission à leur place |

2064| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modèle sur lequel le sous-agent a démarré, qui peut différer du modèle demandé |2058| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modèle sur lequel le sous-agent a démarré, qui peut différer du modèle demandé |

2065| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modèles utilisés dans l'ordre, les répétitions consécutives étant fusionnées ; défini uniquement lorsque le modèle a été changé en cours d'exécution. Nécessite Claude Code v2.1.212 ou une version ultérieure |2059| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modèles utilisés dans l'ordre, les répétitions consécutives étant fusionnées ; défini uniquement lorsque le modèle a été changé en cours d'exécution |

2066| `totalTokens` | number | `12450` | Nombre de tokens de la requête API finale du sous-agent : tokens d'entrée, de sortie et de cache combinés. Il ne s'agit pas d'un total sur l'ensemble de l'exécution |2060| `totalTokens` | number | `12450` | Nombre de tokens de la requête API finale du sous-agent : tokens d'entrée, de sortie et de cache combinés. Il ne s'agit pas d'un total sur l'ensemble de l'exécution |

2067| `totalDurationMs` | number | `48211` | Durée réelle de l'exécution du sous-agent |2061| `totalDurationMs` | number | `48211` | Durée réelle de l'exécution du sous-agent |

2068| `totalToolUseCount` | number | `7` | Nombre d'appels d'outils effectués par le sous-agent |2062| `totalToolUseCount` | number | `7` | Nombre d'appels d'outils effectués par le sous-agent |


2072 2066 

2073Pour les sous-agents en arrière-plan, l'outil rend la main lorsque la tâche passe en arrière-plan ; `tool_response` ne contient donc aucun champ d'utilisation : un lancement en arrière-plan rend la main immédiatement, et une tâche au premier plan que Claude Code passe en arrière-plan en cours d'exécution rend la main lors de cette transition. Il contient `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` et `resolvedModel`.2067Pour les sous-agents en arrière-plan, l'outil rend la main lorsque la tâche passe en arrière-plan ; `tool_response` ne contient donc aucun champ d'utilisation : un lancement en arrière-plan rend la main immédiatement, et une tâche au premier plan que Claude Code passe en arrière-plan en cours d'exécution rend la main lors de cette transition. Il contient `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` et `resolvedModel`.

2074 2068 

2075Dans une réponse `completed`, `resolvedModel` indique le modèle sur lequel le sous-agent a démarré, qui peut différer de la valeur `model` de `tool_input`, par exemple lorsque `availableModels` ou un autre remplacement s'applique. Dans une réponse `async_launched`, `resolvedModel` indique le modèle utilisé au moment où l'agent est passé en arrière-plan ; un changement survenu avant le passage en arrière-plan y est donc reflété. `modelsUsed` et le comportement de `resolvedModel` au moment du passage en arrière-plan nécessitent Claude Code v2.1.212 ou une version ultérieure.2069Sur une réponse `completed`, `resolvedModel` indique le modèle sur lequel le sous-agent a démarré, qui peut différer de la valeur `model` dans `tool_input`, par exemple lorsque `availableModels` ou un autre remplacement s'applique. Sur une réponse `async_launched`, `resolvedModel` indique le modèle utilisé au moment où l'agent est passé en arrière-plan ; un changement survenu avant le passage en arrière-plan y est donc reflété.

2076 2070 

2077<a id="askuserquestion" />2071<a id="askuserquestion" />

2078 2072 


2120 2114 

2121Lorsqu'un hook renvoie `"ask"`, la demande de permission affichée à l'utilisateur comprend une étiquette indiquant l'origine du hook : `[settings]` pour un hook provenant d'un fichier de paramètres ou du frontmatter d'un agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook provenant du frontmatter d'un skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande la confirmation.2115Lorsqu'un hook renvoie `"ask"`, la demande de permission affichée à l'utilisateur comprend une étiquette indiquant l'origine du hook : `[settings]` pour un hook provenant d'un fichier de paramètres ou du frontmatter d'un agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook provenant du frontmatter d'un skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande la confirmation.

2122 2116 

2123Le `"ask"` d'un hook force également une demande de permission en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : le classifieur peut toujours refuser l'appel d'outil, mais il ne peut pas l'approuver silencieusement. Avant la v2.1.211, le classifieur pouvait approuver une commande Bash s'exécutant en dehors du [sandbox](/docs/fr/sandboxing) sans afficher la demande requise par le hook ; le classifieur appliquait néanmoins ses propres règles de sécurité à cette commande, et un `"deny"` de hook était toujours respecté.2117Le `"ask"` d'un hook force également une demande de permission en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : le classifieur peut toujours refuser l'appel d'outil, mais il ne peut pas l'approuver silencieusement.

2124 2118 

2125```json theme={null}2119```json theme={null}

2126{2120{


3696| `source` | string | Origine de la demande : `"command"` pour `/model <name>`, le paramètre Model dans `/config` ou l'activation du mode rapide ; `"picker"` pour un sélecteur de modèle ; `"sdk"` pour une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, provenant d'un hôte Agent SDK ou de Remote Control |3690| `source` | string | Origine de la demande : `"command"` pour `/model <name>`, le paramètre Model dans `/config` ou l'activation du mode rapide ; `"picker"` pour un sélecteur de modèle ; `"sdk"` pour une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, provenant d'un hôte Agent SDK ou de Remote Control |

3697| `context_tokens` | number | Tokens que la prochaine requête renvoie comme prompt : la somme des tokens d'entrée, de lecture du cache, de création du cache et de sortie de la dernière réponse de la conversation principale. `0` avant la première réponse |3691| `context_tokens` | number | Tokens que la prochaine requête renvoie comme prompt : la somme des tokens d'entrée, de lecture du cache, de création du cache et de sortie de la dernière réponse de la conversation principale. `0` avant la première réponse |

3698| `prompt_cache_warm` | boolean | Indique si le cache de prompt du modèle actuel est probablement encore chaud, ce qui signifie que le changement le fait perdre |3692| `prompt_cache_warm` | boolean | Indique si le cache de prompt du modèle actuel est probablement encore chaud, ce qui signifie que le changement le fait perdre |

3699| `cache_ttl` | string | [Durée de vie du cache de prompt](/docs/fr/prompt-caching#cache-lifetime) que Claude Code demande pour cette session : `"5m"` ou `"1h"` |3693| `cache_ttl` | string | [Durée de vie du cache de prompt](/docs/fr/prompt-caching#cache-lifetime) de la conversation principale au moment de ce changement : `"5m"` ou `"1h"` |

3700| `estimated_cache_write_usd` | number | Coût estimé en dollars américains de l'écriture de `context_tokens` dans le cache de prompt sur `to_model` au tarif `cache_ttl`, hors réponse suivante. Le serveur n'a pas forcément besoin de remettre en cache l'intégralité du contexte ; considérez donc cette valeur comme une estimation |3694| `estimated_cache_write_usd` | number | Coût estimé en dollars américains de l'écriture de `context_tokens` dans le cache de prompt sur `to_model` au tarif `cache_ttl`, hors réponse suivante. Le serveur n'a pas forcément besoin de remettre en cache l'intégralité du contexte ; considérez donc cette valeur comme une estimation |

3701| `pricing` | string | Comment Claude Code a calculé `estimated_cache_write_usd` : `"configured"` aux tarifs propres à votre organisation lorsqu'elle les a configurés, `"catalog"` au prix catalogue, ou `"default"` lorsque `to_model` n'a pas de prix connu et que Claude Code a supposé un tarif par défaut |3695| `pricing` | string | Comment Claude Code a calculé `estimated_cache_write_usd` : `"configured"` aux tarifs propres à votre organisation lorsqu'elle les a configurés, `"catalog"` au prix catalogue, ou `"default"` lorsque `to_model` n'a pas de prix connu et que Claude Code a supposé un tarif par défaut |

3702 3696 


3757 3751 

3758Un hook PreModelSwitch qui ne répond pas avant son délai d'expiration bloque le changement. Le délai d'expiration par défaut pour cet événement est de 30 secondes.3752Un hook PreModelSwitch qui ne répond pas avant son délai d'expiration bloque le changement. Le délai d'expiration par défaut pour cet événement est de 30 secondes.

3759 3753 

3760Pour savoir ce que produit un code de sortie autre que 0 ou 2, consultez [Autres codes de sortie](#other-exit-codes).3754Un code de sortie autre que 0 ou 2 sans sortie JSON valide constitue une [erreur non bloquante](#other-exit-codes) ; le changement a donc lieu, sauf pour les hooks [dont l'échec le bloque](#block-the-action-when-a-hook-fails).

3761 3755 

3762<h3 id="postmodelswitch">3756<h3 id="postmodelswitch">

3763 PostModelSwitch3757 PostModelSwitch


4275Ce qui se passe sur `ok: false` dépend de l'événement :4269Ce qui se passe sur `ok: false` dépend de l'événement :

4276 4270 

4277* `Stop` et `SubagentStop` : la raison est renvoyée à Claude comme sa prochaine instruction et le tour continue, sauf si la réponse définit également `impossible: true`, auquel cas Claude Code autorise l'arrêt et le tour se termine4271* `Stop` et `SubagentStop` : la raison est renvoyée à Claude comme sa prochaine instruction et le tour continue, sauf si la réponse définit également `impossible: true`, auquel cas Claude Code autorise l'arrêt et le tour se termine

4278* `PreToolUse` : l'appel d'outil est refusé ; par défaut le tour se termine et la raison de refus apparaît dans le chat comme une ligne d'avertissement. Définissez `continueOnBlock: true` pour renvoyer la raison à Claude comme l'erreur de l'outil afin qu'il puisse s'ajuster et continuer, équivalent à un hook de commande avec `permissionDecision: "deny"`. Avant v2.1.210, la raison de refus était renvoyée à Claude comme l'erreur de l'outil et le tour continuait4272* `PreToolUse` : l'appel d'outil est refusé ; par défaut le tour se termine et la raison de refus apparaît dans le chat comme une ligne d'avertissement. Définissez `continueOnBlock: true` pour renvoyer la raison à Claude comme l'erreur de l'outil afin qu'il puisse s'ajuster et continuer, équivalent à un hook de commande avec `permissionDecision: "deny"`

4279* `PostToolUse` : par défaut le tour se termine et la raison apparaît dans le chat comme une ligne d'avertissement. Définissez `continueOnBlock: true` pour renvoyer la raison à Claude et continuer le tour à la place4273* `PostToolUse` : par défaut le tour se termine et la raison apparaît dans le chat comme une ligne d'avertissement. Définissez `continueOnBlock: true` pour renvoyer la raison à Claude et continuer le tour à la place

4280* `PostToolBatch`, `UserPromptSubmit` et `UserPromptExpansion` : le tour se termine et la raison apparaît comme une ligne d'avertissement. Ces événements terminent le tour sur `decision: "block"` indépendamment de `continue`4274* `PostToolBatch`, `UserPromptSubmit` et `UserPromptExpansion` : le tour se termine et la raison apparaît comme une ligne d'avertissement. Ces événements terminent le tour sur `decision: "block"` indépendamment de `continue`

4281* `PostToolUseFailure` et `TaskCreated` : la raison est retournée à Claude comme une erreur d'outil et le tour continue, indépendamment de `continueOnBlock`4275* `PostToolUseFailure` et `TaskCreated` : la raison est retournée à Claude comme une erreur d'outil et le tour continue, indépendamment de `continueOnBlock`

hooks-guide.md +19 −24

Details

497 Comment fonctionnent les hooks497 Comment fonctionnent les hooks

498</h2>498</h2>

499 499 

500Claude Code déclenche des événements de hook à des points spécifiques de son cycle de vie. Lorsqu'un événement se déclenche, Claude Code exécute tous les hooks correspondants en parallèle ; consultez [Champs de gestionnaire de hook](/docs/fr/hooks#hook-handler-fields) pour savoir comment les gestionnaires en doublon sont traités. Le tableau ci-dessous montre chaque événement et quand il se déclenche :500Claude Code déclenche des événements de hook à des points spécifiques de son cycle de vie. Lorsqu'un événement se déclenche, Claude Code exécute les hooks correspondants en parallèle ; consultez [Champs de gestionnaire de hook](/docs/fr/hooks#hook-handler-fields) pour savoir comment les gestionnaires en doublon sont traités. Le tableau ci-dessous montre chaque événement et quand il se déclenche :

501 501 

502| Événement | Quand il se déclenche |502| Événement | Quand il se déclenche |

503| :- | :- |503| :- | :- |


627exit 0 # exit 0 = no decision; the normal permission flow applies627exit 0 # exit 0 = no decision; the normal permission flow applies

628```628```

629 629 

630Le code de sortie détermine ce qui se passe ensuite :630Avec un code de sortie autre que 0 et 2 et sans sortie JSON valide, l'action se poursuit pour la plupart des événements, sauf si le hook fait partie de ceux [dont l'échec bloque l'action](/docs/fr/hooks#block-the-action-when-a-hook-fails). Un hook dont `onFailure` est défini sur `"block"` en est un exemple. Quittez avec le code 0 pour ne signaler aucune objection, ou avec le code 2 pour bloquer l'action :

631 631 

632* **Exit 0** : votre hook ne signale aucune objection via son code de sortie.632* **Exit 0** : si vous quittez avec le code 0 depuis un hook `PreToolUse`, l'appel d'outil passe toujours par le [flux de permission](/docs/fr/permissions) normal, car exit 0 ne l'approuve pas. Pour les hooks `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` et `PostModelSwitch`, Claude Code ajoute stdout qu'il [traite comme du texte brut](/docs/fr/hooks#exit-code-0) au contexte de Claude.

633 * Pour un hook `PreToolUse`, cela n'approuve pas l'appel d'outil : le [flux de permission](/docs/fr/permissions) normal s'applique toujours.633* **Exit 2** : écrivez une raison sur stderr. Selon l'événement, Claude la reçoit comme retour afin de pouvoir s'ajuster, l'utilisateur la voit, ou aucun message n'apparaît, comme avec `ConfigChange` et `Elicitation`. Certains événements ne peuvent pas être bloqués : pour `SessionStart` et autres, exit 2 affiche stderr à l'utilisateur et l'exécution continue. Consultez [comportement du code de sortie 2 par événement](/docs/fr/hooks#exit-code-2-behavior-per-event) pour la liste complète.

634 * Pour les hooks `UserPromptSubmit`, `UserPromptExpansion`, `SessionStart` et `PostModelSwitch`, Claude Code ajoute stdout qu'il [traite comme du texte brut](/docs/fr/hooks#exit-code-0) au contexte de Claude.634* **Tout autre code de sortie** : pour les exceptions par événement, comme `WorktreeCreate` échouant sur tout code de sortie non nul, consultez [Sortie du code de sortie](/docs/fr/hooks#exit-code-output). Pour les autres événements, sauf si le hook fait partie de ceux dont l'échec bloque l'action, identifiez votre cas selon ce que votre hook a imprimé sur stdout :

635* **Exit 2** : Claude Code bloque l'action. Écrivez une raison sur stderr. Où elle aboutit dépend de l'événement : certains événements la transmettent à Claude comme retour afin qu'il puisse s'ajuster, d'autres la montrent à l'utilisateur, et quelques-uns, comme `ConfigChange` et `Elicitation`, ne font surface à aucun message. Certains événements ne peuvent pas être bloqués : pour `SessionStart` et autres, exit 2 affiche stderr à l'utilisateur et l'exécution continue. Consultez [comportement du code de sortie 2 par événement](/docs/fr/hooks#exit-code-2-behavior-per-event) pour la liste complète.635 * Un objet analysé qui passe la validation du schéma : Claude Code ignore le code de sortie, le JSON seul décide du résultat, et le hook n'est pas signalé comme une erreur.

636* **Tout autre code de sortie** : pour la plupart des événements, l'action se poursuit comme une [erreur non bloquante](/docs/fr/hooks#exit-code-output), sauf si le hook fait partie de ceux [dont l'échec bloque l'action](/docs/fr/hooks#block-the-action-when-a-hook-fails) ou si sa sortie JSON passe la validation :636 * Un objet analysé qui échoue la validation du schéma, ou stdout que Claude Code [essaie d'analyser comme JSON](/docs/fr/hooks#exit-code-0) mais qui n'est pas du JSON valide : l'action se poursuit comme une erreur non bloquante. Consultez l'avis `<hook name> hook error` pour le message de validation ou d'analyse.

637 * Un objet analysé qui passe la validation du schéma : Claude Code ignore le code de sortie, le JSON seul décide du résultat, et le hook n'est pas signalé comme une erreur. Les exceptions par événement, comme `WorktreeCreate` échouant sur tout code de sortie non nul, sont listées dans la section [Sortie du code de sortie](/docs/fr/hooks#exit-code-output) de la référence.

638 * Un objet analysé qui échoue la validation du schéma, ou stdout que Claude Code [essaie d'analyser comme JSON](/docs/fr/hooks#exit-code-0) mais qui n'est pas du JSON valide : une erreur non bloquante ; l'avis porte le message de validation ou d'analyse.

639 * Stdout que Claude Code [traite comme du texte brut](/docs/fr/hooks#exit-code-0), ou stdout vide : l'action se poursuit comme une erreur non bloquante. La transcription affiche un avis `<hook name> hook error`, puis la première ligne de stderr préfixée par `Failed with non-blocking status code:`. Pour capturer le stderr complet, activez [le journal de débogage](/docs/fr/hooks#debug-hooks) avec `claude --debug` ou en exécutant `/debug` en milieu de session.637 * Stdout que Claude Code [traite comme du texte brut](/docs/fr/hooks#exit-code-0), ou stdout vide : l'action se poursuit comme une erreur non bloquante. La transcription affiche un avis `<hook name> hook error`, puis la première ligne de stderr préfixée par `Failed with non-blocking status code:`. Pour capturer le stderr complet, activez [le journal de débogage](/docs/fr/hooks#debug-hooks) avec `claude --debug` ou en exécutant `/debug` en milieu de session.

640 638 

641<h4 id="structured-json-output">639<h4 id="structured-json-output">


662 660 

663Avec `"deny"`, Claude Code annule l'appel d'outil et transmet `permissionDecisionReason` à Claude.661Avec `"deny"`, Claude Code annule l'appel d'outil et transmet `permissionDecisionReason` à Claude.

664 662 

665Sur `PreToolUse`, Claude Code gère chaque valeur `permissionDecision` comme suit :663Sur `PreToolUse`, vous pouvez également retourner `"ask"` pour afficher à l'utilisateur la demande de permission normale, ou `"allow"` pour ignorer la demande de permission interactive. Avec `"allow"`, les règles de refus et d'ask, y compris les listes de refus gérées par l'entreprise, s'appliquent toujours, tout comme les demandes pour :

666 664 

667* `"allow"` : ignorer la demande de permission interactive. Les règles de refus et d'ask, y compris les listes de refus gérées par l'entreprise, s'appliquent toujours, tout comme les demandes pour :665* Les lectures depuis des [chemins réseau](/docs/fr/permissions#network-paths)

668 666* Les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool)

669 * Les lectures depuis des [chemins réseau](/docs/fr/permissions#network-paths)667* Les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code

670 * Les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool)

671 * Les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code

672 668 

673 Pour ce que fait `"allow"` en mode plan, consultez [Approbations des hooks en mode plan](/docs/fr/permissions#hook-approvals-in-plan-mode).669 Pour ce que fait `"allow"` en mode plan, consultez [Approbations des hooks en mode plan](/docs/fr/permissions#hook-approvals-in-plan-mode).

674* `"deny"` : annuler l'appel d'outil et envoyer la raison à Claude

675* `"ask"` : afficher l'invite de permission à l'utilisateur comme d'habitude

676 670 

677Une quatrième valeur, `"defer"`, est disponible en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Elle quitte le processus avec l'appel d'outil préservé afin qu'un wrapper SDK Agent puisse collecter l'entrée et reprendre. Consultez [Différer un appel d'outil pour plus tard](/docs/fr/hooks#defer-a-tool-call-for-later) dans la référence.671Une quatrième valeur, `"defer"`, est disponible en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Elle quitte le processus avec l'appel d'outil préservé afin qu'un wrapper SDK Agent puisse collecter l'entrée et reprendre. Consultez [Différer un appel d'outil pour plus tard](/docs/fr/hooks#defer-a-tool-call-for-later) dans la référence.

678 672 


893* `"ok": true` : l'action se poursuit887* `"ok": true` : l'action se poursuit

894* `"ok": false` : ce qui se passe dépend de l'événement :888* `"ok": false` : ce qui se passe dépend de l'événement :

895 * `Stop` et `SubagentStop` : la `reason` est renvoyée à Claude afin qu'il continue à travailler, sauf si la réponse définit également `"impossible": true` pour marquer la condition comme une condition qui ne peut jamais être satisfaite, auquel cas Claude Code autorise l'arrêt et le tour se termine889 * `Stop` et `SubagentStop` : la `reason` est renvoyée à Claude afin qu'il continue à travailler, sauf si la réponse définit également `"impossible": true` pour marquer la condition comme une condition qui ne peut jamais être satisfaite, auquel cas Claude Code autorise l'arrêt et le tour se termine

896 * `PreToolUse` : l'appel d'outil est refusé ; par défaut le tour se termine et la `reason` du refus apparaît dans le chat sous forme de ligne d'avertissement. Définissez `continueOnBlock: true` sur le hook pour retourner à la place la `reason` à Claude comme erreur d'outil, afin qu'il puisse s'ajuster et continuer. Avant v2.1.210, la `reason` du refus était retournée à Claude comme erreur d'outil et le tour continuait890 * `PreToolUse` : l'appel d'outil est refusé ; par défaut le tour se termine et la `reason` du refus apparaît dans le chat sous forme de ligne d'avertissement. Définissez `continueOnBlock: true` sur le hook pour retourner à la place la `reason` à Claude comme erreur d'outil, afin qu'il puisse s'ajuster et continuer

897 * `PostToolUse` : par défaut le tour se termine et la `reason` apparaît dans le chat sous forme de ligne d'avertissement. Définissez `continueOnBlock: true` pour retourner la `reason` à Claude et continuer le tour à la place891 * `PostToolUse` : par défaut le tour se termine et la `reason` apparaît dans le chat sous forme de ligne d'avertissement. Définissez `continueOnBlock: true` pour retourner la `reason` à Claude et continuer le tour à la place

898 * `PostToolBatch`, `UserPromptSubmit` et `UserPromptExpansion` : le tour se termine et la `reason` apparaît dans le chat sous forme de ligne d'avertissement892 * `PostToolBatch`, `UserPromptSubmit` et `UserPromptExpansion` : le tour se termine et la `reason` apparaît dans le chat sous forme de ligne d'avertissement

899 893 


1019 Hooks et modes de permission1013 Hooks et modes de permission

1020</h3>1014</h3>

1021 1015 

1022Les hooks `PreToolUse` se déclenchent avant toute vérification du mode de permission, dans tous les [modes de permission](/docs/fr/permission-modes), y compris `dontAsk`. Un hook qui retourne `permissionDecision: "deny"` bloque l'outil même en mode `bypassPermissions` ou avec `--dangerously-skip-permissions`. Cela vous permet d'appliquer une politique que les utilisateurs ne peuvent pas contourner en changeant leur mode de permission.1016Avec un hook dans un fichier de paramètres ou dans le `hooks/hooks.json` d'un plugin, vous ne pouvez pas assouplir les restrictions au-delà de ce que les règles de permission permettent, et le `"deny"` d'un hook s'applique dans tous les modes de permission :

1023 

1024L'inverse n'est pas vrai : les hooks dans les fichiers de paramètres et dans le `hooks/hooks.json` d'un plugin peuvent renforcer les restrictions mais pas les assouplir au-delà de ce que les règles de permission permettent. Un hook retournant `"allow"` ne contourne pas les règles de refus des paramètres, et il ne peut pas supprimer la demande de permission pour :

1025 1017 

1026* Les lectures depuis des [chemins réseau](/docs/fr/permissions#network-paths)1018* **Ce qui prévaut toujours sur `"allow"`** : un hook retournant `"allow"` ne contourne pas les règles de refus des paramètres, et il ne peut pas supprimer la demande de permission pour :

1027* Les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool)1019 * Les lectures depuis des [chemins réseau](/docs/fr/permissions#network-paths)

1028* Les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code1020 * Les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool)

1021 * Les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code

1029 1022 

1030En [mode plan](/docs/fr/permissions#hook-approvals-in-plan-mode), si votre hook `PreToolUse` retourne `"allow"` pour une modification de fichier, vous obtenez la même demande de permission, le même blocage ou la même approbation que la modification obtiendrait sans hook. Pour lever cette limite sur les approbations des hooks, [approuvez le plan](/docs/fr/permission-modes#review-and-approve-a-plan) ou passez à un autre mode de permission.1023En [mode plan](/docs/fr/permissions#hook-approvals-in-plan-mode), si votre hook `PreToolUse` retourne `"allow"` pour une modification de fichier, vous obtenez la même demande de permission, le même blocage ou la même approbation que la modification obtiendrait sans hook. Pour lever cette limite sur les approbations des hooks, [approuvez le plan](/docs/fr/permission-modes#review-and-approve-a-plan) ou passez à un autre mode de permission.

1031 1024 

1025* **`"deny"` dans tous les modes de permission** : un hook qui retourne `permissionDecision: "deny"` bloque l'outil même en mode `bypassPermissions` ou avec `--dangerously-skip-permissions`. Les hooks `PreToolUse` se déclenchent avant toute vérification du mode de permission, dans tous les [modes de permission](/docs/fr/permission-modes), y compris `dontAsk`. Cela vous permet d'appliquer une politique que les utilisateurs ne peuvent pas contourner en changeant leur mode de permission.

1026 

1032Un [mod](/docs/fr/plugins/mods/overview) que vous installez et qui gère `tool.check` peut approuver un appel que votre hook `PreToolUse` a bloqué, sauf si le hook se trouve dans les paramètres gérés. En mode plan, le mod peut approuver un tel appel lorsqu'il est en lecture seule, mais pas une modification de fichier ni un autre appel qui n'est pas en lecture seule. [Étendre les permissions avec les hooks](/docs/fr/permissions#extend-permissions-with-hooks) énumère les règles qui prévalent sur un mod.1027Un [mod](/docs/fr/plugins/mods/overview) que vous installez et qui gère `tool.check` peut approuver un appel que votre hook `PreToolUse` a bloqué, sauf si le hook se trouve dans les paramètres gérés. En mode plan, le mod peut approuver un tel appel lorsqu'il est en lecture seule, mais pas une modification de fichier ni un autre appel qui n'est pas en lecture seule. [Étendre les permissions avec les hooks](/docs/fr/permissions#extend-permissions-with-hooks) énumère les règles qui prévalent sur un mod.

1033 1028 

1034<h3 id="hook-not-firing">1029<h3 id="hook-not-firing">

Details

183 Remapper les séquences de touches en mode INSERT183 Remapper les séquences de touches en mode INSERT

184</h3>184</h3>

185 185 

186Le paramètre [`vimInsertModeRemaps`](/docs/fr/settings-reference#viminsertmoderemaps) mappe une séquence de deux touches en mode INSERT à Échap, donc un mappage comme `jj` vous ramène en mode NORMAL. Nécessite Claude Code v2.1.208 ou ultérieur.186Le paramètre [`vimInsertModeRemaps`](/docs/fr/settings-reference#viminsertmoderemaps) mappe une séquence de deux touches en mode INSERT à Échap, donc un mappage comme `jj` vous ramène en mode NORMAL.

187 187 

188L'exemple `~/.claude/settings.json` suivant active le mode vim et mappe `jj` à Échap :188L'exemple `~/.claude/settings.json` suivant active le mode vim et mappe `jj` à Échap :

189 189 


248| `cc` | Changer la ligne |248| `cc` | Changer la ligne |

249| `C` | Changer jusqu'à la fin de la ligne |249| `C` | Changer jusqu'à la fin de la ligne |

250| `cw`/`ce`/`cb` | Changer le mot/jusqu'à la fin/en arrière |250| `cw`/`ce`/`cb` | Changer le mot/jusqu'à la fin/en arrière |

251| `s` | Remplacer le caractère : supprimer le caractère sous le curseur et entrer en mode INSERT. Nécessite Claude Code v2.1.211 ou ultérieur |251| `s` | Remplacer le caractère : supprimer le caractère sous le curseur et entrer en mode INSERT |

252| `S` | Remplacer la ligne : effacer la ligne et entrer en mode INSERT. Nécessite Claude Code v2.1.211 ou ultérieur |252| `S` | Remplacer la ligne : effacer la ligne et entrer en mode INSERT |

253| `yy`/`Y` | Copier la ligne |253| `yy`/`Y` | Copier la ligne |

254| `yw`/`ye`/`yb` | Copier le mot/jusqu'à la fin/en arrière |254| `yw`/`ye`/`yb` | Copier le mot/jusqu'à la fin/en arrière |

255| `p` | Coller après le curseur |255| `p` | Coller après le curseur |


471* Après le premier tour d'une conversation, dans certaines sessions471* Après le premier tour d'une conversation, dans certaines sessions

472* La réponse précédente s'est terminée par une erreur472* La réponse précédente s'est terminée par une erreur

473* Pendant que vous êtes en plan mode473* Pendant que vous êtes en plan mode

474* Votre compte est proche ou à sa limite d'utilisation. Pour maintenir les suggestions activées jusqu'à ce que vous atteigniez la limite, définissez [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/fr/env-vars) sur `true`. Avant la v2.1.238, Claude Code les ignorait près de la limite même avec la variable définie sur `true`474* Votre compte est proche ou à sa limite d'utilisation. Pour que cette exclusion ne s'applique pas avant que vous atteigniez la limite, définissez [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/fr/env-vars) sur `true`. Avant la v2.1.238, Claude Code ignorait les suggestions près de la limite même avec la variable définie sur `true`

475* Dans une [équipe d'agents](/docs/fr/agent-teams), dans les sessions des coéquipiers par défaut. La session du responsable affiche les suggestions475* Dans une [équipe d'agents](/docs/fr/agent-teams), dans les sessions des coéquipiers par défaut. La session du responsable affiche les suggestions

476 476 

477Le message `Showing fewer prompt suggestions · use one to bring them back` signifie que Claude Code affiche les suggestions moins souvent parce que vous en avez laissé beaucoup d'affilée sans les utiliser. Pour revenir à la fréquence habituelle, utilisez une suggestion ou définissez [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/fr/env-vars) sur `true`.477Le message `Showing fewer prompt suggestions · use one to bring them back` signifie que Claude Code affiche les suggestions moins souvent parce que vous en avez laissé beaucoup d'affilée sans les utiliser. Pour revenir à la fréquence habituelle, utilisez une suggestion ou définissez [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](/docs/fr/env-vars) sur `true`.


759 759 

760Vos cinq questions annexes antérieures les plus récentes apparaissent sous forme de liste estompée au-dessus de la réponse actuelle, avec un décompte de celles plus anciennes. Elles restent en dehors de l'historique de la conversation.760Vos cinq questions annexes antérieures les plus récentes apparaissent sous forme de liste estompée au-dessus de la réponse actuelle, avec un décompte de celles plus anciennes. Elles restent en dehors de l'historique de la conversation.

761 761 

762Pour revenir à la superposition après l'avoir fermée, exécutez `/btw` sans question. La superposition se rouvre sur votre échange le plus récent. Avant la version 2.1.212, `/btw` sans question affichait un message d'utilisation à la place.762Pour revenir à la superposition après l'avoir fermée, exécutez `/btw` sans question. La superposition se rouvre sur votre échange le plus récent.

763 763 

764Une fois que la réponse apparaît, la superposition accepte ces touches.764Une fois que la réponse apparaît, la superposition accepte ces touches.

765 765 

keybindings.md +3 −4

Details

462| `abovePrompt:highlightNext` | Bas | Mettre en évidence l'option suivante dans une liste de sélection ayant le focus |462| `abovePrompt:highlightNext` | Bas | Mettre en évidence l'option suivante dans une liste de sélection ayant le focus |

463| `abovePrompt:highlightPrevious` | Haut | Mettre en évidence l'option précédente dans une liste de sélection ayant le focus |463| `abovePrompt:highlightPrevious` | Haut | Mettre en évidence l'option précédente dans une liste de sélection ayant le focus |

464 464 

465Deux contextes lient des touches supplémentaires à ces actions par défaut :465Dans le [contexte `AbovePrompt`](#contexts), Droite et Gauche exécutent également `abovePrompt:next` et `abovePrompt:previous` par défaut, et Espace exécute également `abovePrompt:press`.

466 

467* **`AbovePrompt`** : Droite et Gauche exécutent également `abovePrompt:next` et `abovePrompt:previous`, et Espace exécute également `abovePrompt:press`

468* **`AbovePromptInput`** : Bas et Haut exécutent également `abovePrompt:next` et `abovePrompt:previous`

469 466 

470Le contexte `AbovePrompt` lie également Haut, Bas, PageUp, PageDown, Accueil et Fin aux [actions de défilement du volet](#pane-actions) `pane:scrollUp` à `pane:bottom` ; pour changer l'une de ces touches pour la bande, liez donc l'action de défilement dans un bloc `AbovePrompt`.467Le contexte `AbovePrompt` lie également Haut, Bas, PageUp, PageDown, Accueil et Fin aux [actions de défilement du volet](#pane-actions) `pane:scrollUp` à `pane:bottom` ; pour changer l'une de ces touches pour la bande, liez donc l'action de défilement dans un bloc `AbovePrompt`.

471 468 


769* En mode NORMAL vim, `?` affiche le menu d'aide (comportement vim)766* En mode NORMAL vim, `?` affiche le menu d'aide (comportement vim)

770* En mode NORMAL vim, `/` ouvre la recherche dans l'historique, identique à Ctrl+R en mode standard767* En mode NORMAL vim, `/` ouvre la recherche dans l'historique, identique à Ctrl+R en mode standard

771 768 

769Dans la ligne `Other` d'une question posée par Claude, la touche Échappement n'annule pas immédiatement la question en mode vim. Sauf en [mode lecteur d'écran](/docs/fr/accessibility), la ligne démarre en mode INSERT chaque fois que vous lui donnez le focus. Lorsque vous appuyez sur Échappement dans la ligne `Other`, la ligne bascule en mode NORMAL ou abandonne une commande vim partiellement saisie, et la question reste ouverte. Appuyez à nouveau sur Échappement en mode NORMAL pour annuler la question.

770 

772<h2 id="validation">771<h2 id="validation">

773 Validation772 Validation

774</h2>773</h2>

mcp.md +15 −13

Details

324* Pour un serveur dans la [portée](#mcp-installation-scopes) locale, projet ou utilisateur, ou dans la configuration MCP gérée, l'origine affiche l'hôte tel qu'écrit dans cette configuration, donc une référence `${VAR}` dans l'hôte n'est pas développée dans le message.324* Pour un serveur dans la [portée](#mcp-installation-scopes) locale, projet ou utilisateur, ou dans la configuration MCP gérée, l'origine affiche l'hôte tel qu'écrit dans cette configuration, donc une référence `${VAR}` dans l'hôte n'est pas développée dans le message.

325* Pour un échec sans code de statut ou d'erreur, Claude Code affiche le texte d'erreur sans l'origine.325* Pour un échec sans code de statut ou d'erreur, Claude Code affiche le texte d'erreur sans l'origine.

326 326 

327Un serveur distant dont la configuration a une `url` vide s'affiche comme `not configured` dans `/mcp`, dans `claude mcp list`, et dans le gestionnaire [`/plugin`](/docs/fr/plugins/install), et Claude Code ne tente pas de s'y connecter. Un plugin peut inclure une entrée d'espace réservé comme celle-ci pour un connecteur que vous configurez plus tard, afin que Claude Code ne le signale pas comme une erreur ou un problème de configuration. La vue détaillée du serveur dans `/mcp` indique `No URL configured for this server` ; définissez la `url` de l'entrée pour la connecter. Avant la v2.1.208, Claude Code signalait une `url` vide comme un problème de configuration avec une invite de reconnexion.327Un serveur distant dont la configuration a une `url` vide s'affiche comme `not configured` dans `/mcp`, dans `claude mcp list`, et dans le gestionnaire [`/plugin`](/docs/fr/plugins/install), et Claude Code ne tente pas de s'y connecter. Un plugin peut inclure une entrée d'espace réservé comme celle-ci pour un connecteur que vous configurez plus tard, afin que Claude Code ne le signale pas comme une erreur ou un problème de configuration. La vue détaillée du serveur dans `/mcp` indique `No URL configured for this server` ; définissez la `url` de l'entrée pour la connecter.

328 328 

329<h4 id="configuration-warnings">329<h4 id="configuration-warnings">

330 Avertissements de configuration330 Avertissements de configuration


403* **Dans une session de terminal interactive**, Claude Code récupère la liste mise à jour auprès de ce serveur, vous n'avez donc pas besoin de le reconnecter.403* **Dans une session de terminal interactive**, Claude Code récupère la liste mise à jour auprès de ce serveur, vous n'avez donc pas besoin de le reconnecter.

404* **En [mode non interactif](/docs/fr/headless) avec le flag `-p` et dans l'[Agent SDK](/docs/fr/agent-sdk/overview)**, Claude Code actualise uniquement la liste des outils lors de ces notifications.404* **En [mode non interactif](/docs/fr/headless) avec le flag `-p` et dans l'[Agent SDK](/docs/fr/agent-sdk/overview)**, Claude Code actualise uniquement la liste des outils lors de ces notifications.

405 405 

406Si une requête d'actualisation échoue, Claude Code conserve les outils, prompts et ressources précédemment découverts du serveur jusqu'à ce qu'une actualisation ultérieure réussisse. Avant la v2.1.214, une erreur transitoire lors de l'actualisation remplaçait les outils, prompts et ressources du serveur par une liste vide.406Si une requête d'actualisation échoue, Claude Code conserve les outils, prompts et ressources précédemment découverts du serveur jusqu'à ce qu'une actualisation ultérieure réussisse.

407 407 

408<h4 id="notification-streams-on-the-v2-runtime">408<h4 id="notification-streams-on-the-v2-runtime">

409 Flux de notification sur le runtime v2409 Flux de notification sur le runtime v2


502 Mise en arrière-plan automatique des appels d'outils longs502 Mise en arrière-plan automatique des appels d'outils longs

503</h3>503</h3>

504 504 

505Un appel d'outil MCP dans la conversation principale qui s'exécute toujours après deux minutes passe dans une tâche en arrière-plan au lieu de bloquer la session. Claude reçoit immédiatement l'ID de la tâche et continue de travailler, et le résultat arrive sous forme de notification de tâche lorsque l'appel se termine. La mise en arrière-plan automatique nécessite Claude Code v2.1.212 ou ultérieur.505Un appel d'outil MCP dans la conversation principale qui s'exécute toujours après deux minutes passe dans une tâche en arrière-plan au lieu de bloquer la session. Claude reçoit immédiatement l'ID de la tâche et continue de travailler, et le résultat arrive sous forme de notification de tâche lorsque l'appel se termine.

506 506 

507La tâche apparaît dans [`/tasks`](/docs/fr/commands#all-commands), où vous pouvez également l'arrêter, et elle ne survit pas à la sortie de la session. L'entrée de la tâche affiche la dernière progression que le serveur a signalée. Si vous arrêtez la tâche, Claude Code annule l'appel et indique à Claude qu'aucun résultat n'arrivera. L'arrêt ne garantit pas que le serveur s'arrête : il a peut-être déjà effectué une partie du travail, ou peut encore le terminer.507La tâche apparaît dans [`/tasks`](/docs/fr/commands#all-commands), où vous pouvez également l'arrêter, et elle ne survit pas à la sortie de la session. L'entrée de la tâche affiche la dernière progression que le serveur a signalée. Si vous arrêtez la tâche, Claude Code annule l'appel et indique à Claude qu'aucun résultat n'arrivera. L'arrêt ne garantit pas que le serveur s'arrête : il a peut-être déjà effectué une partie du travail, ou peut encore le terminer.

508 508 


1278* `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` est actif1278* `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` est actif

1279* Un fournisseur tiers tel qu'Amazon Bedrock ou Agent Platform de Google Cloud est actif1279* Un fournisseur tiers tel qu'Amazon Bedrock ou Agent Platform de Google Cloud est actif

1280* `ANTHROPIC_PROFILE`, les variables de fédération, ou un [profil Anthropic](/docs/fr/authentication#anthropic-profiles-and-federation-credentials) actif fournit les identifiants1280* `ANTHROPIC_PROFILE`, les variables de fédération, ou un [profil Anthropic](/docs/fr/authentication#anthropic-profiles-and-federation-credentials) actif fournit les identifiants

1281* `CLAUDE_CODE_OAUTH_TOKEN` contient un jeton de [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token), qui ne peut faire que des demandes de modèle1281* `CLAUDE_CODE_OAUTH_TOKEN` contient un jeton de [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token), qui ne peut faire que des requêtes de modèle

1282 1282 

1283Si `/mcp` ne liste pas un connecteur que vous avez ajouté, exécutez `/status` pour confirmer quelle méthode d'authentification est active. Supprimez cette variable d'environnement, retirez le paramètre `apiKeyHelper`, ou [désactivez le profil](/docs/fr/authentication#anthropic-profiles-and-federation-credentials), puis exécutez `/login` pour sélectionner votre compte claude.ai.1283Si `/mcp` ne liste pas un connecteur que vous avez ajouté, exécutez `/status` pour confirmer quelle méthode d'authentification est active. Supprimez cette variable d'environnement, retirez le paramètre `apiKeyHelper`, ou [désactivez le profil](/docs/fr/authentication#anthropic-profiles-and-federation-credentials), puis exécutez `/login` pour sélectionner votre compte claude.ai.

1284 1284 


12891. Exécutez `/login` pour vous reconnecter.12891. Exécutez `/login` pour vous reconnecter.

12902. Reconnectez le connecteur depuis `/mcp`.12902. Reconnectez le connecteur depuis `/mcp`.

1291 1291 

1292Avant la v2.1.222, Claude Code marquait les connecteurs comme ayant besoin d'authentification, et les autoriser ne le résolvait pas.1292Avant la v2.1.222, Claude Code marquait plutôt les connecteurs comme ayant besoin d'authentification, et les autoriser ne le résolvait pas.

1293 1293 

1294Un serveur que vous avez ajouté dans Claude Code prend [précédence](#scope-hierarchy-and-precedence) sur un connecteur claude.ai qui pointe vers la même URL. Quand cela se produit, `/mcp` liste le connecteur comme caché et montre comment supprimer le doublon si vous préférez utiliser le connecteur.1294Un serveur que vous avez ajouté dans Claude Code a [priorité](#scope-hierarchy-and-precedence) sur un connecteur claude.ai qui pointe vers la même URL. Quand cela se produit, `/mcp` liste le connecteur comme caché et montre comment supprimer le doublon si vous préférez utiliser le connecteur.

1295 1295 

1296Certains connecteurs hébergés par Anthropic, tels que Microsoft 365, Gmail et Google Calendar, ne supportent pas OAuth local depuis Claude Code car le fournisseur d'identité en amont n'accepte que l'URL de redirection que claude.ai a enregistrée. Quand un serveur que vous avez ajouté avec `claude mcp add` ou dans `.mcp.json` pointe vers l'un de ces hôtes et que vous vous y connectez depuis `/mcp` ou avec `claude mcp login`, Claude Code affiche [`is Anthropic-hosted and doesn't support local OAuth`](/docs/fr/errors#anthropic-hosted-and-doesnt-support-local-oauth), vous dirigeant pour connecter le service à [claude.ai/customize/connectors](https://claude.ai/customize/connectors) à la place.1296Certains connecteurs hébergés par Anthropic, tels que Microsoft 365, Gmail et Google Calendar, ne supportent pas OAuth local depuis Claude Code car le fournisseur d'identité en amont n'accepte que l'URL de redirection que claude.ai a enregistrée. Quand un serveur que vous avez ajouté avec `claude mcp add` ou dans `.mcp.json` pointe vers l'un de ces hôtes et que vous vous y connectez depuis `/mcp` ou avec `claude mcp login`, Claude Code affiche [`is Anthropic-hosted and doesn't support local OAuth`](/docs/fr/errors#anthropic-hosted-and-doesnt-support-local-oauth), vous dirigeant pour connecter le service à [claude.ai/customize/connectors](https://claude.ai/customize/connectors) à la place.

1297 1297 


1301 Comment les connecteurs atteignent Claude Code1301 Comment les connecteurs atteignent Claude Code

1302</h3>1302</h3>

1303 1303 

1304Les paramètres qui gouvernent un connecteur claude.ai dépendent de l'endroit où votre session s'exécute, car seules certaines sessions récupèrent les connecteurs de claude.ai elles-mêmes. Chaque ligne ci-dessous nomme comment les connecteurs arrivent dans un type de session et ce qui les contrôle là. Les [sessions WSL](/docs/fr/desktop-wsl#what-works-in-a-wsl-session) de l'application de bureau n'ont pas de ligne car les connecteurs ne sont pas encore disponibles dans celles-ci.1304Les paramètres qui gouvernent un connecteur claude.ai dépendent de l'endroit où votre session s'exécute, car seules certaines sessions récupèrent les connecteurs de claude.ai elles-mêmes. Chaque ligne ci-dessous nomme comment les connecteurs arrivent dans un type de session et ce qui les contrôle là. Les sessions WSL de l'application de bureau n'ont pas de ligne car les connecteurs [sont encore en cours de déploiement pour celles-ci](/docs/fr/desktop-wsl#check-for-the-terminal-and-connectors).

1305 1305 

1306| Où la session s'exécute | Comment les connecteurs arrivent | Ce qui les gouverne |1306| Où la session s'exécute | Comment les connecteurs arrivent | Ce qui les gouverne |

1307| :- | :- | :- |1307| :- | :- | :- |

1308| Sessions Terminal, [VS Code](/docs/fr/vs-code), [JetBrains](/docs/fr/jetbrains), et [Agent SDK](/docs/fr/agent-sdk/claude-code-features) | Claude Code les récupère depuis claude.ai | Les paramètres de cette section et [configuration MCP gérée](/docs/fr/managed-mcp) |1308| Sessions Terminal, [VS Code](/docs/fr/vs-code), [JetBrains](/docs/fr/jetbrains), et [Agent SDK](/docs/fr/agent-sdk/claude-code-features) | Claude Code les récupère depuis claude.ai | Les paramètres de cette section et [configuration MCP gérée](/docs/fr/managed-mcp) |

1309| [Sessions cloud](/docs/fr/claude-code-on-the-web) | L'hôte distant les transmet | Vos paramètres d'organisation claude.ai, plus les paramètres de [liste blanche et liste noire](/docs/fr/managed-mcp#policy-based-control-with-allowlists-and-denylists) qui atteignent la session et tout `managed-mcp.json` sur l'hôte qui l'exécute |1309| [Sessions cloud](/docs/fr/claude-code-on-the-web) | L'hôte cloud les transmet | Vos paramètres d'organisation claude.ai, plus les paramètres de [liste d'autorisation et liste de refus](/docs/fr/managed-mcp#policy-based-control-with-allowlists-and-denylists) qui atteignent la session et tout `managed-mcp.json` sur l'hôte qui l'exécute |

1310| Les sessions locales et SSH de l'[application de bureau](/docs/fr/desktop) | L'application de bureau les livre en processus | Les entrées `blocked` dans les [contrôles d'outils de connecteur](#organization-controls-on-connector-tools) de votre organisation |1310| Les sessions locales et SSH de l'[application de bureau](/docs/fr/desktop) | L'application de bureau les livre en processus | Les entrées `blocked` dans les [contrôles d'outils de connecteur](#organization-controls-on-connector-tools) de votre organisation |

1311 1311 

1312[`disableClaudeAiConnectors`](#disable-claude-ai-connectors), `ENABLE_CLAUDEAI_MCP_SERVERS`, et [`allowAllClaudeAiMcps`](/docs/fr/settings-reference#allowallclaudeaimcps) agissent uniquement sur la première ligne, les connecteurs que Claude Code récupère lui-même. Les deux autres lignes en diffèrent de ces façons :1312[`disableClaudeAiConnectors`](#disable-claude-ai-connectors), `ENABLE_CLAUDEAI_MCP_SERVERS`, et [`allowAllClaudeAiMcps`](/docs/fr/settings-reference#allowallclaudeaimcps) agissent uniquement sur la première ligne, les connecteurs que Claude Code récupère lui-même. Les deux autres lignes en diffèrent de ces façons :

1313 1313 

1314* **Sessions cloud** : les entrées `allowedMcpServers` et `deniedMcpServers` qui atteignent la session, par exemple via les [paramètres gérés par le serveur](/docs/fr/server-managed-settings), filtrent également les connecteurs livrés. Le proxy de la session réécrit l'URL de chaque connecteur, donc un motif `serverUrl` écrit pour l'URL propre du connecteur ne le correspond pas. Pour admettre les connecteurs livrés aux côtés d'une liste blanche d'URL dans un environnement auto-hébergé, ajoutez les entrées `serverUrl` listées sous [Le trafic des connecteurs quitte votre réseau](/docs/fr/self-hosted-environments-deploy#connector-traffic-leaves-your-network). Claude Code supprime les connecteurs livrés quand un `managed-mcp.json` est présent sur l'hôte qui exécute la session, comme un [hôte de runner auto-hébergé](/docs/fr/self-hosted-environments-configuration#mcp-servers), que vous ayez défini `allowAllClaudeAiMcps` ou non.1314* **Sessions cloud** : les entrées `allowedMcpServers` et `deniedMcpServers` qui atteignent la session, par exemple via les [paramètres gérés par le serveur](/docs/fr/server-managed-settings), filtrent également les connecteurs livrés. Le proxy de la session réécrit l'URL de chaque connecteur, donc un motif `serverUrl` écrit pour l'URL propre du connecteur ne lui correspond pas. Pour admettre les connecteurs livrés aux côtés d'une liste d'autorisation d'URL dans un environnement auto-hébergé, ajoutez les entrées `serverUrl` listées sous [Le trafic des connecteurs quitte votre réseau](/docs/fr/self-hosted-environments-deploy#connector-traffic-leaves-your-network). Claude Code supprime les connecteurs livrés quand un `managed-mcp.json` est présent sur l'hôte qui exécute la session, comme un [hôte de runner auto-hébergé](/docs/fr/self-hosted-environments-configuration#mcp-servers), que vous ayez défini `allowAllClaudeAiMcps` ou non.

1315* **Sessions locales et SSH de l'application de bureau** : l'application de bureau enregistre les connecteurs en tant que serveurs `type: "sdk"` en processus, et aucun paramètre MCP ou `managed-mcp.json` ne les atteint. Un utilisateur garde un connecteur hors de ses propres sessions en le déconnectant à [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Une organisation bloque les [outils](#organization-controls-on-connector-tools) d'un connecteur ou désactive entièrement [Claude Code dans l'application de bureau](/docs/fr/desktop#admin-console-controls).1315* **Sessions locales et SSH de l'application de bureau** : l'application de bureau enregistre les connecteurs en tant que serveurs `type: "sdk"` en processus, et aucun paramètre MCP ou `managed-mcp.json` ne les atteint. Un utilisateur garde un connecteur hors de ses propres sessions en le déconnectant à [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Une organisation bloque les [outils](#organization-controls-on-connector-tools) d'un connecteur ou désactive entièrement [Claude Code dans l'application de bureau](/docs/fr/desktop#admin-console-controls).

1316 1316 

1317<h3 id="organization-controls-on-connector-tools">1317<h3 id="organization-controls-on-connector-tools">


1320 1320 

1321Votre organisation peut définir des contrôles par outil sur les [connecteurs claude.ai](https://claude.com/docs/connectors). Claude Code lit ces paramètres au démarrage et les applique localement, sauf dans les [sessions locales et SSH](#how-connectors-reach-claude-code) de l'application de bureau. Là, l'application de bureau retient les outils `blocked` avant de livrer un connecteur, et le paramètre `ask` n'atteint pas Claude Code, donc il applique les [règles de permission](/docs/fr/permissions) ordinaires de la session à ces outils au lieu de demander à chaque appel. Dans les sessions où Claude Code récupère les connecteurs lui-même, exécutez `/mcp` pour voir quel paramètre s'applique à chaque outil sur un connecteur.1321Votre organisation peut définir des contrôles par outil sur les [connecteurs claude.ai](https://claude.com/docs/connectors). Claude Code lit ces paramètres au démarrage et les applique localement, sauf dans les [sessions locales et SSH](#how-connectors-reach-claude-code) de l'application de bureau. Là, l'application de bureau retient les outils `blocked` avant de livrer un connecteur, et le paramètre `ask` n'atteint pas Claude Code, donc il applique les [règles de permission](/docs/fr/permissions) ordinaires de la session à ces outils au lieu de demander à chaque appel. Dans les sessions où Claude Code récupère les connecteurs lui-même, exécutez `/mcp` pour voir quel paramètre s'applique à chaque outil sur un connecteur.

1322 1322 

1323* **Outil défini sur `ask`** : Claude Code demande à chaque appel avec la raison `Your organization requires approval for this tool`. L'invite apparaît même dans les modes de permission `acceptEdits`, `auto`, et `bypassPermissions` [modes de permission](/docs/fr/permissions#permission-modes), et n'offre jamais une option pour mémoriser votre choix. Les [règles Allow](/docs/fr/permissions) qui correspondent à l'outil ne sautent pas non plus l'invite. En mode `dontAsk`, qui ne demande jamais, Claude Code refuse l'appel à la place.1323* **Outil défini sur `ask`** : Claude Code demande à chaque appel avec la raison `Your organization requires approval for this tool`. La demande apparaît même dans les [modes de permission](/docs/fr/permissions#permission-modes) `acceptEdits`, `auto`, et `bypassPermissions`, et n'offre jamais une option pour mémoriser votre choix. Les [règles Allow](/docs/fr/permissions) qui correspondent à l'outil ne sautent pas non plus la demande. En mode `dontAsk`, qui ne demande jamais, Claude Code refuse l'appel à la place.

1324* **Outil défini sur `blocked`** : Claude Code filtre l'outil avant que Claude ne le voie, donc il n'apparaît jamais dans la liste des outils. Dans les sessions où Claude Code récupère les connecteurs lui-même, la liste d'outils `/mcp` affiche toujours l'outil, marqué `disabled by your organization`. L'application de bureau et le chat claude.ai appliquent le même paramètre `blocked`, donc Claude ne peut pas utiliser l'outil là non plus, et vous ne pouvez pas retenir un outil des sessions de l'application de bureau tout en le gardant disponible dans le chat. L'application de bureau saute un connecteur dont tous les outils sont bloqués.1324* **Outil défini sur `blocked`** : Claude Code filtre l'outil avant que Claude ne le voie, donc il n'apparaît jamais dans la liste des outils de Claude. Dans les sessions où Claude Code récupère les connecteurs lui-même, la liste d'outils `/mcp` affiche toujours l'outil, marqué `disabled by your organization`.

1325 

1326L'application de bureau et le chat claude.ai appliquent le même paramètre `blocked`, donc Claude ne peut pas non plus y utiliser un outil bloqué, et vous ne pouvez pas retenir un outil des sessions de l'application de bureau tout en le gardant disponible dans le chat. L'application de bureau saute un connecteur dont tous les outils sont bloqués.

1325 1327 

1326<h3 id="disable-claude-ai-connectors">1328<h3 id="disable-claude-ai-connectors">

1327 Désactiver les connecteurs claude.ai1329 Désactiver les connecteurs claude.ai


1335}1337}

1336```1338```

1337 1339 

1338Ce paramètre utilise la sémantique any-source-true : `true` dans n'importe quelle source de paramètres prend précédence. Un `.claude/settings.json` de projet enregistré peut exclure un référentiel des connecteurs que Claude Code récupère lui-même, mais un `false` au niveau du projet ne peut pas réactiver les connecteurs qu'un `true` au niveau utilisateur ou politique a désactivés. Les serveurs passés explicitement via `--mcp-config` ne sont pas affectés.1340Ce paramètre utilise la sémantique any-source-true : `true` dans n'importe quelle source de paramètres a priorité. Un `.claude/settings.json` de projet enregistré peut exclure un dépôt des connecteurs que Claude Code récupère lui-même, mais un `false` au niveau du projet ne peut pas réactiver les connecteurs qu'un `true` au niveau utilisateur ou politique a désactivés. Les serveurs passés explicitement via `--mcp-config` ne sont pas affectés.

1339 1341 

1340Vous pouvez également définir la variable d'environnement `ENABLE_CLAUDEAI_MCP_SERVERS` sur `false`, qui a le même effet pour la session shell actuelle :1342Vous pouvez également définir la variable d'environnement `ENABLE_CLAUDEAI_MCP_SERVERS` sur `false`, qui a le même effet pour la session shell actuelle :

1341 1343 


1529 1531 

1530Certaines surfaces, comme [Remote Control](/docs/fr/remote-control) et les applications construites sur le [SDK Agent](/docs/fr/agent-sdk/overview), vous permettent normalement d'approuver les appels d'outils en un seul geste. Pour un outil marqué avec cette annotation, Claude Code retient l'action en un geste et affiche l'invite de permission complète de l'outil à la place, de sorte que l'approbation provient toujours d'une personne répondant à l'invite plutôt que d'un geste.1532Certaines surfaces, comme [Remote Control](/docs/fr/remote-control) et les applications construites sur le [SDK Agent](/docs/fr/agent-sdk/overview), vous permettent normalement d'approuver les appels d'outils en un seul geste. Pour un outil marqué avec cette annotation, Claude Code retient l'action en un geste et affiche l'invite de permission complète de l'outil à la place, de sorte que l'approbation provient toujours d'une personne répondant à l'invite plutôt que d'un geste.

1531 1533 

1532Claude Code retient l'approbation en un geste de la même manière pour toute demande de permission que seul le dialogue du terminal peut afficher complètement, comme celle qui porte un avertissement de sécurité ou une option d'autorisation permanente que la surface distante ne peut pas afficher. Vous répondez à cette demande dans le dialogue du terminal plutôt que depuis Remote Control. Nécessite Claude Code v2.1.214 ou version ultérieure.1534Claude Code retient l'approbation en un geste de la même manière pour toute demande de permission que seul le dialogue du terminal peut afficher complètement, comme celle qui porte un avertissement de sécurité ou une option d'autorisation permanente que la surface distante ne peut pas afficher. Vous répondez à cette demande dans le dialogue du terminal plutôt que depuis Remote Control.

1533 1535 

1534<h2 id="respond-to-mcp-elicitation-requests">1536<h2 id="respond-to-mcp-elicitation-requests">

1535 Répondre aux demandes d'élicitation MCP1537 Répondre aux demandes d'élicitation MCP

memory.md +2 −2

Details

521* Règles Copilot dans `.github/copilot-instructions.md`521* Règles Copilot dans `.github/copilot-instructions.md`

522* Avec `CLAUDE_CODE_NEW_INIT=1` défini : `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` ou `.windsurfrules`, et `.clinerules`522* Avec `CLAUDE_CODE_NEW_INIT=1` défini : `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` ou `.windsurfrules`, et `.clinerules`

523 523 

524Vous pouvez également exécuter [`/import`](/docs/fr/commands) pour apporter la configuration d'un agent de codage pris en charge dans Claude Code, qui ajoute une copie unique de fichiers d'instructions tels que `AGENTS.md` au `CLAUDE.md` correspondant et transporte les serveurs MCP, les commandes, les sous-agents et les compétences. Nécessite Claude Code v2.1.213 ou une version ultérieure.524Vous pouvez également exécuter [`/import`](/docs/fr/commands) pour apporter la configuration d'un agent de codage pris en charge dans Claude Code, qui ajoute une copie unique de fichiers d'instructions tels que `AGENTS.md` au `CLAUDE.md` correspondant et transporte les serveurs MCP, les commandes, les sous-agents et les skills.

525 525 

526<h2 id="auto-memory">526<h2 id="auto-memory">

527 Mémoire automatique527 Mémoire automatique


615 615 

616Claude lit et écrit les fichiers de mémoire pendant votre session. Quand vous voyez des messages comme « Saved 2 memories » ou « Recalled 2 memories » dans l'interface Claude Code, Claude met activement à jour ou lit à partir de `~/.claude/projects/<project>/memory/`.616Claude lit et écrit les fichiers de mémoire pendant votre session. Quand vous voyez des messages comme « Saved 2 memories » ou « Recalled 2 memories » dans l'interface Claude Code, Claude met activement à jour ou lit à partir de `~/.claude/projects/<project>/memory/`.

617 617 

618Quand Claude écrit un fichier de mémoire qui commence par du frontmatter YAML, Claude Code enregistre l'heure d'écriture dans un champ frontmatter `modified` sous la forme d'un horodatage ISO 8601. L'horodatage montre à quel point le fait est actuel, à la fois pour vous et pour Claude quand il relit la mémoire. Tout fichier qui a du frontmatter obtient le champ la prochaine fois que Claude l'écrit, y compris les fichiers créés sur des versions antérieures ; Claude Code n'ajoute jamais de frontmatter à un fichier qui n'en a pas. Le champ `modified` nécessite Claude Code v2.1.214 ou ultérieur.618Quand Claude écrit un fichier de mémoire qui commence par du frontmatter YAML, Claude Code enregistre l'heure d'écriture dans un champ frontmatter `modified` sous la forme d'un horodatage ISO 8601. L'horodatage montre à quel point le fait est actuel, à la fois pour vous et pour Claude quand il relit la mémoire.

619 619 

620<h3 id="audit-and-edit-your-memory">620<h3 id="audit-and-edit-your-memory">

621 Auditer et modifier votre mémoire621 Auditer et modifier votre mémoire

model-config.md +2 −1

Details

274* **Remplacement de compétence ou de commande** : Claude Code ignore le remplacement, y compris un alias de famille bloqué, et la compétence ou la commande s'exécute sur le modèle de session. Une compétence ou une commande qui [s'exécute dans un sous-agent](/docs/fr/skills#run-skills-in-a-subagent) suit le comportement du sous-agent ci-dessus à la place274* **Remplacement de compétence ou de commande** : Claude Code ignore le remplacement, y compris un alias de famille bloqué, et la compétence ou la commande s'exécute sur le modèle de session. Une compétence ou une commande qui [s'exécute dans un sous-agent](/docs/fr/skills#run-skills-in-a-subagent) suit le comportement du sous-agent ci-dessus à la place

275* **Paramètre `advisorModel`** : le conseiller est désactivé pour la session275* **Paramètre `advisorModel`** : le conseiller est désactivé pour la session

276* **Indicateur `--advisor`** : Claude Code se termine avec une erreur au lancement. Dans une [session en arrière-plan](/docs/fr/agent-view), il démarre la session sans le conseiller au lieu de se terminer276* **Indicateur `--advisor`** : Claude Code se termine avec une erreur au lancement. Dans une [session en arrière-plan](/docs/fr/agent-view), il démarre la session sans le conseiller au lieu de se terminer

277* **`CLAUDE_CODE_AUTO_MODE_MODEL`** : Claude Code ignore la variable et choisit le modèle pour ses [requêtes du classifieur du mode auto](/docs/fr/permission-modes#default-classifier-model) comme si vous ne l'aviez pas définie

277 278 

278Claude Code masque les modèles exclus du sélecteur `/model`. Le fait qu'un ID de modèle que vous listez obtienne également sa propre ligne dépend du fournisseur :279Claude Code masque les modèles exclus du sélecteur `/model`. Le fait qu'un ID de modèle que vous listez obtienne également sa propre ligne dépend du fournisseur :

279 280 


285* **[Chaînes de modèle de secours](#fallback-model-chains)** : les entrées en dehors de la liste d'autorisation sont supprimées286* **[Chaînes de modèle de secours](#fallback-model-chains)** : les entrées en dehors de la liste d'autorisation sont supprimées

286* **Mises à niveau du mode plan** : sur l'API Anthropic et Claude Platform on AWS, une mise à niveau telle que [`opusplan`](#opusplan-model-setting) vers un modèle exclu utilise la version la plus récente autorisée de la famille de mise à niveau. Sur les fournisseurs avec des ID de modèle spécifiques au fournisseur, et lorsqu'aucune version n'est autorisée, la mise à niveau est ignorée et la planification continue sur le modèle de la session287* **Mises à niveau du mode plan** : sur l'API Anthropic et Claude Platform on AWS, une mise à niveau telle que [`opusplan`](#opusplan-model-setting) vers un modèle exclu utilise la version la plus récente autorisée de la famille de mise à niveau. Sur les fournisseurs avec des ID de modèle spécifiques au fournisseur, et lorsqu'aucune version n'est autorisée, la mise à niveau est ignorée et la planification continue sur le modèle de la session

287* **[Secours de modèle automatique](#automatic-model-fallback)** : un secours dont la cible est exclue ne s'exécute pas, donc la demande signalée se termine par un refus à la place288* **[Secours de modèle automatique](#automatic-model-fallback)** : un secours dont la cible est exclue ne s'exécute pas, donc la demande signalée se termine par un refus à la place

288* **[Classifieur du mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode)** : la valeur par défaut Claude Sonnet 5 du classifieur s'applique uniquement lorsque la liste d'autorisation permet Sonnet 5. Lorsqu'il est exclu, le classifieur s'exécute sur le modèle de la session, que la liste d'autorisation gouverne déjà, ou sur un modèle Opus lorsque la session s'exécute sur un [modèle Fable](#work-with-fable). Sur les fournisseurs autres que l'API Anthropic, ce secours Opus s'exécute sur le modèle que vous définissez dans `ANTHROPIC_DEFAULT_OPUS_MODEL` ou, à défaut, sur Opus 5, sans consulter la liste d'autorisation. Nécessite Claude Code v2.1.210 ou ultérieur289* **[Classifieur du mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode)** : lorsque la liste d'autorisation exclut le [modèle de classifieur par défaut](/docs/fr/permission-modes#default-classifier-model), les requêtes du classifieur qui utiliseraient ce modèle s'exécutent sur le modèle de la session, ou sur un modèle Opus dans les sessions [Fable](#work-with-fable). Sur les fournisseurs autres que l'API Anthropic, ce secours Opus s'exécute sur le modèle que vous définissez dans `ANTHROPIC_DEFAULT_OPUS_MODEL` ou, à défaut, sur Opus 5, sans consulter la liste d'autorisation. Nécessite Claude Code v2.1.210 ou ultérieur

289* **[Mode rapide](/docs/fr/fast-mode)** : l'activation du mode rapide est refusée lorsque le modèle sur lequel la session s'exécuterait ensuite est en dehors de la liste d'autorisation290* **[Mode rapide](/docs/fr/fast-mode)** : l'activation du mode rapide est refusée lorsque le modèle sur lequel la session s'exécuterait ensuite est en dehors de la liste d'autorisation

290* **Secours de disponibilité sur Amazon Bedrock et Agent Platform de Google Cloud** : lorsque votre compte perd l'accès à un modèle en cours de session, le basculement vers un autre modèle ignore les modèles exclus. Les vérifications de modèle au démarrage sur [Amazon Bedrock](/docs/fr/amazon-bedrock#when-your-organization-enforces-a-model-allowlist) et [Agent Platform de Google Cloud](/docs/fr/google-vertex-ai#when-your-organization-enforces-a-model-allowlist) n'ignorent les modèles exclus que lorsque les paramètres gérés définissent également [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)291* **Secours de disponibilité sur Amazon Bedrock et Agent Platform de Google Cloud** : lorsque votre compte perd l'accès à un modèle en cours de session, le basculement vers un autre modèle ignore les modèles exclus. Les vérifications de modèle au démarrage sur [Amazon Bedrock](/docs/fr/amazon-bedrock#when-your-organization-enforces-a-model-allowlist) et [Agent Platform de Google Cloud](/docs/fr/google-vertex-ai#when-your-organization-enforces-a-model-allowlist) n'ignorent les modèles exclus que lorsque les paramètres gérés définissent également [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model)

291 292 

Details

137| `OTEL_LOG_TOOL_CONTENT` | Activer la journalisation du contenu des outils dans l'[événement de span `tool.output`](#tool-output-span-event) (par défaut : désactivé). Les attributs de span portent le contenu des outils sous [leurs propres portes](#new-context-gates). Nécessite [traçage](#traces-beta). Le contenu est tronqué à la limite de contenu (60 Ko par défaut) | `1` pour activer |137| `OTEL_LOG_TOOL_CONTENT` | Activer la journalisation du contenu des outils dans l'[événement de span `tool.output`](#tool-output-span-event) (par défaut : désactivé). Les attributs de span portent le contenu des outils sous [leurs propres portes](#new-context-gates). Nécessite [traçage](#traces-beta). Le contenu est tronqué à la limite de contenu (60 Ko par défaut) | `1` pour activer |

138| `OTEL_LOG_MANAGED_SETTINGS` | Ajouter les paramètres gérés masqués et un résumé SHA-256 des paramètres avant masquage aux événements [paramètres gérés résolus](#managed-settings-resolved-event) (par défaut : désactivé). Une valeur dans les paramètres de projet ou locaux ne l'active pas. Nécessite Claude Code v2.1.274 ou ultérieur | `1` pour activer |138| `OTEL_LOG_MANAGED_SETTINGS` | Ajouter les paramètres gérés masqués et un résumé SHA-256 des paramètres avant masquage aux événements [paramètres gérés résolus](#managed-settings-resolved-event) (par défaut : désactivé). Une valeur dans les paramètres de projet ou locaux ne l'active pas. Nécessite Claude Code v2.1.274 ou ultérieur | `1` pour activer |

139| `OTEL_LOG_RAW_API_BODIES` | Émettre la demande et la réponse JSON complètes de l'API Messages Anthropic en tant qu'événements de journal `api_request_body` / `api_response_body` (par défaut : désactivé). Les corps incluent l'historique complet de la conversation. L'activation de ceci implique le consentement à tout ce que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` et `OTEL_LOG_TOOL_CONTENT` révèleraient | `1` pour les corps en ligne tronqués à la limite de contenu (60 Ko par défaut), ou `file:<dir>` pour les corps non tronqués sur disque avec un pointeur `body_ref` dans l'événement |139| `OTEL_LOG_RAW_API_BODIES` | Émettre la demande et la réponse JSON complètes de l'API Messages Anthropic en tant qu'événements de journal `api_request_body` / `api_response_body` (par défaut : désactivé). Les corps incluent l'historique complet de la conversation. L'activation de ceci implique le consentement à tout ce que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` et `OTEL_LOG_TOOL_CONTENT` révèleraient | `1` pour les corps en ligne tronqués à la limite de contenu (60 Ko par défaut), ou `file:<dir>` pour les corps non tronqués sur disque avec un pointeur `body_ref` dans l'événement |

140| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Limite de contenu : la longueur maximale des attributs porteurs de contenu tels que les réponses du modèle, le contenu des outils, les invites système et les corps API bruts, marqueur de troncature inclus, en unités de code UTF-16 (par défaut : 61440, c.-à-d. 60 Ko). La valeur par défaut est dimensionnée pour les backends qui limitent les valeurs d'attribut à 64 Ko ; augmentez-la uniquement si votre backend accepte des valeurs plus grandes, ou diminuez-la pour réduire le volume de télémétrie. Lorsqu'une limite d'attribut du SDK OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` ou l'une de ses variantes de journal et de span, est définie plus bas, Claude Code tronque à cette valeur plus petite afin que le marqueur `[TRUNCATED ...]` reste dans la limite du SDK. Nécessite Claude Code v2.1.214 ou ultérieur | `262144` |140| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Limite de contenu : la longueur maximale des attributs porteurs de contenu tels que les réponses du modèle, le contenu des outils, les prompts système et les corps API bruts, marqueur de troncature inclus, en unités de code UTF-16 (par défaut : 61440, c.-à-d. 60 Ko). La valeur par défaut est dimensionnée pour les backends qui limitent les valeurs d'attribut à 64 Ko ; augmentez-la uniquement si votre backend accepte des valeurs plus grandes, ou diminuez-la pour réduire le volume de télémétrie. Lorsqu'une limite d'attribut du SDK OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` ou l'une de ses variantes de journal et de span, est définie plus bas, Claude Code tronque à cette valeur plus petite afin que le marqueur `[TRUNCATED ...]` reste dans la limite du SDK | `262144` |

141| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Préférence de temporalité des métriques (par défaut : `delta`). Définissez sur `cumulative` si votre backend s'attend à une temporalité cumulative | `delta`, `cumulative` |141| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Préférence de temporalité des métriques (par défaut : `delta`). Définissez sur `cumulative` si votre backend s'attend à une temporalité cumulative | `delta`, `cumulative` |

142| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle d'actualisation des en-têtes dynamiques (par défaut : 1740000ms / 29 minutes) | `900000` |142| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle d'actualisation des en-têtes dynamiques (par défaut : 1740000ms / 29 minutes) | `900000` |

143 143 

144Pour les protocoles `http/protobuf` et `http/json`, Claude Code envoie chaque demande d'export avec un en-tête `Content-Length`. Avant v2.1.212, les versions de Claude Code à partir de v2.1.191 envoyaient ces demandes avec un codage de transfert fragmenté ; Azure Monitor et d'autres points de terminaison qui nécessitent une longueur déclarée les rejetaient avec des erreurs `411 Length Required` ou `400`.144Pour les protocoles `http/protobuf` et `http/json`, Claude Code envoie chaque requête d'export avec un en-tête `Content-Length`.

145 145 

146<h3 id="mtls-authentication">146<h3 id="mtls-authentication">

147 Authentification mTLS147 Authentification mTLS


202 202 

203Le contexte de trace entrant s'applique également aux [événements](#events). Dans les sessions SDK Agent et `-p` avec `TRACEPARENT` défini, chaque enregistrement de journal d'événement OTLP porte les valeurs `trace_id` et `span_id` qui le joignent à la trace de votre application, même lorsque l'exportateur de traces n'est pas configuré, afin que votre backend de journalisation puisse corréler les événements avec le reste de la trace.203Le contexte de trace entrant s'applique également aux [événements](#events). Dans les sessions SDK Agent et `-p` avec `TRACEPARENT` défini, chaque enregistrement de journal d'événement OTLP porte les valeurs `trace_id` et `span_id` qui le joignent à la trace de votre application, même lorsque l'exportateur de traces n'est pas configuré, afin que votre backend de journalisation puisse corréler les événements avec le reste de la trace.

204 204 

205Un enregistrement émis pendant qu'une interaction est active porte les ID du span d'interaction, même lorsque Claude Code l'émet en dehors du contexte asynchrone du span, comme dans un rappel d'invite de permission ou pour un enregistrement mis en mémoire tampon au démarrage et exporté ultérieurement. Un enregistrement émis sans span d'interaction actif porte directement les ID `TRACEPARENT` entrants. Avant v2.1.214, les enregistrements émis en dehors du contexte asynchrone du span portaient les ID `TRACEPARENT` entrants à la place des ID du span. Avant v2.1.212, les enregistrements d'événements émis en dehors d'un span actif ne portaient pas `trace_id` ou `span_id`.205Un enregistrement émis pendant qu'une interaction est active porte les ID du span d'interaction, même lorsque Claude Code l'émet en dehors du contexte asynchrone du span, comme dans un rappel de demande de permission ou pour un enregistrement mis en mémoire tampon au démarrage et exporté ultérieurement. Un enregistrement émis sans span d'interaction actif porte directement les ID `TRACEPARENT` entrants.

206 206 

207<h4 id="span-hierarchy">207<h4 id="span-hierarchy">

208 Hiérarchie des spans208 Hiérarchie des spans


328| Attribut | Description | Contrôlé par |328| Attribut | Description | Contrôlé par |

329| - | - | - |329| - | - | - |

330| `duration_ms` | Temps passé à attendre la décision de permission | |330| `duration_ms` | Temps passé à attendre la décision de permission | |

331| `decision` | `accept` ou `reject` | |331| `decision` | `accept`, `reject` ou `cancelled`, où `cancelled` signifie que Claude Code a cessé d'attendre une décision de permission sur l'appel d'outil et ne l'a pas exécuté | |

332| `source` | Source de décision, correspondant à l'[événement de décision d'outil](#tool-decision-event) | |332| `source` | Pour un `accept` ou un `reject`, l'origine de la décision, comme `config`, `hook` ou `user_temporary`, avec les significations données sous l'[événement de décision d'outil](#tool-decision-event). Pour un `cancelled`, ce qui a mis fin à l'attente avant qu'une décision ne soit prise, comme `user_abort` | |

333 

334Une décision `cancelled` avec la `source` `user_abort` signifie qu'un message nécessitant une livraison immédiate a interrompu le tour alors que la demande de permission ou la vérification du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) était en attente. Par exemple, pendant une vérification du mode auto, l'utilisateur avait un message en file d'attente et [l'a envoyé immédiatement](/docs/fr/interactive-mode#when-claude-code-sends-what-you-queued).

333 335 

334**`claude_code.tool.execution`**336**`claude_code.tool.execution`**

335 337 


820| - | - |822| - | - |

821| `prompt.id` | Identifiant UUID v4 reliant tous les événements produits lors du traitement d'un même prompt utilisateur |823| `prompt.id` | Identifiant UUID v4 reliant tous les événements produits lors du traitement d'un même prompt utilisateur |

822| `event.sequence` | Compteur commençant à 0 pour ordonner les événements, comptabilisé par processus Claude Code plutôt que par session |824| `event.sequence` | Compteur commençant à 0 pour ordonner les événements, comptabilisé par processus Claude Code plutôt que par session |

823| `message.uuid` | UUID du message tel qu'il est conservé dans la transcription de la session, les fichiers `~/.claude/projects/*/*.jsonl`. Présent sur `assistant_response`, sur `api_response_body` et sur `user_prompt`, sauf pour les envois de commandes, qui peuvent produire zéro ou plusieurs messages. Sur `assistant_response` et `api_response_body`, il s'agit de la dernière entrée de transcription de la réponse, à laquelle se rattache le `parentUuid` du tour suivant. Nécessite Claude Code v2.1.214 ou ultérieur, ou v2.1.274 ou ultérieur pour `api_response_body` |825| `message.uuid` | UUID du message tel qu'il est conservé dans la transcription de la session, les fichiers `~/.claude/projects/*/*.jsonl`. Présent sur `assistant_response`, sur `api_response_body` et sur `user_prompt`, sauf pour les exécutions de commandes, qui peuvent produire zéro ou plusieurs messages. Sur `assistant_response` et `api_response_body`, il s'agit de l'entrée finale de la réponse dans la transcription, à partir de laquelle s'enchaîne le `parentUuid` du tour suivant. Nécessite Claude Code v2.1.274 ou ultérieur sur `api_response_body` |

824| `request_id` | ID attribué par le serveur à la requête API, lu depuis l'en-tête de réponse `request-id`, par exemple `req_011...`. Pour une réponse sans en-tête `request-id`, comme sur [Amazon Bedrock](/docs/fr/amazon-bedrock), la valeur provient plutôt de l'en-tête `x-amzn-requestid`. Présent sur `api_request`, `api_error`, `api_refusal`, `assistant_response` et `api_response_body` lorsque la réponse contient l'un de ces en-têtes. Correspond au même attribut sur le span de trace `llm_request`. La source `x-amzn-requestid` nécessite Claude Code v2.1.282 ou ultérieur |826| `request_id` | ID attribué par le serveur à la requête API, lu depuis l'en-tête de réponse `request-id`, par exemple `req_011...`. Pour une réponse sans en-tête `request-id`, comme sur [Amazon Bedrock](/docs/fr/amazon-bedrock), la valeur provient plutôt de l'en-tête `x-amzn-requestid`. Présent sur `api_request`, `api_error`, `api_refusal`, `assistant_response` et `api_response_body` lorsque la réponse contient l'un de ces en-têtes. Correspond au même attribut sur le span de trace `llm_request`. La source `x-amzn-requestid` nécessite Claude Code v2.1.282 ou ultérieur |

825| `client_request_id` | UUID généré par le client et envoyé dans l'en-tête de requête `x-client-request-id`. Présent sur `api_request` et `api_error` pour les connexions à l'API first-party ; absent sur les backends de fournisseurs tiers et lorsque la requête a été réessayée via la solution de repli sans streaming. Associe une requête à sa réponse et reste disponible pour les échecs, comme les délais d'expiration, qui n'ont jamais produit de `request_id` côté serveur. Correspond au même attribut sur le span de trace `llm_request`. Nécessite Claude Code v2.1.214 ou ultérieur |827| `client_request_id` | UUID généré par le client et envoyé dans l'en-tête de requête `x-client-request-id`. Présent sur `api_request` et `api_error` sur les connexions à l'API first-party ; absent sur les backends de fournisseurs tiers et lorsque la requête a été réessayée via la solution de repli sans streaming. Associe une requête à sa réponse et reste disponible en cas d'échecs, comme les délais d'expiration, qui n'ont jamais produit de `request_id` serveur. Correspond au même attribut sur le span de trace `llm_request` |

826 828 

827Pour retracer toute l'activité déclenchée par un même prompt, filtrez vos événements sur une valeur `prompt.id` spécifique. Vous obtenez ainsi l'événement user\_prompt, les éventuels événements api\_request et les éventuels événements tool\_result survenus pendant le traitement de ce prompt.829Pour retracer toute l'activité déclenchée par un même prompt, filtrez vos événements sur une valeur `prompt.id` spécifique. Vous obtenez ainsi l'événement user\_prompt, les éventuels événements api\_request et les éventuels événements tool\_result survenus pendant le traitement de ce prompt.

828 830 


851* `prompt_length` : longueur du prompt853* `prompt_length` : longueur du prompt

852* `prompt` : contenu du prompt. Masqué par défaut. Définissez `OTEL_LOG_USER_PROMPTS=1` pour l'inclure854* `prompt` : contenu du prompt. Masqué par défaut. Définissez `OTEL_LOG_USER_PROMPTS=1` pour l'inclure

853* `prompt_text` : Même valeur que `prompt`, masquée selon la même condition. Un backend qui stocke les noms d'attributs avec des points sous forme d'objets imbriqués lit `prompt.id` comme `id` à l'intérieur d'un objet nommé `prompt` et peut perdre la chaîne du prompt. Lisez plutôt `prompt_text` dans ce cas. Nécessite Claude Code v2.1.287 ou ultérieur855* `prompt_text` : Même valeur que `prompt`, masquée selon la même condition. Un backend qui stocke les noms d'attributs avec des points sous forme d'objets imbriqués lit `prompt.id` comme `id` à l'intérieur d'un objet nommé `prompt` et peut perdre la chaîne du prompt. Lisez plutôt `prompt_text` dans ce cas. Nécessite Claude Code v2.1.287 ou ultérieur

854* `message.uuid` : UUID du message utilisateur résultant, correspondant à l'entrée de transcription conservée. Absent pour les envois de commandes, qui peuvent produire zéro ou plusieurs messages. Nécessite Claude Code v2.1.214 ou ultérieur856* `message.uuid` : UUID du message utilisateur résultant, correspondant à l'entrée conservée dans la transcription. Absent pour les exécutions de commandes, qui peuvent produire zéro ou plusieurs messages.

855* `command_name` : nom de la commande lorsque le prompt en invoque une. Les noms des commandes intégrées et fournies, comme `compact` ou `debug`, sont émis tels quels ; les alias comme `reset` sont émis tels que saisis plutôt que sous leur nom canonique. Les noms des commandes personnalisées, de plugins et MCP sont ramenés à `custom` ou `mcp`, sauf si `OTEL_LOG_TOOL_DETAILS=1` est défini857* `command_name` : nom de la commande lorsque le prompt en invoque une. Les noms des commandes intégrées et fournies, comme `compact` ou `debug`, sont émis tels quels ; les alias comme `reset` sont émis tels que saisis plutôt que sous leur nom canonique. Les noms des commandes personnalisées, de plugins et MCP sont ramenés à `custom` ou `mcp`, sauf si `OTEL_LOG_TOOL_DETAILS=1` est défini

856* `command_source` : origine de la commande lorsqu'elle est présente : `builtin`, `custom` ou `mcp`. Les commandes fournies par des plugins sont signalées comme `custom`858* `command_source` : origine de la commande lorsqu'elle est présente : `builtin`, `custom` ou `mcp`. Les commandes fournies par des plugins sont signalées comme `custom`

857 859 


873* `response` : texte de la réponse, tronqué à la limite de contenu (60 Ko par défaut). Masqué en `<REDACTED>` par défaut. Définissez `OTEL_LOG_ASSISTANT_RESPONSES=1` pour l'inclure. Lorsque `OTEL_LOG_ASSISTANT_RESPONSES` n'est pas défini, c'est `OTEL_LOG_USER_PROMPTS` qui le contrôle ; définissez donc `OTEL_LOG_ASSISTANT_RESPONSES=0` pour garder les réponses masquées lorsque la journalisation des prompts est activée875* `response` : texte de la réponse, tronqué à la limite de contenu (60 Ko par défaut). Masqué en `<REDACTED>` par défaut. Définissez `OTEL_LOG_ASSISTANT_RESPONSES=1` pour l'inclure. Lorsque `OTEL_LOG_ASSISTANT_RESPONSES` n'est pas défini, c'est `OTEL_LOG_USER_PROMPTS` qui le contrôle ; définissez donc `OTEL_LOG_ASSISTANT_RESPONSES=0` pour garder les réponses masquées lorsque la journalisation des prompts est activée

874* `model` : identifiant du modèle (par exemple, "claude-sonnet-5")876* `model` : identifiant du modèle (par exemple, "claude-sonnet-5")

875* `request_id` : ID de la requête API, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes)877* `request_id` : ID de la requête API, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes)

876* `message.uuid` : UUID de la dernière entrée de transcription de la réponse. Une réponse de l'API est conservée sous la forme d'une entrée de transcription par bloc de contenu ; il s'agit de la dernière, à laquelle se rattache le `parentUuid` du tour suivant. Nécessite Claude Code v2.1.214 ou ultérieur878* `message.uuid` : UUID de l'entrée finale de la réponse dans la transcription. Une réponse API est conservée sous forme d'une entrée de transcription par bloc de contenu ; il s'agit de la dernière, à partir de laquelle s'enchaîne le `parentUuid` du tour suivant.

877* `query_source` : sous-système ayant émis la requête, par exemple `"repl_main_thread"`, `"compact"` ou le nom d'un sous-agent879* `query_source` : sous-système ayant émis la requête, par exemple `"repl_main_thread"`, `"compact"` ou le nom d'un sous-agent

878 880 

879<h4 id="tool-result-event">881<h4 id="tool-result-event">


902* `tool_result_size_bytes` : taille en octets du résultat de l'outil904* `tool_result_size_bytes` : taille en octets du résultat de l'outil

903* `mcp_server_scope` : identifiant de portée du serveur MCP (pour les outils MCP)905* `mcp_server_scope` : identifiant de portée du serveur MCP (pour les outils MCP)

904* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : identité du commit d'un `git commit` réussi exécuté par l'outil Bash ou PowerShell. `vcs.ref.head.revision` est le SHA du commit, `vcs.ref.head.name` est la branche sur laquelle il a été créé et `vcs.ref.head.type` vaut `branch`. Le nom et le type sont omis lorsque le commit a été créé sur une HEAD détachée. Nécessite Claude Code v2.1.269 ou ultérieur906* `vcs.ref.head.revision`, `vcs.ref.head.name`, `vcs.ref.head.type` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : identité du commit d'un `git commit` réussi exécuté par l'outil Bash ou PowerShell. `vcs.ref.head.revision` est le SHA du commit, `vcs.ref.head.name` est la branche sur laquelle il a été créé et `vcs.ref.head.type` vaut `branch`. Le nom et le type sont omis lorsque le commit a été créé sur une HEAD détachée. Nécessite Claude Code v2.1.269 ou ultérieur

905* `tool_parameters` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : chaîne JSON contenant les paramètres propres à l'outil. Pour les serveurs intégrés de Claude Desktop, dans les sessions dont Claude Desktop est propriétaire, la paire `mcp_server_name`/`mcp_tool_name` est incluse même lorsque le flag est désactivé, selon la même exception liée à l'hôte que pour l'[événement de décision d'outil](#tool-decision-event), ce qui nécessite Claude Code v2.1.214 ou ultérieur. Les paramètres varient selon l'outil :907* `tool_parameters` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : Chaîne JSON contenant les paramètres propres à l'outil. Pour les serveurs intégrés de Claude Desktop, dans les sessions dont Claude Desktop est propriétaire, la paire `mcp_server_name`/`mcp_tool_name` est incluse même lorsque le flag est désactivé, selon la même exception relative aux noms définis par l'hôte que pour l'[événement de décision d'outil](#tool-decision-event). Les paramètres varient selon l'outil :

906 * Pour l'outil Bash : inclut `bash_command`, `full_command`, `timeout`, `description` et `dangerouslyDisableSandbox`, ainsi que `git_commit_id` et `git_branch` lorsqu'une commande `git commit` réussit. `git_commit_id` est le SHA complet du commit lorsque celui-ci est la HEAD du répertoire de travail de la session, et le SHA abrégé de git sinon. `git_branch` est la branche sur laquelle il a été créé, omise sur une HEAD détachée908 * Pour l'outil Bash : inclut `bash_command`, `full_command`, `timeout`, `description` et `dangerouslyDisableSandbox`, ainsi que `git_commit_id` et `git_branch` lorsqu'une commande `git commit` réussit. `git_commit_id` est le SHA complet du commit lorsque le commit est la HEAD du répertoire de travail de la session, et le SHA abrégé de git dans le cas contraire. `git_branch` est la branche sur laquelle il a été créé, omise sur une HEAD détachée

907 * Pour l'outil Bash de l'espace de travail de l'application de bureau, qui signale également `tool_name` comme `Bash` : inclut uniquement `bash_command`, `full_command` et `timeout`909 * Pour l'outil Bash de l'espace de travail de l'application de bureau, qui signale également `tool_name` comme `Bash` : inclut uniquement `bash_command`, `full_command` et `timeout`

908 * Pour les outils MCP : inclut `mcp_server_name`, `mcp_tool_name`910 * Pour les outils MCP : inclut `mcp_server_name`, `mcp_tool_name`

909 * Pour l'outil Skill : inclut `skill_name`911 * Pour l'outil Skill : inclut `skill_name`


933* `cache_read_tokens` : nombre de tokens lus depuis le cache935* `cache_read_tokens` : nombre de tokens lus depuis le cache

934* `cache_creation_tokens` : nombre de tokens utilisés pour la création du cache936* `cache_creation_tokens` : nombre de tokens utilisés pour la création du cache

935* `request_id` : ID de la requête API, par exemple `"req_011..."`, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes).937* `request_id` : ID de la requête API, par exemple `"req_011..."`, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes).

936* `client_request_id` : UUID généré par le client et envoyé dans l'en-tête de requête `x-client-request-id` ; consultez le tableau des [attributs de corrélation des événements](#event-correlation-attributes) pour savoir quand il est présent. Nécessite Claude Code v2.1.214 ou ultérieur938* `client_request_id` : UUID généré par le client et envoyé dans l'en-tête de requête `x-client-request-id` ; consultez le tableau des [attributs de corrélation des événements](#event-correlation-attributes) pour savoir quand il est présent

937* `speed` : `"fast"` ou `"normal"`, indiquant si le mode rapide était actif939* `speed` : `"fast"` ou `"normal"`, indiquant si le mode rapide était actif

938* `query_source` : sous-système ayant émis la requête, par exemple `"repl_main_thread"`, `"compact"` ou le nom d'un sous-agent940* `query_source` : sous-système ayant émis la requête, par exemple `"repl_main_thread"`, `"compact"` ou le nom d'un sous-agent

939* `effort` : [niveau d'effort](/docs/fr/model-config#adjust-effort-level) appliqué à la requête : `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Absent lorsque Claude Code n'envoie aucun niveau d'effort, par exemple avec un modèle qui ne prend pas en charge l'effort.941* `effort` : [niveau d'effort](/docs/fr/model-config#adjust-effort-level) appliqué à la requête : `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Absent lorsque Claude Code n'envoie aucun niveau d'effort, par exemple avec un modèle qui ne prend pas en charge l'effort.


959* `duration_ms` : durée de la requête en millisecondes961* `duration_ms` : durée de la requête en millisecondes

960* `attempt` : nombre de tentatives effectuées, y compris la requête initiale. [Détecter l'épuisement des nouvelles tentatives](#detect-retry-exhaustion) indique quand le comptage recommence962* `attempt` : nombre de tentatives effectuées, y compris la requête initiale. [Détecter l'épuisement des nouvelles tentatives](#detect-retry-exhaustion) indique quand le comptage recommence

961* `request_id` : ID de la requête API, par exemple `"req_011..."`, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes).963* `request_id` : ID de la requête API, par exemple `"req_011..."`, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes).

962* `client_request_id` : UUID généré par le client et envoyé dans l'en-tête de requête `x-client-request-id`. Disponible même lorsqu'un échec, comme un délai d'expiration ou une erreur de connexion, n'a jamais produit de `request_id` côté serveur ; consultez le tableau des [attributs de corrélation des événements](#event-correlation-attributes) pour savoir quand il est présent. Nécessite Claude Code v2.1.214 ou ultérieur964* `client_request_id` : UUID généré par le client et envoyé dans l'en-tête de requête `x-client-request-id`. Disponible même lorsqu'un échec tel qu'un délai d'expiration ou une erreur de connexion n'a jamais produit de `request_id` serveur ; consultez le tableau des [attributs de corrélation des événements](#event-correlation-attributes) pour savoir quand il est présent.

963* `speed` : `"fast"` ou `"normal"`, indiquant si le mode rapide était actif965* `speed` : `"fast"` ou `"normal"`, indiquant si le mode rapide était actif

964* `query_source` : sous-système ayant émis la requête, par exemple `"repl_main_thread"`, `"compact"` ou le nom d'un sous-agent966* `query_source` : sous-système ayant émis la requête, par exemple `"repl_main_thread"`, `"compact"` ou le nom d'un sous-agent

965* `effort` : [niveau d'effort](/docs/fr/model-config#adjust-effort-level) appliqué à la requête. Absent lorsque Claude Code n'envoie aucun niveau d'effort, par exemple avec un modèle qui ne prend pas en charge l'effort.967* `effort` : [niveau d'effort](/docs/fr/model-config#adjust-effort-level) appliqué à la requête. Absent lorsque Claude Code n'envoie aucun niveau d'effort, par exemple avec un modèle qui ne prend pas en charge l'effort.


1057* `tool_name` : nom de l'outil (par exemple, "Read", "Edit", "Write", "NotebookEdit")1059* `tool_name` : nom de l'outil (par exemple, "Read", "Edit", "Write", "NotebookEdit")

1058* `tool_use_id` : identifiant unique de cette invocation d'outil. Correspond au `tool_use_id` transmis aux hooks, ce qui permet de corréler les événements OTel avec les données capturées par les hooks.1060* `tool_use_id` : identifiant unique de cette invocation d'outil. Correspond au `tool_use_id` transmis aux hooks, ce qui permet de corréler les événements OTel avec les données capturées par les hooks.

1059* `decision` : `"accept"` ou `"reject"`1061* `decision` : `"accept"` ou `"reject"`

1060* `tool_source` : toujours présent. Provenance de l'outil, sous forme d'ensemble fermé de valeurs définies par la CLI. Nécessite Claude Code v2.1.214 ou ultérieur1062* `tool_source` : Toujours présent. La provenance de l'outil, sous forme d'un ensemble fermé de valeurs définies par la CLI :

1061 * `"builtin"` : les outils propres à la CLI1063 * `"builtin"` : les propres outils de la CLI

1062 * `"mcp"` : les serveurs MCP en général1064 * `"mcp"` : les serveurs MCP en général

1063 * `"sdk_host_builtin_mcp"` : un serveur in-process intégré à Claude Desktop lui-même, dans une session dont Claude Desktop est propriétaire. Claude Desktop est propriétaire d'une session qu'il a démarrée depuis l'un de ses propres points d'entrée, `claude-desktop`, `claude-desktop-3p` ou `local-agent`, lorsque cette session n'est pas un enfant imbriqué ; les sessions imbriquées, y compris celles que Claude Code lance lui-même, signalent ces serveurs comme `"mcp"`1065 * `"sdk_host_builtin_mcp"` : un serveur in-process intégré à Claude Desktop lui-même, dans une session dont Claude Desktop est propriétaire. Claude Desktop est propriétaire d'une session qu'il a démarrée depuis l'un de ses propres points d'entrée, `claude-desktop`, `claude-desktop-3p` ou `local-agent`, lorsque cette session n'est pas un enfant imbriqué ; les sessions imbriquées, y compris les sessions que Claude Code lance lui-même, signalent ces serveurs comme `"mcp"`

1064* `source` : origine de la décision :1066* `source` : Origine de la décision :

1065 * `"config"` : décision prise automatiquement sans demande de permission, en fonction des paramètres du projet, des règles d'autorisation ou de refus des paramètres personnels de l'utilisateur, de la politique gérée de l'entreprise, des flags `--allowedTools` ou `--disallowedTools`, du mode de permission actif, d'une autorisation limitée à la session accordée lors d'une demande de permission antérieure dans la même session CLI interactive, ou parce que l'outil est intrinsèquement sûr. L'événement n'indique pas laquelle de ces sources a correspondu. Claude Code signale également `"config"` lorsque la demande de permission elle-même échoue, par exemple lorsque le callback [`canUseTool`](/docs/fr/agent-sdk/typescript#canusetool) de l'Agent SDK ou l'outil [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) renvoie un résultat invalide, ou lorsque le flux d'entrée se ferme alors que la demande est en attente. Avant la v2.1.216, Claude Code signalait ces échecs comme `"user_reject"`.1067 * `"config"` : Décision prise automatiquement sans demande, par l'une de ces sources :

1066 * `"hook"` : un hook `PreToolUse` ou `PermissionRequest` a renvoyé la décision.1068 

1067 * `"user_permanent"` : émis lorsque l'utilisateur a choisi « Yes, and don't ask again for ... » lors d'une demande de permission, ce qui enregistre une règle d'autorisation dans ses paramètres personnels. Dans la CLI interactive, cette valeur n'est émise que pour ce choix lui-même ; les appels ultérieurs qui correspondent à la règle enregistrée émettent `"config"` à la place. Dans les sessions Agent SDK ou `-p` non interactives, le choix initial comme les correspondances ultérieures avec la règle émettent `"user_permanent"`. Traité comme une acceptation.1069 * Les paramètres du projet

1068 * `"user_temporary"` : émis lorsque l'utilisateur a choisi « Yes » lors d'une demande de permission pour une approbation ponctuelle, ou a choisi une option accordant l'accès pour le reste de la session lors d'une demande de modification ou de lecture de fichier. Dans la CLI interactive, cette valeur n'est émise que pour le choix lui-même ; les appels ultérieurs autorisés par cette autorisation limitée à la session émettent `"config"` à la place. Dans les sessions Agent SDK ou `-p` non interactives, le choix comme les correspondances ultérieures émettent `"user_temporary"`. Traité comme une acceptation.1070 * Les règles d'autorisation ou de refus des paramètres personnels de l'utilisateur

1069 * `"user_abort"` : émis lorsque l'utilisateur a fermé la demande de permission sans répondre. Dans les sessions Agent SDK et `-p` non interactives, cela inclut l'interruption du tour alors qu'une demande de permission `canUseTool` ou `--permission-prompt-tool` est en attente ; avant la v2.1.216, Claude Code signalait cette interruption comme `"user_reject"`. Traité comme un refus.1071 * La politique gérée de l'entreprise

1070 * `"user_reject"` : émis lorsque l'utilisateur a choisi « No » lors de la demande. Dans la CLI interactive, cette valeur n'est émise que pour ce choix lui-même ; les appels qui correspondent à une règle de refus dans les paramètres personnels de l'utilisateur émettent `"config"` à la place. Dans les sessions Agent SDK ou `-p` non interactives, les appels qui correspondent à une règle de refus dans les paramètres personnels émettent `"user_reject"`. Traité comme un refus.1072 * Les flags `--allowedTools` ou `--disallowedTools`

1071* `tool_parameters` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : chaîne JSON contenant les paramètres propres à l'outil. Même structure que pour l'[événement de résultat d'outil](#tool-result-event), sans les champs post-exécution comme `git_commit_id`. Les valeurs peuvent différer de celles de `tool_result` pour un appel accepté si la décision de permission réécrit l'entrée de l'outil via `updatedInput`. Utilisez cet attribut pour voir quelle commande a été refusée lorsque `decision` vaut `"reject"`.1073 * Le mode de permission actif

1072 * Pour les outils `"sdk_host_builtin_mcp"` : `mcp_server_name` et `mcp_tool_name` sont inclus même lorsque `OTEL_LOG_TOOL_DETAILS` est désactivé, car c'est l'application hôte qui définit ces noms ; sans eux, un appel refusé vers l'un de ces serveurs intégrés ne pourrait pas être attribué dans le flux par défaut. Pour les serveurs MCP configurés par l'utilisateur, le `tool_name` de l'événement est toujours la chaîne littérale `"mcp_tool"`, et les noms du serveur et de l'outil n'apparaissent que dans `tool_parameters` lorsque le flag est activé ; le contenu des arguments nécessite le flag dans tous les cas. Nécessite Claude Code v2.1.214 ou ultérieur1074 * Le classifieur du mode auto, dont le même événement consigne le verdict dans `classifier_verdict`

1073 * Pour l'outil Bash : inclut `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. L'outil bash de l'espace de travail de l'application de bureau signale également `tool_name` comme `Bash`, mais inclut uniquement `bash_command`, `full_command` et `timeout`1075 * Une autorisation pour le reste de la session, accordée lors d'une demande de permission antérieure dans la même session CLI interactive

1076 * Le caractère intrinsèquement sûr de l'outil

1077 

1078 La valeur `source` n'indique pas laquelle de ces sources a correspondu.

1079 

1080 Claude Code rapporte également `"config"` lorsque la demande de permission elle-même échoue. Par exemple, cette demande échoue lorsque le callback [`canUseTool`](/docs/fr/agent-sdk/typescript#canusetool) de l'Agent SDK ou l'outil [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) renvoie un résultat invalide, ou lorsque le flux d'entrée se ferme alors que la demande est en attente. Avant la v2.1.216, Claude Code rapportait ces échecs comme `"user_reject"`.

1081 * `"hook"` : Un hook `PreToolUse` ou `PermissionRequest` a renvoyé la décision.

1082 * `"user_permanent"` : Émis lorsque l'utilisateur a choisi « Yes, and don't ask again for ... » lors d'une demande de permission, ce qui enregistre une règle d'autorisation dans ses paramètres personnels. Dans la CLI interactive, cette valeur n'est émise que pour ce choix lui-même ; les appels ultérieurs correspondant à la règle enregistrée émettent `"config"` à la place. Dans les sessions Agent SDK ou non interactives `-p`, le choix initial comme les correspondances ultérieures avec la règle émettent `"user_permanent"`. Traité comme une acceptation.

1083 * `"user_temporary"` : Émis lorsque l'utilisateur a choisi « Yes » lors d'une demande de permission pour une approbation ponctuelle, ou a choisi une option accordant l'accès pour le reste de la session lors d'une demande de modification ou de lecture de fichier. Dans la CLI interactive, cette valeur n'est émise que pour le choix lui-même ; les appels ultérieurs autorisés par cette autorisation limitée à la session émettent `"config"` à la place. Dans les sessions Agent SDK ou non interactives `-p`, le choix comme les correspondances ultérieures émettent `"user_temporary"`. Traité comme une acceptation.

1084 * `"user_abort"` : Émis lorsque l'utilisateur a fermé la demande de permission sans y répondre. Dans les sessions Agent SDK et non interactives `-p`, cela inclut l'interruption du tour alors qu'une demande de permission `canUseTool` ou `--permission-prompt-tool` est en attente ; avant la v2.1.216, Claude Code rapportait cette interruption comme `"user_reject"`. Traité comme un rejet.

1085 * `"user_reject"` : Émis lorsque l'utilisateur a choisi « No » lors de la demande. Dans la CLI interactive, cette valeur n'est émise que pour ce choix lui-même ; les appels correspondant à une règle de refus des paramètres personnels de l'utilisateur émettent `"config"` à la place. Dans les sessions Agent SDK ou non interactives `-p`, les appels correspondant à une règle de refus des paramètres personnels émettent `"user_reject"`. Traité comme un rejet.

1086* `classifier_verdict` : Le verdict du [classifieur](/docs/fr/permission-modes#how-the-classifier-evaluates-actions) du mode auto pour l'appel, ou la raison pour laquelle Claude Code a refusé l'appel en l'absence de verdict. Nécessite Claude Code v2.1.301 ou ultérieur

1087 

1088 * `"allow"` : le classifieur a approuvé l'appel

1089 * `"block"` : le classifieur a bloqué l'appel. Une vérification du classifieur qui échoue en cours de route peut également aboutir à `"block"` ; une panne partielle du classifieur peut donc apparaître comme une hausse des blocages plutôt que comme `"unavailable"`

1090 * `"no_verdict"` : la vérification s'est exécutée mais n'a donné [aucun verdict exploitable](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action), et Claude Code a donc refusé l'appel. Ce refus ne signifie pas que le classifieur a jugé l'appel dangereux

1091 * `"unavailable"` : la requête adressée au classifieur a échoué, par exemple en raison d'une limite de débit, d'un délai d'expiration ou d'une erreur de connexion, et Claude Code a donc refusé l'appel. Avec la [revue par le classifieur côté serveur](/docs/fr/permission-modes#server-side-classifier-review), cette valeur marque également un appel refusé parce que [le serveur n'a renvoyé aucun verdict de sécurité](/docs/fr/errors#the-server-returned-no-safety-verdict)

1092 

1093 L'attribut apparaît également sur les appels en mode plan lorsque [le classifieur examine les commandes en mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode). L'attribut est absent dans les cas suivants :

1094 

1095 * Une [règle de permission](/docs/fr/permissions#manage-permissions) d'autorisation ou de refus a décidé de l'appel

1096 * Claude Code a approuvé l'appel en mode auto sans consulter le classifieur

1097 * L'utilisateur a répondu à la demande que Claude Code a affichée après des [blocages répétés](/docs/fr/permission-modes#repeated-block-thresholds)

1098 * Dans une exécution `-p` sans `--permission-prompt-tool`, Claude Code a refusé l'appel après des blocages répétés, car personne n'était là pour répondre à une demande. Cet événement rapporte `decision` comme `"reject"` et `source` comme `"config"`

1099* `classifier_category` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : Le nom de la [règle intégrée](/docs/fr/auto-mode-config#inspect-the-defaults-and-your-effective-config) que le classifieur a citée lorsqu'il a bloqué l'appel, en minuscules avec des traits de soulignement, par exemple `"data_exfiltration"` pour la règle Data Exfiltration. Nécessite Claude Code v2.1.301 ou ultérieur. L'attribut est présent lorsque toutes ces conditions sont réunies :

1100 * `classifier_verdict` vaut `"block"`

1101 * Claude Code a lui-même envoyé la requête au classifieur, plutôt que d'utiliser la [revue par le classifieur côté serveur](/docs/fr/permission-modes#server-side-classifier-review)

1102 * Le classifieur a cité exactement une règle, et cette règle est une règle intégrée plutôt qu'une règle que vous avez écrite

1103* `permission_mode` : [Mode de permission](/docs/fr/permission-modes) actif au début de la vérification de permission de cet appel : `"default"`, `"plan"`, `"acceptEdits"`, `"bypassPermissions"`, `"dontAsk"` ou `"auto"`. Le mode manuel apparaît comme `"default"`. Un appel de [sous-agent](/docs/fr/sub-agents#permission-modes) rapporte le mode de permission du sous-agent plutôt que celui de la session. Nécessite Claude Code v2.1.301 ou ultérieur

1104* `tool_parameters` (lorsque `OTEL_LOG_TOOL_DETAILS=1`) : Chaîne JSON contenant les paramètres propres à l'outil. Même forme que pour l'[événement de résultat d'outil](#tool-result-event), sans les champs postérieurs à l'exécution tels que `git_commit_id`. Les valeurs peuvent différer de celles de `tool_result` pour un appel accepté si la décision de permission réécrit l'entrée de l'outil via `updatedInput`. Utilisez cet attribut pour voir quelle commande a été rejetée lorsque `decision` vaut `"reject"`.

1105 * Pour les outils `"sdk_host_builtin_mcp"` : `mcp_server_name` et `mcp_tool_name` sont inclus même lorsque `OTEL_LOG_TOOL_DETAILS` est désactivé, car l'application hôte définit ces noms ; sans eux, un appel rejeté vers l'un de ces serveurs intégrés serait impossible à attribuer dans le flux par défaut. Pour les serveurs MCP configurés par l'utilisateur, le `tool_name` de l'événement est toujours la valeur littérale `"mcp_tool"`, et les noms du serveur et de l'outil n'apparaissent que dans `tool_parameters` lorsque le flag est activé ; le contenu des arguments nécessite le flag dans tous les cas.

1106 * Pour l'outil Bash : inclut `bash_command`, `full_command`, `timeout`, `description`, `dangerouslyDisableSandbox`. L'outil bash de l'espace de travail de l'application de bureau signale également `tool_name` comme `Bash`, mais n'inclut que `bash_command`, `full_command` et `timeout`

1074 * Pour les outils MCP : inclut `mcp_server_name`, `mcp_tool_name`1107 * Pour les outils MCP : inclut `mcp_server_name`, `mcp_tool_name`

1075 * Pour l'outil Skill : inclut `skill_name`1108 * Pour l'outil Skill : inclut `skill_name`

1076 * Pour l'outil Agent ou l'ancien outil Task : inclut `subagent_type`1109 * Pour l'outil Agent ou l'ancien outil Task : inclut `subagent_type`


1081 1114 

1082Journalisé lorsque le mode de permission change, par exemple lors d'un passage d'un mode à l'autre avec `Shift+Tab`, de la sortie du mode plan ou d'une vérification d'accès au mode auto.1115Journalisé lorsque le mode de permission change, par exemple lors d'un passage d'un mode à l'autre avec `Shift+Tab`, de la sortie du mode plan ou d'une vérification d'accès au mode auto.

1083 1116 

1117Pour regrouper les appels d'outils selon le mode de permission dans lequel chacun a été vérifié, utilisez `permission_mode` sur l'[événement de décision d'outil](#tool-decision-event).

1118 

1084**Nom de l'événement** : `claude_code.permission_mode_changed`1119**Nom de l'événement** : `claude_code.permission_mode_changed`

1085 1120 

1086**Attributs** :1121**Attributs** :


1091* `event.sequence` : compteur par processus pour ordonner les événements, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes)1126* `event.sequence` : compteur par processus pour ordonner les événements, décrit dans [Attributs de corrélation des événements](#event-correlation-attributes)

1092* `from_mode` : mode de permission précédent, par exemple `"default"`, `"plan"`, `"acceptEdits"`, `"auto"` ou `"bypassPermissions"`1127* `from_mode` : mode de permission précédent, par exemple `"default"`, `"plan"`, `"acceptEdits"`, `"auto"` ou `"bypassPermissions"`

1093* `to_mode` : nouveau mode de permission1128* `to_mode` : nouveau mode de permission

1094* `trigger` : ce qui a provoqué le changement. L'une des valeurs `"shift_tab"`, `"exit_plan_mode"`, `"auto_gate_denied"` ou `"auto_opt_in"`. Absent pour certains changements, par exemple lorsque le SDK définit le mode de permission via [`setPermissionMode()`](/docs/fr/agent-sdk/typescript#query-object)1129* `trigger` : La cause du changement, par exemple `"shift_tab"`, `"exit_plan_mode"` ou `"auto_gate_denied"`. Absent pour certains changements, par exemple lorsque le SDK définit le mode de permission via [`setPermissionMode()`](/docs/fr/agent-sdk/typescript#query-object)

1095 1130 

1096<h4 id="auth-event">1131<h4 id="auth-event">

1097 Événement d'authentification1132 Événement d'authentification


1402* `total_tool_uses` : nombre d'appels d'outils effectués par le sous-agent sur l'ensemble de l'exécution1437* `total_tool_uses` : nombre d'appels d'outils effectués par le sous-agent sur l'ensemble de l'exécution

1403* `duration_ms` : durée d'exécution en millisecondes1438* `duration_ms` : durée d'exécution en millisecondes

1404* `model` : le modèle sur lequel le sous-agent a été résolu pour s'exécuter1439* `model` : le modèle sur lequel le sous-agent a été résolu pour s'exécuter

1405* `final_model` : le modèle qui a produit la réponse finale du sous-agent, qui diffère de `model` après un changement en cours d'exécution, par exemple vers un modèle de secours. Nécessite Claude Code v2.1.212 ou version ultérieure1440* `final_model` : le modèle qui a produit la réponse finale du sous-agent, qui diffère de `model` après un changement en cours d'exécution, par exemple un basculement vers un modèle de secours

1406* `model_swapped` : indique si plus d'un modèle a traité les requêtes du sous-agent. Nécessite Claude Code v2.1.212 ou version ultérieure1441* `model_swapped` : indique si plusieurs modèles ont traité les requêtes du sous-agent

1407* `plugin_id_hash`, `plugin.name` : présents pour les agents fournis par des plugins. Les noms des plugins de la marketplace officielle apparaissent tels quels ; les autres noms de plugins sont remplacés par `"third-party"`, sauf si `OTEL_LOG_TOOL_DETAILS=1` est défini1442* `plugin_id_hash`, `plugin.name` : présents pour les agents fournis par des plugins. Les noms des plugins de la marketplace officielle apparaissent tels quels ; les autres noms de plugins sont remplacés par `"third-party"`, sauf si `OTEL_LOG_TOOL_DETAILS=1` est défini

1408 1443 

1409<h4 id="feedback-survey-event">1444<h4 id="feedback-survey-event">


1548 Les métriques de coûts sont des approximations. Pour les données de facturation officielles, consultez votre fournisseur d'API (Claude Console, Amazon Bedrock ou Google Cloud's Agent Platform).1583 Les métriques de coûts sont des approximations. Pour les données de facturation officielles, consultez votre fournisseur d'API (Claude Console, Amazon Bedrock ou Google Cloud's Agent Platform).

1549</Note>1584</Note>

1550 1585 

1551Claude Code compte chaque réponse en streaming vers les métriques de coûts et de jetons exactement une fois, y compris lorsqu'une passerelle ou un proxy derrière `ANTHROPIC_BASE_URL` diffuse l'utilisation progressivement sur plusieurs images. Avant la v2.1.214, les flux qui contenaient l'utilisation dans plus d'une image gonflaient `claude_code.cost.usage` et `claude_code.token.usage` d'environ une demande complète supplémentaire par image supplémentaire.1586Claude Code compte chaque réponse en streaming dans les métriques de coûts et de tokens exactement une fois, y compris lorsqu'une passerelle ou un proxy derrière `ANTHROPIC_BASE_URL` diffuse l'utilisation progressivement sur plusieurs trames.

1552 1587 

1553<h3 id="alerting-and-segmentation">1588<h3 id="alerting-and-segmentation">

1554 Alertes et segmentation1589 Alertes et segmentation


1570 1605 

1571Claude Code réessaie les demandes d'API échouées en interne et n'émet un seul événement `claude_code.api_error` qu'après avoir abandonné, donc l'événement lui-même est le signal terminal pour cette demande. Les tentatives de nouvelle tentative intermédiaires ne sont pas enregistrées comme des événements séparés.1606Claude Code réessaie les demandes d'API échouées en interne et n'émet un seul événement `claude_code.api_error` qu'après avoir abandonné, donc l'événement lui-même est le signal terminal pour cette demande. Les tentatives de nouvelle tentative intermédiaires ne sont pas enregistrées comme des événements séparés.

1572 1607 

1573L'attribut `attempt` sur l'événement enregistre le nombre de tentatives. `CLAUDE_CODE_MAX_RETRIES` est par défaut 10 et plafonné à 15. À partir de la v2.1.199, vous pouvez définir `CLAUDE_CODE_RETRY_WATCHDOG` pour augmenter la valeur par défaut et supprimer le plafond.1608L'attribut `attempt` sur l'événement enregistre le nombre de tentatives. `CLAUDE_CODE_MAX_RETRIES` vaut 10 par défaut et est plafonné à 15 ; lorsque [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/fr/env-vars) est défini, la valeur par défaut est plus élevée et il n'y a pas de plafond.

1574 1609 

1575Lorsque la requête épuise toutes les nouvelles tentatives sur une erreur transitoire, `attempt` vaut au maximum un de plus que cette limite effective : 11 par défaut.1610Lorsque la requête épuise toutes les nouvelles tentatives sur une erreur transitoire, `attempt` vaut au maximum un de plus que cette limite effective : 11 par défaut.

1576 1611 


1646 1681 

1647Sans `OTEL_LOG_TOOL_DETAILS`, ces événements suppriment le détail d'identification :1682Sans `OTEL_LOG_TOOL_DETAILS`, ces événements suppriment le détail d'identification :

1648 1683 

1649* `tool_result` : conserve `mcp_server_scope` et un `tool_name` redacté au littéral `"mcp_tool"` pour les serveurs configurés par l'utilisateur, omet le contenu des arguments. Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, il conserve également la paire `mcp_server_name`/`mcp_tool_name` à l'intérieur de `tool_parameters`, la même exception créée par l'hôte que `tool_decision`, nécessitant Claude Code v2.1.214 ou ultérieur1684* `tool_result` : conserve `mcp_server_scope` et un `tool_name` redacté au littéral `"mcp_tool"` pour les serveurs configurés par l'utilisateur, omet le contenu des arguments. Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, il conserve également la paire `mcp_server_name`/`mcp_tool_name` à l'intérieur de `tool_parameters`, la même exception créée par l'hôte que `tool_decision`

1650* `tool_decision` : conserve `tool_source` et un `tool_name` redacté au littéral `"mcp_tool"` pour les serveurs configurés par l'utilisateur, omet le contenu des arguments. Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, il conserve également la paire `mcp_server_name`/`mcp_tool_name` à l'intérieur de `tool_parameters` ; `tool_source` et la paire de noms nécessitent tous deux Claude Code v2.1.214 ou ultérieur1685* `tool_decision` : conserve `tool_source` et un `tool_name` redacté au littéral `"mcp_tool"` pour les serveurs configurés par l'utilisateur, omet le contenu des arguments. Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, il conserve également la paire `mcp_server_name`/`mcp_tool_name` à l'intérieur de `tool_parameters`

1651* `mcp_server_connection` : omet `server_name` et le message d'erreur, mais conserve `is_plugin`, `plugin_id_hash`, et `plugin.name`, avec les noms de plugins non-Anthropic redactés au littéral `"third-party"`, de sorte que les serveurs fournis par les plugins restent distinguables sans journalisation détaillée1686* `mcp_server_connection` : omet `server_name` et le message d'erreur, mais conserve `is_plugin`, `plugin_id_hash`, et `plugin.name`, avec les noms de plugins non-Anthropic redactés au littéral `"third-party"`, de sorte que les serveurs fournis par les plugins restent distinguables sans journalisation détaillée

1652 1687 

1653<h3 id="map-security-questions-to-events">1688<h3 id="map-security-questions-to-events">


1658 1693 

1659| Signal | Événement | Attributs clés |1694| Signal | Événement | Attributs clés |

1660| - | - | - |1695| - | - | - |

1661| Appel d'outil autorisé ou refusé, et par quoi | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1696| Appel d'outil autorisé ou refusé, et l'origine de la décision, comme une règle, un hook ou l'utilisateur | [`tool_decision`](#tool-decision-event) | `decision`, `source`, `classifier_verdict`, `permission_mode`, `tool_name` ; `tool_parameters` lorsque vous définissez `OTEL_LOG_TOOL_DETAILS=1` |

1697| Le classifieur du mode auto a autorisé ou bloqué un appel d'outil, ou Claude Code a refusé l'appel sans verdict du classifieur | [`tool_decision`](#tool-decision-event) lorsque `classifier_verdict` est présent. Pour un refus sans verdict, `classifier_verdict` vaut `"no_verdict"` ou `"unavailable"` | `classifier_verdict`, `permission_mode`, `tool_name` ; `classifier_category` lorsque vous définissez `OTEL_LOG_TOOL_DETAILS=1` |

1662| Escalade du mode de permission | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1698| Escalade du mode de permission | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1699| Mode de permission dans lequel chaque appel d'outil a été vérifié, y compris les appels effectués par les sous-agents | [`tool_decision`](#tool-decision-event) | `permission_mode`, `session.id` |

1663| Hook de politique a bloqué une action | `hook_execution_complete` | `hook_event`, `num_blocking` |1700| Hook de politique a bloqué une action | `hook_execution_complete` | `hook_event`, `num_blocking` |

1664| Connexion, déconnexion et défaillance d'authentification | `auth` | `action`, `success`, `error_category` |1701| Connexion, déconnexion et défaillance d'authentification | `auth` | `action`, `success`, `error_category` |

1665| Connexion du serveur MCP ou défaillance | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |1702| Connexion du serveur MCP ou défaillance | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |


1824 1861 

1825 * Sous le traçage bêta détaillé, les intervalles portent également les nouveaux messages utilisateur, les résultats d'outils et les rappels système envoyés avec chaque requête, le texte du prompt système et la sortie du modèle. [Attributs de contenu sous le traçage bêta détaillé](#new-context-gates) répertorie chaque attribut. L'événement `claude_code.system_prompt` porte le prompt système complet1862 * Sous le traçage bêta détaillé, les intervalles portent également les nouveaux messages utilisateur, les résultats d'outils et les rappels système envoyés avec chaque requête, le texte du prompt système et la sortie du modèle. [Attributs de contenu sous le traçage bêta détaillé](#new-context-gates) répertorie chaque attribut. L'événement `claude_code.system_prompt` porte le prompt système complet

1826* Le texte de réponse de l'assistant n'est pas collecté par défaut. Seule la longueur de la réponse est enregistrée. Pour inclure le texte de réponse, définissez `OTEL_LOG_ASSISTANT_RESPONSES=1`. Comme toutes les données OpenTelemetry de Claude Code, le texte de réponse est envoyé uniquement à l'endpoint OTel que vous configurez, jamais à Anthropic. Lorsque cette variable n'est pas définie, `OTEL_LOG_USER_PROMPTS` est utilisé comme solution de repli, donc définissez `OTEL_LOG_ASSISTANT_RESPONSES=0` si vous souhaitez le contenu du prompt sans contenu de réponse dans les événements. Sous le traçage bêta détaillé, l'intervalle `claude_code.llm_request` porte toujours la sortie du modèle dans [`response.model_output`](#new-context-gates), qui suit `OTEL_LOG_USER_PROMPTS` plutôt que cette variable1863* Le texte de réponse de l'assistant n'est pas collecté par défaut. Seule la longueur de la réponse est enregistrée. Pour inclure le texte de réponse, définissez `OTEL_LOG_ASSISTANT_RESPONSES=1`. Comme toutes les données OpenTelemetry de Claude Code, le texte de réponse est envoyé uniquement à l'endpoint OTel que vous configurez, jamais à Anthropic. Lorsque cette variable n'est pas définie, `OTEL_LOG_USER_PROMPTS` est utilisé comme solution de repli, donc définissez `OTEL_LOG_ASSISTANT_RESPONSES=0` si vous souhaitez le contenu du prompt sans contenu de réponse dans les événements. Sous le traçage bêta détaillé, l'intervalle `claude_code.llm_request` porte toujours la sortie du modèle dans [`response.model_output`](#new-context-gates), qui suit `OTEL_LOG_USER_PROMPTS` plutôt que cette variable

1827* Les arguments d'entrée d'outil et les paramètres ne sont pas journalisés par défaut. Pour les inclure, définissez `OTEL_LOG_TOOL_DETAILS=1`. Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, `tool_decision` et `tool_result` portent la paire `mcp_server_name`/`mcp_tool_name`, des noms créés par l'hôte plutôt que du contenu d'argument, même avec le flag désactivé. L'exception nécessite Claude Code v2.1.214 ou version ultérieure. Ces données sont envoyées uniquement à l'endpoint OTEL que vous configurez, jamais à Anthropic. Les arguments peuvent toujours contenir des valeurs sensibles, donc configurez votre backend de télémétrie pour filtrer ou masquer ces attributs selon les besoins. Lorsqu'activé :1864* Les arguments d'entrée d'outil et les paramètres ne sont pas journalisés par défaut. Pour les inclure, définissez `OTEL_LOG_TOOL_DETAILS=1`. Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, `tool_decision` et `tool_result` portent la paire `mcp_server_name`/`mcp_tool_name`, des noms créés par l'hôte plutôt que du contenu d'argument, même avec le flag désactivé. Ces données sont envoyées uniquement à l'endpoint OTEL que vous configurez, jamais à Anthropic. Les arguments peuvent toujours contenir des valeurs sensibles, donc configurez votre backend de télémétrie pour filtrer ou masquer ces attributs selon les besoins. Lorsqu'activé :

1828 * Les événements `tool_result` et `tool_decision` incluent un attribut `tool_parameters` avec les commandes Bash, les noms de serveur MCP et d'outil, et les noms de skills. Les champs tels que `full_command` sont émis sans troncature1865 * Les événements `tool_result` et `tool_decision` incluent un attribut `tool_parameters` avec les commandes Bash, les noms de serveur MCP et d'outil, et les noms de skills. Les champs tels que `full_command` sont émis sans troncature

1829 * Les événements `tool_result` incluent également un attribut `tool_input` avec les chemins de fichiers, les URL, les modèles de recherche et d'autres arguments. Les valeurs individuelles dépassant 512 caractères sont tronquées et le total est limité à environ 4 K caractères1866 * Les événements `tool_result` incluent également un attribut `tool_input` avec les chemins de fichiers, les URL, les modèles de recherche et d'autres arguments. Les valeurs individuelles dépassant 512 caractères sont tronquées et le total est limité à environ 4 K caractères

1830 * Les événements `user_prompt` incluent le `command_name` verbatim pour les commandes personnalisées, de plugin et MCP1867 * Les événements `user_prompt` incluent le `command_name` verbatim pour les commandes personnalisées, de plugin et MCP

network-config.md +19 −19

Details

200</Note>200</Note>

201 201 

202<h2 id="streaming-idle-watchdogs">202<h2 id="streaming-idle-watchdogs">

203 Chiens de garde d'inactivité du streaming203 Watchdogs d'inactivité du streaming

204</h2>204</h2>

205 205 

206Claude Code exécute quatre minuteurs indépendants qui interrompent une réponse de modèle en streaming lorsqu'elle devient silencieuse, de sorte qu'une connexion morte échoue et réessaie au lieu de rester bloquée. Une requête qui ne reçoit aucun en-tête de réponse se termine de l'une des deux façons suivantes :206Claude Code exécute quatre minuteurs indépendants qui interrompent une réponse du modèle en streaming lorsqu'elle devient silencieuse, afin qu'une connexion morte échoue et soit réessayée au lieu de rester bloquée. Une requête qui ne reçoit aucun en-tête de réponse se termine de l'une des deux manières suivantes :

207 207 

208* **Là où la limite du premier octet s'exécute** : la première tentative se termine à cette limite. Pour la modifier, définissez `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`. Pour l'attente de la nouvelle tentative, voir [Aucune réponse de l'API](/docs/fr/errors#no-response-from-api).208* **Là où le délai du premier octet s'applique** : la première tentative se termine à ce délai. Pour le modifier, définissez `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`. Pour l'attente de la nouvelle tentative, consultez [No response from API](/docs/fr/errors#no-response-from-api).

209* **Sur les autres connexions** : la requête se termine après 5 à 6 minutes, lorsque le délai d'inactivité du corps se déclenche, sauf si vous avez désactivé ce délai. Pour la terminer plus tôt, réduisez `API_TIMEOUT_MS`.209* **Sur les autres connexions** : la requête se termine après 5 à 6 minutes, lorsque le délai d'inactivité du corps se déclenche, sauf si vous avez désactivé ce délai. Pour y mettre fin plus tôt, réduisez `API_TIMEOUT_MS`.

210 210 

211| Minuteur | Interrompt quand | S'exécute sur | Délai d'expiration par défaut |211| Minuteur | Interrompt lorsque | S'exécute sur | Délai d'expiration par défaut |

212| :- | :- | :- | :- |212| :- | :- | :- | :- |

213| Limite du premier octet | Aucun en-tête de réponse n'arrive après que Claude Code envoie la requête | API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), y compris via un proxy HTTPS, mais pas quand `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` les acheminent via une [passerelle](/docs/fr/gateways). Opt-in sur Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Google Cloud's Agent Platform ou Microsoft Foundry, ni dans une session de [passerelle Claude apps](/docs/fr/claude-apps-gateway) | 180 secondes sur l'API Anthropic directe, 300 secondes ailleurs, plus une seconde par 32 Ko de corps de requête |213| Délai du premier octet | Aucun en-tête de réponse n'arrive après l'envoi de la requête par Claude Code | API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), y compris via un proxy HTTPS, mais pas lorsque `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` les fait passer par une [passerelle](/docs/fr/gateways). Activable sur Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Agent Platform de Google Cloud ni sur Microsoft Foundry, ni dans une session [Claude apps gateway](/docs/fr/claude-apps-gateway) | 180 secondes sur l'API Anthropic directe, 300 secondes ailleurs, plus une seconde par tranche de 32 Ko de corps de requête |

214| Chien de garde au niveau des événements | Aucun événement de réponse ne s'analyse. Sur les connexions où le chien de garde au niveau des octets s'exécute, les octets arrivants, y compris les pings de maintien de connexion, réinitialisent également ce chien de garde, pendant environ cinq minutes sans événement analysé | Tous les fournisseurs | 300 secondes |214| Watchdog au niveau des événements | Aucun événement de réponse n'est analysé. Là où le watchdog au niveau des octets s'exécute sur une connexion autre qu'Amazon Bedrock, les octets reçus, y compris les pings keep-alive, réinitialisent également ce watchdog, pendant environ cinq minutes au maximum sans événement analysé | Tous les fournisseurs | 300 secondes |

215| Chien de garde au niveau des octets | Aucun octet n'arrive sur le fil, y compris les pings de maintien de connexion SSE | API Anthropic directe, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), et connexions via une [passerelle](/docs/fr/gateways), y compris un `ANTHROPIC_BASE_URL` personnalisé. Opt-in sur les réponses Amazon Bedrock `vnd.amazon.eventstream` avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Google Cloud's Agent Platform ou Microsoft Foundry | 180 secondes sur l'API Anthropic directe. 300 secondes sur Claude Platform on AWS, sur Amazon Bedrock, dans une session de [passerelle Claude apps](/docs/fr/claude-apps-gateway), et via un `ANTHROPIC_BASE_URL` personnalisé |215| Watchdog au niveau des octets | Aucun octet n'arrive sur le réseau, y compris les pings keep-alive SSE | Connexions à l'API Anthropic directe, à [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) et via une [passerelle](/docs/fr/gateways), y compris avec une `ANTHROPIC_BASE_URL` personnalisée. Activable sur les réponses `vnd.amazon.eventstream` d'Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Agent Platform de Google Cloud ni sur Microsoft Foundry | 180 secondes sur l'API Anthropic directe. 300 secondes sur Claude Platform on AWS, sur Amazon Bedrock, dans une session [Claude apps gateway](/docs/fr/claude-apps-gateway) et via une `ANTHROPIC_BASE_URL` personnalisée |

216| Délai d'inactivité du corps | Aucun octet n'arrive pendant 5 minutes, en comptant l'attente des en-têtes de réponse | Fournisseurs autres que l'API Anthropic directe, Claude Platform on AWS, et Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` défini, sauf si [`API_FORCE_IDLE_TIMEOUT`](/docs/fr/env-vars) change cela | 5 minutes |216| Délai d'inactivité du corps | Aucun octet n'arrive pendant 5 minutes, en comptant l'attente des en-têtes de réponse | Fournisseurs autres que l'API Anthropic directe, Claude Platform on AWS et Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` défini, sauf si [`API_FORCE_IDLE_TIMEOUT`](/docs/fr/env-vars) modifie ce comportement | 5 minutes |

217 217 

218Si vous définissez `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, le chien de garde au niveau des octets remplace le délai d'inactivité du corps sur Bedrock plutôt que de s'exécuter à côté de celui-ci. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` gouverne alors également la durée pendant laquelle un flux Bedrock peut rester silencieux avant que Claude Code ne traite la connexion comme morte, dans les limites énumérées ci-dessous. Les octets arrivants ne réinitialisent toujours pas le chien de garde au niveau des événements sur Bedrock. Avec la journalisation de débogage activée, chaque flux Bedrock enregistre alors un message de débogage qui commence par `wire-heartbeat: _chunkTimes absent`.218Si vous définissez `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, le watchdog au niveau des octets remplace le délai d'inactivité du corps sur Bedrock au lieu de s'exécuter en parallèle. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` détermine alors également combien de temps un flux Bedrock peut rester silencieux avant que Claude Code ne considère la connexion comme morte, dans les limites indiquées ci-dessous. Les octets reçus ne réinitialisent toujours pas le watchdog au niveau des événements sur Bedrock. Avec la journalisation de débogage activée, chaque flux Bedrock consigne alors un message de débogage commençant par `wire-heartbeat: _chunkTimes absent`.

219 219 

220Configurez les minuteurs avec ces variables, chacune détaillée dans la [référence des variables d'environnement](/docs/fr/env-vars) :220Configurez les minuteurs avec ces variables, chacune détaillée dans la [référence des variables d'environnement](/docs/fr/env-vars) :

221 221 

222* `CLAUDE_ENABLE_STREAM_WATCHDOG` et `CLAUDE_ENABLE_BYTE_WATCHDOG` forcent le chien de garde correspondant activé avec `1` ou désactivé avec `0`, dans les connexions que le tableau énumère ; aucune variable n'étend un chien de garde à un type de connexion qu'il ne couvre pas. `CLAUDE_ENABLE_BYTE_WATCHDOG` défini à `0` désactive également la limite du premier octet.222* `CLAUDE_ENABLE_STREAM_WATCHDOG` et `CLAUDE_ENABLE_BYTE_WATCHDOG` forcent l'activation du watchdog correspondant avec `1` ou sa désactivation avec `0`, dans les limites des connexions indiquées dans le tableau ; aucune de ces variables n'étend un watchdog à un type de connexion qu'il ne couvre pas. `CLAUDE_ENABLE_BYTE_WATCHDOG` défini sur `0` désactive également le délai du premier octet.

223* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` définit le délai d'expiration des deux chiens de garde. Claude Code augmente les valeurs inférieures à 5 minutes à 5 minutes, et plafonne la valeur à 30 minutes pour le chien de garde au niveau des octets.223* `CLAUDE_STREAM_IDLE_TIMEOUT_MS` définit le délai d'expiration des deux watchdogs. Claude Code relève les valeurs inférieures à 5 minutes à 5 minutes, et plafonne la valeur à 30 minutes pour le watchdog au niveau des octets.

224* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` définit le délai d'expiration du chien de garde au niveau des octets sans modifier celui du chien de garde au niveau des événements, limité entre 10 secondes et 30 minutes, et prend précédence sur `CLAUDE_STREAM_IDLE_TIMEOUT_MS` pour ce chien de garde.224* `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` définit le délai d'expiration du watchdog au niveau des octets sans modifier celui du watchdog au niveau des événements, borné entre 10 secondes et 30 minutes, et a priorité sur `CLAUDE_STREAM_IDLE_TIMEOUT_MS` pour ce watchdog.

225* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` définit la limite du premier octet directement. Laissez-la non définie et Claude Code utilise le délai d'expiration du chien de garde au niveau des octets, de sorte que `CLAUDE_STREAM_IDLE_TIMEOUT_MS` et `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` modifient également la limite. Pour les limites, l'allocation de téléchargement, le plafond `API_TIMEOUT_MS`, et la durée d'attente de la nouvelle tentative après un abandon sans réponse, voir [Aucune réponse de l'API](/docs/fr/errors#no-response-from-api).225* `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` définit directement le délai du premier octet. Si vous ne la définissez pas, Claude Code utilise le délai d'expiration du watchdog au niveau des octets, de sorte que `CLAUDE_STREAM_IDLE_TIMEOUT_MS` et `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` modifient également ce délai. Pour les bornes, la marge accordée à l'envoi, le plafond `API_TIMEOUT_MS` et la durée d'attente de la nouvelle tentative après une interruption sans réponse, consultez [No response from API](/docs/fr/errors#no-response-from-api).

226* `API_TIMEOUT_MS` limite l'attente des en-têtes de réponse. Là où la limite du premier octet ne s'exécute pas, comme dans une session de passerelle Claude apps, définissez-la en dessous de `300000`, soit 5 minutes, pour réessayer plus tôt une requête restée sans réponse. Gardez-la au-dessus de la plus longue attente d'en-têtes, et de la plus longue [requête sans streaming](/docs/fr/errors#streaming-response-ended-before-any-complete-data-was-received), que vous prévoyez : une requête qui nécessite plus de temps expire à nouveau à chaque nouvelle tentative.226* `API_TIMEOUT_MS` limite l'attente des en-têtes de réponse, et non la durée pendant laquelle une réponse est diffusée en streaming après ceux-ci. Là où le délai du premier octet ne s'applique pas, comme dans une session Claude apps gateway, définissez-la en dessous de `300000`, soit 5 minutes, pour réessayer plus tôt une requête restée sans réponse. Maintenez-la au-dessus de l'attente d'en-têtes la plus longue, et de la [requête sans streaming](/docs/fr/errors#streaming-response-ended-before-any-complete-data-was-received) la plus longue, que vous prévoyez : une requête qui nécessite plus de temps expire à nouveau à chaque nouvelle tentative.

227* `API_FORCE_IDLE_TIMEOUT` défini à `0` désactive le délai d'inactivité du corps, et défini à `1` l'active pour tous les fournisseurs. Les chiens de garde s'exécutent indépendamment de celui-ci, donc pour permettre à un flux de s'interrompre plus longtemps que leurs seuils, augmentez-les ou désactivez-les également.227* `API_FORCE_IDLE_TIMEOUT` défini sur `0` désactive le délai d'inactivité du corps, et défini sur `1` l'active pour tous les fournisseurs. Les watchdogs s'exécutent indépendamment de celui-ci ; pour permettre à un flux de marquer une pause plus longue que leurs seuils, relevez-les ou désactivez-les également.

228 228 

229Quand un chien de garde interrompt un flux bloqué, Claude Code traite l'interruption comme une défaillance en milieu de flux, et ce que vous voyez dépend de la distance parcourue par la réponse. Claude Code réessaie la demande ou termine le tour avec une erreur, conserve la sortie complétée et affiche un [avis de réponse incomplète](/docs/fr/errors#the-response-above-may-be-incomplete), ou termine le tour normalement. [Les nouvelles tentatives automatiques](/docs/fr/errors#automatic-retries) indiquent où chaque résultat s'applique.229Lorsqu'un watchdog interrompt un flux bloqué, Claude Code traite l'interruption comme un échec en cours de flux, et ce que vous voyez dépend de l'avancement de la réponse. Claude Code réessaie la requête ou termine le tour avec une erreur, conserve la sortie terminée et affiche un [avis de réponse incomplète](/docs/fr/errors#the-response-above-may-be-incomplete), ou termine le tour normalement. La section [Nouvelles tentatives automatiques](/docs/fr/errors#automatic-retries) indique où s'applique chaque résultat.

230 230 

231Dans une [session non interactive](/docs/fr/headless), et pour la réponse d'un sous-agent dans n'importe quelle session, Claude Code peut d'abord inviter Claude à continuer la réponse coupée ; [l'entrée de cet avis](/docs/fr/errors#the-response-above-may-be-incomplete) indique quand il le fait et quand vous voyez toujours l'avis.231Dans une [session non interactive](/docs/fr/headless), et pour la réponse d'un sous-agent dans n'importe quelle session, Claude Code peut d'abord demander à Claude de poursuivre la réponse interrompue ; [l'entrée consacrée à cet avis](/docs/fr/errors#the-response-above-may-be-incomplete) indique quand il le fait et quand vous voyez tout de même l'avis.

232 232 

233Quand la limite du premier octet se déclenche, aucune réponse n'a commencé, il n'y a donc pas de sortie partielle à conserver. Pour savoir comment Claude Code renvoie la demande et quand le tour se termine à la place, voir [Aucune réponse de l'API](/docs/fr/errors#no-response-from-api).233Lorsque le délai du premier octet se déclenche, aucune réponse n'a commencé, il n'y a donc aucune sortie partielle à conserver. Pour savoir comment Claude Code renvoie la requête et quand le tour se termine à la place, consultez [No response from API](/docs/fr/errors#no-response-from-api).

234 234 

235<h2 id="network-access-requirements">235<h2 id="network-access-requirements">

236 Exigences d'accès réseau236 Exigences d'accès réseau

Details

86| Comment vous exécutez Claude Code | Mode de permission de démarrage intégré |86| Comment vous exécutez Claude Code | Mode de permission de démarrage intégré |

87| :- | :- |87| :- | :- |

88| Un fichier de paramètres définit `disableAutoMode` sur `"disable"` | `default` |88| Un fichier de paramètres définit `disableAutoMode` sur `"disable"` | `default` |

89| `claude -p` ou le [SDK Agent](/docs/fr/agent-sdk/permissions#permission-modes) | `default` dans les sessions qui [récupèrent les flags de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Dans les sessions qui ne le font pas, comme sur un fournisseur tiers ou avec la télémétrie désactivée, `auto` avec Claude Code v2.1.285 ou version ultérieure et `default` sur les versions antérieures. Une session dans une organisation dont la politique refuse la valeur par défaut `auto` démarre dans `default` à la place |89| `claude -p` ou le [SDK Agent](/docs/fr/agent-sdk/permissions#permission-modes) | `default` |

90| La [configuration HIPAA](#hipaa-configuration) est appliquée à votre organisation et la session y est [éligible](/docs/fr/hipaa-setup#check-how-developers-sign-in-and-connect) | `default` avec Claude Code v2.1.285 ou version ultérieure ; le mode auto reste disponible pour y basculer |90| La [configuration HIPAA](#hipaa-configuration) est appliquée à votre organisation et la session y est [éligible](/docs/fr/hipaa-setup#check-how-developers-sign-in-and-connect) | `default` avec Claude Code v2.1.285 ou version ultérieure ; le mode auto reste disponible pour y basculer |

91| Dans un terminal ou via l'[extension VS Code](/docs/fr/vs-code) | `auto` avec Claude Code v2.1.283 ou version ultérieure ; sur les versions antérieures, `auto` sur les plans Pro, Max ou Team dans les sessions qui [récupèrent les flags de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), et `default` sinon |91| Dans un terminal ou via l'[extension VS Code](/docs/fr/vs-code) | `auto` avec Claude Code v2.1.283 ou version ultérieure ; sur les versions antérieures, `auto` sur les plans Pro, Max ou Team dans les sessions qui [récupèrent les flags de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), et `default` sinon |

92 92 

93Dans votre [première session après une installation ou une mise à niveau](/docs/fr/env-vars#first-session-after-an-install-or-upgrade), Claude Code peut choisir le mode de permission de démarrage avant l'arrivée de ses flags de fonctionnalité. Cette session peut démarrer dans un mode de permission différent de celui que le tableau indique.

94 

95Quand le flag, un fichier de paramètres ou la valeur par défaut intégrée sélectionne `auto` mais que le mode auto n'est pas disponible pour la session, Claude Code démarre la session en mode Manuel à la place. Le mode auto est indisponible quand la session ne répond pas aux [exigences de disponibilité](#eliminate-prompts-with-auto-mode), comme un fichier de paramètres le désactivant ou un modèle qui ne le supporte pas, ou quand Anthropic l'a temporairement désactivé côté serveur.93Quand le flag, un fichier de paramètres ou la valeur par défaut intégrée sélectionne `auto` mais que le mode auto n'est pas disponible pour la session, Claude Code démarre la session en mode Manuel à la place. Le mode auto est indisponible quand la session ne répond pas aux [exigences de disponibilité](#eliminate-prompts-with-auto-mode), comme un fichier de paramètres le désactivant ou un modèle qui ne le supporte pas, ou quand Anthropic l'a temporairement désactivé côté serveur.

96 94 

97La première fois que la valeur par défaut intégrée démarre l'une de vos sessions en mode auto, Claude Code affiche un avis qui renvoie à cette page :95La première fois que la valeur par défaut intégrée démarre l'une de vos sessions en mode auto, Claude Code affiche un avis qui renvoie à cette page :


101 99 

102Si votre `~/.claude/settings.json` définit un `defaultMode` autre que `auto` et qu'aucun autre fichier de paramètres n'en définit un, vos sessions continuent à démarrer dans ce mode. Sur les plans Pro, Max et Team, et dans les sessions qui [ne récupèrent pas les flags de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), Claude Code demande une fois, dans le terminal ou dans l'extension VS Code, si vous souhaitez modifier le paramètre en mode auto. Si vous refusez, votre paramètre reste tel quel.100Si votre `~/.claude/settings.json` définit un `defaultMode` autre que `auto` et qu'aucun autre fichier de paramètres n'en définit un, vos sessions continuent à démarrer dans ce mode. Sur les plans Pro, Max et Team, et dans les sessions qui [ne récupèrent pas les flags de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), Claude Code demande une fois, dans le terminal ou dans l'extension VS Code, si vous souhaitez modifier le paramètre en mode auto. Si vous refusez, votre paramètre reste tel quel.

103 101 

102<h3 id="which-mode-a-non-interactive-run-starts-in">

103 Appels d'outils refusés dans les exécutions `claude -p` et Agent SDK

104</h3>

105 

106Dans Claude Code v2.1.302 ou version ultérieure, les exécutions `claude -p` et du [SDK Agent](/docs/fr/agent-sdk/permissions#permission-modes) [sans mode de permission défini](#which-mode-a-session-starts-in) démarrent en mode Manuel. Ce mode apparaît comme `default` dans les options du SDK et dans les paramètres. Les appels nécessitant une approbation sont refusés, sauf si vous les approuvez avec une règle d'autorisation, un hook, un callback `canUseTool` ou `--permission-prompt-tool`.

107 

108Pour faire approuver ces appels, ajoutez des règles d'autorisation ou démarrez en mode auto :

109 

110* **[Ajouter des règles d'autorisation](/docs/fr/permissions#manage-permissions)** : Claude exécute les appels que vous listez. Passez [`--allowedTools "Bash(npm test)"`](/docs/fr/headless#auto-approve-tools) à `claude -p`, ou définissez l'[option des outils autorisés](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) de votre SDK.

111* **Démarrer en [mode auto](#eliminate-prompts-with-auto-mode)** : un modèle classifieur examine les appels, vous n'avez donc rien à lister au préalable. Passez `--permission-mode auto` à `claude -p`, ou définissez l'[option de mode de permission](/docs/fr/agent-sdk/permissions#set-permission-mode) de votre SDK.

112 

113Ces exemples montrent la forme en mode auto pour la CLI et pour chaque SDK :

114 

115<Tabs>

116 <Tab title="CLI">

117 ```bash theme={null}

118 claude -p "Run the test suite and fix any failures" --permission-mode auto

119 ```

120 </Tab>

121 

122 <Tab title="TypeScript">

123 ```typescript theme={null}

124 const options = {

125 permissionMode: "auto"

126 };

127 ```

128 </Tab>

129 

130 <Tab title="Python">

131 ```python theme={null}

132 from claude_agent_sdk import ClaudeAgentOptions

133 

134 options = ClaudeAgentOptions(permission_mode="auto")

135 ```

136 </Tab>

137</Tabs>

138 

139Avant la v2.1.302, ces exécutions pouvaient démarrer en mode auto si elles ne [récupéraient pas les flags de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), par exemple sur un [fournisseur tiers](/docs/fr/third-party-integrations) ou avec `DISABLE_TELEMETRY`.

140 

104<h3 id="start-in-a-different-mode">141<h3 id="start-in-a-different-mode">

105 Démarrer dans un mode de permission différent142 Démarrer dans un mode de permission différent

106</h3>143</h3>


216 </Tab>253 </Tab>

217 254 

218 <Tab title="Desktop">255 <Tab title="Desktop">

219 **En cours de session** : dans l'onglet Code, utilisez le sélecteur de mode à côté du bouton d'envoi. Tous les modes n'apparaissent pas dans le sélecteur :256 **En cours de session** : dans l'onglet Code, utilisez le sélecteur de mode dans la rangée sous la zone de saisie. Tous les modes n'apparaissent pas dans le sélecteur :

220 257 

221 * **Auto** : apparaît quand le [mode auto est disponible](#eliminate-prompts-with-auto-mode)258 * **Auto** : apparaît quand le [mode auto est disponible](#eliminate-prompts-with-auto-mode)

222 * **Bypass permissions** : nécessite le bouton bascule **Allow bypass permissions mode** dans les paramètres Desktop sur les plans Pro et Max ; sur les plans Team et Enterprise, la politique organisationnelle le contrôle à la place259 * **Bypass permissions** : nécessite le bouton bascule **Allow bypass permissions mode** dans les paramètres Desktop sur les plans Pro et Max ; sur les plans Team et Enterprise, la politique organisationnelle le contrôle à la place


345 Mode auto sur Bedrock, Agent Platform ou Foundry382 Mode auto sur Bedrock, Agent Platform ou Foundry

346</h3>383</h3>

347 384 

348Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai), [Microsoft Foundry](/docs/fr/microsoft-foundry) et les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectées, le mode auto est disponible par défaut. Quand rien d'autre ne définit un mode de permission, c'est aussi le [mode de permission intégré de démarrage](#which-mode-a-session-starts-in), sur les versions que le tableau de cette section énumère. Pour choisir vous-même le mode de permission de démarrage, définissez `permissions.defaultMode` comme le décrit [Démarrer dans un mode de permission différent](#start-in-a-different-mode), ou choisissez un mode de permission dans l'indicateur de mode de l'extension VS Code.385Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai), [Microsoft Foundry](/docs/fr/microsoft-foundry) et les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectées, le mode auto est disponible par défaut. Si vous n'y définissez pas de mode de permission, les sessions interactives démarrent en mode auto, et les exécutions `claude -p` ou Agent SDK démarrent en mode Manual, dont la valeur de configuration est `default` :

386 

387* **Sessions de terminal interactif et VS Code** : pour les démarrer dans un mode de permission autre qu'auto, définissez `permissions.defaultMode` comme le décrit [Démarrer dans un mode de permission différent](#start-in-a-different-mode), ou choisissez-en un dans l'[indicateur de mode](#switch-permission-modes) de l'extension VS Code. [Dans quel mode une session démarre](#which-mode-a-session-starts-in) répertorie les versions de Claude Code qui les démarrent en mode auto.

388* **Exécutions `claude -p` et Agent SDK** : pour en démarrer une en mode auto, passez `--permission-mode auto` à `claude -p`, ou passez `permissionMode: "auto"` en TypeScript ou `permission_mode="auto"` en Python. Si vous ne passez aucun mode de permission, consultez [Appels d'outils refusés dans les exécutions `claude -p` et Agent SDK](#which-mode-a-non-interactive-run-starts-in), qui couvre également les versions antérieures de Claude Code.

349 389 

350Seuls Claude Sonnet 5 ou ultérieur, Opus 4.7 ou ultérieur, Haiku 5.5 et les modèles Fable sont pris en charge sur ces fournisseurs. Sur tout autre modèle, la session démarre en Manual à la place. Le mode auto avec Haiku 5.5 sur ces fournisseurs nécessite Claude Code v2.1.293 ou ultérieur.390Seuls Claude Sonnet 5 ou ultérieur, Opus 4.7 ou ultérieur, Haiku 5.5 et les modèles Fable sont pris en charge sur ces fournisseurs. Sur tout autre modèle, la session démarre en Manual à la place. Le mode auto avec Haiku 5.5 sur ces fournisseurs nécessite Claude Code v2.1.293 ou ultérieur.

351 391 


368 408 

369Pour ne pas interroger le serveur et toujours utiliser les propres requêtes de classificateur de Claude Code, définissez [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/fr/env-vars). Sur une connexion directe à l'API Anthropic, la variable nécessite Claude Code v2.1.281 ou ultérieur. La définir sur `1` active l'examen du serveur dans une session qui ne l'a pas encore, à moins que vous n'ayez également défini `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Si vous définissez `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` et laissez `CLAUDE_CODE_AUTO_MODE_SERVER` non défini, Claude Code cesse également d'interroger le serveur, sauf comme le décrit [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities).409Pour ne pas interroger le serveur et toujours utiliser les propres requêtes de classificateur de Claude Code, définissez [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/fr/env-vars). Sur une connexion directe à l'API Anthropic, la variable nécessite Claude Code v2.1.281 ou ultérieur. La définir sur `1` active l'examen du serveur dans une session qui ne l'a pas encore, à moins que vous n'ayez également défini `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Si vous définissez `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` et laissez `CLAUDE_CODE_AUTO_MODE_SERVER` non défini, Claude Code cesse également d'interroger le serveur, sauf comme le décrit [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities).

370 410 

411<h3 id="default-classifier-model">

412 Modèle de classificateur par défaut

413</h3>

414 

415Par défaut, les requêtes de classificateur sont envoyées à Claude Sonnet 5. Si `/status` affiche `Auto mode server` comme `Enabled`, elles ne sont envoyées que pour les appels en dehors de [l'examen du serveur](#server-side-classifier-review).

416 

417Trouvez la première ligne de ce tableau qui correspond à votre session. Vous obtenez le modèle de cette ligne à la place de Sonnet 5.

418 

419| Votre session | Modèle de classificateur |

420| - | - |

421| A un modèle de classificateur configuré par Anthropic | Le modèle configuré. [Consultez le log de débogage](#classifier-model-check) pour savoir lequel |

422| S'exécute sur Claude Sonnet 4.6 | Sonnet 4.6 |

423| A [`ANTHROPIC_DEFAULT_SONNET_MODEL`](/docs/fr/model-config#environment-variables) défini | Sa valeur, ou Sonnet 5 si sa valeur est Claude Sonnet 5.5 ou Claude Opus 5.5 |

424 

425Si Sonnet 5 ou le modèle dans `ANTHROPIC_DEFAULT_SONNET_MODEL` n'est pas disponible auprès de votre fournisseur ou est exclu par la [politique de modèles](/docs/fr/model-config#restrict-model-selection) de votre organisation, Claude Code utilise un modèle de secours. Il s'agit du modèle de votre session, ou d'un modèle Opus dans une [session Fable](/docs/fr/model-config#work-with-fable).

426 

427<h3 id="choose-the-classifier-model">

428 Choisir le modèle de classificateur

429</h3>

430 

431Avec Claude Code v2.1.302 ou ultérieur, définissez [`CLAUDE_CODE_AUTO_MODE_MODEL`](/docs/fr/env-vars) sur un ID de modèle complet pour exécuter le classificateur sur un modèle autre que le [modèle par défaut](#default-classifier-model). Les ID de modèle complets propres à votre fournisseur cloud fonctionnent également. Cet exemple de `~/.claude/settings.json` définit Claude Sonnet 4.6 :

432 

433```json theme={null}

434{

435 "env": {

436 "CLAUDE_CODE_AUTO_MODE_MODEL": "claude-sonnet-4-6"

437 }

438}

439```

440 

441<h4 id="classifier-model-not-reviewing">

442 Quand votre modèle n'est pas celui qui examine

443</h4>

444 

445| Situation | Ce qui se passe | Que faire |

446| - | - | - |

447| Dans une session, `/status` affiche [`Auto mode server`](#server-side-classifier-review) comme `Enabled` | Votre modèle n'examine que ce que le serveur n'examine pas | Rien à faire |

448| Vous avez défini Claude Opus 5, Claude Sonnet 5.5, Claude Opus 5.5 ou un modèle que la [politique de modèles](/docs/fr/model-config#restrict-model-selection) de votre organisation exclut | Le [modèle de classificateur par défaut](#default-classifier-model) examine | Définir un autre modèle |

449| Anthropic a configuré un modèle de classificateur pour votre session | Ce modèle examine | Rien à faire |

450| Votre fournisseur ne peut pas servir le modèle | Les requêtes échouent et Claude Code [refuse chaque action examinée](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) | Définir un modèle qu'il sert, ou supprimer la variable |

451 

452<h4 id="classifier-model-check">

453 Vérifier quel modèle le classificateur a utilisé

454</h4>

455 

456Depuis votre shell, démarrez une session en mode auto avec [`--debug-file`](/docs/fr/cli-reference#cli-flags) :

457 

458```bash theme={null}

459claude --permission-mode auto --debug-file classifier-debug.log

460```

461 

462Demandez à Claude d'exécuter une commande shell qui n'est pas en lecture seule, puis recherchez `classifier_request_started` dans le log :

463 

464* **Votre modèle après `model=`** : la variable a pris effet

465* **Un modèle différent après `model=`** : recherchez `ignoring CLAUDE_CODE_AUTO_MODE_MODEL` dans le log, qui donne la raison et toute étape à suivre

466* **Aucune ligne de ce type** : lisez `Auto mode server` dans `/status` à l'invite de Claude Code :

467 * **`Enabled`** : le [serveur](#server-side-classifier-review) est configuré pour examiner les appels de cette session. Rien à changer.

468 * **`Disabled`** : assurez-vous que le [mode de permission](#switch-permission-modes) est auto, puis demandez à Claude d'exécuter une autre commande qui n'est pas en lecture seule.

469 

371<h3 id="what-the-classifier-blocks-by-default">470<h3 id="what-the-classifier-blocks-by-default">

372 Ce que le classificateur bloque par défaut471 Ce que le classificateur bloque par défaut

373</h3>472</h3>


384* Modification de l'infrastructure partagée483* Modification de l'infrastructure partagée

385* Destruction irréversible de fichiers qui existaient avant la session484* Destruction irréversible de fichiers qui existaient avant la session

386* Push forcé485* Push forcé

387* Créer un commit ou pousser une modification qui enverrait des secrets ou des données sensibles en dehors du dépôt lors de son exécution, ou élargirait ce qu'un déploiement expose. Cela couvre un workflow CI ou une configuration de déploiement qui transmet un secret à une destination qui ne le reçoit pas déjà, un script ou une étape de configuration qui lit un magasin de secrets et envoie les données à l'extérieur, et une modification de configuration qui élargit ce qu'un déploiement publie, comme un paramètre de registre, de visibilité, d'artefact ou de sourcemap. La vérification s'applique sur n'importe quelle branche, s'applique même quand le dépôt est public, et se déclenche quand la modification est commitée ou poussée, que ce commit ou ce push déclenche le pipeline ou non ; la lever nécessite de nommer l'effet d'exécution, pas seulement le commit ou le push. Avant v2.1.211, cette vérification était limitée à la branche par défaut : un push vers celle-ci était bloqué quand il contenait du contenu sensible, des modifications dissimulées ou mal décrites par rapport à ce que vous aviez demandé, du contenu importé de l'extérieur du dépôt, ou contournait un examen que vous aviez demandé486* Créer un commit ou pousser une modification qui enverrait des secrets ou des données sensibles en dehors du dépôt lors de son exécution, ou élargirait ce qu'un déploiement expose. Cela couvre un workflow CI ou une configuration de déploiement qui transmet un secret à une destination qui ne le reçoit pas déjà, un script ou une étape de configuration qui lit un magasin de secrets et envoie les données à l'extérieur, et une modification de configuration qui élargit ce qu'un déploiement publie, comme un paramètre de registre, de visibilité, d'artefact ou de sourcemap. La vérification s'applique sur n'importe quelle branche, s'applique même quand le dépôt est public, et se déclenche quand la modification est commitée ou poussée, que ce commit ou ce push déclenche le pipeline ou non ; la lever nécessite de nommer l'effet d'exécution, pas seulement le commit ou le push

388* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` ou `git stash clear`, dont le classificateur présume qu'ils abandonneraient les modifications non commitées487* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` ou `git stash clear`, dont le classificateur présume qu'ils abandonneraient les modifications non commitées

389* `git commit --amend` quand le commit à HEAD n'a pas été créé dans cette session488* `git commit --amend` quand le commit à HEAD n'a pas été créé dans cette session

390* À partir de v2.1.198, `git commit --amend` quand le commit à HEAD a déjà été poussé. Une reformulation du message seul n'est pas bloquée : `--amend -m` sans rien de nouvellement indexé, sur un commit que Claude a créé pendant cette session489* À partir de v2.1.198, `git commit --amend` quand le commit à HEAD a déjà été poussé. Une reformulation du message seul n'est pas bloquée : `--amend -m` sans rien de nouvellement indexé, sur un commit que Claude a créé pendant cette session


568 </Accordion>667 </Accordion>

569 668 

570 <Accordion title="Coût et latence">669 <Accordion title="Coût et latence">

571 Le classificateur s'exécute par défaut sur Claude Sonnet 5 plutôt que sur votre sélection `/model`. Un modèle de classificateur qu'Anthropic configure côté serveur a priorité sur ce modèle par défaut. Quand le modèle de votre session est Claude Sonnet 4.6, ou quand [`availableModels`](/docs/fr/model-config#restrict-model-selection) exclut Sonnet 5, le classificateur s'exécute plutôt sur le modèle de la session, ou sur un modèle Opus quand la session s'exécute sur un [modèle Fable](/docs/fr/model-config#work-with-fable). Sur les fournisseurs autres que l'API Anthropic, ce modèle Opus de secours est le modèle que vous définissez dans [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/fr/model-config#environment-variables), ou Opus 5 si vous n'en avez défini aucun.670 Les requêtes de classificateur de Claude Code peuvent s'exécuter sur un modèle autre que votre sélection `/model`. Voir [sur quel modèle elles s'exécutent](#default-classifier-model).

572 

573 La première requête en mode auto de la session valide le modèle par défaut Sonnet 5 : si la requête réussit, Sonnet 5 reste le modèle de classificateur de la session, et si elle échoue parce que le modèle n'est pas disponible, la session utilise plutôt le modèle de secours.

574 671 

575 Sur les plans Enterprise et sur les comptes qui utilisent l'API Claude, [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, les appels au classificateur comptent dans votre utilisation de tokens. Chaque vérification envoie une partie de la transcription ainsi que l'action en attente, ajoutant un aller-retour avant l'exécution. Les lectures et les modifications dans le répertoire de travail en dehors des chemins protégés ne passent pas par le classificateur, donc la surcharge provient principalement des commandes shell et des opérations réseau. Là où le serveur examine les actions dans le cadre des requêtes de modèle de la session, il n'y a pas d'appels distincts au classificateur à compter ; voir [Examen du classificateur côté serveur](#server-side-classifier-review).672 Sur les plans Enterprise et sur les comptes qui utilisent l'API Claude, [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, les appels au classificateur comptent dans votre utilisation de tokens. Chaque vérification envoie une partie de la transcription ainsi que l'action en attente, ajoutant un aller-retour avant l'exécution. Les lectures et les modifications dans le répertoire de travail en dehors des chemins protégés ne passent pas par le classificateur, donc la surcharge provient principalement des commandes shell et des opérations réseau. Là où le serveur examine les actions dans le cadre des requêtes de modèle de la session, il n'y a pas d'appels distincts au classificateur à compter ; voir [Examen du classificateur côté serveur](#server-side-classifier-review).

576 673 

permissions.md +3 −3

Details

391 391 

392Claude Code vérifie les chemins d'images collés et les listes de répertoires à partir de la v2.1.290.392Claude Code vérifie les chemins d'images collés et les listes de répertoires à partir de la v2.1.290.

393 393 

394Une règle `Read` deny bloque également les [outils Edit et Write](/docs/fr/errors#file-is-covered-by-a-read-deny-rule) sur le même chemin, y compris la création d'un nouveau fichier à cet emplacement. NotebookEdit n'est pas couvert ; ajoutez donc une règle `Edit` deny pour les chemins qu'aucun outil ne doit modifier. La vérification nécessite Claude Code v2.1.208 ou ultérieur pour les modifications, et v2.1.228 ou ultérieur pour les écritures.394Une règle `Read` deny bloque également les [outils Edit et Write](/docs/fr/errors#file-is-covered-by-a-read-deny-rule) sur le même chemin, y compris la création d'un nouveau fichier à cet emplacement. NotebookEdit n'est pas couvert ; ajoutez donc une règle `Edit` deny pour les chemins qu'aucun outil ne doit modifier. Pour l'outil Write, la vérification nécessite Claude Code v2.1.228 ou ultérieur.

395 395 

396Claude Code vérifie les permissions de fichiers uniquement par rapport aux règles `Edit(path)` et `Read(path)`. Si vous écrivez plutôt une règle de chemin pour `Write`, `NotebookEdit`, `Glob` ou l'ancien outil `MultiEdit`, Claude Code accepte la règle mais ne la consulte jamais, et [affiche un avertissement au démarrage](/docs/fr/errors#is-not-matched-by-file-permission-checks), sauf pour une règle `Glob` passée dans `--allowedTools`. Utilisez `Edit(docs/**)` à la place de `Write(docs/**)`, `NotebookEdit(docs/**)` ou `MultiEdit(docs/**)`, et `Read(docs/**)` à la place de `Glob(docs/**)`. Claude Code n'affiche pas d'avertissement pour une règle portant sur un nom d'outil sans chemin, comme une règle deny pour `Write` ; il applique cette règle au niveau de l'outil partout. Nécessite Claude Code v2.1.210 ou ultérieur.396Claude Code vérifie les permissions de fichiers uniquement par rapport aux règles `Edit(path)` et `Read(path)`. Si vous écrivez plutôt une règle de chemin pour `Write`, `NotebookEdit`, `Glob` ou l'ancien outil `MultiEdit`, Claude Code accepte la règle mais ne la consulte jamais, et [affiche un avertissement au démarrage](/docs/fr/errors#is-not-matched-by-file-permission-checks), sauf pour une règle `Glob` passée dans `--allowedTools`. Utilisez `Edit(docs/**)` à la place de `Write(docs/**)`, `NotebookEdit(docs/**)` ou `MultiEdit(docs/**)`, et `Read(docs/**)` à la place de `Glob(docs/**)`. Claude Code n'affiche pas d'avertissement pour une règle portant sur un nom d'outil sans chemin, comme une règle deny pour `Write` ; il applique cette règle au niveau de l'outil partout.

397 397 

398<Warning>398<Warning>

399 Les règles Read et Edit deny s'appliquent aux outils de fichiers intégrés de Claude, aux commandes de fichiers que Claude Code reconnaît dans Bash, comme `cat`, `head`, `tail`, `sed` et `tee`, et aux cibles des [redirections](#redirections) Bash comme `> file` et `< file`. Elles ne s'appliquent pas à une commande qui lit des fichiers sans les nommer, comme `grep -r pattern .` exécuté depuis le répertoire qui contient le fichier, ni aux sous-processus arbitraires qui lisent ou écrivent des fichiers indirectement, comme un script Python ou Node qui ouvre lui-même des fichiers. Pour une application au niveau du système d'exploitation qui empêche tous les processus d'accéder à un chemin, [activez le sandbox](/docs/fr/sandboxing).399 Les règles Read et Edit deny s'appliquent aux outils de fichiers intégrés de Claude, aux commandes de fichiers que Claude Code reconnaît dans Bash, comme `cat`, `head`, `tail`, `sed` et `tee`, et aux cibles des [redirections](#redirections) Bash comme `> file` et `< file`. Elles ne s'appliquent pas à une commande qui lit des fichiers sans les nommer, comme `grep -r pattern .` exécuté depuis le répertoire qui contient le fichier, ni aux sous-processus arbitraires qui lisent ou écrivent des fichiers indirectement, comme un script Python ou Node qui ouvre lui-même des fichiers. Pour une application au niveau du système d'exploitation qui empêche tous les processus d'accéder à un chemin, [activez le sandbox](/docs/fr/sandboxing).


762 762 

763Lorsque vous activez le sandboxing et laissez `autoAllowBashIfSandboxed` à sa valeur par défaut de `true`, les commandes Bash en sandbox s'exécutent sans invite même si vos autorisations incluent une règle ask `Bash` simple, ou la [forme équivalente `Bash(*)`](#match-all-uses-of-a-tool) : la limite du sandbox remplace cette invite pour l'outil entier.763Lorsque vous activez le sandboxing et laissez `autoAllowBashIfSandboxed` à sa valeur par défaut de `true`, les commandes Bash en sandbox s'exécutent sans invite même si vos autorisations incluent une règle ask `Bash` simple, ou la [forme équivalente `Bash(*)`](#match-all-uses-of-a-tool) : la limite du sandbox remplace cette invite pour l'outil entier.

764 764 

765En [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode), Claude Code ignore cette substitution. Sans règle ask, les [commandes en lecture seule intégrées](#read-only-commands) s'exécutent toujours sans invite, et toute autre commande shell passe par le flux d'autorisation régulier pendant que vous planifiez toujours ; consultez [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) pour savoir comment Claude Code contrôle les commandes là-bas. Avec une règle ask `Bash` simple, chaque commande Bash demande une invite, y compris les commandes en lecture seule en sandbox, de la même manière qu'en dehors du sandboxing. Avant la v2.1.212, la substitution s'appliquait également en mode plan.765En [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode), Claude Code ignore cette substitution. Sans règle ask, les [commandes en lecture seule intégrées](#read-only-commands) s'exécutent toujours sans demande de permission, et toute autre commande shell passe par le flux de permission habituel pendant que vous planifiez encore ; consultez [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) pour savoir comment Claude Code contrôle les commandes dans ce mode. Avec une règle ask `Bash` simple, chaque commande Bash déclenche une demande de permission, y compris les commandes en lecture seule en sandbox, de la même manière qu'en dehors du sandboxing.

766 766 

767Ces vérifications s'appliquent toujours :767Ces vérifications s'appliquent toujours :

768 768 

Details

95 95 

96 <Steps>96 <Steps>

97 <Step title="Ouvrez le navigateur de plugins">97 <Step title="Ouvrez le navigateur de plugins">

98 Cliquez sur le bouton **+** à côté de la zone de saisie et sélectionnez **Plugins**, puis **Add plugin**. Le navigateur de plugins s'ouvre avec les plugins de vos marketplaces.98 Cliquez sur le bouton **+** à côté de la zone de saisie et sélectionnez **Add plugins**. Si le menu **+** affiche **Plugins** au lieu de **Add plugins**, sélectionnez **Plugins**, puis **Browse plugins**. Le navigateur de plugins s'ouvre avec les plugins de vos marketplaces.

99 </Step>99 </Step>

100 100 

101 <Step title="Sélectionnez le plugin">101 <Step title="Sélectionnez le plugin">


107 </Step>107 </Step>

108 </Steps>108 </Steps>

109 109 

110 Pour activer, désactiver ou désinstaller ultérieurement, utilisez **+ > Plugins > Manage plugins**. Le navigateur de plugins n'est pas disponible dans les sessions cloud de l'application de bureau. Consultez [Install plugins in the desktop app](/docs/fr/desktop#install-plugins).110 Pour activer, désactiver ou désinstaller un plugin ultérieurement, consultez [Install plugins in the desktop app](/docs/fr/desktop#install-plugins).

111 </Tab>111 </Tab>

112 112 

113 <Tab title="VS Code">113 <Tab title="VS Code">


160Certains endroits où vous exécutez Claude Code n'ont pas leur propre navigateur de plugins :160Certains endroits où vous exécutez Claude Code n'ont pas leur propre navigateur de plugins :

161 161 

162* **JetBrains IDEs** : le plugin JetBrains exécute Claude Code dans le terminal de l'IDE, donc utilisez les étapes de l'onglet **Terminal** là-bas.162* **JetBrains IDEs** : le plugin JetBrains exécute Claude Code dans le terminal de l'IDE, donc utilisez les étapes de l'onglet **Terminal** là-bas.

163* **`claude -p` et autres exécutions non interactives** : `/plugin` ne s'exécute pas, et Claude répond `Plugin isn't available in this environment.` Les plugins que vous avez déjà installés se chargent. Installez et gérez-les à partir de votre shell avec les [commandes `claude plugin`](#install-from-your-shell).163* **`claude -p` et autres exécutions non interactives** : `/plugin` ne s'exécute pas, et Claude répond `/plugin isn't available in this environment.` Les plugins que vous avez déjà installés se chargent. Installez et gérez-les à partir de votre shell avec les [commandes `claude plugin`](#install-from-your-shell).

164* **Agent SDK** : chargez les plugins via l'option plugin du SDK. Consultez [Load plugins in the Agent SDK](/docs/fr/agent-sdk/plugins).164* **Agent SDK** : chargez les plugins via l'option plugin du SDK. Consultez [Load plugins in the Agent SDK](/docs/fr/agent-sdk/plugins).

165 165 

166Si Claude Code signale qu'un plugin activé dans le `.claude/settings.json` du référentiel n'est pas installé, consultez [Enabled in project settings but not installed](/docs/fr/plugins/loading#enabled-in-project-settings-but-not-installed).166Si Claude Code signale qu'un plugin activé dans le `.claude/settings.json` du référentiel n'est pas installé, consultez [Enabled in project settings but not installed](/docs/fr/plugins/loading#enabled-in-project-settings-but-not-installed).

Details

362 Dessiner dans l'extension VS Code362 Dessiner dans l'extension VS Code

363</h3>363</h3>

364 364 

365Dans l'extension VS Code, ce qu'un mod dessine apparaît dans le panneau de chat avec la version 2.1.299 ou ultérieure de l'extension, dans une session qui [récupère les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Dans un hook `ui.render` pour le panneau, `e.surface` vaut `vscode`. Pour vérifier quels points de rendu et éléments le panneau dessine, et quelles props il ignore, consultez les tableaux des [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et des [éléments](/docs/fr/plugins/mods/reference#elements).365Dans l'extension VS Code, ce qu'un mod dessine apparaît dans le panneau de chat avec la version 2.1.299 ou ultérieure de l'extension. Une session qui [ne récupère pas les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme une session sur Amazon Bedrock, nécessite la version 2.1.304 ou ultérieure. Dans un hook `ui.render` pour le panneau, `e.surface` vaut `vscode`. Pour vérifier quels points de rendu et éléments le panneau dessine, et quelles props il ignore, consultez les tableaux des [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et des [éléments](/docs/fr/plugins/mods/reference#elements).

366 366 

367Pour qu'un mod fonctionne dans le panneau aussi bien que dans le terminal, tenez compte de ces différences :367Pour qu'un mod fonctionne dans le panneau aussi bien que dans le terminal, tenez compte de ces différences :

368 368 

Details

219| `claude` dans un terminal, y compris le terminal intégré d'un éditeur et le plugin JetBrains | Oui | Oui |219| `claude` dans un terminal, y compris le terminal intégré d'un éditeur et le plugin JetBrains | Oui | Oui |

220| L'onglet Code de l'application Desktop, sauf dans une session WSL | Oui | Oui, sauf les éléments que le [tableau des éléments](/docs/fr/plugins/mods/reference#elements) marque comme terminal uniquement |220| L'onglet Code de l'application Desktop, sauf dans une session WSL | Oui | Oui, sauf les éléments que le [tableau des éléments](/docs/fr/plugins/mods/reference#elements) marque comme terminal uniquement |

221| Une [session WSL](/docs/fr/desktop-wsl) dans l'application Desktop | Non, car les plugins ne sont pas disponibles dans les sessions WSL | Non |221| Une [session WSL](/docs/fr/desktop-wsl) dans l'application Desktop | Non, car les plugins ne sont pas disponibles dans les sessions WSL | Non |

222| Le panneau de chat de l'extension VS Code | Oui | Oui, avec l'extension en version 2.1.299 ou ultérieure, dans une session qui [récupère les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Les tableaux des [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et des [éléments](/docs/fr/plugins/mods/reference#elements) indiquent ce que le panneau dessine. |222| Le panneau de chat de l'extension VS Code | Oui | Oui, avec l'extension en version 2.1.299 ou ultérieure. Une session qui [ne récupère pas les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme une session sur Amazon Bedrock, nécessite la version 2.1.304 ou ultérieure. Les tableaux des [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et des [éléments](/docs/fr/plugins/mods/reference#elements) indiquent ce que le panneau dessine. |

223| `claude -p` et le [SDK Agent](/docs/fr/agent-sdk/overview) | Oui | Non |223| `claude -p` et le [SDK Agent](/docs/fr/agent-sdk/overview) | Oui | Non |

224| [Remote Control](/docs/fr/remote-control) à partir de claude.ai ou de l'application mobile | Oui, dans la session sur votre machine | Dans le terminal sur votre machine |224| [Remote Control](/docs/fr/remote-control) à partir de claude.ai ou de l'application mobile | Oui, dans la session sur votre machine | Dans le terminal sur votre machine |

225| Une [session cloud](/docs/fr/claude-code-on-the-web) | Oui, pour un plugin qui [atteint la session cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup) | Non |225| Une [session cloud](/docs/fr/claude-code-on-the-web) | Oui, pour un plugin qui [atteint la session cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup) | Non |

Details

257 257 

258Un point de rendu est un point d'extension de l'interface de Claude Code. Chaque ligne est une valeur de `e.component` dans un hook `ui.render`, avec les champs de `e.props` et les applications qui l'affichent. `e.surface` indique l'application qui dessine, par exemple `terminal`, `desktop` ou `vscode`. [Modifier ce que Claude Code dessine déjà](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws) montre ce qu'un hook peut faire à un point de rendu, avec un exemple pour chaque option.258Un point de rendu est un point d'extension de l'interface de Claude Code. Chaque ligne est une valeur de `e.component` dans un hook `ui.render`, avec les champs de `e.props` et les applications qui l'affichent. `e.surface` indique l'application qui dessine, par exemple `terminal`, `desktop` ou `vscode`. [Modifier ce que Claude Code dessine déjà](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws) montre ce qu'un hook peut faire à un point de rendu, avec un exemple pour chaque option.

259 259 

260Le rendu dans l'extension VS Code nécessite la version 2.1.299 ou ultérieure de l'extension et une session qui [récupère les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). [Dessiner dans l'extension VS Code](/docs/fr/plugins/mods/interface#draw-in-the-vs-code-extension) liste ce que l'extension dessine différemment.260Le rendu dans l'extension VS Code nécessite la version 2.1.299 ou ultérieure de l'extension. Une session qui [ne récupère pas les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching) nécessite la version 2.1.304 ou ultérieure. [Dessiner dans l'extension VS Code](/docs/fr/plugins/mods/interface#draw-in-the-vs-code-extension) liste ce que l'extension dessine différemment.

261 261 

262| Point de rendu | `e.props` | `e.requestId` | Affiché dans |262| Point de rendu | `e.props` | `e.requestId` | Affiché dans |

263| :- | :- | :- | :- |263| :- | :- | :- | :- |

Details

315 315 

316* **Le point de rendu ou l'élément n'est pas dessiné dans cette application** : recherchez votre point de rendu dans le tableau des [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et vos éléments dans le tableau des [éléments](/docs/fr/plugins/mods/reference#elements). Pour un élément que l'application ne possède pas, vérifiez `e.surface` dans le hook et retournez un arbre que l'application peut dessiner.316* **Le point de rendu ou l'élément n'est pas dessiné dans cette application** : recherchez votre point de rendu dans le tableau des [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et vos éléments dans le tableau des [éléments](/docs/fr/plugins/mods/reference#elements). Pour un élément que l'application ne possède pas, vérifiez `e.surface` dans le hook et retournez un arbre que l'application peut dessiner.

317* **L'extension VS Code est antérieure à 2.1.299** : le panneau de chat dessine pour les mods à partir de la [version de l'extension](/docs/fr/vs-code#install-the-extension) 2.1.299. Vérifiez la version dans la vue Extensions de VS Code et mettez l'extension à jour depuis cette vue.317* **L'extension VS Code est antérieure à 2.1.299** : le panneau de chat dessine pour les mods à partir de la [version de l'extension](/docs/fr/vs-code#install-the-extension) 2.1.299. Vérifiez la version dans la vue Extensions de VS Code et mettez l'extension à jour depuis cette vue.

318* **La session VS Code ne récupère pas les feature flags** : le dessin dans le panneau de chat l'exige. Les sessions sur Amazon Bedrock, Agent Platform de Google Cloud ou Microsoft Foundry, ou via une [passerelle des applications Claude](/docs/fr/claude-apps-gateway), ignorent cette récupération, parmi d'autres que liste [Fonctionnalités nécessitant la récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Pour voir le dessin dans une telle session, exécutez plutôt `claude` dans un terminal, comme le terminal intégré de VS Code.318* **L'extension est antérieure à 2.1.304 et la session ne récupère pas les feature flags** : mettez l'extension à jour, ou exécutez plutôt `claude` dans le terminal intégré de VS Code. Les sessions sur Amazon Bedrock, Agent Platform de Google Cloud ou Microsoft Foundry ignorent cette récupération. Pour les autres sessions qui l'ignorent, comme une session via une [passerelle des applications Claude](/docs/fr/claude-apps-gateway), consultez [Fonctionnalités nécessitant la récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching).

319 319 

320<h2 id="an-edit-or-a-value-is-lost">320<h2 id="an-edit-or-a-value-is-lost">

321 Une modification ou une valeur est perdue321 Une modification ou une valeur est perdue

Details

40 40 

41Installez le plugin à partir de la surface sur laquelle vous vous trouvez à la place :41Installez le plugin à partir de la surface sur laquelle vous vous trouvez à la place :

42 42 

43* **Application de bureau Claude, session locale ou SSH** : cliquez sur le bouton **+** à côté de l'invite, puis **Plugins**, puis **Ajouter un plugin** pour ouvrir le [navigateur de plugins](/docs/fr/desktop#install-plugins)43* **Application de bureau Claude, session locale ou SSH** : utilisez l'onglet **Application de bureau** sous [Installer un plugin](/docs/fr/plugins/install#install-a-plugin)

44* **Extension VS Code** : utilisez l'onglet **VS Code** sous [Installer un plugin](/docs/fr/plugins/install#install-a-plugin)44* **Extension VS Code** : utilisez l'onglet **VS Code** sous [Installer un plugin](/docs/fr/plugins/install#install-a-plugin)

45* **Claude Code sur le web, ou une session cloud de bureau** : une session cloud n'a pas de navigateur de plugins. Consultez l'onglet **Session cloud** sous [Installer un plugin](/docs/fr/plugins/install#install-a-plugin) pour voir ce qu'une session cloud charge45* **Claude Code sur le web, ou une session cloud de bureau** : une session cloud n'a pas de navigateur de plugins. Consultez l'onglet **Session cloud** sous [Installer un plugin](/docs/fr/plugins/install#install-a-plugin) pour voir ce qu'une session cloud charge

46* **Un terminal auquel vous avez accès** : exécutez `claude` et tapez `/plugin` là, ou exécutez `claude plugin install <plugin>@<marketplace>` dans votre shell sans démarrer une session46* **Un terminal auquel vous avez accès** : exécutez `claude` et tapez `/plugin` là, ou exécutez `claude plugin install <plugin>@<marketplace>` dans votre shell sans démarrer une session

Details

122mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }122mkdir -p ~/.claude && { [ -f ~/.claude.json ] || echo '{}' > ~/.claude.json; }

123```123```

124 124 

125Une fois le fichier de paramètres en place, lancez Claude Code avec `npx` et passez `claude` comme commande à envelopper :125Installez le runtime globalement, sous un préfixe situé en dehors de tous les chemins auxquels vous autorisez l'écriture :

126 126 

127```bash theme={null}127```bash theme={null}

128npx @anthropic-ai/sandbox-runtime claude128npm install -g @anthropic-ai/sandbox-runtime

129```129```

130 130 

131Claude Code démarre à l'intérieur du sandbox avec les limites de système de fichiers et réseau que vous avez configurées. La même commande fonctionne pour sandboxer les serveurs MCP autonomes ou d'autres processus d'aide.131Une fois le fichier de paramètres en place, lancez Claude Code à travers le runtime depuis votre répertoire de projet :

132 

133```bash theme={null}

134srt claude

135```

136 

137Claude Code démarre à l'intérieur du sandbox avec les limites de système de fichiers et réseau que vous avez configurées. La même commande `srt` fonctionne pour sandboxer les serveurs MCP autonomes ou d'autres processus d'aide.

132 138 

133<h3 id="what-the-runtime-blocks-on-its-own">139<h3 id="what-the-runtime-blocks-on-its-own">

134 Ce que le runtime bloque de lui-même140 Ce que le runtime bloque de lui-même

Details

33 33 

34`/plugin` ouvre un panneau interactif dans le CLI terminal. Si Claude signale que `/plugin` n'est pas disponible dans cet environnement, installez d'une autre manière :34`/plugin` ouvre un panneau interactif dans le CLI terminal. Si Claude signale que `/plugin` n'est pas disponible dans cet environnement, installez d'une autre manière :

35 35 

36* **Application Claude desktop, session locale ou SSH** : ouvrez le [navigateur de plugins](/docs/fr/desktop#install-plugins) en cliquant sur le bouton **+** à côté de l'invite, puis **Plugins**, puis **Ajouter un plugin**36* **Application Claude desktop, session locale ou SSH** : utilisez l'onglet **Desktop app** sous [Installer un plugin](/docs/fr/plugins/install#install-a-plugin)

37* **Extension VS Code** : installez à partir du [dialogue **Gérer les plugins**](/docs/fr/vs-code#manage-plugins)37* **Extension VS Code** : installez à partir du [dialogue **Gérer les plugins**](/docs/fr/vs-code#manage-plugins)

38* **Sessions cloud** : une session cloud ne charge pas les plugins à partir de vos paramètres utilisateur ou du fichier `.claude/settings.json` du référentiel, comme l'explique [Ce qui est transféré de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup). Pour les plugins que votre organisation distribue via les paramètres gérés, consultez [Gérer les plugins pour votre organisation](/docs/fr/plugins/org)38* **Sessions cloud** : une session cloud ne charge pas les plugins à partir de vos paramètres utilisateur ou du fichier `.claude/settings.json` du référentiel, comme l'explique [Ce qui est transféré de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup). Pour les plugins que votre organisation distribue via les paramètres gérés, consultez [Gérer les plugins pour votre organisation](/docs/fr/plugins/org)

39 39 

Details

554* **Avec [`--retire-at`](/docs/fr/self-hosted-environments-reference#runner-cli-flags)** : laissez suffisamment de temps entre l'heure de retraite et l'heure d'arrêt de l'hôte pour que les tours typiques se terminent, plus l'attente des tâches en arrière-plan que [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle) décrit, plus la durée journalisée. Calculez l'heure de retraite à chaque lancement, par exemple `date +%s` plus la durée de vie prévue du runner.554* **Avec [`--retire-at`](/docs/fr/self-hosted-environments-reference#runner-cli-flags)** : laissez suffisamment de temps entre l'heure de retraite et l'heure d'arrêt de l'hôte pour que les tours typiques se terminent, plus l'attente des tâches en arrière-plan que [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle) décrit, plus la durée journalisée. Calculez l'heure de retraite à chaque lancement, par exemple `date +%s` plus la durée de vie prévue du runner.

555* **Avec [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal)** : le délai d'arrêt doit également couvrir les minutes que vous configurez et une attente supplémentaire avant le début du drainage, 75 secondes avec les paramètres par défaut. [Différer le drainage au-delà du premier signal](#defer-the-drain-past-the-first-signal) explique les deux. Le runner journalise également cette durée plus longue au démarrage.555* **Avec [`--defer-shutdown-max-min`](#defer-the-drain-past-the-first-signal)** : le délai d'arrêt doit également couvrir les minutes que vous configurez et une attente supplémentaire avant le début du drainage, 75 secondes avec les paramètres par défaut. [Différer le drainage au-delà du premier signal](#defer-the-drain-past-the-first-signal) explique les deux. Le runner journalise également cette durée plus longue au démarrage.

556 556 

557<h3 id="post-a-status-message-before-a-restart">

558 Publier un message d'état avant un redémarrage

559</h3>

560 

561Avant un redémarrage qui interrompra des sessions, demandez à un [Owner](/docs/fr/cloud-environments#organization-shared-environments) de publier un message d'état sur l'environnement depuis la [page d'administration **Cloud environments**](https://claude.ai/admin-settings/cloud-environments). Sur [claude.ai/code](https://claude.ai/code), les membres voient le message dans leurs sessions de cet environnement. Demandez à l'Owner de définir une date d'expiration lors de la publication, ou de supprimer le message une fois les runners de retour.

562 

557<h3 id="defer-the-drain-past-the-first-signal">563<h3 id="defer-the-drain-past-the-first-signal">

558 Différer le drainage au-delà du premier signal564 Différer le drainage au-delà du premier signal

559</h3>565</h3>


632 Épingler la version638 Épingler la version

633</h2>639</h2>

634 640 

635Le processus enfant Claude Code de chaque session exécute le binaire du runner lui-même, et le runner désactive la mise à jour automatique à l'intérieur des sessions qu'il génère, donc chaque session exécute la version que vous avez installée sur l'hôte ou construite dans l'image. Une mise à jour au niveau de l'hôte prend effet la prochaine fois que le runner démarre.641Par défaut, le processus enfant de chaque session exécute le binaire du runner lui-même, et le runner désactive la mise à jour automatique à l'intérieur des sessions qu'il génère. Avec ce comportement par défaut, chaque session exécute la version que vous avez installée sur l'hôte ou intégrée à l'image. Une mise à jour au niveau de l'hôte prend effet la prochaine fois que le runner démarre.

636 642 

637Choisissez la version qu'exécutent vos sessions et le moment où elle change :643Choisissez la version qu'exécutent vos sessions et le moment où elle change :

638 644 


640* **Pour garder une flotte sur une version** : construisez l'image avec une version épinglée, ou sur un hôte nu installez une version spécifique et [désactivez les mises à jour automatiques](/docs/fr/setup#disable-auto-updates)646* **Pour garder une flotte sur une version** : construisez l'image avec une version épinglée, ou sur un hôte nu installez une version spécifique et [désactivez les mises à jour automatiques](/docs/fr/setup#disable-auto-updates)

641* **Pour mettre à niveau une flotte fixe** : lisez les entrées du [changelog](/docs/en/changelog) entre votre version et celle que vous installez, puis installez la version plus récente ou reconstruisez l'image et redémarrez les runners647* **Pour mettre à niveau une flotte fixe** : lisez les entrées du [changelog](/docs/en/changelog) entre votre version et celle que vous installez, puis installez la version plus récente ou reconstruisez l'image et redémarrez les runners

642* **Pour mettre à niveau des runners à la demande** : lisez les entrées du [changelog](/docs/en/changelog) entre votre version et celle que vous installez, puis modifiez l'image que démarre votre [hook `spawn-runner`](/docs/fr/self-hosted-environments-configuration#the-spawn-runner-hook). Chaque nouveau runner obtient la nouvelle version. Un runner déjà actif, y compris un runner en attente démarré par [`--min-idle`](/docs/fr/self-hosted-environments-reference#orchestrator-cli-flags), conserve sa version jusqu'à ce qu'il se termine. Ne le redémarrez pas, car son ordre de travail est à usage unique.648* **Pour mettre à niveau des runners à la demande** : lisez les entrées du [changelog](/docs/en/changelog) entre votre version et celle que vous installez, puis modifiez l'image que démarre votre [hook `spawn-runner`](/docs/fr/self-hosted-environments-configuration#the-spawn-runner-hook). Chaque nouveau runner obtient la nouvelle version. Un runner déjà actif, y compris un runner en attente démarré par [`--min-idle`](/docs/fr/self-hosted-environments-reference#orchestrator-cli-flags), conserve sa version jusqu'à ce qu'il se termine. Ne le redémarrez pas, car son ordre de travail est à usage unique.

649* **Si les sessions démarrent un binaire différent** : si vous utilisez [`--exec-path`](/docs/fr/self-hosted-environments-reference#runner-cli-flags) ou un [hook `command`](/docs/fr/self-hosted-environments-configuration#command) pour démarrer un binaire Claude Code autre que celui du runner, les sessions exécutent la version de ce binaire. Mettez à jour ce binaire lorsque vous mettez à jour le runner.

643* **Plugins** : les places de marché de plugins ne se mettent pas à jour automatiquement non plus ; définissez `FORCE_AUTOUPDATE_PLUGINS=1` dans l'environnement du runner pour laisser les plugins se mettre à jour automatiquement pendant que le binaire reste épinglé650* **Plugins** : les places de marché de plugins ne se mettent pas à jour automatiquement non plus ; définissez `FORCE_AUTOUPDATE_PLUGINS=1` dans l'environnement du runner pour laisser les plugins se mettre à jour automatiquement pendant que le binaire reste épinglé

644 651 

645<h2 id="scale-the-fleet">652<h2 id="scale-the-fleet">


699 * **Avant d'activer le flag** : limitez qui peut pousser vers les refs `claude/*` sur le dépôt distant source. À la reprise, le runner récupère la branche précédemment poussée sans vérifier qui l'a poussée.706 * **Avant d'activer le flag** : limitez qui peut pousser vers les refs `claude/*` sur le dépôt distant source. À la reprise, le runner récupère la branche précédemment poussée sans vérifier qui l'a poussée.

700* **Le clonage d'un dépôt ajouté en milieu de session peut échouer** : Claude le clone avec `git clone` via HTTPS. Sur un runner sans [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), le clonage échoue avec une erreur d'authentification git si rien sur l'hôte ne peut lire le dépôt. Dans la mesure du possible, sélectionnez chaque dépôt dont la session a besoin quand vous la créez.707* **Le clonage d'un dépôt ajouté en milieu de session peut échouer** : Claude le clone avec `git clone` via HTTPS. Sur un runner sans [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), le clonage échoue avec une erreur d'authentification git si rien sur l'hôte ne peut lire le dépôt. Dans la mesure du possible, sélectionnez chaque dépôt dont la session a besoin quand vous la créez.

701* **Certains connecteurs n'apparaissent pas dans les sessions auto-hébergées** : un connecteur que vous n'avez pas encore connecté dans les paramètres claude.ai n'est pas listé dans une session auto-hébergée, et la session ne vous invitera pas à le connecter. Connectez-le d'abord dans les paramètres, puis démarrez une session fraîche. Ajouter un connecteur à une session déjà en cours d'exécution ne rend pas non plus ses outils disponibles à Claude ; démarrez une session fraîche pour récupérer un connecteur nouvellement ajouté.708* **Certains connecteurs n'apparaissent pas dans les sessions auto-hébergées** : un connecteur que vous n'avez pas encore connecté dans les paramètres claude.ai n'est pas listé dans une session auto-hébergée, et la session ne vous invitera pas à le connecter. Connectez-le d'abord dans les paramètres, puis démarrez une session fraîche. Ajouter un connecteur à une session déjà en cours d'exécution ne rend pas non plus ses outils disponibles à Claude ; démarrez une session fraîche pour récupérer un connecteur nouvellement ajouté.

709* **Quand quelqu'un archive ou supprime une session, ou libère son runner depuis le menu de la session** : ne comptez pas sur le push de [`--push-outcome-on-release`](/docs/fr/self-hosted-environments-reference#runner-cli-flags). Pour sauvegarder les commits dans ces cas, poussez `HEAD` vers une branche de secours à partir d'un [hook `post-session`](/docs/fr/self-hosted-environments-configuration#post-session). Si vous partez de l'exemple qui s'y trouve, faites-le pousser même lorsqu'il n'y a aucune modification non commitée, car il ne pousse qu'après un commit d'instantané.

702 710 

703<h3 id="report-an-issue">711<h3 id="report-an-issue">

704 Signaler un problème712 Signaler un problème


710 Dépannage718 Dépannage

711</h2>719</h2>

712 720 

713Pour un diagnostic guidé, exécutez la sous-commande doctor sur l'hôte runner. La sous-commande doctor démarre une session Claude Code interactive avec les journaux et l'état du runner attachés. Connectez-vous d'abord avec `claude auth login` sur cet hôte pour que la session puisse interroger votre environnement, ses runners, et ses sessions en attente. Sans cette connexion, par exemple quand l'hôte s'authentifie avec une clé API, il est limité au point de terminaison de santé local, aux métriques, et au journal du runner, et il lit le journal uniquement si vous avez démarré le runner avec `--log-file`.721Pour un diagnostic guidé, exécutez la sous-commande doctor sur l'hôte du runner. La sous-commande doctor démarre une session Claude Code interactive à laquelle sont joints les logs et l'état du runner. Connectez-vous d'abord avec `claude auth login` sur cet hôte afin que la session puisse interroger votre environnement, ses runners et ses sessions en file d'attente. Sans cette connexion, par exemple lorsque l'hôte s'authentifie avec une clé API, elle est limitée à l'endpoint de santé local, aux métriques et au log du runner, et elle ne lit ce log que si vous avez démarré le runner avec `--log-file`.

714 722 

715```bash theme={null}723```bash theme={null}

716claude self-hosted-runner doctor724claude self-hosted-runner doctor


718 726 

719Problèmes courants :727Problèmes courants :

720 728 

721* **Le runner n'apparaît pas dans l'environnement** : confirmez que l'hôte peut atteindre `api.anthropic.com` sur HTTPS, que le secret de l'environnement est actuel, et que l'horloge de l'hôte est à moins de cinq minutes de l'heure réelle ; un décalage plus grand cause l'échec de l'authentification. Le runner enregistre `[runner:fatal]` avec la raison du rejet en cas d'échec d'authentification.729* **Le runner n'apparaît pas dans l'environnement** : vérifiez que l'hôte peut joindre `api.anthropic.com` en HTTPS, que le secret de l'environnement est à jour et que l'horloge de l'hôte est à moins de cinq minutes de l'heure réelle ; un décalage plus important fait échouer l'authentification. En cas d'échec d'authentification, le runner journalise `[runner:fatal]` avec le motif du rejet.

722* **Le runner quitte au démarrage avec `cannot create or write to base directory`** : le runner ne peut pas créer ou écrire à `--base-dir`, qui par défaut est `/workspace`. Corrigez la propriété du répertoire ou pointez `--base-dir` vers un chemin inscriptible, comme décrit dans [Garder le répertoire de base et la capacité identiques sur tous les runners](#keep-the-base-directory-and-capacity-identical-across-runners). Si le runner enregistre à la place `[runner:fatal]` disant que la vérification du répertoire de base a expiré, le répertoire est sur un montage NFS ou CSI suspendu. Vérifiez la santé du montage plutôt que les permissions. Le runner imprime ces deux échecs de démarrage à stderr avant d'ouvrir `--log-file`, donc cherchez-les dans le terminal ou les journaux de conteneur de votre plateforme plutôt que dans le fichier journal. Avant v2.1.225, le runner ne vérifiait pas le répertoire de base au démarrage, et cette mauvaise configuration échouait les sessions après la récupération à la place.730* **Le runner s'arrête au démarrage avec `cannot create or write to base directory`** : le runner ne peut pas créer `--base-dir` ni y écrire, ce répertoire étant `/workspace` par défaut. Corrigez le propriétaire du répertoire ou faites pointer `--base-dir` vers un chemin accessible en écriture, comme décrit dans [Conserver un répertoire de base et une capacité identiques sur tous les runners](#keep-the-base-directory-and-capacity-identical-across-runners). Si le runner journalise plutôt une ligne `[runner:fatal]` indiquant que la vérification du répertoire de base a expiré, le répertoire se trouve sur un montage NFS ou CSI bloqué. Vérifiez l'état du montage plutôt que les permissions. Le runner affiche ces deux échecs de démarrage sur stderr avant d'ouvrir `--log-file` ; cherchez-les donc dans le terminal ou dans les logs de conteneur de votre plateforme plutôt que dans le fichier de log. Avant la v2.1.225, le runner ne vérifiait pas le répertoire de base au démarrage, et cette erreur de configuration faisait plutôt échouer les sessions après leur prise en charge.

723* **Le runner quitte au démarrage avec `RegisterRunner failed:` et une erreur de certificat TLS** : l'erreur peut être `self signed certificate in certificate chain`, par exemple. Le runner ne fait pas confiance à l'autorité de certification (CA) derrière le certificat qu'il a reçu, comme c'est le cas derrière un proxy d'inspection TLS. Définissez [`NODE_EXTRA_CA_CERTS`](/docs/fr/network-config#custom-ca-certificates) dans l'environnement du runner sur un fichier PEM contenant la CA racine du proxy.731* **Le runner s'arrête au démarrage avec `RegisterRunner failed:` et une erreur de certificat TLS** : l'erreur peut être, par exemple, `self signed certificate in certificate chain`. Le runner ne fait pas confiance à l'autorité de certification (CA) à l'origine du certificat qu'il a reçu, comme c'est le cas derrière un proxy d'inspection TLS. Définissez [`NODE_EXTRA_CA_CERTS`](/docs/fr/network-config#custom-ca-certificates) dans l'environnement du runner avec un fichier PEM contenant la CA racine du proxy.

724 732 

725 Vous n'avez pas à la redéfinir pour les sessions, qui en héritent. Git ne la lit pas : pour les clones via ce proxy, définissez aussi [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).733 Vous n'avez pas à la redéfinir pour les sessions, qui en héritent. Git ne la lit pas : pour les clones passant par ce proxy, définissez également [`GIT_SSL_CAINFO`](#trust-a-private-certificate-authority-with-anthropic-managed-git).

726* **L'orchestrateur journalise `poll failed:` avec une erreur de certificat TLS et continue de réessayer** : l'orchestrateur ne fait pas confiance à la CA derrière le certificat qu'il a reçu, comme c'est le cas derrière un proxy d'inspection TLS. Définissez [`NODE_EXTRA_CA_CERTS`](/docs/fr/network-config#custom-ca-certificates) dans l'environnement de l'orchestrateur sur un fichier PEM contenant la CA racine du proxy. Définissez-la aussi pour les runners que votre hook `spawn-runner` démarre.734* **L'orchestrateur journalise `poll failed:` avec une erreur de certificat TLS et continue de réessayer** : l'orchestrateur ne fait pas confiance à la CA à l'origine du certificat qu'il a reçu, comme c'est le cas derrière un proxy d'inspection TLS. Définissez [`NODE_EXTRA_CA_CERTS`](/docs/fr/network-config#custom-ca-certificates) dans l'environnement de l'orchestrateur avec un fichier PEM contenant la CA racine du proxy. Définissez-la également pour les runners que votre hook `spawn-runner` démarre.

727 735 

728 Par exemple, une ligne peut se terminer par `poll failed: self signed certificate in certificate chain — retrying in 1s`, avec les mots de la bibliothèque TLS entre les deux-points et le tiret. Pour confirmer la correction, vérifiez que `connected` vaut `true` dans le corps de [`/healthz`](/docs/fr/self-hosted-environments-reference#health-endpoint) de l'orchestrateur.736 Par exemple, une ligne peut se terminer par `poll failed: self signed certificate in certificate chain — retrying in 1s`, avec le message de la bibliothèque TLS entre les deux-points et le tiret. Pour confirmer la correction, vérifiez que `connected` vaut `true` dans le corps de [`/healthz`](/docs/fr/self-hosted-environments-reference#health-endpoint) de l'orchestrateur.

729* **Les sessions restent en attente** : chaque runner en ligne peut être verrouillé à un propriétaire différent. Vérifiez la métrique `claude_code_self_hosted_runner_locked_account` de chaque runner [métrique](/docs/fr/self-hosted-environments-reference#prometheus-metrics) ou le champ `locked_account` de sa ligne de journal `[runner:health]` pour voir qui la détient. Les deux affichent l'email du propriétaire uniquement après que le runner ait reçu un jeton de session portant une réclamation `act.email`, ce qu'une session d'agent Claude Tag ne fait jamais. Sans la réclamation, le runner n'émet aucune série `locked_account` et enregistre `locked_account=yes`, ce qui vous dit que le runner est verrouillé mais pas à quel propriétaire. Ajoutez des répliques, ou attendez qu'un runner existant se draine et redémarre. Si l'environnement utilise des runners à la demande, vérifiez l'orchestrateur à la place ; consultez [Runners à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners).737* **Les sessions restent en file d'attente** : chaque runner en ligne est peut-être verrouillé sur un propriétaire différent. Consultez la [métrique](/docs/fr/self-hosted-environments-reference#prometheus-metrics) `claude_code_self_hosted_runner_locked_account` de chaque runner ou le champ `locked_account` de sa ligne de log `[runner:health]` pour savoir qui le détient. Les deux n'affichent l'adresse e-mail du propriétaire qu'une fois que le runner a reçu un jeton de session portant une revendication `act.email`, ce qui n'est jamais le cas des sessions d'un agent Claude Tag. Sans cette revendication, le runner n'émet aucune série `locked_account` et journalise `locked_account=yes`, ce qui vous indique que le runner est verrouillé, mais pas sur quel propriétaire. Ajoutez des réplicas ou attendez qu'un runner existant se vide et redémarre. Si l'environnement utilise des runners à la demande, vérifiez plutôt l'orchestrateur ; consultez [Runners à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners).

730* **Les sessions échouent immédiatement après la récupération** : ouvrez la session dans claude.ai/code pour voir l'erreur. Les causes les plus courantes sont des [identifiants git](#configure-git) manquants dans l'image runner et les outils de build qui ne sont pas installés. Sur un runner démarré avec `--use-anthropic-git-proxy`, consultez [Quand les sessions ne démarrent pas sur un runner avec le proxy git](#when-anthropic-doesnt-serve-a-session). Un répertoire de base non inscriptible arrête le runner au démarrage au lieu d'échouer les sessions. Consultez l'entrée **Le runner quitte au démarrage avec `cannot create or write to base directory`** dans cette liste.738* **Les sessions échouent immédiatement après leur prise en charge** : ouvrez la session dans claude.ai/code pour voir l'erreur. Les causes les plus fréquentes sont des [identifiants git](#configure-git) manquants dans l'image du runner et des outils de build non installés. Sur un runner démarré avec `--use-anthropic-git-proxy`, consultez [Lorsque les sessions ne démarrent pas sur un runner avec le proxy git](#when-anthropic-doesnt-serve-a-session). Un répertoire de base non accessible en écriture arrête le runner au démarrage au lieu de faire échouer les sessions. Consultez l'entrée **Le runner s'arrête au démarrage avec `cannot create or write to base directory`** de cette liste.

731* **Les sessions ne démarrent pas sur un runner qui a défini `--use-anthropic-git-proxy`** : cherchez dans le journal du runner `access denied by the git proxy`, ou une erreur git qui nomme une adresse `api.anthropic.com` contenant `/git_proxy/`. Pour déterminer si Anthropic a servi la session et corriger la cause, consultez [Quand les sessions ne démarrent pas sur un runner avec le proxy git](#when-anthropic-doesnt-serve-a-session).739* **Les sessions ne démarrent pas sur un runner ayant défini `--use-anthropic-git-proxy`** : cherchez dans le log du runner `access denied by the git proxy`, ou une erreur git mentionnant une adresse `api.anthropic.com` contenant `/git_proxy/`. Pour déterminer si Anthropic a servi la session et corriger la cause, consultez [Lorsque les sessions ne démarrent pas sur un runner avec le proxy git](#when-anthropic-doesnt-serve-a-session).

732* **Les sessions ne peuvent pas atteindre le réseau via un proxy de sortie authentifiant** : quand la source que vous avez définie avec [`--proxy-authorization-command` ou `--proxy-authorization-file`](#authenticate-to-an-egress-proxy) échoue, expire après 30 secondes, ou produit une valeur vide, le runner répond à cette connexion `502 Bad Gateway` et enregistre pourquoi. Le runner rédige la stderr de la commande dans ce journal et ne journalise jamais la valeur de l'en-tête. Avec `--proxy-authorization-command`, exécutez la commande vous-même sur l'hôte pour confirmer qu'elle imprime la valeur d'en-tête entière sur stdout. Si le runner quitte à la place au démarrage avec `could not start the proxy-authorization listener`, il ne pouvait pas ouvrir son écouteur de boucle locale.740* **Les sessions ne peuvent pas accéder au réseau via un proxy de sortie avec authentification** : lorsque la source que vous avez définie avec [`--proxy-authorization-command` ou `--proxy-authorization-file`](#authenticate-to-an-egress-proxy) échoue, expire au bout de 30 secondes ou renvoie une valeur vide, le runner répond `502 Bad Gateway` à cette connexion et journalise la raison. Le runner masque le stderr de la commande dans ce log et ne journalise jamais la valeur de l'en-tête. Avec `--proxy-authorization-command`, exécutez vous-même la commande sur l'hôte pour vérifier qu'elle affiche la valeur complète de l'en-tête sur stdout. Si le runner s'arrête plutôt au démarrage avec `could not start the proxy-authorization listener`, il n'a pas pu ouvrir son listener de loopback.

733* **Le runner enregistre des lignes `Poll failed` contenant `rejecting the malformed poll response`** : le runner a reçu une réponse de sondage dont le corps n'est pas le JSON attendu de la file d'attente, le plus souvent parce que quelque chose entre le runner et `api.anthropic.com`, comme un proxy d'interception ou un portail captif, a répondu avec sa propre page. Le runner rejette la réponse, la compte sous le type `transport` de la [métrique](/docs/fr/self-hosted-environments-reference#prometheus-metrics) `claude_code_self_hosted_runner_poll_errors_total`, et réessaie selon le calendrier de sondage échoué décrit dans [Cycle de vie de la session](/docs/fr/self-hosted-environments#session-lifecycle). Le runner continue de servir ses sessions en direct. Configurez le proxy pour passer les réponses de `api.anthropic.com` inchangées. Avant v2.1.246, le runner lisait une telle réponse comme une file d'attente de travail vide, ce qui pouvait terminer ses sessions en direct ou le faire quitter.741* **Le runner journalise des lignes `Poll failed` contenant `rejecting the malformed poll response`** : le runner a reçu une réponse d'interrogation de travail dont le corps n'est pas le JSON attendu de la file d'attente, le plus souvent parce qu'un élément situé entre le runner et `api.anthropic.com`, comme un proxy d'interception ou un portail captif, a répondu avec sa propre page. Le runner rejette la réponse, la comptabilise sous le type `transport` de la [métrique](/docs/fr/self-hosted-environments-reference#prometheus-metrics) `claude_code_self_hosted_runner_poll_errors_total` et réessaie selon le calendrier des interrogations échouées décrit dans [Cycle de vie des sessions](/docs/fr/self-hosted-environments#session-lifecycle). Le runner continue de servir ses sessions actives. Configurez le proxy pour qu'il transmette sans modification les réponses de `api.anthropic.com`. Avant la v2.1.246, le runner interprétait une telle réponse comme une file de travail vide, ce qui pouvait mettre fin à ses sessions actives ou provoquer son arrêt.

734* **La branche d'une session n'existe plus sur la télécommande** : pour une source git que la session ne lit que, le runner saute cette source et continue sur les autres. Pour la source vers laquelle la session pousse les résultats, une branche supprimée, généralement parce qu'elle a été fusionnée et supprimée automatiquement, échoue la session avec une erreur nommant le référentiel et la branche et vous demandant de restaurer la branche et de réessayer. Le runner échoue la session avec la même erreur quand sauter laisserait sans référentiel du tout. Avant v2.1.228, une telle session démarrait dans un répertoire vide.742* **La branche d'une session n'existe plus sur le dépôt distant** : pour une source git que la session ne fait que lire, le runner ignore cette source et continue avec les autres. Pour la source vers laquelle la session pousse ses résultats, une branche supprimée, généralement parce qu'elle a été fusionnée puis supprimée automatiquement, fait échouer la session avec une erreur qui nomme le dépôt et la branche et vous demande de restaurer la branche puis de réessayer. Le runner fait échouer la session avec la même erreur lorsque l'ignorer la laisserait sans aucun dépôt. Avant la v2.1.228, une telle session démarrait dans un répertoire vide.

735* **Une session démarre sans l'un de ses référentiels** : sur un runner sans [hook `checkout`](/docs/fr/self-hosted-environments-configuration#checkout), l'hôte git peut refuser la vérification d'accès du runner pour un référentiel que la session ne lit que. Le runner saute alors ce référentiel, enregistre une ligne `[runner:warn] could not access context source` nommant le refus, et démarre la session sur les autres.743* **Une session démarre sans l'un de ses dépôts** : sur un runner sans [hook `checkout`](/docs/fr/self-hosted-environments-configuration#checkout), l'hôte git peut refuser la vérification d'accès du runner pour un dépôt que la session ne fait que lire. Le runner ignore alors ce dépôt, journalise une ligne `[runner:warn] could not access context source` indiquant le refus, et démarre la session avec les dépôts restants.

736 744 

737 Le runner saute uniquement un refus clair : l'hôte répond que le référentiel n'a pas été trouvé, git ne trouve aucune identifiants pour l'hôte, ou l'authentification échoue. Une défaillance réseau, un délai d'expiration, ou un HTTP `403` échoue toujours le démarrage de la session, tout comme un refus pour un référentiel vers lequel la session pousse les résultats. Le runner échoue toujours une session que sauter laisserait sans référentiel du tout. Avec [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), le runner saute uniquement un référentiel que le proxy git lui-même refuse.745 Le runner n'ignore qu'un refus explicite : l'hôte répond que le dépôt est introuvable, git ne trouve aucun identifiant pour l'hôte, ou l'authentification échoue. Une défaillance réseau, un délai d'expiration ou un HTTP `403` fait toujours échouer le démarrage de la session, tout comme un refus pour un dépôt vers lequel la session pousse ses résultats. Le runner fait toujours échouer une session que l'ignorance laisserait sans aucun dépôt. Avec [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), le runner n'ignore qu'un dépôt que le proxy git lui-même refuse.

738 746 

739 La vérification d'accès s'exécute à nouveau chaque fois que la session démarre sur un runner, donc une fois que l'identité git du runner a accès en lecture, le prochain démarrage clone le référentiel. Avant v2.1.274, chacun de ces refus échouait le démarrage de la session.747 La vérification d'accès est réexécutée chaque fois que la session démarre sur un runner ; ainsi, dès que l'identité git du runner dispose d'un accès en lecture, le démarrage suivant clone le dépôt. Avant la v2.1.274, chacun de ces refus faisait échouer le démarrage de la session.

740* **Les sessions prennent des minutes pour démarrer** : le clone initial domine généralement. Regardez la [métrique](/docs/fr/self-hosted-environments-reference#prometheus-metrics) `claude_code_self_hosted_runner_session_init_duration_seconds` pour confirmer, et coupez le clone avec un [checkout pré-chauffé](#reuse-a-pre-warmed-checkout) ou un `CLAUDE_RUNNER_FETCH_DEPTH` plus petit.748* **Les sessions mettent plusieurs minutes à démarrer** : le clone initial en est généralement la cause principale. Surveillez la [métrique](/docs/fr/self-hosted-environments-reference#prometheus-metrics) `claude_code_self_hosted_runner_session_init_duration_seconds` pour le confirmer, et réduisez la durée du clone avec un [checkout préchauffé](#reuse-a-pre-warmed-checkout) ou une valeur de `CLAUDE_RUNNER_FETCH_DEPTH` plus petite.

741* **Les tours échouent avec un 401** : quand un tour se termine avec un 401 ou 403 de l'API Anthropic, le runner récupère un [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/fr/self-hosted-environments-configuration#wrapper-scripts) frais auprès d'Anthropic et le transmet à la session. Le tour échoué n'est pas réessayé. Ce jeton est de courte durée, et le runner le fait tourner via le stdin de la session.749* **Les tours échouent avec une erreur 401** : lorsqu'un tour se termine par une erreur 401 ou 403 de l'API Anthropic, le runner récupère un nouveau [`CLAUDE_CODE_OAUTH_TOKEN`](/docs/fr/self-hosted-environments-configuration#wrapper-scripts) auprès d'Anthropic et le transmet à la session. Le tour échoué n'est pas réessayé. Ce jeton a une durée de vie courte, et le runner le renouvelle via le stdin de la session.

742 750 

743 Quand une récupération échoue, le runner enregistre une ligne `inference_token refresh failed` qui dit quand il réessayera, et il continue à réessayer aussi longtemps que la session s'exécute.751 Lorsqu'une récupération échoue, le runner journalise une ligne `inference_token refresh failed` indiquant quand il réessaiera, et il continue de réessayer tant que la session s'exécute.

744 752 

745 Si chaque appel commence à échouer environ 30 minutes dans une session, un script wrapper a probablement coupé stdin de la session, donc les rotations de jeton ne peuvent pas l'atteindre ; consultez [Garder stdin et le descripteur de fichier 3 attachés](/docs/fr/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached).753 Si tous les appels commencent à échouer environ 30 minutes après le début d'une session, un script wrapper a probablement coupé le stdin de la session, de sorte que les renouvellements de jeton ne peuvent pas l'atteindre ; consultez [Conserver stdin et le descripteur de fichier 3 attachés](/docs/fr/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached).

746 754 

747 Avant v2.1.274, le runner arrêtait de réessayer une récupération échouée après quelques tentatives et attendait la prochaine programmée. Un tour échoué n'a pas déclenché une récupération, donc chaque tour échouait avec un 401 jusqu'à la prochaine récupération programmée.755 Avant la v2.1.274, le runner cessait de réessayer une récupération échouée après quelques tentatives et attendait la suivante prévue. Un tour échoué ne déclenchait pas de récupération, si bien que chaque tour échouait avec une erreur 401 jusqu'à la récupération planifiée suivante.

748* **Le pod est tué en milieu de drainage** : augmentez `terminationGracePeriodSeconds` à au moins la valeur que le runner enregistre au démarrage. Consultez [Timing d'arrêt](#shutdown-timing).756* **Un tour échoue dans claude.ai/code avec `This model needs a newer version of Claude Code`** : la version de Claude Code avec laquelle vos runners démarrent les sessions est plus ancienne que celle requise par le modèle de la session, si bien que l'API [rejette la requête](/docs/fr/errors#claude-code-does-not-support-this-model). Mettez à niveau les runners vers la version demandée par le message, ou une version ultérieure, comme décrit dans [Épingler la version](#pin-the-version). D'ici là, les utilisateurs peuvent choisir un autre modèle dans la session.

757* **Le pod est tué en cours de vidage** : augmentez `terminationGracePeriodSeconds` à au moins la valeur que le runner journalise au démarrage. Consultez [Délais d'arrêt](#shutdown-timing).

749 758 

750Une fois que la journalisation est initialisée, le runner écrit son journal de cycle de vie, y compris les lignes `[runner:fatal]`, sur stdout, et la sortie de débogage sur stderr, le tout sous forme de lignes en texte brut plutôt qu'en JSON. Les échecs liés au répertoire de base décrits dans les entrées de dépannage ci-dessus s'impriment sur stderr avant ce point. Capturez les deux flux avec `--log-file`, ce qui permet également à `self-hosted-runner doctor` de les suivre, ou avec la collecte de journaux de votre plateforme.759Une fois la journalisation initialisée, le runner écrit son log de cycle de vie, y compris les lignes `[runner:fatal]`, sur stdout, et la sortie de débogage sur stderr, le tout sous forme de lignes de texte brut plutôt que de JSON. Les échecs liés au répertoire de base décrits dans les entrées de dépannage ci-dessus sont affichés sur stderr avant ce moment. Capturez les deux flux avec `--log-file`, qui permet également à `self-hosted-runner doctor` de les suivre, ou avec la collecte de logs de votre plateforme.

751 760 

752Le processus enfant de chaque session écrit un journal de débogage séparé. En cas d'échec, le runner affiche la queue du journal aux côtés de la session dans claude.ai/code. À moins que vous n'ayez démarré le runner avec [`--remove-session-state`](/docs/fr/self-hosted-environments-reference#runner-cli-flags), il conserve également le journal d'une session échouée sur le disque et imprime son chemin dans le journal du runner.761Le processus enfant de chaque session écrit un log de débogage distinct. En cas d'échec, le runner affiche la fin de ce log à côté de la session dans claude.ai/code. Sauf si vous avez démarré le runner avec [`--remove-session-state`](/docs/fr/self-hosted-environments-reference#runner-cli-flags), il conserve également sur disque le log d'une session échouée et affiche son chemin dans le log du runner.

753 762 

754<h3 id="when-the-runner-exits">763<h3 id="when-the-runner-exits">

755 Quand le runner quitte764 Lorsque le runner s'arrête

756</h3>765</h3>

757 766 

758Ne redémarrez pas un [runner à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners), car son ordre de travail est à usage unique. Un runner qui quitte juste après son démarrage nécessite un traitement différent de celui qui quitte pour toute autre raison.767Ne redémarrez pas un [runner à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners), car son ordre de travail est à usage unique. Un runner qui s'arrête juste après avoir démarré doit être traité différemment d'un runner qui s'arrête pour toute autre raison.

759 768 

760* **Une sortie normale** : le runner a terminé ses sessions et s'est drainé, a atteint son heure de retraite, ou a reçu l'ordre de s'arrêter. Redémarrez-le pour que l'environnement ait à nouveau de la capacité. [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle) décrit ces sorties.769* **Un arrêt normal** : le runner a terminé ses sessions et s'est vidé, a atteint son heure de retrait ou a reçu l'ordre de s'arrêter. Redémarrez-le pour que l'environnement retrouve de la capacité. [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle) décrit ces arrêts.

761* **Un démarrage échoué** : le runner ne peut pas démarrer avec la configuration ou l'hôte qui lui a été donné, donc il quitte quelques secondes après son démarrage, et il quitte de la même manière chaque fois que vous le redémarrez. Le redémarrer plus rapidement n'aide pas. Quelqu'un doit lire sa sortie et corriger la cause.770* **Un échec de démarrage** : le runner ne peut pas démarrer avec la configuration ou l'hôte qui lui ont été fournis ; il s'arrête donc quelques secondes après avoir démarré, et il s'arrête de la même manière chaque fois que vous le redémarrez. Le redémarrer plus vite n'aide pas. Quelqu'un doit lire sa sortie et corriger la cause.

762* **Perte de contact** : un runner qui ne peut pas joindre Anthropic pendant plus longtemps que son [bail](/docs/fr/self-hosted-environments#session-lifecycle), par exemple pendant que son hôte est en veille, peut être retiré de l'environnement. Quand un runner retiré se reconnecte, il quitte. Son journal peut afficher une ligne `[runner:fatal]` qui contient `runner record gone server-side` ou, après une panne plus longue, [`poll auth failed`](/docs/fr/self-hosted-environments-quickstart#set-up-an-environment-and-runner). Le runner ne se réenregistre pas de lui-même, donc redémarrez-le.771* **Perte de contact** : un runner qui ne peut pas joindre Anthropic pendant une durée supérieure à son [bail](/docs/fr/self-hosted-environments#session-lifecycle), par exemple pendant la mise en veille de son hôte, peut être retiré de l'environnement. Lorsqu'un runner retiré se reconnecte, il s'arrête. Son log peut afficher une ligne `[runner:fatal]` contenant `runner record gone server-side` ou, après une interruption plus longue, [`poll auth failed`](/docs/fr/self-hosted-environments-quickstart#set-up-an-environment-and-runner). Le runner ne se réenregistre pas de lui-même ; redémarrez-le donc.

763 772 

764Configurez votre superviseur pour redémarrer le runner chaque fois qu'il quitte, pour attendre plus longtemps entre les redémarrages quand le runner continue de quitter juste après son démarrage, et pour avertir quelqu'un quand cela continue de se produire.773Configurez votre superviseur pour qu'il redémarre le runner chaque fois qu'il s'arrête, qu'il attende plus longtemps entre les redémarrages lorsque le runner continue de s'arrêter juste après avoir démarré, et qu'il prévienne quelqu'un lorsque cela persiste.

765 774 

766<h4 id="recognize-a-failed-start">775<h4 id="recognize-a-failed-start">

767 Reconnaître un démarrage échoué776 Reconnaître un échec de démarrage

768</h4>777</h4>

769 778 

770Quand le runner ne peut pas démarrer, il imprime une ligne qui dit pourquoi, puis il quitte. Pour la plupart des causes, la ligne contient `[runner:fatal]`. Pour certaines causes, la ligne commence par `error:` à la place, y compris quand le runner ne peut pas analyser ses drapeaux, ne peut pas lire le secret de l'environnement, ou ne peut pas créer ou écrire au répertoire de base. La ligne suivante pointe alors vers `--help`.779Lorsque le runner ne peut pas démarrer, il affiche une ligne qui en indique la raison, puis il s'arrête. Pour la plupart des causes, la ligne contient `[runner:fatal]`. Pour certaines causes, la ligne commence plutôt par `error:`, notamment lorsque le runner ne peut pas analyser ses flags, ne peut pas lire le secret de l'environnement, ou ne peut pas créer le répertoire de base ni y écrire. La ligne suivante renvoie alors vers `--help`.

771 780 

772La plupart des lignes de journal commencent par un horodatage et `[self-hosted-runner]`, que l'exemple ci-dessous omet. Par exemple, un runner démarré avec le proxy git Anthropic et une capacité supérieure à un imprime une ligne comme celle-ci :781La plupart des lignes de log commencent par un horodatage et `[self-hosted-runner]`, que l'exemple ci-dessous omet. Par exemple, un runner démarré avec le proxy git d'Anthropic et une capacité supérieure à un affiche une ligne comme celle-ci :

773 782 

774```text theme={null}783```text theme={null}

775[runner:fatal] --use-anthropic-git-proxy requires --capacity 1 (the proxy URL is per-session and linked worktrees share origin). Omit --use-anthropic-git-proxy or set --capacity 1.784[runner:fatal] --use-anthropic-git-proxy requires --capacity 1 (the proxy URL is per-session and linked worktrees share origin). Omit --use-anthropic-git-proxy or set --capacity 1.

776```785```

777 786 

778Cherchez la ligne dans la sortie standard et l'erreur standard du runner, dans les journaux de conteneur de votre plateforme, ou dans le fichier que vous avez défini avec [`--log-file`](/docs/fr/self-hosted-environments-reference#runner-cli-flags). Le runner imprime une ligne `error:` avant d'ouvrir le fichier journal, donc cherchez-la dans le terminal ou vos journaux de conteneur, comme le note [Dépannage](#troubleshooting).787Cherchez cette ligne dans la sortie standard et l'erreur standard du runner, dans les logs de conteneur de votre plateforme, ou dans le fichier que vous avez défini avec [`--log-file`](/docs/fr/self-hosted-environments-reference#runner-cli-flags). Le runner affiche une ligne `error:` avant d'ouvrir le fichier de log ; cherchez-la donc dans le terminal ou dans vos logs de conteneur, comme l'indique [Dépannage](#troubleshooting).

779 788 

780Ceux-ci aident également quand vous lisez un démarrage échoué :789Ces éléments vous aident aussi à interpréter un échec de démarrage :

781 790 

782* **Aucune ligne du tout** : un runner que l'hôte tue n'en imprime aucune. Si la sortie se termine sans ligne `[runner:fatal]` et sans ligne `error:`, vérifiez si l'hôte ou votre orchestrateur a arrêté le processus, par exemple pour avoir dépassé une limite de mémoire.791* **Aucune ligne** : un runner tué par l'hôte n'affiche ni l'une ni l'autre. Si la sortie se termine sans ligne `[runner:fatal]` ni ligne `error:`, vérifiez si l'hôte ou votre orchestrateur a arrêté le processus, par exemple pour dépassement d'une limite de mémoire.

783* **Le code de sortie** : le runner ne met pas de côté un code de sortie pour les erreurs qui se répètent à chaque démarrage. Il quitte avec le même code pour une erreur de configuration, comme une combinaison de drapeaux non supportée, et pour une défaillance qui peut se résoudre d'elle-même, comme l'API restant inaccessible via les propres tentatives du runner. Basez la décision d'attendre plus longtemps sur la rapidité avec laquelle le runner a quitté, et lisez la sortie du runner pour apprendre pourquoi.792* **Le code de sortie** : le runner ne réserve pas de code de sortie aux erreurs qui se répètent à chaque démarrage. Il s'arrête avec le même code pour une erreur de configuration, comme une combinaison de flags non prise en charge, et pour un échec susceptible de se résoudre de lui-même, comme une API qui reste inaccessible malgré les nouvelles tentatives du runner. Fondez la décision d'attendre plus longtemps sur le délai au bout duquel le runner s'est arrêté, et lisez la sortie du runner pour en connaître la raison.

784* **Un environnement qui semble sain** : certaines étapes de démarrage s'exécutent après que le runner s'enregistre auprès de votre environnement, comme [`--configure-git`](#let-the-runner-configure-git) et la configuration des identifiants du proxy git Anthropic. Si l'une de ces étapes échoue, l'environnement peut continuer à lister ce runner pendant quelques minutes après que le processus ait quitté, et la page **Environnements cloud** peut afficher **Sain** alors qu'aucun runner ne récupère le travail. Si les sessions restent en attente dans un environnement qui semble sain, vérifiez si votre superviseur redémarre le runner.793* **Un environnement qui semble en bonne santé** : certaines étapes de démarrage s'exécutent après l'enregistrement du runner auprès de votre environnement, comme [`--configure-git`](#let-the-runner-configure-git) et la configuration des identifiants du proxy git d'Anthropic. Si l'une de ces étapes échoue, l'environnement peut continuer à répertorier ce runner pendant quelques minutes après l'arrêt du processus, et la page **Cloud environments** peut afficher **Healthy** alors qu'aucun runner ne prend de travail. Si les sessions restent en file d'attente dans un environnement qui semble en bonne santé, vérifiez si votre superviseur redémarre le runner.

785 794 

786<h4 id="restart-with-a-wait-that-grows">795<h4 id="restart-with-a-wait-that-grows">

787 Redémarrer avec une attente qui grandit796 Redémarrer avec une attente croissante

788</h4>797</h4>

789 798 

790La façon dont vous obtenez une attente croissante dépend de votre superviseur.799La manière d'obtenir une attente croissante dépend de votre superviseur.

791 800 

792* **Kubernetes** : le [Deployment](#kubernetes) sur cette page n'a besoin d'aucune modification. Après qu'un conteneur quitte, le kubelet par défaut attend avant de redémarrer le conteneur, et l'attente grandit à chaque redémarrage jusqu'à un plafond. L'attente recommence une fois que le conteneur a fonctionné pendant un certain temps sans quitter.801* **Kubernetes** : le [Deployment](#kubernetes) de cette page ne nécessite aucune modification. Après l'arrêt d'un conteneur, le kubelet attend par défaut avant de redémarrer le conteneur, et l'attente augmente à chaque redémarrage jusqu'à un plafond. L'attente repart de zéro une fois que le conteneur a fonctionné un certain temps sans s'arrêter.

793 802 

794 Le kubelet applique la même attente après une sortie normale quand le conteneur n'a fonctionné que brièvement. Un runner qui se draine souvent peut donc afficher le statut `CrashLoopBackOff` aussi, donc lisez la sortie avant de conclure que le runner ne peut pas démarrer. La commande ci-dessous lit la sortie de la dernière exécution d'un pod du Deployment :803 Le kubelet applique la même attente après un arrêt normal lorsque le conteneur n'a fonctionné que brièvement. Un runner qui se vide souvent peut donc lui aussi afficher le statut `CrashLoopBackOff` ; lisez la sortie avant de conclure que le runner ne peut pas démarrer. La commande ci-dessous lit la sortie de la dernière exécution d'un pod du Deployment :

795 804 

796 ```bash theme={null}805 ```bash theme={null}

797 kubectl logs --previous -n claude-runners deploy/claude-runner806 kubectl logs --previous -n claude-runners deploy/claude-runner

798 ```807 ```

799 808 

800 Quand la dernière exécution était un démarrage échoué, la ligne `[runner:fatal]` ou `error:` est parmi les dernières lignes de la sortie. Pour lire la dernière exécution d'un autre pod, nommez ce pod à la place de `deploy/claude-runner`.809 Lorsque la dernière exécution était un échec de démarrage, la ligne `[runner:fatal]` ou `error:` figure parmi les dernières lignes de la sortie. Pour lire la dernière exécution d'un autre pod, nommez ce pod à la place de `deploy/claude-runner`.

801* **Docker et Docker Compose** : la [recette Compose](#docker-compose) sur cette page n'a besoin d'aucune modification. Avec `restart: always`, Docker attend plus longtemps avant chaque redémarrage d'un conteneur qui continue de quitter, jusqu'à un plafond. Remplacez `<container>` par le nom du conteneur dans la commande ci-dessous, qui lit combien de fois Docker a redémarré le conteneur :810* **Docker et Docker Compose** : la [recette Compose](#docker-compose) de cette page ne nécessite aucune modification. Avec `restart: always`, Docker attend plus longtemps avant chaque redémarrage d'un conteneur qui continue de s'arrêter, jusqu'à un plafond. Remplacez `<container>` par le nom du conteneur dans la commande ci-dessous, qui indique combien de fois Docker a redémarré le conteneur :

802 811 

803 ```bash theme={null}812 ```bash theme={null}

804 docker inspect --format '{{.RestartCount}}' <container>813 docker inspect --format '{{.RestartCount}}' <container>

805 ```814 ```

806 815 

807 La commande imprime un nombre. Un nombre qui continue de grimper signifie que Docker continue de redémarrer le runner.816 La commande affiche un nombre. Un nombre qui ne cesse d'augmenter signifie que Docker continue de redémarrer le runner.

808* **Une unité systemd** : par défaut, systemd attend le même `RestartSec` avant chaque redémarrage et ne l'allonge pas, donc une unité avec `Restart=always` redémarre un runner qui ne peut pas démarrer à cet intervalle chaque fois. Quand les démarrages viennent assez vite pour atteindre la limite de taux de démarrage de l'unité, cinq démarrages en 10 secondes par défaut, systemd arrête de redémarrer l'unité. L'unité reste arrêtée jusqu'à ce que quelqu'un la redémarre, ce que systemd permet une fois que l'intervalle de la limite de taux a passé ou après `systemctl reset-failed`. Parce que `RestartSec` s'applique à chaque redémarrage, une valeur plus longue retarde également le redémarrage après une sortie normale. Choisissez une valeur qui équilibre les deux, et alertez sur le nombre de redémarrages de l'unité.817* **Une unité systemd** : par défaut, systemd attend le même `RestartSec` avant chaque redémarrage et ne l'allonge pas ; une unité avec `Restart=always` redémarre donc un runner qui ne peut pas démarrer à ce même intervalle à chaque fois. Lorsque les démarrages sont suffisamment rapprochés pour atteindre la limite de débit de démarrage de l'unité, cinq démarrages en 10 secondes par défaut, systemd cesse de redémarrer l'unité. L'unité reste arrêtée jusqu'à ce que quelqu'un la redémarre, ce que systemd autorise une fois l'intervalle de la limite de débit écoulé ou après `systemctl reset-failed`. Comme `RestartSec` s'applique à chaque redémarrage, une valeur plus longue retarde également le redémarrage après un arrêt normal. Choisissez une valeur qui équilibre les deux, et configurez une alerte sur le nombre de redémarrages de l'unité.

809* **Une boucle shell ou votre propre superviseur** : appliquez la même règle vous-même. Commencez par une attente de cinq secondes. Après chaque exécution qui s'est terminée dans une minute, doublez l'attente pour le prochain redémarrage, jusqu'à cinq minutes. Après une exécution qui a duré une minute ou plus, revenez à cinq secondes.818* **Une boucle shell ou votre propre superviseur** : appliquez vous-même la même règle. Commencez par une attente de cinq secondes. Après chaque exécution terminée en moins d'une minute, doublez l'attente avant le redémarrage suivant, jusqu'à cinq minutes. Après une exécution ayant duré une minute ou plus, revenez à cinq secondes.

810 819 

811<h4 id="check-why-the-runner-keeps-exiting">820<h4 id="check-why-the-runner-keeps-exiting">

812 Vérifier pourquoi le runner continue de quitter821 Déterminer pourquoi le runner continue de s'arrêter

813</h4>822</h4>

814 823 

815Quand le runner a quitté juste après le démarrage plusieurs fois de suite, arrêtez et vérifiez ceux-ci avant de le redémarrer à nouveau.824Lorsque le runner s'est arrêté juste après avoir démarré plusieurs fois de suite, arrêtez-vous et vérifiez les points suivants avant de le redémarrer à nouveau.

816 825 

817* **La dernière ligne `[runner:fatal]` ou `error:`** : elle dit pourquoi le runner s'est arrêté. [Dépannage](#troubleshooting) énumère les causes courantes.826* **La dernière ligne `[runner:fatal]` ou `error:`** : elle indique pourquoi le runner s'est arrêté. [Dépannage](#troubleshooting) répertorie les causes courantes.

818* **La combinaison de drapeaux** : le [proxy git Anthropic](#use-the-anthropic-git-proxy) nécessite `--capacity 1`. Les recettes sur cette page utilisent une capacité plus élevée, donc abaissez-la quand vous ajoutez le proxy à l'une d'elles.827* **La combinaison de flags** : le [proxy git d'Anthropic](#use-the-anthropic-git-proxy) nécessite `--capacity 1`. Les recettes de cette page utilisent une capacité plus élevée ; réduisez-la donc lorsque vous ajoutez le proxy à l'une d'elles.

819* **Ce que le service de l'environnement peut atteindre** : si le runner démarre à la main et échoue sous votre superviseur, comparez l'utilisateur, le répertoire personnel, le `PATH`, et la limite de mémoire. `--configure-git` et le proxy git Anthropic ont besoin de git sur le `PATH` et d'un `~/.gitconfig` inscriptible.828* **Ce que l'environnement du service peut atteindre** : si le runner démarre manuellement mais échoue sous votre superviseur, comparez l'utilisateur, le répertoire personnel, le `PATH` et la limite de mémoire. `--configure-git` et le proxy git d'Anthropic nécessitent git dans le `PATH` et un `~/.gitconfig` accessible en écriture.

820* **Le secret de l'environnement** : si vous avez révoqué le secret ou l'avez mal saisi, le runner imprime une ligne qui contient `RegisterRunner auth failed`.829* **Le secret de l'environnement** : si vous avez révoqué le secret ou fait une faute de frappe, le runner affiche une ligne contenant `RegisterRunner auth failed`.

821* **L'onglet Activité de l'environnement** : ouvrez l'environnement et sélectionnez **Activité**. Si de nouveaux runners continuent d'apparaître là et qu'aucun ne récupère le travail, votre superviseur redémarre le runner.830* **L'onglet Activity de l'environnement** : ouvrez l'environnement et sélectionnez **Activity**. Si de nouveaux runners continuent d'y apparaître sans qu'aucun ne prenne de travail, votre superviseur redémarre le runner.

822 831 

823Pour un diagnostic guidé sur l'hôte runner, exécutez la [sous-commande doctor](#troubleshooting).832Pour un diagnostic guidé sur l'hôte du runner, exécutez la [sous-commande doctor](#troubleshooting).

824 833 

825<h2 id="what’s-next">834<h2 id="what’s-next">

826 Prochaines étapes835 Prochaines étapes

Details

201* 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 vigueur201* 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 vigueur

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

203 203 

204Claude 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, de point de terminaison 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 le point de terminaison](/docs/fr/managed-settings#delivery-mechanisms) déployés via MDM ou `managed-settings.json` ne sont pas affectés. La rétention nécessite Claude Code v2.1.198 ou version ultérieure ; avant v2.1.198, le bloc `env` en cache entier s'applique au démarrage. Les catégories retenues incluent :204Claude 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](/docs/fr/managed-settings#delivery-mechanisms) déployés via MDM ou `managed-settings.json` ne sont pas affectés. Les catégories retenues incluent :

205 205 

206* Configuration du proxy et TLS, telle que `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS`, et les variables de certificat client mTLS `CLAUDE_CODE_CLIENT_CERT` et `CLAUDE_CODE_CLIENT_KEY`206* Configuration du proxy et TLS, telle que `HTTPS_PROXY`, `NODE_EXTRA_CA_CERTS`, et les variables de certificat client mTLS `CLAUDE_CODE_CLIENT_CERT` et `CLAUDE_CODE_CLIENT_KEY`

207* Routage d'API et sélection de fournisseur, y compris `ANTHROPIC_BASE_URL`, les variables de sélection de fournisseur telles que `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_VERTEX`, et les URL de point de terminaison du fournisseur telles que `ANTHROPIC_BEDROCK_BASE_URL`207* Routage d'API et sélection de fournisseur, y compris `ANTHROPIC_BASE_URL`, les variables de sélection de fournisseur telles que `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_VERTEX`, et les URL de point de terminaison du fournisseur telles que `ANTHROPIC_BEDROCK_BASE_URL`


312 312 

313Claude Code ne peut pas toujours afficher la boîte de dialogue. Chaque cas ci-dessous indique quels paramètres s'appliquent lorsqu'il ne peut pas et quand vous verrez ensuite la boîte de dialogue :313Claude Code ne peut pas toujours afficher la boîte de dialogue. Chaque cas ci-dessous indique quels paramètres s'appliquent lorsqu'il ne peut pas et quand vous verrez ensuite la boîte de dialogue :

314 314 

315* **Une session interactive qui ne peut pas afficher la boîte de dialogue** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. La boîte de dialogue apparaît dans la prochaine session qui peut l'afficher. Nécessite Claude Code v2.1.211 ou version ultérieure.315* **Une session interactive qui ne peut pas afficher la boîte de dialogue** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. La boîte de dialogue apparaît dans la prochaine session qui peut l'afficher.

316* **`claude install` ou `claude update`** : Claude Code n'affiche pas la boîte de dialogue pendant l'une ou l'autre commande. La commande s'exécute avec les derniers paramètres approuvés, et la boîte de dialogue apparaît dans votre prochaine session interactive. Si Claude Code attend la récupération des paramètres au démarrage, par exemple avec [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) défini ou sur un déploiement [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), il affiche la boîte de dialogue pendant la commande à la place, et une exécution d'installation à partir d'un tuyau échoue ; voir [`Raw mode is not supported` during install](/docs/fr/troubleshoot-install#raw-mode-is-not-supported-during-install). Avant v2.1.246, Claude Code essayait d'afficher la boîte de dialogue pendant ces commandes aussi.316* **`claude install` ou `claude update`** : Claude Code n'affiche pas la boîte de dialogue pendant l'une ou l'autre commande. La commande s'exécute avec les derniers paramètres approuvés, et la boîte de dialogue apparaît dans votre prochaine session interactive. Si Claude Code attend la récupération des paramètres au démarrage, par exemple avec [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) défini ou sur un déploiement [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), il affiche la boîte de dialogue pendant la commande à la place, et une exécution d'installation à partir d'un tuyau échoue ; voir [`Raw mode is not supported` during install](/docs/fr/troubleshoot-install#raw-mode-is-not-supported-during-install). Avant v2.1.246, Claude Code essayait d'afficher la boîte de dialogue pendant ces commandes aussi.

317* **Une erreur ferme la boîte de dialogue avant que vous répondiez** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. Il affiche la boîte de dialogue à nouveau dans la prochaine session qui peut l'afficher.317* **Une erreur ferme la boîte de dialogue avant que vous répondiez** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. Il affiche la boîte de dialogue à nouveau dans la prochaine session qui peut l'afficher.

318* **Une exécution non interactive**, telle que `claude -p`, une session Agent SDK, ou une session dans le panneau de chat de l'extension VS Code ou l'onglet Code de l'application de bureau : Claude Code ne peut pas afficher la boîte de dialogue, de sorte que lorsque les paramètres livrés nécessiteraient une approbation, il les applique pour cette exécution uniquement. Il ne les enregistre pas comme approuvés ou ne les écrit pas dans le [cache local](#fetch-and-caching-behavior), et la prochaine session interactive affiche la boîte de dialogue. Jusqu'à ce qu'un utilisateur approuve dans une session interactive, chaque exécution non interactive récupère les paramètres à nouveau au démarrage. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés, de sorte que les sessions interactives ultérieures n'affichaient jamais la boîte de dialogue pour eux.318* **Une exécution non interactive**, telle que `claude -p`, une session Agent SDK, ou une session dans le panneau de chat de l'extension VS Code ou l'onglet Code de l'application de bureau : Claude Code ne peut pas afficher la boîte de dialogue, de sorte que lorsque les paramètres livrés nécessiteraient une approbation, il les applique pour cette exécution uniquement. Il ne les enregistre pas comme approuvés ou ne les écrit pas dans le [cache local](#fetch-and-caching-behavior), et la prochaine session interactive affiche la boîte de dialogue. Jusqu'à ce qu'un utilisateur approuve dans une session interactive, chaque exécution non interactive récupère les paramètres à nouveau au démarrage. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés, de sorte que les sessions interactives ultérieures n'affichaient jamais la boîte de dialogue pour eux.

sessions.md +4 −3

Details

51 51 

52Lorsque Claude Code charge une conversation à partir de sa transcription, la session reprise restaure la conversation ainsi que l'état enregistré en elle :52Lorsque Claude Code charge une conversation à partir de sa transcription, la session reprise restaure la conversation ainsi que l'état enregistré en elle :

53 53 

54* Historique de conversation : l'historique complet, y compris les appels d'outils et les résultats. Un outil qui était toujours en cours d'exécution lorsque le processus précédent s'est terminé, par exemple lors d'un plantage, ne se termine pas ou ne s'exécute pas à nouveau lorsque vous reprenez. Claude voit l'appel marqué comme interrompu avant que son résultat ne soit enregistré et on lui dit de vérifier s'il a pris effet avant de l'exécuter à nouveau, sauf si [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/fr/env-vars#variables) est défini.54* Historique de conversation : les messages, les appels d'outils et les résultats. Si la session a été [compactée](/docs/fr/context-window#what-survives-compaction), la conversation s'ouvre sur une ligne `Conversation compacted`. Claude continue avec le résumé de la dernière compaction, les messages que cette compaction n'a pas résumés et tous les messages depuis. Les messages que la dernière compaction a résumés ne sont pas chargés à nouveau.

55* Appels d'outils interrompus : un outil qui était toujours en cours d'exécution lorsque le processus précédent s'est terminé, par exemple lors d'un plantage, ne se termine pas ou ne s'exécute pas à nouveau lorsque vous reprenez. Claude voit l'appel marqué comme interrompu avant que son résultat ne soit enregistré et on lui dit de vérifier s'il a pris effet avant de l'exécuter à nouveau, sauf si [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/fr/env-vars#variables) est défini.

55* Modèle : la session continue sur le modèle qu'elle utilisait, sauf dans les cas décrits dans [Définir votre modèle](/docs/fr/model-config#setting-your-model).56* Modèle : la session continue sur le modèle qu'elle utilisait, sauf dans les cas décrits dans [Définir votre modèle](/docs/fr/model-config#setting-your-model).

56* Agent : une session démarrée avec [`--agent`](/docs/fr/sub-agents#invoke-subagents-explicitly) ou le paramètre `agent` continue en tant que cet agent, en conservant ses restrictions d'outils et son modèle. Passez `--agent` lors de la reprise pour en choisir un différent ; pour le prompt système dans l'un ou l'autre cas, voir [Flags de prompt système dans les conversations reprises](/docs/fr/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code cherche l'agent dans deux endroits : le répertoire d'origine de la session, à condition que vous ayez [approuvé cet espace de travail](/docs/fr/permissions#project-allow-rules-and-workspace-trust), puis le répertoire depuis lequel vous reprenez, donc un agent limité au projet se charge toujours lorsque vous reprenez depuis un autre répertoire. Si Claude Code ne trouve pas l'agent dans l'un ou l'autre endroit, la session reprend avec les outils par défaut et affiche un [avertissement nommant l'agent](/docs/fr/errors#session-agent-no-longer-available).57* Agent : une session démarrée avec [`--agent`](/docs/fr/sub-agents#invoke-subagents-explicitly) ou le paramètre `agent` continue en tant que cet agent, en conservant ses restrictions d'outils et son modèle. Passez `--agent` lors de la reprise pour en choisir un différent ; pour le prompt système dans l'un ou l'autre cas, voir [Flags de prompt système dans les conversations reprises](/docs/fr/cli-reference#system-prompt-flags-in-resumed-conversations). Claude Code cherche l'agent dans deux endroits : le répertoire d'origine de la session, à condition que vous ayez [approuvé cet espace de travail](/docs/fr/permissions#project-allow-rules-and-workspace-trust), puis le répertoire depuis lequel vous reprenez, donc un agent limité au projet se charge toujours lorsque vous reprenez depuis un autre répertoire. Si Claude Code ne trouve pas l'agent dans l'un ou l'autre endroit, la session reprend avec les outils par défaut et affiche un [avertissement nommant l'agent](/docs/fr/errors#session-agent-no-longer-available).

57* Mode de permission : si vous reprenez depuis un terminal avec `claude --continue`, `claude --resume <session-id>` ou `claude --resume <name>` lorsque le nom correspond à une session, sans `-p`, Claude Code restaure le mode de permission dans lequel se trouvait la session, sauf dans les cas de [mode de permission à la reprise](#permission-mode-on-resume), qui couvre également le sélecteur de sessions, `/resume` et la reprise avec `claude -p`. Passez `--permission-mode` ou `--dangerously-skip-permissions` pour remplacer le mode restauré.58* Mode de permission : si vous reprenez depuis un terminal avec `claude --continue`, `claude --resume <session-id>` ou `claude --resume <name>` lorsque le nom correspond à une session, sans `-p`, Claude Code restaure le mode de permission dans lequel se trouvait la session, sauf dans les cas de [mode de permission à la reprise](#permission-mode-on-resume), qui couvre également le sélecteur de sessions, `/resume` et la reprise avec `claude -p`. Passez `--permission-mode` ou `--dangerously-skip-permissions` pour remplacer le mode restauré.


162| À partir du sélecteur de sessions | Mettez en surbrillance une session et appuyez sur `Ctrl+R` |163| À partir du sélecteur de sessions | Mettez en surbrillance une session et appuyez sur `Ctrl+R` |

163| À l'acceptation du plan | L'acceptation d'un plan en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) donne à la session un titre généré basé sur le plan sauf si vous en avez déjà nommé une |164| À l'acceptation du plan | L'acceptation d'un plan en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) donne à la session un titre généré basé sur le plan sauf si vous en avez déjà nommé une |

164| Depuis claude.ai ou l'application Claude | Renommez une [session de contrôle à distance](/docs/fr/remote-control#connect-from-another-device) ; Claude Code applique le même nom dans la CLI. Nécessite Claude Code v2.1.221 ou version ultérieure |165| Depuis claude.ai ou l'application Claude | Renommez une [session de contrôle à distance](/docs/fr/remote-control#connect-from-another-device) ; Claude Code applique le même nom dans la CLI. Nécessite Claude Code v2.1.221 ou version ultérieure |

165| Depuis l'application de bureau | Renommez une session dans l'[application de bureau](/docs/fr/desktop#work-in-parallel-with-sessions) |166| Depuis l'application de bureau | Renommez une session dans l'[application de bureau](/docs/fr/desktop#organize-and-find-sessions) |

166 167 

167Une fois qu'une session est nommée via une route CLI ou depuis claude.ai, revenez-y avec `claude --resume <name>` ou `/resume <name>` ; une session d'application de bureau reprend dans l'[application de bureau](/docs/fr/desktop#work-in-parallel-with-sessions). Voir [Reprendre une session](#resume-a-session) pour savoir comment la résolution des noms se comporte entre les worktrees.168Une fois qu'une session est nommée via une route CLI ou depuis claude.ai, revenez-y avec `claude --resume <name>` ou `/resume <name>` ; une session d'application de bureau reprend dans l'[application de bureau](/docs/fr/desktop#work-in-parallel-with-sessions). Voir [Reprendre une session](#resume-a-session) pour savoir comment la résolution des noms se comporte entre les worktrees.

168 169 

169Les sessions que vous ne nommez pas reçoivent quand même deux étiquettes que Claude Code attribue. Seul le titre généré fonctionne comme handle de reprise :170Les sessions que vous ne nommez pas reçoivent quand même deux étiquettes que Claude Code attribue. Seul le titre généré fonctionne comme handle de reprise :

170 171 

171* Nom d'affichage par défaut : les sessions interactives que vous ne nommez jamais reçoivent quand même un nom d'affichage par défaut au démarrage. Nécessite Claude Code v2.1.196 ou version ultérieure. Le nom par défaut combine le nom du répertoire de travail avec un suffixe de deux caractères, par exemple `my-app-3f`, et identifie la session dans les listes de sessions en cours d'exécution, telles que la [vue agent](/docs/fr/agent-view) et la sortie `claude agents --json`. Le nom par défaut n'est pas un handle de reprise. Si vous le transmettez à `claude --resume` ou `/resume`, Claude Code ne trouve pas la session.172* Nom d'affichage par défaut : les sessions interactives que vous ne nommez jamais reçoivent quand même un nom d'affichage par défaut au démarrage. Le nom par défaut combine le nom du répertoire de travail avec un suffixe de deux caractères, par exemple `my-app-3f`, et identifie la session dans les listes de sessions en cours d'exécution, telles que la [vue agent](/docs/fr/agent-view) et la sortie `claude agents --json`. Le nom par défaut n'est pas un handle de reprise. Si vous le transmettez à `claude --resume` ou `/resume`, Claude Code ne trouve pas la session.

172* Titre généré : si vous ne nommez pas une session, Claude Code génère un titre de session pour elle. Le titre est un court résumé de votre première invite, écrit par une demande en arrière-plan au modèle petit/rapide, normalement un modèle de classe Haiku. Une exécution `claude -p` que vous démarrez directement à partir d'un shell ou d'un script n'en reçoit pas.173* Titre généré : si vous ne nommez pas une session, Claude Code génère un titre de session pour elle. Le titre est un court résumé de votre première invite, écrit par une demande en arrière-plan au modèle petit/rapide, normalement un modèle de classe Haiku. Une exécution `claude -p` que vous démarrez directement à partir d'un shell ou d'un script n'en reçoit pas.

173 174 

174 L'acceptation d'un plan remplace le titre généré par un titre basé sur le plan. Vous pouvez transmettre l'un ou l'autre titre à `claude --resume` ou `/resume`, et Claude Code le résout de la même manière qu'un nom que vous avez défini.175 L'acceptation d'un plan remplace le titre généré par un titre basé sur le plan. Vous pouvez transmettre l'un ou l'autre titre à `claude --resume` ou `/resume`, et Claude Code le résout de la même manière qu'un nom que vous avez défini.

Details

4096 `vimInsertModeRemaps`4096 `vimInsertModeRemaps`

4097</h3>4097</h3>

4098 4098 

4099Mappez les séquences INSERT-mode à deux touches à Escape en [mode d'éditeur vim](/docs/fr/interactive-mode#vim-editor-mode). Chaque clé est exactement deux caractères imprimables tapés en séquence, et `"<Esc>"` est la seule cible supportée ; Claude Code ignore les autres entrées. Nécessite Claude Code v2.1.208 ou ultérieur.4099Mappez des séquences à deux touches du mode INSERT vers Escape en [mode d'éditeur vim](/docs/fr/interactive-mode#vim-editor-mode). Chaque clé est exactement deux caractères imprimables tapés en séquence, et `"<Esc>"` est la seule cible prise en charge ; Claude Code ignore les autres entrées.

4100 4100 

4101* **Portée** : [`Utilisateur ou géré`](#scopes). Un référentiel ne peut pas remapper vos frappes.4101* **Portée** : [`Utilisateur ou géré`](#scopes). Un référentiel ne peut pas remapper vos frappes.

4102* **Type** : objet mappant une séquence de deux caractères à `"<Esc>"`4102* **Type** : objet mappant une séquence de deux caractères à `"<Esc>"`


4110}4110}

4111```4111```

4112 4112 

4113N'a aucun effet à moins que `editorMode` soit `"vim"`. Voir [Remapper les séquences de touches INSERT-mode](/docs/fr/interactive-mode#remap-insert-mode-key-sequences). Nécessite Claude Code v2.1.208 ou ultérieur.4113N'a aucun effet à moins que `editorMode` ne soit `"vim"`. Voir [Remapper les séquences de touches du mode INSERT](/docs/fr/interactive-mode#remap-insert-mode-key-sequences).

4114 4114 

4115<h3 id="voice">4115<h3 id="voice">

4116 `voice`4116 `voice`


5850 `disableDesktopLocalSessions`5850 `disableDesktopLocalSessions`

5851</h3>5851</h3>

5852 5852 

5853Désactiver les sessions Code qui s'exécutent sur l'appareil dans l'[application de bureau](/docs/fr/desktop#local-sessions-on-managed-devices), pour les déploiements où les développeurs doivent travailler sur des machines distantes via SSH. Dans l'onglet Code, l'environnement **Local** reste dans la liste déroulante des environnements mais est grisé et ne peut pas être sélectionné, avec une info-bulle indiquant que votre organisation l'a désactivé ; sur Windows, l'entrée WSL est grisée de la même manière, bien que le fait que les sessions WSL s'exécutent sur un appareil géré soit [gouverné séparément](/docs/fr/admin-setup#wsl-sessions-in-claude-code-desktop). Les nouvelles sessions utilisent par défaut la première [connexion SSH](/docs/fr/desktop#ssh-sessions) si une est configurée, et l'application refuse de démarrer ou de reprendre une session sur l'appareil, y compris une connexion SSH vers la même machine. Les sessions SSH vers d'autres hôtes et les sessions cloud ne sont pas affectées. L'application de bureau lit cette clé ; le CLI du terminal l'ignore. Nécessite Claude Desktop v1.37937.0 ou ultérieur.5853Désactiver les sessions Code qui s'exécutent sur l'appareil dans l'[application de bureau](/docs/fr/desktop#local-sessions-on-managed-devices), pour les déploiements où les développeurs doivent travailler sur des machines distantes via SSH. Lorsque la clé est définie sur `true`, les utilisateurs voient ceci dans l'onglet Code :

5854 

5855* **Sélecteur d'environnement** : l'entrée correspondant à l'ordinateur de l'utilisateur est grisée et ne peut pas être sélectionnée, avec l'info-bulle **Disabled by your organization**. Sur Windows, l'entrée WSL est grisée de la même manière, bien que le fait que les sessions WSL s'exécutent ou non sur un appareil géré soit [régi séparément](/docs/fr/admin-setup#wsl-sessions-in-claude-code-desktop).

5856* **Nouvelles sessions** : utilisent par défaut la première [connexion SSH](/docs/fr/desktop#ssh-sessions) si une est configurée

5857* **Sessions sur l'appareil** : l'application refuse de démarrer ou de reprendre une session sur l'appareil, y compris une connexion SSH vers la même machine

5858* **Sessions SSH vers d'autres hôtes et sessions cloud** : non affectées

5859 

5860L'application de bureau lit cette clé ; le CLI du terminal l'ignore. Nécessite Claude Desktop v1.37937.0 ou ultérieur.

5854 5861 

5855* **Portée** : [`Géré`](#scopes). Par défaut, l'application de bureau lit la clé depuis [une seule source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).5862* **Portée** : [`Géré`](#scopes). Par défaut, l'application de bureau lit la clé depuis [une seule source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).

5856* **Type** : Booléen ; seul le Booléen JSON `true` a un effet5863* **Type** : Booléen ; seul le Booléen JSON `true` a un effet


5997 `sshConfigs`6004 `sshConfigs`

5998</h3>6005</h3>

5999 6006 

6000Ajouter des connexions SSH à la liste déroulante de l'environnement [Bureau](/docs/fr/desktop#pre-configure-ssh-connections-for-your-team). Les administrateurs l'utilisent pour distribuer les connexions partagées à une équipe. Les connexions que vous définissez dans les paramètres gérés s'affichent comme gérées. Les utilisateurs peuvent les sélectionner et [définir leur propre **Dossier du worktree**](/docs/fr/desktop#choose-where-ssh-session-worktrees-go) pour elles, mais ne peuvent rien modifier d'autre ni les supprimer dans l'application.6007Ajouter des connexions SSH au sélecteur d'environnement de [Bureau](/docs/fr/desktop#pre-configure-ssh-connections-for-your-team). Les administrateurs utilisent `sshConfigs` pour distribuer des connexions partagées à une équipe. Les utilisateurs peuvent sélectionner une connexion gérée et [définir leur propre **Dossier du worktree**](/docs/fr/desktop#set-the-worktree-folder-on-an-existing-connection) pour celle-ci. Ils ne peuvent pas modifier ses autres champs ni la supprimer dans l'application.

6001 6008 

6002* **Portée** : [`Utilisateur ou géré`](#scopes). L'application de bureau lit cette clé. Par défaut, elle lit les connexions gérées depuis [une seule source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).6009* **Portée** : [`Utilisateur ou géré`](#scopes). L'application de bureau lit cette clé. Par défaut, elle lit les connexions gérées depuis [une seule source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources).

6003* **Type** : tableau d'objets, chacun avec `id`, `name` et `sshHost` requis et `sshPort` et `sshIdentityFile` optionnels6010* **Type** : tableau d'objets, chacun avec `id`, `name` et `sshHost` requis et `sshPort` et `sshIdentityFile` optionnels

statusline.md +2 −2

Details

199| `workspace.added_dirs` | Répertoires supplémentaires ajoutés via `/add-dir` ou `--add-dir`. Tableau vide si aucun n'a été ajouté |199| `workspace.added_dirs` | Répertoires supplémentaires ajoutés via `/add-dir` ou `--add-dir`. Tableau vide si aucun n'a été ajouté |

200| `workspace.git_worktree` | Nom du git worktree quand le répertoire actuel se trouve à l'intérieur d'un worktree lié créé avec `git worktree add`. Absent dans le worktree principal. Rempli pour n'importe quel git worktree, contrairement à `worktree.*`, qui est présent uniquement pendant une [session worktree](/docs/fr/worktrees) |200| `workspace.git_worktree` | Nom du git worktree quand le répertoire actuel se trouve à l'intérieur d'un worktree lié créé avec `git worktree add`. Absent dans le worktree principal. Rempli pour n'importe quel git worktree, contrairement à `worktree.*`, qui est présent uniquement pendant une [session worktree](/docs/fr/worktrees) |

201| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Identité du référentiel analysée à partir de la télécommande `origin`, par exemple `"github.com"`, `"anthropics"`, `"claude-code"`. Absent en dehors d'un référentiel git ou quand aucune télécommande `origin` n'est configurée. Pour un projet gitlab.com imbriqué dans des sous-groupes, `owner` est le chemin d'espace de noms complet avec des barres obliques, tel que `"group/subgroup"`. Avant v2.1.260, `workspace.repo` était absent pour ces projets |201| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Identité du référentiel analysée à partir de la télécommande `origin`, par exemple `"github.com"`, `"anthropics"`, `"claude-code"`. Absent en dehors d'un référentiel git ou quand aucune télécommande `origin` n'est configurée. Pour un projet gitlab.com imbriqué dans des sous-groupes, `owner` est le chemin d'espace de noms complet avec des barres obliques, tel que `"group/subgroup"`. Avant v2.1.260, `workspace.repo` était absent pour ces projets |

202| `cost.total_cost_usd` | Coût total estimé de la session en USD, calculé côté client au prix catalogue sauf si une table [`modelPricing`](/docs/fr/settings-reference#modelpricing) est en vigueur. Peut différer de votre facture réelle. Se réinitialise à 0 \$ quand `/clear` démarre une nouvelle session. Avant v2.1.211, le total s'accumulait après `/clear` |202| `cost.total_cost_usd` | Coût estimé de la session en USD, calculé côté client au prix catalogue sauf si une table [`modelPricing`](/docs/fr/settings-reference#modelpricing) est en vigueur. Peut différer de votre facture réelle. Se réinitialise à 0 \$ quand `/clear` démarre une nouvelle session |

203| `cost.total_duration_ms` | Temps écoulé total depuis le début de la session, en millisecondes. S'accumule entre les reprises et n'inclut pas le temps pendant lequel la session n'est pas en cours d'exécution |203| `cost.total_duration_ms` | Temps écoulé total depuis le début de la session, en millisecondes. S'accumule entre les reprises et n'inclut pas le temps pendant lequel la session n'est pas en cours d'exécution |

204| `cost.total_api_duration_ms` | Temps total passé à attendre les réponses API en millisecondes |204| `cost.total_api_duration_ms` | Temps total passé à attendre les réponses API en millisecondes |

205| `cost.total_lines_added`, `cost.total_lines_removed` | Lignes de code modifiées |205| `cost.total_lines_added`, `cost.total_lines_removed` | Lignes de code modifiées |


1199| `label` | string | Court résumé de la progression de la tâche lorsque Claude Code en dispose, sinon le même texte que `description` |1199| `label` | string | Court résumé de la progression de la tâche lorsque Claude Code en dispose, sinon le même texte que `description` |

1200| `startTime` | number | Moment où la tâche a démarré, en millisecondes depuis l'epoch Unix |1200| `startTime` | number | Moment où la tâche a démarré, en millisecondes depuis l'epoch Unix |

1201| `model` | string, facultatif | ID du modèle résolu sur lequel la tâche s'exécute. Omis jusqu'à ce que le modèle soit résolu |1201| `model` | string, facultatif | ID du modèle résolu sur lequel la tâche s'exécute. Omis jusqu'à ce que le modèle soit résolu |

1202| `effort` | string ou number, facultatif | Effort de raisonnement défini pour le sous-agent dans son [frontmatter de définition](/docs/fr/sub-agents#supported-frontmatter-fields) ou lors de l'invocation individuelle : `low`, `medium`, `high`, `xhigh`, `max`, ou un budget de tokens numérique. Il s'agit de la valeur configurée, et l'effort que Claude Code applique peut différer lorsque le modèle ne supporte pas ce niveau. Omis lorsqu'aucun effort n'est défini. Nécessite Claude Code v2.1.213 ou une version ultérieure |1202| `effort` | string ou number, facultatif | Effort de raisonnement défini pour le sous-agent dans son [frontmatter de définition](/docs/fr/sub-agents#supported-frontmatter-fields) ou lors de l'invocation individuelle : `low`, `medium`, `high`, `xhigh`, `max`, ou un budget de tokens numérique. Il s'agit de la valeur configurée, et l'effort que Claude Code applique peut différer lorsque le modèle ne supporte pas ce niveau. Omis lorsqu'aucun effort n'est défini |

1203| `contextWindowSize` | number, facultatif | Fenêtre de contexte de `model` en tokens, calculée de la même manière que [`context_window.context_window_size`](#context-window-fields) de la barre de statut principale, vous pouvez donc rendre un pourcentage par ligne à partir de `tokenCount`. Omis lorsque `model` l'est |1203| `contextWindowSize` | number, facultatif | Fenêtre de contexte de `model` en tokens, calculée de la même manière que [`context_window.context_window_size`](#context-window-fields) de la barre de statut principale, vous pouvez donc rendre un pourcentage par ligne à partir de `tokenCount`. Omis lorsque `model` l'est |

1204| `tokenCount` | number | Nombre de tokens courant du sous-agent, la valeur affichée par la ligne par défaut |1204| `tokenCount` | number | Nombre de tokens courant du sous-agent, la valeur affichée par la ligne par défaut |

1205| `tokenSamples` | array of numbers | Jusqu'aux 16 dernières lectures de `tokenCount`, une par cycle d'actualisation, de la plus ancienne à la plus récente et se terminant par la valeur actuelle |1205| `tokenSamples` | array of numbers | Jusqu'aux 16 dernières lectures de `tokenCount`, une par cycle d'actualisation, de la plus ancienne à la plus récente et se terminant par la valeur actuelle |

sub-agents.md +53 −35

Details

287 287 

288Un sous-agent avec `isolation: worktree` exécute ses commandes Bash et PowerShell à l'intérieur de son worktree. Une commande dont le répertoire de travail se résout à votre extraction principale à la place, par exemple parce que le répertoire worktree a été supprimé pendant que le sous-agent s'exécutait, échoue avec une erreur.288Un sous-agent avec `isolation: worktree` exécute ses commandes Bash et PowerShell à l'intérieur de son worktree. Une commande dont le répertoire de travail se résout à votre extraction principale à la place, par exemple parce que le répertoire worktree a été supprimé pendant que le sous-agent s'exécutait, échoue avec une erreur.

289 289 

290Cette vérification du répertoire de travail couvre l'ensemble du dépôt contenant le répertoire à partir duquel vous avez lancé Claude Code. Lorsque votre session s'exécute dans son propre [worktree](/docs/fr/worktrees) lié, la vérification couvre également l'extraction principale à partir de laquelle ce worktree est lié. Avant la v2.1.210, la vérification couvrait uniquement le répertoire de lancement lui-même. Une commande dont le répertoire de travail se résolvait ailleurs dans le même dépôt, comme la racine du dépôt lorsque vous avez lancé Claude Code à partir d'un sous-répertoire monorepo, s'y exécutait au lieu d'échouer.290Cette vérification du répertoire de travail couvre l'ensemble du dépôt contenant le répertoire à partir duquel vous avez lancé Claude Code. Lorsque votre session s'exécute dans son propre [worktree](/docs/fr/worktrees) lié, la vérification couvre également l'extraction principale à partir de laquelle ce worktree est lié.

291 291 

292Pour les commandes Bash, Claude Code vérifie également la commande elle-même de deux façons :292Pour les commandes Bash, Claude Code vérifie également la commande elle-même de deux façons :

293 293 


325| `mcpServers` | Non | [Serveurs MCP](/docs/fr/mcp) disponibles pour ce sous-agent. Chaque entrée est soit un nom de serveur référençant un serveur déjà configuré (par exemple, `"slack"`) soit une définition en ligne avec le nom du serveur comme clé et une [configuration de serveur MCP](/docs/fr/mcp#installing-mcp-servers) complète comme valeur. Ignoré pour les [sous-agents de plugin](#choose-the-subagent-scope) |325| `mcpServers` | Non | [Serveurs MCP](/docs/fr/mcp) disponibles pour ce sous-agent. Chaque entrée est soit un nom de serveur référençant un serveur déjà configuré (par exemple, `"slack"`) soit une définition en ligne avec le nom du serveur comme clé et une [configuration de serveur MCP](/docs/fr/mcp#installing-mcp-servers) complète comme valeur. Ignoré pour les [sous-agents de plugin](#choose-the-subagent-scope) |

326| `hooks` | Non | [Hooks de cycle de vie](#define-hooks-for-subagents) limités à ce sous-agent. Ignoré pour les [sous-agents de plugin](#choose-the-subagent-scope) |326| `hooks` | Non | [Hooks de cycle de vie](#define-hooks-for-subagents) limités à ce sous-agent. Ignoré pour les [sous-agents de plugin](#choose-the-subagent-scope) |

327| `memory` | Non | [Portée de la mémoire persistante](#enable-persistent-memory) : `user`, `project` ou `local`. Active l'apprentissage entre sessions |327| `memory` | Non | [Portée de la mémoire persistante](#enable-persistent-memory) : `user`, `project` ou `local`. Active l'apprentissage entre sessions |

328| `background` | Non | Définir sur `true` pour garder ce sous-agent en arrière-plan même lorsque Claude demande de l'exécuter au premier plan. Lorsque le [mode fork](#turn-fork-mode-on-or-off) est activé, Claude Code exécute déjà les sous-agents que Claude génère [en arrière-plan](#run-subagents-in-foreground-or-background) |328| `background` | Non | Définir sur `true` pour garder ce sous-agent en arrière-plan même lorsque Claude demande de l'attendre. Par défaut, les sous-agents que Claude génère depuis la conversation principale [démarrent déjà en arrière-plan](#run-subagents-in-foreground-or-background) |

329| `omitClaudeMd` | Non | Définir sur `true` pour lancer ce sous-agent sans les fichiers CLAUDE.md utilisateur, projet et local dans son [contexte initial](#what-loads-at-startup) ; les [fichiers de politique gérée](/docs/fr/memory#how-claude-md-files-load) se chargent toujours, sauf pour les [sous-agents gérés](#choose-the-subagent-scope). Utilisez-le pour les sous-agents qui prennent tout ce dont ils ont besoin du prompt de délégation. Ignoré lorsque l'agent s'exécute en tant qu'agent de session principal via `--agent` ou le paramètre `agent`. Nécessite Claude Code v2.1.271 ou ultérieur |329| `omitClaudeMd` | Non | Définir sur `true` pour lancer ce sous-agent sans les fichiers CLAUDE.md utilisateur, projet et local dans son [contexte initial](#what-loads-at-startup) ; les [fichiers de politique gérée](/docs/fr/memory#how-claude-md-files-load) se chargent toujours, sauf pour les [sous-agents gérés](#choose-the-subagent-scope). Utilisez-le pour les sous-agents qui prennent tout ce dont ils ont besoin du prompt de délégation. Ignoré lorsque l'agent s'exécute en tant qu'agent de session principal via `--agent` ou le paramètre `agent`. Nécessite Claude Code v2.1.271 ou ultérieur |

330| `effort` | Non | Niveau d'effort lorsque ce sous-agent est actif. Remplace le niveau d'effort de la session, mais pas la variable d'environnement [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/fr/env-vars#variables). Options : `low`, `medium`, `high`, `xhigh`, `max` ; les niveaux disponibles dépendent du modèle. Consultez [Choisir un niveau d'effort](#choose-an-effort-level) |330| `effort` | Non | Niveau d'effort lorsque ce sous-agent est actif. Remplace le niveau d'effort de la session, mais pas la variable d'environnement [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/fr/env-vars#variables). Options : `low`, `medium`, `high`, `xhigh`, `max` ; les niveaux disponibles dépendent du modèle. Consultez [Choisir un niveau d'effort](#choose-an-effort-level) |

331| `isolation` | Non | Définir sur `worktree` pour exécuter le sous-agent dans un [git worktree](/docs/fr/worktrees) temporaire, ce qui lui donne une copie isolée du dépôt dont la branche est créée par défaut à partir de votre [branche par défaut](/docs/fr/worktrees#choose-the-base-branch) plutôt que du `HEAD` de la session parent. Le worktree est automatiquement nettoyé si le sous-agent n'apporte aucune modification |331| `isolation` | Non | Définir sur `worktree` pour exécuter le sous-agent dans un [git worktree](/docs/fr/worktrees) temporaire, ce qui lui donne une copie isolée du dépôt dont la branche est créée par défaut à partir de votre [branche par défaut](/docs/fr/worktrees#choose-the-base-branch) plutôt que du `HEAD` de la session parent. Le worktree est automatiquement nettoyé si le sous-agent n'apporte aucune modification |


405 405 

406Pour vérifier sur quel modèle un sous-agent s'exécute, exécutez [`/tasks`](/docs/fr/commands). Claude Code nomme le modèle sur la ligne du sous-agent, et ajoute le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) défini pour ce sous-agent, le cas échéant. Nécessite Claude Code v2.1.242 ou ultérieur.406Pour vérifier sur quel modèle un sous-agent s'exécute, exécutez [`/tasks`](/docs/fr/commands). Claude Code nomme le modèle sur la ligne du sous-agent, et ajoute le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) défini pour ce sous-agent, le cas échéant. Nécessite Claude Code v2.1.242 ou ultérieur.

407 407 

408Un paramètre `model` par invocation s'applique également lorsque le sous-agent est [repris ou reçoit un message de suivi](#resume-subagents), donc le sous-agent reste sur ce modèle. Avant la v2.1.211, la reprise supprimait la valeur par invocation et le sous-agent revenait au champ `model` de sa définition ou, sans un, au modèle de la conversation principale.408Un paramètre `model` par invocation s'applique également lorsque le sous-agent est [repris ou reçoit un message de suivi](#resume-subagents), donc le sous-agent reste sur ce modèle.

409 409 

410À partir de la v2.1.198, les sous-agents héritent également de la configuration de [réflexion étendue](/docs/fr/model-config#extended-thinking) de la conversation principale : si la réflexion est activée dans votre session, elle est activée pour le sous-agent, et si elle est désactivée, elle reste désactivée. Il n'y a pas de paramètre de réflexion par sous-agent. Avant la v2.1.198, les sous-agents s'exécutaient avec la réflexion étendue désactivée indépendamment du paramètre de la conversation principale.410À partir de la v2.1.198, les sous-agents héritent également de la configuration de [réflexion étendue](/docs/fr/model-config#extended-thinking) de la conversation principale : si la réflexion est activée dans votre session, elle est activée pour le sous-agent, et si elle est désactivée, elle reste désactivée. Il n'y a pas de paramètre de réflexion par sous-agent. Avant la v2.1.198, les sous-agents s'exécutaient avec la réflexion étendue désactivée indépendamment du paramètre de la conversation principale.

411 411 


501---501---

502```502```

503 503 

504Lorsque rien dans la liste `tools` ne se résout en un outil, par exemple parce que chaque entrée est mal orthographiée ou nomme un outil qui n'est pas disponible pour les sous-agents, Claude Code refuse généralement de lancer le sous-agent et l'outil Agent retourne une erreur nommant les entrées non résolues ; consultez [Agent would be spawned with zero tools](/docs/fr/errors#agent-would-be-spawned-with-zero-tools) pour le message et comment corriger chaque entrée. Avant la v2.1.208, ce sous-agent se lançait sans outils et pouvait retourner un résultat vide ou confus.504Lorsque rien dans la liste `tools` ne se résout en un outil, par exemple parce que chaque entrée est mal orthographiée ou nomme un outil qui n'est pas disponible pour les sous-agents, Claude Code refuse généralement de lancer le sous-agent et l'outil Agent retourne une erreur nommant les entrées non résolues ; consultez [Agent would be spawned with zero tools](/docs/fr/errors#agent-would-be-spawned-with-zero-tools) pour le message et comment corriger chaque entrée.

505 505 

506Les champs `tools` et `disallowedTools` acceptent également des entrées pour un serveur MCP entier :506Les champs `tools` et `disallowedTools` acceptent également des entrées pour un serveur MCP entier :

507 507 


969* **Sous-agents au premier plan** bloquent la conversation principale jusqu'à la fin. Les demandes de permission vous sont transmises au fur et à mesure.969* **Sous-agents au premier plan** bloquent la conversation principale jusqu'à la fin. Les demandes de permission vous sont transmises au fur et à mesure.

970* **Sous-agents en arrière-plan** s'exécutent simultanément pendant que vous continuez à travailler. Lorsqu'un sous-agent en arrière-plan atteint un appel d'outil qui nécessite une permission, Claude Code affiche la demande dans votre session principale et nomme le sous-agent qui demande. Approuvez pour laisser le sous-agent continuer, ou appuyez sur Échap pour refuser cet appel d'outil sans arrêter le sous-agent.970* **Sous-agents en arrière-plan** s'exécutent simultanément pendant que vous continuez à travailler. Lorsqu'un sous-agent en arrière-plan atteint un appel d'outil qui nécessite une permission, Claude Code affiche la demande dans votre session principale et nomme le sous-agent qui demande. Approuvez pour laisser le sous-agent continuer, ou appuyez sur Échap pour refuser cet appel d'outil sans arrêter le sous-agent.

971 971 

972Pour chaque sous-agent que Claude génère avec l'outil Agent, Claude Code choisit le premier plan ou l'arrière-plan à partir du premier de ces cas qui s'applique :972<h4 id="which-subagents-run-in-the-background">

973 Quels sous-agents s'exécutent en arrière-plan

974</h4>

975 

976Sans aucune configuration, un sous-agent que Claude génère à partir de votre conversation principale démarre en arrière-plan.

973 977 

974* Si un [coéquipier d'équipe d'agents](/docs/fr/agent-teams#limitations) en cours de traitement a généré le sous-agent, Claude Code l'exécute au premier plan. Claude Code refuse avec une erreur de générer un sous-agent d'un coéquipier dont la définition définit [`background: true`](#supported-frontmatter-fields). Lorsque [le mode fork](#turn-fork-mode-on-or-off) est désactivé et que vous n'avez pas [désactivé les tâches en arrière-plan](/docs/fr/env-vars), Claude Code refuse également avec une erreur lorsqu'un coéquipier définit `run_in_background: true`.978* **`claude -p` et le SDK Agent** : Claude peut attendre, de sa propre initiative ou lorsque vous le demandez.

975* Si vous définissez [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/fr/env-vars) sur `1`, Claude Code exécute le sous-agent au premier plan, dans tous les types de session et que le mode fork soit activé ou non.979* **Sessions de terminal interactives, VS Code et application de bureau sur votre machine** : pour laisser Claude attendre un sous-agent, [désactivez le mode fork](#let-claude-wait-for-a-subagent), qui est [activé par défaut](#turn-fork-mode-on-or-off).

976* Lorsque [le mode fork](#turn-fork-mode-on-or-off) est activé, comme c'est le cas par défaut dans une session interactive, Claude Code exécute le sous-agent en arrière-plan, les sous-agents fork et non-fork, et Claude ne peut pas demander le premier plan.

977* Lorsque le mode fork est désactivé, Claude exécute le sous-agent en arrière-plan par défaut et au premier plan lorsqu'il a besoin du résultat avant de continuer. Le mode fork est désactivé en [mode non interactif](/docs/fr/headless) avec `-p` et dans le SDK Agent sauf si vous l'activez. Pour garder un sous-agent particulier en arrière-plan même lorsque Claude veut le résultat, définissez son champ frontmatter [`background`](#supported-frontmatter-fields) sur `true`.

978 980 

979Pour un skill avec `context: fork`, Claude Code suit les règles dans [Exécuter les skills dans un sous-agent](/docs/fr/skills#run-skills-in-a-subagent) à la place, que le mode fork soit activé ou non.981Pour un skill avec `context: fork`, Claude Code suit les règles dans [Exécuter les skills dans un sous-agent](/docs/fr/skills#run-skills-in-a-subagent) à la place, que le mode fork soit activé ou non.

980 982 

983<h4 id="let-claude-wait-for-a-subagent">

984 Laisser Claude attendre un sous-agent

985</h4>

986 

9871. Désactivez le [mode fork](#turn-fork-mode-on-or-off) en définissant `CLAUDE_CODE_FORK_SUBAGENT` sur `0`, par exemple dans [`settings.json`](/docs/fr/settings) :

988 

989 ```json theme={null}

990 {

991 "env": {

992 "CLAUDE_CODE_FORK_SUBAGENT": "0"

993 }

994 }

995 ```

996 

9972. Exécutez à nouveau `claude` depuis votre shell, ou ouvrez une nouvelle conversation VS Code.

998 

9993. Demandez à Claude d'attendre lorsque vous avez d'abord besoin d'un résultat, par exemple « run the reviewer subagent and wait for its report ».

1000 

1001Pour continuer à travailler pendant que Claude attend, appuyez sur **Ctrl+B** dans le terminal ou cliquez sur [**Run in background**](/docs/fr/vs-code#move-a-running-command-or-subagent-to-the-background) dans VS Code.

1002 

1003Si vous définissez la variable d'environnement [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/fr/env-vars) sur `1` au lieu de désactiver le mode fork, Claude attend chaque sous-agent et les tâches en arrière-plan sont désactivées, **Ctrl+B** compris.

1004 

1005<h4 id="tools-permissions-and-results-of-background-subagents">

1006 Outils, permissions et résultats des sous-agents en arrière-plan

1007</h4>

1008 

981Les sous-agents en arrière-plan s'exécutent avec un [ensemble d'outils intégrés plus petit](#available-tools) que les sous-agents au premier plan, sauf pour les forks de conversation et les sous-agents au premier plan [repris](#resume-subagents).1009Les sous-agents en arrière-plan s'exécutent avec un [ensemble d'outils intégrés plus petit](#available-tools) que les sous-agents au premier plan, sauf pour les forks de conversation et les sous-agents au premier plan [repris](#resume-subagents).

982 1010 

983Les sous-agents en arrière-plan affichent chaque demande de permission dans votre session principale. Lorsque vous répondez à l'une de ces demandes avec un choix qui dure au-delà de cet appel d'outil, comme une autorisation qui dure pour le reste de la session, Claude Code applique votre réponse à toute la session, y compris votre conversation principale.1011Les sous-agents en arrière-plan affichent chaque demande de permission dans votre session principale. Lorsque vous répondez à l'une de ces demandes avec un choix qui dure au-delà de cet appel d'outil, comme une autorisation qui dure pour le reste de la session, Claude Code applique votre réponse à toute la session, y compris votre conversation principale.

984 1012 

985Un sous-agent en arrière-plan peut laisser une [commande Bash ou PowerShell](/docs/fr/tools-reference#background-commands) en arrière-plan [s'exécuter au-delà de la fin de son tour](/docs/fr/interactive-mode#how-backgrounding-works). Lorsque cette commande se termine, Claude Code envoie une notification au sous-agent.1013Un sous-agent en arrière-plan peut laisser une [commande Bash ou PowerShell](/docs/fr/tools-reference#background-commands) en arrière-plan [s'exécuter au-delà de la fin de son tour](/docs/fr/interactive-mode#how-backgrounding-works). Lorsque cette commande se termine, Claude Code envoie une notification au sous-agent.

986 1014 

987Les résultats d'un sous-agent en arrière-plan atteignent Claude sous la forme d'une notification d'achèvement dans un tour ultérieur. Claude attend cette notification avant de signaler les résultats du sous-agent, et si vous demandez d'abord des mises à jour, il signale que le sous-agent est toujours en cours d'exécution. Avant la v2.1.211, Claude signalait parfois les résultats d'un sous-agent en arrière-plan qui n'avait pas terminé.1015Les résultats d'un sous-agent en arrière-plan atteignent Claude sous la forme d'une notification d'achèvement dans un tour ultérieur. Claude attend cette notification avant de signaler les résultats du sous-agent, et si vous demandez d'abord où en est l'avancement, il signale que le sous-agent est toujours en cours d'exécution.

988 1016 

989Vous pouvez également diriger cela vous-même :1017<h4 id="finished-subagents-in-the-panel-and-task-list">

990 1018 Sous-agents terminés dans le panneau et la liste des tâches

991* Lorsque le mode fork est désactivé, demandez à Claude d'exécuter une tâche en arrière-plan ou au premier plan1019</h4>

992* Appuyez sur **Ctrl+B** pour mettre une tâche en cours d'exécution en arrière-plan

993 1020 

994Claude Code efface la ligne d'un sous-agent en arrière-plan du panneau des sous-agents sous la zone de saisie du prompt de deux façons, selon la façon dont le sous-agent s'est terminé :1021Claude Code efface la ligne d'un sous-agent en arrière-plan du panneau des sous-agents sous la zone de saisie du prompt de deux façons, selon la façon dont le sous-agent s'est terminé :

995 1022 


1036 1063 

1037Un [rapport de sous-agent en arrière-plan](#run-subagents-in-foreground-or-background) arrive à l'intérieur d'une notification d'achèvement, qui est marquée comme un événement automatisé plutôt qu'un message de votre part.1064Un [rapport de sous-agent en arrière-plan](#run-subagents-in-foreground-or-background) arrive à l'intérieur d'une notification d'achèvement, qui est marquée comme un événement automatisé plutôt qu'un message de votre part.

1038 1065 

1039<Note>

1040 L'analyse de la sortie des sous-agents nécessite Claude Code v2.1.210 ou ultérieure.

1041</Note>

1042 

1043<h3 id="common-patterns">1066<h3 id="common-patterns">

1044 Modèles courants1067 Modèles courants

1045</h3>1068</h3>


1109 1132 

1110Par défaut, un sous-agent peut générer ses propres sous-agents, jusqu'à trois couches en dessous de la conversation principale. À la limite de profondeur, Claude Code retient l'outil `Agent` de tous les sous-agents sauf un [fork](#fork-the-current-conversation), de sorte qu'un sous-agent à la limite fait son travail délégué lui-même et retourne un résumé. Un fork à la limite garde `Agent` dans sa liste d'outils héritée, mais l'outil retourne une erreur au lieu de générer.1133Par défaut, un sous-agent peut générer ses propres sous-agents, jusqu'à trois couches en dessous de la conversation principale. À la limite de profondeur, Claude Code retient l'outil `Agent` de tous les sous-agents sauf un [fork](#fork-the-current-conversation), de sorte qu'un sous-agent à la limite fait son travail délégué lui-même et retourne un résumé. Un fork à la limite garde `Agent` dans sa liste d'outils héritée, mais l'outil retourne une erreur au lieu de générer.

1111 1134 

1112Les sous-agents imbriqués conviennent à une tâche déléguée qui elle-même se divise en sous-tâches parallèles, comme un sous-agent examinateur qui envoie un vérificateur par conclusion. Dans une session interactive, seul le résumé du sous-agent de niveau supérieur vous revient et la sortie intermédiaire reste en dehors de votre conversation principale : un sous-agent qui lance des sous-agents en arrière-plan attend leurs résultats avant de se terminer. En [mode non interactif](/docs/fr/headless) et dans le SDK Agent, le sous-agent de lancement n'attend pas, de sorte qu'un sous-agent en arrière-plan imbriqué qui se termine après la fin de son lanceur signale à votre conversation principale à la place.1135Les sous-agents imbriqués conviennent à une tâche déléguée qui elle-même se divise en sous-tâches parallèles, comme un sous-agent examinateur qui envoie un vérificateur par conclusion. Par défaut, le sous-agent de lancement attend le rapport de chaque sous-agent imbriqué :

1136 

1137* **Session de terminal interactive** : seul le résumé du sous-agent de niveau supérieur vous revient, car un sous-agent qui lance des sous-agents en arrière-plan attend leurs résultats avant de se terminer.

1138* **`claude -p` et le SDK Agent** : le sous-agent de lancement attend tant que le [mode fork](#turn-fork-mode-on-or-off) est activé. Si vous désactivez le mode fork, les sous-agents imbriqués démarrent en [arrière-plan](#run-subagents-in-foreground-or-background) à la place. Le sous-agent de lancement n'attend pas un sous-agent imbriqué en arrière-plan, qui signale à votre conversation principale s'il survit au sous-agent de lancement.

1113 1139 

1114Pour modifier la limite, définissez [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/fr/env-vars) sur le nombre de couches de sous-agents que vous voulez en dessous de votre conversation principale. Par exemple, cette entrée dans [`settings.json`](/docs/fr/settings) limite l'imbrication à deux couches :1140Pour modifier la limite, définissez [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/fr/env-vars) sur le nombre de couches de sous-agents que vous voulez en dessous de votre conversation principale. Par exemple, cette entrée dans [`settings.json`](/docs/fr/settings) limite l'imbrication à deux couches :

1115 1141 


1277</h2>1303</h2>

1278 1304 

1279<Note>1305<Note>

1280 Exécutez un sous-agent dupliqué avec `/subtask`, qui nécessite Claude Code v2.1.212 ou version ultérieure. Lorsque la [vue agent est désactivée](/docs/fr/agent-view#turn-off-agent-view), `/subtask` n'est pas disponible et `/fork` démarre le sous-agent dupliqué à la place ; sinon `/fork` copie l'intégralité de la session dans une nouvelle [session en arrière-plan](/docs/fr/agent-view#from-inside-a-session).1306 Lorsque la [vue agent est désactivée](/docs/fr/agent-view#turn-off-agent-view), `/subtask` n'est pas disponible et `/fork` démarre le sous-agent dupliqué à la place ; sinon `/fork` copie l'intégralité de la session dans une nouvelle [session en arrière-plan](/docs/fr/agent-view#from-inside-a-session).

1281</Note>1307</Note>

1282 1308 

1283Un fork est un sous-agent qui hérite de l'intégralité de la conversation jusqu'à présent au lieu de commencer à zéro. Cela supprime l'isolation d'entrée que les sous-agents fournissent autrement : un fork voit la même invite système, les mêmes outils, le même modèle et l'historique des messages que la session principale, vous pouvez donc lui confier une tâche secondaire sans réexpliquer la situation. Les appels d'outils du fork restent en dehors de votre conversation et seul son résultat final revient, donc votre fenêtre de contexte principal reste propre. Utilisez un fork lorsqu'un autre sous-agent aurait besoin de trop de contexte pour être utile, ou lorsque vous souhaitez essayer plusieurs approches en parallèle à partir du même point de départ.1309Un fork est un sous-agent qui hérite de l'intégralité de la conversation jusqu'à présent au lieu de commencer à zéro. Cela supprime l'isolation d'entrée que les sous-agents fournissent autrement : un fork voit la même invite système, les mêmes outils, le même modèle et l'historique des messages que la session principale, vous pouvez donc lui confier une tâche secondaire sans réexpliquer la situation. Les appels d'outils du fork restent en dehors de votre conversation et seul son résultat final revient, donc votre fenêtre de contexte principal reste propre. Utilisez un fork lorsqu'un autre sous-agent aurait besoin de trop de contexte pour être utile, ou lorsque vous souhaitez essayer plusieurs approches en parallèle à partir du même point de départ.

1284 1310 

1285Claude démarre un fork en demandant le type de sous-agent `fork` via l'outil Agent. Vous contrôlez s'il peut le faire avec le [mode fork](#turn-fork-mode-on-or-off), qui est activé par défaut dans les sessions interactives.1311Claude peut démarrer un fork de lui-même lorsque le mode fork est activé, ce qui est le cas par défaut. Pour empêcher les forks, consultez [Désactiver le mode fork](#turn-fork-mode-on-or-off).

1286 1312 

1287Vous pouvez démarrer un fork vous-même avec `/subtask` suivi d'une tâche, que le mode fork soit activé ou non. Sur v2.1.161 à v2.1.211, la commande est `/fork`. Claude Code nomme le fork à partir des premiers mots de la tâche. L'exemple suivant duplique la conversation pour rédiger des cas de test pendant que vous continuez avec l'implémentation dans la session principale :1313Vous pouvez démarrer un fork vous-même avec `/subtask` suivi d'une tâche, que le mode fork soit activé ou non. Claude Code nomme le fork à partir des premiers mots de la tâche. L'exemple suivant duplique la conversation pour rédiger des cas de test pendant que vous continuez avec l'implémentation dans la session principale :

1288 1314 

1289```text wrap theme={null}1315```text wrap theme={null}

1290/subtask draft unit tests for the parser changes so far1316/subtask draft unit tests for the parser changes so far


1327| Contexte | Historique de conversation complet | Contexte frais avec l'invite que vous transmettez |1353| Contexte | Historique de conversation complet | Contexte frais avec l'invite que vous transmettez |

1328| Invite système et outils | Identique à la session principale | À partir du [fichier de définition](#write-subagent-files) du sous-agent, [filtré pour les exécutions en arrière-plan](#available-tools) |1354| Invite système et outils | Identique à la session principale | À partir du [fichier de définition](#write-subagent-files) du sous-agent, [filtré pour les exécutions en arrière-plan](#available-tools) |

1329| Modèle | Identique à la session principale | À partir du champ `model` du sous-agent |1355| Modèle | Identique à la session principale | À partir du champ `model` du sous-agent |

1330| Permissions | Les invites s'affichent dans votre terminal | [Les invites s'affichent dans votre session principale](#run-subagents-in-foreground-or-background) lors de l'exécution en arrière-plan |

1331| Cache d'invite | Partagé avec la session principale | Cache séparé |1356| Cache d'invite | Partagé avec la session principale | Cache séparé |

1332 1357 

1333Comme le prompt système d'un fork et ses définitions d'outils sont identiques à ceux du parent, sa première requête réutilise le [cache de prompt](/docs/fr/prompt-caching#subagents-and-the-cache) du parent. Grâce à cette réutilisation, un fork coûte moins cher qu'un sous-agent frais pour les tâches qui ont besoin du même contexte.1358Comme le prompt système d'un fork et ses définitions d'outils sont identiques à ceux du parent, sa première requête réutilise le [cache de prompt](/docs/fr/prompt-caching#subagents-and-the-cache) du parent. Grâce à cette réutilisation, un fork coûte moins cher qu'un sous-agent frais pour les tâches qui ont besoin du même contexte.


1335Lorsque Claude génère un fork via l'outil Agent, il peut passer `isolation: "worktree"` pour que les modifications de fichiers du fork soient écrites dans un git worktree séparé au lieu de votre extraction. Un fork ne peut pas générer d'autres forks.1360Lorsque Claude génère un fork via l'outil Agent, il peut passer `isolation: "worktree"` pour que les modifications de fichiers du fork soient écrites dans un git worktree séparé au lieu de votre extraction. Un fork ne peut pas générer d'autres forks.

1336 1361 

1337<h3 id="turn-fork-mode-on-or-off">1362<h3 id="turn-fork-mode-on-or-off">

1338 Activer ou désactiver le mode fork1363 Désactiver le mode fork

1339</h3>1364</h3>

1340 1365 

1341Claude Code active le mode fork par défaut dans les sessions interactives et le laisse désactivé par défaut en [mode non-interactif](/docs/fr/headless) avec `-p` et dans le SDK Agent. La valeur par défaut interactive nécessite Claude Code v2.1.232 ou version ultérieure. Sur les versions antérieures, définissez `CLAUDE_CODE_FORK_SUBAGENT` sur `1` pour activer le mode fork.1366Le mode fork permet à Claude de démarrer un fork de lui-même. Pour empêcher Claude de démarrer des forks :

1342 

1343Vous pouvez dire que le mode fork est activé à partir de la façon dont Claude Code gère l'outil Agent :

1344 

1345* Claude peut générer un fork en demandant le type de sous-agent `fork`. Lorsque Claude ne demande pas de type, il obtient le sous-agent [general-purpose](#built-in-subagents), si la session a toujours ce type. Les sous-agents générés à partir d'une définition, tels que Explore, fonctionnent comme d'habitude.

1346* Claude Code exécute les sous-agents que Claude génère en arrière-plan, les forks et les sous-agents non-fork, à l'exception des [cas qui restent au premier plan](#run-subagents-in-foreground-or-background). Claude Code supprime également le paramètre `run_in_background` de l'outil Agent, donc Claude ne peut pas demander le premier plan.

1347 

1348Définissez la variable d'environnement [`CLAUDE_CODE_FORK_SUBAGENT`](/docs/fr/env-vars) pour remplacer les valeurs par défaut :

1349 1367 

1350* `1` active le mode fork en mode non-interactif et dans le SDK Agent également1368* **Empêcher uniquement les forks** : ajoutez `"Agent(fork)"` à `permissions.deny` dans vos [paramètres](#disable-specific-subagents).

1351* `0` désactive le mode fork dans tous les types de session1369* **Désactiver le mode fork** : définissez `CLAUDE_CODE_FORK_SUBAGENT` sur `0`, en suivant les étapes de [Laisser Claude attendre un sous-agent](#let-claude-wait-for-a-subagent).

1352 1370 

1353Pour garder le mode fork activé mais empêcher Claude de générer des forks, [refusez le type de sous-agent `fork`](#disable-specific-subagents) avec une règle `Agent(fork)`. Claude Code exécute toujours les sous-agents que Claude génère en arrière-plan, à l'exception des mêmes [cas qui restent au premier plan](#run-subagents-in-foreground-or-background).1371Lorsque le mode fork est activé, Claude ne peut pas non plus [attendre un sous-agent](#run-subagents-in-foreground-or-background) dans les sessions interactives du terminal, de VS Code ou de l'application de bureau sur votre machine. Le mode fork est activé par défaut à partir de Claude Code v2.1.302, et dans une session interactive du terminal à partir de v2.1.232.

1354 1372 

1355<h2 id="example-subagents">1373<h2 id="example-subagents">

1356 Exemples de sous-agents1374 Exemples de sous-agents

Details

58 58 

59 Si vous avez accepté l'invite de configuration du terminal au premier lancement de Claude Code, c'est déjà fait. Cette invite exécute `/terminal-setup` pour vous, ce qui active Option comme Meta et désactive la cloche audible dans votre profil Apple Terminal.59 Si vous avez accepté l'invite de configuration du terminal au premier lancement de Claude Code, c'est déjà fait. Cette invite exécute `/terminal-setup` pour vous, ce qui active Option comme Meta et désactive la cloche audible dans votre profil Apple Terminal.

60 60 

61 En [mode lecteur d'écran](/docs/fr/accessibility), `/terminal-setup` laisse le paramètre de cloche inchangé afin que la cloche du terminal reste audible. Avant la v2.1.211, `/terminal-setup` désactivait la cloche même en mode lecteur d'écran. Si une exécution antérieure a désactivé la cloche, réactivez-la sous Paramètres → Profils → Avancé → « Audible bell ».61 En [mode lecteur d'écran](/docs/fr/accessibility), `/terminal-setup` laisse le paramètre de cloche inchangé afin que la cloche du terminal reste audible. Si une exécution antérieure a désactivé la cloche, réactivez-la sous Paramètres → Profils → Avancé → « Audible bell ».

62 </Tab>62 </Tab>

63 63 

64 <Tab title="iTerm2">64 <Tab title="iTerm2">

tools-reference.md +34 −34

Details

26| `CronDelete` | Annule une tâche planifiée par ID | Non |26| `CronDelete` | Annule une tâche planifiée par ID | Non |

27| `CronList` | Liste toutes les tâches planifiées dans la session | Non |27| `CronList` | Liste toutes les tâches planifiées dans la session | Non |

28| `Edit` | Effectue des modifications ciblées sur des fichiers spécifiques. Consultez [Comportement de l'outil Edit](#edit-tool-behavior) | Oui |28| `Edit` | Effectue des modifications ciblées sur des fichiers spécifiques. Consultez [Comportement de l'outil Edit](#edit-tool-behavior) | Oui |

29| `EndConversation` | Termine la session, dans les rares cas d'entrée abusive soutenue ou quand vous demandez à Claude de démontrer l'outil. Nécessite Claude Code v2.1.213 ou ultérieur. Consultez [Comportement de l'outil EndConversation](#endconversation-tool-behavior) | Non |29| `EndConversation` | Termine la session, dans les rares cas d'entrée abusive soutenue ou quand vous demandez à Claude de démontrer l'outil. Consultez [Comportement de l'outil EndConversation](#endconversation-tool-behavior) | Non |

30| `EnterPlanMode` | Bascule en mode plan pour concevoir une approche avant de coder | Non |30| `EnterPlanMode` | Bascule en mode plan pour concevoir une approche avant de coder | Non |

31| `EnterWorktree` | Crée un [git worktree](/docs/fr/worktrees) isolé et y bascule. Passez un `path` pour basculer dans un worktree existant au lieu d'en créer un nouveau. À la première entrée, la cible peut être un worktree du référentiel actuel ou, dans un espace de travail multi-référentiel, d'un référentiel imbriqué à l'intérieur. Avant v2.1.203, un worktree d'un référentiel imbriqué était rejeté. Un `path` en dehors de `.claude/worktrees/` demande votre approbation avant d'entrer, car il déplace le répertoire de travail de la session et l'accès en écriture à cet emplacement. La création de nouveaux worktrees et les chemins sous `.claude/worktrees/` ne demandent pas. Avant v2.1.206, Claude entrait dans les chemins en dehors de `.claude/worktrees/` sans demander. À partir d'une session worktree, ou d'un sous-agent avec un répertoire de travail épinglé tel que [`isolation: worktree`](/docs/fr/sub-agents#supported-frontmatter-fields), seule la forme `path` est disponible et la cible doit être sous `.claude/worktrees/` du référentiel de la session | Oui |31| `EnterWorktree` | Crée un [git worktree](/docs/fr/worktrees) isolé et y bascule. Passez un `path` pour basculer dans un worktree existant au lieu d'en créer un nouveau. À la première entrée, la cible peut être un worktree du référentiel actuel ou, dans un espace de travail multi-référentiel, d'un référentiel imbriqué à l'intérieur. Avant v2.1.203, un worktree d'un référentiel imbriqué était rejeté. Un `path` en dehors de `.claude/worktrees/` demande votre approbation avant d'entrer, car il déplace le répertoire de travail de la session et l'accès en écriture à cet emplacement. La création de nouveaux worktrees et les chemins sous `.claude/worktrees/` ne demandent pas. Avant v2.1.206, Claude entrait dans les chemins en dehors de `.claude/worktrees/` sans demander. À partir d'une session worktree, ou d'un sous-agent avec un répertoire de travail épinglé tel que [`isolation: worktree`](/docs/fr/sub-agents#supported-frontmatter-fields), seule la forme `path` est disponible et la cible doit être sous `.claude/worktrees/` du référentiel de la session | Oui |

32| `ExitPlanMode` | Présente un plan pour approbation et quitte le mode plan | Oui |32| `ExitPlanMode` | Présente un plan pour approbation et quitte le mode plan | Oui |


48| `SendFeedback` | Rédige un rapport de rétroaction sur Claude Code, couvrant un problème de produit ou le comportement de Claude lui-même dans la session, et le met en file d'attente sur votre machine pour que vous le révisiez. Claude Code n'envoie rien jusqu'à ce que vous choisissiez d'envoyer le brouillon. Consultez [Comportement de l'outil SendFeedback](#sendfeedback-tool-behavior). Nécessite Claude Code v2.1.238 ou ultérieur | Non |48| `SendFeedback` | Rédige un rapport de rétroaction sur Claude Code, couvrant un problème de produit ou le comportement de Claude lui-même dans la session, et le met en file d'attente sur votre machine pour que vous le révisiez. Claude Code n'envoie rien jusqu'à ce que vous choisissiez d'envoyer le brouillon. Consultez [Comportement de l'outil SendFeedback](#sendfeedback-tool-behavior). Nécessite Claude Code v2.1.238 ou ultérieur | Non |

49| `SendMessage` | Envoie un message à un autre agent : un [coéquipier d'équipe d'agents](/docs/fr/agent-teams), un [sous-agent qu'il reprend](/docs/fr/sub-agents#resume-subagents) par ID ou nom d'agent, ou l'une de vos autres sessions Claude Code, sur cette machine ou au-delà. La messagerie d'autres sessions nécessite Claude Code v2.1.224 ou ultérieur. La [messagerie inter-sessions](/docs/fr/cross-session-messaging) couvre les sessions que Claude peut atteindre, [à quoi ressemble un message quand il arrive](/docs/fr/cross-session-messaging#what-a-message-looks-like), et [comment Claude reçoit un avis quand une autre session devient inactive](/docs/fr/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude peut inclure une entrée `summary` optionnelle, généralement 5-10 mots, que Claude Code affiche comme un aperçu d'une ligne. Quand Claude l'omet sur un [message en texte brut](/docs/fr/cross-session-messaging#limitations), Claude Code utilise la première ligne du message comme résumé. Claude Code tronque un résumé plus long que 200 caractères avec des points de suspension | Non |49| `SendMessage` | Envoie un message à un autre agent : un [coéquipier d'équipe d'agents](/docs/fr/agent-teams), un [sous-agent qu'il reprend](/docs/fr/sub-agents#resume-subagents) par ID ou nom d'agent, ou l'une de vos autres sessions Claude Code, sur cette machine ou au-delà. La messagerie d'autres sessions nécessite Claude Code v2.1.224 ou ultérieur. La [messagerie inter-sessions](/docs/fr/cross-session-messaging) couvre les sessions que Claude peut atteindre, [à quoi ressemble un message quand il arrive](/docs/fr/cross-session-messaging#what-a-message-looks-like), et [comment Claude reçoit un avis quand une autre session devient inactive](/docs/fr/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude peut inclure une entrée `summary` optionnelle, généralement 5-10 mots, que Claude Code affiche comme un aperçu d'une ligne. Quand Claude l'omet sur un [message en texte brut](/docs/fr/cross-session-messaging#limitations), Claude Code utilise la première ligne du message comme résumé. Claude Code tronque un résumé plus long que 200 caractères avec des points de suspension | Non |

50| `SendUserFile` | Envoie les fichiers de la session vers vous avec une légende optionnelle, afin qu'un rapport généré, un diagramme, une capture d'écran ou un artefact construit atteigne votre appareil au lieu d'être seulement mentionné dans la transcription. L'entrée `display` optionnelle contrôle la présentation : `render` ouvre le fichier en ligne dans le client, `attach` affiche une carte de téléchargement uniquement, et quand elle n'est pas définie, le client décide par type de fichier. Disponible quand un client [Remote Control](/docs/fr/remote-control) est connecté ou dans une [session cloud](/docs/fr/claude-code-on-the-web). La livraison s'effectue via l'infrastructure hébergée par Anthropic, donc l'outil n'est pas disponible sur Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry | Non |50| `SendUserFile` | Envoie les fichiers de la session vers vous avec une légende optionnelle, afin qu'un rapport généré, un diagramme, une capture d'écran ou un artefact construit atteigne votre appareil au lieu d'être seulement mentionné dans la transcription. L'entrée `display` optionnelle contrôle la présentation : `render` ouvre le fichier en ligne dans le client, `attach` affiche une carte de téléchargement uniquement, et quand elle n'est pas définie, le client décide par type de fichier. Disponible quand un client [Remote Control](/docs/fr/remote-control) est connecté ou dans une [session cloud](/docs/fr/claude-code-on-the-web). La livraison s'effectue via l'infrastructure hébergée par Anthropic, donc l'outil n'est pas disponible sur Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry | Non |

51| `ShareOnboardingGuide` | Télécharge `ONBOARDING.md` et retourne un lien de partage que les coéquipiers peuvent ouvrir dans Claude Code. Appelé depuis `/team-onboarding` après que le guide soit écrit. Disponible pour les abonnés claude.ai sur les plans Pro, Max, Team et Enterprise | Oui |51| `ShareOnboardingGuide` | Télécharge `ONBOARDING.md` et retourne un lien de partage que les coéquipiers peuvent ouvrir dans Claude Code. Appelé depuis `/team-onboarding` après que le guide soit écrit. Disponible pour les abonnés claude.ai sur les plans Team et Enterprise | Oui |

52| `Skill` | Exécute une [skill](/docs/fr/skills#control-who-invokes-a-skill) dans la conversation principale | Oui |52| `Skill` | Exécute une [skill](/docs/fr/skills#control-who-invokes-a-skill) dans la conversation principale | Oui |

53| `SubagentHandback` | Livre le rapport final d'un sous-agent à la conversation qui reçoit le résultat de ce sous-agent. Fourni uniquement en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), aux sous-agents que l'outil Agent exécute localement autres que les [forks](/docs/fr/sub-agents#fork-the-current-conversation), et disponible dans le CLI terminal, les extensions IDE, les sessions cloud et le SDK Agent ; le classificateur examine le rapport avant qu'il soit livré. Nécessite Claude Code v2.1.271 ou ultérieur | Non |53| `SubagentHandback` | Livre le rapport final d'un sous-agent à la conversation qui reçoit le résultat de ce sous-agent. Fourni uniquement en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), aux sous-agents que l'outil Agent exécute localement autres que les [forks](/docs/fr/sub-agents#fork-the-current-conversation), et disponible dans le CLI terminal, les extensions IDE, les sessions cloud et le SDK Agent ; le classificateur examine le rapport avant qu'il soit livré. Nécessite Claude Code v2.1.271 ou ultérieur | Non |

54| `TaskCreate` | Crée une nouvelle tâche dans la liste des tâches. Fourni par défaut uniquement sur les modèles listés sous [Disponibilité de l'outil Task](#task-tool-availability), et sur d'autres modèles quand vous acceptez | Non |54| `TaskCreate` | Crée une nouvelle tâche dans la liste des tâches. Fourni par défaut uniquement sur les modèles listés sous [Disponibilité de l'outil Task](#task-tool-availability), et sur d'autres modèles quand vous acceptez | Non |


92 92 

93Les outils non listés ici, tels que `ExitPlanMode` ou `ShareOnboardingGuide`, acceptent uniquement le nom d'outil nu sans spécificateur.93Les outils non listés ici, tels que `ExitPlanMode` ou `ShareOnboardingGuide`, acceptent uniquement le nom d'outil nu sans spécificateur.

94 94 

95Une règle d'autorisation `Edit(...)` accorde également l'accès en lecture au même chemin, vous n'avez donc pas besoin d'une règle `Read(...)` correspondante. Une règle de refus `Read(...)` bloque également les outils Edit et Write sur le même chemin, y compris la création d'un nouveau fichier à cet endroit, car les deux outils modifient le contenu que Claude doit pouvoir relire. La vérification de refus `Read` nécessite Claude Code v2.1.208 ou ultérieur sur les modifications, et v2.1.228 ou ultérieur sur les écritures.95Une règle d'autorisation `Edit(...)` accorde également l'accès en lecture au même chemin, vous n'avez donc pas besoin d'une règle `Read(...)` correspondante. Une règle de refus `Read(...)` bloque également les outils Edit et Write sur le même chemin, y compris la création d'un nouveau fichier à cet endroit, car les deux outils modifient le contenu que Claude doit pouvoir relire. Pour l'outil Write, la vérification de refus `Read` nécessite Claude Code v2.1.228 ou ultérieur.

96 96 

97Les champs `matcher` des hooks utilisent des noms d'outils nus, pas le format entre parenthèses. Voir [motifs de correspondance](/docs/fr/hooks#matcher-patterns) pour les règles de correspondance. Pour les noms de champs que chaque outil transmet à `tool_input` dans les hooks, voir la [référence d'entrée PreToolUse](/docs/fr/hooks#pretooluse-input).97Les champs `matcher` des hooks utilisent des noms d'outils nus, pas le format entre parenthèses. Voir [motifs de correspondance](/docs/fr/hooks#matcher-patterns) pour les règles de correspondance. Pour les noms de champs que chaque outil transmet à `tool_input` dans les hooks, voir la [référence d'entrée PreToolUse](/docs/fr/hooks#pretooluse-input).

98 98 


100 Comportement de l'outil Agent100 Comportement de l'outil Agent

101</h2>101</h2>

102 102 

103L'outil Agent lance un sous-agent dans une fenêtre de contexte séparée. Le sous-agent travaille de manière autonome sur sa tâche, puis retourne son résultat à la conversation parent. Le parent ne voit pas les appels d'outils intermédiaires ou les résultats du sous-agent, seulement ce résultat final. Avec les [équipes d'agents](/docs/fr/agent-teams) activées, un appel qui porte un `name` peut lancer un [coéquipier](/docs/fr/agent-teams#how-claude-starts-agent-teams) à la place, qui rend compte via des messages d'équipe plutôt que de retourner un résultat.103L'outil Agent lance un sous-agent dans une fenêtre de contexte séparée. Le sous-agent travaille de manière autonome sur sa tâche, puis retourne son résultat à la conversation parent. Le parent ne voit pas les appels d'outils intermédiaires ou les résultats du sous-agent, seulement ce résultat final. Le même outil peut également lancer un coéquipier ou un fork :

104 104 

105Pour limiter le nombre de tours qu'un sous-agent exécute, définissez `maxTurns` dans la [définition du sous-agent](/docs/fr/sub-agents#supported-frontmatter-fields). Lorsque le sous-agent atteint la limite, Claude Code marque le résultat retourné comme résultat partiel, et Claude peut [reprendre le sous-agent](/docs/fr/sub-agents#resume-subagents) pour continuer.105* **Coéquipier** : avec les [équipes d'agents](/docs/fr/agent-teams) activées, un appel qui porte un `name` peut lancer un [coéquipier](/docs/fr/agent-teams#how-claude-starts-agent-teams) à la place, qui rend compte via des messages d'équipe plutôt que de retourner un résultat

106* **Fork** : partout où le [mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off) est activé, l'outil peut lancer un [sous-agent dupliqué](/docs/fr/sub-agents#fork-the-current-conversation), qui hérite de la conversation parent complète au lieu de commencer à zéro

106 107 

107Le même outil Agent lance également des [sous-agents dupliqués](/docs/fr/sub-agents#fork-the-current-conversation) partout où le [mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off) est activé. Un fork hérite de la conversation parent complète au lieu de commencer à zéro, s'exécute en arrière-plan en dehors des [cas qui restent au premier plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background), et affiche toujours les invites de permission dans votre terminal. Le reste de cette section décrit les sous-agents non-fork.108Pour limiter le nombre de tours qu'un sous-agent exécute, définissez `maxTurns` dans la [définition du sous-agent](/docs/fr/sub-agents#supported-frontmatter-fields). Lorsque le sous-agent atteint la limite, Claude Code marque le résultat retourné comme résultat partiel, et Claude peut [reprendre le sous-agent](/docs/fr/sub-agents#resume-subagents) pour continuer.

108 109 

109Les outils qu'un sous-agent non-fork peut utiliser dépendent des champs `tools` et `disallowedTools` dans la [définition du sous-agent](/docs/fr/sub-agents) :110Les outils qu'un sous-agent non-fork peut utiliser dépendent des champs `tools` et `disallowedTools` dans la [définition du sous-agent](/docs/fr/sub-agents) :

110 111 


255* Écrivez la taille comme un nombre d'octets ou avec un suffixe `K`, `M`, `G`, ou `T`. Définissez `0`, `off`, `false`, `no`, ou `none` pour désactiver le plafond. Claude Code ignore toute autre valeur qu'il ne peut pas lire comme une taille, telle que `4e9`.256* Écrivez la taille comme un nombre d'octets ou avec un suffixe `K`, `M`, `G`, ou `T`. Définissez `0`, `off`, `false`, `no`, ou `none` pour désactiver le plafond. Claude Code ignore toute autre valeur qu'il ne peut pas lire comme une taille, telle que `4e9`.

256* Claude Code compte toutes les commandes Bash, PowerShell et Monitor d'une session par rapport au plafond unique, pas chaque commande par elle-même.257* Claude Code compte toutes les commandes Bash, PowerShell et Monitor d'une session par rapport au plafond unique, pas chaque commande par elle-même.

257* Claude Code applique le plafond avec un cgroup de mémoire. Quand il ne peut pas configurer le cgroup, les commandes s'exécutent sans plafond, et le journal de débogage de `claude --debug` explique pourquoi.258* Claude Code applique le plafond avec un cgroup de mémoire. Quand il ne peut pas configurer le cgroup, les commandes s'exécutent sans plafond, et le journal de débogage de `claude --debug` explique pourquoi.

258* Après que le premier processus que Claude Code a démarré ait activé le plafond, ou l'ait désactivé en raison d'une valeur off ou d'une configuration de cgroup échouée, Claude Code maintient ce résultat jusqu'à ce que vous relancez. Pour appliquer une valeur modifiée ou supprimée, ou une configuration corrigée, lancez `claude` à nouveau.259* Après que le premier processus que Claude Code a démarré a activé le plafond, ou l'a désactivé en raison d'une valeur off ou d'une configuration de cgroup échouée, Claude Code maintient ce résultat jusqu'à ce que vous relanciez. Pour appliquer une valeur modifiée ou supprimée, ou une configuration corrigée, lancez `claude` à nouveau.

259* Quand les commandes ne peuvent pas rester sous le plafond, le noyau arrête une commande, et rien dans son résultat ne nomme le plafond.260* Quand les commandes ne peuvent pas rester sous le plafond, le noyau arrête une commande, et rien dans son résultat ne nomme le plafond.

260 261 

261Claude Code peut aussi compter d'autres types de processus qu'il démarre par rapport à la même limite. Définissez [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/fr/env-vars#variables) sur une liste séparée par des virgules des types à exempter du plafond ; Claude Code applique le plafond à chaque type qui ne figure pas sur votre liste. Définissez-le sur `none` pour plafonner chaque type, ou sur `all-new` pour plafonner uniquement les commandes des outils Bash, PowerShell et Monitor. Nécessite Claude Code v2.1.246 ou ultérieur. Les types que vous pouvez nommer :262Claude Code peut aussi compter d'autres types de processus qu'il démarre par rapport à la même limite. Définissez [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/fr/env-vars#variables) sur une liste séparée par des virgules des types à exempter du plafond ; Claude Code applique le plafond à chaque type qui ne figure pas sur votre liste. Définissez-le sur `none` pour plafonner chaque type, ou sur `all-new` pour plafonner uniquement les commandes des outils Bash, PowerShell et Monitor. Nécessite Claude Code v2.1.246 ou ultérieur. Les types que vous pouvez nommer :

262 263 

263* `mcp` : serveurs [MCP](/docs/fr/mcp) locaux264* `mcp` : [serveurs MCP](/docs/fr/mcp) locaux

264* `lsp` : [serveurs de langage](#lsp-tool-behavior)265* `lsp` : [serveurs de langage](#lsp-tool-behavior)

265* `hooks` : commandes [hook](/docs/fr/hooks)266* `hooks` : commandes [hook](/docs/fr/hooks)

266* `plugin` : commandes que les [plugins](/docs/fr/plugins/overview) exécutent267* `plugin` : commandes que les [plugins](/docs/fr/plugins/overview) exécutent


271 272 

272* **Noms inconnus** : Claude Code ignore les noms qu'il ne reconnaît pas273* **Noms inconnus** : Claude Code ignore les noms qu'il ne reconnaît pas

273* **Variable non définie** : Claude Code prend l'ensemble des autres types plafonnés à partir de la configuration qu'Anthropic livre depuis le serveur, et cet ensemble peut changer au fil du temps, donc définissez la variable quand vous avez besoin d'un ensemble qui ne change pas274* **Variable non définie** : Claude Code prend l'ensemble des autres types plafonnés à partir de la configuration qu'Anthropic livre depuis le serveur, et cet ensemble peut changer au fil du temps, donc définissez la variable quand vous avez besoin d'un ensemble qui ne change pas

274* **Hooks de permission-gating** : même avec chaque type plafonné, Claude Code exempte du plafond un hook qui peut bloquer ou modifier le résultat d'une action, et tout serveur MCP que ce hook appelle, donc le noyau arrêtant un hook de permission-gating ne peut pas permettre l'action qu'il bloquait275* **Hooks de contrôle des permissions** : même avec chaque type plafonné, Claude Code exempte du plafond un hook qui peut bloquer ou modifier le résultat d'une action, et tout serveur MCP que ce hook appelle, de sorte que le noyau ne peut pas, en arrêtant un hook de contrôle des permissions, autoriser l'action que ce hook bloquait

275 276 

276<h2 id="edit-tool-behavior">277<h2 id="edit-tool-behavior">

277 Comportement de l'outil Edit278 Comportement de l'outil Edit


279 280 

280L'outil Edit effectue un remplacement de chaîne exact. Il prend une `old_string` et une `new_string` et remplace la première par la seconde. Il n'utilise pas d'expressions régulières ni de correspondance approximative.281L'outil Edit effectue un remplacement de chaîne exact. Il prend une `old_string` et une `new_string` et remplace la première par la seconde. Il n'utilise pas d'expressions régulières ni de correspondance approximative.

281 282 

282Ces vérifications doivent réussir pour qu'une modification s'applique. Avant l'une d'elles, un chemin correspondant à une [règle de refus `Read`](/docs/fr/permissions#tool-specific-permission-rules) est refusé, y compris la création d'un nouveau fichier à cet endroit. Le refus nécessite Claude Code v2.1.208 ou une version ultérieure.283Ces vérifications doivent réussir pour qu'une modification s'applique. Avant l'une d'elles, un chemin correspondant à une [règle de refus `Read`](/docs/fr/permissions#tool-specific-permission-rules) est refusé, y compris la création d'un nouveau fichier à cet endroit.

283 284 

284* **Read-before-edit** : Claude lit le fichier dans la conversation actuelle avant de le modifier, et une lecture interrompue avec un avis [`PARTIAL view`](#large-files) ne compte pas. Claude Opus 4.6, Claude Haiku 4.5 et les modèles plus anciens nécessitent toujours la lecture. Les modèles plus récents peuvent modifier un fichier non lu lorsque la lecture ne nécessiterait pas de demande de permission et que l'outil Read est disponible.285* **Read-before-edit** : Claude lit le fichier dans la conversation actuelle avant de le modifier, et une lecture interrompue avec un avis [`PARTIAL view`](#large-files) ne compte pas. Claude Opus 4.6, Claude Haiku 4.5 et les modèles plus anciens nécessitent toujours la lecture. Les modèles plus récents peuvent modifier un fichier non lu lorsque la lecture ne nécessiterait pas de demande de permission et que l'outil Read est disponible.

285* **Match** : `old_string` doit apparaître dans le fichier exactement tel qu'écrit. Une seule différence d'espace blanc ou d'indentation suffit à manquer la correspondance.286* **Match** : `old_string` doit apparaître dans le fichier exactement tel qu'écrit. Une seule différence d'espace blanc ou d'indentation suffit à manquer la correspondance.

286* **Unicité** : `old_string` doit apparaître exactement une fois. Lorsqu'il apparaît plus d'une fois, Claude fournit soit une chaîne plus longue avec suffisamment de contexte environnant pour identifier une occurrence, soit définit `replace_all: true` pour les remplacer tous.287* **Unicité** : `old_string` doit apparaître exactement une fois. Lorsqu'il apparaît plus d'une fois, Claude fournit soit une chaîne plus longue avec suffisamment de contexte environnant pour identifier une occurrence, soit définit `replace_all: true` pour les remplacer tous.

287 288 

288Un fichier qui a changé sur le disque après la dernière lecture par Claude peut toujours être modifié lorsque `old_string` correspond exactement au contenu actuel et sans ambiguïté et que Claude Code peut lire le fichier sans invite. La correspondance avec le contenu actuel du fichier maintient la sécurité, et le résultat note que le fichier contient d'autres modifications afin que Claude le relise avant les modifications qui dépendent du contenu environnant. Dans tout autre cas, comme une `old_string` obsolète ou une qui correspond à plus d'une occurrence sans `replace_all`, Claude lit le fichier à nouveau avant la modification. La gestion assouplie des fichiers non lus et modifiés nécessite Claude Code v2.1.208 ou une version ultérieure ; avant cela, Claude Code refusait toute modification d'un fichier qu'il n'avait pas lu dans la conversation ou qui avait changé sur le disque après la lecture.289Un fichier qui a changé sur le disque après la dernière lecture par Claude peut toujours être modifié lorsque `old_string` correspond exactement au contenu actuel et sans ambiguïté et que Claude Code peut lire le fichier sans demande de permission. La correspondance avec le contenu actuel du fichier maintient la sécurité, et le résultat note que le fichier contient d'autres modifications afin que Claude le relise avant les modifications qui dépendent du contenu environnant. Dans tout autre cas, comme une `old_string` obsolète ou une qui correspond à plus d'une occurrence sans `replace_all`, Claude lit le fichier à nouveau avant la modification.

289 290 

290Claude peut également modifier un fichier sans Read distinct après l'avoir affiché avec une commande Bash telle que `cat` ou `grep`. Ces commandes sont `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` et `rg`, chacune exécutée sur un seul fichier sans pipes ni redirections. Une recherche qui n'affiche aucune correspondance ne compte pas comme une lecture, pas plus que toute commande absente de cette liste.291Claude peut également modifier un fichier sans Read distinct après l'avoir affiché avec une commande Bash telle que `cat` ou `grep`. Ces commandes sont `cat`, `nl`, `bat`, `batcat`, `head`, `tail`, `sed -n 'X,Yp'`, `grep`, `egrep`, `fgrep` et `rg`, chacune exécutée sur un seul fichier sans pipes ni redirections. Une recherche qui n'affiche aucune correspondance ne compte pas comme une lecture, pas plus que toute commande absente de cette liste.

291 292 


322 323 

323L'outil n'apparaît que lorsque tous les éléments suivants sont vrais :324L'outil n'apparaît que lorsque tous les éléments suivants sont vrais :

324 325 

325* **Version** : Claude Code v2.1.213 ou version ultérieure.

326* **Modèle** : le modèle de la session est Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, ou une version ultérieure de l'une de ces familles.326* **Modèle** : le modèle de la session est Claude Opus 4.8, Claude Sonnet 5, Claude Fable 5, ou une version ultérieure de l'une de ces familles.

327* **Surface** : une session de terminal interactive, y compris une session `claude` dans le terminal intégré d'un IDE, ce qui est la façon dont le [plugin JetBrains](/docs/fr/jetbrains) l'exécute. Les autres surfaces n'incluent pas l'outil, comme :327* **Surface** : une session de terminal interactive, y compris une session `claude` dans le terminal intégré d'un IDE, ce qui est la façon dont le [plugin JetBrains](/docs/fr/jetbrains) l'exécute. Les autres surfaces n'incluent pas l'outil, comme :

328 * les exécutions non-interactives `-p`328 * les exécutions non-interactives `-p`


337 Comportement de l'outil Glob337 Comportement de l'outil Glob

338</h2>338</h2>

339 339 

340L'outil Glob trouve des fichiers par motif de nom. Sur Windows, il fait partie de l'ensemble d'outils par défaut. Sur macOS, Linux et WSL, Claude Code laisse Glob et [Grep](#grep-tool-behavior) en dehors de l'ensemble d'outils par défaut, et Claude effectue des recherches avec `find` et `grep` via l'outil Bash à la place. Dans le shell de Claude, ces deux commandes exécutent des versions intégrées de `bfs` et `ugrep`, et les recherches atteignent vos hooks et règles de permission en tant qu'appels `Bash`.340L'outil Glob trouve des fichiers par motif de nom. Sous Windows, il fait partie de l'ensemble d'outils par défaut. Sous macOS, Linux et WSL, Claude Code exclut Glob et [Grep](#grep-tool-behavior) de l'ensemble d'outils par défaut, et Claude effectue ses recherches avec `find` et `grep` via l'outil Bash à la place. Dans le shell de Claude, ces deux commandes exécutent des versions intégrées de `bfs` et `ugrep`, et les recherches parviennent à vos hooks et à vos règles de permission sous forme d'appels `Bash`.

341 341 

342Sur macOS, Linux et WSL, vous récupérez les outils Glob et Grep dans ces cas :342Sous macOS, Linux et WSL, vous récupérez les outils Glob et Grep dans les cas suivants :

343 343 

344* Vous nommez `Glob` ou `Grep` dans [`--tools` ou `--allowedTools`](/docs/fr/cli-reference#cli-flags) lorsque vous démarrez la session, ou dans les options équivalentes du [SDK Agent](/docs/fr/agent-sdk/overview). Avec `--tools`, vous obtenez ceux que vous listez, et nommer l'un ou l'autre outil dans `--allowedTools` restaure les deux. Une règle d'autorisation dans un fichier de paramètres n'a pas cet effet.344* Vous nommez `Glob` ou `Grep` dans [`--tools` ou `--allowedTools`](/docs/fr/cli-reference#cli-flags) au démarrage de la session, ou dans les options équivalentes de l'[Agent SDK](/docs/fr/agent-sdk/overview). Avec `--tools`, vous obtenez ceux que vous listez, et nommer l'un ou l'autre de ces outils dans `--allowedTools` rétablit les deux. Une règle d'autorisation dans un fichier de paramètres n'a pas cet effet.

345* Une [règle de refus](/docs/fr/permissions#match-all-uses-of-a-tool) de permissions, l'indicateur `--disallowedTools`, ou [`--restricted`](/docs/fr/cli-reference#cli-flags) supprime `Bash` de la session.345* Une [règle de refus](/docs/fr/permissions#match-all-uses-of-a-tool) de permissions, le flag `--disallowedTools` ou [`--restricted`](/docs/fr/cli-reference#cli-flags) retire `Bash` de la session.

346* Un [sous-agent](/docs/fr/sub-agents#available-tools) liste `Glob` ou `Grep` dans son champ `tools` et laisse de côté `Bash`. Les outils listés reviennent pour ce sous-agent uniquement, ou pour la session entière lorsqu'il s'exécute en tant qu'agent de session principal via [`--agent`](/docs/fr/sub-agents#invoke-subagents-explicitly) ou le paramètre `agent`.346* Un [sous-agent](/docs/fr/sub-agents#available-tools) liste `Glob` ou `Grep` dans son champ `tools` et omet `Bash`. Les outils listés reviennent uniquement pour ce sous-agent, ou pour toute la session lorsqu'il s'exécute en tant qu'agent de la session principale via [`--agent`](/docs/fr/sub-agents#invoke-subagents-explicitly) ou le paramètre `agent`.

347 347 

348Glob supporte la syntaxe glob standard incluant `**` pour la correspondance de répertoire récursive :348Glob prend en charge la syntaxe glob standard, y compris `**` pour la correspondance récursive des répertoires :

349 349 

350* `**/*.js` correspond à tous les fichiers `.js` à n'importe quelle profondeur350* `**/*.js` correspond à tous les fichiers `.js` à n'importe quelle profondeur

351* `src/**/*.ts` correspond à tous les fichiers `.ts` sous `src/`351* `src/**/*.ts` correspond à tous les fichiers `.ts` sous `src/`

352* `*.{json,yaml}` correspond aux fichiers `.json` et `.yaml` dans le répertoire actuel352* `*.{json,yaml}` correspond aux fichiers `.json` et `.yaml` du répertoire courant

353 353 

354Les résultats sont triés par heure de modification et limités à 100 fichiers. Si la limite est atteinte, Claude voit un drapeau de troncature dans le résultat et peut affiner le motif.354Les résultats sont triés par date de modification et plafonnés à 100 fichiers. Si le plafond est atteint, Claude voit un flag de troncature dans le résultat et peut affiner le motif.

355 355 

356Glob ne respecte pas `.gitignore` par défaut, donc il trouve les fichiers gitignorés aux côtés des fichiers suivis. Cela diffère de [Grep](#grep-tool-behavior), qui ignore les fichiers gitignorés. Pour faire respecter `.gitignore` à Glob, définissez `CLAUDE_CODE_GLOB_NO_IGNORE=false` avant de lancer Claude Code.356Par défaut, Glob ne respecte pas `.gitignore` : il trouve donc les fichiers ignorés par Git en plus des fichiers suivis. Cela diffère de [Grep](#grep-tool-behavior), qui ignore les fichiers exclus par `.gitignore`. Pour que Glob respecte `.gitignore`, définissez `CLAUDE_CODE_GLOB_NO_IGNORE=false` avant de lancer Claude Code.

357 357 

358Claude Code décide de la permission pour un appel Glob avant de vérifier si le répertoire de recherche existe. Il exécute toujours la vérification de permission de lecture pour un `path` manquant en dehors des [répertoires de travail](/docs/fr/permissions#working-directories), donc une invite de permission pour un chemin ne signifie pas que le chemin existe.358Claude Code statue sur la permission d'un appel Glob avant de vérifier si le répertoire de recherche existe. Il exécute quand même la vérification de la permission de lecture pour un `path` inexistant situé en dehors des [répertoires de travail](/docs/fr/permissions#working-directories) ; une demande de permission pour un chemin ne signifie donc pas que ce chemin existe.

359 359 

360Une valeur `pattern` ou `path` qui contient un octet nul retourne une erreur demandant à Claude de la supprimer.&#x20;360Une valeur `pattern` ou `path` contenant un octet nul renvoie une erreur demandant à Claude de supprimer cet octet nul.

361 361 

362<h2 id="grep-tool-behavior">362<h2 id="grep-tool-behavior">

363 Comportement de l'outil Grep363 Comportement de l'outil Grep


373 373 

374* `files_with_matches` : chemins de fichiers uniquement, pas de contenu de ligne. C'est la valeur par défaut.374* `files_with_matches` : chemins de fichiers uniquement, pas de contenu de ligne. C'est la valeur par défaut.

375* `content` : lignes correspondantes avec numéro de fichier et de ligne. Lorsque le paramètre `offset` de l'outil pointe au-delà de la dernière correspondance pour un motif qui a des correspondances, Grep retourne `No entries at this offset`, afin que Claude élargisse ou réinitialise l'offset au lieu de conclure que le motif ne correspond pas.375* `content` : lignes correspondantes avec numéro de fichier et de ligne. Lorsque le paramètre `offset` de l'outil pointe au-delà de la dernière correspondance pour un motif qui a des correspondances, Grep retourne `No entries at this offset`, afin que Claude élargisse ou réinitialise l'offset au lieu de conclure que le motif ne correspond pas.

376* `count` : nombre de correspondances par fichier, suivi d'un total sur tous les fichiers correspondants. Le total couvre chaque correspondance même lorsque les paramètres `head_limit` ou `offset` de l'outil tronquent les entrées par fichier listées. Avant la v2.1.208, le total ne sommait que les entrées listées.376* `count` : nombre de correspondances par fichier, suivi d'un total sur tous les fichiers correspondants. Le total couvre chaque correspondance même lorsque les paramètres `head_limit` ou `offset` de l'outil tronquent les entrées par fichier listées.

377 377 

378Claude peut limiter les résultats par fichier avec le paramètre `glob`, tel que `**/*.tsx`, ou par langage avec le paramètre `type`, tel que `py` ou `rust`. Par défaut, les motifs correspondent dans une seule ligne. Claude peut définir `multiline: true` pour correspondre à travers les limites de ligne.378Claude peut limiter les résultats par fichier avec le paramètre `glob`, tel que `**/*.tsx`, ou par langage avec le paramètre `type`, tel que `py` ou `rust`. Par défaut, les motifs correspondent dans une seule ligne. Claude peut définir `multiline: true` pour correspondre à travers les limites de ligne.

379 379 


536 Encodage Windows et codes de sortie536 Encodage Windows et codes de sortie

537</h3>537</h3>

538 538 

539Sous Windows, les comportements d'encodage PowerShell et de code de sortie suivants nécessitent Claude Code v2.1.214 ou version ultérieure :

540 

541* La redirection avec `>` et `>>` écrit des fichiers UTF-8 sur PowerShell 5.1539* La redirection avec `>` et `>>` écrit des fichiers UTF-8 sur PowerShell 5.1

542* Claude Code encode le texte acheminé vers l'entrée standard d'une commande native en UTF-8540* Claude Code encode le texte acheminé vers l'entrée standard d'une commande native en UTF-8

543* Claude Code capture la sortie d'erreur sans séquences d'échappement ANSI541* Claude Code capture la sortie d'erreur sans séquences d'échappement ANSI

544* Une commande dont le processus enfant attend sur l'entrée standard reçoit une fin de fichier au lieu de se bloquer542* Une commande dont le processus enfant attend sur l'entrée standard reçoit une fin de fichier au lieu de se bloquer

545* Le code de sortie 1 de `where.exe` signifie aucune correspondance, et de `fc.exe` et `diff.exe` signifie que les fichiers diffèrent, de sorte que lorsque la commande produit une sortie, Claude Code traite ce code de sortie comme une réponse négative valide plutôt qu'une erreur de commande. Claude Code signale toujours une forme silencieuse, telle que `where.exe /Q` ou une redirection vers `$null`, comme un échec au code de sortie 1543* Le code de sortie 1 de `where.exe` signifie aucune correspondance, et de `fc.exe` et `diff.exe` signifie que les fichiers diffèrent, de sorte que lorsque la commande produit une sortie, Claude Code traite ce code de sortie comme une réponse négative valide plutôt qu'une erreur de commande. Claude Code signale toujours une forme silencieuse, telle que `where.exe /Q` ou une redirection vers `$null`, comme un échec au code de sortie 1

546 544 

547Avant la v2.1.214, `>` sur PowerShell 5.1 écrivait des fichiers UTF-16LE, l'entrée acheminée non-ASCII arrivait sous la forme `?`, et les scripts Python pouvaient planter avec une `UnicodeEncodeError` lors de l'impression de caractères non-ASCII.

548 

549<h3 id="preview-limitations">545<h3 id="preview-limitations">

550 Limitations de l'aperçu546 Limitations de l'aperçu

551</h3>547</h3>


561 557 

562L'outil Read prend un chemin de fichier et retourne le contenu avec les numéros de ligne. Claude est configuré pour toujours passer des chemins absolus.558L'outil Read prend un chemin de fichier et retourne le contenu avec les numéros de ligne. Claude est configuré pour toujours passer des chemins absolus.

563 559 

564Lire un fichier vide retourne un avis que le fichier existe mais que son contenu est vide, et un `offset` au-delà de la dernière ligne retourne un avis donnant le nombre de lignes du fichier. Avant v2.1.208, lire un fichier vide retournait l'avis de fin de fichier à la place.560Lire un fichier vide retourne un avis que le fichier existe mais que son contenu est vide, et un `offset` au-delà de la dernière ligne retourne un avis donnant le nombre de lignes du fichier.

565 561 

566Read gère plusieurs types de fichiers au-delà du texte brut :562Read gère plusieurs types de fichiers au-delà du texte brut :

567 563 

568* **Images** : PNG, JPG et autres formats d'image sont retournés comme contenu visuel que Claude peut voir, pas comme des octets bruts. Claude Code redimensionne et récompresse les grandes images pour s'adapter aux limites de taille d'image du modèle avant de les envoyer, donc Claude peut voir une version réduite d'une grande capture d'écran. Une image qui est toujours plus grande que 500 KB après ce redimensionnement est réencodée en JPEG à qualité réduite avec ses dimensions en pixels inchangées. Si Claude manque des détails fins au niveau des pixels dans une grande image, demandez-lui de d'abord recadrer la région d'intérêt, par exemple avec ImageMagick via Bash.564* **Images** : les fichiers PNG, JPEG, GIF et WebP sont retournés comme contenu visuel que Claude peut voir, pas comme des octets bruts. Claude Code redimensionne et récompresse les grandes images pour s'adapter aux limites de taille d'image du modèle avant de les envoyer, donc Claude peut voir une version réduite d'une grande capture d'écran.

565 

566 Si Claude manque des détails fins au niveau des pixels dans une grande image, demandez-lui de recadrer la région qui vous intéresse, par exemple avec ImageMagick via Bash, puis de lire l'image recadrée.

569* **PDFs** : Claude lit les fichiers `.pdf` courts en entier. Pour les PDFs plus longs que 10 pages, il lit par plages avec un paramètre `pages`, tel que `"1-5"`, jusqu'à 20 pages à la fois. Les lectures par plage de pages restituent les pages avec `pdftoppm` de poppler-utils, donc installez-le avec `brew install poppler` sur macOS ou `apt-get install poppler-utils` sur Debian et Ubuntu. Sur Windows et autres plates-formes, installez une version poppler qui met `pdftoppm` sur votre `PATH`. Sans cela, une lecture par plage de pages échoue avec `pdftoppm is not installed`.567* **PDFs** : Claude lit les fichiers `.pdf` courts en entier. Pour les PDFs plus longs que 10 pages, il lit par plages avec un paramètre `pages`, tel que `"1-5"`, jusqu'à 20 pages à la fois. Les lectures par plage de pages restituent les pages avec `pdftoppm` de poppler-utils, donc installez-le avec `brew install poppler` sur macOS ou `apt-get install poppler-utils` sur Debian et Ubuntu. Sur Windows et autres plates-formes, installez une version poppler qui met `pdftoppm` sur votre `PATH`. Sans cela, une lecture par plage de pages échoue avec `pdftoppm is not installed`.

570* **Notebooks Jupyter** : les fichiers `.ipynb` retournent toutes les cellules avec leurs résultats, y compris le code, le markdown et les visualisations. Un notebook dont les cellules dépassent 256 KB, ou la [limite de tokens](#large-files), retourne une erreur à la place. Claude Code refuse de lire un fichier notebook de plus de 100 MB ; l'erreur indique à Claude comment lire une portion du notebook à la place, comme une tranche de cellules, avec une commande shell.568* **Notebooks Jupyter** : les fichiers `.ipynb` retournent toutes les cellules avec leurs résultats, y compris le code, le markdown et les visualisations. Un notebook dont les cellules dépassent 256 KB, ou la [limite de tokens](#large-files), retourne une erreur à la place. Claude Code refuse de lire un fichier notebook de plus de 100 MB ; l'erreur indique à Claude comment lire une portion du notebook à la place, comme une tranche de cellules, avec une commande shell.

571 569 

572Read lit uniquement les fichiers, pas les répertoires. Claude liste le contenu des répertoires avec une commande shell telle que `ls`.570Read lit uniquement les fichiers, pas les répertoires. Claude liste le contenu des répertoires avec une commande shell telle que `ls`.

573 571 

572Read refuse un fichier dont il considère l'extension comme binaire, telle que `.xlsx`, `.parquet`, `.heic` ou `.zip`. Claude continue de travailler après un refus : l'erreur suggère un skill pour ce type de fichier s'il en existe un, ou sinon une commande shell ou un script capable de lire ce format. Si vous [mentionnez avec `@`](/docs/fr/common-workflows#reference-files-and-directories) un fichier que Read refuse, Claude reçoit le chemin du fichier mais pas son contenu.

573 

574<h3 id="large-files">574<h3 id="large-files">

575 Fichiers volumineux575 Fichiers volumineux

576</h3>576</h3>


691* WebFetch met en cache chaque réponse pendant 15 minutes par défaut, donc les récupérations répétées de la même URL reviennent rapidement. Sur Claude Code v2.1.233 ou ultérieur, définissez [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/fr/env-vars#variables) pour modifier la durée pendant laquelle WebFetch conserve chaque réponse.691* WebFetch met en cache chaque réponse pendant 15 minutes par défaut, donc les récupérations répétées de la même URL reviennent rapidement. Sur Claude Code v2.1.233 ou ultérieur, définissez [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/fr/env-vars#variables) pour modifier la durée pendant laquelle WebFetch conserve chaque réponse.

692* Une page qui n'a pas terminé le téléchargement dans les cinq minutes, y compris les redirections que WebFetch suit, échoue avec une erreur de délai. Sur Claude Code v2.1.268 ou ultérieur, définissez [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/fr/env-vars#variables) pour modifier la limite, ou à `0` pour la supprimer.692* Une page qui n'a pas terminé le téléchargement dans les cinq minutes, y compris les redirections que WebFetch suit, échoue avec une erreur de délai. Sur Claude Code v2.1.268 ou ultérieur, définissez [`CLAUDE_CODE_WEBFETCH_DEADLINE_MS`](/docs/fr/env-vars#variables) pour modifier la limite, ou à `0` pour la supprimer.

693* Lorsqu'une URL redirige vers un hôte différent, WebFetch retourne un résultat texte qui nomme l'URL d'origine et la cible de redirection au lieu de la suivre. Claude récupère ensuite la nouvelle URL avec un deuxième appel WebFetch.693* Lorsqu'une URL redirige vers un hôte différent, WebFetch retourne un résultat texte qui nomme l'URL d'origine et la cible de redirection au lieu de la suivre. Claude récupère ensuite la nouvelle URL avec un deuxième appel WebFetch.

694* Lorsque l'étape d'extraction atteint une API surchargée, Claude Code la réessaie avec backoff ; une récupération qui échoue toujours retourne un résultat d'erreur. Avant v2.1.212, le texte d'erreur API pouvait atteindre Claude comme s'il s'agissait du contenu de la page extraite.694* Lorsque l'étape d'extraction atteint une API surchargée, Claude Code la réessaie avec backoff ; une récupération qui échoue toujours retourne un résultat d'erreur.

695 695 

696En modes Manual et `acceptEdits` [permission](/docs/fr/permission-modes), WebFetch demande avant de récupérer, sauf pour les domaines que vos [règles de permission](/docs/fr/permissions#manage-permissions) permettent ou refusent déjà et un ensemble intégré de domaines de documentation préapprouvés qui récupèrent sans invite. Quelles que soient les règles que vous autorisez, une récupération passe également d'abord la [vérification de sécurité du domaine WebFetch](/docs/fr/data-usage#webfetch-domain-safety-check) ; cette section couvre ce que la vérification envoie et le paramètre qui la contourne. L'invite offre trois options :696En modes Manual et `acceptEdits` [permission](/docs/fr/permission-modes), WebFetch demande avant de récupérer, sauf pour les domaines que vos [règles de permission](/docs/fr/permissions#manage-permissions) permettent ou refusent déjà et un ensemble intégré de domaines de documentation préapprouvés qui récupèrent sans invite. Quelles que soient les règles que vous autorisez, une récupération passe également d'abord la [vérification de sécurité du domaine WebFetch](/docs/fr/data-usage#webfetch-domain-safety-check) ; cette section couvre ce que la vérification envoie et le paramètre qui la contourne. L'invite offre trois options :

697 697 


727 727 

728L'outil peut émettre jusqu'à huit recherches backend par appel, en affinant la recherche en interne avant de retourner les résultats. Claude peut limiter les résultats avec `allowed_domains` pour inclure uniquement certains hôtes, ou `blocked_domains` pour les exclure. Les deux listes ne peuvent pas être combinées dans un seul appel.728L'outil peut émettre jusqu'à huit recherches backend par appel, en affinant la recherche en interne avant de retourner les résultats. Claude peut limiter les résultats avec `allowed_domains` pour inclure uniquement certains hôtes, ou `blocked_domains` pour les exclure. Les deux listes ne peuvent pas être combinées dans un seul appel.

729 729 

730Lorsque la requête de recherche atteint une API surchargée, Claude Code la réessaie avec backoff ; un appel qui échoue toujours retourne un résultat d'erreur. Avant la v2.1.212, le texte d'erreur de l'API pouvait atteindre Claude comme s'il s'agissait de résultats de recherche.730Lorsque la requête de recherche atteint une API surchargée, Claude Code la réessaie avec backoff ; un appel qui échoue toujours retourne un résultat d'erreur.

731 731 

732Les règles de permission WebSearch ne prennent pas de spécificateur. Une entrée `WebSearch` simple dans `allow` ou `deny` est la seule forme.732Les règles de permission WebSearch ne prennent pas de spécificateur. Une entrée `WebSearch` simple dans `allow` ou `deny` est la seule forme.

733 733 


741 Limite de recherche de session741 Limite de recherche de session

742</h3>742</h3>

743 743 

744Une session de terminal interactive est limitée à 200 appels WebSearch. Les recherches effectuées depuis la conversation principale et depuis les [sous-agents](/docs/fr/sub-agents), comme un fan-out de recherche parallèle, comptent dans la même limite. La limite nécessite Claude Code v2.1.212 ou ultérieur.744Une session de terminal interactive est limitée à 200 appels WebSearch. Les recherches effectuées depuis la conversation principale et depuis les [sous-agents](/docs/fr/sub-agents), comme un fan-out de recherche parallèle, comptent dans la même limite.

745 745 

746Lorsqu'une session a atteint la limite, les recherches apparaissent dans la conversation comme des appels qui n'ont rien fait. Claude reçoit un avis lui indiquant de continuer avec les informations qu'il a déjà rassemblées et, s'il a besoin de plus de recherches, de vous demander de relever la limite.746Lorsqu'une session a atteint la limite, les recherches apparaissent dans la conversation comme des appels qui n'ont rien fait. Claude reçoit un avis lui indiquant de continuer avec les informations qu'il a déjà rassemblées, de le signaler dans sa réponse et, s'il a besoin de plus de recherches, de vous demander de relever la limite.

747 747 

748Pour obtenir plus de recherches, relevez le plafond, attendez que la limite se recharge ou démarrez une nouvelle conversation :748Pour obtenir plus de recherches, relevez le plafond, attendez que la limite se recharge ou démarrez une nouvelle conversation :

749 749 

Details

15| Boucles de connexion, erreurs OAuth, `403 Forbidden`, « organisation désactivée », identifiants Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#login-and-authentication) |15| Boucles de connexion, erreurs OAuth, `403 Forbidden`, « organisation désactivée », identifiants Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry | [Dépanner l'installation et la connexion](/docs/fr/troubleshoot-install#login-and-authentication) |

16| Les paramètres ne s'appliquent pas, les hooks ne se déclenchent pas, les serveurs MCP ne se chargent pas | [Déboguer votre configuration](/docs/fr/debug-your-config) |16| Les paramètres ne s'appliquent pas, les hooks ne se déclenchent pas, les serveurs MCP ne se chargent pas | [Déboguer votre configuration](/docs/fr/debug-your-config) |

17| Session démarrée en mode auto, ou Claude modifie les fichiers et exécute les commandes sans demander | [Mode de démarrage d'une session](/docs/fr/permission-modes#which-mode-a-session-starts-in) |17| Session démarrée en mode auto, ou Claude modifie les fichiers et exécute les commandes sans demander | [Mode de démarrage d'une session](/docs/fr/permission-modes#which-mode-a-session-starts-in) |

18| Après la mise à jour de Claude Code ou de l'Agent SDK, les appels d'outils sont refusés dans `claude -p` ou dans les exécutions SDK qui ne passent pas `--permission-mode`, `permissionMode` ou `permission_mode` | [Appels d'outils refusés dans `claude -p` et les exécutions de l'Agent SDK](/docs/fr/permission-modes#which-mode-a-non-interactive-run-starts-in) |

18| `API Error: 5xx`, `529 Overloaded`, `429`, erreurs de validation de requête | [Référence des erreurs](/docs/fr/errors) |19| `API Error: 5xx`, `529 Overloaded`, `429`, erreurs de validation de requête | [Référence des erreurs](/docs/fr/errors) |

19| `model not found` ou `you may not have access to it` | [Référence des erreurs](/docs/fr/errors#theres-an-issue-with-the-selected-model) |20| `model not found` ou `you may not have access to it` | [Référence des erreurs](/docs/fr/errors#theres-an-issue-with-the-selected-model) |

20| Une commande que Claude exécute échoue avec `Your disk quota is full`, `is full (ENOSPC)`, ou `Command output was lost` | [Référence des erreurs](/docs/fr/errors#disk-quota-or-temp-filesystem-is-full) |21| Une commande que Claude exécute échoue avec `Your disk quota is full`, `is full (ENOSPC)`, ou `Command output was lost` | [Référence des erreurs](/docs/fr/errors#disk-quota-or-temp-filesystem-is-full) |

vs-code.md +25 −9

Details

268 268 

269Cliquez sur le bouton **Session history** en haut du panneau Claude Code pour accéder à l'historique de vos conversations. Vous pouvez rechercher par mot-clé ou parcourir par date.269Cliquez sur le bouton **Session history** en haut du panneau Claude Code pour accéder à l'historique de vos conversations. Vous pouvez rechercher par mot-clé ou parcourir par date.

270 270 

271Cliquez sur une conversation pour la reprendre avec l'historique complet des messages. Si la conversation est déjà ouverte dans un autre onglet de la fenêtre actuelle, cliquer dessus bascule vers cet onglet. Si les messages restent vides au début, consultez [pourquoi ils sont vides et quand ils apparaissent](#a-resumed-conversation-is-blank-at-first). Pour en savoir plus sur la reprise des sessions, consultez [Gérer les sessions](/docs/fr/sessions).271Cliquez sur une conversation pour la reprendre. Si la conversation est déjà ouverte dans un autre onglet de la fenêtre actuelle, cliquer dessus bascule vers cet onglet. Si la conversation s'ouvre sans afficher aucun message, consultez [pourquoi une conversation reprise est d'abord vide](#a-resumed-conversation-is-blank-at-first). Pour en savoir plus sur la reprise des sessions, consultez [Gérer les sessions](/docs/fr/sessions).

272 272 

273* **Titres des sessions** : les nouvelles sessions reçoivent des titres générés par l'IA à partir de votre premier message.273* **Titres des sessions** : les nouvelles sessions reçoivent des titres générés par l'IA à partir de votre premier message.

274* **Renommer et archiver** : survolez une session pour afficher ces actions. Renommez-la pour lui donner un titre descriptif, ou archivez-la pour la déplacer dans le groupe **Archived sessions** en bas de la liste.274* **Renommer et archiver** : survolez une session pour afficher ces actions. Renommez-la pour lui donner un titre descriptif, ou archivez-la pour la déplacer dans le groupe **Archived sessions** en bas de la liste.


414 414 

415Une ouverture n'aboutit pas lorsque le panneau plante ou cesse de répondre pendant le chargement de la conversation, ou lorsque vous rechargez ou fermez la fenêtre dans les trois secondes environ suivant son ouverture. La conversation reste inchangée et demeure dans l'[historique des sessions](#resume-past-conversations).415Une ouverture n'aboutit pas lorsque le panneau plante ou cesse de répondre pendant le chargement de la conversation, ou lorsque vous rechargez ou fermez la fenêtre dans les trois secondes environ suivant son ouverture. La conversation reste inchangée et demeure dans l'[historique des sessions](#resume-past-conversations).

416 416 

417* **Pour l'ouvrir quand même** : cliquez sur **Open it anyway** ou sélectionnez la conversation dans l'historique des sessions. Si elle s'ouvre et que le panneau continue de fonctionner, elle revient normalement lors des rechargements suivants. Si le panneau cesse à nouveau de répondre, rechargez la fenêtre pour revenir à un nouveau chat avec la notification.417* **Pour l'ouvrir quand même** : cliquez sur **Open it anyway** ou sélectionnez la conversation dans l'historique des sessions. Une fois l'ouverture de la conversation terminée, elle [revient normalement lors des rechargements suivants](#continue-conversations-after-a-reload).

418* **Si le panneau cesse de répondre pendant le chargement de la conversation** : rechargez la fenêtre. Un nouveau chat s'ouvre.

418* **Pour la laisser fermée** : continuez à travailler dans le nouveau chat. La notification disparaît dès que vous envoyez un prompt.419* **Pour la laisser fermée** : continuez à travailler dans le nouveau chat. La notification disparaît dès que vous envoyez un prompt.

419 420 

420<h3 id="run-multiple-conversations">421<h3 id="run-multiple-conversations">


556 Plugins qui dessinent dans le panneau557 Plugins qui dessinent dans le panneau

557</h3>558</h3>

558 559 

559Un plugin contenant un [mod](/docs/fr/plugins/mods/overview) peut dessiner dans le panneau de chat. Le dessin nécessite la version 2.1.299 ou ultérieure de l'extension et une session qui [récupère les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Un tel plugin peut vous afficher :560Un plugin contenant un [mod](/docs/fr/plugins/mods/overview) peut dessiner dans le panneau de chat. Le dessin nécessite la version 2.1.299 ou ultérieure de l'extension. Une session qui [ne récupère pas les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme une session sur Amazon Bedrock, nécessite la version 2.1.304 ou ultérieure. Un tel plugin peut vous afficher :

560 561 

561* Un volet à côté de la conversation ou au-dessus de la zone de prompt562* Un volet à côté de la conversation ou au-dessus de la zone de prompt

562* Une notification toast ou une barre de statut au-dessus de la zone de prompt563* Une notification toast ou une barre de statut au-dessus de la zone de prompt


624 625 

625Lorsqu'une commande ou un [sous-agent](/docs/fr/sub-agents) fait attendre Claude plus longtemps que vous ne le souhaitez, cliquez sur **Run in background** sous son appel d'outil dans la conversation. Nécessite Claude Code v2.1.287 ou une version ultérieure.626Lorsqu'une commande ou un [sous-agent](/docs/fr/sub-agents) fait attendre Claude plus longtemps que vous ne le souhaitez, cliquez sur **Run in background** sous son appel d'outil dans la conversation. Nécessite Claude Code v2.1.287 ou une version ultérieure.

626 627 

627* **Moment d'apparition** : l'action apparaît dès qu'une commande s'exécute depuis environ deux secondes, ou dès qu'un sous-agent démarre.628* **Moment d'apparition** : l'action apparaît dès qu'une commande s'exécute depuis environ deux secondes, ou dès que Claude commence à attendre un [sous-agent](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) qu'il a lancé depuis la conversation principale.

628* **Après le clic** : Claude cesse d'attendre et poursuit le tour. La commande ou le sous-agent continue de s'exécuter en tant que [tâche en arrière-plan](/docs/fr/tools-reference#background-commands) qui avertit Claude une fois terminée.629* **Après le clic** : Claude cesse d'attendre et poursuit le tour. La commande ou le sous-agent continue de s'exécuter en tant que [tâche en arrière-plan](/docs/fr/tools-reference#background-commands) qui avertit Claude une fois terminée.

629 630 

630Pour suivre la tâche ou l'arrêter entre-temps, tapez `/tasks` dans la zone de prompt afin d'ouvrir la [carte des agents](#use-the-prompt-box). Un sous-agent y conserve sa place dans l'arborescence des agents, et une commande est répertoriée sous les agents avec sa [dernière sortie sur sa fiche](#monitor-background-processes).631Pour suivre la tâche ou l'arrêter entre-temps, tapez `/tasks` dans la zone de prompt afin d'ouvrir la [carte des agents](#use-the-prompt-box). Un sous-agent y conserve sa place dans l'arborescence des agents, et une commande est répertoriée sous les agents avec sa [dernière sortie sur sa fiche](#monitor-background-processes).

631 632 

633<h4 id="the-run-in-background-action-is-missing-under-a-subagent">

634 L'action Run in background est absente sous un sous-agent

635</h4>

636 

637Par défaut dans VS Code, les sous-agents n'affichent pas cette action. Pour en connaître la raison pour un sous-agent donné, ouvrez sa fiche dans la [carte des agents](#use-the-prompt-box) et lisez la ligne `Spawned by` :

638 

639* **`Spawned by the main agent`** : le sous-agent a démarré en arrière-plan, Claude ne l'attend donc pas et vous n'avez rien à faire. Pour que Claude attende plutôt les sous-agents, consultez [Laisser Claude attendre un sous-agent](/docs/fr/sub-agents#let-claude-wait-for-a-subagent).

640* **`Spawned by` nomme un autre sous-agent** : l'action n'apparaît que pour les sous-agents lancés par l'agent principal, et non pour un [sous-agent imbriqué](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) qu'un autre sous-agent attend. Pour mettre fin prématurément au sous-agent imbriqué, cliquez sur **Stop agent** sur sa fiche. Le sous-agent en attente poursuit alors sans ce résultat.

641 

632<h3 id="monitor-background-processes">642<h3 id="monitor-background-processes">

633 Surveiller les processus en arrière-plan643 Surveiller les processus en arrière-plan

634</h3>644</h3>


1028 1038 

1029Si une formule s'affiche telle qu'écrite alors que d'autres à proximité sont mises en forme, vérifiez les causes suivantes :1039Si une formule s'affiche telle qu'écrite alors que d'autres à proximité sont mises en forme, vérifiez les causes suivantes :

1030 1040 

1031* **Elle se lit comme autre chose que des mathématiques** : un texte `$…$` qui se lit comme un mot reste tel qu'écrit, par exemple `$O(n log n)$`. Un texte `$…$` qui commence par un chiffre, tel que `$30$` ou `$1/N$`, reste également tel qu'écrit, sauf si un caractère tel que `=`, `+` ou `^` l'identifie comme des mathématiques. Demandez plutôt à Claude un bloc `$$` sur ses propres lignes, que le panneau met en forme sans cette vérification.1041* **La formule est en ligne et le panneau ne la traite pas comme des mathématiques** : demandez à Claude de la renvoyer sous forme de bloc `$$` sur ses propres lignes. Le panneau laisse une formule en ligne telle qu'écrite lorsque le texte entre ses délimiteurs `$…$` :

1032* **Elle contient des espaces, est longue ou est répartie sur plusieurs lignes** : `$ x^2 $` avec des espaces à l'intérieur des dollars, un contenu `$…$` de plus de 60 caractères, et un `$…$` ou `\(…\)` réparti sur deux lignes ne sont pas mis en forme. Demandez plutôt à Claude un bloc `$$` sur ses propres lignes, qui n'a aucune de ces limites.1042 * Va au-delà de l'arithmétique simple sans pourtant contenir de caractère tel que `=`, `+` ou `^` qui l'identifie comme des mathématiques, comme dans `$O(n log n)$`

1033* **Le TeX ne peut pas être mis en forme** : une formule contenant une erreur de syntaxe, une définition de macro telle que `\newcommand` ou `\def`, ou un `%` non échappé s'affiche telle qu'écrite. Demandez à Claude de la réécrire en corrigeant l'erreur, sans la macro, ou avec `\%` pour le signe pourcentage.1043 * Commence par un chiffre et ne contient aucun caractère de ce type, comme dans `$30$` et `$1/N$`

1034* **Elle est trop volumineuse** : une formule de plus de 8 192 caractères, ou une formule dont le rendu serait bien plus grand que sa source, s'affiche telle qu'écrite. Demandez à Claude de la diviser en formules plus petites ou de l'écrire de manière plus compacte.1044 * Contient des espaces à l'intérieur des signes dollar, comme dans `$ x^2 $`

1035* **Elle suit une grande quantité de mathématiques** : au sein d'un même bloc de texte d'une réponse, le panneau met en forme les formules dans l'ordre jusqu'à une limite. Une formule ultérieure qui dépasserait cette limite s'affiche telle qu'écrite. Demandez à Claude de renvoyer seule la formule dont vous avez besoin.1045 * Dépasse 60 caractères

1046 * Est réparti sur deux lignes. Une formule `\(…\)` répartie sur deux lignes n'est pas non plus mise en forme.

1047* **La formule contient une erreur de syntaxe TeX** : demandez à Claude de la réécrire en corrigeant l'erreur.

1048* **La formule définit une macro** : une formule contenant une définition de macro telle que `\newcommand` ou `\def` s'affiche telle qu'écrite. Demandez à Claude de la réécrire sans la macro.

1049* **La formule contient un `%` non échappé** : demandez à Claude de la réécrire avec `\%` pour le signe pourcentage.

1050* **La formule est trop volumineuse** : une formule de plus de 8 192 caractères, ou une formule dont le rendu serait bien plus grand que sa source TeX, s'affiche telle qu'écrite. Demandez à Claude de la diviser en formules plus petites ou de l'écrire de manière plus compacte.

1051* **La formule suit une grande quantité de mathématiques** : au sein d'un même bloc de texte d'une réponse, le panneau met en forme les formules dans l'ordre jusqu'à une limite. Une formule ultérieure qui dépasserait cette limite s'affiche telle qu'écrite. Demandez à Claude de renvoyer seule la formule dont vous avez besoin.

1036 1052 

1037<h3 id="claude-code-never-responds">1053<h3 id="claude-code-never-responds">

1038 Claude Code ne répond jamais1054 Claude Code ne répond jamais

Details

78 <p className="digest-wins-title">Autres améliorations</p>78 <p className="digest-wins-title">Autres améliorations</p>

79 79 

80 <div className="digest-wins-grid">80 <div className="digest-wins-grid">

81 <div><code>claude agents</code> a acquis des drapeaux de dispatch (<code>--add-dir</code>, <code>--settings</code>, <code>--mcp-config</code>, <code>--plugin-dir</code>, <code>--permission-mode</code>, <code>--model</code>, <code>--effort</code>, <code>--dangerously-skip-permissions</code>) pour configurer les sessions en arrière-plan, et <code>claude agents --cwd \<path></code> limite la liste des sessions à un répertoire</div>81 <div><code>claude agents</code> a acquis des drapeaux de dispatch (`--add-dir`, `--settings`, `--mcp-config`, `--plugin-dir`, `--permission-mode`, `--model`, `--effort`, `--dangerously-skip-permissions`) pour configurer les sessions en arrière-plan, et `claude agents --cwd <path>` limite la liste des sessions à un répertoire</div>

82 <div>Nouveau hook <code>args: string\[]</code> la forme exec lance la commande directement sans shell, donc les espaces réservés de chemin n'ont jamais besoin de guillemets</div>82 <div>Nouveau hook <code>args: string\[]</code> la forme exec lance la commande directement sans shell, donc les espaces réservés de chemin n'ont jamais besoin de guillemets</div>

83 <div>Nouvelle option de configuration <code>continueOnBlock</code> pour les hooks <code>PostToolUse</code> renvoie la raison du rejet du hook à Claude et continue le tour au lieu de le terminer</div>83 <div>Nouvelle option de configuration <code>continueOnBlock</code> pour les hooks <code>PostToolUse</code> renvoie la raison du rejet du hook à Claude et continue le tour au lieu de le terminer</div>

84 <div>Nouveau champ <code>terminalSequence</code> dans la sortie JSON du hook permet aux hooks d'émettre des notifications de bureau, des titres de fenêtre, et des cloches sans terminal de contrôle</div>84 <div>Nouveau champ <code>terminalSequence</code> dans la sortie JSON du hook permet aux hooks d'émettre des notifications de bureau, des titres de fenêtre, et des cloches sans terminal de contrôle</div>

workflows.md +0 −4

Details

153* un prompt de tâche planifiée153* un prompt de tâche planifiée

154* une charge utile webhook ou un commentaire de pull request relayé dans la conversation154* une charge utile webhook ou un commentaire de pull request relayé dans la conversation

155 155 

156<Note>

157 Avant la v2.1.210, le mot clé démarrait un workflow à partir de n'importe lequel de ces itinéraires également, y compris une charge utile webhook ou un commentaire de pull request relayé dans la conversation.

158</Note>

159 

160<h3 id="let-claude-decide-with-ultracode">156<h3 id="let-claude-decide-with-ultracode">

161 Laisser Claude décider avec ultracode157 Laisser Claude décider avec ultracode

162</h3>158</h3>

worktrees.md +6 −3

Details

9Un [git worktree](https://git-scm.com/docs/git-worktree) est un répertoire de travail séparé avec ses propres fichiers et branche, partageant le même historique de dépôt et le même dépôt distant que votre extraction principale. Exécuter chaque session Claude Code dans son propre worktree lui donne une copie séparée des fichiers à modifier, de sorte qu'une session peut développer une fonctionnalité pendant qu'une seconde corrige un bug.9Un [git worktree](https://git-scm.com/docs/git-worktree) est un répertoire de travail séparé avec ses propres fichiers et branche, partageant le même historique de dépôt et le même dépôt distant que votre extraction principale. Exécuter chaque session Claude Code dans son propre worktree lui donne une copie séparée des fichiers à modifier, de sorte qu'une session peut développer une fonctionnalité pendant qu'une seconde corrige un bug.

10 10 

11<Note>11<Note>

12 Les worktrees nécessitent un dépôt git ; pour les autres systèmes de contrôle de version, [configurez des hooks pour remplacer la logique git](#non-git-version-control). Dans l'[application de bureau](/docs/fr/desktop#work-in-parallel-with-sessions), sélectionnez l'option **worktree** quand vous démarrez une session pour lui donner son propre worktree.12 Si vous utilisez un autre système de contrôle de version ou l'application de bureau, suivez les instructions correspondant à votre configuration :

13 

14 * **Autres systèmes de contrôle de version** : les worktrees nécessitent un dépôt git ; [configurez des hooks pour remplacer la logique git](#non-git-version-control)

15 * **Application de bureau** : voir [Exécuter une session dans son propre worktree](/docs/fr/desktop#run-a-session-in-its-own-worktree)

13</Note>16</Note>

14 17 

15Les worktrees sont l'une des plusieurs façons d'exécuter Claude en parallèle. Ils isolent les modifications de fichiers. Les [subagents](/docs/fr/sub-agents) divisent le travail à l'intérieur d'une session, et la [messagerie entre sessions](/docs/fr/cross-session-messaging) permet à Claude de transmettre les résultats entre les sessions dans vos worktrees. Voir [Exécuter les agents en parallèle](/docs/fr/agents) pour comparer les approches, ou passez directement à [Isoler les subagents avec worktrees](#isolate-subagents-with-worktrees) pour utiliser les worktrees et les subagents ensemble.18Les worktrees sont l'une des plusieurs façons d'exécuter Claude en parallèle. Ils isolent les modifications de fichiers. Les [subagents](/docs/fr/sub-agents) divisent le travail à l'intérieur d'une session, et la [messagerie entre sessions](/docs/fr/cross-session-messaging) permet à Claude de transmettre les résultats entre les sessions dans vos worktrees. Voir [Exécuter les agents en parallèle](/docs/fr/agents) pour comparer les approches, ou passez directement à [Isoler les subagents avec worktrees](#isolate-subagents-with-worktrees) pour utiliser les worktrees et les subagents ensemble.


270 273 

271Tous ces éléments s'appliquent que vous créiez le worktree avec `--worktree` ou avec `git worktree add`.274Tous ces éléments s'appliquent que vous créiez le worktree avec `--worktree` ou avec `git worktree add`.

272 275 

273Dans une session worktree que vous démarrez depuis l'[application de bureau](/docs/fr/desktop#work-in-parallel-with-sessions), Claude Code lit la configuration du projet, comme les paramètres, les hooks, les skills, les agents, les commandes et les serveurs [`.mcp.json`](/docs/fr/mcp#project-scope), depuis la racine de l'extraction principale plutôt que depuis le worktree. Les commandes des hooks s'exécutent dans cette racine, et `${CLAUDE_PROJECT_DIR}` pointe vers elle. Pour accéder aux fichiers sur lesquels Claude travaille, lisez le chemin du worktree depuis le [champ d'entrée `cwd`](/docs/fr/hooks#common-input-fields) du hook. Les fichiers `CLAUDE.md` et `.claude/rules/` se chargent toujours depuis le worktree.276Dans une session worktree que vous démarrez depuis l'[application de bureau](/docs/fr/desktop#run-a-session-in-its-own-worktree), Claude Code lit la configuration du projet, comme les paramètres, les hooks, les skills, les agents, les commandes et les serveurs [`.mcp.json`](/docs/fr/mcp#project-scope), depuis la racine de l'extraction principale. Les commandes des hooks s'exécutent dans cette racine, et `${CLAUDE_PROJECT_DIR}` pointe vers elle. Pour accéder aux fichiers sur lesquels Claude travaille, lisez le chemin du worktree depuis le [champ d'entrée `cwd`](/docs/fr/hooks#common-input-fields) du hook. Les fichiers `CLAUDE.md` et `.claude/rules/` se chargent toujours depuis le worktree.

274 277 

275<h2 id="manage-worktrees-manually">278<h2 id="manage-worktrees-manually">

276 Gérer les worktrees manuellement279 Gérer les worktrees manuellement


434* [Messagerie entre sessions](/docs/fr/cross-session-messaging) : laisser les sessions dans vos worktrees se transmettre les résultats437* [Messagerie entre sessions](/docs/fr/cross-session-messaging) : laisser les sessions dans vos worktrees se transmettre les résultats

435* [Équipes d'agents](/docs/fr/agent-teams) : coordonner plusieurs sessions Claude automatiquement438* [Équipes d'agents](/docs/fr/agent-teams) : coordonner plusieurs sessions Claude automatiquement

436* [Gérer les sessions](/docs/fr/sessions) : nommer, reprendre et basculer entre les conversations439* [Gérer les sessions](/docs/fr/sessions) : nommer, reprendre et basculer entre les conversations

437* [Sessions parallèles de bureau](/docs/fr/desktop#work-in-parallel-with-sessions) : sessions soutenues par worktree dans l'application de bureau440* [Exécuter une session de bureau dans son propre worktree](/docs/fr/desktop#run-a-session-in-its-own-worktree) : sessions soutenues par worktree dans l'application de bureau