SpyBara
Go Premium

Documentation 2026-11-12 23:02 UTC to 2026-11-13 23:02 UTC

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

117 --network none \117 --network none \

118 --memory 2g \118 --memory 2g \

119 --cpus 2 \119 --cpus 2 \

120 --pids-limit 100 \120 --pids-limit 600 \

121 --user 1000:1000 \121 --user 1000:1000 \

122 -v /path/to/code:/workspace:ro \122 -v /path/to/code:/workspace:ro \

123 -v /var/run/proxy.sock:/var/run/proxy.sock:ro \123 -v /var/run/proxy.sock:/var/run/proxy.sock:ro \


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

136| `--network none` | Coupe le conteneur des réseaux externes |136| `--network none` | Coupe le conteneur des réseaux externes |

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

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

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

140| `-v ...:/workspace:ro` | Monte le code en lecture seule afin que l'agent puisse l'analyser mais pas le modifier. **Évitez de monter les répertoires d'hôte sensibles comme `~/.ssh`, `~/.aws` ou `~/.config`** |140| `-v ...:/workspace:ro` | Monte le code en lecture seule afin que l'agent puisse l'analyser mais pas le modifier. **Évitez de monter les répertoires d'hôte sensibles comme `~/.ssh`, `~/.aws` ou `~/.config`** |

141| `-v .../proxy.sock:...` | Monte une prise Unix connectée à un proxy s'exécutant en dehors du conteneur (voir ci-dessous) |141| `-v .../proxy.sock:...` | Monte une prise Unix connectée à un proxy s'exécutant en dehors du conteneur (voir ci-dessous) |

Details

104| `options` | [`Options`](#options) | Objet de configuration optionnel. Identique au paramètre `options` de `query()` |104| `options` | [`Options`](#options) | Objet de configuration optionnel. Identique au paramètre `options` de `query()` |

105| `initializeTimeoutMs` | `number` | Temps maximum en millisecondes à attendre pour l'initialisation du sous-processus. Par défaut `60000`. Si l'initialisation ne se termine pas à temps, la promesse est rejetée avec une erreur de délai d'expiration |105| `initializeTimeoutMs` | `number` | Temps maximum en millisecondes à attendre pour l'initialisation du sous-processus. Par défaut `60000`. Si l'initialisation ne se termine pas à temps, la promesse est rejetée avec une erreur de délai d'expiration |

106 106 

107Les [hooks de commande](https://code.claude.com/docs/fr/hooks.md#command-hook-fields) [SessionStart](https://code.claude.com/docs/fr/hooks.md#sessionstart) et [Setup](https://code.claude.com/docs/fr/hooks.md#setup) lents ne bénéficient de temps supplémentaire que lorsque `initializeTimeoutMs` n'est pas défini :

108 

109* **Si vous le laissez non défini :** le temps que ces hooks passent à s'exécuter n'est pas comptabilisé dans la valeur par défaut de 60 secondes, dans la limite de 10 minutes au total, de sorte que l'initialisation peut prendre 11 minutes au maximum.

110* **Si vous définissez une valeur, y compris `60000` :** cette valeur constitue la limite, même pendant l'exécution d'un hook.

111 

112Le temps supplémentaire nécessite TypeScript Agent SDK v0.3.304 ou ultérieur.

113 

107#### Retours114#### Retours

108 115 

109Retourne une `Promise<`[`WarmQuery`](#warmquery)`>` qui se résout une fois que le sous-processus a été généré et a complété sa poignée de main d'initialisation.116Retourne une `Promise<`[`WarmQuery`](#warmquery)`>` qui se résout une fois que le sous-processus a été généré et a complété sa poignée de main d'initialisation.


128 135 

129### `prewarm()`136### `prewarm()`

130 137 

131*Alpha.* Démarre un processus Claude Code en tant que spare avant de savoir quelle session il servira, de sorte que vous puissiez le lier à une session plus tard avec [`claim()`](#spareprocess). Utilisez-le dans une application qui démarre avant que l'utilisateur ne choisisse un dossier. Nécessite TypeScript Agent SDK v0.3.282 ou ultérieur.138*Alpha.* Démarre un processus Claude Code en tant que spare avant de savoir quelle session il servira, de sorte que vous puissiez le lier à une session plus tard avec [`claim()`](#spareprocess). Nécessite TypeScript Agent SDK v0.3.282 ou ultérieur.

132 139 

133`prewarm()` complète la même poignée de main d'initialisation que [`startup()`](#startup), avec le processus en attente dans `options.cwd` quand vous le définissez et sinon dans un répertoire temporaire privé sous votre répertoire de configuration Claude Code. Le répertoire de travail de la session, ses hooks `SessionStart`, ses serveurs MCP stdio, et son contexte CLAUDE.md et git attendent la réclamation. Un spare occupe environ 230 à 260 Mo de mémoire en attente. Si votre [`spawnClaudeCodeProcess`](#options) exécute Claude Code sur une autre machine ou dans un conteneur, définissez `options.cwd` sur un répertoire qui existe là-bas pour que le spare attende.140Utilisez `prewarm()` lorsque votre application démarre avant que l'utilisateur ne choisisse un dossier.

134 141 

135```typescript theme={null}142```typescript theme={null}

136function prewarm(params?: {143function prewarm(params?: {


139}): Promise<SpareProcess>;146}): Promise<SpareProcess>;

140```147```

141 148 

142`options` et `initializeTimeoutMs` signifient la même chose que pour `startup()`, sauf que `options.cwd` définit uniquement le répertoire dans lequel le spare attend. La promesse se résout avec un [`SpareProcess`](#spareprocess) une fois que le processus a complété sa poignée de main d'initialisation. `prewarm()` lève une exception si `options` définit `resume`, `continue`, ou `forkSession`, car un spare n'a pas encore de session. Tout ce qu'une réclamation ne peut pas définir, comme `mcpServers`, `hooks`, `canUseTool`, `settingSources`, `systemPrompt`, et `plugins`, est fixé pour la durée de vie du spare, donc gardez un spare par ensemble distinct de ces options et préchauffez à nouveau quand ils changent.149#### Paramètres

150 

151| Paramètre | Type | Description |

152| :- | :- | :- |

153| `options` | [`Options`](#options) | Objet de configuration optionnel, du même type que celui accepté par `startup()` |

154| `initializeTimeoutMs` | `number` | Temps maximum en millisecondes à attendre pour l'initialisation du spare. Par défaut `60000`. Si l'initialisation ne se termine pas à temps, la promesse est rejetée avec une erreur de délai d'expiration |

155 

156`prewarm()` comptabilise le temps passé dans les hooks [Setup](https://code.claude.com/docs/fr/hooks.md#setup) dans `initializeTimeoutMs`, même si vous le laissez non défini. Pour accorder plus de temps aux hooks Setup lents, définissez une valeur plus élevée.

157 

158#### Retours

159 

160Retourne une `Promise<`[`SpareProcess`](#spareprocess)`>` qui se résout une fois que le spare est prêt à être réclamé.

161 

162La promesse est rejetée si vous demandez `resume`, `continue` ou `forkSession` dans `options`, car un spare n'a pas encore de session.

163 

164#### Fonctionnement d'un spare

165 

166* **Où un spare attend :** dans un répertoire temporaire privé sous votre répertoire de configuration Claude Code, ou dans `options.cwd` si vous le définissez dans `prewarm()`.

167* **Si votre [`spawnClaudeCodeProcess`](#options) exécute Claude Code sur une autre machine ou dans un conteneur :** passez à `prewarm()` un `options.cwd` qui existe à cet endroit, car le répertoire temporaire par défaut est créé sur votre machine.

168* **Mémoire :** chaque spare utilise environ 230 à 260 Mo pendant son attente.

169* **Ce qui n'a lieu qu'une fois que vous appelez `claim()` :**

170 * Le passage au répertoire de travail que vous transmettez à `claim()`

171 * L'exécution des hooks SessionStart

172 * Le démarrage des serveurs MCP stdio

173 * Le chargement de CLAUDE.md et du contexte git

174* **Ce qu'une réclamation ne peut pas modifier :** les options telles que `mcpServers`, `hooks`, `canUseTool`, `settingSources` et `plugins` conservent leurs valeurs de `prewarm()`. [`SpareProcess`](#spareprocess) répertorie ce qu'une réclamation peut définir.

175* **Si des sessions nécessitent des valeurs différentes pour ces options :** conservez un spare distinct pour chaque ensemble de valeurs.

143 176 

144#### Exemple177#### Exemple

145 178 

agent-view.md +5 −3

Details

8 8 

9La vue agent, ouverte avec `claude agents`, est un seul écran pour toutes vos sessions en arrière-plan : ce qui s'exécute, ce qui a besoin de votre intervention, et ce qui est terminé. Lancez de nouvelles sessions, observez leur état en un coup d'œil au lieu de faire défiler les transcriptions, et intervenez uniquement quand l'une d'elles a besoin de vous. Chaque session en arrière-plan est une conversation Claude Code complète qui continue de s'exécuter sans terminal attaché, vous pouvez donc l'ouvrir, répondre et partir quand vous le souhaitez.9La vue agent, ouverte avec `claude agents`, est un seul écran pour toutes vos sessions en arrière-plan : ce qui s'exécute, ce qui a besoin de votre intervention, et ce qui est terminé. Lancez de nouvelles sessions, observez leur état en un coup d'œil au lieu de faire défiler les transcriptions, et intervenez uniquement quand l'une d'elles a besoin de vous. Chaque session en arrière-plan est une conversation Claude Code complète qui continue de s'exécuter sans terminal attaché, vous pouvez donc l'ouvrir, répondre et partir quand vous le souhaitez.

10 10 

11![Vue agent dans un terminal. Une ligne en haut compte les sessions en attente d'entrée, en cours de travail et terminées. Quatre sessions sont regroupées sous Nécessite une intervention, En cours d'exécution et Terminé. Chaque ligne affiche le nom de la session, son dernier statut ou sa dernière question, et une heure. En bas se trouvent une entrée pour décrire une nouvelle tâche et une ligne d'indices de clavier.](https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/agent-view-light.png?fit=max\&auto=format\&n=HDAmBwgbrZVk0pOt\&q=85\&s=d6905012bee31f3e6b3920b09c05dd02)11![Vue agent dans un terminal. Une ligne en haut compte les sessions en attente d'entrée, en cours de travail et terminées. Quatre sessions sont regroupées sous Nécessite une intervention, En cours d'exécution et Terminé. Chaque ligne affiche le nom de la session, son dernier statut ou sa dernière question, et une heure. En bas se trouvent une entrée pour décrire une nouvelle tâche et une ligne d'indices de clavier.](https://mintcdn.com/claude-code/v_J840yKc6uuKDX_/images/agent-view-light.png?fit=max\&auto=format\&n=v_J840yKc6uuKDX_\&q=85\&s=bd95fda83ea66ca8b2e0e7b68f8cb29e)

12 12 

13Utilisez la vue agent quand vous avez plusieurs tâches indépendantes sur lesquelles Claude peut travailler sans que vous regardiez chaque étape. Lancez une correction de bug, un examen de pull request et une enquête sur un test instable sous forme de trois lignes, continuez à travailler dans une autre fenêtre et vérifiez quand une ligne indique qu'elle a besoin de vous ou qu'elle a un résultat.13Utilisez la vue agent quand vous avez plusieurs tâches indépendantes sur lesquelles Claude peut travailler sans que vous regardiez chaque étape. Lancez une correction de bug, un examen de pull request et une enquête sur un test instable sous forme de trois lignes, continuez à travailler dans une autre fenêtre et vérifiez quand une ligne indique qu'elle a besoin de vous ou qu'elle a un résultat.

14 14 


628 628 

629* La vue des agents le supprime, y compris les modifications non commitées ; créez donc d'abord un commit de ce que vous voulez conserver.629* La vue des agents le supprime, y compris les modifications non commitées ; créez donc d'abord un commit de ce que vous voulez conserver.

630* `claude rm` le conserve, ainsi que la ligne de la session, lorsqu'il contient des modifications non commitées.630* `claude rm` le conserve, ainsi que la ligne de la session, lorsqu'il contient des modifications non commitées.

631* Ni la vue des agents ni `claude rm` ne suppriment un worktree qu'une autre session en cours utilise ou a verrouillé, et supprimer à nouveau n'y change rien. Claude Code conserve le worktree et la session, et nomme le répertoire conservé ainsi que la raison ; dans la vue des agents, la ligne de la session affiche `not deleted`. Fermez l'autre session, puis supprimez à nouveau.631* Ni la vue des agents ni `claude rm` ne suppriment un worktree qu'une autre session en cours utilise ou a verrouillé, et supprimer à nouveau n'y change rien. Claude Code conserve le worktree et la session, et nomme le répertoire conservé ainsi que la raison ; dans la vue des agents, la ligne de la session affiche `not removed`. Fermez l'autre session, puis supprimez à nouveau.

632* Lorsque vous supprimez une session dont le worktree contient des commits dont Claude Code ne peut pas confirmer qu'ils sont sauvegardés ailleurs, Claude Code conserve le worktree et la session, et le message nomme la branche du worktree et le nombre de commits non poussés. Le message propose également les deux façons de procéder : pousser les commits, ou supprimer à nouveau pour les abandonner.632* Lorsque vous supprimez une session dont le worktree contient des commits dont Claude Code ne peut pas confirmer qu'ils sont sauvegardés ailleurs, Claude Code conserve le worktree et la session, et le message nomme la branche du worktree et le nombre de commits non poussés. Le message propose également les deux façons de procéder : pousser les commits, ou supprimer à nouveau pour les abandonner.

633 633 

634 Les commits présents sur un remote ne bloquent pas la suppression. Les commits présents sur la copie locale de la branche par défaut de votre remote `origin` non plus, tant que cette branche est extraite dans votre copie de travail principale, c'est-à-dire le répertoire du dépôt lui-même plutôt qu'un worktree.634 Les commits présents sur un remote ne bloquent pas la suppression. Les commits présents sur la copie locale de la branche par défaut de votre remote `origin` non plus, tant que cette branche est extraite dans votre copie de travail principale, c'est-à-dire le répertoire du dépôt lui-même plutôt qu'un worktree.


935L'arrêt ou le redémarrage de votre machine arrête les sessions en arrière-plan en cours d'exécution. Une session qui attendait votre entrée reste sous `Needs input` quand vous revenez. Pour toute autre session en cours d'exécution, ce que la vue agent affiche dépend de la durée depuis laquelle elle a fait des progrès :935L'arrêt ou le redémarrage de votre machine arrête les sessions en arrière-plan en cours d'exécution. Une session qui attendait votre entrée reste sous `Needs input` quand vous revenez. Pour toute autre session en cours d'exécution, ce que la vue agent affiche dépend de la durée depuis laquelle elle a fait des progrès :

936 936 

937* Dans les 48 heures, la session s'affiche comme échouée. Attachez-la ou répondez-lui et elle redémarre à partir de sa conversation enregistrée. Pour reprendre le travail interrompu, envoyez-lui une réponse lui demandant de continuer.937* Dans les 48 heures, la session s'affiche comme échouée. Attachez-la ou répondez-lui et elle redémarre à partir de sa conversation enregistrée. Pour reprendre le travail interrompu, envoyez-lui une réponse lui demandant de continuer.

938* Après 48 heures, par exemple après que la machine a été éteinte pendant des jours, la session s'affiche comme arrêtée avec `ended while the background service was off`. Appuyez sur `Enter` sur la ligne et le pied de page affiche `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to delete it.` Appuyez sur `Enter` sur la même ligne à nouveau pour reprendre sa conversation enregistrée. Une réponse ou `claude attach <id>` la reprend sans ce message de pied de page.938* Après 48 heures, par exemple après que la machine a été éteinte pendant des jours, la session s'affiche comme arrêtée avec `ended while the background service was off`.

939 

940 Appuyez sur `Enter` sur la ligne et le pied de page affiche `Press enter again to resume this session (it ended while the background service was off), or ctrl+x to remove it.` Appuyez sur `Enter` sur la même ligne à nouveau pour reprendre sa conversation enregistrée. Une réponse ou `claude attach <id>` la reprend sans ce message de pied de page.

939 941 

940Quand le [nettoyage des transcriptions](https://code.claude.com/docs/fr/settings-reference.md#cleanupperioddays) a supprimé la conversation enregistrée d'une session arrêtée, Claude Code refuse d'ouvrir la ligne : le message dit qu'il n'y a rien à reprendre. `claude rm <id>` supprime la ligne, sauf dans les [cas conservés](#what-deleting-a-session-removes) décrits ci-dessus, et `claude respawn <id>` exécute à nouveau son prompt d'origine. Consultez [This session's saved conversation is no longer on disk](https://code.claude.com/docs/fr/errors.md#this-sessions-saved-conversation-is-no-longer-on-disk).942Quand le [nettoyage des transcriptions](https://code.claude.com/docs/fr/settings-reference.md#cleanupperioddays) a supprimé la conversation enregistrée d'une session arrêtée, Claude Code refuse d'ouvrir la ligne : le message dit qu'il n'y a rien à reprendre. `claude rm <id>` supprime la ligne, sauf dans les [cas conservés](#what-deleting-a-session-removes) décrits ci-dessus, et `claude respawn <id>` exécute à nouveau son prompt d'origine. Consultez [This session's saved conversation is no longer on disk](https://code.claude.com/docs/fr/errors.md#this-sessions-saved-conversation-is-no-longer-on-disk).

941 943 

Details

349 349 

350### Lorsqu'un modèle est désactivé en cours de session350### Lorsqu'un modèle est désactivé en cours de session

351 351 

352Si 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.352Lorsqu'Amazon Bedrock rejette le modèle de votre session comme indisponible pour votre compte, Claude Code bascule votre session vers un autre modèle, et vous pouvez continuer à travailler. Vous voyez un message qui commence par `Switched to <fallback> because <model> is not available`. Cela se produit, par exemple, lorsqu'un administrateur désactive le modèle ou que le modèle le plus récent n'est pas encore disponible pour votre compte.

353 353 

354Le 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](https://code.claude.com/docs/fr/permission-modes.md#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](https://code.claude.com/docs/fr/errors.md#aws-authentication-failed) et un conseil pour activer le modèle.354Si vous avez configuré une [chaîne de modèles de secours](https://code.claude.com/docs/fr/model-config.md#fallback-model-chains), Claude Code bascule plutôt vers votre modèle de secours configuré. Sans chaîne, la requête échoue dans des cas tels que ceux-ci :

355 355 

356Une [chaîne de modèles de secours](https://code.claude.com/docs/fr/model-config.md#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`](https://code.claude.com/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.356* Votre session utilise un modèle épinglé, une version spécifique que vous avez choisie ou un [ARN de profil d'inférence d'application](#map-each-model-version-to-an-inference-profile)

357* Aucun des [modèles que Claude Code essaie](#startup-model-checks) n'est disponible. En [mode auto](https://code.claude.com/docs/fr/permission-modes.md#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.

358 

359Pour continuer à travailler, exécutez `/model` dans la session et appuyez sur `s` sur un modèle que votre compte peut utiliser, ce qui laisse votre valeur par défaut inchangée. Une erreur `403` s'affiche sous la forme [AWS authentication failed](https://code.claude.com/docs/fr/errors.md#aws-authentication-failed).

360 

361Pour que les requêtes refusées échouent plutôt que de basculer, définissez [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/fr/env-vars). Si vous avez configuré une chaîne de modèles de secours, supprimez-la également, car Claude Code bascule toujours vers ce modèle de secours.

357 362 

358## Préfixes de profil d'inférence inter-régions363## Préfixes de profil d'inférence inter-régions

359 364 

Details

222 222 

223Chacun est un tableau de descriptions en prose, lu comme des règles en langage naturel. Pour les blocages durs basés sur des motifs d'outils qui s'exécutent avant le classificateur, utilisez [`permissions.deny`](https://code.claude.com/docs/fr/permissions).223Chacun est un tableau de descriptions en prose, lu comme des règles en langage naturel. Pour les blocages durs basés sur des motifs d'outils qui s'exécutent avant le classificateur, utilisez [`permissions.deny`](https://code.claude.com/docs/fr/permissions).

224 224 

225> [!NOTE]

226>

227> Dans une session [Code Mode](https://code.claude.com/docs/fr/code-mode.md#permission-checks), le classificateur applique `hard_deny` et `soft_deny` lorsqu'il examine le code de Claude, et non à chaque appel d'outil effectué par ce code. Les règles `permissions.deny` s'appliquent à chaque appel.

228 

225À l'intérieur du classificateur, la précédence fonctionne en quatre niveaux :229À l'intérieur du classificateur, la précédence fonctionne en quatre niveaux :

226 230 

227* Les règles `hard_deny` bloquent inconditionnellement. L'intention de l'utilisateur et les exceptions `allow` ne s'appliquent pas.231* Les règles `hard_deny` bloquent inconditionnellement. L'intention de l'utilisateur et les exceptions `allow` ne s'appliquent pas.


283 287 

284Par défaut, les règles étroites Bash et PowerShell telles que `Bash(npm test)` restent en vigueur en mode auto. Claude Code les résout avant que le classificateur ne s'exécute, sauf si la commande porte des [domaines autorisés par commande](https://code.claude.com/docs/fr/sandboxing.md#per-command-allowed-domains-in-auto-mode). Claude Code suspend uniquement les règles larges qui accordent l'exécution de code arbitraire, telles que `Bash(*)` ou les interpréteurs avec caractères génériques, ainsi que chaque règle qui nomme [`Monitor`](https://code.claude.com/docs/fr/tools-reference#monitor-tool), car les commandes Monitor s'exécutent via le shell. Cela signifie qu'une règle étroite peut toujours laisser passer un argument destructeur sans que le classificateur ne le voie, par exemple un chemin de script ou un drapeau que le préfixe de la règle n'avait pas anticipé.288Par défaut, les règles étroites Bash et PowerShell telles que `Bash(npm test)` restent en vigueur en mode auto. Claude Code les résout avant que le classificateur ne s'exécute, sauf si la commande porte des [domaines autorisés par commande](https://code.claude.com/docs/fr/sandboxing.md#per-command-allowed-domains-in-auto-mode). Claude Code suspend uniquement les règles larges qui accordent l'exécution de code arbitraire, telles que `Bash(*)` ou les interpréteurs avec caractères génériques, ainsi que chaque règle qui nomme [`Monitor`](https://code.claude.com/docs/fr/tools-reference#monitor-tool), car les commandes Monitor s'exécutent via le shell. Cela signifie qu'une règle étroite peut toujours laisser passer un argument destructeur sans que le classificateur ne le voie, par exemple un chemin de script ou un drapeau que le préfixe de la règle n'avait pas anticipé.

285 289 

286Définissez `autoMode.classifyAllShell` sur `true` pour suspendre chaque règle d'autorisation Bash et PowerShell pendant que le mode auto est actif, afin que le classificateur évalue chaque commande shell indépendamment de votre liste d'autorisation, sauf les [suppressions de chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#critical-paths).290Définissez `autoMode.classifyAllShell` sur `true` pour suspendre chaque règle d'autorisation Bash et PowerShell pendant que le mode auto est actif, afin que le classificateur évalue chaque commande shell indépendamment de votre liste d'autorisation, sauf les [suppressions de chemins critiques](https://code.claude.com/docs/fr/permission-modes.md#critical-paths). Dans une session [Code Mode](https://code.claude.com/docs/fr/code-mode.md#permission-checks), le classificateur examine le code qui exécute les commandes, même avec ce paramètre activé.

287 291 

288```json theme={null}292```json theme={null}

289{293{

Details

315 {315 {

316 "matcher": "Edit|Write",316 "matcher": "Edit|Write",

317 "hooks": [317 "hooks": [

318 { "type": "command", "command": "npx prettier --write --ignore-unknown \"$(jq -r '.tool_input.file_path')\"" }318 { "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }

319 ]319 ]

320 }320 }

321 ]321 ]

Details

74| PostgreSQL 11 ou ultérieur | Prend en charge le flux de connexion par appareil et les compteurs de limite de débit. Un service PostgreSQL géré convient, y compris le plus petit niveau ; consultez [quelles bases de données sont prises en charge](https://code.claude.com/docs/fr/claude-apps-gateway-deploy.md#postgres). Avec les [limites de dépenses](https://code.claude.com/docs/fr/claude-apps-gateway-spend-limits.md), il contient également des tables durables de dépenses, d'audit et d'identité qui doivent être sauvegardées. TLS via `?sslmode=require` est recommandé. PostgreSQL 11, 12 et 13 nécessitent Claude Code v2.1.290 ou ultérieur sur le serveur de la passerelle. Le projet PostgreSQL ne maintient plus ces versions ; utilisez donc une version plus récente lorsque c'est possible. |74| PostgreSQL 11 ou ultérieur | Prend en charge le flux de connexion par appareil et les compteurs de limite de débit. Un service PostgreSQL géré convient, y compris le plus petit niveau ; consultez [quelles bases de données sont prises en charge](https://code.claude.com/docs/fr/claude-apps-gateway-deploy.md#postgres). Avec les [limites de dépenses](https://code.claude.com/docs/fr/claude-apps-gateway-spend-limits.md), il contient également des tables durables de dépenses, d'audit et d'identité qui doivent être sauvegardées. TLS via `?sslmode=require` est recommandé. PostgreSQL 11, 12 et 13 nécessitent Claude Code v2.1.290 ou ultérieur sur le serveur de la passerelle. Le projet PostgreSQL ne maintient plus ces versions ; utilisez donc une version plus récente lorsque c'est possible. |

75| Upstream de modèle | Identifiants Amazon Bedrock, identifiants Claude Platform on AWS, identifiants Google Cloud, une ressource Microsoft Foundry ou une clé API Anthropic. Plusieurs upstreams sont pris en charge avec basculement. |75| Upstream de modèle | Identifiants Amazon Bedrock, identifiants Claude Platform on AWS, identifiants Google Cloud, une ressource Microsoft Foundry ou une clé API Anthropic. Plusieurs upstreams sont pris en charge avec basculement. |

76| HTTPS | La passerelle doit être accessible via `https://` depuis les ordinateurs portables des développeurs et depuis tout navigateur utilisé pour la connexion ; la passerelle sert la page de vérification de l'appareil sur le même listener. Fournissez un certificat TLS via `listen.tls` ou exécutez-la derrière un ingress qui termine TLS, et définissez `listen.public_url` sur l'origine externe dans les deux cas. Lors de `/login`, Claude Code n'accepte une origine `http://` simple que lorsque l'hôte de la passerelle est une adresse de loopback : `localhost`, `127.0.0.1` ou `::1`. |76| HTTPS | La passerelle doit être accessible via `https://` depuis les ordinateurs portables des développeurs et depuis tout navigateur utilisé pour la connexion ; la passerelle sert la page de vérification de l'appareil sur le même listener. Fournissez un certificat TLS via `listen.tls` ou exécutez-la derrière un ingress qui termine TLS, et définissez `listen.public_url` sur l'origine externe dans les deux cas. Lors de `/login`, Claude Code n'accepte une origine `http://` simple que lorsque l'hôte de la passerelle est une adresse de loopback : `localhost`, `127.0.0.1` ou `::1`. |

77| Adresse de réseau privé | Lors de `/login`, Claude Code exige que le nom d'hôte ou l'adresse IP de la passerelle se résolve uniquement en adresses privées : RFC 1918, link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` ou loopback. Pour une passerelle que vous hébergez, toute adresse publique en dehors d'un bloc que vous déclarez est rejetée ; consultez le [modèle de menaces](https://code.claude.com/docs/fr/claude-apps-gateway-deploy.md#threat-model-summary) dans le guide de déploiement. Si les machines des développeurs acheminent le trafic HTTPS via un proxy d'entreprise, la connexion exige également que l'hôte du proxy se résolve en adresses privées ; si ce n'est pas le cas, ajoutez l'hôte de la passerelle à `NO_PROXY` afin que la CLI se connecte directement. Si votre réseau interne est numéroté à partir d'un espace IPv4 public appartenant à votre organisation, [déclarez ces blocs](#allow-a-gateway-on-public-address-space-you-own) afin que `/login` accepte une passerelle à cet emplacement. |77| Adresse de réseau privé | Le `/login` de Claude Code exige que le nom d'hôte ou l'adresse IP de la passerelle se résolve uniquement en adresses privées : plages RFC 1918 et link-local, CGNAT `100.64.0.0/10`, IPv6 ULA `fc00::/7` et loopback. Consultez le [modèle de menaces](https://code.claude.com/docs/fr/claude-apps-gateway-deploy.md#threat-model-summary). Si votre réseau interne est numéroté à partir d'un espace IPv4 public appartenant à votre organisation, [déclarez ces blocs](#allow-a-gateway-on-public-address-space-you-own) afin que `/login` accepte une passerelle à cet emplacement. |

78| Environnement d'exécution Linux | Le serveur de la passerelle s'exécute uniquement sur le binaire Linux natif. macOS fonctionne pour le développement local. Windows n'est pas pris en charge comme plateforme serveur. |78| Environnement d'exécution Linux | Le serveur de la passerelle s'exécute uniquement sur le binaire Linux natif. macOS fonctionne pour le développement local. Windows n'est pas pris en charge comme plateforme serveur. |

79 79 

80Lorsque `HTTPS_PROXY` ou `HTTP_PROXY` s'applique à l'hôte de la passerelle, la connexion nécessite également soit un proxy dont le nom d'hôte se résout en adresses privées, soit l'hôte de la passerelle dans `NO_PROXY` sur les machines des développeurs. Si ces machines définissent également `no_proxy`, ajoutez-y aussi l'hôte de la passerelle, sinon les requêtes de modèle passent toujours par le proxy.

81 

80### Étapes82### Étapes

81 83 

82**1. Enregistrer un client OAuth dans votre IdP**84**1. Enregistrer un client OAuth dans votre IdP**

Details

16 16 

17## Structure du fichier17## Structure du fichier

18 18 

19Cinq sections sont [requises](#required-sections). Chaque autre section est [optionnelle](#optional-sections), et une section omise prend ses valeurs par défaut. Les clés inconnues échouent au démarrage, donc une faute de frappe apparaît comme une erreur nommée plutôt qu'un paramètre silencieusement ignoré.19Cinq sections sont [requises](#required-sections). Chaque autre section est [optionnelle](#optional-sections), et une section omise prend ses valeurs par défaut.

20 20 

21**Sections requises :**21**Sections requises :**

22 22 


519 519 

520Nécessite une passerelle exécutant Claude Code v2.1.281 ou ultérieur. [Attribution des coûts sur AWS](https://code.claude.com/docs/fr/claude-apps-gateway-on-aws.md#cost-attribution) couvre le rôle IAM et où la facturation AWS affiche les sessions.520Nécessite une passerelle exécutant Claude Code v2.1.281 ou ultérieur. [Attribution des coûts sur AWS](https://code.claude.com/docs/fr/claude-apps-gateway-on-aws.md#cost-attribution) couvre le rôle IAM et où la facturation AWS affiche les sessions.

521 521 

522> [!NOTE]

523>

524> Pour l'attribution par développeur, définissez `assume_role` avec `session_name` sur chaque upstream `bedrock` et [`mantle`](#amazon-bedrock-mantle-endpoint), à l'exception de ceux qui utilisent `aws_bearer_token`. Ces derniers [ne peuvent pas prendre `assume_role`](#bedrock-in-another-aws-account) ; leurs requêtes restent donc sous un seul principal.

525 

522```yaml theme={null}526```yaml theme={null}

523upstreams:527upstreams:

524 - provider: bedrock528 - provider: bedrock


535 539 

536La passerelle fait également un appel qui lui est propre sur ce rôle : le comptage de tokens pour une demande que le client a abandonnée, afin que les [limites de dépenses](https://code.claude.com/docs/fr/claude-apps-gateway-spend-limits.md) restent exactes. Ce comptage et sa [demande de secours d'un token](#amazon-bedrock) sont signés par la session partagée `claude-apps-gateway`, donc AWS attribue la demande de secours à `claude-apps-gateway` plutôt qu'au développeur.540La passerelle fait également un appel qui lui est propre sur ce rôle : le comptage de tokens pour une demande que le client a abandonnée, afin que les [limites de dépenses](https://code.claude.com/docs/fr/claude-apps-gateway-spend-limits.md) restent exactes. Ce comptage et sa [demande de secours d'un token](#amazon-bedrock) sont signés par la session partagée `claude-apps-gateway`, donc AWS attribue la demande de secours à `claude-apps-gateway` plutôt qu'au développeur.

537 541 

538Pour une attribution stricte par développeur, définissez `assume_role` avec `session_name` sur chaque upstream Bedrock que vous listez. Un upstream sans lui signe les demandes qu'il sert avec ses propres identifiants.

539 

540#### Endpoint Mantle d'Amazon Bedrock542#### Endpoint Mantle d'Amazon Bedrock

541 543 

542Le fournisseur `mantle` envoie l'inférence vers l'[endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#use-the-mantle-endpoint) d'Amazon Bedrock. Il nécessite Claude Code v2.1.283 ou ultérieur sur le serveur de la passerelle. Les versions antérieures de la passerelle le rejettent au démarrage, donc mettez à niveau chaque réplique avant de l'ajouter.544Le fournisseur `mantle` envoie l'inférence vers l'[endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#use-the-mantle-endpoint) d'Amazon Bedrock. Il nécessite Claude Code v2.1.283 ou ultérieur sur le serveur de la passerelle. Les versions antérieures de la passerelle le rejettent au démarrage, donc mettez à niveau chaque réplique avant de l'ajouter.


656 658 

657| Configuration | Comment |659| Configuration | Comment |

658| - | - |660| - | - |

659| RBAC | Accordez à l'identité de la passerelle `Azure AI User` ou `Cognitive Services User` sur la ressource Microsoft Foundry |661| RBAC | Accordez à l'identité de la passerelle le rôle `Foundry User` ou `Cognitive Services User` sur la ressource Microsoft Foundry |

660| Déploiements | Microsoft Foundry utilise les noms de déploiement choisis par l'administrateur, pas les ID de modèle canoniques. Ajoutez un bloc [`models:`](#models) mappant chaque ID canonique à votre nom de déploiement. |662| Déploiements | Microsoft Foundry utilise les noms de déploiement choisis par l'administrateur, pas les ID de modèle canoniques. Ajoutez un bloc [`models:`](#models) mappant chaque ID canonique à votre nom de déploiement. |

661| AKS (workload identity) | Fédérez une identité gérée attribuée par l'utilisateur avec l'émetteur OIDC du cluster et liez-la au compte de service de la passerelle. `use_azure_ad: true` la récupère via `WorkloadIdentityCredential`. |663| AKS (workload identity) | Fédérez une identité gérée attribuée par l'utilisateur avec l'émetteur OIDC du cluster et liez-la au compte de service de la passerelle. `use_azure_ad: true` la récupère via `WorkloadIdentityCredential`. |

662| ACI / App Service | Activez l'identité gérée attribuée par le système ou l'utilisateur sur la ressource. `use_azure_ad: true` la récupère. |664| ACI / App Service | Activez l'identité gérée attribuée par le système ou l'utilisateur sur la ressource. `use_azure_ad: true` la récupère. |


1001 1003 

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

1003 1005 

1006Pour permettre aux développeurs d'utiliser l'alias `fable` avec `auto_include_builtin_models: false`, ajoutez une entrée `claude-fable-5` à `models`. C'est l'ID vers lequel l'[alias `fable`](https://code.claude.com/docs/fr/model-config#fable-alias-resolution) se résout pour les développeurs connectés à la passerelle. Sans elle, leurs messages échouent avec une erreur qui commence par `API Error: 400 model claude-fable-5 is not in the operator's model allowlist`.

1007 

1004### `managed`1008### `managed`

1005 1009 

1006Le bloc `managed` définit des politiques d'accès basées sur les rôles, indexées sur les groupes IdP ou le domaine e-mail. Les politiques sont évaluées dans l'ordre ; par défaut, la première correspondance est sélectionnée, puis fusionnée sur la base fourre-tout `match: {}`. Un utilisateur correspondant à deux politiques de rôle n'obtient que la première, de sorte que les règles de refus de la seconde politique ne s'appliquent pas, sauf si vous [appliquez toutes les politiques correspondantes](#apply-every-matching-policy). Les politiques sont servies par utilisateur à `GET /managed/settings` avec une mise en cache ETag/304.1010Le bloc `managed` définit des politiques d'accès basées sur les rôles, indexées sur les groupes IdP ou le domaine e-mail. Les politiques sont évaluées dans l'ordre ; par défaut, la première correspondance est sélectionnée, puis fusionnée sur la base fourre-tout `match: {}`. Un utilisateur correspondant à deux politiques de rôle n'obtient que la première, de sorte que les règles de refus de la seconde politique ne s'appliquent pas, sauf si vous [appliquez toutes les politiques correspondantes](#apply-every-matching-policy). Les politiques sont servies par utilisateur à `GET /managed/settings` avec une mise en cache ETag/304.


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

1026 1030 

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

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

1033 * `permissions.deny` et `permissions.ask`

1034 * `disabledMcpjsonServers` et `deniedMcpServers`

1035 * `blockedMarketplaces` et `deniedModels`

1036 * Les tableaux de types d'événements `hooks`

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

1030 1038 

1031`availableModels` est également appliqué côté serveur à `/v1/messages`, afin qu'un modèle refusé retourne `400` indépendamment de ce que le client envoie. Une liste vide refuse tous les modèles. La vérification couvre également le modèle sur lequel une session démarre avant que le développeur n'en choisisse un ; [démarrez donc les sessions sur un modèle autorisé par la politique](#start-sessions-on-a-model-the-policy-allows).1039`availableModels` est également appliqué côté serveur à `/v1/messages`, afin qu'un modèle refusé retourne `400` indépendamment de ce que le client envoie. Une liste vide refuse tous les modèles. La vérification couvre également le modèle sur lequel une session démarre avant que le développeur n'en choisisse un ; [démarrez donc les sessions sur un modèle autorisé par la politique](#start-sessions-on-a-model-the-policy-allows).


1277 1285 

1278Pour désactiver plutôt le contexte 1M, définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT: "1"`](https://code.claude.com/docs/fr/model-config#extended-context) dans le même bloc `env`. Claude Code considère alors que chaque modèle a une fenêtre de 200K. Dans les sessions interactives, chaque développeur approuve cette variable dans la [boîte de dialogue d'approbation](#what-goes-in-cli) avant qu'elle ne prenne effet.1286Pour désactiver plutôt le contexte 1M, définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT: "1"`](https://code.claude.com/docs/fr/model-config#extended-context) dans le même bloc `env`. Claude Code considère alors que chaque modèle a une fenêtre de 200K. Dans les sessions interactives, chaque développeur approuve cette variable dans la [boîte de dialogue d'approbation](#what-goes-in-cli) avant qu'elle ne prenne effet.

1279 1287 

1288> [!NOTE]

1289>

1290> Claude Code ne lit pas le `upstream_model` d'un alias pour dimensionner sa fenêtre de contexte. Pour attribuer la fenêtre de son modèle à un alias de `models` que Claude Code ne reconnaît pas, consultez [Corriger la fenêtre pour un ID de modèle de passerelle ou personnalisé](https://code.claude.com/docs/fr/model-config.md#correct-the-window-for-a-gateway-or-custom-model-id).

1291 

1280#### Cache de prompt d'une heure1292#### Cache de prompt d'une heure

1281 1293 

1282Pour demander la [durée de vie du cache de prompt](https://code.claude.com/docs/fr/prompt-caching.md#cache-lifetime) d'une heure au lieu des cinq minutes par défaut, ajoutez ces clés au [bloc `code`, `cli` ou `settings`](#choose-cli-or-code) existant d'une politique et redémarrez la passerelle. Les clés nécessitent Claude Code v2.1.242 ou ultérieure sur le serveur de la passerelle et sur les clients.1294Pour demander la [durée de vie du cache de prompt](https://code.claude.com/docs/fr/prompt-caching.md#cache-lifetime) d'une heure au lieu des cinq minutes par défaut, ajoutez ces clés au [bloc `code`, `cli` ou `settings`](#choose-cli-or-code) existant d'une politique et redémarrez la passerelle. Les clés nécessitent Claude Code v2.1.242 ou ultérieure sur le serveur de la passerelle et sur les clients.


1379 1391 

1380##### Ce que la passerelle rejette au démarrage1392##### Ce que la passerelle rejette au démarrage

1381 1393 

1382La passerelle valide chaque bloc `desktop` au démarrage par rapport au schéma de configuration que Claude Desktop utilise lui-même, de sorte qu'une erreur apparaît au démarrage de la passerelle sous la forme d'une erreur nommant la clé plutôt que d'atteindre chaque poste Desktop connecté. La passerelle échoue au démarrage lorsqu'un bloc contient :1394La passerelle échoue au démarrage lorsqu'un bloc `desktop` contient :

1383 1395 

1384* Une clé inconnue1396* Une clé reconnue dont Claude Desktop rejetterait ou ignorerait silencieusement la valeur, comme une valeur vide.

1385* Une clé reconnue dont Claude Desktop rejetterait ou supprimerait silencieusement la valeur, comme une valeur vide ou une sous-clé mal orthographiée dans une entrée imbriquée. Avant v2.1.260, la passerelle supprimait silencieusement un champ mal orthographié dans un objet imbriqué d'une entrée `managedMcpServers` ou `orgPluginSettings` au lieu d'échouer au démarrage.

1386* Une clé que la passerelle calcule elle-même : la connexion d'inférence, la liste des modèles et le relais OTLP. Configurez-les via [`upstreams`](#upstreams), [`models`](#models) et le `forward_to` de la section [`telemetry`](#telemetry).1397* Une clé que la passerelle calcule elle-même : la connexion d'inférence, la liste des modèles et le relais OTLP. Configurez-les via [`upstreams`](#upstreams), [`models`](#models) et le `forward_to` de la section [`telemetry`](#telemetry).

1387* Un alias hérité d'une clé actuelle. Dans l'erreur de démarrage, la passerelle nomme la clé canonique à écrire.1398* Un alias hérité d'une clé actuelle. Dans l'erreur de démarrage, la passerelle nomme la clé canonique à écrire.

1399* À partir de v2.1.300, toute clé dont le nom commence par `selfHosted`, comme les clés d'un hôte de session auto-hébergé. Supprimez ces clés avant de mettre à niveau la passerelle vers v2.1.300 ou ultérieur.

1388 1400 

1389Si vous utilisez une valeur ou une forme d'entrée dépréciée, comme une entrée `managedMcpServers` sans `transport`, la passerelle démarre et journalise un avertissement qui nomme le remplacement.1401Si vous utilisez une valeur ou une forme d'entrée dépréciée, comme une entrée `managedMcpServers` sans `transport`, la passerelle démarre et journalise un avertissement qui nomme le remplacement.

1390 1402 

1391Avant v2.1.232, la passerelle acceptait une liste fixe de 11 clés de feature flag, comme `chatTabEnabled` et `disableAutoUpdates`, et rejetait toute autre clé au démarrage. Avant v2.1.227, la passerelle rejetait également `chatTabEnabled` et `chatAdvancedFileAnalysisEnabled` au démarrage.1403Avant v2.1.232, la passerelle acceptait une liste fixe de 11 clés de feature flag, comme `chatTabEnabled` et `disableAutoUpdates`, et rejetait toute autre clé au démarrage. Avant v2.1.227, la passerelle rejetait également `chatTabEnabled` et `chatAdvancedFileAnalysisEnabled` au démarrage.

1392 1404 

1405##### Clés que la passerelle ne connaît pas

1406 

1407Sur une passerelle exécutant Claude Code v2.1.295 ou ultérieur, la plupart des clés d'une version plus récente de Claude Desktop ne nécessitent aucune mise à niveau de la passerelle. Sur v2.1.321 ou ultérieur, c'est aussi le cas de la plupart des nouvelles sous-clés d'une clé connue.

1408 

1409Certaines clés et valeurs échouent encore au démarrage, comme celles-ci :

1410 

1411* Un nouveau choix dans la liste fixe de valeurs d'une clé connue.

1412* Une faute de frappe probable d'une clé que vous pouvez définir dans un bloc `desktop`, comme `disable_auto_updates` pour `disableAutoUpdates`. L'erreur suggère un nom.

1413 

1414Dans chaque cas, si le nom ou la valeur existe réellement dans une version plus récente de Claude Desktop, [mettez à niveau la passerelle](https://code.claude.com/docs/fr/claude-apps-gateway-deploy.md#upgrades) vers la dernière version. Sinon, corrigez-le ou supprimez-le. Pour le savoir avant de déployer, [testez la politique](#test-a-policy-before-deployment).

1415 

1393##### Clés qui nécessitent une version ultérieure de la passerelle ou de Claude Desktop1416##### Clés qui nécessitent une version ultérieure de la passerelle ou de Claude Desktop

1394 1417 

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

1396 1419 

1397`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` et `sshClientPath` nécessitent Claude Code v2.1.281 ou ultérieur sur le serveur de passerelle. C'est aussi le cas de la valeur `required` de `microsoftAuthBroker` et du champ `continuousAccessEvaluation` d'une entrée `managedMcpServers` Microsoft 365. Les versions de Claude Desktop antérieures à la valeur `required` la lisent comme `disabled`, donc définissez `required` uniquement lorsque le Claude Desktop de chaque membre la prend en charge. La [référence de configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop indique la version qui lit chaque clé pour la première fois.1420`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` et `sshClientPath` nécessitent Claude Code v2.1.281 ou ultérieur sur le serveur de passerelle. C'est aussi le cas de la valeur `required` de `microsoftAuthBroker` et du champ `continuousAccessEvaluation` d'une entrée `managedMcpServers` Microsoft 365. Les versions de Claude Desktop antérieures à la valeur `required` la lisent comme `disabled`, donc définissez `required` uniquement lorsque le Claude Desktop de chaque membre la prend en charge. La [référence de configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop indique la version qui lit chaque clé pour la première fois.

1398 1421 

Details

92 92 

93Au-delà du binaire, l'image a besoin de :93Au-delà du binaire, l'image a besoin de :

94 94 

95* **Une image basée sur glibc** : la seule dépendance dynamique de la version glibc est les bibliothèques glibc. Les images basées sur Musl ont besoin de la version `linux-x64-musl` ou `linux-arm64-musl` plus des packages supplémentaires ; consultez [Configuration Alpine Linux](https://code.claude.com/docs/fr/setup.md#alpine-linux-and-musl-based-distributions).95* **Une image basée sur glibc** : les seules dépendances dynamiques du build glibc sont les bibliothèques glibc. Les images basées sur Musl ont besoin du build `linux-x64-musl` ou `linux-arm64-musl`, dont la seule dépendance dynamique est musl.

96* **Un répertoire d'état inscriptible** : la passerelle s'exécute en tant qu'utilisateur quelconque, mais les images minimales n'ont pas de répertoire personnel inscriptible. Définissez `CLAUDE_CONFIG_DIR` sur un chemin inscriptible tel que `/tmp/.claude`.96* **Un répertoire d'état inscriptible** : la passerelle s'exécute en tant qu'utilisateur quelconque, mais les images minimales n'ont pas de répertoire personnel inscriptible. Définissez `CLAUDE_CONFIG_DIR` sur un chemin inscriptible tel que `/tmp/.claude`.

97* **La commande du conteneur** : `claude gateway --config /etc/claude/gateway.yaml`, avec le fichier de configuration monté en lecture seule et les secrets fournis en tant que variables d'environnement ; la passerelle écoute sur `listen.port`, par défaut `8080`.97* **La commande du conteneur** : `claude gateway --config /etc/claude/gateway.yaml`, avec le fichier de configuration monté en lecture seule et les secrets fournis en tant que variables d'environnement ; la passerelle écoute sur `listen.port`, par défaut `8080`.

98 98 

Details

189 189 

190```190```

191Sent to cloud session.191Sent to cloud session.

192Session ID: session_01DiUkqY2kzbUbDmW1w96rfi192Session ID: session_01HJKLMNOPQRSTUVWXYZ

193View: https://claude.ai/code/session_01DiUkqY2kzbUbDmW1w96rfi?from=cli&m=0193View: https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ?from=cli&m=0

194```194```

195 195 

196Passez `--output-format json` pour un résultat lisible par machine : `{ok, session_id, url}` en cas de succès, ou `{ok: false, session_id, error}` quand l'envoi échoue, par exemple quand la session est manquante ou archivée. Les erreurs de configuration, telles qu'un fournisseur non pris en charge ou une politique organisationnelle désactivée, s'impriment sur stderr sans JSON. `--output-format stream-json` n'est pas pris en charge avec `--cloud <session-id>`.196Passez `--output-format json` pour un résultat lisible par machine : `{ok, session_id, url}` en cas de succès, ou `{ok: false, session_id, error}` quand l'envoi échoue, par exemple quand la session est manquante ou archivée. Les erreurs de configuration, telles qu'un fournisseur non pris en charge ou une politique organisationnelle désactivée, s'impriment sur stderr sans JSON. `--output-format stream-json` n'est pas pris en charge avec `--cloud <session-id>`.

Details

274 274 

275Le thread s'exécute en [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode), de sorte que Claude exécute des commandes et modifie des fichiers dans ce dossier sans vous demander à chaque fois. Si le mode auto n'est pas disponible ou est désactivé dans le Claude Code de cet ordinateur, le thread s'exécute sans lui, et toute demande de permission qu'il émet attend votre réponse dans le thread, comme le décrit [Débloquer un thread en attente d'approbation](#unblock-a-thread-waiting-on-approval).275Le thread s'exécute en [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode), de sorte que Claude exécute des commandes et modifie des fichiers dans ce dossier sans vous demander à chaque fois. Si le mode auto n'est pas disponible ou est désactivé dans le Claude Code de cet ordinateur, le thread s'exécute sans lui, et toute demande de permission qu'il émet attend votre réponse dans le thread, comme le décrit [Débloquer un thread en attente d'approbation](#unblock-a-thread-waiting-on-approval).

276 276 

277Pour exécuter le thread dans un autre mode, démarrez `claude remote-control` avec [`--settings`](https://code.claude.com/docs/fr/remote-control#start-a-remote-control-session). [`permissions.defaultMode`](https://code.claude.com/docs/fr/permission-modes#start-in-a-different-mode), dans ce fichier ou dans les paramètres de cet ordinateur, peut alors choisir un autre mode.

278 

277Pendant l'exécution du thread, une icône d'ordinateur portable dans son en-tête indique si votre ordinateur est connecté. Cliquez dessus pour voir quel dossier le thread utilise ou pour couper la connexion. Le thread se met en pause lorsque cet ordinateur est en veille, et s'arrête si l'application de bureau ou `claude remote-control` se ferme.279Pendant l'exécution du thread, une icône d'ordinateur portable dans son en-tête indique si votre ordinateur est connecté. Cliquez dessus pour voir quel dossier le thread utilise ou pour couper la connexion. Le thread se met en pause lorsque cet ordinateur est en veille, et s'arrête si l'application de bureau ou `claude remote-control` se ferme.

278 280 

279* **Pour relancer le thread** : consultez [Lost contact with your folder](#lost-contact-with-your-folder)281* **Pour relancer le thread** : consultez [Lost contact with your folder](#lost-contact-with-your-folder)

code-mode.md +224 −0 created

Details

1> ## Documentation Index

2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt

3> Use this file to discover all available pages before exploring further.

4 

5# Exécuter des appels d'outils depuis du code avec Code Mode

6 

7> Essayez Code Mode, une fonctionnalité expérimentale dans laquelle Claude écrit du JavaScript qui effectue plusieurs appels d'outils en une seule étape.

8 

9Code Mode modifie la façon dont Claude utilise ses [outils](https://code.claude.com/docs/fr/tools-reference.md). Sans Code Mode, Claude demande directement des appels d'outils tels que Bash, Read ou Edit et lit chaque résultat avant de décider de la suite. Avec Code Mode, Claude écrit un morceau de JavaScript qui effectue les appels d'outils, et Claude Code exécute ce code dans votre session.

10 

11> [!NOTE]

12>

13> Code Mode est expérimental et désactivé par défaut. Il peut changer ou être supprimé dans n'importe quelle version. Pour partager vos commentaires, exécutez `/feedback`.

14 

15## Fonctionnement de Code Mode

16 

17Dans une session Code Mode, vous décrivez toujours votre tâche dans un prompt, et Claude écrit du JavaScript pour l'accomplir. Un seul morceau de code peut exécuter des commandes en parallèle, utiliser un résultat dans l'appel suivant et renvoyer la partie de la sortie que Claude doit lire.

18 

19Par exemple, si vous demandez à Claude d'augmenter une limite de nouvelles tentatives, Claude peut écrire ce code pour trouver le fichier, le modifier et exécuter les tests. La dernière ligne renvoie à Claude le chemin du fichier et la sortie des tests :

20 

21```javascript theme={null}

22const files = await $`rg -l "function retryPolicy" src`.text();

23const target = files.trim().split("\n")[0];

24await edit(target, "maxAttempts: 3", "maxAttempts: 5");

25({ edited: target, tests: $`npm test -- retryPolicy`.nothrow() });

26```

27 

28Dans la conversation, vous voyez les appels d'outils, comme le diff de la modification, et non le code. Pour lire le code, appuyez sur `Ctrl+O` afin d'ouvrir la [visionneuse de transcription](https://code.claude.com/docs/fr/interactive-mode.md#transcript-viewer). Chaque morceau de code y apparaît sous la forme d'une ligne **Code** réduite, accompagnée d'une indication sur la façon de la développer.

29 

30### Quand utiliser Code Mode

31 

32Essayez Code Mode sur des tâches qui nécessitent de nombreux appels d'outils liés, par exemple :

33 

34* Une modification qui se répète dans de nombreux fichiers

35* Une recherche dont les résultats doivent être filtrés avant que Claude ne les lise

36* Plusieurs commandes indépendantes qui peuvent s'exécuter en même temps

37 

38### Limitations de Code Mode

39 

40Avant d'activer Code Mode, vérifiez que vous pouvez accepter ces limites :

41 

42* **Reprise** : vous ne pouvez reprendre une session Code Mode que dans le terminal, avec Code Mode activé

43* **Mode auto** : le classifieur du mode auto [examine le code, et non chaque appel d'outil](#permission-checks)

44* **Code de longue durée** : sauf si [le code peut s'exécuter en arrière-plan](#long-running-code), vous attendez qu'il se termine, et il s'arrête au bout de dix minutes

45* **Hooks** : vous pouvez voir des [appels d'outils refusés](#tool-call-refused-by-a-hook) lorsqu'un hook `PreToolUse` ne peut pas s'exécuter ou expire, et une [sortie de code bloquée](#code-output-withheld-by-a-hook) par un hook `UserPromptSubmit`

46* **Fonctionnalités indisponibles** : vous ne pouvez pas utiliser [Remote Control](https://code.claude.com/docs/fr/remote-control.md), [Claude in Chrome](https://code.claude.com/docs/fr/chrome.md) ni [computer use](https://code.claude.com/docs/fr/computer-use.md)

47* **Déplacement de la session** : vous ne pouvez pas déplacer la session vers l'application Desktop ni la transformer en [session en arrière-plan](https://code.claude.com/docs/fr/agent-view.md), et `/fork` ne peut pas démarrer de copie en arrière-plan

48 

49## Prérequis

50 

51* **Version** : Claude Code v2.1.323 ou ultérieure, sur l'un ou l'autre [canal de publication](https://code.claude.com/docs/fr/setup.md#configure-release-channel). Une version plus ancienne démarre sans Code Mode, avec ou sans la raison `it isn't open to your account yet`

52* **Compte** : un abonnement Claude ou un compte Console. Vous ne pouvez pas utiliser Code Mode via une passerelle, Amazon Bedrock, Claude Platform on AWS, Agent Platform de Google Cloud ou Microsoft Foundry

53* **Organisation** : votre organisation n'utilise ni la [configuration HIPAA](https://code.claude.com/docs/fr/hipaa-setup.md) ni la [conservation zéro des données](https://code.claude.com/docs/fr/zero-data-retention.md)

54* **Modèle** : Claude Opus 5.5, Sonnet 5.5, Haiku 5.5 ou Fable 5.2

55* **Surface** : une session `claude` interactive dans un terminal. Code Mode ne fonctionne pas avec `-p`, l'Agent SDK, le panneau VS Code, l'application Desktop ni les sessions cloud

56* **Installation** : le [build natif](https://code.claude.com/docs/fr/setup.md) de Claude Code

57* **Windows** : [Git for Windows](https://git-scm.com/downloads/win) est installé

58 

59Vous ne pouvez pas non plus démarrer Code Mode lorsque certains paramètres sont activés, comme un assistant de clé API, les équipes d'agents, l'export OpenTelemetry ou `DISABLE_TELEMETRY`. Pour la solution à chacun de ces cas, consultez [Code Mode ne démarre pas](#code-mode-doesnt-start).

60 

61## Essayer Code Mode

62 

63Activez Code Mode, confiez une tâche à Claude et examinez le code que Claude a écrit.

64 

65**1. Vérifier votre version**

66 

67Exécutez `claude --version`. Si la version est antérieure à v2.1.323, exécutez `claude update`. Si vous êtes sur le canal `stable` et que la mise à jour n'atteint pas v2.1.323, attendez que `stable` rattrape son retard ou [passez à `latest`](https://code.claude.com/docs/fr/setup#configure-release-channel).

68 

69**2. Démarrer Claude Code avec Code Mode activé**

70 

71Définissez la variable d'environnement [`CLAUDE_CODE_EXPERIMENTAL_CODE_MODE`](https://code.claude.com/docs/fr/env-vars#variables) sur `1`. Pour essayer Code Mode, définissez-la dans votre shell. Pour activer Code Mode pour chaque nouvelle session, définissez-la dans vos paramètres utilisateur.

72 

73> [tab] macOS, Linux, WSL

74>

75> ```bash theme={null}

76> CLAUDE_CODE_EXPERIMENTAL_CODE_MODE=1 claude

77> ```

78 

79> [tab] Windows PowerShell

80>

81> ```powershell theme={null}

82> $env:CLAUDE_CODE_EXPERIMENTAL_CODE_MODE = "1"

83> claude

84> ```

85 

86> [tab] settings.json

87>

88> Enregistrez ce bloc `env` dans `~/.claude/settings.json` et démarrez `claude` :

89>

90> ```json theme={null}

91> {

92> "env": {

93> "CLAUDE_CODE_EXPERIMENTAL_CODE_MODE": "1"

94> }

95> }

96> ```

97>

98> Claude Code [ignore cette variable dans les fichiers de paramètres d'un projet](https://code.claude.com/docs/fr/settings-reference.md#variables-claude-code-ignores-in-env), de sorte qu'un dépôt que vous clonez ne peut pas activer Code Mode à votre place.

99 

100**3. Confirmer que vous souhaitez utiliser Code Mode**

101 

102Claude Code vous demande de confirmer avant votre première session Code Mode. Sélectionnez **Yes, turn on Code Mode**. Claude Code redémarre et affiche cette ligne en haut de la session :

103 

104```text theme={null}

105Code Mode (experimental) is on · this session can be resumed only with Code Mode on

106```

107 

108Si vous voyez une ligne différente ou aucune ligne, consultez [Code Mode ne démarre pas](#code-mode-doesnt-start).

109 

110**4. Confier à Claude une tâche comportant de nombreux appels d'outils**

111 

112Dans un projet que vous connaissez, envoyez un prompt tel que celui-ci :

113 

114```text theme={null}

115Read every Markdown file in this project and list the links that point to local files that don't exist.

116```

117 

118**5. Lire le code écrit par Claude**

119 

120Appuyez sur `Ctrl+O` et développez une ligne **Code** pour voir le JavaScript derrière les appels d'outils. Appuyez de nouveau sur `Ctrl+O` pour revenir à la conversation.

121 

122> [!WARNING]

123>

124> Pour reprendre ultérieurement une session Code Mode, laissez `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` défini sur `1` lorsque vous exécutez `claude --continue` ou `claude --resume`. Lorsque Code Mode est désactivé, Claude Code refuse de reprendre la session. Les sessions que vous avez démarrées sans Code Mode reprennent sans Code Mode, même si la variable est définie.

125 

126### Désactiver Code Mode

127 

128Supprimez `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` de votre shell et de `~/.claude/settings.json`, puis démarrez une nouvelle session. Vous pouvez aussi conserver la variable et changer sa valeur en `0` à l'un ou l'autre de ces emplacements. Avec un `0` à un emplacement, Code Mode reste désactivé même si vous définissez `1` à l'autre.

129 

130### Bloquer Code Mode pour votre organisation

131 

132Ajoutez `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` avec la valeur `0` à vos [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) afin que personne dans votre organisation ne puisse utiliser Code Mode :

133 

134```json theme={null}

135{

136 "env": {

137 "CLAUDE_CODE_EXPERIMENTAL_CODE_MODE": "0"

138 }

139}

140```

141 

142Les utilisateurs qui se trouvent dans une session Code Mode y restent jusqu'à ce qu'ils quittent ou redémarrent Claude Code. Ensuite, vos utilisateurs démarrent sans Code Mode et ne peuvent pas reprendre leurs sessions Code Mode tant que le `0` est en place. Vous ne pouvez pas activer Code Mode pour vos utilisateurs depuis les paramètres gérés.

143 

144## Permissions et code de longue durée

145 

146Votre mode de permission détermine la façon dont le code de Claude est vérifié et si vous pouvez parler à Claude pendant l'exécution du code.

147 

148### Vérifications des permissions

149 

150Chaque appel d'outil effectué par le code de Claude passe par vos [règles de permission](https://code.claude.com/docs/fr/permissions.md) `deny` et `ask` ainsi que par vos [hooks `PreToolUse`](https://code.claude.com/docs/fr/hooks#pretooluse). Vous n'avez pas besoin de modifier une règle ou un matcher pour un outil tel que `Bash`. Au-delà des règles et des hooks, un classifieur examine le code en mode auto, et vous répondez aux demandes de permission dans les modes qui en affichent :

151 

152* **[Mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode)** : le classifieur examine chaque morceau de code avant son exécution, et non chaque appel d'outil. Il ne voit pas les valeurs calculées à l'exécution, comme un chemin tiré d'une sortie de recherche ; conservez donc des règles ou des hooks pour les appels que vous devez contrôler. Des demandes de permission peuvent toujours vous être présentées [lorsqu'un nouveau code démarre alors qu'un code antérieur est en cours d'exécution](#permission-prompt-with-a-countdown)

153* **Autres [modes de permission](https://code.claude.com/docs/fr/permission-modes.md)** : le code démarre sans examen, et une demande de permission vous est présentée pour chaque appel d'outil qui vous en présenterait une dans ce mode

154 

155Pour vérifier le code lui-même, écrivez un hook `PreToolUse` qui correspond à `REPL`, l'outil qui exécute le code de Claude, et lisez le JavaScript depuis `tool_input.code`.

156 

157> [!WARNING]

158>

159> Les règles Bash correspondent au texte des commandes ; Claude peut donc exécuter une commande refusée [sous une forme à laquelle la règle ne correspond pas](https://code.claude.com/docs/fr/permissions.md#bash-rule-limits), avec ou sans Code Mode. Pour des limites qui ne dépendent pas du texte des commandes, consultez [sandboxing](https://code.claude.com/docs/fr/sandboxing.md).

160 

161### Code de longue durée

162 

163Lorsque le code exécute un build ou des tests longs, Claude l'attend ou le laisse se poursuivre en arrière-plan :

164 

165* **Attente** : Claude répond une fois le code terminé, et le code s'arrête au bout de dix minutes, y compris le temps que vous passez sur les demandes de permission

166* **Arrière-plan** : vous pouvez continuer à parler à Claude, et le code peut s'exécuter jusqu'à deux heures

167 

168Pour exécuter du code en arrière-plan, démarrez votre session en mode auto ou `bypassPermissions`. Si Claude attend toujours, vérifiez votre mode actuel et la façon dont vous avez démarré la session :

169 

170* **Vous êtes passé à un autre mode** : appuyez sur `Shift+Tab` jusqu'à revenir au mode dans lequel vous avez démarré

171* **Vous avez démarré dans un autre mode, ou avez choisi la session dans la liste `claude --resume`** : si [le mode auto est disponible](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode) pour vous, quittez, puis exécutez `claude --continue --permission-mode auto` avec Code Mode activé

172* **Vous avez passé des noms d'outils à `--tools`** : redémarrez en mode auto sans ce flag

173 

174## Dépannage

175 

176### Code Mode ne démarre pas

177 

178`Code Mode (experimental) isn't available` en haut de la session signifie que Claude Code a démarré sans Code Mode. La raison suit sur la même ligne, et `/status` l'affiche également. Trouvez la raison dans ce tableau, effectuez la modification et démarrez une nouvelle session. Pour une raison qui ne figure pas dans la liste, consultez les [prérequis](#requirements).

179 

180| La raison contient | Que faire |

181| :- | :- |

182| `it isn't open to your account yet` | Si votre version est antérieure à v2.1.323, [mettez à jour](#try-code-mode). Sinon, vérifiez votre connexion réseau et recommencez. Si la raison persiste, réessayez un autre jour |

183| `it only works with the Anthropic API` | Supprimez les paramètres qui acheminent les requêtes via un fournisseur cloud, une passerelle ou une `ANTHROPIC_BASE_URL` personnalisée |

184| `it doesn't work with an API key helper` | Supprimez `apiKeyHelper`, `ANTHROPIC_AUTH_TOKEN` et tout en-tête `Authorization` ou `X-Api-Key` dans `ANTHROPIC_CUSTOM_HEADERS`. Connectez-vous ensuite ou définissez `ANTHROPIC_API_KEY` |

185| `it only works with Opus 5.5, Sonnet 5.5 and later models` | Démarrez avec un [modèle pris en charge](#requirements), par exemple avec `--model opus`. Haiku 5.5 et Fable 5.2 fonctionnent également |

186| `it doesn't work in background jobs` | Démarrez au premier plan, sans `--remote-control` |

187| `it needs settings that Claude Code downloads from Anthropic` | Supprimez la variable qui [désactive la récupération des feature flags](https://code.claude.com/docs/fr/env-vars.md#features-that-need-feature-flag-fetching), comme `DISABLE_TELEMETRY` |

188| `OpenTelemetry is on` | Supprimez `CLAUDE_CODE_ENABLE_TELEMETRY` et `ENABLE_BETA_TRACING_DETAILED` si vous pouvez vous passer de l'[export OpenTelemetry](https://code.claude.com/docs/fr/monitoring-usage.md) |

189| `it doesn't yet work with an installed mod` | Désactivez le [mod](https://code.claude.com/docs/fr/plugins/mods/overview.md) qui vérifie les appels d'outils |

190| `it can't be used together with agent teams yet` | Supprimez `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` |

191| `this launch's tool options` | Démarrez sans `--restricted`, ajoutez `REPL` à `--tools` et retirez `REPL` de `--disallowedTools` et de vos règles `deny` |

192| `couldn't save your answer` | Rendez `~/.claude.json` accessible en écriture |

193| `your organization's settings don't allow it` | Interrogez votre administrateur au sujet du [paramètre géré](#block-code-mode-for-your-organization) |

194 

195Si vous ne voyez aucune ligne concernant Code Mode, exécutez `claude --version`. Si votre version est antérieure à v2.1.323, mettez à jour. Vérifiez ensuite que `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` vaut `1` dans votre shell ou vos paramètres utilisateur, et supprimez tout `0` de ces emplacements ainsi que de tout fichier `--settings`.

196 

197### Demande de permission avec compte à rebours

198 

199Lorsque Claude démarre du code supplémentaire en mode auto alors qu'un code antérieur est encore en cours d'exécution, le code antérieur perd l'examen du classifieur. Claude Code vous interroge alors sur les appels restants du code antérieur qui nécessiteraient un examen. Si aucun IDE n'est connecté, la demande de permission affiche un compte à rebours :

200 

201```text theme={null}

202Claude Code will automatically block this request in 1:59, to avoid holding up an unattended session

203```

204 

205Répondez avant la fin du compte à rebours. Sinon, cet appel est refusé, et les appels suivants qui afficheraient un compte à rebours sont refusés sans demande de permission. Pour voir de nouveau les demandes de permission, envoyez un message à Claude.

206 

207### Appel d'outil refusé par un hook

208 

209Si Claude signale un appel d'outil refusé, demandez-lui le texte de l'erreur. Ces erreurs signifient qu'un hook `PreToolUse` n'a pas fourni de décision, ce qui refuse l'appel même lorsque [`onFailure`](https://code.claude.com/docs/fr/hooks#block-the-action-when-a-hook-fails) n'est pas défini :

210 

211* **`the hook failed`** : lors d'un appel provenant du code de Claude, votre hook n'a pas pu démarrer, a été arrêté de force, s'est terminé avec le code 126, 127 ou un code supérieur à 128, ou a renvoyé une erreur HTTP ou une sortie non valide. Corrigez le hook

212* **`the hook did not finish`** : votre hook a expiré lors d'un appel provenant du code de Claude, ou lors de tout autre appel d'outil une fois que Claude a exécuté du code dans la session. Augmentez le [`timeout`](https://code.claude.com/docs/fr/hooks#common-fields) du hook

213 

214Pour laisser les appels se poursuivre lorsqu'un hook `command` ou `http` échoue ou expire, définissez `"onFailure": "continue"` sur celui-ci. Si un hook `command` se termine avec un code ordinaire tel que 1, l'appel se poursuit, sauf si vous définissez `"onFailure": "block"`.

215 

216### Sortie de code retenue par un hook

217 

218Si Claude signale la raison de blocage d'un hook là où vous attendiez la sortie du code de Claude, vérifiez vos hooks [`UserPromptSubmit`](https://code.claude.com/docs/fr/hooks#userpromptsubmit). Lorsque [le code peut s'exécuter en arrière-plan](#long-running-code), les hooks `command`, `http` et `mcp_tool` associés à cet événement s'exécutent aussi sur la sortie du code. Pour laisser passer la sortie, modifiez le hook afin qu'il ne bloque pas lorsque `source` dans son entrée vaut `poll_event`.

219 

220## Ressources associées

221 

222* [Modes de permission](https://code.claude.com/docs/fr/permission-modes.md) : comparer le mode auto avec les modes qui vous présentent des demandes de permission

223* [Référence des hooks](https://code.claude.com/docs/fr/hooks.md) : écrire des hooks `PreToolUse` et `UserPromptSubmit`

224* [Paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) : appliquer une configuration unique à l'ensemble d'une organisation

commands.md +3 −5

Details

35Le tableau ci-dessous répertorie toutes les commandes incluses dans Claude Code. La plupart sont des commandes intégrées dont le comportement est codé dans la CLI. Deux types d'entrées sont signalés :35Le tableau ci-dessous répertorie toutes les commandes incluses dans Claude Code. La plupart sont des commandes intégrées dont le comportement est codé dans la CLI. Deux types d'entrées sont signalés :

36 36 

37* **[Skill](https://code.claude.com/docs/fr/skills.md#bundled-skills)** : un skill fourni. Il fonctionne comme les skills que vous écrivez vous-même : un prompt transmis à Claude.37* **[Skill](https://code.claude.com/docs/fr/skills.md#bundled-skills)** : un skill fourni. Il fonctionne comme les skills que vous écrivez vous-même : un prompt transmis à Claude.

38 * `/verify` ne s'exécute que lorsque vous l'invoquez.

39* **[Workflow](https://code.claude.com/docs/fr/workflows.md#bundled-workflows)** : un [workflow dynamique](https://code.claude.com/docs/fr/workflows.md) fourni qui répartit le travail entre de nombreux sous-agents et s'exécute en arrière-plan.38* **[Workflow](https://code.claude.com/docs/fr/workflows.md#bundled-workflows)** : un [workflow dynamique](https://code.claude.com/docs/fr/workflows.md) fourni qui répartit le travail entre de nombreux sous-agents et s'exécute en arrière-plan.

40 * `/deep-research` ne s'exécute que lorsque vous l'invoquez.

41 39 

42Pour ajouter vos propres commandes, consultez [skills](https://code.claude.com/docs/fr/skills.md).40Pour ajouter vos propres commandes, consultez [skills](https://code.claude.com/docs/fr/skills.md).

43 41 


149| `/stats` | Alias de `/usage`. S'ouvre sur l'onglet Stats |147| `/stats` | Alias de `/usage`. S'ouvre sur l'onglet Stats |

150| `/status` | Ouvrir l'interface Settings sur l'onglet Status, qui affiche la version, le modèle, le compte et la connectivité. Une ligne `Session kind` indique `background job · attached` ou `background job · unattended` dans une [session en arrière-plan](https://code.claude.com/docs/fr/agent-view.md), selon qu'un terminal est attaché ou non, et `interactive` dans toute autre session. Avant la v2.1.221, `/status` n'affichait pas cette ligne. Fonctionne pendant que Claude répond |148| `/status` | Ouvrir l'interface Settings sur l'onglet Status, qui affiche la version, le modèle, le compte et la connectivité. Une ligne `Session kind` indique `background job · attached` ou `background job · unattended` dans une [session en arrière-plan](https://code.claude.com/docs/fr/agent-view.md), selon qu'un terminal est attaché ou non, et `interactive` dans toute autre session. Avant la v2.1.221, `/status` n'affichait pas cette ligne. Fonctionne pendant que Claude répond |

151| `/statusline` | Configurer la [barre de statut](https://code.claude.com/docs/fr/statusline.md) de Claude Code. Décrivez ce que vous souhaitez, ou exécutez sans argument pour une configuration automatique à partir de votre invite de commandes |149| `/statusline` | Configurer la [barre de statut](https://code.claude.com/docs/fr/statusline.md) de Claude Code. Décrivez ce que vous souhaitez, ou exécutez sans argument pour une configuration automatique à partir de votre invite de commandes |

152| `/stickers` | Commander des stickers Claude Code |150| `/stickers` | Vérifier la disponibilité des stickers Claude Code |

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

154| `/subtask <task>` | Lancer un [sous-agent forké](https://code.claude.com/docs/fr/sub-agents.md#fork-the-current-conversation) : un sous-agent en arrière-plan qui hérite de toute la conversation et travaille sur la tâche pendant que vous continuez à travailler. Son résultat revient dans cette conversation lorsqu'il termine. Pour copier plutôt la conversation dans une session en arrière-plan distincte, utilisez `/fork`. Lorsque la [vue des agents est désactivée](https://code.claude.com/docs/fr/agent-view.md#turn-off-agent-view), `/subtask` n'est pas disponible et `/fork` lance plutôt le sous-agent forké |152| `/subtask <task>` | Lancer un [sous-agent forké](https://code.claude.com/docs/fr/sub-agents.md#fork-the-current-conversation) : un sous-agent en arrière-plan qui hérite de toute la conversation et travaille sur la tâche pendant que vous continuez à travailler. Son résultat revient dans cette conversation lorsqu'il termine. Pour copier plutôt la conversation dans une session en arrière-plan distincte, utilisez `/fork`. Lorsque la [vue des agents est désactivée](https://code.claude.com/docs/fr/agent-view.md#turn-off-agent-view), `/subtask` n'est pas disponible et `/fork` lance plutôt le sous-agent forké |

155| `/tasks` | Afficher et gérer le travail en arrière-plan de la session en cours, y compris les sous-agents qui ont terminé. Également disponible sous la forme `/bashes` |153| `/tasks` | Afficher et gérer le travail en arrière-plan de la session en cours, y compris les sous-agents qui ont terminé. Également disponible sous la forme `/bashes` |


161| `/ultraplan <prompt>` | Supprimée. Utilisez plutôt le [mode plan](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode). Envoyait auparavant une tâche de planification à une [session cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md) pour examen dans votre navigateur |159| `/ultraplan <prompt>` | Supprimée. Utilisez plutôt le [mode plan](https://code.claude.com/docs/fr/permission-modes.md#analyze-before-you-edit-with-plan-mode). Envoyait auparavant une tâche de planification à une [session cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md) pour examen dans votre navigateur |

162| `/ultrareview [PR or branch]` | Lancer une revue de code approfondie et multi-agents dans un sandbox cloud avec [ultrareview](https://code.claude.com/docs/fr/ultrareview.md). Passez une référence de PR pour examiner cette pull request, ou une branche de base ou un commit pour changer la base de comparaison. L'invocation recommandée est `/code-review ultra`, et `/ultrareview` en est un alias. Inclut 3 exécutions gratuites sur Pro, Max et Ultra, puis nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |160| `/ultrareview [PR or branch]` | Lancer une revue de code approfondie et multi-agents dans un sandbox cloud avec [ultrareview](https://code.claude.com/docs/fr/ultrareview.md). Passez une référence de PR pour examiner cette pull request, ou une branche de base ou un commit pour changer la base de comparaison. L'invocation recommandée est `/code-review ultra`, et `/ultrareview` en est un alias. Inclut 3 exécutions gratuites sur Pro, Max et Ultra, puis nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

163| `/update-config [request]` | **[Skill](https://code.claude.com/docs/fr/skills.md#bundled-skills).** Décrire une modification de paramètres, comme autoriser une commande, définir une variable d'environnement ou ajouter un [hook](https://code.claude.com/docs/fr/hooks.md), et Claude modifie le fichier [`settings.json`](https://code.claude.com/docs/fr/settings) correspondant. Pour des options comme le thème et le modèle, utilisez plutôt `/config` |161| `/update-config [request]` | **[Skill](https://code.claude.com/docs/fr/skills.md#bundled-skills).** Décrire une modification de paramètres, comme autoriser une commande, définir une variable d'environnement ou ajouter un [hook](https://code.claude.com/docs/fr/hooks.md), et Claude modifie le fichier [`settings.json`](https://code.claude.com/docs/fr/settings) correspondant. Pour des options comme le thème et le modèle, utilisez plutôt `/config` |

164| `/upgrade` | Ouvrir la page de mise à niveau dans votre navigateur pour passer à un forfait supérieur. Lorsque le navigateur ne s'ouvre pas, la commande affiche une invite de connexion sans afficher l'URL |162| `/upgrade` | Ouvrir la page de mise à niveau dans votre navigateur pour passer à un forfait supérieur. Lorsqu'aucun navigateur ne peut ouvrir la page, par exemple via SSH, la commande affiche l'URL de la page au-dessus de son invite de connexion. L'affichage de l'URL nécessite Claude Code v2.1.323 ou ultérieure |

165| `/usage` | Afficher le coût de la session, les limites d'utilisation du forfait et les statistiques d'activité. Sur un forfait Pro, Max, Ultra, Team ou Enterprise, inclut une [répartition de ce qui est décompté de vos limites de forfait](https://code.claude.com/docs/fr/costs.md#plan-usage-breakdown). Derrière une passerelle Claude apps qui suit les dépenses, affiche [vos dépenses via la passerelle](https://code.claude.com/docs/fr/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code). `/cost` et `/stats` en sont des alias |163| `/usage` | Afficher le coût de la session, les limites d'utilisation du forfait et les statistiques d'activité. Sur un forfait Pro, Max, Ultra, Team ou Enterprise, inclut une [répartition de ce qui est décompté de vos limites de forfait](https://code.claude.com/docs/fr/costs.md#plan-usage-breakdown). Derrière une passerelle Claude apps qui suit les dépenses, affiche [vos dépenses via la passerelle](https://code.claude.com/docs/fr/claude-apps-gateway-spend-limits.md#usage-warnings-in-claude-code). `/cost` et `/stats` en sont des alias |

166| `/usage-credits` | Configurer les crédits d'utilisation, ou en demander à votre administrateur, lorsque vous atteignez une limite. Ouvre vos [paramètres de facturation des crédits d'utilisation](https://code.claude.com/docs/fr/costs.md#add-usage-credits-to-your-subscription) dans le navigateur, sauf pour les membres Team et Enterprise sans accès à la facturation, qui envoient plutôt une demande de crédits d'utilisation à leur administrateur depuis la CLI, après avoir confirmé dans une boîte de dialogue que la demande avertit leurs administrateurs. Lorsqu'aucun navigateur ne peut ouvrir la page de facturation, par exemple via SSH, la commande affiche à la place l'URL à consulter ; cela nécessite Claude Code v2.1.205 ou ultérieure, et les versions antérieures n'affichaient rien dans ce cas. Anciennement `/extra-usage` |164| `/usage-credits` | Configurer les crédits d'utilisation, ou en demander à votre administrateur, lorsque vous atteignez une limite. Ouvre vos [paramètres de facturation des crédits d'utilisation](https://code.claude.com/docs/fr/costs.md#add-usage-credits-to-your-subscription) dans le navigateur. Les membres Team et Enterprise sans accès à la facturation envoient plutôt une demande de crédits d'utilisation à leur administrateur depuis la CLI. Dans un terminal où aucun navigateur ne peut ouvrir la page, par exemple via SSH, la commande affiche l'URL. Cet affichage nécessite Claude Code v2.1.205 ou ultérieure. Anciennement `/extra-usage` |

167| `/verify` | **[Skill](https://code.claude.com/docs/fr/skills.md#bundled-skills).** Confirmer qu'une modification de code fait ce qu'elle doit faire en compilant l'application de votre projet, en l'exécutant et en observant le résultat, plutôt qu'en se fiant aux tests ou aux vérifications de types. Consultez [Exécuter et vérifier votre application](https://code.claude.com/docs/fr/skills.md#run-and-verify-your-app) |165| `/verify` | **[Skill](https://code.claude.com/docs/fr/skills.md#bundled-skills).** Confirmer qu'une modification de code fait ce qu'elle doit faire en compilant l'application de votre projet, en l'exécutant et en observant le résultat, plutôt qu'en se fiant aux tests ou aux vérifications de types. Consultez [Exécuter et vérifier votre application](https://code.claude.com/docs/fr/skills.md#run-and-verify-your-app) |

168| `/vim` | Supprimée en v2.1.92. Pour basculer entre les modes d'édition Vim et Normal, utilisez `/config` → Editor mode |166| `/vim` | Supprimée en v2.1.92. Pour basculer entre les modes d'édition Vim et Normal, utilisez `/config` → Editor mode |

169| `/voice [hold\|tap\|off]` | Activer ou désactiver la [dictée vocale](https://code.claude.com/docs/fr/voice-dictation.md), ou l'activer dans un mode spécifique. Nécessite un compte Claude.ai |167| `/voice [hold\|tap\|off]` | Activer ou désactiver la [dictée vocale](https://code.claude.com/docs/fr/voice-dictation.md), ou l'activer dans un mode spécifique. Nécessite un compte Claude.ai |

desktop.md +0 −4

Details

2261 2261 

2262L'application Desktop charge les serveurs MCP de `claude_desktop_config.json` dans les sessions de l'onglet Code local, aux côtés des serveurs de `~/.claude.json` et `.mcp.json`. Un serveur défini dans `claude_desktop_config.json` est disponible à la fois dans la surface de chat Desktop et dans les sessions de l'onglet Code local.2262L'application Desktop charge les serveurs MCP de `claude_desktop_config.json` dans les sessions de l'onglet Code local, aux côtés des serveurs de `~/.claude.json` et `.mcp.json`. Un serveur défini dans `claude_desktop_config.json` est disponible à la fois dans la surface de chat Desktop et dans les sessions de l'onglet Code local.

2263 2263 

2264Si vous définissez le même nom de serveur dans `claude_desktop_config.json` et dans `~/.claude.json` ou `.mcp.json`, l'onglet Code dans les sessions locales se connecte une fois et utilise la définition `claude_desktop_config.json`.

2265 

2266L'application réachemine également les serveurs stdio de `~/.claude.json` vers la CLI intégrée dans les sessions locales. Quand le niveau supérieur de `~/.claude.json` (portée utilisateur) et `.mcp.json` définissent le même nom de serveur stdio, l'onglet Code utilise la définition `~/.claude.json`, s'écartant de la [hiérarchie de portée](https://code.claude.com/docs/fr/mcp.md#scope-hierarchy-and-precedence) CLI.

2267 

2268> [!NOTE]2264> [!NOTE]

2269>2265>

2270> La CLI autonome ne lit pas `claude_desktop_config.json`. Sur macOS et WSL, exécutez `claude mcp add-from-claude-desktop` pour copier ces serveurs dans `~/.claude.json`. Voir [Importer les serveurs MCP de Claude Desktop](https://code.claude.com/docs/fr/mcp.md#import-mcp-servers-from-claude-desktop) pour le flux d'importation et les options de portée.2266> La CLI autonome ne lit pas `claude_desktop_config.json`. Sur macOS et WSL, exécutez `claude mcp add-from-claude-desktop` pour copier ces serveurs dans `~/.claude.json`. Voir [Importer les serveurs MCP de Claude Desktop](https://code.claude.com/docs/fr/mcp.md#import-mcp-servers-from-claude-desktop) pour le flux d'importation et les options de portée.

Details

71 71 

72Lancez **Claude** à partir de votre lanceur d'applications, ou exécutez `claude-desktop` à partir d'un terminal, et connectez-vous avec votre compte Anthropic.72Lancez **Claude** à partir de votre lanceur d'applications, ou exécutez `claude-desktop` à partir d'un terminal, et connectez-vous avec votre compte Anthropic.

73 73 

74L'application Linux se connecte de la même manière que sur macOS et Windows : avec un abonnement claude.ai, ou via le SSO de votre organisation. Pour l'authentification par clé API, utilisez la [CLI](https://code.claude.com/docs/fr/quickstart.md). Pour utiliser plutôt Desktop avec Amazon Bedrock, la plateforme Agent de Google Cloud, Microsoft Foundry ou une passerelle LLM, consultez [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). Pour les proxys et les autorités de certification personnalisées dans ces déploiements, consultez la [configuration réseau](https://code.claude.com/docs/fr/network-config.md).74L'application Linux se connecte de la même manière que sur macOS et Windows : avec un abonnement claude.ai, ou via le SSO de votre organisation. Pour utiliser plutôt Desktop avec une clé API Claude, Amazon Bedrock, la plateforme Agent de Google Cloud, Microsoft Foundry ou une passerelle LLM, consultez [Claude Desktop on 3P](https://claude.com/docs/third-party/claude-desktop/overview). Pour les proxys et les autorités de certification personnalisées dans ces déploiements, consultez la [configuration réseau](https://code.claude.com/docs/fr/network-config.md).

75 75 

76### Installer à partir d'un fichier téléchargé76### Installer à partir d'un fichier téléchargé

77 77 

Details

83 83 

84**8. Choisir le mode de permission et le modèle**84**8. Choisir le mode de permission et le modèle**

85 85 

86Dans la barre d'outils de la zone d'instructions, sélectionnez un [mode de permission](#permissions-for-scheduled-tasks) et un modèle. Si vous ne les modifiez pas, les exécutions utilisent vos paramètres Claude Code et le modèle par défaut.86Dans la barre d'outils de la zone d'instructions, sélectionnez un [mode de permission](#permissions-for-scheduled-tasks) et un modèle.

87 

88* **Mode de permission** : si vous ne le modifiez pas, les exécutions utilisent vos paramètres Claude Code.

89* **Modèle** : si le menu des modèles affiche **Default · Set by admin** et que vous ne choisissez pas un autre modèle, les exécutions utilisent le modèle défini par votre organisation dans les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md). Une [exécution de rattrapage](#missed-runs) qui démarre à l'ouverture de l'application peut plutôt utiliser le [modèle par défaut à l'exécution pour votre compte](https://code.claude.com/docs/fr/model-config.md#default-model-setting).

87 90 

88**9. Créer la tâche**91**9. Créer la tâche**

89 92 

90Cliquez sur **Create**. Si vous n'avez pas encore approuvé le dossier, Desktop vous demande de l'approuver à ce moment-là. La page de détails de la tâche s'ouvre.93Cliquez sur **Create**. Si vous n'avez pas encore approuvé le dossier, Desktop vous demande de l'approuver à ce moment-là. La page de détails de la tâche s'ouvre.

91 94 

95Pour savoir à quel modèle correspond **Default · Set by admin**, cliquez sur **Run now** sur la page de détails pour exécuter la tâche immédiatement. Ensuite, [ouvrez la session de l'exécution](#find-a-runs-session) : la ligne située sous la zone de prompt affiche le nom du modèle.

96 

92Sur la page de détails, cliquez sur l'icône en forme de crayon pour ouvrir le [formulaire **Edit**](#manage-scheduled-tasks). Vous pouvez y modifier la **Description** que Desktop a remplie à partir de vos instructions, sélectionner **Worktree** ou passer la planification en **Manual** ou **Custom**.97Sur la page de détails, cliquez sur l'icône en forme de crayon pour ouvrir le [formulaire **Edit**](#manage-scheduled-tasks). Vous pouvez y modifier la **Description** que Desktop a remplie à partir de vos instructions, sélectionner **Worktree** ou passer la planification en **Manual** ou **Custom**.

93 98 

94Vous pouvez également créer une tâche en décrivant ce que vous souhaitez dans n'importe quelle session. Par exemple, « configurer une revue de code quotidienne qui s'exécute chaque matin à 9h » crée une tâche récurrente. Une demande comme « rappelle-moi à 15h demain de vérifier le déploiement » crée une tâche unique qui se désactive après son exécution.99Vous pouvez également créer une tâche en décrivant ce que vous souhaitez dans n'importe quelle session. Par exemple, « configurer une revue de code quotidienne qui s'exécute chaque matin à 9h » crée une tâche récurrente. Une demande comme « rappelle-moi à 15h demain de vérifier le déploiement » crée une tâche unique qui se désactive après son exécution.


181 186 

182Pour permettre à une tâche de modifier sa propre planification ou son prompt avec l'outil MCP `update_scheduled_task`, cliquez sur **Run now** et approuvez l'appel à chaque fois.187Pour permettre à une tâche de modifier sa propre planification ou son prompt avec l'outil MCP `update_scheduled_task`, cliquez sur **Run now** et approuvez l'appel à chaque fois.

183 188 

184Pour modifier le prompt d'une tâche sur le disque, ouvrez `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (ou sous [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/fr/env-vars) si défini). Le fichier utilise le frontmatter YAML pour `name` et `description`, avec le prompt comme corps. Les modifications prennent effet à la prochaine exécution. La planification, le dossier, le modèle et l'état activé ne sont pas dans ce fichier : modifiez-les via le formulaire Edit ou demandez à Claude.189Pour modifier le prompt d'une tâche sur le disque, ouvrez `~/.claude/scheduled-tasks/<task-name>/SKILL.md` (ou sous [`CLAUDE_CONFIG_DIR`](https://code.claude.com/docs/fr/env-vars) si défini). Le fichier utilise le frontmatter YAML pour `name` et `description`, avec le prompt comme corps. Les modifications prennent effet à la prochaine exécution. La planification, le dossier et l'état activé ne sont pas dans ce fichier : modifiez-les via le formulaire Edit ou demandez à Claude.

185 190 

186## Ressources connexes191## Ressources connexes

187 192 

env-vars.md +7 −3

Details

211| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Remplace la [connexion IDE](https://code.claude.com/docs/fr/vs-code.md) 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`](https://code.claude.com/docs/fr/settings-reference#autoconnectide) |211| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Remplace la [connexion IDE](https://code.claude.com/docs/fr/vs-code.md) 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`](https://code.claude.com/docs/fr/settings-reference#autoconnectide) |

212| `CLAUDE_CODE_AUTO_MODE_MODEL` | Définit le modèle des requêtes de classifieur que Claude Code envoie en [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode). Utilisez un ID de modèle complet comme `claude-sonnet-4-6`. Pour les cas où Claude Code l'ignore, consultez [Choisir le modèle du classifieur](https://code.claude.com/docs/fr/permission-modes.md#choose-the-classifier-model). Nécessite Claude Code v2.1.302 ou ultérieur |212| `CLAUDE_CODE_AUTO_MODE_MODEL` | Définit le modèle des requêtes de classifieur que Claude Code envoie en [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode). Utilisez un ID de modèle complet comme `claude-sonnet-4-6`. Pour les cas où Claude Code l'ignore, consultez [Choisir le modèle du classifieur](https://code.claude.com/docs/fr/permission-modes.md#choose-the-classifier-model). Nécessite Claude Code v2.1.302 ou ultérieur |

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

214| `CLAUDE_CODE_AUTOMOUNT_ROOTS` | Dossiers racines de montage automatique que Claude Code doit ignorer lorsqu'il recherche, dans les dossiers situés au-dessus de votre répertoire de travail, des fichiers tels que `CLAUDE.md`, les skills et `.mcp.json`. Définissez-la lorsque ces recherches attendent votre automonteur. Séparez plusieurs chemins par `:` sous Unix ou `;` sous Windows, et indiquez chacun sous forme de chemin absolu ne contenant aucun lien symbolique. Nécessite Claude Code v2.1.323 ou ultérieur |

214| `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 échoue avec [`AWS default-chain credential resolve timed out`](https://code.claude.com/docs/fr/errors#aws-default-chain-credential-resolve-timed-out) (par défaut : `60000`). Augmentez-le lorsqu'une étape de votre chaîne nécessite légitimement plus de temps, comme une connexion SSO via navigateur avec MFA au travers d'un wrapper comme `aws-vault`. S'applique sur Amazon Bedrock, [Claude Platform on AWS](https://code.claude.com/docs/fr/claude-platform-on-aws.md) et l'[endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#use-the-mantle-endpoint). Consultez [mise en cache des identifiants et délai d'expiration de résolution](https://code.claude.com/docs/fr/amazon-bedrock.md#credential-caching-and-resolution-timeout). Nécessite Claude Code v2.1.207 ou ultérieur |215| `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 échoue avec [`AWS default-chain credential resolve timed out`](https://code.claude.com/docs/fr/errors#aws-default-chain-credential-resolve-timed-out) (par défaut : `60000`). Augmentez-le lorsqu'une étape de votre chaîne nécessite légitimement plus de temps, comme une connexion SSO via navigateur avec MFA au travers d'un wrapper comme `aws-vault`. S'applique sur Amazon Bedrock, [Claude Platform on AWS](https://code.claude.com/docs/fr/claude-platform-on-aws.md) et l'[endpoint Mantle](https://code.claude.com/docs/fr/amazon-bedrock.md#use-the-mantle-endpoint). Consultez [mise en cache des identifiants et délai d'expiration de résolution](https://code.claude.com/docs/fr/amazon-bedrock.md#credential-caching-and-resolution-timeout). Nécessite Claude Code v2.1.207 ou ultérieur |

215| `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](https://code.claude.com/docs/fr/hooks.md#bash), ou sur `1` pour l'enregistrer dans tous les modes de permission. Prioritaire sur le paramètre [`bashEditDiffEnabled`](https://code.claude.com/docs/fr/settings-reference#basheditdiffenabled). Nécessite Claude Code v2.1.269 ou ultérieur |216| `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](https://code.claude.com/docs/fr/hooks.md#bash), ou sur `1` pour l'enregistrer dans tous les modes de permission. Prioritaire sur le paramètre [`bashEditDiffEnabled`](https://code.claude.com/docs/fr/settings-reference#basheditdiffenabled). Nécessite Claude Code v2.1.269 ou ultérieur |

216| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Définissez sur `0` pour qu'une session non interactive signale un statut inactif à son hôte à chaque fin de tour, même si du travail en arrière-plan est encore en cours. Par défaut, la session continue de signaler un statut en cours d'exécution après la fin du tour tant qu'un travail en arrière-plan, comme un agent en arrière-plan ou une exécution de [workflow](https://code.claude.com/docs/fr/workflows.md), est encore actif. Cela évite qu'un hôte qui surveille le statut, comme une liste de sessions distantes, annonce que Claude attend votre saisie en plein travail. Les commandes shell en arrière-plan, comme un serveur de développement, ne maintiennent pas le statut en cours d'exécution. Le statut en cours d'exécution par défaut et la désactivation via `0` nécessitent Claude Code v2.1.269 ou ultérieur ; sur les versions antérieures, définissez `1` pour maintenir le statut en cours d'exécution |217| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Définissez sur `0` pour qu'une session non interactive signale un statut inactif à son hôte à chaque fin de tour, même si du travail en arrière-plan est encore en cours. Par défaut, la session continue de signaler un statut en cours d'exécution après la fin du tour tant qu'un travail en arrière-plan, comme un agent en arrière-plan ou une exécution de [workflow](https://code.claude.com/docs/fr/workflows.md), est encore actif. Cela évite qu'un hôte qui surveille le statut, comme une liste de sessions distantes, annonce que Claude attend votre saisie en plein travail. Les commandes shell en arrière-plan, comme un serveur de développement, ne maintiennent pas le statut en cours d'exécution. Le statut en cours d'exécution par défaut et la désactivation via `0` nécessitent Claude Code v2.1.269 ou ultérieur ; sur les versions antérieures, définissez `1` pour maintenir le statut en cours d'exécution |


298| `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` | Définissez sur `1` pour [exécuter les commandes `rm` dangereuses sans demande](https://code.claude.com/docs/fr/permission-modes#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) en mode `bypassPermissions`, ce qui supprime une demande de sécurité pour les suppressions destructrices. La section liée indique où elle n'a aucun effet. [Définissez-la dans l'environnement qui lance Claude Code](#set-variables-in-your-shell), car Claude Code [l'ignore dans un bloc `env` des paramètres](https://code.claude.com/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Nécessite Claude Code v2.1.311 ou ultérieur |299| `CLAUDE_CODE_EVEN_MORE_DANGEROUSLY_SKIP_PERMISSIONS` | Définissez sur `1` pour [exécuter les commandes `rm` dangereuses sans demande](https://code.claude.com/docs/fr/permission-modes#turn-off-the-critical-path-removal-prompt-in-bypasspermissions-mode) en mode `bypassPermissions`, ce qui supprime une demande de sécurité pour les suppressions destructrices. La section liée indique où elle n'a aucun effet. [Définissez-la dans l'environnement qui lance Claude Code](#set-variables-in-your-shell), car Claude Code [l'ignore dans un bloc `env` des paramètres](https://code.claude.com/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Nécessite Claude Code v2.1.311 ou ultérieur |

299| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Durée en millisecondes à attendre après que la boucle de requêtes est devenue inactive avant de quitter automatiquement. Utile pour les workflows automatisés et les scripts utilisant le mode SDK |300| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Durée en millisecondes à attendre après que la boucle de requêtes est devenue inactive avant de quitter automatiquement. Utile pour les workflows automatisés et les scripts utilisant le mode SDK |

300| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définissez sur `1` pour activer les [équipes d'agents](https://code.claude.com/docs/fr/agent-teams.md). Les équipes d'agents sont expérimentales et désactivées par défaut |301| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définissez sur `1` pour activer les [équipes d'agents](https://code.claude.com/docs/fr/agent-teams.md). Les équipes d'agents sont expérimentales et désactivées par défaut |

302| `CLAUDE_CODE_EXPERIMENTAL_CODE_MODE` | Définissez sur `1` pour démarrer les sessions en [Code Mode](https://code.claude.com/docs/fr/code-mode.md), une fonctionnalité expérimentale. Définissez sur `0` pour le laisser désactivé, ou dans les paramètres gérés pour [le bloquer pour une organisation](https://code.claude.com/docs/fr/code-mode.md#block-code-mode-for-your-organization). La variable [n'est pas prise en compte dans tous les fichiers de paramètres](https://code.claude.com/docs/fr/settings-reference.md#variables-claude-code-ignores-in-env). Consultez les [exigences de version et de compte](https://code.claude.com/docs/fr/code-mode.md#requirements) |

301| `CLAUDE_CODE_EXTRA_BODY` | Objet JSON à fusionner au niveau supérieur des corps de requêtes au modèle, sauf pour certaines requêtes extérieures à la conversation, comme les vérifications de `/model`. Utile pour transmettre des paramètres propres à un fournisseur que Claude Code n'expose pas directement. Une valeur exportée dans votre shell s'applique aussi aux [sessions en arrière-plan](https://code.claude.com/docs/fr/agent-view.md) que vous lancez avec `claude agents` ou `--bg`. Avant la v2.1.206, les sessions en arrière-plan ignoraient une valeur exportée dans le shell et utilisaient la copie héritée par le processus superviseur en arrière-plan |303| `CLAUDE_CODE_EXTRA_BODY` | Objet JSON à fusionner au niveau supérieur des corps de requêtes au modèle, sauf pour certaines requêtes extérieures à la conversation, comme les vérifications de `/model`. Utile pour transmettre des paramètres propres à un fournisseur que Claude Code n'expose pas directement. Une valeur exportée dans votre shell s'applique aussi aux [sessions en arrière-plan](https://code.claude.com/docs/fr/agent-view.md) que vous lancez avec `claude agents` ou `--bg`. Avant la v2.1.206, les sessions en arrière-plan ignoraient une valeur exportée dans le shell et utilisaient la copie héritée par le processus superviseur en arrière-plan |

302| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Remplace la limite de tokens par défaut pour les [lectures de fichiers](https://code.claude.com/docs/fr/tools-reference.md#large-files), qui est de 25 000 tokens. Utile lorsque vous devez lire intégralement des fichiers plus volumineux. Une lecture effectuée par Claude avec le paramètre `allow_large` peut dépasser cette limite lorsque la fenêtre de contexte dispose de place |304| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Remplace la limite de tokens par défaut pour les [lectures de fichiers](https://code.claude.com/docs/fr/tools-reference.md#large-files), qui est de 25 000 tokens. Utile lorsque vous devez lire intégralement des fichiers plus volumineux. Une lecture effectuée par Claude avec le paramètre `allow_large` peut dépasser cette limite lorsque la fenêtre de contexte dispose de place |

303| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Définissez sur `1` pour forcer la persistance de la transcription, l'historique des prompts et l'enregistrement dans `claude agents` même lorsque ce `claude` a été lancé depuis une autre session Claude Code. À utiliser lorsqu'une valeur `CLAUDE_CODE_CHILD_SESSION` héritée, par exemple d'une session `screen` ou d'un lanceur en arrière-plan démarré initialement par l'outil Bash de Claude Code, fait qu'une véritable session de premier niveau est classée à tort comme imbriquée. Depuis la v2.1.178, Claude Code détecte automatiquement le cas de tmux et ignore le marqueur hérité, de sorte que tmux n'a plus besoin de cette variable. Également prise en compte dans la v2.1.169 et les versions antérieures ; sans effet dans les v2.1.170 et v2.1.171, où la détection des sessions imbriquées qu'elle remplace avait été supprimée |305| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Définissez sur `1` pour forcer la persistance de la transcription, l'historique des prompts et l'enregistrement dans `claude agents` même lorsque ce `claude` a été lancé depuis une autre session Claude Code. À utiliser lorsqu'une valeur `CLAUDE_CODE_CHILD_SESSION` héritée, par exemple d'une session `screen` ou d'un lanceur en arrière-plan démarré initialement par l'outil Bash de Claude Code, fait qu'une véritable session de premier niveau est classée à tort comme imbriquée. Depuis la v2.1.178, Claude Code détecte automatiquement le cas de tmux et ignore le marqueur hérité, de sorte que tmux n'a plus besoin de cette variable. Également prise en compte dans la v2.1.169 et les versions antérieures ; sans effet dans les v2.1.170 et v2.1.171, où la détection des sessions imbriquées qu'elle remplace avait été supprimée |


348| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour vider les spans OpenTelemetry en attente (par défaut : 5000). Consultez [Surveillance](https://code.claude.com/docs/fr/monitoring-usage.md) |350| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour vider les spans OpenTelemetry en attente (par défaut : 5000). Consultez [Surveillance](https://code.claude.com/docs/fr/monitoring-usage.md) |

349| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle d'actualisation des en-têtes OpenTelemetry dynamiques, en millisecondes (par défaut : 1740000 / 29 minutes). Consultez [En-têtes dynamiques](https://code.claude.com/docs/fr/monitoring-usage.md#dynamic-headers) |351| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle d'actualisation des en-têtes OpenTelemetry dynamiques, en millisecondes (par défaut : 1740000 / 29 minutes). Consultez [En-têtes dynamiques](https://code.claude.com/docs/fr/monitoring-usage.md#dynamic-headers) |

350| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Délai d'expiration en millisecondes accordé à l'exportateur OpenTelemetry pour terminer lors de l'arrêt (par défaut : 2000). Augmentez-le si des métriques sont perdues à la sortie. Consultez [Surveillance](https://code.claude.com/docs/fr/monitoring-usage.md) |352| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Délai d'expiration en millisecondes accordé à l'exportateur OpenTelemetry pour terminer lors de l'arrêt (par défaut : 2000). Augmentez-le si des métriques sont perdues à la sortie. Consultez [Surveillance](https://code.claude.com/docs/fr/monitoring-usage.md) |

351| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | Délai initial en millisecondes, à la place de la valeur par défaut de 500, du backoff exponentiel entre les [nouvelles tentatives automatiques](https://code.claude.com/docs/fr/errors.md#tune-retry-behavior) d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le pour étaler les nouvelles tentatives sur une période plus longue lorsque l'API est saturée. Indiquez des millisecondes entières de 500 à 32000 en chiffres simples ; Claude Code traite toute autre valeur comme non définie. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](https://code.claude.com/docs/fr/fast-mode.md#handle-rate-limits). Nécessite Claude Code v2.1.292 ou ultérieur |353| `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS` | Délai initial en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur `529` de surcharge (par défaut : 500). Augmentez-le pour répartir les nouvelles tentatives sur une période plus longue lorsque l'API est à pleine capacité. Indiquez des millisecondes entières de 500 à 32 000 en chiffres simples ; Claude Code traite toute autre valeur comme non définie. Consultez [quand elle n'a aucun effet](https://code.claude.com/docs/fr/errors.md#tune-retry-behavior). Nécessite Claude Code v2.1.292 ou ultérieur |

352| `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` | Plafond en millisecondes, à la place de la valeur par défaut de 32000, du backoff exponentiel entre les [nouvelles tentatives automatiques](https://code.claude.com/docs/fr/errors.md#tune-retry-behavior) d'une requête que l'API rejette avec une erreur de surcharge `529`. Augmentez-le pour que les tentatives ultérieures continuent de s'espacer lorsque l'API est saturée. Indiquez des millisecondes entières de 32000 à 64000 en chiffres simples ; Claude Code traite toute autre valeur comme non définie. Sans effet lorsque `CLAUDE_CODE_RETRY_WATCHDOG` est défini sur `1`, ou lorsque la requête rejetée a été envoyée en [mode rapide](https://code.claude.com/docs/fr/fast-mode.md#handle-rate-limits). Nécessite Claude Code v2.1.296 ou ultérieur |354| `CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS` | Plafond en millisecondes du backoff entre les nouvelles tentatives d'une requête que l'API rejette avec une erreur `529` de surcharge (par défaut : 32 000). Augmentez-le pour que les nouvelles tentatives ultérieures continuent de s'espacer. Indiquez des millisecondes entières de 32 000 à 300 000 en chiffres simples ; Claude Code traite toute autre valeur comme non définie. Les valeurs supérieures à 64 000 nécessitent la v2.1.323 ou ultérieure. Consultez [quand elle n'a aucun effet](https://code.claude.com/docs/fr/errors.md#tune-retry-behavior). Nécessite Claude Code v2.1.296 ou ultérieur |

353| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Définissez sur `1` pour permettre à Claude Code d'exécuter en arrière-plan la commande de mise à niveau de votre gestionnaire de paquets lorsqu'une nouvelle version est disponible. S'applique aux installations Homebrew et WinGet. Les autres gestionnaires de paquets continuent d'afficher la commande de mise à niveau sans l'exécuter. Consultez [Mises à jour automatiques](https://code.claude.com/docs/fr/setup.md#auto-updates) |355| `CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE` | Définissez sur `1` pour permettre à Claude Code d'exécuter en arrière-plan la commande de mise à niveau de votre gestionnaire de paquets lorsqu'une nouvelle version est disponible. S'applique aux installations Homebrew et WinGet. Les autres gestionnaires de paquets continuent d'afficher la commande de mise à niveau sans l'exécuter. Consultez [Mises à jour automatiques](https://code.claude.com/docs/fr/setup.md#auto-updates) |

354| `CLAUDE_CODE_PERFORCE_MODE` | Définissez sur `1` pour activer la protection en écriture compatible avec Perforce. Lorsqu'elle est définie, Edit, Write et NotebookEdit échouent avec une indication `p4 edit <file>` si le fichier cible n'a pas le bit d'écriture du propriétaire, que Perforce retire des fichiers synchronisés jusqu'à ce que `p4 edit` les ouvre. Cela empêche Claude Code de contourner le suivi des modifications de Perforce |356| `CLAUDE_CODE_PERFORCE_MODE` | Définissez sur `1` pour activer la protection en écriture compatible avec Perforce. Lorsqu'elle est définie, Edit, Write et NotebookEdit échouent avec une indication `p4 edit <file>` si le fichier cible n'a pas le bit d'écriture du propriétaire, que Perforce retire des fichiers synchronisés jusqu'à ce que `p4 edit` les ouvre. Cela empêche Claude Code de contourner le suivi des modifications de Perforce |

355| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Remplace le répertoire racine des plugins. Malgré son nom, cette variable définit le répertoire parent, et non le cache lui-même : les marketplaces et le cache des plugins se trouvent dans des sous-répertoires de ce chemin. Par défaut `~/.claude/plugins` |357| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Remplace le répertoire racine des plugins. Malgré son nom, cette variable définit le répertoire parent, et non le cache lui-même : les marketplaces et le cache des plugins se trouvent dans des sous-répertoires de ce chemin. Par défaut `~/.claude/plugins` |


370| `CLAUDE_CODE_REMOTE` | Définie automatiquement sur `true` lorsque Claude Code s'exécute en tant que [session cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md). Lisez-la depuis un hook ou un script de configuration pour détecter si vous êtes dans une session cloud |372| `CLAUDE_CODE_REMOTE` | Définie automatiquement sur `true` lorsque Claude Code s'exécute en tant que [session cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md). Lisez-la depuis un hook ou un script de configuration pour détecter si vous êtes dans une session cloud |

371| `CLAUDE_CODE_REMOTE_SESSION_ID` | Définie automatiquement dans les [sessions cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md) sur l'identifiant de la session en cours. Lisez-la pour construire un lien vers la transcription de la session. Consultez [Relier la sortie à la session](https://code.claude.com/docs/fr/cloud-environments.md#link-output-back-to-the-session) |373| `CLAUDE_CODE_REMOTE_SESSION_ID` | Définie automatiquement dans les [sessions cloud](https://code.claude.com/docs/fr/claude-code-on-the-web.md) sur l'identifiant de la session en cours. Lisez-la pour construire un lien vers la transcription de la session. Consultez [Relier la sortie à la session](https://code.claude.com/docs/fr/cloud-environments.md#link-output-back-to-the-session) |

372| `CLAUDE_CODE_RESTRICTED` | Définissez sur `1` pour démarrer la session en mode restreint, comme en transmettant [`--restricted`](https://code.claude.com/docs/fr/cli-reference#cli-flags). Claude Code ignore cette variable dans le bloc `env` d'un fichier de paramètres. Nécessite Claude Code v2.1.248 ou ultérieur |374| `CLAUDE_CODE_RESTRICTED` | Définissez sur `1` pour démarrer la session en mode restreint, comme en transmettant [`--restricted`](https://code.claude.com/docs/fr/cli-reference#cli-flags). Claude Code ignore cette variable dans le bloc `env` d'un fichier de paramètres. Nécessite Claude Code v2.1.248 ou ultérieur |

375| `CLAUDE_CODE_RESUME_HINT_COMMAND` | Dans un script wrapper qui démarre Claude Code, définissez-la sur le nom que vous tapez pour exécuter le wrapper, comme `mytool`. Une session locale affiche alors `mytool --resume <session-id>` à la sortie à la place de `claude --resume <session-id>`. Claude Code ignore un nom qui ne correspond pas à `^\w[\w-]*$`. Il ignore également la variable dans le bloc `env` d'un fichier de paramètres. Nécessite Claude Code v2.1.323 ou ultérieur |

373| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Définissez sur `1` pour reprendre automatiquement si la session précédente s'est terminée au milieu d'un tour. Utilisée en mode SDK pour que le modèle continue sans que le SDK ait à renvoyer le prompt. Pour la désactiver, supprimez la variable ou définissez-la sur `0`. Pour le panneau de chat VS Code, consultez [Poursuivre les conversations après un rechargement](https://code.claude.com/docs/fr/vs-code.md#continue-conversations-after-a-reload) |376| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Définissez sur `1` pour reprendre automatiquement si la session précédente s'est terminée au milieu d'un tour. Utilisée en mode SDK pour que le modèle continue sans que le SDK ait à renvoyer le prompt. Pour la désactiver, supprimez la variable ou définissez-la sur `0`. Pour le panneau de chat VS Code, consultez [Poursuivre les conversations après un rechargement](https://code.claude.com/docs/fr/vs-code.md#continue-conversations-after-a-reload) |

374| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Âge maximal en millisecondes du dernier message de la transcription pour qu'une session terminée au milieu d'un tour continue automatiquement à la reprise. Lorsque le dernier message est plus ancien que cette limite, Claude Code ignore la reprise automatique de `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` et son message de continuation `CLAUDE_CODE_RESUME_PROMPT`, et la session démarre inactive pour que vous continuiez explicitement. Non définie ou `0` ne fixe aucune limite, sauf que certains tours ne reprennent que dans les six heures suivant leur dernier message, comme un tour terminé par une erreur d'API. Une valeur positive limite tous les tours, y compris ceux-là ; une valeur négative ou non numérique applique une limite d'une heure. Les scripts de lancement d'agents de longue durée peuvent la définir pour qu'un redémarrage sur une ancienne transcription ne réexécute pas un prompt obsolète. Claude Code fixe lui-même une limite d'une heure lorsqu'il redémarre une session de la [vue des agents](https://code.claude.com/docs/fr/agent-view.md) plantée qui a hérité sa conversation d'une session interactive. Nécessite Claude Code v2.1.211 ou ultérieur |377| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Âge maximal en millisecondes du dernier message de la transcription pour qu'une session terminée au milieu d'un tour continue automatiquement à la reprise. Lorsque le dernier message est plus ancien que cette limite, Claude Code ignore la reprise automatique de `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` et son message de continuation `CLAUDE_CODE_RESUME_PROMPT`, et la session démarre inactive pour que vous continuiez explicitement. Non définie ou `0` ne fixe aucune limite, sauf que certains tours ne reprennent que dans les six heures suivant leur dernier message, comme un tour terminé par une erreur d'API. Une valeur positive limite tous les tours, y compris ceux-là ; une valeur négative ou non numérique applique une limite d'une heure. Les scripts de lancement d'agents de longue durée peuvent la définir pour qu'un redémarrage sur une ancienne transcription ne réexécute pas un prompt obsolète. Claude Code fixe lui-même une limite d'une heure lorsqu'il redémarre une session de la [vue des agents](https://code.claude.com/docs/fr/agent-view.md) plantée qui a hérité sa conversation d'une session interactive. Nécessite Claude Code v2.1.211 ou ultérieur |

375| `CLAUDE_CODE_RESUME_PROMPT` | Remplace le message de continuation que Claude Code envoie à Claude lorsque `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` poursuit un tour interrompu au lieu de renvoyer son prompt, ou lorsque vous reprenez un [appel d'outil différé](https://code.claude.com/docs/fr/hooks.md#defer-a-tool-call-for-later) avec `-p`. Par défaut `Continue from where you left off.`. Une chaîne vide utilise la valeur par défaut |378| `CLAUDE_CODE_RESUME_PROMPT` | Remplace le message de continuation que Claude Code envoie à Claude lorsque `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` poursuit un tour interrompu au lieu de renvoyer son prompt, ou lorsque vous reprenez un [appel d'outil différé](https://code.claude.com/docs/fr/hooks.md#defer-a-tool-call-for-later) avec `-p`. Par défaut `Continue from where you left off.`. Une chaîne vide utilise la valeur par défaut |


405| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définissez sur `1` pour retirer les identifiants des environnements des sous-processus lancés par Claude Code, tels que les commandes Bash, les hooks et les serveurs MCP stdio. Le nettoyage reconnaît un identifiant à son nom de variable ou à sa valeur, et laisse en place les jetons GitHub et les paramètres de proxy. Consultez [Ce que supprime le nettoyage de l'environnement des sous-processus](#what-the-subprocess-environment-scrub-removes). `claude-code-action` la définit automatiquement lorsque `allowed_non_write_users` est configuré |408| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définissez sur `1` pour retirer les identifiants des environnements des sous-processus lancés par Claude Code, tels que les commandes Bash, les hooks et les serveurs MCP stdio. Le nettoyage reconnaît un identifiant à son nom de variable ou à sa valeur, et laisse en place les jetons GitHub et les paramètres de proxy. Consultez [Ce que supprime le nettoyage de l'environnement des sous-processus](#what-the-subprocess-environment-scrub-removes). `claude-code-action` la définit automatiquement lorsque `allowed_non_write_users` est configuré |

406| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définissez sur `1` en mode non interactif (le flag `-p`) pour attendre la fin de l'installation des plugins avant la première requête. Sans cela, les plugins s'installent en arrière-plan et peuvent ne pas être disponibles au premier tour. Combinez avec `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` pour limiter l'attente |409| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définissez sur `1` en mode non interactif (le flag `-p`) pour attendre la fin de l'installation des plugins avant la première requête. Sans cela, les plugins s'installent en arrière-plan et peuvent ne pas être disponibles au premier tour. Combinez avec `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` pour limiter l'attente |

407| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour l'installation synchrone des plugins. Une fois dépassé, Claude Code continue sans les plugins et consigne une erreur. Aucune valeur par défaut : sans cette variable, l'installation synchrone attend jusqu'à la fin |410| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour l'installation synchrone des plugins. Une fois dépassé, Claude Code continue sans les plugins et consigne une erreur. Aucune valeur par défaut : sans cette variable, l'installation synchrone attend jusqu'à la fin |

408| `CLAUDE_CODE_SYNC_SKILLS` | Définissez sur `1` en mode non interactif avec le flag `-p` pour que Claude Code télécharge les skills activés pour votre compte claude.ai lors de cette exécution et attende leur liste, jusqu'à `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, avant d'exécuter la première requête. Nécessite une authentification claude.ai. Les sessions de terminal dans lesquelles vous vous connectez avec votre compte claude.ai [synchronisent ces skills](https://code.claude.com/docs/fr/skills.md#where-synced-skills-load) sans cette variable ; ne la définissez donc que lorsqu'une exécution `-p` a besoin de vos skills actuels dès sa première requête |411| `CLAUDE_CODE_SYNC_SKILLS` | Définissez sur `1` pour que Claude Code télécharge les skills activés pour votre compte claude.ai. En mode non interactif avec le flag `-p`, Claude Code attend également jusqu'à `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` la liste des skills avant d'exécuter la première requête. Nécessite l'authentification claude.ai. Les sessions de terminal dans lesquelles vous vous connectez avec votre compte claude.ai [synchronisent ces skills](https://code.claude.com/docs/fr/skills.md#where-synced-skills-load) sans cette variable. Dans une session interactive, la variable nécessite v2.1.323 ou ultérieur |

409| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour la resynchronisation des skills exécutée en cours de session lorsqu'une application construite sur l'[Agent SDK](https://code.claude.com/docs/fr/agent-sdk/typescript.md#query-object) recharge les skills (par défaut : 30000). Une fois dépassé, le rechargement se poursuit avec les skills déjà arrivés, et les téléchargements restants se terminent en arrière-plan |412| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour la resynchronisation des skills exécutée en cours de session lorsqu'une application construite sur l'[Agent SDK](https://code.claude.com/docs/fr/agent-sdk/typescript.md#query-object) recharge les skills (par défaut : 30000). Une fois dépassé, le rechargement se poursuit avec les skills déjà arrivés, et les téléchargements restants se terminent en arrière-plan |

410| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Délai d'expiration en millisecondes pendant lequel la première requête attend la liste initiale des skills lorsque `CLAUDE_CODE_SYNC_SKILLS` est définie (par défaut : 5000). Une fois dépassé, la première requête s'exécute avec les skills déjà arrivés. Les téléchargements se terminent en arrière-plan dans tous les cas, et Claude attend le téléchargement d'un skill lorsqu'il invoque ce skill |413| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Délai d'expiration en millisecondes pendant lequel la première requête attend la liste initiale des skills lorsque `CLAUDE_CODE_SYNC_SKILLS` est définie (par défaut : 5000). Une fois dépassé, la première requête s'exécute avec les skills déjà arrivés. Les téléchargements se terminent en arrière-plan dans tous les cas, et Claude attend le téléchargement d'un skill lorsqu'il invoque ce skill |

411| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Définissez sur `false` pour désactiver la coloration syntaxique dans la sortie des diffs. Utile lorsque les couleurs interfèrent avec la configuration de votre terminal. Pour désactiver également la coloration dans les blocs de code et les aperçus de fichiers, utilisez le paramètre [`syntaxHighlightingDisabled`](https://code.claude.com/docs/fr/settings-reference#syntaxhighlightingdisabled) |414| `CLAUDE_CODE_SYNTAX_HIGHLIGHT` | Définissez sur `false` pour désactiver la coloration syntaxique dans la sortie des diffs. Utile lorsque les couleurs interfèrent avec la configuration de votre terminal. Pour désactiver également la coloration dans les blocs de code et les aperçus de fichiers, utilisez le paramètre [`syntaxHighlightingDisabled`](https://code.claude.com/docs/fr/settings-reference#syntaxhighlightingdisabled) |


585* Activer le [mod You should know](https://code.claude.com/docs/fr/interactive-mode.md#you-should-know-suggestions)588* Activer le [mod You should know](https://code.claude.com/docs/fr/interactive-mode.md#you-should-know-suggestions)

586* Utiliser [l'outil advisor](https://code.claude.com/docs/fr/advisor.md#requirements), sauf sur Claude Platform on AWS avec Claude Code v2.1.300 ou version ultérieure589* Utiliser [l'outil advisor](https://code.claude.com/docs/fr/advisor.md#requirements), sauf sur Claude Platform on AWS avec Claude Code v2.1.300 ou version ultérieure

587* Utiliser les [tâches MCP](https://code.claude.com/docs/fr/mcp.md#mcp-tasks-that-run-on-the-server)590* Utiliser les [tâches MCP](https://code.claude.com/docs/fr/mcp.md#mcp-tasks-that-run-on-the-server)

591* Activer le [Code Mode](https://code.claude.com/docs/fr/code-mode.md#requirements)

588* Lire les [commentaires sur un artefact](https://code.claude.com/docs/fr/artifacts.md#collect-comments-on-an-artifact) ou y répondre592* Lire les [commentaires sur un artefact](https://code.claude.com/docs/fr/artifacts.md#collect-comments-on-an-artifact) ou y répondre

589* Demander à Claude de lire [l'artefact public d'une autre organisation](https://code.claude.com/docs/fr/artifacts.md#read-an-artifact-shared-with-you)593* Demander à Claude de lire [l'artefact public d'une autre organisation](https://code.claude.com/docs/fr/artifacts.md#read-an-artifact-shared-with-you)

590* Obtenir l'[outil PowerShell](https://code.claude.com/docs/fr/tools-reference.md#powershell-tool) par défaut pour les comptes claude.ai et Console sous Windows avec Git Bash installé ; Claude Code fait passer les commandes shell par Git Bash, sauf si vous définissez `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Sous Windows sans Git Bash, l'outil reste activé594* Obtenir l'[outil PowerShell](https://code.claude.com/docs/fr/tools-reference.md#powershell-tool) par défaut pour les comptes claude.ai et Console sous Windows avec Git Bash installé ; Claude Code fait passer les commandes shell par Git Bash, sauf si vous définissez `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Sous Windows sans Git Bash, l'outil reste activé

errors.md +100 −15

Details

122| `A request to MCP server "<name>" was sent without your stored credentials` | [Authentification](#couldnt-read-the-stored-credentials-for-mcp-server) |122| `A request to MCP server "<name>" was sent without your stored credentials` | [Authentification](#couldnt-read-the-stored-credentials-for-mcp-server) |

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

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

125| `Stopped an OAuth request` | [Authentification](#stopped-an-oauth-request) |

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

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

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


153| `403` avec `GitHub GraphQL is not available from Claude Code sessions` dans une session cloud | [Proxy GitHub](https://code.claude.com/docs/fr/cloud-environments.md#github-proxy) |154| `403` avec `GitHub GraphQL is not available from Claude Code sessions` dans une session cloud | [Proxy GitHub](https://code.claude.com/docs/fr/cloud-environments.md#github-proxy) |

154| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Réseau](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |155| `The cloud environments service returned an empty response` / `The cloud environments service returned a response in an unexpected format` | [Réseau](#the-cloud-environments-service-returned-an-empty-or-unexpected-response) |

155| `Failed to fetch session from Sessions API: Failed to fetch session logs` | [Réseau](#failed-to-fetch-session-from-sessions-api) |156| `Failed to fetch session from Sessions API: Failed to fetch session logs` | [Réseau](#failed-to-fetch-session-from-sessions-api) |

157| `Couldn't load the history of cloud session` | [Réseau](#couldnt-load-the-history-of-cloud-session) |

156| `Couldn't reconnect to your Remote Control session` | [Réseau](#couldnt-reconnect-to-your-remote-control-session) |158| `Couldn't reconnect to your Remote Control session` | [Réseau](#couldnt-reconnect-to-your-remote-control-session) |

157| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Réseau](#sessions-ended-while-this-machine-was-offline) |159| `N sessions ended while this machine was offline — the environment was cleaned up on the server and can't be resumed.` | [Réseau](#sessions-ended-while-this-machine-was-offline) |

158| `Couldn't share the transcript.` | [Réseau](#couldnt-share-the-transcript) |160| `Couldn't share the transcript.` | [Réseau](#couldnt-share-the-transcript) |


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

181| `Extra inputs are not permitted` | [Erreurs de requête](#extra-inputs-are-not-permitted) |183| `Extra inputs are not permitted` | [Erreurs de requête](#extra-inputs-are-not-permitted) |

182| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [Erreurs de requête](#tool-input-schema-is-invalid) |184| `API Error: 400 ... tools.N.custom.input_schema: JSON schema is invalid` / `Property keys should match pattern` | [Erreurs de requête](#tool-input-schema-is-invalid) |

185| `N tools left out` à côté d'un serveur dans `/mcp` / `Claude wasn't given N tools because the Anthropic API would reject their input schemas` | [Outils avec des schémas d'entrée invalides](https://code.claude.com/docs/fr/mcp.md#tools-with-invalid-input-schemas) |

183| `Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128` | [Erreurs de requête](#mcp-tool-name-over-128-characters) |186| `Tool "mcp__<server>__<tool>" is not sent to Claude: its name has <N> characters and the API accepts at most 128` | [Erreurs de requête](#mcp-tool-name-over-128-characters) |

184| `tools.N.custom.name: String should have at most 128 characters` | [Erreurs de requête](#mcp-tool-name-over-128-characters) |187| `tools.N.custom.name: String should have at most 128 characters` | [Erreurs de requête](#mcp-tool-name-over-128-characters) |

185| `tool_use.name: String should have at most 200 characters` | [Erreurs de requête](#tool-use-name-over-200-characters) |188| `tool_use.name: String should have at most 200 characters` | [Erreurs de requête](#tool-use-name-over-200-characters) |


251| `Ultrareview did not start` | [Erreurs de ligne de commande](#ultrareview-did-not-start) |254| `Ultrareview did not start` | [Erreurs de ligne de commande](#ultrareview-did-not-start) |

252| `Remote Control did not start: "<question>" got no answer` | [Erreurs de ligne de commande](#remote-control-did-not-start-got-no-answer) |255| `Remote Control did not start: "<question>" got no answer` | [Erreurs de ligne de commande](#remote-control-did-not-start-got-no-answer) |

253| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Erreurs de ligne de commande](#not-carried-over-to-the-sessions-remote-control-starts) |256| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Erreurs de ligne de commande](#not-carried-over-to-the-sessions-remote-control-starts) |

257| `Remote Control did not start, because sessions would skip part or all of the --settings file` | [Erreurs de ligne de commande](#remote-control-did-not-start-because-of-the-settings-file) |

258| `The settings file <file> has changed since Remote Control started, so this session did not start` | [Erreurs de ligne de commande](#settings-file-changed-since-remote-control-started) |

254| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Erreurs de ligne de commande](#sandbox-is-not-supported-by-claude-remote-control) |259| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Erreurs de ligne de commande](#sandbox-is-not-supported-by-claude-remote-control) |

255| `` `claude import` is not yet available in this build `` | [Erreurs de ligne de commande](#claude-import-is-not-yet-available-in-this-build) |260| `` `claude import` is not yet available in this build `` | [Erreurs de ligne de commande](#claude-import-is-not-yet-available-in-this-build) |

256| `Could not read Claude Code config` | [Erreurs de ligne de commande](#could-not-read-claude-code-config) |261| `Could not read Claude Code config` | [Erreurs de ligne de commande](#could-not-read-claude-code-config) |


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

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

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

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

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

276| ``Couldn't run `<command>` for <name>. A file named HEAD or .git in this folder or one above it may not be yours``, depuis un skill qui injecte du contexte dynamique | [Vérifications de permission sur les commandes injectées](https://code.claude.com/docs/fr/skills.md#permission-checks-on-injected-commands) |

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

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

273| `Input must be provided either through stdin or as a prompt argument when using --print` | [Erreurs de ligne de commande](#input-must-be-provided-when-using-print) |279| `Input must be provided either through stdin or as a prompt argument when using --print` | [Erreurs de ligne de commande](#input-must-be-provided-when-using-print) |


425| `Workspace not trusted.` au démarrage ou au redémarrage d'une session en arrière-plan | [Erreurs de session en arrière-plan](#workspace-not-trusted-when-dispatching-a-background-session) |431| `Workspace not trusted.` au démarrage ou au redémarrage d'une session en arrière-plan | [Erreurs de session en arrière-plan](#workspace-not-trusted-when-dispatching-a-background-session) |

426| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Erreurs de session en arrière-plan](#eacces-when-starting-a-background-session) |432| `Claude Code is being updated by npm on this machine (still not runnable after 2 min, ...)` | [Erreurs de session en arrière-plan](#eacces-when-starting-a-background-session) |

427| `Claude Code process exited with code N` | [Erreurs de wrapper et d'IDE](#claude-code-process-exited-with-code-n) |433| `Claude Code process exited with code N` | [Erreurs de wrapper et d'IDE](#claude-code-process-exited-with-code-n) |

434| `Subprocess initialization did not complete within 60000ms` | [Erreurs de wrapper et d'IDE](#subprocess-initialization-did-not-complete-within-60000ms) |

435| `Claude Code did not finish starting` | [Erreurs de wrapper et d'IDE](#subprocess-initialization-did-not-complete-within-60000ms) |

428| `The connection to Claude Code ended before this message completed` | [Erreurs de wrapper et d'IDE](#the-connection-to-claude-code-ended-before-this-message-completed) |436| `The connection to Claude Code ended before this message completed` | [Erreurs de wrapper et d'IDE](#the-connection-to-claude-code-ended-before-this-message-completed) |

429| `Could not locate the Claude CLI on PATH` | [Erreurs de wrapper et d'IDE](#could-not-locate-the-claude-cli-on-path) |437| `Could not locate the Claude CLI on PATH` | [Erreurs de wrapper et d'IDE](#could-not-locate-the-claude-cli-on-path) |

430| `The Claude Code program for this computer, the <build> build, could not be found` | [Erreurs de wrapper et d'IDE](#the-claude-code-program-for-this-computer-could-not-be-found) |438| `The Claude Code program for this computer, the <build> build, could not be found` | [Erreurs de wrapper et d'IDE](#the-claude-code-program-for-this-computer-could-not-be-found) |


560| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS` | aucun plafond | Avec `CLAUDE_CODE_RETRY_WATCHDOG` défini, durée maximale en millisecondes pendant laquelle une requête attend la réinitialisation de la [limite d'utilisation](#youve-hit-your-session-limit) de votre plan, telle que la limite de session ou hebdomadaire. Lorsque la réinitialisation est plus éloignée que ce plafond, la requête échoue immédiatement, sauf si les crédits d'utilisation disposent encore d'une marge ou si l'API n'a pas pu les vérifier. Dans ces cas, elle est réessayée, et échoue si le plafond est dépassé avant qu'elle ne réussisse. Nécessite Claude Code v2.1.301 ou ultérieur. |568| `CLAUDE_CODE_RETRY_WATCHDOG_MAX_USAGE_LIMIT_WAIT_MS` | aucun plafond | Avec `CLAUDE_CODE_RETRY_WATCHDOG` défini, durée maximale en millisecondes pendant laquelle une requête attend la réinitialisation de la [limite d'utilisation](#youve-hit-your-session-limit) de votre plan, telle que la limite de session ou hebdomadaire. Lorsque la réinitialisation est plus éloignée que ce plafond, la requête échoue immédiatement, sauf si les crédits d'utilisation disposent encore d'une marge ou si l'API n'a pas pu les vérifier. Dans ces cas, elle est réessayée, et échoue si le plafond est dépassé avant qu'elle ne réussisse. Nécessite Claude Code v2.1.301 ou ultérieur. |

561| [`CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS`](https://code.claude.com/docs/fr/env-vars) | non défini | Intervalle minimal en millisecondes entre les vérifications visant à savoir si une [limite d'utilisation](#youve-hit-your-session-limit) a déjà été levée, pendant qu'une requête attend la réinitialisation de cette limite avec `CLAUDE_CODE_RETRY_WATCHDOG` défini. Lorsqu'une vérification constate que la limite a été levée, la requête part immédiatement. Indiquez uniquement des chiffres, de `60000` à `10800000`. Lorsqu'elle n'est pas définie ou se trouve hors de cette plage, aucune vérification n'est effectuée. Pour savoir quand Claude Code ignore ces vérifications, voir la [référence des variables d'environnement](https://code.claude.com/docs/fr/env-vars.md). Nécessite Claude Code v2.1.305 ou ultérieur. |569| [`CLAUDE_CODE_RETRY_WATCHDOG_USAGE_LIMIT_RECHECK_MS`](https://code.claude.com/docs/fr/env-vars) | non défini | Intervalle minimal en millisecondes entre les vérifications visant à savoir si une [limite d'utilisation](#youve-hit-your-session-limit) a déjà été levée, pendant qu'une requête attend la réinitialisation de cette limite avec `CLAUDE_CODE_RETRY_WATCHDOG` défini. Lorsqu'une vérification constate que la limite a été levée, la requête part immédiatement. Indiquez uniquement des chiffres, de `60000` à `10800000`. Lorsqu'elle n'est pas définie ou se trouve hors de cette plage, aucune vérification n'est effectuée. Pour savoir quand Claude Code ignore ces vérifications, voir la [référence des variables d'environnement](https://code.claude.com/docs/fr/env-vars.md). Nécessite Claude Code v2.1.305 ou ultérieur. |

562| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](https://code.claude.com/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](https://code.claude.com/docs/fr/fast-mode.md#handle-rate-limits). Nécessite Claude Code v2.1.292 ou ultérieur. |570| [`CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`](https://code.claude.com/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](https://code.claude.com/docs/fr/fast-mode.md#handle-rate-limits). Nécessite Claude Code v2.1.292 ou ultérieur. |

563| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](https://code.claude.com/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](https://code.claude.com/docs/fr/fast-mode.md#handle-rate-limits). Nécessite Claude Code v2.1.296 ou ultérieur. |571| [`CLAUDE_CODE_OVERLOADED_RETRY_MAX_DELAY_MS`](https://code.claude.com/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'à 300000, pour que les nouvelles tentatives ultérieures continuent de s'espacer lorsque l'API est à pleine capacité. Les valeurs supérieures à 64000 nécessitent v2.1.323 ou ultérieur. Sans effet dans les mêmes cas que `CLAUDE_CODE_OVERLOADED_RETRY_BASE_DELAY_MS`. Nécessite Claude Code v2.1.296 ou ultérieur. |

564| [`API_TIMEOUT_MS`](https://code.claude.com/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). |572| [`API_TIMEOUT_MS`](https://code.claude.com/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). |

565| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](https://code.claude.com/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. Pour le délai d'expiration de chaque tentative, voir [Durée d'attente d'une tentative sans streaming](#how-long-a-non-streaming-attempt-waits). Nécessite Claude Code v2.1.285 ou ultérieur. |573| [`CLAUDE_CODE_NONSTREAMING_TIMEOUT_RETRIES`](https://code.claude.com/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. Pour le délai d'expiration de chaque tentative, voir [Durée d'attente d'une tentative sans streaming](#how-long-a-non-streaming-attempt-waits). Nécessite Claude Code v2.1.285 ou ultérieur. |

566| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](https://code.claude.com/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). |574| [`CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS`](https://code.claude.com/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). |


825Les appels suivants dans la même réponse de Claude peuvent être refusés avec ce motif :833Les appels suivants dans la même réponse de Claude peuvent être refusés avec ce motif :

826 834 

827```text theme={null}835```text theme={null}

828another call in this response was changed by a hook after auto mode reviewed it, or could not be confirmed unchanged836another call in this response was changed after auto mode reviewed it, or could not be confirmed unchanged

829```837```

830 838 

831Claude peut alors émettre à nouveau chaque appel refusé afin que le serveur l'examine. Si une demande de permission s'ouvre, répondez-y. Vous n'avez rien d'autre à faire, sauf si Claude indique dans sa réponse que le mode auto n'a pas pu vérifier l'appel. Dans ce cas, arrêtez la modification ou approuvez l'appel vous-même, puis demandez à Claude de réessayer l'appel :839Claude peut alors émettre à nouveau chaque appel refusé afin que le serveur l'examine. Si une demande de permission s'ouvre, répondez-y. Vous n'avez rien d'autre à faire, sauf si Claude indique dans sa réponse que le mode auto n'a pas pu vérifier l'appel. Dans ce cas, arrêtez la modification ou approuvez l'appel vous-même, puis demandez à Claude de réessayer l'appel :


978 986 

979### You've hit your monthly spend limit987### You've hit your monthly spend limit

980 988 

981L'utilisation incluse de votre plan ne peut pas couvrir cette requête, et les [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) qui paieraient autrement pour cela ont atteint une limite de dépenses. Cela se produit quand l'une des fenêtres d'utilisation de votre plan s'est épuisée, ou quand la requête est une requête que seuls les crédits d'utilisation paient, comme une requête à un modèle qui [facture aux crédits d'utilisation](https://code.claude.com/docs/fr/model-config.md#fable-and-usage-credits). Le message nomme la limite qui vous a bloqué. Le texte après le `·` indique comment augmenter cette limite, et varie selon votre plan et si vous gérez la facturation :989L'utilisation incluse de votre plan ne peut pas couvrir cette requête, et les [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) qui paieraient autrement pour cela ont atteint une limite de dépenses. Votre plan ne peut pas couvrir une requête quand l'une de ses fenêtres d'utilisation s'est épuisée, ou quand seuls les crédits d'utilisation paient la requête. Par exemple, une requête à un modèle qui [facture aux crédits d'utilisation](https://code.claude.com/docs/fr/model-config.md#fable-and-usage-credits).

990 

991Les mots avant le `·` nomment la limite qui vous a bloqué, comme la limite de dépenses mensuelles de votre organisation, et le texte après indique comment faire augmenter cette limite. Dans une session cloud ou sous [Remote Control](https://code.claude.com/docs/fr/remote-control.md), ce texte ne donne aucune URL, et un message concernant votre propre `monthly spend limit` n'indique pas comment l'augmenter. Les autres sessions affichent des formes comme celles-ci :

982 992 

983```text theme={null}993```text theme={null}

984You've hit your monthly spend limit · raise it at https://claude.ai/settings/usage?from=cc_cli_limit_message994You've hit your monthly spend limit · raise it at https://claude.ai/settings/usage?from=cc_cli_limit_message


1822 1832 

1823Avant la v2.1.232, Claude Code n'utilisait le runtime v2 que dans le cadre d'un déploiement progressif ou lorsque vous définissiez `MCP_SDK_GENERATION=v2`.1833Avant la v2.1.232, Claude Code n'utilisait le runtime v2 que dans le cadre d'un déploiement progressif ou lorsque vous définissiez `MCP_SDK_GENERATION=v2`.

1824 1834 

1835### Stopped an OAuth request

1836 

1837Ce message signifie que Claude Code a arrêté une [requête OAuth pour un serveur MCP](https://code.claude.com/docs/fr/mcp.md#authenticate-with-remote-mcp-servers) parce qu'un endpoint OAuth l'a redirigée. Dans les deux formes du message, la première adresse est celle qui a envoyé la redirection :

1838 

1839```text theme={null}

1840Stopped an OAuth request, which can hold secrets: https://auth.example.com redirected it to https://other.example.com. Ask the owner of https://auth.example.com to remove that redirect.

1841Stopped an OAuth request: https://auth.example.com redirected it more than 5 times. Ask the owner of https://auth.example.com to fix those redirects.

1842```

1843 

1844**Que faire :**

1845 

1846* Demandez au responsable de la première adresse, par exemple l'opérateur du serveur MCP, de supprimer ou de corriger la redirection. Réessayez ensuite depuis `/mcp`.

1847 

1825### Refus d'envoyer des identifiants à un endpoint de jeton non HTTPS1848### Refus d'envoyer des identifiants à un endpoint de jeton non HTTPS

1826 1849 

1827Sur le [runtime v2](https://code.claude.com/docs/fr/mcp.md#mcp-client-runtimes), Claude Code n'envoie une requête de jeton [OAuth MCP](https://code.claude.com/docs/fr/mcp.md#authenticate-with-remote-mcp-servers) qu'à un endpoint de jeton servi en HTTPS ou sur `localhost`, `127.0.0.1` ou `::1`. Ce message signifie que l'endpoint de jeton du serveur n'est ni l'un ni l'autre ; Claude Code s'est donc arrêté avant d'envoyer la requête. Cela se produit après la connexion par navigateur, de sorte que l'étape du navigateur réussit d'abord, puis à nouveau chaque fois que Claude Code actualise le jeton du serveur.1850Sur le [runtime v2](https://code.claude.com/docs/fr/mcp.md#mcp-client-runtimes), Claude Code n'envoie une requête de jeton [OAuth MCP](https://code.claude.com/docs/fr/mcp.md#authenticate-with-remote-mcp-servers) qu'à un endpoint de jeton servi en HTTPS ou sur `localhost`, `127.0.0.1` ou `::1`. Ce message signifie que l'endpoint de jeton du serveur n'est ni l'un ni l'autre ; Claude Code s'est donc arrêté avant d'envoyer la requête. Cela se produit après la connexion par navigateur, de sorte que l'étape du navigateur réussit d'abord, puis à nouveau chaque fois que Claude Code actualise le jeton du serveur.


2207 2230 

2208### L'hôte n'est pas autorisé dans une session cloud2231### L'hôte n'est pas autorisé dans une session cloud

2209 2232 

2210Une requête HTTP sortante d'une session cloud ou d'une tâche planifiée cloud a été bloquée par la politique réseau de l'environnement.2233Dans une session cloud ou une tâche planifiée cloud, un `403` ou une erreur DNS comme `ENOTFOUND` peut signifier que l'hôte demandé ne figure pas dans la [liste d'autorisation de l'environnement cloud](https://code.claude.com/docs/fr/cloud-environments.md#access-levels). Pour le confirmer, vérifiez l'hôte par rapport à cette liste. Un `403` accompagné de cet en-tête confirme le blocage, mais le `403` d'une requête bloquée ne comporte pas toujours cet en-tête :

2211 2234 

2212```text theme={null}2235```text theme={null}

2213HTTP 4032236HTTP 403


2290 2313 

2291Avant la v2.1.296, Claude Code ne réessayait pas une lecture échouée, et après un tel échec il pouvait ouvrir la session avec une conversation vide et signaler un succès au lieu d'afficher ce message.2314Avant la v2.1.296, Claude Code ne réessayait pas une lecture échouée, et après un tel échec il pouvait ouvrir la session avec une conversation vide et signaler un succès au lieu d'afficher ce message.

2292 2315 

2316### Couldn't load the history of cloud session

2317 

2318Ce message signifie que Claude Code a trouvé la [session cloud que vous avez demandé de récupérer dans votre terminal](https://code.claude.com/docs/fr/claude-code-on-the-web.md#from-cloud-to-terminal), mais que la requête de son historique de conversation a renvoyé une réponse indiquant qu'il est introuvable :

2319 

2320```text theme={null}

2321Couldn't load the history of cloud session session_01HJKLMNOPQRSTUVWXYZ. Check it at https://claude.ai/code/session_01HJKLMNOPQRSTUVWXYZ?from=cli

2322```

2323 

2324**À faire :**

2325 

2326* Ouvrez le lien du message pour vérifier la session dans votre navigateur. Si elle s'y ouvre et que le même teleport échoue à nouveau de cette manière, [signalez le problème](#report-an-error).

2327 

2293### Couldn't reconnect to your Remote Control session2328### Couldn't reconnect to your Remote Control session

2294 2329 

2295```text theme={null}2330```text theme={null}


2565 2600 

2566Claude Code redimensionne normalement les images volumineuses automatiquement. Ces erreurs signifient que l'image n'a pas pu être décodée ou redimensionnée pour respecter les limites de l'API.2601Claude Code redimensionne normalement les images volumineuses automatiquement. Ces erreurs signifient que l'image n'a pas pu être décodée ou redimensionnée pour respecter les limites de l'API.

2567 2602 

2603L'erreur que vous voyez peut indiquer une limite en pixels différente, comme `2576x2576px` là où ces exemples indiquent `2000x2000px`.

2604 

2568**Que faire :**2605**Que faire :**

2569 2606 

2570* Si le message vous demande de convertir l'image, convertissez-la en PNG, JPEG, GIF ou WebP et joignez-la à nouveau. Pour ces formats, Claude Code peut vérifier les dimensions à partir de l'en-tête du fichier, sans décoder l'image.2607* Si le message vous demande de convertir l'image, convertissez-la en PNG, JPEG, GIF ou WebP et joignez-la à nouveau. Pour ces formats, Claude Code peut vérifier les dimensions à partir de l'en-tête du fichier, sans décoder l'image.


2873* **Une raison écrite par un hook** : un hook PreModelSwitch a fourni cette raison lorsqu'il [a refusé le changement ou demandé une confirmation](https://code.claude.com/docs/fr/hooks.md#premodelswitch-decision-control). Traitez ce qu'il demande, ou choisissez un modèle autorisé par vos hooks.2910* **Une raison écrite par un hook** : un hook PreModelSwitch a fourni cette raison lorsqu'il [a refusé le changement ou demandé une confirmation](https://code.claude.com/docs/fr/hooks.md#premodelswitch-decision-control). Traitez ce qu'il demande, ou choisissez un modèle autorisé par vos hooks.

2874* **`PreModelSwitch hook <name> did not respond before its timeout`** : un hook qui ne répond pas avant son [délai d'expiration](https://code.claude.com/docs/fr/hooks.md#timeouts) bloque le changement. Corrigez la commande bloquée ou augmentez le `timeout` de ce hook, puis changez à nouveau de modèle.2911* **`PreModelSwitch hook <name> did not respond before its timeout`** : un hook qui ne répond pas avant son [délai d'expiration](https://code.claude.com/docs/fr/hooks.md#timeouts) bloque le changement. Corrigez la commande bloquée ou augmentez le `timeout` de ce hook, puis changez à nouveau de modèle.

2875* **`confirmation required, and this session cannot ask`** : un hook a répondu `ask` sans raison, et une requête de contrôle n'a aucun moyen d'afficher la demande de confirmation. Une commande `/model` dans une [exécution `-p`](https://code.claude.com/docs/fr/headless) signale la même condition avec `(run /model interactively to confirm)` après la raison. Effectuez le changement depuis une session interactive, ou modifiez la décision du hook pour ce modèle.2912* **`confirmation required, and this session cannot ask`** : un hook a répondu `ask` sans raison, et une requête de contrôle n'a aucun moyen d'afficher la demande de confirmation. Une commande `/model` dans une [exécution `-p`](https://code.claude.com/docs/fr/headless) signale la même condition avec `(run /model interactively to confirm)` après la raison. Effectuez le changement depuis une session interactive, ou modifiez la décision du hook pour ce modèle.

2876* **`so organization-managed PreModelSwitch hooks could not be checked`** : Claude Code n'a pas pu déterminer quels hooks PreModelSwitch fournissent les [plugins gérés](https://code.claude.com/docs/fr/settings-reference.md#enabledplugins) de votre organisation, par exemple parce qu'un plugin géré n'a pas pu se charger. L'un de ces hooks pourrait bloquer le changement : Claude Code refuse donc plutôt que d'appliquer le changement sans vérification. Le début de la raison nomme ce qui a échoué. Claude Code vérifie à nouveau à chaque tentative de changement : un échec qui a depuis disparu cesse donc de bloquer ; si l'échec persiste, exécutez `claude --debug` et changez à nouveau de modèle pour capturer les détails, puis corrigez le plugin ou demandez à votre administrateur de le corriger.2913* **`so organization-managed PreModelSwitch hooks could not be checked`** : Claude Code avant la v2.1.323 refuse lorsqu'il ne peut pas déterminer quels hooks PreModelSwitch vos [plugins gérés](https://code.claude.com/docs/fr/settings-reference.md#enabledplugins) fournissent. Le texte qui précède cette expression nomme ce qui a échoué. Pour mettre fin au refus, mettez à jour Claude Code. Pour que les hooks d'un plugin en échec s'exécutent également, corrigez le plugin ou adressez-vous à votre administrateur. Pour plus de détails, lancez `claude --debug` dans votre shell et changez de modèle, puis lisez le [log de débogage](https://code.claude.com/docs/fr/hooks.md#debug-hooks).

2877* **`a PreModelSwitch hook failed before answering`** ou **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`** : l'exécution du hook s'est terminée sans verdict, et Claude Code ne considère pas cela comme une approbation. Exécutez `claude --debug` pour voir ce qui a échoué, puis changez à nouveau de modèle.2914* **`a PreModelSwitch hook failed before answering`** ou **`PreModelSwitch hooks were cancelled (the control stream closed) before answering`** : l'exécution du hook s'est terminée sans verdict, et Claude Code ne considère pas cela comme une approbation. Exécutez `claude --debug` pour voir ce qui a échoué, puis changez à nouveau de modèle.

2878 2915 

2879Avant la v2.1.260, le refus lié aux plugins gérés indiquait `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`. Claude Code réessayait une fois le chargement des plugins, puis refusait les changements ultérieurs dans la session, même lorsque votre organisation ne gérait aucun plugin. Sur ces versions, redémarrez la session pour relancer le chargement des plugins.2916Avant la v2.1.260, le refus lié aux plugins gérés indiquait `plugin hooks could not be loaded, so PreModelSwitch hooks could not be checked; see the debug log`. Claude Code réessayait une fois le chargement des plugins, puis refusait les changements ultérieurs dans la session, même lorsque votre organisation ne gérait aucun plugin. Sur ces versions, redémarrez la session pour relancer le chargement des plugins.


3499* **`Error: Workspace not trusted. <folder> is your home directory`** : comme la confiance pour votre répertoire personnel n'est jamais enregistrée, exécuter d'abord `claude` à cet endroit ne peut pas aider. Exécutez plutôt `claude ultrareview` depuis un répertoire de projet, après y avoir exécuté `claude` une fois pour accepter la boîte de dialogue de confiance, ou ajoutez `--trust-workspace`.3536* **`Error: Workspace not trusted. <folder> is your home directory`** : comme la confiance pour votre répertoire personnel n'est jamais enregistrée, exécuter d'abord `claude` à cet endroit ne peut pas aider. Exécutez plutôt `claude ultrareview` depuis un répertoire de projet, après y avoir exécuté `claude` une fois pour accepter la boîte de dialogue de confiance, ou ajoutez `--trust-workspace`.

3500* **`No answer in time.` suivi de `Error: Workspace not trusted`** : la question `Trust <folder>? [y/N]` est restée sans réponse pendant 5 minutes. Exécutez de nouveau `claude ultrareview` et répondez-y.3537* **`No answer in time.` suivi de `Error: Workspace not trusted`** : la question `Trust <folder>? [y/N]` est restée sans réponse pendant 5 minutes. Exécutez de nouveau `claude ultrareview` et répondez-y.

3501* **`Ultrareview did not start: <folder> is not trusted`** : vous avez refusé à la question `Trust <folder>? [y/N]`, par exemple en répondant `n` ou en appuyant sur Enter. Pour démarrer la revue, exécutez de nouveau `claude ultrareview` et répondez `y`.3538* **`Ultrareview did not start: <folder> is not trusted`** : vous avez refusé à la question `Trust <folder>? [y/N]`, par exemple en répondant `n` ou en appuyant sur Enter. Pour démarrer la revue, exécutez de nouveau `claude ultrareview` et répondez `y`.

3502* **``Ultrareview did not start: `--trust-workspace` takes no value``** : autre chose qu'un flag suit `--trust-workspace`, comme un numéro de PR ou `false`. Si vous ne faites pas confiance au dossier, omettez le flag. Pour lui faire confiance pour cette exécution, placez le numéro de PR ou la branche de base avant le flag : `claude ultrareview 1234 --trust-workspace`.3539* **``Ultrareview did not start: `--trust-workspace` takes no value``** : quelque chose d'autre qu'un flag suit `--trust-workspace`, comme un numéro de PR ou `false`. Si vous ne faites pas confiance au dossier, omettez le flag. Pour l'approuver pour cette exécution, placez le numéro de PR ou la branche de base avant le flag : `claude ultrareview 1234 --trust-workspace`.

3503 3540 

3504Avant la v2.1.309, `claude ultrareview` n'acceptait pas `--trust-workspace`.3541Avant la v2.1.309, `claude ultrareview` n'acceptait pas `--trust-workspace`.

3505 3542 


3522Vous avez démarré [Remote Control](https://code.claude.com/docs/fr/remote-control.md) avec un flag `claude` global placé avant le verbe `remote-control`, un flag qui restreindrait ou configurerait les sessions que Remote Control démarre, comme `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` ou `--mcp-config`. Un flag placé avant le verbe n'atteint jamais ces sessions. Claude Code refuse plutôt de démarrer, en mentionnant le flag :3559Vous avez démarré [Remote Control](https://code.claude.com/docs/fr/remote-control.md) avec un flag `claude` global placé avant le verbe `remote-control`, un flag qui restreindrait ou configurerait les sessions que Remote Control démarre, comme `--settings`, `--setting-sources`, `--permission-mode`, `--disallowed-tools` ou `--mcp-config`. Un flag placé avant le verbe n'atteint jamais ces sessions. Claude Code refuse plutôt de démarrer, en mentionnant le flag :

3523 3560 

3524```text theme={null}3561```text theme={null}

3525Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`).3562Error: `--settings` before `remote-control` is not carried over to the sessions Remote Control starts, so Remote Control refuses to start rather than drop it — remove it, and give Remote Control's own options after the verb (see `claude remote-control --help`). Pass settings with `claude remote-control --settings <file>`.

3526```3563```

3527 3564 

3528Claude Code ne refuse pas les flags globaux qu'il est sans danger d'ignorer, comme `--verbose`, `--model`, ou un `--session-id` ou `--plugin-dir` injecté par un wrapper : il les ignore et Remote Control démarre.3565Claude Code ne refuse pas les flags globaux qu'il est sans danger d'ignorer, comme `--verbose`, `--model`, ou un `--session-id` ou `--plugin-dir` injecté par un wrapper : il les ignore et Remote Control démarre.


3536 3573 

3537Avant la v2.1.248, `claude remote-control` n'acceptait pas ses propres flags lorsqu'un flag global venait en premier, et la commande échouait avec une erreur `unknown option`.3574Avant la v2.1.248, `claude remote-control` n'acceptait pas ses propres flags lorsqu'un flag global venait en premier, et la commande échouait avec une erreur `unknown option`.

3538 3575 

3576### Remote Control n'a pas démarré à cause du fichier `--settings`

3577 

3578Le fichier que vous avez passé à [`claude remote-control --settings`](https://code.claude.com/docs/fr/remote-control#start-a-remote-control-session) présente un problème :

3579 

3580```text theme={null}

3581Error: Remote Control did not start, because sessions would skip part or all of the --settings file ./rc-settings.json: Invalid or malformed JSON

3582```

3583 

3584**Que faire :**

3585 

3586* Corrigez le problème que nomme le message, puis exécutez à nouveau votre commande `claude remote-control`

3587 

3588### Le fichier de paramètres a changé depuis le démarrage de Remote Control

3589 

3590Ce message dans le terminal qui exécute `claude remote-control` signifie que les sessions ne démarreront pas à partir du fichier que vous avez passé à [`--settings`](https://code.claude.com/docs/fr/remote-control#start-a-remote-control-session) dans son état actuel :

3591 

3592```text theme={null}

3593Session failed: Error: The settings file /path/to/settings.json has changed since Remote Control started, so this session did not start. Restart `claude remote-control` to use it as it is now.

3594```

3595 

3596**Que faire :**

3597 

3598* Pour utiliser le fichier dans son état actuel, arrêtez `claude remote-control` et exécutez à nouveau la même commande. Pour retrouver les sessions qu'il servait, consultez [Reprendre les sessions après l'arrêt du serveur](https://code.claude.com/docs/fr/remote-control.md#resume-sessions-after-stopping-the-server).

3599* Pour conserver les paramètres avec lesquels Remote Control a démarré, rétablissez le contenu du fichier tel qu'il était, puis exécutez à nouveau la commande si `claude remote-control` s'est arrêté

3600 

3539### `--sandbox` or `--no-sandbox` is not supported by claude remote-control3601### `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3540 3602 

3541Cette erreur signifie que la commande qui démarre votre serveur [Remote Control](https://code.claude.com/docs/fr/remote-control.md) passe `--sandbox` ou `--no-sandbox` après `remote-control`, et `claude remote-control` n'accepte aucun de ces flags. Le serveur se termine avec le code 1 au lieu de démarrer :3603Cette erreur signifie que la commande qui démarre votre serveur [Remote Control](https://code.claude.com/docs/fr/remote-control.md) passe `--sandbox` ou `--no-sandbox` après `remote-control`, et `claude remote-control` n'accepte aucun de ces flags. Le serveur se termine avec le code 1 au lieu de démarrer :


3806 3868 

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

3808 3870 

3809* `Shell command permission check failed for pattern "..."` : la vérification de permission de la commande ne l'a pas autorisée. [Vérifications de permission sur les commandes injectées](https://code.claude.com/docs/fr/skills.md#permission-checks-on-injected-commands) explique quels résultats interrompent l'invocation dans chaque mode de permission et comment pré-approuver une commande avec `allowed-tools`3871* `Shell command permission check failed for pattern "..."` : la vérification de permission de la commande ne l'a pas autorisée. Consultez [Vérifications de permission sur les commandes injectées](https://code.claude.com/docs/fr/skills.md#permission-checks-on-injected-commands) pour savoir quels résultats interrompent l'invocation dans chaque mode de permission et quand `allowed-tools` pré-approuve une commande

3810* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` : le frontmatter du skill exige bash sur une machine qui n'en dispose pas. Installez Git for Windows ou modifiez le frontmatter en `shell: powershell`. Consultez [Comment s'exécutent les commandes injectées](https://code.claude.com/docs/fr/skills.md#how-injected-commands-run)3872* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` : le frontmatter du skill exige bash sur une machine qui ne l'a pas. Installez Git for Windows ou modifiez le frontmatter en `shell: powershell`. Consultez [Comment s'exécutent les commandes injectées](https://code.claude.com/docs/fr/skills.md#how-injected-commands-run)

3811 3873 

3812**Marche à suivre :**3874**Marche à suivre :**

3813 3875 


4490commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory4552commands path escapes plugin directory: ./commands/deploy.md — it resolves to /home/user/shared/deploy.md, outside the plugin directory

4491```4553```

4492 4554 

4493Un message qui donne le chemin complet de l'un des propres fichiers d'un plugin de marketplace, comme `hooks/hooks.json`, signifie que Claude Code a ignoré ce fichier. Cela se produit quand Claude Code ne peut pas confirmer que le fichier se trouve à l'intérieur du plugin ou, pour un plugin dans une [marketplace locale](https://code.claude.com/docs/fr/plugins/loading.md#in-place-and-copied-plugins), à l'intérieur de cette marketplace. Le message rapporte chacun de ces fichiers sous le nom de composant indiqué :4555Un message qui donne le chemin complet de l'un des propres fichiers d'un plugin de marketplace, comme `hooks/hooks.json`, signifie que Claude Code a ignoré ce fichier. Quand Claude Code ne peut pas confirmer que le fichier se trouve à l'intérieur du plugin, ou à l'intérieur de sa marketplace pour un plugin dans une [marketplace locale](https://code.claude.com/docs/fr/plugins/loading.md#in-place-and-copied-plugins), il ignore le fichier. Le message rapporte ces fichiers sous le nom de composant indiqué :

4494 4556 

4495* `hooks/hooks.json` : `hooks`4557* `hooks/hooks.json` : `hooks`

4496* `monitors/monitors.json` : `monitors`4558* `monitors/monitors.json` : `monitors`

4497* `settings.json` : `settings`

4498* `SKILL.md` à la racine du plugin : `skills`4559* `SKILL.md` à la racine du plugin : `skills`

4499 4560 

4500Par exemple, ce message concerne un `hooks/hooks.json` qui se résout en dehors à la fois du plugin et de sa marketplace locale :4561Par exemple, ce message concerne un `hooks/hooks.json` qui se résout en dehors à la fois du plugin et de sa marketplace locale :


5481Vous avez ouvert une [session en arrière-plan](https://code.claude.com/docs/fr/agent-view.md) qui s'est terminée alors que le service d'arrière-plan était arrêté, et le [nettoyage des transcriptions](https://code.claude.com/docs/fr/settings-reference.md#cleanupperioddays) a depuis supprimé sa conversation enregistrée, par exemple après que la machine est restée éteinte pendant des semaines. Ouvrir une telle ligne [reprend normalement sa conversation enregistrée](https://code.claude.com/docs/fr/agent-view.md#sessions-show-as-failed-after-shutdown). Comme il ne reste rien à reprendre, Claude Code refuse plutôt que de réexécuter le prompt d'origine de la session sans vous le demander :5542Vous avez ouvert une [session en arrière-plan](https://code.claude.com/docs/fr/agent-view.md) qui s'est terminée alors que le service d'arrière-plan était arrêté, et le [nettoyage des transcriptions](https://code.claude.com/docs/fr/settings-reference.md#cleanupperioddays) a depuis supprimé sa conversation enregistrée, par exemple après que la machine est restée éteinte pendant des semaines. Ouvrir une telle ligne [reprend normalement sa conversation enregistrée](https://code.claude.com/docs/fr/agent-view.md#sessions-show-as-failed-after-shutdown). Comme il ne reste rien à reprendre, Claude Code refuse plutôt que de réexécuter le prompt d'origine de la session sans vous le demander :

5482 5543 

5483```text theme={null}5544```text theme={null}

5484This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` deletes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.5545This session's saved conversation is no longer on disk (it ended while the background service was off, and old transcripts are cleaned up), so there is nothing to resume. `claude rm 7c5dcf5d` removes the row; `claude respawn 7c5dcf5d` runs its original prompt again instead.

5485```5546```

5486 5547 

5487`claude attach <id>` affiche ce texte. Dans l'agent view, le pied de page est plus court et se termine par `ctrl+x deletes the row`.5548`claude attach <id>` affiche ce texte. Dans l'agent view, le pied de page est plus court et se termine par `ctrl+x removes the row`.

5488 5549 

5489**Que faire :**5550**Que faire :**

5490 5551 


5503 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef5564 push them and run 'claude rm 7c5dcf5d' again, or discard the worktree and its commits: claude rm 7c5dcf5d --discard-unpushed a1b2c3d000000000000000000000000000000000@0123456789abcdef0123456789abcdef

5504```5565```

5505 5566 

5506Lorsque Claude Code ne peut pas résumer les commits, la ligne de détail indique plutôt `The worktree has unpushed commits`. Dans l'[agent view](https://code.claude.com/docs/fr/agent-view.md), la ligne de la session affiche `not deleted` avec la même raison.5567Lorsque Claude Code ne peut pas résumer les commits, la ligne de détail indique plutôt `The worktree has unpushed commits`. Dans l'[agent view](https://code.claude.com/docs/fr/agent-view.md), la ligne de la session affiche `not removed` avec la même raison.

5507 5568 

5508Les commits présents sur un dépôt distant ne bloquent pas la suppression. Les commits présents sur la copie locale de la branche par défaut de votre dépôt distant `origin` non plus, à condition que cette branche soit extraite dans votre checkout principal, c'est-à-dire le répertoire du dépôt lui-même et non un worktree.5569Les commits présents sur un dépôt distant ne bloquent pas la suppression. Les commits présents sur la copie locale de la branche par défaut de votre dépôt distant `origin` non plus, à condition que cette branche soit extraite dans votre checkout principal, c'est-à-dire le répertoire du dépôt lui-même et non un worktree.

5509 5570 


5780 5841 

5781Ces erreurs proviennent du programme qui a lancé Claude Code pour vous, comme une extension IDE ou une application [Agent SDK](https://code.claude.com/docs/fr/agent-sdk/overview.md), plutôt que de Claude Code lui-même.5842Ces erreurs proviennent du programme qui a lancé Claude Code pour vous, comme une extension IDE ou une application [Agent SDK](https://code.claude.com/docs/fr/agent-sdk/overview.md), plutôt que de Claude Code lui-même.

5782 5843 

5844### Subprocess initialization did not complete within 60000ms

5845 

5846Cette erreur signifie qu'un processus Claude Code lancé par l'[extension VS Code](https://code.claude.com/docs/fr/vs-code.md) ou par une application Agent SDK n'a pas signalé à temps qu'il était prêt. L'extension ou l'application l'a alors arrêté. Dans une conversation VS Code, l'erreur commence par `Claude Code did not finish starting`, par exemple :

5847 

5848```text theme={null}

5849Claude Code did not finish starting: it did not answer in time. The output logs ("View output logs") show how far it got. Slow plugins, MCP servers, hooks, disks or network can each cause this.

5850```

5851 

5852Dans les logs de sortie de l'extension, sur son écran de connexion et dans une application Agent SDK, l'erreur est formulée différemment. Elle commence par `Subprocess initialization did not complete within` suivi du délai, puis indique ce que Claude Code a signalé, par exemple :

5853 

5854```text theme={null}

5855Subprocess initialization did not complete within 60000ms. Claude Code did not answer the initialize request and reported no SessionStart or Setup hook running. Slow plugins, MCP servers, hooks that Claude Code does not report, disks or network can each cause this.

5856```

5857 

5858**Ce qu'il faut faire :**

5859 

5860* Pour réessayer dans VS Code, envoyez un message. Si l'erreur est apparue pendant que vous vous connectiez, sélectionnez plutôt à nouveau la méthode de connexion.

5861* Pour voir jusqu'où Claude Code est allé, cliquez sur **View output logs** sous l'erreur d'une conversation, ou exécutez **Claude Code: Show Logs** depuis la palette de commandes. Incluez les entrées situées autour de la ligne `Subprocess initialization` lorsque vous [signalez le problème](https://github.com/anthropics/claude-code/issues).

5862* Pour vérifier votre réseau, consultez [Configuration réseau](https://code.claude.com/docs/fr/network-config.md). Si le message vous demande de vérifier votre connexion ou votre authentification, consultez [Connexion et authentification](https://code.claude.com/docs/fr/troubleshoot-install.md#login-and-authentication).

5863* Si le message indique que des hooks [SessionStart](https://code.claude.com/docs/fr/hooks.md#sessionstart) ou [Setup](https://code.claude.com/docs/fr/hooks.md#setup) n'étaient pas terminés, [vérifiez combien de temps durent les vôtres](https://code.claude.com/docs/fr/hooks.md#debug-hooks). Dans VS Code, les 10 premières minutes pendant lesquelles Claude Code signale l'exécution de ces hooks ne sont pas comptabilisées dans la limite de 60 secondes. Faites en sorte qu'un hook lent se termine plus tôt, réduisez le [`timeout`](https://code.claude.com/docs/fr/hooks#common-fields) d'un hook non asynchrone, ou [supprimez le hook](https://code.claude.com/docs/fr/hooks.md#disable-or-remove-hooks).

5864* Si votre application Agent SDK appelle [`startup()`](https://code.claude.com/docs/fr/agent-sdk/typescript#startup), définissez `initializeTimeoutMs` sur une valeur suffisamment longue pour l'ensemble du démarrage, ou laissez-le non défini afin que jusqu'à 10 minutes de temps de hook signalé ne soient pas comptabilisées.

5865 

5866Avant l'extension VS Code v2.1.304 et le SDK Agent TypeScript v0.3.304, tout le temps passé dans les hooks était comptabilisé dans la limite. Avec la limite par défaut, le message contenait `Subprocess initialization did not complete within 60000ms — check authentication and network connectivity`. Si vous voyez cette formulation, mettez à jour l'extension ou le SDK.

5867 

5783### Le processus Claude Code s'est fermé avec le code N5868### Le processus Claude Code s'est fermé avec le code N

5784 5869 

5785Le processus `claude` sous-jacent s'est fermé avec un code non nul. Le code de sortie seul ne dit pas ce qui a échoué : l'erreur réelle se trouve dans la sortie du processus lui-même, que le wrapper ajoute s'il en a capturé une, sinon il la conserve dans ses journaux.5870Le processus `claude` sous-jacent s'est fermé avec un code non nul. Le code de sortie seul ne dit pas ce qui a échoué : l'erreur réelle se trouve dans la sortie du processus lui-même, que le wrapper ajoute s'il en a capturé une, sinon il la conserve dans ses journaux.

Details

117 <td>✗</td>117 <td>✗</td>

118 </tr>118 </tr>

119 119 

120 <tr>

121 <td>[Code Mode](https://code.claude.com/docs/fr/code-mode.md)</td>

122 <td>✓ (expérimental, [sous réserve de prérequis](https://code.claude.com/docs/fr/code-mode.md#requirements))</td>

123 <td>✓ (expérimental, [sous réserve de prérequis](https://code.claude.com/docs/fr/code-mode.md#requirements))</td>

124 <td>✗</td>

125 <td>✗</td>

126 <td>✗</td>

127 <td>✗</td>

128 </tr>

129 

120 <tr>130 <tr>

121 <td>[Messagerie inter-sessions](https://code.claude.com/docs/fr/cross-session-messaging.md)</td>131 <td>[Messagerie inter-sessions](https://code.claude.com/docs/fr/cross-session-messaging.md)</td>

122 <td>✓ <sup>[5](#fn5)</sup></td>132 <td>✓ <sup>[5](#fn5)</sup></td>


231 241 

232> [tab] Amazon Bedrock242> [tab] Amazon Bedrock

233>243>

234> **Non disponible :** toutes les [fonctionnalités qui nécessitent un abonnement Claude](#features-that-require-a-claude-subscription), plus [web search](https://code.claude.com/docs/fr/tools-reference.md#websearch-tool-behavior), [fast mode](https://code.claude.com/docs/fr/fast-mode.md), [Advisor](https://code.claude.com/docs/fr/advisor.md), [Channels](https://code.claude.com/docs/fr/channels.md), le [tableau de bord analytique](https://code.claude.com/docs/fr/analytics.md), les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) et les [commandes `/design-sync` et `/import`](https://code.claude.com/docs/fr/commands#all-commands).244> **Non disponible :** toutes les [fonctionnalités qui nécessitent un abonnement Claude](#features-that-require-a-claude-subscription), plus [web search](https://code.claude.com/docs/fr/tools-reference.md#websearch-tool-behavior), [fast mode](https://code.claude.com/docs/fr/fast-mode.md), [Advisor](https://code.claude.com/docs/fr/advisor.md), [Channels](https://code.claude.com/docs/fr/channels.md), [Code Mode](https://code.claude.com/docs/fr/code-mode.md), le [tableau de bord analytique](https://code.claude.com/docs/fr/analytics.md), les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) et les [commandes `/design-sync` et `/import`](https://code.claude.com/docs/fr/commands#all-commands).

235>245>

236> **Support partiel :**246> **Support partiel :**

237>247>


244 254 

245> [tab] Claude Platform sur AWS255> [tab] Claude Platform sur AWS

246>256>

247> **Non disponible :** toutes les [fonctionnalités qui nécessitent un abonnement Claude](#features-that-require-a-claude-subscription), plus [fast mode](https://code.claude.com/docs/fr/fast-mode.md), [Channels](https://code.claude.com/docs/fr/channels.md), [GitHub Actions](https://code.claude.com/docs/fr/github-actions.md), le [tableau de bord analytique](https://code.claude.com/docs/fr/analytics.md), les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) et les [commandes `/design-sync` et `/import`](https://code.claude.com/docs/fr/commands#all-commands).257> **Non disponible :** toutes les [fonctionnalités qui nécessitent un abonnement Claude](#features-that-require-a-claude-subscription), plus [fast mode](https://code.claude.com/docs/fr/fast-mode.md), [Channels](https://code.claude.com/docs/fr/channels.md), [GitHub Actions](https://code.claude.com/docs/fr/github-actions.md), [Code Mode](https://code.claude.com/docs/fr/code-mode.md), le [tableau de bord analytique](https://code.claude.com/docs/fr/analytics.md), les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) et les [commandes `/design-sync` et `/import`](https://code.claude.com/docs/fr/commands#all-commands).

248>258>

249> **Disponible ici, mais pas sur Amazon Bedrock :** [web search](https://code.claude.com/docs/fr/tools-reference.md#websearch-tool-behavior), ainsi que l'[Advisor](https://code.claude.com/docs/fr/advisor.md) dans Claude Code v2.1.300 ou version ultérieure.259> **Disponible ici, mais pas sur Amazon Bedrock :** [web search](https://code.claude.com/docs/fr/tools-reference.md#websearch-tool-behavior), ainsi que l'[Advisor](https://code.claude.com/docs/fr/advisor.md) dans Claude Code v2.1.300 ou version ultérieure.

250>260>


256 266 

257> [tab] Google Cloud's Agent Platform267> [tab] Google Cloud's Agent Platform

258>268>

259> **Non disponible :** toutes les [fonctionnalités qui nécessitent un abonnement Claude](#features-that-require-a-claude-subscription), plus [Advisor](https://code.claude.com/docs/fr/advisor.md), [Channels](https://code.claude.com/docs/fr/channels.md), le [tableau de bord analytique](https://code.claude.com/docs/fr/analytics.md), les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) et les [commandes `/design-sync` et `/import`](https://code.claude.com/docs/fr/commands#all-commands).269> **Non disponible :** toutes les [fonctionnalités qui nécessitent un abonnement Claude](#features-that-require-a-claude-subscription), plus [Advisor](https://code.claude.com/docs/fr/advisor.md), [Channels](https://code.claude.com/docs/fr/channels.md), [Code Mode](https://code.claude.com/docs/fr/code-mode.md), le [tableau de bord analytique](https://code.claude.com/docs/fr/analytics.md), les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) et les [commandes `/design-sync` et `/import`](https://code.claude.com/docs/fr/commands#all-commands).

260>270>

261> **Support partiel :**271> **Support partiel :**

262>272>


271 281 

272> [tab] Microsoft Foundry282> [tab] Microsoft Foundry

273>283>

274> **Non disponible :** toutes les [fonctionnalités qui nécessitent un abonnement Claude](#features-that-require-a-claude-subscription), plus [fast mode](https://code.claude.com/docs/fr/fast-mode.md), [Advisor](https://code.claude.com/docs/fr/advisor.md), [Channels](https://code.claude.com/docs/fr/channels.md), [GitLab CI/CD](https://code.claude.com/docs/fr/gitlab-ci-cd.md), le [tableau de bord analytique](https://code.claude.com/docs/fr/analytics.md), les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) et les [commandes `/design-sync` et `/import`](https://code.claude.com/docs/fr/commands#all-commands).284> **Non disponible :** toutes les [fonctionnalités qui nécessitent un abonnement Claude](#features-that-require-a-claude-subscription), plus [fast mode](https://code.claude.com/docs/fr/fast-mode.md), [Advisor](https://code.claude.com/docs/fr/advisor.md), [Channels](https://code.claude.com/docs/fr/channels.md), [GitLab CI/CD](https://code.claude.com/docs/fr/gitlab-ci-cd.md), [Code Mode](https://code.claude.com/docs/fr/code-mode.md), le [tableau de bord analytique](https://code.claude.com/docs/fr/analytics.md), les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) et les [commandes `/design-sync` et `/import`](https://code.claude.com/docs/fr/commands#all-commands).

275>285>

276> **Support partiel :**286> **Support partiel :**

277>287>

gateways.md +1 −1

Details

63* **Télémétrie client** : Claude Code désactive son analyse client liée à Anthropic lorsqu'une session se connecte à une passerelle d'applications Claude. Pour maintenir également la télémétrie de démarrage avant la connexion désactivée, livrez [`DISABLE_TELEMETRY`](https://code.claude.com/docs/fr/managed-settings#turn-telemetry-off-for-your-organization) dans les [paramètres gérés côté client](https://code.claude.com/docs/fr/claude-apps-gateway-config.md#client-side-managed-settings) sur chaque appareil.63* **Télémétrie client** : Claude Code désactive son analyse client liée à Anthropic lorsqu'une session se connecte à une passerelle d'applications Claude. Pour maintenir également la télémétrie de démarrage avant la connexion désactivée, livrez [`DISABLE_TELEMETRY`](https://code.claude.com/docs/fr/managed-settings#turn-telemetry-off-for-your-organization) dans les [paramètres gérés côté client](https://code.claude.com/docs/fr/claude-apps-gateway-config.md#client-side-managed-settings) sur chaque appareil.

64* **Télémétrie client sur d'autres passerelles** : le fait que Claude Code envoie le flux de télémétrie client optionnel dépend de votre fournisseur, et le [tableau des valeurs par défaut de télémétrie](https://code.claude.com/docs/fr/data-usage.md#default-behaviors-by-api-provider) couvre chaque cas.64* **Télémétrie client sur d'autres passerelles** : le fait que Claude Code envoie le flux de télémétrie client optionnel dépend de votre fournisseur, et le [tableau des valeurs par défaut de télémétrie](https://code.claude.com/docs/fr/data-usage.md#default-behaviors-by-api-provider) couvre chaque cas.

65* **Destinations de télémétrie** : l'endroit où Claude Code envoie la télémétrie d'une session de passerelle dépend de la façon dont la session s'est connectée, et [Ce qui est appliqué aux développeurs](https://code.claude.com/docs/fr/claude-apps-gateway#whats-enforced-on-developers) indique où les exports de chaque type de session vont.65* **Destinations de télémétrie** : l'endroit où Claude Code envoie la télémétrie d'une session de passerelle dépend de la façon dont la session s'est connectée, et [Ce qui est appliqué aux développeurs](https://code.claude.com/docs/fr/claude-apps-gateway#whats-enforced-on-developers) indique où les exports de chaque type de session vont.

66* **Proxies HTTP d'entreprise** : un `HTTPS_PROXY` s'insère entre Claude Code et chaque serveur avec lequel il communique, y compris la passerelle. Si votre réseau en nécessite un, [configurez le proxy](https://code.claude.com/docs/fr/network-config.md) en plus de la passerelle. Pour une passerelle d'applications Claude que vous hébergez, [la connexion vérifie que l'hôte proxy est également sur un réseau privé](https://code.claude.com/docs/fr/claude-apps-gateway#prerequisites) ; si ce n'est pas le cas, ajoutez l'hôte de la passerelle à `NO_PROXY` pour que l'interface CLI s'y connecte directement.66* **Proxys HTTP d'entreprise** : Claude Code envoie ses requêtes, y compris celles destinées à la passerelle, via le proxy défini dans `HTTPS_PROXY`. Si votre réseau nécessite un proxy, [configurez-le](https://code.claude.com/docs/fr/network-config.md). Si le proxy s'applique à une passerelle d'applications Claude que vous hébergez, la [connexion](https://code.claude.com/docs/fr/claude-apps-gateway#prerequisites) nécessite que le nom d'hôte du proxy se résolve en adresses privées, ou que l'hôte de la passerelle figure dans `NO_PROXY`.

67 67 

68## Étapes suivantes68## Étapes suivantes

69 69 

Details

129| Administration | Lecture |129| Administration | Lecture |

130| Checks | Lecture et écriture |130| Checks | Lecture et écriture |

131| Contents | Lecture et écriture |131| Contents | Lecture et écriture |

132| Dependabot alerts | Lecture |

132| Discussions | Lecture et écriture |133| Discussions | Lecture et écriture |

133| Issues | Lecture et écriture |134| Issues | Lecture et écriture |

134| Members | Lecture |135| Members | Lecture |

Details

83>83>

84> Créez une application Microsoft Entra avec une identité fédérée pour votre référentiel, en suivant le [guide Microsoft pour l'authentification à partir de GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect) :84> Créez une application Microsoft Entra avec une identité fédérée pour votre référentiel, en suivant le [guide Microsoft pour l'authentification à partir de GitHub Actions](https://learn.microsoft.com/en-us/azure/developer/github/connect-from-azure-openid-connect) :

85>85>

86> * Enregistrez une application Microsoft Entra et ajoutez une identité fédérée qui fait confiance aux jetons que GitHub émet à votre référentiel. Une identité gérée affectée par l'utilisateur fonctionne à la place d'une application. Les deux ont l'ID client que vous notez ci-dessous86> * Enregistrez une application Microsoft Entra et ajoutez des identifiants d'identité fédérée qui font confiance aux jetons que GitHub émet à votre dépôt. Une identité gérée affectée par l'utilisateur fonctionne à la place d'une application. Les deux ont l'ID client que vous notez ci-dessous

87> * Attribuez à l'application le rôle `Azure AI User` sur votre ressource Foundry. Voir [Configuration Azure RBAC](https://code.claude.com/docs/fr/microsoft-foundry.md#azure-rbac-configuration) pour un rôle personnalisé plus étroit87> * Attribuez à l'application le rôle `Foundry User` sur votre ressource Foundry. Voir [Configuration Azure RBAC](https://code.claude.com/docs/fr/microsoft-foundry.md#azure-rbac-configuration) pour l'autre rôle intégré et les rôles personnalisés

88>88>

89> Notez l'ID client de l'application, votre ID de locataire et votre ID d'abonnement. Vous les ajoutez en tant que secrets à l'étape suivante.89> Notez l'ID client de l'application, votre ID de locataire et votre ID d'abonnement. Vous les ajoutez en tant que secrets à l'étape suivante.

90 90 

Details

228 228 

229### Lorsqu'un modèle est désactivé en cours de session229### Lorsqu'un modèle est désactivé en cours de session

230 230 

231Si votre projet perd l'accès au modèle sur lequel votre session s'exécute, par exemple parce qu'un administrateur le désactive dans [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden), 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 retour 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.231Lorsque Agent Platform rejette le modèle de votre session comme indisponible dans votre projet ou votre région, Claude Code bascule votre session vers un autre modèle, et vous pouvez continuer à travailler. Vous voyez un message qui commence par `Switched to <fallback> because <model> is not available`. Cela se produit, par exemple, lorsqu'un administrateur désactive le modèle dans [Model Garden](https://console.cloud.google.com/vertex-ai/model-garden) ou qu'il n'est pas servi dans votre région.

232 232 

233Le basculement s'applique uniquement à un niveau que vous n'avez pas épinglé, la même condition que le retour au démarrage. Une session sur une version spécifique que vous avez choisie conserve son modèle et, sans une chaîne de modèle de secours, la demande échoue à la place. En [mode auto](https://code.claude.com/docs/fr/permission-modes.md#enable-auto-mode-on-bedrock-agent-platform-or-foundry), Claude Code bascule uniquement vers un modèle que le mode auto supporte sur Agent Platform. Si aucun de ces modèles n'est disponible non plus, la demande échoue.233Si vous avez configuré une [chaîne de modèles de secours](https://code.claude.com/docs/fr/model-config.md#fallback-model-chains), Claude Code bascule plutôt vers votre modèle de secours configuré. Sans chaîne, la requête échoue dans des cas tels que ceux-ci :

234 234 

235Une [chaîne de modèle de secours](https://code.claude.com/docs/fr/model-config.md#fallback-model-chains) que vous configurez remplace le basculement de niveau : sur ces refus, Claude Code bascule vers votre secours configuré à la place. Pour que les demandes refusées échouent plutôt que de basculer, définissez [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/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 demande refusée échoue.235* Votre session utilise un modèle épinglé ou une version spécifique que vous avez choisie

236* Aucun des [modèles que Claude Code essaie](#startup-model-checks) n'est disponible. En [mode auto](https://code.claude.com/docs/fr/permission-modes.md#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 Agent Platform.

237 

238Pour continuer à travailler, exécutez `/model` dans la session et appuyez sur `s` sur un modèle disponible dans votre projet et votre région, ce qui laisse votre valeur par défaut inchangée.

239 

240Pour que les requêtes rejetées échouent au lieu de basculer, définissez [`CLAUDE_CODE_DISABLE_MODEL_ACCESS_FALLBACK=1`](https://code.claude.com/docs/fr/env-vars). Si vous avez configuré une chaîne de modèles de secours, supprimez-la également, car Claude Code bascule toujours vers ce modèle de secours.

236 241 

237## Configuration IAM242## Configuration IAM

238 243 

hooks.md +22 −7

Details

257Les administrateurs peuvent utiliser [`allowManagedHooksOnly`](https://code.claude.com/docs/fr/settings-reference#allowmanagedhooksonly) dans les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) pour restreindre les hooks qui s'exécutent :257Les administrateurs peuvent utiliser [`allowManagedHooksOnly`](https://code.claude.com/docs/fr/settings-reference#allowmanagedhooksonly) dans les [paramètres gérés](https://code.claude.com/docs/fr/managed-settings.md) pour restreindre les hooks qui s'exécutent :

258 258 

259* Vos hooks utilisateur, projet, local et plugin sont bloqués. Les hooks des plugins forcément activés dans les paramètres gérés `enabledPlugins` sont exempts259* Vos hooks utilisateur, projet, local et plugin sont bloqués. Les hooks des plugins forcément activés dans les paramètres gérés `enabledPlugins` sont exempts

260* Claude Code restreint également votre [`statusLine`](https://code.claude.com/docs/fr/statusline), [`fileSuggestion`](https://code.claude.com/docs/fr/settings-reference#filesuggestion) et [`subagentStatusLine`](https://code.claude.com/docs/fr/statusline#subagent-status-lines) aux paramètres gérés260* Claude Code restreint également vos paramètres [`statusLine`](https://code.claude.com/docs/fr/statusline) et [`fileSuggestion`](https://code.claude.com/docs/fr/settings-reference#filesuggestion) aux paramètres gérés

261* Claude Code désactive également les plugins avec une [source `command`](https://code.claude.com/docs/fr/plugins/marketplace-reference#command-plugin-source), y compris les plugins forcément activés dans les paramètres gérés `enabledPlugins`, sauf si [`disableCommandPluginSources`](https://code.claude.com/docs/fr/settings-reference#disablecommandpluginsources) est explicitement défini à `false`. Les sources `command` nécessitent Claude Code v2.1.229 ou ultérieur261* Claude Code désactive également les plugins avec une [source `command`](https://code.claude.com/docs/fr/plugins/marketplace-reference#command-plugin-source), y compris les plugins forcément activés dans les paramètres gérés `enabledPlugins`, sauf si [`disableCommandPluginSources`](https://code.claude.com/docs/fr/settings-reference#disablecommandpluginsources) est explicitement défini à `false`. Les sources `command` nécessitent Claude Code v2.1.229 ou ultérieur

262* Claude Code bloque également les commandes [`headersHelper`](https://code.claude.com/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) du marketplace sauf si [`disableCommandPluginSources`](https://code.claude.com/docs/fr/settings-reference#disablecommandpluginsources) est explicitement défini à `false`, sauf pour un marketplace que les paramètres gérés eux-mêmes déclarent262* Claude Code bloque également les commandes [`headersHelper`](https://code.claude.com/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) du marketplace sauf si [`disableCommandPluginSources`](https://code.claude.com/docs/fr/settings-reference#disablecommandpluginsources) est explicitement défini à `false`, sauf pour un marketplace que les paramètres gérés eux-mêmes déclarent

263 263 


505| `url` | oui | URL vers laquelle envoyer la requête POST |505| `url` | oui | URL vers laquelle envoyer la requête POST |

506| `headers` | non | En-têtes HTTP supplémentaires sous forme de paires clé-valeur. Les valeurs supportent l'interpolation de variables d'environnement en utilisant la syntaxe `$VAR_NAME` ou `${VAR_NAME}`. Seules les variables listées dans `allowedEnvVars` sont résolues |506| `headers` | non | En-têtes HTTP supplémentaires sous forme de paires clé-valeur. Les valeurs supportent l'interpolation de variables d'environnement en utilisant la syntaxe `$VAR_NAME` ou `${VAR_NAME}`. Seules les variables listées dans `allowedEnvVars` sont résolues |

507| `allowedEnvVars` | non | Liste des noms de variables d'environnement qui peuvent être interpolés dans les valeurs d'en-tête. Les références aux variables non listées sont remplacées par des chaînes vides. Requis pour que l'interpolation de variables d'environnement fonctionne |507| `allowedEnvVars` | non | Liste des noms de variables d'environnement qui peuvent être interpolés dans les valeurs d'en-tête. Les références aux variables non listées sont remplacées par des chaînes vides. Requis pour que l'interpolation de variables d'environnement fonctionne |

508| `onFailure` | non | Ce qu'il advient de l'action lorsque le hook échoue : `"continue"`, la valeur par défaut, ou `"block"`. Consultez [Bloquer l'action lorsqu'un hook échoue](#block-the-action-when-a-hook-fails). Nécessite Claude Code v2.1.295 ou ultérieur |508| `onFailure` | non | Indique si l'action qui a déclenché le hook se poursuit lorsque le hook échoue : `"continue"` ou `"block"`. Consultez [Bloquer l'action lorsqu'un hook échoue](#block-the-action-when-a-hook-fails) pour `"block"` et pour le cas où le champ n'est pas défini. Nécessite Claude Code v2.1.295 ou ultérieur |

509 509 

510Claude Code envoie l'[entrée JSON](#hook-input-and-output) du hook en tant que corps de la requête POST avec `Content-Type: application/json`. Le corps de la réponse utilise le même [format de sortie JSON](#json-output) que les hooks de commande.510Claude Code envoie l'[entrée JSON](#hook-input-and-output) du hook en tant que corps de la requête POST avec `Content-Type: application/json`. Le corps de la réponse utilise le même [format de sortie JSON](#json-output) que les hooks de commande.

511 511 


901 901 

902Sur `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](https://code.claude.com/docs/fr/permissions.md) 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](https://code.claude.com/docs/fr/agent-sdk/hooks.md) qui dépasse son délai d'expiration [bloque l'appel d'outil](#pretooluse).902Sur `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](https://code.claude.com/docs/fr/permissions.md) 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](https://code.claude.com/docs/fr/agent-sdk/hooks.md) qui dépasse son délai d'expiration [bloque l'appel d'outil](#pretooluse).

903 903 

904> [!NOTE]

905>

906> Si vous utilisez Code Mode, les délais d'expiration sur `PreToolUse` fonctionnent différemment. Consultez [Appel d'outil refusé par un hook](https://code.claude.com/docs/fr/code-mode.md#tool-call-refused-by-a-hook).

907 

904#### Hooks qui démarrent un processus en arrière-plan908#### Hooks qui démarrent un processus en arrière-plan

905 909 

906Un hook peut démarrer un programme de longue durée, comme un serveur de développement, et le laisser s'exécuter pendant que la session se poursuit. Dans le script du hook ou la commande sous [forme shell](#exec-form-and-shell-form) :910Un hook peut démarrer un programme de longue durée, comme un serveur de développement, et le laisser s'exécuter pendant que la session se poursuit. Dans le script du hook ou la commande sous [forme shell](#exec-form-and-shell-form) :


981* **Hooks `Stop`, `SubagentStop`, `TaskCompleted` et `TeammateIdle`** : le code de sortie 2 sur ces événements renvoie Claude au travail, et Claude ne peut pas réparer un hook qui ne s'exécute pas985* **Hooks `Stop`, `SubagentStop`, `TaskCompleted` et `TeammateIdle`** : le code de sortie 2 sur ces événements renvoie Claude au travail, et Claude ne peut pas réparer un hook qui ne s'exécute pas

982* **Hooks de commande en arrière-plan** : les hooks de commande qui définissent [`async` ou `asyncRewake`](#run-hooks-in-the-background)986* **Hooks de commande en arrière-plan** : les hooks de commande qui définissent [`async` ou `asyncRewake`](#run-hooks-in-the-background)

983 987 

988> [!NOTE]

989>

990> Si vous utilisez Code Mode, les échecs sur `PreToolUse` fonctionnent différemment. Consultez [Appel d'outil refusé par un hook](https://code.claude.com/docs/fr/code-mode.md#tool-call-refused-by-a-hook).

991 

984#### Échecs de hooks sur Windows sans Git Bash992#### Échecs de hooks sur Windows sans Git Bash

985 993 

986Si l'erreur d'un appel d'outil bloqué inclut ce texte, un hook de commande `PreToolUse` ou `PermissionRequest` a échoué ou expiré et a bloqué l'appel :994Si l'erreur d'un appel d'outil bloqué inclut ce texte, un hook de commande `PreToolUse` ou `PermissionRequest` a échoué ou expiré et a bloqué l'appel :


1512* Le déclenchement d'une [tâche planifiée limitée à la session](https://code.claude.com/docs/fr/scheduled-tasks.md), y compris une itération de `/loop`1520* Le déclenchement d'une [tâche planifiée limitée à la session](https://code.claude.com/docs/fr/scheduled-tasks.md), y compris une itération de `/loop`

1513* Le compte rendu d'un [sous-agent en arrière-plan](https://code.claude.com/docs/fr/sub-agents.md#run-subagents-in-foreground-or-background) à la session qui l'a lancé1521* Le compte rendu d'un [sous-agent en arrière-plan](https://code.claude.com/docs/fr/sub-agents.md#run-subagents-in-foreground-or-background) à la session qui l'a lancé

1514* Un [message envoyé par une autre session](https://code.claude.com/docs/fr/cross-session-messaging.md) à votre conversation principale1522* Un [message envoyé par une autre session](https://code.claude.com/docs/fr/cross-session-messaging.md) à votre conversation principale

1523* La sortie du code de Claude dans une session en [Code Mode](https://code.claude.com/docs/fr/code-mode.md#code-output-withheld-by-a-hook), pour les hooks `command`, `http` et `mcp_tool`, lorsque du code peut s'exécuter en arrière-plan

1515 1524 

1516Les hooks `UserPromptSubmit` ont un délai d'expiration par défaut de 30 secondes pour les types `command`, `http` et `mcp_tool`, plus court que la valeur par défaut de 600 secondes pour ces types sur la plupart des autres événements. Comme ce hook s'exécute avant chaque prompt et bloque le traitement du modèle jusqu'à ce qu'il se termine, un hook bloqué paralyse la session. Si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.1525Les hooks `UserPromptSubmit` ont un délai d'expiration par défaut de 30 secondes pour les types `command`, `http` et `mcp_tool`, plus court que la valeur par défaut de 600 secondes pour ces types sur la plupart des autres événements. Comme ce hook s'exécute avant chaque prompt et bloque le traitement du modèle jusqu'à ce qu'il se termine, un hook bloqué paralyse la session. Si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.

1517 1526 


1560| Champ | Description |1569| Champ | Description |

1561| :- | :- |1570| :- | :- |

1562| `decision` | `"block"` arrête le prompt avant qu'il n'atteigne Claude. Omettez-le pour laisser le prompt se poursuivre |1571| `decision` | `"block"` arrête le prompt avant qu'il n'atteigne Claude. Omettez-le pour laisser le prompt se poursuivre |

1563| `reason` | Affiché à l'utilisateur lorsque `decision` vaut `"block"`. Non ajouté au contexte |1572| `reason` | Affiché à l'utilisateur lorsque `decision` vaut `"block"`. Non ajouté au contexte, sauf lorsque le hook bloque la [sortie du Code Mode](https://code.claude.com/docs/fr/code-mode.md#code-output-withheld-by-a-hook) |

1564| `additionalContext` | Chaîne ajoutée au contexte de Claude en plus du prompt soumis. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |1573| `additionalContext` | Chaîne ajoutée au contexte de Claude en plus du prompt soumis. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |

1565| `sessionTitle` | Définit le titre de la session. Utilisez-le pour nommer automatiquement les sessions en fonction du contenu du prompt |1574| `sessionTitle` | Définit le titre de la session. Utilisez-le pour nommer automatiquement les sessions en fonction du contenu du prompt |

1566| `suppressOriginalPrompt` | S'il vaut `true` lorsque le hook bloque le prompt, exclut le texte du prompt du message de blocage. Consultez [Ce que laisse derrière lui un prompt bloqué](#what-a-blocked-prompt-leaves-behind) |1575| `suppressOriginalPrompt` | S'il vaut `true` lorsque le hook bloque le prompt, exclut le texte du prompt du message de blocage. Consultez [Ce que laisse derrière lui un prompt bloqué](#what-a-blocked-prompt-leaves-behind) |

1567 1576 

1568Un hook qui bloque en se terminant avec le code 2 suit le même acheminement que `reason` : le message de blocage affiche le texte stderr à l'utilisateur, et celui-ci n'est pas ajouté au contexte.1577Si votre hook bloque en se terminant avec le code 2, son texte stderr est traité de la même manière que `reason`.

1569 1578 

1570```json theme={null}1579```json theme={null}

1571{1580{


3000 3009 

3001S'exécute lorsqu'un fichier de configuration change pendant une session. Utilisez-le pour auditer les modifications de paramètres, appliquer des politiques de sécurité ou bloquer les modifications non autorisées des fichiers de configuration.3010S'exécute lorsqu'un fichier de configuration change pendant une session. Utilisez-le pour auditer les modifications de paramètres, appliquer des politiques de sécurité ou bloquer les modifications non autorisées des fichiers de configuration.

3002 3011 

3003Claude Code exécute les hooks ConfigChange lorsqu'un fichier de paramètres, un fichier de politique gérée ou un fichier de skill change. Pour la politique gérée, il ne les exécute que lorsque `managed-settings.json` ou un fichier de `managed-settings.d/` change. Il applique les [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md) et les modifications des préférences gérées macOS ou de la politique du registre Windows sans les exécuter. Sous WSL avec [`wslInheritsWindowsSettings`](https://code.claude.com/docs/fr/settings-reference#wslinheritswindowssettings), il applique également, lors de son interrogation de la politique, un fichier de paramètres gérés côté Windows modifié sans les exécuter.3012Claude Code exécute les hooks ConfigChange lorsqu'un fichier de paramètres, un fichier de politique gérée ou un fichier de skill change. Pour la politique gérée, il ne les exécute que lorsque `managed-settings.json` ou un fichier dans `managed-settings.d/` change.

3004 3013 

3005Le matcher filtre sur la source de configuration :3014Le matcher filtre sur la source de configuration :

3006 3015 


3012| `policy_settings` | `managed-settings.json` ou un fichier de `managed-settings.d/` change |3021| `policy_settings` | `managed-settings.json` ou un fichier de `managed-settings.d/` change |

3013| `skills` | Un fichier de skill dans `.claude/skills/` change |3022| `skills` | Un fichier de skill dans `.claude/skills/` change |

3014 3023 

3015Cet exemple journalise toutes les modifications de configuration pour un audit de sécurité :3024Les modifications suivantes prennent effet sans exécuter les hooks :

3025 

3026* Les règles et paramètres que vous enregistrez avec **Yes, and don't ask again**, `/permissions` ou `/model`, dans la session depuis laquelle vous les avez enregistrés. Si une autre session ouverte charge le même fichier, les hooks s'y exécutent.

3027* Les mises à jour des [paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md), des préférences gérées macOS ou des stratégies du registre Windows

3028* Sous WSL avec [`wslInheritsWindowsSettings`](https://code.claude.com/docs/fr/settings-reference#wslinheritswindowssettings), un fichier de paramètres gérés modifié côté Windows, que Claude Code prend en compte lors de son interrogation périodique des stratégies

3029 

3030Cet exemple journalise les modifications de configuration à des fins d'audit de sécurité :

3016 3031 

3017```json theme={null}3032```json theme={null}

3018{3033{


3335 "hooks": [3350 "hooks": [

3336 {3351 {

3337 "type": "command",3352 "type": "command",

3338 "command": "bash -c 'jq -r .worktree_path | xargs rm -rf'"3353 "command": "bash -c 'p=$(jq -er .worktree_path) && rm -rf -- \"$p\"'"

3339 }3354 }

3340 ]3355 ]

3341 }3356 }

hooks-guide.md +4 −4

Details

50 "PostToolUse": [50 "PostToolUse": [

51 {51 {

52 "matcher": "Edit|Write",52 "matcher": "Edit|Write",

53 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write" }]53 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\"" }]

54 }54 }

55 ],55 ],

56 "Notification": [56 "Notification": [


221 "hooks": [221 "hooks": [

222 {222 {

223 "type": "command",223 "type": "command",

224 "command": "jq -r '.tool_input.file_path' | xargs npx prettier --write"224 "command": "f=$(jq -r '.tool_input.file_path') && npx prettier --write --ignore-unknown \"$f\""

225 }225 }

226 ]226 ]

227 }227 }


336 336 

337Suivez les modifications des fichiers de paramètres ou de skills au cours d'une session. L'événement `ConfigChange` se déclenche lorsqu'un processus externe ou un éditeur modifie un fichier de configuration, ce qui vous permet de journaliser les modifications à des fins de conformité ou de bloquer les modifications non autorisées.337Suivez les modifications des fichiers de paramètres ou de skills au cours d'une session. L'événement `ConfigChange` se déclenche lorsqu'un processus externe ou un éditeur modifie un fichier de configuration, ce qui vous permet de journaliser les modifications à des fins de conformité ou de bloquer les modifications non autorisées.

338 338 

339Cet exemple ajoute chaque modification à un log d'audit. Ajoutez ceci à `~/.claude/settings.json` :339Cet exemple ajoute chaque événement à un log d'audit. Ajoutez ceci à `~/.claude/settings.json` :

340 340 

341```json theme={null}341```json theme={null}

342{342{


925Votre endpoint répond avec un corps JSON dans le même [format de sortie](https://code.claude.com/docs/fr/hooks.md#json-output) que les hooks de commande, et Claude Code vérifie également le statut de la réponse :925Votre endpoint répond avec un corps JSON dans le même [format de sortie](https://code.claude.com/docs/fr/hooks.md#json-output) que les hooks de commande, et Claude Code vérifie également le statut de la réponse :

926 926 

927* **Statut 2xx** : pour bloquer un appel d'outil, retournez les champs `hookSpecificOutput` appropriés dans le corps.927* **Statut 2xx** : pour bloquer un appel d'outil, retournez les champs `hookSpecificOutput` appropriés dans le corps.

928* **Tout autre statut, ou échec de la requête** : Claude Code signale une [erreur non bloquante](https://code.claude.com/docs/fr/hooks.md#exit-code-output) et laisse l'action se poursuivre. Pour qu'un endpoint en échec bloque l'action, définissez [`onFailure: "block"`](https://code.claude.com/docs/fr/hooks#block-the-action-when-a-hook-fails) sur le hook.928* **Tout autre statut, ou échec de la requête** : Claude Code signale une [erreur non bloquante](https://code.claude.com/docs/fr/hooks.md#exit-code-output) et laisse l'action se poursuivre, sauf si le hook fait partie de ceux [dont l'échec bloque l'action](https://code.claude.com/docs/fr/hooks.md#block-the-action-when-a-hook-fails). Pour qu'un endpoint en échec bloque l'action, définissez [`onFailure: "block"`](https://code.claude.com/docs/fr/hooks#block-the-action-when-a-hook-fails) sur le hook.

929 929 

930Les valeurs d'en-tête supportent l'interpolation de variables d'environnement en utilisant la syntaxe `$VAR_NAME` ou `${VAR_NAME}`. Seules les variables listées dans le tableau `allowedEnvVars` sont résolues ; toutes les autres références `$VAR` restent vides.930Les valeurs d'en-tête supportent l'interpolation de variables d'environnement en utilisant la syntaxe `$VAR_NAME` ou `${VAR_NAME}`. Seules les variables listées dans le tableau `allowedEnvVars` sont résolues ; toutes les autres références `$VAR` restent vides.

931 931 

Details

36| `Esc` | Interrompre Claude ou fermer une boîte de dialogue | Arrêtez la réponse ou l'appel d'outil en cours en plein tour afin de pouvoir réorienter Claude. Claude conserve le travail effectué jusque-là. Si vous avez des [messages en file d'attente](#queue-messages-while-claude-works), Claude Code les envoie ensuite. Lorsqu'une boîte de dialogue est ouverte, `Esc` la ferme. Lorsqu'un élément du pied de page est sélectionné, comme une ligne du [panneau des sous-agents](https://code.claude.com/docs/fr/sub-agents.md#run-subagents-in-foreground-or-background) sous le prompt, `Esc` [le désélectionne](https://code.claude.com/docs/fr/keybindings.md#footer-actions) au lieu d'interrompre. Sur une demande de permission, `Esc` refuse l'action, comme [**No** sans commentaire](https://code.claude.com/docs/fr/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |36| `Esc` | Interrompre Claude ou fermer une boîte de dialogue | Arrêtez la réponse ou l'appel d'outil en cours en plein tour afin de pouvoir réorienter Claude. Claude conserve le travail effectué jusque-là. Si vous avez des [messages en file d'attente](#queue-messages-while-claude-works), Claude Code les envoie ensuite. Lorsqu'une boîte de dialogue est ouverte, `Esc` la ferme. Lorsqu'un élément du pied de page est sélectionné, comme une ligne du [panneau des sous-agents](https://code.claude.com/docs/fr/sub-agents.md#run-subagents-in-foreground-or-background) sous le prompt, `Esc` [le désélectionne](https://code.claude.com/docs/fr/keybindings.md#footer-actions) au lieu d'interrompre. Sur une demande de permission, `Esc` refuse l'action, comme [**No** sans commentaire](https://code.claude.com/docs/fr/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) |

37| `Esc` + `Esc` | Effacer le brouillon de saisie ou revenir en arrière | Lorsque la saisie du prompt contient du texte, un double `Esc` l'efface et enregistre le brouillon dans l'historique pour que `Up` le rappelle. Lorsque la saisie est vide, un double `Esc` ouvre le [menu de retour en arrière](https://code.claude.com/docs/fr/checkpointing.md) pour restaurer ou résumer le code et la conversation à partir d'un point antérieur |37| `Esc` + `Esc` | Effacer le brouillon de saisie ou revenir en arrière | Lorsque la saisie du prompt contient du texte, un double `Esc` l'efface et enregistre le brouillon dans l'historique pour que `Up` le rappelle. Lorsque la saisie est vide, un double `Esc` ouvre le [menu de retour en arrière](https://code.claude.com/docs/fr/checkpointing.md) pour restaurer ou résumer le code et la conversation à partir d'un point antérieur |

38| `Ctrl+Enter` ou `Ctrl+X Ctrl+S` | Envoyer immédiatement les messages en file d'attente | Envoie immédiatement vos [messages en file d'attente](#queue-messages-while-claude-works), accompagnés de votre brouillon. [Quand Claude Code envoie ce que vous avez mis en file d'attente](#when-claude-code-sends-what-you-queued) explique ce qu'il advient du tour sur lequel Claude travaille. En [mode shell](#shell-mode-with-prefix), la touche met seulement votre commande en file d'attente. Dans les terminaux qui ne signalent pas les touches étendues, `Ctrl+Enter` arrive comme un simple `Enter` ; `Ctrl+X Ctrl+S` fonctionne dans n'importe quel terminal. Nécessite Claude Code v2.1.275 ou version ultérieure |38| `Ctrl+Enter` ou `Ctrl+X Ctrl+S` | Envoyer immédiatement les messages en file d'attente | Envoie immédiatement vos [messages en file d'attente](#queue-messages-while-claude-works), accompagnés de votre brouillon. [Quand Claude Code envoie ce que vous avez mis en file d'attente](#when-claude-code-sends-what-you-queued) explique ce qu'il advient du tour sur lequel Claude travaille. En [mode shell](#shell-mode-with-prefix), la touche met seulement votre commande en file d'attente. Dans les terminaux qui ne signalent pas les touches étendues, `Ctrl+Enter` arrive comme un simple `Enter` ; `Ctrl+X Ctrl+S` fonctionne dans n'importe quel terminal. Nécessite Claude Code v2.1.275 ou version ultérieure |

39| `Shift+Tab`, ou `Alt+M` sur Windows lorsque le runtime Node ou Bun n'active pas le mode de saisie VT | Parcourir les modes de permission | Parcourez `default` (indiqué Manual dans l'indicateur de mode), `acceptEdits`, `plan` et, lorsqu'ils sont disponibles, `bypassPermissions` puis `auto`. Depuis `auto`, le premier appui passe à `default`. Consultez [modes de permission](https://code.claude.com/docs/fr/permission-modes.md). Sur une demande de permission de fichier, la même touche ferme un [champ de commentaire](https://code.claude.com/docs/fr/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) ouvert. Si aucun champ n'est ouvert, elle sélectionne l'option qui autorise l'action pour le reste de la session, lorsque la demande propose cette option |39| `Shift+Tab`, ou `Alt+M` sur Windows lorsque le runtime Node ou Bun n'active pas le mode de saisie VT | Parcourir les modes de permission | Parcourez `default` (indiqué Manual dans l'indicateur de mode), `acceptEdits` et `plan`, puis `bypassPermissions` et `auto` lorsqu'ils sont disponibles. Consultez [modes de permission](https://code.claude.com/docs/fr/permission-modes.md). Sur une demande de permission de fichier, la même touche ferme un [champ de commentaire](https://code.claude.com/docs/fr/permissions.md#add-a-comment-when-you-answer-a-permission-prompt) ouvert. Si aucun champ n'est ouvert, elle sélectionne l'option qui autorise l'action pour le reste de la session, lorsque la demande propose cette option. Sur la demande d'approbation du plan, elle approuve le plan |

40| `Option+P` (macOS) ou `Alt+P` (Windows/Linux) | Changer de modèle | Changez de modèle sans effacer votre prompt |40| `Option+P` (macOS) ou `Alt+P` (Windows/Linux) | Changer de modèle | Changez de modèle sans effacer votre prompt |

41| `Option+T` (macOS) ou `Alt+T` (Windows/Linux) | Activer/désactiver la réflexion étendue | Activez ou désactivez le mode réflexion étendue. Sans effet sur Opus 5.5, Sonnet 5.5, Haiku 5.5 ou les modèles Fable, qui utilisent toujours la réflexion étendue. Fonctionne sur macOS sans configurer Option comme Meta |41| `Option+T` (macOS) ou `Alt+T` (Windows/Linux) | Activer/désactiver la réflexion étendue | Activez ou désactivez le mode réflexion étendue. Sans effet sur Opus 5.5, Sonnet 5.5, Haiku 5.5 ou les modèles Fable, qui utilisent toujours la réflexion étendue. Fonctionne sur macOS sans configurer Option comme Meta |

42| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Activer/désactiver le mode rapide | Activez ou désactivez le [mode rapide](https://code.claude.com/docs/fr/fast-mode.md) |42| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Activer/désactiver le mode rapide | Activez ou désactivez le [mode rapide](https://code.claude.com/docs/fr/fast-mode.md) |


81| :- | :- | :- |81| :- | :- | :- |

82| Échappement rapide | `\` + `Enter` | Fonctionne dans tous les terminaux |82| Échappement rapide | `\` + `Enter` | Fonctionne dans tous les terminaux |

83| Touche Option | `Option+Enter` | Après avoir activé [Option comme Meta](https://code.claude.com/docs/fr/terminal-config.md#enable-option-key-shortcuts-on-macos) sur macOS |83| Touche Option | `Option+Enter` | Après avoir activé [Option comme Meta](https://code.claude.com/docs/fr/terminal-config.md#enable-option-key-shortcuts-on-macos) sur macOS |

84| Shift+Enter | `Shift+Enter` | Natif dans iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal. Pour les autres terminaux, consultez [Saisir des prompts multilignes](https://code.claude.com/docs/fr/terminal-config.md#enter-multiline-prompts) |84| Shift+Enter | `Shift+Enter` | Natif dans iTerm2, WezTerm, Ghostty, Kitty, Warp, Windows Terminal. Pour les autres terminaux, consultez [Saisir des prompts multilignes](https://code.claude.com/docs/fr/terminal-config.md#enter-multiline-prompts) |

85| Séquence de contrôle | `Ctrl+J` | Fonctionne dans n'importe quel terminal sans configuration |85| Séquence de contrôle | `Ctrl+J` | Fonctionne dans n'importe quel terminal sans configuration |

86| Mode collage | Coller directement | Pour les blocs de code, les logs |86| Mode collage | Coller directement | Pour les blocs de code, les logs |

87 87 


137 137 

138Activez l'édition de style vim via `/config` → Editor mode.138Activez l'édition de style vim via `/config` → Editor mode.

139 139 

140Claude Code conserve votre mode vim et la position du curseur lorsque vous basculez le [lecteur de transcription](#transcript-viewer) avec `Ctrl+O` ou ouvrez et fermez un panneau tel que `/config`. Si vous quittez l'invite en mode NORMAL, elle est toujours en mode NORMAL lorsque vous revenez, avec le curseur où vous l'aviez laissé.

141 

142### Changement de mode140### Changement de mode

143 141 

144| Commande | Action | Du mode |142| Commande | Action | Du mode |


302 * Appuyez sur `Ctrl+C` pour annuler et restaurer votre saisie d'origine300 * Appuyez sur `Ctrl+C` pour annuler et restaurer votre saisie d'origine

303 * Appuyez sur `Backspace` sur une recherche vide pour annuler301 * Appuyez sur `Backspace` sur une recherche vide pour annuler

304 302 

305Accepter une correspondance ou annuler la recherche prend effet immédiatement, même pendant que Claude Code charge encore l'historique.

306 

307Pour retrouver un prompt antérieur lorsque vous ne vous souvenez que d'un long contenu que vous y avez collé, comme un log d'erreur, appuyez sur `Ctrl+R` et tapez un mot de ce contenu collé. Nécessite Claude Code v2.1.314 ou version ultérieure.303Pour retrouver un prompt antérieur lorsque vous ne vous souvenez que d'un long contenu que vous y avez collé, comme un log d'erreur, appuyez sur `Ctrl+R` et tapez un mot de ce contenu collé. Nécessite Claude Code v2.1.314 ou version ultérieure.

308 304 

309## Commandes Bash en arrière-plan305## Commandes Bash en arrière-plan


600 596 

601### Ce que Claude Code souligne597### Ce que Claude Code souligne

602 598 

603Peu de temps après que vous ayez arrêté de taper, Claude Code souligne les mots que le dictionnaire ne connaît pas. Il laisse le mot que vous tapez encore seul jusqu'à ce que vous le dépassiez, et il ne change jamais votre texte. Il ignore également le texte qui ressemble à du code :599Peu de temps après que vous avez arrêté de taper, Claude Code souligne les mots que le dictionnaire ne connaît pas. Il ne touche pas au mot que vous êtes encore en train de taper tant que vous ne l'avez pas dépassé. Il ignore également le texte qui ressemble à du code :

604 600 

605* Les commandes telles que `/help`, les mentions `@`, les URL, les chemins de fichiers, et les drapeaux tels que `--verbose`601* Les commandes telles que `/help`, les mentions `@`, les URL, les chemins de fichiers, et les drapeaux tels que `--verbose`

606* Les mots avec des chiffres, des traits de soulignement, ou une lettre majuscule après la première, et le texte entre backticks602* Les mots avec des chiffres, des traits de soulignement, ou une lettre majuscule après la première, et le texte entre backticks

keybindings.md +7 −2

Details

581 581 

582Claude Code lie ces accords par défaut sur le préfixe `ctrl+x`, par contexte :582Claude Code lie ces accords par défaut sur le préfixe `ctrl+x`, par contexte :

583 583 

584* `Chat` : `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s` et `ctrl+x tab`584* `Chat` : `ctrl+x ctrl+k`, `ctrl+x ctrl+e`, `ctrl+x enter`, `ctrl+x ctrl+a`, `ctrl+x ctrl+s`, `ctrl+x tab`, `ctrl+x ctrl+=`, `ctrl+x ctrl+-`, `ctrl+x ctrl+_`, `ctrl+x =` et `ctrl+x -`

585* `Task` : `ctrl+x ctrl+b`585* `Task` : `ctrl+x ctrl+b`

586* `DiffPanel` : `ctrl+x b`586* `DiffPanel` : `ctrl+x b`

587* `Pane` : `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down` et `ctrl+x x`587* `Pane` : `ctrl+x left`, `ctrl+x right`, `ctrl+x up`, `ctrl+x down` et `ctrl+x x`


631 "ctrl+x ctrl+a": null,631 "ctrl+x ctrl+a": null,

632 "ctrl+x ctrl+s": null,632 "ctrl+x ctrl+s": null,

633 "ctrl+x tab": null,633 "ctrl+x tab": null,

634 "ctrl+x ctrl+=": null,

635 "ctrl+x ctrl+-": null,

636 "ctrl+x ctrl+_": null,

637 "ctrl+x =": null,

638 "ctrl+x -": null,

634 "ctrl+x": "chat:newline"639 "ctrl+x": "chat:newline"

635 }640 }

636 }641 }


716Claude Code valide vos liaisons de touches et écrit un avertissement dans le journal de débogage pour :721Claude Code valide vos liaisons de touches et écrit un avertissement dans le journal de débogage pour :

717 722 

718* Erreurs d'analyse (JSON invalide ou structure)723* Erreurs d'analyse (JSON invalide ou structure)

719* Modificateurs mal orthographiés, tels que `ctl+k`. Claude Code supprime la partie qu'il ne reconnaît pas et applique la liaison à la frappe restante, `k` dans cet exemple.724* Modificateurs mal orthographiés, tels que `ctl+k`. Claude Code ignore l'intégralité de la liaison. Corrigez le modificateur, en `ctrl+k` dans cet exemple.

720* Un espace à côté de `+` dans une chaîne de touches, tel que `ctrl+ k`. Claude Code interprète la chaîne comme un [accord](#chords) de `ctrl+` suivi de `k`. Aucune frappe ne correspond à `ctrl+` seul, la liaison ne se déclenche donc jamais. Supprimez l'espace.725* Un espace à côté de `+` dans une chaîne de touches, tel que `ctrl+ k`. Claude Code interprète la chaîne comme un [accord](#chords) de `ctrl+` suivi de `k`. Aucune frappe ne correspond à `ctrl+` seul, la liaison ne se déclenche donc jamais. Supprimez l'espace.

721* Noms de contexte invalides726* Noms de contexte invalides

722* Valeurs d'action invalides, telles qu'une action qui n'est pas une chaîne ou `null`727* Valeurs d'action invalides, telles qu'une action qui n'est pas une chaîne ou `null`

llm-gateway.md +4 −0

Details

43 43 

44Pour faire d'une passerelle accessible via `ANTHROPIC_BASE_URL` la seule destination qu'une machine gérée peut utiliser, définissez [`allowedProviders`](https://code.claude.com/docs/fr/settings-reference#allowedproviders) à `["customEndpoint"]` dans le même fichier de paramètres gérés et mettez l'`ANTHROPIC_BASE_URL` de la passerelle dans le bloc `env` de ce fichier. Claude Code refuse alors une session pointée ailleurs, y compris directement vers Anthropic ou vers le propre proxy d'un développeur, et accepte `ANTHROPIC_BASE_URL` uniquement avec la valeur que vous y définissez. Pour une passerelle accessible via une variable de point de terminaison spécifique au fournisseur telle que `ANTHROPIC_BEDROCK_BASE_URL`, l'entrée `allowedProviders` indique quelle variable épingler. Nécessite Claude Code v2.1.285 ou ultérieur.44Pour faire d'une passerelle accessible via `ANTHROPIC_BASE_URL` la seule destination qu'une machine gérée peut utiliser, définissez [`allowedProviders`](https://code.claude.com/docs/fr/settings-reference#allowedproviders) à `["customEndpoint"]` dans le même fichier de paramètres gérés et mettez l'`ANTHROPIC_BASE_URL` de la passerelle dans le bloc `env` de ce fichier. Claude Code refuse alors une session pointée ailleurs, y compris directement vers Anthropic ou vers le propre proxy d'un développeur, et accepte `ANTHROPIC_BASE_URL` uniquement avec la valeur que vous y définissez. Pour une passerelle accessible via une variable de point de terminaison spécifique au fournisseur telle que `ANTHROPIC_BEDROCK_BASE_URL`, l'entrée `allowedProviders` indique quelle variable épingler. Nécessite Claude Code v2.1.285 ou ultérieur.

45 45 

46> [!NOTE]

47>

48> Lorsque Desktop est connecté à claude.ai, une session Cowork sur la machine de l'utilisateur compte comme [`"anthropic"`](https://code.claude.com/docs/fr/settings-reference#allowedproviders). Si vous l'omettez de cette liste dans une politique MDM ou un fichier de paramètres gérés, cette session est refusée. Si vous l'incluez, les sessions envoyées directement à Anthropic passent également cette liste.

49 

46## Abonnements et passerelles50## Abonnements et passerelles

47 51 

48Tandis qu'une [variable de credential de passerelle](https://code.claude.com/docs/fr/llm-gateway-connect.md#set-the-credential-variable) ou `apiKeyHelper` est active, les requêtes portent cette credential à la place de la connexion d'abonnement claude.ai d'un développeur, et les limites d'utilisation de l'abonnement ne s'appliquent pas à celles-ci. Claude Code conserve une connexion claude.ai sauvegardée sur la machine mais ne l'envoie pas avec ces requêtes. Ce trafic est facturé par token à celui qui possède la credential que la passerelle transfère, tel que le compte Anthropic Console de votre organisation, ou votre compte Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry quand la passerelle achemine là.52Tandis qu'une [variable de credential de passerelle](https://code.claude.com/docs/fr/llm-gateway-connect.md#set-the-credential-variable) ou `apiKeyHelper` est active, les requêtes portent cette credential à la place de la connexion d'abonnement claude.ai d'un développeur, et les limites d'utilisation de l'abonnement ne s'appliquent pas à celles-ci. Claude Code conserve une connexion claude.ai sauvegardée sur la machine mais ne l'envoie pas avec ces requêtes. Ce trafic est facturé par token à celui qui possède la credential que la passerelle transfère, tel que le compte Anthropic Console de votre organisation, ou votre compte Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry quand la passerelle achemine là.

Details

156 156 

157### Conflits avec une connexion existante157### Conflits avec une connexion existante

158 158 

159Une variable d'identifiant de passerelle a priorité sur une connexion claude.ai sauvegardée ou une clé Console. Avec `ANTHROPIC_AUTH_TOKEN`, la variable a priorité immédiatement. Avec `ANTHROPIC_API_KEY`, vous êtes invité une fois en mode interactif à approuver la clé avant qu'elle ne prenne le contrôle.159Vos requêtes utilisent une variable d'identifiant de passerelle plutôt qu'une connexion claude.ai sauvegardée. Avec `ANTHROPIC_AUTH_TOKEN`, la variable a priorité immédiatement. Avec `ANTHROPIC_API_KEY`, vous êtes invité une fois en mode interactif à approuver la clé avant qu'elle ne prenne le contrôle.

160 160 

161Exécutez `/status` pour confirmer quelle source d'identifiant est active. Si le démarrage affiche un avertissement de conflit d'authentification nommant deux sources, voir la première ligne du [tableau de dépannage](#troubleshoot-gateway-errors) pour savoir laquelle supprimer. Pour effacer une connexion sauvegardée afin que seul l'identifiant de passerelle reste, exécutez `/logout`.161Exécutez `/status` pour confirmer quelle source d'identifiant est active. Si le démarrage affiche un avertissement de conflit d'authentification nommant deux sources, voir la première ligne du [tableau de dépannage](#troubleshoot-gateway-errors) pour savoir laquelle supprimer. Pour effacer une connexion sauvegardée afin que seul l'identifiant de passerelle reste, exécutez `/logout`.

162 162 


506 506 

507| Erreur | Cause | Correction |507| Erreur | Cause | Correction |

508| :- | :- | :- |508| :- | :- | :- |

509| Un avertissement de démarrage nommant deux sources d'identifiant et se terminant par `auth may not work as expected`. Les versions plus anciennes affichent `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` à la place. | Un identifiant de passerelle et une connexion sauvegardée sont tous deux actifs ; la variable est utilisée pour les demandes, mais la connexion obsolète peut causer un comportement d'authentification inattendu | Supprimez la variable pour utiliser la connexion sauvegardée, ou exécutez `/logout` pour utiliser l'identifiant de passerelle |509| Un avertissement de démarrage nommant deux sources d'identifiant et se terminant par `auth may not work as expected`. Les versions plus anciennes affichent `Auth conflict: Both a token (SOURCE) and an API key (SOURCE) are set` à la place. | Un identifiant de passerelle et une connexion sauvegardée sont tous deux actifs | Supprimez la variable pour utiliser la connexion sauvegardée, ou exécutez `/logout` pour utiliser l'identifiant de passerelle |

510| Erreurs `401` nommant un jeton invalide ou non reconnu | L'identifiant n'en est pas un que la passerelle a émis, ou il est dans un en-tête que la passerelle ne lit pas | Confirmez que la variable correspond à votre type d'identifiant dans le [tableau d'identifiant](#set-the-credential-variable), et régénérez la clé à la passerelle si elle a été révoquée |510| Erreurs `401` nommant un jeton invalide ou non reconnu | L'identifiant n'en est pas un que la passerelle a émis, ou il est dans un en-tête que la passerelle ne lit pas | Confirmez que la variable correspond à votre type d'identifiant dans le [tableau d'identifiant](#set-the-credential-variable), et régénérez la clé à la passerelle si elle a été révoquée |

511| `Your apiKeyHelper script is failing`, ou `apiKeyHelper failed:` sur stderr en mode non interactif | La commande dans le paramètre [`apiKeyHelper`](https://code.claude.com/docs/fr/settings-reference#apikeyhelper) n'a pas produit une clé utilisable, de sorte que les demandes portent une clé d'espace réservé | Exécutez la commande directement pour voir pourquoi elle échoue, et réauthentifiez-vous auprès de votre fournisseur d'identifiants s'il signale une session expirée ; voir [la référence d'erreur](https://code.claude.com/docs/fr/errors.md#your-apikeyhelper-script-is-failing) |511| `Your apiKeyHelper script is failing`, ou `apiKeyHelper failed:` sur stderr en mode non interactif | La commande dans le paramètre [`apiKeyHelper`](https://code.claude.com/docs/fr/settings-reference#apikeyhelper) n'a pas produit une clé utilisable, de sorte que les demandes portent une clé d'espace réservé | Exécutez la commande directement pour voir pourquoi elle échoue, et réauthentifiez-vous auprès de votre fournisseur d'identifiants s'il signale une session expirée ; voir [la référence d'erreur](https://code.claude.com/docs/fr/errors.md#your-apikeyhelper-script-is-failing) |

512| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` quand rien ne répond à l'adresse, ou `Can't reach the API server — check your internet or DNS (ENOTFOUND)` quand le nom d'hôte ne se résout pas, souvent après une pause silencieuse tandis que Claude Code [réessaie avec backoff](https://code.claude.com/docs/fr/errors.md#automatic-retries). Le code entre parenthèses varie ; [Unable to connect to API](https://code.claude.com/docs/fr/errors.md#unable-to-connect-to-api) couvre les orthographes de code et la formulation antérieure | Rien n'a répondu à l'URL de base : l'adresse est mauvaise, ou un VPN ou un pare-feu bloque le chemin vers la passerelle | Exécutez le [test curl ci-dessus](#verify-the-connection), qui échoue immédiatement avec la même cause, et confirmez l'URL et le chemin réseau avec votre équipe de passerelle |512| `Connection refused — a firewall or proxy may be blocking it (ConnectionRefused)` quand rien ne répond à l'adresse, ou `Can't reach the API server — check your internet or DNS (ENOTFOUND)` quand le nom d'hôte ne se résout pas, souvent après une pause silencieuse tandis que Claude Code [réessaie avec backoff](https://code.claude.com/docs/fr/errors.md#automatic-retries). Le code entre parenthèses varie ; [Unable to connect to API](https://code.claude.com/docs/fr/errors.md#unable-to-connect-to-api) couvre les orthographes de code et la formulation antérieure | Rien n'a répondu à l'URL de base : l'adresse est mauvaise, ou un VPN ou un pare-feu bloque le chemin vers la passerelle | Exécutez le [test curl ci-dessus](#verify-the-connection), qui échoue immédiatement avec la même cause, et confirmez l'URL et le chemin réseau avec votre équipe de passerelle |


520| `/fast` signale `Fast mode unavailable due to network connectivity issues` tandis que les requêtes d'inférence fonctionnent | La vérification de disponibilité du [mode rapide](https://code.claude.com/docs/fr/fast-mode.md) va directement à `api.anthropic.com` et ne suit pas `ANTHROPIC_BASE_URL`, de sorte que le blocage de l'accès direct sortant fait échouer la vérification | Ajoutez `api.anthropic.com` à la liste d'autorisation si l'accès sortant est bloqué, ou définissez une variable de saut. Voir [utiliser le mode rapide derrière les proxys et les passerelles LLM](https://code.claude.com/docs/fr/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |520| `/fast` signale `Fast mode unavailable due to network connectivity issues` tandis que les requêtes d'inférence fonctionnent | La vérification de disponibilité du [mode rapide](https://code.claude.com/docs/fr/fast-mode.md) va directement à `api.anthropic.com` et ne suit pas `ANTHROPIC_BASE_URL`, de sorte que le blocage de l'accès direct sortant fait échouer la vérification | Ajoutez `api.anthropic.com` à la liste d'autorisation si l'accès sortant est bloqué, ou définissez une variable de saut. Voir [utiliser le mode rapide derrière les proxys et les passerelles LLM](https://code.claude.com/docs/fr/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

521| `/fast` signale `Fast mode is currently unavailable` dans une session qui s'authentifie avec une clé émise par la passerelle dans `ANTHROPIC_API_KEY` | Tant que `ANTHROPIC_BASE_URL` pointe vers votre passerelle et que la clé n'a pas le format d'une clé API Anthropic, Claude Code n'envoie pas la vérification de disponibilité du [mode rapide](https://code.claude.com/docs/fr/fast-mode.md). Sans vérification réussie antérieure en cache, il considère le mode rapide comme indisponible | Définissez `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` ; voir [utiliser le mode rapide derrière les proxys et les passerelles LLM](https://code.claude.com/docs/fr/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |521| `/fast` signale `Fast mode is currently unavailable` dans une session qui s'authentifie avec une clé émise par la passerelle dans `ANTHROPIC_API_KEY` | Tant que `ANTHROPIC_BASE_URL` pointe vers votre passerelle et que la clé n'a pas le format d'une clé API Anthropic, Claude Code n'envoie pas la vérification de disponibilité du [mode rapide](https://code.claude.com/docs/fr/fast-mode.md). Sans vérification réussie antérieure en cache, il considère le mode rapide comme indisponible | Définissez `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS=1` ; voir [utiliser le mode rapide derrière les proxys et les passerelles LLM](https://code.claude.com/docs/fr/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

522| `/fast` signale `Fast mode has been disabled by your organization` dans une session authentifiée avec `ANTHROPIC_AUTH_TOKEN`, même si l'organisation a le mode rapide activé | La vérification de disponibilité nécessite une connexion claude.ai ou une clé API ; avec seulement un jeton porteur, Claude Code traite le mode rapide comme désactivé sans envoyer la vérification | Définissez `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` ; voir [utiliser le mode rapide derrière les proxys et les passerelles LLM](https://code.claude.com/docs/fr/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |522| `/fast` signale `Fast mode has been disabled by your organization` dans une session authentifiée avec `ANTHROPIC_AUTH_TOKEN`, même si l'organisation a le mode rapide activé | La vérification de disponibilité nécessite une connexion claude.ai ou une clé API ; avec seulement un jeton porteur, Claude Code traite le mode rapide comme désactivé sans envoyer la vérification | Définissez `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` ; voir [utiliser le mode rapide derrière les proxys et les passerelles LLM](https://code.claude.com/docs/fr/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) |

523| `/feedback` enregistre un fichier local dans une session qui utilise `ANTHROPIC_BASE_URL` | Derrière une passerelle, `ANTHROPIC_AUTH_TOKEN` et une clé qui n'a pas le format d'une clé API Anthropic ne sont pas des identifiants Anthropic. Sans de tels identifiants, Claude Code écrit le rapport dans une archive locale sous `~/.claude/feedback-bundles/` au lieu de l'envoyer | Envoyez le fichier à votre représentant de compte Anthropic ou joignez-le à une demande d'assistance. Voir [services de télémétrie](https://code.claude.com/docs/fr/data-usage.md#telemetry-services) |

523| Claude Code vous demande de vous connecter même si le [test curl](#verify-the-connection) réussit | La CLI n'a pas d'identifiant propre : une URL de base accessible n'en est pas une, et dans une session interactive un bloc `env` dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un projet s'applique uniquement après l'assistant de première exécution et l'[invite de confiance](https://code.claude.com/docs/fr/permissions.md#what-runs-before-you-trust-a-folder) | Définissez `ANTHROPIC_AUTH_TOKEN` quelque part que Claude Code lit avant la configuration de première exécution : un export shell, le bloc `env` dans `~/.claude/settings.json`, ou les paramètres gérés |524| Claude Code vous demande de vous connecter même si le [test curl](#verify-the-connection) réussit | La CLI n'a pas d'identifiant propre : une URL de base accessible n'en est pas une, et dans une session interactive un bloc `env` dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un projet s'applique uniquement après l'assistant de première exécution et l'[invite de confiance](https://code.claude.com/docs/fr/permissions.md#what-runs-before-you-trust-a-folder) | Définissez `ANTHROPIC_AUTH_TOKEN` quelque part que Claude Code lit avant la configuration de première exécution : un export shell, le bloc `env` dans `~/.claude/settings.json`, ou les paramètres gérés |

524| `ANTHROPIC_API_KEY` est défini mais ignoré, sans invite | La clé a besoin d'une approbation unique dans les sessions interactives, et une clé précédemment refusée est ignorée sans demander à nouveau | Activez-la sous `/config` avec l'option `Use custom API key` |525| `ANTHROPIC_API_KEY` est défini mais ignoré, sans invite | La clé a besoin d'une approbation unique dans les sessions interactives, et une clé précédemment refusée est ignorée sans demander à nouveau | Activez-la sous `/config` avec l'option `Use custom API key` |

525| `This machine's managed settings require a first-party login`, ou [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/fr/errors#administrator-policy-requires-a-cloud-gateway-sign-in) quand les paramètres gérés définissent `forceLoginMethod` à `"gateway"` ou définissent aussi `forceLoginGatewayUrl` | Les paramètres gérés incluent `forceLoginMethod` ou `forceLoginOrgUUID`, qui ne peuvent pas coexister avec `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` | Votre administrateur doit supprimer `forceLoginMethod`, `forceLoginOrgUUID`, et `forceLoginGatewayUrl` des paramètres gérés pour utiliser les identifiants de passerelle, ou supprimer l'identifiant de passerelle et utiliser la connexion que les paramètres gérés exigent. Les deux ne peuvent pas être combinés |526| `This machine's managed settings require a first-party login`, ou [`Administrator policy requires a Cloud gateway sign-in`](https://code.claude.com/docs/fr/errors#administrator-policy-requires-a-cloud-gateway-sign-in) quand les paramètres gérés définissent `forceLoginMethod` à `"gateway"` ou définissent aussi `forceLoginGatewayUrl` | Les paramètres gérés incluent `forceLoginMethod` ou `forceLoginOrgUUID`, qui ne peuvent pas coexister avec `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` | Votre administrateur doit supprimer `forceLoginMethod`, `forceLoginOrgUUID`, et `forceLoginGatewayUrl` des paramètres gérés pour utiliser les identifiants de passerelle, ou supprimer l'identifiant de passerelle et utiliser la connexion que les paramètres gérés exigent. Les deux ne peuvent pas être combinés |

Details

142claude -p "Reply with one word: connected"142claude -p "Reply with one word: connected"

143```143```

144 144 

145**Point de contrôle** : la demande retourne une réponse, et la demande apparaît dans le journal de la passerelle comme un `POST` au chemin `/v1/messages` avec le statut `200`. Claude Code ajoute une chaîne de requête telle que `?beta=true`, donc faites correspondre le chemin, pas l'URL complète. Deux messages d'erreur pointent dans des directions différentes :145**Checkpoint** : le prompt renvoie une réponse, et la requête apparaît dans le log de la passerelle sous la forme d'un `POST` vers le chemin `/v1/messages` avec le statut `200`. Claude Code ajoute une chaîne de requête telle que `?beta=true`, donc faites la correspondance sur le chemin, pas sur l'URL complète. Vérifiez le message d'échec :

146 146 

147* `Not logged in` : vérifiez le journal de la passerelle pour distinguer les deux causes. S'il est vide, aucune credential n'a atteint la session et aucune demande n'a quitté la machine ; réexécutez les exports dans le shell que vous testez. S'il affiche une demande rejetée avec `x-api-key` dans le corps `401`, la passerelle s'attend à des clés dans cet en-tête à la place ; basculez vers `ANTHROPIC_API_KEY`147* `Not logged in` : consultez le log de la passerelle. S'il est vide, aucun identifiant n'a atteint la session et aucune requête n'a quitté la machine ; réexécutez les exports dans le shell depuis lequel vous testez. S'il affiche un `401` de la passerelle mentionnant `x-api-key`, la passerelle attend plutôt les clés dans cet en-tête ; passez à `ANTHROPIC_API_KEY`. S'il affiche un `401` provenant de `api.anthropic.com` ou de l'endpoint de votre fournisseur, corrigez les identifiants du fournisseur détenus par la passerelle

148* `Failed to authenticate. API Error: 401` signifie qu'une credential a été envoyée et rejetée, et le journal de la passerelle dit où : un `401` nommant `api.anthropic.com` ou le point de terminaison de votre fournisseur signifie que la passerelle a atteint l'amont mais sa credential du fournisseur a été rejetée, donc la clé développeur a fonctionné et la credential du fournisseur que la passerelle détient est incorrecte ou un placeholder148* `Failed to authenticate. API Error: 401` signifie qu'une credential a été envoyée et rejetée, et le journal de la passerelle dit où : un `401` nommant `api.anthropic.com` ou le point de terminaison de votre fournisseur signifie que la passerelle a atteint l'amont mais sa credential du fournisseur a été rejetée, donc la clé développeur a fonctionné et la credential du fournisseur que la passerelle détient est incorrecte ou un placeholder

149 149 

150Une URL de base incorrecte ou inaccessible produit un symptôme différent : Claude Code [réessaie la connexion avec backoff](https://code.claude.com/docs/fr/errors.md#automatic-retries) et peut rester sans sortie pendant plusieurs minutes avant de signaler une erreur. Si la commande semble se bloquer, vérifiez le journal de la passerelle au lieu d'attendre ; aucune demande arrivante signifie que `ANTHROPIC_BASE_URL` ne pointe pas vers la passerelle.150Une URL de base incorrecte ou inaccessible produit un symptôme différent : Claude Code [réessaie la connexion avec backoff](https://code.claude.com/docs/fr/errors.md#automatic-retries) et peut rester sans sortie pendant plusieurs minutes avant de signaler une erreur. Si la commande semble se bloquer, vérifiez le journal de la passerelle au lieu d'attendre ; aucune demande arrivante signifie que `ANTHROPIC_BASE_URL` ne pointe pas vers la passerelle.


247 247 

248Vous devriez voir les lignes `data:` arriver de manière progressive. La réponse entière arrivant à la fois après une pause signifie que la passerelle met en mémoire tampon, ce qui bloque Claude Code ; un `404` signifie que le nom du modèle n'est pas acheminé. Répétez par nom de modèle.248Vous devriez voir les lignes `data:` arriver de manière progressive. La réponse entière arrivant à la fois après une pause signifie que la passerelle met en mémoire tampon, ce qui bloque Claude Code ; un `404` signifie que le nom du modèle n'est pas acheminé. Répétez par nom de modèle.

249 249 

250Ensuite, démarrez `claude` et envoyez un message. Chaque symptôme à cette étape a une cause :250Démarrez ensuite `claude`, envoyez un message et comparez avec ce que vous observez :

251 251 

252* Une invite de connexion signifie une lacune de credential. Exécutez `/status` et ouvrez l'onglet **Status** : quand la ligne `Setting sources` n'inclut pas les paramètres gérés, la distribution n'a pas atteint la machine ; quand elle le fait, la credential développeur n'a pas été livrée, donc définissez `ANTHROPIC_AUTH_TOKEN` ou le `apiKeyHelper`252* Un écran de connexion, ou `Not logged in` sans nouvelle entrée dans le log de la passerelle, signifie que des identifiants manquent. Exécutez `/status` et ouvrez l'onglet **Status** : si la ligne `Setting sources` n'inclut pas les paramètres gérés, la distribution n'a pas atteint la machine ; si elle les inclut, les identifiants du développeur n'ont pas été fournis, donc définissez `ANTHROPIC_AUTH_TOKEN` ou le `apiKeyHelper`

253* Les erreurs `Failed to authenticate` signifient que la passerelle rejette les demandes ; son journal dit quelle credential a échoué. Un rejet que la passerelle enregistre elle-même nomme la clé développeur, tandis qu'un `401` de `api.anthropic.com` ou du point de terminaison de votre fournisseur signifie que la credential du fournisseur que la passerelle détient a été rejetée253* `Please run /login · API Error: 401`, `Not logged in` ou `Invalid API key` avec un `401` dans le log de la passerelle : vérifiez qui a émis le `401`. Corrigez la clé développeur ou son en-tête si c'est la passerelle qui l'a émis, ou les identifiants du fournisseur qu'elle détient s'il provient de `api.anthropic.com` ou de l'endpoint de votre fournisseur

254* Une demande d'approbation ponctuelle de la clé est normale lors de la première utilisation lorsque la passerelle attend les clés dans l'en-tête `x-api-key`, définies via `ANTHROPIC_API_KEY`254* Une demande d'approbation ponctuelle de la clé est normale lors de la première utilisation lorsque la passerelle attend les clés dans l'en-tête `x-api-key`, définies via `ANTHROPIC_API_KEY`

255 255 

256Si votre organisation utilise le [mode rapide](https://code.claude.com/docs/fr/fast-mode.md), exécutez `/fast` ici aussi : la vérification de disponibilité appelle `api.anthropic.com` directement plutôt que de suivre l'URL de base de la passerelle, donc une session acheminée par la passerelle peut signaler le mode rapide comme indisponible ou désactivé même si l'inférence fonctionne. [Utiliser le mode rapide derrière les proxies et les passerelles LLM](https://code.claude.com/docs/fr/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) mappe chaque message à la variable qui le restaure, distribuée avec [le reste de la configuration](#distribute-the-configuration).256Si votre organisation utilise le [mode rapide](https://code.claude.com/docs/fr/fast-mode.md), exécutez `/fast` ici aussi : la vérification de disponibilité appelle `api.anthropic.com` directement plutôt que de suivre l'URL de base de la passerelle, donc une session acheminée par la passerelle peut signaler le mode rapide comme indisponible ou désactivé même si l'inférence fonctionne. [Utiliser le mode rapide derrière les proxies et les passerelles LLM](https://code.claude.com/docs/fr/fast-mode.md#use-fast-mode-behind-proxies-and-llm-gateways) mappe chaque message à la variable qui le restaure, distribuée avec [le reste de la configuration](#distribute-the-configuration).

mcp.md +0 −2

Details

835 835 

836Un serveur que votre organisation fournit via le paramètre géré [`managedMcpServers`](https://code.claude.com/docs/fr/managed-mcp#provide-servers-through-managed-settings) se classe au-dessus de tous ceux-ci, donc lorsque l'un d'eux le duplique, Claude Code se connecte à la définition de l'organisation. Nécessite Claude Code v2.1.259 ou ultérieur.836Un serveur que votre organisation fournit via le paramètre géré [`managedMcpServers`](https://code.claude.com/docs/fr/managed-mcp#provide-servers-through-managed-settings) se classe au-dessus de tous ceux-ci, donc lorsque l'un d'eux le duplique, Claude Code se connecte à la définition de l'organisation. Nécessite Claude Code v2.1.259 ou ultérieur.

837 837 

838Si vous ouvrez une session locale dans l'[onglet Code de l'application de bureau](https://code.claude.com/docs/fr/desktop.md#mcp-servers-from-the-claude-desktop-chat-app) avec le même nom de serveur stdio au niveau supérieur de `~/.claude.json` (portée utilisateur) et dans `.mcp.json`, l'onglet Code utilise la définition `~/.claude.json`.

839 

840### Expansion des variables d'environnement dans `.mcp.json`838### Expansion des variables d'environnement dans `.mcp.json`

841 839 

842Claude Code supporte l'expansion des variables d'environnement dans les fichiers `.mcp.json`, permettant aux équipes de partager des configurations tout en maintenant la flexibilité pour les chemins spécifiques à la machine et les valeurs sensibles comme les clés API.840Claude Code supporte l'expansion des variables d'environnement dans les fichiers `.mcp.json`, permettant aux équipes de partager des configurations tout en maintenant la flexibilité pour les chemins spécifiques à la machine et les valeurs sensibles comme les clés API.

Details

147 147 

148## Configuration Azure RBAC148## Configuration Azure RBAC

149 149 

150Les rôles par défaut `Azure AI User` et `Cognitive Services User` incluent toutes les autorisations requises pour invoquer les modèles Claude.150Si vous vous authentifiez avec Microsoft Entra ID ou avec un jeton porteur émis par celui-ci, attribuez à votre identité le rôle `Foundry User` ou `Cognitive Services User` sur votre ressource Foundry. Il se peut que `Foundry User` apparaisse encore sous son ancien nom, `Azure AI User`.

151 151 

152Pour des autorisations plus restrictives, créez un rôle personnalisé avec les éléments suivants :152Si ces rôles ne répondent pas à vos besoins, consultez la [documentation RBAC de Microsoft Foundry](https://learn.microsoft.com/en-us/azure/foundry/concepts/rbac-foundry) pour les rôles personnalisés.

153 

154```json theme={null}

155{

156 "permissions": [

157 {

158 "dataActions": [

159 "Microsoft.CognitiveServices/accounts/providers/*"

160 ]

161 }

162 ]

163}

164```

165 

166Pour plus de détails, consultez la [documentation RBAC de Microsoft Foundry](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry).

167 153 

168## Fenêtre de contexte de 1M tokens154## Fenêtre de contexte de 1M tokens

169 155 

model-config.md +5 −3

Details

157 157 

158Lorsque le modèle actif au démarrage provient des paramètres de projet ou gérés plutôt que de votre propre sélection, l'en-tête de démarrage indique quel fichier de paramètres l'a défini. Exécutez `/model` pour remplacer ; le paramètre de projet ou géré se réapplique au prochain lancement. Sur les plates-formes qui intègrent Claude Code et définissent [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/fr/env-vars), la configuration du modèle de l'hôte a priorité sur les paramètres de modèle gérés, tandis qu'une liste d'autorisation `availableModels` gérée reste en vigueur sauf si l'hôte en fournit une ; [Exceptions à la priorité des paramètres gérés](https://code.claude.com/docs/fr/settings.md#exceptions-to-managed-settings-precedence) indique quelles clés et variables l'hôte remplace.158Lorsque le modèle actif au démarrage provient des paramètres de projet ou gérés plutôt que de votre propre sélection, l'en-tête de démarrage indique quel fichier de paramètres l'a défini. Exécutez `/model` pour remplacer ; le paramètre de projet ou géré se réapplique au prochain lancement. Sur les plates-formes qui intègrent Claude Code et définissent [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](https://code.claude.com/docs/fr/env-vars), la configuration du modèle de l'hôte a priorité sur les paramètres de modèle gérés, tandis qu'une liste d'autorisation `availableModels` gérée reste en vigueur sauf si l'hôte en fournit une ; [Exceptions à la priorité des paramètres gérés](https://code.claude.com/docs/fr/settings.md#exceptions-to-managed-settings-precedence) indique quelles clés et variables l'hôte remplace.

159 159 

160Si vous ou votre organisation configurez des [hooks PreModelSwitch](https://code.claude.com/docs/fr/hooks.md#premodelswitch), ils s'exécutent avant qu'un basculement demandé s'applique et peuvent le bloquer ou vous demander de confirmer.160Si vous ou votre organisation configurez des [hooks PreModelSwitch](https://code.claude.com/docs/fr/hooks.md#premodelswitch), ils s'exécutent avant qu'un basculement demandé s'applique et peuvent le bloquer ou vous demander de confirmer. Pour savoir pourquoi un hook a bloqué un basculement et ce qu'il faut faire, consultez [Le basculement de modèle a été bloqué par un hook PreModelSwitch](https://code.claude.com/docs/fr/errors.md#model-switch-was-blocked-by-a-premodelswitch-hook).

161 161 

162Lorsque Claude Code ne peut pas dire quels hooks PreModelSwitch vos [plugins gérés](https://code.claude.com/docs/fr/settings-reference.md#enabledplugins) de l'organisation fournissent, par exemple parce qu'un plugin géré n'a pas pu se charger, il refuse le basculement plutôt que de l'appliquer sans vérification, et il vérifie à nouveau à chaque nouvelle tentative. Consultez [Le basculement de modèle a été bloqué par un hook PreModelSwitch](https://code.claude.com/docs/fr/errors.md#model-switch-was-blocked-by-a-premodelswitch-hook) pour le message et la récupération.162Si un [plugin géré](https://code.claude.com/docs/fr/settings-reference.md#enabledplugins) ou ses hooks ne parviennent pas à se charger, vous pouvez toujours basculer de modèle. Les hooks PreModelSwitch du plugin ne s'exécutent pas, de sorte qu'un basculement que l'un d'eux aurait bloqué peut avoir lieu. Les autres hooks PreModelSwitch qui se sont chargés s'exécutent toujours et peuvent le bloquer. Si une version de Claude Code antérieure à v2.1.323 refuse le basculement avec `so organization-managed PreModelSwitch hooks could not be checked`, mettez à jour Claude Code.

163 

164Pour voir ce qui a échoué, exécutez `/plugin` dans votre session et ouvrez l'[onglet **Errors**](https://code.claude.com/docs/fr/plugins/troubleshooting.md#failed-to-load-hooks-from-and-hooks-that-dont-fire). Si rien n'y figure, démarrez une nouvelle session avec `claude --debug` depuis votre shell et basculez vers un autre modèle, puis lisez le [log de débogage](https://code.claude.com/docs/fr/hooks.md#debug-hooks). Après avoir corrigé le plugin, ou lorsqu'une [mise à jour du plugin](https://code.claude.com/docs/fr/plugins/install.md#keep-plugins-updated) apporte le correctif de votre administrateur sur votre machine, exécutez `/reload-plugins` dans votre session pour que ses hooks s'exécutent.

163 165 

164Lorsque vous basculez les modèles via la méthode `setModel()` du [SDK Agent](https://code.claude.com/docs/fr/agent-sdk/overview.md), via une application telle que l'[application de bureau](https://code.claude.com/docs/fr/desktop.md), ou à partir d'un appareil connecté via [Remote Control](https://code.claude.com/docs/fr/remote-control.md), Claude Code vérifie la valeur au basculement :166Lorsque vous basculez les modèles via la méthode `setModel()` du [SDK Agent](https://code.claude.com/docs/fr/agent-sdk/overview.md), via une application telle que l'[application de bureau](https://code.claude.com/docs/fr/desktop.md), ou à partir d'un appareil connecté via [Remote Control](https://code.claude.com/docs/fr/remote-control.md), Claude Code vérifie la valeur au basculement :

165 167 


903 905 

904### Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé906### Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé

905 907 

906L'un ou l'autre de ces avertissements au démarrage signifie que Claude Code ne reconnaît pas l'ID de modèle de votre session ; il ne peut donc pas déterminer la fenêtre de contexte du modèle et suppose 200 K tokens :908L'un ou l'autre de ces avertissements signifie que Claude Code ne reconnaît pas l'ID de modèle de votre session ; il ne peut donc pas déterminer la fenêtre de contexte du modèle et suppose 200 K tokens :

907 909 

908```text theme={null}910```text theme={null}

909⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...911⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...

Details

110| `CLAUDE_CODE_ENABLE_TELEMETRY` | Active la collecte de télémétrie (obligatoire) | `1` |110| `CLAUDE_CODE_ENABLE_TELEMETRY` | Active la collecte de télémétrie (obligatoire) | `1` |

111| `OTEL_METRICS_EXPORTER` | Types d'exportateurs de métriques, séparés par des virgules. Utilisez `none` pour désactiver | `console`, `otlp`, `prometheus`, `none` |111| `OTEL_METRICS_EXPORTER` | Types d'exportateurs de métriques, séparés par des virgules. Utilisez `none` pour désactiver | `console`, `otlp`, `prometheus`, `none` |

112| `OTEL_LOGS_EXPORTER` | Types d'exportateurs de journaux/événements, séparés par des virgules. Utilisez `none` pour désactiver | `console`, `otlp`, `none` |112| `OTEL_LOGS_EXPORTER` | Types d'exportateurs de journaux/événements, séparés par des virgules. Utilisez `none` pour désactiver | `console`, `otlp`, `none` |

113| `OTEL_EXPORTER_OTLP_PROTOCOL` | Protocole pour l'exportateur OTLP, s'applique à tous les signaux. Claude Code n'a pas de protocole par défaut, donc définissez ceci ou la variable de protocole spécifique au signal pour chaque exportateur `otlp` que vous activez | `grpc`, `http/json`, `http/protobuf` |113| `OTEL_EXPORTER_OTLP_PROTOCOL` | Protocole pour l'exportateur OTLP, s'applique à tous les signaux. La valeur par défaut est `http/protobuf` pour un endpoint `http://` ou `https://` valide. Pour un endpoint gRPC tel que `http://localhost:4317`, définissez cette variable sur `grpc`. La valeur par défaut nécessite Claude Code v2.1.323 ou ultérieur | `grpc`, `http/json`, `http/protobuf` |

114| `OTEL_EXPORTER_OTLP_ENDPOINT` | Point de terminaison du collecteur OTLP pour tous les signaux | `http://localhost:4317` |114| `OTEL_EXPORTER_OTLP_ENDPOINT` | Point de terminaison du collecteur OTLP pour tous les signaux | `http://localhost:4317` |

115| `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` | Protocole pour les métriques, remplace le paramètre général | `grpc`, `http/json`, `http/protobuf` |115| `OTEL_EXPORTER_OTLP_METRICS_PROTOCOL` | Protocole pour les métriques, remplace le paramètre général | `grpc`, `http/json`, `http/protobuf` |

116| `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | Point de terminaison des métriques OTLP, remplace le paramètre général | `http://localhost:4318/v1/metrics` |116| `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` | Point de terminaison des métriques OTLP, remplace le paramètre général | `http://localhost:4318/v1/metrics` |


431> * **Aucun espace autorisé** : les valeurs ne peuvent pas contenir d'espaces. Par exemple, `user.organizationName=My Company` est invalide431> * **Aucun espace autorisé** : les valeurs ne peuvent pas contenir d'espaces. Par exemple, `user.organizationName=My Company` est invalide

432> * **Format** : doit être des paires clé=valeur séparées par des virgules : `key1=value1,key2=value2`432> * **Format** : doit être des paires clé=valeur séparées par des virgules : `key1=value1,key2=value2`

433> * **Caractères autorisés** : uniquement les caractères US-ASCII à l'exclusion des caractères de contrôle, des espaces, des guillemets doubles, des virgules, des points-virgules et des barres obliques inverses433> * **Caractères autorisés** : uniquement les caractères US-ASCII à l'exclusion des caractères de contrôle, des espaces, des guillemets doubles, des virgules, des points-virgules et des barres obliques inverses

434> * **Caractères spéciaux** : les caractères en dehors de la plage autorisée doivent être codés en pourcentage434> * **Caractères spéciaux** : les caractères en dehors de la plage autorisée doivent être codés en pourcentage, et un `=` à l'intérieur d'une valeur doit être écrit `%3D`

435>435>

436> Pour une valeur qui aurait besoin d'un espace, utilisez des traits de soulignement ou camelCase à la place. Les exemples suivants définissent `org.name` avec chaque forme :436> Pour une valeur qui aurait besoin d'un espace, utilisez des traits de soulignement ou camelCase à la place. Les exemples suivants définissent `org.name` avec chaque forme :

437>437>


475 475 

476* **Vous l'avez défini sur l'ordinateur qui exécute Desktop** : Desktop ne transmet pas à la session SSH une valeur que vous y définissez476* **Vous l'avez défini sur l'ordinateur qui exécute Desktop** : Desktop ne transmet pas à la session SSH une valeur que vous y définissez

477* **Vous l'avez exporté dans `/etc/profile` ou un autre fichier que seuls les shells de connexion lisent** : le nom arrive lorsque vous exécutez `claude` depuis un shell de connexion, mais pas dans une session SSH Desktop. Desktop ne démarre pas Claude Code via un shell de connexion. Définissez plutôt la variable sous `env` dans le [fichier de paramètres gérés](https://code.claude.com/docs/fr/desktop.md#managed-settings) sur la machine distante.477* **Vous l'avez exporté dans `/etc/profile` ou un autre fichier que seuls les shells de connexion lisent** : le nom arrive lorsque vous exécutez `claude` depuis un shell de connexion, mais pas dans une session SSH Desktop. Desktop ne démarre pas Claude Code via un shell de connexion. Définissez plutôt la variable sous `env` dans le [fichier de paramètres gérés](https://code.claude.com/docs/fr/desktop.md#managed-settings) sur la machine distante.

478* **Une valeur contient un espace** : Claude Code ne copie alors aucune des clés sur les événements ou les points de données et ne signale aucune erreur. [Retirez l'espace de la valeur](#multi-team-organization-support).478* **Une valeur contient un espace** : Claude Code ne copie alors aucune des clés sur les événements ou les points de données. Pour savoir quelle valeur contient l'espace, exécutez `/status` dans une session sur la machine distante. [Retirez l'espace de la valeur](#multi-team-organization-support).

479* **Autre chose définit déjà la variable** : dans une session que l'application de bureau démarre, une variable déjà définie dans l'environnement de lancement [a priorité sur les fichiers de paramètres](https://code.claude.com/docs/fr/settings-reference.md#how-env-values-interact-with-your-shell). Le [journal de débogage](https://code.claude.com/docs/fr/debug-your-config.md) nomme chaque variable ignorée. Lorsqu'un déploiement Desktop tiers [indique un endpoint OTLP](#how-managed-settings-lock-the-otlp-destination) dans l'environnement qu'il fournit, cet environnement contient le propre `OTEL_RESOURCE_ATTRIBUTES` de Desktop.479* **Autre chose définit déjà la variable** : dans une session que l'application de bureau démarre, une variable déjà définie dans l'environnement de lancement [a priorité sur les fichiers de paramètres](https://code.claude.com/docs/fr/settings-reference.md#how-env-values-interact-with-your-shell). Le [journal de débogage](https://code.claude.com/docs/fr/debug-your-config.md) nomme chaque variable ignorée. Lorsqu'un déploiement Desktop tiers [indique un endpoint OTLP](#how-managed-settings-lock-the-otlp-destination) dans l'environnement qu'il fournit, cet environnement contient le propre `OTEL_RESOURCE_ATTRIBUTES` de Desktop.

480 480 

481### Exemples de configurations481### Exemples de configurations

Details

304claude --permission-mode plan304claude --permission-mode plan

305```305```

306 306 

307Appuyez de nouveau sur `Shift+Tab` pour quitter le mode plan sans approuver de plan.307Lorsqu'aucune demande d'approbation n'est ouverte, appuyez de nouveau sur `Shift+Tab` pour quitter le mode plan. Face à la demande d'approbation, appuyez d'abord sur `Esc`, car appuyer sur `Shift+Tab` à ce stade approuve le plan.

308 308 

309### Examiner et approuver un plan309### Examiner et approuver un plan

310 310 


593> * Quand Claude lit un [artefact créé par quelqu'un d'autre](https://code.claude.com/docs/fr/artifacts.md#read-an-artifact-shared-with-you), les cas d'approbation répertoriés dans cette section s'appliquent593> * Quand Claude lit un [artefact créé par quelqu'un d'autre](https://code.claude.com/docs/fr/artifacts.md#read-an-artifact-shared-with-you), les cas d'approbation répertoriés dans cette section s'appliquent

594> * Une lecture depuis un [chemin réseau](https://code.claude.com/docs/fr/permissions.md#network-paths) vous demande la permission594> * Une lecture depuis un [chemin réseau](https://code.claude.com/docs/fr/permissions.md#network-paths) vous demande la permission

595> 3. Tout le reste est envoyé au classificateur, à l'exception des [suppressions de chemins critiques](#critical-paths) sous leur gestion par défaut. Les outils de connecteur et les outils MCP `requiresUserInteraction` qui vous demandent directement la permission à l'étape 1 n'atteignent jamais le classificateur non plus, donc ni une approbation exigée par l'organisation ni une étape de consentement n'est approuvée automatiquement595> 3. Tout le reste est envoyé au classificateur, à l'exception des [suppressions de chemins critiques](#critical-paths) sous leur gestion par défaut. Les outils de connecteur et les outils MCP `requiresUserInteraction` qui vous demandent directement la permission à l'étape 1 n'atteignent jamais le classificateur non plus, donc ni une approbation exigée par l'organisation ni une étape de consentement n'est approuvée automatiquement

596> * Avec [Code Mode](https://code.claude.com/docs/fr/code-mode.md#permission-checks) activé, le code de Claude est envoyé au classificateur une seule fois avant son exécution, et les appels d'outils qu'il contient ne le sont pas. Vous pouvez toujours bloquer un appel avec une règle `deny` ou exiger une demande de permission avec une règle `ask`, mais Claude peut exécuter des commandes Bash sous des [formes auxquelles les règles ne correspondent pas](https://code.claude.com/docs/fr/permissions.md#bash-rule-limits)

596> 4. Si le classificateur bloque, Claude reçoit la raison. Dans la plupart des sessions, la raison nomme la règle à laquelle le classificateur a fait correspondre l'action, comme `[Data Exfiltration]`, plutôt que de donner une explication rédigée ; voir [Examiner les refus](https://code.claude.com/docs/fr/auto-mode-config.md#review-denials)597> 4. Si le classificateur bloque, Claude reçoit la raison. Dans la plupart des sessions, la raison nomme la règle à laquelle le classificateur a fait correspondre l'action, comme `[Data Exfiltration]`, plutôt que de donner une explication rédigée ; voir [Examiner les refus](https://code.claude.com/docs/fr/auto-mode-config.md#review-denials)

597>598>

598> Un [mod](https://code.claude.com/docs/fr/plugins/mods/overview.md) que vous installez et qui gère `tool.check` peut également approuver une action. Pour les cas où son approbation ne passe pas outre vos règles et vos hooks, voir [Étendre les permissions avec des hooks](https://code.claude.com/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods).599> Un [mod](https://code.claude.com/docs/fr/plugins/mods/overview.md) que vous installez et qui gère `tool.check` peut également approuver une action. Pour les cas où son approbation ne passe pas outre vos règles et vos hooks, voir [Étendre les permissions avec des hooks](https://code.claude.com/docs/fr/permissions.md#precedence-among-rules-hooks-and-mods).

permissions.md +1 −1

Details

784* En dehors d'un dépôt, Claude Code enregistre la confiance sur le répertoire à partir duquel vous l'avez démarré, et la confiance couvre tout sous-répertoire de ce répertoire à l'exception d'un dépôt git imbriqué à l'intérieur, comme un clone. Chaque sous-répertoire couvert compte alors comme un dossier dont vous avez approuvé le parent.784* En dehors d'un dépôt, Claude Code enregistre la confiance sur le répertoire à partir duquel vous l'avez démarré, et la confiance couvre tout sous-répertoire de ce répertoire à l'exception d'un dépôt git imbriqué à l'intérieur, comme un clone. Chaque sous-répertoire couvert compte alors comme un dossier dont vous avez approuvé le parent.

785* Lorsque vous démarrez dans votre répertoire personnel, Claude Code conserve la confiance pour la session actuelle uniquement et ne l'écrit pas sur le disque ; consultez la note sur les [protections supplémentaires](https://code.claude.com/docs/fr/security.md#additional-safeguards).785* Lorsque vous démarrez dans votre répertoire personnel, Claude Code conserve la confiance pour la session actuelle uniquement et ne l'écrit pas sur le disque ; consultez la note sur les [protections supplémentaires](https://code.claude.com/docs/fr/security.md#additional-safeguards).

786 786 

787Claude Code affiche la boîte de dialogue de confiance dans les sessions interactives uniquement. Une exécution `claude -p` ou une session SDK ne l'affiche jamais, et faire confiance à un dossier parent ne compte pas pour ces règles, donc [Ce qui s'exécute avant que vous fassiez confiance à un dossier](#what-runs-before-you-trust-a-folder) indique quel contenu du dépôt Claude Code utilise toujours dans chacune de ces deux situations.787L'extension VS Code demande la même confiance, dans une boîte de dialogue intitulée `Trust this folder in Claude Code?`, avant de démarrer une session. Claude Code affiche la boîte de dialogue de confiance dans les sessions interactives du terminal, mais pas dans les sessions `claude -p` ou SDK. Faire confiance à un dossier parent ne compte pas pour ces règles. [Ce qui s'exécute avant que vous fassiez confiance à un dossier](#what-runs-before-you-trust-a-folder) indique quel contenu du dépôt Claude Code utilise toujours dans chaque cas.

788 788 

789Avant de démarrer ou de redémarrer une [session en arrière-plan](https://code.claude.com/docs/fr/agent-view.md), Claude Code vérifie également la confiance de l'espace de travail pour le répertoire dans lequel la session s'exécute. Si vous exécutez `claude --bg` à partir d'un terminal dans un répertoire auquel vous n'avez pas fait confiance, la boîte de dialogue de confiance apparaît en premier et la session démarre une fois que vous l'acceptez. Là où aucune boîte de dialogue ne peut apparaître, comme dans un script, la commande se termine à la place avec une erreur [`Workspace not trusted`](https://code.claude.com/docs/fr/errors#workspace-not-trusted-when-dispatching-a-background-session).789Avant de démarrer ou de redémarrer une [session en arrière-plan](https://code.claude.com/docs/fr/agent-view.md), Claude Code vérifie également la confiance de l'espace de travail pour le répertoire dans lequel la session s'exécute. Si vous exécutez `claude --bg` à partir d'un terminal dans un répertoire auquel vous n'avez pas fait confiance, la boîte de dialogue de confiance apparaît en premier et la session démarre une fois que vous l'acceptez. Là où aucune boîte de dialogue ne peut apparaître, comme dans un script, la commande se termine à la place avec une erreur [`Workspace not trusted`](https://code.claude.com/docs/fr/errors#workspace-not-trusted-when-dispatching-a-background-session).

790 790 

Details

4 4 

5# Ajouter des composants à un plugin5# Ajouter des composants à un plugin

6 6 

7> Ajoutez des skills, des hooks, des serveurs MCP et tous les autres types de composants à un plugin Claude Code, avec un exemple qui valide chacun.7> Ajoutez des skills, des hooks, des serveurs MCP et d'autres types de composants à un plugin Claude Code, avec un exemple qui valide chacun.

8 8 

9Un plugin Claude Code est construit à partir de composants, tels que des skills, des agents, des hooks et des serveurs MCP. Chaque composant a un dossier par défaut dans le plugin, une clé de manifeste optionnelle dans `.claude-plugin/plugin.json` qui remplace ou ajoute à ce dossier, et un nom que l'utilisateur voit. Pour chaque tableau complet des champs de clé, consultez la [référence du manifeste](https://code.claude.com/docs/fr/plugins/manifest-reference.md#fields).9Un plugin Claude Code est construit à partir de composants, tels que des skills, des agents, des hooks et des serveurs MCP. Chaque composant a un dossier par défaut dans le plugin, une clé de manifeste optionnelle dans `.claude-plugin/plugin.json` qui remplace ou ajoute à ce dossier, et un nom que l'utilisateur voit. Pour chaque tableau complet des champs de clé, consultez la [référence du manifeste](https://code.claude.com/docs/fr/plugins/manifest-reference.md#fields).

10 10 


22 22 

23## Explorez le répertoire du plugin23## Explorez le répertoire du plugin

24 24 

25L'explorateur montre un exemple de plugin, `my-plugin`, qui a un de chaque type de composant à son emplacement par défaut :25L'explorateur montre un exemple de plugin, `my-plugin`, qui contient ces composants à leurs emplacements par défaut :

26 26 

27* Une skill de révision et une commande `about`27* Une skill de révision et une commande `about`

28* Un sous-agent de révision de sécurité28* Un sous-agent de révision de sécurité


31* Un style de sortie et un thème de couleur31* Un style de sortie et un thème de couleur

32* Un workflow d'audit de route32* Un workflow d'audit de route

33* Un exécutable `hello-plugin`33* Un exécutable `hello-plugin`

34* Les paramètres par défaut

35* Un serveur MCP local et un serveur de langage Go34* Un serveur MCP local et un serveur de langage Go

36 35 

37Chaque fichier est le plus petit exemple valide de son format, là pour montrer la forme plutôt que d'être utile : une skill ou un agent réel porte des instructions complètes et souvent des fichiers de support, et un hook ou un moniteur réel fait un vrai travail. Les sections après l'explorateur utilisent les mêmes fichiers que leurs exemples et renvoient à des versions plus complètes. Sélectionnez un fichier ou un dossier pour lire à quoi il sert, voir ce qu'il contient, et trouver la section qui le couvre.36Chaque fichier est le plus petit exemple valide de son format, là pour montrer la forme plutôt que d'être utile : une skill ou un agent réel porte des instructions complètes et souvent des fichiers de support, et un hook ou un moniteur réel fait un vrai travail. Les sections après l'explorateur utilisent les mêmes fichiers que leurs exemples et renvoient à des versions plus complètes. Sélectionnez un fichier ou un dossier pour lire à quoi il sert, voir ce qu'il contient, et trouver la section qui le couvre.

38 37 

39What goes in a plugin38What goes in a plugin

40 39 

41This example plugin, `my-plugin`, has one of every kind of component, each in its default location. Select a file or folder to read what it’s for and see what goes in it.40This example plugin, `my-plugin`, has the components listed here, each in its default location. Select a file or folder to read what it’s for and see what goes in it.

42 41 

43Plugin directory42Plugin directory

44 43 


178npx prettier --write .177npx prettier --write .

179```178```

180 179 

181Un `settings.json` à la racine du plugin contient des [paramètres](https://code.claude.com/docs/fr/settings-reference.md) qui s'appliquent tant que le plugin est activé, donc un plugin peut changer le comportement de la session et non seulement ajouter des composants. Seules deux clés prennent effet à partir d'un plugin, [`agent`](https://code.claude.com/docs/fr/settings-reference#agent) et [`subagentStatusLine`](https://code.claude.com/docs/fr/settings-reference#subagentstatusline) ; toute autre clé est supprimée. Consultez [Paramètres par défaut](#default-settings).

182 

183Celui-ci définit `agent`, qui exécute le fil principal de la session comme le propre agent `security-reviewer` du plugin, donc l'invite système, les restrictions d'outils et le modèle de cet agent s'appliquent à toute la session :

184 

185```json theme={null}

186{

187 "agent": "security-reviewer"

188}

189```

190 

191Un [serveur MCP](https://code.claude.com/docs/fr/mcp.md) donne à Claude des outils d'un système externe. Déclarez-le dans `.mcp.json` à la racine du plugin. Celui-ci démarre un serveur local à partir d'un script à l'intérieur du plugin, et apparaît dans `/mcp` comme `plugin:my-plugin:db` :180Un [serveur MCP](https://code.claude.com/docs/fr/mcp.md) donne à Claude des outils d'un système externe. Déclarez-le dans `.mcp.json` à la racine du plugin. Celui-ci démarre un serveur local à partir d'un script à l'intérieur du plugin, et apparaît dans `/mcp` comme `plugin:my-plugin:db` :

192 181 

193```json theme={null}182```json theme={null}


484 473 

485claude.ai et Cowork n'installent pas un plugin qui a un répertoire `bin/` de niveau supérieur, y compris un que vous [distribuez via les paramètres d'organisation claude.ai](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory).474claude.ai et Cowork n'installent pas un plugin qui a un répertoire `bin/` de niveau supérieur, y compris un que vous [distribuez via les paramètres d'organisation claude.ai](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory).

486 475 

487### Paramètres par défaut

488 

489Pour définir les paramètres par défaut qui s'appliquent tant que le plugin est activé, ajoutez un `settings.json` à la racine du plugin, ou mettez le même objet en ligne dans la clé de manifeste `settings`. Deux clés prennent effet, `agent` et `subagentStatusLine`, et toute autre clé est supprimée.

490 

491Définissez `agent` pour exécuter l'un des propres agents du plugin comme le fil principal :

492 

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

494{

495 "agent": "security-reviewer"

496}

497```

498 

499Chargez le plugin et démarrez une session. Claude répond alors dans la conversation principale avec l'invite système et le modèle de l'agent `security-reviewer`.

500 

501Pour tout ce que la clé contrôle, consultez le [paramètre `agent`](https://code.claude.com/docs/fr/settings-reference#agent).

502 

503Quand la même clé est définie à plus d'un endroit, ces règles décident quelle valeur s'applique :

504 

505* **Fichier sur manifeste** : quand les deux existent et `settings.json` définit au moins une clé supportée, `settings.json` s'applique et le `settings` du manifeste est ignoré

506* **Paramètres utilisateur sur paramètres par défaut du plugin** : dans les sources de paramètres, les paramètres par défaut du plugin sont la couche la plus basse, donc un `agent` personnel de l'utilisateur dans `~/.claude/settings.json` remplace le vôtre

507* **Deux plugins définissent la même clé** : la valeur du plugin chargé en dernier s'applique, et `claude --debug` enregistre `overrides setting`

508 

509Pour la forme `subagentStatusLine`, consultez [lignes d'état du sous-agent](https://code.claude.com/docs/fr/statusline.md#subagent-status-lines).

510 

511### Thèmes et styles de sortie476### Thèmes et styles de sortie

512 477 

513Un plugin peut inclure des thèmes de couleur et des styles de sortie. Les deux apparaissent dans les mêmes sélecteurs que ceux de l'utilisateur. Pour l'un ou l'autre, définir la clé de manifeste remplace le scan de dossier.478Un plugin peut inclure des thèmes de couleur et des styles de sortie. Les deux apparaissent dans les mêmes sélecteurs que ceux de l'utilisateur. Pour l'un ou l'autre, définir la clé de manifeste remplace le scan de dossier.

Details

72* **`version`** : optionnel. Le définir maintient les utilisateurs sur cette version jusqu'à ce que vous la changiez ; [Publier une nouvelle version](https://code.claude.com/docs/fr/plugins/host-marketplace.md#release-a-new-version) indique quand le définir ou l'omettre.72* **`version`** : optionnel. Le définir maintient les utilisateurs sur cette version jusqu'à ce que vous la changiez ; [Publier une nouvelle version](https://code.claude.com/docs/fr/plugins/host-marketplace.md#release-a-new-version) indique quand le définir ou l'omettre.

73* **`author`** : qui créditer. `name` est requis à l'intérieur ; `email` et `url` sont optionnels.73* **`author`** : qui créditer. `name` est requis à l'intérieur ; `email` et `url` sont optionnels.

74 74 

75Tous les autres champs sont sur la [référence du manifeste](https://code.claude.com/docs/fr/plugins/manifest-reference.md#fields).75Les autres champs sont sur la [référence du manifeste](https://code.claude.com/docs/fr/plugins/manifest-reference.md#fields).

76 76 

77Seul `plugin.json` va à l'intérieur de `.claude-plugin/`. Le skill que vous ajoutez ensuite va directement sous `my-first-plugin/`, à côté de ce dossier.77Seul `plugin.json` va à l'intérieur de `.claude-plugin/`. Le skill que vous ajoutez ensuite va directement sous `my-first-plugin/`, à côté de ce dossier.

78 78 


344 "PostToolUse": [344 "PostToolUse": [

345 {345 {

346 "matcher": "Write|Edit",346 "matcher": "Write|Edit",

347 "hooks": [{ "type": "command", "command": "jq -r '.tool_input.file_path' | xargs npm run lint:fix" }]347 "hooks": [{ "type": "command", "command": "f=$(jq -r '.tool_input.file_path') && npm run lint:fix -- \"$f\"" }]

348 }348 }

349 ]349 ]

350 }350 }

Details

4 4 

5# Référence du manifeste de plugin5# Référence du manifeste de plugin

6 6 

7> Référence complète pour plugin.json : chaque champ avec son type et sa valeur par défaut, les formes de chemin acceptées, et les schémas userConfig et variables d'environnement.7> Référence complète pour plugin.json : les champs avec leurs types et valeurs par défaut, les formes de chemin acceptées, et les schémas userConfig et variables d'environnement.

8 8 

9Un manifeste de plugin est le fichier `plugin.json` dans le répertoire `.claude-plugin/` d'un plugin. Il contient les métadonnées du plugin et les valeurs [`userConfig`](#user-configuration) que Claude Code demande à l'utilisateur. Il déclare également tout composant que vous définissez en ligne ou que vous conservez en dehors de son [emplacement par défaut](#standard-layout).9Un manifeste de plugin est le fichier `plugin.json` dans le répertoire `.claude-plugin/` d'un plugin. Il contient les métadonnées du plugin et les valeurs [`userConfig`](#user-configuration) que Claude Code demande à l'utilisateur. Il déclare également tout composant que vous définissez en ligne ou que vous conservez en dehors de son [emplacement par défaut](#standard-layout).

10 10 


117 117 

118## Champs118## Champs

119 119 

120Le tableau liste les clés de niveau supérieur dans `plugin.json`. `name` est la seule clé obligatoire. Lorsqu'un nom de champ est un lien, la section liée a ses règles complètes.120Le tableau répertorie les clés de premier niveau de `plugin.json`. `name` est la seule clé obligatoire. Lorsqu'un nom de champ est un lien, la section liée en détaille l'ensemble des règles.

121 121 

122Pour les clés de composant telles que `commands` et `hooks`, [Formes de chemin de composant](#component-path-forms) montre chaque forme acceptée avec un exemple, et chaque chemin suit les [règles de chemin](#path-rules) pour le préfixe `./`, les extensions, et le confinement.122Pour les clés de composant telles que `commands` et `hooks`, [Formes de chemin de composant](#component-path-forms) montre chaque forme acceptée avec un exemple, et chaque chemin suit les [règles de chemin](#path-rules) pour le préfixe `./`, les extensions, et le confinement.

123 123 


141| [`termsOfServiceUrl`](#directory-listing-fields) | String | Lien vers les conditions d'utilisation pour la fiche du plugin dans l'annuaire d'Anthropic. Claude Code ne le lit pas |141| [`termsOfServiceUrl`](#directory-listing-fields) | String | Lien vers les conditions d'utilisation pour la fiche du plugin dans l'annuaire d'Anthropic. Claude Code ne le lit pas |

142| [`defaultEnabled`](#defaultenabled) | Boolean | Si le plugin démarre activé lorsque l'utilisateur ne l'a pas défini. Par défaut `true` |142| [`defaultEnabled`](#defaultenabled) | Boolean | Si le plugin démarre activé lorsque l'utilisateur ne l'a pas défini. Par défaut `true` |

143| [`dependencies`](#dependencies) | Array of strings or objects | Plugins qui doivent être activés pour que celui-ci fonctionne |143| [`dependencies`](#dependencies) | Array of strings or objects | Plugins qui doivent être activés pour que celui-ci fonctionne |

144| [`settings`](#settings) | Object | Paramètres que Claude Code applique tandis que le plugin est activé. Seuls `agent` et `subagentStatusLine` prennent effet |

145| [`userConfig`](#user-configuration) | Object | Valeurs que Claude Code demande à l'utilisateur lorsque le plugin est activé |144| [`userConfig`](#user-configuration) | Object | Valeurs que Claude Code demande à l'utilisateur lorsque le plugin est activé |

146| `types` | Path | Un fichier `.d.ts` qui déclare les valeurs `$.state` et les noms `$` d'un [mod](https://code.claude.com/docs/fr/plugins/mods/reference.md#files) |145| `types` | Path | Un fichier `.d.ts` qui déclare les valeurs `$.state` et les noms `$` d'un [mod](https://code.claude.com/docs/fr/plugins/mods/reference.md#files) |

147| [`channels`](#channels) | Array of objects | Canaux de message que le plugin fournit, chacun lié à l'un de ses serveurs MCP |146| [`channels`](#channels) | Array of objects | Canaux de message que le plugin fournit, chacun lié à l'un de ses serveurs MCP |


211 210 

212Plugins qui doivent être activés pour que celui-ci fonctionne. Chaque entrée est `"name"`, `"name@marketplace"`, ou `{ "name": "...", "marketplace": "...", "version": "..." }`. Les noms nus se résolvent par rapport au propre marketplace de ce plugin. Voir [contraintes de dépendance](https://code.claude.com/docs/fr/plugins/dependencies.md).211Plugins qui doivent être activés pour que celui-ci fonctionne. Chaque entrée est `"name"`, `"name@marketplace"`, ou `{ "name": "...", "marketplace": "...", "version": "..." }`. Les noms nus se résolvent par rapport au propre marketplace de ce plugin. Voir [contraintes de dépendance](https://code.claude.com/docs/fr/plugins/dependencies.md).

213 212 

214### `settings`

215 

216Paramètres que Claude Code applique tandis que le plugin est activé. Seuls `agent` et `subagentStatusLine` prennent effet ; les autres clés sont supprimées au chargement. Un `settings.json` à la racine du plugin prend précédence sur cette clé. Voir [Paramètres par défaut](https://code.claude.com/docs/fr/plugins/components.md#default-settings).

217 

218## Formes de chemin de composant213## Formes de chemin de composant

219 214 

220Chaque clé de composant accepte un chemin relatif à la racine du plugin. `hooks`, `mcpServers`, `lspServers`, et `experimental.monitors` acceptent également une configuration en ligne, `commands` accepte également une carte d'objets, et `mcpServers` accepte également des chemins de bundle MCP et des URL. Les exemples qui suivent montrent chaque forme acceptée une fois. Pour ce que chaque composant fait à l'exécution, voir [Composants de plugin](https://code.claude.com/docs/fr/plugins/components.md).215Chaque clé de composant accepte un chemin relatif à la racine du plugin. `hooks`, `mcpServers`, `lspServers`, et `experimental.monitors` acceptent également une configuration en ligne, `commands` accepte également une carte d'objets, et `mcpServers` accepte également des chemins de bundle MCP et des URL. Les exemples qui suivent montrent chaque forme acceptée une fois. Pour ce que chaque composant fait à l'exécution, voir [Composants de plugin](https://code.claude.com/docs/fr/plugins/components.md).


626| Thèmes | `themes/` | Fichiers de thème JSON |621| Thèmes | `themes/` | Fichiers de thème JSON |

627| Monitors | `monitors/monitors.json` | Le tableau monitors |622| Monitors | `monitors/monitors.json` | Le tableau monitors |

628| Exécutables | `bin/` | Les fichiers ici sont sur le `PATH` de l'outil Bash tandis que le plugin est activé, donc Claude les exécute comme des commandes nues. claude.ai et Cowork n'installent pas un plugin qui a ce répertoire, y compris un que vous [distribuez via les paramètres d'organisation claude.ai](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory) |623| Exécutables | `bin/` | Les fichiers ici sont sur le `PATH` de l'outil Bash tandis que le plugin est activé, donc Claude les exécute comme des commandes nues. claude.ai et Cowork n'installent pas un plugin qui a ce répertoire, y compris un que vous [distribuez via les paramètres d'organisation claude.ai](https://claude.com/docs/plugins/org-sync#keep-executables-out-of-the-top-level-bin-directory) |

629| Paramètres | `settings.json` | Valeurs par défaut `agent` et `subagentStatusLine` appliquées tandis que le plugin est activé |

630 624 

631Un plugin qui utilise chaque emplacement par défaut, plus un dossier `scripts/` que ses hooks appellent, est disposé comme ceci :625Un plugin qui utilise les emplacements par défaut, plus un dossier `scripts/` que ses hooks appellent, est disposé comme ceci :

632 626 

633```text theme={null}627```text theme={null}

634deploy-tools/628deploy-tools/


655│ └── deploy-tool649│ └── deploy-tool

656├── scripts/650├── scripts/

657│ └── format.sh651│ └── format.sh

658├── settings.json

659├── .mcp.json652├── .mcp.json

660└── .lsp.json653└── .lsp.json

661```654```

Details

61 * La session s'exécute avec des [identifiants `/login`](https://code.claude.com/docs/fr/authentication#authentication-precedence) pour un plan Team ou Enterprise61 * La session s'exécute avec des [identifiants `/login`](https://code.claude.com/docs/fr/authentication#authentication-precedence) pour un plan Team ou Enterprise

62 62 

63 Un utilisateur qui s'authentifie avec une clé API, ou via Amazon Bedrock, la plateforme Agent de Google Cloud, ou Microsoft Foundry, n'obtient le garde-fou que sur une machine qui a des paramètres gérés ou `managed-mcp.json`. Une session qui s'exécute avec un [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/fr/authentication#generate-a-long-lived-token) de longue durée ne compte pas non plus comme cette connexion, même lorsqu'une connexion Team ou Enterprise est enregistrée sur la machine.63 Un utilisateur qui s'authentifie avec une clé API, ou via Amazon Bedrock, la plateforme Agent de Google Cloud, ou Microsoft Foundry, n'obtient le garde-fou que sur une machine qui a des paramètres gérés ou `managed-mcp.json`. Une session qui s'exécute avec un [`CLAUDE_CODE_OAUTH_TOKEN`](https://code.claude.com/docs/fr/authentication#generate-a-long-lived-token) de longue durée ne compte pas non plus comme cette connexion, même lorsqu'une connexion Team ou Enterprise est enregistrée sur la machine.

64* **La garde protège ce que vous gérez.** Le mod d'un utilisateur ne peut pas changer ce que vos hooks gérés reçoivent ou décident, l'invite système, votre `CLAUDE.md` géré et autres instructions gérées, ce que n'importe quel mod lit comme paramètres, ou les outils et descriptions de vos serveurs MCP gérés.64* **Le garde-fou protège ce que vous gérez.** Le mod d'un utilisateur ne peut pas changer ce que vos hooks gérés reçoivent ou décident, le prompt système, ni votre `CLAUDE.md` géré et autres instructions gérées. Il ne peut pas non plus changer ce que n'importe quel mod lit comme paramètres, ni les outils et descriptions de vos serveurs MCP gérés une fois qu'ils sont connectés.

65* **En dehors de ce que vous gérez, le mod d'un utilisateur agit en tant que cet utilisateur.** Le mod conserve les permissions de cet utilisateur : il peut toujours lire et écrire des fichiers, démarrer des processus et effectuer des requêtes réseau. Il peut aussi réécrire les appels d'outils et les prompts, refuser un appel d'outil et dessiner dans l'interface.65* **Sur la v2.1.323 ou ultérieure, le mod d'un utilisateur peut empêcher un serveur MCP géré de se connecter.** Dans la session de cet utilisateur, `/mcp` liste le serveur comme retenu par ce mod. Pour éviter cela, [empêchez les mods installés par les utilisateurs de se charger](#stop-user-installed-mods-from-loading).

66* **En dehors de ce que vous gérez, le mod d'un utilisateur agit en tant que cet utilisateur.** Le mod conserve les permissions de cet utilisateur : il peut toujours lire et écrire des fichiers, démarrer des processus et effectuer des requêtes réseau. Il peut aussi réécrire les appels d'outils et les prompts, refuser un appel d'outil, ajouter ou retirer des outils et dessiner dans l'interface.

66* **Les règles de permission et les hooks `PreToolUse` ont priorité sur le mod d'un utilisateur.** Avec le garde-fou chargé, par défaut le mod d'un utilisateur ne peut pas approuver un appel qu'une règle `deny` refuse ou pour lequel une règle `ask` déclenche une demande, quel que soit le fichier de paramètres qui contient la règle. Le mod ne peut pas non plus approuver un appel qu'un hook `PreToolUse` a bloqué.67* **Les règles de permission et les hooks `PreToolUse` ont priorité sur le mod d'un utilisateur.** Avec le garde-fou chargé, par défaut le mod d'un utilisateur ne peut pas approuver un appel qu'une règle `deny` refuse ou pour lequel une règle `ask` déclenche une demande, quel que soit le fichier de paramètres qui contient la règle. Le mod ne peut pas non plus approuver un appel qu'un hook `PreToolUse` a bloqué.

67 68 

68 Les règles de permission et les hooks `PreToolUse` s'appliquent aux appels d'outils de Claude, pas aux [appels `$.fs` et `$.process` d'un mod](https://code.claude.com/docs/fr/plugins/mods/api#reach-files-processes-and-the-network). Avec `Read(.env)` refusé, un mod peut toujours lire ce fichier avec `$.fs.read` ou démarrer un programme qui le fait. Pour limiter les propres appels `$.fs` et `$.process` d'un mod, [empêchez le mod de se charger](#stop-user-installed-mods-from-loading) ou gérez-les dans un [mod de politique](#enforce-a-policy-with-a-mod-of-your-own).69 Les règles de permission et les hooks `PreToolUse` s'appliquent aux appels d'outils de Claude, pas aux [appels `$.fs` et `$.process` d'un mod](https://code.claude.com/docs/fr/plugins/mods/api#reach-files-processes-and-the-network). Avec `Read(.env)` refusé, un mod peut toujours lire ce fichier avec `$.fs.read` ou démarrer un programme qui le fait. Pour limiter les propres appels `$.fs` et `$.process` d'un mod, [empêchez le mod de se charger](#stop-user-installed-mods-from-loading) ou gérez-les dans un [mod de politique](#enforce-a-policy-with-a-mod-of-your-own).


159Les lignes `hooks:` et `calls:` de la sortie décrivent le code du mod :160Les lignes `hooks:` et `calls:` de la sortie décrivent le code du mod :

160 161 

161```text theme={null}162```text theme={null}

162 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane}163 ❯ ./register.js hooks: session.start, tool.call, ui.render{component=Pane} (default matcher key: plugin)

163 ❯ ./register.js calls: $.fs.read, $.http.fetch, $.store.set, $.ui.open164 ❯ ./register.js calls: $.fs.read, $.http.fetch, $.store.set, $.ui.open

164```165```

165 166 

166La ligne `hooks:` liste les événements que le mod reçoit. La ligne `calls:` liste les méthodes de l'API des mods que son code appelle. L'[API des mods](https://code.claude.com/docs/fr/plugins/mods/api.md), écrite `$` dans le code d'un mod, est comment un mod atteint les fichiers, processus, et réseau. Claude Code refuse de charger un mod qui utilise l'API des mods d'une manière que cette commande ne peut pas lire.167* **`hooks:`** : les événements que le mod reçoit. Une note `default matcher key: plugin` signifie que le hook qui la précède [ignore les contrôles et les dessins des autres mods](https://code.claude.com/docs/fr/plugins/mods/events.md#hook-other-mods-drawings-and-controls).

168* **`calls:`** : les méthodes de l'API des mods que son code appelle

167 169 

168Regardez la ligne `calls:` pour celles-ci :170L'[API des mods](https://code.claude.com/docs/fr/plugins/mods/api.md), écrite `$` dans le code d'un mod, est la façon dont un mod atteint les fichiers, les processus et le réseau. Claude Code refuse de charger un mod qui utilise l'API des mods d'une manière que cette commande ne peut pas lire.

171 

172N'approuvez pas un mod qui échoue à cette commande, car certains échecs ne l'empêchent pas de se charger. Exécutez la commande sur Claude Code v2.1.323 ou ultérieur, où une longue liste se poursuit sur d'autres lignes avec le même libellé, et lisez chaque ligne `hooks:` et `calls:`. Dans les lignes `calls:`, recherchez celles-ci :

169 173 

170| Appel | Ce que cela signifie |174| Appel | Ce que cela signifie |

171| :- | :- |175| :- | :- |


174| `$.http.fetch` | Fait des demandes réseau |178| `$.http.fetch` | Fait des demandes réseau |

175| `$.env.get`, `$.settings.read` | Lit les variables d'environnement et les paramètres, qui peuvent contenir des clés API. Une ligne `env reads:` dans la sortie nomme chaque variable. |179| `$.env.get`, `$.settings.read` | Lit les variables d'environnement et les paramètres, qui peuvent contenir des clés API. Une ligne `env reads:` dans la sortie nomme chaque variable. |

176| `$.env.set` | Définit une variable d'environnement pour Claude Code et pour chaque commande et serveur MCP qu'il démarre ensuite, ce qui peut changer ce que ces programmes exécutent. Une ligne `env writes:` nomme chaque variable. |180| `$.env.set` | Définit une variable d'environnement pour Claude Code et pour chaque commande et serveur MCP qu'il démarre ensuite, ce qui peut changer ce que ces programmes exécutent. Une ligne `env writes:` nomme chaque variable. |

177| `$.mcp.call` | Appelle un outil sur un serveur MCP connecté, selon les règles de permission de la session |181| `$.mcp.call` | Appelle un outil sur un serveur MCP connecté, sans demande de permission. Claude Code refuse l'appel en présence d'une règle de refus ou d'une règle de demande gérée. Il refuse également un appel à un outil marqué [`requiresUserInteraction`](https://code.claude.com/docs/fr/mcp#require-approval-for-a-specific-tool), ou à un outil que votre organisation a [défini sur `ask`](https://code.claude.com/docs/fr/mcp#organization-controls-on-connector-tools) lorsque ce paramètre s'applique à Claude Code. |

178| `$.model.complete` | Utilise le plan ou la clé API de l'utilisateur pour les appels de modèle |182| `$.model.complete` | Utilise le plan ou la clé API de l'utilisateur pour les appels de modèle |

179| `$.prompt.submit` | Soumet une invite, et peut l'envoyer comme les propres paroles de l'utilisateur |183| `$.prompt.submit` | Soumet une invite, et peut l'envoyer comme les propres paroles de l'utilisateur |

180| `$.session.send` | Envoie un message que lit le Claude d'une autre session, d'un sous-agent ou d'un [coéquipier](https://code.claude.com/docs/fr/agent-teams.md) |184| `$.session.send` | Envoie un message que lit le Claude d'une autre session, d'un sous-agent ou d'un [coéquipier](https://code.claude.com/docs/fr/agent-teams.md) |


316 320 

317Claude Code déclenche un événement chaque fois qu'il est sur le point d'agir, comme exécuter un outil, et le passe à chaque mod à tour de rôle. Un mod qui compte comme le vôtre [s'exécute avant les mods des utilisateurs](https://code.claude.com/docs/fr/plugins/mods/events.md#the-order-mods-run-in) même quand vous ne le listez nulle part. Pour définir sa place, listez son id dans l'un de deux paramètres. L'id est le nom du plugin, `@`, et le nom de la marketplace, comme `acme-guard@acme-tools`.321Claude Code déclenche un événement chaque fois qu'il est sur le point d'agir, comme exécuter un outil, et le passe à chaque mod à tour de rôle. Un mod qui compte comme le vôtre [s'exécute avant les mods des utilisateurs](https://code.claude.com/docs/fr/plugins/mods/events.md#the-order-mods-run-in) même quand vous ne le listez nulle part. Pour définir sa place, listez son id dans l'un de deux paramètres. L'id est le nom du plugin, `@`, et le nom de la marketplace, comme `acme-guard@acme-tools`.

318 322 

319* **`prependPlugins`** : votre mod voit chaque événement avant n'importe quel mod d'utilisateur et chaque résultat après. Il peut modifier l'événement, le refuser, ou ignorer les mods des utilisateurs.323* **`prependPlugins`** : votre mod voit un événement avant n'importe quel mod d'utilisateur, et le résultat de l'événement après eux. Il peut modifier l'événement, le refuser, ou ignorer les mods des utilisateurs. Sur v2.1.323 ou ultérieure, vérifiez que vos hooks [atteignent toujours les contrôles et les dessins des autres mods](https://code.claude.com/docs/fr/plugins/mods/events.md#hook-other-mods-drawings-and-controls).

320* **`appendPlugins`** : votre mod s'exécute après chaque mod d'utilisateur, donc il voit uniquement les événements que ces mods transmettent, sous la forme dans laquelle ils les transmettent324* **`appendPlugins`** : votre mod s'exécute après chaque mod d'utilisateur, donc il voit uniquement les événements que ces mods transmettent, sous la forme dans laquelle ils les transmettent

321 325 

322Cet exemple déclare la marketplace `acme-tools` à `/opt/acme/claude-plugins`, active `acme-guard` à partir de celle-ci, et exécute ce mod en premier, avec le garde-fou intégré après lui :326Cet exemple déclare la marketplace `acme-tools` à `/opt/acme/claude-plugins`, active `acme-guard` à partir de celle-ci, et exécute ce mod en premier, avec le garde-fou intégré après lui :


359 363 

360Chaque fois qu'un autre mod est sur le point de se charger, votre mod reçoit la liste que `claude plugin validate` affiche, dans un événement nommé [`plugin.register`](https://code.claude.com/docs/fr/plugins/mods/reference#other-mods). Un mod dans `prependPlugins` peut lire cette liste et refuser le mod. Il peut aussi [intercepter n'importe quel appel de l'API des mods par son nom](https://code.claude.com/docs/fr/plugins/mods/api.md#reach-files-processes-and-the-network) pour consigner ou refuser cet appel pour tous les autres mods. Le nom est la méthode sans le `$.`, donc un hook sur `fs.write` voit chaque appel `$.fs.write`.364Chaque fois qu'un autre mod est sur le point de se charger, votre mod reçoit la liste que `claude plugin validate` affiche, dans un événement nommé [`plugin.register`](https://code.claude.com/docs/fr/plugins/mods/reference#other-mods). Un mod dans `prependPlugins` peut lire cette liste et refuser le mod. Il peut aussi [intercepter n'importe quel appel de l'API des mods par son nom](https://code.claude.com/docs/fr/plugins/mods/api.md#reach-files-processes-and-the-network) pour consigner ou refuser cet appel pour tous les autres mods. Le nom est la méthode sans le `$.`, donc un hook sur `fs.write` voit chaque appel `$.fs.write`.

361 365 

366> [!NOTE]

367>

368> Sur v2.1.323 ou ultérieure, un hook `ui.focus` a besoin d'un matcher plus large pour recevoir les appels `$.ui.focus` des autres mods. Consultez [Intercepter les dessins et les contrôles des autres mods](https://code.claude.com/docs/fr/plugins/mods/events.md#hook-other-mods-drawings-and-controls).

369 

362Ce mod de politique refuse tout mod d'utilisateur dont le propre code appelle `$.process.run` ou `$.process.spawn`. Il tient aussi un journal d'audit, en écrivant dans le journal de débogage chaque appel d'outil et chaque fichier qu'un mod écrit. Comme il s'exécute en premier, le journal consigne ce qui a été demandé, avant qu'un mod d'utilisateur ne le modifie. Enregistrez-le sous `acme-guard/hooks/register.js` :370Ce mod de politique refuse tout mod d'utilisateur dont le propre code appelle `$.process.run` ou `$.process.spawn`. Il tient aussi un journal d'audit, en écrivant dans le journal de débogage chaque appel d'outil et chaque fichier qu'un mod écrit. Comme il s'exécute en premier, le journal consigne ce qui a été demandé, avant qu'un mod d'utilisateur ne le modifie. Enregistrez-le sous `acme-guard/hooks/register.js` :

363 371 

364```javascript acme-guard/hooks/register.js theme={null}372```javascript acme-guard/hooks/register.js theme={null}


403* **`e.tier`** : où le mod s'exécuterait, parmi `prepend`, `user`, `append` ou `builtin`. Chaque mod qu'une personne installe est `user`.411* **`e.tier`** : où le mod s'exécuterait, parmi `prepend`, `user`, `append` ou `builtin`. Chaque mod qu'une personne installe est `user`.

404* **`e.uses.calls`** : les méthodes de l'API des mods que le mod appelle, chacune écrite `namespace.method` comme `process.run`, sans le `$.` que `claude plugin validate` affiche412* **`e.uses.calls`** : les méthodes de l'API des mods que le mod appelle, chacune écrite `namespace.method` comme `process.run`, sans le `$.` que `claude plugin validate` affiche

405 413 

406Quand un utilisateur installe un mod qui appelle `$.process.run`, le mod ne se charge pas, et son journal de débogage contient une ligne qui se termine par `refused by acme-guard:` suivi de votre raison. Le refus apparaît aussi dans la transcription d'une [session qui recharge à chaud un répertoire de plugin](https://code.claude.com/docs/fr/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing). Pour bloquer un appel sans refuser le mod entier, retournez `{ deny: 'your reason' }` depuis un hook sur le nom de cet appel.414Quand un utilisateur installe un mod qui appelle `$.process.run`, le mod ne se charge pas, et son journal de débogage contient une ligne qui se termine par `refused by acme-guard:` suivi de votre raison. Le refus apparaît aussi dans la transcription d'une [session qui recharge à chaud un répertoire de plugin](https://code.claude.com/docs/fr/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing).

415 

416Pour bloquer un appel sans refuser le mod entier, retournez `{ deny: 'your reason' }` depuis un hook sur le nom de cet appel, après avoir [vérifié qui a effectué l'appel](https://code.claude.com/docs/fr/plugins/mods/reference.md#mods-api-calls).

407 417 

408Pour envoyer les lignes d'audit ailleurs que dans le journal de débogage, appelez `$.http.fetch` depuis les mêmes hooks.418Pour envoyer les lignes d'audit ailleurs que dans le journal de débogage, appelez `$.http.fetch` depuis les mêmes hooks.

409 419 

Details

21 21 

22Décrivez le mod que vous voulez dans une session Claude Code interactive, et Claude l'écrit. Claude fonctionne à partir d'une [skill](https://code.claude.com/docs/fr/skills.md) intégrée nommée `plugin-authoring`, qui lui indique où écrire le mod, quels événements et méthodes votre version a, et comment le mod est chargé. Claude peut charger la skill lorsque vous demandez un mod, ou vous pouvez la charger vous-même en exécutant `/plugin-authoring` à l'invite Claude Code.22Décrivez le mod que vous voulez dans une session Claude Code interactive, et Claude l'écrit. Claude fonctionne à partir d'une [skill](https://code.claude.com/docs/fr/skills.md) intégrée nommée `plugin-authoring`, qui lui indique où écrire le mod, quels événements et méthodes votre version a, et comment le mod est chargé. Claude peut charger la skill lorsque vous demandez un mod, ou vous pouvez la charger vous-même en exécutant `/plugin-authoring` à l'invite Claude Code.

23 23 

24Dans les [modes de permission](https://code.claude.com/docs/fr/permission-modes.md) `auto` et `bypassPermissions`, le mod peut s'exécuter à la fin du tour. Sinon, il s'exécute une fois que vous l'approuvez, sauf dans [les sessions où un mod que Claude écrit ne peut pas se charger](#sessions-that-skip-the-approval).24Dans les [modes de permission](https://code.claude.com/docs/fr/permission-modes.md) `auto` et `bypassPermissions`, Claude Code [peut charger le mod sans vous demander](#sessions-that-skip-the-approval). Pour que la question vous soit posée d'abord, démarrez une nouvelle session en mode `default` ou `acceptEdits`, ou [passez](https://code.claude.com/docs/fr/permission-modes.md#switch-permission-modes) à l'un de ces modes avant de demander le premier mod de la session. Dans [certaines sessions](#sessions-that-cant-load), le mod ne peut pas se charger.

25 25 

26**1. Décrivez le mod**26**1. Décrivez le mod**

27 27 


33 33 

34**2. Approuvez le mod**34**2. Approuvez le mod**

35 35 

36Lorsque Claude enregistre le premier fichier, Claude Code demande s'il faut activer le rechargement à chaud pour la session. Le rechargement à chaud exécute les mods que Claude écrit dans cette session et récupère chaque modification ultérieure. Si aucune question n'apparaît, passez cette étape.36Lorsque Claude enregistre le premier fichier, Claude Code demande s'il faut activer le rechargement à chaud pour la session. Le rechargement à chaud exécute les mods que Claude écrit dans cette session et récupère chaque modification ultérieure. Cette question n'apparaît pas dans une session qui [charge les nouveaux mods sans demander](#sessions-that-skip-the-approval) ou qui [ne peut pas les charger](#sessions-that-cant-load).

37 37 

38Choisissez l'une de ces réponses :38Choisissez l'une de ces réponses :

39 39 


57* **Dans une session que vous démarrez** : dans votre shell, exécutez `claude --plugin-dir ~/mods/git-branch`57* **Dans une session que vous démarrez** : dans votre shell, exécutez `claude --plugin-dir ~/mods/git-branch`

58* **Pour d'autres personnes** : [ajoutez-le à une marketplace](#share-your-mod) pour qu'elles puissent l'installer58* **Pour d'autres personnes** : [ajoutez-le à une marketplace](#share-your-mod) pour qu'elles puissent l'installer

59 59 

60### Sessions qui chargent un mod sans demander

61 

62Claude Code peut activer le rechargement à chaud sans demander dans les modes `auto` et `bypassPermissions`, et les mods se chargent à la fin du tour.

63 

64Lorsque vous reprenez une session, de manière interactive ou avec `claude -p`, les mods déjà présents dans son dossier des mods [peuvent se charger](#sessions-that-cant-load) sans demander. Pour empêcher un mod de se charger lorsque vous reprenez la session, supprimez son répertoire.

65 

60### Sessions où un mod que Claude écrit ne peut pas se charger66### Sessions où un mod que Claude écrit ne peut pas se charger

61 67 

62Un mod que Claude écrit se charge dans un espace de travail de confiance où les mods sont autorisés à s'exécuter, après que vous l'avez approuvé dans les modes qui le demandent. Dans ces sessions, il ne se charge pas :68Un mod que Claude écrit ne se charge pas dans les cas suivants, et Claude Code ne demande pas à le charger :

63 69 

64* **Personne n'est là pour approuver** : la session ne peut pas vous montrer une invite, comme dans une exécution `claude -p` en dehors des modes `auto` et `bypassPermissions`, ou en [mode `dontAsk`](https://code.claude.com/docs/fr/permission-modes)70* **Personne n'est là pour approuver** : la session est en [mode `dontAsk`](https://code.claude.com/docs/fr/permission-modes), ou il s'agit de l'exécution `claude -p` qui écrit le mod, en mode `default` ou `acceptEdits`, qui ne peut pas vous montrer la question du rechargement à chaud.

65* **L'espace de travail n'est pas de confiance** : vous n'avez pas accepté l'invite de confiance pour le répertoire71* **Une session interactive où l'espace de travail n'est pas de confiance** : vous n'avez pas accepté l'invite de confiance pour le répertoire

66* **Les mods sont désactivés** : vous avez démarré avec `--safe-mode` ou `--bare`, vous avez défini `disableAllHooks`, ou [les paramètres gérés de votre organisation le bloquent](https://code.claude.com/docs/fr/plugins/mods/admin.md#choose-how-much-to-allow)72* **Les mods sont désactivés** : vous avez démarré avec `--safe-mode` ou `--bare`, vous avez défini `disableAllHooks`, ou [les paramètres gérés de votre organisation le bloquent](https://code.claude.com/docs/fr/plugins/mods/admin.md#choose-how-much-to-allow)

67 73 

68## Écrire un mod vous-même74## Écrire un mod vous-même


292 298 

293Consultez la ligne `hooks:` pour les événements que votre module hook, chacun avec son filtre entre accolades, et `calls:` pour chaque méthode de l'API des mods qu'il appelle. Si votre module lit ou définit des variables d'environnement, recherchez également les lignes `env reads:` et `env writes:`, ainsi que `state reads:` et `state writes:` s'il utilise [`$.state`](https://code.claude.com/docs/fr/plugins/mods/interface#keep-state). Vous voyez aussi une ligne pour chaque hook qui peut refuser une action, comme `gating hook without .catch: tool.call`, qui indique si ce hook possède un [gestionnaire `.catch`](https://code.claude.com/docs/fr/plugins/mods/events#handle-a-hook-that-fails).299Consultez la ligne `hooks:` pour les événements que votre module hook, chacun avec son filtre entre accolades, et `calls:` pour chaque méthode de l'API des mods qu'il appelle. Si votre module lit ou définit des variables d'environnement, recherchez également les lignes `env reads:` et `env writes:`, ainsi que `state reads:` et `state writes:` s'il utilise [`$.state`](https://code.claude.com/docs/fr/plugins/mods/interface#keep-state). Vous voyez aussi une ligne pour chaque hook qui peut refuser une action, comme `gating hook without .catch: tool.call`, qui indique si ce hook possède un [gestionnaire `.catch`](https://code.claude.com/docs/fr/plugins/mods/events#handle-a-hook-that-fails).

294 300 

295Si un événement que vous aviez l'intention de gérer manque de la première ligne, Claude Code n'appellera pas ce hook non plus. La cause habituelle est un nom d'événement mal orthographié, que la commande rapporte comme une erreur telle que `"tool.calls" is not an event`.301Si un événement que vous aviez l'intention de gérer est absent des lignes `hooks:`, Claude Code n'appellera pas ce hook non plus. La cause habituelle est un nom d'événement mal orthographié, que la commande rapporte comme une erreur telle que `"tool.calls" is not an event`.

296 302 

297Suivez ces règles afin que l'analyse statique puisse trouver chaque hook et appel :303Suivez ces règles afin que l'analyse statique puisse trouver chaque hook et appel :

298 304 

Details

91 91 

92Enregistrez chaque événement une fois par matcher. Si vous appelez `on` deux fois pour `session.start` sans matcher, le module échoue à charger avec `on("session.start") is registered twice without a matcher`. Mettez tout ce que votre mod fait au démarrage de la session dans un hook.92Enregistrez chaque événement une fois par matcher. Si vous appelez `on` deux fois pour `session.start` sans matcher, le module échoue à charger avec `on("session.start") is registered twice without a matcher`. Mettez tout ce que votre mod fait au démarrage de la session dans un hook.

93 93 

94#### Intercepter les dessins et contrôles d'autres mods

95 

96Pour intercepter les contrôles, les volets ou la ligne au-dessus du prompt d'un autre mod, passez un matcher avec `plugin`. Utilisez le nom du mod sans sa marketplace, comme dans `{ plugin: 'other-mod' }`, ou `{ plugin: '*' }` pour tous les mods. Sans `plugin`, un hook sur `ui.press`, `ui.input`, `ui.select` ou `ui.focus` ne s'exécute pas pour les contrôles des autres mods, et un hook `ui.render` ignore leurs volets et leurs lignes au-dessus du prompt.

97 

98Un hook sur un wildcard sans matcher, comme `on('*', hook)` ou `on('ui.*', hook)`, s'exécute toujours pour tous les mods. Un wildcard avec un matcher nécessite également `plugin`.

99 

100> [!NOTE]

101>

102> `{ plugin: '*' }` nécessite Claude Code v2.1.323 ou une version ultérieure. Avant la v2.1.323, un hook sans `plugin` s'exécutait pour tous les mods, et un hook avec `{ plugin: '*' }` ne s'exécutait pas. Pour correspondre à tous les mods sur les deux versions, utilisez `{ plugin: /./ }` sur `ui.press`, `ui.input` et `ui.select`. Pour `ui.focus` et `ui.render`, utilisez `on('ui.*', hook)` et vérifiez le nom de l'événement dans `next.event`, comme dans `if (next.event !== 'ui.focus') return next(e)`.

103 

94## Intercepter ce que fait Claude104## Intercepter ce que fait Claude

95 105 

96Gérez ces événements pour observer ou modifier un appel d'outil, un prompt, un tour ou une lecture des paramètres au moment où cela se produit. Pour connaître tous les événements et ce qu'un hook peut renvoyer, consultez la [référence des événements](https://code.claude.com/docs/fr/plugins/mods/reference.md#events).106Gérez ces événements pour observer ou modifier un appel d'outil, un prompt, un tour ou une lecture des paramètres au moment où cela se produit. Pour connaître tous les événements et ce qu'un hook peut renvoyer, consultez la [référence des événements](https://code.claude.com/docs/fr/plugins/mods/reference.md#events).

Details

177 177 

178## Choisir où dessiner178## Choisir où dessiner

179 179 

180Un hook `ui.render` s'exécute pour chaque point de rendu, sauf si vous le limitez à celui dans lequel vous souhaitez dessiner. Pour choisir le point de rendu, passez un filtre, appelé [matcher](https://code.claude.com/docs/fr/plugins/mods/events.md#filter-which-events-a-hook-handles), comme second argument de `on`. `{ component: 'Pane' }` n'exécute le hook que pour les panneaux. Dans le hook, `e.component` nomme le point de rendu, `e.surface` indique quelle application dessine, et `e.props` contient les données propres au point de rendu. Pour un panneau, `e.requestId` est l'`id` avec lequel vous l'avez ouvert.180Pour choisir le point de rendu dans lequel un hook `ui.render` dessine, passez un filtre, appelé [matcher](https://code.claude.com/docs/fr/plugins/mods/events.md#filter-which-events-a-hook-handles), comme second argument de `on`. `{ component: 'Pane' }` n'exécute le hook que pour les panneaux. Dans le hook, `e.component` nomme le point de rendu, `e.surface` indique quelle application dessine, et `e.props` contient les données propres au point de rendu. Pour un panneau, `e.requestId` est l'`id` avec lequel vous l'avez ouvert.

181 181 

182Le panneau et la bande restent vides tant qu'un mod ne les remplit pas. Sélectionnez un onglet pour découvrir ce qu'est chacun d'eux et comment y dessiner :182Le panneau et la bande restent vides tant qu'un mod ne les remplit pas. Sélectionnez un onglet pour découvrir ce qu'est chacun d'eux et comment y dessiner :

183 183 


191 191 

192> [tab] Bande au-dessus du prompt192> [tab] Bande au-dessus du prompt

193>193>

194> La bande est une bande située juste au-dessus de la zone de saisie du prompt. Elle est toujours présente, et tous les mods la partagent.194> La bande est une bande située juste au-dessus de la zone de saisie du prompt. Chaque mod qui y dessine obtient sa propre ligne, et les lignes s'empilent à partir du haut dans l'[ordre d'exécution des mods](https://code.claude.com/docs/fr/plugins/mods/events.md#the-order-mods-run-in).

195>195>

196> Votre hook renvoie un arbre pour afficher quelque chose dans la bande, ou `next(e)` pour ne rien afficher. Un arbre remplace ce que les mods [exécutés après le vôtre](https://code.claude.com/docs/fr/plugins/mods/events.md#the-order-mods-run-in) y dessinent. Pour conserver leur contenu, placez le résultat de `await next(e)` parmi les enfants d'une [`Box`](#build-a-tree-from-elements) de votre arbre.196> Pour dessiner la ligne de votre mod, filtrez sur `{ component: 'AbovePrompt' }` et renvoyez un [arbre](#build-a-tree-from-elements). Pour ne rien dessiner, renvoyez `next(e)`.

197>197>

198> Pour dessiner dans la bande, filtrez sur `{ component: 'AbovePrompt' }`.198> Avant la v2.1.323, tous les mods partageaient un seul dessin dans la bande, et votre arbre remplaçait ce que dessinaient les mods exécutés après le vôtre. Pour prendre également en charge ces versions, placez le résultat de `await next(e)` parmi les enfants d'une [`Box` qui reste valide](https://code.claude.com/docs/fr/plugins/mods/troubleshoot#another-mods-band-shows-and-yours-doesnt). À partir de la v2.1.323, cet enfant ne dessine pas les lignes des autres mods.

199 199 

200Un mod peut aussi [placer sa propre ligne dans la transcription](#place-a-row-in-the-transcript).200Un mod peut aussi [placer sa propre ligne dans la transcription](#place-a-row-in-the-transcript).

201 201 


281 281 

282Pendant que Claude travaille, le spinner s'anime comme avant, et `under the spinner` apparaît en dessous.282Pendant que Claude travaille, le spinner s'anime comme avant, et `under the spinner` apparaît en dessous.

283 283 

284La demande de permission n'est pas un point de rendu, un mod ne peut donc pas modifier ce qu'elle affiche. La boîte de dialogue de question, `AskUserQuestion`, en est un, un mod peut donc la modifier. Un arbre pour cette boîte de dialogue doit contenir la référence exactement une fois, avec vos éléments au-dessus. Sinon, Claude Code dessine sa propre boîte de dialogue.284La demande de permission n'est pas un point de rendu, un mod ne peut donc pas modifier ce qu'elle affiche. La boîte de dialogue de question, `AskUserQuestion`, en est un, un mod peut donc modifier cette boîte de dialogue lorsque Claude pose une question. Un arbre pour cette boîte de dialogue doit contenir la référence exactement une fois, avec vos éléments au-dessus. Sinon, Claude Code dessine sa propre boîte de dialogue.

285 285 

286### Ouvrir un panneau au bon moment286### Ouvrir un panneau au bon moment

287 287 

288Un panneau n'apparaît que lorsque votre mod l'ouvre. La manière et le moment où vous l'ouvrez déterminent s'il prend le focus clavier, l'espace qu'il demande, et s'il s'affiche ou non dans un terminal étroit.288Un panneau n'apparaît que lorsque votre mod l'ouvre. La manière et le moment où vous l'ouvrez déterminent s'il prend le focus clavier, l'espace qu'il demande, et s'il s'affiche ou non dans un terminal étroit.

289 289 

290Pour ouvrir un panneau, appelez [`$.ui.open`](https://code.claude.com/docs/fr/plugins/mods/reference#mods-api-methods) avec un `id` de votre choix. L'`id` est le nom du panneau : votre hook `ui.render` le vérifie, et vous le repassez pour fermer le panneau.290Pour ouvrir un panneau, appelez [`$.ui.open`](https://code.claude.com/docs/fr/plugins/mods/reference#mods-api-methods) avec un `id` de votre choix. L'`id` est le nom du panneau : votre hook `ui.render` le vérifie, et vous le repassez pour fermer le panneau. Si un autre mod a un panneau ouvert avec cet `id`, l'appel est rejeté.

291 291 

292```javascript theme={null}292```javascript theme={null}

293await $.ui.open({ id: 'hello-tabs', title: 'Hello tabs', focus: true })293await $.ui.open({ id: 'hello-tabs', title: 'Hello tabs', focus: true })


399 399 

400> [!NOTE]400> [!NOTE]

401>401>

402> `$.theme.set` et `$.theme.clear` remplacent `$.ui.backdrop`, que Claude Code v2.1.319 a supprimé. Remplacez `$.ui.backdrop({ id: 'your-backdrop' })` par `$.theme.set({ backdrop: { id: 'your-backdrop' } })`, et `$.ui.backdrop(undefined)` par `$.theme.clear()`, qui supprime l'arrière-plan de n'importe quel mod.402> `$.theme.set` et `$.theme.clear` remplacent `$.ui.backdrop`, que Claude Code v2.1.319 a supprimé. Remplacez `$.ui.backdrop({ id: 'your-backdrop' })` par un appel à `$.theme.set` semblable à celui de l'exemple de cette section, et `$.ui.backdrop(undefined)` par `$.theme.clear()`, qui supprime l'arrière-plan de n'importe quel mod.

403 403 

404Pour placer un arrière-plan derrière la conversation dans l'application Desktop ou l'application mobile, appelez [`$.theme.set`](https://code.claude.com/docs/fr/plugins/mods/reference#mods-api-methods) avec un `backdrop`, puis dessinez l'arrière-plan sur le point de rendu [`Backdrop`](https://code.claude.com/docs/fr/plugins/mods/reference#render-sites). Pour retirer l'arrière-plan, appelez `$.theme.clear()`. Le terminal ne dessine aucun arrière-plan. `$.theme.set` et `$.theme.clear` nécessitent Claude Code v2.1.319 ou ultérieur.404Pour placer un arrière-plan derrière la conversation dans l'application Desktop ou l'application mobile, appelez [`$.theme.set`](https://code.claude.com/docs/fr/plugins/mods/reference#mods-api-methods) avec un `backdrop`, puis dessinez l'arrière-plan sur le point de rendu [`Backdrop`](https://code.claude.com/docs/fr/plugins/mods/reference#render-sites). Pour retirer l'arrière-plan, appelez `$.theme.clear()`. Le terminal ne dessine aucun arrière-plan. `$.theme.set` et `$.theme.clear` nécessitent Claude Code v2.1.319 ou ultérieur.

405 405 

406Ce mod définit un arrière-plan au démarrage de la session, dessine l'arrière-plan et ajoute une commande `/plain` qui retire l'arrière-plan :406Cet exemple nécessite Claude Code v2.1.323 ou ultérieur ; [vérifiez donc votre version](https://code.claude.com/docs/fr/plugins/mods/overview.md#turn-mods-on-or-off) au préalable. Le mod définit un arrière-plan au démarrage de la session, dessine l'arrière-plan et ajoute une commande `/plain` qui retire l'arrière-plan :

407 407 

408```javascript theme={null}408```javascript theme={null}

409export function register(on) {409export function register(on) {

410 // Neither a reload of this mod nor --resume keeps the backdrop, so set it here410 // Neither a reload of this mod nor --resume keeps the backdrop, so set it here

411 on('session.start', async ($, e, next) => {411 on('session.start', async ($, e, next) => {

412 await $.theme.set({ backdrop: { id: 'night-sky', colorScheme: 'dark' } })412 await $.theme.set({ backdrop: { scene: 'night-sky' }, overrideColorScheme: 'dark' })

413 await $.command.register({ name: 'plain', description: 'Take the backdrop off' })413 await $.command.register({ name: 'plain', description: 'Take the backdrop off' })

414 return next(e)414 return next(e)

415 })415 })

416 416 

417 on('ui.render', { component: 'Backdrop' }, async ($, e, next) => {417 on('ui.render', { component: 'Backdrop' }, async ($, e, next) => {

418 // This hook runs for every mod's backdrop, and another mod can use the same id418 // This hook runs for every mod's backdrop, and another mod can use the same scene

419 if (e.props.plugin !== $.plugin.name || e.props.id !== 'night-sky') return next(e)419 if (e.props.plugin !== $.plugin.name || e.props.scene !== 'night-sky') return next(e)

420 const { Box, Text } = $.ui.resolve(e)420 const { Box, Text } = $.ui.resolve(e)

421 return Box({ backgroundColor: 'blue', children: [Text({ children: ['Night sky'] })] })421 return Box({ backgroundColor: 'blue', children: [Text({ children: ['Night sky'] })] })

422 })422 })


428}428}

429```429```

430 430 

431> [!NOTE]

432>

433> Avant la v2.1.323, écrivez `id` à la place de `scene` dans l'appel à `$.theme.set` et dans `e.props`, et déplacez `overrideColorScheme` dans `backdrop` sous le nom `colorScheme`.

434 

431Pour essayer l'exemple, placez ce code dans un [mod](https://code.claude.com/docs/fr/plugins/mods/create.md) et démarrez une session dans l'application Desktop ou l'application mobile. Pour retirer l'arrière-plan, exécutez `/plain` dans le prompt de Claude Code. La transcription affiche `the theme is cleared` après le nom du mod, comme dans `night-sky: the theme is cleared` pour un mod nommé `night-sky`.435Pour essayer l'exemple, placez ce code dans un [mod](https://code.claude.com/docs/fr/plugins/mods/create.md) et démarrez une session dans l'application Desktop ou l'application mobile. Pour retirer l'arrière-plan, exécutez `/plain` dans le prompt de Claude Code. La transcription affiche `the theme is cleared` après le nom du mod, comme dans `night-sky: the theme is cleared` pour un mod nommé `night-sky`.

432 436 

433Vérifiez ce qu'accepte `backdrop`, ce que vous indique le résultat de l'appel, et ce que les autres mods peuvent modifier :437Vérifiez ce qu'accepte `backdrop`, ce que vous indique le résultat de l'appel, et ce que les autres mods peuvent modifier :

434 438 

435* **Les champs de `backdrop`** : `id`, un [nom](https://code.claude.com/docs/fr/plugins/mods/reference.md#limits) de votre choix, est obligatoire, et les autres champs sont facultatifs. `colorScheme` vaut `'light'` ou `'dark'` et indique si votre dessin est clair ou sombre. Pour `glass`, consultez [les types de votre build](https://code.claude.com/docs/fr/plugins/mods/create.md#get-the-types-for-your-build).439* **Les champs de `backdrop`** : `scene` est un [nom](https://code.claude.com/docs/fr/plugins/mods/reference.md#limits) que vous choisissez pour un arrière-plan que votre hook dessine. Pour les autres champs et `overrideColorScheme`, consultez [les types de votre build](https://code.claude.com/docs/fr/plugins/mods/create.md#get-the-types-for-your-build).

436* **Si l'arrière-plan est dessiné** : `$.theme.set` se résout avec `isDrawn: true` lorsqu'une application Desktop ou mobile connectée à la session indique qu'elle dessine les arrière-plans. Sinon, `isDrawn` vaut `false` et `reason` en indique la raison.440* **Si l'arrière-plan est dessiné** : `$.theme.set` se résout avec `isDrawn: true` lorsqu'une application Desktop ou mobile connectée à la session indique qu'elle dessine les arrière-plans. Sinon, `isDrawn` vaut `false` et `reason` en indique la raison.

437* **Un seul arrière-plan par session** : un appel à `$.theme.set` remplace l'arrière-plan de la session et `$.theme.clear()` supprime cet arrière-plan, quel que soit le mod qui l'a défini. N'appelez `$.theme.clear()` que lorsque l'utilisateur le demande.441* **Un seul arrière-plan par session** : un appel à `$.theme.set` remplace l'arrière-plan de la session et `$.theme.clear()` supprime cet arrière-plan, quel que soit le mod qui l'a défini. N'appelez `$.theme.clear()` que lorsque l'utilisateur le demande.

438 442 


510>514>

511> Définissez `rows` à 2 ou plus pour obtenir [un champ qui contient plusieurs lignes](https://code.claude.com/docs/fr/plugins/mods/gallery.md#input).515> Définissez `rows` à 2 ou plus pour obtenir [un champ qui contient plusieurs lignes](https://code.claude.com/docs/fr/plugins/mods/gallery.md#input).

512 516 

513La [galerie d'interface](https://code.claude.com/docs/fr/plugins/mods/gallery.md) propose des exemples et des captures d'écran de la plupart des éléments. Ce tableau répertorie tous les éléments :517La [galerie d'interface](https://code.claude.com/docs/fr/plugins/mods/gallery.md) propose des exemples et des captures d'écran de la plupart des éléments. Ce tableau répertorie les principaux éléments :

514 518 

515| Élément | Ce qu'il dessine | Où |519| Élément | Ce qu'il dessine | Où |

516| :- | :- | :- |520| :- | :- | :- |


606Les tests et les autres mods identifient un contrôle par sa clé :610Les tests et les autres mods identifient un contrôle par sa clé :

607 611 

608* **Tests** : un [test](https://code.claude.com/docs/fr/plugins/mods/test.md#test-a-drawing) appuie sur un contrôle ou y saisit du texte via sa clé.612* **Tests** : un [test](https://code.claude.com/docs/fr/plugins/mods/test.md#test-a-drawing) appuie sur un contrôle ou y saisit du texte via sa clé.

609* **Autres mods** : Claude Code déclenche [`ui.press`, `ui.input` ou `ui.select`](https://code.claude.com/docs/fr/plugins/mods/reference#interface) avec la clé du contrôle dans `e.element` avant d'exécuter le callback du contrôle. Le hook d'un autre mod pour cet événement voit ce que l'utilisateur a saisi dans votre `Input` et peut modifier ce texte ou empêcher votre callback de s'exécuter. L'API des mods ne donne à ce mod aucune méthode pour appuyer sur vos boutons.613* **Autres mods** : Claude Code déclenche [`ui.press`, `ui.input` ou `ui.select`](https://code.claude.com/docs/fr/plugins/mods/reference#interface) avec la clé du contrôle dans `e.element` avant d'exécuter le callback du contrôle. Le hook d'un autre mod peut aussi [s'exécuter pour cet événement](https://code.claude.com/docs/fr/plugins/mods/events.md#hook-other-mods-drawings-and-controls). Ce hook voit ce que l'utilisateur a saisi dans votre `Input` et peut modifier ce texte ou empêcher votre callback de s'exécuter. L'API des mods ne donne à ce mod aucune méthode pour appuyer sur vos boutons.

610 614 

611Si un message indique `needs a key` ou `is drawn twice`, [trouvez la cause à partir de ce message](https://code.claude.com/docs/fr/plugins/mods/troubleshoot.md#needs-a-key).615Si un message indique `needs a key` ou `is drawn twice`, [trouvez la cause à partir de ce message](https://code.claude.com/docs/fr/plugins/mods/troubleshoot.md#needs-a-key).

612 616 

Details

208 208 

209### Appels à l'API des mods209### Appels à l'API des mods

210 210 

211Chaque [méthode de l'API des mods](#mods-api-methods) est également un événement, nommé d'après son namespace et sa méthode, comme `fs.read`, `model.complete` ou `ui.open`. Un hook sur l'un d'eux intercepte les appels des mods qui s'exécutent après lui, et peut renvoyer `next(e)`, `{ deny: reason }` ou `{ value }`.211Chaque [méthode de l'API des mods](#mods-api-methods) est également un événement, nommé d'après son namespace et sa méthode, comme `fs.read`, `model.complete` ou `ui.open`. Un hook sur l'un d'eux peut renvoyer `next(e)`, `{ deny: reason }` ou `{ value }`.

212 

213Certains de ces événements se déclenchent également pour les propres actions de Claude Code : vérifiez donc si `next.origin.plugin` vaut `engine` avant d'en refuser un.

212 214 

213## Méthodes de l'API des mods215## Méthodes de l'API des mods

214 216 


249| :- | :- | :- | :- |251| :- | :- | :- | :- |

250| [`Pane`](https://code.claude.com/docs/fr/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | L'`id` du volet | Terminal, Desktop, VS Code |252| [`Pane`](https://code.claude.com/docs/fr/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | L'`id` du volet | Terminal, Desktop, VS Code |

251| [`AbovePrompt`](https://code.claude.com/docs/fr/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Une seule instance | Terminal, Desktop |253| [`AbovePrompt`](https://code.claude.com/docs/fr/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Une seule instance | Terminal, Desktop |

254| `AbovePromptList`, la pile des lignes `AbovePrompt` | `rows`, une liste contenant un `{ plugin, tree }` pour la ligne de chaque mod, ainsi que les props de `AbovePrompt` | Une seule instance | Terminal, Desktop. Nécessite Claude Code v2.1.323 ou ultérieure. |

252| [`Placed`](https://code.claude.com/docs/fr/plugins/mods/interface#place-a-row-in-the-transcript) | `id`, `plugin`, `onScreen` | Le `requestId` renvoyé par `$.ui.place` | Terminal |255| [`Placed`](https://code.claude.com/docs/fr/plugins/mods/interface#place-a-row-in-the-transcript) | `id`, `plugin`, `onScreen` | Le `requestId` renvoyé par `$.ui.place` | Terminal |

253| [`Backdrop`](https://code.claude.com/docs/fr/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `id`, `plugin`, `glass`, `colorScheme` | `backdrop` | Surfaces `desktop` et `mobile`. Votre hook s'exécute lorsque l'application Desktop ou mobile demande à dessiner un arrière-plan. |256| [`Backdrop`](https://code.claude.com/docs/fr/plugins/mods/interface#put-a-backdrop-behind-the-conversation) | `scene`, `plugin`, `glass`, `overrideColorScheme`. Avant la v2.1.323, `scene` s'appelait `id` et `overrideColorScheme` s'appelait `colorScheme`. | `backdrop` | Surfaces `desktop` et `mobile`. Votre hook s'exécute lorsque l'application Desktop ou mobile demande à dessiner un arrière-plan. |

254| `UserMessage` | `text`, `origin`, `isExpanded`, et `task` ou `from` selon l'origine | L'id de la ligne dessinée | Terminal, Desktop, VS Code |257| `UserMessage` | `text`, `origin`, `isExpanded`, et `task` ou `from` selon l'origine | L'id de la ligne dessinée | Terminal, Desktop, VS Code |

255| `AssistantMessage` | Le texte de la réponse | L'id de la ligne dessinée | Terminal, Desktop, VS Code |258| `AssistantMessage` | Le texte de la réponse | L'id de la ligne dessinée | Terminal, Desktop, VS Code |

256| `ToolUse`, `ToolResult`, `ToolGroup` | Le nom, l'entrée et le résultat de l'outil | L'id de l'appel d'outil | Terminal, Desktop, VS Code |259| `ToolUse`, `ToolResult`, `ToolGroup` | Le nom, l'entrée et le résultat de l'outil | L'id de l'appel d'outil | Terminal, Desktop, VS Code |


297* **`action`** : nomme l'une des propres [actions de raccourci clavier](https://code.claude.com/docs/fr/keybindings.md) de Claude Code, et le raccourci de l'utilisateur pour cette action presse le bouton lorsque ce raccourci est une combinaison de touches ou une touche avec modificateur300* **`action`** : nomme l'une des propres [actions de raccourci clavier](https://code.claude.com/docs/fr/keybindings.md) de Claude Code, et le raccourci de l'utilisateur pour cette action presse le bouton lorsque ce raccourci est une combinaison de touches ou une touche avec modificateur

298* **Hotkeys numériques dans le bandeau** : un `hotkey` numérique sur un bouton du bandeau se déclenche aussi lorsque l'utilisateur tape ce seul chiffre dans un prompt vide puis marque une pause301* **Hotkeys numériques dans le bandeau** : un `hotkey` numérique sur un bouton du bandeau se déclenche aussi lorsque l'utilisateur tape ce seul chiffre dans un prompt vide puis marque une pause

299* **Un bandeau réduit** : tant que le bandeau est [réduit](https://code.claude.com/docs/fr/plugins/mods/interface.md#when-the-user-collapses-the-band), ni un raccourci `action` ni un hotkey ne presse un bouton qu'il contient302* **Un bandeau réduit** : tant que le bandeau est [réduit](https://code.claude.com/docs/fr/plugins/mods/interface.md#when-the-user-collapses-the-band), ni un raccourci `action` ni un hotkey ne presse un bouton qu'il contient

300* **Deux boutons sur un même hotkey** : lorsque deux boutons d'un même dessin désignent le même `hotkey`, c'est le dernier qui l'obtient303* **Deux boutons sur un même hotkey** : lorsque deux de vos boutons d'un même dessin désignent le même `hotkey`, c'est le dernier qui l'obtient. Pour le bouton d'un autre mod sur la même touche, consultez [Les hotkeys ne font rien](https://code.claude.com/docs/fr/plugins/mods/troubleshoot.md#hotkeys-do-nothing).

301* **`variant`** : `primary` ou `secondary`, toute autre valeur lève une exception. Dans le terminal, un bouton `primary` est dessiné dans la couleur d'accentuation, sauf s'il est `plain`.304* **`variant`** : `primary` ou `secondary`, toute autre valeur lève une exception. Dans le terminal, un bouton `primary` est dessiné dans la couleur d'accentuation, sauf s'il est `plain`.

302* **`role`** : `dismiss` marque un bouton de fermeture, toute autre valeur lève une exception. Effectuez la fermeture dans votre `onPress`. Dans un bandeau qui contient du texte et une rangée de boutons, l'application Desktop peut dessiner le premier bouton `dismiss` de la rangée comme son propre contrôle de fermeture. Le terminal dessine le bouton comme il le ferait sans `role`.305* **`role`** : `dismiss` marque un bouton de fermeture, toute autre valeur lève une exception. Effectuez la fermeture dans votre `onPress`. Dans un bandeau qui contient du texte et une rangée de boutons, l'application Desktop peut dessiner le premier bouton `dismiss` de la rangée comme son propre contrôle de fermeture. Le terminal dessine le bouton comme il le ferait sans `role`.

303 306 


401| Profondeur d'imbrication d'un arbre | 32 niveaux sous l'élément racine |404| Profondeur d'imbrication d'un arbre | 32 niveaux sous l'élément racine |

402| Éléments et enfants texte dans un arbre | 20 000 |405| Éléments et enfants texte dans un arbre | 20 000 |

403| Cellules `Raster` dans un arbre, soit les `columns` de chaque `Raster` multipliées par ses `rows` | 262 144 |406| Cellules `Raster` dans un arbre, soit les `columns` de chaque `Raster` multipliées par ses `rows` | 262 144 |

407| Les lignes au-dessus du prompt, empilées | Les éléments, les cellules `Raster` et les octets `Image` s'additionnent sur l'ensemble des lignes, par rapport aux limites d'un arbre |

404| Octets PNG ou RGBA de l'ensemble des `Image` d'un arbre | 2 Mio |408| Octets PNG ou RGBA de l'ensemble des `Image` d'un arbre | 2 Mio |

405| `$.store` | 4 Mio de JSON au total |409| `$.store` | 4 Mio de JSON au total |

406| `$.session.messages()` | Les 4 096 entrées les plus récentes |410| `$.session.messages()` | Les 4 096 entrées les plus récentes |


412| Profondeur d'imbrication d'un événement modifié passé à `next`, en dehors des [hooks générateurs asynchrones](#events) tels qu'un hook sur `turn.step` | 28 000 niveaux. Au-delà, `next` est rejeté avec un message se terminant par `nesting deeper than 28000 levels is not supported`. Nécessite Claude Code v2.1.299 ou une version ultérieure. |416| Profondeur d'imbrication d'un événement modifié passé à `next`, en dehors des [hooks générateurs asynchrones](#events) tels qu'un hook sur `turn.step` | 28 000 niveaux. Au-delà, `next` est rejeté avec un message se terminant par `nesting deeper than 28000 levels is not supported`. Nécessite Claude Code v2.1.299 ou une version ultérieure. |

413| Profondeur d'imbrication de la valeur de retour d'un hook, en dehors de `ui.render`, `ui.resolve` et des hooks générateurs asynchrones | 28 000 niveaux. Au-delà, le résultat du hook est refusé, et [l'avis qui le signale](https://code.claude.com/docs/fr/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing) inclut `nesting deeper than 28000 levels is not supported`. Nécessite Claude Code v2.1.299 ou une version ultérieure. |417| Profondeur d'imbrication de la valeur de retour d'un hook, en dehors de `ui.render`, `ui.resolve` et des hooks générateurs asynchrones | 28 000 niveaux. Au-delà, le résultat du hook est refusé, et [l'avis qui le signale](https://code.claude.com/docs/fr/plugins/mods/troubleshoot.md#find-out-why-a-mod-does-nothing) inclut `nesting deeper than 28000 levels is not supported`. Nécessite Claude Code v2.1.299 ou une version ultérieure. |

414| Portées, telles que les fonctions, les blocs et les boucles, imbriquées les unes dans les autres dans un même fichier d'un module de hooks | 2 000 |418| Portées, telles que les fonctions, les blocs et les boucles, imbriquées les unes dans les autres dans un même fichier d'un module de hooks | 2 000 |

415| Noms de commandes, d'outils, de types de sous-agents et de volets, ainsi que l'`id` d'une ligne placée ou d'un arrière-plan | Lettres, chiffres, `_` et `-`, jusqu'à 64 caractères |419| Noms de commandes, d'outils, de types de sous-agents et de volets, l'`id` d'une ligne placée et la `scene` d'un arrière-plan | Lettres, chiffres, `_` et `-`, jusqu'à 64 caractères |

416| Un test `claude plugin test` | 5 secondes sauf si le test définit `timeoutMs` |420| Un test `claude plugin test` | 5 secondes sauf si le test définit `timeoutMs` |

417 421 

418## Paramètres et variables d'environnement422## Paramètres et variables d'environnement

Details

139 on('ui.render', () => ({ type: 'Text', props: {}, children: ['drawn by Claude Code'] }))139 on('ui.render', () => ({ type: 'Text', props: {}, children: ['drawn by Claude Code'] }))

140 ```140 ```

141 141 

142 Avec le stub enregistré, le montage réussit, et `ui.find({ type: 'Text' })` retourne cet élément chaque fois que votre hook a retourné `next(e)`.142 Avec le stub enregistré, le montage réussit, et `ui.find({ type: 'Text' })` retourne cet élément chaque fois que votre hook a retourné `next(e)`. Avec v2.1.323 ou ultérieur, pour le bandeau, passez le nom de votre mod comme deuxième argument à `on`, comme dans `{ plugin: 'my-mod' }`. Sans lui, le stub ne répond pas à votre `next(e)`.

143 143 

144* **Un stub pour `turn.step` est un générateur asynchrone**, et le test lit le flux jusqu'à la fin pour obtenir le résultat :144* **Un stub pour `turn.step` est un générateur asynchrone**, et le test lit le flux jusqu'à la fin pour obtenir le résultat :

145 145 


192| `$.session.id`, `$.agent.list` | `() => ({ value: 'abc123' })`, `() => ({ value: [] })` |192| `$.session.id`, `$.agent.list` | `() => ({ value: 'abc123' })`, `() => ({ value: [] })` |

193| `session.send` | `() => ({ isDelivered: true })`. `e.to` arrive en tant que chaîne même quand votre mod a passé `{ sessionId }`. |193| `session.send` | `() => ({ isDelivered: true })`. `e.to` arrive en tant que chaîne même quand votre mod a passé `{ sessionId }`. |

194| `session.receive` | `($, e) => ({ text: e.text })`. Déclenchez-le avec `$.session.receive({ origin: { kind: 'peer-send-message' }, text })`. |194| `session.receive` | `($, e) => ({ text: e.text })`. Déclenchez-le avec `$.session.receive({ origin: { kind: 'peer-send-message' }, text })`. |

195| `ui.render` | `() => ({ type: 'Text', props: {}, children: ['...'] })` |195| `ui.render` | `() => ({ type: 'Text', props: {}, children: ['...'] })`. Pour le bandeau, consultez le matcher dans [Suivre les règles du kit de test](#follow-the-test-kit’s-rules). |

196 196 

197### Vérifier un résultat avec `expect`197### Vérifier un résultat avec `expect`

198 198 

199Le kit propose ces assertions, et celle que vous choisissez se place après la valeur que vous vérifiez, comme dans `expect(answer.text).toBe('ok')` :199`expect` dispose de son propre ensemble d'assertions, comme `toEqual` et `toHaveLength`, qui se placent après la valeur que vous vérifiez, comme dans `expect(answer.text).toBe('ok')`. Pour la liste complète, recherchez `type Matchers` dans `claude-code/index.d.ts` parmi [les types de votre build](https://code.claude.com/docs/fr/plugins/mods/create.md#get-the-types-for-your-build). Placez `.not` devant l'assertion pour vérifier le contraire. Pour vérifier la valeur avec laquelle une promesse se règle, placez `.resolves` ou `.rejects` juste après `expect(...)` et ajoutez `await` devant la ligne, comme dans `await expect(promise).rejects.toThrow()`.

200 

201* **Égalité** : `toBe` pour la même valeur ou le même objet, `toEqual` pour la structure, `toStrictEqual` pour la structure plus les champs `undefined` et le prototype, et `toMatchObject` pour les champs que vous nommez

202* **Texte** : `toMatch`, qui accepte une expression régulière ou une sous-chaîne, `toStartWith` et `toEndWith`

203* **Nombres** : `toBeGreaterThan`, `toBeGreaterThanOrEqual`, `toBeLessThan`, `toBeLessThanOrEqual`

204* **Contenu** : `toContain` pour une sous-chaîne ou un membre, `toContainEqual` pour un membre comparé par structure, `toHaveLength` et `toHaveProperty`

205* **Présence et type** : `toBeDefined`, `toBeUndefined`, `toBeNull`, `toBeTruthy`, `toBeFalsy`, `toBeNaN`, `toBeInstanceOf`

206* **Levée d'exceptions** : `toThrow`, pour une fonction que `expect` appelle, ou pour une promesse que vous vérifiez avec `.rejects`

207 

208Placez `.not` devant une assertion pour vérifier le contraire, et `.resolves` ou `.rejects` pour vérifier la valeur avec laquelle une promesse se règle.

209 200 

210Quand un `expect` échoue à l'intérieur d'un stub ou d'un hook que vous avez passé à `on` sous forme de fonction simple plutôt que de générateur asynchrone, le test échoue. Le moteur ignore ce hook, et la sortie de l'échec le nomme, par exemple `in the test's store.set hook`.201Quand un `expect` échoue à l'intérieur d'un stub ou d'un hook que vous avez passé à `on` sous forme de fonction simple plutôt que de générateur asynchrone, le test échoue. Le moteur ignore ce hook, et la sortie de l'échec le nomme, par exemple `in the test's store.set hook`.

211 202 

Details

223 223 

224### La bande d'un autre mod s'affiche et pas la vôtre224### La bande d'un autre mod s'affiche et pas la vôtre

225 225 

226Il n'y a qu'une seule bande au-dessus du prompt, et tous les mods la partagent. Un mod qui s'exécute [avant le vôtre](https://code.claude.com/docs/fr/plugins/mods/events.md#the-order-mods-run-in) remplace votre bande lorsqu'il renvoie un arbre qui ne contient pas le résultat de `next(e)`. Pour afficher les deux bandes, modifiez le hook de ce mod, ou demandez à son auteur de le faire :226Chaque mod qui dessine au-dessus du prompt dispose de sa propre ligne. Lorsque la vôtre est absente alors que celle d'un autre s'affiche, vérifiez les causes suivantes :

227 227 

228* **Conserver les bandes qui le suivent** : placez le résultat de `await next(e)` parmi les enfants d'un `Box` dans son arbre, comme dans l'onglet Band above the prompt de [Choisir où dessiner](https://code.claude.com/docs/fr/plugins/mods/interface.md#pick-where-to-draw)228* **Votre arbre n'est pas valide** : [écrivez un log de débogage](#read-the-debug-log), recherchez-y [`ui.render hook skipped`](#a-pane-or-band-is-empty) ou [`does not validate`](#ui-render-refused), et corrigez ce que la ligne indique.

229* **Garder l'arbre valide** : ne donnez à ce `Box`, ni à aucun `Box` qui l'entoure, de prop `width`, `height`, `minWidth`, `minHeight`, `position`, `top`, `left`, `right`, `bottom`, `display` ou `overflow`229* **Les lignes dépassent ensemble une limite** : [écrivez un log de débogage](#read-the-debug-log) et recherchez-y `past the limits of the band`. Les lignes [partagent les limites d'un seul arbre](https://code.claude.com/docs/fr/plugins/mods/reference.md#limits) ; dessinez donc un arbre plus petit, ou demandez aux auteurs des autres mods de le faire.

230* **Un autre mod masque votre ligne ou dessine par-dessus** : si le log ne contient aucune de ces lignes, [désactivez](https://code.claude.com/docs/fr/plugins/mods/overview.md#turn-mods-on-or-off) les autres mods un par un. Si votre ligne réapparaît, demandez à l'auteur de ce mod de le modifier.

230 231 

231Pour trouver ce mod, [écrivez un log de débogage](#read-the-debug-log) et recherchez-y `answered ui.render without next()`. Une ligne telle que `other-mod (user) answered ui.render without next()` nomme un mod qui a renvoyé son arbre sans appeler `next(e)`. Elle ne nomme pas le [point de rendu](https://code.claude.com/docs/fr/plugins/mods/reference.md#render-sites), de sorte qu'un mod qui ne dessine qu'un volet peut aussi y apparaître. Un mod qui appelle `next(e)` puis ignore le résultat ne génère aucune ligne ; vérifiez donc aussi les hooks qui précèdent le vôtre.232Avant la v2.1.323, tous les mods partageaient un seul dessin dans la bande. Un mod qui s'exécutait [avant le vôtre](https://code.claude.com/docs/fr/plugins/mods/events.md#the-order-mods-run-in) remplaçait votre dessin lorsqu'il renvoyait un arbre qui ne contenait pas le résultat de `next(e)`. Mettez à jour Claude Code, ou demandez à l'auteur de ce mod d'apporter ces modifications :

232 233 

233La bande d'un mod est également absente lorsque l'arbre renvoyé par son propre hook n'est pas valide, et les bandes des autres mods restent affichées. Pour savoir de quel mod il s'agit et pourquoi, [écrivez un log de débogage](#read-the-debug-log) et recherchez-y [`ui.render hook skipped`](#a-pane-or-band-is-empty).234* **Conserver les dessins des mods suivants** : placez le résultat de `await next(e)` parmi les enfants d'un `Box` dans son arbre

235* **Garder l'arbre valide** : ne donnez à ce `Box`, ni à aucun `Box` qui l'entoure, de prop `width`, `height`, `minWidth`, `minHeight`, `position`, `top`, `left`, `right`, `bottom`, `display` ou `overflow`

234 236 

235### Un volet ou une bande est vide ou affiche le contenu habituel de Claude Code237### Un volet ou une bande est vide ou affiche le contenu habituel de Claude Code

236 238 


246 248 

247### Une ligne `ui.render` indique `refused`249### Une ligne `ui.render` indique `refused`

248 250 

249`ui.render (<site>) refused:`, ou `ui.render (<site>): the chain settled on a tree that does not validate` dans le [log de débogage](#read-the-debug-log), signifie que l'[arbre](https://code.claude.com/docs/fr/plugins/mods/interface.md#build-a-tree-from-elements) à ce point de rendu dépasse une [limite de taille](https://code.claude.com/docs/fr/plugins/mods/reference.md#limits). Chacune de ces lignes nomme le [point de rendu](https://code.claude.com/docs/fr/plugins/mods/reference.md#render-sites), puis la raison, et la raison nomme la limite.251`ui.render (<site>) refused:`, ou `ui.render (<site>): the chain settled on a tree that does not validate` dans le [log de débogage](#read-the-debug-log), signifie que l'[arbre](https://code.claude.com/docs/fr/plugins/mods/interface.md#build-a-tree-from-elements) à ce point de rendu dépasse une [limite de taille](https://code.claude.com/docs/fr/plugins/mods/reference.md#limits). Chacune de ces lignes nomme le [point de rendu](https://code.claude.com/docs/fr/plugins/mods/reference.md#render-sites), puis la raison.

250 252 

251Modifiez les mods qui dessinent à ce point de rendu pour que leurs hooks [`ui.render`](https://code.claude.com/docs/fr/plugins/mods/reference#interface) renvoient des arbres plus petits, ou demandez à leurs auteurs de le faire. Si la ligne de la transcription commence par `hooks`, plusieurs mods chargés ont un hook `ui.render` pour ce point de rendu ; vérifiez donc l'arbre de chacun de ces mods. Pour plusieurs mods dont les bandes au-dessus du prompt s'imbriquent en un arbre de plus de 32 niveaux de profondeur, la ligne indique :253Modifiez les mods qui dessinent à ce point de rendu pour que leurs hooks [`ui.render`](https://code.claude.com/docs/fr/plugins/mods/reference#interface) renvoient des arbres plus petits, ou demandez à leurs auteurs de le faire. Si la ligne de la transcription commence par `hooks`, plusieurs mods chargés ont un hook `ui.render` pour ce point de rendu ; vérifiez donc l'arbre de chacun de ces mods. Pour des lignes au-dessus du prompt qui, ensemble, ne tiennent pas dans les limites de la bande, la ligne indique :

252 254 

253```text theme={null}255```text theme={null}

254hooks: ui.render (AbovePrompt) refused: deeper than 32; nothing was drawn256hooks: ui.render (AbovePrompt) refused: a row past the limits of the band; nothing was drawn

255```257```

256 258 

259Malgré cette terminaison, les lignes qui tiennent dans les limites sont tout de même dessinées.

260 

257Avant la v2.1.307, une ligne `refused:` pour n'importe quel point de rendu signalait tout arbre non valide, et pour `Pane` et `AbovePrompt` elle se terminait par `; the engine drew its own`. Sur ces versions, corrigez ce que la raison indique.261Avant la v2.1.307, une ligne `refused:` pour n'importe quel point de rendu signalait tout arbre non valide, et pour `Pane` et `AbovePrompt` elle se terminait par `; the engine drew its own`. Sur ces versions, corrigez ce que la raison indique.

258 262 

259### `needs a key`, `is drawn twice` ou `key each once`263### `needs a key`, `is drawn twice` ou `key each once`


307 311 

308### Les raccourcis clavier ne font rien312### Les raccourcis clavier ne font rien

309 313 

310Votre volet ou votre bande n'a pas le focus clavier, votre bouton se trouve dans une bande réduite, ou le dessin se trouve dans l'extension VS Code, où les boutons n'ont pas de raccourcis clavier. Appliquez la solution correspondante :314Votre volet ou votre bande n'a pas le focus clavier, votre bouton se trouve dans une bande réduite, un autre mod utilise la même touche, ou le dessin se trouve dans l'extension VS Code.

311 315 

312* **Pas de focus clavier** : appuyez sur Ctrl+X puis Tab ou, en [rendu plein écran](https://code.claude.com/docs/fr/fullscreen.md), cliquez sur le volet ou la bande. Pour que le volet prenne le focus à son ouverture, ouvrez-le avec `focus: true` depuis une commande.316* **Pas de focus clavier** : appuyez sur Ctrl+X puis Tab ou, en [rendu plein écran](https://code.claude.com/docs/fr/fullscreen.md), cliquez sur le volet ou la bande. Pour que le volet prenne le focus à son ouverture, ouvrez-le avec `focus: true` depuis une commande.

313* **Le bouton se trouve dans une bande réduite** : la bande affiche une ligne atténuée qui commence par `▸ plugin panel hidden`. Appuyez sur les touches indiquées par la ligne, Ctrl+X puis Ctrl+A par défaut, pour [la développer](#plugin-panel-hidden).317* **Le bouton se trouve dans une bande réduite** : la bande affiche une ligne atténuée qui commence par `▸ plugin panel hidden`. Appuyez sur les touches indiquées par la ligne, Ctrl+X puis Ctrl+A par défaut, pour [la développer](#plugin-panel-hidden).

314* **Dans l'extension VS Code** : cliquez sur le bouton, ou appuyez sur Enter lorsqu'il a le focus318* **La ligne d'un autre mod dans la bande utilise le même raccourci clavier** : dans le terminal, la touche n'active aucun des deux boutons. Pour le vérifier, [désactivez](https://code.claude.com/docs/fr/plugins/mods/overview.md#turn-mods-on-or-off) les autres mods qui dessinent des lignes, un par un, jusqu'à ce que la touche fonctionne. Modifiez le `hotkey` de votre bouton, ou demandez à l'auteur de ce mod de modifier le sien.

319* **Dans l'extension VS Code, où les boutons n'ont pas de raccourcis clavier** : cliquez sur le bouton, ou appuyez sur Enter lorsqu'il a le focus

315 320 

316### Un dessin fonctionne dans le terminal mais pas dans l'application Desktop ni dans VS Code321### Un dessin fonctionne dans le terminal mais pas dans l'application Desktop ni dans VS Code

317 322 

Details

36 36 

37![Diagramme en deux colonnes jointes par cinq flèches droites. À gauche, le répertoire d'un plugin nommé my-plugin, contenant un manifeste à .claude-plugin/plugin.json, skills/review/SKILL.md, agents/reviewer.md, hooks/hooks.json, .mcp.json et d'autres composants. À droite, ce que chaque fichier vous donne dans votre session : le manifeste définit le nom du plugin, my-plugin ; la skill s'exécute en tant que /my-plugin:review ; le fichier agent est un sous-agent que Claude peut déléguer ; le fichier hooks contient des hooks qui s'exécutent sur les événements du cycle de vie ; et .mcp.json ajoute un serveur MCP qui donne à Claude des outils.](https://mintcdn.com/claude-code/2Q_GtOEovg5qaBem/images/plugin-directory.svg?fit=max\&auto=format\&n=2Q_GtOEovg5qaBem\&q=85\&s=f623b64e82713b830e48174f0a922888)37![Diagramme en deux colonnes jointes par cinq flèches droites. À gauche, le répertoire d'un plugin nommé my-plugin, contenant un manifeste à .claude-plugin/plugin.json, skills/review/SKILL.md, agents/reviewer.md, hooks/hooks.json, .mcp.json et d'autres composants. À droite, ce que chaque fichier vous donne dans votre session : le manifeste définit le nom du plugin, my-plugin ; la skill s'exécute en tant que /my-plugin:review ; le fichier agent est un sous-agent que Claude peut déléguer ; le fichier hooks contient des hooks qui s'exécutent sur les événements du cycle de vie ; et .mcp.json ajoute un serveur MCP qui donne à Claude des outils.](https://mintcdn.com/claude-code/2Q_GtOEovg5qaBem/images/plugin-directory.svg?fit=max\&auto=format\&n=2Q_GtOEovg5qaBem\&q=85\&s=f623b64e82713b830e48174f0a922888)

38 38 

39Pour chaque type de composant qu'un plugin peut contenir, avec un exemple de chacun, consultez [Composants de plugin](https://code.claude.com/docs/fr/plugins/components.md). Pour voir où chaque élément est situé dans le répertoire d'un plugin, utilisez l'[explorateur de plugin](https://code.claude.com/docs/fr/plugins/components.md#explore-the-plugin-directory) sur cette page.39Pour connaître les types de composants qu'un plugin peut contenir, avec un exemple pour chacun, consultez [Composants de plugin](https://code.claude.com/docs/fr/plugins/components.md). Pour voir où se trouve chaque élément dans le répertoire d'un plugin, utilisez l'[explorateur de plugin](https://code.claude.com/docs/fr/plugins/components.md#explore-the-plugin-directory) sur cette page.

40 40 

41### Décider si vous avez besoin d'un plugin41### Décider si vous avez besoin d'un plugin

42 42 

Details

59 59 

60**5. Remplir les métadonnées que les utilisateurs voient**60**5. Remplir les métadonnées que les utilisateurs voient**

61 61 

62Définissez `description`, `author`, `homepage` et `repository` dans `plugin.json`, et ajoutez un `README.md` à la racine du plugin. `homepage` doit être analysable en tant qu'URL. La [référence du manifeste](https://code.claude.com/docs/fr/plugins/manifest-reference.md#fields) répertorie tous les champs.62Définissez `description`, `author`, `homepage` et `repository` dans `plugin.json`, et ajoutez un `README.md` à la racine du plugin. `homepage` doit être analysable en tant qu'URL. Pour savoir ce que chaque champ accepte, consultez la [référence du manifeste](https://code.claude.com/docs/fr/plugins/manifest-reference.md#fields).

63 63 

64**6. Exécuter votre suite d'évaluation**64**6. Exécuter votre suite d'évaluation**

65 65 

Details

67> | `--capacity <N>` | Nombre maximal de sessions simultanées. La valeur par défaut est 32. Ne peut pas être utilisé avec `--spawn=session`. |67> | `--capacity <N>` | Nombre maximal de sessions simultanées. La valeur par défaut est 32. Ne peut pas être utilisé avec `--spawn=session`. |

68> | `--[no-]create-session-in-dir` | Pré-crée une session dans le répertoire actuel au démarrage du serveur, afin que vous puissiez saisir du texte immédiatement. En mode `worktree`, cette session reste dans le répertoire actuel tandis que les sessions à la demande obtiennent des worktrees isolés. Activé par défaut. Si vous passez `--no-create-session-in-dir` pour démarrer sans aucune session, Claude Code archive les sessions du serveur lorsque vous l'arrêtez, il n'y a donc rien à [reprendre](#resume-sessions-after-stopping-the-server). |68> | `--[no-]create-session-in-dir` | Pré-crée une session dans le répertoire actuel au démarrage du serveur, afin que vous puissiez saisir du texte immédiatement. En mode `worktree`, cette session reste dans le répertoire actuel tandis que les sessions à la demande obtiennent des worktrees isolés. Activé par défaut. Si vous passez `--no-create-session-in-dir` pour démarrer sans aucune session, Claude Code archive les sessions du serveur lorsque vous l'arrêtez, il n'y a donc rien à [reprendre](#resume-sessions-after-stopping-the-server). |

69> | `--permission-mode <mode>` | Définit le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) initial des sessions du serveur, par exemple `acceptEdits`. Accepte `manual` comme alias de `default` ; un mode non reconnu arrête le serveur au démarrage et liste les modes valides. |69> | `--permission-mode <mode>` | Définit le [mode de permission](https://code.claude.com/docs/fr/permission-modes.md) initial des sessions du serveur, par exemple `acceptEdits`. Accepte `manual` comme alias de `default` ; un mode non reconnu arrête le serveur au démarrage et liste les modes valides. |

70> | `--settings <file>` | Applique un fichier de paramètres JSON aux sessions du serveur, avec la même [priorité](https://code.claude.com/docs/fr/settings.md#settings-precedence) que `claude --settings`. Indiquez un chemin de fichier, et non une chaîne JSON. Nécessite Claude Code v2.1.321 ou ultérieur. |

70> | `--chrome` / `--no-chrome` | Active ou désactive l'[intégration Chrome](https://code.claude.com/docs/fr/chrome.md) dans les sessions créées par le serveur, afin que Claude puisse utiliser Chrome sur votre machine pendant que vous travaillez depuis un autre appareil. Sans l'un ou l'autre de ces flags, la session pré-créée par le serveur et toute session que vous démarrez vous-même depuis claude.ai/code ou l'application Claude commencent avec Chrome désactivé, même si vous avez [activé Chrome par défaut](https://code.claude.com/docs/fr/chrome.md#enable-chrome-by-default). Une session que le serveur démarre pour l'un de vos fils de [projet](https://code.claude.com/docs/fr/claude-projects.md) suit plutôt ce paramètre, sauf en mode `bypassPermissions`. Nécessite Claude Code v2.1.273 ou ultérieur. |71> | `--chrome` / `--no-chrome` | Active ou désactive l'[intégration Chrome](https://code.claude.com/docs/fr/chrome.md) dans les sessions créées par le serveur, afin que Claude puisse utiliser Chrome sur votre machine pendant que vous travaillez depuis un autre appareil. Sans l'un ou l'autre de ces flags, la session pré-créée par le serveur et toute session que vous démarrez vous-même depuis claude.ai/code ou l'application Claude commencent avec Chrome désactivé, même si vous avez [activé Chrome par défaut](https://code.claude.com/docs/fr/chrome.md#enable-chrome-by-default). Une session que le serveur démarre pour l'un de vos fils de [projet](https://code.claude.com/docs/fr/claude-projects.md) suit plutôt ce paramètre, sauf en mode `bypassPermissions`. Nécessite Claude Code v2.1.273 ou ultérieur. |

71> | `-d`, `--debug[=<filter>]` | Active les logs de débogage du serveur, éventuellement filtrés par catégorie. Ne passez un filtre que sous la forme `=`, par exemple `--debug=api,hooks`. Nécessite Claude Code v2.1.282 ou ultérieur. |72> | `-d`, `--debug[=<filter>]` | Active les logs de débogage du serveur, éventuellement filtrés par catégorie. Ne passez un filtre que sous la forme `=`, par exemple `--debug=api,hooks`. Nécessite Claude Code v2.1.282 ou ultérieur. |

72> | `--debug-file <path>` | Écrit les logs de débogage dans le fichier indiqué. |73> | `--debug-file <path>` | Écrit les logs de débogage dans le fichier indiqué. |

73> | `--verbose` | Affiche des logs détaillés sur les connexions et les sessions. |74> | `--verbose` | Affiche des logs détaillés sur les connexions et les sessions. |

74> | `--sandbox`, `--no-sandbox` | Supprimés dans la v2.1.300. Si vous passez l'un de ces flags, le serveur [se ferme avec une erreur](https://code.claude.com/docs/fr/errors.md#sandbox-is-not-supported-by-claude-remote-control) au lieu de démarrer. |75> | `--sandbox`, `--no-sandbox` | Supprimés dans la v2.1.300. Si vous passez l'un de ces flags, le serveur [se ferme avec une erreur](https://code.claude.com/docs/fr/errors.md#sandbox-is-not-supported-by-claude-remote-control) au lieu de démarrer. |

75>76>

76> Si vous passez un flag global de `claude` avant `remote-control`, ou si un script wrapper en ajoute un, Claude Code ne transmet pas ce flag aux sessions créées par le serveur. Claude Code ne laisse passer le flag que lorsqu'il est établi que son abandon ne change pas ce que ces sessions peuvent faire, comme `--verbose` ou `--model`. Pour tout autre flag, comme `--settings`, Claude Code [refuse de démarrer](https://code.claude.com/docs/fr/errors.md#not-carried-over-to-the-sessions-remote-control-starts) et indique le flag à supprimer.77> Si vous passez un flag global de `claude` avant `remote-control`, ou si un script wrapper en ajoute un, Claude Code ne transmet pas ce flag aux sessions créées par le serveur. Le serveur démarre tout de même avec certains flags, comme `--verbose` ou `--model`. Avec tout autre flag, le serveur [ne démarre pas](https://code.claude.com/docs/fr/errors.md#not-carried-over-to-the-sessions-remote-control-starts). Pour passer un fichier de paramètres, placez `--settings` après `remote-control`.

77>78>

78> Pour exécuter dans un sandbox les sessions démarrées par le serveur, activez le [sandboxing](https://code.claude.com/docs/fr/sandboxing.md) dans un fichier de paramètres.79> Pour exécuter dans un sandbox les sessions démarrées par le serveur, activez le [sandboxing](https://code.claude.com/docs/fr/sandboxing.md) dans un fichier de paramètres.

79>80>


375* **Les boîtes de dialogue transférées expirent** : Claude Code garde les demandes de permission et les questions `AskUserQuestion` ouvertes jusqu'à ce que vous y répondiez. Lorsque Claude Code transfère un autre type de boîte de dialogue vers la session à distance, comme le prompt de choix de modèle affiché après un refus de sécurité, il attend cinq minutes par défaut, puis ferme la boîte de dialogue et poursuit avec l'option par défaut sans action de celle-ci. Définissez [`dialogExpiry`](https://code.claude.com/docs/fr/settings-reference#dialogexpiry) pour ajuster ou désactiver ce délai. Nécessite Claude Code v2.1.224 ou une version ultérieure.376* **Les boîtes de dialogue transférées expirent** : Claude Code garde les demandes de permission et les questions `AskUserQuestion` ouvertes jusqu'à ce que vous y répondiez. Lorsque Claude Code transfère un autre type de boîte de dialogue vers la session à distance, comme le prompt de choix de modèle affiché après un refus de sécurité, il attend cinq minutes par défaut, puis ferme la boîte de dialogue et poursuit avec l'option par défaut sans action de celle-ci. Définissez [`dialogExpiry`](https://code.claude.com/docs/fr/settings-reference#dialogexpiry) pour ajuster ou désactiver ce délai. Nécessite Claude Code v2.1.224 ou une version ultérieure.

376* **Le prompt de consentement aux crédits d'utilisation Fable n'est pas transféré** : Claude Code affiche le [prompt de consentement aux crédits d'utilisation Fable](https://code.claude.com/docs/fr/model-config.md#fable-and-usage-credits) en cours de session uniquement là où la session s'exécute, et non sur votre appareil. Lorsque la session s'exécute dans un terminal et que personne n'y répond avant que Claude Code ne ferme le prompt, le tour se termine sans envoyer la requête ; consultez [The prompt to confirm went unanswered](https://code.claude.com/docs/fr/errors.md#the-prompt-to-confirm-went-unanswered).377* **Le prompt de consentement aux crédits d'utilisation Fable n'est pas transféré** : Claude Code affiche le [prompt de consentement aux crédits d'utilisation Fable](https://code.claude.com/docs/fr/model-config.md#fable-and-usage-credits) en cours de session uniquement là où la session s'exécute, et non sur votre appareil. Lorsque la session s'exécute dans un terminal et que personne n'y répond avant que Claude Code ne ferme le prompt, le tour se termine sans envoyer la requête ; consultez [The prompt to confirm went unanswered](https://code.claude.com/docs/fr/errors.md#the-prompt-to-confirm-went-unanswered).

377* **Certaines commandes sont uniquement locales** : les commandes qui ne s'exécutent que dans l'interface du terminal, comme `/plugin` ou `/resume`, fonctionnent uniquement depuis la CLI locale, que vous passiez un argument ou non. `/claude-api` est également indisponible lorsque vous la tapez depuis le mobile ou le web. Claude peut néanmoins y [charger ce skill de lui-même](https://code.claude.com/docs/fr/skills.md#work-on-claude-api-projects). Les éléments suivants fonctionnent depuis le mobile et le web :378* **Certaines commandes sont uniquement locales** : les commandes qui ne s'exécutent que dans l'interface du terminal, comme `/plugin` ou `/resume`, fonctionnent uniquement depuis la CLI locale, que vous passiez un argument ou non. `/claude-api` est également indisponible lorsque vous la tapez depuis le mobile ou le web. Claude peut néanmoins y [charger ce skill de lui-même](https://code.claude.com/docs/fr/skills.md#work-on-claude-api-projects). Les éléments suivants fonctionnent depuis le mobile et le web :

378 * Commandes à sortie texte : `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` et `/reload-plugins`. `/usage-credits` affiche l'URL de facturation au lieu d'ouvrir un navigateur. `/reload-plugins` fonctionne uniquement lorsque la session s'exécute dans un terminal interactif ; une session sans terminal interactif la refuse.379 * Commandes à sortie texte : `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap` et `/reload-plugins`. `/usage-credits` répond sous forme de texte, par exemple en indiquant où gérer les crédits d'utilisation. `/reload-plugins` fonctionne uniquement lorsque la session s'exécute dans un terminal interactif ; une session sans terminal interactif la refuse.

379 * `/model`, `/effort`, `/fast`, `/color` et `/rename` : passez la valeur en argument, par exemple `/model sonnet` ou `/effort high`. Depuis le mobile et le web, `/model` et `/effort` acceptent l'argument à la place du sélecteur ou du curseur du terminal.380 * `/model`, `/effort`, `/fast`, `/color` et `/rename` : passez la valeur en argument, par exemple `/model sonnet` ou `/effort high`. Depuis le mobile et le web, `/model` et `/effort` acceptent l'argument à la place du sélecteur ou du curseur du terminal.

380 * `/mcp` : depuis l'application mobile, renvoie un résumé textuel de l'état des serveurs au lieu d'ouvrir le sélecteur. Sur le web, `/mcp` seul ouvre un répertoire des [connecteurs claude.ai](https://code.claude.com/docs/fr/mcp.md#use-mcp-servers-from-claude-ai) au lieu de renvoyer le résumé. Les [sous-commandes](https://code.claude.com/docs/fr/commands.md#all-commands) `reconnect`, `enable` et `disable` fonctionnent depuis les deux lorsque la session s'exécute dans un terminal interactif. `/mcp reconnect` sans nom de serveur réessaie chaque serveur qui a échoué ou qui nécessite une authentification. Pour autoriser un connecteur claude.ai sans le sélecteur, consultez [Autoriser à nouveau un connecteur depuis votre shell](#authorize-a-connector-again-from-your-shell).381 * `/mcp` : depuis l'application mobile, renvoie un résumé textuel de l'état des serveurs au lieu d'ouvrir le sélecteur. Sur le web, `/mcp` seul ouvre un répertoire des [connecteurs claude.ai](https://code.claude.com/docs/fr/mcp.md#use-mcp-servers-from-claude-ai) au lieu de renvoyer le résumé. Les [sous-commandes](https://code.claude.com/docs/fr/commands.md#all-commands) `reconnect`, `enable` et `disable` fonctionnent depuis les deux lorsque la session s'exécute dans un terminal interactif. `/mcp reconnect` sans nom de serveur réessaie chaque serveur qui a échoué ou qui nécessite une authentification. Pour autoriser un connecteur claude.ai sans le sélecteur, consultez [Autoriser à nouveau un connecteur depuis votre shell](#authorize-a-connector-again-from-your-shell).

381 * `/config` : depuis l'application mobile, passez `key=value` pour définir un paramètre, ou exécutez-la sans argument pour lister les clés que vous pouvez définir. Sur le web, `/config` ouvre plutôt **Settings > Code** ou **Settings > Claude Code**.382 * `/config` : depuis l'application mobile, passez `key=value` pour définir un paramètre, ou exécutez-la sans argument pour lister les clés que vous pouvez définir. Sur le web, `/config` ouvre plutôt **Settings > Code** ou **Settings > Claude Code**.

routines.md +1 −1

Details

431 431 

432Chaque tâche planifiée utilise un [environnement cloud](https://code.claude.com/docs/fr/cloud-environments.md) qui contrôle l'accès réseau, les variables d'environnement et les scripts de configuration. La tâche hérite de la politique réseau de l'environnement à chaque exécution.432Chaque tâche planifiée utilise un [environnement cloud](https://code.claude.com/docs/fr/cloud-environments.md) qui contrôle l'accès réseau, les variables d'environnement et les scripts de configuration. La tâche hérite de la politique réseau de l'environnement à chaque exécution.

433 433 

434L'environnement **Default** utilise l'accès **Limited** avec **Allow package managers** coché, de sorte que ses exécutions atteignent la [liste d'autorisation par défaut](https://code.claude.com/docs/fr/cloud-environments.md#default-allowed-domains). Une requête vers un hôte bloqué échoue avec `403` et `x-deny-reason: host_not_allowed`. Le trafic des connecteurs MCP est acheminé via les serveurs d'Anthropic, de sorte que les connecteurs que vous ajoutez à la tâche fonctionnent sans ajouter leurs hôtes aux **Allowed domains**. Supprimez les connecteurs dont vous n'avez pas besoin sous [Connecteurs](#connectors).434L'environnement **Default** utilise l'accès **Limited** avec **Allow package managers** coché, de sorte que ses exécutions atteignent la [liste d'autorisation par défaut](https://code.claude.com/docs/fr/cloud-environments.md#default-allowed-domains). Une requête vers un hôte bloqué échoue avec [une erreur telle qu'un `403` ou `ENOTFOUND`](https://code.claude.com/docs/fr/errors#host-not-allowed-in-a-cloud-session). Le trafic des connecteurs MCP est acheminé via les serveurs d'Anthropic, de sorte que les connecteurs que vous ajoutez à la tâche fonctionnent sans ajouter leurs hôtes aux **Allowed domains**. Supprimez les connecteurs dont vous n'avez pas besoin sous [Connecteurs](#connectors).

435 435 

436Pour autoriser des domaines supplémentaires sur l'un de vos propres environnements, suivez ces étapes. Un [environnement partagé par l'organisation](https://code.claude.com/docs/fr/cloud-environments.md#organization-shared-environments) s'ouvre ici en lecture seule ; c'est donc un propriétaire qui modifie son accès réseau depuis la page **Cloud environments** des [paramètres d'administration](https://claude.ai/admin-settings).436Pour autoriser des domaines supplémentaires sur l'un de vos propres environnements, suivez ces étapes. Un [environnement partagé par l'organisation](https://code.claude.com/docs/fr/cloud-environments.md#organization-shared-environments) s'ouvre ici en lecture seule ; c'est donc un propriétaire qui modifie son accès réseau depuis la page **Cloud environments** des [paramètres d'administration](https://claude.ai/admin-settings).

437 437 

sandboxing.md +5 −3

Details

276 276 

277Ces chemins sont appliqués au niveau du système d'exploitation, de sorte que toutes les commandes exécutées dans le sandbox, y compris leurs processus enfants, les respectent. C'est l'approche recommandée lorsqu'un outil a besoin d'un accès en écriture à un emplacement spécifique, plutôt que d'exclure entièrement l'outil du sandbox avec `excludedCommands`.277Ces chemins sont appliqués au niveau du système d'exploitation, de sorte que toutes les commandes exécutées dans le sandbox, y compris leurs processus enfants, les respectent. C'est l'approche recommandée lorsqu'un outil a besoin d'un accès en écriture à un emplacement spécifique, plutôt que d'exclure entièrement l'outil du sandbox avec `excludedCommands`.

278 278 

279Sous Linux et WSL2, une entrée pour un chemin qui n'existe pas encore n'a aucun effet ; créez donc d'abord le chemin.

280 

279Lorsque vous définissez le même tableau de système de fichiers dans plusieurs [portées de paramètres](https://code.claude.com/docs/fr/settings.md#settings-precedence), Claude Code les fusionne, en combinant les chemins plutôt qu'en remplaçant le tableau d'une portée par celui d'une autre. Claude Code exclut une entrée de la fusion lorsqu'un verrou décrit dans [Empêcher les développeurs d'élargir la politique](#keep-developers-from-widening-the-policy) la couvre.281Lorsque vous définissez le même tableau de système de fichiers dans plusieurs [portées de paramètres](https://code.claude.com/docs/fr/settings.md#settings-precedence), Claude Code les fusionne, en combinant les chemins plutôt qu'en remplaçant le tableau d'une portée par celui d'une autre. Claude Code exclut une entrée de la fusion lorsqu'un verrou décrit dans [Empêcher les développeurs d'élargir la politique](#keep-developers-from-widening-the-policy) la couvre.

280 282 

281Si vous excluez une source avec [`--setting-sources`](https://code.claude.com/docs/fr/cli-reference) dans la CLI ou [`settingSources`](https://code.claude.com/docs/fr/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) dans l'Agent SDK, Claude Code ignore ses entrées `sandbox.filesystem`, ses règles de permission `Edit` et ses règles de refus `Read` lors de la construction de la configuration du sandbox. Nécessite Claude Code v2.1.246 ou une version ultérieure.283Si vous excluez une source avec [`--setting-sources`](https://code.claude.com/docs/fr/cli-reference) dans la CLI ou [`settingSources`](https://code.claude.com/docs/fr/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) dans l'Agent SDK, Claude Code ignore ses entrées `sandbox.filesystem`, ses règles de permission `Edit` et ses règles de refus `Read` lors de la construction de la configuration du sandbox. Nécessite Claude Code v2.1.246 ou une version ultérieure.


376 378 

377Comme la désactivation de l'isolation du système de fichiers élargit ce que les commandes en sandbox peuvent faire, Claude Code ne prend en compte `filesystem.disabled` qu'à partir des sources de paramètres suivantes :379Comme la désactivation de l'isolation du système de fichiers élargit ce que les commandes en sandbox peuvent faire, Claude Code ne prend en compte `filesystem.disabled` qu'à partir des sources de paramètres suivantes :

378 380 

379* Les paramètres utilisateur, les paramètres gérés et le flag CLI `--settings` peuvent le définir. Les paramètres de projet dans `.claude/settings.json` et `.claude/settings.local.json` ne le peuvent pas, de sorte qu'un projet récupéré ne peut pas désactiver l'isolation du système de fichiers.381* Les paramètres utilisateur, les paramètres gérés et le flag CLI `--settings` peuvent le définir. Les paramètres de projet dans `.claude/settings.json` et `.claude/settings.local.json` ne peuvent pas le définir.

380* Lorsque les paramètres gérés configurent `sandbox.filesystem` de quelque manière que ce soit, ou listent une entrée `sandbox.credentials.files` avec `"mode": "deny"`, seuls les paramètres gérés peuvent définir la clé. Cela empêche les développeurs de désactiver l'isolation du système de fichiers dans un tel déploiement ; pour la désactiver pour tout le monde, définissez `"disabled": true` dans les paramètres gérés.382* Lorsque les paramètres gérés configurent `sandbox.filesystem` de quelque manière que ce soit, ou listent une entrée `sandbox.credentials.files` avec `"mode": "deny"`, seuls les paramètres gérés peuvent définir la clé. Pour désactiver l'isolation du système de fichiers pour tout le monde, définissez `"disabled": true` dans les paramètres gérés.

381* Lorsque [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/fr/env-vars) est défini, Claude Code ignore `filesystem.disabled` quelle que soit la source, y compris les paramètres gérés, et maintient l'isolation du système de fichiers activée.383* Lorsque [`CLAUDE_CODE_SUBPROCESS_ENV_SCRUB`](https://code.claude.com/docs/fr/env-vars) est défini, Claude Code ignore `filesystem.disabled` quelle que soit la source, y compris les paramètres gérés.

382 384 

383Une entrée `mask` [valide](https://code.claude.com/docs/fr/settings-reference.md#invalid-credential-entries-in-managed-settings) ne verrouille pas la clé, même lorsque Claude Code [se rabat sur `deny`](#mask-credential-files) pour cette entrée au démarrage. Indiquez un chemin qui ne peut pas être masqué, comme un répertoire d'identifiants, sous forme d'entrée `deny` explicite dans les paramètres gérés, ce qui verrouille la clé.385Une entrée `mask` [valide](https://code.claude.com/docs/fr/settings-reference.md#invalid-credential-entries-in-managed-settings) ne verrouille pas la clé, même lorsque Claude Code [se rabat sur `deny`](#mask-credential-files) pour cette entrée au démarrage. Indiquez un chemin qui ne peut pas être masqué, comme un répertoire d'identifiants, sous forme d'entrée `deny` explicite dans les paramètres gérés, ce qui verrouille la clé.

384 386 

Details

117 117 

118* **Écouteur** : l'écouteur est un proxy avant sur `127.0.0.1`. Le runner démarre l'écouteur avant de s'enregistrer auprès du plan de contrôle, et quitte au démarrage si l'écouteur ne peut pas démarrer.118* **Écouteur** : l'écouteur est un proxy avant sur `127.0.0.1`. Le runner démarre l'écouteur avant de s'enregistrer auprès du plan de contrôle, et quitte au démarrage si l'écouteur ne peut pas démarrer.

119* **Variables de proxy** : le runner réécrit lequel de `HTTPS_PROXY` et `HTTP_PROXY` vous avez défini pour qu'il pointe vers l'écouteur. Cette valeur réécrite atteint le runner lui-même, ses hooks de cycle de vie, et chaque session qu'il exécute.119* **Variables de proxy** : le runner réécrit lequel de `HTTPS_PROXY` et `HTTP_PROXY` vous avez défini pour qu'il pointe vers l'écouteur. Cette valeur réécrite atteint le runner lui-même, ses hooks de cycle de vie, et chaque session qu'il exécute.

120* **Rotation de jeton** : un jeton pivoté prend effet sans redémarrage. Pour chaque connexion que l'écouteur ouvre vers votre proxy, le runner exécute votre commande ou relit votre fichier et ajoute le résultat comme en-tête.120* **Rotation de jeton** : lorsque vous faites tourner le jeton, les nouvelles connexions utilisent le nouveau jeton sans redémarrage du runner. Pour chaque connexion que l'écouteur ouvre vers votre proxy, le runner exécute à nouveau votre commande ou relit votre fichier et ajoute le résultat comme en-tête. Une connexion déjà ouverte reste utilisable avec l'ancien jeton jusqu'à ce que votre proxy la ferme ou que le runner quitte.

121* **Environnement de session** : une session atteint votre proxy uniquement via l'écouteur. Dans l'environnement de chaque session, le runner supprime `ALL_PROXY`, supprime toute orthographe de `HTTPS_PROXY` ou `HTTP_PROXY` que vous n'avez pas définie, et épingle `NO_PROXY` à la valeur du runner.121* **Environnement de session** : une session atteint votre proxy uniquement via l'écouteur. Dans l'environnement de chaque session, le runner supprime `ALL_PROXY`, supprime toute orthographe de `HTTPS_PROXY` ou `HTTP_PROXY` que vous n'avez pas définie, et épingle `NO_PROXY` à la valeur du runner.

122* **Journaux** : le runner ne journalise jamais la valeur de l'en-tête.122* **Journaux** : le runner ne journalise jamais la valeur de l'en-tête.

123 123 


840 840 

841### Certaines sessions ne comptent pas comme inactives841### Certaines sessions ne comptent pas comme inactives

842 842 

843Une session contenant une tâche en arrière-plan qui continue de s'exécuter ne compte pas comme inactive, donc `--release-idle-session-min` ne libérera pas l'emplacement de cette session. Une session qui attend une approbation demandée de l'intérieur d'un appel d'outil en cours d'exécution ne compte pas non plus comme inactive. Définissez `--kill-session-after-min` à côté comme arrêt dur.843Tant qu'une session ne compte pas comme inactive, elle conserve son emplacement au-delà de la limite `--release-idle-session-min` ; définissez donc également `--kill-session-after-min`.

844 

845Une session compte comme inactive après la fin de son tour ou pendant que son tour attend son utilisateur, mais pas dans des cas tels que les suivants :

846 

847* Son tour s'est terminé et elle n'attend pas son utilisateur, mais une tâche en arrière-plan continue de s'exécuter

848* Son tour attend une approbation qu'un outil non MCP demande pendant que cet outil s'exécute

849* Son tour attend une [requête `elicitation/create`](https://code.claude.com/docs/fr/mcp#respond-to-mcp-elicitation-requests) d'un serveur MCP

844 850 

845`--kill-session-after-min` est un arrêt dur pour les sessions qui s'échappent. Sur un runner en v2.1.260 ou ultérieur, une session qui atteint la limite n'est pas terminée immédiatement. Le runner lui donne une fenêtre de grâce, 15 minutes par défaut, que vous pouvez modifier avec [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](https://code.claude.com/docs/fr/self-hosted-environments-reference#environment-variable-only-settings) :851`--kill-session-after-min` est un arrêt dur pour les sessions qui s'échappent. Sur un runner en v2.1.260 ou ultérieur, une session qui atteint la limite n'est pas terminée immédiatement. Le runner lui donne une fenêtre de grâce, 15 minutes par défaut, que vous pouvez modifier avec [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](https://code.claude.com/docs/fr/self-hosted-environments-reference#environment-variable-only-settings) :

846 852 

847* Si la session attend son utilisateur, le runner la libère. Si son tour s'est terminé et elle ne contient que des tâches de fond, le runner attend jusqu'à 60 secondes pour que ces tâches se terminent, puis la libère. La session reprend quand son utilisateur envoie son prochain message.853* Si la session attend son utilisateur, le runner la libère. Si son tour s'est terminé et elle ne contient que des tâches de fond, le runner attend jusqu'à 60 secondes pour que ces tâches se terminent, puis la libère. La session reprend quand son utilisateur envoie son prochain message.

848* Si un tour est toujours en cours d'exécution, le runner attend que le tour se termine, ou que la session attende ensuite son utilisateur, puis la libère.854* Si un tour est toujours en cours d'exécution, le runner attend que le tour se termine, ou que la session attende ensuite son utilisateur, puis la libère.

849* Si la session est toujours sur le runner quand la fenêtre de grâce se termine, le runner la termine, et tout travail du tour en cours d'exécution est perdu. Un tour attendant une approbation demandée de l'intérieur d'un appel d'outil en cours d'exécution est une façon pour une session de dépasser la fenêtre.855* Si la session est toujours sur le runner quand la fenêtre de grâce se termine, le runner la termine, et tout travail du tour en cours d'exécution est perdu. Par exemple, une session peut rester sur le runner jusque-là si son tour attend une approbation qu'un outil non MCP demande pendant que cet outil s'exécute. Une session peut également y rester pendant que son tour attend une requête `elicitation/create` d'un serveur MCP.

850 856 

851Une session libérée reprend à partir d'un clone frais, donc le travail qu'elle n'avait pas poussé est parti de toute façon ; consultez [Les sessions reprises perdent le travail non poussé](#resumed-sessions-lose-unpushed-work). Avant v2.1.260, le runner terminait chaque session à la limite, après avoir attendu au maximum la fenêtre de grâce pour qu'un tour en cours d'exécution se termine.857Une session libérée reprend à partir d'un clone frais, donc le travail qu'elle n'avait pas poussé est parti de toute façon ; consultez [Les sessions reprises perdent le travail non poussé](#resumed-sessions-lose-unpushed-work). Avant v2.1.260, le runner terminait chaque session à la limite, après avoir attendu au maximum la fenêtre de grâce pour qu'un tour en cours d'exécution se termine.

852 858 

Details

252 252 

253Toute autre clé du bloc `env` en cache s'applique au démarrage. Une fois que le serveur confirme la charge utile, et que vous l'approuvez si elle nécessite une [approbation de sécurité](#security-approval-dialogs), les variables retenues s'appliquent pour le reste de la session.253Toute autre clé du bloc `env` en cache s'applique au démarrage. Une fois que le serveur confirme la charge utile, et que vous l'approuvez si elle nécessite une [approbation de sécurité](#security-approval-dialogs), les variables retenues s'appliquent pour le reste de la session.

254 254 

255Si votre organisation a besoin d'un proxy pour atteindre `api.anthropic.com`, la rétention affecte uniquement le bloc `env` livré par le serveur lui-même : un proxy défini dans un bloc `env` [géré par le point de terminaison](https://code.claude.com/docs/fr/managed-settings.md#delivery-mechanisms) via MDM ou `managed-settings.json`, dans l'environnement shell, ou dans les [paramètres utilisateur](https://code.claude.com/docs/fr/settings.md#where-settings-live) atteint la récupération des paramètres. La source gérée par le point de terminaison nécessite Claude Code v2.1.223 ou version ultérieure : la valeur de proxy gérée par le serveur en cache est retenue jusqu'à ce que la récupération la confirme, de sorte que la valeur gérée par le point de terminaison remplit par clé et atteint la récupération elle-même. Avant v2.1.223, utilisez l'environnement shell ou les paramètres utilisateur afin que le proxy s'applique aux côtés d'une charge utile de serveur en cache. Le premier lancement n'a pas de cache, donc une source gérée par le point de terminaison, l'environnement shell, ou les paramètres utilisateur est toujours requis pour la récupération initiale.255Si la récupération nécessite un proxy, définissez `HTTPS_PROXY` dans l'un des emplacements suivants :

256 

257* Un bloc `env` [géré par l'endpoint](https://code.claude.com/docs/fr/managed-settings.md#delivery-mechanisms) via MDM ou `managed-settings.json`. Cette source nécessite Claude Code v2.1.223 ou version ultérieure. Avant v2.1.223, utilisez l'environnement shell ou les paramètres utilisateur afin que le proxy [s'applique aux côtés d'une charge utile de serveur en cache](#per-key-exceptions-across-managed-sources).

258* L'environnement shell

259* Les [paramètres utilisateur](https://code.claude.com/docs/fr/settings.md#where-settings-live)

260 

261Définissez `HTTPS_PROXY` même si `ALL_PROXY` désigne déjà le proxy.

256 262 

257Claude Code applique la plupart des mises à jour des paramètres aux sessions en cours sans redémarrage. Certaines mises à jour s'appliquent uniquement au prochain lancement, y compris la configuration de l'exportateur OpenTelemetry, la clé `model`, et la suppression d'une variable du bloc `env`.263Claude Code applique la plupart des mises à jour des paramètres aux sessions en cours sans redémarrage. Certaines mises à jour s'appliquent uniquement au prochain lancement, y compris la configuration de l'exportateur OpenTelemetry, la clé `model`, et la suppression d'une variable du bloc `env`.

258 264 

settings.md +1 −1

Details

177 177 

178Claude Code surveille vos fichiers de paramètres et les recharge quand ils changent, donc il applique la plupart des modifications à la session en cours sans redémarrage, y compris les modifications à `permissions`, `hooks`, et les assistants d'identifiants comme `apiKeyHelper`. Claude Code charge aussi un fichier de paramètres que vous créez en session si son répertoire existait quand la session a commencé. Pour le dossier `.claude/` du projet, il charge le fichier même quand vous créez le dossier dans la même session.178Claude Code surveille vos fichiers de paramètres et les recharge quand ils changent, donc il applique la plupart des modifications à la session en cours sans redémarrage, y compris les modifications à `permissions`, `hooks`, et les assistants d'identifiants comme `apiKeyHelper`. Claude Code charge aussi un fichier de paramètres que vous créez en session si son répertoire existait quand la session a commencé. Pour le dossier `.claude/` du projet, il charge le fichier même quand vous créez le dossier dans la même session.

179 179 

180Le rechargement couvre les paramètres utilisateur, projet, locaux et gérés, et Claude Code exécute le [hook `ConfigChange`](https://code.claude.com/docs/fr/hooks#configchange) pour chaque changement de fichier de paramètres qu'il détecte, pas pour les paramètres gérés qui arrivent de MDM ou de la console claude.ai. Les paramètres gérés qui arrivent via MDM ou de la console claude.ai atteignent une session en cours selon un calendrier plutôt que sur enregistrement ; le [tableau de livraison](https://code.claude.com/docs/fr/managed-settings.md#choose-a-delivery-mechanism) le donne par source.180Le rechargement couvre les paramètres utilisateur, projet, locaux et gérés. Claude Code exécute le [hook `ConfigChange`](https://code.claude.com/docs/fr/hooks#configchange) pour les modifications directes des fichiers de paramètres, pas pour les paramètres gérés qui arrivent de MDM ou de la console claude.ai. Les paramètres gérés qui arrivent via MDM ou de la console claude.ai atteignent une session en cours selon un calendrier plutôt que sur enregistrement ; le [tableau de livraison](https://code.claude.com/docs/fr/managed-settings.md#choose-a-delivery-mechanism) le donne par source.

181 181 

182Claude Code lit certaines clés une seule fois, au démarrage de la session, donc une modification à l'une d'elles n'atteint pas la session en cours. Les clés côté administrateur qui attendent aussi un redémarrage, comme `requiredMinimumVersion`, sont énumérées sous [où et quand une politique s'applique](https://code.claude.com/docs/fr/managed-settings.md#where-and-when-a-policy-applies). Celles que vous êtes le plus susceptible de modifier en session :182Claude Code lit certaines clés une seule fois, au démarrage de la session, donc une modification à l'une d'elles n'atteint pas la session en cours. Les clés côté administrateur qui attendent aussi un redémarrage, comme `requiredMinimumVersion`, sont énumérées sous [où et quand une politique s'applique](https://code.claude.com/docs/fr/managed-settings.md#where-and-when-a-policy-applies). Celles que vous êtes le plus susceptible de modifier en session :

183 183 

Details

235| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Bloquer les [serveurs MCP](https://code.claude.com/docs/fr/mcp.md) provenant des sources utilisateur et projet | Plugins et skills | Géré |235| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Bloquer les [serveurs MCP](https://code.claude.com/docs/fr/mcp.md) provenant des sources utilisateur et projet | Plugins et skills | Géré |

236| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Bloquer les [skills](https://code.claude.com/docs/fr/skills.md) provenant des sources utilisateur et projet | Plugins et skills | Géré |236| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Bloquer les [skills](https://code.claude.com/docs/fr/skills.md) provenant des sources utilisateur et projet | Plugins et skills | Géré |

237| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Choisir la [durée de vie du cache de prompts](https://code.claude.com/docs/fr/prompt-caching.md#cache-lifetime) pour les sous-agents et les autres requêtes hors de la conversation principale | Modèle et réponses | Tout fichier |237| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Choisir la [durée de vie du cache de prompts](https://code.claude.com/docs/fr/prompt-caching.md#cache-lifetime) pour les sous-agents et les autres requêtes hors de la conversation principale | Modèle et réponses | Tout fichier |

238| [`subagentStatusLine`](#subagentstatusline) | Réécrire les lignes de l'affichage des tâches des [sous-agents](https://code.claude.com/docs/fr/sub-agents.md) avec votre propre commande | Interface et terminal | Tout fichier |

239| [`switchModelsOnFlag`](#switchmodelsonflag) | Changer de modèle automatiquement ou faire une pause lorsqu'un [classifieur de sécurité](https://code.claude.com/docs/fr/model-config.md#ask-before-switching) signale une requête | Modèle et réponses | Tout fichier |238| [`switchModelsOnFlag`](#switchmodelsonflag) | Changer de modèle automatiquement ou faire une pause lorsqu'un [classifieur de sécurité](https://code.claude.com/docs/fr/model-config.md#ask-before-switching) signale une requête | Modèle et réponses | Tout fichier |

240| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Ne plus charger les [plugins activés sur votre compte claude.ai](https://code.claude.com/docs/fr/plugins/loading.md#synced-plugins) et ne plus en télécharger de nouveaux | Plugins et skills | Utilisateur, local ou géré |239| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Ne plus charger les [plugins activés sur votre compte claude.ai](https://code.claude.com/docs/fr/plugins/loading.md#synced-plugins) et ne plus en télécharger de nouveaux | Plugins et skills | Utilisateur, local ou géré |

241| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Ne plus charger les [skills activés sur votre compte claude.ai](https://code.claude.com/docs/fr/skills.md#how-synced-skills-behave) et ne plus en télécharger de nouveaux | Plugins et skills | Utilisateur, local ou géré |240| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Ne plus charger les [skills activés sur votre compte claude.ai](https://code.claude.com/docs/fr/skills.md#how-synced-skills-behave) et ne plus en télécharger de nouveaux | Plugins et skills | Utilisateur, local ou géré |


885}884}

886```885```

887 886 

888Consultez [Router toutes les commandes shell via le classificateur](https://code.claude.com/docs/fr/auto-mode-config.md#route-all-shell-commands-through-the-classifier).887Cette clé fonctionne différemment dans une session Code Mode. Consultez [Router toutes les commandes shell via le classificateur](https://code.claude.com/docs/fr/auto-mode-config.md#route-all-shell-commands-through-the-classifier).

889 888 

890### `disableAutoMode`889### `disableAutoMode`

891 890 


1533}1532}

1534```1533```

1535 1534 

1535Sous Linux et WSL2, une entrée pour un chemin qui n'existe pas encore n'a aucun effet, créez donc d'abord le chemin.

1536 

1536Claude Code fusionne les entrées `allowWrite` et les chemins de vos règles de permission `Edit(...)` allow dans les portées de paramètres que la session charge, en laissant de côté ceux des paramètres du dépôt tant que [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) est activé. Les [verrous de dépôt](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox) peuvent également laisser de côté les entrées d'un dépôt. Une entrée `allowWrite` ne peut pas lever un [chemin protégé](https://code.claude.com/docs/fr/sandboxing.md#protected-paths).1537Claude Code fusionne les entrées `allowWrite` et les chemins de vos règles de permission `Edit(...)` allow dans les portées de paramètres que la session charge, en laissant de côté ceux des paramètres du dépôt tant que [`permissions.blockReadsOutsideWorkingDirectories`](#sandboxed-commands-under-the-block) est activé. Les [verrous de dépôt](https://code.claude.com/docs/fr/sandboxing.md#repository-settings-under-an-admin-required-sandbox) peuvent également laisser de côté les entrées d'un dépôt. Une entrée `allowWrite` ne peut pas lever un [chemin protégé](https://code.claude.com/docs/fr/sandboxing.md#protected-paths).

1537 1538 

1538### `sandbox.filesystem.denyWrite`1539### `sandbox.filesystem.denyWrite`


2453 2454 

2454#### Interaction des valeurs `env` avec votre shell2455#### Interaction des valeurs `env` avec votre shell

2455 2456 

2456* Une valeur définie ici remplace la même variable exportée dans votre shell, et lorsque plusieurs fichiers de paramètres définissent une variable, c'est celui ayant la [priorité la plus élevée](https://code.claude.com/docs/fr/settings.md#settings-precedence) qui s'applique. [Variables que Claude Code ignore dans `env`](#variables-claude-code-ignores-in-env) répertorie les exceptions pour les paramètres de projet et locaux.2457* Une valeur définie ici remplace la même variable exportée dans votre shell, et lorsque plusieurs fichiers de paramètres définissent une variable, c'est celui ayant la [priorité la plus élevée](https://code.claude.com/docs/fr/settings.md#settings-precedence) qui s'applique. [Variables que Claude Code ignore dans `env`](#variables-claude-code-ignores-in-env) répertorie les exceptions.

2457* Lorsque l'application Claude Desktop ou un runner d'[environnement auto-hébergé](https://code.claude.com/docs/fr/self-hosted-environments) démarre la session, c'est l'environnement de lancement qu'il construit qui a priorité : Claude Code ignore une valeur `env` provenant de n'importe quel fichier de paramètres pour une variable que l'environnement de lancement définit déjà. Le [log de débogage](https://code.claude.com/docs/fr/debug-your-config.md) nomme chaque variable ignorée.2458* Lorsque l'application Claude Desktop ou un runner d'[environnement auto-hébergé](https://code.claude.com/docs/fr/self-hosted-environments) démarre la session, c'est l'environnement de lancement qu'il construit qui a priorité : Claude Code ignore une valeur `env` provenant de n'importe quel fichier de paramètres pour une variable que l'environnement de lancement définit déjà. Le [log de débogage](https://code.claude.com/docs/fr/debug-your-config.md) nomme chaque variable ignorée.

2458* Pour annuler un export du shell, définissez la variable sur `""`. Claude Code traite une valeur vide comme non définie pour la sélection du fournisseur, et les sous-processus héritent de la valeur vide.2459* Pour annuler un export du shell, définissez la variable sur `""`. Claude Code traite une valeur vide comme non définie pour la sélection du fournisseur, et les sous-processus héritent de la valeur vide.

2459* `NO_COLOR` et `FORCE_COLOR` définies ici n'atteignent que les sous-processus. Pour modifier les couleurs de l'interface de Claude Code elle-même, définissez-les dans votre shell avant de lancer `claude`.2460* `NO_COLOR` et `FORCE_COLOR` définies ici n'atteignent que les sous-processus. Pour modifier les couleurs de l'interface de Claude Code elle-même, définissez-les dans votre shell avant de lancer `claude`.


2494 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/fr/env-vars#variables), qui empêche Claude Code de développer les mentions `@` de fichiers et de répertoires.2495 * [`CLAUDE_CODE_DISABLE_FILE_MENTIONS`](https://code.claude.com/docs/fr/env-vars#variables), qui empêche Claude Code de développer les mentions `@` de fichiers et de répertoires.

2495 2496 

2496 Avant v2.1.251, les paramètres de projet et locaux pouvaient également définir les variables de cette liste qui choisissent l'endroit où Claude Code écrit ses fichiers ou qui exportent le contenu de la session, à l'exception de `HOME` et `XDG_CONFIG_HOME`. Avant v2.1.290, ils pouvaient également définir les variables de minuteur de boîte de dialogue et `CLAUDE_CODE_DISABLE_ATTACHMENTS`.2497 Avant v2.1.251, les paramètres de projet et locaux pouvaient également définir les variables de cette liste qui choisissent l'endroit où Claude Code écrit ses fichiers ou qui exportent le contenu de la session, à l'exception de `HOME` et `XDG_CONFIG_HOME`. Avant v2.1.290, ils pouvaient également définir les variables de minuteur de boîte de dialogue et `CLAUDE_CODE_DISABLE_ATTACHMENTS`.

2498* Vous pouvez activer [Code Mode](https://code.claude.com/docs/fr/code-mode.md) avec [`CLAUDE_CODE_EXPERIMENTAL_CODE_MODE`](https://code.claude.com/docs/fr/env-vars#variables) depuis votre shell, vos paramètres utilisateur ou un fichier `--settings`, mais pas depuis les paramètres gérés, de projet ou locaux. Avec un `0` dans l'une des trois premières sources ou dans les paramètres gérés, Code Mode reste désactivé, quoi que vous définissiez ailleurs. Lorsque les paramètres gérés contiennent un `1`, définissez votre propre `1` dans vos paramètres utilisateur, car un `1` dans votre shell est ignoré

2497* Les variables d'identité propres aux environnements d'hébergement de Claude Code, comme `CLAUDE_CODE_REMOTE` et `CLAUDE_CODE_ACCOUNT_UUID`, sont ignorées depuis tous les fichiers.2499* Les variables d'identité propres aux environnements d'hébergement de Claude Code, comme `CLAUDE_CODE_REMOTE` et `CLAUDE_CODE_ACCOUNT_UUID`, sont ignorées depuis tous les fichiers.

2498* [`CLAUDE_CODE_MESSAGING_SOCKET` et `CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/fr/env-vars#variables), que Claude Code exporte lui-même, sont ignorées depuis tous les fichiers. L'ignorance de la variable de socket nécessite Claude Code v2.1.224 ou une version ultérieure, et celle du jeton nécessite v2.1.228 ou une version ultérieure.2500* [`CLAUDE_CODE_MESSAGING_SOCKET` et `CLAUDE_CODE_MESSAGING_TOKEN`](https://code.claude.com/docs/fr/env-vars#variables), que Claude Code exporte lui-même, sont ignorées depuis tous les fichiers. L'ignorance de la variable de socket nécessite Claude Code v2.1.224 ou une version ultérieure, et celle du jeton nécessite v2.1.228 ou une version ultérieure.

2499* [`CLAUDE_CODE_PROJECT_DIR_NAME`](https://code.claude.com/docs/fr/sessions#name-the-project-directory-yourself), que Claude Code lit uniquement depuis l'environnement de lancement, est ignorée depuis tous les fichiers ; nécessite v2.1.234 ou une version ultérieure.2501* [`CLAUDE_CODE_PROJECT_DIR_NAME`](https://code.claude.com/docs/fr/sessions#name-the-project-directory-yourself), que Claude Code lit uniquement depuis l'environnement de lancement, est ignorée depuis tous les fichiers ; nécessite v2.1.234 ou une version ultérieure.


3173 3175 

3174L'exemple a besoin de [`jq`](https://jqlang.org/) installé et s'exécute dans un shell. Pour les équivalents PowerShell et Git Bash, voir [Configuration Windows](https://code.claude.com/docs/fr/statusline.md#windows-configuration) ; pour la configuration complète, voir [Configurer manuellement une ligne d'état](https://code.claude.com/docs/fr/statusline.md#manually-configure-a-status-line).3176L'exemple a besoin de [`jq`](https://jqlang.org/) installé et s'exécute dans un shell. Pour les équivalents PowerShell et Git Bash, voir [Configuration Windows](https://code.claude.com/docs/fr/statusline.md#windows-configuration) ; pour la configuration complète, voir [Configurer manuellement une ligne d'état](https://code.claude.com/docs/fr/statusline.md#manually-configure-a-status-line).

3175 3177 

3176### `subagentStatusLine`

3177 

3178Lorsque Claude exécute des [sous-agents](https://code.claude.com/docs/fr/sub-agents.md), Claude Code les liste dans un affichage de tâche sous l'invite, une ligne par sous-agent affichant `name · description · token count`. Cette clé vous permet d'exécuter votre propre commande pour réécrire ces lignes, par exemple pour afficher l'utilisation du contexte de chaque sous-agent en pourcentage. À chaque actualisation, Claude Code envoie les lignes visibles comme un objet JSON sur stdin, avec un tableau `tasks` portant l'`id`, `name`, `status`, `model`, `tokenCount`, et plus de chaque sous-agent, et remplace la ligne pour chaque `id` que vous écrivez en retour comme une ligne `{"id", "content"}`. Les lignes que vous n'écrivez pas en retour conservent le rendu par défaut.

3179 

3180* **Portée** : [`N'importe quel fichier`](#scopes). Lorsque [`allowManagedHooksOnly`](#allowmanagedhooksonly) est activé, ou [`disableAllHooks`](#disableallhooks) est défini en dehors des paramètres gérés, seule la valeur des paramètres gérés s'exécute.

3181* **Type** : objet avec `type` défini à `"command"` et une chaîne de caractères `command`

3182* **Défaut** : non défini, donc Claude Code rend les lignes par défaut

3183 

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

3185{

3186 "subagentStatusLine": {

3187 "type": "command",

3188 "command": "jq -c '.tasks[] | {id, content: \"\\(.name): \\(.tokenCount) tokens\"}'"

3189 }

3190}

3191```

3192 

3193Voir [Lignes d'état des sous-agents](https://code.claude.com/docs/fr/statusline.md#subagent-status-lines).

3194 

3195### `syntaxHighlightingDisabled`3178### `syntaxHighlightingDisabled`

3196 3179 

3197Claude Code colore le code selon le langage dans les diffs, les blocs de code et les aperçus de fichiers qu'il affiche dans le terminal, avec son surligneur intégré. Définissez cette clé à `true` pour les afficher en texte brut à la place, par exemple si les couleurs entrent en conflit avec le thème de votre terminal ou ralentissent un lecteur d'écran.3180Claude Code colore le code selon le langage dans les diffs, les blocs de code et les aperçus de fichiers qu'il affiche dans le terminal, avec son surligneur intégré. Définissez cette clé à `true` pour les afficher en texte brut à la place, par exemple si les couleurs entrent en conflit avec le thème de votre terminal ou ralentissent un lecteur d'écran.


3648* **Tout le reste est bloqué** : les hooks utilisateur, projet et local, les hooks et mods d'autres plugins installés, et les hooks déclarés dans le frontmatter de l'agent. Les [mods intégrés à Claude Code](https://code.claude.com/docs/fr/plugins/mods/overview.md#mods-built-into-claude-code) continuent de s'exécuter. Pour bloquer uniquement les mods des utilisateurs, définissez [`allowManagedModsOnly`](https://code.claude.com/docs/fr/plugins/mods/admin#set-options-on-the-built-in-guard) à la place.3631* **Tout le reste est bloqué** : les hooks utilisateur, projet et local, les hooks et mods d'autres plugins installés, et les hooks déclarés dans le frontmatter de l'agent. Les [mods intégrés à Claude Code](https://code.claude.com/docs/fr/plugins/mods/overview.md#mods-built-into-claude-code) continuent de s'exécuter. Pour bloquer uniquement les mods des utilisateurs, définissez [`allowManagedModsOnly`](https://code.claude.com/docs/fr/plugins/mods/admin#set-options-on-the-built-in-guard) à la place.

3649* **Les plugins sourced par commande sont désactivés** : Claude Code désactive également les plugins avec une [`command` source](https://code.claude.com/docs/fr/plugins/marketplace-reference#command-plugin-source), y compris les plugins force-enabled dans les `enabledPlugins` gérés, sauf si vous définissez [`disableCommandPluginSources`](#disablecommandpluginsources) explicitement à `false`3632* **Les plugins sourced par commande sont désactivés** : Claude Code désactive également les plugins avec une [`command` source](https://code.claude.com/docs/fr/plugins/marketplace-reference#command-plugin-source), y compris les plugins force-enabled dans les `enabledPlugins` gérés, sauf si vous définissez [`disableCommandPluginSources`](#disablecommandpluginsources) explicitement à `false`

3650* **Les commandes `headersHelper` de la marketplace sont bloquées** : Claude Code bloque également les commandes [`headersHelper`](https://code.claude.com/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) de la marketplace sauf si [`disableCommandPluginSources`](#disablecommandpluginsources) est explicitement défini à `false`, sauf pour une marketplace que les paramètres gérés eux-mêmes déclarent. Nécessite Claude Code v2.1.238 ou ultérieur3633* **Les commandes `headersHelper` de la marketplace sont bloquées** : Claude Code bloque également les commandes [`headersHelper`](https://code.claude.com/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) de la marketplace sauf si [`disableCommandPluginSources`](#disablecommandpluginsources) est explicitement défini à `false`, sauf pour une marketplace que les paramètres gérés eux-mêmes déclarent. Nécessite Claude Code v2.1.238 ou ultérieur

3651* **La barre de statut et la suggestion de fichier se limitent aux paramètres gérés** : Claude Code lit [`statusLine`](https://code.claude.com/docs/fr/statusline), [`fileSuggestion`](#filesuggestion) et [`subagentStatusLine`](https://code.claude.com/docs/fr/statusline#subagent-status-lines) uniquement à partir des paramètres gérés, en suivant les [portes de barre de statut et de suggestion de fichier](#status-line-and-file-suggestion-gates)3634* **La barre de statut et la suggestion de fichier se limitent aux paramètres gérés** : Claude Code lit [`statusLine`](https://code.claude.com/docs/fr/statusline) et [`fileSuggestion`](#filesuggestion) uniquement à partir des paramètres gérés, en suivant les [portes de barre de statut et de suggestion de fichier](#status-line-and-file-suggestion-gates)

3652 3635 

3653La commande [`/goal`](https://code.claude.com/docs/fr/goal) ne peut pas s'exécuter tant que cette clé est définie, car elle dépend des hooks.3636La commande [`/goal`](https://code.claude.com/docs/fr/goal) ne peut pas s'exécuter tant que cette clé est définie, car elle dépend des hooks.

3654 3637 


3687 3670 

3688#### Portes de barre de statut et de suggestion de fichier3671#### Portes de barre de statut et de suggestion de fichier

3689 3672 

3690Claude Code prend deux décisions pour `statusLine`, `fileSuggestion` et `subagentStatusLine`, dans cet ordre :3673Claude Code prend deux décisions pour `statusLine` et `fileSuggestion`, dans cet ordre :

3691 3674 

3692* **Désactivé entièrement** : lorsque les paramètres gérés définissent `disableAllHooks`, ou lorsque le dossier n'est pas approuvé selon la même [règle de confiance d'espace de travail que les hooks dans les fichiers de paramètres](https://code.claude.com/docs/fr/permissions.md#what-runs-before-you-trust-a-folder)3675* **Désactivé entièrement** : lorsque les paramètres gérés définissent `disableAllHooks`, ou lorsque le dossier n'est pas approuvé selon la même [règle de confiance d'espace de travail que les hooks dans les fichiers de paramètres](https://code.claude.com/docs/fr/permissions.md#what-runs-before-you-trust-a-folder)

3693* **Limité aux paramètres gérés** : lorsque [`allowManagedHooksOnly`](#allowmanagedhooksonly) est défini, lorsque `disableAllHooks` est `true` en dehors des paramètres gérés après l'application de la [priorité des paramètres](https://code.claude.com/docs/fr/hooks.md#disable-or-remove-hooks), ou lorsque vous démarrez Claude Code avec `--safe-mode`3676* **Limité aux paramètres gérés** : lorsque [`allowManagedHooksOnly`](#allowmanagedhooksonly) est défini, lorsque `disableAllHooks` est `true` en dehors des paramètres gérés après l'application de la [priorité des paramètres](https://code.claude.com/docs/fr/hooks.md#disable-or-remove-hooks), ou lorsque vous démarrez Claude Code avec `--safe-mode`


4659 4642 

4660* **Scope** : [`Any file`](#scopes)4643* **Scope** : [`Any file`](#scopes)

4661* **Type** : string, le nom d'un agent intégré ou personnalisé4644* **Type** : string, le nom d'un agent intégré ou personnalisé

4662* **Default** : unset, de sorte que le thread principal s'exécute en tant qu'agent par défaut de Claude Code4645* **Default** : unset

4663* **Per-session overrides** : `--agent` a priorité sur cette clé pour une session4646* **Per-session overrides** : `--agent` a priorité sur cette clé pour une session

4664 4647 

4665```json settings.json theme={null}4648```json settings.json theme={null}


4668}4651}

4669```4652```

4670 4653 

4671Le propre `settings.json` d'un plugin peut également fournir cette clé ; voir [Ship default settings with your plugin](https://code.claude.com/docs/fr/plugins/components.md#default-settings).

4672 

4673### `crossSessionInbound`4654### `crossSessionInbound`

4674 4655 

4675Choisissez ce que cette session fait avec les [messages provenant de vos autres sessions Claude Code](https://code.claude.com/docs/fr/cross-session-messaging.md#control-inbound-messages). Quand aucune valeur ne s'applique, Claude Code décide par message à partir des classes de mode de permission des deux sessions.4656Choisissez ce que cette session fait avec les [messages provenant de vos autres sessions Claude Code](https://code.claude.com/docs/fr/cross-session-messaging.md#control-inbound-messages). Quand aucune valeur ne s'applique, Claude Code décide par message à partir des classes de mode de permission des deux sessions.


5207 5188 

5208* **Portée** : [`Managed`](#scopes). Une liste définie par les propres sources d'administration de la machine, les stratégies MDM et les fichiers de paramètres gérés, continue de s'appliquer lorsque les paramètres gérés par le serveur en fournissent également une : une session ne peut alors utiliser que les fournisseurs présents dans les deux listes, de sorte qu'une liste gérée par le serveur peut restreindre ce que la machine autorise, mais jamais l'élargir. La source de la machine dont le `allowedProviders` est pris en compte suit [la façon dont Claude Code combine les sources gérées](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources). Une liste fournie uniquement via les paramètres gérés par le serveur n'atteint que les sessions qui [récupèrent les paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md#platform-availability).5189* **Portée** : [`Managed`](#scopes). Une liste définie par les propres sources d'administration de la machine, les stratégies MDM et les fichiers de paramètres gérés, continue de s'appliquer lorsque les paramètres gérés par le serveur en fournissent également une : une session ne peut alors utiliser que les fournisseurs présents dans les deux listes, de sorte qu'une liste gérée par le serveur peut restreindre ce que la machine autorise, mais jamais l'élargir. La source de la machine dont le `allowedProviders` est pris en compte suit [la façon dont Claude Code combine les sources gérées](https://code.claude.com/docs/fr/managed-settings.md#how-claude-code-combines-managed-sources). Une liste fournie uniquement via les paramètres gérés par le serveur n'atteint que les sessions qui [récupèrent les paramètres gérés par le serveur](https://code.claude.com/docs/fr/server-managed-settings.md#platform-availability).

5209* **Type** : tableau de chaînes, chacune parmi :5190* **Type** : tableau de chaînes, chacune parmi :

5210 * `"anthropic"` : l'API Anthropic sur l'hôte propre d'Anthropic, via une connexion claude.ai ou Console, ou une clé API. Associez-la à [`forceLoginMethod`](#forceloginmethod) ou [`forceLoginOrgUUID`](#forceloginorguuid) pour restreindre également la connexion5191 * `"anthropic"` : l'API Anthropic sur l'hôte propre d'Anthropic, via une connexion claude.ai ou Console, ou une clé API. Associez-la à [`forceLoginMethod`](#forceloginmethod) ou [`forceLoginOrgUUID`](#forceloginorguuid) pour restreindre également la connexion. Cowork de Desktop [sur la machine de l'utilisateur](https://code.claude.com/docs/fr/managed-settings.md#where-and-when-a-policy-applies) compte comme `"anthropic"` lorsqu'il est connecté à claude.ai ; sans cette entrée dans la liste de la machine, Cowork [est refusé au démarrage](https://code.claude.com/docs/fr/errors.md#managed-settings-dont-allow-this-api-provider). Pour permettre à Cowork de démarrer, ajoutez-la, ce qui ouvre également cette liste aux sessions Anthropic directes.

5211 * `"bedrock"` : [Amazon Bedrock](https://code.claude.com/docs/fr/amazon-bedrock.md)5192 * `"bedrock"` : [Amazon Bedrock](https://code.claude.com/docs/fr/amazon-bedrock.md)

5212 * `"vertex"` : [Agent Platform de Google Cloud](https://code.claude.com/docs/fr/google-vertex-ai.md), anciennement Vertex AI5193 * `"vertex"` : [Agent Platform de Google Cloud](https://code.claude.com/docs/fr/google-vertex-ai.md), anciennement Vertex AI

5213 * `"foundry"` : [Microsoft Foundry](https://code.claude.com/docs/fr/microsoft-foundry.md)5194 * `"foundry"` : [Microsoft Foundry](https://code.claude.com/docs/fr/microsoft-foundry.md)

setup.md +6 −24

Details

118 118 

119Exécutez la [commande d'installation](#install-claude-code) à partir de PowerShell ou CMD. Vous n'avez pas besoin d'exécuter en tant qu'administrateur. L'installation de [Git for Windows](https://git-scm.com/downloads/win) est optionnelle. Elle fournit Git Bash, dont l'[outil Bash](https://code.claude.com/docs/fr/tools-reference.md#bash-tool-behavior) et l'[outil Monitor](https://code.claude.com/docs/fr/tools-reference.md#monitor-tool) ont besoin.119Exécutez la [commande d'installation](#install-claude-code) à partir de PowerShell ou CMD. Vous n'avez pas besoin d'exécuter en tant qu'administrateur. L'installation de [Git for Windows](https://git-scm.com/downloads/win) est optionnelle. Elle fournit Git Bash, dont l'[outil Bash](https://code.claude.com/docs/fr/tools-reference.md#bash-tool-behavior) et l'[outil Monitor](https://code.claude.com/docs/fr/tools-reference.md#monitor-tool) ont besoin.

120 120 

121Que vous installiez à partir de PowerShell ou CMD affecte uniquement la commande d'installation que vous exécutez. Votre invite affiche `PS C:\Users\VotreNom>` dans PowerShell et `C:\Users\VotreNom>` sans le `PS` dans CMD. Si vous êtes nouveau sur le terminal, le [guide du terminal](https://code.claude.com/docs/fr/terminal-guide#windows) vous guide à travers chaque étape.121Que vous installiez à partir de PowerShell ou CMD affecte uniquement la commande d'installation que vous exécutez. Votre invite affiche `PS C:\Users\YourName>` dans PowerShell et `C:\Users\YourName>` sans le `PS` dans CMD. Si vous êtes nouveau sur le terminal, le [guide du terminal](https://code.claude.com/docs/fr/terminal-guide#windows) vous guide à travers chaque étape.

122 122 

123Après l'installation, lancez `claude` à partir de n'importe quel terminal.123Après l'installation, lancez `claude` à partir de n'importe quel terminal.

124 124 


141 141 

142### Alpine Linux et distributions basées sur musl142### Alpine Linux et distributions basées sur musl

143 143 

144L'installation de Claude Code sur Alpine et autres distributions basées sur musl/uClibc nécessite `bash` et `curl` pour la commande d'installation, et `libgcc`, `libstdc++` et `ripgrep` à l'exécution. Alpine n'inclut pas `bash` ou `curl` par défaut, donc la commande d'installation documentée échoue avec une erreur `not found` jusqu'à ce que vous les installiez. Installez ces paquets à l'aide du gestionnaire de paquets de votre distribution, puis définissez `USE_BUILTIN_RIPGREP=0`.144Sur Alpine et les autres distributions basées sur musl, la [commande d'installation](#install-claude-code) nécessite `bash` et `curl`, et Claude Code lui-même nécessite `bash` ou `zsh`. Alpine n'inclut pas `bash` ou `curl` par défaut, donc la commande d'installation documentée échoue avec une erreur `not found` jusqu'à ce que vous les installiez.

145 145 

146Cet exemple installe les paquets requis sur Alpine :146Cet exemple installe les paquets requis sur Alpine :

147 147 

148```bash theme={null}148```bash theme={null}

149apk add bash curl libgcc libstdc++ ripgrep149apk add bash curl

150```

151 

152Sur Alpine, `ripgrep` se trouve dans le dépôt community. Si `apk` signale que le paquet est manquant, ajoutez le dépôt community à `/etc/apk/repositories`, en utilisant votre version d'Alpine :

153 

154```bash theme={null}

155echo "https://dl-cdn.alpinelinux.org/alpine/v3.22/community" >> /etc/apk/repositories

156```

157 

158Exécutez `apk update` pour actualiser l'index des paquets, et réessayez la commande `apk add`.

159 

160Ensuite, définissez `USE_BUILTIN_RIPGREP` à `0` dans votre fichier [`settings.json`](https://code.claude.com/docs/fr/settings-reference#all-settings) :

161 

162```json theme={null}

163{

164 "env": {

165 "USE_BUILTIN_RIPGREP": "0"

166 }

167}

168```150```

169 151 

170## Vérifier votre installation152## Vérifier votre installation


443> wget -O /etc/apk/keys/claude-code.rsa.pub \425> wget -O /etc/apk/keys/claude-code.rsa.pub \

444> https://downloads.claude.ai/keys/claude-code.rsa.pub426> https://downloads.claude.ai/keys/claude-code.rsa.pub

445> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories427> echo "https://downloads.claude.ai/claude-code/apk/stable" >> /etc/apk/repositories

446> apk add claude-code428> apk add bash claude-code

447> ```429> ```

448>430>

449> Pour basculer vers le canal `latest`, supprimez la ligne du dépôt `stable` et ajoutez le dépôt `latest` :431> Pour basculer vers le canal `latest`, supprimez la ligne du dépôt `stable` et ajoutez le dépôt `latest` :


463>445>

464> Si `npm --version` affiche une version commençant par `12` dans votre shell, suivez plutôt [Corriger une installation npm 12](https://code.claude.com/docs/fr/troubleshoot-install.md#fix-an-npm-12-install). N'installez pas avec `sudo`. Claude Code exécute npm sans `sudo` lorsqu'il se met à jour lui-même, donc une installation qui nécessite `sudo` ne peut pas se mettre à jour automatiquement.446> Si `npm --version` affiche une version commençant par `12` dans votre shell, suivez plutôt [Corriger une installation npm 12](https://code.claude.com/docs/fr/troubleshoot-install.md#fix-an-npm-12-install). N'installez pas avec `sudo`. Claude Code exécute npm sans `sudo` lorsqu'il se met à jour lui-même, donc une installation qui nécessite `sudo` ne peut pas se mettre à jour automatiquement.

465 447 

466Vous pouvez également installer Claude Code en tant que paquet npm global. Le paquet npm nécessite [Node.js 22 ou ultérieur](https://nodejs.org/en/download). Sur une version antérieure de Node.js, npm affiche un avertissement `EBADENGINE` lors de l'installation plutôt que d'échouer ; l'installation se termine et `claude` s'exécute toujours, car le paquet télécharge un binaire natif qui n'utilise pas votre Node.js à l'exécution.448Vous pouvez également installer Claude Code en tant que paquet npm global. Le paquet npm nécessite [Node.js 22 ou ultérieur](https://nodejs.org/en/download). Sur une version antérieure de Node.js, npm affiche par défaut un avertissement `EBADENGINE` et termine l'installation au lieu d'échouer. Le `claude` installé s'exécute toujours, car le paquet télécharge un binaire natif qui n'utilise pas votre Node.js à l'exécution.

467 449 

468```bash theme={null}450```bash theme={null}

469npm install -g @anthropic-ai/claude-code451npm install -g @anthropic-ai/claude-code@latest

470```452```

471 453 

472Le paquet npm installe le même binaire natif que l'installateur autonome. npm récupère le binaire via une dépendance optionnelle par plateforme telle que `@anthropic-ai/claude-code-darwin-arm64`, et une étape postinstallation le lie en place. Le binaire `claude` installé n'invoque pas lui-même Node.454Le paquet npm installe le même binaire natif que l'installateur autonome. npm récupère le binaire via une dépendance optionnelle par plateforme telle que `@anthropic-ai/claude-code-darwin-arm64`, et une étape postinstallation le lie en place. Le binaire `claude` installé n'invoque pas lui-même Node.

skills.md +5 −1

Details

787 787 

788Les commandes injectées ne demandent jamais la permission pendant que la compétence s'affiche. Claude Code vérifie chacune d'elles par rapport à vos [règles de permission](https://code.claude.com/docs/fr/permissions.md) en premier. Une commande qu'une règle de refus correspond abandonne l'invocation avec `Shell command permission check failed for pattern "..."`.788Les commandes injectées ne demandent jamais la permission pendant que la compétence s'affiche. Claude Code vérifie chacune d'elles par rapport à vos [règles de permission](https://code.claude.com/docs/fr/permissions.md) en premier. Une commande qu'une règle de refus correspond abandonne l'invocation avec `Shell command permission check failed for pattern "..."`.

789 789 

790En dehors du [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode), lorsque la vérification des permissions d'une commande retourne autre chose qu'une autorisation, Claude Code abandonne l'invocation avec la même erreur. Cela inclut une règle qui vous demanderait normalement. Pour empêcher une commande non appariée d'abandonner ici, pré-approuvez-la avec [`allowed-tools`](#pre-approve-tools-for-a-skill). Si votre organisation restreint les règles de permission aux paramètres gérés, voir [When only managed permission rules apply](#when-only-managed-permission-rules-apply). Les règles de refus et d'ask remplacent toujours `allowed-tools`. Voir [Manage permissions](https://code.claude.com/docs/fr/permissions.md#manage-permissions).790En dehors du [mode auto](https://code.claude.com/docs/fr/permission-modes.md#eliminate-prompts-with-auto-mode), lorsque la vérification des permissions d'une commande retourne autre chose qu'une autorisation, Claude Code abandonne l'invocation. Pour éviter qu'une commande sans règle correspondante ne provoque l'abandon, pré-approuvez-la avec [`allowed-tools`](#pre-approve-tools-for-a-skill), dans les limites suivantes :

791 

792* **Règles de refus et d'ask** : une commande qui correspond à l'une d'elles provoque toujours l'abandon. Pour trouver la règle, voir [Manage permissions](https://code.claude.com/docs/fr/permissions.md#manage-permissions).

793* **Règles gérées uniquement** : si `/status` dans la session liste le skill sous `allowed-tools ignored this session`, voir [When only managed permission rules apply](#when-only-managed-permission-rules-apply).

794* **Dossiers Git non vérifiés** : lorsqu'un fichier `HEAD` ou `.git` peut ne pas vous appartenir, Claude Code ignore `allowed-tools` pour une commande Bash qui contient `git` ou que Claude Code ne peut pas analyser. Si vous faites confiance au dossier, par exemple le worktree de votre propre dépôt bare, autorisez la commande avec [`/permissions`](https://code.claude.com/docs/fr/permissions#manage-permissions) dans la session.

791 795 

792En mode auto, une commande qui aurait autrement besoin de votre approbation n'abandonne pas l'invocation. La compétence se charge avec une instruction indiquant à Claude d'exécuter d'abord la commande, et l'appel propre de Claude passe ensuite par les [vérifications habituelles du mode auto](https://code.claude.com/docs/fr/permission-modes.md#how-the-classifier-evaluates-actions). L'invocation abandonne toujours dans une [compétence forkée](#run-skills-in-a-subagent) qui définit `agent`, et dans une session où Claude n'a pas l'[outil shell qui exécute les commandes injectées](#how-injected-commands-run).796En mode auto, une commande qui aurait autrement besoin de votre approbation n'abandonne pas l'invocation. La compétence se charge avec une instruction indiquant à Claude d'exécuter d'abord la commande, et l'appel propre de Claude passe ensuite par les [vérifications habituelles du mode auto](https://code.claude.com/docs/fr/permission-modes.md#how-the-classifier-evaluates-actions). L'invocation abandonne toujours dans une [compétence forkée](#run-skills-in-a-subagent) qui définit `agent`, et dans une session où Claude n'a pas l'[outil shell qui exécute les commandes injectées](#how-injected-commands-run).

793 797 

statusline.md +0 −40

Details

1085echo "$dirname [$model]"1085echo "$dirname [$model]"

1086```1086```

1087 1087 

1088## Barres de statut des sous-agents

1089 

1090Le paramètre `subagentStatusLine` rend un corps de ligne personnalisé pour chaque [sous-agent](https://code.claude.com/docs/fr/sub-agents.md) affiché dans le panneau d'agent sous l'invite. Utilisez-le pour remplacer la ligne par défaut `name · description · token count` par votre propre formatage.

1091 

1092```json theme={null}

1093{

1094 "subagentStatusLine": {

1095 "type": "command",

1096 "command": "~/.claude/subagent-statusline.sh"

1097 }

1098}

1099```

1100 

1101La commande s'exécute une fois par cycle d'actualisation et reçoit toutes les lignes de sous-agent visibles en tant qu'objet JSON unique sur stdin. L'entrée inclut les [champs d'entrée de hook de base](https://code.claude.com/docs/fr/hooks.md#common-input-fields), un champ `columns` avec la largeur de ligne utilisable, et un tableau `tasks` contenant une entrée par ligne, décrit dans [Champs de tâche](#task-fields).

1102 

1103Écrivez une ligne JSON sur stdout par ligne que vous voulez remplacer, sous la forme `{"id": "<task id>", "content": "<row body>"}`. La chaîne `content` est rendue telle quelle, y compris les couleurs ANSI et les hyperliens OSC 8. Omettez le `id` d'une tâche pour conserver le rendu par défaut pour cette ligne ; émettez une chaîne `content` vide pour la masquer.

1104 

1105Les mêmes portes de confiance, `disableAllHooks` et [`allowManagedHooksOnly`](https://code.claude.com/docs/fr/settings-reference#allowmanagedhooksonly) qui s'appliquent à `statusLine` s'appliquent ici. Les plugins peuvent expédier un `subagentStatusLine` par défaut dans leur [`settings.json`](https://code.claude.com/docs/fr/plugins/manifest-reference#standard-layout), mais contrairement aux hooks, les valeurs des plugins ne s'exécutent pas sous `allowManagedHooksOnly` même lorsque le plugin est forcé activé dans les paramètres gérés `enabledPlugins`.

1106 

1107### Champs de tâche

1108 

1109Chaque entrée du tableau `tasks` décrit une ligne de sous-agent avec les champs ci-dessous. Les champs marqués comme facultatifs sont omis lorsqu'ils n'ont pas de valeur ; prévoyez donc leur absence dans votre script.

1110 

1111| Champ | Type | Description |

1112| :- | :- | :- |

1113| `id` | string | Identifiant de la tâche. Renvoyez-le en tant que `id` dans la ligne que vous écrivez en retour pour cette ligne |

1114| `name` | string, facultatif | Nom par lequel le sous-agent est [désigné](https://code.claude.com/docs/fr/sub-agents.md#subagent-names), lorsqu'il en a un |

1115| `type` | string | Type de tâche : `local_agent` |

1116| `agentType` | string | Type de sous-agent sous lequel la tâche s'exécute, comme le sous-agent intégré [`Explore`](https://code.claude.com/docs/fr/sub-agents#built-in-subagents) ou un sous-agent personnalisé `code-reviewer`. Contient la même valeur que celle reçue par les hooks en tant que [`agent_type`](https://code.claude.com/docs/fr/hooks#subagentstart). Nécessite Claude Code v2.1.293 ou une version ultérieure |

1117| `status` | string | État de la tâche, comme `running`, `completed`, `failed` ou `killed` |

1118| `description` | string | Courte description de la tâche, comme celle que Claude a donnée lors du lancement du sous-agent |

1119| `label` | string | Court résumé de la progression de la tâche lorsque Claude Code en dispose, sinon le même texte que `description` |

1120| `startTime` | number | Moment où la tâche a démarré, en millisecondes depuis l'epoch Unix |

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

1122| `effort` | string ou number, facultatif | Effort de raisonnement défini pour le sous-agent dans son [frontmatter de définition](https://code.claude.com/docs/fr/sub-agents.md#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 |

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

1124| `tokenCount` | number | Nombre de tokens courant du sous-agent, la valeur affichée par la ligne par défaut |

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

1126| `cwd` | string | Répertoire de travail du sous-agent : son propre répertoire lorsqu'il s'exécute dans l'un d'eux, comme un worktree isolé, sinon le répertoire de travail de la session |

1127 

1128## Conseils1088## Conseils

1129 1089 

1130* **Tester avec une entrée fictive** : `echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh`1090* **Tester avec une entrée fictive** : `echo '{"model":{"display_name":"Opus"},"workspace":{"current_dir":"/home/user/project"},"context_window":{"used_percentage":25},"session_id":"test-session-abc"}' | ./statusline.sh`

Details

26 26 

27| Terminal | Shift+Enter pour un saut de ligne |27| Terminal | Shift+Enter pour un saut de ligne |

28| :- | :- |28| :- | :- |

29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Fonctionne sans configuration |29| Ghostty, Kitty, iTerm2, WezTerm, Warp, Windows Terminal | Fonctionne sans configuration |

30| Autres terminaux prenant en charge le protocole clavier kitty, tels que foot et Alacritty 0.16 ou version ultérieure | Fonctionne sans configuration. Nécessite Claude Code v2.1.269 ou version ultérieure |30| Autres terminaux prenant en charge le protocole clavier kitty, tels que foot et Alacritty 0.16 ou version ultérieure | Fonctionne sans configuration. Nécessite Claude Code v2.1.269 ou version ultérieure |

31| VS Code, Cursor, Devin Desktop, Alacritty antérieur à 0.16, Zed | Exécuter `/terminal-setup` une fois |31| VS Code, Cursor, Devin Desktop, Alacritty antérieur à 0.16, Zed | Exécuter `/terminal-setup` une fois |

32| gnome-terminal, IDE JetBrains tels que PyCharm et Android Studio | Non disponible ; utilisez Ctrl+J ou `\` puis Enter |32| gnome-terminal, IDE JetBrains tels que PyCharm et Android Studio | Non disponible ; utilisez Ctrl+J ou `\` puis Enter |

Details

173 173 

174Pour limiter les options de déploiement qu'une machine gérée peut utiliser, définissez [`allowedProviders`](https://code.claude.com/docs/fr/settings-reference#allowedproviders) dans les paramètres gérés. Par exemple, `["bedrock"]` autorise Amazon Bedrock et rien d'autre ; une flotte Bedrock qui active également le point de terminaison Mantle répertorie `"mantle"` également. L'entrée indique quelles variables de point de terminaison nécessitent également une épingle `env` gérée. Nécessite Claude Code v2.1.285 ou version ultérieure.174Pour limiter les options de déploiement qu'une machine gérée peut utiliser, définissez [`allowedProviders`](https://code.claude.com/docs/fr/settings-reference#allowedproviders) dans les paramètres gérés. Par exemple, `["bedrock"]` autorise Amazon Bedrock et rien d'autre ; une flotte Bedrock qui active également le point de terminaison Mantle répertorie `"mantle"` également. L'entrée indique quelles variables de point de terminaison nécessitent également une épingle `env` gérée. Nécessite Claude Code v2.1.285 ou version ultérieure.

175 175 

176> [!NOTE]

177>

178> Lorsque Desktop est connecté à claude.ai, une session Cowork sur la machine de l'utilisateur compte comme [`"anthropic"`](https://code.claude.com/docs/fr/settings-reference#allowedproviders). Si vous l'omettez de cette liste dans une politique MDM ou un fichier de paramètres gérés, cette session est refusée. Si vous l'incluez, les sessions envoyées directement à Anthropic sont également autorisées par cette liste.

179 

176### Tirer parti de MCP pour les intégrations180### Tirer parti de MCP pour les intégrations

177 181 

178MCP est un excellent moyen de donner à Claude Code plus d'informations, comme la connexion à des systèmes de gestion de tickets ou des journaux d'erreurs. Confiez à une équipe centrale la configuration des serveurs MCP et l'ajout d'une configuration `.mcp.json` dans la base de code afin que tous les utilisateurs en bénéficient. [En savoir plus](https://code.claude.com/docs/fr/mcp.md).182MCP est un excellent moyen de donner à Claude Code plus d'informations, comme la connexion à des systèmes de gestion de tickets ou des journaux d'erreurs. Confiez à une équipe centrale la configuration des serveurs MCP et l'ajout d'une configuration `.mcp.json` dans la base de code afin que tous les utilisateurs en bénéficient. [En savoir plus](https://code.claude.com/docs/fr/mcp.md).

Details

127 127 

128Claude utilise `AskUserQuestion` pour vous poser des questions à choix multiples lorsqu'il a besoin d'une décision ou d'une clarification. Répondez en choisissant une option, ou tapez votre propre texte via la ligne `Other` ou le champ des notes.128Claude utilise `AskUserQuestion` pour vous poser des questions à choix multiples lorsqu'il a besoin d'une décision ou d'une clarification. Répondez en choisissant une option, ou tapez votre propre texte via la ligne `Other` ou le champ des notes.

129 129 

130Lorsque vous répondez en tapant votre propre texte, Claude Code relaye la réponse avec une formulation neutre afin que Claude suive ce que vous avez écrit, y compris une demande d'attendre ou d'expliquer d'abord.

131 

132### Délai d'expiration de la continuation automatique des questions130### Délai d'expiration de la continuation automatique des questions

133 131 

134Les questions restent ouvertes jusqu'à ce que vous y répondiez. Si vous souhaitez qu'une question que vous laissez sans réponse se ferme finalement et permette à Claude de continuer sans vous, définissez le paramètre [`askUserQuestionTimeout`](https://code.claude.com/docs/fr/settings-reference#askuserquestiontimeout) sur `60s`, `5m`, ou `10m`, soit dans votre fichier `settings.json` utilisateur, soit à partir de la ligne **Question auto-continue timeout** dans `/config`.132Les questions restent ouvertes jusqu'à ce que vous y répondiez. Si vous souhaitez qu'une question que vous laissez sans réponse se ferme finalement et permette à Claude de continuer sans vous, définissez le paramètre [`askUserQuestionTimeout`](https://code.claude.com/docs/fr/settings-reference#askuserquestiontimeout) sur `60s`, `5m`, ou `10m`, soit dans votre fichier `settings.json` utilisateur, soit à partir de la ligne **Question auto-continue timeout** dans `/config`.


525 523 

526## Comportement de l'outil Read524## Comportement de l'outil Read

527 525 

528L'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.526L'outil Read prend un chemin de fichier et retourne le contenu avec les numéros de ligne.

529 527 

530Lire 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.528Lire 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.

531 529 

Details

388> Get-Command claude | Select-Object Source388> Get-Command claude | Select-Object Source

389> ```389> ```

390 390 

391Sur Linux, vérifiez les bibliothèques partagées manquantes. Si `ldd` affiche des bibliothèques manquantes, vous devrez peut-être installer des paquets système. Sur Alpine Linux et autres distributions basées sur musl, consultez [Configuration Alpine Linux](https://code.claude.com/docs/fr/setup.md#alpine-linux-and-musl-based-distributions).391Sur Linux, vérifiez les bibliothèques partagées manquantes. Si `ldd` affiche des bibliothèques manquantes, vous devrez peut-être installer des paquets système. Sur Alpine Linux et autres distributions basées sur musl, consultez [Incompatibilité de binaire musl ou glibc sous Linux](#linux-musl-or-glibc-binary-mismatch).

392 392 

393```bash theme={null}393```bash theme={null}

394ldd "$(command -v claude)" | grep "not found"394ldd "$(command -v claude)" | grep "not found"


906 906 

907### Incompatibilité binaire musl ou glibc Linux907### Incompatibilité binaire musl ou glibc Linux

908 908 

909Si vous voyez des erreurs concernant des bibliothèques partagées manquantes comme `libstdc++.so.6` ou `libgcc_s.so.1` après l'installation, le programme d'installation peut avoir téléchargé la mauvaise variante binaire pour votre système.909Si vous voyez des erreurs concernant des bibliothèques partagées manquantes comme `ld-linux-x86-64.so.2` ou `ld-linux-aarch64.so.1` après l'installation, le programme d'installation peut avoir téléchargé la mauvaise variante binaire pour votre système.

910 910 

911```text theme={null}911```text theme={null}

912Error loading shared library libstdc++.so.6: No such file or directory912Error loading shared library ld-linux-x86-64.so.2: No such file or directory

913```913```

914 914 

915Cela peut se produire sur les systèmes basés sur glibc qui ont des packages de compilation croisée musl installés, ce qui amène le programme d'installation à mal détecter le système comme musl.

916 

917**Solutions :**915**Solutions :**

918 916 

9191. **Vérifiez quelle libc votre système utilise** :9171. **Vérifiez quelle libc votre système utilise** :


924 922 

9252. **Si vous êtes sur glibc mais avez obtenu le binaire musl**, supprimez l'installation et réinstallez. Vous pouvez également télécharger manuellement le binaire correct en utilisant le manifeste à `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Déposez un [problème GitHub](https://github.com/anthropics/claude-code/issues) avec la sortie de `ldd --version` et `ls /lib/libc.musl*`.9232. **Si vous êtes sur glibc mais avez obtenu le binaire musl**, supprimez l'installation et réinstallez. Vous pouvez également télécharger manuellement le binaire correct en utilisant le manifeste à `https://downloads.claude.ai/claude-code-releases/{VERSION}/manifest.json`. Déposez un [problème GitHub](https://github.com/anthropics/claude-code/issues) avec la sortie de `ldd --version` et `ls /lib/libc.musl*`.

926 924 

9273. **Si vous êtes réellement sur musl**, tel que Alpine Linux, installez les packages requis :9253. **Si vous êtes sur musl mais avez obtenu le binaire glibc**, [supprimez l'installation](https://code.claude.com/docs/fr/setup.md#uninstall-claude-code). Sur Alpine Linux, installez d'abord les packages indiqués dans [Configuration Alpine Linux](https://code.claude.com/docs/fr/setup.md#alpine-linux-and-musl-based-distributions). Ensuite, exécutez la [commande d'installation](https://code.claude.com/docs/fr/setup.md#install-claude-code), qui installe le binaire musl.

928 ```bash theme={null}

929 apk add libgcc libstdc++ ripgrep

930 ```

931 Sur Alpine, `ripgrep` se trouve dans le dépôt communautaire. Si `apk` signale que le package manque, consultez [Configuration Alpine Linux](https://code.claude.com/docs/fr/setup.md#alpine-linux-and-musl-based-distributions).

932 926 

933### `Illegal instruction`927### `Illegal instruction`

934 928 


1001 995 

1002Ces problèmes s'appliquent si vous avez installé Claude Code avec `npm install -g` dans WSL. Si vous avez utilisé le [programme d'installation natif](https://code.claude.com/docs/fr/setup.md), ignorez cette section. Sur npm 12, installez comme décrit dans [Corriger une installation npm 12](#fix-an-npm-12-install).996Ces problèmes s'appliquent si vous avez installé Claude Code avec `npm install -g` dans WSL. Si vous avez utilisé le [programme d'installation natif](https://code.claude.com/docs/fr/setup.md), ignorez cette section. Sur npm 12, installez comme décrit dans [Corriger une installation npm 12](#fix-an-npm-12-install).

1003 997 

1004**Problèmes de détection du système d'exploitation ou de la plateforme.** Si npm signale une incompatibilité de plateforme lors de l'installation, WSL utilise probablement le `npm` Windows. Exécutez d'abord `npm config set os linux`, puis installez avec `npm install -g @anthropic-ai/claude-code --force`. N'utilisez pas `sudo`.998**Problèmes de détection du système d'exploitation ou de la plateforme.** Si npm signale une incompatibilité de plateforme lors de l'installation, exécutez d'abord `npm config set os linux`, puis installez avec `npm install -g @anthropic-ai/claude-code@latest --force`. N'utilisez pas `sudo`.

1005 999 

1006**`exec: node: not found` lors de l'exécution de `claude`.** Votre environnement WSL utilise probablement l'installation Windows de Node.js. Confirmez avec `which npm` et `which node` : les chemins commençant par `/mnt/c/` sont des binaires Windows, tandis que les chemins Linux commencent par `/usr/`. Pour corriger cela, installez Node via le gestionnaire de packages de votre distribution Linux ou via [`nvm`](https://github.com/nvm-sh/nvm).1000**`exec: node: not found` lors de l'exécution de `claude`.** Votre environnement WSL utilise probablement l'installation Windows de Node.js. Confirmez avec `which npm` et `which node` : les chemins commençant par `/mnt/c/` sont des binaires Windows, tandis que les chemins Linux commencent par `/usr/`. Pour corriger cela, installez Node via le gestionnaire de packages de votre distribution Linux ou via [`nvm`](https://github.com/nvm-sh/nvm).

1007 1001 


1088 3. Réinstallez :1082 3. Réinstallez :

1089 1083 

1090 ```bash theme={null}1084 ```bash theme={null}

1091 npm install -g @anthropic-ai/claude-code1085 npm install -g @anthropic-ai/claude-code@latest

1092 ```1086 ```

1093 1087 

1094 Si cette commande ou l'étape 1 échoue avec `EACCES`, passez au programme d'installation natif au lieu de la réexécuter avec `sudo`. Claude Code exécute npm sans `sudo` lorsqu'il se met à jour, donc les mises à jour automatiques échoueraient de la même manière.1088 Si cette commande ou l'étape 1 échoue avec `EACCES`, passez au programme d'installation natif au lieu de la réexécuter avec `sudo`. Claude Code exécute npm sans `sudo` lorsqu'il se met à jour, donc les mises à jour automatiques échoueraient de la même manière.


1099 1093 

1100### Erreur npm `ENOTEMPTY` lors de la mise à jour ou de la réinstallation1094### Erreur npm `ENOTEMPTY` lors de la mise à jour ou de la réinstallation

1101 1095 

1102Lorsque vous exécutez `npm install -g @anthropic-ai/claude-code` sur une installation existante, npm peut échouer lors du déplacement de l'ancien répertoire de package :1096Lorsque vous exécutez `npm install -g @anthropic-ai/claude-code@latest` sur une installation existante, npm peut échouer lors du déplacement de l'ancien répertoire de package :

1103 1097 

1104```text theme={null}1098```text theme={null}

1105npm error code ENOTEMPTY1099npm error code ENOTEMPTY


1133Ensuite, réinstallez. Sur npm 12, suivez [Corriger une installation npm 12](#fix-an-npm-12-install). Sinon, exécutez :1127Ensuite, réinstallez. Sur npm 12, suivez [Corriger une installation npm 12](#fix-an-npm-12-install). Sinon, exécutez :

1134 1128 

1135```bash theme={null}1129```bash theme={null}

1136npm install -g @anthropic-ai/claude-code1130npm install -g @anthropic-ai/claude-code@latest

1137```1131```

1138 1132 

1139Confirmez avec `claude --version`, qui affiche un numéro de version tel que `2.1.211 (Claude Code)`.1133Confirmez avec `claude --version`, qui affiche un numéro de version tel que `2.1.211 (Claude Code)`.

Details

152> apk add ripgrep152> apk add ripgrep

153> ```153> ```

154>154>

155> `ripgrep` se trouve dans le référentiel communautaire d'Alpine. Si `apk` signale que le paquet est manquant, consultez [Configuration d'Alpine Linux](https://code.claude.com/docs/fr/setup.md#alpine-linux-and-musl-based-distributions).155> `ripgrep` se trouve dans le dépôt communautaire d'Alpine.

156 156 

157> [tab] Arch157> [tab] Arch

158>158>

vs-code.md +10 −0

Details

202 Les blocs de réflexion que vous avez déjà restent vides. Dans les réponses postérieures au rechargement, cliquez sur un bloc ou appuyez sur `Ctrl+O` pour tous les déplier.202 Les blocs de réflexion que vous avez déjà restent vides. Dans les réponses postérieures au rechargement, cliquez sur un bloc ou appuyez sur `Ctrl+O` pour tous les déplier.

203* **Saisie multiligne** : appuyez sur `Shift+Enter` pour ajouter une nouvelle ligne sans envoyer. Cela fonctionne aussi dans le champ de texte libre « Other » des boîtes de dialogue de questions.203* **Saisie multiligne** : appuyez sur `Shift+Enter` pour ajouter une nouvelle ligne sans envoyer. Cela fonctionne aussi dans le champ de texte libre « Other » des boîtes de dialogue de questions.

204 204 

205### Utiliser ou désactiver les prompts suggérés

206 

207Après la réponse de Claude, le panneau peut afficher un prochain prompt suggéré sous forme de texte gris en italique dans la zone de prompt vide. Chaque suggestion utilise une [courte requête en arrière-plan](https://code.claude.com/docs/fr/interactive-mode.md#prompt-suggestions) qui est décomptée des limites d'utilisation de votre forfait ou ajoutée à vos coûts d'API.

208 

209* **Utiliser la suggestion** : appuyez sur `Tab` pour la transformer en texte modifiable, puis envoyez-la. Appuyer sur `Enter` avant de l'accepter n'envoie pas la suggestion.

210* **Rédiger votre propre prompt** : commencez à taper, ce qui masque la suggestion.

211 

212Pour désactiver les suggestions, définissez [`promptSuggestionEnabled`](https://code.claude.com/docs/fr/settings-reference#promptsuggestionenabled) sur `false` dans `~/.claude/settings.json`. Vous ne les voyez plus dans les nouvelles conversations, ni dans celles déjà ouvertes une fois que vous avez exécuté **Developer: Reload Window** depuis la palette de commandes. Si vous avez défini [`CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION`](https://code.claude.com/docs/fr/env-vars) sur `true`, remplacez cette valeur par `false` là où vous l'avez définie, sinon vous continuerez à voir des suggestions.

213 

205### Référencer des fichiers et des dossiers214### Référencer des fichiers et des dossiers

206 215 

207Utilisez les @-mentions pour donner à Claude du contexte sur des fichiers ou dossiers spécifiques. Lorsque vous tapez `@` suivi d'un nom de fichier ou de dossier, Claude lit ce contenu et peut répondre à des questions à son sujet ou y apporter des modifications. Claude Code prend en charge la correspondance approximative, vous pouvez donc taper des noms partiels pour trouver ce dont vous avez besoin :216Utilisez les @-mentions pour donner à Claude du contexte sur des fichiers ou dossiers spécifiques. Lorsque vous tapez `@` suivi d'un nom de fichier ou de dossier, Claude lit ce contenu et peut répondre à des questions à son sujet ou y apporter des modifications. Claude Code prend en charge la correspondance approximative, vous pouvez donc taper des noms partiels pour trouver ce dont vous avez besoin :


936| `SSL certificate verification failed` ou `Self-signed certificate detected` | [Erreurs de certificat SSL](https://code.claude.com/docs/fr/errors.md#ssl-certificate-errors) |945| `SSL certificate verification failed` ou `Self-signed certificate detected` | [Erreurs de certificat SSL](https://code.claude.com/docs/fr/errors.md#ssl-certificate-errors) |

937| `Dictation error: WebSocket error:` suivi d'une erreur de certificat telle que `unable to get local issuer certificate`, ou `Remote server is not connected` dans l'onglet Web | [La dictée ou l'onglet Web échoue derrière un proxy d'inspection TLS](#dictation-or-the-web-tab-fails-behind-a-tls-inspecting-proxy) |946| `Dictation error: WebSocket error:` suivi d'une erreur de certificat telle que `unable to get local issuer certificate`, ou `Remote server is not connected` dans l'onglet Web | [La dictée ou l'onglet Web échoue derrière un proxy d'inspection TLS](#dictation-or-the-web-tab-fails-behind-a-tls-inspecting-proxy) |

938| `Claude Code process exited with code 1`, ou un autre code | [Claude Code process exited with code N](https://code.claude.com/docs/fr/errors.md#claude-code-process-exited-with-code-n) |947| `Claude Code process exited with code 1`, ou un autre code | [Claude Code process exited with code N](https://code.claude.com/docs/fr/errors.md#claude-code-process-exited-with-code-n) |

948| `Claude Code did not finish starting` ou `Subprocess initialization did not complete within 60000ms` | [Subprocess initialization did not complete within 60000ms](https://code.claude.com/docs/fr/errors.md#subprocess-initialization-did-not-complete-within-60000ms) |

939| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/fr/errors.md#could-not-locate-the-claude-cli-on-path) |949| `Could not locate the Claude CLI on PATH` | [Could not locate the Claude CLI on PATH](https://code.claude.com/docs/fr/errors.md#could-not-locate-the-claude-cli-on-path) |

940| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/fr/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |950| `The connection to Claude Code ended before this message completed` | [The connection to Claude Code ended before this message completed](https://code.claude.com/docs/fr/errors.md#the-connection-to-claude-code-ended-before-this-message-completed) |

941| `The Claude Code program for this computer, the <build> build, could not be found` | [The Claude Code program for this computer could not be found](https://code.claude.com/docs/fr/errors.md#the-claude-code-program-for-this-computer-could-not-be-found) |951| `The Claude Code program for this computer, the <build> build, could not be found` | [The Claude Code program for this computer could not be found](https://code.claude.com/docs/fr/errors.md#the-claude-code-program-for-this-computer-could-not-be-found) |

workflows.md +0 −2

Details

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

76| `/deep-research <question>` | Lance des recherches web en parallèle sur une question sous plusieurs angles, récupère et recoupe les sources trouvées, vote sur chaque affirmation et renvoie un rapport avec citations, les affirmations qui n'ont pas résisté au recoupement étant filtrées. Nécessite que l'[outil WebSearch](https://code.claude.com/docs/fr/tools-reference.md#websearch-tool-behavior) soit disponible |76| `/deep-research <question>` | Lance des recherches web en parallèle sur une question sous plusieurs angles, récupère et recoupe les sources trouvées, vote sur chaque affirmation et renvoie un rapport avec citations, les affirmations qui n'ont pas résisté au recoupement étant filtrées. Nécessite que l'[outil WebSearch](https://code.claude.com/docs/fr/tools-reference.md#websearch-tool-behavior) soit disponible |

77 77 

78`/deep-research` ne s'exécute que lorsque vous l'invoquez.

79 

80Les [workflows que vous enregistrez](#save-the-workflow-for-reuse) vous-même deviennent des commandes de la même manière et apparaissent dans l'autocomplétion `/` aux côtés des workflows intégrés.78Les [workflows que vous enregistrez](#save-the-workflow-for-reuse) vous-même deviennent des commandes de la même manière et apparaissent dans l'autocomplétion `/` aux côtés des workflows intégrés.

81 79 

82### Suivre l'exécution80### Suivre l'exécution