SpyBara
Go Premium

Documentation 2026-09-21 22:59 UTC to 2026-09-22 23:59 UTC

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

admin-setup.md +1 −1

Details

167 167 

168* [Démarrage rapide](/docs/fr/quickstart) : procédure pas à pas de la première session de l'installation au travail avec un projet168* [Démarrage rapide](/docs/fr/quickstart) : procédure pas à pas de la première session de l'installation au travail avec un projet

169* [Flux de travail courants](/docs/fr/common-workflows) : modèles pour les tâches quotidiennes comme l'examen du code, la refactorisation et le débogage169* [Flux de travail courants](/docs/fr/common-workflows) : modèles pour les tâches quotidiennes comme l'examen du code, la refactorisation et le débogage

170* [Claude 101](https://anthropic.skilljar.com/claude-101) et [Claude Code in Action](https://anthropic.skilljar.com/claude-code-in-action) : cours d'Anthropic Academy à votre rythme170* [Claude Code 101](https://academy.claude.com/courses/claude-code-101) et [Claude Code in Action](https://academy.claude.com/courses/claude-code-in-action) : cours gratuits à votre rythme sur [Claude Academy](https://academy.claude.com/)

171 171 

172Pour les problèmes de connexion, dirigez les développeurs vers [dépannage de l'authentification](/docs/fr/troubleshoot-install#login-and-authentication). Les correctifs les plus courants sont :172Pour les problèmes de connexion, dirigez les développeurs vers [dépannage de l'authentification](/docs/fr/troubleshoot-install#login-and-authentication). Les correctifs les plus courants sont :

173 173 

advisor.md +10 −8

Details

56* Exécutez `/advisor` avec un modèle, tel que `/advisor opus`, pour le définir.56* Exécutez `/advisor` avec un modèle, tel que `/advisor opus`, pour le définir.

57* Exécutez `/advisor off` pour le désactiver.57* Exécutez `/advisor off` pour le désactiver.

58 58 

59Claude Code n'invoque pas un advisor enregistré que la liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) de votre organisation exclut. Pour utiliser l'advisor, choisissez un modèle autorisé avec `/advisor`. Claude Code enregistre toujours un advisor que votre modèle principal actuel ne supporte pas. Cet advisor s'active après que vous basculiez vers un [modèle principal compatible](#choose-an-advisor-model) avec [`/model`](/docs/fr/model-config#setting-your-model).59Claude Code n'invoque pas un advisor enregistré que la liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) de votre organisation exclut. Pour utiliser l'advisor, choisissez un modèle autorisé avec `/advisor`.

60 

61Claude Code enregistre toujours un advisor que votre modèle principal actuel ne supporte pas. Cet advisor s'active après que vous basculiez vers un [modèle principal compatible](#choose-an-advisor-model) avec [`/model`](/docs/fr/model-config#setting-your-model). Si l'API a déjà refusé l'advisor enregistré dans la conversation actuelle, il reste désactivé jusqu'à `/clear` ou `/compact`, même après que vous ayez changé de modèles.

60 62 

61Sur certains plans, Fable en tant qu'advisor nécessite également votre [consentement unique pour facturer l'utilisation de Fable aux crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits). Pour savoir ce que `/advisor fable` fait avant que vous ayez donné ce consentement, consultez [Advisor Fable et crédits d'utilisation](#fable-advisor-and-usage-credits).63Sur certains plans, Fable en tant qu'advisor nécessite également votre [consentement unique pour facturer l'utilisation de Fable aux crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits). Pour savoir ce que `/advisor fable` fait avant que vous ayez donné ce consentement, consultez [Advisor Fable et crédits d'utilisation](#fable-advisor-and-usage-credits).

62 64 


98L'advisor doit être au moins aussi capable que le modèle principal. Les advisors acceptés pour chaque modèle principal sont :100L'advisor doit être au moins aussi capable que le modèle principal. Les advisors acceptés pour chaque modèle principal sont :

99 101 

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

101| -------------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |103| -------------------- | -------------------------------------- | ----------------------------------------------------------------------------------------- |

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

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

104| Sonnet 5 | Fable, Opus 4.7 ou ultérieur, Sonnet 5 | Un advisor Sonnet 4.6 est rejeté, et les requêtes avec un advisor Opus 4.6 échouent avec une erreur API |106| Sonnet 5 | Fable, Opus 4.7 ou ultérieur, Sonnet 5 | Un advisor Sonnet 4.6 est rejeté, et l'API refuse un advisor Opus 4.6 |

105| Opus 4.6 | Fable, Opus, Sonnet 5 | Un advisor Sonnet 4.6 est rejeté |107| Opus 4.6 | Fable, Opus, Sonnet 5 | Un advisor Sonnet 4.6 est rejeté |

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

107| Opus 5 | Fable, Opus 5 | Un advisor Opus 4.6 ou Sonnet est rejeté, et les requêtes avec un advisor Opus 4.7 ou Opus 4.8 échouent avec une erreur API |109| Opus 5.5 ou Opus 5 | Fable, et Opus 5 ou ultérieur | Un advisor Opus 4.6 ou Sonnet est rejeté, et l'API refuse un advisor Opus 4.7 ou Opus 4.8 |

108| Fable 5 | Fable 5.1 ou Fable 5 | Un advisor Opus ou Sonnet est rejeté |110| Fable 5 | Fable 5.1 ou Fable 5 | Un advisor Opus ou Sonnet est rejeté |

109| Fable 5.1 | Fable 5.1 | Un advisor Opus ou Sonnet est rejeté, et les requêtes avec un advisor Fable 5 échouent avec une erreur API |111| Fable 5.1 | Fable 5.1 | Un advisor Opus ou Sonnet est rejeté, et l'API refuse un advisor Fable 5 |

110 112 

111Fable 5.1 nécessite Claude Code v2.1.257 ou ultérieur. Les deux modèles Fable nécessitent [l'accès à Fable](/docs/fr/model-config#work-with-fable).113Fable 5.1 nécessite Claude Code v2.1.257 ou ultérieur. Les deux modèles Fable nécessitent [l'accès à Fable](/docs/fr/model-config#work-with-fable).

112 114 

113Définissez l'advisor comme `fable`, `opus`, ou `sonnet`. Ces alias se résolvent à la version par défaut intégrée de Claude Code pour chaque famille de modèles, qui avance avec les nouvelles versions de Claude Code. Vous pouvez également passer un ID de modèle complet tel que `claude-opus-5`.115Définissez l'advisor comme `fable`, `opus`, ou `sonnet`. Ces alias se résolvent à la version par défaut intégrée de Claude Code pour chaque famille de modèles, qui avance avec les nouvelles versions de Claude Code. Vous pouvez également passer un ID de modèle complet tel que `claude-opus-5-5`.

114 116 

115Les sous-agents héritent de l'advisor configuré et appliquent la même vérification d'appairage par rapport à leur propre modèle.117Les sous-agents héritent de l'advisor configuré et appliquent la même vérification d'appairage par rapport à leur propre modèle.

116 118 

117Claude Code valide l'appairage avant d'envoyer une requête, et l'API le valide à nouveau :119Claude Code valide l'appairage avant d'envoyer une requête, et l'API le valide à nouveau :

118 120 

119* Pour un advisor que le tableau liste comme rejeté, Claude Code ne l'attache pas aux requêtes du modèle principal. La sortie de la commande `/advisor` et une notification le montrent. Les sous-agents dont le modèle propre satisfait l'appairage peuvent toujours utiliser l'advisor.121* Pour un advisor que le tableau liste comme rejeté, Claude Code ne l'attache pas aux requêtes du modèle principal. La sortie de la commande `/advisor` et une notification le montrent. Les sous-agents dont le modèle propre satisfait l'appairage peuvent toujours utiliser l'advisor.

120* Pour un advisor que le tableau liste comme échouant avec une erreur API, Claude Code l'attache et l'API le refuse. Chaque requête échoue avec `'<modèle advisor>' ne peut pas être utilisé comme advisor lorsque le modèle de requête est '<modèle principal>'` jusqu'à ce que vous changiez l'advisor avec `/advisor` ou le désactiviez.122* Pour un advisor que le tableau liste comme refusé par l'API, Claude Code l'attache et l'API le refuse. Claude Code renvoie ensuite cette requête sans l'advisor, et le reste de la conversation s'exécute sans un, donc vous ne voyez aucune erreur et n'obtenez aucun appel advisor. Choisissez un advisor accepté avec `/advisor` ; le changement prend effet après `/clear` ou `/compact` et dans les nouvelles sessions.

121* Si le modèle principal ou l'advisor est un modèle que Claude Code ne reconnaît pas, l'advisor n'est pas attaché.123* Si le modèle principal ou l'advisor est un modèle que Claude Code ne reconnaît pas, l'advisor n'est pas attaché.

122 124 

123<h3 id="fable-advisor-and-usage-credits">125<h3 id="fable-advisor-and-usage-credits">


195 197 

196L'outil advisor nécessite tous les éléments suivants :198L'outil advisor nécessite tous les éléments suivants :

197 199 

198* **API Anthropic uniquement** : l'advisor est un outil exécuté par le serveur. Il n'est pas disponible sur Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, ou Microsoft Foundry. Via une [passerelle LLM](/docs/fr/llm-gateway) configurée avec `ANTHROPIC_BASE_URL`, la disponibilité dépend de si la passerelle transfère la requête intacte à l'API Anthropic.200* **API Anthropic uniquement** : l'advisor est un outil exécuté par le serveur. Il n'est pas disponible sur Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform, ou Microsoft Foundry. Via une [passerelle LLM](/docs/fr/llm-gateway) configurée avec `ANTHROPIC_BASE_URL`, la disponibilité dépend de si la passerelle transfère la requête intacte à l'API Anthropic. Si la passerelle ou son amont ne reconnaît pas l'outil advisor, consultez [Nouvelle tentative automatique et transfert d'erreur](/docs/fr/llm-gateway-protocol#automatic-retry-and-error-forwarding) pour voir comment Claude Code répond.

199* **Modèle principal supporté** : Fable, Opus 4.6 ou ultérieur, Sonnet 4.6 ou ultérieur, ou Haiku 4.5. Voir [Choisir un modèle advisor](#choose-an-advisor-model) pour savoir quels advisors chacun accepte.201* **Modèle principal supporté** : Fable, Opus 4.6 ou ultérieur, Sonnet 4.6 ou ultérieur, ou Haiku 4.5. Voir [Choisir un modèle advisor](#choose-an-advisor-model) pour savoir quels advisors chacun accepte.

200* **Récupération de feature flag** : Claude Code active l'advisor via un feature flag qu'il récupère auprès d'Anthropic. Dans une session où une variable qui désactive la récupération de flag est définie, comme `DISABLE_TELEMETRY`, l'advisor reste désactivé. Voir [Fonctionnalités nécessitant la récupération de feature flag](/docs/fr/env-vars#features-that-need-feature-flag-fetching).202* **Récupération de feature flag** : Claude Code active l'advisor via un feature flag qu'il récupère auprès d'Anthropic. Dans une session où une variable qui désactive la récupération de flag est définie, comme `DISABLE_TELEMETRY`, l'advisor reste désactivé. Voir [Fonctionnalités nécessitant la récupération de feature flag](/docs/fr/env-vars#features-that-need-feature-flag-fetching).

201 203 

Details

189TypeScript a également `applyFlagSettings()` et `updateSettings()` :189TypeScript a également `applyFlagSettings()` et `updateSettings()` :

190 190 

191* **`applyFlagSettings()`** : applique les paramètres à l'exécution, comme dans `await session.applyFlagSettings({ effortLevel: "high" })`. La méthode prend les clés du fichier de paramètres plutôt que les champs d'options, donc consultez la [référence `applyFlagSettings()`](/docs/fr/agent-sdk/typescript#applyflagsettings) pour le schéma et pour savoir quelles clés prennent effet en cours de session.191* **`applyFlagSettings()`** : applique les paramètres à l'exécution, comme dans `await session.applyFlagSettings({ effortLevel: "high" })`. La méthode prend les clés du fichier de paramètres plutôt que les champs d'options, donc consultez la [référence `applyFlagSettings()`](/docs/fr/agent-sdk/typescript#applyflagsettings) pour le schéma et pour savoir quelles clés prennent effet en cours de session.

192* **`updateSettings()`** : écrit un ensemble de clés autorisées dans le fichier de paramètres locaux du projet, comme dans `await session.updateSettings("localSettings", { outputStyle: "Explanatory" })`. Les clés écrites prennent effet à la prochaine requête de la session et persistent pour les sessions ultérieures qui chargent les paramètres `local`. La ligne de la méthode dans le [tableau des méthodes](/docs/fr/agent-sdk/typescript#methods) nomme les clés autorisées et le plancher de version.192* **`updateSettings()`** : écrit une clé autorisée dans un fichier de paramètres. La [référence `updateSettings()`](/docs/fr/agent-sdk/typescript#updatesettings) nomme la clé que chaque source accepte et le plancher de version.

193 * Passez `"localSettings"` pour écrire le fichier de paramètres locaux du projet, comme dans `await session.updateSettings("localSettings", { outputStyle: "Explanatory" })`. La clé écrite prend effet à la prochaine requête de la session et persiste pour les sessions ultérieures qui chargent les paramètres `local`.

194 * Passez `"userSettings"` pour écrire `effortLevel`, la seule clé que cette source accepte. Claude Code l'enregistre comme le niveau d'effort par défaut pour le modèle actuel de la session, et l'effort de la session en cours ne change pas.

193 195 

194L'exemple ci-dessous exécute une session de deux tours, modifie la configuration entre les tours et affiche le modèle qui a répondu à chaque tour. En TypeScript, le flux de prompt maintient le deuxième message jusqu'à ce que les setters aient été exécutés, et le deuxième tour s'exécute sur le nouveau modèle.196L'exemple ci-dessous exécute une session de deux tours, modifie la configuration entre les tours et affiche le modèle qui a répondu à chaque tour. En TypeScript, le flux de prompt maintient le deuxième message jusqu'à ce que les setters aient été exécutés, et le deuxième tour s'exécute sur le nouveau modèle.

195 197 

Details

37 37 

38* **Appel `query()` :** une invocation de la fonction `query()` du SDK. Un seul appel peut impliquer plusieurs étapes : Claude répond, utilise des outils, obtient des résultats et répond à nouveau. Chaque appel produit un message [`result`](/docs/fr/agent-sdk/typescript#sdkresultmessage) à la fin, sauf en [mode d'entrée en streaming](/docs/fr/agent-sdk/streaming-vs-single-mode), où un appel `query()` porte plusieurs tours d'utilisateur et chaque tour émet son propre message `result`.38* **Appel `query()` :** une invocation de la fonction `query()` du SDK. Un seul appel peut impliquer plusieurs étapes : Claude répond, utilise des outils, obtient des résultats et répond à nouveau. Chaque appel produit un message [`result`](/docs/fr/agent-sdk/typescript#sdkresultmessage) à la fin, sauf en [mode d'entrée en streaming](/docs/fr/agent-sdk/streaming-vs-single-mode), où un appel `query()` porte plusieurs tours d'utilisateur et chaque tour émet son propre message `result`.

39* **Étape :** un seul cycle requête/réponse au sein d'un appel `query()`. Chaque étape produit des messages d'assistant avec l'utilisation des tokens.39* **Étape :** un seul cycle requête/réponse au sein d'un appel `query()`. Chaque étape produit des messages d'assistant avec l'utilisation des tokens.

40* **Session :** une série d'appels `query()` liés par un ID de session (en utilisant l'option `resume`). Chaque appel `query()` au sein d'une session rapporte son propre coût indépendamment.40* **Session :** une série d'appels `query()` liés par un ID de session via l'option `resume`. Les résultats d'un appel repris rapportent la dépense totale de la session, pas seulement celle de cet appel. Consultez [Accumuler les coûts sur plusieurs appels](#accumulate-costs-across-multiple-calls) pour voir comment les totaux se reportent.

41 41 

42Le diagramme suivant montre le flux de messages d'un seul appel `query()`, avec l'utilisation des tokens rapportée à chaque étape et l'estimation cumulative à la fin :42Le diagramme suivant montre le flux de messages d'un seul appel `query()`, avec l'utilisation des tokens rapportée à chaque étape et l'estimation cumulative à la fin :

43 43 


51 </Step>51 </Step>

52 52 

53 <Step title="Le message de résultat fournit l'estimation cumulative">53 <Step title="Le message de résultat fournit l'estimation cumulative">

54 Quand l'appel `query()` se termine, le SDK émet un message de résultat avec `total_cost_usd` et l'utilisation cumulative `usage`, typé en tant que [`SDKResultMessage`](/docs/fr/agent-sdk/typescript#sdkresultmessage) en TypeScript et [`ResultMessage`](/docs/fr/agent-sdk/python#resultmessage) en Python. Si vous effectuez plusieurs appels `query()`, par exemple dans une session multi-tours, chaque résultat reflète uniquement le coût de cet appel individuel. Si vous avez seulement besoin du total estimé, vous pouvez ignorer l'utilisation par étape et lire cette valeur unique.54 Quand l'appel `query()` se termine, le SDK émet un message de résultat avec `total_cost_usd` et l'utilisation cumulative `usage`, typé en tant que [`SDKResultMessage`](/docs/fr/agent-sdk/typescript#sdkresultmessage) en TypeScript et [`ResultMessage`](/docs/fr/agent-sdk/python#resultmessage) en Python. Si vous avez seulement besoin du total estimé, vous pouvez ignorer l'utilisation par étape et lire cette valeur unique.

55 

56 Si vous effectuez plusieurs appels `query()` indépendants, chaque résultat reflète uniquement le coût de cet appel individuel. Un appel qui reprend une session compte également la dépense antérieure de la session.

55 57 

56 En mode d'entrée en streaming, chaque tour émet son propre message de résultat. Consultez [Suivre les coûts en mode d'entrée en streaming](#track-costs-in-streaming-input-mode) pour savoir comment lire les totaux d'appels dans ce mode.58 En mode d'entrée en streaming, chaque tour émet son propre message de résultat. Consultez [Suivre les coûts en mode d'entrée en streaming](#track-costs-in-streaming-input-mode) pour savoir comment lire les totaux d'appels dans ce mode.

57 </Step>59 </Step>


64En [mode d'entrée en continu](/docs/fr/agent-sdk/streaming-vs-single-mode), un appel `query()` porte plusieurs tours d'utilisateur et chaque tour émet son propre message de résultat. Les champs de résultat diffèrent en portée :66En [mode d'entrée en continu](/docs/fr/agent-sdk/streaming-vs-single-mode), un appel `query()` porte plusieurs tours d'utilisateur et chaque tour émet son propre message de résultat. Les champs de résultat diffèrent en portée :

65 67 

66* **`usage`** : couvre uniquement ce tour, et au sein de celui-ci uniquement la boucle principale de l'agent, pas les sous-agents qu'il a exécutés.68* **`usage`** : couvre uniquement ce tour, et au sein de celui-ci uniquement la boucle principale de l'agent, pas les sous-agents qu'il a exécutés.

67* **`total_cost_usd` et `modelUsage`, ou `model_usage` en Python** : portent le total cumulé pour l'ensemble de l'appel jusqu'à présent.69* **`total_cost_usd` et `modelUsage`, ou `model_usage` en Python** : portent le total cumulé pour l'ensemble de l'appel jusqu'à présent, plus toute dépense restaurée lorsque l'appel a repris une session.

68 70 

69Dans un appel où votre application n'envoie jamais `/clear`, `/reset`, ou `/new`, lisez le dernier résultat pour les totaux d'appel plutôt que de les additionner entre les résultats.71Dans un appel où votre application n'envoie jamais `/clear`, `/reset`, ou `/new`, lisez le dernier résultat pour les totaux d'appel plutôt que de les additionner entre les résultats.

70 72 


78 80 

79En TypeScript, le SDK émet également un [`SDKConversationResetMessage`](/docs/fr/agent-sdk/typescript#sdkconversationresetmessage) à chaque réinitialisation, vous permettant de détecter les réinitialisations à partir du flux. En Python, le SDK émet de même un `ConversationResetMessage`. Avant la version 0.2.137 du SDK Python, l'itérateur Python supprimait ce message, donc sur ces versions comptez les réinitialisations vous-même à partir des tours `/clear` que votre application envoie.81En TypeScript, le SDK émet également un [`SDKConversationResetMessage`](/docs/fr/agent-sdk/typescript#sdkconversationresetmessage) à chaque réinitialisation, vous permettant de détecter les réinitialisations à partir du flux. En Python, le SDK émet de même un `ConversationResetMessage`. Avant la version 0.2.137 du SDK Python, l'itérateur Python supprimait ce message, donc sur ces versions comptez les réinitialisations vous-même à partir des tours `/clear` que votre application envoie.

80 82 

81`maxBudgetUsd` (TypeScript) ou `max_budget_usd` (Python) est comparé au même total cumulé, donc un `/clear` recommence également le budget.83`maxBudgetUsd` (TypeScript) ou `max_budget_usd` (Python) compte uniquement la dépense propre de l'appel : les totaux restaurés à partir d'une session reprise ne comptent pas contre lui, et un `/clear` recommence le budget.

82 84 

83<h2 id="get-the-total-cost-of-a-query">85<h2 id="get-the-total-cost-of-a-query">

84 Obtenir le coût total d'une requête86 Obtenir le coût total d'une requête

85</h2>87</h2>

86 88 

87Le message de résultat, typé comme [`SDKResultMessage`](/docs/fr/agent-sdk/typescript#sdkresultmessage) en TypeScript et [`ResultMessage`](/docs/fr/agent-sdk/python#resultmessage) en Python, marque la fin de la boucle d'agent pour un appel `query()`. Il inclut `total_cost_usd`, le coût estimé cumulatif sur toutes les étapes de cet appel. En Python, le champ est typé comme optionnel, donc vérifiez qu'il n'est pas `None` avant de le lire. Les résultats de succès et d'erreur le portent tous les deux, bien que le résultat final d'un [plantage de session](#recover-totals-after-a-session-crash) peut le porter à zéro.89Le message de résultat, typé comme [`SDKResultMessage`](/docs/fr/agent-sdk/typescript#sdkresultmessage) en TypeScript et [`ResultMessage`](/docs/fr/agent-sdk/python#resultmessage) en Python, marque la fin de la boucle d'agent pour un appel `query()`. Il inclut `total_cost_usd`, le coût estimé cumulatif sur toutes les étapes de cet appel. Un appel qui reprend une session compte également les dépenses antérieures de la session. Deux mises en garde s'appliquent lorsque vous lisez la valeur :

90 

91* En Python, le champ est typé comme optionnel, donc vérifiez qu'il n'est pas `None` avant de le lire.

92* Les résultats de succès et d'erreur le portent tous les deux, bien que le résultat final d'un [plantage de session](#recover-totals-after-a-session-crash) peut le porter à zéro.

88 93 

89Si vous utilisez des sessions pour effectuer plusieurs appels `query()`, chaque résultat ne reflète que le coût de cet appel individuel. En mode d'entrée en streaming, lisez les totaux d'appels comme décrit dans [Suivre les coûts en mode d'entrée en streaming](#track-costs-in-streaming-input-mode).94En mode d'entrée en streaming, lisez les totaux d'appels comme décrit dans [Suivre les coûts en mode d'entrée en streaming](#track-costs-in-streaming-input-mode).

90 95 

91Les trois champs au niveau du résultat diffèrent dans ce qu'ils comptent lorsque l'agent génère des [sous-agents](/docs/fr/agent-sdk/subagents). Utilisez `modelUsage`, ou `model_usage` en Python, pour la comptabilité des jetons de l'arborescence complète ; le champ `usage` sous-compte dès que l'imbrication se produit.96Les trois champs au niveau du résultat diffèrent dans ce qu'ils comptent lorsque l'agent génère des [sous-agents](/docs/fr/agent-sdk/subagents). Utilisez `modelUsage`, ou `model_usage` en Python, pour la comptabilité des jetons de l'arborescence complète ; le champ `usage` sous-compte dès que l'imbrication se produit.

92 97 


232 Accumuler les coûts sur plusieurs appels237 Accumuler les coûts sur plusieurs appels

233</h2>238</h2>

234 239 

235Chaque appel `query()` retourne son propre `total_cost_usd`. Le SDK ne fournit pas de total au niveau de la session, donc si votre application effectue plusieurs appels `query()`, par exemple dans une session multi-tours ou entre différents utilisateurs, accumulez les totaux vous-même. En mode d'entrée en streaming, lisez le total de chaque appel comme décrit dans [Suivre les coûts en mode d'entrée en streaming](#track-costs-in-streaming-input-mode). Pour un appel qui s'est terminé par un crash, voir [Récupérer les totaux après un crash de session](#recover-totals-after-a-session-crash).240Chaque appel `query()` retourne `total_cost_usd` sur ses résultats. La façon dont vous combinez les valeurs dépend de si les appels partagent une session :

241 

242* **Appels indépendants, sans option `resume` ou `continue`** : chaque résultat couvre uniquement son propre appel, donc additionnez les totaux vous-même, comme le font les exemples ci-dessous.

243* **Appels qui reprennent la même session** : Claude Code enregistre les totaux de la session dans sa [transcription](/docs/fr/sessions#where-transcripts-are-stored) lorsque le processus se termine normalement et les restaure lorsqu'un appel ultérieur reprend ou crée une branche de la session. Chaque résultat inclut déjà les dépenses antérieures de la session. Lisez le dernier résultat pour le total de la session ; additionner les résultats double-compte les dépenses restaurées. Avant v2.1.277, une session que vous aviez reprise via le SDK ou `claude -p` commençait ses totaux à zéro, donc chaque appel couvrait uniquement cet appel.

244 

245En mode d'entrée en streaming, lisez le total de chaque appel comme décrit dans [Suivre les coûts en mode d'entrée en streaming](#track-costs-in-streaming-input-mode). Pour un appel qui s'est terminé par un crash, voir [Récupérer les totaux après un crash de session](#recover-totals-after-a-session-crash).

236 246 

237Les exemples suivants exécutent deux appels `query()` séquentiellement, ajoutent le `total_cost_usd` de chaque appel à un total cumulatif, et affichent à la fois le coût par appel et le coût combiné :247Les exemples suivants exécutent deux appels `query()` séquentiellement, ajoutent le `total_cost_usd` de chaque appel à un total cumulatif, et affichent à la fois le coût par appel et le coût combiné :

238 248 


338 348 

339Lorsque le processus Claude Code plante, il émet un résultat `error_during_execution` final et se termine, en mode d'entrée unique et en mode d'entrée en continu. Ce résultat peut porter des `usage`, `total_cost_usd` et `modelUsage` mis à zéro, donc récupérez les totaux de l'appel à partir de ce qui est arrivé avant. L'étape 1 récupère les totaux complets chaque fois qu'un résultat antérieur existe ; le secours à l'étape 2 récupère uniquement les jetons d'entrée et de cache de la boucle principale.349Lorsque le processus Claude Code plante, il émet un résultat `error_during_execution` final et se termine, en mode d'entrée unique et en mode d'entrée en continu. Ce résultat peut porter des `usage`, `total_cost_usd` et `modelUsage` mis à zéro, donc récupérez les totaux de l'appel à partir de ce qui est arrivé avant. L'étape 1 récupère les totaux complets chaque fois qu'un résultat antérieur existe ; le secours à l'étape 2 récupère uniquement les jetons d'entrée et de cache de la boucle principale.

340 350 

3411. Utilisez le résultat du tour avant le plantage. En mode d'entrée en continu, il contient le total cumulé depuis le début de l'appel ou depuis le dernier [`/clear`](#track-costs-in-streaming-input-mode). Allez à l'étape 2 à la place lorsque ce résultat ne peut pas vous aider :3511. Utilisez le résultat du tour avant le plantage. En mode d'entrée en continu, il contient le total cumulé décrit dans [Suivre les coûts en mode d'entrée en continu](#track-costs-in-streaming-input-mode). Allez à l'étape 2 à la place lorsque ce résultat ne peut pas vous aider :

342 * L'appel était unique, donc aucun résultat antérieur n'existe.352 * L'appel était unique, donc aucun résultat antérieur n'existe.

343 * Le plantage s'est produit au premier tour.353 * Le plantage s'est produit au premier tour.

344 * Le tour avant le plantage était le `/clear` lui-même, donc son résultat couvre uniquement la réinitialisation.354 * Le tour avant le plantage était le `/clear` lui-même, donc son résultat couvre uniquement la réinitialisation.

Details

10 10 

11Cette page couvre l'auto-hébergement sur votre propre infrastructure. Pour les Dockerfiles et manifestes Kubernetes déployables, consultez le [guide d'hébergement](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting).11Cette page couvre l'auto-hébergement sur votre propre infrastructure. Pour les Dockerfiles et manifestes Kubernetes déployables, consultez le [guide d'hébergement](https://github.com/anthropics/claude-cookbooks/tree/main/claude_agent_sdk/hosting).

12 12 

13Si vous n'avez pas besoin de contrôle d'infrastructure, d'isolation personnalisée ou de votre propre plan de données, envisagez plutôt les [Agents gérés](https://platform.claude.com/docs/en/managed-agents/overview) : une API REST hébergée où Anthropic exécute l'agent et le sandbox, de sorte que votre application envoie des événements et reçoit les résultats en streaming sans infrastructure d'hébergement à exploiter.13Si vous n'avez pas besoin d'exécuter la boucle d'agent elle-même sur votre propre infrastructure, envisagez plutôt les [Agents gérés](https://platform.claude.com/docs/en/managed-agents/overview). Anthropic héberge la boucle d'agent, et votre application envoie des événements et reçoit les résultats en streaming via les SDK clients ou l'API REST. L'exécution des outils s'exécute dans un sandbox cloud géré par Anthropic ou un [sandbox auto-hébergé](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes) sur votre propre infrastructure.

14 14 

15<h2 id="the-subprocess-model">15<h2 id="the-subprocess-model">

16 Le modèle de sous-processus16 Le modèle de sous-processus

Details

355Dans le SDK TypeScript, vous pouvez passer un prompt personnalisé en tant que tableau de chaînes au lieu d'une chaîne, avec le marqueur `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` entre la partie statique et le reste. Utilisez ceci quand votre prompt combine des instructions qui sont identiques à chaque demande avec un contexte qui change par demande, comme le client ou le ticket que l'agent traite. Quand vous passez les deux parties en tant qu'une chaîne, une modification de la partie par demande change le prompt système entier, donc les instructions statiques manquent également le cache. Cette forme n'est pas disponible dans le SDK Python ; [`ClaudeAgentOptions`](/docs/fr/agent-sdk/python#claudeagentoptions) énumère les formes que `system_prompt` accepte.355Dans le SDK TypeScript, vous pouvez passer un prompt personnalisé en tant que tableau de chaînes au lieu d'une chaîne, avec le marqueur `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` entre la partie statique et le reste. Utilisez ceci quand votre prompt combine des instructions qui sont identiques à chaque demande avec un contexte qui change par demande, comme le client ou le ticket que l'agent traite. Quand vous passez les deux parties en tant qu'une chaîne, une modification de la partie par demande change le prompt système entier, donc les instructions statiques manquent également le cache. Cette forme n'est pas disponible dans le SDK Python ; [`ClaudeAgentOptions`](/docs/fr/agent-sdk/python#claudeagentoptions) énumère les formes que `system_prompt` accepte.

356 356 

357<Note>357<Note>

358 Le SDK divise le prompt seulement quand il appelle l'API Claude directement ou s'exécute sur [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Dans chaque autre configuration, comme Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, ou une [passerelle LLM](/docs/fr/llm-gateway-connect), et chaque fois que vous définissez [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities), le SDK envoie le prompt entier en tant qu'un bloc, identique à passer une chaîne.358 Claude Code divise le prompt seulement quand il appelle l'API Claude directement ou s'exécute sur [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Dans chaque autre configuration, comme Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, ou une [passerelle LLM](/docs/fr/llm-gateway-connect), il envoie le prompt entier en tant qu'un bloc, identique à passer une chaîne. La même chose se produit chaque fois que vous définissez [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities).

359</Note>359</Note>

360 360 

361Pour diviser le prompt, importez `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` depuis `@anthropic-ai/claude-agent-sdk` et passez-le en tant qu'élément de tableau propre entre les deux parties. Le SDK envoie les chaînes avant le marqueur en tant qu'un bloc de texte et les chaînes après en tant qu'un deuxième bloc, chacun avec son propre point de rupture de cache. Dans l'exemple ci-dessous, un agent d'assistance charge ses instructions de triage à partir d'un fichier et reçoit les détails d'un ticket à chaque demande, donc les instructions restent en cache tandis que les détails du ticket changent :361Pour diviser le prompt, importez `SYSTEM_PROMPT_DYNAMIC_BOUNDARY` depuis `@anthropic-ai/claude-agent-sdk` et passez-le en tant qu'élément de tableau propre entre les deux parties. Le SDK envoie les chaînes avant le marqueur en tant qu'un bloc de texte et les chaînes après en tant qu'un deuxième bloc, chacun avec son propre point de rupture de cache. Dans l'exemple ci-dessous, un agent d'assistance charge ses instructions de triage à partir d'un fichier et reçoit les détails d'un ticket à chaque demande, donc les instructions restent en cache tandis que les détails du ticket changent :


387* Si vous incluez le marqueur plus d'une fois, le premier est la division et le SDK supprime les autres.387* Si vous incluez le marqueur plus d'une fois, le premier est la division et le SDK supprime les autres.

388* Si vous laissez le marqueur de côté, le SDK joint toutes les chaînes en un bloc, identique à passer une chaîne.388* Si vous laissez le marqueur de côté, le SDK joint toutes les chaînes en un bloc, identique à passer une chaîne.

389 389 

390Avec les drapeaux [`--system-prompt` ou `--system-prompt-file`](/docs/fr/cli-reference#system-prompt-flags) de la CLI, le prompt est une chaîne, donc il n'y a pas de tableau pour porter le marqueur. Incluez une ligne contenant seulement `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` entre les parties statiques et par demande à la place. Claude Code divise le prompt à la première telle ligne en deux blocs identiques et supprime cette ligne. Nécessite Claude Code v2.1.275 ou ultérieur.

391 

392Dans le SDK, préférez la forme de tableau, qui porte la limite sans ligne de marqueur.

393 

390<h3 id="change-the-prompt-of-an-existing-session">394<h3 id="change-the-prompt-of-an-existing-session">

391 Modifier le prompt d'une session existante395 Modifier le prompt d'une session existante

392</h3>396</h3>

Details

12 Comparer le SDK Agent à d'autres outils Claude12 Comparer le SDK Agent à d'autres outils Claude

13</h2>13</h2>

14 14 

15Le SDK Agent, la CLI, le SDK Client et les Agents Gérés répondent chacun à des besoins différents. Utilisez le tableau pour trouver celui qui correspond à ce que vous construisez.15Le SDK Agent, la CLI, le SDK Client et les Agents Gérés diffèrent par qui exécute l'agent, ce qui est intégré et comment vous y accédez. Trouvez la ligne qui correspond à la façon dont vous souhaitez construire et exécuter le vôtre.

16 16 

17| Si vous... | Utilisez | Pourquoi |17| Vous souhaitez | Utilisez | Ce que vous obtenez |

18| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |18| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

19| Construisez un agent sans implémenter vous-même la boucle d'outils | **SDK Agent** | Une bibliothèque Python ou TypeScript qui exécute la boucle d'agent pour vous. |19| Intégrer l'agent Claude Code dans votre propre application Python ou TypeScript, dans un processus que vous exploitez | **SDK Agent** | Une bibliothèque qui exécute le binaire Claude Code, avec les [capacités](#capabilities) de Claude Code, telles que les outils intégrés, les permissions, les sessions et les hooks. |

20| Faites du développement interactif ou exécutez des tâches ponctuelles depuis un terminal | [**Claude Code CLI**](/docs/fr/overview) | L'interface de terminal, conçue pour une utilisation interactive quotidienne. |20| Faire du développement interactif ou exécuter des tâches ponctuelles depuis un terminal | [**Claude Code CLI**](/docs/fr/overview) | L'interface de terminal, conçue pour une utilisation interactive quotidienne. |

21| Appelez l'API directement et implémentez vous-même la boucle d'outils | [**SDK Client**](https://platform.claude.com/docs/en/api/client-sdks) | Accès direct à l'API Anthropic plutôt qu'à Claude Code. Vous implémentez vous-même la boucle d'outils. |21| Appeler l'API Claude directement depuis votre propre code | [**SDK Client**](https://platform.claude.com/docs/en/cli-sdks-libraries/overview) | Accès direct à l'API Claude à partir de n'importe quel langage du SDK client. Vous écrivez vous-même la boucle d'outils, ou laissez le [tool runner](https://platform.claude.com/docs/en/agents-and-tools/tool-use/tool-runner) bêta du SDK client la piloter. |

22| Exécutez des agents de longue durée ou asynchrones sans gérer votre propre infrastructure de sandbox ou de session | [**Agents Gérés**](https://platform.claude.com/docs/en/managed-agents/overview) | API REST hébergée, un produit distinct du SDK Agent. Anthropic exécute l'agent et le sandbox. |22| Faire héberger l'agent par Anthropic, configuré via l'API Claude | [**Agents Gérés**](https://platform.claude.com/docs/en/managed-agents/overview) | Un harnais d'agent hébergé qui exécute la boucle d'agent, avec des sessions dans un sandbox cloud géré par Anthropic ou un [sandbox auto-hébergé](https://platform.claude.com/docs/en/managed-agents/self-hosted-sandboxes) sur votre propre infrastructure. Utilisez-le à partir du [SDK pour votre langage](https://platform.claude.com/docs/en/managed-agents/quickstart#install-the-sdk), de la CLI `ant`, ou de l'API REST. |

23 23 

24Le SDK est disponible en tant que bibliothèque pour Python et TypeScript uniquement. Pour piloter la même boucle d'agent à partir d'un autre langage, [exécutez la CLI en tant que sous-processus](/docs/fr/headless) avec le drapeau `-p` et `--output-format json`.24Pour piloter la même boucle d'agent à partir d'un langage autre que Python ou TypeScript, [exécutez la CLI en tant que sous-processus](/docs/fr/headless) avec le drapeau `-p` et `--output-format json`.

25 25 

26<h2 id="capabilities">26<h2 id="capabilities">

27 Capacités27 Capacités

Details

905| `resume` | `str \| None` | `None` | ID de session à reprendre |905| `resume` | `str \| None` | `None` | ID de session à reprendre |

906| `session_id` | `str \| None` | `None` | Utilisez un ID de session spécifique au lieu d'un généré automatiquement. Doit être un UUID valide. Ne peut pas être combiné avec `continue_conversation` ou `resume` sauf si `fork_session` est également défini |906| `session_id` | `str \| None` | `None` | Utilisez un ID de session spécifique au lieu d'un généré automatiquement. Doit être un UUID valide. Ne peut pas être combiné avec `continue_conversation` ou `resume` sauf si `fork_session` est également défini |

907| `max_turns` | `int \| None` | `None` | Nombre maximum de tours agentiques (allers-retours d'utilisation d'outils) |907| `max_turns` | `int \| None` | `None` | Nombre maximum de tours agentiques (allers-retours d'utilisation d'outils) |

908| `max_budget_usd` | `float \| None` | `None` | Arrêtez la requête quand l'estimation du coût côté client atteint cette valeur USD. Comparé à la même estimation que `total_cost_usd`. Pour les avertissements de précision et le comportement de réinitialisation, voir [Suivi du coût et de l'utilisation](/docs/fr/agent-sdk/cost-tracking) |908| `max_budget_usd` | `float \| None` | `None` | Arrêtez la requête quand l'estimation du coût côté client atteint cette valeur USD. Compte uniquement la dépense de l'appel lui-même ; les totaux restaurés à partir d'une session reprise ne comptent pas. Pour les avertissements de précision et le comportement de réinitialisation, voir [Suivi du coût et de l'utilisation](/docs/fr/agent-sdk/cost-tracking) |

909| `disallowed_tools` | `list[str]` | `[]` | Outils à refuser. Un nom simple tel que `"Bash"` supprime l'outil du contexte de Claude. Une règle délimitée telle que `"Bash(rm *)"` laisse l'outil disponible et refuse les appels correspondants dans chaque mode de permission, y compris `bypassPermissions`, pour la commande [telle qu'écrite](/docs/fr/permissions#bash-rule-limits). Voir [Permissions](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) |909| `disallowed_tools` | `list[str]` | `[]` | Outils à refuser. Un nom simple tel que `"Bash"` supprime l'outil du contexte de Claude. Une règle délimitée telle que `"Bash(rm *)"` laisse l'outil disponible et refuse les appels correspondants dans chaque mode de permission, y compris `bypassPermissions`, pour la commande [telle qu'écrite](/docs/fr/permissions#bash-rule-limits). Voir [Permissions](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) |

910| `enable_file_checkpointing` | `bool` | `False` | Activez le suivi des modifications de fichiers pour le rembobinage. Voir [Sauvegarde de points de contrôle de fichiers](/docs/fr/agent-sdk/file-checkpointing) |910| `enable_file_checkpointing` | `bool` | `False` | Activez le suivi des modifications de fichiers pour le rembobinage. Voir [Sauvegarde de points de contrôle de fichiers](/docs/fr/agent-sdk/file-checkpointing) |

911| `model` | `str \| None` | `None` | Alias de modèle Claude ou nom de modèle complet. Voir [valeurs acceptées et identifiants spécifiques au fournisseur](/docs/fr/model-config#available-models) |911| `model` | `str \| None` | `None` | Alias de modèle Claude ou nom de modèle complet. Voir [valeurs acceptées et identifiants spécifiques au fournisseur](/docs/fr/model-config#available-models) |


1487Utilisez avec le champ `betas` dans `ClaudeAgentOptions` pour activer les fonctionnalités bêta.1487Utilisez avec le champ `betas` dans `ClaudeAgentOptions` pour activer les fonctionnalités bêta.

1488 1488 

1489<Warning>1489<Warning>

1490 La bêta `context-1m-2025-08-07` est retirée à partir du 30 avril 2026. Passer cet en-tête avec Claude Sonnet 4.5 ou Sonnet 4 n'a aucun effet, et les requêtes qui dépassent la fenêtre de contexte standard de 200 000 tokens retournent une erreur. Pour utiliser une fenêtre de contexte de 1 million de tokens, migrez vers [Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, ou Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), qui incluent 1 million de contexte à prix standard sans en-tête bêta requis.1490 La bêta `context-1m-2025-08-07` est retirée à partir du 30 avril 2026. Passer cet en-tête avec Claude Sonnet 4.5 ou Sonnet 4 n'a aucun effet, et les requêtes qui dépassent la fenêtre de contexte standard de 200 000 tokens retournent une erreur. Pour utiliser une fenêtre de contexte de 1 million de tokens, migrez vers [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7, ou Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), qui incluent 1 million de contexte à prix standard sans en-tête bêta requis.

1491</Warning>1491</Warning>

1492 1492 

1493<h3 id="mcpsdkserverconfig">1493<h3 id="mcpsdkserverconfig">


1799 1799 

1800Le dict `model_usage` mappe les noms de modèles à l'utilisation par modèle. Il couvre chaque appel de modèle effectué via le pipeline de requête : la boucle principale, les sous-agents, et les appels internes tels que la compaction et les agents Workflow. Les appels d'assistance en dehors de ce pipeline, tels que le classificateur de permission et les demandes de comptage de tokens, sont exclus de `model_usage`. Traitez `model_usage` comme une estimation, pas une déclaration de facturation.1800Le dict `model_usage` mappe les noms de modèles à l'utilisation par modèle. Il couvre chaque appel de modèle effectué via le pipeline de requête : la boucle principale, les sous-agents, et les appels internes tels que la compaction et les agents Workflow. Les appels d'assistance en dehors de ce pipeline, tels que le classificateur de permission et les demandes de comptage de tokens, sont exclus de `model_usage`. Traitez `model_usage` comme une estimation, pas une déclaration de facturation.

1801 1801 

1802En [mode d'entrée en streaming](/docs/fr/agent-sdk/streaming-vs-single-mode), `model_usage` et `total_cost_usd` sont cumulatifs entre les tours, donc lisez le dernier résultat plutôt que de faire la somme entre les résultats. Voir [Suivre les coûts en mode d'entrée en streaming](/docs/fr/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) pour les réinitialisations et [Récupérer les totaux après un crash de session](/docs/fr/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) pour les résultats remis à zéro.1802En [mode d'entrée en streaming](/docs/fr/agent-sdk/streaming-vs-single-mode), `model_usage` et `total_cost_usd` sont cumulatifs entre les tours, donc lisez le dernier résultat plutôt que de faire la somme entre les résultats. Un appel qui reprend une session compte également les [totaux restaurés à partir des appels antérieurs de la session](/docs/fr/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Voir [Suivre les coûts en mode d'entrée en streaming](/docs/fr/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) pour les réinitialisations et [Récupérer les totaux après un crash de session](/docs/fr/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) pour les résultats remis à zéro.

1803 1803 

1804Chaque valeur dans `model_usage` est un TypedDict `ModelUsage`, importé via `from claude_agent_sdk.types import ModelUsage`. Ses clés utilisent camelCase car le SDK transmet la valeur inchangée du processus CLI sous-jacent, correspondant au type TypeScript [`ModelUsage`](/docs/fr/agent-sdk/typescript#modelusage) :1804Chaque valeur dans `model_usage` est un TypedDict `ModelUsage`, importé via `from claude_agent_sdk.types import ModelUsage`. Ses clés utilisent camelCase car le SDK transmet la valeur inchangée du processus CLI sous-jacent, correspondant au type TypeScript [`ModelUsage`](/docs/fr/agent-sdk/typescript#modelusage) :

1805 1805 


2923 "command": str | None, # Shell script; each stdout line is an event, exit ends the watch2923 "command": str | None, # Shell script; each stdout line is an event, exit ends the watch

2924 "ws": dict | None, # WebSocket source: {"url": str, "protocols": list[str] | None}; each text frame is an event2924 "ws": dict | None, # WebSocket source: {"url": str, "protocols": list[str] | None}; each text frame is an event

2925 "description": str, # Short description shown in notifications2925 "description": str, # Short description shown in notifications

2926 "timeout_ms": int | None, # Kill after this deadline (default 300000, max 3600000)2926 "timeout_ms": int | None, # Deadline in milliseconds (default 300000, max 3600000; the effective deadline is at most 1800000)

2927 "persistent": bool | None, # Run for the lifetime of the session; stop with TaskStop

2928}2927}

2929```2928```

2930 2929 


2933```python theme={null}2932```python theme={null}

2934{2933{

2935 "taskId": str, # ID of the background monitor task2934 "taskId": str, # ID of the background monitor task

2936 "timeoutMs": int, # Timeout deadline in milliseconds (0 when persistent)2935 "timeoutMs": int, # The watch's effective deadline in milliseconds

2937 "persistent": bool | None, # True when running until TaskStop or session end2936 "persistent": bool | None, # False: every watch has a deadline

2938}2937}

2939```2938```

2940 2939 


3350 TaskOutput3349 TaskOutput

3351</h3>3350</h3>

3352 3351 

3353**Nom de l'outil :** `TaskOutput`. Le nom précédent `BashOutput` est toujours accepté comme alias.3352Supprimé dans Claude Code v2.1.277. Précédemment récupéré la sortie d'une tâche de fond en cours d'exécution ou terminée, avec `BashOutput` accepté comme alias ; Claude lit le fichier de sortie d'une tâche de fond avec `Read` à la place.

3354 3353 

3355<Note>`TaskOutput` est déprécié ; préférez `Read` sur le chemin du fichier de sortie de la tâche. Les schémas ci-dessous restent valides pour les hooks et les gestionnaires de permission qui rencontrent l'outil.</Note>3354Une entrée `disallowed_tools` ou une règle de refus qui nomme toujours l'un ou l'autre nom est ignorée sans avertissement.

3356 

3357**Entrée :**

3358 

3359```python theme={null}

3360{

3361 "task_id": str, # The task ID to get output from

3362 "block": bool, # Whether to wait for completion (default True)

3363 "timeout": int, # Max wait time in ms (default 30000)

3364}

3365```

3366 

3367**Sortie :**

3368 

3369```python theme={null}

3370{

3371 "retrieval_status": "success" | "timeout" | "not_ready", # Whether the output was retrieved

3372 "task": dict | None, # Task details: task_id, task_type, status, description, output, plus type-specific fields such as exitCode

3373}

3374```

3375 3355 

3376<h3 id="taskstop">3356<h3 id="taskstop">

3377 TaskStop3357 TaskStop


3629```3609```

3630 3610 

3631| Propriété | Type | Par défaut | Description |3611| Propriété | Type | Par défaut | Description |

3632| :-------------------------- | :---------------------------------------------------- | :--------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3612| :-------------------------- | :---------------------------------------------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3633| `enabled` | `bool` | `False` | Activez le mode sandbox pour l'exécution des commandes |3613| `enabled` | `bool` | `False` | Activez le mode sandbox pour l'exécution des commandes |

3634| `autoAllowBashIfSandboxed` | `bool` | `True` | Approuvez automatiquement les commandes bash quand le sandbox est activé |3614| `autoAllowBashIfSandboxed` | `bool` | `True` | Approuvez automatiquement les commandes bash quand le sandbox est activé |

3635| `excludedCommands` | `list[str]` | `[]` | Commandes qui contournent toujours les restrictions du sandbox (par exemple, `["docker"]`). Celles-ci s'exécutent sans sandbox automatiquement sans implication du modèle |3615| `excludedCommands` | `list[str]` | `[]` | Commandes qui contournent les restrictions du sandbox, telles que `["docker *"]`. Celles-ci s'exécutent sans sandbox automatiquement sans implication du modèle ; [`sandbox.excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands) couvre quand une entrée s'applique |

3636| `allowUnsandboxedCommands` | `bool` | `True` | Permettez au modèle de demander l'exécution de commandes en dehors du sandbox. Quand `True`, le modèle peut définir `dangerouslyDisableSandbox` dans l'entrée d'outil, qui revient au [système de permissions](#permissions-fallback-for-unsandboxed-commands) |3616| `allowUnsandboxedCommands` | `bool` | `True` | Permettez au modèle de demander l'exécution de commandes en dehors du sandbox. Quand `True`, le modèle peut définir `dangerouslyDisableSandbox` dans l'entrée d'outil, qui revient au [système de permissions](#permissions-fallback-for-unsandboxed-commands) |

3637| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `None` | Configuration de sandbox spécifique au réseau |3617| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `None` | Configuration de sandbox spécifique au réseau |

3638| `ignoreViolations` | [`SandboxIgnoreViolations`](#sandboxignoreviolations) | `None` | Configurez quelles violations de sandbox ignorer |3618| `ignoreViolations` | [`SandboxIgnoreViolations`](#sandboxignoreviolations) | `None` | Configurez quelles violations de sandbox ignorer |


3737 Fallback de permissions pour les commandes sans sandbox3717 Fallback de permissions pour les commandes sans sandbox

3738</h3>3718</h3>

3739 3719 

3740Quand `allowUnsandboxedCommands` est activé, le modèle peut demander l'exécution de commandes en dehors du sandbox en définissant `dangerouslyDisableSandbox: True` dans l'entrée d'outil. Ces requêtes reviennent au système de permissions existant, ce qui signifie que votre gestionnaire `can_use_tool` sera invoqué, vous permettant d'implémenter une logique d'autorisation personnalisée. Les commandes listées dans `excludedCommands` contournent à la place le sandbox automatiquement, sans implication du modèle ; voir [`SandboxSettings`](#sandboxsettings).3720Quand `allowUnsandboxedCommands` est activé, le modèle peut demander l'exécution de commandes en dehors du sandbox en définissant `dangerouslyDisableSandbox: True` dans l'entrée d'outil. Ces requêtes reviennent au système de permissions existant, ce qui signifie que votre gestionnaire `can_use_tool` sera invoqué, vous permettant d'implémenter une logique d'autorisation personnalisée.

3721 

3722Vos entrées `excludedCommands` prennent à la place une sortie du sandbox sans implication du modèle ; [`sandbox.excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands) couvre quand une entrée s'applique.

3741 3723 

3742L'exemple suivant enregistre chaque requête sans sandbox et la refuse sauf si votre propre logique d'autorisation l'autorise :3724L'exemple suivant enregistre chaque requête sans sandbox et la refuse sauf si votre propre logique d'autorisation l'autorise :

3743 3725 

Details

648| :---------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |648| :---------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

649| Profondeur | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/fr/env-vars) | `3` couches de sous-agents en dessous de votre agent principal. `1` empêche vos sous-agents de créer les leurs | Laisse un sous-agent à la couche inférieure incapable de créer un sous-agent, il effectue donc lui-même son travail délégué. Voir [sous-agents imbriqués](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) |649| Profondeur | [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/fr/env-vars) | `3` couches de sous-agents en dessous de votre agent principal. `1` empêche vos sous-agents de créer les leurs | Laisse un sous-agent à la couche inférieure incapable de créer un sous-agent, il effectue donc lui-même son travail délégué. Voir [sous-agents imbriqués](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) |

650| Concurrence | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/fr/env-vars) | `20` sous-agents s'exécutant simultanément, en comptant chaque sous-agent que Claude crée avec l'outil Agent | Refuse de créer un autre sous-agent, en retournant `Concurrent subagent limit reached`, jusqu'à ce que le nombre en cours d'exécution tombe en dessous de la limite. Les sessions avec [ultracode](/docs/fr/model-config#adjust-effort-level) actif ne sont jamais refusées. Voir la [limite de sous-agents concurrents](/docs/fr/sub-agents#concurrent-subagent-limit) |650| Concurrence | [`CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS`](/docs/fr/env-vars) | `20` sous-agents s'exécutant simultanément, en comptant chaque sous-agent que Claude crée avec l'outil Agent | Refuse de créer un autre sous-agent, en retournant `Concurrent subagent limit reached`, jusqu'à ce que le nombre en cours d'exécution tombe en dessous de la limite. Les sessions avec [ultracode](/docs/fr/model-config#adjust-effort-level) actif ne sont jamais refusées. Voir la [limite de sous-agents concurrents](/docs/fr/sub-agents#concurrent-subagent-limit) |

651| Dépenses | `maxBudgetUsd` en TypeScript, `max_budget_usd` en Python | Pas de limite. Comparé à `total_cost_usd`, donc les requêtes de sous-agents comptent | Applique la limite de trois façons : refuse de créer d'autres sous-agents, en retournant `Budget limit reached`, arrête les sous-agents en arrière-plan qui s'exécutent toujours, et termine la requête avec le sous-type de résultat `error_max_budget_usd`. Pour savoir comment les limites se comportent au cours d'une session, voir [tours et budget](/docs/fr/agent-sdk/agent-loop#turns-and-budget) |651| Dépenses | `maxBudgetUsd` en TypeScript, `max_budget_usd` en Python | Pas de limite. Compte les dépenses de l'appel lui-même, requêtes de sous-agents incluses | Applique la limite de trois façons : refuse de créer d'autres sous-agents, en retournant `Budget limit reached`, arrête les sous-agents en arrière-plan qui s'exécutent toujours, et termine la requête avec le sous-type de résultat `error_max_budget_usd`. Pour savoir comment les limites se comportent au cours d'une session, voir [tours et budget](/docs/fr/agent-sdk/agent-loop#turns-and-budget) |

652 652 

653Les deux SDK traitent l'option `env` différemment : le SDK TypeScript remplace l'environnement du sous-processus par celui-ci, donc propagez `process.env` dedans pour conserver les variables comme `PATH`, tandis que le SDK Python le fusionne dans l'environnement hérité. Cet exemple désactive l'imbrication, autorise au maximum cinq sous-agents à la fois, et arrête la requête une fois que les dépenses estimées atteignent 5 \$ :653Les deux SDK traitent l'option `env` différemment : le SDK TypeScript remplace l'environnement du sous-processus par celui-ci, donc propagez `process.env` dedans pour conserver les variables comme `PATH`, tandis que le SDK Python le fusionne dans l'environnement hérité. Cet exemple désactive l'imbrication, autorise au maximum cinq sous-agents à la fois, et arrête la requête une fois que les dépenses estimées atteignent 5 \$ :

654 654 


747 747 

748Si Claude complète les tâches directement au lieu de déléguer à votre sous-agent :748Si Claude complète les tâches directement au lieu de déléguer à votre sous-agent :

749 749 

750* **Utilisez des invites explicites** : mentionnez le sous-agent par son nom dans votre invite, par exemple « Utilisez l'agent code-reviewer pour... »750* **Utilisez des invites explicites** : mentionnez le sous-agent par son nom dans votre invite, par exemple « Utilisez l'agent code-reviewer pour vérifier le module d'authentification »

751* **Écrivez une description claire** : expliquez exactement quand utiliser le sous-agent pour que Claude puisse faire correspondre les tâches de manière appropriée751* **Écrivez une description claire** : expliquez exactement quand utiliser le sous-agent pour que Claude puisse faire correspondre les tâches de manière appropriée

752 752 

753<h3 id="filesystem-based-agents-not-loading">753<h3 id="filesystem-based-agents-not-loading">

Details

309| `uuid` | `string` | Identifiant de message unique |309| `uuid` | `string` | Identifiant de message unique |

310| `session_id` | `string` | Session à laquelle ce message appartient |310| `session_id` | `string` | Session à laquelle ce message appartient |

311| `message` | `unknown` | Charge utile de message brute de la transcription |311| `message` | `unknown` | Charge utile de message brute de la transcription |

312| `parent_tool_use_id` | `string \| null` | Pour les messages de sous-agent, le `tool_use_id` de l'appel d'outil `Agent` qui l'a généré. `null` pour les messages de session principale et les sessions plus anciennes |312| `parent_tool_use_id` | `string \| null` | Pour les messages de sous-agent, le `tool_use_id` de l'appel d'outil `Agent` ou `Skill` qui l'a généré. `null` pour les messages de session principale et les sessions plus anciennes |

313| `parent_agent_id` | `string \| null` | Pour les messages d'un [sous-agent imbriqué](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents), le `agentId` du sous-agent qui l'a généré. `null` pour les messages de session principale, les messages des sous-agents de niveau supérieur et les sessions plus anciennes. Nécessite Claude Code v2.1.202 ou ultérieur |313| `parent_agent_id` | `string \| null` | Pour les messages d'un [sous-agent imbriqué](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents), le `agentId` du sous-agent qui l'a généré. `null` pour les messages de session principale, les messages des sous-agents de niveau supérieur et les sessions plus anciennes. Nécessite Claude Code v2.1.202 ou ultérieur |

314 314 

315<h4 id="example-3">315<h4 id="example-3">


504| `extraArgs` | `Record<string, string \| null>` | `{}` | Arguments supplémentaires |504| `extraArgs` | `Record<string, string \| null>` | `{}` | Arguments supplémentaires |

505| `fallbackModel` | `string` | `undefined` | Modèle à utiliser si le principal échoue. Accepte une liste séparée par des virgules. Pour l'ordre et le plafond, voir [Chaînes de modèle de secours](/docs/fr/model-config#fallback-model-chains). Pour des conseils, voir [Choisir un modèle](/docs/fr/agent-sdk/configuration#choose-a-model) |505| `fallbackModel` | `string` | `undefined` | Modèle à utiliser si le principal échoue. Accepte une liste séparée par des virgules. Pour l'ordre et le plafond, voir [Chaînes de modèle de secours](/docs/fr/model-config#fallback-model-chains). Pour des conseils, voir [Choisir un modèle](/docs/fr/agent-sdk/configuration#choose-a-model) |

506| `forkSession` | `boolean` | `false` | Lors de la reprise avec `resume`, bifurquer vers un nouvel ID de session au lieu de continuer la session d'origine |506| `forkSession` | `boolean` | `false` | Lors de la reprise avec `resume`, bifurquer vers un nouvel ID de session au lieu de continuer la session d'origine |

507| `forwardSubagentText` | `boolean` | `false` | Transférer les blocs de texte et de réflexion des sous-agents en tant que messages assistant et utilisateur avec `parent_tool_use_id` défini, pour que les consommateurs puissent afficher une transcription imbriquée. Sans cette option, Claude Code émet les blocs `tool_use` et `tool_result` des sous-agents mais pas le texte ou la réflexion. Les messages des sous-agents à chaque profondeur d'imbrication sont transférés sur Claude Code v2.1.219 et ultérieur ; avant v2.1.219, seuls les messages des sous-agents de profondeur 1 apparaissaient |507| `forwardSubagentText` | `boolean` | `false` | Transférer les blocs de texte et de réflexion des sous-agents en tant que messages assistant et utilisateur avec `parent_tool_use_id` défini, pour que les consommateurs puissent afficher une transcription imbriquée. Sans cette option, Claude Code émet les blocs `tool_use` et `tool_result` des sous-agents mais pas le texte ou la réflexion. Les messages des sous-agents à chaque profondeur d'imbrication sont transférés sur Claude Code v2.1.219 et ultérieur ; avant v2.1.219, seuls les messages des sous-agents de profondeur 1 apparaissaient. Les messages des sous-agents qu'une compétence bifurquée génère, et des compétences bifurquées imbriquées, nécessitent v2.1.275 ou ultérieur |

508| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Rappels de hook pour les événements |508| `hooks` | `Partial<Record<`[`HookEvent`](#hookevent)`, `[`HookCallbackMatcher`](#hookcallbackmatcher)`[]>>` | `{}` | Rappels de hook pour les événements |

509| `includeHookEvents` | `boolean` | `false` | Inclure les événements du cycle de vie du hook dans le flux de messages en tant que [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage), et [`SDKHookResponseMessage`](#sdkhookresponsemessage). Les événements du cycle de vie pour les hooks `SessionStart` et `Setup` sont toujours inclus et n'ont pas besoin de cette option. Certains événements de hook, tels que `Notification`, `SessionEnd`, `PreCompact`, et `PostCompact`, ne produisent jamais un `SDKHookStartedMessage`, même avec cette option. Pour ceux-ci, Claude Code émet toujours un `SDKHookProgressMessage` tandis qu'un hook de commande qui s'exécute pendant plus d'une seconde produit une sortie, et émet un `SDKHookResponseMessage` uniquement quand un hook [qui s'exécute en arrière-plan](/docs/fr/hooks#run-hooks-in-the-background) se termine |509| `includeHookEvents` | `boolean` | `false` | Inclure les événements du cycle de vie du hook dans le flux de messages en tant que [`SDKHookStartedMessage`](#sdkhookstartedmessage), [`SDKHookProgressMessage`](#sdkhookprogressmessage), et [`SDKHookResponseMessage`](#sdkhookresponsemessage). Les événements du cycle de vie pour les hooks `SessionStart` et `Setup` sont toujours inclus et n'ont pas besoin de cette option. Certains événements de hook, tels que `Notification`, `SessionEnd`, `PreCompact`, et `PostCompact`, ne produisent jamais un `SDKHookStartedMessage`, même avec cette option. Pour ceux-ci, Claude Code émet toujours un `SDKHookProgressMessage` tandis qu'un hook de commande qui s'exécute pendant plus d'une seconde produit une sortie, et émet un `SDKHookResponseMessage` uniquement quand un hook [qui s'exécute en arrière-plan](/docs/fr/hooks#run-hooks-in-the-background) se termine |

510| `includePartialMessages` | `boolean` | `false` | Inclure les événements de message partiel |510| `includePartialMessages` | `boolean` | `false` | Inclure les événements de message partiel |


525| `persistSession` | `boolean` | `true` | Quand `false`, désactive la persistance de session sur disque. Les sessions ne peuvent pas être reprises plus tard |525| `persistSession` | `boolean` | `true` | Quand `false`, désactive la persistance de session sur disque. Les sessions ne peuvent pas être reprises plus tard |

526| `planModeInstructions` | `string` | `undefined` | Instructions de flux de travail personnalisées pour le mode plan. Quand `permissionMode` est `'plan'`, cette chaîne remplace le corps du flux de travail du mode plan par défaut. La CLI l'enveloppe toujours avec le préambule d'application en lecture seule et le pied de page du protocole ExitPlanMode |526| `planModeInstructions` | `string` | `undefined` | Instructions de flux de travail personnalisées pour le mode plan. Quand `permissionMode` est `'plan'`, cette chaîne remplace le corps du flux de travail du mode plan par défaut. La CLI l'enveloppe toujours avec le préambule d'application en lecture seule et le pied de page du protocole ExitPlanMode |

527| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Charger les plugins personnalisés à partir de chemins locaux. Voir [Plugins](/docs/fr/agent-sdk/plugins) pour les détails |527| `plugins` | [`SdkPluginConfig`](#sdkpluginconfig)`[]` | `[]` | Charger les plugins personnalisés à partir de chemins locaux. Voir [Plugins](/docs/fr/agent-sdk/plugins) pour les détails |

528| `projectConfigRoot` | `string` | `undefined` | Chemin absolu du checkout de confiance dont `cwd` est une worktree. Claude Code lit les paramètres du projet, `.mcp.json`, et les commandes, agents, compétences, workflows, routines et styles de sortie du projet `.claude/` à partir de ce répertoire au lieu de `cwd`, et définit `CLAUDE_PROJECT_DIR` sur celui-ci. Les hooks, les scripts d'aide tels que `apiKeyHelper`, et les serveurs MCP stdio commencent avec ce répertoire comme répertoire de travail. Les fichiers `CLAUDE.md` et `.claude/rules/` se chargent toujours à partir de `cwd`. Nécessite Claude Code v2.1.275 ou ultérieur |

528| `promptSuggestions` | `boolean` | `false` | Activer les suggestions d'invite. Après un tour, Claude Code émet un message `prompt_suggestion` portant une invite utilisateur suivante prédite. Claude Code ne génère aucune suggestion pour certains tours, comme quand votre compte est proche ou à sa limite d'utilisation. Voir [Quand Claude Code ignore les suggestions](/docs/fr/interactive-mode#when-claude-code-skips-suggestions) |529| `promptSuggestions` | `boolean` | `false` | Activer les suggestions d'invite. Après un tour, Claude Code émet un message `prompt_suggestion` portant une invite utilisateur suivante prédite. Claude Code ne génère aucune suggestion pour certains tours, comme quand votre compte est proche ou à sa limite d'utilisation. Voir [Quand Claude Code ignore les suggestions](/docs/fr/interactive-mode#when-claude-code-skips-suggestions) |

529| `resume` | `string` | `undefined` | ID de session à reprendre |530| `resume` | `string` | `undefined` | ID de session à reprendre |

530| `resumeDropsTurn` | `string` | `undefined` | Avec `resumeSessionAt` : l'UUID du tour que la reprise tronquée a l'intention de rejeter. Claude Code refuse la reprise quand la plage rejetée contient quelque chose non attribuable à ce tour, comme des messages en attente absorbés ou des notifications de tâche, et nomme le drapeau `--resume-drops-turn` dans le message de rejet. Seul l'Agent SDK et les reprises en mode impression lisent la paire. Nécessite Claude Code v2.1.223 ou ultérieur |531| `resumeDropsTurn` | `string` | `undefined` | Avec `resumeSessionAt` : l'UUID du tour que la reprise tronquée a l'intention de rejeter. Claude Code refuse la reprise quand la plage rejetée contient quelque chose non attribuable à ce tour, comme des messages en attente absorbés ou des notifications de tâche, et nomme le drapeau `--resume-drops-turn` dans le message de rejet. Seul l'Agent SDK et les reprises en mode impression lisent la paire. Nécessite Claude Code v2.1.223 ou ultérieur |


600 : Settings[K] | null;601 : Settings[K] | null;

601 }): Promise<void>;602 }): Promise<void>;

602 updateSettings(603 updateSettings(

603 source: 'localSettings',604 source: 'localSettings' | 'userSettings',

604 settings: Record<string, unknown>,605 settings: Record<string, unknown>,

605 ): Promise<void>;606 ): Promise<void>;

606 initializationResult(): Promise<SDKControlInitializeResponse>;607 initializationResult(): Promise<SDKControlInitializeResponse>;


621 reconnectMcpServer(serverName: string): Promise<void>;622 reconnectMcpServer(serverName: string): Promise<void>;

622 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;623 toggleMcpServer(serverName: string, enabled: boolean): Promise<void>;

623 setMcpServers(servers: Record<string, McpServerConfig>): Promise<McpSetServersResult>;624 setMcpServers(servers: Record<string, McpServerConfig>): Promise<McpSetServersResult>;

625 readMcpResource(serverName: string, uri: string): Promise<SDKControlMcpReadResourceResponse>;

624 streamInput(stream: AsyncIterable<SDKUserMessage>): Promise<void>;626 streamInput(stream: AsyncIterable<SDKUserMessage>): Promise<void>;

625 stopTask(taskId: string): Promise<void>;627 stopTask(taskId: string): Promise<void>;

626 close(): void;628 close(): void;


639| `setModel()` | Change le modèle (disponible uniquement en mode d'entrée en diffusion). Passer `undefined` ou la chaîne `"default"` réinitialise au [modèle par défaut de Claude Code](/docs/fr/model-config) |641| `setModel()` | Change le modèle (disponible uniquement en mode d'entrée en diffusion). Passer `undefined` ou la chaîne `"default"` réinitialise au [modèle par défaut de Claude Code](/docs/fr/model-config) |

640| `setMaxThinkingTokens()` | *Déprécié :* Utilisez l'option `thinking` à la place. Change les tokens de réflexion maximum. Passer `null` réinitialise la réflexion à la valeur par défaut de la session : un remplacement en milieu de session est effacé, et la réflexion reste désactivée pour les sessions qui l'ont désactivée |642| `setMaxThinkingTokens()` | *Déprécié :* Utilisez l'option `thinking` à la place. Change les tokens de réflexion maximum. Passer `null` réinitialise la réflexion à la valeur par défaut de la session : un remplacement en milieu de session est effacé, et la réflexion reste désactivée pour les sessions qui l'ont désactivée |

641| `applyFlagSettings(settings)` | Fusionne les paramètres dans la couche de paramètres d'indicateur de la session à l'exécution (disponible uniquement en mode d'entrée en diffusion). Voir [`applyFlagSettings()`](#applyflagsettings) |643| `applyFlagSettings(settings)` | Fusionne les paramètres dans la couche de paramètres d'indicateur de la session à l'exécution (disponible uniquement en mode d'entrée en diffusion). Voir [`applyFlagSettings()`](#applyflagsettings) |

642| `updateSettings(source, settings)` | Fusionne les paramètres dans le fichier de paramètres locaux du projet, `.claude/settings.local.json` ; ils prennent effet à la requête suivante. Accepte uniquement `source: 'localSettings'` et un ensemble de clés autorisées, actuellement `outputStyle`, avec des valeurs de chaîne ; la suppression d'une clé n'est pas prise en charge. Rejette sur les transports distants et dans les sessions dont [`settingSources`](#options) excluent `local`. Nécessite TypeScript SDK v0.3.257 ou ultérieur, qui regroupe Claude Code v2.1.257 |644| `updateSettings(source, settings)` | Écrit une clé autorisée dans le fichier de paramètres locaux du projet ou votre fichier de paramètres utilisateur, pour que la valeur persiste pour les sessions ultérieures. Voir [`updateSettings()`](#updatesettings). Nécessite TypeScript SDK v0.3.257 ou ultérieur, qui regroupe Claude Code v2.1.257 |

643| `initializationResult()` | Retourne le résultat d'initialisation complet incluant les commandes prises en charge, les modèles, les informations de compte et la configuration du style de sortie |645| `initializationResult()` | Retourne le résultat d'initialisation complet incluant les commandes prises en charge, les modèles, les informations de compte et la configuration du style de sortie |

644| `reinitialize()` | Renvoie la demande de contrôle `initialize` au CLI en cours d'exécution et retourne un résultat frais au lieu du résultat de première connexion mis en cache. Utilisez-le après une interruption de transport, comme se reconnecter à une session après une déconnexion, pour que les demandes de permission en attente atteignent à nouveau votre rappel `canUseTool`. Rendez le rappel idempotent par ID de requête, car une requête dont la réponse a été perdue est distribuée à nouveau. Nécessite Claude Code v2.1.195 ou ultérieur |646| `reinitialize()` | Renvoie la demande de contrôle `initialize` au CLI en cours d'exécution et retourne un résultat frais au lieu du résultat de première connexion mis en cache. Utilisez-le après une interruption de transport, comme se reconnecter à une session après une déconnexion, pour que les demandes de permission en attente atteignent à nouveau votre rappel `canUseTool`. Rendez le rappel idempotent par ID de requête, car une requête dont la réponse a été perdue est distribuée à nouveau. Nécessite Claude Code v2.1.195 ou ultérieur |

645| `supportedCommands()` | Retourne les commandes disponibles. À partir d'Agent SDK v0.3.216, la liste reflète les changements de commande en milieu de session ; voir [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |647| `supportedCommands()` | Retourne les commandes disponibles. À partir d'Agent SDK v0.3.216, la liste reflète les changements de commande en milieu de session ; voir [`SDKCommandsChangedMessage`](#sdkcommandschangedmessage) |

646| `supportedModels()` | Retourne les modèles disponibles avec les informations d'affichage |648| `supportedModels()` | Retourne les modèles disponibles avec les informations d'affichage |

647| `supportedAgents()` | Retourne les sous-agents disponibles en tant que [`AgentInfo`](#agentinfo)`[]` |649| `supportedAgents()` | Retourne les sous-agents disponibles en tant que [`AgentInfo`](#agentinfo)`[]` |

648| `mcpServerStatus()` | Retourne l'état des serveurs MCP connectés |650| `mcpServerStatus()` | Retourne l'état des serveurs MCP connectés en tant que [`McpServerStatus`](#mcpserverstatus)`[]` |

649| `getContextUsage(opts?)` | Retourne une [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) ventilant l'utilisation de la fenêtre de contexte de la session par catégorie, compétence et outil. Avec la valeur par défaut `detail`, c'est les mêmes données que `/context` affiche dans une session interactive. L'[option `detail`](#sdkcontrolgetcontextusageresponse) nécessite Agent SDK v0.3.257 ou ultérieur |651| `getContextUsage(opts?)` | Retourne une [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse) ventilant l'utilisation de la fenêtre de contexte de la session par catégorie, compétence et outil. Avec la valeur par défaut `detail`, c'est les mêmes données que `/context` affiche dans une session interactive. L'[option `detail`](#sdkcontrolgetcontextusageresponse) nécessite Agent SDK v0.3.257 ou ultérieur |

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

651| `reloadSkills()` | Recharge les compétences à partir du disque, donc les compétences que vous ajoutez ou modifiez en milieu de session deviennent disponibles pour la session en cours d'exécution. Se résout avec une [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) listant les compétences disponibles après le rechargement. Nécessite Agent SDK v0.3.163 ou ultérieur |653| `reloadSkills()` | Recharge les compétences à partir du disque, donc les compétences que vous ajoutez ou modifiez en milieu de session deviennent disponibles pour la session en cours d'exécution. Se résout avec une [`SDKControlReloadSkillsResponse`](#sdkcontrolreloadskillsresponse) listant les compétences disponibles après le rechargement. Nécessite Agent SDK v0.3.163 ou ultérieur |


653| `reconnectMcpServer(serverName)` | Reconnecter un serveur MCP par nom. Si le nom correspond également à une entrée dans un fichier de paramètres tel que `.mcp.json` ou `~/.claude.json`, Claude Code reconnecte le serveur que vous avez configuré via [`mcpServers`](#options) ou `setMcpServers()`, pas l'entrée du fichier de paramètres. Cet ordre de résolution nécessite Claude Code v2.1.257 ou ultérieur |655| `reconnectMcpServer(serverName)` | Reconnecter un serveur MCP par nom. Si le nom correspond également à une entrée dans un fichier de paramètres tel que `.mcp.json` ou `~/.claude.json`, Claude Code reconnecte le serveur que vous avez configuré via [`mcpServers`](#options) ou `setMcpServers()`, pas l'entrée du fichier de paramètres. Cet ordre de résolution nécessite Claude Code v2.1.257 ou ultérieur |

654| `toggleMcpServer(serverName, enabled)` | Activer ou désactiver un serveur MCP par nom, avec la même résolution de nom que `reconnectMcpServer()`. La désactivation déconnecte le serveur |656| `toggleMcpServer(serverName, enabled)` | Activer ou désactiver un serveur MCP par nom, avec la même résolution de nom que `reconnectMcpServer()`. La désactivation déconnecte le serveur |

655| `setMcpServers(servers)` | Remplacer dynamiquement l'ensemble des serveurs MCP pour cette session. Se résout avec un [`McpSetServersResult`](#mcpsetserversresult) nommant les serveurs qui ont été ajoutés et supprimés, et toute erreur |657| `setMcpServers(servers)` | Remplacer dynamiquement l'ensemble des serveurs MCP pour cette session. Se résout avec un [`McpSetServersResult`](#mcpsetserversresult) nommant les serveurs qui ont été ajoutés et supprimés, et toute erreur |

658| `readMcpResource(serverName, uri)` | *Alpha.* Lit une ressource MCP Apps `ui://` à partir d'un serveur MCP connecté pour que votre application puisse afficher le widget d'un outil. Se résout avec une [`SDKControlMcpReadResourceResponse`](#sdkcontrolmcpreadresourceresponse). Nécessite TypeScript Agent SDK v0.3.280 ou ultérieur |

656| `streamInput(stream)` | Diffuser les messages d'entrée vers la requête pour les conversations multi-tours |659| `streamInput(stream)` | Diffuser les messages d'entrée vers la requête pour les conversations multi-tours |

657| `stopTask(taskId)` | Arrêter une tâche de fond en cours d'exécution par ID |660| `stopTask(taskId)` | Arrêter une tâche de fond en cours d'exécution par ID |

658| `close()` | Fermer la requête et terminer le processus sous-jacent. Termine de force la requête et nettoie toutes les ressources |661| `close()` | Fermer la requête et terminer le processus sous-jacent. Termine de force la requête et nettoie toutes les ressources |


673 676 

674Les valeurs sont écrites dans la couche de paramètres d'indicateur, la même couche que l'option `settings` en ligne de `query()` remplit au démarrage. C'est le même niveau que la [section de précédence sur la page](#settings-precedence) appelle les options programmatiques.677Les valeurs sont écrites dans la couche de paramètres d'indicateur, la même couche que l'option `settings` en ligne de `query()` remplit au démarrage. C'est le même niveau que la [section de précédence sur la page](#settings-precedence) appelle les options programmatiques.

675 678 

676Les appels successifs fusionnent superficiellement les clés de niveau supérieur. Un deuxième appel avec `{ permissions: {...} }` remplace l'objet `permissions` entier de l'appel précédent plutôt que de le fusionner profondément. Pour effacer une clé de la couche d'indicateur, passez `null` pour cette clé. La plupart des clés reviennent alors aux sources de précédence inférieure. Un `model` effacé réinitialise au [modèle par défaut de Claude Code](/docs/fr/model-config), même quand un fichier de paramètres définit `model`. Passer `undefined` n'a aucun effet car la sérialisation JSON le supprime.679Les appels successifs fusionnent superficiellement les clés de niveau supérieur. Un deuxième appel avec `{ permissions: {...} }` remplace l'objet `permissions` entier de l'appel précédent plutôt que de le fusionner profondément.

680 

681Pour effacer une clé que vous avez définie avec `applyFlagSettings()`, passez `null` pour cette clé. La plupart des clés reviennent alors d'abord à une valeur que l'option `settings` de `query()` a définie au démarrage, puis aux sources de précédence inférieure. Un `model` effacé réinitialise au [modèle par défaut de Claude Code](/docs/fr/model-config), même quand un fichier de paramètres définit `model`. Passer `undefined` n'a aucun effet car la sérialisation JSON le supprime.

682 

683Trois clés en plus de `model` réinitialisent l'état de session au lieu de revenir :

684 

685* `effortLevel: null` retourne la session au niveau d'effort par défaut du modèle, pas à l'option `effort` de `query()` ou un `effortLevel` d'un fichier de paramètres.

686* `agent: null` exécute le thread principal sans agent, à partir du tour suivant, plutôt que de restaurer l'option `agent` de `query()` ou un `agent` d'un fichier de paramètres. Si l'agent effacé avait appliqué son propre modèle, la session revient au modèle qu'elle a résolu au démarrage.

687* `ultracode: null` désactive ultracode, comme `false` le fait, plutôt que de restaurer une valeur `ultracode` d'un fichier de paramètres. La session conserve son niveau d'effort actuel, donc passez `effortLevel` dans le même appel pour le modifier.

677 688 

678Disponible uniquement en mode d'entrée en diffusion, la même contrainte que `setModel()` et `setPermissionMode()`.689Disponible uniquement en mode d'entrée en diffusion, la même contrainte que `setModel()` et `setPermissionMode()`.

679 690 


695 `applyFlagSettings()` est TypeScript uniquement. Le SDK Python n'expose pas de méthode équivalente.706 `applyFlagSettings()` est TypeScript uniquement. Le SDK Python n'expose pas de méthode équivalente.

696</Note>707</Note>

697 708 

709<h4 id="updatesettings">

710 `updateSettings()`

711</h4>

712 

713Écrit une clé autorisée dans un fichier de paramètres sur disque, pour que la valeur persiste pour les sessions ultérieures qui chargent cette source. Chaque source accepte une clé, avec une valeur de chaîne :

714 

715* **`"localSettings"`** : accepte `outputStyle` et le fusionne dans le fichier de paramètres locaux du projet, `.claude/settings.local.json`. Le nouveau style prend effet à la requête suivante de la session.

716* **`"userSettings"`** : accepte `effortLevel` et l'enregistre comme le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) par défaut pour le modèle actuel de la session, sous [`modelSettings`](/docs/fr/settings-reference#modelsettings) dans votre fichier de paramètres utilisateur. Passer `max` n'écrit rien, car `max` est session uniquement. La session en cours d'exécution conserve son niveau d'effort actuel de toute façon, donc appelez [`applyFlagSettings()`](#applyflagsettings) quand vous voulez aussi changer cela. Cette source nécessite TypeScript SDK v0.3.277 ou ultérieur, qui regroupe Claude Code v2.1.277.

717 

718L'appel rejette quand la requête porte une autre clé, quand la session s'exécute sur un transport distant, et quand [`settingSources`](#options) de la session excluent la source que vous nommez. La suppression d'une clé n'est pas prise en charge.

719 

698<h3 id="warmquery">720<h3 id="warmquery">

699 `WarmQuery`721 `WarmQuery`

700</h3>722</h3>


942 964 

943`skills` liste les compétences disponibles après le rechargement, dans la même forme [`SlashCommand`](#slashcommand) que `supportedCommands()` retourne.965`skills` liste les compétences disponibles après le rechargement, dans la même forme [`SlashCommand`](#slashcommand) que `supportedCommands()` retourne.

944 966 

967<h3 id="sdkcontrolmcpreadresourceresponse">

968 `SDKControlMcpReadResourceResponse`

969</h3>

970 

971Type de retour de [`readMcpResource()`](#query-object), portant le résultat `resources/read` du serveur MCP. Nécessite TypeScript Agent SDK v0.3.280 ou ultérieur.

972 

973```typescript theme={null}

974type SDKControlMcpReadResourceResponse = {

975 contents: {

976 uri: string;

977 mimeType?: string;

978 text?: string;

979 blob?: string;

980 _meta?: Record<string, unknown>;

981 }[];

982};

983```

984 

985Passez à `readMcpResource()` le nom du serveur tel que `mcpServerStatus()` le signale et un URI `ui://`, comme le `ui.resourceUri` qu'un outil déclare dans son [`_meta`](#mcpserverstatus). L'appel rejette pour tout autre schéma d'URI, pour un [serveur MCP SDK](#createsdkmcpserver) que votre application héberge elle-même, et pour un serveur qui n'est pas connecté. C'est disponible quand le message init's [`capabilities`](#sdksystemmessage) incluent `mcp_read_resource_v1`.

986 

987Chaque entrée `contents` est un élément de contenu tel que le serveur l'a envoyé. `blob` contient les données base64 pour un élément binaire, et `_meta` est le propre `_meta` de l'élément, où un serveur MCP Apps met le `ui.csp` et `ui.permissions` de la ressource. Le contenu est du HTML tiers non fiable, donc rendez-le dans un sandbox.

988 

945<h3 id="agentdefinition">989<h3 id="agentdefinition">

946 `AgentDefinition`990 `AgentDefinition`

947</h3>991</h3>


1321 `SDKAssistantMessage`1365 `SDKAssistantMessage`

1322</h3>1366</h3>

1323 1367 

1324Message de réponse assistant.1368Message de réponse de l'assistant.

1325 1369 

1326```typescript theme={null}1370```typescript theme={null}

1327type SDKAssistantMessage = {1371type SDKAssistantMessage = {

1328 type: "assistant";1372 type: "assistant";

1329 uuid: UUID;1373 uuid: UUID;

1330 session_id: string;1374 session_id: string;

1331 message: BetaMessage; // Du SDK Anthropic1375 message: BetaMessage; // From Anthropic SDK

1332 parent_tool_use_id: string | null;1376 parent_tool_use_id: string | null;

1333 error?: SDKAssistantMessageError;1377 error?: SDKAssistantMessageError;

1334 aborted?: true;1378 aborted?: true;


1341 1385 

1342Le champ `message` est un [`BetaMessage`](https://platform.claude.com/docs/fr/api/messages/create) du SDK Anthropic. Il inclut des champs comme `id`, `content`, `model`, `stop_reason` et `usage`.1386Le champ `message` est un [`BetaMessage`](https://platform.claude.com/docs/fr/api/messages/create) du SDK Anthropic. Il inclut des champs comme `id`, `content`, `model`, `stop_reason` et `usage`.

1343 1387 

1344`SDKAssistantMessageError` est l'un de : `'authentication_failed'`, `'oauth_org_not_allowed'`, `'account_on_hold'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, `'cloud_credential_error'` ou `'unknown'`. Quatre de ces valeurs signifient plus que leurs noms le disent :1388`SDKAssistantMessageError` est l'un des suivants : `'authentication_failed'`, `'oauth_org_not_allowed'`, `'account_on_hold'`, `'billing_error'`, `'rate_limit'`, `'overloaded'`, `'invalid_request'`, `'model_not_found'`, `'server_error'`, `'max_output_tokens'`, `'cloud_credential_error'`, ou `'unknown'`. Quatre de ces valeurs signifient plus que leurs noms ne l'indiquent :

1345 1389 

1346* `'model_not_found'` : le modèle sélectionné n'existe pas ou n'est pas disponible pour votre compte ou déploiement1390* `'model_not_found'` : le modèle sélectionné n'existe pas ou n'est pas disponible pour votre compte ou déploiement

1347* `'overloaded'` : l'API a retourné un 529 parce que le serveur est à pleine capacité, par opposition à `'rate_limit'`, qui est un 429 contre votre quota1391* `'overloaded'` : l'API a retourné un 529 parce que le serveur est à capacité, contrairement à `'rate_limit'`, qui est un 429 contre votre quota

1348* `'account_on_hold'` : [votre compte est suspendu](/docs/fr/errors#your-account-is-on-hold)1392* `'account_on_hold'` : [votre compte est suspendu](/docs/fr/errors#your-account-is-on-hold)

1349* `'cloud_credential_error'` : Claude Code n'a pas pu obtenir des identifiants AWS ou Google Cloud utilisables sur la machine sur laquelle il s'exécute, donc aucune demande n'a atteint le fournisseur cloud. La cause habituelle est une connexion cloud qui a expiré ou n'a jamais été complétée sur cette machine, bien qu'un service d'identifiants brièvement inaccessible rapporte la même valeur. Voir [Impossible de charger les identifiants AWS ou Google Cloud](/docs/fr/errors#could-not-load-aws-or-google-cloud-credentials). Nécessite TypeScript Agent SDK v0.3.267 ou ultérieur, qui regroupe Claude Code v2.1.2671393* `'cloud_credential_error'` : Claude Code n'a pas pu obtenir des identifiants AWS ou Google Cloud utilisables sur la machine sur laquelle il s'exécute, donc aucune requête n'a atteint le fournisseur cloud. La cause habituelle est une connexion cloud qui a expiré ou n'a jamais été complétée sur cette machine, bien qu'un service d'identifiants brièvement inaccessible rapporte la même valeur. Voir [Impossible de charger les identifiants AWS ou Google Cloud](/docs/fr/errors#could-not-load-aws-or-google-cloud-credentials). Nécessite TypeScript Agent SDK v0.3.267 ou ultérieur, qui regroupe Claude Code v2.1.267

1350 1394 

1351`aborted` est `true` quand une interruption ou un abandon a tronqué le message assistant avant la fin du flux : le message n'a pas de `stop_reason` et le contenu peut se terminer au milieu d'un mot. Le champ est absent sur les messages normalement complétés. Il nécessite Agent SDK v0.3.214 ou ultérieur.1395`aborted` est `true` quand une interruption ou un abandon a tronqué le message de l'assistant avant la fin du flux : le message n'a pas de `stop_reason` et le contenu peut se terminer au milieu d'un mot. Le champ est absent sur les messages normalement complétés. Il nécessite Agent SDK v0.3.214 ou ultérieur.

1352 1396 

1353Claude Code définit `user_message_uuid` et `user_message_uuids` sur le premier message assistant du tour, selon les conditions dans [`user_message_uuid`](#user_message_uuid).1397Claude Code définit `user_message_uuid` et `user_message_uuids` sur le premier message de l'assistant du tour, selon les conditions dans [`user_message_uuid`](#user_message_uuid).

1354 1398 

1355`timestamp` est l'heure ISO 8601 quand le contenu du message a fini de générer sur le processus qui l'a produit. La valeur provient de l'horloge de cette machine, donc utilisez-la uniquement pour l'affichage et ne classez pas les messages par elle. Un tour API peut produire plusieurs messages assistant qui partagent un `message.id`, chacun avec son propre `timestamp`. Quand le champ est absent, revenez à l'heure à laquelle vous avez reçu le message.1399`timestamp` est l'heure ISO 8601 à laquelle le contenu du message a fini de générer sur le processus qui l'a produit. La valeur provient de l'horloge de cette machine, donc utilisez-la uniquement pour l'affichage et ne triez pas les messages par elle. Un tour API peut produire plusieurs messages d'assistant qui partagent un `message.id`, chacun avec son propre `timestamp`. Quand le champ est absent, revenez à l'heure à laquelle vous avez reçu le message.

1356 1400 

1357`context_usage` est une copie structurée du rapport `/context`, typée comme [`SDKContextUsage`](#sdkcontextusage), et nécessite Agent SDK v0.3.232 ou ultérieur. Quand vous envoyez `/context` comme invite, Claude Code livre le rapport en tant que message assistant dont `message.content` contient le tableau markdown, et attache `context_usage` à ce même message. Claude Code ne définit pas le champ sur aucun autre message assistant, et les versions antérieures livrent le tableau `/context` sans lui, donc lisez la ventilation du champ quand il est présent et revenez au texte markdown quand il ne l'est pas.1401`context_usage` est une copie structurée du rapport `/context`, typée comme [`SDKContextUsage`](#sdkcontextusage), et nécessite Agent SDK v0.3.232 ou ultérieur. Quand vous envoyez `/context` comme invite, Claude Code livre le rapport comme un message d'assistant dont `message.content` contient le tableau markdown, et attache `context_usage` à ce même message. Claude Code ne définit pas le champ sur aucun autre message d'assistant, et les versions antérieures livrent le tableau `/context` sans lui, donc lisez la ventilation du champ quand il est présent et revenez au texte markdown quand il ne l'est pas.

1358 1402 

1359<h3 id="sdkusermessage">1403<h3 id="sdkusermessage">

1360 `SDKUserMessage`1404 `SDKUserMessage`


1367 type: "user";1411 type: "user";

1368 uuid?: UUID;1412 uuid?: UUID;

1369 session_id?: string;1413 session_id?: string;

1370 message: MessageParam; // Du SDK Anthropic1414 message: MessageParam; // From Anthropic SDK

1415 pasted_content?: MessageParam["content"][];

1371 parent_tool_use_id: string | null;1416 parent_tool_use_id: string | null;

1372 isSynthetic?: boolean;1417 isSynthetic?: boolean;

1373 shouldQuery?: boolean;1418 shouldQuery?: boolean;

1374 tool_use_result?: unknown;1419 tool_use_result?: unknown;

1375 origin?: SDKMessageOrigin;1420 origin?: SDKMessageOrigin;

1421 inline_pastes?: string[];

1376};1422};

1377```1423```

1378 1424 

1379Définissez `shouldQuery` sur `false` pour ajouter le message à la transcription sans déclencher un tour assistant. Le message est conservé et fusionné dans le prochain message utilisateur qui déclenche un tour. Utilisez ceci pour injecter du contexte, comme la sortie d'une commande que vous avez exécutée en dehors de la bande, sans dépenser un appel de modèle.1425Définissez `pasted_content` pour envoyer du contenu que l'utilisateur a collé dans votre interface d'invite plutôt que tapé, une entrée par collage, chacune étant une chaîne ou un tableau de blocs de contenu. Claude Code ajoute le texte de chaque entrée après le texte tapé, dans l'ordre, et peut envelopper chaque collage dans des balises `<pasted_content>`. Les blocs autres que le texte sont ignorés, donc envoyez les images et les documents dans `message.content`. Nécessite Agent SDK v0.3.277 ou ultérieur.

1426 

1427Définissez `shouldQuery` à `false` pour ajouter le message à la transcription sans déclencher un tour d'assistant. Le message est conservé et fusionné dans le prochain message utilisateur qui déclenche un tour. Utilisez ceci pour injecter du contexte, comme la sortie d'une commande que vous avez exécutée hors bande, sans dépenser un appel de modèle pour cela.

1380 1428 

1381Sur un message qui porte un bloc `tool_result`, `tool_use_result` est l'objet de sortie structuré de l'outil plutôt que le texte envoyé au modèle. Sa forme dépend de l'outil nommé par le bloc `tool_use` correspondant, donc le champ est typé `unknown` ; les formes intégrées sont listées sous [Types de sortie d'outil](#tool-output-types).1429Sur un message qui porte un bloc `tool_result`, `tool_use_result` est l'objet de sortie structuré de l'outil plutôt que le texte envoyé au modèle. Sa forme dépend de l'outil nommé par le bloc `tool_use` correspondant, donc le champ est typé `unknown` ; les formes intégrées sont listées sous [Types de sortie d'outil](#tool-output-types).

1382 1430 

1383Pour l'outil `Agent`, `tool_use_result` est [`AgentOutput`](#agent-2). Sur un résultat `completed`, `content` contient le rapport du sous-agent sans l'ID d'agent et la remorque d'utilisation que Claude Code ajoute au texte `tool_result`, donc rendez à partir de `tool_use_result` au lieu d'analyser ce texte.1431Pour l'outil `Agent`, `tool_use_result` est [`AgentOutput`](#agent-2). Sur un résultat `completed`, `content` contient le rapport du sous-agent sans l'ID d'agent et la remorque d'utilisation que Claude Code ajoute au texte `tool_result`, donc rendez à partir de `tool_use_result` au lieu d'analyser ce texte.

1384 1432 

1385Pour un outil MCP dont le résultat contient des blocs `resource_link`, `tool_use_result` est un objet avec un tableau `resourceLinks` d'entrées [`SDKMcpResourceLink`](#sdkmcpresourcelink). Claude reçoit chaque lien sous forme de ligne de texte dans le bloc `tool_result`, donc lisez `resourceLinks` pour afficher les fichiers que le serveur a retournés au lieu d'analyser ce texte. Claude Code omet `resourceLinks` quand le résultat n'a pas de liens et sur les résultats des sous-agents, conserve au maximum 50 liens par résultat, et arrête d'ajouter des liens une fois que le tableau atteint 64 KiB de JSON sérialisé. `resourceLinks` nécessite Agent SDK v0.3.257 ou ultérieur.1433Pour un outil MCP dont le résultat contient des blocs `resource_link`, `tool_use_result` est un objet avec un tableau `resourceLinks` d'entrées [`SDKMcpResourceLink`](#sdkmcpresourcelink). Claude reçoit chaque lien comme une ligne de texte dans le bloc `tool_result`, donc lisez `resourceLinks` pour rendre les fichiers que le serveur a retournés au lieu d'analyser ce texte. Claude Code omet `resourceLinks` quand le résultat n'a pas de liens et sur les résultats des sous-agents, conserve au maximum 50 liens par résultat, et arrête d'ajouter des liens une fois que le tableau atteint 64 KiB de JSON sérialisé. `resourceLinks` nécessite Agent SDK v0.3.257 ou ultérieur.

1434 

1435Définissez `inline_pastes` pour dire à Claude Code quelles parties de `message.content` l'utilisateur a collées plutôt que tapées, une chaîne par collage. Le texte d'invite reste où l'utilisateur l'a mis. Claude Code peut envelopper chaque collage listé dans des balises `<pasted_content>` où il se tient, donc Claude peut distinguer le matériel collé des propres paroles de l'utilisateur. Seuls les collages du dernier bloc de texte de l'invite sont enveloppés. Nécessite TypeScript Agent SDK v0.3.280 ou ultérieur.

1386 1436 

1387<h3 id="sdkusermessagereplay">1437<h3 id="sdkusermessagereplay">

1388 `SDKUserMessageReplay`1438 `SDKUserMessageReplay`


1404};1454};

1405```1455```

1406 1456 

1407Un tour utilisateur injecté de l'extérieur de la session, dont le [`origin`](#sdkmessageorigin) est `peer` ou `channel`, atteint le flux en tant que relecture, qu'il ait été livré pendant un tour actif ou ait démarré un nouveau tour alors que la session était inactive. Avant v2.1.207, un tour injecté livré alors que la session était inactive ne produisait aucun message sur le flux et n'apparaissait que lorsque vous relisiez la transcription.1457Un tour utilisateur injecté de l'extérieur de la session, dont le [`origin`](#sdkmessageorigin) est de type `peer` ou `channel`, arrive sur le flux comme un rejeu qu'il ait été livré pendant un tour actif ou ait démarré un nouveau tour alors que la session était inactive. Avant v2.1.207, un tour injecté livré alors que la session était inactive ne produisait aucun message sur le flux et n'apparaissait que quand vous relisiez la transcription.

1408 1458 

1409<h3 id="sdkresultmessage">1459<h3 id="sdkresultmessage">

1410 `SDKResultMessage`1460 `SDKResultMessage`


1477 };1527 };

1478```1528```

1479 1529 

1480Plusieurs champs du résultat portent des détails diagnostiques au-delà du `subtype` :1530Plusieurs champs sur le résultat portent des détails de diagnostic au-delà de `subtype` :

1481 1531 

1482* `api_error_status` : le code de statut HTTP de l'erreur API qui a terminé la conversation. Absent ou `null` quand le tour s'est terminé sans erreur API.1532* `api_error_status` : le code de statut HTTP de l'erreur API qui a terminé la conversation. Absent ou `null` quand le tour s'est terminé sans erreur API.

1483* `ttft_ms` : temps jusqu'au premier jeton en millisecondes, mesuré quand le premier message assistant complet arrive. Présent uniquement sur le bras de succès.1533* `ttft_ms` : temps jusqu'au premier jeton en millisecondes, mesuré quand le premier message d'assistant complet arrive. Présent sur le bras de succès uniquement.

1484* `ttft_stream_ms` : temps en millisecondes jusqu'au premier événement de flux `message_start`, quand le flux de réponse s'ouvre. Inférieur à `ttft_ms` ; l'écart entre les deux est le temps passé à diffuser le premier message. Présent uniquement sur le bras de succès.1534* `ttft_stream_ms` : temps en millisecondes jusqu'au premier événement de flux `message_start`, quand le flux de réponse s'ouvre. Inférieur à `ttft_ms` ; l'écart entre les deux est le temps passé à diffuser le premier message. Présent sur le bras de succès uniquement.

1485* `user_message_uuid` : l'`uuid` du message que vous avez envoyé qui a démarré ce tour. Voir [`user_message_uuid`](#user_message_uuid) pour savoir quels résultats le portent.1535* `user_message_uuid` : l'`uuid` du message que vous avez envoyé que ce tour a répondu. Voir [`user_message_uuid`](#user_message_uuid) pour savoir quels résultats le portent.

1486* `user_message_uuids` : les `uuid`s de chaque message que vous avez envoyé auquel Claude Code a répondu dans ce tour. Voir [`user_message_uuids`](#user_message_uuids).1536* `user_message_uuids` : les `uuid`s de chaque message que vous avez envoyé que Claude Code a répondu dans ce tour. Voir [`user_message_uuids`](#user_message_uuids).

1487* `request_sent_wall_ms` : millisecondes d'époque auxquelles Claude Code a envoyé la demande API, pour les jointures par rapport aux horodatages côté serveur. Présent uniquement avec [`user_message_uuid`](#user_message_uuid), sur un résultat de succès avec `is_error` false dont le tour a envoyé une demande API.1537* `request_sent_wall_ms` : millisecondes d'époque auxquelles Claude Code a envoyé la requête API, pour les jointures contre les horodatages côté serveur. Présent uniquement avec [`user_message_uuid`](#user_message_uuid), sur un résultat de succès avec `is_error` false dont le tour a envoyé une requête API.

1488* `first_content_frame_ms` : temps en millisecondes jusqu'au premier événement de flux `content_block_start` ou `content_block_delta`, en comptant les blocs de réflexion comme du contenu. Présent sur le bras de succès uniquement, quand `is_error` est false. Nécessite Agent SDK v0.3.260 ou ultérieur.1538* `first_content_frame_ms` : temps en millisecondes jusqu'au premier événement de flux `content_block_start` ou `content_block_delta`, en comptant les blocs de réflexion comme du contenu. Présent sur le bras de succès uniquement, quand `is_error` est false. Nécessite Agent SDK v0.3.260 ou ultérieur.

1489* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms` : chronométrages pour télécharger le premier événement de flux du tour. Claude Code les enregistre uniquement dans les sessions qu'il diffuse vers claude.ai, comme les [sessions cloud](/docs/fr/claude-code-on-the-web), et les résultats que `query()` produit ne les portent pas. Nécessite Agent SDK v0.3.260 ou ultérieur.1539* `first_stream_post_ms`, `first_stream_post_ack_ms`, `first_stream_post_wall_ms` : chronométrages pour télécharger le premier événement de flux du tour. Claude Code les enregistre uniquement dans les sessions qu'il diffuse à claude.ai, comme les [sessions cloud](/docs/fr/claude-code-on-the-web), et les résultats que `query()` produit ne les portent pas. Nécessite Agent SDK v0.3.260 ou ultérieur.

1490* `usage` : boucle d'agent principal uniquement. Exclut les appels de sous-agent et de modèle auxiliaire, et est par tour dans les sessions d'entrée en diffusion. Préférez `modelUsage` pour la comptabilité des jetons/coûts.1540* `usage` : boucle d'agent principal uniquement. Exclut les appels de sous-agent et de modèle auxiliaire, et est par tour dans les sessions d'entrée en flux. Préférez `modelUsage` pour la comptabilité des jetons/coûts.

1491* `modelUsage` : totaux par modèle pour chaque appel de modèle effectué via le pipeline de requête pendant cet appel `query()`, y compris la boucle principale, les sous-agents et les appels internes tels que la compaction et les agents Workflow. Les appels d'assistance en dehors de ce pipeline, tels que le classificateur de permissions et les demandes de comptage de jetons, sont exclus. Dans les sessions d'entrée en diffusion, les totaux sont cumulatifs entre les tours, donc lisez le résultat le plus récent plutôt que de faire la somme entre les résultats. Voir [Suivre les coûts en mode d'entrée en diffusion](/docs/fr/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) pour les réinitialisations et [Récupérer les totaux après un crash de session](/docs/fr/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) pour les résultats mis à zéro.1541* `modelUsage` : totaux par modèle pour chaque appel de modèle effectué via le pipeline de requête pendant cet appel `query()`, y compris la boucle principale, les sous-agents et les appels internes tels que la compaction et les agents Workflow. Les appels d'assistance en dehors de ce pipeline, comme le classificateur de permissions et les demandes de comptage de jetons, sont exclus. Un appel qui reprend une session compte également les [totaux par modèle restaurés à partir des appels antérieurs de la session](/docs/fr/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Dans les sessions d'entrée en flux, les totaux sont cumulatifs entre les tours, donc lisez le dernier résultat plutôt que de faire la somme entre les résultats. Voir [Suivre les coûts en mode d'entrée en flux](/docs/fr/agent-sdk/cost-tracking#track-costs-in-streaming-input-mode) pour les réinitialisations et [Récupérer les totaux après un crash de session](/docs/fr/agent-sdk/cost-tracking#recover-totals-after-a-session-crash) pour les résultats mis à zéro.

1492* `total_cost_usd` : coût estimé cumulatif en USD pour cet appel `query()`, couvrant les mêmes appels que `modelUsage` et réinitialisé aux mêmes points. C'est une estimation, pas un relevé de facturation. Voir [Suivre le coût et l'utilisation](/docs/fr/agent-sdk/cost-tracking) pour les avertissements de précision.1542* `total_cost_usd` : coût estimé cumulatif en USD, couvrant les mêmes appels que `modelUsage` et réinitialisé aux mêmes points. Un appel qui reprend une session compte également les [totaux restaurés à partir des appels antérieurs de la session](/docs/fr/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). C'est une estimation, pas un relevé de facturation. Voir [Suivre le coût et l'utilisation](/docs/fr/agent-sdk/cost-tracking) pour les avertissements de précision.

1493* `queued_turn_count` : le nombre de messages que vous avez envoyés avec `origin: { kind: "human" }` qui attendent toujours quand Claude Code a produit le résultat. Voir [`queued_turn_count`](#queued_turn_count) pour ce que `0` et un champ absent vous disent.1543* `queued_turn_count` : le nombre de messages que vous avez envoyés avec `origin: { kind: "human" }` qui attendent toujours quand Claude Code a produit le résultat. Voir [`queued_turn_count`](#queued_turn_count) pour ce que `0` et un champ absent vous disent.

1494*1544* `startup_failure_reason` : pourquoi Claude Code a refusé de démarrer, sur le résultat `error_during_execution` qu'il écrit avant de quitter sur une défaillance de démarrage connue. Voir [`startup_failure_reason`](#startup_failure_reason) pour les valeurs et quelles défaillances la portent. Nécessite Agent SDK v0.3.274 ou ultérieur.

1495 1545* `terminal_reason` : pourquoi la boucle s'est terminée. L'un de `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"`, ou `"turn_setup_failed"`.

1496`startup_failure_reason` : pourquoi Claude Code a refusé de démarrer, sur le résultat `error_during_execution` qu'il écrit avant de quitter lors d'une défaillance de démarrage connue. Voir [`startup_failure_reason`](#startup_failure_reason) pour les valeurs et quelles défaillances la portent. Nécessite Agent SDK v0.3.274 ou ultérieur.1546* `fast_mode_state` : l'un de `"on"`, `"off"`, ou `"cooldown"`.

1497 1547* `fast_mode_disabled_reason` : pourquoi le [mode rapide](/docs/fr/fast-mode) n'est pas disponible en ce moment. Absent quand rien ne bloque le mode rapide, bien qu'une requête puisse toujours s'exécuter à vitesse standard. Pendant le refroidissement après une limite de débit du mode rapide, Claude Code rapporte `fast_mode_state: "cooldown"` sans code de raison et réactive le mode rapide quand le refroidissement expire. Nécessite Claude Code v2.1.219 ou ultérieur.

1498* `terminal_reason` : pourquoi la boucle s'est terminée. L'un de `"completed"`, `"max_turns"`, `"tool_deferred"`, `"aborted_streaming"`, `"aborted_tools"`, `"hook_stopped"`, `"stop_hook_prevented"`, `"background_requested"`, `"blocking_limit"`, `"rapid_refill_breaker"`, `"prompt_too_long"`, `"image_error"`, `"model_error"`, `"api_error"`, `"malformed_tool_use_exhausted"`, `"budget_exhausted"`, `"structured_output_retry_exhausted"`, `"tool_deferred_unavailable"` ou `"turn_setup_failed"`.

1499* `fast_mode_state` : l'un de `"on"`, `"off"` ou `"cooldown"`.

1500* `fast_mode_disabled_reason` : pourquoi le [mode rapide](/docs/fr/fast-mode) n'est pas disponible en ce moment. Absent quand rien ne bloque le mode rapide, bien qu'une demande puisse toujours s'exécuter à vitesse standard. Pendant le refroidissement après une limite de débit du mode rapide, Claude Code rapporte `fast_mode_state: "cooldown"` sans code de raison et réactive le mode rapide quand le refroidissement expire. Nécessite Claude Code v2.1.219 ou ultérieur.

1501 1548 

1502Utilisez le code de raison pour expliquer pourquoi le mode rapide est désactivé dans votre propre interface utilisateur au lieu de redériver la disponibilité. Chaque code nomme la vérification qui a bloqué le mode rapide :1549Utilisez le code de raison pour expliquer pourquoi le mode rapide est désactivé dans votre propre interface utilisateur au lieu de redériver la disponibilité. Chaque code nomme la vérification qui a bloqué le mode rapide :

1503 1550 


1510| `unknown` | Claude Code n'a pas pu déterminer la disponibilité |1557| `unknown` | Claude Code n'a pas pu déterminer la disponibilité |

1511| `not_first_party` | La session utilise un fournisseur autre que l'API Anthropic |1558| `not_first_party` | La session utilise un fournisseur autre que l'API Anthropic |

1512| `disabled_by_env` | [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/fr/env-vars) est défini |1559| `disabled_by_env` | [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/fr/env-vars) est défini |

1513| `model_not_allowed` | Le modèle Opus du mode rapide n'est pas dans la liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) de l'organisation |1560| `model_not_allowed` | Le modèle Opus du mode rapide ne figure pas dans la liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) de l'organisation |

1514| `sdk_opt_in_required` | La session n'a pas opté pour le mode rapide : passez `fastMode: true` dans l'option [`settings`](#options) ou via [`applyFlagSettings()`](#applyflagsettings) |1561| `sdk_opt_in_required` | La session n'a pas opté pour le mode rapide : passez `fastMode: true` dans l'option [`settings`](#options) ou via [`applyFlagSettings()`](#applyflagsettings) |

1515| `pending` | La vérification de disponibilité n'a pas encore été complétée |1562| `pending` | La vérification de disponibilité n'a pas encore été complétée |

1516 1563 

1517La même paire de champs apparaît sur [`SDKSystemMessage`](#sdksystemmessage) et sur [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), afin que vous puissiez lire l'état du mode rapide avant le premier tour.1564La même paire de champs apparaît sur [`SDKSystemMessage`](#sdksystemmessage) et sur [`SDKControlInitializeResponse`](#sdkcontrolinitializeresponse), donc vous pouvez lire l'état du mode rapide avant le premier tour.

1565 

1566Le champ `origin` transmet le [`SDKMessageOrigin`](#sdkmessageorigin) du message utilisateur qui a déclenché ce résultat. Quand le SDK injecte un tour de suivi synthétique, comme pour une tâche de fond terminée, le `SDKResultMessage` résultant porte `origin: { kind: "task-notification" }`. Les routines dont le déclencheur s'est déclenché et les messages vérifiés par le serveur de vos autres sessions arrivent avec ce type aussi, chacun avec le `subkind` décrit dans [Sous-types de notification de tâche](#task-notification-subkinds). Vérifiez `kind` pour distinguer les résultats qui répondent à votre invite des suivis injectés avant de les router ou de les supprimer. Si votre application [déclare des exécutions planifiées](#declare-a-scheduled-run), leurs résultats portent `kind: "task-notification"` aussi, donc ne supprimez pas sur `kind` seul.

1518 1567 

1519Le champ `origin` transmet le [`SDKMessageOrigin`](#sdkmessageorigin) du message utilisateur qui a déclenché ce résultat. Quand le SDK injecte un tour de suivi synthétique, comme pour une tâche de fond terminée, le `SDKResultMessage` résultant porte `origin: { kind: "task-notification" }`. Les routines dont le déclencheur s'est déclenché et les messages vérifiés par le serveur de vos autres sessions arrivent avec ce type aussi, chacun avec le `subkind` décrit dans [Sous-types de notification de tâche](#task-notification-subkinds). Vérifiez `kind` pour distinguer les résultats qui répondent à votre invite des suivis injectés avant de les acheminer ou de les supprimer.1568Quand plusieurs complétions de tâche de fond sont mises en file d'attente ensemble, Claude Code peut les répondre en un seul tour plutôt qu'un tour chacun. Chaque complétion produit toujours son propre résultat avec cette origine. Tous sauf le dernier des complétions que Claude Code répond ensemble produisent des résultats vides avec `num_turns: 0`, dans l'ordre, et le résultat du dernier porte le tour qui les répond tous.

1520 1569 

1521Le champ est absent pour les résultats émis avant tout tour utilisateur, comme les erreurs de démarrage.1570Le champ est absent pour les résultats émis avant tout tour utilisateur, comme les erreurs de démarrage.

1522 1571 

1523Quand un hook `PreToolUse` retourne `permissionDecision: "defer"`, le résultat a `stop_reason: "tool_deferred"` et `deferred_tool_use` porte l'`id`, le `name` et l'`input` de l'outil en attente. Lisez ce champ pour afficher la demande dans votre propre interface utilisateur, puis reprenez avec le même `session_id` pour continuer. Consultez [Différer un appel d'outil pour plus tard](/docs/fr/hooks#defer-a-tool-call-for-later) pour le trajet complet.1572Quand un hook `PreToolUse` retourne `permissionDecision: "defer"`, le résultat a `stop_reason: "tool_deferred"` et `deferred_tool_use` porte l'`id`, le `name` et l'`input` de l'outil en attente. Lisez ce champ pour afficher la requête dans votre propre interface utilisateur, puis reprenez avec le même `session_id` pour continuer. Voir [Différer un appel d'outil pour plus tard](/docs/fr/hooks#defer-a-tool-call-for-later) pour le trajet complet.

1524 1573 

1525<h4 id="user_message_uuid">1574<h4 id="user_message_uuid">

1526 `user_message_uuid`1575 `user_message_uuid`

1527</h4>1576</h4>

1528 1577 

1529L'`uuid` du [`SDKUserMessage`](#sdkusermessage) que le tour répond, répété afin que vous puissiez faire correspondre la réponse de Claude Code au message que vous avez envoyé. Claude Code le répète uniquement si vous définissez `uuid` sur ce message. Le champ est optionnel sur `SDKUserMessage`, et une invite de chaîne passée à `query()` n'en porte aucune.1578L'`uuid` du [`SDKUserMessage`](#sdkusermessage) auquel le tour répond, répété pour que vous puissiez faire correspondre la réponse de Claude Code au message que vous avez envoyé. Claude Code répète un `uuid` uniquement si vous en définissez un sur le message. Le champ est optionnel sur `SDKUserMessage`, et une invite de chaîne passée à `query()` n'en porte aucune.

1530 1579 

1531Quel message de votre part un tour répond dépend de la façon dont le tour a commencé :1580Quel message de votre part un tour répond dépend de la façon dont le tour a commencé :

1532 1581 

1533* **Un message régulier que vous avez envoyé**, c'est-à-dire sans `isSynthetic: true` : le tour répond à ce message pour toute sa durée. Quand vous envoyez plusieurs messages rapprochés, Claude Code peut les fusionner en un tour, et le champ porte alors uniquement l'`uuid` du dernier message. Pour faire correspondre la réponse à l'un des messages fusionnés, utilisez [`user_message_uuids`](#user_message_uuids).1582* **Un message régulier que vous avez envoyé**, c'est-à-dire sans `isSynthetic: true` : le tour répond à ce message pour toute sa durée. Quand vous envoyez plusieurs messages rapprochés, Claude Code peut les fusionner en un seul tour, et le champ porte alors uniquement l'`uuid` du dernier message. Pour faire correspondre la réponse à l'un des messages fusionnés, utilisez [`user_message_uuids`](#user_message_uuids).

1534* **Un message que vous avez envoyé avec `isSynthetic: true`** : le tour répond d'abord à ce message. Si Claude Code récupère un message régulier de votre part entre les appels d'outil, le tour répond au message récupéré à partir de là. Répéter l'`uuid` d'un message synthétique nécessite Agent SDK v0.3.265 ou ultérieur ; les versions antérieures ne répètent rien sur les tours synthétiques.1583* **Un message que vous avez envoyé avec `isSynthetic: true`** : le tour répond d'abord à ce message. Si Claude Code reprend un message régulier de votre part entre les appels d'outil, le tour répond au message repris à partir de là. Répéter l'`uuid` d'un message synthétique nécessite Agent SDK v0.3.265 ou ultérieur ; les versions antérieures ne répètent rien sur les tours synthétiques.

1535* **Une invite que Claude Code a générée lui-même**, comme le tour qui continue le travail interrompu après le redémarrage d'une session : le tour ne répond d'abord à aucun message de votre part et ses cadres ne portent aucun écho. Si Claude Code récupère un message régulier de votre part entre les appels d'outil, le tour répond à ce message à partir de là. L'écho de récupération nécessite Agent SDK v0.3.265 ou ultérieur ; les versions antérieures ne répètent rien sur ces tours.1584* **Une invite que Claude Code a générée lui-même**, comme le tour qui continue le travail interrompu après un redémarrage de session : le tour ne répond d'abord à aucun message de votre part et ses cadres ne portent aucun écho. Si Claude Code reprend un message régulier de votre part entre les appels d'outil, le tour répond à ce message à partir de là. L'écho de reprise nécessite Agent SDK v0.3.265 ou ultérieur ; les versions antérieures ne répètent rien sur ces tours.

1536 1585 

1537Claude Code répète l'`uuid` du message répondu sur trois types de cadre :1586Claude Code répète l'`uuid` du message répondu sur trois types de cadre :

1538 1587 

1539* **Le résultat** : chaque résultat d'un tour qui a répondu à un message que vous avez envoyé. Chaque tel résultat le porte sur Agent SDK v0.3.265 ou ultérieur. Avant v0.3.265, le résultat de succès d'un tour qu'un message régulier a commencé le manquait quand le tour n'a envoyé aucune demande API ou s'est terminé avec un appel d'outil différé. Avant v0.3.246, les résultats d'erreur le manquaient aussi, et avant v0.3.216 chaque résultat le faisait.1588* **Le résultat** : chaque résultat d'un tour qui a répondu à un message que vous avez envoyé. Chaque tel résultat le porte sur Agent SDK v0.3.265 ou ultérieur. Avant v0.3.265, le résultat de succès d'un tour qu'un message régulier a démarré lui manquait quand le tour n'a envoyé aucune requête API ou s'est terminé avec un appel d'outil différé. Avant v0.3.246, les résultats d'erreur lui manquaient aussi, et avant v0.3.216 chaque résultat le faisait.

1540* **La première réponse du tour** : le premier [message assistant](#sdkassistantmessage), ou avec `includePartialMessages` le premier [événement de flux](#sdkpartialassistantmessage) dont `event.type` n'est pas `ping`, afin que vous puissiez lier la réponse avant l'arrivée du résultat. Quand un tour ne diffuse rien, Claude Code le définit sur le premier message assistant à la place. Le premier écho de réponse nécessite Agent SDK v0.3.246 ou ultérieur. Quand le message que le tour répond change en cours de tour, le premier écho de réponse après le changement porte le champ aussi, sur Agent SDK v0.3.265 ou ultérieur ; les versions antérieures le définissent sur un cadre de réponse par tour.1589* **La première réponse du tour** : le premier [message d'assistant](#sdkassistantmessage), ou avec `includePartialMessages` le premier [événement de flux](#sdkpartialassistantmessage) dont `event.type` n'est pas `ping`, pour que vous puissiez lier la réponse avant l'arrivée du résultat. Quand un tour ne diffuse rien, Claude Code le définit sur le premier message d'assistant à la place. L'écho de première réponse nécessite Agent SDK v0.3.246 ou ultérieur. Quand le message auquel le tour répond change en cours de tour, la première réponse après le changement porte le champ aussi, sur Agent SDK v0.3.265 ou ultérieur ; les versions antérieures le définissent sur un cadre de réponse par tour.

1541* **Chaque cadre [`thinking_tokens`](#sdkthinkingtokensmessage) du tour** : afin que vous puissiez attribuer la progression de la réflexion au message que vous avez envoyé sans attendre la première réponse du tour. Nécessite Agent SDK v0.3.260 ou ultérieur.1590* **Chaque cadre [`thinking_tokens`](#sdkthinkingtokensmessage) du tour** : pour que vous puissiez attribuer la progression de la réflexion au message que vous avez envoyé sans attendre la première réponse du tour. Nécessite Agent SDK v0.3.260 ou ultérieur.

1542 1591 

1543Claude Code omet le champ dans ces cas :1592Claude Code omet le champ dans ces cas :

1544 1593 

1545* Cadres de réponse autres que ces premiers échos1594* Cadres de réponse autres que ces premières réponses

1546* Cadres de sous-agent1595* Cadres de sous-agent

1547* Tours qui ne répondent à aucun message avec un `uuid` : le tour a répondu à un message que vous avez envoyé sans un, ou Claude Code a commencé le tour lui-même et n'a récupéré aucun message régulier qui en a un1596* Tours qui ne répondent à aucun message avec un `uuid` : le tour a répondu à un message que vous avez envoyé sans en avoir un, ou Claude Code a démarré le tour lui-même et n'a repris aucun message régulier qui en a un

1548* Résultats qui ne répondent à aucun message que vous avez envoyé, comme le résultat mis à zéro après un crash de processus worker1597* Résultats qui ne répondent à aucun message que vous avez envoyé, comme le résultat mis à zéro après un crash de processus de travail

1549 1598 

1550<h4 id="user_message_uuids">1599<h4 id="user_message_uuids">

1551 `user_message_uuids`1600 `user_message_uuids`

1552</h4>1601</h4>

1553 1602 

1554Les `uuid`s de chaque message que vous avez envoyé auquel Claude Code a répondu dans ce tour. Quand vous envoyez plusieurs messages rapprochés, Claude Code peut les fusionner en un tour, et `user_message_uuid` nomme alors uniquement le dernier d'entre eux. Pour faire correspondre la réponse à l'un des messages fusionnés, cherchez l'`uuid` de ce message n'importe où dans cette liste. Nécessite Agent SDK v0.3.259 ou ultérieur.1603Les `uuid`s de chaque message que vous avez envoyé que Claude Code a répondu dans ce tour. Quand vous envoyez plusieurs messages rapprochés, Claude Code peut les fusionner en un seul tour, et `user_message_uuid` nomme alors uniquement le dernier d'entre eux. Pour faire correspondre la réponse à l'un des messages fusionnés, cherchez l'`uuid` de ce message n'importe où dans cette liste. Nécessite Agent SDK v0.3.259 ou ultérieur.

1555 1604 

1556Claude Code définit la liste avec `user_message_uuid` sur chaque cadre de réponse qui porte ce champ et sur le résultat. Pour l'ensemble complet des cadres qui portent `user_message_uuid`, et la version que chacun nécessite, voir [`user_message_uuid`](#user_message_uuid). La liste contient toujours `user_message_uuid` et contient au maximum 64 entrées.1605Claude Code définit la liste avec `user_message_uuid` sur chaque cadre de réponse qui porte ce champ et sur le résultat. Pour l'ensemble complet des cadres qui portent `user_message_uuid`, et la version que chacun nécessite, voir [`user_message_uuid`](#user_message_uuid). La liste contient toujours `user_message_uuid` et contient au maximum 64 entrées.

1557 1606 

1558Quand Claude Code récupère un message régulier que vous avez envoyé pendant qu'un tour s'exécutait, il ajoute l'`uuid` de ce message à la liste du résultat.1607Quand Claude Code reprend un message régulier que vous avez envoyé pendant qu'un tour s'exécutait, il ajoute l'`uuid` de ce message à la liste du résultat.

1559 1608 

1560Quand une première réponse ou un résultat porte `user_message_uuid` sans la liste, il provient d'une version antérieure de Claude Code, donc revenez au champ unique.1609Quand une première réponse ou un résultat porte `user_message_uuid` sans la liste, il provient d'une version antérieure de Claude Code, donc revenez au champ unique.

1561 1610 


1563 `queued_turn_count`1612 `queued_turn_count`

1564</h4>1613</h4>

1565 1614 

1566Le nombre de messages que vous avez envoyés avec [`origin: { kind: "human" }`](#sdkmessageorigin) qui attendent toujours dans la file d'attente de commandes quand Claude Code a produit le résultat. Nécessite Agent SDK v0.3.242 ou ultérieur.1615Le nombre de messages que vous avez envoyés avec [`origin: { kind: "human" }`](#sdkmessageorigin) qui attendent toujours dans la file de commandes quand Claude Code a produit le résultat. Nécessite Agent SDK v0.3.242 ou ultérieur.

1567 1616 

1568Ce que `0` et un champ absent vous disent :1617Ce que `0` et un champ absent vous disent :

1569 1618 

1570* **`0`** : Claude Code ne compte pas les messages que vous avez envoyés sans cet `origin`, et ne compte pas les notifications de tâche, donc un tour peut toujours suivre.1619* **`0`** : Claude Code ne compte pas les messages que vous avez envoyés sans ce `origin`, et ne compte pas les notifications de tâche, donc un tour peut toujours suivre.

1571* **Absent** : le résultat final que Claude Code émet après un crash ou une erreur de démarrage fatale omet le champ, et [peut porter des totaux mis à zéro](/docs/fr/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).1620* **Absent** : le résultat final que Claude Code émet après un crash ou une erreur de démarrage fatale omet le champ, et [peut porter des totaux mis à zéro](/docs/fr/agent-sdk/cost-tracking#recover-totals-after-a-session-crash).

1572 1621 

1573<h4 id="startup_failure_reason">1622<h4 id="startup_failure_reason">

1574 `startup_failure_reason`1623 `startup_failure_reason`

1575</h4>1624</h4>

1576 1625 

1577Pourquoi Claude Code a refusé de démarrer, afin que votre application puisse offrir la correction au lieu d'une nouvelle tentative. Claude Code le définit sur le résultat `error_during_execution` qu'il écrit avant de quitter lors d'une défaillance de démarrage connue. Ce résultat porte des totaux mis à zéro, et son tableau `errors` porte le même texte que stderr. Le champ est absent sur tous les autres résultats. Nécessite Agent SDK v0.3.274 ou ultérieur.1626Pourquoi Claude Code a refusé de démarrer, pour que votre application puisse offrir la correction au lieu d'une nouvelle tentative. Claude Code le définit sur le résultat `error_during_execution` qu'il écrit avant de quitter sur une défaillance de démarrage connue. Ce résultat porte des totaux mis à zéro, et son tableau `errors` porte le même texte que stderr. Le champ est absent sur tous les autres résultats. Nécessite Agent SDK v0.3.274 ou ultérieur.

1578 1627 

1579Définissez `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` sur `1` dans [`env`](#options) pour recevoir ce résultat pour chaque valeur `SDKStartupFailureReason`. Sans cette variable, Claude Code écrit le résultat uniquement pour ces défaillances, et le reste se termine par une sortie stderr, un code de sortie non-zéro et aucun message de résultat :1628Définissez `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` à `1` dans [`env`](#options) pour recevoir ce résultat pour chaque valeur `SDKStartupFailureReason`. Sans cette variable, Claude Code écrit le résultat uniquement pour ces défaillances, et le reste se termine par une sortie stderr, un code de sortie non nul et aucun message de résultat :

1580 1629 

1581* Une reprise que Claude Code arrête parce qu'il [ne peut pas retourner la session à son worktree](/docs/fr/worktrees#the-session-resumes-outside-its-worktree), avec `worktree_unverified` ou `worktree_resume_refused`. Cette section dit quel erreur porte quelle valeur.1630* Une reprise que Claude Code arrête parce qu'elle [ne peut pas retourner la session à son worktree](/docs/fr/worktrees#the-session-resumes-outside-its-worktree), avec `worktree_unverified` ou `worktree_resume_refused`. Cette section dit quelle erreur porte quelle valeur.

1582* Une [`continue`](#options) refusée d'une conversation qu'une session de fond tient, avec `session_held_by_background`. Pour une [`resume`](#options) refusée d'une telle conversation, Claude Code écrit le résultat uniquement quand la variable est définie.1631* Une [`continue`](#options) refusée d'une conversation qu'une session de fond tient, avec `session_held_by_background`. Pour une [`resume`](#options) refusée d'une telle conversation, Claude Code écrit le résultat uniquement quand la variable est définie.

1583 1632 

1584```typescript theme={null}1633```typescript theme={null}


1604Chaque valeur nomme un refus :1653Chaque valeur nomme un refus :

1605 1654 

1606| Valeur | Ce qui a arrêté la session |1655| Valeur | Ce qui a arrêté la session |

1607| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1656| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1608| `org_pin_api_key_conflict` | Les paramètres gérés [nécessitent une connexion de passerelle de première partie ou Cloud](/docs/fr/authentication#restrict-login-to-your-organization), et une clé API Anthropic, un jeton d'authentification ou un `apiKeyHelper` est configuré à la place |1657| `org_pin_api_key_conflict` | Les paramètres gérés [nécessitent une connexion de première partie ou Cloud gateway](/docs/fr/authentication#restrict-login-to-your-organization), et une clé API Anthropic, un jeton d'authentification ou un `apiKeyHelper` est configuré à la place |

1609| `org_verify_failed` | L'organisation de la connexion n'a pas pu être vérifiée par rapport à la broche, par exemple en raison d'une défaillance réseau ou d'un jeton révoqué |1658| `org_verify_failed` | L'organisation de la connexion n'a pas pu être vérifiée par rapport à la broche, par exemple en raison d'une défaillance réseau ou d'un jeton révoqué |

1610| `org_pin_mismatch` | La connexion appartient à une organisation que la broche ne permet pas |1659| `org_pin_mismatch` | La connexion appartient à une organisation que la broche ne permet pas |

1611| `managed_settings_invalid` | Les paramètres de politique gérée n'ont pas pu être lus, ou la broche ne nomme aucune organisation |1660| `managed_settings_invalid` | Les paramètres de politique gérés n'ont pas pu être lus, ou la broche ne nomme aucune organisation |

1612| `remote_settings_required_unavailable` | Les paramètres gérés que l'organisation nécessite n'ont pas pu être chargés |1661| `remote_settings_required_unavailable` | Les paramètres gérés que l'organisation nécessite n'ont pas pu être chargés |

1613| `gateway_signin_required` | La [passerelle Cloud](/docs/fr/claude-apps-gateway) a terminé cette connexion |1662| `gateway_signin_required` | La [Cloud gateway](/docs/fr/claude-apps-gateway) a terminé cette connexion |

1614| `gateway_access_denied` | La demande de paramètres gérés à la passerelle Cloud est revenue avec un 403, que le [tableau de dépannage](/docs/fr/claude-apps-gateway-deploy#troubleshooting) de la passerelle couvre |1663| `gateway_access_denied` | La demande de paramètres gérés à la Cloud gateway est revenue avec un 403, que la [table de dépannage](/docs/fr/claude-apps-gateway-deploy#troubleshooting) de la gateway couvre |

1615| `proxy_invalid` | Un paramètre de proxy n'est pas une URL complète |1664| `proxy_invalid` | Un paramètre de proxy n'est pas une URL complète |

1616| `temp_dir_unusable` | Le répertoire temporaire par utilisateur n'est pas sûr ou n'a pas pu être créé |1665| `temp_dir_unusable` | Le répertoire temporaire par utilisateur n'est pas sûr ou n'a pas pu être créé |

1617| `cwd_unavailable` | Le répertoire de travail a été supprimé, déplacé ou ne peut pas être lu |1666| `cwd_unavailable` | Le répertoire de travail a été supprimé, déplacé ou ne peut pas être lu |

1618| `shell_tool_missing` | Sur Windows, aucun outil shell n'est disponible : Git Bash est manquant, et PowerShell est manquant ou désactivé avec `CLAUDE_CODE_USE_POWERSHELL_TOOL` |1667| `shell_tool_missing` | Sur Windows, aucun outil shell n'est disponible : Git Bash manque, et PowerShell manque ou est désactivé avec `CLAUDE_CODE_USE_POWERSHELL_TOOL` |

1619| `session_held_by_background` | La conversation à reprendre ou continuer s'exécute en tant que [session de fond](/docs/fr/agent-view) |1668| `session_held_by_background` | La conversation à reprendre ou continuer s'exécute comme une [session de fond](/docs/fr/agent-view) |

1620| `worktree_resume_refused` | Le worktree de la session a échoué ses vérifications de sécurité, ou la reprise a été lancée de l'intérieur. `errors` dit si l'exécution de la même reprise continue sans le worktree |1669| `worktree_resume_refused` | Le worktree de la session a échoué ses vérifications de sécurité, ou la reprise a été lancée de l'intérieur. `errors` dit si l'exécution de la même reprise continue sans le worktree |

1621| `worktree_unverified` | Le worktree de la session n'a pas pu être vérifié en ce moment, et une nouvelle tentative peut réussir |1670| `worktree_unverified` | Le worktree de la session n'a pas pu être vérifié en ce moment, et une nouvelle tentative peut réussir |

1622| `cli_version_too_old` | Cette version de Claude Code est inférieure au minimum qu'Anthropic nécessite |1671| `cli_version_too_old` | Cette version de Claude Code est inférieure au minimum qu'Anthropic nécessite |


1626 `SDKSystemMessage`1675 `SDKSystemMessage`

1627</h3>1676</h3>

1628 1677 

1629Message d'initialisation système.1678Message d'initialisation du système.

1630 1679 

1631```typescript theme={null}1680```typescript theme={null}

1632type SDKSystemMessage = {1681type SDKSystemMessage = {


1661 1710 

1662`fast_mode_state` rapporte l'état du [mode rapide](/docs/fr/fast-mode) de la session. Quand quelque chose bloque le mode rapide, `fast_mode_disabled_reason` nomme la vérification qui l'a bloqué ; le champ nécessite Claude Code v2.1.219 ou ultérieur. Pour les codes de raison et leurs significations, voir [`fast_mode_disabled_reason`](#sdkresultmessage) sur le message de résultat.1711`fast_mode_state` rapporte l'état du [mode rapide](/docs/fr/fast-mode) de la session. Quand quelque chose bloque le mode rapide, `fast_mode_disabled_reason` nomme la vérification qui l'a bloqué ; le champ nécessite Claude Code v2.1.219 ou ultérieur. Pour les codes de raison et leurs significations, voir [`fast_mode_disabled_reason`](#sdkresultmessage) sur le message de résultat.

1663 1712 

1664`terminal_slash_commands` nomme les entrées dans `slash_commands` dont l'interface est liée au terminal local, comme `exit`. Vous pouvez les envoyer comme n'importe quelle autre entrée dans `slash_commands` ; le champ existe afin qu'un client distant ou mobile puisse les masquer de ses menus de commandes. Le champ est présent uniquement quand non vide, et nécessite Agent SDK v0.3.229 ou ultérieur.1713`terminal_slash_commands` nomme les entrées dans `slash_commands` dont l'interface est liée au terminal local, comme `exit`. Vous pouvez les envoyer comme n'importe quelle autre entrée dans `slash_commands` ; le champ existe pour qu'un client distant ou mobile puisse les masquer de ses menus de commandes. Le champ est présent uniquement quand non vide, et nécessite Agent SDK v0.3.229 ou ultérieur.

1665 1714 

1666*1715*

1667 1716 

1668`source` sur chaque entrée `mcp_servers` : d'où provient la définition du serveur, avec les mêmes valeurs que [`McpServerStatus`](#mcpserverstatus)'s `source`. Nécessite Agent SDK v0.3.274 ou ultérieur.1717`source` sur chaque entrée `mcp_servers` : d'où provient la définition du serveur, avec les mêmes valeurs que `source` de [`McpServerStatus`](#mcpserverstatus). Nécessite Agent SDK v0.3.274 ou ultérieur.

1669 1718 

1670*1719*

1671 1720 

1672`effort` : le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) que Claude Code envoie sur la prochaine demande de la session, ou `null` quand il n'en envoie aucun. Claude Code définit le champ uniquement sur le message d'initialisation qu'il envoie aux clients [Remote Control](/docs/fr/remote-control), et l'omet du message d'initialisation que votre application lit. Nécessite Agent SDK v0.3.234 ou ultérieur.1721`effort` : le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) que Claude Code envoie sur la prochaine requête de la session, ou `null` quand il n'en envoie aucun. Claude Code définit le champ uniquement sur le message d'initialisation qu'il envoie aux clients [Remote Control](/docs/fr/remote-control), et l'omet du message d'initialisation que votre application lit. Nécessite Agent SDK v0.3.234 ou ultérieur.

1673 1722 

1674Le tableau `capabilities` nomme les comportements de protocole que ce CLI implémente, afin que vous puissiez détecter les fonctionnalités au lieu de comparer les chaînes `claude_code_version`. C'est un ensemble ouvert : ignorez les valeurs que vous ne reconnaissez pas, et vérifiez la capacité spécifique dont vous dépendez. Le champ nécessite Claude Code v2.1.205 ou ultérieur et est absent sur les CLI antérieurs.1723Le tableau `capabilities` nomme les comportements de protocole que cette CLI implémente, pour que vous puissiez faire de la détection de fonctionnalités au lieu de comparer les chaînes `claude_code_version`. C'est un ensemble ouvert : ignorez les valeurs que vous ne reconnaissez pas, et vérifiez la capacité spécifique dont vous dépendez du comportement. Le champ nécessite Claude Code v2.1.205 ou ultérieur et est absent sur les CLI antérieures.

1675 1724 

1676| Capacité | Signification |1725| Capacité | Signification |

1677| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1726| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1678| `interrupt_receipt_v1` | [`interrupt()`](#query-object) se résout avec une réception [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) nommant les messages qui étaient en attente quand l'interruption est arrivée |1727| `interrupt_receipt_v1` | [`interrupt()`](#query-object) se résout avec un reçu [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) listant les messages qui étaient en attente quand l'interruption est arrivée |

1679| `interrupt_cancel_queued_v1` | La demande de contrôle `interrupt` honore `cancel_queued: true`, annulant les messages que la réception énumérerait autrement sous `still_queued` et les énumérant sous `cancelled` à la place. Voir [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Nécessite Claude Code v2.1.219 ou ultérieur |1728| `interrupt_cancel_queued_v1` | La demande de contrôle `interrupt` honore `cancel_queued: true`, annulant les messages que le reçu listerait autrement sous `still_queued` et les listant sous `cancelled` à la place. Voir [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse). Nécessite Claude Code v2.1.219 ou ultérieur |

1680 1729 

1681<h3 id="sdkpartialassistantmessage">1730<h3 id="sdkpartialassistantmessage">

1682 `SDKPartialAssistantMessage`1731 `SDKPartialAssistantMessage`

1683</h3>1732</h3>

1684 1733 

1685Message partiel en diffusion (uniquement quand `includePartialMessages` est true). Le champ `parent_tool_use_id` est toujours `null` : les événements de flux sont émis pour la session principale uniquement. Pour l'attribution de sous-agent, utilisez les messages complets, qui portent `parent_tool_use_id`, ou activez [`forwardSubagentText`](#options) pour recevoir le texte et la réflexion du sous-agent en tant que messages complets.1734Message partiel en flux (uniquement quand `includePartialMessages` est true). Le champ `parent_tool_use_id` est toujours `null` : les événements de flux sont émis pour la session principale uniquement. Pour l'attribution de sous-agent, utilisez les messages complets, qui portent `parent_tool_use_id`, ou activez [`forwardSubagentText`](#options) pour recevoir le texte et la réflexion du sous-agent comme des messages complets.

1686 1735 

1687```typescript theme={null}1736```typescript theme={null}

1688type SDKPartialAssistantMessage = {1737type SDKPartialAssistantMessage = {

1689 type: "stream_event";1738 type: "stream_event";

1690 event: BetaRawMessageStreamEvent; // Du SDK Anthropic1739 event: BetaRawMessageStreamEvent; // From Anthropic SDK

1691 parent_tool_use_id: string | null;1740 parent_tool_use_id: string | null;

1692 uuid: UUID;1741 uuid: UUID;

1693 session_id: string;1742 session_id: string;

1694 ttft_ms?: number; // Temps jusqu'au premier jeton en ms, présent uniquement sur les événements message_start1743 ttft_ms?: number; // Time to first token in ms, present only on message_start events

1695 user_message_uuid?: string;1744 user_message_uuid?: string;

1696 user_message_uuids?: string[];1745 user_message_uuids?: string[];

1697};1746};

1698```1747```

1699 1748 

1700Claude Code définit `user_message_uuid` et `user_message_uuids` sur le premier événement de flux non-ping du tour, et à nouveau quand le message que le tour répond change, selon les conditions dans [`user_message_uuid`](#user_message_uuid).1749Claude Code définit `user_message_uuid` et `user_message_uuids` sur le premier événement de flux non-ping du tour, et à nouveau quand le message auquel le tour répond change, selon les conditions dans [`user_message_uuid`](#user_message_uuid).

1701 1750 

1702<h3 id="sdkcompactboundarymessage">1751<h3 id="sdkcompactboundarymessage">

1703 `SDKCompactBoundaryMessage`1752 `SDKCompactBoundaryMessage`


1722 `SDKInformationalMessage`1771 `SDKInformationalMessage`

1723</h3>1772</h3>

1724 1773 

1725Bannière de texte générique émise par la boucle. Porte les lignes d'état non-erreur, les retours de hook comme la raison de blocage d'un hook `UserPromptSubmit`, et la sortie de commande. Sur Claude Code v2.1.227 ou ultérieur, le [`systemMessage`](/docs/fr/hooks#json-output) d'un hook peut arriver en tant que ce message, avec chaque ligne préfixée par le nom du hook, comme `PostToolUse:Bash says:`. Qu'un `systemMessage` d'un hook arrive en tant que ce message dépend de l'événement. La section de chaque [événement](/docs/fr/hooks#hook-events) sur la page des hooks dit comment la sortie s'affiche. Rendez `content` en texte brut au `level` donné.1774Bannière de texte générique émise par la boucle. Porte les lignes d'état non-erreur, les retours de hook comme la raison du blocage d'un hook `UserPromptSubmit`, et la sortie de commande. Sur Claude Code v2.1.227 ou ultérieur, le [`systemMessage`](/docs/fr/hooks#json-output) d'un hook peut arriver comme ce message, avec chaque ligne préfixée par le nom du hook, comme `PostToolUse:Bash says:`. Qu'un `systemMessage` d'un hook arrive comme ce message dépend de l'événement. Chaque [section d'événement](/docs/fr/hooks#hook-events) sur la page des hooks dit comment la sortie s'affiche. Rendez `content` comme texte brut au `level` donné.

1726 1775 

1727```typescript theme={null}1776```typescript theme={null}

1728type SDKInformationalMessage = {1777type SDKInformationalMessage = {


1741 `SDKWorkerShuttingDownMessage`1790 `SDKWorkerShuttingDownMessage`

1742</h3>1791</h3>

1743 1792 

1744Émis lors de l'arrêt gracieux du worker afin que les clients distants puissent montrer pourquoi le worker a disparu au lieu d'attendre l'expiration du heartbeat. La `reason` est une courte chaîne snake\_case définie par le CLI hôte, comme `"host_exit"` ou `"remote_control_disabled"`. Agissez sur ceci uniquement lors de la diffusion en direct. Une session reprise rejoue les instances passées de ce message, donc ignorez-les dans ce cas.1793Émis lors d'un arrêt gracieux du travailleur pour que les clients de contrôle à distance puissent montrer pourquoi le travailleur a quitté au lieu d'attendre l'expiration du délai d'attente du battement de cœur. La `reason` est une courte chaîne snake\_case définie par la CLI hôte, comme `"host_exit"` ou `"remote_control_disabled"`. Agissez sur ceci uniquement lors de la diffusion en direct. Une session reprise rejoue les instances passées de ce message, donc ignorez-les dans ce cas.

1745 1794 

1746```typescript theme={null}1795```typescript theme={null}

1747type SDKWorkerShuttingDownMessage = {1796type SDKWorkerShuttingDownMessage = {


1757 `SDKPluginInstallMessage`1806 `SDKPluginInstallMessage`

1758</h3>1807</h3>

1759 1808 

1760Événement de progression d'installation de plugin. Émis quand [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/fr/env-vars) est défini, pour que votre application Agent SDK puisse suivre l'installation du plugin de marketplace avant le premier tour. Les statuts `started` et `completed` encadrent l'installation globale. Les statuts `installed` et `failed` rapportent les marchés individuels et incluent `name`.1809Événement de progression d'installation de plugin. Émis quand [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/docs/fr/env-vars) est défini, pour que votre application Agent SDK puisse suivre l'installation du plugin de marketplace avant le premier tour. Les statuts `started` et `completed` encadrent l'installation globale. Les statuts `installed` et `failed` rapportent les marketplaces individuels et incluent `name`.

1761 1810 

1762```typescript theme={null}1811```typescript theme={null}

1763type SDKPluginInstallMessage = {1812type SDKPluginInstallMessage = {


1775 `SDKPermissionDeniedMessage`1824 `SDKPermissionDeniedMessage`

1776</h3>1825</h3>

1777 1826 

1778Événement de flux émis quand le système de permissions refuse un appel d'outil sans invite interactive. Utilisez-le pour afficher le refus dans votre interface utilisateur au fur et à mesure, plutôt que d'observer uniquement le résultat d'outil `is_error` qui suit. Lequel des refus il rapporte dépend de la façon dont l'exécution gère les invites de permissions :1827Événement de flux émis quand le système de permissions refuse un appel d'outil sans invite interactive. Utilisez-le pour rendre le refus dans votre interface utilisateur au fur et à mesure, plutôt que d'observer uniquement le résultat d'outil `is_error` qui suit. Quels refus il rapporte dépend de la façon dont l'exécution gère les invites de permissions :

1779 1828 

1780* **Avec un callback [`canUseTool`](#canusetool) et le [`permissionPrompts: 'host'`](#options) par défaut** : les invites de permissions vont à votre callback, et cet événement rapporte les refus que Claude Code décide par lui-même sans l'appeler.1829* **Avec un rappel [`canUseTool`](#canusetool) et le [`permissionPrompts: 'host'`](#options) par défaut** : les invites de permissions vont à votre rappel, et cet événement rapporte les refus que Claude Code décide par lui-même sans l'appeler.

1781* **Sans aucun des deux** : une exécution `-p` nue, ou `query()` qui ne définit ni `canUseTool` ni `permissionPromptToolName`, refuse tout appel d'outil qui aurait invité, et cet événement rapporte aussi ces refus ainsi que ceux que Claude Code décide par lui-même. Avant v2.1.223, Claude Code n'émettait pas cet événement dans les exécutions sans callback.1830*

1782* **Avec un outil de prompt MCP**, défini avec `permissionPromptToolName` ou le drapeau [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags), et le `permissionPrompts: 'host'` par défaut : Claude Code n'émet pas du tout cet événement, pas même pour les refus de règles qu'il décide par lui-même.

1783* **Avec [`permissionPrompts: 'none'`](#options)** : Claude Code refuse les appels qui auraient invité, même quand `canUseTool` ou un outil de prompt MCP est aussi défini, et cet événement rapporte aussi ces refus ainsi que ceux que Claude Code décide par lui-même. Nécessite Claude Code v2.1.259 ou ultérieur.

1784 1831 

1785Dans chaque configuration, cet événement ignore tout refus décidé sur le chemin du hook `PreToolUse`, que le hook ait refusé l'appel lui-même ou qu'une règle de refus ait remplacé la décision d'autorisation ou de demande du hook. L'événement est aussi au mieux : occasionnellement Claude Code enregistre un refus sans émettre cet événement, donc `permission_denials` sur le [message de résultat](#sdkresultmessage) est le registre faisant autorité.1832**Avec aucun des deux** : une exécution `-p` nue, ou `query()` qui ne définit ni `canUseTool` ni `permissionPromptToolName`, refuse tout appel d'outil qui aurait invité, et cet événement rapporte ces refus ainsi que ceux que Claude Code décide par lui-même. Avant v2.1.223, Claude Code n'émettait pas cet événement dans les exécutions sans rappel.

1833 

1834* **Avec un outil d'invite MCP**, défini avec `permissionPromptToolName` ou le drapeau [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags), et le `permissionPrompts: 'host'` par défaut : Claude Code n'émet pas du tout cet événement, pas même pour les refus de règle qu'il décide par lui-même.

1835*

1836 

1837**Avec [`permissionPrompts: 'none'`](#options)** : Claude Code refuse les appels qui auraient invité, même quand `canUseTool` ou un outil d'invite MCP est aussi défini, et cet événement rapporte ces refus ainsi que ceux que Claude Code décide par lui-même. Nécessite Claude Code v2.1.259 ou ultérieur.

1838 

1839Dans chaque configuration, cet événement ignore tout refus décidé sur le chemin du hook `PreToolUse`, que le hook ait refusé l'appel lui-même ou qu'une règle de refus ait remplacé la décision d'autorisation ou de demande du hook. L'événement est aussi du meilleur effort : occasionnellement Claude Code enregistre un refus sans émettre cet événement, donc `permission_denials` sur le [message de résultat](#sdkresultmessage) est le registre faisant autorité.

1786 1840 

1787```typescript theme={null}1841```typescript theme={null}

1788type SDKPermissionDeniedMessage = {1842type SDKPermissionDeniedMessage = {


1800```1854```

1801 1855 

1802| Champ | Type | Description |1856| Champ | Type | Description |

1803| ---------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------- |1857| ---------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------- |

1804| `tool_name` | `string` | Nom de l'outil qui a été refusé |1858| `tool_name` | `string` | Nom de l'outil qui a été refusé |

1805| `tool_use_id` | `string` | ID du bloc `tool_use` auquel ce refus répond |1859| `tool_use_id` | `string` | ID du bloc `tool_use` auquel ce refus répond |

1806| `agent_id` | `string` | ID du sous-agent quand l'appel refusé provient d'un sous-agent. Reflète le champ sur `can_use_tool` pour l'acheminement côté hôte |1860| `agent_id` | `string` | ID du sous-agent quand l'appel refusé provient de l'intérieur d'un sous-agent. Reflète le champ sur `can_use_tool` pour le routage côté hôte |

1807| `decision_reason_type` | `string` | Discriminateur du composant qui a décidé, tel que `"rule"`, `"mode"`, `"classifier"` ou `"asyncAgent"` |1861| `decision_reason_type` | `string` | Discriminateur pour le composant qui a décidé, comme `"rule"`, `"mode"`, `"classifier"`, ou `"asyncAgent"` |

1808| `decision_reason` | `string` | Raison lisible par l'homme du composant décideur, quand disponible |1862| `decision_reason` | `string` | Raison lisible par l'homme du composant décideur, quand disponible |

1809| `message` | `string` | Message de rejet retourné au modèle dans le `tool_result` |1863| `message` | `string` | Message de rejet retourné au modèle dans le `tool_result` |

1810 1864 


1812 `SDKPermissionDenial`1866 `SDKPermissionDenial`

1813</h3>1867</h3>

1814 1868 

1815Informations sur une utilisation d'outil refusée.1869Information sur un usage d'outil refusé.

1816 1870 

1817```typescript theme={null}1871```typescript theme={null}

1818type SDKPermissionDenial = {1872type SDKPermissionDenial = {


1826 `SDKContextUsage`1880 `SDKContextUsage`

1827</h3>1881</h3>

1828 1882 

1829Forme structurée du rapport `/context`, portée comme `context_usage` sur le [`SDKAssistantMessage`](#sdkassistantmessage) qui livre un résultat `/context`. Agent SDK v0.3.232 et ultérieur exportent le type. Contrairement à [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse), il porte uniquement les données nécessaires pour afficher la ventilation d'utilisation, sans champs d'affichage tels que `color` et `gridRows`.1883Forme structurée du rapport `/context`, portée comme `context_usage` sur le [`SDKAssistantMessage`](#sdkassistantmessage) qui livre un résultat `/context`. Agent SDK v0.3.232 et ultérieur exportent le type. Contrairement à [`SDKControlGetContextUsageResponse`](#sdkcontrolgetcontextusageresponse), il porte uniquement les données nécessaires pour rendre la ventilation d'utilisation, sans champs d'affichage comme `color` et `gridRows`.

1830 1884 

1831```typescript theme={null}1885```typescript theme={null}

1832type SDKContextUsage = {1886type SDKContextUsage = {


1863};1917};

1864```1918```

1865 1919 

1866Le tableau énumère ce que Claude Code met dans chaque champ. Les champs de `model` à `over_limit` décrivent la session dans son ensemble, et les champs de collection attribuent les jetons aux éléments individuels.1920Le tableau liste ce que Claude Code met dans chaque champ. Les champs de `model` à `over_limit` décrivent la session dans son ensemble, et les champs de collection attribuent les jetons aux éléments individuels.

1867 1921 

1868| Champ | Type | Description |1922| Champ | Type | Description |

1869| ---------------- | --------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1923| ---------------- | --------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1870| `model` | `string` | Le modèle de la boucle principale pour lequel Claude Code a calculé l'utilisation, pas celui d'un sous-agent |1924| `model` | `string` | Le modèle de la boucle principale pour lequel Claude Code a calculé l'utilisation, pas celui d'un sous-agent |

1871| `total_tokens` | `number` | L'estimation de Claude Code des jetons en utilisation. Non limité à la fenêtre, donc il peut dépasser `raw_max_tokens` quand la session dépasse la limite |1925| `total_tokens` | `number` | L'estimation de Claude Code des jetons en utilisation. Non limité à la fenêtre, donc il peut dépasser `raw_max_tokens` quand la session dépasse la limite |

1872| `raw_max_tokens` | `number` | La fenêtre de contexte du modèle, ou la [fenêtre de compaction automatique](/docs/fr/model-config#context-window-and-auto-compaction) inférieure quand une s'applique, comme une que vous avez définie ou la limite de 200K que Claude Code applique à certains modèles avec une fenêtre de 1M jetons. Claude Code mesure `total_tokens` par rapport à cette fenêtre |1926| `raw_max_tokens` | `number` | La fenêtre de contexte du modèle, ou la [fenêtre de compaction automatique](/docs/fr/model-config#context-window-and-auto-compaction) inférieure quand une s'applique, comme une que vous définissez ou la limite de 200K que Claude Code applique à certains modèles avec une fenêtre de 1M de jetons. Claude Code mesure `total_tokens` par rapport à cette fenêtre |

1873| `percentage` | `number` | `total_tokens` en pourcentage arrondi de `raw_max_tokens`, donc il peut dépasser 100 quand la session dépasse la limite |1927| `percentage` | `number` | `total_tokens` en pourcentage arrondi de `raw_max_tokens`, donc il peut dépasser 100 quand la session dépasse la limite |

1874| `over_limit` | `object` | Présent uniquement quand `total_tokens` dépasse `raw_max_tokens`. `tokens_over` est le montant au-delà, et `kind` dit comment Claude Code a résolu la fenêtre |1928| `over_limit` | `object` | Présent uniquement quand `total_tokens` dépasse `raw_max_tokens`. `tokens_over` est le montant au-dessus, et `kind` dit comment Claude Code a résolu la fenêtre |

1875| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | Une entrée par ligne de la ventilation d'utilisation par catégorie |1929| `categories` | [`SDKContextUsageCategory`](#sdkcontextusagecategory)`[]` | Une entrée par ligne de la ventilation d'utilisation par catégorie |

1876| `mcp_tools` | `object[]` | Jetons attribués à chaque outil MCP, avec son nom de fil, comme `mcp__linear__create_issue`, et son `server_name` |1930| `mcp_tools` | `object[]` | Jetons attribués à chaque outil MCP, avec son nom de fil, comme `mcp__linear__create_issue`, et son `server_name` |

1877| `memory_files` | `object[]` | Jetons attribués à chaque fichier de mémoire chargé, avec son `path` et une étiquette de source comme `Project` ou `User` dans `type` |1931| `memory_files` | `object[]` | Jetons attribués à chaque fichier de mémoire chargé, avec son `path` et une étiquette source comme `Project` ou `User` dans `type` |

1878| `agents` | `object[]` | Jetons attribués à chaque définition de sous-agent personnalisé, avec un identifiant de source comme `projectSettings`, `userSettings` ou `plugin`. Les sous-agents intégrés ne sont pas énumérés |1932| `agents` | `object[]` | Jetons attribués à chaque définition de sous-agent personnalisé, avec un identifiant source comme `projectSettings`, `userSettings`, ou `plugin`. Les sous-agents intégrés ne sont pas listés |

1879| `skills` | `object[]` | Jetons attribués à chaque compétence dans l'énumération des compétences, avec un identifiant de source et, pour les compétences de plugin, le nom du plugin dans `plugin_name`. Absent quand aucune compétence ne contribue de jetons |1933| `skills` | `object[]` | Jetons attribués à chaque compétence dans la liste des compétences, avec un identifiant source et, pour les compétences de plugin, le nom du plugin dans `plugin_name`. Absent quand aucune compétence ne contribue de jetons |

1880 1934 

1881`over_limit.kind` enregistre comment Claude Code a résolu la fenêtre, pas si l'API accepte la prochaine demande :1935`over_limit.kind` enregistre comment Claude Code a résolu la fenêtre, pas si l'API accepte la prochaine requête :

1882 1936 

1883* `hard_limit` : la fenêtre est ce que Claude Code croit être la limite propre du modèle, au-delà de laquelle l'API refuse les demandes1937* `hard_limit` : la fenêtre est ce que Claude Code croit être la limite propre du modèle, au-delà de laquelle l'API refuse les requêtes

1884* `compaction_window` : la fenêtre est une fenêtre de politique de compaction, qui peut ou non coïncider avec la limite du modèle1938* `compaction_window` : la fenêtre est une fenêtre de politique de compaction, qui peut ou non coïncider avec la limite du modèle

1885 1939 

1886Claude Code évolue le type de manière additive, ajoutant de nouvelles données en tant que champs optionnels plutôt que de remodeler les existants. Lisez les champs que vous connaissez et ignorez ceux que vous ne reconnaissez pas.1940Claude Code évolue le type de manière additive, ajoutant de nouvelles données comme des champs optionnels plutôt que de remodeler les existants. Lisez les champs que vous connaissez et ignorez ceux que vous ne reconnaissez pas.

1887 1941 

1888<h3 id="sdkcontextusagecategory">1942<h3 id="sdkcontextusagecategory">

1889 `SDKContextUsageCategory`1943 `SDKContextUsageCategory`


1899};1953};

1900```1954```

1901 1955 

1902Le tableau énumère ce que Claude Code met dans chaque champ d'une ligne.1956Le tableau liste ce que Claude Code met dans chaque champ d'une ligne.

1903 1957 

1904| Champ | Type | Description |1958| Champ | Type | Description |

1905| -------- | -------- | ---------------------------------------------------------------------------------------------------------------------------- |1959| -------- | -------- | -------------------------------------------------------------------------------------------------------------------------- |

1906| `name` | `string` | Le nom d'affichage de la ligne tel que `/context` l'imprime, comme `Messages`. Classifiez les lignes par `kind`, pas par nom |1960| `name` | `string` | Le nom d'affichage de la ligne comme `/context` l'imprime, comme `Messages`. Classifiez les lignes par `kind`, pas par nom |

1907| `tokens` | `number` | Le nombre de jetons de la ligne. Les lignes peuvent porter zéro jeton |1961| `tokens` | `number` | Le nombre de jetons de la ligne. Les lignes peuvent porter zéro jeton |

1908| `kind` | `string` | Ce que la ligne représente : `used`, `free`, `buffer` ou `deferred` |1962| `kind` | `string` | Ce que la ligne représente : `used`, `free`, `buffer`, ou `deferred` |

1909 1963 

1910Chaque valeur `kind` dit ce que les jetons de la ligne sont :1964Chaque valeur `kind` dit ce que les jetons de la ligne sont :

1911 1965 

1912* `used` : contenu qui occupe la fenêtre de contexte1966* `used` : contenu qui occupe la fenêtre de contexte

1913* `free` : la fenêtre restante1967* `free` : la fenêtre restante

1914* `buffer` : la réserve de compaction1968* `buffer` : la réserve de compaction

1915* `deferred` : schémas d'outil que Claude Code tient hors de la fenêtre et exclut du calcul d'utilisation, énumérés pour la sensibilisation1969* `deferred` : schémas d'outil que Claude Code tient hors de la fenêtre et exclut du calcul d'utilisation, listés pour la sensibilisation

1916 1970 

1917<h3 id="sdkmessageorigin">1971<h3 id="sdkmessageorigin">

1918 `SDKMessageOrigin`1972 `SDKMessageOrigin`

1919</h3>1973</h3>

1920 1974 

1921Provenance d'un message de rôle utilisateur. Ceci apparaît comme `origin` sur [`SDKUserMessage`](#sdkusermessage) et est transmis au [`SDKResultMessage`](#sdkresultmessage) correspondant afin que vous puissiez dire ce qui a déclenché un tour donné.1975Provenance d'un message de rôle utilisateur. Ceci apparaît comme `origin` sur [`SDKUserMessage`](#sdkusermessage) et est transféré sur le [`SDKResultMessage`](#sdkresultmessage) correspondant pour que vous puissiez dire ce qui a déclenché un tour donné.

1922 1976 

1923```typescript theme={null}1977```typescript theme={null}

1924type SDKMessageOrigin =1978type SDKMessageOrigin =


1937 | {1991 | {

1938 kind: "task-notification";1992 kind: "task-notification";

1939 subkind?: "scheduled-trigger" | "peer-send-message";1993 subkind?: "scheduled-trigger" | "peer-send-message";

1994 fireReason?: string;

1940 }1995 }

1941 | { kind: "coordinator" }1996 | { kind: "coordinator" }

1942 | { kind: "auto-continuation" }1997 | { kind: "auto-continuation" }


1944```1999```

1945 2000 

1946| `kind` | Signification |2001| `kind` | Signification |

1947| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2002| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1948| `human` | Entrée directe de l'utilisateur final. Si votre application transmet ce que l'utilisateur a tapé en tant que message utilisateur, définissez son `origin` sur `{ kind: "human" }` explicitement : Claude Code traite un message utilisateur sans `origin` comme non attribué, et vérifie que les exigences d'une invite tapée par l'humain, comme le mot-clé de flux de travail [`ultracode`](/docs/fr/workflows#ask-for-a-workflow-in-your-prompt), ne l'acceptent pas. Avant v2.1.210, Claude Code traitait une `origin` absente sur un message utilisateur comme une entrée humaine. |2003| `human` | Entrée directe de l'utilisateur final. Si votre application transmet ce que l'utilisateur a tapé comme un message utilisateur, définissez son `origin` à `{ kind: "human" }` explicitement : Claude Code traite un message utilisateur sans `origin` comme non attribué, et vérifie que les vérifications qui nécessitent une invite tapée par l'humain, comme le [mot-clé de flux de travail `ultracode`](/docs/fr/workflows#ask-for-a-workflow-in-your-prompt), ne l'acceptent pas. Avant v2.1.210, Claude Code traitait un `origin` absent sur un message utilisateur comme une entrée humaine. |

1949| `channel` | Message arrivant sur un [canal](/docs/fr/channels). `server` est le nom du serveur MCP source. |2004| `channel` | Message arrivant sur un [canal](/docs/fr/channels). `server` est le nom du serveur MCP source. |

1950| `peer` | Message d'un autre agent : un [coéquipier](/docs/fr/agent-teams) en processus ou un [pair entre sessions](/docs/fr/cross-session-messaging), une autre de vos sessions Claude Code. Voir [Champs d'origine de pair](#peer-origin-fields) pour la sémantique par champ et le modèle de confiance. |2005| `peer` | Message d'un autre agent : un [coéquipier](/docs/fr/agent-teams) en processus ou un [pair entre sessions](/docs/fr/cross-session-messaging), une autre de vos sessions Claude Code. Voir [Champs d'origine pair](#peer-origin-fields) pour la sémantique par champ et le modèle de confiance. |

1951| `task-notification` | Tour synthétique injecté pour une livraison qui arrive sans une invite utilisateur fraîche, comme une tâche de fond terminée ; voir [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) pour ce bras. Le `subkind` optionnel marque ce qui a levé la notification. Voir [Sous-types de notification de tâche](#task-notification-subkinds). |2006| `task-notification` | Tour synthétique injecté pour une livraison qui arrive sans une invite utilisateur fraîche, comme une tâche de fond terminée ; voir [`SDKTaskNotificationMessage`](#sdktasknotificationmessage) pour ce bras. Une invite que votre application [déclare comme une exécution planifiée](#declare-a-scheduled-run) porte ce type aussi. Le `subkind` optionnel marque ce qui a levé la notification. Voir [Sous-types de notification de tâche](#task-notification-subkinds). |

1952| `coordinator` | Message d'un coordinateur d'équipe dans une [équipe d'agents](/docs/fr/agent-teams). |2007| `coordinator` | Message d'un coordinateur d'équipe dans une [équipe d'agents](/docs/fr/agent-teams). |

1953| `auto-continuation` | Tour synthétique injecté quand la session continue sans nouvelle entrée utilisateur, comme un résultat de commande qui déclenche une invite de suivi. |2008| `auto-continuation` | Tour synthétique injecté quand la session continue sans entrée utilisateur fraîche, comme un résultat de commande qui déclenche une invite de suivi. |

1954| `unclassified` | Tour injecté dont l'origine n'a pas pu être déterminée. Nécessite Claude Code v2.1.223 ou ultérieur. Quand Claude Code reçoit un [`SDKUserMessage`](#sdkusermessage) avec `isSynthetic: true` et ne peut pas le classer comme un autre `kind`, il définit ce type à l'arrivée du message et encadre le tour au modèle comme une source non-utilisateur plutôt que de le traiter comme une entrée humaine. Votre application ne devrait pas définir cette valeur. |2009| `unclassified` | Tour injecté dont l'origine n'a pas pu être déterminée. Nécessite Claude Code v2.1.223 ou ultérieur. Quand Claude Code reçoit un [`SDKUserMessage`](#sdkusermessage) avec `isSynthetic: true` et ne peut pas le classer comme un autre `kind`, il définit ce type à l'arrivée du message et encadre le tour au modèle comme une source non-utilisateur plutôt que de le traiter comme une entrée humaine. Votre application ne devrait pas définir cette valeur. |

1955 2010 

1956<h3 id="task-notification-subkinds">2011<h3 id="task-notification-subkinds">

1957 Sous-types de notification de tâche2012 Sous-types de notification de tâche

1958</h3>2013</h3>

1959 2014 

1960Quand Claude Code livre une notification de tâche dans une session, il définit `subkind` sur l'`origin` de la notification uniquement si les serveurs Anthropic ont vérifié d'où cette notification provenait. `subkind` nécessite Claude Code v2.1.213 ou ultérieur, et il prend l'une de deux valeurs :2015Quand Claude Code livre une notification de tâche dans une session, il définit `subkind` sur le `origin` de la notification si les serveurs Anthropic ont vérifié d'où provenait cette notification. Il le définit aussi quand votre application [déclare le message comme une exécution planifiée](#declare-a-scheduled-run) elle-même, ce qui nécessite TypeScript Agent SDK v0.3.280 ou ultérieur. `subkind` nécessite Claude Code v2.1.213 ou ultérieur, et prend l'une de deux valeurs :

1961 2016 

1962* `scheduled-trigger` : la notification est une invite stockée d'une [routine](/docs/fr/routines), livrée parce que l'un des déclencheurs de la routine s'est déclenché : son horaire, son [déclencheur API](/docs/fr/routines#add-an-api-trigger), son [déclencheur GitHub](/docs/fr/routines#add-a-github-trigger), ou **Exécuter maintenant**. Claude Code encadre ceux-ci au modèle comme la tâche assignée de la session, avec un avis différent de l'[avis que les autres notifications de tâche portent](#sdktasknotificationmessage).2017* `scheduled-trigger` : la notification est une invite stockée d'une [routine](/docs/fr/routines), livrée parce que l'un des déclencheurs de la routine s'est déclenché : son horaire, son [déclencheur API](/docs/fr/routines#add-an-api-trigger), son [déclencheur GitHub](/docs/fr/routines#add-a-github-trigger), ou **Exécuter maintenant**. Une invite que votre application [déclare comme une exécution planifiée](#declare-a-scheduled-run) porte cette valeur aussi. Claude Code encadre celles-ci au modèle comme la tâche assignée de la session, avec un avis différent de l'[avis que les autres notifications de tâche portent](#sdktasknotificationmessage).

1963*2018*

1964 2019 

1965`peer-send-message` : la notification est un message qu'une autre de vos sessions a envoyé avec l'outil côté serveur `send_message` que les sessions [Claude Code sur le web](/docs/fr/claude-code-on-the-web) utilisent pour se envoyer des messages les unes aux autres, pas l'[outil `SendMessage` entre sessions](/docs/fr/cross-session-messaging), et les serveurs Anthropic ont vérifié que les deux sessions appartiennent au même groupe privé de sessions. Nécessite Claude Code v2.1.224 ou ultérieur. Une livraison `send_message` que les serveurs n'ont pas vérifiée de cette façon n'obtient pas de subkind.2020`peer-send-message` : la notification est un message qu'une autre de vos sessions a envoyé avec l'outil côté serveur `send_message` que les [sessions cloud](/docs/fr/claude-code-on-the-web) utilisent pour se messagerie mutuellement, pas l'[outil `SendMessage` entre sessions](/docs/fr/cross-session-messaging), et les serveurs Anthropic ont vérifié que les deux sessions appartiennent au même groupe privé de sessions. Nécessite Claude Code v2.1.224 ou ultérieur. Une livraison `send_message` que les serveurs n'ont pas vérifiée de cette façon n'obtient pas de subkind.

1966 2021 

1967Chaque autre notification de tâche n'a pas de `subkind`. Cela inclut les [tâches programmées](/docs/fr/scheduled-tasks) qui se déclenchent sur votre propre machine, l'[activité PR](/docs/fr/claude-code-on-the-web#how-claude-responds-to-pr-activity) livrée dans une session, et les événements de fond comme une tâche terminée. Les messages de l'[outil `SendMessage` entre sessions](/docs/fr/cross-session-messaging) ne sont pas du tout des notifications de tâche : qu'ils proviennent d'une session sur la même machine ou via les serveurs Anthropic d'une autre machine, Claude Code leur donne `kind: "peer"` et les [champs d'origine de pair](#peer-origin-fields).2022Chaque autre notification de tâche n'a pas de `subkind`. Cela inclut l'[activité PR](/docs/fr/claude-code-on-the-web#how-claude-responds-to-pr-activity) livrée dans une session et les événements de fond comme une tâche terminée. Les messages de l'[outil `SendMessage` entre sessions](/docs/fr/cross-session-messaging) ne sont pas du tout des notifications de tâche : qu'ils proviennent d'une session sur la même machine ou via les serveurs Anthropic d'une autre machine, Claude Code leur donne `kind: "peer"` et les [champs d'origine pair](#peer-origin-fields).

2023 

2024`fireReason` dit pourquoi une notification `scheduled-trigger` s'est déclenchée, comme un jeton minuscule court comme `scheduled`, `manual`, `retry`, `catch_up`, ou `api`. Les serveurs Anthropic le définissent sur les livraisons d'une [routine](/docs/fr/routines), et votre application le définit quand elle déclare une exécution planifiée. Il est absent quand aucun des deux n'en a envoyé un. Nécessite TypeScript Agent SDK v0.3.280 ou ultérieur.

2025 

2026<h4 id="declare-a-scheduled-run">

2027 Déclarer une exécution planifiée

2028</h4>

2029 

2030Si votre application exécute des invites selon son propre horaire, déclarez chaque exécution pour que Claude Code encadre le tour au modèle comme une tâche planifiée plutôt que comme une entrée en direct de l'utilisateur. Démarrez la session avec `CLAUDE_CODE_HOST_SCHEDULED_RUN` défini à `1` dans [`env`](#options), puis envoyez le [`SDKUserMessage`](#sdkusermessage) de l'exécution avec `origin: { kind: "task-notification", subkind: "scheduled-trigger", fireReason: "scheduled" }` et sans `isSynthetic`. Claude Code ignore la déclaration dans un processus démarré sans cette variable. Il l'ignore aussi dans un processus dont l'environnement porte [`CLAUDECODE`](/docs/fr/env-vars) ou `CLAUDE_CODE_CHILD_SESSION`. Claude Code conserve `fireReason` uniquement quand la valeur est 1 à 32 lettres minuscules ou traits de soulignement. Nécessite TypeScript Agent SDK v0.3.280 ou ultérieur.

1968 2031 

1969<h3 id="peer-origin-fields">2032<h3 id="peer-origin-fields">

1970 Champs d'origine de pair2033 Champs d'origine pair

1971</h3>2034</h3>

1972 2035 

1973Une origine `peer` identifie quel agent a envoyé le message : un [coéquipier](/docs/fr/agent-teams) en processus envoyant à `main` avec `SendMessage`, ou un [pair entre sessions](/docs/fr/cross-session-messaging), une autre de vos sessions Claude Code. Les pairs entre sessions nécessitent Claude Code v2.1.224 ou ultérieur sur macOS et Linux ; voir [disponibilité de la messagerie entre sessions](/docs/fr/cross-session-messaging#availability) pour l'exigence Windows native. Un pair entre sessions peut s'exécuter sur la même machine, ou sur [une autre de vos machines](/docs/fr/cross-session-messaging#message-sessions-on-other-machines) ou [Claude Code sur le web](/docs/fr/claude-code-on-the-web) quand son message arrive via Remote Control. Les deux types d'expéditeur remplissent les champs différemment :2036Une origine `peer` identifie quel agent a envoyé le message : un [coéquipier](/docs/fr/agent-teams) en processus envoyant à `main` avec `SendMessage`, ou un [pair entre sessions](/docs/fr/cross-session-messaging), une autre de vos sessions Claude Code. Les pairs entre sessions nécessitent Claude Code v2.1.224 ou ultérieur sur macOS et Linux ; voir [disponibilité de la messagerie entre sessions](/docs/fr/cross-session-messaging#availability) pour l'exigence Windows native. Un pair entre sessions peut s'exécuter sur la même machine, ou sur [une autre de vos machines](/docs/fr/cross-session-messaging#message-sessions-on-other-machines) ou [dans le cloud](/docs/fr/claude-code-on-the-web) quand son message arrive via Remote Control. Les deux types d'expéditeur remplissent les champs différemment :

1974 2037 

1975* `from` : le nom du coéquipier, ou l'adresse de l'expéditeur pour un pair entre sessions. Pour un [message entre machines unidirectionnel](/docs/fr/cross-session-messaging#message-sessions-on-other-machines), l'expéditeur n'a pas d'adresse de réponse et `from` est `"unknown"`. La valeur est créée par l'expéditeur ; `verifiedPeerPid` est l'identité vérifiée.2038* `from` : le nom du coéquipier, ou l'adresse de l'expéditeur pour un pair entre sessions. Pour un [message entre machines unidirectionnel](/docs/fr/cross-session-messaging#message-sessions-on-other-machines), l'expéditeur n'a pas d'adresse de réponse et `from` est `"unknown"`. La valeur est créée par l'expéditeur ; `verifiedPeerPid` est l'identité vérifiée.

1976*2039*

1977 2040 

1978`fromMode` : la classe de permissions de la session d'envoi, `bypass` ou `prompting`, déclarée par un hôte qui relaie un message de pair entre vos sessions, comme l'[application de bureau](/docs/fr/desktop#work-across-sessions). Claude Code la lit dans la session de réception quand il applique les [contrôles entrants](/docs/fr/cross-session-messaging#control-inbound-messages). Nécessite Agent SDK v0.3.234 ou ultérieur.2041`fromMode` : la classe de permissions de la session d'envoi, `bypass` ou `prompting`, déclarée par un hôte qui relaie un message pair entre vos sessions, comme l'[application de bureau](/docs/fr/desktop#work-across-sessions). Claude Code la lit dans la session de réception quand il applique les [contrôles entrants](/docs/fr/cross-session-messaging#control-inbound-messages). Nécessite Agent SDK v0.3.234 ou ultérieur.

1979 2042 

1980* `senderTaskId` : l'ID de tâche du coéquipier. Absent pour un pair entre sessions.2043* `senderTaskId` : l'ID de tâche du coéquipier. Absent pour un pair entre sessions.

1981*2044*

1982 2045 

1983`name` : le nom d'affichage de l'expéditeur, normalisé par Claude Code : il supprime les points de code de contrôle, de format, de substitut Unicode, et de séparateur de ligne ou de paragraphe, puis tronque le résultat et le limite à 64 points de code avec des points de suspension. Nécessite Claude Code v2.1.205 ou ultérieur.2046`name` : le nom d'affichage de l'expéditeur, normalisé par Claude Code : il supprime les points de code de contrôle, format, substitut et séparateur de ligne ou paragraphe Unicode, puis coupe le résultat et le limite à 64 points de code avec une ellipse. Nécessite Claude Code v2.1.205 ou ultérieur.

1984 2047 

1985*2048*

1986 2049 

1987`body` : le corps du message décodé avec l'enveloppe de pair supprimée, octet-exact avec ce que le modèle voit. Toujours présent pour un message de coéquipier ; pour un pair entre sessions, présent uniquement quand le tour est exactement une enveloppe de pair formée par Claude Code. Rendez `name` et `body` au lieu de réanalyser le texte du message. Nécessite Claude Code v2.1.205 ou ultérieur.2050`body` : le corps du message décodé avec l'enveloppe pair supprimée, octet-exact avec ce que le modèle voit. Toujours présent pour un message de coéquipier ; pour un pair entre sessions, présent uniquement quand le tour est exactement une enveloppe pair formée par Claude Code. Rendez `name` et `body` au lieu de réanalyser le texte du message. Nécessite Claude Code v2.1.205 ou ultérieur.

1988 2051 

1989*2052*

1990 2053 

1991`fromSession` : l'ID de session de l'expéditeur ouvert par l'hôte, défini par l'hôte de l'expéditeur afin que votre interface utilisateur puisse créer un lien vers la session d'envoi. Comme `from`, il est affirmé par l'expéditeur : utilisez-le uniquement comme cible de navigation, et ne le traitez pas comme une preuve de l'identité de l'expéditeur. Nécessite Claude Code v2.1.216 ou ultérieur.2054`fromSession` : l'ID de session ouvrable par l'hôte de l'expéditeur, défini par l'hôte de l'expéditeur pour que votre interface utilisateur puisse se lier à la session d'envoi. Comme `from`, il est affirmé par l'expéditeur : utilisez-le uniquement comme cible de navigation, et ne le traitez pas comme une preuve de l'identité de l'expéditeur. Nécessite Claude Code v2.1.216 ou ultérieur.

1992 2055 

1993*2056*

1994 2057 

1995`verifiedPeerPid` : l'ID de processus du processus qui s'est connecté à la prise de messagerie entre sessions de cette session, vérifié par le noyau et lu de la connexion elle-même, jamais de la charge utile. Utilisez-le, pas `from`, pour identifier l'expéditeur : `from` peut être forgé par n'importe quel processus du même utilisateur. Le champ est absent quand Claude Code ne peut pas le vérifier, comme sur Windows ou l'entrée non-socket, donc une valeur absente signifie que l'expéditeur n'est pas vérifié. Pour le trafic relayé, il identifie le relais plutôt que l'auteur du message, et les ID de processus sont recyclables, donc traitez-le comme une provenance plutôt qu'un jeton d'authentification. Nécessite Claude Code v2.1.216 ou ultérieur.2058`verifiedPeerPid` : l'ID de processus du processus qui s'est connecté à la prise de messagerie entre sessions de cette session, vérifié par le noyau et lu de la connexion elle-même, jamais de la charge utile. Utilisez-le, pas `from`, pour identifier l'expéditeur : `from` est forgeable par n'importe quel processus du même utilisateur. Le champ est absent quand Claude Code ne peut pas le vérifier, comme sur Windows ou l'entrée non-socket, donc une valeur absente signifie que l'expéditeur n'est pas vérifié. Pour le trafic relayé, il identifie le relais plutôt que l'auteur du message, et les ID de processus sont recyclables, donc traitez-le comme la provenance plutôt que comme un jeton d'authentification. Nécessite Claude Code v2.1.216 ou ultérieur.

1996 2059 

1997<h2 id="hook-types">2060<h2 id="hook-types">

1998 Types de hook2061 Types de hook


2858 | ReadMcpResourceInput2921 | ReadMcpResourceInput

2859 | RefreshMcpToolsInput2922 | RefreshMcpToolsInput

2860 | RemoteTriggerInput2923 | RemoteTriggerInput

2861 | REPLInput

2862 | ReportFindingsInput2924 | ReportFindingsInput

2863 | ScheduleWakeupInput2925 | ScheduleWakeupInput

2864 | ShowOnboardingRolePickerInput2926 | ShowOnboardingRolePickerInput

2865 | TaskCreateInput2927 | TaskCreateInput

2866 | TaskGetInput2928 | TaskGetInput

2867 | TaskListInput2929 | TaskListInput

2868 | TaskOutputInput

2869 | TaskStopInput2930 | TaskStopInput

2870 | TaskUpdateInput2931 | TaskUpdateInput

2871 | TodoWriteInput2932 | TodoWriteInput


2960 3021 

2961Exécute une source de fond et livre chaque événement à Claude pour qu'il puisse réagir sans interrogation : `command` exécute un script et émet un événement par ligne stdout, et `ws` ouvre une WebSocket et émet un événement par trame texte. Fournissez exactement l'un de `command` ou `ws`. La source `ws` nécessite Claude Code v2.1.195 ou version ultérieure.3022Exécute une source de fond et livre chaque événement à Claude pour qu'il puisse réagir sans interrogation : `command` exécute un script et émet un événement par ligne stdout, et `ws` ouvre une WebSocket et émet un événement par trame texte. Fournissez exactement l'un de `command` ou `ws`. La source `ws` nécessite Claude Code v2.1.195 ou version ultérieure.

2962 3023 

2963`timeout_ms` est la date limite de la montre en millisecondes. Elle est par défaut 300000, et la date limite effective est au maximum 1800000, soit 30 minutes. À la date limite, la montre se termine et Claude reçoit un avis pour qu'il puisse démarrer une nouvelle montre s'il en a toujours besoin.3024`timeout_ms` est la date limite de la montre en millisecondes. Elle est par défaut 300000 et accepte les valeurs jusqu'à 3600000. La date limite effective est au maximum 1800000, soit 30 minutes, donc une valeur acceptée plus grande est raccourcie à cela. À la date limite, la montre se termine et Claude reçoit un avis pour qu'il puisse démarrer une nouvelle montre s'il en a toujours besoin.

2964 3025 

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

2966 3027 


2970 TaskOutput3031 TaskOutput

2971</h3>3032</h3>

2972 3033 

2973**Nom de l'outil :** `TaskOutput`3034Supprimé dans Claude Code v2.1.277, ainsi que son type `TaskOutputInput`. Récupérait précédemment la sortie d'une tâche de fond en cours d'exécution ou terminée ; Claude lit le fichier de sortie d'une tâche de fond avec `Read` à la place.

2974 3035 

2975<Note>`TaskOutput` est déprécié ; préférez `Read` sur le chemin du fichier de sortie de la tâche. Les schémas ci-dessous restent valides pour les hooks et les gestionnaires de permission qui rencontrent l'outil.</Note>3036Une entrée `disallowedTools` ou une règle de refus qui nomme toujours `TaskOutput` est ignorée sans avertissement.

2976 

2977```typescript theme={null}

2978type TaskOutputInput = {

2979 task_id: string;

2980 block: boolean;

2981 timeout: number;

2982};

2983```

2984 

2985Récupère la sortie d'une tâche de fond en cours d'exécution ou terminée.

2986 3037 

2987<h3 id="edit">3038<h3 id="edit">

2988 Edit3039 Edit


3477 REPL3528 REPL

3478</h3>3529</h3>

3479 3530 

3480**Nom de l'outil :** `REPL`3531Supprimé dans v2.1.275. Jusqu'à v2.1.274, un outil `REPL` expérimental pouvait être activé avec `CLAUDE_CODE_REPL=1` dans l'option [`env`](#options).

3481 

3482```typescript theme={null}

3483type REPLInput = {

3484 code: string;

3485 description?: string;

3486 timeout?: number;

3487};

3488```

3489 

3490Exécute le code JavaScript dans un REPL persistant. L'état persiste entre les appels et l'await au niveau supérieur est supporté. `timeout` est en millisecondes, avec une valeur par défaut de 30000 et un maximum de 600000.

3491 

3492Les types sont exportés, mais l'outil est désactivé dans les sessions SDK sauf si vous définissez `CLAUDE_CODE_REPL=1` dans l'option [`env`](#options). Il nécessite également l'exécutable `claude` basé sur Bun que le programme d'installation natif fournit.

3493 3532 

3494<h3 id="reportfindings">3533<h3 id="reportfindings">

3495 ReportFindings3534 ReportFindings


3535 action?: "publish" | "list";3574 action?: "publish" | "list";

3536 file_path?: string;3575 file_path?: string;

3537 favicon?: string;3576 favicon?: string;

3577 icon?: string;

3538 limit?: number;3578 limit?: number;

3539 scope?: "mine" | "shared" | "all";3579 scope?: "mine" | "shared" | "all";

3540 title?: string;3580 title?: string;


3547};3587};

3548```3588```

3549 3589 

3550Publie un fichier `.html` ou `.md` local en tant que page d'artefact hébergée, ou répertorie les artefacts publiés de l'utilisateur. Omettez `action` ou passez `"publish"` pour publier `file_path`, qui est requis pour l'action de publication ainsi que `favicon`, un ou deux emoji qui marquent l'artefact dans la galerie de l'utilisateur. `title` nomme la page publiée dans l'onglet du navigateur et la galerie lorsque le fichier HTML n'a pas de balise `<title>`. `url` cible un artefact existant à mettre à jour sur place au lieu de créer un nouveau.3590Publie un fichier `.html` ou `.md` local en tant que page d'artefact hébergée, ou répertorie les artefacts publiés de l'utilisateur. Omettez `action` ou passez `"publish"` pour publier `file_path`, qui est requis pour l'action de publication. Chaque champ ci-dessous s'applique à une publication :

3591 

3592* `icon` : un mot générique court pour l'icône de l'onglet du navigateur de l'artefact, tel que `chart` ou `map`. Claude l'inclut à la première publication et l'omet à une mise à jour, ce qui conserve l'icône stockée de l'artefact.

3593* `favicon` : déprécié, et Claude l'omet.

3594* `title` : nomme la page publiée dans l'onglet du navigateur et la galerie lorsque le fichier HTML n'a pas de balise `<title>`.

3595* `url` : cible un artefact existant à mettre à jour sur place au lieu de créer un nouveau.

3551 3596 

3552`force` est un dernier recours qui écrase une version plus récente qu'une autre session a publiée. En cas de conflit, la publication échouée retourne le contenu plus récent ; Claude fusionne ses modifications sur ce contenu, ou relit l'artefact, et publie à nouveau. Passez `force` uniquement lorsque l'utilisateur demande explicitement de rejeter cette version.3597`force` est un dernier recours qui écrase une version plus récente qu'une autre session a publiée. En cas de conflit, la publication échouée retourne le contenu plus récent ; Claude fusionne ses modifications sur ce contenu, ou relit l'artefact, et publie à nouveau. Passez `force` uniquement lorsque l'utilisateur demande explicitement de rejeter cette version.

3553 3598 


3684 | ReadMcpResourceOutput3729 | ReadMcpResourceOutput

3685 | RefreshMcpToolsOutput3730 | RefreshMcpToolsOutput

3686 | RemoteTriggerOutput3731 | RemoteTriggerOutput

3687 | REPLOutput

3688 | ReportFindingsOutput3732 | ReportFindingsOutput

3689 | ScheduleWakeupOutput3733 | ScheduleWakeupOutput

3690 | ShowOnboardingRolePickerOutput3734 | ShowOnboardingRolePickerOutput


4534 4578 

4535Retourne les détails de livraison, y compris si une notification push ou locale a été envoyée et pourquoi la livraison a été ignorée.4579Retourne les détails de livraison, y compris si une notification push ou locale a été envoyée et pourquoi la livraison a été ignorée.

4536 4580 

4537<h3 id="repl-2">

4538 REPL

4539</h3>

4540 

4541**Nom de l'outil :** `REPL`

4542 

4543```typescript theme={null}

4544type REPLOutput = {

4545 code: string;

4546 result: {

4547 [k: string]: unknown;

4548 };

4549 stdout: string;

4550 stderr: string;

4551 error?: string;

4552 registeredTools?: string[];

4553 images?: {

4554 base64: string;

4555 mediaType: string;

4556 }[];

4557 documents?: {

4558 base64: string;

4559 }[];

4560};

4561```

4562 

4563Retourne le résultat de l'exécution, la sortie de la console capturée, et toutes les images ou documents surfacés par les appels `Read` internes.

4564 

4565<h3 id="reportfindings-2">4581<h3 id="reportfindings-2">

4566 ReportFindings4582 ReportFindings

4567</h3>4583</h3>


4848 `ApiKeySource`4864 `ApiKeySource`

4849</h3>4865</h3>

4850 4866 

4851D'où provient la clé API pour les demandes de la session, rapportée comme `apiKeySource` sur le message d'initialisation [`SDKSystemMessage`](#sdksystemmessage).4867D'où provient la clé API pour les requêtes de la session, signalée comme `apiKeySource` sur le message d'initialisation [`SDKSystemMessage`](#sdksystemmessage).

4852 4868 

4853```typescript theme={null}4869```typescript theme={null}

4854type ApiKeySource =4870type ApiKeySource =


4863 | "oauth";4879 | "oauth";

4864```4880```

4865 4881 

4866Claude Code rapporte l'une de quatre valeurs :4882Claude Code signale l'une de quatre valeurs :

4867 4883 

4868| Valeur | Clé en utilisation |4884| Valeur | Clé en utilisation |

4869| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |4885| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |

4870| `ANTHROPIC_API_KEY` | La clé dans la variable d'environnement `ANTHROPIC_API_KEY` |4886| `ANTHROPIC_API_KEY` | La clé dans la variable d'environnement `ANTHROPIC_API_KEY` |

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

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

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

4874 4890 

4875Agent SDK v0.3.234 et versions ultérieures listent ces quatre valeurs dans le type. Le type conserve également `user`, `project`, `org`, `temporary` et `oauth` pour que le code plus ancien se compile toujours, et Claude Code ne les rapporte pas.4891Agent SDK v0.3.234 et versions ultérieures listent ces quatre valeurs dans le type. Le type conserve également `user`, `project`, `org`, `temporary` et `oauth` afin que le code plus ancien soit toujours compilé, et Claude Code ne les signale pas.

4876 4892 

4877<h3 id="sdkbeta">4893<h3 id="sdkbeta">

4878 `SdkBeta`4894 `SdkBeta`

4879</h3>4895</h3>

4880 4896 

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

4882 4898 

4883```typescript theme={null}4899```typescript theme={null}

4884type SdkBeta = "context-1m-2025-08-07";4900type SdkBeta = "context-1m-2025-08-07";

4885```4901```

4886 4902 

4887<Warning>4903<Warning>

4888 La bêta `context-1m-2025-08-07` est retirée à partir du 30 avril 2026. Passer cette valeur avec Claude Sonnet 4.5 ou Sonnet 4 n'a aucun effet, et les demandes qui dépassent la fenêtre de contexte standard de 200 k tokens retournent une erreur. Pour utiliser une fenêtre de contexte de 1 M tokens, migrez vers [Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 ou Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), qui incluent 1 M de contexte à prix standard sans en-tête bêta requis.4904 La bêta `context-1m-2025-08-07` est retirée à partir du 30 avril 2026. Passer cette valeur avec Claude Sonnet 4.5 ou Sonnet 4 n'a aucun effet, et les requêtes qui dépassent la fenêtre de contexte standard de 200 k jetons renvoient une erreur. Pour utiliser une fenêtre de contexte de 1 M de jetons, migrez vers [Claude Opus 5.5, Claude Opus 5, Claude Sonnet 5, Claude Sonnet 4.6, Claude Opus 4.6, Claude Opus 4.7 ou Claude Opus 4.8](https://platform.claude.com/docs/en/about-claude/models/overview), qui incluent 1 M de contexte au prix standard sans en-tête bêta requis.

4889</Warning>4905</Warning>

4890 4906 

4891<h3 id="slashcommand">4907<h3 id="slashcommand">


4900 description: string;4916 description: string;

4901 argumentHint: string;4917 argumentHint: string;

4902 aliases?: string[];4918 aliases?: string[];

4919 builtin?: boolean;

4903};4920};

4904```4921```

4905 4922 

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

4924 

4906<h3 id="modelinfo">4925<h3 id="modelinfo">

4907 `ModelInfo`4926 `ModelInfo`

4908</h3>4927</h3>


4924```4943```

4925 4944 

4926| Champ | Type | Description |4945| Champ | Type | Description |

4927| :------------------------- | :----------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |4946| :------------------------- | :----------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

4928| `value` | `string` | Identifiant de modèle à passer dans les appels API |4947| `value` | `string` | Identifiant du modèle à passer dans les appels API |

4929| `resolvedModel` | `string \| undefined` | ID de modèle canonique sur le fil que la `value` de cette entrée résout. Une entrée d'alias telle que `sonnet` résout à un ID de modèle explicite tel que `claude-sonnet-5`, de sorte qu'un hôte peut faire correspondre un ID de modèle explicite stocké à l'entrée d'alias qui le couvre. Nécessite Claude Code v2.1.197 ou ultérieur. |4948| `resolvedModel` | `string \| undefined` | ID du modèle canonique sur le fil auquel la `value` de cette entrée se résout. Une entrée d'alias telle que `sonnet` se résout en un ID de modèle explicite tel que `claude-sonnet-5`, afin qu'un hôte puisse faire correspondre un ID de modèle explicite stocké à l'entrée d'alias qui le couvre. Nécessite Claude Code v2.1.197 ou version ultérieure. |

4930| `displayName` | `string` | Nom d'affichage lisible par l'homme |4949| `displayName` | `string` | Nom d'affichage lisible par l'homme |

4931| `description` | `string` | Description des capacités du modèle |4950| `description` | `string` | Description des capacités du modèle |

4932| `supportsEffort` | `boolean \| undefined` | Si ce modèle supporte les niveaux d'effort |4951| `supportsEffort` | `boolean \| undefined` | Si ce modèle supporte les niveaux d'effort |


4950```4969```

4951 4970 

4952| Champ | Type | Description |4971| Champ | Type | Description |

4953| :------------ | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |4972| :------------ | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

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

4955| `description` | `string` | Description de quand utiliser cet agent |4974| `description` | `string` | Description de quand utiliser cet agent |

4956| `model` | `string \| undefined` | Modèle que cet agent utilise : un alias ou ID de modèle, ou `'inherit'` pour le modèle du parent. Quand c'est `undefined`, Claude Code choisit le modèle dans l'[ordre des modèles de sous-agent](/docs/fr/sub-agents#choose-a-model) |4975| `model` | `string \| undefined` | Modèle que cet agent utilise : un alias ou un ID de modèle, ou `'inherit'` pour le modèle du parent. Lorsqu'il est `undefined`, Claude Code choisit le modèle dans l'[ordre des modèles de sous-agent](/docs/fr/sub-agents#choose-a-model) |

4957 4976 

4958<h3 id="mcpserverprovenance">4977<h3 id="mcpserverprovenance">

4959 `McpServerProvenance`4978 `McpServerProvenance`

4960</h3>4979</h3>

4961 4980 

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

4963 4982 

4964```typescript theme={null}4983```typescript theme={null}

4965type McpServerProvenance = {4984type McpServerProvenance = {


4969```4988```

4970 4989 

4971| Champ | Type | Description |4990| Champ | Type | Description |

4972| :------- | :------- | :---------------------------------------------------------------------------------------------------------------------- |4991| :------- | :------- | :--------------------------------------------------------------------------------------------------------------------- |

4973| `name` | `string` | Le nom sous lequel le serveur est enregistré, la même valeur que [`mcpServerStatus()`](#query-object) rapporte pour lui |4992| `name` | `string` | Le nom sous lequel le serveur est enregistré, la même valeur que [`mcpServerStatus()`](#query-object) signale pour lui |

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

4975 4994 

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

4977 4996 

4978* **`sdk`** : un serveur en processus que votre application a enregistré. Seule l'application hôte du SDK peut en enregistrer un, donc un serveur configuré ne rapporte jamais `sdk`, quel que soit son nom.4997* **`sdk`** : un serveur en processus que votre application a enregistré. Seule l'application hôte du SDK peut en enregistrer un, donc un serveur configuré ne signale jamais `sdk`, quel que soit son nom.

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

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

4981 5000 

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

4983 5002 

4984`McpServerProvenance` et les champs qui le portent nécessitent Agent SDK v0.3.274 ou ultérieur.5003`McpServerProvenance` et les champs qui le portent nécessitent Agent SDK v0.3.274 ou version ultérieure.

4985 5004 

4986<h3 id="mcpserverstatus">5005<h3 id="mcpserverstatus">

4987 `McpServerStatus`5006 `McpServerStatus`

4988</h3>5007</h3>

4989 5008 

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

4991 5010 

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

4993type McpServerStatus = {5012type McpServerStatus = {


5009 destructive?: boolean;5028 destructive?: boolean;

5010 openWorld?: boolean;5029 openWorld?: boolean;

5011 };5030 };

5031 _meta?: Record<string, unknown>;

5012 }[];5032 }[];

5013};5033};

5014```5034```

5015 5035 

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

5037 

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

5017 5039 

5018<h3 id="mcpserverstatusconfig">5040<h3 id="mcpserverstatusconfig">

5019 `McpServerStatusConfig`5041 `McpServerStatusConfig`

5020</h3>5042</h3>

5021 5043 

5022La configuration d'un serveur MCP telle que rapportée par `mcpServerStatus()`. C'est l'union de tous les types de transport de serveur MCP.5044La configuration d'un serveur MCP telle que signalée par `mcpServerStatus()`. C'est l'union de tous les types de transport de serveur MCP.

5023 5045 

5024```typescript theme={null}5046```typescript theme={null}

5025type McpServerStatusConfig =5047type McpServerStatusConfig =


5030 | McpClaudeAIProxyServerConfig;5052 | McpClaudeAIProxyServerConfig;

5031```5053```

5032 5054 

5033Voir [`McpServerConfig`](#mcpserverconfig) pour les détails sur chaque type de transport.5055Consultez [`McpServerConfig`](#mcpserverconfig) pour les détails sur chaque type de transport.

5034 5056 

5035<h3 id="accountinfo">5057<h3 id="accountinfo">

5036 `AccountInfo`5058 `AccountInfo`


5052 `ModelUsage`5074 `ModelUsage`

5053</h3>5075</h3>

5054 5076 

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

5056 5078 

5057```typescript theme={null}5079```typescript theme={null}

5058type ModelUsage = {5080type ModelUsage = {


5071};5093};

5072```5094```

5073 5095 

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

5075 5097 

5076Les champs `canonicalModel` et `provider` nécessitent Claude Code v2.1.218 ou ultérieur. `canonicalModel` est l'ID de modèle canonique que la recherche de tarification utilise ; il peut différer de la chaîne de modèle brute qui indexe l'entrée, par exemple quand cette chaîne est un ID spécifique au fournisseur ou un alias.5098Les champs `canonicalModel` et `provider` nécessitent Claude Code v2.1.218 ou version ultérieure. `canonicalModel` est l'ID de modèle canonique que la recherche de prix utilise ; il peut différer de la chaîne de modèle brute qui clé l'entrée, par exemple lorsque cette chaîne est un ID spécifique au fournisseur ou un alias.

5077 5099 

5078`provider` nomme le backend API qui a servi le modèle, comme `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` ou `gateway`.5100`provider` nomme le backend API qui a servi le modèle, tel que `firstParty`, `bedrock`, `vertex`, `foundry`, `anthropicAws`, `mantle` ou `gateway`.

5079 5101 

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

5081 5103 

5082<h3 id="configscope">5104<h3 id="configscope">

5083 `ConfigScope`5105 `ConfigScope`


5091 `NonNullableUsage`5113 `NonNullableUsage`

5092</h3>5114</h3>

5093 5115 

5094Une version de [`Usage`](#usage) avec tous les champs nullables rendus non nullables.5116Une version de [`Usage`](#usage) avec tous les champs nullables rendus non-nullables.

5095 5117 

5096```typescript theme={null}5118```typescript theme={null}

5097type NonNullableUsage = {5119type NonNullableUsage = {


5103 `Usage`5125 `Usage`

5104</h3>5126</h3>

5105 5127 

5106Statistiques d'utilisation des tokens. C'est le type `BetaUsage` de `@anthropic-ai/sdk`.5128Statistiques d'utilisation des jetons. C'est le type `BetaUsage` de `@anthropic-ai/sdk`.

5107 5129 

5108```typescript theme={null}5130```typescript theme={null}

5109type Usage = {5131type Usage = {


5126 5148 

5127`BetaServerToolUsage`, `BetaIterationsUsage` et `BetaOutputTokensDetails` sont définis dans `@anthropic-ai/sdk`.5149`BetaServerToolUsage`, `BetaIterationsUsage` et `BetaOutputTokensDetails` sont définis dans `@anthropic-ai/sdk`.

5128 5150 

5129`output_tokens_details` décompose la sortie facturée par catégorie. Il porte actuellement un champ, `thinking_tokens: number`, comptant les tokens de sortie que le modèle a générés comme raisonnement interne, y compris les délimiteurs de bloc de réflexion. Le champ `output_tokens_details` nécessite TypeScript SDK v0.3.228 ou ultérieur, qui regroupe Claude Code v2.1.228.5151`output_tokens_details` décompose la sortie facturée par catégorie. Il porte actuellement un champ, `thinking_tokens: number`, comptant les jetons de sortie que le modèle a générés comme raisonnement interne, y compris les délimiteurs de bloc de réflexion. Le champ `output_tokens_details` nécessite TypeScript SDK v0.3.228 ou version ultérieure, qui regroupe Claude Code v2.1.228.

5130 5152 

5131* **Facturation** : lisez la décomposition pour l'observabilité, pas pour la facturation. `output_tokens` reste le total faisant autorité, et `output_tokens - thinking_tokens` approxime la sortie sans raisonnement.5153* **Facturation** : lisez la décomposition pour l'observabilité, pas pour la facturation. `output_tokens` reste le total faisant autorité, et `output_tokens - thinking_tokens` approxime la sortie sans raisonnement.

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

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

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

5135 5157 

5136<h3 id="calltoolresult">5158<h3 id="calltoolresult">

5137 `CallToolResult`5159 `CallToolResult`

5138</h3>5160</h3>

5139 5161 

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

5141 5163 

5142```typescript theme={null}5164```typescript theme={null}

5143type CallToolResult = {5165type CallToolResult = {

5144 content: Array<{5166 content: Array<{

5145 type: "text" | "image" | "audio" | "resource" | "resource_link";5167 type: "text" | "image" | "audio" | "resource" | "resource_link";

5146 // Les champs supplémentaires varient selon le type5168 // Additional fields vary by type

5147 }>;5169 }>;

5148 structuredContent?: Record<string, unknown>;5170 structuredContent?: Record<string, unknown>;

5149 isError?: boolean;5171 isError?: boolean;


5154 `SDKMcpResourceLink`5176 `SDKMcpResourceLink`

5155</h3>5177</h3>

5156 5178 

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

5158 5180 

5159```typescript theme={null}5181```typescript theme={null}

5160type SDKMcpResourceLink = {5182type SDKMcpResourceLink = {


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

5172 5194 

5173| Champ | Type | Description |5195| Champ | Type | Description |

5174| :------------ | :------------------------------------- | :----------------------------------------------------------------- |5196| :------------ | :------------------------------------- | :------------------------------------------------------------------- |

5175| `uri` | `string` | URI de la ressource, tel que le serveur l'a retourné |5197| `uri` | `string` | URI de la ressource, telle que le serveur l'a renvoyée |

5176| `name` | `string` | Nom que le serveur a donné à la ressource |5198| `name` | `string` | Nom que le serveur a donné à la ressource |

5177| `title` | `string \| undefined` | Titre d'affichage, quand le serveur en a défini un |5199| `title` | `string \| undefined` | Titre d'affichage, lorsque le serveur en a défini un |

5178| `description` | `string \| undefined` | Description, quand le serveur en a défini une |5200| `description` | `string \| undefined` | Description, lorsque le serveur en a défini une |

5179| `mimeType` | `string \| undefined` | Type MIME, quand le serveur en a défini un |5201| `mimeType` | `string \| undefined` | Type MIME, lorsque le serveur en a défini un |

5180| `size` | `number \| undefined` | Taille en octets, quand le serveur en a défini une |5202| `size` | `number \| undefined` | Taille en octets, lorsque le serveur en a défini une |

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

5182 5204 

5183<h3 id="thinkingconfig">5205<h3 id="thinkingconfig">

5184 `ThinkingConfig`5206 `ThinkingConfig`


5190type ThinkingDisplay = "summarized" | "omitted";5212type ThinkingDisplay = "summarized" | "omitted";

5191 5213 

5192type ThinkingConfig =5214type ThinkingConfig =

5193 | { type: "adaptive"; display?: ThinkingDisplay } // Le modèle détermine quand et combien raisonner (Opus 4.6+)5215 | { type: "adaptive"; display?: ThinkingDisplay } // The model determines when and how much to reason (Opus 4.6+)

5194 | { type: "enabled"; budgetTokens?: number; display?: ThinkingDisplay } // Budget de token de réflexion fixe5216 | { type: "enabled"; budgetTokens?: number; display?: ThinkingDisplay } // Fixed thinking token budget

5195 | { type: "disabled" }; // Pas de réflexion étendue5217 | { type: "disabled" }; // No extended thinking

5196```5218```

5197 5219 

5198Le champ `display` optionnel contrôle si le texte de réflexion est retourné `"summarized"` ou `"omitted"`. Sur Claude Opus 4.7 et versions ultérieures, la valeur par défaut de l'API est `"omitted"`, donc définissez `"summarized"` pour recevoir le contenu de réflexion dans les blocs `thinking`. Claude Code n'envoie pas `display` à Amazon Bedrock ou à la plateforme Agent de Google Cloud, donc sur ces fournisseurs Opus 4.7 et versions ultérieures retournent des blocs `thinking` vides même quand vous définissez `display` à `"summarized"`.5220Le champ optionnel `display` contrôle si le texte de réflexion est renvoyé `"summarized"` ou `"omitted"`. Sur Claude Opus 4.7 et versions ultérieures, la valeur par défaut de l'API est `"omitted"`, donc définissez `"summarized"` pour recevoir le contenu de réflexion dans les blocs `thinking`. Claude Code n'envoie pas `display` à Amazon Bedrock ou à la plateforme Agent de Google Cloud, donc sur ces fournisseurs Opus 4.7 et versions ultérieures renvoient des blocs `thinking` vides même lorsque vous définissez `display` sur `"summarized"`.

5199 5221 

5200<h3 id="spawnedprocess">5222<h3 id="spawnedprocess">

5201 `SpawnedProcess`5223 `SpawnedProcess`


5232 `SpawnOptions`5254 `SpawnOptions`

5233</h3>5255</h3>

5234 5256 

5235Options passées à la fonction de génération personnalisée.5257Options transmises à la fonction de génération personnalisée.

5236 5258 

5237```typescript theme={null}5259```typescript theme={null}

5238interface SpawnOptions {5260interface SpawnOptions {


5245```5267```

5246 5268 

5247<Note>5269<Note>

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

5249 5271 

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

5251</Note>5273</Note>

5252 5274 

5253<h3 id="mcpsetserversresult">5275<h3 id="mcpsetserversresult">


5264};5286};

5265```5287```

5266 5288 

5267Quand vous appelez `setMcpServers()`, Claude Code applique ces règles :5289Lorsque vous appelez `setMcpServers()`, Claude Code applique ces règles :

5268 5290 

5269* **Serveurs que l'appel ne nomme pas** : Claude Code garde les serveurs fournis par les plugins en cours d'exécution. Nécessite Agent SDK v0.3.210 ou ultérieur.5291* **Serveurs que l'appel ne nomme pas** : Claude Code maintient les serveurs fournis par plugin en cours d'exécution. Nécessite Agent SDK v0.3.210 ou version ultérieure.

5270* **Serveurs que l'appel nomme** : sauf pour les serveurs intégrés que l'interface de ligne de commande a démarrés au démarrage, Claude Code remplace un serveur en cours d'exécution uniquement quand sa configuration diffère de celle que vous avez passée.5292* **Serveurs que l'appel nomme** : à l'exception des serveurs intégrés que l'interface de ligne de commande a démarrés au démarrage, Claude Code remplace un serveur en cours d'exécution uniquement lorsque sa configuration diffère de celle que vous avez transmise.

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

5272 5294 

5273La promesse se résout après que les serveurs stdio, HTTP et SSE nouvellement ajoutés se connectent ou échouent, donc les outils des serveurs qui se sont connectés sont disponibles au prochain tour.5295La promesse se résout après que les serveurs stdio, HTTP et SSE nouvellement ajoutés se connectent ou échouent, donc les outils des serveurs qui se sont connectés sont disponibles au tour suivant.

5274 5296 

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

5276 5298 

5277<h3 id="rewindfilesresult">5299<h3 id="rewindfilesresult">

5278 `RewindFilesResult`5300 `RewindFilesResult`


5291};5313};

5292```5314```

5293 5315 

5294`skippedLinks` compte les chemins suivis que le rembobinage a refusé de restaurer ou de supprimer pour la sécurité des liens : un lien symbolique, un lien physique ou un autre fichier non régulier au chemin suivi, un répertoire parent qui ne résout plus vers où il pointait quand le point de contrôle a été pris, ou une sauvegarde qui n'a pas pu être lue en toute sécurité. Le champ nécessite Claude Code v2.1.216 ou ultérieur. Un appel d'aperçu avec `rewindFiles(userMessageId, { dryRun: true })` ne le définit jamais.5316`skippedLinks` compte les chemins suivis que la rembobinage a refusé de restaurer ou de supprimer pour la sécurité des liens : un lien symbolique, un lien physique ou un autre fichier non régulier au chemin suivi, un répertoire parent qui ne se résout plus à l'endroit où il pointait lorsque le point de contrôle a été pris, ou une sauvegarde qui n'a pas pu être lue en toute sécurité. Le champ nécessite Claude Code v2.1.216 ou version ultérieure. Un appel d'aperçu avec `rewindFiles(userMessageId, { dryRun: true })` ne le définit jamais.

5295 5317 

5296<h3 id="sdkstatusmessage">5318<h3 id="sdkstatusmessage">

5297 `SDKStatusMessage`5319 `SDKStatusMessage`

5298</h3>5320</h3>

5299 5321 

5300Message de mise à jour de statut (par exemple, compaction).5322Message de mise à jour d'état (par exemple, compactage).

5301 5323 

5302```typescript theme={null}5324```typescript theme={null}

5303type SDKStatusMessage = {5325type SDKStatusMessage = {


5314 `SDKTaskNotificationMessage`5336 `SDKTaskNotificationMessage`

5315</h3>5337</h3>

5316 5338 

5317Notification quand une tâche de fond se termine, échoue ou est arrêtée. Les tâches de fond incluent les commandes Bash `run_in_background`, les montres [Monitor](#monitor) et les sous-agents de fond. Pour le champ `ambient`, voir [`SDKTaskStartedMessage`](#sdktaskstartedmessage), qui le définit et son exigence de version.5339Notification lorsqu'une tâche en arrière-plan se termine, échoue ou est arrêtée. Les tâches en arrière-plan incluent les commandes Bash `run_in_background`, les montres [Monitor](#monitor) et les sous-agents en arrière-plan. Pour le champ `ambient`, consultez [`SDKTaskStartedMessage`](#sdktaskstartedmessage), qui le définit et son exigence de version.

5318 5340 

5319```typescript theme={null}5341```typescript theme={null}

5320type SDKTaskNotificationMessage = {5342type SDKTaskNotificationMessage = {


5337};5359};

5338```5360```

5339 5361 

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

5341 5363 

5342Claude Code ajoute une notice à chaque notification de tâche qu'il envoie au modèle, sauf les livraisons estampillées avec la [sous-sorte `scheduled-trigger`](#task-notification-subkinds), qui portent un encadrement de tâche assignée à la place. La notice indique qu'aucune entrée humaine n'a eu lieu, donc le modèle ne traite pas la notification comme une instruction ou une approbation de l'utilisateur.5364Claude Code ajoute un avis à chaque notification de tâche qu'il envoie au modèle, sauf les livraisons estampillées avec le sous-type [`scheduled-trigger`](#task-notification-subkinds), qui portent plutôt un cadrage de tâche assignée. L'avis indique qu'aucune entrée humaine n'a eu lieu, donc le modèle ne traite pas la notification comme une instruction ou une approbation de l'utilisateur.

5343 5365 

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

5345 5367 

5346<h3 id="sdktoolusesummarymessage">5368<h3 id="sdktoolusesummarymessage">

5347 `SDKToolUseSummaryMessage`5369 `SDKToolUseSummaryMessage`


5363 `SDKHookStartedMessage`5385 `SDKHookStartedMessage`

5364</h3>5386</h3>

5365 5387 

5366Émis quand un hook commence à s'exécuter.5388Émis lorsqu'un hook commence à s'exécuter.

5367 5389 

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

5369 5391 

5370```typescript theme={null}5392```typescript theme={null}

5371type SDKHookStartedMessage = {5393type SDKHookStartedMessage = {


5404 `SDKHookResponseMessage`5426 `SDKHookResponseMessage`

5405</h3>5427</h3>

5406 5428 

5407Émis quand un hook termine l'exécution.5429Émis lorsqu'un hook termine son exécution.

5408 5430 

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

5410type SDKHookResponseMessage = {5432type SDKHookResponseMessage = {


5452};5474};

5453```5475```

5454 5476 

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

5456 5478 

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

5458 5480 

5459Pour rendre un indicateur de nouvelle tentative à partir de `subagent_retry` :5481Pour rendre un indicateur de nouvelle tentative à partir de `subagent_retry` :

5460 5482 

5461* Suivez l'indicateur par `parent_tool_use_id`, qui est unique par sous-agent. `tool_use_id` est partagé par les sous-agents parallèles d'un tour d'assistant, donc le suivi par celui-ci laisserait la mise à jour d'un sous-agent effacer l'indicateur d'un autre.5483* Suivez l'indicateur par `parent_tool_use_id`, qui est unique par sous-agent. `tool_use_id` est partagé par les sous-agents parallèles d'un tour d'assistant, donc le suivi par celui-ci laisserait la mise à jour d'un sous-agent effacer l'indicateur d'un autre.

5462* Effacez l'indicateur quand un `tool_progress` ultérieur pour le même `parent_tool_use_id` arrive sans `subagent_retry` ni `heartbeat: true`, ou quand le message de résultat de l'outil arrive. Les cadres avec `heartbeat: true` rapportent uniquement la vivacité, donc gardez l'indicateur quand un arrive. `attempt` peut dépasser `max_retries` sous une nouvelle tentative persistante, donc ne dérivez pas l'effacement des compteurs.5484* Effacez l'indicateur lorsqu'un `tool_progress` ultérieur pour le même `parent_tool_use_id` arrive sans `subagent_retry` ni `heartbeat: true`, ou lorsque le message de résultat de l'outil arrive. Les cadres avec `heartbeat: true` ne signalent que la vivacité, donc conservez l'indicateur lorsqu'un arrive. `attempt` peut dépasser `max_retries` sous une nouvelle tentative persistante, donc ne dérivez pas l'effacement des compteurs.

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

5464 5486 

5465<h3 id="sdkauthstatusmessage">5487<h3 id="sdkauthstatusmessage">

5466 `SDKAuthStatusMessage`5488 `SDKAuthStatusMessage`


5483 `SDKTaskStartedMessage`5505 `SDKTaskStartedMessage`

5484</h3>5506</h3>

5485 5507 

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

5487 5509 

5488```typescript theme={null}5510```typescript theme={null}

5489type SDKTaskStartedMessage = {5511type SDKTaskStartedMessage = {


5501};5523};

5502```5524```

5503 5525 

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

5505 5527 

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

5507 5529 

5508`is_backgrounded` et `spawn_depth` décrivent comment Claude Code a démarré la tâche. Les deux champs nécessitent Agent SDK v0.3.238 ou ultérieur.5530`is_backgrounded` et `spawn_depth` décrivent comment Claude Code a démarré la tâche. Les deux champs nécessitent Agent SDK v0.3.238 ou version ultérieure.

5509 5531 

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

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

5512 5534 

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

5514 5536 

5515<h3 id="sdktaskprogressmessage">5537<h3 id="sdktaskprogressmessage">

5516 `SDKTaskProgressMessage`5538 `SDKTaskProgressMessage`

5517</h3>5539</h3>

5518 5540 

5519Émis périodiquement pendant qu'un sous-agent ou une tâche de fond s'exécute. Le champ `summary` est rempli uniquement quand [`agentProgressSummaries`](#options) est activé.5541Émis périodiquement pendant qu'un sous-agent ou une tâche en arrière-plan s'exécute. Le champ `summary` est rempli uniquement lorsque [`agentProgressSummaries`](#options) est activé.

5520 5542 

5521```typescript theme={null}5543```typescript theme={null}

5522type SDKTaskProgressMessage = {5544type SDKTaskProgressMessage = {


5542 `SDKTaskUpdatedMessage`5564 `SDKTaskUpdatedMessage`

5543</h3>5565</h3>

5544 5566 

5545Émis quand l'état d'une tâche de fond change, par exemple quand elle passe de `running` à `completed`. Fusionnez `patch` dans votre carte de tâches locale indexée par `task_id`. Le champ `end_time` est un timestamp Unix epoch en millisecondes, comparable avec `Date.now()`.5567Émis lorsque l'état d'une tâche en arrière-plan change, par exemple lorsqu'elle passe de `running` à `completed`. Fusionnez `patch` dans votre carte de tâches locale indexée par `task_id`. Le champ `end_time` est un horodatage d'époque Unix en millisecondes, comparable avec `Date.now()`.

5546 5568 

5547```typescript theme={null}5569```typescript theme={null}

5548type SDKTaskUpdatedMessage = {5570type SDKTaskUpdatedMessage = {


5566 `SDKBackgroundTasksChangedMessage`5588 `SDKBackgroundTasksChangedMessage`

5567</h3>5589</h3>

5568 5590 

5569Émis chaque fois que l'ensemble des tâches de fond en direct change : une tâche démarre, se termine, est tuée, un agent au premier plan est mis en arrière-plan, ou la `description` ou le champ `ambient` d'une tâche change.5591Émis chaque fois que l'ensemble des tâches en arrière-plan en direct change : une tâche démarre, se termine, est tuée, un agent au premier plan est mis en arrière-plan, ou le champ `description` ou `ambient` d'une tâche change.

5570 5592 

5571Le tableau `tasks` est l'ensemble complet en direct. Remplacez tout ensemble en cache par chaque charge utile au lieu d'associer les événements `task_started` et `task_notification`, de sorte que le prochain changement d'adhésion corrige tout événement que vous avez manqué.5593Le tableau `tasks` est l'ensemble en direct complet. Remplacez tout ensemble mis en cache par chaque charge utile au lieu d'appairer les événements `task_started` et `task_notification`, afin que le prochain changement d'adhésion corrige tout événement que vous avez manqué.

5572 5594 

5573L'ordre par rapport à ces événements par tâche n'est pas spécifié, donc ne mettez pas en corrélation les deux flux.5595L'ordre relatif à ces événements par tâche n'est pas spécifié, donc ne corrélez pas les deux flux.

5574 5596 

5575Rien n'est émis au démarrage. Réinitialisez à un ensemble vide chaque fois que le processus CLI de la session démarre ou redémarre et laissez le prochain changement d'adhésion le repeupler.5597Rien n'est émis au démarrage. Réinitialisez à un ensemble vide chaque fois que le processus CLI de la session démarre ou redémarre et laissez le prochain changement d'adhésion le repeupler.

5576 5598 

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

5578 5600 

5579Nécessite Claude Code v2.1.203 ou ultérieur.5601Nécessite Claude Code v2.1.203 ou version ultérieure.

5580 5602 

5581```typescript theme={null}5603```typescript theme={null}

5582type SDKBackgroundTasksChangedMessage = {5604type SDKBackgroundTasksChangedMessage = {


5597 `SDKThinkingTokensMessage`5619 `SDKThinkingTokensMessage`

5598</h3>5620</h3>

5599 5621 

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

5601 5623 

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

5603 5625 

5604Nécessite Claude Code v2.1.153 ou ultérieur.5626Nécessite Claude Code v2.1.153 ou version ultérieure.

5605 5627 

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

5607type SDKThinkingTokensMessage = {5629type SDKThinkingTokensMessage = {


5619 `SDKFilesPersistedEvent`5641 `SDKFilesPersistedEvent`

5620</h3>5642</h3>

5621 5643 

5622Émis quand les points de contrôle de fichiers sont persistés sur disque.5644Émis lorsque les points de contrôle de fichiers sont persistés sur le disque.

5623 5645 

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

5625type SDKFilesPersistedEvent = {5647type SDKFilesPersistedEvent = {


5637 `SDKRateLimitEvent`5659 `SDKRateLimitEvent`

5638</h3>5660</h3>

5639 5661 

5640Émis quand la session rencontre une limite de débit.5662Émis lorsque la session rencontre une limite de débit.

5641 5663 

5642```typescript theme={null}5664```typescript theme={null}

5643type SDKRateLimitEvent = {5665type SDKRateLimitEvent = {


5655};5677};

5656```5678```

5657 5679 

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

5659 5681 

5660<h3 id="sdklocalcommandoutputmessage">5682<h3 id="sdklocalcommandoutputmessage">

5661 `SDKLocalCommandOutputMessage`5683 `SDKLocalCommandOutputMessage`

5662</h3>5684</h3>

5663 5685 

5664Claude Code n'émet pas ce type de message. Quand vous envoyez une commande telle que `/context` ou `/usage` comme une invite, sa sortie arrive comme un [`SDKAssistantMessage`](#sdkassistantmessage).5686Claude Code n'émet pas ce type de message. Lorsque vous envoyez une commande telle que `/context` ou `/usage` comme invite, sa sortie arrive comme [`SDKAssistantMessage`](#sdkassistantmessage).

5665 5687 

5666```typescript theme={null}5688```typescript theme={null}

5667type SDKLocalCommandOutputMessage = {5689type SDKLocalCommandOutputMessage = {


5677 `SDKCommandsChangedMessage`5699 `SDKCommandsChangedMessage`

5678</h3>5700</h3>

5679 5701 

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

5681 5703 

5682```typescript theme={null}5704```typescript theme={null}

5683type SDKCommandsChangedMessage = {5705type SDKCommandsChangedMessage = {


5693 `SDKPromptSuggestionMessage`5715 `SDKPromptSuggestionMessage`

5694</h3>5716</h3>

5695 5717 

5696Émis après un tour quand [`promptSuggestions`](#options) est activé et que Claude Code a généré une suggestion pour ce tour. Contient l'invite utilisateur suivante prédite. Pour les tours qui n'en reçoivent pas, voir [Quand Claude Code saute les suggestions](/docs/fr/interactive-mode#when-claude-code-skips-suggestions).5718Émis après un tour lorsque [`promptSuggestions`](#options) est activé et que Claude Code a généré une suggestion pour ce tour. Contient l'invite utilisateur suivante prédite. Pour les tours qui n'en reçoivent pas, consultez [Quand Claude Code ignore les suggestions](/docs/fr/interactive-mode#when-claude-code-skips-suggestions).

5697 5719 

5698```typescript theme={null}5720```typescript theme={null}

5699type SDKPromptSuggestionMessage = {5721type SDKPromptSuggestionMessage = {


5708 `SDKConversationResetMessage`5730 `SDKConversationResetMessage`

5709</h3>5731</h3>

5710 5732 

5711Émis quand la conversation de la session est remplacée sans terminer la session. Dans un appel `query()`, seul `/clear` et ses alias produisent ce message. Montez une transcription vide sous `new_conversation_id` et abandonnez tout titre de session en cache.5733Émis lorsque la conversation de la session est remplacée sans terminer la session. Dans un appel `query()`, seul `/clear` et ses alias produisent ce message. Montez une transcription vide sous `new_conversation_id` et jetez tout titre de session mis en cache.

5712 5734 

5713```typescript theme={null}5735```typescript theme={null}

5714type SDKConversationResetMessage = {5736type SDKConversationResetMessage = {


5719};5741};

5720```5742```

5721 5743 

5722Les typages publiés du SDK déclarent `SDKConversationResetMessage` dans Claude Code v2.1.203 et ultérieur. Avant v2.1.203, `SDKMessage` référençait le type sans le déclarer, donc le rétrécissement sur `type === "conversation_reset"` n'a pas pu être typé quand `skipLibCheck` était désactivé.5744Les typages publiés du SDK déclarent `SDKConversationResetMessage` dans Claude Code v2.1.203 et versions ultérieures. Avant v2.1.203, `SDKMessage` référençait le type sans le déclarer, donc le rétrécissement sur `type === "conversation_reset"` n'a pas pu être typé lorsque `skipLibCheck` était désactivé.

5723 5745 

5724<h3 id="aborterror">5746<h3 id="aborterror">

5725 `AbortError`5747 `AbortError`

5726</h3>5748</h3>

5727 5749 

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

5729 5751 

5730```typescript theme={null}5752```typescript theme={null}

5731class AbortError extends Error {}5753class AbortError extends Error {}

5732```5754```

5733 5755 

5734`AbortError` est la seule classe d'erreur dans l'API typée du SDK. Les autres défaillances, comme la sortie ou l'échec du lancement du processus Claude Code, rejettent l'itération de message avec des erreurs qui ne portent aucune classe SDK pour correspondre. [Dépannage](/docs/fr/agent-sdk/troubleshooting) indexe ces erreurs par message, avec la cause et la correction pour chacune.5756`AbortError` est la seule classe d'erreur dans l'API typée du SDK. Les autres défaillances, telles que la sortie ou l'échec du lancement du processus Claude Code, rejettent l'itération de message avec des erreurs qui ne portent aucune classe SDK pour correspondre. [Dépannage](/docs/fr/agent-sdk/troubleshooting) clé ces erreurs par message, avec la cause et la correction pour chacune.

5735 5757 

5736<h2 id="sandbox-configuration">5758<h2 id="sandbox-configuration">

5737 Configuration du sandbox5759 Configuration du sandbox


5741 `SandboxSettings`5763 `SandboxSettings`

5742</h3>5764</h3>

5743 5765 

5744Configuration pour le comportement du sandbox. Utilisez ceci pour activer le sandboxing des commandes et configurer les restrictions réseau par programmation.5766Configuration du comportement du sandbox. Utilisez ceci pour activer le sandboxing des commandes et configurer les restrictions réseau par programmation.

5745 5767 

5746```typescript theme={null}5768```typescript theme={null}

5747type SandboxSettings = {5769type SandboxSettings = {


5758};5780};

5759```5781```

5760 5782 

5761| Propriété | Type | Par défaut | Description |5783| Property | Type | Default | Description |

5762| :-------------------------- | :---------------------------------------------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |5784| :-------------------------- | :---------------------------------------------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

5763| `enabled` | `boolean` | `false` | Activer le mode sandbox pour l'exécution des commandes |5785| `enabled` | `boolean` | `false` | Activer le mode sandbox pour l'exécution des commandes |

5764| `failIfUnavailable` | `boolean` | `true` | S'arrêter au démarrage si `enabled` est `true` mais que le sandbox ne peut pas démarrer. Définissez `false` pour revenir à l'exécution non sandboxée avec un avertissement sur stderr |5786| `failIfUnavailable` | `boolean` | `true` | S'arrêter au démarrage si `enabled` est `true` mais que le sandbox ne peut pas démarrer. Définissez `false` pour revenir à l'exécution non sandboxée avec un avertissement sur stderr |

5765| `autoAllowBashIfSandboxed` | `boolean` | `true` | Approuver automatiquement les commandes Bash quand le sandbox est activé |5787| `autoAllowBashIfSandboxed` | `boolean` | `true` | Approuver automatiquement les commandes Bash lorsque le sandbox est activé |

5766| `excludedCommands` | `string[]` | `[]` | Commandes qui contournent toujours les restrictions du sandbox (par exemple, `['docker']`). Celles-ci s'exécutent sans sandbox automatiquement sans implication du modèle |5788| `excludedCommands` | `string[]` | `[]` | Commandes qui contournent les restrictions du sandbox, telles que `['docker *']`. Celles-ci s'exécutent automatiquement sans sandbox et sans intervention du modèle ; [`sandbox.excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands) couvre le moment où une entrée s'applique |

5767| `allowUnsandboxedCommands` | `boolean` | `true` | Permettre au modèle de demander l'exécution de commandes en dehors du sandbox. Quand `true`, le modèle peut définir `dangerouslyDisableSandbox` dans l'entrée de l'outil, qui revient au [système de permissions](#permissions-fallback-for-unsandboxed-commands) |5789| `allowUnsandboxedCommands` | `boolean` | `true` | Permettre au modèle de demander l'exécution de commandes en dehors du sandbox. Lorsque `true`, le modèle peut définir `dangerouslyDisableSandbox` dans l'entrée de l'outil, ce qui revient au [système de permissions](#permissions-fallback-for-unsandboxed-commands) |

5768| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | Configuration du sandbox spécifique au réseau |5790| `network` | [`SandboxNetworkConfig`](#sandboxnetworkconfig) | `undefined` | Configuration du sandbox spécifique au réseau |

5769| `filesystem` | [`SandboxFilesystemConfig`](#sandboxfilesystemconfig) | `undefined` | Configuration du sandbox spécifique au système de fichiers pour les restrictions de lecture/écriture |5791| `filesystem` | [`SandboxFilesystemConfig`](#sandboxfilesystemconfig) | `undefined` | Configuration du sandbox spécifique au système de fichiers pour les restrictions de lecture/écriture |

5770| `ignoreViolations` | `Record<string, string[]>` | `undefined` | Carte des sous-chaînes de commande, ou `*` pour chaque commande, aux sous-chaînes du texte de violation à ignorer, comme `{ "*": ['/etc/hosts'] }` ; voir [`sandbox.ignoreViolations`](/docs/fr/settings-reference#sandbox-ignoreviolations) |5792| `ignoreViolations` | `Record<string, string[]>` | `undefined` | Mappage des sous-chaînes de commande, ou `*` pour chaque commande, aux sous-chaînes du texte de violation à ignorer, telles que `{ "*": ['/etc/hosts'] }` ; voir [`sandbox.ignoreViolations`](/docs/fr/settings-reference#sandbox-ignoreviolations) |

5771| `enableWeakerNestedSandbox` | `boolean` | `false` | Activer un sandbox imbriqué plus faible pour la compatibilité |5793| `enableWeakerNestedSandbox` | `boolean` | `false` | Activer un sandbox imbriqué plus faible pour la compatibilité |

5772| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | Configuration de binaire ripgrep personnalisée pour les environnements sandbox |5794| `ripgrep` | `{ command: string; args?: string[] }` | `undefined` | Configuration du binaire ripgrep personnalisé pour les environnements sandbox |

5773 5795 

5774<Note>5796<Note>

5775 Le sandbox dépend du support de la plateforme et, sur Linux, d'outils comme `bubblewrap` et `socat`. Quand `enabled` est `true` et que le sandbox ne peut pas démarrer, `query()` signale un message `result` avec `subtype: "error_during_execution"` et la raison dans `errors`. Pour un appel `query()` à message unique, le SDK lève une exception après avoir produit ce résultat d'erreur, donc enveloppez la boucle dans un bloc try pour continuer au-delà. Voir [Gérer le résultat](/docs/fr/agent-sdk/agent-loop#handle-the-result) pour le contrat d'erreur.5797 Le sandbox dépend du support de la plateforme et, sur Linux, d'outils comme `bubblewrap` et `socat`. Lorsque `enabled` est `true` et que le sandbox ne peut pas démarrer, `query()` signale un message `result` avec `subtype: "error_during_execution"` et la raison dans `errors`. Pour un seul appel `query()`, le SDK lance une exception après avoir cédé ce résultat d'erreur, donc enveloppez la boucle dans un bloc try pour continuer au-delà. Voir [Gérer le résultat](/docs/fr/agent-sdk/agent-loop#handle-the-result) pour le contrat d'erreur.

5776 5798 

5777 Pour exécuter sans sandbox à la place, définissez `failIfUnavailable: false`.5799 Pour s'exécuter sans sandbox à la place, définissez `failIfUnavailable: false`.

5778</Note>5800</Note>

5779 5801 

5780<h4 id="example-usage">5802<h4 id="example-usage">


5800 if ("result" in message) console.log(message.result);5822 if ("result" in message) console.log(message.result);

5801 }5823 }

5802} catch (error) {5824} catch (error) {

5803 // Un appel query() à message unique lève une exception après avoir produit un résultat d'erreur,5825 // A single-shot query() throws after yielding an error result,

5804 // par exemple quand le sandbox ne peut pas démarrer (failIfUnavailable est par défaut true).5826 // such as when the sandbox can't start (failIfUnavailable defaults to true).

5805 console.log(`Session ended with an error: ${error}`);5827 console.log(`Session ended with an error: ${error}`);

5806}5828}

5807```5829```

5808 5830 

5809<Warning>5831<Warning>

5810 **Sécurité des sockets Unix :** L'option `allowUnixSockets` peut accorder l'accès à des services système qui s'étendent en dehors du sandbox. Par exemple, permettre `/var/run/docker.sock` accorde effectivement un accès complet au système hôte via l'API Docker, contournant l'isolation du sandbox. Autorisez uniquement les sockets Unix strictement nécessaires et comprenez les implications de sécurité de chacun.5832 **Sécurité des sockets Unix :** L'option `allowUnixSockets` peut accorder l'accès à des services système qui s'étendent en dehors du sandbox. Par exemple, autoriser `/var/run/docker.sock` accorde effectivement un accès complet au système hôte via l'API Docker, contournant l'isolation du sandbox. Autorisez uniquement les sockets Unix strictement nécessaires et comprenez les implications de sécurité de chacun.

5811</Warning>5833</Warning>

5812 5834 

5813<h3 id="sandboxnetworkconfig">5835<h3 id="sandboxnetworkconfig">

5814 `SandboxNetworkConfig`5836 `SandboxNetworkConfig`

5815</h3>5837</h3>

5816 5838 

5817Configuration spécifique au réseau pour le mode sandbox. Ces paramètres s'appliquent aux commandes Bash sandboxées quand `enabled` est `true` dans le parent [`SandboxSettings`](#sandboxsettings). Ils ne restreignent pas l'outil WebFetch, qui utilise à la place les [règles de permissions](/docs/fr/permissions#webfetch).5839Configuration spécifique au réseau pour le mode sandbox. Ces paramètres s'appliquent aux commandes Bash sandboxées lorsque `enabled` est `true` dans le parent [`SandboxSettings`](#sandboxsettings). Ils ne restreignent pas l'outil WebFetch, qui utilise à la place des [règles de permission](/docs/fr/permissions#webfetch).

5818 5840 

5819```typescript theme={null}5841```typescript theme={null}

5820type SandboxNetworkConfig = {5842type SandboxNetworkConfig = {


5830};5852};

5831```5853```

5832 5854 

5833| Propriété | Type | Par défaut | Description |5855| Property | Type | Default | Description |

5834| :------------------------ | :--------- | :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |5856| :------------------------ | :--------- | :---------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

5835| `allowedDomains` | `string[]` | `[]` | Noms de domaine auxquels les processus sandboxés peuvent accéder |5857| `allowedDomains` | `string[]` | `[]` | Noms de domaine auxquels les processus sandboxés peuvent accéder |

5836| `deniedDomains` | `string[]` | `[]` | Noms de domaine auxquels les processus sandboxés ne peuvent pas accéder. Prend la priorité sur `allowedDomains` |5858| `deniedDomains` | `string[]` | `[]` | Noms de domaine auxquels les processus sandboxés ne peuvent pas accéder. Prend la priorité sur `allowedDomains` |

5837| `strictAllowlist` | `boolean` | `false` | Refuser aux commandes sandboxées l'accès aux hôtes en dehors de la [liste d'autorisation réseau](/docs/fr/sandboxing#network-isolation) au lieu de demander. Appliqué uniquement aux commandes sandboxées ; les outils en processus tels que WebFetch ne sont pas contrôlés par cela. Honoré uniquement à partir des paramètres utilisateur, gérés ou CLI `--settings` ; les paramètres de projet sont ignorés. Nécessite Claude Code v2.1.219 ou ultérieur |5859| `strictAllowlist` | `boolean` | `false` | Refuser aux commandes sandboxées l'accès aux hôtes en dehors de la [liste d'autorisation réseau](/docs/fr/sandboxing#network-isolation) au lieu de demander. Appliqué uniquement aux commandes sandboxées ; les outils en processus tels que WebFetch ne sont pas contrôlés par celui-ci. Honoré uniquement à partir des paramètres utilisateur, gérés ou CLI `--settings` ; les paramètres de projet sont ignorés. Nécessite Claude Code v2.1.219 ou ultérieur |

5838| `allowManagedDomainsOnly` | `boolean` | `false` | Paramètres gérés uniquement. Quand défini dans les [paramètres gérés](/docs/fr/managed-settings), seules les entrées `allowedDomains` et les règles d'autorisation `WebFetch(domain:...)` des paramètres gérés sont honorées, et les entrées d'autorisation des paramètres utilisateur, projet ou locaux sont ignorées. N'a aucun effet quand défini via les options SDK |5860| `allowManagedDomainsOnly` | `boolean` | `false` | Paramètres gérés uniquement. Lorsqu'il est défini dans les [paramètres gérés](/docs/fr/managed-settings), seules les entrées `allowedDomains` et les règles d'autorisation `WebFetch(domain:...)` des paramètres gérés sont honorées, et les entrées d'autorisation des paramètres utilisateur, projet ou locaux sont ignorées. N'a aucun effet lorsqu'il est défini via les options SDK |

5839| `allowLocalBinding` | `boolean` | `false` | Permettre aux processus de se lier aux ports locaux (par exemple, pour les serveurs de développement) |5861| `allowLocalBinding` | `boolean` | `false` | Permettre aux processus de se lier à des ports locaux (par exemple, pour les serveurs de développement) |

5840| `allowUnixSockets` | `string[]` | `[]` | Chemins de socket Unix auxquels les processus peuvent accéder (par exemple, socket Docker) |5862| `allowUnixSockets` | `string[]` | `[]` | Chemins de socket Unix auxquels les processus peuvent accéder (par exemple, socket Docker) |

5841| `allowAllUnixSockets` | `boolean` | `false` | Permettre l'accès à tous les sockets Unix |5863| `allowAllUnixSockets` | `boolean` | `false` | Permettre l'accès à tous les sockets Unix |

5842| `httpProxyPort` | `number` | `undefined` | Port du proxy HTTP pour les demandes réseau |5864| `httpProxyPort` | `number` | `undefined` | Port du proxy HTTP pour les requêtes réseau |

5843| `socksProxyPort` | `number` | `undefined` | Port du proxy SOCKS pour les demandes réseau |5865| `socksProxyPort` | `number` | `undefined` | Port du proxy SOCKS pour les requêtes réseau |

5844 5866 

5845<Note>5867<Note>

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

5847</Note>5869</Note>

5848 5870 

5849<h3 id="sandboxfilesystemconfig">5871<h3 id="sandboxfilesystemconfig">


5860};5882};

5861```5883```

5862 5884 

5863| Propriété | Type | Par défaut | Description |5885| Property | Type | Default | Description |

5864| :----------- | :--------- | :--------- | :------------------------------------------------------------- |5886| :----------- | :--------- | :------ | :----------------------------------------------------------------------- |

5865| `allowWrite` | `string[]` | `[]` | Motifs de chemin de fichier pour permettre l'accès en écriture |5887| `allowWrite` | `string[]` | `[]` | Modèles de chemin de fichier pour lesquels autoriser l'accès en écriture |

5866| `denyWrite` | `string[]` | `[]` | Motifs de chemin de fichier pour refuser l'accès en écriture |5888| `denyWrite` | `string[]` | `[]` | Modèles de chemin de fichier pour lesquels refuser l'accès en écriture |

5867| `denyRead` | `string[]` | `[]` | Motifs de chemin de fichier pour refuser l'accès en lecture |5889| `denyRead` | `string[]` | `[]` | Modèles de chemin de fichier pour lesquels refuser l'accès en lecture |

5868 5890 

5869<h3 id="permissions-fallback-for-unsandboxed-commands">5891<h3 id="permissions-fallback-for-unsandboxed-commands">

5870 Repli des permissions pour les commandes non sandboxées5892 Système de permissions de secours pour les commandes non sandboxées

5871</h3>5893</h3>

5872 5894 

5873Quand `allowUnsandboxedCommands` est activé, le modèle peut demander l'exécution de commandes en dehors du sandbox en définissant `dangerouslyDisableSandbox: true` dans l'entrée de l'outil. Ces demandes reviennent au système de permissions existant, ce qui signifie que votre gestionnaire `canUseTool` est invoqué, vous permettant d'implémenter une logique d'autorisation personnalisée. Les commandes listées dans `excludedCommands` contournent plutôt le sandbox automatiquement, sans implication du modèle ; voir [`SandboxSettings`](#sandboxsettings).5895Lorsque `allowUnsandboxedCommands` est activé, le modèle peut demander l'exécution de commandes en dehors du sandbox en définissant `dangerouslyDisableSandbox: true` dans l'entrée de l'outil. Ces demandes reviennent au système de permissions existant, ce qui signifie que votre gestionnaire `canUseTool` est invoqué, vous permettant de mettre en œuvre une logique d'autorisation personnalisée.

5896 

5897Vos entrées `excludedCommands` prennent plutôt un appel en dehors du sandbox sans intervention du modèle ; [`sandbox.excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands) couvre le moment où une entrée s'applique.

5874 5898 

5875Dans l'exemple ci-dessous, `isCommandAuthorized` représente une vérification d'autorisation que vous définissez.5899Dans l'exemple ci-dessous, `isCommandAuthorized` représente une vérification d'autorisation que vous définissez.

5876 5900 


5882 options: {5906 options: {

5883 sandbox: {5907 sandbox: {

5884 enabled: true,5908 enabled: true,

5885 allowUnsandboxedCommands: true // Le modèle peut demander l'exécution non sandboxée5909 allowUnsandboxedCommands: true // Model can request unsandboxed execution

5886 },5910 },

5887 permissionMode: "default",5911 permissionMode: "default",

5888 canUseTool: async (tool, input) => {5912 canUseTool: async (tool, input) => {

5889 // Vérifier si le modèle demande de contourner le sandbox5913 // Check if the model is requesting to bypass the sandbox

5890 if (tool === "Bash" && input.dangerouslyDisableSandbox) {5914 if (tool === "Bash" && input.dangerouslyDisableSandbox) {

5891 // Le modèle demande d'exécuter cette commande en dehors du sandbox5915 // The model is requesting to run this command outside the sandbox

5892 console.log(`Unsandboxed command requested: ${input.command}`);5916 console.log(`Unsandboxed command requested: ${input.command}`);

5893 5917 

5894 if (isCommandAuthorized(input.command)) {5918 if (isCommandAuthorized(input.command)) {


5910<Warning>5934<Warning>

5911 Les commandes s'exécutant avec `dangerouslyDisableSandbox: true` ont un accès complet au système. Assurez-vous que votre gestionnaire `canUseTool` valide ces demandes avec soin.5935 Les commandes s'exécutant avec `dangerouslyDisableSandbox: true` ont un accès complet au système. Assurez-vous que votre gestionnaire `canUseTool` valide ces demandes avec soin.

5912 5936 

5913 Si `permissionMode` est défini sur `bypassPermissions` et `allowUnsandboxedCommands` est activé, le modèle peut exécuter de manière autonome des commandes en dehors du sandbox sans aucune invite d'approbation, à l'exception des [actions que le mode no n'approuve pas automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves). Cette combinaison permet effectivement au modèle d'échapper à l'isolation du sandbox silencieusement.5937 Si `permissionMode` est défini sur `bypassPermissions` et `allowUnsandboxedCommands` est activé, le modèle peut exécuter de manière autonome des commandes en dehors du sandbox sans invites d'approbation, à l'exception des [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves). Cette combinaison permet effectivement au modèle d'échapper à l'isolation du sandbox silencieusement.

5914</Warning>5938</Warning>

5915 5939 

5916<h2 id="see-also">5940<h2 id="see-also">

agent-teams.md +0 −4

Details

14 14 

15Avant de configurer une équipe, vérifiez si une option plus légère fait le travail. Les [subagents](/docs/fr/sub-agents) fonctionnent au sein d'une seule session, et avec la [messagerie inter-sessions](/docs/fr/cross-session-messaging), Claude peut transmettre les résultats entre les sessions que vous exécutez vous-même.15Avant de configurer une équipe, vérifiez si une option plus légère fait le travail. Les [subagents](/docs/fr/sub-agents) fonctionnent au sein d'une seule session, et avec la [messagerie inter-sessions](/docs/fr/cross-session-messaging), Claude peut transmettre les résultats entre les sessions que vous exécutez vous-même.

16 16 

17<Note>

18 Cette page décrit les équipes d'agents à partir de la v2.1.178. Avec `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` défini, la création d'un coéquipier n'a plus besoin d'une étape de configuration, et le nettoyage se fait automatiquement à la fermeture de la session. Avant la v2.1.178, vous demandiez à Claude de créer et de nommer une équipe en premier, et Claude utilisait les outils `TeamCreate` et `TeamDelete` pour la configurer et la supprimer. Ces deux outils n'existent plus. L'entrée `team_name` sur l'outil Agent est acceptée mais ignorée, et le champ `team_name` dans les [payloads de hook](/docs/fr/hooks#taskcreated) `TaskCreated`, `TaskCompleted` et `TeammateIdle` porte le nom dérivé de la session et est déprécié.

19</Note>

20 

21<h2 id="when-to-use-agent-teams">17<h2 id="when-to-use-agent-teams">

22 Quand utiliser les équipes d'agents18 Quand utiliser les équipes d'agents

23</h2>19</h2>

Details

291 291 

292Définissez ces variables d'environnement sur des ID de modèle Amazon Bedrock spécifiques.292Définissez ces variables d'environnement sur des ID de modèle Amazon Bedrock spécifiques.

293 293 

294Sans `ANTHROPIC_DEFAULT_OPUS_MODEL`, l'alias `opus` sur Amazon Bedrock se résout à Opus 5, et sans `ANTHROPIC_DEFAULT_SONNET_MODEL`, l'alias `sonnet` se résout à Sonnet 4.5. Cet exemple épingle chaque alias à une version spécifique :294Sans `ANTHROPIC_DEFAULT_OPUS_MODEL`, l'alias `opus` sur Amazon Bedrock se résout à Opus 5.5, et sans `ANTHROPIC_DEFAULT_SONNET_MODEL`, l'alias `sonnet` se résout à Sonnet 4.5. Cet exemple épingle chaque alias à une version spécifique :

295 295 

296```bash theme={null}296```bash theme={null}

297export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'297export ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'


304Pour conserver les modèles par défaut intégrés et modifier uniquement leur préfixe préféré, définissez [`ANTHROPIC_BEDROCK_REGION_PREFIX`](#cross-region-inference-profile-prefixes) au lieu d'épingler. La différence s'affiche dans ce que l'alias `opus` se résout à :304Pour conserver les modèles par défaut intégrés et modifier uniquement leur préfixe préféré, définissez [`ANTHROPIC_BEDROCK_REGION_PREFIX`](#cross-region-inference-profile-prefixes) au lieu d'épingler. La différence s'affiche dans ce que l'alias `opus` se résout à :

305 305 

306| Vous définissez | L'alias `opus` se résout à |306| Vous définissez | L'alias `opus` se résout à |

307| :------------------------------------------------------------ | :------------------------------------------------------------------------------------- |307| :------------------------------------------------------------ | :--------------------------------------------------------------------------------------- |

308| `ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` | `us.anthropic.claude-opus-4-8`, l'ID exact que vous avez épinglé |308| `ANTHROPIC_DEFAULT_OPUS_MODEL='us.anthropic.claude-opus-4-8'` | `us.anthropic.claude-opus-4-8`, l'ID exact que vous avez épinglé |

309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5`, la valeur par défaut intégrée avec votre préfixe préféré |309| `ANTHROPIC_BEDROCK_REGION_PREFIX=eu` | `eu.anthropic.claude-opus-5-5`, la valeur par défaut intégrée avec votre préfixe préféré |

310 310 

311Pour les ID de modèle actuels et hérités, voir [Aperçu des modèles](https://platform.claude.com/docs/en/about-claude/models/overview). Pour la liste complète des variables d'environnement d'épinglage, voir [Configuration du modèle](/docs/fr/model-config#pin-models-for-third-party-deployments).311Pour les ID de modèle actuels et hérités, voir [Aperçu des modèles](https://platform.claude.com/docs/en/about-claude/models/overview). Pour la liste complète des variables d'environnement d'épinglage, voir [Configuration du modèle](/docs/fr/model-config#pin-models-for-third-party-deployments).

312 312 


314 314 

315| Type de modèle | Modèle par défaut |315| Type de modèle | Modèle par défaut |

316| :------------------ | :-------------------------------------------------------------------------------------------- |316| :------------------ | :-------------------------------------------------------------------------------------------- |

317| Modèle principal | Opus 5, par exemple `us.anthropic.claude-opus-5` dans une région `us-*` |317| Modèle principal | Opus 5.5, par exemple `us.anthropic.claude-opus-5-5` dans une région `us-*` |

318| Modèle petit/rapide | Sonnet 4.5, par exemple `us.anthropic.claude-sonnet-4-5-20250929-v1:0` dans une région `us-*` |318| Modèle petit/rapide | Sonnet 4.5, par exemple `us.anthropic.claude-sonnet-4-5-20250929-v1:0` dans une région `us-*` |

319 319 

320Les tâches de fond telles que la génération de titre de session utilisent le modèle petit/rapide, normalement un modèle de classe Haiku. Sur Amazon Bedrock, Claude Code utilise le modèle Sonnet par défaut pour les tâches de fond car Haiku peut ne pas être activé dans chaque compte ou région. Deux sélections changent quel modèle les porte :320Les tâches de fond telles que la génération de titre de session utilisent le modèle petit/rapide, normalement un modèle de classe Haiku. Sur Amazon Bedrock, Claude Code utilise le modèle Sonnet par défaut pour les tâches de fond car Haiku peut ne pas être activé dans chaque compte ou région. Deux sélections changent quel modèle les porte :


326 Les modèles Opus ont un prix par jeton plus élevé que les modèles Sonnet, donc un déploiement qui n'épingle pas un modèle principal est facturé au tarif Opus une fois qu'il se met à jour vers v2.1.207 ou ultérieur. Pour conserver Sonnet 4.5 comme modèle principal, définissez `ANTHROPIC_MODEL` sur son ID de modèle complet. Un déploiement qui dirige la valeur par défaut avec `ANTHROPIC_DEFAULT_SONNET_MODEL` et ne définit pas `ANTHROPIC_DEFAULT_OPUS_MODEL` conserve son modèle Sonnet dirigé comme valeur par défaut.326 Les modèles Opus ont un prix par jeton plus élevé que les modèles Sonnet, donc un déploiement qui n'épingle pas un modèle principal est facturé au tarif Opus une fois qu'il se met à jour vers v2.1.207 ou ultérieur. Pour conserver Sonnet 4.5 comme modèle principal, définissez `ANTHROPIC_MODEL` sur son ID de modèle complet. Un déploiement qui dirige la valeur par défaut avec `ANTHROPIC_DEFAULT_SONNET_MODEL` et ne définit pas `ANTHROPIC_DEFAULT_OPUS_MODEL` conserve son modèle Sonnet dirigé comme valeur par défaut.

327</Warning>327</Warning>

328 328 

329Sur v2.1.207 à v2.1.218, le modèle principal sur Amazon Bedrock était par défaut Opus 4.8 et l'alias `opus` se résolvait à Opus 4.8. Avant v2.1.207, le modèle principal était par défaut Sonnet 4.5, l'alias `opus` se résolvait à Opus 4.6, et les tâches de fond utilisaient toujours le modèle principal.329Avant v2.1.280, le modèle principal sur Amazon Bedrock était par défaut Opus 5 et l'alias `opus` se résolvait à Opus 5 à partir de v2.1.219. Sur v2.1.207 à v2.1.218, le modèle principal sur Amazon Bedrock était par défaut Opus 4.8 et l'alias `opus` se résolvait à Opus 4.8. Avant v2.1.207, le modèle principal était par défaut Sonnet 4.5, l'alias `opus` se résolvait à Opus 4.6, et les tâches de fond utilisaient toujours le modèle principal.

330 330 

331Pour personnaliser davantage les modèles, utilisez l'une de ces méthodes :331Pour personnaliser davantage les modèles, utilisez l'une de ces méthodes :

332 332 


405```bash theme={null}405```bash theme={null}

406export ANTHROPIC_BEDROCK_REGION_PREFIX=global406export ANTHROPIC_BEDROCK_REGION_PREFIX=global

407# Dans une région us-*, le modèle principal se résout maintenant en407# Dans une région us-*, le modèle principal se résout maintenant en

408# global.anthropic.claude-opus-5 au lieu de us.anthropic.claude-opus-5408# global.anthropic.claude-opus-5-5 au lieu de us.anthropic.claude-opus-5-5

409```409```

410 410 

411Le préfixe préféré est une préférence, pas une garantie, qu'il provienne de votre région ou de la variable. La façon dont Claude Code l'applique dépend de sa capacité à vérifier la disponibilité du profil dans votre compte :411Le préfixe préféré est une préférence, pas une garantie, qu'il provienne de votre région ou de la variable. La façon dont Claude Code l'applique dépend de sa capacité à vérifier la disponibilité du profil dans votre compte :

artifacts.md +2 −2

Details

347Les artefacts nécessitent chaque condition ci-dessous. Lorsque l'une d'elles n'est pas remplie, Claude écrit un fichier HTML local ou dit qu'il ne peut pas publier à la place.347Les artefacts nécessitent chaque condition ci-dessous. Lorsque l'une d'elles n'est pas remplie, Claude écrit un fichier HTML local ou dit qu'il ne peut pas publier à la place.

348 348 

349| Exigence | Disponible quand |349| Exigence | Disponible quand |

350| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |350| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

352| Authentification | La session est sauvegardée par un compte claude.ai : connectez-vous avec `/login` dans la CLI ou l'application de bureau. Les sessions Claude Tag sont connectées via l'identité de l'agent, donc aucune étape n'est nécessaire. Les sessions utilisant une clé API, un [jeton de passerelle](/docs/fr/llm-gateway) ou une identifiant de fournisseur cloud ne peuvent pas publier. |352| Authentification | La session est sauvegardée par un compte claude.ai : connectez-vous avec `/login` dans la CLI ou l'application de bureau. Les sessions Claude Tag sont connectées via l'identité de l'agent, donc aucune étape n'est nécessaire. Les sessions utilisant une clé API, un [jeton de passerelle](/docs/fr/llm-gateway) ou une identifiant de fournisseur cloud ne peuvent pas publier. |

353| Fournisseur de modèle | API Anthropic. Non disponible sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) ou [Microsoft Foundry](/docs/fr/microsoft-foundry). |353| Fournisseur de modèle | API Anthropic. Non disponible sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) ou [Microsoft Foundry](/docs/fr/microsoft-foundry). |

354| Politique organisationnelle | Les clés de chiffrement gérées par le client (CMEK), HIPAA et [Zéro rétention de données](/docs/fr/zero-data-retention) ne sont pas activées pour l'organisation. |354| Politique organisationnelle | Les clés de chiffrement gérées par le client (CMEK), HIPAA et [Zéro rétention de données](/docs/fr/zero-data-retention) ne sont pas activées pour l'organisation. |

355| Surface | CLI Claude Code version 2.1.183 ou ultérieure, ou l'application de bureau Claude version 1.13576.0 ou ultérieure. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) peuvent également publier des artefacts lorsque Claude Tag et les artefacts sont activés pour l'organisation. Désactivé par défaut dans les contextes [Agent SDK](/docs/fr/agent-sdk/overview), GitHub Action et MCP-server, et lorsque [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars) est défini. |355| Surface | Claude Code CLI, ou l'application de bureau Claude version 1.13576.0 ou ultérieure. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) peuvent également publier des artefacts lorsque Claude Tag et les artefacts sont activés pour l'organisation. Désactivé par défaut dans les contextes [Agent SDK](/docs/fr/agent-sdk/overview), GitHub Action et MCP-server, et lorsque [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars) est défini. |

356 356 

357<h2 id="disable-artifacts">357<h2 id="disable-artifacts">

358 Désactiver les artefacts358 Désactiver les artefacts

Details

53 53 

54[Claude for Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_teams#team-&-enterprise) et [Claude for Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_enterprise) offrent la meilleure expérience pour les organisations utilisant Claude Code. Les membres de l'équipe ont accès à la fois à Claude Code et à Claude sur le web avec facturation centralisée et gestion d'équipe.54[Claude for Teams](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_teams#team-&-enterprise) et [Claude for Enterprise](https://anthropic.com/contact-sales?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_enterprise) offrent la meilleure expérience pour les organisations utilisant Claude Code. Les membres de l'équipe ont accès à la fois à Claude Code et à Claude sur le web avec facturation centralisée et gestion d'équipe.

55 55 

56* **Claude for Teams** : plan en libre-service avec fonctionnalités de collaboration, outils d'administration et gestion de la facturation. Idéal pour les petites équipes.56* **Claude for Teams** : plan en libre-service avec fonctionnalités de collaboration, outils d'administration, SSO, gestion de la facturation et [paramètres gérés par serveur](/docs/fr/server-managed-settings) pour la configuration Claude Code à l'échelle de l'organisation. Idéal pour les petites équipes.

57* **Claude for Enterprise** : ajoute SSO, capture de domaine, permissions basées sur les rôles, API de conformité et paramètres de politique gérés pour les configurations Claude Code à l'échelle de l'organisation. Idéal pour les grandes organisations ayant des exigences en matière de sécurité et de conformité.57* **Claude for Enterprise** : ajoute capture de domaine, permissions basées sur les rôles et l'API de conformité. Idéal pour les grandes organisations ayant des exigences en matière de sécurité et de conformité.

58 58 

59<Steps>59<Steps>

60 <Step title="S'abonner">60 <Step title="S'abonner">

Details

250 250 

251Les sessions cloud prennent en charge les [commandes intégrées](/docs/fr/commands) qui produisent une sortie textuelle. Les commandes qui s'exécutent uniquement dans l'interface du terminal, telles que `/plugin` ou `/resume`, ne sont pas disponibles. Les commandes qui ouvrent un sélecteur ou un panneau dans le terminal se comportent différemment dans les sessions cloud :251Les sessions cloud prennent en charge les [commandes intégrées](/docs/fr/commands) qui produisent une sortie textuelle. Les commandes qui s'exécutent uniquement dans l'interface du terminal, telles que `/plugin` ou `/resume`, ne sont pas disponibles. Les commandes qui ouvrent un sélecteur ou un panneau dans le terminal se comportent différemment dans les sessions cloud :

252 252 

253* **`/model`, `/effort`, `/color` et `/rename`** : transmettez la valeur en tant qu'argument, par exemple `/model sonnet`, au lieu d'ouvrir le sélecteur du terminal ou le curseur. Les formes d'argument nécessitent Claude Code v2.1.205 ou une version ultérieure dans l'environnement de la session et suivent les [notes de disponibilité](/docs/fr/commands#all-commands) de chaque commande : `/effort` signale `Not applied` tandis qu'un [effort par défaut au lancement](/docs/fr/model-config#adjust-effort-level) du modèle est en vigueur.253* **`/model`, `/effort`, `/color` et `/rename`** : transmettez la valeur en tant qu'argument, par exemple `/model sonnet`, au lieu d'ouvrir le sélecteur du terminal ou le curseur. Les formes d'argument nécessitent Claude Code v2.1.205 ou une version ultérieure dans l'environnement de la session et suivent les [notes de disponibilité](/docs/fr/commands#all-commands) de chaque commande.

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

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

256 256 

Details

1451L'explorateur couvre les fichiers que vous créez et modifiez. Quelques fichiers connexes se trouvent ailleurs :1451L'explorateur couvre les fichiers que vous créez et modifiez. Quelques fichiers connexes se trouvent ailleurs :

1452 1452 

1453| Fichier | Emplacement | Objectif |1453| Fichier | Emplacement | Objectif |

1454| ----------------------- | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1454| ----------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1455| `managed-settings.json` | Au niveau du système, varie selon le système d'exploitation | Paramètres appliqués par l'entreprise que vous ne pouvez pas remplacer, à l'exception de [quelques cas particuliers](/docs/fr/settings#security-keys-where-the-stricter-value-applies). Consultez [où enregistrer le fichier](/docs/fr/managed-settings#deploy-a-managed-settings-file) et [quelle source gérée Claude Code utilise](/docs/fr/managed-settings#precedence-within-the-managed-tier). |1455| `managed-settings.json` | Au niveau du système, varie selon le système d'exploitation | Paramètres appliqués par l'entreprise que vous ne pouvez pas remplacer, à l'exception de [quelques cas particuliers](/docs/fr/settings#security-keys-where-the-stricter-value-applies). Consultez [où enregistrer le fichier](/docs/fr/managed-settings#deploy-a-managed-settings-file) et [quelle source gérée Claude Code utilise](/docs/fr/managed-settings#precedence-within-the-managed-tier). |

1456| `CLAUDE.local.md` | Racine du projet | Vos préférences privées pour ce projet, chargées aux côtés de CLAUDE.md. Créez-le manuellement et ajoutez-le à `.gitignore`. |1456| `CLAUDE.local.md` | Racine du projet | Vos préférences privées pour ce projet, chargées aux côtés de CLAUDE.md. Créez-le manuellement et ajoutez-le à `.gitignore`. |

1457| `AGENTS.md` | Racine du projet, `.claude/`, ou n'importe quel répertoire | Instructions de projet que vous écrivez pour les agents de codage IA. Claude Code peut [le charger](/docs/fr/memory#agents-md) de lui-même ou aux côtés de `CLAUDE.md`. |1457| `AGENTS.md` | Racine du projet, `.claude/`, ou n'importe quel répertoire | Instructions de projet que vous écrivez pour les agents de codage IA. Claude Code peut [le charger](/docs/fr/memory#agents-md) de lui-même ou aux côtés de `CLAUDE.md`. |

1458| Plugins installés | `~/.claude/plugins` | Marchés clonés, versions de plugins installées et données par plugin, gérées par les commandes `claude plugin`. Pour un plugin installé à partir d'une source [`command`](/docs/fr/plugin-marketplaces#command-sources) de marketplace en mode lien, Claude Code stocke les liens ici au lieu d'une copie, et les fichiers du plugin restent dans le répertoire que la commande affiche. Une source `command` nécessite Claude Code v2.1.229 ou version ultérieure. Un plugin listé par chemin relatif dans une marketplace de répertoire local [se charge également sur place](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) à partir de son répertoire source plutôt qu'à partir d'une copie en cache. Consultez [mise en cache des plugins](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) pour savoir comment les versions orphelines sont nettoyées. |1458| Plugins installés | `~/.claude/plugins` | Marchés clonés, versions de plugins installées, l'enregistrement d'installation `installed_plugins.json` et données par plugin, gérées par les commandes `claude plugin`. Les plugins [synchronisés à partir de votre compte claude.ai](/docs/fr/plugins-reference#synced-plugins) se téléchargent dans `~/.claude/plugins/synced/`. Pour un plugin installé à partir d'une source [`command`](/docs/fr/plugin-marketplaces#command-sources) de marketplace en mode lien, Claude Code stocke les liens ici au lieu d'une copie, et les fichiers du plugin restent dans le répertoire que la commande affiche. Une source `command` nécessite Claude Code v2.1.229 ou version ultérieure. Un plugin listé par chemin relatif dans une marketplace de répertoire local [se charge également sur place](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) à partir de son répertoire source plutôt qu'à partir d'une copie en cache. Consultez [mise en cache des plugins](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) pour savoir comment les versions orphelines sont nettoyées. |

1459 1459 

1460`~/.claude` contient également les données que Claude Code écrit au fur et à mesure que vous travaillez : transcriptions, historique des invites, instantanés de fichiers, caches et journaux. Consultez [données d'application](#application-data) ci-dessous.1460`~/.claude` contient également les données que Claude Code écrit au fur et à mesure que vous travaillez : transcriptions, historique des invites, instantanés de fichiers, caches et journaux. Consultez [données d'application](#application-data) ci-dessous.

1461 1461 


1515| [`keybindings.json`](#ce-keybindings) | Global uniquement | | Raccourcis clavier personnalisés | [Keybindings](/docs/fr/keybindings) |1515| [`keybindings.json`](#ce-keybindings) | Global uniquement | | Raccourcis clavier personnalisés | [Keybindings](/docs/fr/keybindings) |

1516| [`themes/*.json`](#ce-themes) | Global uniquement | | Thèmes de couleurs personnalisés | [Thèmes personnalisés](/docs/fr/terminal-config#create-a-custom-theme) |1516| [`themes/*.json`](#ce-themes) | Global uniquement | | Thèmes de couleurs personnalisés | [Thèmes personnalisés](/docs/fr/terminal-config#create-a-custom-theme) |

1517 1517 

1518<h2 id="frontmatter-fields-by-file">

1519 Champs de frontmatter par fichier

1520</h2>

1521 

1522Les compétences, fichiers de commandes, sous-agents, styles de sortie et règles lisent leur configuration à partir du [frontmatter](/docs/fr/glossary#frontmatter) YAML en haut du fichier, et chacun accepte son propre ensemble de champs. Ce tableau répertorie les noms de champs pour chaque fichier et établit des liens vers la référence qui les décrit.

1523 

1524| Fichier | Champs de frontmatter | Référence |

1525| ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ |

1526| `skills/<name>/SKILL.md` | `name`, `description`, `when_to_use`, `argument-hint`, `arguments`, `disable-model-invocation`, `user-invocable`, `allowed-tools`, `disallowed-tools`, `model`, `effort`, `context`, `agent`, `background`, `hooks`, `paths`, `shell`, `metadata`, `license`, `compatibility` | [Frontmatter de compétence](/docs/fr/skills#frontmatter-reference) |

1527| `commands/*.md` | Les champs de compétence sauf `name` et `paths` | [Frontmatter de compétence](/docs/fr/skills#frontmatter-reference) |

1528| `agents/*.md` | `name`, `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `maxTurns`, `skills`, `mcpServers`, `hooks`, `memory`, `background`, `effort`, `isolation`, `color`, `initialPrompt`, `omitClaudeMd`, `experimental` | [Frontmatter de sous-agent](/docs/fr/sub-agents#supported-frontmatter-fields) |

1529| `output-styles/*.md` | `name`, `description`, `keep-coding-instructions`, `force-for-plugin` | [Frontmatter de style de sortie](/docs/fr/output-styles#frontmatter) |

1530| `rules/*.md` | `paths` | [Frontmatter de règle](/docs/fr/memory#rules-frontmatter-reference) |

1531 

1532Les agents fournis dans un [plugin](/docs/fr/plugins-reference#plugin-agent-frontmatter) respectent un sous-ensemble des champs de sous-agent.

1533 

1518<h2 id="troubleshoot-configuration">1534<h2 id="troubleshoot-configuration">

1519 Dépannez votre configuration1535 Dépannez votre configuration

1520</h2>1536</h2>


1534Claude Code supprime les fichiers dans les chemins ci-dessous une fois qu'ils sont plus anciens que [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), tant qu'il peut déterminer en toute sécurité la période de rétention. La valeur par défaut est 30 jours et le minimum est 1 ; définir `0` échoue avec une erreur de validation. Le même seuil d'âge s'applique à la suppression automatique des [worktrees orphelins](/docs/fr/worktrees#clean-up-subagent-and-background-session-worktrees).1550Claude Code supprime les fichiers dans les chemins ci-dessous une fois qu'ils sont plus anciens que [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), tant qu'il peut déterminer en toute sécurité la période de rétention. La valeur par défaut est 30 jours et le minimum est 1 ; définir `0` échoue avec une erreur de validation. Le même seuil d'âge s'applique à la suppression automatique des [worktrees orphelins](/docs/fr/worktrees#clean-up-subagent-and-background-session-worktrees).

1535 1551 

1536| Chemin sous `~/.claude/` | Contenu |1552| Chemin sous `~/.claude/` | Contenu |

1537| ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1553| ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1538| `projects/<project>/<session>.jsonl` | Transcription complète de la conversation : chaque message, appel d'outil et résultat d'outil |1554| `projects/<project>/<session>.jsonl` | Transcription complète de la conversation : chaque message, appel d'outil et résultat d'outil |

1539| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Une transcription précédente de la session que Claude Code a mise de côté au lieu de la remplacer ou de la supprimer. Elle n'apparaît pas dans le sélecteur de session |1555| `projects/<project>/<session>.orphaned-<timestamp>-<suffix>.jsonl`, `projects/<project>/<session>.jsonl.superseded-<timestamp>` | Une transcription précédente de la session que Claude Code a mise de côté au lieu de la remplacer ou de la supprimer. Elle n'apparaît pas dans le sélecteur de session |

1540| `projects/<project>/<session>/subagents/` | Transcriptions de conversation [Subagent](/docs/fr/sub-agents), supprimées avec la transcription de session parent lorsqu'elle vieillit |1556| `projects/<project>/<session>/subagents/` | Transcriptions de conversation [Subagent](/docs/fr/sub-agents), supprimées avec la transcription de session parent lorsqu'elle vieillit |


1543| `plans/` | Fichiers de plan écrits pendant le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) |1559| `plans/` | Fichiers de plan écrits pendant le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) |

1544| `debug/` | Journaux de débogage par session, écrits lorsque la journalisation de débogage est activée, par exemple lorsque vous démarrez avec [`--debug`](/docs/fr/cli-reference#cli-flags) ou exécutez `/debug` |1560| `debug/` | Journaux de débogage par session, écrits lorsque la journalisation de débogage est activée, par exemple lorsque vous démarrez avec [`--debug`](/docs/fr/cli-reference#cli-flags) ou exécutez `/debug` |

1545| `paste-cache/` | Contenu des grands collages |1561| `paste-cache/` | Contenu des grands collages |

1546| `image-cache/<session>/` | Images jointes. À chaque balayage, Claude Code supprime les répertoires de toutes les autres sessions, quel que soit leur âge. |1562| `image-cache/<session>/` | Images jointes enregistrées par Claude Code v2.1.274 et antérieures. Les versions ultérieures enregistrent les images collées et jointes en dehors de `~/.claude`, dans un répertoire `images/` pour chaque session sous le répertoire temporaire que [`CLAUDE_CODE_TMPDIR`](/docs/fr/env-vars) contrôle. Le balayage supprime les répertoires restants des autres sessions ici, quel que soit leur âge. |

1547| `uploads/<session>/` | Fichiers que vous joignez depuis le web ou l'application mobile, et photos que vous joignez depuis l'application mobile, lors de la messagerie d'une session [Remote Control](/docs/fr/remote-control). Une pièce jointe à une [session cloud](/docs/fr/claude-code-on-the-web) est enregistrée dans l'environnement cloud propre de cette session, pas sur votre machine. |1563| `uploads/<session>/` | Fichiers que vous joignez depuis le web ou l'application mobile, et photos que vous joignez depuis l'application mobile, lors de la messagerie d'une session [Remote Control](/docs/fr/remote-control). Une pièce jointe à une [session cloud](/docs/fr/claude-code-on-the-web) est enregistrée dans l'environnement cloud propre de cette session, pas sur votre machine. |

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

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


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

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

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

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

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

1557 1573 

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


1610* Lignes d'invite correspondantes dans `history.jsonl`1626* Lignes d'invite correspondantes dans `history.jsonl`

1611* L'entrée du projet dans `~/.claude.json`1627* L'entrée du projet dans `~/.claude.json`

1612 1628 

1629Les images que vous avez collées ou jointes dans les sessions du projet sont stockées sous le répertoire temporaire de Claude Code plutôt que sous `~/.claude`, donc le purge ne les supprime pas. Le [balayage de rétention](#cleaned-up-automatically) les supprime une fois qu'elles sont plus anciennes que `cleanupPeriodDays`.

1630 

1613La commande imprime le plan de suppression complet et demande une confirmation avant de supprimer quoi que ce soit.1631La commande imprime le plan de suppression complet et demande une confirmation avant de supprimer quoi que ce soit.

1614 1632 

1615Les exemples ci-dessous utilisent `~/work/my-repo` comme espace réservé. Remplacez-le par le chemin de votre projet. Si aucun état ne correspond au chemin, la commande imprime une erreur et se termine avec le statut 1.1633Les exemples ci-dessous utilisent `~/work/my-repo` comme espace réservé. Remplacez-le par le chemin de votre projet. Si aucun état ne correspond au chemin, la commande imprime une erreur et se termine avec le statut 1.


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

1661 1679 

1662| Supprimer | Vous perdez |1680| Supprimer | Vous perdez |

1663| ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1681| -------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1664| `~/.claude/projects/` | Reprendre, continuer et rembobiner pour les sessions passées, et mémoire automatique pour chaque projet |1682| `~/.claude/projects/` | Reprendre, continuer et rembobiner pour les sessions passées, et mémoire automatique pour chaque projet |

1665| `~/.claude/history.jsonl` | Rappel d'invite de flèche vers le haut, recherche d'historique `Ctrl+R` et complétion de commande shell `!` |1683| `~/.claude/history.jsonl` | Rappel d'invite de flèche vers le haut, recherche d'historique `Ctrl+R` et complétion de commande shell `!` |

1666| `~/.claude/paste-cache/` | Texte collé dans les invites rappelées ; voir [coller du contenu volumineux](/docs/fr/terminal-config#paste-large-content) |1684| `~/.claude/paste-cache/` | Texte collé dans les invites rappelées ; voir [coller du contenu volumineux](/docs/fr/terminal-config#paste-large-content) |


1675| `~/.claude/policy-limits.json` | Rien. Actualisé automatiquement. |1693| `~/.claude/policy-limits.json` | Rien. Actualisé automatiquement. |

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

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

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

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

1680 1698 

1681Ne supprimez pas `~/.claude.json`, `~/.claude/settings.json` ou `~/.claude/plugins/` : ceux-ci contiennent votre authentification, vos préférences et vos plugins installés.1699Ne supprimez pas `~/.claude.json`, `~/.claude/settings.json` ou `~/.claude/plugins/` : ceux-ci contiennent votre authentification, vos préférences et vos plugins installés.

1682 1700 

Details

284 284 

285Claude Platform on AWS utilise les mêmes ID de modèle que l'API Claude directe.285Claude Platform on AWS utilise les mêmes ID de modèle que l'API Claude directe.

286 286 

287Les alias par défaut `fable`, `opus`, `sonnet` et `haiku` se résolvent aux valeurs par défaut intégrées de Claude Code pour Claude Platform on AWS, qui peuvent être en retard par rapport à la version la plus récente. Sans `ANTHROPIC_DEFAULT_OPUS_MODEL`, l'alias `opus` se résout à Opus 5. Avant la v2.1.219, il se résolvait à Opus 4.8, et avant la v2.1.207 à Opus 4.7.287Les alias par défaut `fable`, `opus`, `sonnet` et `haiku` se résolvent aux valeurs par défaut intégrées de Claude Code pour Claude Platform on AWS, qui peuvent être en retard par rapport à la version la plus récente. Sans `ANTHROPIC_DEFAULT_OPUS_MODEL`, l'alias `opus` se résout à Opus 5.5. Avant la v2.1.280, il se résolvait à Opus 5 à partir de la v2.1.219, à Opus 4.8 à partir de la v2.1.207, et à Opus 4.7 avant cela.

288 288 

289Si vous déployez Claude Code pour une équipe, épinglez explicitement les ID de modèle pour qu'une nouvelle version ne déplace pas tout le monde à la fois :289Si vous déployez Claude Code pour une équipe, épinglez explicitement les ID de modèle pour qu'une nouvelle version ne déplace pas tout le monde à la fois :

290 290 

Details

56* **Threads** : les travailleurs. Chacun est une [session cloud](/docs/fr/claude-code-on-the-web) distincte avec sa propre fenêtre de contexte qui fait un morceau de travail sur sa propre branche, ouvre une pull request quand le travail l'exige, et rapporte à la conversation quand il termine.56* **Threads** : les travailleurs. Chacun est une [session cloud](/docs/fr/claude-code-on-the-web) distincte avec sa propre fenêtre de contexte qui fait un morceau de travail sur sa propre branche, ouvre une pull request quand le travail l'exige, et rapporte à la conversation quand il termine.

57* **Ce que chaque thread commence avec** :57* **Ce que chaque thread commence avec** :

58 * Les référentiels et fichiers du projet, plus ses [instructions et mémoire](#give-a-project-standing-context)58 * Les référentiels et fichiers du projet, plus ses [instructions et mémoire](#give-a-project-standing-context)

59 * Le `CLAUDE.md`, les skills et les plugins dans [chacun des référentiels du projet](#what-threads-pick-up-from-your-repositories), et dans un projet avec un référentiel, les règles de permission et les hooks de ce référentiel aussi59 * Le `CLAUDE.md` et skills dans [chacun des référentiels du projet](#what-threads-pick-up-from-your-repositories), et dans un projet avec un référentiel, les règles de permission et les hooks de ce référentiel aussi

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

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

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


333 Ce que les threads reprennent de vos référentiels333 Ce que les threads reprennent de vos référentiels

334</h3>334</h3>

335 335 

336Chaque thread clone chaque référentiel du projet et charge `CLAUDE.md`, les skills et les plugins de tous. Les règles de permission, les hooks et `env` viennent seulement du `.claude/settings.json` dans le répertoire où le thread commence : à l'intérieur du référentiel quand le projet en a un, et au-dessus des clones quand il en a plusieurs, où aucun fichier du référentiel n'est lu pour eux.336Chaque thread clone chaque référentiel du projet et charge `CLAUDE.md` et les skills de tous. Les règles de permission, les hooks et `env` viennent seulement du `.claude/settings.json` dans le répertoire où le thread commence : à l'intérieur du référentiel quand le projet en a un, et au-dessus des clones quand il en a plusieurs, où aucun fichier du référentiel n'est lu pour eux.

337 337 

338| Dans chaque référentiel | Un référentiel | Plusieurs référentiels |338| Dans chaque référentiel | Un référentiel | Plusieurs référentiels |

339| :------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |339| :------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- |

340| `CLAUDE.md` | Chargé au démarrage du thread | Chargé à partir de chaque référentiel au démarrage du thread |340| `CLAUDE.md` | Chargé au démarrage du thread | Chargé à partir de chaque référentiel au démarrage du thread |

341| Skills, agents et commandes sous `.claude/` | Chargés | Chargés à partir de chaque référentiel |341| Skills, agents et commandes sous `.claude/` | Chargés | Chargés à partir de chaque référentiel |

342| Plugins activés dans `.claude/settings.json` | Chargés | Chargés à partir de chaque référentiel. Si deux référentiels ne sont pas d'accord sur un plugin, définissez-le dans **Project settings > Plugins**, qui a la priorité |342| Plugins activés dans `.claude/settings.json` | Non chargés. Ajoutez le plugin dans **Project settings > Plugins** à la place | Non chargés. Ajoutez le plugin dans **Project settings > Plugins** à la place |

343| Règles de permission, hooks et `env` définis dans `.claude/settings.json` | S'appliquent au thread, sauf les clés `env` que [aucune session cloud n'honore](/docs/fr/cloud-environments#what-carries-over-from-your-setup) | Ne s'appliquent pas |343| Règles de permission, hooks et `env` définis dans `.claude/settings.json` | S'appliquent au thread, sauf les clés `env` que [aucune session cloud n'honore](/docs/fr/cloud-environments#what-carries-over-from-your-setup) | Ne s'appliquent pas |

344 344 

345Dans un projet avec plusieurs référentiels, chaque clone est attaché au thread en tant que [répertoire supplémentaire](/docs/fr/memory#load-from-additional-directories) avec le chargement de `CLAUDE.md` activé, c'est pourquoi le `CLAUDE.md` et les skills de chaque référentiel se chargent au démarrage même si le thread commence au-dessus d'eux. De toute façon, les hooks qu'un plugin activé fournit s'exécutent toujours, puisque les plugins se chargent à partir de chaque référentiel. Dans un projet avec plusieurs référentiels, mettez les règles permanentes dans les instructions du projet et donnez aux threads les variables d'environnement via l'[environnement cloud](#choose-an-environment-for-threads).345Dans un projet avec plusieurs référentiels, chaque clone est attaché au thread en tant que [répertoire supplémentaire](/docs/fr/memory#load-from-additional-directories) avec le chargement de `CLAUDE.md` activé, c'est pourquoi le `CLAUDE.md` et les skills de chaque référentiel se chargent au démarrage même si le thread commence au-dessus d'eux. Dans un tel projet, mettez les règles permanentes dans les instructions du projet et donnez aux threads les variables d'environnement via l'[environnement cloud](#choose-an-environment-for-threads).

346 346 

347<h3 id="choose-an-environment-for-threads">347<h3 id="choose-an-environment-for-threads">

348 Choisir un environnement pour les threads348 Choisir un environnement pour les threads


359Les threads sont des sessions cloud, ils n'ont donc pas les skills, les serveurs MCP, les plugins et les outils installés seulement sur votre machine. Pour rendre chacun de ceux-ci disponible aux threads :359Les threads sont des sessions cloud, ils n'ont donc pas les skills, les serveurs MCP, les plugins et les outils installés seulement sur votre machine. Pour rendre chacun de ceux-ci disponible aux threads :

360 360 

361* Skills, subagents et commandes : validez-les dans un référentiel que vous avez ajouté au projet, par exemple un skill à `.claude/skills/<skill-name>/SKILL.md`. Chaque thread clone chaque référentiel du projet et charge `.claude/skills/`, `.claude/agents/` et `.claude/commands/` à partir de chacun d'eux, donc un skill validé dans un référentiel est disponible dans chaque nouveau thread. Les threads chargent également les skills que vous activez pour votre compte claude.ai.361* Skills, subagents et commandes : validez-les dans un référentiel que vous avez ajouté au projet, par exemple un skill à `.claude/skills/<skill-name>/SKILL.md`. Chaque thread clone chaque référentiel du projet et charge `.claude/skills/`, `.claude/agents/` et `.claude/commands/` à partir de chacun d'eux, donc un skill validé dans un référentiel est disponible dans chaque nouveau thread. Les threads chargent également les skills que vous activez pour votre compte claude.ai.

362* Plugins : ajoutez-les dans **Project settings > Plugins** ; ils se chargent dans chaque nouveau thread. Les plugins qu'un référentiel déclare dans son `.claude/settings.json` se chargent aussi ; voir [Ce qui se transfère de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup).362* Plugins : ajoutez-les dans **Project settings > Plugins** ; ils se chargent dans chaque nouveau thread. Les plugins qu'un référentiel déclare dans son `.claude/settings.json` [ne se chargent pas dans les threads](/docs/fr/cloud-environments#what-carries-over-from-your-setup), car les threads sont des sessions cloud.

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

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

365 365 

Details

93| `--exec` | Exécuter une commande shell en tant que travail en arrière-plan soutenu par PTY au lieu de démarrer une session Claude. À utiliser avec `--bg` pour lancer depuis le shell | `claude --bg --exec 'pytest -x'` |93| `--exec` | Exécuter une commande shell en tant que travail en arrière-plan soutenu par PTY au lieu de démarrer une session Claude. À utiliser avec `--bg` pour lancer depuis le shell | `claude --bg --exec 'pytest -x'` |

94| `--fallback-model` | Activer le basculement automatique vers le ou les modèles spécifiés lorsque le modèle principal est surchargé ou non disponible, par exemple un modèle retiré. Accepte une liste séparée par des virgules essayée dans l'ordre. Voir [Chaînes de modèles de secours](/docs/fr/model-config#fallback-model-chains). Pour conserver une chaîne entre les sessions, utilisez le paramètre [`fallbackModel`](/docs/fr/settings-reference#fallbackmodel), que ce drapeau remplace | `claude --fallback-model sonnet,haiku` |94| `--fallback-model` | Activer le basculement automatique vers le ou les modèles spécifiés lorsque le modèle principal est surchargé ou non disponible, par exemple un modèle retiré. Accepte une liste séparée par des virgules essayée dans l'ordre. Voir [Chaînes de modèles de secours](/docs/fr/model-config#fallback-model-chains). Pour conserver une chaîne entre les sessions, utilisez le paramètre [`fallbackModel`](/docs/fr/settings-reference#fallbackmodel), que ce drapeau remplace | `claude --fallback-model sonnet,haiku` |

95| `--fork-session` | Lors de la reprise, créer un nouvel ID de session au lieu de réutiliser l'original (à utiliser avec `--resume` ou `--continue`) | `claude --resume abc123 --fork-session` |95| `--fork-session` | Lors de la reprise, créer un nouvel ID de session au lieu de réutiliser l'original (à utiliser avec `--resume` ou `--continue`) | `claude --resume abc123 --fork-session` |

96| `--forward-subagent-text` | Émettre les blocs de texte et de réflexion des [subagents](/docs/fr/sub-agents) dans le flux de sortie en tant que messages `assistant` et `user` avec `parent_tool_use_id` défini, afin que vous puissiez reconstruire la transcription de chaque subagent. Sans ce drapeau, Claude Code omet le texte et les blocs de réflexion d'un subagent qui s'exécute en [avant-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background). Nécessite `--print` et `--output-format stream-json`. Claude Code transfère également les messages des [subagents imbriqués](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents), en définissant `parent_tool_use_id` sur l'ID de l'appel de l'outil Agent qui a généré chacun ; cela nécessite Claude Code v2.1.219 ou ultérieur. La variable d'environnement [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/fr/env-vars) active le même comportement. Nécessite Claude Code v2.1.211 ou ultérieur | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |96| `--forward-subagent-text` | Émettre les blocs de texte et de réflexion des [subagents](/docs/fr/sub-agents) dans le flux de sortie en tant que messages `assistant` et `user` avec `parent_tool_use_id` défini, afin que vous puissiez reconstruire la transcription de chaque subagent. Sans ce drapeau, Claude Code omet le texte et les blocs de réflexion d'un subagent qui s'exécute en [avant-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background). Nécessite `--print` et `--output-format stream-json`. Claude Code transfère également les messages des [subagents imbriqués](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents), en définissant `parent_tool_use_id` sur l'ID de l'appel de l'outil Agent ou Skill qui a généré chacun ; cela nécessite Claude Code v2.1.219 ou ultérieur, et les messages des subagents qu'une skill forquée génère, et des skills forquées imbriquées, nécessitent v2.1.275 ou ultérieur. La variable d'environnement [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/fr/env-vars) active le même comportement. Nécessite Claude Code v2.1.211 ou ultérieur | `claude -p --output-format stream-json --verbose --forward-subagent-text "query"` |

97| `--from-pr` | Ouvrir le sélecteur de session filtré aux sessions liées à une demande de tirage spécifique. Accepte un numéro de PR, une URL GitHub ou GitHub Enterprise PR, une URL de demande de fusion GitLab, ou une URL de demande de tirage Bitbucket. Les sessions sont automatiquement liées lorsque Claude crée la demande de tirage | `claude --from-pr 123` |97| `--from-pr` | Ouvrir le sélecteur de session filtré aux sessions liées à une demande de tirage spécifique. Accepte un numéro de PR, une URL GitHub ou GitHub Enterprise PR, une URL de demande de fusion GitLab, ou une URL de demande de tirage Bitbucket. Les sessions sont automatiquement liées lorsque Claude crée la demande de tirage | `claude --from-pr 123` |

98| `--ide` | Se connecter automatiquement à l'IDE au démarrage s'il y a exactement un IDE valide disponible | `claude --ide` |98| `--ide` | Se connecter automatiquement à l'IDE au démarrage s'il y a exactement un IDE valide disponible | `claude --ide` |

99| `--init` | Exécuter les hooks d'[initialisation](/docs/fr/hooks#setup) avec le matcher `init` avant la session (mode impression uniquement) | `claude -p --init "query"` |99| `--init` | Exécuter les hooks d'[initialisation](/docs/fr/hooks#setup) avec le matcher `init` avant la session (mode impression uniquement) | `claude -p --init "query"` |


103| `--input-format` | Spécifier le format d'entrée pour le mode impression (options : `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |103| `--input-format` | Spécifier le format d'entrée pour le mode impression (options : `text`, `stream-json`) | `claude -p --output-format json --input-format stream-json` |

104| `--json-schema` | Obtenir une sortie JSON validée correspondant à un JSON Schema après que l'agent ait terminé son flux de travail (mode impression uniquement). Voir [structured outputs](/docs/fr/agent-sdk/structured-outputs). Claude Code quitte avec une erreur sur un schéma invalide et accepte le mot-clé `format` comme annotation sans validation côté client | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |104| `--json-schema` | Obtenir une sortie JSON validée correspondant à un JSON Schema après que l'agent ait terminé son flux de travail (mode impression uniquement). Voir [structured outputs](/docs/fr/agent-sdk/structured-outputs). Claude Code quitte avec une erreur sur un schéma invalide et accepte le mot-clé `format` comme annotation sans validation côté client | `claude -p --json-schema '{"type":"object","properties":{...}}' "query"` |

105| `--maintenance` | Exécuter les hooks d'[initialisation](/docs/fr/hooks#setup) avec le matcher `maintenance` avant la session (mode impression uniquement) | `claude -p --maintenance "query"` |105| `--maintenance` | Exécuter les hooks d'[initialisation](/docs/fr/hooks#setup) avec le matcher `maintenance` avant la session (mode impression uniquement) | `claude -p --maintenance "query"` |

106| `--max-budget-usd` | Montant en dollars maximum à dépenser pour les appels API avant d'arrêter (mode impression uniquement). Les dépenses des [subagents](/docs/fr/sub-agents) comptent vers le plafond. Une fois que les dépenses atteignent le plafond, générer un autre subagent échoue avec `Budget limit reached`, et Claude Code arrête les subagents en arrière-plan qui s'exécutent toujours ; les comportements d'application du plafond nécessitent Claude Code v2.1.217 ou ultérieur | `claude -p --max-budget-usd 5.00 "query"` |106| `--max-budget-usd` | Montant en dollars maximum à dépenser pour les appels API avant d'arrêter (mode impression uniquement). Les dépenses des [subagents](/docs/fr/sub-agents) comptent vers le plafond. Lorsque vous revenez à une conversation avec `--continue` ou `--resume`, les totaux [restaurés à partir des exécutions antérieures](/docs/fr/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls) ne comptent pas vers celui-ci. Une fois que les dépenses atteignent le plafond, générer un autre subagent échoue avec `Budget limit reached`, et Claude Code arrête les subagents en arrière-plan qui s'exécutent toujours ; les comportements d'application du plafond nécessitent Claude Code v2.1.217 ou ultérieur | `claude -p --max-budget-usd 5.00 "query"` |

107| `--max-turns` | Limiter le nombre de tours d'agent (mode impression uniquement). Quitte avec une erreur lorsque la limite est atteinte. Pas de limite par défaut. Avec `--input-format stream-json`, un message toujours en file d'attente lorsque la limite termine un tour reste en file d'attente et démarre un nouveau tour avec sa propre limite | `claude -p --max-turns 3 "query"` |107| `--max-turns` | Limiter le nombre de tours d'agent (mode impression uniquement). Quitte avec une erreur lorsque la limite est atteinte. Pas de limite par défaut. Avec `--input-format stream-json`, un message toujours en file d'attente lorsque la limite termine un tour reste en file d'attente et démarre un nouveau tour avec sa propre limite | `claude -p --max-turns 3 "query"` |

108| `--mcp-config` | Charger les serveurs MCP à partir de fichiers ou de chaînes JSON (séparés par des espaces). Lorsque vous transmettez ce drapeau avec `-p`, Claude Code attend que les serveurs toujours en attente se connectent avant d'exécuter le premier tour, jusqu'au délai d'expiration de démarrage [`MCP_TIMEOUT`](/docs/fr/env-vars), 30 secondes par défaut ; un serveur avec une [liste d'outils mise en cache](/docs/fr/mcp#managing-your-servers) ignore l'attente et se connecte à la première utilisation. L'attente nécessite Claude Code v2.1.221 ou ultérieur | `claude --mcp-config ./mcp.json` |108| `--mcp-config` | Charger les serveurs MCP à partir de fichiers ou de chaînes JSON (séparés par des espaces). Lorsque vous transmettez ce drapeau avec `-p`, Claude Code attend que les serveurs toujours en attente se connectent avant d'exécuter le premier tour, jusqu'au délai d'expiration de démarrage [`MCP_TIMEOUT`](/docs/fr/env-vars), 30 secondes par défaut ; un serveur avec une [liste d'outils mise en cache](/docs/fr/mcp#managing-your-servers) ignore l'attente et se connecte à la première utilisation. L'attente nécessite Claude Code v2.1.221 ou ultérieur | `claude --mcp-config ./mcp.json` |

109| `--model` | Définit le modèle pour la session actuelle avec un [alias de modèle](/docs/fr/model-config#model-aliases) tel que `sonnet`, `opus`, `haiku`, ou `fable`, ou le nom complet d'un modèle. Remplace le paramètre [`model`](/docs/fr/settings-reference#model) et [`ANTHROPIC_MODEL`](/docs/fr/model-config#environment-variables) | `claude --model claude-sonnet-5` |109| `--model` | Définit le modèle pour la session actuelle avec un [alias de modèle](/docs/fr/model-config#model-aliases) tel que `sonnet`, `opus`, `haiku`, ou `fable`, ou le nom complet d'un modèle. Remplace le paramètre [`model`](/docs/fr/settings-reference#model) et [`ANTHROPIC_MODEL`](/docs/fr/model-config#environment-variables) | `claude --model claude-sonnet-5` |


157 157 

158`--system-prompt` et `--system-prompt-file` s'excluent mutuellement. Les drapeaux d'ajout peuvent être combinés avec l'un ou l'autre drapeau de remplacement.158`--system-prompt` et `--system-prompt-file` s'excluent mutuellement. Les drapeaux d'ajout peuvent être combinés avec l'un ou l'autre drapeau de remplacement.

159 159 

160Lorsque le texte de remplacement combine des instructions qui sont les mêmes à chaque exécution avec un contexte qui change par exécution, ajoutez une ligne contenant uniquement `__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__` entre les instructions et le contexte. Claude Code divise l'invite à la première telle ligne et supprime cette ligne, de sorte que la partie au-dessus reste mise en cache tandis que la partie au-dessous change. Nécessite Claude Code v2.1.275 ou ultérieur. [Mettre en cache la partie statique d'une invite personnalisée](/docs/fr/agent-sdk/modifying-system-prompts#cache-the-static-part-of-a-custom-prompt) répertorie les configurations où la division s'applique.

161 

160Choisissez en fonction de la question de savoir si l'identité par défaut de Claude Code convient toujours à votre tâche. Utilisez un drapeau d'ajout lorsque Claude doit rester un assistant de codage qui suit également vos règles supplémentaires : instructions par invocation, formatage de sortie, ou contexte de domaine pour un script `-p`. L'ajout préserve les conseils d'outils par défaut, les instructions de sécurité et les conventions de codage, vous ne fournissez donc que ce qui diffère. Utilisez un drapeau de remplacement lorsque la surface, l'identité ou le modèle de permission diffère de celui de Claude Code, comme un agent non-codage dans un pipeline qu'aucun humain ne regarde. Le remplacement supprime l'intégralité de l'invite par défaut, y compris les conseils d'outils et les instructions de sécurité, vous êtes donc responsable de tout ce que votre tâche nécessite toujours.162Choisissez en fonction de la question de savoir si l'identité par défaut de Claude Code convient toujours à votre tâche. Utilisez un drapeau d'ajout lorsque Claude doit rester un assistant de codage qui suit également vos règles supplémentaires : instructions par invocation, formatage de sortie, ou contexte de domaine pour un script `-p`. L'ajout préserve les conseils d'outils par défaut, les instructions de sécurité et les conventions de codage, vous ne fournissez donc que ce qui diffère. Utilisez un drapeau de remplacement lorsque la surface, l'identité ou le modèle de permission diffère de celui de Claude Code, comme un agent non-codage dans un pipeline qu'aucun humain ne regarde. Le remplacement supprime l'intégralité de l'invite par défaut, y compris les conseils d'outils et les instructions de sécurité, vous êtes donc responsable de tout ce que votre tâche nécessite toujours.

161 163 

162Pour les personas persistants que vous pouvez basculer et partager dans un projet, utilisez les [styles de sortie](/docs/fr/output-styles). Pour les conventions de projet que Claude doit toujours suivre, utilisez [CLAUDE.md](/docs/fr/memory). Le [guide du SDK Agent sur les invites système](/docs/fr/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) couvre la même décision plus en profondeur.164Pour les personas persistants que vous pouvez basculer et partager dans un projet, utilisez les [styles de sortie](/docs/fr/output-styles). Pour les conventions de projet que Claude doit toujours suivre, utilisez [CLAUDE.md](/docs/fr/memory). Le [guide du SDK Agent sur les invites système](/docs/fr/agent-sdk/modifying-system-prompts#decide-on-a-starting-point) couvre la même décision plus en profondeur.

Details

300| Vos serveurs MCP `.mcp.json` du dépôt | Oui, dans une session avec un seul dépôt | Partie du clone, trouvé à partir du répertoire de travail de la session |300| Vos serveurs MCP `.mcp.json` du dépôt | Oui, dans une session avec un seul dépôt | Partie du clone, trouvé à partir du répertoire de travail de la session |

301| Votre `.claude/rules/` du dépôt | Oui | Partie du clone |301| Votre `.claude/rules/` du dépôt | Oui | Partie du clone |

302| Votre `.claude/skills/`, `.claude/agents/`, `.claude/commands/` du dépôt | Oui | Partie du clone |302| Votre `.claude/skills/`, `.claude/agents/`, `.claude/commands/` du dépôt | Oui | Partie du clone |

303| Plugins déclarés dans `.claude/settings.json` | Oui | Installés au démarrage de la session à partir de la [place de marché](/docs/fr/plugin-marketplaces) que vous avez déclarée. Nécessite un accès réseau pour atteindre la source de la place de marché |303| Plugins et places de marché déclarés dans le `.claude/settings.json` de votre dépôt | Non | Une session cloud n'installe pas les plugins qu'un dépôt active sous [`enabledPlugins`](/docs/fr/settings-reference#enabledplugins), y compris ceux des places de marché qu'il liste sous [`extraKnownMarketplaces`](/docs/fr/settings-reference#extraknownmarketplaces). Activez le plugin pour votre compte claude.ai à la place, afin que Claude Code le charge en tant que [plugin synchronisé](/docs/fr/plugins-reference#synced-plugins) |

304| Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation | Oui | Récupérés des serveurs d'Anthropic quand la session démarre. Consultez [Couverture de surface](/docs/fr/model-config#surface-coverage) pour savoir comment `availableModels` est appliqué dans les sessions cloud. Les paramètres déployés sur votre appareil via MDM ou des fichiers de paramètres gérés ne s'appliquent pas, car la session s'exécute sur une VM gérée par Anthropic ; dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments), les sessions lisent également le fichier de paramètres gérés dans l'image d'exécuteur, selon [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) |304| Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation | Oui | Récupérés des serveurs d'Anthropic quand la session démarre. Consultez [Couverture de surface](/docs/fr/model-config#surface-coverage) pour savoir comment `availableModels` est appliqué dans les sessions cloud. Les paramètres déployés sur votre appareil via MDM ou des fichiers de paramètres gérés ne s'appliquent pas, car la session s'exécute sur une VM gérée par Anthropic ; dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments), les sessions lisent également le fichier de paramètres gérés dans l'image d'exécuteur, selon [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) |

305| Votre `~/.claude/CLAUDE.md` utilisateur | Non | Vit sur votre machine, pas dans le dépôt |305| Votre `~/.claude/CLAUDE.md` utilisateur | Non | Vit sur votre machine, pas dans le dépôt |

306| Vos `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` utilisateur | Non | Vivent sur votre machine, pas dans le dépôt. Validez-les dans le répertoire `.claude/` du dépôt à la place. Les sessions cloud chargent automatiquement les compétences que vous activez sur claude.ai |306| Vos `~/.claude/skills/`, `~/.claude/agents/`, `~/.claude/commands/` utilisateur | Non | Vivent sur votre machine, pas dans le dépôt. Validez-les dans le répertoire `.claude/` du dépôt à la place. Les sessions cloud chargent automatiquement les compétences que vous activez sur claude.ai |

307| Plugins activés seulement dans vos paramètres utilisateur | Non | L'`enabledPlugins` au niveau utilisateur vit dans `~/.claude/settings.json`. Déclarez-les dans le `.claude/settings.json` du dépôt à la place, ou activez-les pour votre compte claude.ai afin que Claude Code les charge en tant que [plugins synchronisés](/docs/fr/plugins-reference#synced-plugins) |307| Plugins activés seulement dans vos paramètres utilisateur | Non | L'`enabledPlugins` au niveau utilisateur vit dans `~/.claude/settings.json` sur votre machine. Activez-les pour votre compte claude.ai à la place, afin que Claude Code les charge en tant que [plugins synchronisés](/docs/fr/plugins-reference#synced-plugins) |

308| Serveurs MCP que vous avez ajoutés avec `claude mcp add` à la portée locale par défaut ou à la portée utilisateur | Non | Ceux-ci écrivent dans `~/.claude.json` sur votre machine, pas le dépôt. Ajoutez le serveur avec `claude mcp add --scope project`, qui écrit le [`.mcp.json`](/docs/fr/mcp#project-scope) du dépôt, et validez ce fichier. Une session avec un seul dépôt le charge |308| Serveurs MCP que vous avez ajoutés avec `claude mcp add` à la portée locale par défaut ou à la portée utilisateur | Non | Ceux-ci écrivent dans `~/.claude.json` sur votre machine, pas le dépôt. Ajoutez le serveur avec `claude mcp add --scope project`, qui écrit le [`.mcp.json`](/docs/fr/mcp#project-scope) du dépôt, et validez ce fichier. Une session avec un seul dépôt le charge |

309| Variables de transport dans le bloc `env` de `.claude/settings.json` de votre dépôt, comme `NODE_EXTRA_CA_CERTS` et les [variables de certificat client mTLS](/docs/fr/network-config#mtls-authentication) | Non | L'environnement d'hébergement gère la connexion API de la session, donc Claude Code ignore ces clés et note chaque clé ignorée dans le journal de débogage de la session |309| Variables de transport dans le bloc `env` de `.claude/settings.json` de votre dépôt, comme `NODE_EXTRA_CA_CERTS` et les [variables de certificat client mTLS](/docs/fr/network-config#mtls-authentication) | Non | L'environnement d'hébergement gère la connexion API de la session, donc Claude Code ignore ces clés et note chaque clé ignorée dans le journal de débogage de la session |

310| Clés API et jetons pour les services que Claude appelle | Sur les plans Pro et Max, en tant qu'[identifiants API](#add-api-credentials) | Vous ajoutez la clé une fois sur l'environnement et le proxy d'agent la joint aux requêtes pour les hôtes que vous listez. Une clé que le proxy d'agent [ne peut pas joindre](#requests-that-never-get-the-credential), ou n'importe quelle clé sur un plan Team ou Enterprise, reste dans une variable d'environnement |310| Clés API et jetons pour les services que Claude appelle | Sur les plans Pro et Max, en tant qu'[identifiants API](#add-api-credentials) | Vous ajoutez la clé une fois sur l'environnement et le proxy d'agent la joint aux requêtes pour les hôtes que vous listez. Une clé que le proxy d'agent [ne peut pas joindre](#requests-that-never-get-the-credential), ou n'importe quelle clé sur un plan Team ou Enterprise, reste dans une variable d'environnement |

commands.md +5 −4

Details

26 26 

27**Exécuter le travail en parallèle.** Claude délègue les tâches secondaires aux [sous-agents](/docs/fr/sub-agents), et `/tasks` répertorie le travail en arrière-plan de la session actuelle, y compris les sous-agents qui ont terminé. `/background` détache la session entière pour continuer à s'exécuter en tant qu'[agent en arrière-plan](/docs/fr/agent-view) et libère votre terminal. Pour une modification importante qui s'étend sur la base de code, `/batch` la décompose en unités indépendantes et exécute chacune dans son propre [worktree](/docs/fr/worktrees). Consultez [Exécuter les agents en parallèle](/docs/fr/agents) pour comprendre comment ces approches se rapportent.27**Exécuter le travail en parallèle.** Claude délègue les tâches secondaires aux [sous-agents](/docs/fr/sub-agents), et `/tasks` répertorie le travail en arrière-plan de la session actuelle, y compris les sous-agents qui ont terminé. `/background` détache la session entière pour continuer à s'exécuter en tant qu'[agent en arrière-plan](/docs/fr/agent-view) et libère votre terminal. Pour une modification importante qui s'étend sur la base de code, `/batch` la décompose en unités indépendantes et exécute chacune dans son propre [worktree](/docs/fr/worktrees). Consultez [Exécuter les agents en parallèle](/docs/fr/agents) pour comprendre comment ces approches se rapportent.

28 28 

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

30 30 

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

32 32 


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

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

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

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

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

74| `/compact [instructions]` | Libérer du contexte en résumant la conversation jusqu'à présent. Passez éventuellement des instructions de focus pour le résumé. Consultez [comment la compaction gère les règles, les compétences et les fichiers de mémoire](/docs/fr/context-window#what-survives-compaction) |74| `/compact [instructions]` | Libérer du contexte en résumant la conversation jusqu'à présent. Passez éventuellement des instructions de focus pour le résumé. Consultez [comment la compaction gère les règles, les compétences et les fichiers de mémoire](/docs/fr/context-window#what-survives-compaction) |

75| `/config [key=value ...]` | Ouvrir l'interface [Paramètres](/docs/fr/settings) pour ajuster le thème, le modèle, [le style de sortie](/docs/fr/output-styles), et d'autres préférences. Passez une ou plusieurs paires `key=value` pour définir un paramètre directement sans ouvrir l'interface, par exemple `/config thinking=false`, `/config theme=dark`, ou `/config model=sonnet`. Le formulaire `key=value` fonctionne également en mode non interactif (`-p`) et à partir de l'application mobile Claude via [Remote Control](/docs/fr/remote-control). Le formulaire `key=value` ne peut pas activer un paramètre qui nécessite votre confirmation dans le panneau, tel que [`autoContinueAtUsageLimit`](/docs/fr/interactive-mode#turn-automatic-continue-off), bien qu'il puisse en désactiver un. Exécutez `/config --help` pour répertorier les clés qu'il accepte. Alias : `/settings` |75| `/config [key=value ...]` | Ouvrir l'interface [Paramètres](/docs/fr/settings) pour ajuster le thème, le modèle, [le style de sortie](/docs/fr/output-styles), et d'autres préférences. Passez une ou plusieurs paires `key=value` pour définir un paramètre directement sans ouvrir l'interface, par exemple `/config thinking=false`, `/config theme=dark`, ou `/config model=sonnet`. Le formulaire `key=value` fonctionne également en mode non interactif (`-p`) et à partir de l'application mobile Claude via [Remote Control](/docs/fr/remote-control). Le formulaire `key=value` ne peut pas activer un paramètre qui nécessite votre confirmation dans le panneau, tel que [`autoContinueAtUsageLimit`](/docs/fr/interactive-mode#turn-automatic-continue-off), bien qu'il puisse en désactiver un. Exécutez `/config --help` pour répertorier les clés qu'il accepte. Alias : `/settings` |


85| `/desktop` | Continuer la session actuelle dans l'application Claude Code Desktop. Nécessite macOS ou Windows x64 et un abonnement Claude. Alias : `/app` |85| `/desktop` | Continuer la session actuelle dans l'application Claude Code Desktop. Nécessite macOS ou Windows x64 et un abonnement Claude. Alias : `/app` |

86| `/diff` | Examiner les modifications dans votre arborescence de travail, y compris les modifications que Claude a apportées jusqu'à présent. Consultez [Examiner les modifications avec /diff](/docs/fr/interactive-mode#review-changes-with-%2Fdiff) |86| `/diff` | Examiner les modifications dans votre arborescence de travail, y compris les modifications que Claude a apportées jusqu'à présent. Consultez [Examiner les modifications avec /diff](/docs/fr/interactive-mode#review-changes-with-%2Fdiff) |

87| `/doctor` | **[Skill](/docs/fr/skills#bundled-skills).** Exécuter une vérification de configuration qui diagnostique les problèmes et peut les corriger. Vérifie la santé de l'installation, y compris les installations en double ou résiduelles, les problèmes de `PATH`, et les fichiers de paramètres non analysables. Trouve les compétences, serveurs MCP et plugins inutilisés par rapport à leur coût de contexte, signale les [hooks](/docs/fr/hooks) lents, et vérifie une version plus récente sur votre [canal de version](/docs/fr/setup#configure-release-channel). Déduplique les fichiers `CLAUDE.md` locaux par rapport aux fichiers archivés, réduit les fichiers [`CLAUDE.md`](/docs/fr/memory#my-claude-md-is-too-large) archivés en coupant le contenu que Claude pourrait dériver de la base de code, et migre les conseils toujours chargés qui restent dans les [compétences](/docs/fr/skills) et les fichiers `CLAUDE.md` imbriqués qui se chargent à la demande. Offre également de faire du [mode auto](/docs/fr/permissions#permission-modes) votre défaut et de [pré-approuver](/docs/fr/permissions) les commandes en lecture seule fréquemment refusées. Signale d'abord les résultats et demande une confirmation avant de modifier quoi que ce soit. À partir du terminal, `claude doctor` affiche les diagnostics d'installation en lecture seule sans démarrer une session. Alias : `/checkup`. La vérification de réduction `CLAUDE.md` nécessite Claude Code v2.1.206 ou ultérieur. Avant la v2.1.205, `/doctor` ouvrait un écran de diagnostics en lecture seule et appuyer sur `f` envoyait le rapport à Claude |87| `/doctor` | **[Skill](/docs/fr/skills#bundled-skills).** Exécuter une vérification de configuration qui diagnostique les problèmes et peut les corriger. Vérifie la santé de l'installation, y compris les installations en double ou résiduelles, les problèmes de `PATH`, et les fichiers de paramètres non analysables. Trouve les compétences, serveurs MCP et plugins inutilisés par rapport à leur coût de contexte, signale les [hooks](/docs/fr/hooks) lents, et vérifie une version plus récente sur votre [canal de version](/docs/fr/setup#configure-release-channel). Déduplique les fichiers `CLAUDE.md` locaux par rapport aux fichiers archivés, réduit les fichiers [`CLAUDE.md`](/docs/fr/memory#my-claude-md-is-too-large) archivés en coupant le contenu que Claude pourrait dériver de la base de code, et migre les conseils toujours chargés qui restent dans les [compétences](/docs/fr/skills) et les fichiers `CLAUDE.md` imbriqués qui se chargent à la demande. Offre également de faire du [mode auto](/docs/fr/permissions#permission-modes) votre défaut et de [pré-approuver](/docs/fr/permissions) les commandes en lecture seule fréquemment refusées. Signale d'abord les résultats et demande une confirmation avant de modifier quoi que ce soit. À partir du terminal, `claude doctor` affiche les diagnostics d'installation en lecture seule sans démarrer une session. Alias : `/checkup`. La vérification de réduction `CLAUDE.md` nécessite Claude Code v2.1.206 ou ultérieur. Avant la v2.1.205, `/doctor` ouvrait un écran de diagnostics en lecture seule et appuyer sur `f` envoyait le rapport à Claude |

88| `/effort [level\|auto\|status]` | Définir le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) : `low` à `xhigh`, `max`, [`ultracode`](/docs/fr/workflows#let-claude-decide-with-ultracode), ou `auto` ; `status` l'affiche. `max` et `ultracode` sont réservés à la session ; la clé [`ultracode`](/docs/fr/settings-reference#ultracode) persiste. L'exécuter pendant que Claude répond et, une fois que vous confirmez l'[avertissement de cache](/docs/fr/prompt-caching#changing-effort-level), si Claude Code en affiche un, Claude Code applique le nouveau niveau à la demande suivante dans ce tour. Avant la v2.1.242, Claude Code a décidé à partir d'un drapeau de fonctionnalité qu'il a récupéré d'Anthropic s'il fallait exécuter la commande en milieu de tour ou la mettre en file d'attente jusqu'à la fin du tour, et l'a toujours mise en file d'attente dans une session qui ne [récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme sur un [fournisseur tiers](/docs/fr/third-party-integrations). Fonctionne en `-p` en dehors de la [retenue d'effort](/docs/fr/model-config#adjust-effort-level) |88| `/effort [level\|auto\|status]` | Définir le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) : `low` à `xhigh`, `max`, [`ultracode`](/docs/fr/workflows#let-claude-decide-with-ultracode), ou `auto` ; `status` l'affiche. `max` et `ultracode` sont réservés à la session ; la clé [`ultracode`](/docs/fr/settings-reference#ultracode) persiste. L'exécuter pendant que Claude répond et, une fois que vous confirmez l'[avertissement de cache](/docs/fr/prompt-caching#changing-effort-level), si Claude Code en affiche un, Claude Code applique le nouveau niveau à la demande suivante dans ce tour. Avant la v2.1.242, Claude Code a décidé à partir d'un drapeau de fonctionnalité qu'il a récupéré d'Anthropic s'il fallait exécuter la commande en milieu de tour ou la mettre en file d'attente jusqu'à la fin du tour, et l'a toujours mise en file d'attente dans une session qui ne [récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme sur un [fournisseur tiers](/docs/fr/third-party-integrations). Fonctionne en `-p` |

89| `/exit` | Quitter l'interface de ligne de commande. Dans une [session en arrière-plan](/docs/fr/agent-view#attach-to-a-session) attachée, cela se détache et la session continue de s'exécuter. Alias : `/quit` |89| `/exit` | Quitter l'interface de ligne de commande. Dans une [session en arrière-plan](/docs/fr/agent-view#attach-to-a-session) attachée, cela se détache et la session continue de s'exécuter. Alias : `/quit` |

90| `/export [filename]` | Exporter la conversation actuelle en texte brut. Avec un nom de fichier, écrit directement dans ce fichier. Sans, ouvre une boîte de dialogue pour copier dans le presse-papiers ou enregistrer dans un fichier |90| `/export [filename]` | Exporter la conversation actuelle en texte brut. Avec un nom de fichier, écrit directement dans ce fichier. Sans, ouvre une boîte de dialogue pour copier dans le presse-papiers ou enregistrer dans un fichier |

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


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

157| `/tui [default\|fullscreen]` | Définir le moteur de rendu de l'interface utilisateur du terminal et relancer dedans avec votre conversation intacte. `fullscreen` active le [moteur de rendu alt-screen sans scintillement](/docs/fr/fullscreen). Sans argument, affiche le moteur de rendu actif |157| `/tui [default\|fullscreen]` | Définir le moteur de rendu de l'interface utilisateur du terminal et relancer dedans avec votre conversation intacte. `fullscreen` active le [moteur de rendu alt-screen sans scintillement](/docs/fr/fullscreen). Sans argument, affiche le moteur de rendu actif |

158| `/ultraplan <prompt>` | Supprimé. Utilisez le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) à la place. Auparavant, envoyait une tâche de planification à une session [Claude Code sur le web](/docs/fr/claude-code-on-the-web) pour examen dans votre navigateur |158| `/ultraplan <prompt>` | Supprimé. Utilisez le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) à la place. Auparavant, envoyait une tâche de planification à une session [Claude Code sur le web](/docs/fr/claude-code-on-the-web) pour examen dans votre navigateur |

159| `/ultrareview [PR or branch]` | Exécuter un examen de code approfondi et multi-agents dans un sandbox cloud avec [ultrareview](/docs/fr/ultrareview). Passez une référence de demande de fusion pour examiner cette demande de fusion, ou un nom de branche pour modifier la base de comparaison. L'invocation préférée est maintenant `/code-review ultra`, et `/ultrareview` reste comme alias. Inclut 3 exécutions gratuites sur Pro et Max, puis nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |159| `/ultrareview [PR or branch]` | Exécuter un examen de code approfondi et multi-agents dans un sandbox cloud avec [ultrareview](/docs/fr/ultrareview). Passez une référence de demande de fusion pour examiner cette demande de fusion, ou une branche de base ou un commit pour modifier la base de comparaison. L'invocation préférée est `/code-review ultra`, et `/ultrareview` est un alias. Inclut 3 exécutions gratuites sur Pro et Max, puis nécessite des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) |

160| `/update-config [request]` | **[Skill](/docs/fr/skills#bundled-skills).** Décrivez une modification des paramètres, telle que l'autorisation d'une commande, la définition d'une variable d'environnement, ou l'ajout d'un [hook](/docs/fr/hooks), et Claude modifie le fichier [`settings.json`](/docs/fr/settings) correspondant. Pour les options telles que le thème et le modèle, utilisez `/config` à la place |

160| `/upgrade` | Ouvrir la page de mise à niveau dans votre navigateur pour passer à un niveau de plan supérieur. Lorsque le navigateur ne s'ouvre pas, la commande affiche une invite de connexion sans afficher l'URL |161| `/upgrade` | Ouvrir la page de mise à niveau dans votre navigateur pour passer à un niveau de plan supérieur. Lorsque le navigateur ne s'ouvre pas, la commande affiche une invite de connexion sans afficher l'URL |

161| `/usage` | Afficher le coût de la session, les limites d'utilisation du plan et les statistiques d'activité. Sur un plan Pro, Max, Team ou Entreprise, inclut une [ventilation de ce qui compte contre vos limites de plan](/docs/fr/costs#plan-usage-breakdown). `/cost` et `/stats` sont des alias |162| `/usage` | Afficher le coût de la session, les limites d'utilisation du plan et les statistiques d'activité. Sur un plan Pro, Max, Team ou Entreprise, inclut une [ventilation de ce qui compte contre vos limites de plan](/docs/fr/costs#plan-usage-breakdown). `/cost` et `/stats` sont des alias |

162| `/usage-credits` | Configurer les crédits d'utilisation, ou les demander à votre administrateur, lorsque vous atteignez une limite. Ouvre vos [paramètres de facturation des crédits d'utilisation](/docs/fr/costs#add-usage-credits-to-your-subscription) dans le navigateur, sauf que les membres de l'équipe et de l'entreprise sans accès à la facturation envoient plutôt une demande de crédits d'utilisation à leur administrateur à partir de l'interface de ligne de commande, après confirmation dans une boîte de dialogue que la demande notifie leurs administrateurs. Lorsqu'aucun navigateur ne peut ouvrir la page de facturation, par exemple sur SSH, la commande affiche l'URL à visiter à la place ; cela nécessite Claude Code v2.1.205 ou ultérieur, et les versions antérieures n'affichaient rien dans ce cas. Auparavant `/extra-usage` |163| `/usage-credits` | Configurer les crédits d'utilisation, ou les demander à votre administrateur, lorsque vous atteignez une limite. Ouvre vos [paramètres de facturation des crédits d'utilisation](/docs/fr/costs#add-usage-credits-to-your-subscription) dans le navigateur, sauf que les membres de l'équipe et de l'entreprise sans accès à la facturation envoient plutôt une demande de crédits d'utilisation à leur administrateur à partir de l'interface de ligne de commande, après confirmation dans une boîte de dialogue que la demande notifie leurs administrateurs. Lorsqu'aucun navigateur ne peut ouvrir la page de facturation, par exemple sur SSH, la commande affiche l'URL à visiter à la place ; cela nécessite Claude Code v2.1.205 ou ultérieur, et les versions antérieures n'affichaient rien dans ce cas. Auparavant `/extra-usage` |

Details

102 📚 Démarrage rapide · VS Code · Cours gratuit d'1 heure102 📚 Démarrage rapide · VS Code · Cours gratuit d'1 heure

103 https://code.claude.com/docs/fr/quickstart103 https://code.claude.com/docs/fr/quickstart

104 https://code.claude.com/docs/fr/vs-code104 https://code.claude.com/docs/fr/vs-code

105 https://anthropic.skilljar.com/claude-code-in-action105 https://academy.claude.com/courses/claude-code-in-action

106 106 

107 Questions → ce fil. [Propriétaire] est en première ligne.107 Questions → ce fil. [Propriétaire] est en première ligne.

108 ```108 ```


228le formatage et les modifications mécaniques où la vitesse gagne. *Fable* est le modèle le plus228le formatage et les modifications mécaniques où la vitesse gagne. *Fable* est le modèle le plus

229capable pour vos tâches les plus difficiles et les plus longues ; ce n'est pas le229capable pour vos tâches les plus difficiles et les plus longues ; ce n'est pas le

230défaut, donc sélectionnez-le avec `/model fable`, et notez que le contenu de cybersécurité et230défaut, donc sélectionnez-le avec `/model fable`, et notez que le contenu de cybersécurité et

231de biologie revient automatiquement à Opus. Opus 5 exécute ses propres231de biologie revient automatiquement à Opus. Opus 5.5 et Opus 5 exécutent leurs propres

232vérifications, donc le contenu de cybersécurité signalé bascule les modèles et le contenu232vérifications aussi : le contenu signalé bascule vers un Opus antérieur, sauf

233de biologie signalé est refusé.233que le contenu de biologie signalé sur Opus 5 est refusé.

234 234 

235*Essayez maintenant :* tapez `/model` et choisissez Sonnet si vous ne l'avez pas déjà fait. C'est235*Essayez maintenant :* tapez `/model` et choisissez Sonnet si vous ne l'avez pas déjà fait. C'est

236le bon défaut pour la plupart des tâches.236le bon défaut pour la plupart des tâches.


239```239```

240 240 

241| Modèle | Meilleur pour |241| Modèle | Meilleur pour |

242| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |242| ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

243| Fable | Les tâches les plus difficiles et les plus longues. Opt-in uniquement : sélectionnez-le avec `/model fable`. Le contenu de cybersécurité ou de biologie déclenche [un basculement de modèle automatique vers Opus](/docs/fr/model-config#automatic-model-fallback) |243| Fable | Les tâches les plus difficiles et les plus longues. Opt-in uniquement : sélectionnez-le avec `/model fable`. Le contenu de cybersécurité ou de biologie déclenche [un basculement de modèle automatique vers Opus](/docs/fr/model-config#automatic-model-fallback) |

244| Opus | Refactorisations à grande échelle, débogage complexe, décisions architecturales, changements à enjeux élevés. Sur Opus 5, le contenu de cybersécurité ou de biologie déclenche [un basculement de modèle automatique ou un refus](/docs/fr/model-config#automatic-model-fallback) |244| Opus | Refactorisations à grande échelle, débogage complexe, décisions architecturales, changements à enjeux élevés. Sur Opus 5.5 et Opus 5, le contenu de cybersécurité ou de biologie déclenche [un basculement de modèle automatique ou un refus](/docs/fr/model-config#automatic-model-fallback) |

245| Sonnet | Travail de fonctionnalité quotidienne, corrections de bugs, tests, documentation, révision de code. Défaut recommandé. |245| Sonnet | Travail de fonctionnalité quotidienne, corrections de bugs, tests, documentation, révision de code. Défaut recommandé. |

246| Haiku | Questions rapides, formatage, modifications mécaniques, itération rapide |246| Haiku | Questions rapides, formatage, modifications mécaniques, itération rapide |

247 247 

Details

35 tokens: 280,35 tokens: 280,

36 color: '#6B6964',36 color: '#6B6964',

37 vis: 'hidden',37 vis: 'hidden',

38 desc: 'Working directory, platform, shell, OS version, and whether this is a git repo. Git branch, status, and recent commits load as a separate block at the very end of the system prompt.',38 desc: 'Working directory, platform, shell, OS version, and whether this is a git repo. Git branch, status, and recent commits load as a separate block.',

39 link: null39 link: null

40 }, {40 }, {

41 t: 0.08,41 t: 0.08,


1589* **Avant que vous ne tapiez quoi que ce soit** : CLAUDE.md, la mémoire automatique, les noms d'outils MCP, et les descriptions de compétences se chargent tous dans le contexte. [Les fichiers AGENTS.md](/docs/fr/memory#agents-md) peuvent également se charger, seuls ou aux côtés de CLAUDE.md. Votre propre configuration peut ajouter plus ici, comme un [style de sortie](/docs/fr/output-styles) ou du texte provenant de [`--append-system-prompt`](/docs/fr/cli-reference).1589* **Avant que vous ne tapiez quoi que ce soit** : CLAUDE.md, la mémoire automatique, les noms d'outils MCP, et les descriptions de compétences se chargent tous dans le contexte. [Les fichiers AGENTS.md](/docs/fr/memory#agents-md) peuvent également se charger, seuls ou aux côtés de CLAUDE.md. Votre propre configuration peut ajouter plus ici, comme un [style de sortie](/docs/fr/output-styles) ou du texte provenant de [`--append-system-prompt`](/docs/fr/cli-reference).

1590* **Pendant que Claude travaille** : chaque lecture de fichier s'ajoute au contexte, les [règles délimitées par chemin](/docs/fr/memory#path-specific-rules) se chargent automatiquement aux côtés des fichiers correspondants, et un [hook PostToolUse](/docs/fr/hooks-guide) s'exécute après chaque modification.1590* **Pendant que Claude travaille** : chaque lecture de fichier s'ajoute au contexte, les [règles délimitées par chemin](/docs/fr/memory#path-specific-rules) se chargent automatiquement aux côtés des fichiers correspondants, et un [hook PostToolUse](/docs/fr/hooks-guide) s'exécute après chaque modification.

1591* **L'invite de suivi** : un [sous-agent](/docs/fr/sub-agents) gère la recherche dans sa propre fenêtre de contexte séparée, de sorte que les lectures de fichiers volumineux restent en dehors de la vôtre. Seul le résumé et une petite remorque de métadonnées reviennent.1591* **L'invite de suivi** : un [sous-agent](/docs/fr/sub-agents) gère la recherche dans sa propre fenêtre de contexte séparée, de sorte que les lectures de fichiers volumineux restent en dehors de la vôtre. Seul le résumé et une petite remorque de métadonnées reviennent.

1592* **À la fin** : `/compact` remplace la conversation par un résumé structuré. La plupart du contenu de démarrage se recharge automatiquement ; le tableau ci-dessous montre ce qui se passe pour chaque mécanisme.1592* **À la fin de la présentation** : vous exécutez `/compact`, qui remplace la conversation par un résumé structuré. La plupart du contenu de démarrage se recharge automatiquement ; le tableau ci-dessous montre ce qui se passe pour chaque mécanisme.

1593 1593 

1594<h2 id="what-survives-compaction">1594<h2 id="what-survives-compaction">

1595 Ce qui survit à la compaction1595 Ce qui survit à la compaction


1602| Invite système et style de sortie | Les deux s'appliquent toujours |1602| Invite système et style de sortie | Les deux s'appliquent toujours |

1603| CLAUDE.md à la racine du projet et règles sans portée | Réinjectés depuis le disque |1603| CLAUDE.md à la racine du projet et règles sans portée | Réinjectés depuis le disque |

1604| Mémoire automatique | Réinjectés depuis le disque |1604| Mémoire automatique | Réinjectés depuis le disque |

1605| [Snapshot du statut Git](/docs/fr/settings-reference#includegitinstructions) | Claude Code en lit un nouveau depuis votre référentiel |

1605| Le plan que Claude a écrit en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) | Réinjecté depuis le disque |1606| Le plan que Claude a écrit en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) | Réinjecté depuis le disque |

1606| Règles avec frontmatter `paths:` | Claude Code les recharge au fur et à mesure que Claude lit les fichiers qu'elles correspondent |1607| Règles avec frontmatter `paths:` | Claude Code les recharge au fur et à mesure que Claude lit les fichiers qu'elles correspondent |

1607| CLAUDE.md imbriqué dans les sous-répertoires | Claude Code les recharge au fur et à mesure que Claude lit les fichiers de ce sous-répertoire |1608| CLAUDE.md imbriqué dans les sous-répertoires | Claude Code les recharge au fur et à mesure que Claude lit les fichiers de ce sous-répertoire |

costs.md +3 −3

Details

37 37 

38Ces totaux se réinitialisent quand `/clear` démarre une nouvelle session, donc le coût total de la session suivante recommence à \$0. Avant la v2.1.211, ils continuaient à s'accumuler sur `/clear` pendant la durée de vie du processus Claude Code.38Ces totaux se réinitialisent quand `/clear` démarre une nouvelle session, donc le coût total de la session suivante recommence à \$0. Avant la v2.1.211, ils continuaient à s'accumuler sur `/clear` pendant la durée de vie du processus Claude Code.

39 39 

40Pour une réponse de l'API Claude facturée au [taux de résidence des données](https://platform.claude.com/docs/en/about-claude/pricing#data-residency-pricing) 1,1×, Claude Code multiplie le prix catalogue des tokens de cette réponse par 1,1 dans le chiffre du coût de session. Claude Code rapporte le même total dans le [champ de coût de la ligne d'état](/docs/fr/statusline#cost-and-duration-tracking) et le compare avec [`--max-budget-usd`](/docs/fr/cli-reference#cli-flags). Avant la v2.1.239, Claude Code n'appliquait pas le 1,1× à ces réponses, donc le chiffre du coût de session était inférieur à la facture.40Pour une réponse de l'API Claude facturée au [taux de résidence des données](https://platform.claude.com/docs/en/about-claude/pricing#data-residency-pricing) 1,1×, Claude Code multiplie le prix catalogue des tokens de cette réponse par 1,1 dans le chiffre du coût de session. Le même total apparaît dans le [champ de coût de la ligne d'état](/docs/fr/statusline#cost-and-duration-tracking), et le chiffre multiplié compte également vers [`--max-budget-usd`](/docs/fr/cli-reference#cli-flags). Avant la v2.1.239, Claude Code n'appliquait pas le 1,1× à ces réponses, donc le chiffre du coût de session était inférieur à la facture.

41 41 

42<h4 id="prompt-cache-statistics">42<h4 id="prompt-cache-statistics">

43 Statistiques du cache de prompt43 Statistiques du cache de prompt


275 Choisir le bon modèle275 Choisir le bon modèle

276</h3>276</h3>

277 277 

278Sonnet gère bien la plupart des tâches de codage et coûte moins cher qu'Opus. Réservez Opus pour les décisions architecturales complexes ou le raisonnement multi-étapes. Utilisez `/model` pour changer de modèle en cours de session, ou définissez une valeur par défaut dans `/config`. Pour les tâches simples de subagent, spécifiez `model: haiku` dans votre [configuration de subagent](/docs/fr/sub-agents#choose-a-model).278Sonnet gère bien la plupart des tâches de codage et coûte moins cher qu'Opus. Réservez Opus pour les décisions architecturales complexes ou le raisonnement multi-étapes. Utilisez `/model` pour changer de modèle en cours de session, ou définissez une valeur par défaut dans `/config`. Un changement vers Opus s'applique également aux [subagents qui héritent du modèle de votre session](/docs/fr/model-config#setting-your-model). Pour les tâches simples de subagent, spécifiez `model: haiku` dans votre [configuration de subagent](/docs/fr/sub-agents#choose-a-model).

279 279 

280<h3 id="reduce-mcp-server-overhead">280<h3 id="reduce-mcp-server-overhead">

281 Réduire la surcharge des serveurs MCP281 Réduire la surcharge des serveurs MCP


359 359 

360La réflexion étendue est activée par défaut car elle améliore considérablement les performances sur les tâches complexes de planification et de raisonnement. Les tokens de réflexion sont facturés comme des tokens de sortie, et le budget par défaut peut être des dizaines de milliers de tokens par requête selon le modèle.360La réflexion étendue est activée par défaut car elle améliore considérablement les performances sur les tâches complexes de planification et de raisonnement. Les tokens de réflexion sont facturés comme des tokens de sortie, et le budget par défaut peut être des dizaines de milliers de tokens par requête selon le modèle.

361 361 

362Pour les tâches plus simples où un raisonnement approfondi n'est pas nécessaire, vous pouvez réduire les coûts en abaissant le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) avec `/effort` ou dans `/model`, ou en désactivant la réflexion dans `/config`. Vous ne pouvez pas désactiver la réflexion sur les modèles Fable, qui utilisent toujours la réflexion étendue.362Pour les tâches plus simples où un raisonnement approfondi n'est pas nécessaire, vous pouvez réduire les coûts en abaissant le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) avec `/effort` ou dans `/model`, ou en désactivant la réflexion dans `/config`. Vous ne pouvez pas désactiver la réflexion sur les modèles Opus 5.5 ou les modèles Fable, qui utilisent toujours la réflexion étendue.

363 363 

364Sur les modèles avec un [budget de réflexion fixe](/docs/fr/model-config#adaptive-reasoning-and-fixed-thinking-budgets), vous pouvez également abaisser le budget en définissant la [variable d'environnement](/docs/fr/env-vars) `MAX_THINKING_TOKENS`, par exemple `MAX_THINKING_TOKENS=8000`. Les modèles de raisonnement adaptatif ignorent les budgets non nuls, donc utilisez plutôt les niveaux d'effort.364Sur les modèles avec un [budget de réflexion fixe](/docs/fr/model-config#adaptive-reasoning-and-fixed-thinking-budgets), vous pouvez également abaisser le budget en définissant la [variable d'environnement](/docs/fr/env-vars) `MAX_THINKING_TOKENS`, par exemple `MAX_THINKING_TOKENS=8000`. Les modèles de raisonnement adaptatif ignorent les budgets non nuls, donc utilisez plutôt les niveaux d'effort.

365 365 

desktop.md +2 −2

Details

508 508 

509Vous pouvez limiter les plugins à votre compte utilisateur, un projet spécifique ou local uniquement. Si votre organisation gère les plugins de manière centralisée, ces plugins sont disponibles dans les sessions de bureau de la même manière qu'ils le sont dans la CLI.509Vous pouvez limiter les plugins à votre compte utilisateur, un projet spécifique ou local uniquement. Si votre organisation gère les plugins de manière centralisée, ces plugins sont disponibles dans les sessions de bureau de la même manière qu'ils le sont dans la CLI.

510 510 

511Le navigateur de plugins n'est pas disponible dans les sessions cloud, et les plugins que vous installez à partir de l'application de bureau ne sont pas disponibles pour les sessions cloud. Pour utiliser un plugin dans une session cloud, soit déclarez-le dans le fichier `.claude/settings.json` du référentiel sous [`enabledPlugins`](/docs/fr/settings-reference#enabledplugins) pour que Claude Code [l'installe au démarrage de la session](/docs/fr/cloud-environments#what-carries-over-from-your-setup), soit activez-le pour votre compte claude.ai pour que Claude Code le charge en tant que [plugin synchronisé](/docs/fr/plugins-reference#synced-plugins). Les plugins ne sont pas disponibles dans les sessions WSL. Pour la référence complète des plugins, y compris la création de vos propres plugins, voir [plugins](/docs/fr/plugins).511Le navigateur de plugins n'est pas disponible dans les sessions cloud, et les plugins que vous installez à partir de l'application de bureau ne sont pas disponibles pour les sessions cloud. Une session cloud n'installe pas non plus les plugins que le fichier `.claude/settings.json` du référentiel déclare, comme [Ce qui est reporté de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup) l'explique. Pour utiliser un plugin dans une session cloud, activez-le pour votre compte claude.ai pour que Claude Code le charge en tant que [plugin synchronisé](/docs/fr/plugins-reference#synced-plugins). Les plugins ne sont pas disponibles dans les sessions WSL. Pour la référence complète des plugins, y compris la création de vos propres plugins, voir [plugins](/docs/fr/plugins).

512 512 

513<h3 id="configure-preview-servers">513<h3 id="configure-preview-servers">

514 Configurer les serveurs d'aperçu514 Configurer les serveurs d'aperçu


735 735 

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

737 737 

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

739 739 

740Sur les modèles avec [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level), les valeurs `MAX_THINKING_TOKENS` autres que `0` sont ignorées car le raisonnement adaptatif contrôle la profondeur de la réflexion à la place. Sur Opus 4.6 et Sonnet 4.6, définissez `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` à `1` pour utiliser un budget de réflexion fixe ; les modèles Fable, Sonnet 5, et Opus 4.7 et versions ultérieures utilisent toujours le raisonnement adaptatif et n'ont pas de mode de budget fixe.740Sur les modèles avec [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level), les valeurs `MAX_THINKING_TOKENS` autres que `0` sont ignorées car le raisonnement adaptatif contrôle la profondeur de la réflexion à la place. Sur Opus 4.6 et Sonnet 4.6, définissez `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` à `1` pour utiliser un budget de réflexion fixe ; les modèles Fable, Sonnet 5, et Opus 4.7 et versions ultérieures utilisent toujours le raisonnement adaptatif et n'ont pas de mode de budget fixe.

741 741 

Details

16 Configuration requise16 Configuration requise

17</h2>17</h2>

18 18 

19* Ubuntu 22.04 ou version ultérieure, ou Debian 12 ou version ultérieure19* Une distribution basée sur Debian : Ubuntu 22.04 ou version ultérieure, ou Debian 12 ou version ultérieure

20* x86\_64 ou arm6420* x86\_64 ou arm64

21 21 

22Les autres distributions basées sur Debian qui répondent à ces exigences peuvent fonctionner mais ne sont pas officiellement testées. Sur les distributions qui ne sont pas basées sur Debian, comme Fedora ou Arch, exécutez plutôt l'[interface de ligne de commande](/docs/fr/setup#system-requirements). Si vous travaillez sur Windows avec WSL 2, installez l'application de bureau Windows et exécutez les sessions dans votre distribution ; consultez [Claude Code Desktop dans WSL](/docs/fr/desktop-wsl).22Les autres distributions basées sur Debian qui répondent à ces exigences peuvent fonctionner mais ne sont pas officiellement testées. Sur les distributions qui ne sont pas basées sur Debian, comme Fedora ou Arch, exécutez plutôt l'[interface de ligne de commande](/docs/fr/setup#system-requirements). Si vous travaillez sur Windows avec WSL 2, installez l'application de bureau Windows et exécutez les sessions dans votre distribution ; consultez [Claude Code Desktop dans WSL](/docs/fr/desktop-wsl).

Details

42/plugin install github@claude-plugins-official42/plugin install github@claude-plugins-official

43```43```

44 44 

45`/plugin` ouvre un panneau interactif dans le CLI du terminal. Si Claude répond que `/plugin` n'est pas disponible dans cet environnement, utilisez le [navigateur de plugins](/docs/fr/desktop#install-plugins) dans l'application de bureau Claude, ou déclarez le plugin sous [`enabledPlugins`](/docs/fr/settings-reference#enabledplugins) dans `.claude/settings.json` pour les sessions cloud.45`/plugin` ouvre un panneau interactif dans le CLI du terminal. Si Claude répond que `/plugin` n'est pas disponible dans cet environnement, installez le plugin d'une autre manière :

46 

47* **Application de bureau Claude** : utilisez le [navigateur de plugins](/docs/fr/desktop#install-plugins).

48* **Extension VS Code** : installez depuis la [boîte de dialogue **Manage plugins**](/docs/fr/vs-code#manage-plugins).

49* **Sessions cloud** : activez le plugin pour votre compte claude.ai afin que Claude Code le charge en tant que [plugin synchronisé](/docs/fr/plugins-reference#synced-plugins).

46 50 

47Si l'installation échoue, faites correspondre le message que Claude Code signale :51Si l'installation échoue, faites correspondre le message que Claude Code signale :

48 52 


360Claude Code recherche le plugin dans sa copie locale du catalogue de marketplace. La façon dont vous nommez le plugin contrôle si Claude Code actualise d'abord cette copie :364Claude Code recherche le plugin dans sa copie locale du catalogue de marketplace. La façon dont vous nommez le plugin contrôle si Claude Code actualise d'abord cette copie :

361 365 

362* **Avec un nom de marketplace** : lorsque vous installez `plugin-name@marketplace-name`, dans une session ou avec `claude plugin install`, Claude Code actualise cette marketplace avant la recherche. Claude Code exécute l'actualisation même si vous avez désactivé [auto-update](#configure-auto-updates) pour la marketplace ou défini `DISABLE_AUTOUPDATER`. Avant la v2.1.232, Claude Code n'actualisait pas la marketplace avant la recherche. Claude Code ignore cette actualisation lorsque :366* **Avec un nom de marketplace** : lorsque vous installez `plugin-name@marketplace-name`, dans une session ou avec `claude plugin install`, Claude Code actualise cette marketplace avant la recherche. Claude Code exécute l'actualisation même si vous avez désactivé [auto-update](#configure-auto-updates) pour la marketplace ou défini `DISABLE_AUTOUPDATER`. Avant la v2.1.232, Claude Code n'actualisait pas la marketplace avant la recherche. Claude Code ignore cette actualisation lorsque :

363 * La marketplace n'a pas été [ajoutée depuis GitHub, un autre hôte Git ou une URL distante](#add-marketplaces).367 * La marketplace n'a pas été [ajoutée depuis GitHub, un autre hôte Git, une URL distante](#add-marketplaces), ou [claude.ai](#add-from-claude-ai).

364 * Un [répertoire seed](/docs/fr/plugin-marketplaces#pre-populate-plugins-for-containers) fournit la marketplace.368 * Un [répertoire seed](/docs/fr/plugin-marketplaces#pre-populate-plugins-for-containers) fournit la marketplace.

365 * Claude Code a actualisé la marketplace au cours des 30 dernières secondes.369 * Claude Code a actualisé la marketplace au cours des 30 dernières secondes.

366 * Vous avez défini [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars).370 * Vous avez défini [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars).


395 399 

396La source prend [les mêmes formes que `/plugin marketplace add`](#add-marketplaces), telles que GitHub `owner/repo`, une URL git ou un chemin local, sauf qu'elle ne peut pas contenir d'espaces. Donnez le nom du plugin nu, sans suffixe `@marketplace`.400La source prend [les mêmes formes que `/plugin marketplace add`](#add-marketplaces), telles que GitHub `owner/repo`, une URL git ou un chemin local, sauf qu'elle ne peut pas contenir d'espaces. Donnez le nom du plugin nu, sans suffixe `@marketplace`.

397 401 

398Si vous n'avez pas encore ajouté cette marketplace, Claude Code affiche la source qu'il a résolue et vous demande de confirmer avant de l'ajouter. Refuser annule l'installation et n'ajoute rien. Une fois la marketplace ajoutée, les détails du plugin s'ouvrent et vous choisissez une [portée d'installation](/docs/fr/settings#where-settings-live).402Claude Code affiche la source qu'il a résolue et vous demande de confirmer avant d'ajouter la marketplace. Refuser annule l'installation et n'ajoute rien. Une fois la marketplace ajoutée, les détails du plugin s'ouvrent et vous choisissez une [portée d'installation](/docs/fr/settings#where-settings-live). Si la source correspond à une marketplace que vous avez déjà ajoutée, Claude Code ignore la confirmation et ouvre les détails du plugin dans cette marketplace.

399 403 

400<h2 id="manage-installed-plugins">404<h2 id="manage-installed-plugins">

401 Gérer les plugins installés405 Gérer les plugins installés

env-vars.md +9 −5

Details

152| `ANTHROPIC_BEDROCK_BASE_URL` | Remplacez l'URL du point de terminaison Amazon Bedrock. Utilisez pour les points de terminaison Amazon Bedrock personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Amazon Bedrock](/docs/fr/amazon-bedrock) |152| `ANTHROPIC_BEDROCK_BASE_URL` | Remplacez l'URL du point de terminaison Amazon Bedrock. Utilisez pour les points de terminaison Amazon Bedrock personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Amazon Bedrock](/docs/fr/amazon-bedrock) |

153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplacez l'URL du point de terminaison Amazon Bedrock Mantle. Voir [Point de terminaison Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint) |153| `ANTHROPIC_BEDROCK_MANTLE_BASE_URL` | Remplacez l'URL du point de terminaison Amazon Bedrock Mantle. Voir [Point de terminaison Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint) |

154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Préfixe du profil d'inférence inter-régions (`us`, `eu`, `apac`, `jp`, `au` ou `global`) que Claude Code essaie d'abord à la place de celui dérivé de la région AWS. Ignoré dans les régions AWS GovCloud. Nécessite Claude Code v2.1.224 ou ultérieur. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#cross-region-inference-profile-prefixes) |154| `ANTHROPIC_BEDROCK_REGION_PREFIX` | Préfixe du profil d'inférence inter-régions (`us`, `eu`, `apac`, `jp`, `au` ou `global`) que Claude Code essaie d'abord à la place de celui dérivé de la région AWS. Ignoré dans les régions AWS GovCloud. Nécessite Claude Code v2.1.224 ou ultérieur. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#cross-region-inference-profile-prefixes) |

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

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

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

158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID de modèle à ajouter en tant qu'entrée personnalisée dans le sélecteur `/model`. Utilisez ceci pour rendre un modèle non standard ou spécifique à la passerelle sélectionnable sans remplacer les alias intégrés. Voir [Configuration du modèle](/docs/fr/model-config#add-a-custom-model-option) |158| `ANTHROPIC_CUSTOM_MODEL_OPTION` | ID de modèle à ajouter en tant qu'entrée personnalisée dans le sélecteur `/model`. Utilisez ceci pour rendre un modèle non standard ou spécifique à la passerelle sélectionnable sans remplacer les alias intégrés. Voir [Configuration du modèle](/docs/fr/model-config#add-a-custom-model-option) |


271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Définissez sur `1` pour désactiver l'enregistrement automatique de la place de marché officielle des plugins. Claude Code lit la variable lorsqu'il est sur le point d'enregistrer la place de marché, généralement lors du premier lancement interactif d'une machine. Si la variable est définie à ce moment, Claude Code ignore l'enregistrement de manière permanente. Désactiver la variable plus tard n'annule pas l'omission. Exécutez `claude plugin marketplace add anthropics/claude-plugins-official` pour enregistrer la place de marché à tout moment |271| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Définissez sur `1` pour désactiver l'enregistrement automatique de la place de marché officielle des plugins. Claude Code lit la variable lorsqu'il est sur le point d'enregistrer la place de marché, généralement lors du premier lancement interactif d'une machine. Si la variable est définie à ce moment, Claude Code ignore l'enregistrement de manière permanente. Désactiver la variable plus tard n'annule pas l'omission. Exécutez `claude plugin marketplace add anthropics/claude-plugins-official` pour enregistrer la place de marché à tout moment |

272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Définissez sur `1` pour empêcher Claude Code d'exécuter vos [crochets de notification pour les requêtes de permission sans réponse](/docs/fr/hooks#notification) dans les sessions où Claude Code les envoie au rappel `canUseTool` du SDK Agent, ce qui est la façon dont Claude Desktop et l'extension VS Code hébergent Claude Code. N'a aucun effet dans les sessions de terminal. Nécessite Claude Code v2.1.233 ou ultérieur |272| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Définissez sur `1` pour empêcher Claude Code d'exécuter vos [crochets de notification pour les requêtes de permission sans réponse](/docs/fr/hooks#notification) dans les sessions où Claude Code les envoie au rappel `canUseTool` du SDK Agent, ce qui est la façon dont Claude Desktop et l'extension VS Code hébergent Claude Code. N'a aucun effet dans les sessions de terminal. Nécessite Claude Code v2.1.233 ou ultérieur |

273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez sur `1` pour ignorer le chargement des compétences à partir du répertoire de compétences gérées à l'échelle du système. Utile pour les sessions de conteneur ou CI qui ne doivent pas charger les compétences provisionnées par l'opérateur |273| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez sur `1` pour ignorer le chargement des compétences à partir du répertoire de compétences gérées à l'échelle du système. Utile pour les sessions de conteneur ou CI qui ne doivent pas charger les compétences provisionnées par l'opérateur |

274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Définissez sur `1` pour désactiver les mises à jour automatiques du titre du terminal en fonction du contexte de la conversation. Dans les sessions SDK Agent et `claude -p`, cela ignore également la requête de modèle petit/rapide d'arrière-plan qui génère le titre de la session |274| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Définissez sur `1` pour désactiver les mises à jour automatiques du titre du terminal en fonction du contexte de la conversation. Cela ignore également la requête de modèle petit/rapide d'arrière-plan qui [génère un titre de session](/docs/fr/sessions#name-your-sessions) |

275| `CLAUDE_CODE_DISABLE_THINKING` | Définissez sur `1` pour omettre complètement le paramètre `thinking` des requêtes API. C'est une option de compatibilité pour les passerelles et les passerelles qui rejettent le paramètre. Sur les modèles qui pensent par défaut, omettre le paramètre signifie que le modèle peut toujours penser. Pour désactiver explicitement la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sur l'API Anthropic, utilisez `MAX_THINKING_TOKENS=0` à la place. Aucune variable ne désactive la réflexion sur les modèles Fable, qui ne peuvent pas avoir la réflexion désactivée. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), `MAX_THINKING_TOKENS=0` omet également le paramètre, afin que les deux variables se comportent de la même manière là-bas |275| `CLAUDE_CODE_DISABLE_THINKING` | Définissez sur `1` pour omettre complètement le paramètre `thinking` des requêtes API. C'est une option de compatibilité pour les passerelles et les passerelles qui rejettent le paramètre. Sur les modèles qui pensent par défaut, omettre le paramètre signifie que le modèle peut toujours penser. Pour désactiver explicitement la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking) sur l'API Anthropic, utilisez `MAX_THINKING_TOKENS=0` à la place. Aucune variable ne désactive la réflexion sur les modèles Fable, qui ne peuvent pas avoir la réflexion désactivée. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), `MAX_THINKING_TOKENS=0` omet également le paramètre, afin que les deux variables se comportent de la même manière là-bas |

276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Définissez sur `1` pour ignorer la [compaction automatique](/docs/fr/costs#reduce-token-usage) proactive lorsque Claude Code ne reconnaît pas l'ID du modèle, comme un alias de [passerelle LLM](/docs/fr/llm-gateway). Sans cette variable, Claude Code compacte à la fenêtre de contexte qu'il suppose pour l'ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` peut corriger la fenêtre supposée à la place ; voir [Corriger la fenêtre pour un ID de modèle de passerelle ou personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) pour savoir quand chaque variable s'applique. Nécessite Claude Code v2.1.223 ou ultérieur |276| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Définissez sur `1` pour ignorer la [compaction automatique](/docs/fr/costs#reduce-token-usage) proactive lorsque Claude Code ne reconnaît pas l'ID du modèle, comme un alias de [passerelle LLM](/docs/fr/llm-gateway). Sans cette variable, Claude Code compacte à la fenêtre de contexte qu'il suppose pour l'ID. `CLAUDE_CODE_MAX_CONTEXT_TOKENS` peut corriger la fenêtre supposée à la place ; voir [Corriger la fenêtre pour un ID de modèle de passerelle ou personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) pour savoir quand chaque variable s'applique. Nécessite Claude Code v2.1.223 ou ultérieur |

277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Définissez sur `1` pour désactiver le défilement virtuel en [rendu plein écran](/docs/fr/fullscreen) et rendre chaque message dans la transcription. Utilisez ceci si le défilement en mode plein écran affiche des régions vierges où les messages doivent apparaître |277| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Définissez sur `1` pour désactiver le défilement virtuel en [rendu plein écran](/docs/fr/fullscreen) et rendre chaque message dans la transcription. Utilisez ceci si le défilement en mode plein écran affiche des régions vierges où les messages doivent apparaître |


298| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Définissez sur `1` pour forcer l'activation du mode privé DEC 2026 [sortie synchronisée](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) lorsque votre terminal le supporte mais n'est pas détecté automatiquement. Utile pour les émulateurs comme `eat` d'Emacs qui implémentent BSU/ESU mais ne répondent pas à la sonde de capacité. N'a aucun effet sous tmux. Contrairement à `CLAUDE_CODE_NO_FLICKER`, qui bascule vers le [rendu plein écran](/docs/fr/fullscreen), cela ne change pas le rendu |298| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Définissez sur `1` pour forcer l'activation du mode privé DEC 2026 [sortie synchronisée](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) lorsque votre terminal le supporte mais n'est pas détecté automatiquement. Utile pour les émulateurs comme `eat` d'Emacs qui implémentent BSU/ESU mais ne répondent pas à la sonde de capacité. N'a aucun effet sous tmux. Contrairement à `CLAUDE_CODE_NO_FLICKER`, qui bascule vers le [rendu plein écran](/docs/fr/fullscreen), cela ne change pas le rendu |

299| `CLAUDE_CODE_FORK_SUBAGENT` | Contrôle le [mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off), qui permet à Claude de générer des [sous-agents forked](/docs/fr/sub-agents#fork-the-current-conversation) elle-même et est activé par défaut uniquement dans les sessions interactives. Définissez sur `1` pour l'activer dans `claude -p` et le SDK Agent également, ou `0` pour le désactiver dans tous les types de session. Vous pouvez exécuter `/subtask` que le mode fork soit activé ou non. La valeur par défaut interactive nécessite Claude Code v2.1.232 ou ultérieur ; sur les versions antérieures, définissez la variable sur `1` pour activer le mode fork |299| `CLAUDE_CODE_FORK_SUBAGENT` | Contrôle le [mode fork](/docs/fr/sub-agents#turn-fork-mode-on-or-off), qui permet à Claude de générer des [sous-agents forked](/docs/fr/sub-agents#fork-the-current-conversation) elle-même et est activé par défaut uniquement dans les sessions interactives. Définissez sur `1` pour l'activer dans `claude -p` et le SDK Agent également, ou `0` pour le désactiver dans tous les types de session. Vous pouvez exécuter `/subtask` que le mode fork soit activé ou non. La valeur par défaut interactive nécessite Claude Code v2.1.232 ou ultérieur ; sur les versions antérieures, définissez la variable sur `1` pour activer le mode fork |

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

301| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Définissez sur `1` pour envoyer les [en-têtes d'indice de passerelle](/docs/fr/llm-gateway-protocol#gateway-hint-headers), comme `x-claude-code-request-class` et `x-claude-code-compaction`, sur un proxy personnalisé ou un fournisseur tiers comme Amazon Bedrock ou Claude Platform on AWS. Définissez sur `0` pour arrêter de les envoyer sur chaque connexion, y compris une connexion directe à l'API Anthropic, où Claude Code les envoie par défaut. Nécessite Claude Code v2.1.273 ou ultérieur |

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

302| `CLAUDE_CODE_GIT_BASH_PATH` | Windows uniquement : chemin d'accès à l'exécutable Git Bash (`bash.exe`). Utilisez lorsque Git Bash est installé mais pas dans votre PATH. Si le chemin n'existe pas ou que le fichier n'est pas nommé `bash.exe`, `sh.exe`, `bash` ou `sh`, Claude Code ignore la variable et détecte automatiquement Git Bash comme s'il était non défini, en enregistrant un avertissement visible avec `--debug`. Avant v2.1.219, Claude Code quittait au démarrage lorsque le chemin n'existait pas et utilisait n'importe quel fichier existant comme shell sans vérifier qu'il s'agissait de bash ou sh. Voir [Configuration Windows](/docs/fr/setup#set-up-on-windows) |303| `CLAUDE_CODE_GIT_BASH_PATH` | Windows uniquement : chemin d'accès à l'exécutable Git Bash (`bash.exe`). Utilisez lorsque Git Bash est installé mais pas dans votre PATH. Si le chemin n'existe pas ou que le fichier n'est pas nommé `bash.exe`, `sh.exe`, `bash` ou `sh`, Claude Code ignore la variable et détecte automatiquement Git Bash comme s'il était non défini, en enregistrant un avertissement visible avec `--debug`. Avant v2.1.219, Claude Code quittait au démarrage lorsque le chemin n'existait pas et utilisait n'importe quel fichier existant comme shell sans vérifier qu'il s'agissait de bash ou sh. Voir [Configuration Windows](/docs/fr/setup#set-up-on-windows) |

303| `CLAUDE_CODE_GLOB_HIDDEN` | Définissez sur `false` pour exclure les fichiers pointillés des résultats lorsque Claude invoque l'[outil Glob](/docs/fr/tools-reference#glob-tool-behavior). Inclus par défaut. N'affecte pas l'autocomplétion de fichier `@`, `ls`, Grep ou Read |304| `CLAUDE_CODE_GLOB_HIDDEN` | Définissez sur `false` pour exclure les fichiers pointillés des résultats lorsque Claude invoque l'[outil Glob](/docs/fr/tools-reference#glob-tool-behavior). Inclus par défaut. N'affecte pas l'autocomplétion de fichier `@`, `ls`, Grep ou Read |


349| `CLAUDE_CODE_PROJECT_DIR_NAME` | Définissez avec `CLAUDE_CONFIG_DIR` pour choisir le nom du répertoire `projects/` sous lequel Claude Code stocke les transcriptions et la mémoire automatique de cette session, à la place d'un dérivé du chemin du répertoire de travail. Par exemple, démarrer Claude Code avec `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` les stocke sous `/srv/tenant-a/projects/work/`. Claude Code ignore cette variable lorsque `CLAUDE_CONFIG_DIR` n'est pas défini, et la lit uniquement à partir de l'environnement à partir duquel vous démarrez `claude`, jamais à partir d'un bloc `env` des paramètres. Voir [Nommer le répertoire du projet vous-même](/docs/fr/sessions#name-the-project-directory-yourself). Nécessite Claude Code v2.1.234 ou ultérieur |350| `CLAUDE_CODE_PROJECT_DIR_NAME` | Définissez avec `CLAUDE_CONFIG_DIR` pour choisir le nom du répertoire `projects/` sous lequel Claude Code stocke les transcriptions et la mémoire automatique de cette session, à la place d'un dérivé du chemin du répertoire de travail. Par exemple, démarrer Claude Code avec `CLAUDE_CONFIG_DIR=/srv/tenant-a CLAUDE_CODE_PROJECT_DIR_NAME=work claude` les stocke sous `/srv/tenant-a/projects/work/`. Claude Code ignore cette variable lorsque `CLAUDE_CONFIG_DIR` n'est pas défini, et la lit uniquement à partir de l'environnement à partir duquel vous démarrez `claude`, jamais à partir d'un bloc `env` des paramètres. Voir [Nommer le répertoire du projet vous-même](/docs/fr/sessions#name-the-project-directory-yourself). Nécessite Claude Code v2.1.234 ou ultérieur |

350| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Définissez `5m` ou `1h`, les seules valeurs que Claude Code accepte, pour choisir la [durée de vie du cache du prompt](/docs/fr/prompt-caching#cache-lifetime) pour la conversation principale : vos tours interactifs, `-p` et SDK, plus les assistants qui s'exécutent en ligne avec eux. Prend la priorité sur le paramètre `promptCacheTtl` et sur `ENABLE_PROMPT_CACHING_1H`, et `FORCE_PROMPT_CACHING_5M` le remplace. L'API facture les écritures de cache d'une heure à un taux plus élevé. Nécessite Claude Code v2.1.242 ou ultérieur |351| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Définissez `5m` ou `1h`, les seules valeurs que Claude Code accepte, pour choisir la [durée de vie du cache du prompt](/docs/fr/prompt-caching#cache-lifetime) pour la conversation principale : vos tours interactifs, `-p` et SDK, plus les assistants qui s'exécutent en ligne avec eux. Prend la priorité sur le paramètre `promptCacheTtl` et sur `ENABLE_PROMPT_CACHING_1H`, et `FORCE_PROMPT_CACHING_5M` le remplace. L'API facture les écritures de cache d'une heure à un taux plus élevé. Nécessite Claude Code v2.1.242 ou ultérieur |

351| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Définissez sur `1` pour propager le contexte de trace W3C lorsque `ANTHROPIC_BASE_URL` pointe vers un proxy personnalisé. La propagation couvre l'en-tête `traceparent` sur les requêtes de modèle et MCP HTTP et la variable d'environnement `TRACEPARENT` pour les sous-processus Bash, PowerShell et hook. Par défaut, la propagation est activée uniquement lorsqu'elle est connectée directement à l'API Anthropic. Ajouté dans v2.1.152. Voir [Traces (bêta)](/docs/fr/monitoring-usage#traces-beta) |352| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Définissez sur `1` pour propager le contexte de trace W3C lorsque `ANTHROPIC_BASE_URL` pointe vers un proxy personnalisé. La propagation couvre l'en-tête `traceparent` sur les requêtes de modèle et MCP HTTP et la variable d'environnement `TRACEPARENT` pour les sous-processus Bash, PowerShell et hook. Par défaut, la propagation est activée uniquement lorsqu'elle est connectée directement à l'API Anthropic. Ajouté dans v2.1.152. Voir [Traces (bêta)](/docs/fr/monitoring-usage#traces-beta) |

352| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Défini par les plates-formes hôtes qui intègrent Claude Code et gèrent le routage du fournisseur de modèles en son nom. Lorsqu'elle est définie, Claude Code ignore les variables de sélection du fournisseur, de point de terminaison et d'authentification telles que `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` et `ANTHROPIC_API_KEY` dans les fichiers de paramètres, afin que les paramètres utilisateur ne puissent pas remplacer le routage de l'hôte. Claude Code ignore également les clés de sélection de modèle telles que `model`, `fallbackModel` et `modelOverrides` dans les [paramètres gérés](/docs/fr/managed-settings), quelle que soit la source gérée qui les livre, afin que la configuration du modèle de l'hôte prenne la priorité sur un épinglage de modèle obsolète. Claude Code ignore également les variables de sélection de modèle telles que `ANTHROPIC_MODEL` et la famille `ANTHROPIC_DEFAULT_*_MODEL` dans un bloc `env` géré ; une liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) dans les paramètres gérés s'applique toujours sauf si l'hôte fournit la sienne. Claude Code ignore également l'opt-out de télémétrie automatique qu'il applique autrement sur les fournisseurs tiers tels que Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform et Microsoft Foundry, afin que la télémétrie suive l'opt-out standard `DISABLE_TELEMETRY`. Voir [Comportements par défaut par fournisseur API](/docs/fr/data-usage#default-behaviors-by-api-provider) |353| `CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST` | Défini par les plates-formes hôtes qui intègrent Claude Code et gèrent le routage du f fournisseur de modèles en son nom. Lorsqu'elle est définie, Claude Code ignore les variables de sélection du fournisseur, de point de terminaison et d'authentification telles que `CLAUDE_CODE_USE_BEDROCK`, `ANTHROPIC_BASE_URL` et `ANTHROPIC_API_KEY` dans les fichiers de paramètres, afin que les paramètres utilisateur ne puissent pas remplacer le routage de l'hôte. Claude Code ignore également les clés de sélection de modèle telles que `model`, `fallbackModel` et `modelOverrides` dans les [paramètres gérés](/docs/fr/managed-settings), quelle que soit la source gérée qui les livre, afin que la configuration du modèle de l'hôte prenne la priorité sur un épinglage de modèle obsolète. Claude Code ignore également les variables de sélection de modèle telles que `ANTHROPIC_MODEL` et la famille `ANTHROPIC_DEFAULT_*_MODEL` dans un bloc `env` géré ; une liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) dans les paramètres gérés s'applique toujours sauf si l'hôte fournit la sienne. Claude Code ignore également l'opt-out de télémétrie automatique qu'il applique autrement sur les fournisseurs tiers tels que Amazon Bedrock, Claude Platform on AWS, Google Cloud's Agent Platform et Microsoft Foundry, afin que la télémétrie suive l'opt-out standard `DISABLE_TELEMETRY`. Voir [Comportements par défaut par fournisseur API](/docs/fr/data-usage#default-behaviors-by-api-provider) |

353| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Définissez sur `1` pour permettre au proxy d'effectuer la résolution DNS au lieu de l'appelant. Opt-in pour les environnements où le proxy doit gérer la résolution du nom d'hôte |354| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Définissez sur `1` pour permettre au proxy d'effectuer la résolution DNS au lieu de l'appelant. Opt-in pour les environnements où le proxy doit gérer la résolution du nom d'hôte |

354| `CLAUDE_CODE_REMOTE` | Défini automatiquement sur `true` lorsque Claude Code s'exécute en tant que [session cloud](/docs/fr/claude-code-on-the-web). Lisez ceci à partir d'un crochet ou d'un script de configuration pour détecter si vous êtes dans une session cloud |355| `CLAUDE_CODE_REMOTE` | Défini automatiquement sur `true` lorsque Claude Code s'exécute en tant que [session cloud](/docs/fr/claude-code-on-the-web). Lisez ceci à partir d'un crochet ou d'un script de configuration pour détecter si vous êtes dans une session cloud |

355| `CLAUDE_CODE_REMOTE_SESSION_ID` | Défini automatiquement dans les [sessions cloud](/docs/fr/claude-code-on-the-web) à l'ID de la session actuelle. Lisez ceci pour construire un lien vers la transcription de la session. Voir [Lier la sortie à la session](/docs/fr/cloud-environments#link-output-back-to-the-session) |356| `CLAUDE_CODE_REMOTE_SESSION_ID` | Défini automatiquement dans les [sessions cloud](/docs/fr/claude-code-on-the-web) à l'ID de la session actuelle. Lisez ceci pour construire un lien vers la transcription de la session. Voir [Lier la sortie à la session](/docs/fr/cloud-environments#link-output-back-to-the-session) |


451| `ENABLE_TOOL_SEARCH` | Contrôle la [recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search). Non défini, Claude Code diffère tous les outils MCP par défaut. Il les charge toujours en amont sur les modèles Google Cloud's Agent Platform antérieurs à la génération Claude 4.5, sur un déploiement Microsoft Foundry hébergé sur Azure et lorsque `ANTHROPIC_BASE_URL` pointe vers un hôte non-first-party. `true` diffère toujours et envoie l'en-tête bêta, sauf sur ces mêmes modèles Agent Platform et déploiements Microsoft Foundry ; les requêtes échouent sur les proxies qui ne supportent pas `tool_reference`. `auto` charge en amont lorsque les définitions d'outils tiennent dans 10 % du contexte. `auto:N` définit un seuil personnalisé, comme `auto:5` pour 5 %. `false` charge tous les outils en amont. Une valeur que vous définissez vous-même est ignorée lorsque `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` est défini. Avant v2.1.221, Claude Code désactivait la recherche d'outils pour tous les modèles sur Google Cloud's Agent Platform sauf si vous définissiez cette variable sur `true` |452| `ENABLE_TOOL_SEARCH` | Contrôle la [recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search). Non défini, Claude Code diffère tous les outils MCP par défaut. Il les charge toujours en amont sur les modèles Google Cloud's Agent Platform antérieurs à la génération Claude 4.5, sur un déploiement Microsoft Foundry hébergé sur Azure et lorsque `ANTHROPIC_BASE_URL` pointe vers un hôte non-first-party. `true` diffère toujours et envoie l'en-tête bêta, sauf sur ces mêmes modèles Agent Platform et déploiements Microsoft Foundry ; les requêtes échouent sur les proxies qui ne supportent pas `tool_reference`. `auto` charge en amont lorsque les définitions d'outils tiennent dans 10 % du contexte. `auto:N` définit un seuil personnalisé, comme `auto:5` pour 5 %. `false` charge tous les outils en amont. Une valeur que vous définissez vous-même est ignorée lorsque `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` est défini. Avant v2.1.221, Claude Code désactivait la recherche d'outils pour tous les modèles sur Google Cloud's Agent Platform sauf si vous définissiez cette variable sur `true` |

452| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour faire en sorte que Claude Code arrête de réessayer sur les erreurs de surcharge répétées pour chaque modèle lorsqu'aucun modèle de secours n'est configuré. **Définir sur `0` ou `false` active toujours ceci**, contrairement à la plupart des variables activées/désactivées ; désactivez la variable pour restaurer le comportement de nouvelle tentative par défaut. Sans cela, Claude Code arrête de réessayer de cette façon sur les modèles qu'il reconnaît comme Opus, Fable ou Mythos lorsque vous vous authentifiez avec une clé API ou un [fournisseur tiers](/docs/fr/third-party-integrations) plutôt qu'un abonnement Claude. Sur Claude Code v2.1.160 ou ultérieur, Claude Code bascule vers votre [chaîne de modèle de secours](/docs/fr/model-config#fallback-model-chains) configurée sur les erreurs de surcharge répétées pour n'importe quel modèle principal, afin que cette variable n'affecte pas le basculement vers un modèle de secours |453| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour faire en sorte que Claude Code arrête de réessayer sur les erreurs de surcharge répétées pour chaque modèle lorsqu'aucun modèle de secours n'est configuré. **Définir sur `0` ou `false` active toujours ceci**, contrairement à la plupart des variables activées/désactivées ; désactivez la variable pour restaurer le comportement de nouvelle tentative par défaut. Sans cela, Claude Code arrête de réessayer de cette façon sur les modèles qu'il reconnaît comme Opus, Fable ou Mythos lorsque vous vous authentifiez avec une clé API ou un [fournisseur tiers](/docs/fr/third-party-integrations) plutôt qu'un abonnement Claude. Sur Claude Code v2.1.160 ou ultérieur, Claude Code bascule vers votre [chaîne de modèle de secours](/docs/fr/model-config#fallback-model-chains) configurée sur les erreurs de surcharge répétées pour n'importe quel modèle principal, afin que cette variable n'affecte pas le basculement vers un modèle de secours |

453| `FORCE_AUTOUPDATE_PLUGINS` | Définissez sur `1` pour forcer les mises à jour automatiques des plugins même lorsque le mise à jour automatique principale est désactivée via `DISABLE_AUTOUPDATER` |454| `FORCE_AUTOUPDATE_PLUGINS` | Définissez sur `1` pour forcer les mises à jour automatiques des plugins même lorsque le mise à jour automatique principale est désactivée via `DISABLE_AUTOUPDATER` |

454| `FORCE_HYPERLINK` | Définissez sur `1` pour activer les hyperliens OSC 8 cliquables lorsque votre terminal les supporte mais n'est pas détecté automatiquement, ou `0` pour les désactiver. Lorsqu'il n'est pas défini, Claude Code active les hyperliens uniquement lorsqu'il détecte le support du terminal. Claude Code analyse cette valeur en tant que nombre, pas un booléen, afin qu'une valeur comme `false`, `no` ou `off` active les hyperliens plutôt que de les désactiver. Le [badge d'état PR ou de demande de fusion](/docs/fr/interactive-mode#pr-review-status) du pied de page se rend en tant qu'hyperlien même lorsque Claude Code ne peut pas détecter le support du terminal, par exemple sur SSH. Définissez `0` pour rendre le badge en tant que texte simple |455| `FORCE_HYPERLINK` | Définissez sur `1` pour activer les hyperliens OSC 8 cliquables lorsque votre terminal les supporte mais n'est pas détecté automatiquement, ou `0` pour les désactiver. Lorsqu'il n'est pas défini, Claude Code active les hyperliens uniquement lorsqu'il détecte le support du terminal. Claude Code analyse cette valeur en tant que nombre, pas un booléen, afin qu'une valeur comme `false`, `no` ou `off` active les hyperliens plutôt que de les désactiver. Le [badge d'état PR ou de demande de fusion](/docs/fr/interactive-mode#pr-review-status) du pied de page se rend en tant qu'hyperlien même lorsque Claude Code ne peut pas détecter le support du terminal, par exemple sur SSH. Définissez `0` pour rendre le badge en tant que texte plain |

455| `FORCE_PROMPT_CACHING_5M` | Définissez sur `1` pour forcer la durée de vie du cache du prompt de 5 minutes même lorsque la durée de vie d'une heure s'appliquerait autrement. Remplace `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` et les paramètres `promptCacheTtl` et `subagentPromptCacheTtl` |456| `FORCE_PROMPT_CACHING_5M` | Définissez sur `1` pour forcer la durée de vie du cache du prompt de 5 minutes même lorsque la durée de vie d'une heure s'appliquerait autrement. Remplace `CLAUDE_CODE_PROMPT_CACHE_TTL`, `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, `ENABLE_PROMPT_CACHING_1H` et les paramètres `promptCacheTtl` et `subagentPromptCacheTtl` |

456| `HTTP_PROXY` | Spécifiez le serveur proxy HTTP pour les connexions réseau |457| `HTTP_PROXY` | Spécifiez le serveur proxy HTTP pour les connexions réseau |

457| `HTTPS_PROXY` | Spécifiez le serveur proxy HTTPS pour les connexions réseau |458| `HTTPS_PROXY` | Spécifiez le serveur proxy HTTPS pour les connexions réseau |


476| `NO_PROXY` | Liste des domaines et adresses IP auxquels les requêtes seront directement émises, en contournant le proxy |477| `NO_PROXY` | Liste des domaines et adresses IP auxquels les requêtes seront directement émises, en contournant le proxy |

477| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite standard du SDK OpenTelemetry sur la longueur de la valeur d'attribut. Claude Code limite les attributs de télémétrie porteurs de contenu au plus petit de ceci et de `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, afin que le marqueur de troncature reste dans la limite du SDK. Claude Code lit les variantes `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` et `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` de la même manière, et la plus petite valeur définie s'applique à tous les signaux. Nécessite Claude Code v2.1.214 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#common-configuration-variables) |478| `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` | Limite standard du SDK OpenTelemetry sur la longueur de la valeur d'attribut. Claude Code limite les attributs de télémétrie porteurs de contenu au plus petit de ceci et de `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, afin que le marqueur de troncature reste dans la limite du SDK. Claude Code lit les variantes `OTEL_LOGRECORD_ATTRIBUTE_VALUE_LENGTH_LIMIT` et `OTEL_SPAN_ATTRIBUTE_VALUE_LENGTH_LIMIT` de la même manière, et la plus petite valeur définie s'applique à tous les signaux. Nécessite Claude Code v2.1.214 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#common-configuration-variables) |

478| `OTEL_LOG_ASSISTANT_RESPONSES` | Définissez sur `1` pour inclure le texte de réponse du modèle sur les événements de journal OpenTelemetry `assistant_response`. Lorsqu'il n'est pas défini, la valeur de `OTEL_LOG_USER_PROMPTS` est utilisée à la place. Définissez sur `0` pour garder les réponses rédactées même lorsque `OTEL_LOG_USER_PROMPTS` est défini. Nécessite Claude Code v2.1.193 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#assistant-response-event) |479| `OTEL_LOG_ASSISTANT_RESPONSES` | Définissez sur `1` pour inclure le texte de réponse du modèle sur les événements de journal OpenTelemetry `assistant_response`. Lorsqu'il n'est pas défini, la valeur de `OTEL_LOG_USER_PROMPTS` est utilisée à la place. Définissez sur `0` pour garder les réponses rédactées même lorsque `OTEL_LOG_USER_PROMPTS` est défini. Nécessite Claude Code v2.1.193 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#assistant-response-event) |

480| `OTEL_LOG_MANAGED_SETTINGS` | Définissez sur `1` pour ajouter les paramètres gérés rédactés, et un digest SHA-256 des paramètres avant rédaction, aux événements de journal OpenTelemetry `managed_settings_resolved`. Désactivé par défaut. Définissez-le dans votre shell, vos paramètres utilisateur ou vos paramètres gérés ; une valeur dans les paramètres de projet ou locaux ne l'active pas. Nécessite Claude Code v2.1.274 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage#managed-settings-resolved-event) |

479| `OTEL_LOG_RAW_API_BODIES` | Émettez les corps JSON de requête et de réponse de l'API Anthropic Messages en tant qu'événements de journal `api_request_body` / `api_response_body`. Définissez sur `1` pour les corps en ligne tronqués à la limite de contenu, ou `file:<dir>` pour écrire les corps non tronqués sur le disque et émettre un chemin `body_ref` à la place. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configure la limite de contenu, 60 Ko par défaut. Désactivé par défaut ; les corps incluent l'historique complet de la conversation. Définissez-le dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignoré dans [les paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Voir [Surveillance](/docs/fr/monitoring-usage#api-request-body-event) |481| `OTEL_LOG_RAW_API_BODIES` | Émettez les corps JSON de requête et de réponse de l'API Anthropic Messages en tant qu'événements de journal `api_request_body` / `api_response_body`. Définissez sur `1` pour les corps en ligne tronqués à la limite de contenu, ou `file:<dir>` pour écrire les corps non tronqués sur le disque et émettre un chemin `body_ref` à la place. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configure la limite de contenu, 60 Ko par défaut. Désactivé par défaut ; les corps incluent l'historique complet de la conversation. Définissez-le dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Ignoré dans [les paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Voir [Surveillance](/docs/fr/monitoring-usage#api-request-body-event) |

480| `OTEL_LOG_TOOL_CONTENT` | Définissez sur `1` pour inclure le contenu de l'outil dans l'événement d'intervalle OpenTelemetry `tool.output`. Les attributs d'intervalle portent le contenu de l'outil sous [leurs propres portes](/docs/fr/monitoring-usage#new-context-gates). Nécessite le [traçage](/docs/fr/monitoring-usage#traces-beta). Désactivé par défaut pour protéger les données sensibles. Voir [Surveillance](/docs/fr/monitoring-usage#tool-output-span-event) |482| `OTEL_LOG_TOOL_CONTENT` | Définissez sur `1` pour inclure le contenu de l'outil dans l'événement d'intervalle OpenTelemetry `tool.output`. Les attributs d'intervalle portent le contenu de l'outil sous [leurs propres portes](/docs/fr/monitoring-usage#new-context-gates). Nécessite le [traçage](/docs/fr/monitoring-usage#traces-beta). Désactivé par défaut pour protéger les données sensibles. Voir [Surveillance](/docs/fr/monitoring-usage#tool-output-span-event) |

481| `OTEL_LOG_TOOL_DETAILS` | Définissez sur `1` pour inclure les arguments d'entrée de l'outil, les noms des serveurs MCP, les noms de flux de travail rédigés par l'utilisateur, les chaînes d'erreur brutes sur les défaillances d'outils, la `category` de refus sur les événements `api_refusal` et d'autres détails d'outils dans les traces et journaux OpenTelemetry. Désactivé par défaut pour protéger les informations d'identification personnelle. Voir [Surveillance](/docs/fr/monitoring-usage) |483| `OTEL_LOG_TOOL_DETAILS` | Définissez sur `1` pour inclure les arguments d'entrée de l'outil, les noms des serveurs MCP, les noms de flux de travail rédigés par l'utilisateur, les chaînes d'erreur brutes sur les défaillances d'outils, la `category` de refus sur les événements `api_refusal` et d'autres détails d'outils dans les traces et journaux OpenTelemetry. Désactivé par défaut pour protéger les informations d'identification personnelle. Voir [Surveillance](/docs/fr/monitoring-usage) |


487| `OTEL_METRICS_INCLUDE_SESSION_ID` | Définissez sur `false` pour exclure l'ID de session des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |489| `OTEL_METRICS_INCLUDE_SESSION_ID` | Définissez sur `false` pour exclure l'ID de session des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |

488| `OTEL_METRICS_INCLUDE_VERSION` | Définissez sur `true` pour inclure la version de Claude Code dans les attributs de métriques (par défaut : exclu). Voir [Surveillance](/docs/fr/monitoring-usage) |490| `OTEL_METRICS_INCLUDE_VERSION` | Définissez sur `true` pour inclure la version de Claude Code dans les attributs de métriques (par défaut : exclu). Voir [Surveillance](/docs/fr/monitoring-usage) |

489| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Remplacez le budget de caractères pour les métadonnées de compétence affichées à l'[outil Skill](/docs/fr/skills#control-who-invokes-a-skill). Le budget s'adapte dynamiquement à 1 % de la fenêtre de contexte, avec un secours de 8 000 caractères. Nom hérité conservé pour la compatibilité rétroactive |491| `SLASH_COMMAND_TOOL_CHAR_BUDGET` | Remplacez le budget de caractères pour les métadonnées de compétence affichées à l'[outil Skill](/docs/fr/skills#control-who-invokes-a-skill). Le budget s'adapte dynamiquement à 1 % de la fenêtre de contexte, avec un secours de 8 000 caractères. Nom hérité conservé pour la compatibilité rétroactive |

490| `TASK_MAX_OUTPUT_LENGTH` | Nombre maximum de caractères de la sortie d'une [tâche d'arrière-plan](/docs/fr/tools-reference#background-commands) que l'outil `TaskOutput` conserve (par défaut : 32000 ; maximum : 160000). Si vous définissez le paramètre [`taskOutputMaxChars`](/docs/fr/settings-reference#taskoutputmaxchars), Claude Code ignore cette variable |492| `TASK_MAX_OUTPUT_LENGTH` | Supprimé dans v2.1.277 et maintenant un no-op, avec l'outil `TaskOutput` qu'il dimensionnait. Auparavant, définissait le nombre maximum de caractères de la sortie d'une [tâche d'arrière-plan](/docs/fr/tools-reference#background-commands) que l'outil `TaskOutput` conservait. Claude lit la sortie d'une tâche d'arrière-plan avec `Read` à la place |

491| `USE_BUILTIN_RIPGREP` | Définissez sur `0` pour utiliser le `rg` installé sur le système au lieu du `rg` inclus avec Claude Code |493| `USE_BUILTIN_RIPGREP` | Définissez sur `0` pour utiliser le `rg` installé sur le système au lieu du `rg` inclus avec Claude Code |

492| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Remplacez la région pour Claude 3.5 Haiku lors de l'utilisation de Google Cloud's Agent Platform |494| `VERTEX_REGION_CLAUDE_3_5_HAIKU` | Remplacez la région pour Claude 3.5 Haiku lors de l'utilisation de Google Cloud's Agent Platform |

493| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Remplacez la région pour Claude 3.5 Sonnet lors de l'utilisation de Google Cloud's Agent Platform |495| `VERTEX_REGION_CLAUDE_3_5_SONNET` | Remplacez la région pour Claude 3.5 Sonnet lors de l'utilisation de Google Cloud's Agent Platform |


501| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Remplacez la région pour Claude Sonnet 4.6 lors de l'utilisation de Google Cloud's Agent Platform |503| `VERTEX_REGION_CLAUDE_4_6_SONNET` | Remplacez la région pour Claude Sonnet 4.6 lors de l'utilisation de Google Cloud's Agent Platform |

502| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Remplacez la région pour Claude Opus 4.7 lors de l'utilisation de Google Cloud's Agent Platform |504| `VERTEX_REGION_CLAUDE_4_7_OPUS` | Remplacez la région pour Claude Opus 4.7 lors de l'utilisation de Google Cloud's Agent Platform |

503| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Remplacez la région pour Claude Opus 4.8 lors de l'utilisation de Google Cloud's Agent Platform |505| `VERTEX_REGION_CLAUDE_4_8_OPUS` | Remplacez la région pour Claude Opus 4.8 lors de l'utilisation de Google Cloud's Agent Platform |

506| `VERTEX_REGION_CLAUDE_5_5_OPUS` | Remplacez la région pour Claude Opus 5.5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.280 |

504| `VERTEX_REGION_CLAUDE_5_OPUS` | Remplacez la région pour Claude Opus 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.219 |507| `VERTEX_REGION_CLAUDE_5_OPUS` | Remplacez la région pour Claude Opus 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.219 |

505| `VERTEX_REGION_CLAUDE_5_SONNET` | Remplacez la région pour Claude Sonnet 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.197 |508| `VERTEX_REGION_CLAUDE_5_SONNET` | Remplacez la région pour Claude Sonnet 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.197 |

506| `VERTEX_REGION_CLAUDE_FABLE_5` | Remplacez la région pour Claude Fable 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.170 |509| `VERTEX_REGION_CLAUDE_FABLE_5` | Remplacez la région pour Claude Fable 5 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.170 |


535* Faire en sorte que Claude Code sonde les serveurs connecteurs claude.ai pour [la révision du protocole MCP 2026-07-28](/docs/fr/mcp#mcp-client-runtimes) sauf si vous définissez `MCP_PROTOCOL_NEGOTIATION=auto`538* Faire en sorte que Claude Code sonde les serveurs connecteurs claude.ai pour [la révision du protocole MCP 2026-07-28](/docs/fr/mcp#mcp-client-runtimes) sauf si vous définissez `MCP_PROTOCOL_NEGOTIATION=auto`

536* Obtenir l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) par défaut pour les comptes claude.ai et Console sur Windows avec Git Bash installé ; Claude Code achemine les commandes shell via Git Bash sauf si vous définissez `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Sur Windows sans Git Bash, l'outil reste activé539* Obtenir l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) par défaut pour les comptes claude.ai et Console sur Windows avec Git Bash installé ; Claude Code achemine les commandes shell via Git Bash sauf si vous définissez `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Sur Windows sans Git Bash, l'outil reste activé

537* Obtenir les [retours rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), que Claude Code active via un flag récupéré540* Obtenir les [retours rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), que Claude Code active via un flag récupéré

541* Faire en sorte que Claude [traite les grands collages comme du texte collé plutôt que du texte saisi](/docs/fr/terminal-config#how-claude-treats-pasted-text) ; le contenu derrière un espace réservé `[Pasted text #N]` atteint Claude sans marquage

538* Faire en sorte que Claude Code [exclue les outils MCP dont le schéma d'entrée serait rejeté par l'API](/docs/fr/mcp#tools-with-invalid-input-schemas) ; il envoie le schéma de toute façon, et une requête qui l'inclut échoue avec [une erreur 400 nommant l'outil par sa position](/docs/fr/errors#tool-input-schema-is-invalid)542* Faire en sorte que Claude Code [exclue les outils MCP dont le schéma d'entrée serait rejeté par l'API](/docs/fr/mcp#tools-with-invalid-input-schemas) ; il envoie le schéma de toute façon, et une requête qui l'inclut échoue avec [une erreur 400 nommant l'outil par sa position](/docs/fr/errors#tool-input-schema-is-invalid)

539 543 

540<h3 id="first-session-after-an-install-or-upgrade">544<h3 id="first-session-after-an-install-or-upgrade">

fast-mode.md +17 −12

Details

12 12 

13Le mode rapide est une configuration haute vitesse pour Claude Opus, rendant le modèle jusqu'à 2,5 fois plus rapide à un coût par jeton plus élevé. Activez-le avec `/fast` quand vous avez besoin de vitesse pour un travail interactif comme l'itération rapide ou le débogage en direct, et désactivez-le quand le coût importe plus que la latence.13Le mode rapide est une configuration haute vitesse pour Claude Opus, rendant le modèle jusqu'à 2,5 fois plus rapide à un coût par jeton plus élevé. Activez-le avec `/fast` quand vous avez besoin de vitesse pour un travail interactif comme l'itération rapide ou le débogage en direct, et désactivez-le quand le coût importe plus que la latence.

14 14 

15Le mode rapide n'est pas un modèle différent. Il utilise Claude Opus avec une configuration API différente qui priorise la vitesse plutôt que l'efficacité des coûts. Vous obtenez une qualité et des capacités identiques avec des réponses plus rapides. Le mode rapide est pris en charge sur Opus 5 et Opus 4.8. Il n'est pas disponible sur Sonnet, Haiku ou d'autres modèles.15Le mode rapide n'est pas un modèle différent. Il utilise Claude Opus avec une configuration API différente qui priorise la vitesse plutôt que l'efficacité des coûts. Vous obtenez une qualité et des capacités identiques avec des réponses plus rapides. Le mode rapide est pris en charge sur Opus 5.5, Opus 5 et Opus 4.8. Il n'est pas disponible sur Sonnet, Haiku ou d'autres modèles.

16 16 

17Claude Code traite Opus 4.7 comme n'importe quel autre modèle sans support du mode rapide : le basculer désactive le mode rapide. Le mode rapide pour Opus 4.7 a été déprécié le 25 juin 2026 et supprimé le 24 juillet 2026.17Opus 4.7 ne supporte pas le mode rapide, donc le basculer désactive le mode rapide. Le mode rapide pour Opus 4.7 a été déprécié le 25 juin 2026 et supprimé le 24 juillet 2026.

18 18 

19Ce qu'il faut savoir :19Ce qu'il faut savoir :

20 20 

21* Utilisez `/fast` pour activer/désactiver le mode rapide dans Claude Code CLI. L'extension VS Code suit votre paramètre [`fastMode`](#toggle-fast-mode) et offre une commande **Toggle fast mode** quand le modèle sélectionné supporte le mode rapide.21* Utilisez `/fast` pour activer/désactiver le mode rapide dans Claude Code CLI. L'extension [VS Code](/docs/fr/vs-code) offre une commande **Toggle fast mode** quand le modèle sélectionné supporte le mode rapide. Claude Code enregistre ce paramètre dans votre paramètre [`fastMode`](#toggle-fast-mode).

22* La tarification du mode rapide par MTok entrée/sortie est de 10 $/50 $ sur Opus 5 et Opus 4.8.22* La tarification du mode rapide par MTok entrée/sortie est de 8 $/40 $ sur Opus 5.5 et de 10 $/50 $ sur Opus 5 et Opus 4.8.

23* Disponible pour les utilisateurs de Claude Code sur les plans d'abonnement (Pro/Max/Team/Enterprise) et sur Claude Console. Les organisations Team et Enterprise ont besoin qu'un propriétaire l'active d'abord, et les organisations Console ont besoin d'un accès provisionné d'abord, tous deux décrits sous [Exigences](#requirements).23* Disponible pour les utilisateurs de Claude Code sur les plans d'abonnement (Pro/Max/Team/Enterprise) et sur Claude Console. Les organisations Team et Enterprise ont besoin qu'un propriétaire l'active d'abord, et les organisations Console ont besoin d'un accès provisionné d'abord, tous deux décrits sous [Exigences](#requirements).

24* Pour les utilisateurs de Claude Code sur les plans d'abonnement (Pro/Max/Team/Enterprise), le mode rapide est disponible via les crédits d'utilisation uniquement et n'est pas inclus dans les limites de taux d'abonnement.24* Pour les utilisateurs de Claude Code sur les plans d'abonnement (Pro/Max/Team/Enterprise), le mode rapide est disponible via les crédits d'utilisation uniquement et n'est pas inclus dans les limites de taux d'abonnement.

25 25 


29 29 

30En CLI, activez le mode rapide de l'une de ces deux façons :30En CLI, activez le mode rapide de l'une de ces deux façons :

31 31 

32* Tapez `/fast` et appuyez sur Tab pour activer ou désactiver32* Exécutez `/fast`, appuyez sur Espace pour activer ou désactiver, puis appuyez sur Entrée pour confirmer

33* Définissez `"fastMode": true` dans votre [fichier de paramètres utilisateur](/docs/fr/settings)33* Définissez `"fastMode": true` dans votre [fichier de paramètres utilisateur](/docs/fr/settings)

34 34 

35Par défaut, le mode rapide que vous activez dans une session interactive persiste entre les sessions. Vous pouvez configurer le mode rapide pour qu'il se réinitialise à chaque session. Consultez [opt-in par session](#require-per-session-opt-in) pour plus de détails.35Par défaut, le mode rapide que vous activez dans une session interactive persiste entre les sessions. Vous pouvez configurer le mode rapide pour qu'il se réinitialise à chaque session. Consultez [opt-in par session](#require-per-session-opt-in) pour plus de détails.


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

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

49 49 

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

51 51 

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

53 53 


80 80 

81| Modèle | Entrée (MTok) | Sortie (MTok) |81| Modèle | Entrée (MTok) | Sortie (MTok) |

82| -------- | ------------- | ------------- |82| -------- | ------------- | ------------- |

83| Opus 5.5 | \$8 | \$40 |

83| Opus 5 | \$10 | \$50 |84| Opus 5 | \$10 | \$50 |

84| Opus 4.8 | \$10 | \$50 |85| Opus 4.8 | \$10 | \$50 |

85 86 

86La tarification du mode rapide est plate sur toute la fenêtre de contexte de 1 million de jetons. Pour le tarif Opus standard à comparer, consultez la [référence de tarification Claude](https://platform.claude.com/docs/fr/about-claude/pricing).87La tarification du mode rapide est forfaitaire sur toute la fenêtre de contexte de 1 M de jetons. Pour le taux Opus standard à comparer, consultez la [référence de tarification Claude](https://platform.claude.com/docs/en/about-claude/pricing).

87 88 

88La première fois que vous activez le mode rapide dans une conversation, vous payez le prix complet du jeton d'entrée non mis en cache du mode rapide pour tout le contexte de la conversation. Plus vous êtes avancé dans une conversation, plus cela coûte cher, donc activer le mode rapide dès le départ est moins cher. Le coût s'applique une seule fois par conversation, donc basculer le mode rapide hors ligne puis le réactiver plus tard ne le répète pas. Pour le mécanisme, consultez [comment le mode rapide interagit avec le cache de prompt](/docs/fr/prompt-caching#turning-on-fast-mode).89La première fois que vous activez le mode rapide dans une conversation, vous payez le prix complet du jeton d'entrée non mis en cache du mode rapide pour tout le contexte de la conversation. Plus vous êtes avancé dans une conversation, plus cela coûte cher, donc activer le mode rapide dès le départ est moins cher. Le coût s'applique une fois par conversation, donc désactiver le mode rapide et le réactiver plus tard ne le répète pas. Pour le mécanisme, consultez [comment le mode rapide interagit avec le cache de prompt](/docs/fr/prompt-caching#turning-on-fast-mode).

89 90 

90<h3 id="see-where-fast-mode-spend-appears">91<h3 id="see-where-fast-mode-spend-appears">

91 Voir où apparaît la dépense du mode rapide92 Voir où apparaît la dépense du mode rapide

92</h3>93</h3>

93 94 

94Vous voyez la dépense du mode rapide à un endroit différent selon la façon dont vous vous êtes connecté, alors commencez par exécuter [`/status`](/docs/fr/commands) pour vérifier. S'il affiche une ligne `Login method` telle que `Claude Max account`, vous vous êtes connecté avec un abonnement Claude. S'il affiche plutôt une ligne `API key`, vos demandes sont facturées à une organisation Claude Console.95Vous voyez la dépense du mode rapide à un endroit différent selon la façon dont vous vous êtes connecté, alors exécutez d'abord [`/status`](/docs/fr/commands) pour vérifier. S'il affiche une ligne `Login method` telle que `Claude Max account`, vous vous êtes connecté avec un abonnement Claude. S'il affiche une ligne `API key` à la place, vos demandes sont facturées à une organisation Claude Console.

95 96 

96* **Pro et Max** : vous payez le mode rapide à partir de vos crédits d'utilisation. Allez à [**Paramètres > Utilisation**](https://claude.ai/settings/usage) sur claude.ai, où la section **Crédits d'utilisation** affiche combien vous avez dépensé en crédits d'utilisation ce mois-ci. Ce chiffre inclut le mode rapide mais ne le détaille pas séparément.97* **Pro et Max** : vous payez le mode rapide à partir de vos crédits d'utilisation. Allez à [**Paramètres > Utilisation**](https://claude.ai/settings/usage) sur claude.ai, où la section **Crédits d'utilisation** affiche combien vous avez dépensé en crédits d'utilisation ce mois-ci. Ce chiffre inclut le mode rapide mais ne le détaille pas séparément.

97* **Team et Enterprise** : votre organisation paie votre utilisation du mode rapide à partir de ses crédits d'utilisation. Pour voir votre propre dépense en crédits d'utilisation, exécutez [`/usage`](/docs/fr/costs#check-your-usage-credits-spend). Pour voir où votre organisation voit cette dépense, consultez [Claude for Teams and Enterprise](/docs/fr/costs#claude-for-teams-and-enterprise).98* **Team et Enterprise** : votre organisation paie votre utilisation du mode rapide à partir de ses crédits d'utilisation. Pour voir votre dépense en crédits d'utilisation, exécutez [`/usage`](/docs/fr/costs#check-your-usage-credits-spend). Pour voir où votre organisation voit cette dépense, consultez [Claude for Teams and Enterprise](/docs/fr/costs#claude-for-teams-and-enterprise).

98* **Claude Console** : votre organisation paie le mode rapide avec le reste de son utilisation de l'API. Sur les pages [Usage](https://platform.claude.com/usage) et [Cost](https://platform.claude.com/cost) de la Console, sélectionnez **Speed (Research Preview)** dans le menu **Group by** pour séparer le mode rapide de l'utilisation à vitesse standard. Vous ne voyez cette option que lorsque la plage de dates sélectionnée inclut l'utilisation du mode rapide.99* **Claude Console** : votre organisation paie le mode rapide avec le reste de son utilisation de l'API. Sur les pages Console [Usage](https://platform.claude.com/usage) et [Cost](https://platform.claude.com/cost), sélectionnez **Speed (Research Preview)** dans le menu **Group by** pour séparer le mode rapide de l'utilisation à vitesse standard. Vous ne voyez cette option que lorsque la plage de dates sélectionnée inclut l'utilisation du mode rapide.

99 100 

100<h2 id="decide-when-to-use-fast-mode">101<h2 id="decide-when-to-use-fast-mode">

101 Décider quand utiliser le mode rapide102 Décider quand utiliser le mode rapide


145* **Activation par le propriétaire pour Team et Enterprise** : le mode rapide est désactivé par défaut pour les organisations Team et Enterprise. Un propriétaire doit explicitement [activer le mode rapide](#enable-fast-mode-for-your-organization) avant que les utilisateurs puissent y accéder.146* **Activation par le propriétaire pour Team et Enterprise** : le mode rapide est désactivé par défaut pour les organisations Team et Enterprise. Un propriétaire doit explicitement [activer le mode rapide](#enable-fast-mode-for-your-organization) avant que les utilisateurs puissent y accéder.

146 147 

147<Note>148<Note>

148 Deux paramètres d'organisation peuvent empêcher l'activation du mode rapide avec `/fast` :149 Quatre paramètres d'organisation peuvent empêcher l'activation du mode rapide avec `/fast` :

149 150 

150 * **Mode rapide non activé** : si le mode rapide n'a pas été activé pour votre organisation, l'activation du mode rapide avec `/fast` affiche « Le mode rapide a été désactivé par votre organisation. »151 * **Mode rapide non activé** : si le mode rapide n'a pas été activé pour votre organisation, l'activation du mode rapide avec `/fast` affiche « Le mode rapide a été désactivé par votre organisation. »

152 * **Mode rapide désactivé par les paramètres gérés** : si votre organisation déploie les [paramètres gérés](/docs/fr/managed-settings) qui définissent [`fastMode: false`](/docs/fr/settings-reference#fastmode), l'activation du mode rapide avec `/fast` affiche le même message « Le mode rapide a été désactivé par votre organisation ».

153 * **Opt-in par session requis** : les paramètres gérés qui définissent [`fastModePerSessionOptIn: true`](#require-per-session-opt-in) refusent `/fast on` avec le même message partout sauf dans une session de terminal interactive.

151 * **Modèle de mode rapide non autorisé** : si la liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) de votre organisation exclut le modèle Opus du mode rapide, l'activation est refusée avec « n'est pas dans les modèles autorisés de votre organisation ». Dans une session déjà en cours d'exécution sur un modèle Opus autorisé qui prend en charge le mode rapide, `/fast` active le mode rapide sur votre modèle actuel au lieu de changer de modèle.154 * **Modèle de mode rapide non autorisé** : si la liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) de votre organisation exclut le modèle Opus du mode rapide, l'activation est refusée avec « n'est pas dans les modèles autorisés de votre organisation ». Dans une session déjà en cours d'exécution sur un modèle Opus autorisé qui prend en charge le mode rapide, `/fast` active le mode rapide sur votre modèle actuel au lieu de changer de modèle.

152</Note>155</Note>

153 156 


204 207 

205Ceci est utile pour contrôler les coûts dans les organisations où les utilisateurs exécutent plusieurs sessions simultanées. La préférence du mode rapide de l'utilisateur est toujours enregistrée, donc supprimer ce paramètre restaure le comportement persistant par défaut.208Ceci est utile pour contrôler les coûts dans les organisations où les utilisateurs exécutent plusieurs sessions simultanées. La préférence du mode rapide de l'utilisateur est toujours enregistrée, donc supprimer ce paramètre restaure le comportement persistant par défaut.

206 209 

210Lorsque les paramètres gérés définissent la clé, `/fast on` fonctionne uniquement dans une session de terminal interactive. Partout ailleurs, y compris le [mode non-interactif](/docs/fr/headless), l'[extension VS Code](/docs/fr/vs-code) et les [sessions cloud](#use-fast-mode-in-cloud-sessions), il est refusé avec un message indiquant que votre organisation a désactivé le mode rapide.

211 

207<h2 id="handle-rate-limits">212<h2 id="handle-rate-limits">

208 Gérer les limites de taux213 Gérer les limites de taux

209</h2>214</h2>

Details

21Les extensions se connectent à différentes parties de la boucle agentive :21Les extensions se connectent à différentes parties de la boucle agentive :

22 22 

23* **[CLAUDE.md](/docs/fr/memory)** ajoute un contexte persistant que Claude voit à chaque session23* **[CLAUDE.md](/docs/fr/memory)** ajoute un contexte persistant que Claude voit à chaque session

24* **[Output styles](/docs/fr/output-styles)** définissent le rôle, le ton et le format de réponse de Claude pour chaque réponse dans une session

24* **[Skills](/docs/fr/skills)** ajoutent des connaissances réutilisables et des flux de travail invocables25* **[Skills](/docs/fr/skills)** ajoutent des connaissances réutilisables et des flux de travail invocables

25* **[Code intelligence](/docs/fr/tools-reference#lsp-tool-behavior)** connecte Claude à un serveur de langage pour la navigation au niveau des symboles et les erreurs de type en direct26* **[Code intelligence](/docs/fr/tools-reference#lsp-tool-behavior)** connecte Claude à un serveur de langage pour la navigation au niveau des symboles et les erreurs de type en direct

26* **[MCP](/docs/fr/mcp)** connecte Claude à des services et outils externes27* **[MCP](/docs/fr/mcp)** connecte Claude à des services et outils externes


39Les fonctionnalités vont du contexte toujours actif que Claude voit à chaque session, aux capacités à la demande que vous ou Claude pouvez invoquer, à l'automatisation en arrière-plan qui s'exécute sur des événements spécifiques. Le tableau ci-dessous montre ce qui est disponible et quand chaque option a du sens.40Les fonctionnalités vont du contexte toujours actif que Claude voit à chaque session, aux capacités à la demande que vous ou Claude pouvez invoquer, à l'automatisation en arrière-plan qui s'exécute sur des événements spécifiques. Le tableau ci-dessous montre ce qui est disponible et quand chaque option a du sens.

40 41 

41| Fonctionnalité | Ce qu'elle fait | Quand l'utiliser | Exemple |42| Fonctionnalité | Ce qu'elle fait | Quand l'utiliser | Exemple |

42| -------------------------------------------------------------- | ---------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |43| -------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |

43| **CLAUDE.md** | Contexte persistant chargé à chaque conversation | Conventions de projet, règles « toujours faire X » | « Utilisez pnpm, pas npm. Exécutez les tests avant de valider. » |44| **CLAUDE.md** | Contexte persistant chargé à chaque conversation | Conventions de projet, règles « toujours faire X » | « Utilisez pnpm, pas npm. Exécutez les tests avant de valider. » |

45| **[Style de sortie](/docs/fr/output-styles)** | Instructions qui définissent le rôle, le ton et le format de réponse de Claude pour une session entière | Une voix, une longueur ou un format que vous voulez dans chaque réponse, ou Claude travaillant comme quelque chose d'autre qu'un ingénieur logiciel | Le style Concise intégré pour des réponses plus courtes ; un style personnalisé qui répond à chaque question avec un diagramme en premier |

44| **Skill** | Instructions, connaissances et flux de travail que Claude peut utiliser | Contenu réutilisable, documents de référence, tâches répétables | `/deploy` exécute votre liste de contrôle de déploiement ; skill de documentation API avec modèles de points de terminaison |46| **Skill** | Instructions, connaissances et flux de travail que Claude peut utiliser | Contenu réutilisable, documents de référence, tâches répétables | `/deploy` exécute votre liste de contrôle de déploiement ; skill de documentation API avec modèles de points de terminaison |

45| **Subagent** | Contexte d'exécution isolé qui retourne des résultats résumés | Isolation du contexte, tâches parallèles, travailleurs spécialisés | Tâche de recherche qui lit de nombreux fichiers mais retourne uniquement les conclusions clés |47| **Subagent** | Contexte d'exécution isolé qui retourne des résultats résumés | Isolation du contexte, tâches parallèles, travailleurs spécialisés | Tâche de recherche qui lit de nombreux fichiers mais retourne uniquement les conclusions clés |

46| **[Flux de travail dynamique](/docs/fr/workflows)** | Script que Claude écrit qui exécute de nombreux subagents en arrière-plan | Travail qui dépasse une poignée de subagents, ou des conclusions que vous voulez vérifier en croisant | Auditez un codebase entier, avec un deuxième ensemble d'agents vérifiant chaque conclusion |48| **[Flux de travail dynamique](/docs/fr/workflows)** | Script que Claude écrit qui exécute de nombreux subagents en arrière-plan | Travail qui dépasse une poignée de subagents, ou des conclusions que vous voulez vérifier en croisant | Auditez un codebase entier, avec un deuxième ensemble d'agents vérifiant chaque conclusion |


59Vous n'avez pas besoin de tout configurer à l'avance. Chaque fonctionnalité a un déclencheur reconnaissable, et la plupart des équipes les ajoutent à peu près dans cet ordre :61Vous n'avez pas besoin de tout configurer à l'avance. Chaque fonctionnalité a un déclencheur reconnaissable, et la plupart des équipes les ajoutent à peu près dans cet ordre :

60 62 

61| Déclencheur | Ajouter |63| Déclencheur | Ajouter |

62| :------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------- |64| :------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------- |

63| Claude se trompe sur une convention ou une commande deux fois | Ajoutez-la à [CLAUDE.md](/docs/fr/memory) |65| Claude se trompe sur une convention ou une commande deux fois | Ajoutez-la à [CLAUDE.md](/docs/fr/memory) |

66| Vous continuez à demander à Claude d'être plus court, d'expliquer davantage ou de répondre dans le même format | Définissez un [style de sortie](/docs/fr/output-styles) |

64| Vous continuez à taper la même invite pour démarrer une tâche | Enregistrez-la en tant que [skill](/docs/fr/skills) invocable par l'utilisateur |67| Vous continuez à taper la même invite pour démarrer une tâche | Enregistrez-la en tant que [skill](/docs/fr/skills) invocable par l'utilisateur |

65| Vous collez le même playbook ou procédure multi-étapes dans le chat pour la troisième fois | Capturez-la en tant que [skill](/docs/fr/skills) |68| Vous collez le même playbook ou procédure multi-étapes dans le chat pour la troisième fois | Capturez-la en tant que [skill](/docs/fr/skills) |

66| Vous continuez à copier des données d'un onglet de navigateur que Claude ne peut pas voir | Connectez ce système en tant que [serveur MCP](/docs/fr/mcp) |69| Vous continuez à copier des données d'un onglet de navigateur que Claude ne peut pas voir | Connectez ce système en tant que [serveur MCP](/docs/fr/mcp) |


112 115 

113 **Mettez-le dans une skill** si c'est du matériel de référence dont Claude a besoin parfois (documentation API, guides de style) ou un flux de travail que vous déclenchez avec `/<name>` (déployer, examiner, publier).116 **Mettez-le dans une skill** si c'est du matériel de référence dont Claude a besoin parfois (documentation API, guides de style) ou un flux de travail que vous déclenchez avec `/<name>` (déployer, examiner, publier).

114 117 

115 **Règle générale :** Gardez CLAUDE.md sous 200 lignes. S'il grandit, déplacez le contenu de référence vers des skills ou divisez-le en fichiers [`.claude/rules/`](/docs/fr/memory#organize-rules-with-claude%2Frules%2F).118 **Règle générale :** Gardez CLAUDE.md sous 200 lignes. S'il grandit, déplacez le contenu de référence vers des skills ou divisez-le en fichiers [`.claude/rules/`](/docs/fr/memory#organize-rules-with-claude/rules/).

119 </Tab>

120 

121 <Tab title="CLAUDE.md vs Output style">

122 Les deux donnent à Claude des instructions permanentes. CLAUDE.md porte ce que Claude devrait savoir, et un style de sortie définit comment Claude répond.

123 

124 | Aspect | CLAUDE.md | Style de sortie |

125 | ----------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |

126 | **Contient** | Faits et règles sur votre projet | Un rôle, un ton et un format de réponse |

127 | **Changement** | Toujours chargé | Un actif à la fois ; [changez les styles](/docs/fr/output-styles#change-your-output-style) quand vous le souhaitez |

128 | **Meilleur pour** | Commandes de construction, conventions, règles « ne jamais faire X » | Réponses plus courtes, explications aux côtés du code, un rôle non-ingénierie |

129 

130 **Mettez-le dans CLAUDE.md** si c'est vrai du projet quel que soit le style dans lequel vous êtes : conventions de codage, commandes de construction, structure du projet.

131 

132 **Utilisez un style de sortie** si c'est sur la réponse elle-même et que vous pourriez vouloir l'éteindre à nouveau : longueur, format, combien Claude explique, ou un rôle différent comme un assistant en écriture. Claude Code inclut [des styles intégrés](/docs/fr/output-styles#built-in-output-styles), et vous pouvez écrire les vôtres.

133 

134 **Ils se combinent.** CLAUDE.md reste chargé quel que soit le style que vous choisissez. Claude suit les deux comme instructions, donc aucun n'est appliqué. Pour tout ce qui doit se produire à chaque fois, utilisez un [hook](/docs/fr/hooks-guide).

116 </Tab>135 </Tab>

117 136 

118 <Tab title="CLAUDE.md vs Rules vs Skills">137 <Tab title="CLAUDE.md vs Rules vs Skills">


187 206 

188Les fonctionnalités peuvent être définies à plusieurs niveaux : à l'échelle de l'utilisateur, par projet, via des plugins ou via des politiques gérées. Vous pouvez également imbriquer des fichiers CLAUDE.md dans des sous-répertoires ou placer des skills dans des packages spécifiques d'un monorepo. Quand la même fonctionnalité existe à plusieurs niveaux, voici comment elles se superposent :207Les fonctionnalités peuvent être définies à plusieurs niveaux : à l'échelle de l'utilisateur, par projet, via des plugins ou via des politiques gérées. Vous pouvez également imbriquer des fichiers CLAUDE.md dans des sous-répertoires ou placer des skills dans des packages spécifiques d'un monorepo. Quand la même fonctionnalité existe à plusieurs niveaux, voici comment elles se superposent :

189 208 

190* **Les fichiers CLAUDE.md** sont additifs : tous les niveaux contribuent du contenu au contexte de Claude simultanément. Les fichiers de votre répertoire de travail et au-dessus se chargent au lancement ; les sous-répertoires se chargent au fur et à mesure que vous y travaillez. Quand les instructions entrent en conflit, Claude utilise son jugement pour les réconcilier, les instructions plus spécifiques ayant généralement la priorité. Consultez [comment les fichiers CLAUDE.md se chargent](/docs/fr/memory#how-claude-md-files-load).209* **Les fichiers CLAUDE.md** sont additifs : tous les niveaux contribuent du contenu au contexte de Claude simultanément. Les fichiers de votre répertoire de travail et au-dessus se chargent au lancement ; les sous-répertoires se chargent au fur et à mesure que vous y travaillez. Quand les instructions entrent en conflit, Claude utilise son jugement pour les réconcilier. Consultez [comment les fichiers CLAUDE.md se chargent](/docs/fr/memory#how-claude-md-files-load).

191* **Les skills et subagents** se remplacent par nom : quand le même nom existe à plusieurs niveaux, une définition gagne en fonction de la priorité (géré > utilisateur > projet pour les skills ; géré > drapeau CLI > projet > utilisateur > plugin pour les subagents). Les skills de plugin sont [espacées de noms](/docs/fr/plugins#add-skills-to-your-plugin) pour éviter les conflits. Consultez [découverte de skills](/docs/fr/skills#resolve-skills-that-share-a-name) et [portée du subagent](/docs/fr/sub-agents#choose-the-subagent-scope).210* **Les skills et subagents** se remplacent par nom : quand le même nom existe à plusieurs niveaux, une définition gagne en fonction de la priorité (géré > utilisateur > projet pour les skills ; géré > drapeau CLI > projet > utilisateur > plugin pour les subagents). Les skills de plugin sont [espacées de noms](/docs/fr/plugins#add-skills-to-your-plugin) pour éviter les conflits. Consultez [découverte de skills](/docs/fr/skills#resolve-skills-that-share-a-name) et [portée du subagent](/docs/fr/sub-agents#choose-the-subagent-scope).

192* **Les serveurs MCP** se remplacent par nom : local > projet > utilisateur. Consultez [portée MCP](/docs/fr/mcp#scope-hierarchy-and-precedence).211* **Les serveurs MCP** se remplacent par nom : local > projet > utilisateur. Consultez [portée MCP](/docs/fr/mcp#scope-hierarchy-and-precedence).

193* **Les hooks** fusionnent : tous les hooks enregistrés se déclenchent pour leurs événements correspondants indépendamment de la source. Consultez [hooks](/docs/fr/hooks-guide).212* **Les hooks** fusionnent : tous les hooks enregistrés se déclenchent pour leurs événements correspondants indépendamment de la source. Consultez [hooks](/docs/fr/hooks-guide).


220Chaque fonctionnalité a une stratégie de chargement et un coût de contexte différents :239Chaque fonctionnalité a une stratégie de chargement et un coût de contexte différents :

221 240 

222| Fonctionnalité | Quand elle se charge | Ce qui se charge | Coût du contexte |241| Fonctionnalité | Quand elle se charge | Ce qui se charge | Coût du contexte |

223| ------------------------ | --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |242| ------------------------ | ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |

224| **CLAUDE.md** | Début de session | Contenu complet | À chaque requête |243| **CLAUDE.md** | Début de session | Contenu complet | À chaque requête |

244| **Styles de sortie** | Début de session, et à nouveau quand vous changez de styles | Les instructions complètes du style actif ; rien pour le style Par défaut | À chaque requête |

225| **Skills** | Début de session + quand utilisé | Descriptions au démarrage, contenu complet quand utilisé | Faible (descriptions à chaque requête)\* |245| **Skills** | Début de session + quand utilisé | Descriptions au démarrage, contenu complet quand utilisé | Faible (descriptions à chaque requête)\* |

226| **Serveurs MCP** | Début de session | Noms d'outils ; schémas complets à la demande | Faible jusqu'à ce qu'un outil soit utilisé |246| **Serveurs MCP** | Début de session | Noms d'outils ; schémas complets à la demande | Faible jusqu'à ce qu'un outil soit utilisé |

227| **Intelligence du code** | Après les modifications de fichiers et à la demande | Diagnostics après les modifications ; emplacements des symboles à la recherche | Faible ; réduit les lectures de fichiers ailleurs |247| **Intelligence du code** | Après les modifications de fichiers et à la demande | Diagnostics après les modifications ; emplacements des symboles à la recherche | Faible ; réduit les lectures de fichiers ailleurs |

fullscreen.md +2 −2

Details

234 234 

235Exécutez `/clear` pour démarrer une nouvelle conversation.235Exécutez `/clear` pour démarrer une nouvelle conversation.

236 236 

237Pour effacer l'écran et conserver la conversation, appuyez sur `Ctrl+L`. Les messages antérieurs défilent hors de la vue, et vous pouvez faire défiler vers le haut avec `PgUp` ou la molette de la souris pour les relire. Avant v2.1.260, `Ctrl+L` redessina l'écran sans l'effacer. Avant v2.1.238, l'appuyer deux fois en deux secondes exécutait `/clear`.237Si l'affichage semble garni ou partiellement vide, appuyez sur `Ctrl+L` pour redessiner l'écran. Le redessinage conserve la conversation et votre saisie en place.

238 238 

239`Cmd+K` fait la même chose que `Ctrl+L` lorsque votre terminal le transmet à Claude Code. iTerm2 et Terminal.app gèrent `Cmd+K` eux-mêmes, et Claude Code redessine la conversation au lieu de l'effacer, donc appuyez sur `Ctrl+L` sur ces terminaux.239`Cmd+K` fait la même chose que `Ctrl+L` lorsque votre terminal le transmet à Claude Code. iTerm2 et Terminal.app gèrent `Cmd+K` eux-mêmes et effacent leur propre écran, et Claude Code détecte l'écran effacé et repeint la conversation. Avant v2.1.280, à partir de v2.1.260, appuyer sur `Ctrl+L` ou `Cmd+K` où il atteint Claude Code effaçait l'écran dans le rendu en plein écran. Avant v2.1.238, appuyer sur `Ctrl+L` deux fois en deux secondes exécutait `/clear`.

240 240 

241<h2 id="use-with-tmux">241<h2 id="use-with-tmux">

242 Utilisation avec tmux242 Utilisation avec tmux

Details

300 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}300 anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}

301 prompt: "Generate a summary of yesterday's commits and open issues"301 prompt: "Generate a summary of yesterday's commits and open issues"

302 claude_args: |302 claude_args: |

303 --model claude-opus-4-8303 --model claude-opus-5-5

304 --allowedTools "mcp__github__list_commits,mcp__github__list_issues"304 --allowedTools "mcp__github__list_commits,mcp__github__list_issues"

305```305```

306 306 

glossary.md +12 −0

Details

208 208 

209En savoir plus : [Use extended thinking](/docs/fr/model-config#extended-thinking)209En savoir plus : [Use extended thinking](/docs/fr/model-config#extended-thinking)

210 210 

211<h2 id="f">

212 F

213</h2>

214 

215<h3 id="frontmatter">

216 Frontmatter

217</h3>

218 

219Un bloc de paramètres YAML au tout début d'un fichier Markdown, entre une ligne d'ouverture `---` et une ligne de fermeture `---`. Les Skills, subagents, output styles et rules lisent chacun leur configuration à partir du frontmatter, comme la `description` d'une skill ou les `tools` d'un subagent, et traitent tout ce qui suit le `---` de fermeture comme les instructions. Le `---` d'ouverture doit être la première ligne du fichier. Chaque type de fichier accepte son propre ensemble de champs.

220 

221En savoir plus : [Skill frontmatter](/docs/fr/skills#frontmatter-reference), [Subagent frontmatter](/docs/fr/sub-agents#supported-frontmatter-fields), [Output style frontmatter](/docs/fr/output-styles#frontmatter), [Rule frontmatter](/docs/fr/memory#rules-frontmatter-reference)

222 

211<h2 id="h">223<h2 id="h">

212 H224 H

213</h2>225</h2>

Details

238 238 

239Définissez ces variables d'environnement sur des ID de modèle Google Cloud's Agent Platform spécifiques.239Définissez ces variables d'environnement sur des ID de modèle Google Cloud's Agent Platform spécifiques.

240 240 

241Sans `ANTHROPIC_DEFAULT_OPUS_MODEL`, l'alias `opus` sur Google Cloud's Agent Platform se résout à Opus 5, et sans `ANTHROPIC_DEFAULT_SONNET_MODEL`, l'alias `sonnet` se résout à Sonnet 4.5. Cet exemple épingle chaque alias à une version spécifique :241Sans `ANTHROPIC_DEFAULT_OPUS_MODEL`, l'alias `opus` sur Google Cloud's Agent Platform se résout à Opus 5.5, et sans `ANTHROPIC_DEFAULT_SONNET_MODEL`, l'alias `sonnet` se résout à Sonnet 4.5. Cet exemple épingle chaque alias à une version spécifique :

242 242 

243```bash theme={null}243```bash theme={null}

244export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'244export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'


252 252 

253| Type de modèle | Valeur par défaut |253| Type de modèle | Valeur par défaut |

254| :------------------ | :--------------------------- |254| :------------------ | :--------------------------- |

255| Modèle principal | `claude-opus-5` |255| Modèle principal | `claude-opus-5-5` |

256| Modèle petit/rapide | `claude-sonnet-4-5@20250929` |256| Modèle petit/rapide | `claude-sonnet-4-5@20250929` |

257 257 

258Les tâches en arrière-plan telles que la génération de titre de session utilisent le modèle petit/rapide, normalement un modèle de classe Haiku. Sur Google Cloud's Agent Platform, Claude Code utilise le modèle Sonnet par défaut pour les tâches en arrière-plan car Haiku peut ne pas être activé dans tous les projets ou régions. Deux sélections changent le modèle qui les exécute :258Les tâches en arrière-plan telles que la génération de titre de session utilisent le modèle petit/rapide, normalement un modèle de classe Haiku. Sur Google Cloud's Agent Platform, Claude Code utilise le modèle Sonnet par défaut pour les tâches en arrière-plan car Haiku peut ne pas être activé dans tous les projets ou régions. Deux sélections changent le modèle qui les exécute :


264 Les modèles Opus ont un prix par jeton plus élevé que les modèles Sonnet, donc un déploiement qui n'épingle pas un modèle principal est facturé au taux Opus une fois qu'il se met à jour vers v2.1.207 ou ultérieur. Pour conserver Sonnet 4.5 comme modèle principal, définissez `ANTHROPIC_MODEL` sur son ID de modèle complet. Un déploiement qui oriente la valeur par défaut avec `ANTHROPIC_DEFAULT_SONNET_MODEL` et ne définit pas `ANTHROPIC_DEFAULT_OPUS_MODEL` conserve son modèle Sonnet orienté comme valeur par défaut.264 Les modèles Opus ont un prix par jeton plus élevé que les modèles Sonnet, donc un déploiement qui n'épingle pas un modèle principal est facturé au taux Opus une fois qu'il se met à jour vers v2.1.207 ou ultérieur. Pour conserver Sonnet 4.5 comme modèle principal, définissez `ANTHROPIC_MODEL` sur son ID de modèle complet. Un déploiement qui oriente la valeur par défaut avec `ANTHROPIC_DEFAULT_SONNET_MODEL` et ne définit pas `ANTHROPIC_DEFAULT_OPUS_MODEL` conserve son modèle Sonnet orienté comme valeur par défaut.

265</Warning>265</Warning>

266 266 

267Sur v2.1.207 à v2.1.218, le modèle principal sur Google Cloud's Agent Platform était par défaut Opus 4.8 et l'alias `opus` se résolvait à Opus 4.8. Avant v2.1.207, le modèle principal était par défaut Sonnet 4.5, l'alias `opus` se résolvait à Opus 4.6, et les tâches en arrière-plan utilisaient toujours le modèle principal.267Avant v2.1.280, le modèle principal sur Google Cloud's Agent Platform était par défaut Opus 5 et l'alias `opus` se résolvait à Opus 5 à partir de v2.1.219. Sur v2.1.207 à v2.1.218, le modèle principal sur Google Cloud's Agent Platform était par défaut Opus 4.8 et l'alias `opus` se résolvait à Opus 4.8. Avant v2.1.207, le modèle principal était par défaut Sonnet 4.5, l'alias `opus` se résolvait à Opus 4.6, et les tâches en arrière-plan utilisaient toujours le modèle principal.

268 268 

269Pour personnaliser davantage les modèles :269Pour personnaliser davantage les modèles :

270 270 

headless.md +2 −2

Details

109cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt109cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

110```110```

111 111 

112Avec `--output-format json`, la charge utile de réponse inclut `total_cost_usd` et une ventilation des coûts par modèle, afin que les appelants scriptés puissent suivre les dépenses par invocation sans consulter le [tableau de bord d'utilisation](/docs/fr/costs). Les deux chiffres sont des [estimations côté client](/docs/fr/agent-sdk/cost-tracking) et peuvent différer de votre facture réelle.112Avec `--output-format json`, la charge utile de réponse inclut `total_cost_usd` et une ventilation des coûts par modèle, afin que les appelants scriptés puissent suivre les dépenses sans consulter le [tableau de bord d'utilisation](/docs/fr/costs). Lorsque vous continuez une conversation antérieure avec `--continue` ou `--resume`, l'exécution rapporte le total de la conversation, [les dépenses des exécutions antérieures incluses](/docs/fr/agent-sdk/cost-tracking#accumulate-costs-across-multiple-calls). Les deux chiffres sont des [estimations côté client](/docs/fr/agent-sdk/cost-tracking) et peuvent différer de votre facture réelle.

113 113 

114<Note>114<Note>

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


212* **Par défaut** : les blocs `tool_use` et `tool_result` du sous-agent.212* **Par défaut** : les blocs `tool_use` et `tool_result` du sous-agent.

213* **Avec [`--forward-subagent-text`](/docs/fr/cli-reference#cli-flags) ou [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/fr/env-vars)** : les blocs de texte et de réflexion du sous-agent également, afin que vous puissiez reconstruire la transcription de chaque sous-agent. Cela nécessite Claude Code v2.1.211 ou ultérieur.213* **Avec [`--forward-subagent-text`](/docs/fr/cli-reference#cli-flags) ou [`CLAUDE_CODE_FORWARD_SUBAGENT_TEXT`](/docs/fr/env-vars)** : les blocs de texte et de réflexion du sous-agent également, afin que vous puissiez reconstruire la transcription de chaque sous-agent. Cela nécessite Claude Code v2.1.211 ou ultérieur.

214 214 

215Lorsque vous activez l'une ou l'autre option, Claude Code transfère les messages des [sous-agents à chaque profondeur d'imbrication](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) : lorsqu'un sous-agent génère son propre sous-agent, les messages du sous-agent imbriqué portent l'ID de l'appel d'outil Agent qui l'a généré dans `parent_tool_use_id`, afin que vous puissiez reconstruire l'arborescence d'imbrication complète en suivant ces ID. Avant la v2.1.219, les messages des sous-agents imbriqués n'apparaissaient pas dans le flux.215Lorsque vous activez l'une ou l'autre option, Claude Code transfère les messages des [sous-agents à chaque profondeur d'imbrication](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents), qu'ils aient été générés avec l'outil Agent ou démarrés en tant que [compétence dupliquée](/docs/fr/skills#run-skills-in-a-subagent). Les messages des sous-agents qu'une compétence dupliquée génère, et des compétences dupliquées démarrées à l'intérieur d'un sous-agent ou d'une autre compétence dupliquée, nécessitent Claude Code v2.1.275 ou ultérieur. Dans `parent_tool_use_id`, les messages du sous-agent imbriqué portent l'ID de l'appel d'outil Agent ou Skill qui l'a démarré, afin que vous puissiez reconstruire l'arborescence d'imbrication complète en suivant ces ID. Avant la v2.1.219, les messages des sous-agents imbriqués n'apparaissaient pas dans le flux.

216 216 

217Les compétences qui [s'exécutent dans un sous-agent](/docs/fr/skills#run-skills-in-a-subagent) apparaissent dans le flux de la même manière : le premier message de la compétence dupliquée est un message `user` portant le contenu de la compétence qui pilote l'exécution. Si vous activez l'une ou l'autre option, le flux porte également les blocs de texte et de réflexion de la compétence dupliquée. Avant la v2.1.265, seuls les blocs `tool_use` et `tool_result` d'une compétence dupliquée apparaissaient dans le flux.217Les compétences qui [s'exécutent dans un sous-agent](/docs/fr/skills#run-skills-in-a-subagent) apparaissent dans le flux de la même manière : le premier message de la compétence dupliquée est un message `user` portant le contenu de la compétence qui pilote l'exécution. Si vous activez l'une ou l'autre option, le flux porte également les blocs de texte et de réflexion de la compétence dupliquée. Avant la v2.1.265, seuls les blocs `tool_use` et `tool_result` d'une compétence dupliquée apparaissaient dans le flux.

218 218 

hooks.md +173 −168

Details

268| [Skill](/docs/fr/skills) frontmatter | Le reste de la session une fois que le skill est invoqué. Consultez [Hooks dans les skills et agents](#hooks-in-skills-and-agents) | Oui, défini dans le fichier du skill |268| [Skill](/docs/fr/skills) frontmatter | Le reste de la session une fois que le skill est invoqué. Consultez [Hooks dans les skills et agents](#hooks-in-skills-and-agents) | Oui, défini dans le fichier du skill |

269| [Subagent](/docs/fr/sub-agents) frontmatter | Pendant que ce subagent s'exécute | Oui, défini dans le fichier du subagent |269| [Subagent](/docs/fr/sub-agents) frontmatter | Pendant que ce subagent s'exécute | Oui, défini dans le fichier du subagent |

270 270 

271Les sessions cloud sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ne lisent pas votre `~/.claude/settings.json` local ; les hooks y proviennent du repo, ce qui signifie son `.claude/settings.json` dans une session avec un seul référentiel et les plugins qu'il déclare dans n'importe quelle session, et à partir des paramètres gérés par le serveur de votre organisation. Dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-configuration#permissions-and-tool-approval), Claude Code exécute également les hooks que l'opérateur a ensemencés à partir du `~/.claude/` de l'hôte du runner, et il exécute les hooks dans le fichier de paramètres gérés de l'image du runner lorsque ce fichier figure parmi les [sources gérées que Claude Code applique](/docs/fr/managed-settings#how-claude-code-combines-managed-sources), ce qui par défaut signifie uniquement lorsque ni les paramètres gérés par le serveur ni une politique Claude Code livrée par MDM ne fournissent le niveau géré. Consultez [ce qui se transfère de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup) pour savoir quels fichiers atteignent une session cloud.271Les sessions cloud sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ne lisent pas votre `~/.claude/settings.json` local ; les hooks y proviennent du `.claude/settings.json` du repo dans une session avec un seul référentiel, des plugins [synchronisés à partir de votre compte claude.ai](/docs/fr/plugins-reference#synced-plugins), et des paramètres gérés par le serveur de votre organisation. Dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-configuration#permissions-and-tool-approval), Claude Code exécute également les hooks que l'opérateur a ensemencés à partir du `~/.claude/` de l'hôte du runner, et il exécute les hooks dans le fichier de paramètres gérés de l'image du runner lorsque ce fichier figure parmi les [sources gérées que Claude Code applique](/docs/fr/managed-settings#how-claude-code-combines-managed-sources), ce qui par défaut signifie uniquement lorsque ni les paramètres gérés par le serveur ni une politique Claude Code livrée par MDM ne fournissent le niveau géré. Consultez [ce qui se transfère de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup) pour savoir quels fichiers atteignent une session cloud.

272 272 

273Pour plus de détails sur la résolution des fichiers de paramètres, consultez [paramètres](/docs/fr/settings).273Pour plus de détails sur la résolution des fichiers de paramètres, consultez [paramètres](/docs/fr/settings).

274 274 


1181 Événements de hook1181 Événements de hook

1182</h2>1182</h2>

1183 1183 

1184Chaque événement correspond à un point du cycle de vie de Claude Code où les hooks peuvent s'exécuter. Les sections ci-dessous sont ordonnées pour correspondre au cycle de vie : de la configuration de la session à la boucle agentique jusqu'à la fin de la session. Chaque section décrit quand l'événement se déclenche, quels matchers il supporte, l'entrée JSON qu'il reçoit et comment contrôler le comportement via la sortie.1184Chaque événement correspond à un point du cycle de vie de Claude Code où les hooks peuvent s'exécuter. Les sections ci-dessous sont ordonnées pour correspondre au cycle de vie : de la configuration de la session à la boucle agentive jusqu'à la fin de la session. Chaque section décrit quand l'événement se déclenche, quels matchers il supporte, l'entrée JSON qu'il reçoit, et comment contrôler le comportement via la sortie.

1185 1185 

1186<h3 id="sessionstart">1186<h3 id="sessionstart">

1187 SessionStart1187 SessionStart


1201| `compact` | Compaction automatique ou manuelle |1201| `compact` | Compaction automatique ou manuelle |

1202| `fork` | Une nouvelle session créée à partir d'une session existante : `--fork-session` avec `--resume` ou `--continue`, la copie de fond `/fork`, ou `/branch` |1202| `fork` | Une nouvelle session créée à partir d'une session existante : `--fork-session` avec `--resume` ou `--continue`, la copie de fond `/fork`, ou `/branch` |

1203 1203 

1204Avant v2.1.214, les sessions créées rapportaient la source `"resume"`.1204Avant v2.1.214, les sessions créées par fork signalaient la source `"resume"`.

1205 1205 

1206Quand vous démarrez une session interactive, reprenez une conversation au lancement avec `--continue` ou `--resume`, ou exécutez `/clear`, les hooks SessionStart s'exécutent en arrière-plan. Vous pouvez taper immédiatement, et une conversation que vous avez reprise apparaît sans attendre les hooks. La première réponse de Claude attend toujours que les hooks se terminent, donc leur contexte atteint Claude.1206Quand vous démarrez une session interactive, reprenez une conversation au lancement avec `--continue` ou `--resume`, ou exécutez `/clear`, les hooks SessionStart s'exécutent en arrière-plan. Vous pouvez taper immédiatement, et une conversation que vous avez reprise apparaît sans attendre les hooks. La première réponse de Claude attend toujours que les hooks se terminent, donc leur contexte atteint Claude.

1207 1207 

1208Quand vous changez de conversation avec `/resume` dans une session, le changement attend que les hooks se terminent. Si vous exécutez `/clear` ou basculez vers une autre conversation pendant que les hooks en arrière-plan s'exécutent toujours, rien de ce qu'ils retournent ne s'applique à la session.1208Quand vous changez de conversation avec `/resume` à l'intérieur d'une session, le changement attend que les hooks se terminent. Si vous exécutez `/clear` ou changez vers une autre conversation pendant que les hooks en arrière-plan s'exécutent toujours, rien de ce qu'ils retournent ne s'applique à la session.

1209 1209 

1210La même attente s'applique au lancement, y compris une session reprise : une invite que vous envoyez pendant que les hooks SessionStart s'exécutent toujours n'atteint pas Claude jusqu'à ce qu'ils se terminent.1210La même attente s'applique au lancement, y compris une session reprise : une invite que vous envoyez pendant que les hooks SessionStart s'exécutent toujours n'atteint Claude que quand ils se terminent.

1211 1211 

1212Pendant l'une ou l'autre attente, appuyez sur `Esc` pour reprendre l'invite dans l'entrée sans l'envoyer. Les hooks continuent de s'exécuter.1212Pendant l'une ou l'autre attente, appuyez sur `Esc` pour reprendre l'invite dans l'entrée sans l'envoyer. Les hooks continuent de s'exécuter.

1213 1213 


1224| `agent_type` | Le nom de l'agent, présent quand vous démarrez Claude Code avec `claude --agent <name>` |1224| `agent_type` | Le nom de l'agent, présent quand vous démarrez Claude Code avec `claude --agent <name>` |

1225| `session_title` | Le titre de la session actuelle s'il est déjà défini, par exemple via `--name` ou `/rename`. Un hook qui émet `sessionTitle` peut vérifier `session_title` d'abord pour éviter de remplacer un titre que l'utilisateur a défini explicitement |1225| `session_title` | Le titre de la session actuelle s'il est déjà défini, par exemple via `--name` ou `/rename`. Un hook qui émet `sessionTitle` peut vérifier `session_title` d'abord pour éviter de remplacer un titre que l'utilisateur a défini explicitement |

1226 1226 

1227Quand `source` est `"resume"` ou `"fork"` et que la transcription contient au moins une réponse de Claude, les hooks SessionStart reçoivent également les quatre champs ci-dessous. Votre hook peut les utiliser pour signaler le coût de reprendre une conversation obsolète avant la première demande, par exemple dans un [`systemMessage`](#json-output). Ces champs nécessitent Claude Code v2.1.251 ou ultérieur.1227Quand `source` est `"resume"` ou `"fork"` et que la transcription contient au moins une réponse de Claude, les hooks SessionStart reçoivent également les quatre champs ci-dessous. Votre hook peut les utiliser pour signaler le coût de reprendre une conversation obsolète avant la première requête, par exemple dans un [`systemMessage`](#json-output). Ces champs nécessitent Claude Code v2.1.251 ou ultérieur.

1228 1228 

1229| Champ | Description |1229| Champ | Description |

1230| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1230| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1231| `seconds_since_last_response` | Secondes d'horloge murale depuis la dernière réponse dans la transcription reprise |1231| `seconds_since_last_response` | Secondes d'horloge murale depuis la dernière réponse dans la transcription reprise |

1232| `context_tokens` | Tokens que la première demande de la session reprise renvoie comme son invite |1232| `context_tokens` | Tokens que la première requête de la session reprise renvoie comme son invite |

1233| `prompt_cache_likely_expired` | `true` quand la dernière réponse est plus ancienne que la [durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) de la session ou qu'une compaction ultérieure a remplacé la conversation en cache |1233| `prompt_cache_likely_expired` | `true` quand la dernière réponse est plus ancienne que la [durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) de la session ou qu'une compaction ultérieure a remplacé la conversation en cache |

1234| `estimated_cache_write_usd` | Coût estimé en dollars américains de l'écriture de `context_tokens` dans le cache d'invite sur le modèle de la session, excluant la réponse |1234| `estimated_cache_write_usd` | Coût estimé en dollars US de l'écriture de `context_tokens` dans le cache d'invite sur le modèle de la session, excluant la réponse |

1235 1235 

1236Cet exemple montre l'entrée pour une session reprise 90 minutes après sa dernière réponse :1236Cet exemple montre l'entrée pour une session reprise 90 minutes après sa dernière réponse :

1237 1237 


1262| `initialUserMessage` | Chaîne utilisée comme premier message utilisateur de la session. S'applique en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`, où elle devient le premier tour même si aucune invite n'est fournie. Si une invite est fournie, elle suit comme le tour suivant. Contrairement à `additionalContext`, qui s'attache à un tour existant, ceci crée le tour |1262| `initialUserMessage` | Chaîne utilisée comme premier message utilisateur de la session. S'applique en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`, où elle devient le premier tour même si aucune invite n'est fournie. Si une invite est fournie, elle suit comme le tour suivant. Contrairement à `additionalContext`, qui s'attache à un tour existant, ceci crée le tour |

1263| `sessionTitle` | Définit le titre de la session, avec le même effet que `/rename`. Utilisez pour nommer les sessions automatiquement à partir du dossier de lancement, de la branche git, ou du nom du worktree. S'applique quand `source` est `"startup"`, `"resume"`, ou `"fork"` ; ignoré sur `"clear"` et `"compact"` |1263| `sessionTitle` | Définit le titre de la session, avec le même effet que `/rename`. Utilisez pour nommer les sessions automatiquement à partir du dossier de lancement, de la branche git, ou du nom du worktree. S'applique quand `source` est `"startup"`, `"resume"`, ou `"fork"` ; ignoré sur `"clear"` et `"compact"` |

1264| `watchPaths` | Tableau de chemins absolus à surveiller pour les événements [FileChanged](#filechanged) pendant cette session |1264| `watchPaths` | Tableau de chemins absolus à surveiller pour les événements [FileChanged](#filechanged) pendant cette session |

1265| `reloadSkills` | Booléen. Quand `true`, Claude Code rescanne les répertoires [skill](/docs/fr/skills) et command après que les hooks SessionStart se terminent, donc les skills que le hook a installés sont disponibles dans la même session, à partir de la première invite |1265| `reloadSkills` | Booléen. Quand `true`, Claude Code réanalyse les répertoires [skill](/docs/fr/skills) et command après que les hooks SessionStart se terminent, donc les skills que le hook a installés sont disponibles dans la même session, à partir de la première invite |

1266 1266 

1267```json theme={null}1267```json theme={null}

1268{1268{


1274}1274}

1275```1275```

1276 1276 

1277Puisque la sortie standard brute atteint déjà Claude pour cet événement, un hook qui charge uniquement du contexte peut imprimer sur la sortie standard directement sans construire JSON. Utilisez la forme JSON quand vous devez combiner le contexte avec d'autres champs comme `sessionTitle`.1277Puisque la sortie standard brute atteint déjà Claude pour cet événement, un hook qui charge uniquement du contexte peut imprimer sur la sortie standard directement sans construire JSON. Utilisez la forme JSON quand vous devez combiner du contexte avec d'autres champs comme `sessionTitle`.

1278 1278 

1279Utilisez `reloadSkills` quand un hook SessionStart installe ou met à jour des skills. La découverte de skills s'exécute normalement avant que les hooks SessionStart se terminent, donc les fichiers que le hook écrit dans `~/.claude/skills/` ou `.claude/skills/` n'apparaîtraient autrement que dans la session suivante. Cet exemple synchronise un référentiel de skills partagé et demande la rescanne :1279Utilisez `reloadSkills` quand un hook SessionStart installe ou met à jour des skills. La découverte de skills s'exécute normalement avant que les hooks SessionStart se terminent, donc les fichiers que le hook écrit dans `~/.claude/skills/` ou `.claude/skills/` n'apparaîtraient autrement que dans la session suivante. Cet exemple synchronise un référentiel de skills partagé et demande la réanalyse :

1280 1280 

1281```bash theme={null}1281```bash theme={null}

1282#!/bin/bash1282#!/bin/bash


1373 Contrôle de décision Setup1373 Contrôle de décision Setup

1374</h4>1374</h4>

1375 1375 

1376Les hooks Setup ne peuvent pas bloquer ; l'exécution continue sur n'importe quel code de sortie. Sur chaque code de sortie, Claude Code rejette les [champs de sortie JSON](#json-output) d'un hook Setup, comme `systemMessage`, `continue`, et `hookSpecificOutput.additionalContext`. Avec `-p`, la sortie standard, stderr, et le code de sortie d'un hook Setup n'apparaissent dans la sortie de la session que comme des événements [`hook_response`](/docs/fr/headless#read-session-metadata) quand vous lancez avec `--output-format stream-json --verbose`.1376Les hooks Setup ne peuvent pas bloquer ; l'exécution continue sur n'importe quel code de sortie. Sur chaque code de sortie, Claude Code rejette les [champs de sortie JSON](#json-output) d'un hook Setup, comme `systemMessage`, `continue`, et `hookSpecificOutput.additionalContext`. Avec `-p`, la sortie standard, la sortie d'erreur, et le code de sortie d'un hook Setup n'apparaissent dans la sortie de la session que comme des événements [`hook_response`](/docs/fr/headless#read-session-metadata) quand vous lancez avec `--output-format stream-json --verbose`.

1377 1377 

1378Les hooks Setup ont accès à `CLAUDE_ENV_FILE`. Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes pour la session, tout comme dans les [hooks SessionStart](#persist-environment-variables). Seuls les hooks `type: "command"` s'exécutent sur `Setup`. Un hook `type: "mcp_tool"` sur `Setup` est toujours ignoré, comme décrit sous [Champs de hook MCP tool](#mcp-tool-hook-fields).1378Les hooks Setup ont accès à `CLAUDE_ENV_FILE`. Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes pour la session, tout comme dans les [hooks SessionStart](#persist-environment-variables). Seuls les hooks `type: "command"` s'exécutent sur `Setup`. Un hook `type: "mcp_tool"` sur `Setup` est toujours ignoré, comme décrit sous [Champs de hook MCP tool](#mcp-tool-hook-fields).

1379 1379 


1383 1383 

1384S'exécute quand un fichier `CLAUDE.md` ou `.claude/rules/*.md` est chargé dans le contexte. Cet événement se déclenche au démarrage de la session pour les fichiers chargés avec impatience et à nouveau plus tard quand les fichiers sont chargés avec paresse, par exemple quand Claude accède à un sous-répertoire qui contient un `CLAUDE.md` imbriqué ou quand les règles conditionnelles avec le frontmatter `paths:` correspondent. Le hook ne supporte pas le blocage ou le contrôle de décision. Il s'exécute de manière asynchrone à des fins d'observabilité.1384S'exécute quand un fichier `CLAUDE.md` ou `.claude/rules/*.md` est chargé dans le contexte. Cet événement se déclenche au démarrage de la session pour les fichiers chargés avec impatience et à nouveau plus tard quand les fichiers sont chargés avec paresse, par exemple quand Claude accède à un sous-répertoire qui contient un `CLAUDE.md` imbriqué ou quand les règles conditionnelles avec le frontmatter `paths:` correspondent. Le hook ne supporte pas le blocage ou le contrôle de décision. Il s'exécute de manière asynchrone à des fins d'observabilité.

1385 1385 

1386Cet événement ne se déclenche pas quand Claude [lit `AGENTS.md` directement](/docs/fr/memory#agents-md) via le paramètre **Project instructions**. Il se déclenche quand un `CLAUDE.md` importe votre `AGENTS.md`, avec `load_reason` défini à `include` comme pour n'importe quel autre fichier importé, et quand `CLAUDE.md` est un symlink vers lui, comme un chargement normal de `CLAUDE.md`.1386Cet événement ne se déclenche pas quand Claude [lit `AGENTS.md` directement](/docs/fr/memory#agents-md) via le paramètre **Project instructions**. Il se déclenche quand un `CLAUDE.md` importe votre `AGENTS.md`, avec `load_reason` défini à `include` comme pour tout autre fichier importé, et quand `CLAUDE.md` est un lien symbolique vers lui, comme un chargement normal de `CLAUDE.md`.

1387 1387 

1388Le matcher s'exécute contre `load_reason`. Par exemple, utilisez `"matcher": "session_start"` pour se déclencher uniquement pour les fichiers chargés au démarrage de la session, ou `"matcher": "path_glob_match|nested_traversal"` pour se déclencher uniquement pour les chargements avec paresse.1388Le matcher s'exécute contre `load_reason`. Par exemple, utilisez `"matcher": "session_start"` pour se déclencher uniquement pour les fichiers chargés au démarrage de la session, ou `"matcher": "path_glob_match|nested_traversal"` pour se déclencher uniquement pour les chargements avec paresse.

1389 1389 


1428 1428 

1429Les 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 le défaut de 600 secondes pour ces types sur la plupart des autres événements. Parce que ce hook s'exécute avant chaque invite 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.1429Les 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 le défaut de 600 secondes pour ces types sur la plupart des autres événements. Parce que ce hook s'exécute avant chaque invite 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.

1430 1430 

1431À part un hook de commande que vous exécutez avec [`async: true`](#run-hooks-in-the-background), un hook de commande, HTTP, ou MCP tool `UserPromptSubmit` qui atteint son délai d'expiration est annulé et sa sortie, y compris tout `additionalContext`, est rejetée. L'invite atteint toujours Claude sans ce contexte. La transcription affiche un avis nommant le hook, le délai d'expiration qui s'est déclenché, et que la sortie a été rejetée.1431À part un hook de commande que vous exécutez avec [`async: true`](#run-hooks-in-the-background), un hook de commande, HTTP, ou MCP tool `UserPromptSubmit` qui atteint son délai d'expiration est annulé et sa sortie, y compris tout `additionalContext`, est rejetée. L'invite atteint toujours Claude sans ce contexte. La transcription affiche un avis nommant le hook, le délai d'expiration qui a déclenché, et que la sortie a été rejetée.

1432 1432 

1433Un hook de rappel [Agent SDK](/docs/fr/agent-sdk/hooks) sur `UserPromptSubmit` qui atteint son délai d'expiration bloque l'invite avec un message nommant le hook et le délai d'expiration, parce qu'un rappel là peut agir comme une porte de politique qui ne doit pas échouer ouvertement. La session continue. Avant v2.1.208, un délai d'expiration de rappel sur cet événement terminait le tour avec une erreur d'exécution.1433Un [hook de rappel Agent SDK](/docs/fr/agent-sdk/hooks) sur `UserPromptSubmit` qui atteint son délai d'expiration bloque l'invite avec un message nommant le hook et le délai d'expiration, parce qu'un rappel là peut agir comme une porte de politique qui ne doit pas échouer ouvertement. La session continue. Avant v2.1.208, un délai d'expiration de rappel sur cet événement terminait le tour avec une erreur d'exécution.

1434 1434 

1435<h4 id="userpromptsubmit-input">1435<h4 id="userpromptsubmit-input">

1436 Entrée UserPromptSubmit1436 Entrée UserPromptSubmit

1437</h4>1437</h4>

1438 1438 

1439En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptSubmit reçoivent le champ `prompt` contenant le texte que l'utilisateur a soumis.1439En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptSubmit reçoivent le champ `prompt` contenant le texte que l'utilisateur a soumis. Le contenu collé qui s'est effondré à un espace réservé `[Pasted text #N]` arrive développé en place. Dans les sessions où Claude Code [marque le texte collé pour Claude](/docs/fr/terminal-config#how-claude-treats-pasted-text), ce contenu développé se situe entre une ligne `<pasted_content id="…">` et une ligne `</pasted_content id="…">`, donc tenez compte de ces lignes si votre hook analyse l'invite.

1440 1440 

1441```json theme={null}1441```json theme={null}

1442{1442{


1455 1455 

1456Les hooks `UserPromptSubmit` peuvent contrôler si une invite utilisateur est traitée et ajouter du contexte. Tous les [champs de sortie JSON](#json-output) sont disponibles.1456Les hooks `UserPromptSubmit` peuvent contrôler si une invite utilisateur est traitée et ajouter du contexte. Tous les [champs de sortie JSON](#json-output) sont disponibles.

1457 1457 

1458Il y a deux façons d'ajouter du contexte à la conversation au code de sortie 0 :1458Il y a deux façons d'ajouter du contexte à la conversation sur le code de sortie 0 :

1459 1459 

1460* **Sortie standard en texte brut** : Claude Code ajoute la sortie standard qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude1460* **Sortie standard en texte brut** : Claude Code ajoute la sortie standard qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude

1461* **JSON avec `additionalContext`** : utilisez le format JSON ci-dessous pour plus de contrôle. Le champ `additionalContext` est ajouté comme contexte1461* **JSON avec `additionalContext`** : utilisez le format JSON ci-dessous pour plus de contrôle. Le champ `additionalContext` est ajouté comme contexte


1556 1556 

1557Claude Code attend chaque lot jusqu'à ce que votre hook retourne, donc gardez le hook rapide. Si le hook échoue ou expire, Claude Code affiche le texte original. Le délai d'expiration par défaut pour cet événement est 10 secondes ; si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.1557Claude Code attend chaque lot jusqu'à ce que votre hook retourne, donc gardez le hook rapide. Si le hook échoue ou expire, Claude Code affiche le texte original. Le délai d'expiration par défaut pour cet événement est 10 secondes ; si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.

1558 1558 

1559MessageDisplay est affichage uniquement : le texte de remplacement change uniquement ce qui est rendu à l'écran. La transcription et ce que Claude voit conservent le texte original, donc Claude ne voit jamais le remplacement, et le mode verbeux montre l'original. Le hook reçoit uniquement le texte du message d'assistant, donc les résultats d'outils et le texte que vous tapez s'affichent inchangés.1559MessageDisplay est affichage uniquement : le texte de remplacement change uniquement ce qui est rendu à l'écran. La transcription et ce que Claude voit conservent le texte original, donc Claude ne voit jamais le remplacement, et le mode verbeux affiche l'original. Le hook reçoit uniquement le texte du message d'assistant, donc les résultats d'outils et le texte que vous tapez s'affichent inchangés.

1560 1560 

1561MessageDisplay ne supporte pas les matchers et se déclenche pour chaque message d'assistant qui affiche du texte ; les messages sans texte, comme les réponses contenant uniquement des appels d'outils, ne le déclenchent pas.1561MessageDisplay ne supporte pas les matchers et se déclenche pour chaque message d'assistant qui affiche du texte ; les messages sans texte, comme les réponses d'appel d'outil uniquement, ne le déclenchent pas.

1562 1562 

1563Dans les exécutions non-interactives, y compris les requêtes Agent SDK et `claude -p`, MessageDisplay s'exécute une fois par message d'assistant au lieu d'une fois par lot de lignes. L'appel unique arrive après que le message se termine et porte le texte du message complet : `index` est `0`, `final` est `true`, et `delta` contient le message entier. Un hook qui collecte le texte `delta` pour chaque message reçoit le même texte total dans les deux modes.1563Dans les exécutions non-interactives, y compris les requêtes Agent SDK et `claude -p`, MessageDisplay s'exécute une fois par message d'assistant au lieu d'une fois par lot de lignes. L'appel unique arrive après que le message se termine et porte le texte du message complet : `index` est `0`, `final` est `true`, et `delta` contient le message entier. Un hook qui collecte le texte `delta` pour chaque message reçoit le même texte total dans les deux modes.

1564 1564 


1569En plus des [champs d'entrée communs](#common-input-fields), les hooks MessageDisplay reçoivent des identifiants pour le tour et le message, la position de cet appel dans le message, et le nouveau texte dans `delta`. Les limites de lot dépendent de la façon dont le texte s'affiche, donc utilisez `index` et `final` pour suivre la progression à travers un message plutôt que de vous attendre à ce que les lignes soient groupées d'une manière particulière.1569En plus des [champs d'entrée communs](#common-input-fields), les hooks MessageDisplay reçoivent des identifiants pour le tour et le message, la position de cet appel dans le message, et le nouveau texte dans `delta`. Les limites de lot dépendent de la façon dont le texte s'affiche, donc utilisez `index` et `final` pour suivre la progression à travers un message plutôt que de vous attendre à ce que les lignes soient groupées d'une manière particulière.

1570 1570 

1571| Champ | Description |1571| Champ | Description |

1572| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1572| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1573| `turn_id` | UUID du tour actuel |1573| `turn_id` | UUID du tour actuel |

1574| `message_id` | UUID du message d'assistant en cours d'affichage. Stable sur chaque lot du même message. Ce n'est pas l'ID API `msg_…`, donc il ne peut pas être corrélé avec les IDs de message de transcription |1574| `message_id` | UUID du message d'assistant en cours d'affichage. Stable à travers chaque lot du même message. Ce n'est pas l'API `msg_…` id, donc il ne peut pas être corrélé avec les ids de message de transcription |

1575| `index` | Index de base zéro de ce lot dans le message |1575| `index` | Index de base zéro de ce lot dans le message |

1576| `final` | `true` sur le dernier lot du message. Chaque message a exactement un lot final |1576| `final` | `true` sur le dernier lot du message. Chaque message a exactement un lot final |

1577| `delta` | Les lignes nouvellement complétées depuis le lot précédent, y compris les sauts de ligne de fin. Toujours des lignes complètes, sauf le lot final qui peut se terminer au milieu d'une ligne. Dans les exécutions interactives, le delta du lot final est vide quand le message se termine sur un saut de ligne, donc traitez `final`, pas un delta non-vide, comme le signal de fin de message. Dans les exécutions Agent SDK et `claude -p`, l'appel unique porte le message entier |1577| `delta` | Les lignes nouvellement complétées depuis le lot précédent, y compris les sauts de ligne de fin. Toujours des lignes entières, sauf le lot final qui peut se terminer au milieu d'une ligne. Dans les exécutions interactives, le delta du lot final est vide quand le message se termine sur un saut de ligne, donc traitez `final`, pas un delta non-vide, comme le signal de fin de message. Dans les exécutions Agent SDK et `claude -p`, l'appel unique porte le message entier |

1578 1578 

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

1580{1580{


1686 1686 

1687S'exécute après que Claude crée les paramètres d'outil et avant de traiter l'appel d'outil. Correspond à n'importe quel nom d'outil sauf `EndConversation` : les outils intégrés comme `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion`, et `ExitPlanMode`, et n'importe quels [noms d'outils MCP](#match-mcp-tools).1687S'exécute après que Claude crée les paramètres d'outil et avant de traiter l'appel d'outil. Correspond à n'importe quel nom d'outil sauf `EndConversation` : les outils intégrés comme `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion`, et `ExitPlanMode`, et n'importe quels [noms d'outils MCP](#match-mcp-tools).

1688 1688 

1689Pour exécuter un hook quand un fichier spécifique change sur le disque, quel que soit ce qui l'a écrit, utilisez [FileChanged](#filechanged) au lieu de correspondre aux outils d'édition de fichiers par nom. Contrairement à PreToolUse, Claude Code exécute les hooks FileChanged après le changement, et ils n'ont pas de contrôle de décision, donc ils ne peuvent pas bloquer l'écriture.1689Pour exécuter un hook quand un fichier spécifique change sur le disque, peu importe ce qui l'a écrit, utilisez [FileChanged](#filechanged) au lieu de correspondre aux outils d'édition de fichiers par nom. Contrairement à PreToolUse, Claude Code exécute les hooks FileChanged après le changement, et ils n'ont pas de contrôle de décision, donc ils ne peuvent pas bloquer l'écriture.

1690 1690 

1691<Warning>1691<Warning>

1692 PreToolUse s'exécute uniquement quand Claude appelle un outil. Les fichiers que vous [référencez avec `@` dans votre invite](/docs/fr/common-workflows#reference-files-and-directories) sont ajoutés sans aucun appel d'outil : Claude Code insère leur contenu lors de la construction de l'invite, donc aucun hook PreToolUse ne se déclenche pour eux, y compris les hooks correspondant à `Read`. Pour bloquer des chemins spécifiques des références `@`, utilisez plutôt une [règle de refus `Read`](/docs/fr/permissions#read-and-edit).1692 PreToolUse s'exécute uniquement quand Claude appelle un outil. Les fichiers que vous [référencez avec `@` dans votre invite](/docs/fr/common-workflows#reference-files-and-directories) sont ajoutés sans aucun appel d'outil : Claude Code insère leur contenu lors de la construction de l'invite, donc aucun hook PreToolUse ne se déclenche pour eux, y compris les hooks correspondant à `Read`. Pour bloquer des chemins spécifiques des références `@`, utilisez plutôt une [règle de refus `Read`](/docs/fr/permissions#read-and-edit).


1696 1696 

1697Utilisez [Contrôle de décision PreToolUse](#pretooluse-decision-control) pour permettre, refuser, demander, ou différer l'appel d'outil.1697Utilisez [Contrôle de décision PreToolUse](#pretooluse-decision-control) pour permettre, refuser, demander, ou différer l'appel d'outil.

1698 1698 

1699Un hook de rappel [Agent SDK](/docs/fr/agent-sdk/hooks) sur `PreToolUse` qui dépasse son délai d'expiration bloque l'appel d'outil, et Claude reçoit un résultat d'erreur nommant le délai d'expiration. Un refus explicite retourné par un autre hook a toujours la priorité.1699Un [hook de rappel Agent SDK](/docs/fr/agent-sdk/hooks) sur `PreToolUse` qui dépasse son délai d'expiration bloque l'appel d'outil, et Claude reçoit un résultat d'erreur nommant le délai d'expiration. Un refus explicite retourné par un autre hook prend toujours la priorité.

1700 1700 

1701<h4 id="pretooluse-input">1701<h4 id="pretooluse-input">

1702 Entrée PreToolUse1702 Entrée PreToolUse


1704 1704 

1705En plus des [champs d'entrée communs](#common-input-fields), les hooks PreToolUse reçoivent `tool_name`, `tool_input`, et `tool_use_id`.1705En plus des [champs d'entrée communs](#common-input-fields), les hooks PreToolUse reçoivent `tool_name`, `tool_input`, et `tool_use_id`.

1706 1706 

1707Pour un [outil MCP](#match-mcp-tools), l'entrée porte également `mcp_server`, un objet avec le `name` du serveur et une `source` qui dit d'où la définition du serveur provient. Les valeurs `source` incluent `plugin`, `sdk`, et les portées de configuration comme `user` et `project`. [`McpServerProvenance`](/docs/fr/agent-sdk/typescript#mcpserverprovenance) dans la référence Agent SDK les liste tous et dit comment traiter celui que vous ne reconnaissez pas. Basez les décisions de confiance sur `source` plutôt que sur `name` ou le préfixe d'outil `mcp__<server>__`. Le champ `mcp_server` nécessite Claude Code v2.1.274 ou ultérieur.1707Pour un [outil MCP](#match-mcp-tools), l'entrée porte également `mcp_server`, un objet avec le `name` du serveur et une `source` qui dit d'où vient la définition du serveur. Les valeurs `source` incluent `plugin`, `sdk`, et les portées de configuration comme `user` et `project`. [`McpServerProvenance`](/docs/fr/agent-sdk/typescript#mcpserverprovenance) dans la référence Agent SDK les énumère tous et dit comment traiter celui que vous ne reconnaissez pas. Basez les décisions de confiance sur `source` plutôt que sur `name` ou le préfixe de nom d'outil `mcp__<server>__`. Le champ `mcp_server` nécessite Claude Code v2.1.274 ou ultérieur.

1708 1708 

1709Pour les outils de fichier `Write`, `Edit`, et `Read`, `tool_input.file_path` est toujours absolu :1709Pour les outils de fichier `Write`, `Edit`, et `Read`, `tool_input.file_path` est toujours absolu :

1710 1710 


1746 1746 

1747Quand une commande Bash change des fichiers dans un référentiel Git, Claude Code peut enregistrer ce qui a changé. Il enregistre les changements dans chaque mode de permission quand le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled) active l'enregistrement ; l'entrée de ce paramètre dit quels fichiers peuvent le définir. Sinon, il les enregistre uniquement en mode auto et en mode `bypassPermissions`, et uniquement quand Claude Code dirige Claude à éditer des fichiers via Bash. Définissez `bashEditDiffEnabled` à `false` pour désactiver l'enregistrement. Les commandes en arrière-plan et les commandes en lecture seule ne portent pas de diff.1747Quand une commande Bash change des fichiers dans un référentiel Git, Claude Code peut enregistrer ce qui a changé. Il enregistre les changements dans chaque mode de permission quand le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled) active l'enregistrement ; l'entrée de ce paramètre dit quels fichiers peuvent le définir. Sinon, il les enregistre uniquement en mode auto et en mode `bypassPermissions`, et uniquement quand Claude Code dirige Claude à éditer des fichiers via Bash. Définissez `bashEditDiffEnabled` à `false` pour désactiver l'enregistrement. Les commandes en arrière-plan et les commandes en lecture seule ne portent pas de diff.

1748 1748 

1749Votre hook [PostToolUse](#posttooluse) reçoit alors les fichiers modifiés dans `tool_response.bashEditDiff`. La liste couvre ce qui a changé sous le référentiel pendant que la commande s'exécutait. Les fichiers que Git ignore et les fichiers dans les sous-modules ne sont pas listés. Nécessite Claude Code v2.1.269 ou ultérieur.1749Votre [hook PostToolUse](#posttooluse) reçoit alors les fichiers modifiés dans `tool_response.bashEditDiff`. La liste couvre ce qui a changé sous le référentiel pendant que la commande s'exécutait. Les fichiers que Git ignore et les fichiers dans les sous-modules ne sont pas listés. Nécessite Claude Code v2.1.269 ou ultérieur.

1750 1750 

1751<Note>1751<Note>

1752 La liste est au mieux un effort et en bêta publique. Claude Code peut manquer un changement, inclure un fichier qu'un autre processus a changé au même moment, ou s'arrêter à ses limites de taille. La forme du champ peut changer. Utilisez la liste pour trouver ce à examiner, pas pour appliquer une politique.1752 La liste est au mieux un effort et en bêta publique. Claude Code peut manquer un changement, inclure un fichier qu'un autre processus a changé au même moment, ou s'arrêter à ses limites de taille. La forme du champ peut changer. Utilisez la liste pour trouver ce à examiner, pas pour appliquer une politique.


1804Remplace une chaîne dans un fichier existant.1804Remplace une chaîne dans un fichier existant.

1805 1805 

1806| Champ | Type | Exemple | Description |1806| Champ | Type | Exemple | Description |

1807| :------------ | :------ | :-------------------- | :------------------------------------------------ |1807| :------------ | :------ | :-------------------- | :---------------------------------------------- |

1808| `file_path` | string | `"/path/to/file.txt"` | Chemin absolu du fichier à éditer |1808| `file_path` | string | `"/path/to/file.txt"` | Chemin absolu du fichier à éditer |

1809| `old_string` | string | `"original text"` | Texte à trouver et remplacer |1809| `old_string` | string | `"original text"` | Texte à trouver et remplacer |

1810| `new_string` | string | `"replacement text"` | Texte de remplacement |1810| `new_string` | string | `"replacement text"` | Texte de remplacement |

1811| `replace_all` | boolean | `false` | Si toutes les occurrences doivent être remplacées |1811| `replace_all` | boolean | `false` | Si tous les occurrences doivent être remplacées |

1812 1812 

1813<h5 id="read">1813<h5 id="read">

1814 Read1814 Read


1884| `subagent_type` | string | `"Explore"` | Type d'agent spécialisé à utiliser |1884| `subagent_type` | string | `"Explore"` | Type d'agent spécialisé à utiliser |

1885| `model` | string | `"sonnet"` | Alias de modèle optionnel pour remplacer le défaut |1885| `model` | string | `"sonnet"` | Alias de modèle optionnel pour remplacer le défaut |

1886 1886 

1887Quand un appel Agent au premier plan se termine, votre hook [PostToolUse](#posttooluse) reçoit le texte final du sous-agent et la télémétrie d'exécution dans `tool_response`. Lisez ces champs pour inspecter l'exécution ; pour les cumuls de tokens et de coûts entre les sous-agents, utilisez les [compteurs de tokens et de coûts](/docs/fr/monitoring-usage#token-counter) filtrés à `query_source` `"subagent"`, puisque `totalTokens` et `usage` couvrent uniquement la demande finale :1887Quand un appel Agent au premier plan se termine, votre [hook PostToolUse](#posttooluse) reçoit le résultat du sous-agent et la télémétrie d'exécution dans `tool_response`. Lisez ces champs pour inspecter l'exécution ; pour les totalisations de tokens et de coûts entre les sous-agents, utilisez les [compteurs de tokens et de coûts](/docs/fr/monitoring-usage#token-counter) filtrés à `query_source` `"subagent"`, puisque `totalTokens` et `usage` couvrent uniquement la requête finale :

1888 1888 

1889| Champ | Type | Exemple | Description |1889| Champ | Type | Exemple | Description |

1890| :------------------ | :----- | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1890| :------------------ | :----- | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1891| `status` | string | `"completed"` | `"completed"` pour les sous-agents au premier plan, `"async_launched"` pour les sous-agents en arrière-plan. À partir de v2.1.198, les sous-agents s'exécutent en arrière-plan par défaut, donc un `run_in_background` omis produit également `"async_launched"` |1891| `status` | string | `"completed"` | `"completed"` pour les sous-agents au premier plan, `"async_launched"` pour les sous-agents en arrière-plan. À partir de v2.1.198, les sous-agents s'exécutent en arrière-plan par défaut, donc un `run_in_background` omis produit également `"async_launched"` |

1892| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identifiant pour l'exécution du sous-agent |1892| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identifiant pour l'exécution du sous-agent |

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

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

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

1896| `totalTokens` | number | `12450` | Nombre de tokens de la demande API finale du sous-agent : tokens d'entrée, de sortie, et de cache combinés. Ce n'est pas un total sur toute l'exécution |1896| `totalTokens` | number | `12450` | Nombre de tokens de la requête API finale du sous-agent : tokens d'entrée, de sortie, et de cache combinés. Ce n'est pas un total sur toute l'exécution |

1897| `totalDurationMs` | number | `48211` | Durée d'horloge murale de l'exécution du sous-agent |1897| `totalDurationMs` | number | `48211` | Durée d'horloge murale de l'exécution du sous-agent |

1898| `totalToolUseCount` | number | `7` | Nombre d'appels d'outils que le sous-agent a effectués |1898| `totalToolUseCount` | number | `7` | Nombre d'appels d'outil que le sous-agent a effectués |

1899| `usage` | object | `{"input_tokens": 8320, ...}` | Ventilation des tokens par type de la demande API finale : `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1899| `usage` | object | `{"input_tokens": 8320, ...}` | Ventilation des tokens par type de la requête API finale : `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1900 1900 

1901Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference) que Claude Code fournit en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) livre son rapport via cet outil plutôt que de le retourner comme texte. Le champ `content` de son résultat `completed` porte alors une note courte sur ce hand-back plutôt que le rapport lui-même. Pour lire le rapport, correspondez un hook `PreToolUse` ou `PostToolUse` sur `SubagentHandback` et lisez `tool_input.message`.1901Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference), que Claude Code fournit en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), livre son rapport via cet outil plutôt que de le retourner comme texte. Le champ `content` de son résultat `completed` porte alors une brève note à ce sujet plutôt que le rapport lui-même. Pour lire le rapport, correspondez à un hook `PreToolUse` ou `PostToolUse` sur `SubagentHandback` et lisez `tool_input.message`.

1902 1902 

1903Pour les sous-agents en arrière-plan, l'outil retourne quand la tâche passe en arrière-plan, donc `tool_response` ne porte pas de champs d'utilisation : un lancement en arrière-plan retourne immédiatement, et une tâche au premier plan que Claude Code met en arrière-plan en cours d'exécution retourne à cette transition. Il a `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile`, et `resolvedModel`.1903Pour les sous-agents en arrière-plan, l'outil retourne quand la tâche passe en arrière-plan, donc `tool_response` ne porte pas de champs d'utilisation : un lancement en arrière-plan retourne immédiatement, et une tâche au premier plan que Claude Code met en arrière-plan en cours d'exécution retourne à cette transition. Il a `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile`, et `resolvedModel`.

1904 1904 

1905Sur une réponse `completed`, `resolvedModel` nomme le modèle sur lequel le sous-agent a démarré, qui peut différer de la valeur `model` dans `tool_input`, comme quand `availableModels` ou un autre remplacement s'applique. Sur une réponse `async_launched`, `resolvedModel` nomme le modèle en utilisation quand l'agent a passé en arrière-plan, donc un échange qui s'est produit avant la mise en arrière-plan est reflété là. `modelsUsed` et le comportement `resolvedModel` au moment de la mise en arrière-plan nécessitent Claude Code v2.1.212 ou ultérieur.1905Sur une réponse `completed`, `resolvedModel` nomme le modèle sur lequel le sous-agent a démarré, qui peut différer de la valeur `model` dans `tool_input`, comme quand `availableModels` ou un autre remplacement s'applique. Sur une réponse `async_launched`, `resolvedModel` nomme le modèle en utilisation quand l'agent est passé en arrière-plan, donc un échange qui s'est produit avant la mise en arrière-plan est reflété là. Le comportement `modelsUsed` et `resolvedModel` au moment de la mise en arrière-plan nécessitent Claude Code v2.1.212 ou ultérieur.

1906 1906 

1907<a id="askuserquestion" />1907<a id="askuserquestion" />

1908 1908 


1913Pose à l'utilisateur une à quatre questions à choix multiples.1913Pose à l'utilisateur une à quatre questions à choix multiples.

1914 1914 

1915| Champ | Type | Exemple | Description |1915| Champ | Type | Exemple | Description |

1916| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1916| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1917| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Questions à présenter, chacune avec une chaîne `question`, un court `header`, un tableau `options`, et un drapeau `multiSelect` optionnel |1917| `questions` | array | `[{"question": "Which framework?", "header": "Framework", "options": [{"label": "React"}], "multiSelect": false}]` | Questions à présenter, chacune avec une chaîne `question`, un court `header`, un tableau `options`, et un drapeau `multiSelect` optionnel |

1918| `answers` | object | `{"Which framework?": "React"}` | Optionnel. Mappe le texte de la question à l'étiquette d'option sélectionnée. Les réponses multi-sélection joignent les étiquettes avec des virgules. Claude ne définit pas ce champ ; fournissez-le via `updatedInput` pour répondre par programmation |1918| `answers` | object | `{"Which framework?": "React"}` | Optionnel. Mappe le texte de la question à l'étiquette de l'option sélectionnée. Les réponses multi-sélection joignent les étiquettes avec des virgules. Claude ne définit pas ce champ ; fournissez-le via `updatedInput` pour répondre par programmation |

1919 1919 

1920<h5 id="exitplanmode">1920<h5 id="exitplanmode">

1921 ExitPlanMode1921 ExitPlanMode

1922</h5>1922</h5>

1923 1923 

1924Présente un plan et demande à l'utilisateur de l'approuver avant que Claude quitte le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode). Claude écrit le plan dans un fichier sur le disque avant d'appeler l'outil, donc l'`tool_input` littéral du modèle est généralement vide. Claude Code injecte le contenu du plan et le chemin du fichier avant de passer l'entrée aux hooks.1924Présente un plan et demande à l'utilisateur de l'approuver avant que Claude quitte le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode). Claude écrit le plan dans un fichier sur le disque avant d'appeler l'outil, donc le `tool_input` littéral du modèle est généralement vide. Claude Code injecte le contenu du plan et le chemin du fichier avant de passer l'entrée aux hooks.

1925 1925 

1926| Champ | Type | Exemple | Description |1926| Champ | Type | Exemple | Description |

1927| :--------------- | :----- | :------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1927| :--------------- | :----- | :------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


1938Les hooks `PreToolUse` peuvent contrôler si un appel d'outil procède. Contrairement aux autres hooks qui utilisent un champ `decision` de haut niveau, PreToolUse retourne sa décision à l'intérieur d'un objet `hookSpecificOutput`. Cela lui donne un contrôle plus riche : quatre résultats (permettre, refuser, demander, ou différer) plus la capacité de modifier l'entrée d'outil avant l'exécution.1938Les hooks `PreToolUse` peuvent contrôler si un appel d'outil procède. Contrairement aux autres hooks qui utilisent un champ `decision` de haut niveau, PreToolUse retourne sa décision à l'intérieur d'un objet `hookSpecificOutput`. Cela lui donne un contrôle plus riche : quatre résultats (permettre, refuser, demander, ou différer) plus la capacité de modifier l'entrée d'outil avant l'exécution.

1939 1939 

1940| Champ | Description |1940| Champ | Description |

1941| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1941| :------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1942| `permissionDecision` | `"allow"` ignore l'invite de permission, sauf pour les [actions que aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) et pour `AskUserQuestion` et `ExitPlanMode`, qui ont besoin de [`updatedInput` associé](#allow-with-updatedinput). `"deny"` empêche l'appel d'outil. `"ask"` invite l'utilisateur à confirmer. `"defer"` quitte proprement pour que l'outil puisse être repris plus tard. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées indépendamment de ce que le hook retourne |1942| `permissionDecision` | `"allow"` ignore l'invite de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) et pour `AskUserQuestion` et `ExitPlanMode`, qui ont besoin de [`updatedInput` associé](#allow-with-updatedinput). `"deny"` empêche l'appel d'outil. `"ask"` invite l'utilisateur à confirmer. `"defer"` quitte proprement pour que l'outil puisse être repris plus tard. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées indépendamment de ce que le hook retourne |

1943| `permissionDecisionReason` | Pour `"allow"` et `"ask"`, montré à l'utilisateur mais pas à Claude. Pour `"deny"`, montré à Claude. Pour `"defer"`, ignoré |1943| `permissionDecisionReason` | Pour `"allow"` et `"ask"`, montré à l'utilisateur mais pas à Claude. Pour `"deny"`, montré à Claude. Pour `"defer"`, ignoré |

1944| `updatedInput` | Modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'objet d'entrée entier, donc incluez les champs inchangés aux côtés des champs modifiés. Claude Code évalue les règles de permission et l'éligibilité de [mise en arrière-plan automatique](/docs/fr/tools-reference#background-commands) d'une commande Bash contre l'entrée que votre hook retourne, pas l'entrée que Claude a envoyée. Combinez avec `"allow"` pour approuver automatiquement, ou `"ask"` pour montrer l'entrée modifiée à l'utilisateur. Pour `"defer"`, ignoré |1944| `updatedInput` | Modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'objet d'entrée entier, donc incluez les champs inchangés aux côtés des champs modifiés. Claude Code évalue les règles de permission et l'éligibilité de [mise en arrière-plan automatique](/docs/fr/tools-reference#background-commands) d'une commande Bash contre l'entrée que votre hook retourne, pas l'entrée que Claude a envoyée. Combinez avec `"allow"` pour approuver automatiquement, ou `"ask"` pour montrer l'entrée modifiée à l'utilisateur. Pour `"defer"`, ignoré |

1945| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du résultat de l'outil. Ignoré quand `permissionDecision` est `"defer"`. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |1945| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du résultat d'outil. Ignoré quand `permissionDecision` est `"defer"`. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

1946 1946 

1947Quand plusieurs hooks PreToolUse retournent des décisions différentes, la priorité est `deny` > `defer` > `ask` > `allow`.1947Quand plusieurs hooks PreToolUse retournent des décisions différentes, la priorité est `deny` > `defer` > `ask` > `allow`.

1948 1948 

1949Un hook qui bloque en quittant 2 s'achemine de la même façon que `"deny"` : Claude voit le message stderr comme la raison du refus.1949Un hook qui bloque en quittant 2 s'achemine de la même façon que `"deny"` : Claude voit le message stderr comme la raison du refus.

1950 1950 

1951Quand un hook retourne `"ask"`, l'invite de permission affichée à l'utilisateur inclut une étiquette identifiant d'où le hook provient : `[settings]` pour un hook de n'importe quel fichier de paramètres ou du frontmatter d'agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook du frontmatter de skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande la confirmation.1951Quand un hook retourne `"ask"`, l'invite de permission affichée à l'utilisateur inclut une étiquette identifiant d'où vient le hook : `[settings]` pour un hook de n'importe quel fichier de paramètres ou du frontmatter d'agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook du frontmatter de skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande une confirmation.

1952 1952 

1953Un `"ask"` d'un hook force également une invite de permission en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : le classificateur peut toujours refuser l'appel d'outil, mais il ne peut pas approuver l'appel silencieusement. Avant v2.1.211, le classificateur pouvait approuver une commande Bash s'exécutant en dehors du [sandbox](/docs/fr/sandboxing) sans montrer l'invite que le hook a demandée ; le classificateur appliquait toujours ses propres règles de sécurité à cette commande, et un `"deny"` de hook était toujours honoré.1953Un `"ask"` d'un hook force également une invite de permission en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : le classificateur peut toujours refuser l'appel d'outil, mais il ne peut pas approuver l'appel silencieusement. Avant v2.1.211, le classificateur pouvait approuver une commande Bash s'exécutant en dehors du [sandbox](/docs/fr/sandboxing) sans montrer l'invite que le hook a demandée ; le classificateur appliquait toujours ses propres règles de sécurité à cette commande, et un refus de hook était toujours honoré.

1954 1954 

1955```json theme={null}1955```json theme={null}

1956{1956{


1968 1968 

1969<span id="allow-with-updatedinput" />1969<span id="allow-with-updatedinput" />

1970 1970 

1971En [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`, Claude Code offre `AskUserQuestion` et `ExitPlanMode` uniquement quand l'exécution a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs) pour recevoir l'invite, comme un rappel `canUseTool` du SDK Agent. Ces outils nécessitent l'interaction de l'utilisateur. Retourner `permissionDecision: "allow"` avec `updatedInput` satisfait cette exigence : le hook lit l'entrée de l'outil depuis stdin, collecte la réponse via votre propre interface utilisateur, et la retourne dans `updatedInput` pour que l'outil s'exécute sans inviter. Retourner `"allow"` seul n'est pas suffisant pour ces outils. Pour `AskUserQuestion`, renvoyez le tableau `questions` original et ajoutez un objet [`answers`](#askuserquestion) mappant le texte de chaque question à la réponse choisie.1971En [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`, Claude Code offre `AskUserQuestion` et `ExitPlanMode` uniquement quand l'exécution a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs) pour recevoir l'invite, comme un rappel `canUseTool` d'Agent SDK. Ces outils nécessitent l'interaction de l'utilisateur. Retourner `permissionDecision: "allow"` avec `updatedInput` satisfait cette exigence : le hook lit l'entrée de l'outil depuis stdin, collecte la réponse via votre propre interface utilisateur, et la retourne dans `updatedInput` pour que l'outil s'exécute sans inviter. Retourner `"allow"` seul n'est pas suffisant pour ces outils. Pour `AskUserQuestion`, renvoyez le tableau `questions` original et ajoutez un objet [`answers`](#askuserquestion) mappant le texte de chaque question à la réponse choisie.

1972 1972 

1973À partir de v2.1.199, un outil MCP dont le serveur le marque avec [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool) est plus strict : un hook ne peut pas ignorer son invite d'approbation avec `"allow"`, avec ou sans `updatedInput`, parce que Claude Code ne peut pas confirmer que le hook a collecté l'interaction que l'outil nécessite.1973À partir de v2.1.199, un outil MCP dont le serveur le marque avec [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool) est plus strict : un hook ne peut pas ignorer son invite d'approbation avec `"allow"`, avec ou sans `updatedInput`, parce que Claude Code ne peut pas confirmer que le hook a collecté l'interaction que l'outil a besoin.

1974 1974 

1975<Note>1975<Note>

1976 PreToolUse utilisait auparavant les champs `decision` et `reason` de haut niveau, mais ceux-ci sont dépréciés pour cet événement. Utilisez plutôt `hookSpecificOutput.permissionDecision` et `hookSpecificOutput.permissionDecisionReason`. Les valeurs dépréciées `"approve"` et `"block"` correspondent à `"allow"` et `"deny"` respectivement. D'autres événements comme PostToolUse et Stop continuent d'utiliser `decision` et `reason` de haut niveau comme leur format actuel.1976 PreToolUse utilisait auparavant les champs `decision` et `reason` de haut niveau, mais ceux-ci sont dépréciés pour cet événement. Utilisez plutôt `hookSpecificOutput.permissionDecision` et `hookSpecificOutput.permissionDecisionReason`. Les valeurs dépréciées `"approve"` et `"block"` correspondent à `"allow"` et `"deny"` respectivement. D'autres événements comme PostToolUse et Stop continuent d'utiliser `decision` et `reason` de haut niveau comme leur format actuel.


1986 1986 

19871. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.19871. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.

19882. Le hook retourne `permissionDecision: "defer"`. L'outil ne s'exécute pas. Le processus quitte avec `stop_reason: "tool_deferred"` et l'appel d'outil en attente préservé dans la transcription.19882. Le hook retourne `permissionDecision: "defer"`. L'outil ne s'exécute pas. Le processus quitte avec `stop_reason: "tool_deferred"` et l'appel d'outil en attente préservé dans la transcription.

19893. Le processus appelant lit `deferred_tool_use` du résultat du SDK, affiche la question dans sa propre interface utilisateur, et attend une réponse.19893. Le processus appelant lit `deferred_tool_use` du résultat SDK, affiche la question dans sa propre interface utilisateur, et attend une réponse.

19904. Le processus appelant exécute `claude -p --resume <session-id>` avec le même hôte de permission. Le même appel d'outil déclenche `PreToolUse` à nouveau.19904. Le processus appelant exécute `claude -p --resume <session-id>` avec le même hôte de permission. Le même appel d'outil déclenche `PreToolUse` à nouveau.

19915. Le hook retourne `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.19915. Le hook retourne `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.

1992 1992 


2006}2006}

2007```2007```

2008 2008 

2009Il n'y a pas de délai d'expiration ou de limite de tentatives. La session reste sur le disque jusqu'à ce que vous la repreniez, soumise aux règles de balayage de rétention [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), qui supprime les fichiers de session après 30 jours par défaut, en suivant les [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Si la réponse n'est pas prête quand vous reprenez, le hook peut retourner `"defer"` à nouveau et le processus quitte de la même façon. Le processus appelant contrôle quand casser la boucle en retournant finalement `"allow"` ou `"deny"` du hook.2009Il n'y a pas de délai d'expiration ou de limite de tentatives. La session reste sur le disque jusqu'à ce que vous la repreniez, soumise au [balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically) `cleanupPeriodDays`, qui supprime les fichiers de session après 30 jours par défaut, en suivant les [règles du balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Si la réponse n'est pas prête quand vous reprenez, le hook peut retourner `"defer"` à nouveau et le processus quitte de la même façon. Le processus appelant contrôle quand casser la boucle en retournant finalement `"allow"` ou `"deny"` du hook.

2010 2010 

2011`"defer"` fonctionne uniquement quand Claude effectue un seul appel d'outil dans le tour. Si Claude effectue plusieurs appels d'outils à la fois, `"defer"` est ignoré avec un avertissement et l'outil procède à travers le flux de permission normal. La contrainte existe parce que la reprise ne peut relancer qu'un seul outil : il n'y a aucun moyen de différer un appel d'un lot sans laisser les autres non résolus.2011`"defer"` fonctionne uniquement quand Claude effectue un seul appel d'outil dans le tour. Si Claude effectue plusieurs appels d'outil à la fois, `"defer"` est ignoré avec un avertissement et l'outil procède via le flux de permission normal. La contrainte existe parce que la reprise ne peut réexécuter qu'un seul outil : il n'y a aucun moyen de différer un appel d'un lot sans laisser les autres non résolus.

2012 2012 

2013Si l'outil différé n'est plus disponible quand vous reprenez, le processus quitte avec `stop_reason: "tool_deferred_unavailable"` et `is_error: true` avant que le hook se déclenche. Cela se produit quand un serveur MCP qui a fourni l'outil n'est pas connecté pour la session reprise. La charge utile `deferred_tool_use` est toujours incluse pour que vous puissiez identifier quel outil a disparu.2013Si l'outil différé n'est plus disponible quand vous reprenez, le processus quitte avec `stop_reason: "tool_deferred_unavailable"` et `is_error: true` avant que le hook se déclenche. Cela se produit quand un serveur MCP qui a fourni l'outil n'est pas connecté pour la session reprise. La charge utile `deferred_tool_use` est toujours incluse pour que vous puissiez identifier quel outil a disparu.

2014 2014 


2027 2027 

2028Utilisez cet événement quand vous avez besoin d'un signal au moment où Claude demande la permission d'utiliser un outil. Claude Code exécute un hook [Notification](#notification) avec le type `permission_prompt` uniquement après que l'invite ait attendu environ six secondes.2028Utilisez cet événement quand vous avez besoin d'un signal au moment où Claude demande la permission d'utiliser un outil. Claude Code exécute un hook [Notification](#notification) avec le type `permission_prompt` uniquement après que l'invite ait attendu environ six secondes.

2029 2029 

2030Claude Code n'exécute pas les hooks PermissionRequest pour la [demande réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox. Pour obtenir un signal pour cette invite, utilisez le type de notification `permission_prompt`.2030Claude Code n'exécute pas les hooks PermissionRequest pour la [requête réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox. Pour obtenir un signal pour cette invite, utilisez le type de notification `permission_prompt`.

2031 2031 

2032Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2032Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2033 2033 


2035 Entrée PermissionRequest2035 Entrée PermissionRequest

2036</h4>2036</h4>

2037 2037 

2038Les hooks PermissionRequest reçoivent les champs `tool_name` et `tool_input` comme les hooks PreToolUse, mais sans `tool_use_id`. Pour un outil MCP, ils reçoivent également l'objet [`mcp_server`](#pretooluse-input). Un tableau optionnel `permission_suggestions` contient les [mises à jour de permission](#permission-update-entries) que Claude Code suggère pour cette demande, comme ajouter une règle d'autorisation ou changer le mode de permission.2038Les hooks PermissionRequest reçoivent les champs `tool_name` et `tool_input` comme les hooks PreToolUse, mais sans `tool_use_id`. Pour un outil MCP, ils reçoivent également l'objet [`mcp_server`](#pretooluse-input). Un tableau optionnel `permission_suggestions` contient les [mises à jour de permission](#permission-update-entries) que Claude Code suggère pour cette requête, comme ajouter une règle d'autorisation ou changer le mode de permission.

2039 2039 

2040Le tableau `permission_suggestions` n'est pas une liste exacte des options que vous voyez, parce que chaque dialogue de permission construit ses propres options. Certains dialogues, comme celui pour les éditions de fichiers, ne lisent pas du tout le tableau et dérivent leurs options de la demande elle-même. Un dialogue qui le lit peut toujours retenir une option dont la suggestion reste dans le tableau, par exemple quand [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) cache les options de sauvegarde de règles. Il peut également offrir des options qui n'ont pas d'entrée de suggestion, comme [**Oui, et basculer en mode auto**](/docs/fr/permission-modes#switch-permission-modes), qui change le mode de permission directement plutôt que via une mise à jour de permission.2040Le tableau `permission_suggestions` n'est pas une liste exacte des options que vous voyez, parce que chaque dialogue de permission construit ses propres options. Certains dialogues, comme celui pour les éditions de fichiers, ne lisent pas du tout le tableau et dérivent leurs options de la requête elle-même. Un dialogue qui le lit peut toujours retenir une option dont la suggestion reste dans le tableau, par exemple quand [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) cache les options de sauvegarde de règles. Il peut également offrir des options qui n'ont pas d'entrée de suggestion, comme [**Oui, et passer en mode auto**](/docs/fr/permission-modes#switch-permission-modes), qui change le mode de permission directement plutôt que via une mise à jour de permission.

2041 2041 

2042Les hooks PreToolUse s'exécutent avant chaque appel d'outil, qu'il ait besoin de permission ou non. Les hooks PermissionRequest s'exécutent uniquement quand Claude Code est sur le point de vous demander la permission, ou quand il refuserait autrement automatiquement un appel qui ne peut pas inviter. Aucun événement ne se déclenche pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).2042Les hooks PreToolUse s'exécutent avant chaque appel d'outil, qu'il ait besoin de permission ou non. Les hooks PermissionRequest s'exécutent uniquement quand Claude Code est sur le point de vous demander la permission, ou quand il refuserait autrement un appel qui ne peut pas inviter. Aucun événement ne se déclenche pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).

2043 2043 

2044```json theme={null}2044```json theme={null}

2045{2045{


2078| `message` | Pour `"deny"` uniquement : dit à Claude pourquoi la permission a été refusée |2078| `message` | Pour `"deny"` uniquement : dit à Claude pourquoi la permission a été refusée |

2079| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |2079| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |

2080 2080 

2081Un hook qui quitte 2 sans un objet `decision` laisse le flux de permission inchangé, et son stderr est rejeté. Seul l'objet `decision` peut accorder ou refuser la demande.2081Un hook qui quitte 2 sans un objet `decision` laisse le flux de permission inchangé, et son stderr est rejeté. Seul l'objet `decision` peut accorder ou refuser la requête.

2082 2082 

2083```json theme={null}2083```json theme={null}

2084{2084{


2110| `removeDirectories` | `directories`, `destination` | Supprime les répertoires de travail |2110| `removeDirectories` | `directories`, `destination` | Supprime les répertoires de travail |

2111 2111 

2112<Note>2112<Note>

2113 `setMode` avec `bypassPermissions` ne prend effet que si vous avez lancé la session avec le mode bypass déjà disponible : `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions`, ou `permissions.defaultMode: "bypassPermissions"` dans les [paramètres utilisateur, `--settings`, ou gérés](/docs/fr/settings-reference#permissions-defaultmode). Sinon, la mise à jour est un non-op. La mise à jour est également un non-op quand [`permissions.disableBypassPermissionsMode`](/docs/fr/permissions#managed-settings) désactive le mode, ou quand la session démarre en [mode restreint](/docs/fr/cli-reference#cli-flags).2113 `setMode` avec `bypassPermissions` ne prend effet que si vous avez lancé la session avec le mode de contournement déjà disponible : `--dangerously-skip-permissions`, `--permission-mode bypassPermissions`, `--allow-dangerously-skip-permissions`, ou `permissions.defaultMode: "bypassPermissions"` dans les [paramètres utilisateur, `--settings`, ou gérés](/docs/fr/settings-reference#permissions-defaultmode). Sinon, la mise à jour est un non-op. La mise à jour est également un non-op quand [`permissions.disableBypassPermissionsMode`](/docs/fr/permissions#managed-settings) désactive le mode, ou quand la session démarre en [mode restreint](/docs/fr/cli-reference#cli-flags).

2114 2114 

2115 `bypassPermissions` n'est jamais persisté comme `defaultMode` indépendamment de `destination`.2115 `bypassPermissions` n'est jamais persisté comme `defaultMode` indépendamment de `destination`.

2116</Note>2116</Note>


2136 2136 

2137Correspondez plus largement quand le nom de l'outil n'est pas le bon filtre :2137Correspondez plus largement quand le nom de l'outil n'est pas le bon filtre :

2138 2138 

2139* Pour exécuter un hook après que n'importe quel outil se termine avec succès, omettez le `matcher` ou définissez-le à `"*"`. Votre hook peut alors découvrir ce qui a changé lui-même, par exemple en exécutant `git status --porcelain`, qui liste également les fichiers non suivis que `git diff` manque. Pour les appels d'outils qui échouent, ajoutez le même hook sous [PostToolUseFailure](#posttoolusefailure).2139* Pour exécuter un hook après que n'importe quel outil se termine avec succès, omettez le `matcher` ou définissez-le à `"*"`. Votre hook peut alors découvrir ce qui a changé lui-même, par exemple en exécutant `git status --porcelain`, qui liste également les fichiers non suivis que `git diff` manque. Pour les appels d'outil qui échouent, ajoutez le même hook sous [PostToolUseFailure](#posttoolusefailure).

2140* Pour exécuter un hook quand un fichier spécifique change sur le disque, quel que soit ce qui l'a écrit, utilisez [FileChanged](#filechanged). Claude Code n'exécute pas un hook `PostToolUse` correspondant à `Edit|Write` quand une commande `Bash` ou un processus en dehors de Claude Code réécrit le même fichier.2140* Pour exécuter un hook quand un fichier spécifique change sur le disque, peu importe ce qui l'a écrit, utilisez [FileChanged](#filechanged). Claude Code n'exécute pas un hook `PostToolUse` correspondant à `Edit|Write` quand une commande `Bash` ou un processus en dehors de Claude Code réécrit le même fichier.

2141 2141 

2142<h4 id="posttooluse-input">2142<h4 id="posttooluse-input">

2143 Entrée PostToolUse2143 Entrée PostToolUse

2144</h4>2144</h4>

2145 2145 

2146Les hooks `PostToolUse` se déclenchent après qu'un outil s'est déjà exécuté avec succès. L'entrée inclut à la fois `tool_input`, les arguments envoyés à l'outil, et `tool_response`, le résultat qu'il a retourné. Le schéma exact pour les deux dépend de l'outil. Les chemins d'outil de fichier `tool_input` arrivent dans le même format que pour [PreToolUse](#pretooluse-input) : toujours absolu, avec les séparateurs natifs de la plateforme, donc les barres obliques inverses sur Windows. Pour un outil MCP, l'entrée porte également l'objet [`mcp_server`](#pretooluse-input).2146Les hooks `PostToolUse` se déclenchent après qu'un outil s'est déjà exécuté avec succès. L'entrée inclut à la fois `tool_input`, les arguments envoyés à l'outil, et `tool_response`, le résultat qu'il a retourné. Le schéma exact pour les deux dépend de l'outil. Les chemins `tool_input` des outils de fichier arrivent dans le même format que pour [PreToolUse](#pretooluse-input) : toujours absolu, avec les séparateurs natifs de la plateforme, donc les barres obliques inverses sur Windows. Pour un outil MCP, l'entrée porte également l'objet [`mcp_server`](#pretooluse-input).

2147 2147 

2148```json theme={null}2148```json theme={null}

2149{2149{


2177Les hooks `PostToolUse` peuvent fournir des commentaires à Claude après l'exécution de l'outil. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut retourner ces champs spécifiques à l'événement :2177Les hooks `PostToolUse` peuvent fournir des commentaires à Claude après l'exécution de l'outil. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut retourner ces champs spécifiques à l'événement :

2178 2178 

2179| Champ | Description |2179| Champ | Description |

2180| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2180| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

2181| `decision` | `"block"` ajoute la `reason` à côté du résultat de l'outil. Claude voit toujours la sortie originale ; pour la remplacer, utilisez `updatedToolOutput` |2181| `decision` | `"block"` ajoute la `reason` à côté du résultat de l'outil. Claude voit toujours la sortie originale ; pour la remplacer, utilisez `updatedToolOutput` |

2182| `reason` | Explication montrée à Claude quand `decision` est `"block"` |2182| `reason` | Explication montrée à Claude quand `decision` est `"block"` |

2183| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du résultat de l'outil. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |2183| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du résultat de l'outil. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

2184| `classifierContext` | Note courte sur le résultat de cet appel pour le classificateur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) plutôt que pour Claude. Voir [Annoter un résultat pour le classificateur du mode auto](#annotate-a-result-for-the-auto-mode-classifier). Nécessite Claude Code v2.1.236 ou ultérieur |2184| `classifierContext` | Brève note sur le résultat de cet appel pour le classificateur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) plutôt que pour Claude. Voir [Annoter un résultat pour le classificateur du mode auto](#annotate-a-result-for-the-auto-mode-classifier). Nécessite Claude Code v2.1.236 ou ultérieur |

2185| `updatedToolOutput` | Remplace la sortie de l'outil par la valeur fournie avant qu'elle ne soit envoyée à Claude. La valeur doit correspondre à la forme de sortie de l'outil |2185| `updatedToolOutput` | Remplace la sortie de l'outil par la valeur fournie avant qu'elle ne soit envoyée à Claude. La valeur doit correspondre à la forme de sortie de l'outil |

2186| `updatedMCPToolOutput` | Remplace la sortie pour les [outils MCP](#match-mcp-tools) uniquement. Préférez `updatedToolOutput`, qui fonctionne pour tous les outils |2186| `updatedMCPToolOutput` | Remplace la sortie pour les [outils MCP](#match-mcp-tools) uniquement. Préférez `updatedToolOutput`, qui fonctionne pour tous les outils |

2187 2187 


2203```2203```

2204 2204 

2205<Warning>2205<Warning>

2206 `updatedToolOutput` change uniquement ce que Claude voit. L'outil s'est déjà exécuté au moment où le hook se déclenche, donc tous les fichiers écrits, commandes exécutées, ou demandes réseau envoyées ont déjà pris effet. La télémétrie comme les spans d'outils OpenTelemetry et les événements d'analyse capturent également la sortie originale avant que le hook s'exécute. Pour empêcher ou modifier un appel d'outil avant qu'il s'exécute, utilisez plutôt un hook [PreToolUse](#pretooluse).2206 `updatedToolOutput` change uniquement ce que Claude voit. L'outil s'est déjà exécuté au moment où le hook se déclenche, donc tous les fichiers écrits, commandes exécutées, ou requêtes réseau envoyées ont déjà pris effet. La télémétrie comme les spans d'outil OpenTelemetry et les événements d'analyse capturent également la sortie originale avant que le hook s'exécute. Pour empêcher ou modifier un appel d'outil avant qu'il s'exécute, utilisez plutôt un hook [PreToolUse](#pretooluse).

2207 2207 

2208 La valeur de remplacement doit correspondre à la forme de sortie de l'outil. Les outils intégrés retournent des objets structurés plutôt que des chaînes brutes. Par exemple, `Bash` retourne un objet avec les champs `stdout`, `stderr`, `interrupted`, et `isImage`. Pour les outils intégrés, une valeur qui ne correspond pas au schéma de sortie de l'outil est ignorée et la sortie originale est utilisée. La sortie d'outil MCP est transmise sans validation de schéma. Supprimer les détails d'erreur que Claude a besoin peut le faire procéder sur une fausse hypothèse.2208 La valeur de remplacement doit correspondre à la forme de sortie de l'outil. Les outils intégrés retournent des objets structurés plutôt que des chaînes brutes. Par exemple, `Bash` retourne un objet avec les champs `stdout`, `stderr`, `interrupted`, et `isImage`. Pour les outils intégrés, une valeur qui ne correspond pas au schéma de sortie de l'outil est ignorée et la sortie originale est utilisée. La sortie d'outil MCP est transmise sans validation de schéma. Supprimer les détails d'erreur dont Claude a besoin peut le faire procéder sur une fausse hypothèse.

2209</Warning>2209</Warning>

2210 2210 

2211<h4 id="annotate-a-result-for-the-auto-mode-classifier">2211<h4 id="annotate-a-result-for-the-auto-mode-classifier">

2212 Annoter un résultat pour le classificateur du mode auto2212 Annoter un résultat pour le classificateur du mode auto

2213</h4>2213</h4>

2214 2214 

2215Retournez `classifierContext` pour envoyer une note courte sur le résultat de l'appel d'outil au classificateur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) plutôt qu'à Claude. Le classificateur [ne reçoit jamais les résultats d'outils eux-mêmes](/docs/fr/permission-modes#how-the-classifier-evaluates-actions), donc ce champ est la façon supportée de lui dire quelque chose sur ce qu'un appel a retourné avant qu'il examine les actions ultérieures. Le champ nécessite Claude Code v2.1.236 ou ultérieur.2215Retournez `classifierContext` pour envoyer une brève note sur le résultat de l'appel d'outil au classificateur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) plutôt qu'à Claude. Le classificateur [ne reçoit jamais les résultats d'outil eux-mêmes](/docs/fr/permission-modes#how-the-classifier-evaluates-actions), donc ce champ est la façon supportée de lui dire quelque chose sur ce qu'un appel a retourné avant qu'il examine les actions ultérieures. Le champ nécessite Claude Code v2.1.236 ou ultérieur.

2216 2216 

2217L'exemple ci-dessous dit au classificateur d'où la sortie d'une requête provient :2217L'exemple ci-dessous dit au classificateur d'où provient la sortie d'une requête :

2218 2218 

2219```json theme={null}2219```json theme={null}

2220{2220{


2227 2227 

2228Le poids que le classificateur donne à la note dépend de l'endroit où vous avez configuré le hook :2228Le poids que le classificateur donne à la note dépend de l'endroit où vous avez configuré le hook :

2229 2229 

2230* **Hooks configurés dans Claude Code** : pour les hooks des fichiers de paramètres, plugins, skills, et frontmatter d'agent, le classificateur traite la note comme du contexte non vérifié fourni par l'application. La note n'établit jamais l'intention de l'utilisateur, et si elle prétend que vous avez approuvé ou demandé quelque chose, le classificateur vérifie cette affirmation contre vos propres messages dans la conversation2230* **Hooks configurés dans Claude Code** : pour les hooks des fichiers de paramètres, des plugins, des skills, et du frontmatter d'agent, le classificateur traite la note comme du contexte non vérifié fourni par l'application. La note n'établit jamais l'intention de l'utilisateur, et si elle prétend que vous avez approuvé ou demandé quelque chose, le classificateur vérifie cette affirmation contre vos propres messages dans la conversation

2231* **Rappels Agent SDK en processus** : quand une application intégrant Claude Code enregistre le hook comme un [rappel SDK TypeScript](/docs/fr/agent-sdk/hooks) et retourne la note pendant la session en direct, le classificateur peut peser une déclaration d'utilisateur relayée dans la note comme intention de l'utilisateur. Une telle déclaration peut satisfaire une exigence de consentement que le classificateur accepterait d'un message que vous envoyez, mais elle ne lève jamais un blocage que votre propre message ne pourrait pas lever non plus. Après qu'une session reprenne, Claude Code traite les notes restaurées comme du contexte non vérifié. Quand les hooks des deux groupes annotent le même appel, le classificateur traite la note combinée comme non vérifiée2231* **Rappels Agent SDK en processus** : quand une application intégrant Claude Code enregistre le hook comme un [rappel SDK TypeScript](/docs/fr/agent-sdk/hooks) et retourne la note pendant la session en direct, le classificateur peut peser une déclaration d'utilisateur relayée dans la note comme intention de l'utilisateur. Une telle déclaration peut satisfaire une exigence de consentement que le classificateur accepterait d'un message que vous envoyez, mais elle ne lève jamais un blocage que votre propre message ne pourrait pas lever non plus. Après qu'une session reprenne, Claude Code traite les notes restaurées comme du contexte non vérifié. Quand les hooks des deux groupes annotent le même appel, le classificateur traite la note combinée comme non vérifiée

2232 2232 

2233Claude Code applique ces limites lors de la livraison de la note :2233Claude Code applique ces limites lors de la livraison de la note :


2235* **Longueur** : Claude Code plafonne les notes pour un appel d'outil à 2 000 caractères et tronque le reste. Le plafond est partagé entre chaque hook qui répond à cet appel2235* **Longueur** : Claude Code plafonne les notes pour un appel d'outil à 2 000 caractères et tronque le reste. Le plafond est partagé entre chaque hook qui répond à cet appel

2236* **Réponses synchrones uniquement** : Claude Code ignore le champ dans la réponse d'un hook qui [s'exécute en arrière-plan](#run-hooks-in-the-background), parce que cette réponse arrive après que Claude Code enregistre le résultat de l'outil2236* **Réponses synchrones uniquement** : Claude Code ignore le champ dans la réponse d'un hook qui [s'exécute en arrière-plan](#run-hooks-in-the-background), parce que cette réponse arrive après que Claude Code enregistre le résultat de l'outil

2237* **Appels que le classificateur n'enregistre pas** : la transcription du classificateur omet les recherches en lecture seule comme les lectures de fichiers et les recherches. Claude Code rejette une note attachée à l'un de ces appels2237* **Appels que le classificateur n'enregistre pas** : la transcription du classificateur omet les recherches en lecture seule comme les lectures de fichiers et les recherches. Claude Code rejette une note attachée à l'un de ces appels

2238* **Interaction avec les réécritures** : quand la note décrit la sortie que vous remplacez avec `updatedToolOutput`, retournez les deux champs dans la même réponse de hook. Claude Code abandonne la note si cette réécriture est rejetée ou qu'une réécriture d'un autre hook la remplace. Claude Code livre une note que vous retournez sans réécriture même quand un autre hook réécrit la sortie2238* **Interaction avec les réécritures** : quand la note décrit la sortie que vous remplacez avec `updatedToolOutput`, retournez les deux champs dans la même réponse de hook. Claude Code rejette la note si cette réécriture est rejetée ou qu'une réécriture d'un autre hook la remplace. Claude Code livre une note que vous retournez sans réécriture même quand un autre hook réécrit la sortie

2239 2239 

2240<Warning>2240<Warning>

2241 Le classificateur lit le contenu que vous placez dans `classifierContext` comme des informations de l'application hébergeant la session, donc ne copiez pas la sortie d'outil non fiable ou le texte tiers dedans. Gardez la note à une courte affirmation sur cet appel uniquement, comme un fait sur son origine ou une déclaration d'utilisateur à ce sujet ; n'utilisez pas le champ pour livrer des messages non liés ou un flux d'événements.2241 Le classificateur lit le contenu que vous placez dans `classifierContext` comme des informations de l'application hébergeant la session, donc ne copiez pas la sortie d'outil non fiable ou le texte tiers dedans. Gardez la note à une brève affirmation sur cet appel uniquement, comme un fait sur son origine ou une déclaration d'utilisateur à ce sujet ; n'utilisez pas le champ pour livrer des messages non liés ou un flux d'événements.

2242</Warning>2242</Warning>

2243 2243 

2244<h3 id="posttoolusefailure">2244<h3 id="posttoolusefailure">


2250Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2250Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2251 2251 

2252<Note>2252<Note>

2253 Cet événement ne se déclenche pas pour les appels d'outils refusés avant l'exécution : un nom d'outil inconnu, une entrée qui échoue la validation de schéma ou spécifique à l'outil, ou un refus de permission. Les rejets de validation sont retournés comme résultats `tool_use_error` et se produisent avant que les hooks s'exécutent, donc ils ne déclenchent ni `PreToolUse` ni `PostToolUseFailure`. Les refus de permission déclenchent `PreToolUse` mais pas cet événement ; voir [PermissionDenied](#permissiondenied).2253 Cet événement ne se déclenche pas pour les appels d'outil rejetés avant l'exécution : un nom d'outil inconnu, une entrée qui échoue la validation de schéma ou spécifique à l'outil, ou un refus de permission. Les rejets de validation sont retournés comme des résultats `tool_use_error` et se produisent avant que les hooks s'exécutent, donc ils ne déclenchent ni `PreToolUse` ni `PostToolUseFailure`. Les refus de permission déclenchent `PreToolUse` mais pas cet événement ; voir [PermissionDenied](#permissiondenied).

2254</Note>2254</Note>

2255 2255 

2256<h4 id="posttoolusefailure-input">2256<h4 id="posttoolusefailure-input">


2288 2288 

2289* Pour Bash et PowerShell, une commande qui s'est exécutée et a quitté produit une première ligne `Exit code N`, puis toute sortie que la commande a produite comme un bloc avec stdout et stderr entrelacés2289* Pour Bash et PowerShell, une commande qui s'est exécutée et a quitté produit une première ligne `Exit code N`, puis toute sortie que la commande a produite comme un bloc avec stdout et stderr entrelacés

2290* Une charge utile peut également porter un message d'échec nu sans ligne de code de sortie, quand Claude Code n'a pas pu démarrer le processus shell lui-même2290* Une charge utile peut également porter un message d'échec nu sans ligne de code de sortie, quand Claude Code n'a pas pu démarrer le processus shell lui-même

2291* Claude Code tronque au milieu les longues chaînes autour d'un marqueur `... [N characters truncated] ...`, et peut insérer ses propres lignes, comme `Command timed out after 2m 0s`2291* Claude Code tronque au milieu les longues chaînes autour d'un marqueur `... [N characters truncated] ...`, et peut insérer des lignes de son propre, comme `Command timed out after 2m 0s`

2292 2292 

2293<h4 id="posttoolusefailure-decision-control">2293<h4 id="posttoolusefailure-decision-control">

2294 Contrôle de décision PostToolUseFailure2294 Contrôle de décision PostToolUseFailure


2313 PostToolBatch2313 PostToolBatch

2314</h3>2314</h3>

2315 2315 

2316S'exécute une fois après que chaque appel d'outil dans un lot se soit résolu, avant que Claude Code envoie la demande suivante au modèle. `PostToolUse` se déclenche une fois par outil, ce qui signifie qu'il se déclenche simultanément quand Claude effectue des appels d'outils parallèles. `PostToolBatch` se déclenche exactement une fois avec le lot complet, donc c'est le bon endroit pour injecter du contexte qui dépend de l'ensemble des outils qui se sont exécutés plutôt que de n'importe quel outil unique. Il n'y a pas de matcher pour cet événement.2316S'exécute une fois après que chaque appel d'outil dans un lot se soit résolu, avant que Claude Code envoie la requête suivante au modèle. `PostToolUse` se déclenche une fois par outil, ce qui signifie qu'il se déclenche simultanément quand Claude effectue des appels d'outil parallèles. `PostToolBatch` se déclenche exactement une fois avec le lot complet, donc c'est le bon endroit pour injecter du contexte qui dépend de l'ensemble des outils qui se sont exécutés plutôt que de n'importe quel outil unique. Il n'y a pas de matcher pour cet événement.

2317 2317 

2318<h4 id="posttoolbatch-input">2318<h4 id="posttoolbatch-input">

2319 Entrée PostToolBatch2319 Entrée PostToolBatch


2345}2345}

2346```2346```

2347 2347 

2348`tool_response` contient le même contenu que le modèle reçoit dans le bloc `tool_result` correspondant. La valeur est une chaîne sérialisée ou un tableau de bloc de contenu, exactement comme l'outil l'a émis. Pour `Read`, cela signifie du texte préfixé par un numéro de ligne plutôt que du contenu de fichier brut. Les réponses peuvent être grandes, donc analysez uniquement les champs dont vous avez besoin.2348`tool_response` contient le même contenu que le modèle reçoit dans le bloc `tool_result` correspondant. La valeur est une chaîne sérialisée ou un tableau de bloc de contenu, exactement comme l'outil l'a émis. Pour `Read`, cela signifie du texte préfixé par le numéro de ligne plutôt que le contenu brut du fichier. Les réponses peuvent être grandes, donc analysez uniquement les champs dont vous avez besoin.

2349 2349 

2350<Note>2350<Note>

2351 La forme `tool_response` diffère de celle de `PostToolUse`. `PostToolUse` passe l'objet `Output` structuré de l'outil, comme `{filePath: "...", type: "create"}` pour `Write` ; `PostToolBatch` passe le contenu `tool_result` sérialisé que le modèle voit.2351 La forme `tool_response` diffère de celle de `PostToolUse`. `PostToolUse` passe l'objet `Output` structuré de l'outil, comme `{filePath: "...", type: "create"}` pour `Write` ; `PostToolBatch` passe le contenu `tool_result` sérialisé que le modèle voit.


2370}2370}

2371```2371```

2372 2372 

2373Retourner `decision: "block"` ou `continue: false` arrête la boucle agentique avant l'appel du modèle suivant. Le message de blocage provient du JSON `reason` ou `stopReason`, ou de stderr en quittant 2. Vous le voyez comme un avertissement dans la transcription, et il reste dans la conversation, donc Claude le voit quand la conversation continue.2373Retourner `decision: "block"` ou `continue: false` arrête la boucle agentive avant l'appel du modèle suivant. Le message de blocage provient du JSON `reason` ou `stopReason`, ou de stderr sur la sortie 2. Vous le voyez comme un avertissement dans la transcription, et il reste dans la conversation, donc Claude le voit quand la conversation continue.

2374 2374 

2375<h3 id="permissiondenied">2375<h3 id="permissiondenied">

2376 PermissionDenied2376 PermissionDenied

2377</h3>2377</h3>

2378 2378 

2379S'exécute quand le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) refuse un appel d'outil, y compris quand il refuse sans verdict de classificateur parce qu'une [vérification de sécurité séparée du mode auto a refusé la demande du classificateur lui-même](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou sa réponse n'a pas analysé. Ce hook ne se déclenche que en mode auto : il ne s'exécute pas quand vous refusez manuellement un dialogue de permission, quand un hook `PreToolUse` bloque un appel, ou quand une règle `deny` correspond. Utilisez-le pour enregistrer les refus, ajuster la configuration, ou dire au modèle qu'il peut réessayer l'appel d'outil.2379S'exécute quand le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) refuse un appel d'outil, y compris quand il refuse sans verdict du classificateur parce qu'une [vérification de sécurité séparée du mode auto a refusé la propre requête du classificateur](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou sa réponse n'a pas analysé. Ce hook ne se déclenche que en mode auto : il ne s'exécute pas quand vous refusez manuellement un dialogue de permission, quand un hook `PreToolUse` bloque un appel, ou quand une règle `deny` correspond. Utilisez-le pour enregistrer les refus, ajuster la configuration, ou dire au modèle qu'il peut réessayer l'appel d'outil.

2380 2380 

2381Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2381Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2382 2382 


2405 2405 

2406| Champ | Description |2406| Champ | Description |

2407| :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2407| :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2408| `reason` | La raison du refus. Pour un verdict de classificateur, dans la plupart des sessions, il nomme la règle correspondante entre crochets, comme `[Data Exfiltration]` ; voir [Examiner les refus](/docs/fr/auto-mode-config#review-denials) pour les autres formes. Pour un [refus sans verdict](#permissiondenied-decision-control), il commence par `Auto mode could not evaluate this action and is blocking it for safety`. Pour un refus parce que le modèle de classificateur n'était pas disponible, c'est le texte fixe `Classifier unavailable` |2408| `reason` | La raison du refus. Pour un verdict du classificateur, dans la plupart des sessions, il nomme la règle correspondante entre crochets, comme `[Data Exfiltration]` ; voir [Examiner les refus](/docs/fr/auto-mode-config#review-denials) pour les autres formes. Pour un [refus sans verdict](#permissiondenied-decision-control), il commence par `Auto mode could not evaluate this action and is blocking it for safety`. Pour un refus parce que le modèle du classificateur n'était pas disponible, c'est le texte fixe `Classifier unavailable` |

2409 2409 

2410<h4 id="permissiondenied-decision-control">2410<h4 id="permissiondenied-decision-control">

2411 Contrôle de décision PermissionDenied2411 Contrôle de décision PermissionDenied


2424 2424 

2425Quand `retry` est `true`, Claude Code ajoute un message à la conversation disant au modèle qu'il peut réessayer l'appel d'outil. Claude Code ne renverse pas le refus lui-même. Si votre hook ne retourne pas JSON, ou retourne `retry: false`, le refus tient et le modèle reçoit le message de rejet original.2425Quand `retry` est `true`, Claude Code ajoute un message à la conversation disant au modèle qu'il peut réessayer l'appel d'outil. Claude Code ne renverse pas le refus lui-même. Si votre hook ne retourne pas JSON, ou retourne `retry: false`, le refus tient et le modèle reçoit le message de rejet original.

2426 2426 

2427Claude Code ignore `retry: true` quand le classificateur a produit [aucun verdict sur l'action](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) : sa réponse n'a pas analysé, ou une vérification de sécurité séparée du mode auto a refusé la demande du classificateur. Pour ces refus, Claude Code dit déjà au modèle dans le message de rejet s'il faut réessayer plus tard ou continuer.2427Claude Code ignore `retry: true` quand le classificateur a produit [aucun verdict sur l'action](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) : sa réponse n'a pas analysé, ou une vérification de sécurité séparée du mode auto a refusé la propre requête du classificateur. Pour ces refus, Claude Code dit déjà au modèle dans le message de rejet s'il faut réessayer plus tard ou continuer.

2428 2428 

2429<h3 id="notification">2429<h3 id="notification">

2430 Notification2430 Notification


2436 2436 

2437| Matcher | Quand il se déclenche |2437| Matcher | Quand il se déclenche |

2438| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2438| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2439| `permission_prompt` | Claude a besoin de votre permission pour utiliser un outil ou une [demande réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox, et l'invite a attendu environ six secondes |2439| `permission_prompt` | Claude a besoin de votre permission pour utiliser un outil ou la [requête réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox, et l'invite a attendu environ six secondes |

2440| `idle_prompt` | Claude a fini de répondre il y a environ 60 secondes et vous n'avez pas tapé depuis |2440| `idle_prompt` | Claude a fini de répondre il y a environ 60 secondes et vous n'avez pas tapé depuis |

2441| `auth_success` | L'authentification se termine |2441| `auth_success` | L'authentification se termine |

2442| `elicitation_dialog` | Un serveur MCP ouvre un formulaire d'élicitation et vous n'avez pas tapé pendant environ six secondes |2442| `elicitation_dialog` | Un serveur MCP ouvre un formulaire d'élicitation et vous n'avez pas tapé pendant environ six secondes |


2446| `agent_needs_input` | Une session en arrière-plan commence à attendre votre entrée pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal, ou la session actuelle vous pose une [question de configuration de terminal d'un coéquipier d'équipe agent](/docs/fr/agent-teams#choose-a-display-mode) et vous n'avez pas tapé pendant environ six secondes |2446| `agent_needs_input` | Une session en arrière-plan commence à attendre votre entrée pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal, ou la session actuelle vous pose une [question de configuration de terminal d'un coéquipier d'équipe agent](/docs/fr/agent-teams#choose-a-display-mode) et vous n'avez pas tapé pendant environ six secondes |

2447| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal |2447| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal |

2448| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation claude.ai l'ait mise en pause : à la réinitialisation, ou plus tôt quand quelque chose que vous faites dans Claude Code pendant l'attente, comme ajouter des crédits d'utilisation, mettre à niveau votre plan, ou changer de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |2448| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation claude.ai l'ait mise en pause : à la réinitialisation, ou plus tôt quand quelque chose que vous faites dans Claude Code pendant l'attente, comme ajouter des crédits d'utilisation, mettre à niveau votre plan, ou changer de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |

2449| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai s'est réinitialisée pendant que votre ordinateur dormait pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Enter` au lieu de continuer. Après un sommeil plus court, il continue et se déclenche `quota_auto_resume_fired` à la place |2449| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai s'est réinitialisée pendant que votre ordinateur dormait pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Entrée` au lieu de continuer. Après un sommeil plus court, il continue et déclenche `quota_auto_resume_fired` à la place |

2450| `quota_auto_resume_disabled` | Claude Code termine son attente pour une limite d'utilisation claude.ai sans continuer votre tâche : [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) s'est désactivé ou la réinitialisation s'est déplacée de plus de 24 heures pendant une attente que Claude Code a démarrée seul, la tâche continuée a continué à frapper la limite, ou la continuation a été bloquée avant d'atteindre le modèle. Ne se déclenche pas quand vous appuyez sur `Esc` ou `Ctrl+C`, ou choisissez **Ne pas continuer automatiquement** |2450| `quota_auto_resume_disabled` | Claude Code termine son attente pour une limite d'utilisation claude.ai sans continuer votre tâche : [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) s'est désactivé ou la réinitialisation s'est déplacée de plus de 24 heures pendant une attente que Claude Code a démarrée seul, la tâche continuée a continué à frapper la limite, ou la continuation a été bloquée avant d'atteindre le modèle. Ne se déclenche pas quand vous appuyez sur `Esc` ou `Ctrl+C`, ou choisissez **Ne pas continuer automatiquement** |

2451 2451 

2452Les types `agent_needs_input` et `agent_completed` nécessitent Claude Code v2.1.198 ou ultérieur.2452Les types `agent_needs_input` et `agent_completed` nécessitent Claude Code v2.1.198 ou ultérieur.

2453 2453 

2454Les types `quota_auto_resume_fired`, `quota_auto_resume_stale`, et `quota_auto_resume_disabled` nécessitent Claude Code v2.1.234 ou ultérieur.2454Les types `quota_auto_resume_fired`, `quota_auto_resume_stale`, et `quota_auto_resume_disabled` nécessitent Claude Code v2.1.234 ou ultérieur.

2455 2455 

2456Dans les sessions de terminal, `permission_prompt` pour une demande réseau d'une commande en sandbox nécessite Claude Code v2.1.246 ou ultérieur.2456Dans les sessions de terminal, `permission_prompt` pour la requête réseau d'une commande en sandbox nécessite Claude Code v2.1.246 ou ultérieur.

2457 2457 

2458`agent_needs_input` pour une question de configuration de terminal d'un coéquipier nécessite Claude Code v2.1.248 ou ultérieur.2458`agent_needs_input` pour la question de configuration de terminal d'un coéquipier nécessite Claude Code v2.1.248 ou ultérieur.

2459 2459 

2460<Note>2460<Note>

2461 Les types `permission_prompt`, `idle_prompt`, `elicitation_dialog`, et `elicitation_url_dialog` partagent leur timing avec les notifications de bureau, donc dans les sessions de terminal vous ne les voyez que quand vous semblez être loin du terminal :2461 Les types `permission_prompt`, `idle_prompt`, `elicitation_dialog`, et `elicitation_url_dialog` partagent leur timing avec les notifications de bureau, donc dans les sessions de terminal vous ne les voyez que quand vous semblez être loin du terminal :

2462 2462 

2463 * Attendez `permission_prompt` une fois que vous n'avez pas tapé pendant environ six secondes. Le minuteur démarre quand l'invite de permission apparaît, et chaque frappe le reporte. Pour exécuter un hook immédiatement quand Claude demande la permission d'utiliser un outil, utilisez [PermissionRequest](#permissionrequest) à la place.2463 * Attendez `permission_prompt` une fois que vous n'avez pas tapé pendant environ six secondes. Le minuteur démarre quand l'invite de permission apparaît, et chaque frappe le reporte. Pour exécuter un hook immédiatement quand Claude demande la permission d'utiliser un outil, utilisez [PermissionRequest](#permissionrequest) à la place.

2464 * Attendez `idle_prompt` environ 60 secondes après que Claude finisse de répondre, et uniquement si vous n'avez pas tapé depuis. Claude Code n'envoie pas `idle_prompt` pendant qu'il attend qu'une limite d'utilisation claude.ai se réinitialise. Quand l'attente se termine d'elle-même, l'un des types `quota_auto_resume_*` se déclenche à la place.2464 * Attendez `idle_prompt` environ 60 secondes après que Claude finisse de répondre, et uniquement si vous n'avez pas tapé depuis. Claude Code n'envoie pas `idle_prompt` pendant qu'il attend qu'une limite d'utilisation claude.ai se réinitialise. Quand l'attente se termine d'elle-même, l'un des types `quota_auto_resume_*` se déclenche à la place.

2465 * Attendez `elicitation_dialog` pour un formulaire d'élicitation, ou `elicitation_url_dialog` pour une demande d'URL de navigateur, une fois que vous n'avez pas tapé pendant environ six secondes. Les deux partagent la même porte de six secondes que `permission_prompt` : le minuteur démarre quand le dialogue apparaît, et chaque frappe le reporte.2465 * Attendez `elicitation_dialog` pour un formulaire d'élicitation, ou `elicitation_url_dialog` pour une requête d'URL de navigateur, une fois que vous n'avez pas tapé pendant environ six secondes. Les deux partagent la même porte de six secondes que `permission_prompt` : le minuteur démarre quand le dialogue apparaît, et chaque frappe le reporte.

2466 2466 

2467 Une demande de permission ou d'élicitation qui arrive pendant qu'un autre dialogue est à l'écran garde la même porte de six secondes, chronométrée à partir de quand la demande arrive. Sa notification peut vous atteindre pendant que la demande attend toujours derrière le dialogue ouvert.2467 Une requête de permission ou d'élicitation qui arrive pendant qu'un autre dialogue est à l'écran garde la même porte de six secondes, chronométrée à partir de quand la requête arrive. Sa notification peut vous atteindre pendant que la requête attend toujours derrière le dialogue ouvert.

2468</Note>2468</Note>

2469 2469 

2470Claude Code chronomètre `permission_prompt` différemment dans les sessions où il envoie les demandes de permission au rappel [`canUseTool`](/docs/fr/agent-sdk/user-input) du SDK Agent, ce qui est comment Claude Desktop et l'extension VS Code hébergent Claude Code :2470Claude Code chronomètre `permission_prompt` différemment dans les sessions où il envoie les requêtes de permission au rappel [`canUseTool`](/docs/fr/agent-sdk/user-input) d'Agent SDK, ce qui est comment Claude Desktop et l'extension VS Code hébergent Claude Code :

2471 2471 

2472* Attendez `permission_prompt` environ six secondes après que Claude demande la permission. Claude Code ne le reporte pas pendant que vous tapez.2472* Attendez `permission_prompt` environ six secondes après que Claude demande la permission. Claude Code ne le reporte pas pendant que vous tapez.

2473* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code ne l'exécute pas.2473* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code n'exécute pas `permission_prompt`.

2474* Définissez [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/fr/env-vars) à `1` pour désactiver `permission_prompt` dans ces sessions.2474* Définissez [`CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS`](/docs/fr/env-vars) à `1` pour désactiver `permission_prompt` dans ces sessions.

2475 2475 

2476Avant v2.1.233, `permission_prompt` ne se déclenchait pas dans ces sessions.2476Avant v2.1.233, `permission_prompt` ne se déclenchait pas dans ces sessions.


2522}2522}

2523```2523```

2524 2524 

2525Les hooks Notification ne peuvent pas bloquer ou modifier les notifications. Claude Code rejette leurs champs `systemMessage` et `continue` mais émet toujours [`terminalSequence`](#emit-terminal-notifications), sur lequel l'exemple de notification de bureau s'appuie. Les hooks Notification sont destinés aux effets secondaires comme transférer la notification à un service externe.2525Les hooks Notification ne peuvent pas bloquer ou modifier les notifications. Claude Code rejette leurs champs `systemMessage` et `continue` mais émet toujours [`terminalSequence`](#emit-terminal-notifications), sur lequel l'exemple de notification de bureau s'appuie. Les hooks Notification sont destinés aux effets secondaires comme le transfert de la notification vers un service externe.

2526 2526 

2527<h3 id="subagentstart">2527<h3 id="subagentstart">

2528 SubagentStart2528 SubagentStart

2529</h3>2529</h3>

2530 2530 

2531S'exécute quand Claude crée un sous-agent avec l'outil Agent, quand Claude [reprend un sous-agent](/docs/fr/sub-agents#resume-subagents), et chaque fois qu'un [coéquipier d'équipe agent](/docs/fr/agent-teams) en processus gère un nouveau message. Supporte les matchers pour filtrer par nom de type d'agent. Pour les agents intégrés, c'est le nom de l'agent comme `general-purpose`, `Explore`, ou `Plan`. Pour les [sous-agents personnalisés](/docs/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom de fichier.2531S'exécute quand Claude crée un sous-agent avec l'outil Agent, quand Claude [reprend un sous-agent](/docs/fr/sub-agents#resume-subagents), et chaque fois qu'un coéquipier d'[équipe agent](/docs/fr/agent-teams) en processus gère un nouveau message. Supporte les matchers pour filtrer par nom de type d'agent. Pour les agents intégrés, c'est le nom de l'agent comme `general-purpose`, `Explore`, ou `Plan`. Pour les [sous-agents personnalisés](/docs/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom de fichier.

2532 2532 

2533Pour les sous-agents expédiés par un [plugin](/docs/fr/plugins), le type d'agent est l'identifiant scoped du plugin comme `my-plugin:reviewer`, pas le nom du frontmatter nu. Le deux-points place un nom scoped du plugin sur le chemin d'expression régulière, donc ancrez le matcher avec `^` et `$` pour une correspondance exacte : `^my-plugin:reviewer$`.2533Pour les sous-agents fournis par un [plugin](/docs/fr/plugins), le type d'agent est l'identifiant scoped du plugin comme `my-plugin:reviewer`, pas le nom du frontmatter nu. Le deux-points place un nom scoped du plugin sur le chemin d'expression régulière, donc ancrez le matcher avec `^` et `$` pour une correspondance exacte : `^my-plugin:reviewer$`.

2534 2534 

2535<h4 id="subagentstart-input">2535<h4 id="subagentstart-input">

2536 Entrée SubagentStart2536 Entrée SubagentStart

2537</h4>2537</h4>

2538 2538 

2539En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStart reçoivent `agent_id` avec l'identifiant unique du sous-agent et `agent_type` avec le nom de l'agent que le matcher filtre.2539En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStart reçoivent `agent_id` avec l'identifiant unique du sous-agent et `agent_type` avec le nom de l'agent sur lequel le matcher filtre.

2540 2540 

2541```json theme={null}2541```json theme={null}

2542{2542{


2578 2578 

2579En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStop reçoivent `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path`, et `last_assistant_message`. Le champ `agent_type` est la valeur utilisée pour le filtrage du matcher. Le `transcript_path` est la transcription de la session principale, tandis que `agent_transcript_path` est la propre transcription du sous-agent stockée dans un dossier `subagents/` imbriqué. Le champ `last_assistant_message` contient le contenu textuel de la réponse finale du sous-agent, donc les hooks peuvent y accéder sans analyser le fichier de transcription.2579En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStop reçoivent `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path`, et `last_assistant_message`. Le champ `agent_type` est la valeur utilisée pour le filtrage du matcher. Le `transcript_path` est la transcription de la session principale, tandis que `agent_transcript_path` est la propre transcription du sous-agent stockée dans un dossier `subagents/` imbriqué. Le champ `last_assistant_message` contient le contenu textuel de la réponse finale du sous-agent, donc les hooks peuvent y accéder sans analyser le fichier de transcription.

2580 2580 

2581Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference) livre son rapport via cet outil avant qu'il s'arrête. Le champ `last_assistant_message` porte alors le texte de fermeture du sous-agent, le cas échéant, qui n'est pas le rapport livré. Le rapport est l'entrée `message` de cet appel, qu'un hook `PreToolUse` ou `PostToolUse` correspondant à `SubagentHandback` reçoit comme `tool_input.message`.2581Pas chaque événement SubagentStop provient d'un sous-agent que Claude a créé. Claude Code exécute également des agents internes pour certaines de ses propres fonctionnalités, comme les [suggestions d'invite](/docs/fr/interactive-mode#prompt-suggestions) et les [questions latérales `/btw`](/docs/fr/interactive-mode#side-questions-with-%2Fbtw), et SubagentStop se déclenche quand l'un de ceux-ci se termine aussi. Pour ces événements, `agent_type` est le nom de l'agent que la session elle-même exécute, comme celui défini avec [`--agent`](/docs/fr/cli-reference#cli-flags) ou le [paramètre `agent`](/docs/fr/settings-reference#agent), et une chaîne vide quand la session s'exécute sans un.

2582 

2583Un `matcher` qui nomme les types d'agent ne correspond pas à un `agent_type` vide. Un hook dont le matcher est omis, `""`, ou `"*"`, ou est une expression régulière qui correspond à une chaîne vide, s'exécute pour les événements avec un `agent_type` vide aussi.

2584 

2585Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference) livre son rapport via cet outil avant qu'il ne s'arrête. Le champ `last_assistant_message` contient alors le texte de fermeture du sous-agent, le cas échéant, qui n'est pas le rapport livré. Le rapport est l'entrée `message` de cet appel, qu'un hook `PreToolUse` ou `PostToolUse` correspondant à `SubagentHandback` reçoit comme `tool_input.message`.

2582 2586 

2583Les hooks SubagentStop reçoivent également les tableaux `background_tasks` et `session_crons` décrits sous [Entrée Stop](#stop-input). Les deux tableaux sont scoped à la session parent, pas au sous-agent.2587Les hooks SubagentStop reçoivent également les tableaux `background_tasks` et `session_crons` décrits sous [Entrée Stop](#stop-input). Les deux tableaux sont scoped à la session parent, pas au sous-agent.

2584 2588 


2605 TaskCreated2609 TaskCreated

2606</h3>2610</h3>

2607 2611 

2608S'exécute quand une tâche est en cours de création via l'outil `TaskCreate`. Utilisez ceci pour appliquer les conventions de nommage, exiger les descriptions de tâches, ou empêcher certaines tâches d'être créées. Dans une [session sans les outils Task](/docs/fr/tools-reference#task-tool-availability), cet événement ne se déclenche pas.2612S'exécute quand une tâche est en cours de création via l'outil `TaskCreate`. Utilisez ceci pour appliquer les conventions de nommage, exiger les descriptions de tâche, ou empêcher certaines tâches d'être créées. Dans une [session sans les outils Task](/docs/fr/tools-reference#task-tool-availability), cet événement ne se déclenche pas.

2609 2613 

2610Les hooks TaskCreated ne supportent pas les matchers et se déclenchent à chaque occurrence.2614Les hooks TaskCreated ne supportent pas les matchers et se déclenchent à chaque occurrence.

2611 2615 


2665 TaskCompleted2669 TaskCompleted

2666</h3>2670</h3>

2667 2671 

2668S'exécute quand une tâche est en cours de marquage comme complétée. Cela se déclenche dans deux situations : quand n'importe quel agent marque explicitement une tâche comme complétée via l'outil TaskUpdate, ou quand un [coéquipier d'équipe agent](/docs/fr/agent-teams) termine son tour avec des tâches en cours. Utilisez ceci pour appliquer les critères de complétion comme passer les tests ou les vérifications de lint avant qu'une tâche puisse se fermer.2672S'exécute quand une tâche est en cours de marquage comme complétée. Cela se déclenche dans deux situations : qu'un agent marque explicitement une tâche comme complétée via l'outil TaskUpdate, ou quand un coéquipier d'[équipe agent](/docs/fr/agent-teams) termine son tour avec des tâches en cours. Utilisez ceci pour appliquer les critères de complétion comme passer les tests ou les vérifications lint avant qu'une tâche puisse se fermer.

2669 2673 

2670Les hooks TaskCompleted ne supportent pas les matchers et se déclenchent à chaque occurrence.2674Les hooks TaskCompleted ne supportent pas les matchers et se déclenchent à chaque occurrence.

2671 2675 


2727 Stop2731 Stop

2728</h3>2732</h3>

2729 2733 

2730S'exécute quand l'agent Claude Code principal a fini de répondre. Ne s'exécute pas si l'arrêt s'est produit en raison d'une interruption utilisateur. Les erreurs API déclenchent [StopFailure](#stopfailure) à la place.2734S'exécute quand l'agent Claude Code principal a fini de répondre. Ne s'exécute pas si l'arrêt s'est produit en raison d'une interruption utilisateur. Les erreurs API déclenchent plutôt [StopFailure](#stopfailure).

2731 2735 

2732<Tip>2736<Tip>

2733 La commande [`/goal`](/docs/fr/goal) est un raccourci intégré pour un hook Stop basé sur une invite scoped à la session. Utilisez-le quand vous voulez que Claude continue à travailler vers une condition sans écrire la configuration du hook.2737 La commande [`/goal`](/docs/fr/goal) est un raccourci intégré pour un hook Stop scoped à la session basé sur les invites. Utilisez-le quand vous voulez que Claude continue à travailler vers une condition sans écrire la configuration du hook.

2734</Tip>2738</Tip>

2735 2739 

2736<h4 id="stop-input">2740<h4 id="stop-input">


2739 2743 

2740En plus des [champs d'entrée communs](#common-input-fields), les hooks Stop reçoivent `stop_hook_active`, `last_assistant_message`, `background_tasks`, et `session_crons`. Le champ `stop_hook_active` est `true` quand Claude Code continue déjà en raison d'un hook stop. Vérifiez cette valeur ou traitez la transcription pour éviter de bloquer sur une condition qui ne se résoudra jamais. Claude Code remplace le hook et termine le tour après 8 blocages consécutifs.2744En plus des [champs d'entrée communs](#common-input-fields), les hooks Stop reçoivent `stop_hook_active`, `last_assistant_message`, `background_tasks`, et `session_crons`. Le champ `stop_hook_active` est `true` quand Claude Code continue déjà en raison d'un hook stop. Vérifiez cette valeur ou traitez la transcription pour éviter de bloquer sur une condition qui ne se résoudra jamais. Claude Code remplace le hook et termine le tour après 8 blocages consécutifs.

2741 2745 

2742Le champ `last_assistant_message` contient le contenu textuel de la réponse finale de Claude, donc les hooks peuvent y accéder sans analyser le fichier de transcription. Pour les hooks qui agissent sur le tour qui vient de se terminer, comme les hooks de lecture à haute voix ou de notification, utilisez ce champ plutôt que de lire `transcript_path` : le fichier de transcription n'est pas garanti d'inclure le message final au moment du Stop sur toutes les versions.2746Le champ `last_assistant_message` contient le contenu textuel de la réponse finale de Claude, donc les hooks peuvent y accéder sans analyser le fichier de transcription. Pour les hooks qui agissent sur le tour qui vient de se terminer, comme les hooks de lecture à haute voix ou de notification, utilisez ce champ plutôt que de lire `transcript_path` : le fichier de transcription n'est pas garanti d'inclure le message final au moment de Stop sur toutes les versions.

2743 2747 

2744Les tableaux `background_tasks` et `session_crons` permettent aux hooks de distinguer « la session est terminée » de « la session est mise en pause en attente que le travail en arrière-plan la réveille ». Les deux tableaux sont présents quand le registre de tâches est accessible et sont vides quand rien n'est en vol ou programmé.2748Les tableaux `background_tasks` et `session_crons` permettent aux hooks de distinguer « la session est terminée » de « la session est en pause en attente que le travail en arrière-plan la réveille ». Les deux tableaux sont présents quand le registre de tâches est accessible et sont vides quand rien n'est en vol ou programmé.

2745 2749 

2746Chaque entrée dans `background_tasks` décrit une tâche en vol et utilise ces champs :2750Chaque entrée dans `background_tasks` décrit une tâche en vol et utilise ces champs :

2747 2751 


2749| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2753| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2750| `id` | Identifiant de tâche |2754| `id` | Identifiant de tâche |

2751| `type` | Étiquette de type de tâche conviviale comme `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, ou `MCP task`. Chaque étiquette identifie quelle fonctionnalité Claude Code a créé la tâche. Revient au discriminant brut pour les types non reconnus |2755| `type` | Étiquette de type de tâche conviviale comme `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, ou `MCP task`. Chaque étiquette identifie quelle fonctionnalité Claude Code a créé la tâche. Revient au discriminant brut pour les types non reconnus |

2752| `status` | Statut de tâche actuel |2756| `status` | État actuel de la tâche |

2753| `description` | Description en texte libre, plafonnée à 1 000 caractères avec un marqueur `… [+N chars]` en chaîne quand clippée |2757| `description` | Description en texte libre, plafonnée à 1 000 caractères avec un marqueur `… [+N chars]` en chaîne quand coupée |

2754| `command` | Ligne de commande shell, plafonnée à 1 000 caractères. Présent uniquement pour les tâches `shell` |2758| `command` | Ligne de commande shell, plafonnée à 1 000 caractères. Présent uniquement pour les tâches `shell` |

2755| `agent_type` | Nom de type de sous-agent. Présent uniquement pour les tâches `subagent` |2759| `agent_type` | Nom du type de sous-agent. Présent uniquement pour les tâches `subagent` |

2756| `server` | Nom du serveur MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |2760| `server` | Nom du serveur MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |

2757| `tool` | Nom de l'outil MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |2761| `tool` | Nom de l'outil MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |

2758| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |2762| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |


2760Chaque entrée dans `session_crons` décrit un réveil programmé scoped à la session, provenant de `CronCreate`, `ScheduleWakeup`, et `/loop` :2764Chaque entrée dans `session_crons` décrit un réveil programmé scoped à la session, provenant de `CronCreate`, `ScheduleWakeup`, et `/loop` :

2761 2765 

2762| Champ | Description |2766| Champ | Description |

2763| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |2767| :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |

2764| `id` | Identifiant de tâche cron |2768| `id` | Identifiant de tâche cron |

2765| `schedule` | Expression cron, par exemple `0 9 * * 1-5` |2769| `schedule` | Expression cron, par exemple `0 9 * * 1-5` |

2766| `recurring` | `false` pour les réveils ponctuels dont l'horaire encode un seul moment de déclenchement, `true` pour les tâches qui se redéclenchent à chaque correspondance |2770| `recurring` | `false` pour les réveils ponctuels dont l'horaire encode un seul temps de déclenchement, `true` pour les tâches qui se redéclenchent à chaque correspondance |

2767| `prompt` | Invite soumise quand le cron se déclenche, plafonnée à 1 000 caractères avec le même marqueur `… [+N chars]` |2771| `prompt` | Invite soumise quand le cron se déclenche, plafonnée à 1 000 caractères avec le même marqueur `… [+N chars]` |

2768 2772 

2769Cet exemple montre une entrée Stop avec une tâche shell en vol et un cron récurrent :2773Cet exemple montre une entrée Stop avec une tâche shell en vol et un cron récurrent :


2804Les hooks `Stop` et `SubagentStop` peuvent contrôler si Claude continue. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut retourner ces champs spécifiques à l'événement :2808Les hooks `Stop` et `SubagentStop` peuvent contrôler si Claude continue. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut retourner ces champs spécifiques à l'événement :

2805 2809 

2806| Champ | Description |2810| Champ | Description |

2807| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2811| :------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2808| `decision` | `"block"` empêche Claude de s'arrêter. Omettez pour permettre à Claude de s'arrêter |2812| `decision` | `"block"` empêche Claude de s'arrêter. Omettez pour permettre à Claude de s'arrêter |

2809| `reason` | Requis quand `decision` est `"block"`. Dit à Claude pourquoi il devrait continuer |2813| `reason` | Requis quand `decision` est `"block"`. Dit à Claude pourquoi il devrait continuer |

2810| `hookSpecificOutput.additionalContext` | Commentaires sans erreur pour Claude. La conversation continue pour que Claude puisse agir dessus, mais contrairement à `decision: "block"` elle est montrée dans la transcription comme commentaire de hook plutôt qu'une erreur de hook |2814| `hookSpecificOutput.additionalContext` | Commentaires sans erreur pour Claude. La conversation continue pour que Claude puisse agir dessus, mais contrairement à `decision: "block"`, elle est montrée dans la transcription comme commentaire de hook plutôt qu'une erreur de hook |

2811 2815 

2812Un hook qui bloque en quittant 2 s'achemine de la même façon que `reason` : Claude reçoit le message stderr comme l'explication de pourquoi il devrait continuer.2816Un hook qui bloque en quittant 2 s'achemine de la même façon que `reason` : Claude reçoit le message stderr comme l'explication de pourquoi il devrait continuer.

2813 2817 


2818}2822}

2819```2823```

2820 2824 

2821Utilisez `additionalContext` quand le hook fonctionne comme prévu et donne des conseils à Claude, comme « exécutez la suite de tests avant de terminer ». Cela garde la conversation en cours à travers les mêmes protections de boucle que `decision: "block"`, à savoir l'entrée `stop_hook_active` et le plafond de 8 continuations consécutives, mais la transcription l'étiquette `Stop hook feedback` et aucune notification d'erreur de hook n'est montrée :2825Utilisez `additionalContext` quand le hook fonctionne comme prévu et donne des conseils à Claude, comme « exécutez la suite de tests avant de terminer ». Cela garde la conversation en cours via les mêmes protections de boucle que `decision: "block"`, à savoir l'entrée `stop_hook_active` et le plafond de 8 continuations consécutives, mais la transcription l'étiquette `Stop hook feedback` et aucune notification d'erreur de hook n'est montrée :

2822 2826 

2823```json theme={null}2827```json theme={null}

2824{2828{


2842En plus des [champs d'entrée communs](#common-input-fields), les hooks StopFailure reçoivent `error`, optionnel `error_details`, et optionnel `last_assistant_message`. Le champ `error` identifie le type d'erreur et est utilisé pour le filtrage du matcher.2846En plus des [champs d'entrée communs](#common-input-fields), les hooks StopFailure reçoivent `error`, optionnel `error_details`, et optionnel `last_assistant_message`. Le champ `error` identifie le type d'erreur et est utilisé pour le filtrage du matcher.

2843 2847 

2844| Champ | Description |2848| Champ | Description |

2845| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2849| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2846| `error` | Type d'erreur : `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, ou `unknown` |2850| `error` | Type d'erreur : `rate_limit`, `overloaded`, `authentication_failed`, `oauth_org_not_allowed`, `account_on_hold`, `billing_error`, `invalid_request`, `model_not_found`, `server_error`, `max_output_tokens`, `cloud_credential_error`, ou `unknown` |

2847| `error_details` | Détails supplémentaires sur l'erreur, quand disponibles |2851| `error_details` | Détails supplémentaires sur l'erreur, quand disponibles |

2848| `last_assistant_message` | Le texte d'erreur rendu montré dans la conversation. Contrairement à `Stop` et `SubagentStop`, où ce champ contient la sortie conversationnelle de Claude, pour `StopFailure` il contient la chaîne d'erreur API elle-même, comme `"API Error: Rate limit reached"` |2852| `last_assistant_message` | Le texte d'erreur rendu montré dans la conversation. Contrairement à `Stop` et `SubagentStop`, où ce champ contient la sortie conversationnelle de Claude, pour `StopFailure`, il contient la chaîne d'erreur API elle-même, comme `"API Error: Rate limit reached"` |

2849 2853 

2850```json theme={null}2854```json theme={null}

2851{2855{


2865 TeammateIdle2869 TeammateIdle

2866</h3>2870</h3>

2867 2871 

2868S'exécute quand un [coéquipier d'équipe agent](/docs/fr/agent-teams) est sur le point de devenir inactif après avoir terminé son tour. Utilisez ceci pour appliquer les portes de qualité avant qu'un coéquipier arrête de travailler, comme exiger que les vérifications de lint passent ou vérifier que les fichiers de sortie existent.2872S'exécute quand un coéquipier d'[équipe agent](/docs/fr/agent-teams) est sur le point de devenir inactif après avoir terminé son tour. Utilisez ceci pour appliquer les portes de qualité avant qu'un coéquipier arrête de travailler, comme exiger les vérifications lint de passage ou vérifier que les fichiers de sortie existent.

2869 2873 

2870Les hooks TeammateIdle ne supportent pas les matchers et se déclenchent à chaque occurrence.2874Les hooks TeammateIdle ne supportent pas les matchers et se déclenchent à chaque occurrence.

2871 2875 


2920 2924 

2921S'exécute quand un fichier de configuration change pendant une session. Utilisez ceci pour auditer les changements de paramètres, appliquer les politiques de sécurité, ou bloquer les modifications non autorisées aux fichiers de configuration.2925S'exécute quand un fichier de configuration change pendant une session. Utilisez ceci pour auditer les changements de paramètres, appliquer les politiques de sécurité, ou bloquer les modifications non autorisées aux fichiers de configuration.

2922 2926 

2923Claude Code exécute les hooks ConfigChange quand 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 les exécute uniquement quand `managed-settings.json` ou un fichier dans `managed-settings.d/` change. Il applique les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) et les changements aux préférences gérées macOS ou à la politique de registre Windows sans les exécuter. Sur WSL avec [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings), il applique également un fichier de paramètres gérés Windows modifié sur son sondage de politique sans les exécuter.2927Claude Code exécute les hooks ConfigChange quand 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 les exécute uniquement quand `managed-settings.json` ou un fichier dans `managed-settings.d/` change. Il applique les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) et les changements aux préférences gérées macOS ou à la politique du registre Windows sans les exécuter. Sur WSL avec [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings), il applique également un fichier de paramètres gérés Windows modifié du côté Windows sur son sondage de politique sans les exécuter.

2924 2928 

2925Le matcher filtre sur la source de configuration :2929Le matcher filtre sur la source de configuration :

2926 2930 


2976Les hooks ConfigChange peuvent bloquer les changements de configuration de prendre effet. Utilisez le code de sortie 2 ou un JSON `decision` pour empêcher le changement. Quand bloqué, les nouveaux paramètres ne sont pas appliqués à la session en cours d'exécution.2980Les hooks ConfigChange peuvent bloquer les changements de configuration de prendre effet. Utilisez le code de sortie 2 ou un JSON `decision` pour empêcher le changement. Quand bloqué, les nouveaux paramètres ne sont pas appliqués à la session en cours d'exécution.

2977 2981 

2978| Champ | Description |2982| Champ | Description |

2979| :--------- | :----------------------------------------------------------------------------------------------------------------- |2983| :--------- | :----------------------------------------------------------------------------------------------------- |

2980| `decision` | `"block"` empêche le changement de configuration d'être appliqué. Omettez pour permettre au changement de procéder |2984| `decision` | `"block"` empêche le changement de configuration d'être appliqué. Omettez pour permettre le changement |

2981| `reason` | Accepté mais jamais montré |2985| `reason` | Accepté mais jamais montré |

2982 2986 

2983```json theme={null}2987```json theme={null}


2989 2993 

2990Les changements `policy_settings` ne peuvent pas être bloqués. Les hooks se déclenchent toujours pour les sources `policy_settings` quand un fichier de paramètres gérés sur la machine change, pour que vous puissiez enregistrer ces édits, mais toute décision de blocage est ignorée. Cela garantit que les paramètres gérés par l'entreprise prennent toujours effet. Claude Code n'exécute pas les hooks `ConfigChange` quand les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) arrivent ou se rafraîchissent.2994Les changements `policy_settings` ne peuvent pas être bloqués. Les hooks se déclenchent toujours pour les sources `policy_settings` quand un fichier de paramètres gérés sur la machine change, pour que vous puissiez enregistrer ces édits, mais toute décision de blocage est ignorée. Cela garantit que les paramètres gérés par l'entreprise prennent toujours effet. Claude Code n'exécute pas les hooks `ConfigChange` quand les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) arrivent ou se rafraîchissent.

2991 2995 

2992Claude Code agit sur la décision de blocage de la sortie JSON d'un hook ConfigChange et rejette `systemMessage` et `continue`. Un changement bloqué ne surface aucun message pour vous ou pour Claude, que vous bloquez avec `reason` ou avec stderr en quittant 2. Claude Code écrit uniquement une ligne au journal de débogage.2996Claude Code agit sur la décision de blocage de la sortie JSON d'un hook ConfigChange et rejette `systemMessage` et `continue`. Un changement bloqué ne surface aucun message pour vous ou pour Claude, que vous bloquez avec `reason` ou avec stderr sur la sortie 2. Claude Code écrit uniquement une ligne dans le journal de débogage.

2993 2997 

2994<h3 id="cwdchanged">2998<h3 id="cwdchanged">

2995 CwdChanged2999 CwdChanged


2997 3001 

2998S'exécute quand une commande shell dans la conversation principale change le répertoire de travail, par exemple quand Claude exécute une commande `cd`. Utilisez ceci pour réagir aux changements de répertoire : recharger les variables d'environnement, activer les chaînes d'outils spécifiques au projet, ou exécuter les scripts de configuration automatiquement. S'apparie avec [FileChanged](#filechanged) pour les outils comme [direnv](https://direnv.net/) qui gèrent l'environnement par répertoire.3002S'exécute quand une commande shell dans la conversation principale change le répertoire de travail, par exemple quand Claude exécute une commande `cd`. Utilisez ceci pour réagir aux changements de répertoire : recharger les variables d'environnement, activer les chaînes d'outils spécifiques au projet, ou exécuter les scripts de configuration automatiquement. S'apparie avec [FileChanged](#filechanged) pour les outils comme [direnv](https://direnv.net/) qui gèrent l'environnement par répertoire.

2999 3003 

3000Les hooks CwdChanged ont accès à [`CLAUDE_ENV_FILE`](#persist-environment-variables). Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes jusqu'au prochain événement [CwdChanged](#cwdchanged), quand Claude Code les efface.3004Les hooks CwdChanged ont accès à [`CLAUDE_ENV_FILE`](#persist-environment-variables). Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes jusqu'au prochain événement CwdChanged, quand Claude Code les efface.

3001 3005 

3002CwdChanged ne supporte pas les matchers et se déclenche à chaque occurrence.3006CwdChanged ne supporte pas les matchers et se déclenche à chaque occurrence.

3003 3007 


3025En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, les hooks CwdChanged peuvent retourner `watchPaths` pour définir dynamiquement quels chemins de fichier [FileChanged](#filechanged) surveille :3029En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, les hooks CwdChanged peuvent retourner `watchPaths` pour définir dynamiquement quels chemins de fichier [FileChanged](#filechanged) surveille :

3026 3030 

3027| Champ | Description |3031| Champ | Description |

3028| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3032| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3029| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins de votre configuration `matcher` sont toujours surveillés. Retourner un tableau vide efface la liste dynamique, ce qui est typique quand vous entrez un nouveau répertoire |3033| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins de votre configuration `matcher` sont toujours surveillés. Retourner un tableau vide efface la liste dynamique, ce qui est typique quand vous entrez dans un nouveau répertoire |

3030 3034 

3031Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.3035Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.

3032 3036 

3033Claude Code lit `watchPaths` et `systemMessage` de leur sortie JSON et rejette `continue`. Dans les sessions interactives, il montre le `systemMessage` comme une brève notification de terminal. Le message n'atteint pas le flux de message du SDK.3037Claude Code lit `watchPaths` et `systemMessage` de leur sortie JSON et rejette `continue`. Dans les sessions interactives, il montre le `systemMessage` comme une brève notification de terminal. Le message n'atteint pas le flux de message SDK.

3034 3038 

3035<h3 id="directoryadded">3039<h3 id="directoryadded">

3036 DirectoryAdded3040 DirectoryAdded

3037</h3>3041</h3>

3038 3042 

3039S'exécute après que vous ajoutiez un répertoire de travail en cours de session avec la commande `/add-dir`, ou après qu'un client SDK en ajoute un avec la demande de contrôle `register_repo_root`. Utilisez ceci pour préparer un référentiel nouvellement ajouté, par exemple en installant ses dépendances.3043S'exécute après que vous ajoutiez un répertoire de travail en cours de session avec la commande `/add-dir`, ou après qu'un client SDK en ajoute un avec la requête de contrôle `register_repo_root`. Utilisez ceci pour préparer un référentiel nouvellement ajouté, par exemple en installant ses dépendances.

3040 3044 

3041Claude Code ne déclenche pas cet événement quand :3045Claude Code ne déclenche pas cet événement quand :

3042 3046 


3053| Matcher | Quand il se déclenche |3057| Matcher | Quand il se déclenche |

3054| :------------------- | :---------------------------------------------------------------------------------- |3058| :------------------- | :---------------------------------------------------------------------------------- |

3055| `slash_command` | Vous ajoutez un répertoire avec `/add-dir` |3059| `slash_command` | Vous ajoutez un répertoire avec `/add-dir` |

3056| `register_repo_root` | Un client SDK ajoute un répertoire avec la demande de contrôle `register_repo_root` |3060| `register_repo_root` | Un client SDK ajoute un répertoire avec la requête de contrôle `register_repo_root` |

3057 3061 

3058<h4 id="directoryadded-input">3062<h4 id="directoryadded-input">

3059 Entrée DirectoryAdded3063 Entrée DirectoryAdded


3062En plus des [champs d'entrée communs](#common-input-fields), les hooks DirectoryAdded reçoivent `directory` et `source`.3066En plus des [champs d'entrée communs](#common-input-fields), les hooks DirectoryAdded reçoivent `directory` et `source`.

3063 3067 

3064| Champ | Description |3068| Champ | Description |

3065| :---------- | :--------------------------------------------------------------------------------------------------------------------------------- |3069| :---------- | :------------------------------------------------------------------------------------------------------------------------------ |

3066| `directory` | Chemin absolu du répertoire qui a été ajouté |3070| `directory` | Chemin absolu du répertoire qui a été ajouté |

3067| `source` | Comment le répertoire a été ajouté, `"slash_command"` pour `/add-dir` ou `"register_repo_root"` pour la demande de contrôle du SDK |3071| `source` | Comment le répertoire a été ajouté, `"slash_command"` pour `/add-dir` ou `"register_repo_root"` pour la requête de contrôle SDK |

3068 3072 

3069```json theme={null}3073```json theme={null}

3070{3074{


3079 3083 

3080Les hooks DirectoryAdded n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer l'ajout, qui s'est déjà terminé quand le hook s'exécute. Claude Code rejette le champ `continue` de leur sortie JSON et affiche le reste différemment par source :3084Les hooks DirectoryAdded n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer l'ajout, qui s'est déjà terminé quand le hook s'exécute. Claude Code rejette le champ `continue` de leur sortie JSON et affiche le reste différemment par source :

3081 3085 

3082* `slash_command` : Claude Code livre le `systemMessage` du hook à Claude comme contexte sur le tour de conversation suivant, plutôt que de vous le montrer. Un nombre de hooks échoués apparaît dans la transcription. La sortie d'échec complète va au journal de débogage3086* `slash_command` : Claude Code livre le `systemMessage` du hook à Claude comme contexte sur le tour de conversation suivant, plutôt que de vous le montrer. Un nombre de hooks échoués apparaît dans la transcription. La sortie d'échec complète va dans le journal de débogage

3083* `register_repo_root` : Claude Code écrit la sortie `systemMessage` et la sortie d'échec au journal de débogage uniquement3087* `register_repo_root` : Claude Code écrit la sortie `systemMessage` et la sortie d'échec uniquement dans le journal de débogage

3084 3088 

3085<h3 id="filechanged">3089<h3 id="filechanged">

3086 FileChanged3090 FileChanged

3087</h3>3091</h3>

3088 3092 

3089S'exécute quand un fichier surveillé change sur le disque. Claude Code détecte les changements avec un observateur de système de fichiers, pas en inspectant les appels d'outils, donc il exécute le hook peu importe ce qui a changé le fichier : un appel d'outil `Edit` ou `Write`, un script que Claude exécute avec `Bash`, ou un processus en dehors de Claude Code entièrement. Un usage courant est de recharger les variables d'environnement quand les fichiers de configuration du projet changent.3093S'exécute quand un fichier surveillé change sur le disque. Claude Code détecte les changements avec un observateur de système de fichiers, pas en inspectant les appels d'outil, donc il exécute le hook peu importe ce qui a changé le fichier : un appel d'outil `Edit` ou `Write`, un script que Claude exécute avec `Bash`, ou un processus en dehors de Claude Code entièrement. Un usage courant est de recharger les variables d'environnement quand les fichiers de configuration du projet changent.

3090 3094 

3091Le `matcher` pour cet événement sert deux rôles :3095Le `matcher` pour cet événement sert deux rôles :

3092 3096 


3113}3117}

3114```3118```

3115 3119 

3116Le hook lit le chemin absolu du fichier modifié du champ `file_path` de l'[entrée JSON](#filechanged-input) sur stdin. Sa garde `grep` teste la même chose que `perl` supprime, un CR à la fin d'une ligne, donc l'exécution après une normalisation quitte sans toucher le fichier. Une garde plus lâche boucle pour toujours, parce que `perl -i` réécrit le fichier même quand il ne substitue rien et Claude Code exécute le hook à nouveau après chaque réécriture. Enregistrez ce script dans `/path/to/normalize-line-endings.sh` et rendez-le exécutable :3120Le hook lit le chemin absolu du fichier modifié du champ `file_path` de l'[entrée JSON](#filechanged-input) sur stdin. Sa garde `grep` teste la même chose que `perl` supprime, un CR à la fin d'une ligne, donc l'exécution après une normalisation quitte sans toucher le fichier. Une garde plus lâche boucle pour toujours, parce que `perl -i` réécrit le fichier même quand il ne substitue rien et Claude Code exécute le hook à nouveau après chaque réécriture. Enregistrez ce script à `/path/to/normalize-line-endings.sh` et rendez-le exécutable :

3117 3121 

3118```bash theme={null}3122```bash theme={null}

3119#!/bin/bash3123#!/bin/bash


3163 3167 

3164Les hooks FileChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de fichier de se produire.3168Les hooks FileChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de fichier de se produire.

3165 3169 

3166Claude Code lit `watchPaths` et `systemMessage` de leur sortie JSON et rejette `continue`. Dans les sessions interactives, il montre le `systemMessage` comme une brève notification de terminal. Le message n'atteint pas le flux de message du SDK.3170Claude Code lit `watchPaths` et `systemMessage` de leur sortie JSON et rejette `continue`. Dans les sessions interactives, il montre le `systemMessage` comme une brève notification de terminal. Le message n'atteint pas le flux de message SDK.

3167 3171 

3168<h3 id="worktreecreate">3172<h3 id="worktreecreate">

3169 WorktreeCreate3173 WorktreeCreate


3220 3224 

3221Les hooks WorktreeCreate n'utilisent pas le modèle de décision permettre/bloquer standard. Au lieu de cela, le succès ou l'échec du hook détermine le résultat. Le hook doit retourner le chemin du répertoire worktree créé :3225Les hooks WorktreeCreate n'utilisent pas le modèle de décision permettre/bloquer standard. Au lieu de cela, le succès ou l'échec du hook détermine le résultat. Le hook doit retourner le chemin du répertoire worktree créé :

3222 3226 

3223* **Hooks de commande** (`type: "command"`) : imprimez le chemin comme la dernière ligne non-vide de la sortie standard. Claude Code supprime les codes d'échappement ANSI avant de lire cette ligne, donc les bannières de démarrage du shell imprimées avant votre `echo` sont ignorées. Redirigez toute autre sortie du hook vers stderr.3227* **Hooks de commande** (`type: "command"`): imprimez le chemin comme la dernière ligne non-vide de stdout. Claude Code supprime les codes d'échappement ANSI avant de lire cette ligne, donc les bannières de démarrage du shell imprimées avant votre `echo` sont ignorées. Redirigez toute autre sortie du hook vers stderr.

3224* **Hooks HTTP** (`type: "http"`) : retournez `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` dans le corps de la réponse.3228* **Hooks HTTP** (`type: "http"`): retournez `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` dans le corps de la réponse.

3225 3229 

3226Si le hook échoue ou ne produit pas de chemin, la création du worktree échoue avec une erreur.3230Si le hook échoue ou ne produit pas de chemin, la création du worktree échoue avec une erreur.

3227 3231 

3228Claude Code résout un chemin relatif contre le répertoire où le hook s'est exécuté, en effondrant tout segment `.` ou `..` dedans. Si le chemin résultant n'est pas un répertoire que Claude Code peut entrer, la session imprime une erreur nommant le chemin et quitte avec le code 1.3232Claude Code résout un chemin relatif contre le répertoire dans lequel le hook s'est exécuté, en effondrant tout segment `.` ou `..` dedans. Si le chemin résultant n'est pas un répertoire que Claude Code peut entrer, la session imprime une erreur nommant le chemin et quitte avec le code 1.

3229 3233 

3230Claude Code refuse un chemin absolu qui contient des segments `.` ou `..`, et n'importe quel chemin qui passe à travers un symlink en dessous de la racine du référentiel, parce qu'un symlink commis au référentiel pourrait rediriger le worktree en dehors de lui. L'erreur nomme le composant rejeté. Retournez un chemin normalisé qui ne passe pas à travers un symlink à l'intérieur du référentiel. Avant v2.1.216, la création du worktree suivait le chemin du hook sans ce dépistage.3234Claude Code refuse un chemin absolu qui contient des segments `.` ou `..`, et n'importe quel chemin qui passe par un lien symbolique en dessous de la racine du référentiel, parce qu'un lien symbolique commis au référentiel pourrait rediriger le worktree en dehors de lui. L'erreur nomme le composant rejeté. Retournez un chemin normalisé qui ne passe pas par un lien symbolique à l'intérieur du référentiel. Avant v2.1.216, la création du worktree suivait le chemin du hook sans ce dépistage.

3231 3235 

3232<h3 id="worktreeremove">3236<h3 id="worktreeremove">

3233 WorktreeRemove3237 WorktreeRemove


3237 3241 

3238* vous quittez une session `--worktree` et choisissez de la supprimer3242* vous quittez une session `--worktree` et choisissez de la supprimer

3239* un sous-agent avec `isolation: "worktree"` se termine3243* un sous-agent avec `isolation: "worktree"` se termine

3240* vous supprimez une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) dont le worktree le hook a créé3244* vous supprimez une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) dont le worktree a été créé par le hook

3241 3245 

3242Pour les worktrees basés sur git, Claude Code gère le nettoyage automatiquement avec `git worktree remove`. Si vous avez configuré un hook WorktreeCreate pour un système de contrôle de version non-git, associez-le avec un hook WorktreeRemove pour gérer le nettoyage. Sans un, le répertoire worktree est laissé sur le disque.3246Pour les worktrees basés sur git, Claude Code gère le nettoyage automatiquement avec `git worktree remove`. Si vous avez configuré un hook WorktreeCreate pour un système de contrôle de version non-git, associez-le à un hook WorktreeRemove pour gérer le nettoyage. Sans un, le répertoire worktree est laissé sur le disque.

3243 3247 

3244Claude Code rejette les [champs de sortie JSON](#json-output) d'un hook WorktreeRemove, comme `systemMessage` et `continue`.3248Claude Code rejette les [champs de sortie JSON](#json-output) d'un hook WorktreeRemove, comme `systemMessage` et `continue`.

3245 3249 

3246Pour une suppression de session en arrière-plan, Claude Code vérifie le chemin du worktree stocké avant d'exécuter le hook et refuse un chemin qui est un symlink ou passe à travers un en dessous de la racine du référentiel. Le hook s'exécute pour un worktree qui contient toujours des fichiers uniquement quand vous confirmez la suppression dans la [vue agent](/docs/fr/agent-view#what-deleting-a-session-removes) ; pour un tel worktree, [`claude rm`](/docs/fr/agent-view#manage-sessions-from-the-shell) garde la session et le worktree à la place. Avant v2.1.216, le hook s'exécutait sur le chemin stocké sans ces vérifications.3250Pour une suppression de session en arrière-plan, Claude Code vérifie le chemin du worktree stocké avant d'exécuter le hook et refuse un chemin qui est un lien symbolique ou passe par un en dessous de la racine du référentiel. Le hook s'exécute pour un worktree qui contient toujours des fichiers uniquement quand vous confirmez la suppression dans la [vue agent](/docs/fr/agent-view#what-deleting-a-session-removes) ; pour un tel worktree, [`claude rm`](/docs/fr/agent-view#manage-sessions-from-the-shell) garde la session et le worktree à la place. Avant v2.1.216, le hook s'exécutait sur le chemin stocké sans ces vérifications.

3247 3251 

3248Claude Code passe le chemin retourné par WorktreeCreate comme `worktree_path` dans l'entrée du hook. Cet exemple lit ce chemin et supprime le répertoire :3252Claude Code passe le chemin retourné par WorktreeCreate comme `worktree_path` dans l'entrée du hook. Cet exemple lit ce chemin et supprime le répertoire :

3249 3253 


3282 3286 

3283Le code de sortie d'un hook WorktreeRemove décide du résultat. Quand un hook quitte non-zéro et le répertoire à `worktree_path` existe toujours après, la suppression échoue :3287Le code de sortie d'un hook WorktreeRemove décide du résultat. Quand un hook quitte non-zéro et le répertoire à `worktree_path` existe toujours après, la suppression échoue :

3284 3288 

3285* Le worktree reste sur le disque, et la commande du hook et stderr vont au [journal de débogage](#debug-hooks).3289* Le worktree reste sur le disque, et la commande du hook et stderr vont dans le [journal de débogage](#debug-hooks).

3286* Si vous supprimiez une session en arrière-plan, la session reste aussi. Le message de refus dans la [vue agent](/docs/fr/agent-view#what-deleting-a-session-removes) rapporte comment le hook s'est terminé, comme `exited 1`, cite le début de son stderr, et dit si la suppression de la session à nouveau supprime le répertoire de toute façon.3290* Si vous supprimiez une session en arrière-plan, la session reste aussi. Le message de refus dans la [vue agent](/docs/fr/agent-view#what-deleting-a-session-removes) rapporte comment le hook s'est terminé, comme `exited 1`, cite le début de son stderr, et dit si la suppression de la session à nouveau supprime le répertoire de toute façon.

3287 3291 

3288<h3 id="precompact">3292<h3 id="precompact">


3300 3304 

3301Quittez avec le code 2 pour bloquer la compaction. Pour un `/compact` manuel, le message stderr est montré à l'utilisateur. Vous pouvez également bloquer en retournant JSON avec `"decision": "block"`.3305Quittez avec le code 2 pour bloquer la compaction. Pour un `/compact` manuel, le message stderr est montré à l'utilisateur. Vous pouvez également bloquer en retournant JSON avec `"decision": "block"`.

3302 3306 

3303Bloquer la compaction automatique a des effets différents selon quand elle se déclenche. Si la compaction a été déclenchée de manière proactive avant la limite de contexte, Claude Code la saute et la conversation continue non-compactée. Si la compaction a été déclenchée pour récupérer d'une erreur de limite de contexte déjà retourné par l'API, l'erreur sous-jacente surface et la demande actuelle échoue.3307Bloquer la compaction automatique a des effets différents selon quand elle se déclenche. Si la compaction a été déclenchée de manière proactive avant la limite de contexte, Claude Code la saute et la conversation continue sans compaction. Si la compaction a été déclenchée pour récupérer d'une erreur de limite de contexte déjà retourné par l'API, l'erreur sous-jacente surface et la requête actuelle échoue.

3304 3308 

3305Claude Code rejette les champs `systemMessage` et `continue` d'un hook PreCompact.3309Claude Code rejette les champs `systemMessage` et `continue` d'un hook PreCompact.

3306 3310 


3351}3355}

3352```3356```

3353 3357 

3354Les hooks PostCompact n'ont pas de contrôle de décision. Ils ne peuvent pas affecter le résultat de la compaction mais peuvent effectuer des tâches de suivi.3358Les hooks PostCompact n'ont pas de contrôle de décision. Ils ne peuvent pas affecter le résultat de la compaction mais peuvent effectuer les tâches de suivi.

3355 3359 

3356<h3 id="premodelswitch">3360<h3 id="premodelswitch">

3357 PreModelSwitch3361 PreModelSwitch

3358</h3>3362</h3>

3359 3363 

3360S'exécute avant que Claude Code applique un changement de modèle que vous ou un client avez demandé. Utilisez-le pour bloquer un changement, exiger une confirmation, ou montrer quel coût le changement aura avant qu'il se produise.3364S'exécute avant que Claude Code applique un changement de modèle que vous ou un client avez demandé. Utilisez-le pour bloquer un changement, exiger une confirmation, ou montrer ce que le changement coûtera avant qu'il se produise.

3361 3365 

3362PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour ces demandes :3366PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour ces requêtes :

3363 3367 

3364* `/model <name>` et le sélecteur `/model`3368* `/model <name>` et le sélecteur `/model`

3365* Le sélecteur de modèle `Option+P` ou `Alt+P`3369* Le sélecteur de modèle `Option+P` ou `Alt+P`

3366* Le paramètre Model dans `/config`3370* Le paramètre Model dans `/config`

3367* Activer le [mode rapide](/docs/fr/fast-mode) quand cela change le modèle de la session3371* Activer le [mode rapide](/docs/fr/fast-mode) quand cela change le modèle de la session

3368* Une demande `set_model`, ou un changement de modèle dans une demande `apply_flag_settings`, d'un hôte [Agent SDK](/docs/fr/agent-sdk/typescript#query-object) ou [Remote Control](/docs/fr/remote-control)3372* Une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, d'un hôte [Agent SDK](/docs/fr/agent-sdk/typescript#query-object) ou [Remote Control](/docs/fr/remote-control)

3369 3373 

3370Claude Code n'exécute pas les hooks PreModelSwitch pour les changements qu'il fait seul, comme un [fallback de modèle automatique](/docs/fr/model-config#automatic-model-fallback) ou la restauration du modèle quand vous reprenez une session. Ces changements atteignent [PostModelSwitch](#postmodelswitch) uniquement.3374Claude Code n'exécute pas les hooks PreModelSwitch pour les changements qu'il fait de son propre chef, comme un [repli de modèle automatique](/docs/fr/model-config#automatic-model-fallback) ou la restauration du modèle quand vous reprenez une session. Ces changements atteignent [PostModelSwitch](#postmodelswitch) uniquement.

3371 3375 

3372Claude Code compare le matcher contre le nom canonique du modèle vers lequel la session bascule, en ignorant tout suffixe `[1m]`. Un alias comme `opus`, un ID de modèle daté, et un ID spécifique au fournisseur comme un ID de modèle Amazon Bedrock correspondent tous au nom canonique unique auquel ils se résolvent, donc `claude-opus-5` couvre chaque orthographe d'Opus 5.3376Claude Code compare le matcher contre le nom canonique du modèle vers lequel la session change, en ignorant tout suffixe `[1m]`. Un alias comme `opus`, un ID de modèle daté, et un ID spécifique au fournisseur comme un ID de modèle Amazon Bedrock correspondent tous au seul nom canonique auquel ils se résolvent, donc `claude-opus-5` couvre chaque orthographe d'Opus 5.

3373 3377 

3374Quand Claude Code ne peut pas déterminer un nom canonique pour la cible, par exemple un ID de modèle personnalisé que seule votre [passerelle LLM](/docs/fr/llm-gateway) connaît, il exécute chaque hook PreModelSwitch indépendamment du matcher. Un hook qui bloque devrait donc vérifier `to_model` de son entrée plutôt que de compter uniquement sur le matcher.3378Quand Claude Code ne peut pas déterminer un nom canonique pour la cible, par exemple un ID de modèle personnalisé que seule votre [passerelle LLM](/docs/fr/llm-gateway) connaît, il exécute chaque hook PreModelSwitch indépendamment du matcher. Un hook qui bloque devrait donc vérifier `to_model` de son entrée plutôt que de compter sur le matcher seul.

3375 3379 

3376Écrivez le matcher comme un nom exact, une liste séparée par `|` comme `claude-opus-4-6|claude-opus-5`, ou une expression régulière comme `.*opus.*`. Cet exemple utilise un matcher de nom exact et vérifie également `to_model` de l'entrée du hook, donc il refuse un changement vers Opus 4.6 en quittant avec le code 2 et laisse n'importe quelle autre cible passer :3380Écrivez le matcher comme un nom exact, une liste séparée par `|` comme `claude-opus-4-6|claude-opus-5`, ou une expression régulière comme `.*opus.*`. Cet exemple utilise un matcher de nom exact et vérifie également `to_model` de l'entrée du hook, donc il refuse un changement vers Opus 4.6 en quittant avec le code 2 et laisse n'importe quelle autre cible passer :

3377 3381 


3445 Entrée PreModelSwitch3449 Entrée PreModelSwitch

3446</h4>3450</h4>

3447 3451 

3448En plus des [champs d'entrée communs](#common-input-fields), les hooks PreModelSwitch reçoivent les champs du tableau ci-dessous. Les cinq derniers décrivent quel coût la renvoi de la conversation au nouveau modèle a, pour qu'un hook puisse montrer ce chiffre avant que le changement se produise.3452En plus des [champs d'entrée communs](#common-input-fields), les hooks PreModelSwitch reçoivent les champs de ce tableau. Les cinq derniers décrivent ce que renvoyer la conversation au nouveau modèle coûte, pour qu'un hook puisse montrer ce chiffre avant que le changement se produise.

3449 3453 

3450| Champ | Type | Description |3454| Champ | Type | Description |

3451| :-------------------------- | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3455| :-------------------------- | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3452| `from_model` | string | ID de modèle du changement |3456| `from_model` | string | ID du modèle que le changement change |

3453| `to_model` | string | ID de modèle du changement vers. Le matcher compare contre le nom canonique de ce modèle |3457| `to_model` | string | ID du modèle que le changement change vers. Le matcher compare contre le nom canonique de ce modèle |

3454| `requested_model` | string ou `null` | Le modèle que la demande a nommé : un alias comme `opus`, un ID de modèle complet, ou `null` quand la demande était pour le modèle par défaut |3458| `requested_model` | string ou `null` | Le modèle que la requête a nommé : un alias comme `opus`, un ID de modèle complet, ou `null` quand la requête était pour le modèle par défaut |

3455| `source` | string | D'où la demande provient : `"command"` pour `/model <name>`, le paramètre Model dans `/config`, ou l'activation du mode rapide ; `"picker"` pour un sélecteur de modèle ; `"sdk"` pour une demande `set_model`, ou un changement de modèle dans une demande `apply_flag_settings`, d'un hôte Agent SDK ou Remote Control |3459| `source` | string | D'où provient la requête : `"command"` pour `/model <name>`, le paramètre Model dans `/config`, ou l'activation du mode rapide ; `"picker"` pour un sélecteur de modèle ; `"sdk"` pour une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, d'un hôte Agent SDK ou Remote Control |

3456| `context_tokens` | number | Tokens que la demande suivante renvoie comme son invite : les tokens d'entrée, de lecture de cache, de création de cache, et de sortie de la dernière réponse dans la conversation principale, combinés. `0` avant la première réponse |3460| `context_tokens` | number | Tokens que la requête suivante renvoie comme son invite : les tokens d'entrée, de lecture de cache, de création de cache, et de sortie de la dernière réponse dans la conversation principale, combinés. `0` avant la première réponse |

3457| `prompt_cache_warm` | boolean | Si le cache d'invite du modèle actuel est probablement toujours chaud, ce qui signifie que le changement le perd |3461| `prompt_cache_warm` | boolean | Si le cache d'invite du modèle actuel est probablement toujours chaud, ce qui signifie que le changement le perd |

3458| `cache_ttl` | string | [Durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) que Claude Code demande pour cette session : `"5m"` ou `"1h"` |3462| `cache_ttl` | string | [Durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) que Claude Code demande pour cette session : `"5m"` ou `"1h"` |

3459| `estimated_cache_write_usd` | number | Coût estimé en dollars américains de l'écriture de `context_tokens` dans le cache d'invite sur `to_model` au taux `cache_ttl`, excluant la réponse suivante. Le serveur n'a peut-être pas besoin de re-cacher le contexte entier, donc traitez-le comme une estimation |3463| `estimated_cache_write_usd` | number | Coût estimé en dollars US de l'écriture de `context_tokens` dans le cache d'invite sur `to_model` au taux `cache_ttl`, excluant la réponse suivante. Le serveur peut ne pas avoir besoin de recacher le contexte entier, donc traitez-le comme une estimation |

3460| `pricing` | string | Comment Claude Code a tarifé `estimated_cache_write_usd` : `"configured"` à vos propres taux d'organisation quand elle les a configurés, `"catalog"` au prix catalogue, ou `"default"` quand `to_model` n'a pas de prix connu et Claude Code a supposé un taux par défaut |3464| `pricing` | string | Comment Claude Code a tarifé `estimated_cache_write_usd` : `"configured"` à vos propres taux d'organisation quand elle les a configurés, `"catalog"` au prix catalogue, ou `"default"` quand `to_model` n'a pas de prix connu et Claude Code a supposé un taux par défaut |

3461 3465 

3462Cet exemple montre l'entrée pour `/model opus` dans une session exécutant Sonnet 5 :3466Cet exemple montre l'entrée pour `/model opus` dans une session exécutant Sonnet 5 :


3490| Champ | Description |3494| Champ | Description |

3491| :------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3495| :------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3492| `permissionDecision` | `"allow"` procède et ignore la [confirmation que Claude Code montre pendant que le cache d'invite est chaud](/docs/fr/prompt-caching#switching-models). `"deny"` annule le changement. `"ask"` invite l'utilisateur à le confirmer |3496| `permissionDecision` | `"allow"` procède et ignore la [confirmation que Claude Code montre pendant que le cache d'invite est chaud](/docs/fr/prompt-caching#switching-models). `"deny"` annule le changement. `"ask"` invite l'utilisateur à le confirmer |

3493| `permissionDecisionReason` | Pour `"deny"`, montré à l'utilisateur comme la raison du blocage du changement, ou retourné comme l'erreur pour une demande `set_model`. Pour `"ask"`, montré dans l'invite de confirmation. Ignoré pour `"allow"` |3497| `permissionDecisionReason` | Pour `"deny"`, montré à l'utilisateur comme la raison du blocage du changement, ou retourné comme l'erreur pour une requête `set_model`. Pour `"ask"`, montré dans l'invite de confirmation. Ignoré pour `"allow"` |

3494 3498 

3495Seul `/model` dans une session interactive peut montrer l'invite `"ask"`. Sur chaque autre surface, y compris le mode non-interactif avec le drapeau `-p`, `/config`, et les demandes `set_model`, Claude Code traite `"ask"` comme un refus.3499Seul `/model` dans une session interactive peut montrer l'invite `"ask"`. Sur chaque autre surface, y compris le mode non-interactif avec le drapeau `-p`, `/config`, et les requêtes `set_model`, Claude Code traite `"ask"` comme un refus.

3496 3500 

3497Cet exemple demande à l'utilisateur de confirmer et cite le nombre de tokens de `context_tokens` :3501Cet exemple demande à l'utilisateur de confirmer et cite le nombre de tokens de `context_tokens` :

3498 3502 


3508 3512 

3509Quand plusieurs hooks PreModelSwitch retournent des décisions différentes, la priorité est `deny` > `ask` > `allow`.3513Quand plusieurs hooks PreModelSwitch retournent des décisions différentes, la priorité est `deny` > `ask` > `allow`.

3510 3514 

3511Claude Code montre à l'utilisateur n'importe quel `systemMessage` que votre hook retourne indépendamment de la décision, pour qu'un hook de rapport de coût puisse retourner `{"systemMessage": "..."}` et quitter 0.3515Claude Code montre à l'utilisateur tout `systemMessage` que votre hook retourne indépendamment de la décision, pour qu'un hook de rapport de coûts puisse retourner `{"systemMessage": "..."}` et quitter 0.

3512 3516 

3513Un hook PreModelSwitch qui ne répond pas avant son délai d'expiration bloque le changement. Sur [PreToolUse](#timeouts), par contraste, un hook de commande qui expire laisse l'appel d'outil continuer. Le délai d'expiration par défaut pour cet événement est 30 secondes. `PreModelSwitch` exécute uniquement les hooks `command`, `http`, et `mcp_tool`, donc les défauts `prompt` et `agent` ne s'appliquent pas.3517Un hook PreModelSwitch qui ne répond pas avant son délai d'expiration bloque le changement. Sur [PreToolUse](#timeouts), par contraste, un hook de commande qui expire laisse l'appel d'outil continuer. Le délai d'expiration par défaut pour cet événement est 30 secondes. `PreModelSwitch` exécute uniquement les hooks `command`, `http`, et `mcp_tool`, donc les défauts `prompt` et `agent` ne s'appliquent pas.

3514 3518 


3523PostModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Il ne peut pas bloquer, parce que le modèle a déjà changé. Claude Code exécute les hooks PostModelSwitch après n'importe lequel de ces changements :3527PostModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Il ne peut pas bloquer, parce que le modèle a déjà changé. Claude Code exécute les hooks PostModelSwitch après n'importe lequel de ces changements :

3524 3528 

3525* Un changement que vous ou un client avez demandé3529* Un changement que vous ou un client avez demandé

3526* Un [fallback de modèle automatique](/docs/fr/model-config#automatic-model-fallback), qui change le modèle de la session3530* Un [repli de modèle automatique](/docs/fr/model-config#automatic-model-fallback), qui change le modèle de la session

3527* Un paramètre comme [`opusplan`](/docs/fr/model-config#opusplan-model-setting) entrant ou quittant le mode plan3531* Un paramètre comme [`opusplan`](/docs/fr/model-config#opusplan-model-setting) entrant ou quittant le mode plan

3528* Claude Code restaurant le modèle quand vous reprenez une session3532* Claude Code restaure le modèle quand vous reprenez une session

3529 3533 

3530Claude Code n'exécute pas les hooks PostModelSwitch quand un modèle d'une [chaîne de modèle de fallback](/docs/fr/model-config#fallback-model-chains) sert un tour, parce que cette substitution dure un tour et laisse le modèle de la session inchangé.3534Claude Code n'exécute pas les hooks PostModelSwitch quand un modèle d'une [chaîne de modèle de repli](/docs/fr/model-config#fallback-model-chains) sert un tour, parce que cette substitution dure un tour et laisse le modèle de la session inchangé.

3531 3535 

3532Le matcher suit les mêmes règles que [PreModelSwitch](#premodelswitch) : Claude Code compare le matcher contre le nom canonique du modèle vers lequel la session a basculé.3536Le matcher suit les mêmes règles que [PreModelSwitch](#premodelswitch) : Claude Code le compare contre le nom canonique du modèle vers lequel la session a changé.

3533 3537 

3534Cet exemple ajoute des conseils chaque fois que le modèle de la session change vers n'importe quel modèle Opus :3538Cet exemple ajoute des conseils chaque fois que le modèle de la session change vers n'importe quel modèle Opus :

3535 3539 


3551}3555}

3552```3556```

3553 3557 

3554Pour confirmer que le hook fonctionne, basculez vers un modèle Opus à partir d'une session exécutant un modèle différent, par exemple exécutez `/model opus` à partir d'une session Sonnet, puis demandez à Claude quels conseils il a sur le modèle actuel.3558Pour confirmer que le hook fonctionne, changez vers un modèle Opus à partir d'une session exécutant un modèle différent, par exemple exécutez `/model opus` à partir d'une session Sonnet, puis demandez à Claude quels conseils il a sur le modèle actuel.

3555 3559 

3556<h4 id="postmodelswitch-input">3560<h4 id="postmodelswitch-input">

3557 Entrée PostModelSwitch3561 Entrée PostModelSwitch

3558</h4>3562</h4>

3559 3563 

3560Les hooks PostModelSwitch reçoivent les mêmes champs que [PreModelSwitch](#premodelswitch-input), avec `hook_event_name` défini à `"PostModelSwitch"` et deux valeurs `source` supplémentaires : `"auto"` pour un fallback automatique ou un autre changement que Claude Code a fait seul, et `"resume"` pour le modèle restauré quand vous reprenez une session.3564Les hooks PostModelSwitch reçoivent les mêmes champs que [PreModelSwitch](#premodelswitch-input), avec `hook_event_name` défini à `"PostModelSwitch"` et deux valeurs `source` supplémentaires : `"auto"` pour un repli automatique ou un autre changement que Claude Code a fait de son propre chef, et `"resume"` pour le modèle restauré quand vous reprenez une session.

3561 3565 

3562`requested_model` est `null` quand `source` est `"auto"`. Quand `source` est `"resume"`, c'est le paramètre de modèle sauvegardé que Claude Code a restauré.3566`requested_model` est `null` quand `source` est `"auto"`. Quand `source` est `"resume"`, c'est le paramètre de modèle sauvegardé que Claude Code a restauré.

3563 3567 


3565 Contrôle de décision PostModelSwitch3569 Contrôle de décision PostModelSwitch

3566</h4>3570</h4>

3567 3571 

3568Claude Code prend votre sortie standard brute du hook sur la sortie 0, ou `additionalContext` de la sortie JSON, et la livre à Claude avec la demande suivante après le changement. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner :3572Claude Code prend votre sortie standard [texte brut](#exit-code-0) du hook sur la sortie 0, ou `additionalContext` de la sortie JSON, et la livre à Claude avec la requête suivante après le changement. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner :

3569 3573 

3570| Champ | Description |3574| Champ | Description |

3571| :------------------ | :----------------------------------------------------------------------------------------------------------------------------- |3575| :------------------ | :----------------------------------------------------------------------------------------------------------------------------- |

3572| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la demande suivante. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |3576| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la requête suivante. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

3573 3577 

3574Si le hook n'a pas terminé dans les cinq secondes après que vous envoyiez la demande suivante, Claude Code envoie cette demande sans la sortie et l'attache à la demande suivante à la place. Si le modèle change plusieurs fois avant la demande suivante, Claude Code livre uniquement la sortie pour le changement vers le modèle cible du dernier.3578Si le hook n'a pas fini dans les cinq secondes après que vous envoyiez la requête suivante, Claude Code envoie cette requête sans la sortie et l'attache à la requête suivante à la place. Si le modèle change plusieurs fois avant la requête suivante, Claude Code livre uniquement la sortie pour le modèle cible du dernier changement.

3575 3579 

3576<h3 id="sessionend">3580<h3 id="sessionend">

3577 SessionEnd3581 SessionEnd


3584| Raison | Description |3588| Raison | Description |

3585| :---------------------------- | :---------------------------------------------------------------------------------------------- |3589| :---------------------------- | :---------------------------------------------------------------------------------------------- |

3586| `clear` | Session effacée avec la commande `/clear` |3590| `clear` | Session effacée avec la commande `/clear` |

3587| `resume` | Session basculée via `/resume` interactif |3591| `resume` | Session changée via `/resume` interactif |

3588| `logout` | L'utilisateur s'est déconnecté |3592| `logout` | L'utilisateur s'est déconnecté |

3589| `prompt_input_exit` | L'utilisateur a quitté pendant que l'entrée d'invite était visible |3593| `prompt_input_exit` | L'utilisateur a quitté pendant que l'entrée d'invite était visible |

3590| `other` | Autres raisons de sortie |3594| `other` | Autres raisons de sortie |


3608 3612 

3609Les hooks SessionEnd n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer la terminaison de la session mais peuvent effectuer les tâches de nettoyage. Claude Code rejette leurs [champs de sortie JSON](#json-output), comme `systemMessage`.3613Les hooks SessionEnd n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer la terminaison de la session mais peuvent effectuer les tâches de nettoyage. Claude Code rejette leurs [champs de sortie JSON](#json-output), comme `systemMessage`.

3610 3614 

3611Les hooks SessionEnd ont un délai d'expiration par défaut de 1,5 secondes. Il s'applique quand vous quittez, exécutez `/clear`, ou basculez les sessions avec `/resume` interactif. Vous pouvez donner à un hook plus de temps de deux façons :3615Les hooks SessionEnd ont un délai d'expiration par défaut de 1,5 secondes. Il s'applique quand vous quittez, exécutez `/clear`, ou changez de sessions avec `/resume` interactif. Vous pouvez donner à un hook plus de temps de deux façons :

3612 3616 

3613* **`timeout` par hook** : définissez `timeout` dans la configuration de ce hook. Le budget global augmente automatiquement pour correspondre au `timeout` par hook le plus élevé dans vos fichiers de paramètres, jusqu'à 60 secondes. Si vous augmentez le budget de cette façon, un hook sans son propre `timeout` garde toujours le défaut. Les délais d'expiration définis sur les hooks fournis par les plugins ne lèvent pas le budget.3617* **`timeout` par hook** : définissez `timeout` dans la configuration de ce hook. Le budget global augmente automatiquement pour correspondre au `timeout` par hook le plus élevé dans vos fichiers de paramètres, jusqu'à 60 secondes. Si vous augmentez le budget de cette façon, un hook sans son propre `timeout` garde toujours le défaut. Les délais d'expiration définis sur les hooks fournis par les plugins ne lèvent pas le budget.

3614* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`** : définissez cette variable d'environnement en millisecondes pour remplacer le budget explicitement. La valeur que vous définissez devient également le délai d'expiration pour chaque hook sans son propre `timeout`.3618* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`** : définissez cette variable d'environnement en millisecondes pour remplacer le budget explicitement. La valeur que vous définissez devient également le délai d'expiration pour chaque hook sans son propre `timeout`.


3625 Elicitation3629 Elicitation

3626</h3>3630</h3>

3627 3631 

3628S'exécute quand un serveur MCP demande l'entrée de l'utilisateur en cours de tâche. Par défaut, Claude Code montre un dialogue interactif pour que l'utilisateur réponde. Les hooks peuvent intercepter cette demande et répondre par programmation, ignorant entièrement le dialogue.3632S'exécute quand un serveur MCP demande l'entrée utilisateur en cours de tâche. Par défaut, Claude Code montre un dialogue interactif pour que l'utilisateur réponde. Les hooks peuvent intercepter cette requête et répondre par programmation, ignorant entièrement le dialogue.

3629 3633 

3630Le champ matcher correspond au nom du serveur MCP.3634Le champ matcher correspond au nom du serveur MCP.

3631 3635 


3689```3693```

3690 3694 

3691| Champ | Valeurs | Description |3695| Champ | Valeurs | Description |

3692| :-------- | :---------------------------- | :----------------------------------------------------------------------------------------- |3696| :-------- | :---------------------------- | :------------------------------------------------------------------------------------------- |

3693| `action` | `accept`, `decline`, `cancel` | Si accepter, refuser, ou annuler la demande |3697| `action` | `accept`, `decline`, `cancel` | Si vous acceptez, refusez, ou annulez la requête |

3694| `content` | object | Valeurs de champ de formulaire à soumettre. Utilisé uniquement quand `action` est `accept` |3698| `content` | object | Valeurs des champs de formulaire à soumettre. Utilisé uniquement quand `action` est `accept` |

3695 3699 

3696Le code de sortie 2 refuse l'élicitation. Claude Code ne montre votre message stderr nulle part.3700Le code de sortie 2 refuse l'élicitation. Claude Code n'affiche votre message stderr nulle part.

3697 3701 

3698Claude Code agit sur `hookSpecificOutput` de la sortie JSON d'un hook Elicitation et rejette `systemMessage` et `continue`.3702Claude Code agit sur `hookSpecificOutput` de la sortie JSON d'un hook Elicitation et rejette `systemMessage` et `continue`.

3699 3703 


3742```3746```

3743 3747 

3744| Champ | Valeurs | Description |3748| Champ | Valeurs | Description |

3745| :-------- | :---------------------------- | :----------------------------------------------------------------------------------------------- |3749| :-------- | :---------------------------- | :------------------------------------------------------------------------------------------------- |

3746| `action` | `accept`, `decline`, `cancel` | Remplace l'action de l'utilisateur |3750| `action` | `accept`, `decline`, `cancel` | Remplace l'action de l'utilisateur |

3747| `content` | object | Remplace les valeurs de champ de formulaire. Significatif uniquement quand `action` est `accept` |3751| `content` | object | Remplace les valeurs des champs de formulaire. Significatif uniquement quand `action` est `accept` |

3748 3752 

3749Le code de sortie 2 bloque la réponse, changeant l'action effective à `decline`. Claude Code ne montre votre message stderr nulle part.3753Le code de sortie 2 bloque la réponse, changeant l'action effective à `decline`. Claude Code n'affiche votre message stderr nulle part.

3750 3754 

3751Claude Code agit sur `hookSpecificOutput` de la sortie JSON d'un hook ElicitationResult et rejette `systemMessage` et `continue`.3755Claude Code agit sur `hookSpecificOutput` de la sortie JSON d'un hook ElicitationResult et rejette `systemMessage` et `continue`.

3752 3756 


3759Les événements qui supportent les cinq types de hooks (`command`, `http`, `mcp_tool`, `prompt` et `agent`) :3763Les événements qui supportent les cinq types de hooks (`command`, `http`, `mcp_tool`, `prompt` et `agent`) :

3760 3764 

3761* `PermissionDenied`3765* `PermissionDenied`

3762* `PermissionRequest`

3763* `PostToolBatch`3766* `PostToolBatch`

3764* `PostToolUse`3767* `PostToolUse`

3765* `PostToolUseFailure`3768* `PostToolUseFailure`


3772* `UserPromptExpansion`3775* `UserPromptExpansion`

3773* `UserPromptSubmit`3776* `UserPromptSubmit`

3774 3777 

3778`PermissionRequest` supporte les hooks `command`, `http`, `mcp_tool` et `prompt` mais pas les hooks `agent`. Si vous configurez un hook d'agent sur cet événement, Claude Code le saute et le flux de permission se poursuit sans changement. Pour autoriser ou refuser à partir d'un hook, retournez l'[objet de décision](#permissionrequest-decision-control) à partir d'un hook de commande ou HTTP.

3779 

3775Les événements qui supportent les hooks `command`, `http` et `mcp_tool` mais pas `prompt` ou `agent` :3780Les événements qui supportent les hooks `command`, `http` et `mcp_tool` mais pas `prompt` ou `agent` :

3776 3781 

3777* `ConfigChange`3782* `ConfigChange`


3904 Les hooks d'agent sont expérimentaux. Le comportement et la configuration peuvent changer dans les versions futures. Pour les workflows de production, préférez les [hooks de commande](#command-hook-fields).3909 Les hooks d'agent sont expérimentaux. Le comportement et la configuration peuvent changer dans les versions futures. Pour les workflows de production, préférez les [hooks de commande](#command-hook-fields).

3905</Warning>3910</Warning>

3906 3911 

3907Les hooks basés sur des agents (`type: "agent"`) sont comme les hooks basés sur des prompts mais avec accès aux outils multi-tours. Au lieu d'un seul appel LLM, un hook d'agent lance un subagent qui peut lire des fichiers, rechercher du code et inspecter la codebase pour vérifier les conditions. Les hooks d'agent supportent les mêmes événements que les hooks basés sur des prompts.3912Les hooks basés sur des agents (`type: "agent"`) sont comme les hooks basés sur des prompts mais avec accès aux outils multi-tours. Au lieu d'un seul appel LLM, un hook d'agent lance un subagent qui peut lire des fichiers, rechercher du code et inspecter la codebase pour vérifier les conditions. Les hooks d'agent supportent les mêmes événements que les [hooks basés sur des prompts](#prompt-based-hooks), sauf `PermissionRequest`.

3908 3913 

3909<h3 id="how-agent-hooks-work">3914<h3 id="how-agent-hooks-work">

3910 Comment fonctionnent les hooks d'agent3915 Comment fonctionnent les hooks d'agent

Details

24 24 

25Vous faites également partie de cette boucle. Vous pouvez interrompre à tout moment pour orienter Claude dans une direction différente, fournir un contexte supplémentaire, ou lui demander d'essayer une approche différente. Claude fonctionne de manière autonome mais reste réactif à votre contribution.25Vous faites également partie de cette boucle. Vous pouvez interrompre à tout moment pour orienter Claude dans une direction différente, fournir un contexte supplémentaire, ou lui demander d'essayer une approche différente. Claude fonctionne de manière autonome mais reste réactif à votre contribution.

26 26 

27La boucle agentive est alimentée par deux composants : [les modèles](#models) qui raisonnent et [les outils](#tools) qui agissent. Claude Code sert de **harnais agentif** autour de Claude : il fournit les outils, la gestion du contexte, et l'environnement d'exécution qui transforment un modèle de langage en un agent de codage capable.27La boucle agentive est alimentée par deux composants : [les modèles](#models) qui raisonnent et [les outils](#tools) qui agissent. Claude Code est la couche autour du modèle qui fournit les outils et gère le contexte que le modèle voit. Cette couche environnante est ce que le terme harnais agentif désigne.

28 28 

29<h3 id="models">29<h3 id="models">

30 Modèles30 Modèles


238 Interrompre et orienter238 Interrompre et orienter

239</h4>239</h4>

240 240 

241Vous pouvez rediriger Claude à tout moment sans attendre que le tour se termine ou recommencer :241Vous pouvez rediriger Claude à tout moment sans recommencer. Faites l'une de ces deux choses :

242 242 

243* **Appuyez sur `Esc`** pour arrêter Claude immédiatement. L'appel d'outil en cours est annulé et Claude attend votre prochaine instruction. Si vous avez des messages en attente, Claude Code [les envoie ensuite](/docs/fr/interactive-mode#queue-messages-while-claude-works).243* **Appuyez sur `Esc`** pour arrêter Claude immédiatement. L'appel d'outil en cours est annulé et Claude attend votre prochaine instruction. Si vous avez des messages en attente, Claude Code [les envoie ensuite](/docs/fr/interactive-mode#queue-messages-while-claude-works).

244* **Tapez une correction et appuyez sur `Entrée`** pour l'envoyer sans arrêter l'outil en cours. Claude la lit dès que l'action actuelle se termine et s'ajuste avant de décider de son prochain pas.244* **Tapez une correction et appuyez sur `Entrée`** sans arrêter Claude. Le message s'affiche en attente au-dessus de la zone de saisie. Si Claude exécute des appels d'outil, il lit le message dès que ces appels se terminent, dans le même tour, et s'ajuste avant son étape suivante. [Mettre en file d'attente des messages pendant que Claude travaille](/docs/fr/interactive-mode#queue-messages-while-claude-works) couvre le moment où les autres entrées en attente sont envoyées.

245 245 

246<h3 id="delegate-don’t-dictate">246<h3 id="delegate-don’t-dictate">

247 Déléguer, ne pas dicter247 Déléguer, ne pas dicter

Details

26| `Ctrl+X Ctrl+K` | Arrêter tous les [sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) dans cette session et désactiver les [réponses automatiques des artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) pour le reste de celle-ci. Appuyez deux fois dans les 3 secondes pour confirmer | Contrôle des sous-agents |26| `Ctrl+X Ctrl+K` | Arrêter tous les [sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) dans cette session et désactiver les [réponses automatiques des artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) pour le reste de celle-ci. Appuyez deux fois dans les 3 secondes pour confirmer | Contrôle des sous-agents |

27| `Ctrl+D` | Quitter la session Claude Code | La première pression affiche un indice de confirmation et une deuxième pression dans les 800 ms quitte. Lorsque le prompt contient du texte, `Ctrl+D` supprime le caractère après le curseur à la place |27| `Ctrl+D` | Quitter la session Claude Code | La première pression affiche un indice de confirmation et une deuxième pression dans les 800 ms quitte. Lorsque le prompt contient du texte, `Ctrl+D` supprime le caractère après le curseur à la place |

28| `Ctrl+G` ou `Ctrl+X Ctrl+E` | Ouvrir dans l'éditeur de texte par défaut | Modifiez votre prompt ou votre réponse personnalisée dans votre éditeur de texte par défaut. `Ctrl+X Ctrl+E` est la liaison native readline. Activez **Afficher la dernière réponse dans l'éditeur externe** dans `/config` pour ajouter la réponse précédente de Claude en tant que contexte commenté avec `#` au-dessus de votre prompt ; Claude Code supprime le bloc de commentaire lorsque vous enregistrez |28| `Ctrl+G` ou `Ctrl+X Ctrl+E` | Ouvrir dans l'éditeur de texte par défaut | Modifiez votre prompt ou votre réponse personnalisée dans votre éditeur de texte par défaut. `Ctrl+X Ctrl+E` est la liaison native readline. Activez **Afficher la dernière réponse dans l'éditeur externe** dans `/config` pour ajouter la réponse précédente de Claude en tant que contexte commenté avec `#` au-dessus de votre prompt ; Claude Code supprime le bloc de commentaire lorsque vous enregistrez |

29| `Ctrl+L` | Redessiner ou effacer l'écran | Force un redessinage complet du terminal, en conservant l'entrée et l'historique de la conversation. Utilisez ceci pour récupérer si l'affichage devient brouillé ou partiellement vide. En [rendu plein écran](/docs/fr/fullscreen#clear-the-conversation), il efface également l'écran et vous pouvez faire défiler vers le haut pour voir les messages antérieurs |29| `Ctrl+L` | Redessiner l'écran | Force un redessinage complet du terminal, en conservant l'entrée et l'historique de la conversation. Utilisez ceci pour récupérer si l'affichage devient brouillé ou partiellement vide. Consultez [Effacer la conversation](/docs/fr/fullscreen#clear-the-conversation) pour le rendu plein écran |

30| `Ctrl+O` | Basculer la visionneuse de transcription | Affiche l'utilisation détaillée des outils et l'exécution, avec un horodatage et le modèle utilisé sur chaque message d'assistant. Développe également les lignes qui s'effondrent par défaut, comme les appels MCP, affichés sous la forme d'une seule ligne `Called slack 3 times`, et les [messages de vos autres sessions](/docs/fr/cross-session-messaging#what-a-message-looks-like), affichés sous la forme d'un aperçu d'une ligne `Message from @<sender>` |30| `Ctrl+O` | Basculer la visionneuse de transcription | Affiche l'utilisation détaillée des outils et l'exécution, avec un horodatage et le modèle utilisé sur chaque message d'assistant. Développe également les lignes qui s'effondrent par défaut, comme les appels MCP, affichés sous la forme d'une seule ligne `Called slack 3 times`, et les [messages de vos autres sessions](/docs/fr/cross-session-messaging#what-a-message-looks-like), affichés sous la forme d'un aperçu d'une ligne `Message from @<sender>` |

31| `Ctrl+R` | Recherche inversée dans l'historique des commandes | Recherchez les commandes précédentes de manière interactive |31| `Ctrl+R` | Recherche inversée dans l'historique des commandes | Recherchez les commandes précédentes de manière interactive |

32| `Ctrl+V` ou `Cmd+V` (iTerm2) ou `Alt+V` (Windows et WSL) | Coller une image du presse-papiers | Insère une puce `[Image #N]` au curseur pour que vous puissiez la référencer positionnellement dans votre prompt. Sur WSL, `Ctrl+V` et `Alt+V` sont tous deux liés ; utilisez `Alt+V` si votre terminal intercepte `Ctrl+V` |32| `Ctrl+V` ou `Cmd+V` (iTerm2) ou `Alt+V` (Windows et WSL) | Coller une image du presse-papiers | Insère une puce `[Image #N]` au curseur pour que vous puissiez la référencer positionnellement dans votre prompt. Sur WSL, `Ctrl+V` et `Alt+V` sont tous deux liés ; utilisez `Alt+V` si votre terminal intercepte `Ctrl+V` |


42| `Ctrl+Entrée` ou `Ctrl+X Ctrl+S` | Envoyer les messages en attente maintenant | Interrompt le tour actuel pour que vos [messages en attente](#queue-messages-while-claude-works) et votre brouillon avec eux sortent immédiatement au lieu d'attendre la fin du tour. En [mode shell](#shell-mode-with-prefix), la touche met en attente votre commande sans interrompre. Dans les terminaux qui ne signalent pas les touches étendues, `Ctrl+Entrée` arrive sous la forme d'une simple `Entrée` ; `Ctrl+X Ctrl+S` fonctionne dans n'importe quel terminal. Nécessite Claude Code v2.1.275 ou version ultérieure |42| `Ctrl+Entrée` ou `Ctrl+X Ctrl+S` | Envoyer les messages en attente maintenant | Interrompt le tour actuel pour que vos [messages en attente](#queue-messages-while-claude-works) et votre brouillon avec eux sortent immédiatement au lieu d'attendre la fin du tour. En [mode shell](#shell-mode-with-prefix), la touche met en attente votre commande sans interrompre. Dans les terminaux qui ne signalent pas les touches étendues, `Ctrl+Entrée` arrive sous la forme d'une simple `Entrée` ; `Ctrl+X Ctrl+S` fonctionne dans n'importe quel terminal. Nécessite Claude Code v2.1.275 ou version ultérieure |

43| `Shift+Tab`, ou `Alt+M` sur Windows lorsque le runtime Node ou Bun n'active pas le mode d'entrée VT | Parcourir les modes de permission | Parcourez `default` (étiqueté Manuel dans l'indicateur de mode), `acceptEdits`, `plan`, et, le cas échéant, `bypassPermissions` puis `auto`. À partir de `auto`, la première pression bascule vers `default`. Consultez [modes de permission](/docs/fr/permission-modes). Sur un prompt de permission de fichier, la même touche ferme un [champ de commentaire](/docs/fr/permissions#add-a-comment-when-you-answer-a-permission-prompt) ouvert. Sans champ ouvert, il sélectionne l'option qui autorise l'action pour le reste de la session, lorsque le prompt offre cette option |43| `Shift+Tab`, ou `Alt+M` sur Windows lorsque le runtime Node ou Bun n'active pas le mode d'entrée VT | Parcourir les modes de permission | Parcourez `default` (étiqueté Manuel dans l'indicateur de mode), `acceptEdits`, `plan`, et, le cas échéant, `bypassPermissions` puis `auto`. À partir de `auto`, la première pression bascule vers `default`. Consultez [modes de permission](/docs/fr/permission-modes). Sur un prompt de permission de fichier, la même touche ferme un [champ de commentaire](/docs/fr/permissions#add-a-comment-when-you-answer-a-permission-prompt) ouvert. Sans champ ouvert, il sélectionne l'option qui autorise l'action pour le reste de la session, lorsque le prompt offre cette option |

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

45| `Option+T` (macOS) ou `Alt+T` (Windows/Linux) | Basculer la réflexion étendue | Activez ou désactivez le mode de réflexion étendue. N'a aucun effet sur Fable 5.1 ou Fable 5, qui utilisent toujours la réflexion étendue. Fonctionne sur macOS sans configurer Option en tant que Meta |45| `Option+T` (macOS) ou `Alt+T` (Windows/Linux) | Basculer la réflexion étendue | Activez ou désactivez le mode de réflexion étendue. N'a aucun effet sur Opus 5.5 ou les modèles Fable, qui utilisent toujours la réflexion étendue. Fonctionne sur macOS sans configurer Option en tant que Meta |

46| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Basculer le mode rapide | Activez ou désactivez le [mode rapide](/docs/fr/fast-mode) |46| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Basculer le mode rapide | Activez ou désactivez le [mode rapide](/docs/fr/fast-mode) |

47 47 

48<h3 id="text-editing">48<h3 id="text-editing">


593 593 

594Pour savoir lequel de ces cas s'est produit, démarrez `claude --debug` avec la vérification orthographique activée et tapez un mot. Ensuite, recherchez les lignes `[spellcheck]` dans le journal de débogage à `~/.claude/debug/<session-id>.txt`. Une ligne nomme le programme que Claude Code a démarré, ou énumère ceux qu'il a recherchés et n'a pas trouvés. Les lignes ultérieures expliquent pourquoi il s'est arrêté. Une erreur de dictionnaire manquant là signifie que le vérificateur n'a pas de dictionnaire pour votre valeur `language`, ou pas de dictionnaire par défaut lorsque `language` n'est pas défini. Installez-en un, ou définissez `language` sur un dictionnaire que vous avez.594Pour savoir lequel de ces cas s'est produit, démarrez `claude --debug` avec la vérification orthographique activée et tapez un mot. Ensuite, recherchez les lignes `[spellcheck]` dans le journal de débogage à `~/.claude/debug/<session-id>.txt`. Une ligne nomme le programme que Claude Code a démarré, ou énumère ceux qu'il a recherchés et n'a pas trouvés. Les lignes ultérieures expliquent pourquoi il s'est arrêté. Une erreur de dictionnaire manquant là signifie que le vérificateur n'a pas de dictionnaire pour votre valeur `language`, ou pas de dictionnaire par défaut lorsque `language` n'est pas défini. Installez-en un, ou définissez `language` sur un dictionnaire que vous avez.

595 595 

596<h2 id="invisible-characters-in-prompts">

597 Caractères invisibles dans les invites

598</h2>

599 

600Le texte collé peut contenir des caractères Unicode qu'un terminal n'affiche pas du tout, comme les caractères de balise, les contrôles bidirectionnels et les espaces de largeur nulle, de sorte qu'une invite peut contenir du texte que vous ne voyez jamais. Pour éviter que le texte copié ne contienne des instructions que votre terminal n'affiche pas, Claude Code supprime ces caractères lorsque vous appuyez sur Entrée, avant d'envoyer quoi que ce soit. Il nettoie à la fois l'invite et le contenu de toute [référence de texte collé](/docs/fr/terminal-config#paste-large-content) que l'invite inclut. Claude Code conserve les joineurs que les scripts persan et indique écrivent et les sélecteurs à l'intérieur des séquences emoji.

601 

602Si Claude Code a supprimé quelque chose, cet Entrée n'envoie rien. L'invite nettoyée revient dans la zone de saisie avec un avis tel que `Removed 3 invisible characters · review and press Enter to send`, et appuyer à nouveau sur Entrée envoie le texte tel qu'affiché.

603 

604Lorsque vous transmettez une invite sur la ligne de commande, comme dans `claude "fix the login bug"`, ou que vous en canalisez une dans une session interactive, Claude Code n'attend pas un deuxième Entrée. Il supprime les caractères, affiche un avis et envoie l'invite nettoyée. Si l'invite nettoyée commençait par `/`, Claude Code la place dans la zone de saisie pour que vous la révisiez et l'envoyiez à la place.

605 

596<h2 id="review-changes-with-/diff">606<h2 id="review-changes-with-/diff">

597 Examinez les modifications avec /diff607 Examinez les modifications avec /diff

598</h2>608</h2>

keybindings.md +32 −6

Details

114| Action | Par défaut | Description |114| Action | Par défaut | Description |

115| :-------------------- | :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |115| :-------------------- | :--------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

116| `chat:cancel` | Échappement | Annuler l'entrée actuelle |116| `chat:cancel` | Échappement | Annuler l'entrée actuelle |

117| `chat:clearInput` | Ctrl+L | Forcer un redessinage complet de l'écran, en préservant l'entrée et la conversation. Dans le [rendu plein écran](/docs/fr/fullscreen#clear-the-conversation), effacer également l'écran |117| `chat:clearInput` | Ctrl+L | Forcer un redessinage complet de l'écran, en préservant l'entrée et la conversation |

118| `chat:clearScreen` | Cmd+K | Identique à `chat:clearInput`. Voir [Effacer la conversation](/docs/fr/fullscreen#clear-the-conversation) pour savoir comment Cmd+K se comporte sur iTerm2 et Terminal.app |118| `chat:clearScreen` | Cmd+K | Identique à `chat:clearInput`. Voir [Effacer la conversation](/docs/fr/fullscreen#clear-the-conversation) pour savoir comment Cmd+K se comporte sur iTerm2 et Terminal.app |

119| `chat:killAgents` | Ctrl+X Ctrl+K | Arrêter tous les [sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) en cours d'exécution dans cette session et désactiver les [réponses automatiques aux artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) pour le reste de celle-ci |119| `chat:killAgents` | Ctrl+X Ctrl+K | Arrêter tous les [sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) en cours d'exécution dans cette session et désactiver les [réponses automatiques aux artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) pour le reste de celle-ci |

120| `chat:cycleMode` | Maj+Tab\* | Cycler les modes de permission |120| `chat:cycleMode` | Maj+Tab\* | Cycler les modes de permission |


152Actions disponibles dans le contexte `Confirmation` :152Actions disponibles dans le contexte `Confirmation` :

153 153 

154| Action | Par défaut | Description |154| Action | Par défaut | Description |

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

156| `confirm:yes` | Y, Entrée | Confirmer l'action |156| `confirm:yes` | Entrée | Confirmer l'action |

157| `confirm:no` | N, Échappement | Refuser l'action |157| `confirm:no` | Échappement | Refuser l'action |

158| `confirm:previous` | Haut | Option précédente |158| `confirm:previous` | Haut | Option précédente |

159| `confirm:next` | Bas | Option suivante |159| `confirm:next` | Bas | Option suivante |

160| `confirm:nextField` | Tab | Champ suivant |160| `confirm:nextField` | Tab | Champ suivant |


166 166 

167Avant v2.1.257, une action `confirm:toggleExplanation`, liée à `Ctrl+E` par défaut, affichait une explication générée par le modèle de la commande sur les invites de permission Bash et PowerShell.167Avant v2.1.257, une action `confirm:toggleExplanation`, liée à `Ctrl+E` par défaut, affichait une explication générée par le modèle de la commande sur les invites de permission Bash et PowerShell.

168 168 

169Les dialogues utilisent `confirm:yes` et `confirm:no` pour accepter et annuler même lorsqu'ils ne posent pas une question oui ou non. Si vous liez une simple lettre telle que `y` ou `n` dans ce contexte, la lettre agit également sur les dialogues qui ne la montrent jamais comme clé. Un dialogue qui affiche `y` et `n` comme ses clés les lit lui-même et n'a besoin d'aucune liaison.

170 

171Cet exemple lie `y` à `confirm:yes` et `n` à `confirm:no` :

172 

173```json theme={null}

174{

175 "bindings": [

176 {

177 "context": "Confirmation",

178 "bindings": {

179 "y": "confirm:yes",

180 "n": "confirm:no"

181 }

182 }

183 ]

184}

185```

186 

187Avant v2.1.280, `y` était également lié à `confirm:yes` et `n` à `confirm:no` par défaut. Si vous avez créé votre `keybindings.json` avec `/keybindings` avant v2.1.280, le fichier liste les deux liaisons et elles restent en vigueur jusqu'à ce que vous supprimiez ces deux lignes.

188 

169<h3 id="permission-actions">189<h3 id="permission-actions">

170 Actions de permission190 Actions de permission

171</h3>191</h3>


275| `footer:clearSelection` | Échappement | Effacer la sélection du pied de page |295| `footer:clearSelection` | Échappement | Effacer la sélection du pied de page |

276| `footer:dismiss` | Retour arrière, Supprimer | Rejeter le lien [artefact](/docs/fr/artifacts) sélectionné du pied de page ; l'artefact publié lui-même n'est pas affecté. Sur d'autres lignes du pied de page, ces touches n'ont aucun effet. Nécessite v2.1.217 ou ultérieure |296| `footer:dismiss` | Retour arrière, Supprimer | Rejeter le lien [artefact](/docs/fr/artifacts) sélectionné du pied de page ; l'artefact publié lui-même n'est pas affecté. Sur d'autres lignes du pied de page, ces touches n'ont aucun effet. Nécessite v2.1.217 ou ultérieure |

277 297 

298Pendant qu'un élément de pied de page est sélectionné, tel qu'une ligne dans le panneau agent sous l'invite, `Entrée` l'ouvre même lorsque vous reliez `Entrée` dans le contexte `Chat` à `chat:queueSubmit` ou `chat:newline`.

299 

300Les liaisons `Chat` sur les touches que le contexte `Footer` ne lie pas, telles que `Maj+Tab` pour `chat:cycleMode`, continuent de fonctionner pendant qu'un élément est sélectionné.

301 

278<h3 id="message-selector-actions">302<h3 id="message-selector-actions">

279 Actions du sélecteur de message303 Actions du sélecteur de message

280</h3>304</h3>


344| `modelPicker:thisSessionOnly` | s | Appliquer le modèle en surbrillance à cette session uniquement |368| `modelPicker:thisSessionOnly` | s | Appliquer le modèle en surbrillance à cette session uniquement |

345 369 

346<h3 id="effort-slider-actions">370<h3 id="effort-slider-actions">

347 Actions d'effort371 Actions du curseur d'effort

348</h3>372</h3>

349 373 

350Actions disponibles dans le contexte `EffortSlider`, le curseur qui s'ouvre lorsque vous exécutez `/effort` sans arguments. Les touches Gauche, Droite, Entrée et Échappement du curseur ne peuvent pas être reliées.374Actions disponibles dans le contexte `EffortSlider`, le curseur qui s'ouvre lorsque vous exécutez `/effort` sans arguments. Les touches Gauche, Droite, Entrée et Échappement du curseur ne peuvent pas être reliées.


370| `select:accept` | Entrée | Accepter la sélection |394| `select:accept` | Entrée | Accepter la sélection |

371| `select:cancel` | Échappement | Annuler la sélection |395| `select:cancel` | Échappement | Annuler la sélection |

372 396 

373Claude Code applique vos liaisons `select:pageUp`, `select:pageDown`, `select:first` et `select:last` dans le menu `/skills`. Dans la plupart des autres listes, telles que le sélecteur `/model`, Claude Code pagine avec PageUp et PageDown indépendamment de vos liaisons et ignore Home et End.397Claude Code applique vos liaisons `select:pageUp`, `select:pageDown`, `select:first` et `select:last` dans le menu `/skills`. Dans la plupart des autres listes, telles que le sélecteur `/model`, vos liaisons `select:first` et `select:last` s'appliquent. PageUp et PageDown parcourent les options dans ces listes indépendamment de vos liaisons.

398 

399Avant v2.1.280, ces autres listes ignoraient Home, End, et vos liaisons `select:first` et `select:last`.

374 400 

375<h3 id="plugin-actions">401<h3 id="plugin-actions">

376 Actions de plugin402 Actions de plugin

Details

255 255 

256Ceci est particulièrement utile pour [l'isolation des worktrees de sous-agent](/docs/fr/worktrees#isolate-subagents-with-worktrees). Les sous-agents sont des instances Claude parallèles générées pour les sous-tâches, et chacun qui s'exécute dans un worktree obtient un checkout léger au lieu de l'arbre complet. Tous les worktrees dans une session partagent le même `sparsePaths`, donc si un sous-agent a besoin de `packages/api/` et un autre de `packages/web/`, listez les deux.256Ceci est particulièrement utile pour [l'isolation des worktrees de sous-agent](/docs/fr/worktrees#isolate-subagents-with-worktrees). Les sous-agents sont des instances Claude parallèles générées pour les sous-tâches, et chacun qui s'exécute dans un worktree obtient un checkout léger au lieu de l'arbre complet. Tous les worktrees dans une session partagent le même `sparsePaths`, donc si un sous-agent a besoin de `packages/api/` et un autre de `packages/web/`, listez les deux.

257 257 

258Listez les répertoires dans `sparsePaths`, pas les fichiers individuels. Les fichiers au niveau racine comme `package.json`, `tsconfig.base.json` et les fichiers de verrouillage sont toujours vérifiés aux côtés des répertoires que vous listez. Les répertoires au niveau racine ne le sont pas, donc incluez `.claude` dans la liste si vous voulez que le `.claude/settings.json`, `.claude/rules/` ou `.claude/skills/` de la racine du référentiel soit disponible à l'intérieur du worktree.258Listez les répertoires dans `sparsePaths`, pas les fichiers individuels. Les fichiers au niveau racine comme `package.json`, `tsconfig.base.json` et les fichiers de verrouillage sont toujours vérifiés aux côtés des répertoires que vous listez. Les répertoires au niveau racine ne le sont pas, donc incluez `.claude` dans la liste si vous voulez que le `.claude/settings.json` de la racine du référentiel ou les fichiers `.claude/rules/` soient disponibles à l'intérieur du worktree. Pour les skills de projet, les agents et les commandes, voir [Ce que les worktrees partagent avec le checkout principal](/docs/fr/worktrees#what-worktrees-share-with-the-main-checkout).

259 259 

260Le sparse checkout nécessite que git active `extensions.worktreeConfig` dans le `.git/config` partagé du référentiel tandis qu'un worktree sparse existe. Claude Code supprime cette entrée après la suppression du dernier worktree, mais uniquement si Claude Code l'a ajoutée. Il ne supprime jamais une valeur que vous avez définie vous-même. Avant la v2.1.207, l'entrée restait après la suppression du dernier worktree, et les outils basés sur go-git comme `tea` ne pouvaient pas ouvrir le référentiel jusqu'à ce que vous exécutiez `git config --unset extensions.worktreeConfig`.260Le sparse checkout nécessite que git active `extensions.worktreeConfig` dans le `.git/config` partagé du référentiel tandis qu'un worktree sparse existe. Claude Code supprime cette entrée après la suppression du dernier worktree, mais uniquement si Claude Code l'a ajoutée. Il ne supprime jamais une valeur que vous avez définie vous-même. Avant la v2.1.207, l'entrée restait après la suppression du dernier worktree, et les outils basés sur go-git comme `tea` ne pouvaient pas ouvrir le référentiel jusqu'à ce que vous exécutiez `git config --unset extensions.worktreeConfig`.

261 261 

Details

578Ce sont les erreurs les plus courantes lors de l'exécution de Claude Code via une passerelle, avec la cause côté passerelle et la correction :578Ce sont les erreurs les plus courantes lors de l'exécution de Claude Code via une passerelle, avec la cause côté passerelle et la correction :

579 579 

580| Erreur | Cause | Correction |580| Erreur | Cause | Correction |

581| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |581| :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

582| 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 | Désactivez la variable pour utiliser la connexion sauvegardée, ou exécutez `/logout` pour utiliser l'identifiant de passerelle |582| 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 | Désactivez la variable pour utiliser la connexion sauvegardée, ou exécutez `/logout` pour utiliser l'identifiant de passerelle |

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

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


588| Erreurs `400` nommant `thinking` ou `adaptive`, comme `Input tag 'adaptive' found` | La version du modèle en amont n'accepte pas le raisonnement adaptatif, que Claude Code demande pour les modèles Claude 4.6 et ultérieurs | Mettez à niveau l'amont de la passerelle. Sur Opus 4.6 et Sonnet 4.6, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` fonctionne à la place. Les variables de capacité de [configuration de modèle](/docs/fr/model-config) s'appliquent uniquement aux configurations de fournisseur, comme `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_VERTEX`, pas derrière une passerelle `ANTHROPIC_BASE_URL` |588| Erreurs `400` nommant `thinking` ou `adaptive`, comme `Input tag 'adaptive' found` | La version du modèle en amont n'accepte pas le raisonnement adaptatif, que Claude Code demande pour les modèles Claude 4.6 et ultérieurs | Mettez à niveau l'amont de la passerelle. Sur Opus 4.6 et Sonnet 4.6, `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` fonctionne à la place. Les variables de capacité de [configuration de modèle](/docs/fr/model-config) s'appliquent uniquement aux configurations de fournisseur, comme `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_VERTEX`, pas derrière une passerelle `ANTHROPIC_BASE_URL` |

589| Erreurs `400` indiquant une limite de contexte ou de jeton dans les propres termes de la passerelle, comme `ContextWindowExceededError` ou `prompt token count of N exceeds the limit of M` | La passerelle applique une fenêtre de contexte plus petite que celle native du modèle et réécrit l'erreur en amont, de sorte que Claude Code ne la reconnaît pas comme une [erreur trop longue](/docs/fr/errors#prompt-is-too-long) et ne compacte pas et ne réessaie pas automatiquement | Exécutez `/compact` pour récupérer la session. Pour l'éviter, définissez `CLAUDE_CODE_AUTO_COMPACT_WINDOW` à la limite de la passerelle ; Claude Code limite la valeur à au moins 100 000 jetons et au maximum la fenêtre de contexte du modèle, de sorte qu'une limite de passerelle inférieure à 100 000 ne peut pas être appariée, et `/compact` reste la récupération là. Définissez aussi `CLAUDE_CODE_MAX_OUTPUT_TOKENS` en dessous de la limite de sortie du modèle de passerelle |589| Erreurs `400` indiquant une limite de contexte ou de jeton dans les propres termes de la passerelle, comme `ContextWindowExceededError` ou `prompt token count of N exceeds the limit of M` | La passerelle applique une fenêtre de contexte plus petite que celle native du modèle et réécrit l'erreur en amont, de sorte que Claude Code ne la reconnaît pas comme une [erreur trop longue](/docs/fr/errors#prompt-is-too-long) et ne compacte pas et ne réessaie pas automatiquement | Exécutez `/compact` pour récupérer la session. Pour l'éviter, définissez `CLAUDE_CODE_AUTO_COMPACT_WINDOW` à la limite de la passerelle ; Claude Code limite la valeur à au moins 100 000 jetons et au maximum la fenêtre de contexte du modèle, de sorte qu'une limite de passerelle inférieure à 100 000 ne peut pas être appariée, et `/compact` reste la récupération là. Définissez aussi `CLAUDE_CODE_MAX_OUTPUT_TOKENS` en dessous de la limite de sortie du modèle de passerelle |

590| `400` erreurs sur chaque demande, dans les propres termes de la passerelle rejetant un schéma d'entrée d'outil ou son `pattern`, sur Claude Code v2.1.265 à v2.1.267 | Dans un déploiement progressif sur ces versions, le schéma de l'[outil Artifact](/docs/fr/artifacts#availability) porte une expression régulière avec des classes de caractères Unicode `\p{...}`. L'API Anthropic l'accepte, mais une passerelle ou un amont qui vérifie le `pattern` de chaque schéma d'outil avec son propre moteur regex rejette la demande entière | Mettez à jour vers v2.1.268 ou ultérieur, qui n'envoie pas l'expression régulière. Sur une version affectée, [désactivez les artifacts](/docs/fr/artifacts#disable-artifacts), ce qui supprime l'outil et son schéma des demandes |590| `400` erreurs sur chaque demande, dans les propres termes de la passerelle rejetant un schéma d'entrée d'outil ou son `pattern`, sur Claude Code v2.1.265 à v2.1.267 | Dans un déploiement progressif sur ces versions, le schéma de l'[outil Artifact](/docs/fr/artifacts#availability) porte une expression régulière avec des classes de caractères Unicode `\p{...}`. L'API Anthropic l'accepte, mais une passerelle ou un amont qui vérifie le `pattern` de chaque schéma d'outil avec son propre moteur regex rejette la demande entière | Mettez à jour vers v2.1.268 ou ultérieur, qui n'envoie pas l'expression régulière. Sur une version affectée, [désactivez les artifacts](/docs/fr/artifacts#disable-artifacts), ce qui supprime l'outil et son schéma des demandes |

591| `400` erreurs sur chaque demande, dans les propres termes de la passerelle rejetant un type d'outil non reconnu, comme `Input tag 'advisor_20260301'`, sur Claude Code v2.1.275 | Dans un déploiement progressif sur cette version, les demandes portent une entrée d'[outil advisor](/docs/fr/advisor) même avec l'advisor désactivé. L'API Anthropic l'accepte, mais une passerelle ou un amont qui valide les types d'outil rejette la demande entière ; celui qui [transfère les champs du corps de la demande sans modification](/docs/fr/llm-gateway-protocol#forward-as-open-lists) la transmet sans être affecté. L'entrée est une déclaration qui ne porte aucun contenu de conversation | Mettez à jour vers v2.1.276 ou ultérieur, qui n'envoie pas l'entrée derrière une passerelle `ANTHROPIC_BASE_URL` à moins que vous n'activiez l'advisor. Sur v2.1.275, définissez [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL=1`](/docs/fr/env-vars), qui supprime l'entrée des demandes |

591| Modèles manquants du sélecteur `/model` | Les noms de modèle de passerelle ne sont pas dans la liste intégrée de Claude Code, ou Claude Code affiche une ligne [`modelPicker`](/docs/fr/settings-reference#modelpicker) qui remplace les options intégrées | Activez la [découverte de modèle de passerelle](#add-gateway-models-to-the-model-picker) ou ajoutez des noms avec les variables de [configuration de modèle](/docs/fr/model-config). Si Claude Code affiche une ligne `modelPicker` de remplacement, ajoutez les modèles de passerelle à celle-ci, ou demandez à votre administrateur de les ajouter quand les paramètres gérés le fournissent |592| Modèles manquants du sélecteur `/model` | Les noms de modèle de passerelle ne sont pas dans la liste intégrée de Claude Code, ou Claude Code affiche une ligne [`modelPicker`](/docs/fr/settings-reference#modelpicker) qui remplace les options intégrées | Activez la [découverte de modèle de passerelle](#add-gateway-models-to-the-model-picker) ou ajoutez des noms avec les variables de [configuration de modèle](/docs/fr/model-config). Si Claude Code affiche une ligne `modelPicker` de remplacement, ajoutez les modèles de passerelle à celle-ci, ou demandez à votre administrateur de les ajouter quand les paramètres gérés le fournissent |

592| `/fast` signale `Fast mode unavailable due to network connectivity issues` tandis que les demandes d'inférence fonctionnent | La vérification de disponibilité du [mode rapide](/docs/fr/fast-mode) va directement à `api.anthropic.com` et ne suit pas `ANTHROPIC_BASE_URL`, de sorte que l'accès direct sortant bloqué échoue à la vérification. Le même message apparaît sur un réseau ouvert quand la vérification présente une clé émise par passerelle de `ANTHROPIC_API_KEY` ou d'un `apiKeyHelper` et Anthropic la rejette | Mettez en liste blanche `api.anthropic.com` si l'accès sortant est bloqué, ou définissez une variable de saut ; pour une clé de passerelle rejetée, seules les variables de saut aident. Voir [utiliser le mode rapide derrière les proxies et les passerelles LLM](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |593| `/fast` signale `Fast mode unavailable due to network connectivity issues` tandis que les demandes d'inférence fonctionnent | La vérification de disponibilité du [mode rapide](/docs/fr/fast-mode) va directement à `api.anthropic.com` et ne suit pas `ANTHROPIC_BASE_URL`, de sorte que l'accès direct sortant bloqué échoue à la vérification. Le même message apparaît sur un réseau ouvert quand la vérification présente une clé émise par passerelle de `ANTHROPIC_API_KEY` ou d'un `apiKeyHelper` et Anthropic la rejette | Mettez en liste blanche `api.anthropic.com` si l'accès sortant est bloqué, ou définissez une variable de saut ; pour une clé de passerelle rejetée, seules les variables de saut aident. Voir [utiliser le mode rapide derrière les proxies et les passerelles LLM](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

593| `/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 Anthropic ; 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 proxies et les passerelles LLM](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |594| `/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 Anthropic ; 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 proxies et les passerelles LLM](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) |

Details

144 144 

145Si vos développeurs définissent `ANTHROPIC_CUSTOM_HEADERS`, ces en-têtes apparaissent également sur les requêtes.145Si vos développeurs définissent `ANTHROPIC_CUSTOM_HEADERS`, ces en-têtes apparaissent également sur les requêtes.

146 146 

147<h3 id="gateway-hint-headers">

148 En-têtes d'indication de passerelle

149</h3>

150 

151Claude Code peut également envoyer des indications de routage : des faits par requête qu'une passerelle ou un routeur peut utiliser pour planifier, mettre en cache ou attribuer une requête. Nécessite Claude Code v2.1.273 ou ultérieur.

152 

153Le fait qu'une requête les porte dépend de l'endroit où Claude Code l'envoie :

154 

155* Connexion directe à l'API Anthropic : envoyée par défaut

156* URL de base personnalisée : désactivée par défaut, car un proxy qui rejette les en-têtes inconnus échouerait la requête. Pour les recevoir, définissez [`CLAUDE_CODE_GATEWAY_HINT_HEADERS=1`](/docs/fr/env-vars) pour vos développeurs, par exemple dans le bloc `env` des [paramètres gérés](/docs/fr/managed-settings)

157* Tout autre backend, y compris Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry et Claude Platform on AWS : envoyée uniquement lorsque `CLAUDE_CODE_GATEWAY_HINT_HEADERS=1` est défini

158 

159Définir `CLAUDE_CODE_GATEWAY_HINT_HEADERS` à `0` arrête les en-têtes sur chaque connexion.

160 

161Les en-têtes ne portent que ce que les lignes ci-dessous énumèrent : vocabulaires fixes, noms d'outils et durées, jamais de texte d'invite ou de contenu de fichier. Chaque valeur est ASCII imprimable.

162 

163| En-tête | Description |

164| :---------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

165| `x-claude-code-request-class` | Quel type de requête c'est : `main` pour un tour de la conversation principale, `subagent` pour un tour d'un [sous-agent](/docs/fr/sub-agents), `workflow` pour un agent s'exécutant dans un workflow, `compaction` pour la requête de résumé qui compacte une conversation, ou `auxiliary` pour les requêtes latérales telles que les titres de session, les classificateurs et les résumés. Envoyé sur chaque requête |

166| `x-claude-code-agent-type` | Le type de sous-agent qui a émis la requête : un nom de type d'agent intégré tel que `Explore`, `Plan` ou `general-purpose`, ou `custom` pour un agent défini par l'utilisateur, `teammate` pour un membre d'une [équipe d'agents](/docs/fr/agent-teams) s'exécutant dans le processus du leader, ou `fork` pour un [fork](/docs/fr/sub-agents#fork-the-current-conversation). Présent uniquement sur les propres tours d'un sous-agent ; la compaction ou les requêtes latérales d'un sous-agent conservent l'ID d'agent mais ne portent aucun type. Un nom d'agent choisi par l'utilisateur n'est jamais envoyé |

167| `x-claude-code-compaction` | Présent sur la requête qui résume la conversation lors d'une [compaction](/docs/fr/prompt-caching#compacting-the-conversation). La valeur indique ce qui l'a déclenchée : `auto` lorsque la fenêtre de contexte approchait de la capacité, `manual` pour `/compact`, ou `reactive` lorsque l'API a rejeté une requête comme trop longue. Absent sur chaque autre requête |

168| `x-claude-code-context-compacted` | Présent une fois, sur la première requête de conversation principale après une compaction, avec les mêmes valeurs que `x-claude-code-compaction`. Le préfixe de conversation avant cette requête n'est plus utilisé, donc un cache basé sur celui-ci peut être supprimé |

169| `x-claude-code-prev-tool-durations` | Temps d'exécution mesuré des appels d'outils dont cette requête porte les résultats, comme `<name>=<ms>;<name>=<ms>`, par exemple `Bash=742;Read=9`. Envoyé sur la requête suivante de la même conversation après un lot d'appels d'outils, depuis la session principale ou un sous-agent |

170 

171Avant d'analyser `x-claude-code-prev-tool-durations`, vérifiez comment Claude Code construit la valeur et ce qu'il omet :

172 

173* Entrées : une par appel d'outil qui s'est exécuté, dans l'ordre où son résultat a été collecté, en millisecondes entières

174* Limite : Claude Code envoie au maximum 32 entrées et 4 KB, en conservant les premières entrées

175* Codage : les noms d'outils sont codés en pourcentage, couvrant `%`, `;`, `=`, virgule, espace et tout caractère en dehors d'ASCII imprimable

176* Analyse : divisez sur `;`, puis sur `=`, et décodez chaque nom

177* Absence : les appels de compaction, les requêtes latérales et la première requête d'une nouvelle invite ne la portent jamais. Ne lisez pas un en-tête manquant comme un tour qui n'a exécuté aucun outil

178* Temps : chacun exclut les invites de permission et les hooks, et les appels d'outils parallèles rapportent chacun leur propre temps, donc les entrées ne s'ajoutent pas à l'écart entre les requêtes

179 

147<h3 id="forward-as-open-lists">180<h3 id="forward-as-open-lists">

148 Transmettre comme listes ouvertes181 Transmettre comme listes ouvertes

149</h3>182</h3>


221 254 

222* Lorsque l'amont rejette le champ `thinking`, un message système en milieu de conversation, ou le marqueur `cache_control` sur un tel message, Claude Code réessaie la requête et désactive la capacité rejetée pour le reste de la conversation255* Lorsque l'amont rejette le champ `thinking`, un message système en milieu de conversation, ou le marqueur `cache_control` sur un tel message, Claude Code réessaie la requête et désactive la capacité rejetée pour le reste de la conversation

223* Lorsque l'amont rejette une [signature de pensée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), y compris avec un `400` dont le message dit que le bloc est `bound to a different conversation`, Claude Code supprime les blocs de pensée antérieurs de la requête, réessaie, et les garde hors de chaque requête ultérieure. Les nouvelles réponses incluent toujours la pensée256* Lorsque l'amont rejette une [signature de pensée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), y compris avec un `400` dont le message dit que le bloc est `bound to a different conversation`, Claude Code supprime les blocs de pensée antérieurs de la requête, réessaie, et les garde hors de chaque requête ultérieure. Les nouvelles réponses incluent toujours la pensée

257* Lorsque la passerelle ou son amont rejette l'entrée de l'[outil conseiller](/docs/fr/advisor) dans `tools` comme un type d'outil non reconnu, Claude Code réessaie la requête une fois sans cette entrée et sa valeur `anthropic-beta`. Les requêtes ultérieures à cette URL de base laissent le conseiller de côté jusqu'à ce que Claude Code se termine, et `/advisor` n'est pas disponible pour le développeur pendant ce temps. Claude Code reconnaît ce rejet par une réponse `400` ou `422` dont le message nomme le type d'outil après `Input tag`, comme `Input tag 'advisor_20260301'`. Avant v2.1.280, Claude Code ne réessayait pas ce rejet

224* Claude Code ne réessaie pas les rejets de gestion du contexte ou de champ de schéma d'outil, donc ces erreurs `400` atteignent le développeur258* Claude Code ne réessaie pas les rejets de gestion du contexte ou de champ de schéma d'outil, donc ces erreurs `400` atteignent le développeur

225 259 

226Le rejet `bound to a different conversation` provient de la vérification de [pensée préservée](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) de l'API, qui échoue lorsque le contenu `system`, `tools`, ou `messages` antérieurs diffère de la requête qui a produit la pensée. Une passerelle qui réécrit l'un de ces contenus peut causer le rejet lui-même ; [Bibliothèques, proxies et passerelles](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) couvre ce qu'il faut transmettre inchangé.260Le rejet `bound to a different conversation` provient de la vérification de [pensée préservée](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking) de l'API, qui échoue lorsque le contenu `system`, `tools`, ou `messages` antérieurs diffère de la requête qui a produit la pensée. Une passerelle qui réécrit l'un de ces contenus peut causer le rejet lui-même ; [Bibliothèques, proxies et passerelles](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking#libraries-proxies-gateways) couvre ce qu'il faut transmettre inchangé.

Details

184| `ANTHROPIC_BASE_URL` | Envoie les demandes API de Claude Code à la passerelle au lieu de `api.anthropic.com` | Toujours |184| `ANTHROPIC_BASE_URL` | Envoie les demandes API de Claude Code à la passerelle au lieu de `api.anthropic.com` | Toujours |

185| `apiKeyHelper`, ou une credential dans `ANTHROPIC_AUTH_TOKEN` ou `ANTHROPIC_API_KEY` | Authentifie chaque demande à la passerelle. L'assistant exécute une commande pour récupérer la clé ; les variables contiennent une clé statique, envoyée comme `Authorization: Bearer` et `x-api-key` respectivement | Toujours ; l'un des trois |185| `apiKeyHelper`, ou une credential dans `ANTHROPIC_AUTH_TOKEN` ou `ANTHROPIC_API_KEY` | Authentifie chaque demande à la passerelle. L'assistant exécute une commande pour récupérer la clé ; les variables contiennent une clé statique, envoyée comme `Authorization: Bearer` et `x-api-key` respectivement | Toujours ; l'un des trois |

186| `ANTHROPIC_CUSTOM_HEADERS` | Ajoute des en-têtes HTTP supplémentaires à chaque demande API | Votre passerelle nécessite un en-tête de locataire ou d'acheminement sur chaque demande |186| `ANTHROPIC_CUSTOM_HEADERS` | Ajoute des en-têtes HTTP supplémentaires à chaque demande API | Votre passerelle nécessite un en-tête de locataire ou d'acheminement sur chaque demande |

187| `CLAUDE_CODE_GATEWAY_HINT_HEADERS` | Envoie les [en-têtes d'indication de passerelle](/docs/fr/llm-gateway-protocol#gateway-hint-headers), qui classent chaque demande pour les décisions d'acheminement et de planification à la passerelle. Nécessite Claude Code v2.1.273 ou ultérieur | Votre passerelle lit les en-têtes d'indication |

187| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Interroge le `/v1/models` de la passerelle au démarrage et ajoute les noms retournés au sélecteur `/model` | Votre passerelle sert `/v1/models` et vous voulez que les sélecteurs des développeurs soient remplis à partir de celui-ci |188| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Interroge le `/v1/models` de la passerelle au démarrage et ajoute les noms retournés au sélecteur `/model` | Votre passerelle sert `/v1/models` et vous voulez que les sélecteurs des développeurs soient remplis à partir de celui-ci |

188| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Arrête Claude Code d'envoyer les en-têtes et champs de corps de capacités de pré-version. [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) couvre la portée exacte | Votre passerelle transmet à un amont Amazon Bedrock ou Google Cloud's Agent Platform qui rejette les champs bêta. Voir [Exigences de la passerelle](#gateway-requirements) |189| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Arrête Claude Code d'envoyer les en-têtes et champs de corps de capacités de pré-version. [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) couvre la portée exacte | Votre passerelle transmet à un amont Amazon Bedrock ou Google Cloud's Agent Platform qui rejette les champs bêta. Voir [Exigences de la passerelle](#gateway-requirements) |

189| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` ou `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Restaure le [mode rapide](/docs/fr/fast-mode) quand sa vérification de disponibilité, qui appelle `api.anthropic.com` directement plutôt que de suivre `ANTHROPIC_BASE_URL`, échoue, est interceptée, ou est ignorée faute d'une credential Anthropic | Votre organisation utilise le mode rapide, et les développeurs s'authentifient avec `ANTHROPIC_AUTH_TOKEN` seul, avec une clé émise par la passerelle dans `ANTHROPIC_API_KEY` ou à partir d'un `apiKeyHelper`, ou votre réseau bloque ou intercepte les demandes directes à `api.anthropic.com` ; [utiliser le mode rapide derrière les proxies et les passerelles LLM](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) couvre laquelle des deux variables correspond à votre configuration |190| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` ou `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Restaure le [mode rapide](/docs/fr/fast-mode) quand sa vérification de disponibilité, qui appelle `api.anthropic.com` directement plutôt que de suivre `ANTHROPIC_BASE_URL`, échoue, est interceptée, ou est ignorée faute d'une credential Anthropic | Votre organisation utilise le mode rapide, et les développeurs s'authentifient avec `ANTHROPIC_AUTH_TOKEN` seul, avec une clé émise par la passerelle dans `ANTHROPIC_API_KEY` ou à partir d'un `apiKeyHelper`, ou votre réseau bloque ou intercepte les demandes directes à `api.anthropic.com` ; [utiliser le mode rapide derrière les proxies et les passerelles LLM](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) couvre laquelle des deux variables correspond à votre configuration |

Details

361Quelques clés d'application ne sont pas supprimées quand elles sont invalides. Claude Code applique un fallback plus strict jusqu'à ce que la valeur soit corrigée ; le tableau montre ce qu'il applique pour chaque clé :361Quelques clés d'application ne sont pas supprimées quand elles sont invalides. Claude Code applique un fallback plus strict jusqu'à ce que la valeur soit corrigée ; le tableau montre ce qu'il applique pour chaque clé :

362 362 

363| Champ | Comportement quand présent mais invalide |363| Champ | Comportement quand présent mais invalide |

364| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |364| :---------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

365| `allowedMcpServers` | Appliquée comme une liste d'autorisation vide jusqu'à ce que la valeur soit corrigée, donc aucun serveur MCP que les utilisateurs ajoutent n'est admis. Les serveurs que votre organisation livre via [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers) se chargent toujours, et les serveurs `managed-mcp.json` se chargent selon [Comment un serveur est évalué](/docs/fr/managed-mcp#how-a-server-is-evaluated). Une entrée invalide individuelle est supprimée et le sous-ensemble valide est appliqué. |365| `allowedMcpServers` | Appliquée comme une liste d'autorisation vide jusqu'à ce que la valeur soit corrigée, donc aucun serveur MCP que les utilisateurs ajoutent n'est admis. Les serveurs que votre organisation livre via [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers) se chargent toujours, et les serveurs `managed-mcp.json` se chargent selon [Comment un serveur est évalué](/docs/fr/managed-mcp#how-a-server-is-evaluated). Une entrée invalide individuelle est supprimée et le sous-ensemble valide est appliqué. |

366| `allowedHttpHookUrls` | Claude Code applique une [liste d'autorisation](/docs/fr/settings-reference#allowedhttphookurls) gérée vide jusqu'à ce que vous corrigiez la valeur, donc un hook HTTP s'exécute uniquement si un autre fichier de paramètres énumère son URL. Si seule une entrée individuelle est invalide, Claude Code supprime cette entrée et applique le reste. |366| `allowedHttpHookUrls` | Claude Code applique une [liste d'autorisation](/docs/fr/settings-reference#allowedhttphookurls) gérée vide jusqu'à ce que vous corrigiez la valeur, donc un hook HTTP s'exécute uniquement si un autre fichier de paramètres énumère son URL. Si seule une entrée individuelle est invalide, Claude Code supprime cette entrée et applique le reste. |

367| `httpHookAllowedEnvVars` | Claude Code applique une [liste d'autorisation](/docs/fr/settings-reference#httphookallowedenvvars) gérée vide jusqu'à ce que vous corrigiez la valeur, donc une variable d'en-tête est interpolée uniquement si un autre fichier de paramètres la nomme. Si seule une entrée individuelle est invalide, Claude Code supprime cette entrée et applique le reste. |367| `httpHookAllowedEnvVars` | Claude Code applique une [liste d'autorisation](/docs/fr/settings-reference#httphookallowedenvvars) gérée vide jusqu'à ce que vous corrigiez la valeur, donc une variable d'en-tête est interpolée uniquement si un autre fichier de paramètres la nomme. Si seule une entrée individuelle est invalide, Claude Code supprime cette entrée et applique le reste. |

368| `allowedChannelPlugins` | Claude Code applique une liste d'autorisation vide jusqu'à ce que vous corrigiez la valeur, donc aucun plugin de canal passé à `--channels` n'est admis. Si seule une entrée individuelle est invalide, il supprime cette entrée et applique le reste. |368| `allowedChannelPlugins` | Claude Code applique une liste d'autorisation vide jusqu'à ce que vous corrigiez la valeur, donc aucun plugin de canal passé à `--channels` n'est admis. Si seule une entrée individuelle est invalide, il supprime cette entrée et applique le reste. |

369| `strictKnownMarketplaces` | Appliquée comme une liste d'autorisation vide jusqu'à ce que la valeur soit corrigée, donc aucune [source de marketplace](/docs/fr/plugin-marketplaces#managed-marketplace-restrictions) n'est admise. Une entrée individuelle qui est invalide ou ne peut pas être appliquée, comme une regex `hostPattern` qui ne compile pas, est supprimée et le sous-ensemble valide est appliqué. |

369| `allowManagedHooksOnly` | Traitée comme `true` jusqu'à correction : les [restrictions de hook](/docs/fr/settings-reference#allowmanagedhooksonly) s'appliquent et, à moins que `disableCommandPluginSources` ne soit explicitement `false`, les plugins sourced par commande sont désactivés. |370| `allowManagedHooksOnly` | Traitée comme `true` jusqu'à correction : les [restrictions de hook](/docs/fr/settings-reference#allowmanagedhooksonly) s'appliquent et, à moins que `disableCommandPluginSources` ne soit explicitement `false`, les plugins sourced par commande sont désactivés. |

370| `allowManagedMcpServersOnly` | Traitée comme `true`. |371| `allowManagedMcpServersOnly` | Traitée comme `true`. |

371| `disableCommandPluginSources` | Traitée comme `true`, donc les plugins sourced par commande restent désactivés jusqu'à ce que la valeur soit corrigée. |372| `disableCommandPluginSources` | Traitée comme `true`, donc les plugins sourced par commande restent désactivés jusqu'à ce que la valeur soit corrigée. |

373| `disableSideloadFlags` | Traitée comme `true` jusqu'à ce que la valeur soit corrigée, avec les effets énumérés pour [`disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags). |

372| `availableModels` | Appliquée comme une liste d'autorisation vide jusqu'à correction, donc seul le modèle par défaut est disponible ; une entrée non-chaîne est supprimée et le sous-ensemble valide est appliqué. |374| `availableModels` | Appliquée comme une liste d'autorisation vide jusqu'à correction, donc seul le modèle par défaut est disponible ; une entrée non-chaîne est supprimée et le sous-ensemble valide est appliqué. |

373| `enforceAvailableModels` | Traitée comme `true`. |375| `enforceAvailableModels` | Traitée comme `true`. |

376| `syncClaudeAiPlugins` | Traitée comme `false`, donc la synchronisation des [plugins claude.ai](/docs/fr/settings-reference#syncclaudeaiplugins) est désactivée jusqu'à ce que la valeur soit corrigée. |

374| `forceLoginOrgUUID` | Aucune organisation n'est autorisée à se connecter jusqu'à ce que la valeur soit corrigée. |377| `forceLoginOrgUUID` | Aucune organisation n'est autorisée à se connecter jusqu'à ce que la valeur soit corrigée. |

375| `gatewayInternalNetworks` | Quand la valeur invalide provient de la source gérée la plus élevée sur la machine, `/login` refuse chaque nouvelle connexion [passerelle cloud](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) sur cette machine jusqu'à ce que la valeur soit corrigée. |378| `gatewayInternalNetworks` | Quand la valeur invalide provient de la source gérée la plus élevée sur la machine, `/login` refuse chaque nouvelle connexion [passerelle cloud](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) sur cette machine jusqu'à ce que la valeur soit corrigée. |

376| `crossSessionInbound` | Traitée comme `refuse`, la valeur la plus restrictive, donc les [messages inter-sessions](/docs/fr/cross-session-messaging#control-inbound-messages) entrants sont refusés jusqu'à ce que la valeur soit corrigée. Le développeur voit [un avertissement](/docs/fr/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |379| `crossSessionInbound` | Traitée comme `refuse`, la valeur la plus restrictive, donc les [messages inter-sessions](/docs/fr/cross-session-messaging#control-inbound-messages) entrants sont refusés jusqu'à ce que la valeur soit corrigée. Le développeur voit [un avertissement](/docs/fr/errors#crosssessioninbound-must-be-one-of-accept-hold-refuse). |

377| `deniedMcpServers` | Une entrée invalide individuelle est supprimée et le sous-ensemble valide est appliqué. Une valeur entièrement invalide est supprimée avec un avertissement, car refuser chaque serveur bloquerait les serveurs que la politique n'a jamais nommés. |380| `deniedMcpServers` | Une entrée invalide individuelle est supprimée et le sous-ensemble valide est appliqué. Une valeur entièrement invalide est supprimée avec un avertissement, car refuser chaque serveur bloquerait les serveurs que la politique n'a jamais nommés. |

381| `blockedMarketplaces` | Une entrée invalide individuelle est supprimée et le sous-ensemble valide est appliqué. Une entrée qui analyse mais ne peut jamais correspondre, comme une regex `hostPattern` qui ne compile pas, est conservée avec un avertissement. Elle ne bloque rien jusqu'à correction, mais les [restrictions de marketplace](/docs/fr/plugin-marketplaces#managed-marketplace-restrictions) restent actives. Une valeur entièrement invalide est supprimée avec un avertissement, car bloquer chaque marketplace bloquerait les sources que la politique n'a jamais nommées. |

378| `sandbox.credentials` | Une entrée invalide récupérable est dégradée à `mode: "deny"` avec un avertissement ; une irrécupérable est supprimée ; les entrées valides restent appliquées. Consultez [entrées de credential invalides](/docs/fr/settings-reference#invalid-credential-entries-in-managed-settings) |382| `sandbox.credentials` | Une entrée invalide récupérable est dégradée à `mode: "deny"` avec un avertissement ; une irrécupérable est supprimée ; les entrées valides restent appliquées. Consultez [entrées de credential invalides](/docs/fr/settings-reference#invalid-credential-entries-in-managed-settings) |

379 383 

380`allowedHttpHookUrls` et `httpHookAllowedEnvVars` fusionnent entre les fichiers de paramètres, donc les entrées dans vos paramètres utilisateur, projet ou local s'appliquent toujours tandis que la liste gérée est vide. Les fallbacks pour ces deux clés et pour `allowedChannelPlugins` nécessitent Claude Code v2.1.267 ou ultérieur ; les versions antérieures suppriment la clé entière quand sa valeur ou une entrée est invalide.384`allowedHttpHookUrls` et `httpHookAllowedEnvVars` fusionnent entre les fichiers de paramètres, donc les entrées dans vos paramètres utilisateur, projet ou local s'appliquent toujours tandis que la liste gérée est vide.

385 

386Les fallbacks pour ces deux clés et pour `allowedChannelPlugins` nécessitent Claude Code v2.1.267 ou ultérieur ; les versions antérieures suppriment la clé entière quand sa valeur ou une entrée est invalide. Les fallbacks pour `strictKnownMarketplaces`, `blockedMarketplaces`, et `disableSideloadFlags` nécessitent Claude Code v2.1.277 ou ultérieur ; les versions antérieures suppriment la clé entière quand sa valeur ou une entrée est invalide.

381 387 

382`requiredMinimumVersion` et `requiredMaximumVersion` échouent ouvertes par conception : une valeur invalide est supprimée plutôt qu'appliquée.388`requiredMinimumVersion` et `requiredMaximumVersion` échouent ouvertes par conception : une valeur invalide est supprimée plutôt qu'appliquée.

383 389 

memory.md +22 −7

Details

82<Tip>82<Tip>

83 Exécutez `/init` pour générer automatiquement un CLAUDE.md de démarrage. Claude analyse votre base de code et crée un fichier avec les commandes de compilation, les instructions de test et les conventions de projet qu'il découvre. Si un CLAUDE.md existe déjà, `/init` suggère des améliorations plutôt que de le remplacer. Affinez-le à partir de là avec des instructions que Claude ne découvrirait pas de lui-même.83 Exécutez `/init` pour générer automatiquement un CLAUDE.md de démarrage. Claude analyse votre base de code et crée un fichier avec les commandes de compilation, les instructions de test et les conventions de projet qu'il découvre. Si un CLAUDE.md existe déjà, `/init` suggère des améliorations plutôt que de le remplacer. Affinez-le à partir de là avec des instructions que Claude ne découvrirait pas de lui-même.

84 84 

85 Définissez `CLAUDE_CODE_NEW_INIT=1` pour activer un flux interactif multi-phases. `/init` demande quels artefacts configurer : fichiers CLAUDE.md, compétences et hooks. Il explore ensuite votre base de code avec un sous-agent, comble les lacunes via des questions de suivi et présente une proposition vérifiable avant d'écrire des fichiers.85 Pour un flux interactif multi-phases à la place, définissez la variable d'environnement `CLAUDE_CODE_NEW_INIT` à `1` avant d'exécuter `/init`. Définissez-la dans votre shell ou dans le bloc `env` d'un fichier de paramètres, comme indiqué dans [Définir les variables d'environnement](/docs/fr/env-vars#set-environment-variables). Avec elle définie, `/init` demande quels artefacts configurer : fichiers CLAUDE.md, compétences et hooks. Il explore ensuite votre base de code avec un sous-agent, comble les lacunes via des questions de suivi et présente une proposition vérifiable avant d'écrire des fichiers. La variable ne change que la façon dont `/init` s'exécute, de sorte que vous pouvez la laisser définie.

86</Tip>86</Tip>

87 87 

88<h3 id="write-effective-instructions">88<h3 id="write-effective-instructions">


165CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config165CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 claude --add-dir ../shared-config

166```166```

167 167 

168La forme en ligne définit la variable pour ce seul lancement dans Bash ou Zsh. Pour la garder activée pour chaque session, ajoutez-la au bloc `env` dans `~/.claude/settings.json` comme indiqué dans [Définir les variables d'environnement](/docs/fr/env-vars#set-environment-variables).

169 

168Cela charge `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` et `CLAUDE.local.md` à partir du répertoire supplémentaire. `CLAUDE.local.md` est ignoré si vous excluez `local` de [`--setting-sources`](/docs/fr/cli-reference).170Cela charge `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` et `CLAUDE.local.md` à partir du répertoire supplémentaire. `CLAUDE.local.md` est ignoré si vous excluez `local` de [`--setting-sources`](/docs/fr/cli-reference).

169 171 

170<h3 id="organize-rules-with-claude/rules/">172<h3 id="organize-rules-with-claude/rules/">


244 246 

245La syntaxe Glob traite `[` comme le début d'une expression entre crochets telle que `[abc]`. Un modèle avec un `[` qui ne peut pas être lu comme une expression entre crochets, tel que `photos [2024/**`, est invalide : il ne correspond à rien, et les autres modèles de la règle continuent de fonctionner. Pour faire correspondre un `[` littéral dans un nom de fichier, échappez-le comme `photos \[2024/**`. Avant v2.1.207, un modèle invalide faisait échouer l'outil Read pour chaque fichier sur lequel la règle était évaluée, au lieu de ne correspondre à rien.247La syntaxe Glob traite `[` comme le début d'une expression entre crochets telle que `[abc]`. Un modèle avec un `[` qui ne peut pas être lu comme une expression entre crochets, tel que `photos [2024/**`, est invalide : il ne correspond à rien, et les autres modèles de la règle continuent de fonctionner. Pour faire correspondre un `[` littéral dans un nom de fichier, échappez-le comme `photos \[2024/**`. Avant v2.1.207, un modèle invalide faisait échouer l'outil Read pour chaque fichier sur lequel la règle était évaluée, au lieu de ne correspondre à rien.

246 248 

249<h4 id="rules-frontmatter-reference">

250 Référence frontmatter des règles

251</h4>

252 

253Configurez une règle avec le [frontmatter](/docs/fr/glossary#frontmatter) YAML entre les marqueurs `---` en haut du fichier. `paths` est le seul champ que Claude Code lit à partir d'une règle ; tout autre champ est ignoré sans erreur. Claude Code supprime le frontmatter avant de charger la règle en contexte.

254 

255| Champ | Requis | Description |

256| :------ | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |

257| `paths` | Non | Modèles glob qui [scoped la règle aux fichiers correspondants](#path-specific-rules). Accepte une liste YAML ou une chaîne séparée par des virgules |

258 

259Si le YAML entre les marqueurs ne s'analyse pas, Claude Code ignore le frontmatter et charge la règle comme si elle n'avait pas de `paths`. Exécutez `claude --debug` pour voir l'erreur d'analyse.

260 

247<h4 id="share-rules-across-projects-with-symlinks">261<h4 id="share-rules-across-projects-with-symlinks">

248 Partager les règles entre les projets avec des symlinks262 Partager les règles entre les projets avec des symlinks

249</h4>263</h4>


271└── workflows.md # Vos flux de travail préférés285└── workflows.md # Vos flux de travail préférés

272```286```

273 287 

274Les règles au niveau utilisateur sont chargées avant les règles de projet, donnant aux règles de projet une priorité plus élevée.288Claude Code charge les règles au niveau utilisateur avant les règles de projet, de sorte qu'une règle de projet apparaît plus tard dans le contexte de Claude qu'une règle utilisateur. Aucun ensemble ne remplace l'autre : si une règle utilisateur et une règle de projet entrent en conflit, Claude peut suivre l'une ou l'autre, donc gardez les deux cohérentes.

275 289 

276<h3 id="manage-claude-md-for-large-teams">290<h3 id="manage-claude-md-for-large-teams">

277 Gérer CLAUDE.md pour les grandes équipes291 Gérer CLAUDE.md pour les grandes équipes


424* Vous utilisez une version de Claude Code antérieure à v2.1.277438* Vous utilisez une version de Claude Code antérieure à v2.1.277

425* Votre session ne [récupère pas les drapeaux de fonctionnalités auprès d'Anthropic](/docs/fr/env-vars#features-that-need-feature-flag-fetching), par exemple parce que vous utilisez Amazon Bedrock ou un autre fournisseur tiers, ou vous avez désactivé la télémétrie. La section liée contient la liste complète439* Votre session ne [récupère pas les drapeaux de fonctionnalités auprès d'Anthropic](/docs/fr/env-vars#features-that-need-feature-flag-fetching), par exemple parce que vous utilisez Amazon Bedrock ou un autre fournisseur tiers, ou vous avez désactivé la télémétrie. La section liée contient la liste complète

426* C'est votre [première session après l'installation ou la mise à niveau](/docs/fr/env-vars#first-session-after-an-install-or-upgrade) vers une version avec support de `AGENTS.md`. Claude lit `AGENTS.md` à partir de votre prochaine session440* C'est votre [première session après l'installation ou la mise à niveau](/docs/fr/env-vars#first-session-after-an-install-or-upgrade) vers une version avec support de `AGENTS.md`. Claude lit `AGENTS.md` à partir de votre prochaine session

427* Vous ou votre organisation avez défini [`disableAllHooks`](/docs/fr/settings-reference#disableallhooks) ou [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly), ou vous avez désactivé le plugin `agents-md` intégré dans `/plugin`441* Vous avez désactivé le plugin `agents-md` intégré dans `/plugin`

428 442 

429Pour donner votre `AGENTS.md` à Claude dans ces sessions, [importez-le à partir d'un `CLAUDE.md`](#share-one-file-with-other-coding-tools).443Pour donner votre `AGENTS.md` à Claude dans ces sessions, [importez-le à partir d'un `CLAUDE.md`](#share-one-file-with-other-coding-tools).

430 444 


435Un `AGENTS.md` que Claude lit via le paramètre **Instructions du projet** diffère d'un `CLAUDE.md` à ces endroits :449Un `AGENTS.md` que Claude lit via le paramètre **Instructions du projet** diffère d'un `CLAUDE.md` à ces endroits :

436 450 

437| | `CLAUDE.md` | `AGENTS.md` lu via le paramètre |451| | `CLAUDE.md` | `AGENTS.md` lu via le paramètre |

438| :------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |452| :------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- |

439| `/memory` et la liste **Fichiers de mémoire** dans `/context` | Listé | Non listé. Pour confirmer que Claude l'a lu, cherchez la [ligne `AGENTS.md loaded`](#when-claude-code-reads-agents-md) sous la valeur par défaut, ou demandez à Claude ce que disent ses instructions de projet |

440| [Hooks `InstructionsLoaded`](/docs/fr/hooks#instructionsloaded) | Se déclenchent | Ne se déclenchent pas. Ils se déclenchent comme d'habitude pour un `AGENTS.md` qu'un `CLAUDE.md` importe ou crée un lien symbolique vers |453| [Hooks `InstructionsLoaded`](/docs/fr/hooks#instructionsloaded) | Se déclenchent | Ne se déclenchent pas. Ils se déclenchent comme d'habitude pour un `AGENTS.md` qu'un `CLAUDE.md` importe ou crée un lien symbolique vers |

441| Répertoires que vous ajoutez avec `--add-dir` tandis que [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) est défini | Leur `CLAUDE.md` se charge | Leur `AGENTS.md` ne se charge pas |454| Répertoires que vous ajoutez avec `--add-dir` tandis que [`CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD`](#load-from-additional-directories) est défini | Leur `CLAUDE.md` se charge | Leur `AGENTS.md` ne se charge pas |

442| Une importation `@path` d'un fichier en dehors de votre répertoire de travail | Claude Code vous demande d'approuver les [importations externes](#import-additional-files) | Se charge uniquement si vous avez déjà approuvé les importations externes pour ce projet, sans invite |455| Une importation `@path` d'un fichier en dehors de votre répertoire de travail | Claude Code vous demande d'approuver les [importations externes](#import-additional-files) | Se charge uniquement si vous avez déjà approuvé les importations externes pour ce projet, sans invite |


604 617 

605Pour déboguer :618Pour déboguer :

606 619 

607* Exécutez `/context` et vérifiez la liste sous **Fichiers de mémoire** pour confirmer que vos fichiers CLAUDE.md et CLAUDE.local.md sont chargés. Si un fichier `CLAUDE.md` est manquant là, Claude ne peut pas le voir. Un `AGENTS.md` n'apparaît là que lorsqu'un `CLAUDE.md` l'importe, pas lorsque Claude [le lit directement](#where-agents-md-differs-from-claude-md). Utilisez `/memory` pour ouvrir et modifier les fichiers.620* Exécutez `/context` et vérifiez la liste sous **Fichiers de mémoire** pour confirmer que vos fichiers CLAUDE.md et CLAUDE.local.md sont chargés. Si un fichier `CLAUDE.md` est manquant là, Claude ne peut pas le voir. Utilisez `/memory` pour ouvrir et modifier les fichiers.

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

609* Rendez les instructions plus spécifiques. « Utiliser l'indentation à 2 espaces » fonctionne mieux que « formater le code correctement ».622* Rendez les instructions plus spécifiques. « Utiliser l'indentation à 2 espaces » fonctionne mieux que « formater le code correctement ».

610* Recherchez les instructions conflictuelles dans les fichiers CLAUDE.md. Si deux fichiers donnent des conseils différents pour le même comportement, Claude peut en choisir un arbitrairement.623* Recherchez les instructions conflictuelles dans les fichiers CLAUDE.md. Si deux fichiers donnent des conseils différents pour le même comportement, Claude peut en choisir un arbitrairement.


6283. Vérifiez si votre session est une session qui [ne peut pas charger `AGENTS.md`](#when-agents-md-support-is-unavailable), comme une session sur un fournisseur tiers ou avec la télémétrie désactivée.6413. Vérifiez si votre session est une session qui [ne peut pas charger `AGENTS.md`](#when-agents-md-support-is-unavailable), comme une session sur un fournisseur tiers ou avec la télémétrie désactivée.

6294. Tapez `/config` dans votre session pour ouvrir le panneau des paramètres et confirmez que **Instructions du projet** n'est pas défini sur `claude-md` ou `managed-only`. Si vous ne voyez pas le paramètre du tout, votre session est une session qui [ne peut pas charger `AGENTS.md`](#when-agents-md-support-is-unavailable).6424. Tapez `/config` dans votre session pour ouvrir le panneau des paramètres et confirmez que **Instructions du projet** n'est pas défini sur `claude-md` ou `managed-only`. Si vous ne voyez pas le paramètre du tout, votre session est une session qui [ne peut pas charger `AGENTS.md`](#when-agents-md-support-is-unavailable).

630 643 

631`AGENTS.md` n'apparaît pas dans `/memory` ou `/context` lorsque Claude le lit directement, donc vérifiez la ligne `AGENTS.md loaded` ou demandez à Claude ce que ses instructions du projet disent à la place.644Pour vérifier si Claude a lu votre `AGENTS.md`, exécutez `/memory` et recherchez son chemin dans la liste.

645 

646Avant v2.1.280, `/memory` et `/context` ne listaient pas un `AGENTS.md` que Claude lisait directement. Sur ces versions, demandez plutôt à Claude ce que ses instructions du projet disent.

632 647 

633Si vous voulez conserver le `CLAUDE.md` que vous avez trouvé, ou si votre session ne peut pas charger `AGENTS.md`, [ajoutez un `CLAUDE.md` à côté de votre `AGENTS.md` qui l'importe](#share-one-file-with-other-coding-tools).648Si vous voulez conserver le `CLAUDE.md` que vous avez trouvé, ou si votre session ne peut pas charger `AGENTS.md`, [ajoutez un `CLAUDE.md` à côté de votre `AGENTS.md` qui l'importe](#share-one-file-with-other-coding-tools).

634 649 

model-config.md +35 −37

Details

47 47 

48| Fournisseur | `opus` | `sonnet` |48| Fournisseur | `opus` | `sonnet` |

49| :--------------------------------------------------- | :------- | :--------- |49| :--------------------------------------------------- | :------- | :--------- |

50| API Anthropic | Opus 5 | Sonnet 5 |50| API Anthropic | Opus 5.5 | Sonnet 5 |

51| [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) | Opus 5 | Sonnet 4.6 |51| [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) | Opus 5.5 | Sonnet 4.6 |

52| Amazon Bedrock, Agent Platform de Google Cloud | Opus 5 | Sonnet 4.5 |52| Amazon Bedrock, Agent Platform de Google Cloud | Opus 5.5 | Sonnet 4.5 |

53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |53| Microsoft Foundry | Opus 4.6 | Sonnet 4.5 |

54 54 

55<span id="fable-alias-resolution" />55<span id="fable-alias-resolution" />


60 60 

61Lorsqu'un alias se résout en un modèle plus ancien, les modèles plus récents sont disponibles en sélectionnant explicitement le nom de modèle complet ou en définissant `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`.61Lorsqu'un alias se résout en un modèle plus ancien, les modèles plus récents sont disponibles en sélectionnant explicitement le nom de modèle complet ou en définissant `ANTHROPIC_DEFAULT_OPUS_MODEL` ou `ANTHROPIC_DEFAULT_SONNET_MODEL`.

62 62 

63Avant v2.1.219, `opus` se résolvait en Opus 4.8 sur l'API Anthropic à partir de v2.1.154, et sur Claude Platform on AWS, Amazon Bedrock et Agent Platform de Google Cloud à partir de v2.1.207. Avant v2.1.207, `opus` se résolvait en Opus 4.7 sur Claude Platform on AWS et en Opus 4.6 sur Amazon Bedrock et Agent Platform de Google Cloud.63Avant v2.1.280, `opus` se résolvait en Opus 5 sur l'API Anthropic, Claude Platform on AWS, Amazon Bedrock et Agent Platform de Google Cloud à partir de v2.1.219. Avant v2.1.219, `opus` se résolvait en Opus 4.8 sur l'API Anthropic à partir de v2.1.154, et sur Claude Platform on AWS, Amazon Bedrock et Agent Platform de Google Cloud à partir de v2.1.207. Avant v2.1.207, `opus` se résolvait en Opus 4.7 sur Claude Platform on AWS et en Opus 4.6 sur Amazon Bedrock et Agent Platform de Google Cloud.

64 64 

65Les alias pointent vers la version recommandée pour votre fournisseur et se mettent à jour au fil du temps. Pour épingler une version spécifique, utilisez le nom de modèle complet, par exemple `claude-opus-5`, ou définissez la variable d'environnement correspondante comme `ANTHROPIC_DEFAULT_OPUS_MODEL`.65Les alias pointent vers la version recommandée pour votre fournisseur et se mettent à jour au fil du temps. Pour épingler une version spécifique, utilisez le nom de modèle complet, par exemple `claude-opus-5-5`, ou définissez la variable d'environnement correspondante comme `ANTHROPIC_DEFAULT_OPUS_MODEL`.

66 66 

67<Note>67<Note>

68 Opus 5 nécessite Claude Code v2.1.219 ou version ultérieure. Sonnet 5 nécessite v2.1.197 ou version ultérieure. Opus 4.8 nécessite v2.1.154 ou version ultérieure. Exécutez `claude update` pour mettre à jour.68 Opus 5.5 nécessite Claude Code v2.1.280 ou version ultérieure. Opus 5 nécessite v2.1.219 ou version ultérieure. Sonnet 5 nécessite v2.1.197 ou version ultérieure. Exécutez `claude update` pour mettre à jour.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


94 Fable 5.1 nécessite Claude Code v2.1.257 ou version ultérieure. Si une demande pour celui-ci à partir d'une version plus ancienne échoue, consultez [Claude Code does not support this model](/docs/fr/errors#claude-code-does-not-support-this-model). Exécutez `claude update` pour mettre à jour. Pour la disponibilité en vertu de la rétention zéro des données, consultez [Model availability under ZDR](/docs/fr/zero-data-retention#model-availability-under-zdr).94 Fable 5.1 nécessite Claude Code v2.1.257 ou version ultérieure. Si une demande pour celui-ci à partir d'une version plus ancienne échoue, consultez [Claude Code does not support this model](/docs/fr/errors#claude-code-does-not-support-this-model). Exécutez `claude update` pour mettre à jour. Pour la disponibilité en vertu de la rétention zéro des données, consultez [Model availability under ZDR](/docs/fr/zero-data-retention#model-availability-under-zdr).

95</Note>95</Note>

96 96 

97Sur l'API Anthropic, le sélecteur `/model` répertorie un modèle Fable uniquement après que le serveur le signale comme disponible pour votre organisation. Lorsque vous tapez `/model fable` ou un ID de modèle Fable, Claude Code vérifie la disponibilité directement auprès du serveur, de sorte qu'une sélection tapée peut réussir même lorsque le sélecteur ne répertorie pas l'entrée.97Sur l'API Anthropic, un modèle Fable apparaît dans le sélecteur `/model` sauf si [`availableModels`](#restrict-model-selection) ou [restrictions de modèle de l'organisation](#organization-model-restrictions) l'excluent. Lorsque votre organisation ne peut pas utiliser Fable du tout, par exemple en vertu de la [rétention zéro des données](/docs/fr/zero-data-retention#model-availability-under-zdr), la ligne reste dans le sélecteur grisée, avec une note sur la raison.

98 98 

99<h4 id="fable-and-usage-credits">99<h4 id="fable-and-usage-credits">

100 Fable et crédits d'utilisation100 Fable et crédits d'utilisation


138 138 

139Taper `/model <name>` directement se comporte comme `Enter`. Pour basculer pour cette session uniquement, ouvrez le sélecteur avec `/model` et appuyez sur `s` sur la ligne du modèle.139Taper `/model <name>` directement se comporte comme `Enter`. Pour basculer pour cette session uniquement, ouvrez le sélecteur avec `/model` et appuyez sur `s` sur la ligne du modèle.

140 140 

141Si vous changez de modèle avec `/model`, le changement atteint également les [sous-agents qui héritent du modèle de la conversation principale](/docs/fr/sub-agents#choose-a-model), car Claude Code résout leur modèle à partir de celui que votre session utilise lorsque Claude les démarre. Basculez vers Opus avant que Claude ne délègue la recherche ou les exécutions de test à l'un d'eux, et ce travail s'exécute également sur Opus. Pour garder un sous-agent personnalisé sur un modèle plus petit, définissez `model` dans sa définition.

142 

141Si vous définissez un modèle avec `/model` en [mode non interactif](/docs/fr/headless), avec l'indicateur `-p`, votre choix s'applique à la session actuelle uniquement et n'est pas enregistré comme valeur par défaut ; `/model` dans ce mode nécessite Claude Code v2.1.205 ou version ultérieure. Les paramètres du projet et gérés conservent toujours la priorité et se réappliquent au prochain lancement. Un [modèle par défaut de l'organisation](#organization-default-model) que votre administrateur a configuré pour remplacer la sélection de l'utilisateur se réapplique également au prochain lancement.143Si vous définissez un modèle avec `/model` en [mode non interactif](/docs/fr/headless), avec l'indicateur `-p`, votre choix s'applique à la session actuelle uniquement et n'est pas enregistré comme valeur par défaut ; `/model` dans ce mode nécessite Claude Code v2.1.205 ou version ultérieure. Les paramètres du projet et gérés conservent toujours la priorité et se réappliquent au prochain lancement. Un [modèle par défaut de l'organisation](#organization-default-model) que votre administrateur a configuré pour remplacer la sélection de l'utilisateur se réapplique également au prochain lancement.

142 144 

143Dans v2.1.144 à v2.1.152, `/model` s'appliquait à la session actuelle uniquement et `d` dans le sélecteur enregistrait une valeur par défaut.145Dans v2.1.144 à v2.1.152, `/model` s'appliquait à la session actuelle uniquement et `d` dans le sélecteur enregistrait une valeur par défaut.


443 445 

444Le comportement de `default` dépend de votre type de compte :446Le comportement de `default` dépend de votre type de compte :

445 447 

446* **Max, Team Premium, Enterprise et API Anthropic** : par défaut Opus 5448* **Pro, Max, Team, Enterprise et API Anthropic** : par défaut Opus 5.5

447* **Claude Platform sur AWS, Amazon Bedrock et Agent Platform de Google Cloud** : par défaut Opus 5449* **Claude Platform sur AWS, Amazon Bedrock et Agent Platform de Google Cloud** : par défaut Opus 5.5

448* **Pro et Team Standard** : par défaut Sonnet 5

449* **Microsoft Foundry** : par défaut Sonnet 4.5450* **Microsoft Foundry** : par défaut Sonnet 4.5

450 451 

451Avant la v2.1.219, `default` se résolvait en Opus 4.8 sur l'API Anthropic, Max, Team Premium et Enterprise avec paiement à l'usage à partir de la v2.1.154, et sur Claude Platform sur AWS, Amazon Bedrock et Agent Platform de Google Cloud à partir de la v2.1.207. Avant la v2.1.207, `default` se résolvait en Opus 4.7 sur Claude Platform sur AWS et en Sonnet 4.5 sur Amazon Bedrock et Agent Platform de Google Cloud.452Avant la v2.1.280, `default` se résolvait en Sonnet 5 sur Pro et Team Standard, et en Opus 5 sur Max, Team Premium, Enterprise, l'API Anthropic, Claude Platform sur AWS, Amazon Bedrock et Agent Platform de Google Cloud à partir de la v2.1.219. Avant la v2.1.219, `default` se résolvait en Opus 4.8 sur l'API Anthropic, Max, Team Premium et Enterprise avec paiement à l'usage à partir de la v2.1.154, et sur Claude Platform sur AWS, Amazon Bedrock et Agent Platform de Google Cloud à partir de la v2.1.207. Avant la v2.1.207, `default` se résolvait en Opus 4.7 sur Claude Platform sur AWS et en Sonnet 4.5 sur Amazon Bedrock et Agent Platform de Google Cloud.

452 453 

453Quand un administrateur a défini un [modèle par défaut de l'organisation](#organization-default-model), `default` se résout en ce modèle au lieu du modèle par défaut du type de compte ci-dessus. Nécessite Claude Code v2.1.196 ou ultérieure. `default` peut également se résoudre en le modèle que vous avez défini avec [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), selon les conditions énumérées dans sa section.454Quand un administrateur a défini un [modèle par défaut de l'organisation](#organization-default-model), `default` se résout en ce modèle au lieu du modèle par défaut du type de compte ci-dessus. Nécessite Claude Code v2.1.196 ou ultérieure. `default` peut également se résoudre en le modèle que vous avez défini avec [`ANTHROPIC_DEFAULT_MODEL`](#set-a-default-model-for-new-sessions), selon les conditions énumérées dans sa section.

454 455 


512 Secours automatique du modèle513 Secours automatique du modèle

513</h3>514</h3>

514 515 

515Cette section couvre le secours basé sur le contenu des modèles Fable et Opus 5. Pour le secours basé sur la disponibilité quand un modèle est surchargé ou indisponible, voir [Chaînes de modèles de secours](#fallback-model-chains).516Cette section couvre le secours basé sur le contenu des modèles Fable, Opus 5.5 et Opus 5. Pour le secours basé sur la disponibilité quand un modèle est surchargé ou indisponible, voir [Chaînes de modèles de secours](#fallback-model-chains).

516 517 

517Les modèles Fable et Opus 5 s'exécutent avec des classificateurs de sécurité, qui signalent le plus souvent le contenu de cybersécurité et de biologie. Quand un classificateur signale une demande et que la catégorie signalée a un modèle de secours, Claude Code réexécute la demande sur ce modèle et affiche un avis dans la transcription. Pour ces deux catégories, le modèle de secours dépend du modèle qui a refusé :518Les modèles Fable, Opus 5.5 et Opus 5 s'exécutent avec des classificateurs de sécurité, qui signalent le plus souvent le contenu de cybersécurité et de biologie. Quand un classificateur signale une demande et que la catégorie signalée a un modèle de secours, Claude Code réexécute la demande sur ce modèle et affiche un avis dans la transcription. Pour ces deux catégories, le modèle de secours dépend du modèle qui a refusé :

518 519 

519* **Fable 5.1 et Fable 5** : les demandes signalées pour biologie se réexécutent sur Opus 5, et les demandes signalées pour cybersécurité se réexécutent sur Opus 4.8.520* **Fable 5.1, Fable 5 et Opus 5.5** : les demandes signalées pour biologie se réexécutent sur Opus 5, et les demandes signalées pour cybersécurité se réexécutent sur Opus 4.8.

520* **Opus 5** : les demandes signalées pour cybersécurité se réexécutent sur Opus 4.8. Les demandes signalées pour biologie se terminent par un refus à la place, car Opus 5 exécute ses propres classificateurs de biologie sans modèle de secours.521* **Opus 5** : les demandes signalées pour cybersécurité se réexécutent sur Opus 4.8. Les demandes signalées pour biologie se terminent par un refus à la place, car Opus 5 exécute ses propres classificateurs de biologie sans modèle de secours.

521 522 

522Sur Amazon Bedrock, Agent Platform de Google Cloud et Microsoft Foundry, Claude Code résout ces cibles via votre déploiement à la place, et si vous définissez `ANTHROPIC_DEFAULT_OPUS_MODEL`, les catégories qui ont un secours se réexécutent sur le modèle épinglé ; voir [Activer le secours sur Bedrock, Agent Platform et Foundry](#enable-fallback-on-bedrock-agent-platform-and-foundry).523Sur Amazon Bedrock, Agent Platform de Google Cloud et Microsoft Foundry, Claude Code résout ces cibles via votre déploiement à la place, et si vous définissez `ANTHROPIC_DEFAULT_OPUS_MODEL`, les catégories qui ont un secours se réexécutent sur le modèle épinglé ; voir [Activer le secours sur Bedrock, Agent Platform et Foundry](#enable-fallback-on-bedrock-agent-platform-and-foundry).


555 556 

556Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Agent Platform de Google Cloud](/docs/fr/google-vertex-ai) et [Microsoft Foundry](/docs/fr/microsoft-foundry), les ID de modèle sont spécifiques au fournisseur, de sorte que le secours automatique ne fonctionne que quand Claude Code peut identifier les deux modèles impliqués :557Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [Agent Platform de Google Cloud](/docs/fr/google-vertex-ai) et [Microsoft Foundry](/docs/fr/microsoft-foundry), les ID de modèle sont spécifiques au fournisseur, de sorte que le secours automatique ne fonctionne que quand Claude Code peut identifier les deux modèles impliqués :

557 558 

558* Claude Code doit reconnaître le modèle actuel comme une source de secours. Fable 5.1 et Fable 5 sont reconnus quand l'ID de modèle contient `claude-fable-5`, correspond à la valeur de `ANTHROPIC_DEFAULT_FABLE_MODEL`, ou est mappé avec [`modelOverrides`](#override-model-ids-per-version). Opus 5 est reconnu par son ID de modèle du fournisseur ou un mappage [`modelOverrides`](#override-model-ids-per-version).559* Claude Code doit reconnaître le modèle actuel comme une source de secours. Fable 5.1 et Fable 5 sont reconnus quand l'ID de modèle contient `claude-fable-5`, correspond à la valeur de `ANTHROPIC_DEFAULT_FABLE_MODEL`, ou est mappé avec [`modelOverrides`](#override-model-ids-per-version). Opus 5.5 et Opus 5 sont reconnus par leur ID de modèle du fournisseur ou un mappage [`modelOverrides`](#override-model-ids-per-version).

559* Le modèle de secours doit se résoudre dans votre déploiement. Si vous définissez `ANTHROPIC_DEFAULT_OPUS_MODEL`, les demandes signalées se réexécutent sur ce modèle pour chaque catégorie qui a un secours ; un signal de biologie sur Opus 5 se termine toujours par un refus. Si vous ne le définissez pas, les demandes signalées pour cybersécurité se réexécutent sur une entrée Opus 4.8 dans la liste des modèles du fournisseur, et les demandes signalées pour biologie d'un modèle Fable sur une entrée Opus 5.560* Le modèle de secours doit se résoudre dans votre déploiement. Si vous définissez `ANTHROPIC_DEFAULT_OPUS_MODEL`, les demandes signalées se réexécutent sur ce modèle pour chaque catégorie qui a un secours ; un signal de biologie sur Opus 5 se termine toujours par un refus. Si vous ne le définissez pas, les demandes signalées pour cybersécurité se réexécutent sur une entrée Opus 4.8 dans la liste des modèles du fournisseur, et les demandes signalées pour biologie d'un modèle Fable ou Opus 5.5 sur une entrée Opus 5.

560 561 

561Si l'un ou l'autre modèle ne peut pas être identifié, Claude Code ne bascule pas automatiquement. La demande signalée se termine par un message de refus, et vous pouvez basculer les modèles avec [`/model`](#setting-your-model) et réessayer. Définir `ANTHROPIC_DEFAULT_FABLE_MODEL` sur votre ID de modèle Fable active la reconnaissance Fable. Définir `ANTHROPIC_DEFAULT_OPUS_MODEL` sur un ID de modèle Opus donne aux catégories signalées une cible de secours, sauf si l'épingle nomme un modèle en dehors de la famille Opus ou le modèle qui a refusé ; alors Claude Code ne bascule pas et le refus tient.562Si l'un ou l'autre modèle ne peut pas être identifié, Claude Code ne bascule pas automatiquement. La demande signalée se termine par un message de refus, et vous pouvez basculer les modèles avec [`/model`](#setting-your-model) et réessayer. Définir `ANTHROPIC_DEFAULT_FABLE_MODEL` sur votre ID de modèle Fable active la reconnaissance Fable. Définir `ANTHROPIC_DEFAULT_OPUS_MODEL` sur un ID de modèle Opus donne aux catégories signalées une cible de secours, sauf si l'épingle nomme un modèle en dehors de la famille Opus ou le modèle qui a refusé ; alors Claude Code ne bascule pas et le refus tient.

562 563 


564 Recherche en sécurité et charges de travail en biologie565 Recherche en sécurité et charges de travail en biologie

565</h4>566</h4>

566 567 

567Les charges de travail en sécurité offensive ou en biologie, y compris les tests de pénétration, les exercices Capture the Flag (CTF) et les bases de code adjacentes à la biologie, déclenchent fréquemment le secours, souvent à la première demande. Pour un travail substantiel en biologie sur Fable 5.1 ou Fable 5, Claude Code déplace la session vers Opus 5 à la première demande signalée, et les demandes signalées pour biologie ultérieures se terminent par des refus là, car Opus 5 n'a pas de secours pour la biologie. Sur Opus 5, vous obtenez ces refus à partir de la première demande signalée.568Les charges de travail en sécurité offensive ou en biologie, y compris les tests de pénétration, les exercices Capture the Flag (CTF) et les bases de code adjacentes à la biologie, déclenchent fréquemment le secours, souvent à la première demande. Pour un travail substantiel en biologie sur Fable 5.1, Fable 5 ou Opus 5.5, Claude Code déplace la session vers Opus 5 à la première demande signalée, et les demandes signalées pour biologie ultérieures se terminent par des refus là, car Opus 5 n'a pas de secours pour la biologie. Sur Opus 5, vous obtenez ces refus à partir de la première demande signalée.

568 569 

569C'est un routage attendu pour ces domaines, pas un signal de compte. Si votre organisation a besoin de la capacité de classe Fable pour ce travail, demandez à votre équipe de compte Anthropic les programmes d'accès de confiance.570C'est un routage attendu pour ces domaines, pas un signal de compte. Si votre organisation a besoin de la capacité de classe Fable pour ce travail, demandez à votre équipe de compte Anthropic les programmes d'accès de confiance.

570 571 


577Les niveaux d'effort disponibles dépendent du modèle. Les modèles non énumérés ici ne supportent pas l'effort :578Les niveaux d'effort disponibles dépendent du modèle. Les modèles non énumérés ici ne supportent pas l'effort :

578 579 

579| Modèle | Niveaux |580| Modèle | Niveaux |

580| :------------------------------------- | :-------------------------------------- |581| :----------------------------------------------- | :-------------------------------------- |

581| Fable 5.1 et Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |582| Fable 5.1 et Fable 5 | `low`, `medium`, `high`, `xhigh`, `max` |

582| Opus 5, Sonnet 5, Opus 4.8 et Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |583| Opus 5.5, Opus 5, Sonnet 5, Opus 4.8 et Opus 4.7 | `low`, `medium`, `high`, `xhigh`, `max` |

583| Opus 4.6 et Sonnet 4.6 | `low`, `medium`, `high`, `max` |584| Opus 4.6 et Sonnet 4.6 | `low`, `medium`, `high`, `max` |

584 585 

585Si vous définissez un niveau que le modèle actif ne supporte pas, Claude Code revient au niveau le plus élevé supporté au niveau ou en dessous de celui que vous avez défini. Par exemple, `xhigh` s'exécute comme `high` sur Opus 4.6. Votre organisation ou vos propres paramètres peuvent également limiter les niveaux qu'un modèle offre ; voir [Limites d'effort de l'organisation](#organization-effort-limits).586Si vous définissez un niveau que le modèle actif ne supporte pas, Claude Code revient au niveau le plus élevé supporté au niveau ou en dessous de celui que vous avez défini. Par exemple, `xhigh` s'exécute comme `high` sur Opus 4.6. Votre organisation ou vos propres paramètres peuvent également limiter les niveaux qu'un modèle offre ; voir [Limites d'effort de l'organisation](#organization-effort-limits).


587Avec le paramètre [`ultracode`](/docs/fr/settings-reference#ultracode) désactivé, Claude Code résout le niveau d'effort de la session dans cet ordre, en prenant le premier qui s'applique :588Avec le paramètre [`ultracode`](/docs/fr/settings-reference#ultracode) désactivé, Claude Code résout le niveau d'effort de la session dans cet ordre, en prenant le premier qui s'applique :

588 589 

5891. Un choix explicite : la variable d'environnement [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/fr/env-vars#variables), le lancement avec `--effort`, ou `/effort` dans la session ([un `/effort` non interactif a un effet plus étroit](#non-interactive-effort))5901. Un choix explicite : la variable d'environnement [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/fr/env-vars#variables), le lancement avec `--effort`, ou `/effort` dans la session ([un `/effort` non interactif a un effet plus étroit](#non-interactive-effort))

5902. L'effort par défaut du modèle, sur Fable 5, Opus 4.8 ou Opus 4.7 : à partir de la première fois que vous exécutez l'un de ces modèles, Claude Code maintient l'effort par défaut de ce modèle entre les sessions, même quand vos paramètres résolvent un niveau différent. Opus 5 et Fable 5.1 n'ont pas une telle retenue. Que un niveau que vous avez défini termine la retenue dépend de comment vous l'avez défini, par exemple :5912. Vos paramètres : le niveau que vous avez enregistré pour le modèle ou une clé [`effortLevel`](/docs/fr/settings-reference#effortlevel), avec la priorité entre eux et entre les fichiers de paramètres énoncée à [`modelSettings`](/docs/fr/settings-reference#modelsettings)

591 * **Termine la retenue** : confirmer un niveau de manière interactive, avec `Entrée` dans le curseur `/effort` ou le sélecteur `/model` ou avec un niveau tapé après `/effort`, ou choisir un niveau à partir du contrôle d'effort [Contrôle à distance](/docs/fr/remote-control#what-connected-devices-see) d'un appareil connecté5923. L'effort par défaut du modèle : `high` sur chaque modèle qui supporte l'effort, sauf qu'Opus 5.5 par défaut à `medium`, Opus 4.7 par défaut à `xhigh`, et, quand votre organisation définit un niveau d'effort par défaut pour son [modèle par défaut de l'organisation](#organization-default-model), ce niveau est le défaut quand vous exécutez ce modèle

592 * **Laisse la retenue en place pour les sessions ultérieures** : `--effort` au lancement, ou `s` dans le curseur `/effort` ou le sélecteur `/model`593 

5933. Vos paramètres : le niveau que vous avez enregistré pour le modèle ou une clé [`effortLevel`](/docs/fr/settings-reference#effortlevel), avec la priorité entre eux et entre les fichiers de paramètres énoncée à [`modelSettings`](/docs/fr/settings-reference#modelsettings)594Opus 5.5 démarre à `medium` sauf si l'une des sources ci-dessus définit un niveau pour lui, et un `effortLevel` de niveau supérieur dans votre fichier de paramètres utilisateur ne compte pas pour Opus 5.5. Cette clé est la forme plus ancienne que `/effort` écrivait avant que Claude Code enregistre les niveaux par modèle : elle continue à s'appliquer où elle s'appliquait avant, sur Opus 5, Fable 5.1 et les modèles antérieurs, tandis qu'Opus 5.5 et les modèles publiés après lui démarrent à leur propre défaut jusqu'à ce que vous choisissiez un niveau pour eux avec `/effort` ou le sélecteur `/model`. Un `effortLevel` de niveau supérieur dans les paramètres de projet, locaux ou gérés, ou un passé avec `--settings`, s'applique à chaque modèle.

5944. L'effort par défaut du modèle : `high` sur chaque modèle qui supporte l'effort, sauf qu'Opus 4.7 par défaut à `xhigh` et, quand votre organisation définit un niveau d'effort par défaut pour son [modèle par défaut de l'organisation](#organization-default-model), ce niveau est le défaut quand vous exécutez ce modèle

595 595 

596Quand vous définissez `low`, `medium`, `high` ou `xhigh` dans une session interactive sur votre machine, vous choisissez combien de temps cela dure en comment vous le confirmez :596Quand vous définissez `low`, `medium`, `high` ou `xhigh` dans une session interactive sur votre machine, vous choisissez combien de temps cela dure en comment vous le confirmez :

597 597 


608 608 

609<span id="non-interactive-effort" />609<span id="non-interactive-effort" />

610 610 

611Quand vous définissez un niveau avec `/effort` dans une exécution [`-p`](/docs/fr/headless), Claude Code l'applique à cette session uniquement et ne l'enregistre pas comme votre défaut. Sur Fable 5, Opus 4.8 et Opus 4.7, ce niveau ne termine pas non plus la retenue sur l'effort par défaut du modèle ni ne le remplace pour la session. Tant que cette retenue est en vigueur, un `/effort` non interactif rapporte `Not applied`, donc passez `--effort` au lancement à la place.611Quand vous définissez un niveau avec `/effort` dans une exécution [`-p`](/docs/fr/headless), Claude Code l'applique à cette session uniquement et ne l'enregistre pas comme votre défaut.

612 612 

613Le menu `/effort` offre également `ultracode`. Ultracode est un paramètre Claude Code plutôt qu'un niveau d'effort du modèle : il envoie `xhigh` au modèle et a en outre Claude orchestrer les [flux de travail dynamiques](/docs/fr/workflows) pour les tâches substantielles. Pour où il peut être défini de manière persistante, voir le paramètre [`ultracode`](/docs/fr/settings-reference#ultracode).613Le menu `/effort` offre également `ultracode`. Ultracode est un paramètre Claude Code plutôt qu'un niveau d'effort du modèle : il envoie `xhigh` au modèle et a en outre Claude orchestrer les [flux de travail dynamiques](/docs/fr/workflows) pour les tâches substantielles. Pour où il peut être défini de manière persistante, voir le paramètre [`ultracode`](/docs/fr/settings-reference#ultracode).

614 614 


642| Niveau | Quand l'utiliser |642| Niveau | Quand l'utiliser |

643| :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |643| :---------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

644| `low` | Réservez pour les tâches courtes, délimitées, sensibles à la latence qui ne sont pas sensibles à l'intelligence |644| `low` | Réservez pour les tâches courtes, délimitées, sensibles à la latence qui ne sont pas sensibles à l'intelligence |

645| `medium` | Réduit l'utilisation de jetons pour le travail sensible aux coûts qui peut faire des compromis sur une certaine intelligence |645| `medium` | Réduit l'utilisation de jetons pour le travail sensible aux coûts qui peut faire des compromis sur une certaine intelligence. Le défaut sur Opus 5.5 |

646| `high` | Équilibre l'utilisation de jetons et l'intelligence. Le défaut sur chaque modèle sauf Opus 4.7 |646| `high` | Équilibre l'utilisation de jetons et l'intelligence. Le défaut sur chaque modèle sauf Opus 5.5 et Opus 4.7 |

647| `xhigh` | Raisonnement plus profond à une dépense de jetons plus élevée. Le défaut sur Opus 4.7 |647| `xhigh` | Raisonnement plus profond à une dépense de jetons plus élevée. Le défaut sur Opus 4.7 |

648| `max` | Peut améliorer les performances sur les tâches exigeantes mais peut montrer des rendements décroissants et est sujet à la surréflexion. Testez avant d'adopter largement |648| `max` | Peut améliorer les performances sur les tâches exigeantes mais peut montrer des rendements décroissants et est sujet à la surréflexion. Testez avant d'adopter largement |

649| `ultracode` | Un paramètre Claude Code qui planifie un [flux de travail dynamique](/docs/fr/workflows) pour chaque tâche substantielle avec un raisonnement `xhigh` par message |649| `ultracode` | Un paramètre Claude Code qui planifie un [flux de travail dynamique](/docs/fr/workflows) pour chaque tâche substantielle avec un raisonnement `xhigh` par message |


667* **Indicateur `--effort`** : passez un nom de niveau pour le définir pour une seule session lors du lancement de Claude Code667* **Indicateur `--effort`** : passez un nom de niveau pour le définir pour une seule session lors du lancement de Claude Code

668* **Variable d'environnement** : définissez `CLAUDE_CODE_EFFORT_LEVEL` sur un nom de niveau ou `auto`668* **Variable d'environnement** : définissez `CLAUDE_CODE_EFFORT_LEVEL` sur un nom de niveau ou `auto`

669* **Paramètres** : définissez un niveau par modèle dans [`modelSettings`](/docs/fr/settings-reference#modelsettings), ou définissez [`effortLevel`](/docs/fr/settings-reference#effortlevel) sur `low`, `medium`, `high` ou `xhigh` comme défaut pour les modèles sans un. `max` n'est pas accepté comme niveau dans l'une ou l'autre clé, et `ultracode` a sa propre clé [`ultracode`](/docs/fr/settings-reference#ultracode)669* **Paramètres** : définissez un niveau par modèle dans [`modelSettings`](/docs/fr/settings-reference#modelsettings), ou définissez [`effortLevel`](/docs/fr/settings-reference#effortlevel) sur `low`, `medium`, `high` ou `xhigh` comme défaut pour les modèles sans un. `max` n'est pas accepté comme niveau dans l'une ou l'autre clé, et `ultracode` a sa propre clé [`ultracode`](/docs/fr/settings-reference#ultracode)

670* **À partir d'un appareil connecté** : dans une session [Contrôle à distance](/docs/fr/remote-control#what-connected-devices-see), choisissez un niveau à partir du contrôle d'effort sur votre téléphone ou dans votre navigateur. Le niveau s'applique à la session actuelle uniquement, bien qu'il termine également la [retenue sur l'effort par défaut du modèle](#adjust-effort-level). Nécessite Claude Code v2.1.234 ou ultérieure670* **À partir d'un appareil connecté** : dans une session [Contrôle à distance](/docs/fr/remote-control#what-connected-devices-see), choisissez un niveau à partir du contrôle d'effort sur votre téléphone ou dans votre navigateur. Le niveau s'applique à la session actuelle uniquement. Nécessite Claude Code v2.1.234 ou ultérieure

671* **Frontmatter de skill et de sous-agent** : définissez `effort` dans un fichier markdown [skill](/docs/fr/skills#frontmatter-reference) ou [sous-agent](/docs/fr/sub-agents#supported-frontmatter-fields) pour remplacer le niveau d'effort quand ce skill ou sous-agent s'exécute671* **Frontmatter de skill et de sous-agent** : définissez `effort` dans un fichier markdown [skill](/docs/fr/skills#frontmatter-reference) ou [sous-agent](/docs/fr/sub-agents#supported-frontmatter-fields) pour remplacer le niveau d'effort quand ce skill ou sous-agent s'exécute

672 672 

673L'effort du frontmatter s'applique quand ce skill ou sous-agent est actif, remplaçant le niveau de session mais pas la variable d'environnement. Un [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) ou un [plafond d'effort de l'organisation](#organization-effort-limits) limite toujours le niveau auquel le skill ou sous-agent s'exécute.673L'effort du frontmatter s'applique quand ce skill ou sous-agent est actif, remplaçant le niveau de session mais pas la variable d'environnement. Un [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) ou un [plafond d'effort de l'organisation](#organization-effort-limits) limite toujours le niveau auquel le skill ou sous-agent s'exécute.

674 674 

675Sur Fable 5, Opus 4.8 et Opus 4.7, l'effort du frontmatter s'applique également pendant que la [retenue sur l'effort par défaut du modèle](#adjust-effort-level) est en vigueur. Avant la v2.1.267, la retenue avait la priorité et Claude Code ignorait le niveau du frontmatter pendant que la retenue était active.

676 

677Si vous définissez `effortLevel` dans les [paramètres gérés](/docs/fr/managed-settings), Claude Code l'applique à l'étape des paramètres de l'[ordre de résolution d'effort](#adjust-effort-level), et les utilisateurs peuvent toujours changer le niveau avec `/effort` ou `--effort`. Pour garder les utilisateurs au niveau ou en dessous d'un niveau, définissez [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel).675Si vous définissez `effortLevel` dans les [paramètres gérés](/docs/fr/managed-settings), Claude Code l'applique à l'étape des paramètres de l'[ordre de résolution d'effort](#adjust-effort-level), et les utilisateurs peuvent toujours changer le niveau avec `/effort` ou `--effort`. Pour garder les utilisateurs au niveau ou en dessous d'un niveau, définissez [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel).

678 676 

679Le curseur d'effort apparaît dans `/model` quand un modèle supporté est sélectionné. Le niveau d'effort actuel est également affiché dans l'en-tête de session à côté du nom du modèle, par exemple « with low effort », de sorte que vous pouvez confirmer quel paramètre est actif sans ouvrir `/model`. Le pied de page affiche également brièvement le niveau d'effort au démarrage et quand il change.677Le curseur d'effort apparaît dans `/model` quand un modèle supporté est sélectionné. Le niveau d'effort actuel est également affiché dans l'en-tête de session à côté du nom du modèle, par exemple « with low effort », de sorte que vous pouvez confirmer quel paramètre est actif sans ouvrir `/model`. Le pied de page affiche également brièvement le niveau d'effort au démarrage et quand il change.


695La réflexion étendue est le raisonnement que Claude émet avant de répondre. Sur les modèles qui supportent le [raisonnement adaptatif](#adjust-effort-level), le niveau d'effort est le contrôle principal pour la quantité de réflexion qui se produit ; les paramètres ci-dessous activent ou désactivent la réflexion et contrôlent comment elle s'affiche. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau supérieur aux modèles qu'il sait [n'acceptent pas cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5.693La réflexion étendue est le raisonnement que Claude émet avant de répondre. Sur les modèles qui supportent le [raisonnement adaptatif](#adjust-effort-level), le niveau d'effort est le contrôle principal pour la quantité de réflexion qui se produit ; les paramètres ci-dessous activent ou désactivent la réflexion et contrôlent comment elle s'affiche. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau supérieur aux modèles qu'il sait [n'acceptent pas cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5.

696 694 

697| Contrôle | Comment le définir |695| Contrôle | Comment le définir |

698| :------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |696| :------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

699| Basculer pour la session actuelle | Appuyez sur `Option+T` sur macOS ou `Alt+T` sur Windows et Linux |697| Basculer pour la session actuelle | Appuyez sur `Option+T` sur macOS ou `Alt+T` sur Windows et Linux |

700| Définir le défaut global | Exécutez `/config` et basculez le mode de réflexion. Enregistré comme `alwaysThinkingEnabled` dans `~/.claude/settings.json` |698| Définir le défaut global | Exécutez `/config` et basculez le mode de réflexion. Enregistré comme `alwaysThinkingEnabled` dans `~/.claude/settings.json` |

701| Désactiver via une variable d'environnement | Définissez [`MAX_THINKING_TOKENS=0`](/docs/fr/env-vars), qui désactive la réflexion sur l'API Anthropic sauf sur les modèles Fable. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), Claude Code omet le paramètre `thinking` à la place, et les modèles de raisonnement adaptatif peuvent toujours penser. D'autres valeurs s'appliquent uniquement avec un [budget de réflexion fixe](#adaptive-reasoning-and-fixed-thinking-budgets) |699| Désactiver via une variable d'environnement | Définissez [`MAX_THINKING_TOKENS=0`](/docs/fr/env-vars), qui désactive la réflexion sur l'API Anthropic sauf sur Opus 5.5 et les modèles Fable. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), Claude Code omet le paramètre `thinking` à la place, et les modèles de raisonnement adaptatif peuvent toujours penser. D'autres valeurs s'appliquent uniquement avec un [budget de réflexion fixe](#adaptive-reasoning-and-fixed-thinking-budgets) |

702 700 

703Vous ne pouvez pas désactiver la réflexion sur les modèles Fable. Le basculement de session, `alwaysThinkingEnabled` et `MAX_THINKING_TOKENS=0` n'ont aucun effet là, et un modèle Fable décide à chaque étape combien penser en fonction du niveau d'effort.701Vous ne pouvez pas désactiver la réflexion sur Opus 5.5 ou les modèles Fable. Le basculement de session, `alwaysThinkingEnabled` et `MAX_THINKING_TOKENS=0` n'ont aucun effet là, et le modèle décide à chaque étape combien penser en fonction du niveau d'effort.

704 702 

705Claude Code réduit la sortie de réflexion par défaut. Appuyez sur `Ctrl+O` pour basculer le mode verbeux et voir le raisonnement en tant que texte gris en italique. Les sessions interactives sur l'API Anthropic reçoivent des blocs de réflexion édités par défaut, donc définissez `showThinkingSummaries: true` dans les [paramètres](/docs/fr/settings) si vous voulez les résumés complets disponibles quand vous développez. Vous êtes facturé pour tous les jetons de réflexion générés, même quand réduits ou édités.703Claude Code réduit la sortie de réflexion par défaut. Appuyez sur `Ctrl+O` pour basculer le mode verbeux et voir le raisonnement en tant que texte gris en italique. Les sessions interactives sur l'API Anthropic reçoivent des blocs de réflexion édités par défaut, donc définissez `showThinkingSummaries: true` dans les [paramètres](/docs/fr/settings) si vous voulez les résumés complets disponibles quand vous développez. Vous êtes facturé pour tous les jetons de réflexion générés, même quand réduits ou édités.

706 704 


786Si vous ne définissez pas de fenêtre de compaction automatique, Claude Code compacte lorsque la conversation atteint la limite de contexte du modèle, sauf dans ces sessions :784Si vous ne définissez pas de fenêtre de compaction automatique, Claude Code compacte lorsque la conversation atteint la limite de contexte du modèle, sauf dans ces sessions :

787 785 

788* Les [sessions cloud](/docs/fr/claude-code-on-the-web) se compactent à mesure que la conversation approche de la limite du modèle786* Les [sessions cloud](/docs/fr/claude-code-on-the-web) se compactent à mesure que la conversation approche de la limite du modèle

789* Sonnet 4.6 et Opus 4.6 sans [contexte étendu](#extended-context) se compactent à la limite de 200 K, tout comme Opus 4.8 et Opus 5 lorsqu'ils s'exécutent avec une fenêtre de contexte de 200 K, comme sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry787* Sonnet 4.6 et Opus 4.6 sans [contexte étendu](#extended-context) se compactent à la limite de 200 K, tout comme Opus 4.8 et versions ultérieures lorsqu'ils s'exécutent avec une fenêtre de contexte de 200 K, comme sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry

790* Lorsque vous définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/env-vars), les modèles avec une fenêtre native de 1 M, comme Sonnet 5 et les modèles Fable, se compactent à la limite de 200 K788* Lorsque vous définissez [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/env-vars), les modèles avec une fenêtre native de 1 M, comme Sonnet 5 et les modèles Fable, se compactent à la limite de 200 K

791* Les modèles s'exécutant avec une fenêtre native de 1 M, comme Sonnet 5, les modèles Fable, et Opus 4.7 et versions ultérieures sur l'API Anthropic, se compactent avant que la fenêtre ne se remplisse, à environ 967 K jetons par défaut. Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, [Épingler les modèles pour les déploiements tiers](#pin-models-for-third-party-deployments) indique quels modèles s'exécutent avec cette fenêtre ; pour les configurations qui budgétisent Sonnet 5 à 200 K à la place, consultez [Fenêtre de contexte Sonnet 5](#sonnet-5-context-window)789* Les modèles s'exécutant avec une fenêtre native de 1 M, comme Sonnet 5, les modèles Fable, et Opus 4.7 et versions ultérieures sur l'API Anthropic, se compactent avant que la fenêtre ne se remplisse, à environ 967 K jetons par défaut. Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, [Épingler les modèles pour les déploiements tiers](#pin-models-for-third-party-deployments) indique quels modèles s'exécutent avec cette fenêtre ; pour les configurations qui budgétisent Sonnet 5 à 200 K à la place, consultez [Fenêtre de contexte Sonnet 5](#sonnet-5-context-window)

792* Les sessions sur un ID de modèle que Claude Code ne reconnaît pas, comme un alias de [passerelle LLM](/docs/fr/llm-gateway), se compactent à la fenêtre de contexte que Claude Code suppose pour l'ID ; consultez [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](#correct-the-window-for-a-gateway-or-custom-model-id)790* Les sessions sur un ID de modèle que Claude Code ne reconnaît pas, comme un alias de [passerelle LLM](/docs/fr/llm-gateway), se compactent à la fenêtre de contexte que Claude Code suppose pour l'ID ; consultez [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](#correct-the-window-for-a-gateway-or-custom-model-id)


805* Si Claude Code ne peut pas résoudre un fournisseur ou une orthographe personnalisée en un modèle qu'il reconnaît et que l'ID contient `[1m]`, en toute casse, Claude Code suppose une fenêtre de 1 M pour celui-ci et la variable ne s'applique pas d'elle-même. Pour corriger la fenêtre tout en maintenant la compaction proactive, définissez également [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/env-vars). Avec cette variable définie, Claude Code dimensionne l'ID comme la même orthographe sans `[1m]`, donc `CLAUDE_CODE_MAX_CONTEXT_TOKENS` s'applique lorsqu'il s'appliquerait à cette orthographe sans étiquette.803* Si Claude Code ne peut pas résoudre un fournisseur ou une orthographe personnalisée en un modèle qu'il reconnaît et que l'ID contient `[1m]`, en toute casse, Claude Code suppose une fenêtre de 1 M pour celui-ci et la variable ne s'applique pas d'elle-même. Pour corriger la fenêtre tout en maintenant la compaction proactive, définissez également [`CLAUDE_CODE_DISABLE_1M_CONTEXT=1`](/docs/fr/env-vars). Avec cette variable définie, Claude Code dimensionne l'ID comme la même orthographe sans `[1m]`, donc `CLAUDE_CODE_MAX_CONTEXT_TOKENS` s'applique lorsqu'il s'appliquerait à cette orthographe sans étiquette.

806 804 

807 Avec une fenêtre déclarée supérieure à 200 K, Claude Code affiche alors un [avertissement au démarrage](/docs/fr/errors#the-200k-limit-isnt-enforced) indiquant que la limite de 200 K n'est pas appliquée. L'avertissement est attendu dans cette configuration.805 Avec une fenêtre déclarée supérieure à 200 K, Claude Code affiche alors un [avertissement au démarrage](/docs/fr/errors#the-200k-limit-isnt-enforced) indiquant que la limite de 200 K n'est pas appliquée. L'avertissement est attendu dans cette configuration.

808* Si l'ID se résout en un modèle Claude Code reconnaît, ou si l'ID est un nom `claude-` simple sans suffixe pour Claude Code à supprimer, en toute casse, la variable ne prend effet que lorsque vous définissez également [`DISABLE_COMPACT`](/docs/fr/env-vars), ce qui désactive toute compaction.806* Si l'ID se résout en un modèle que Claude Code reconnaît, ou si l'ID est un nom `claude-` simple sans suffixe pour Claude Code à supprimer, en toute casse, la variable ne prend effet que lorsque vous définissez également [`DISABLE_COMPACT`](/docs/fr/env-vars), ce qui désactive toute compaction.

809 807 

810 Par exemple, un ID qui contient un nom de modèle Claude que Claude Code connaît, comme `anthropic/claude-opus-4-8`, `us.anthropic.claude-…-v1:0`, ou le daté `claude-sonnet-4-5@20250929`, se résout en ce modèle. Cela inclut les ID qui contiennent également `[1m]` : Claude Code résout `claude-opus-4-8[1m]` en Opus 4.8 même avec `CLAUDE_CODE_DISABLE_1M_CONTEXT` défini.808 Par exemple, un ID qui contient un nom de modèle Claude que Claude Code connaît, comme `anthropic/claude-opus-4-8`, `us.anthropic.claude-…-v1:0`, ou le daté `claude-sonnet-4-5@20250929`, se résout en ce modèle. Cela inclut les ID qui contiennent également `[1m]` : Claude Code résout `claude-opus-4-8[1m]` en Opus 4.8 même avec `CLAUDE_CODE_DISABLE_1M_CONTEXT` défini.

811 809 


831Cet exemple définit les trois variables pour rendre un déploiement Opus acheminé par passerelle sélectionnable. Claude Code lit les variables d'environnement au démarrage, donc exécutez les exports avant de lancer `claude`, ou redémarrez une session existante pour les récupérer :829Cet exemple définit les trois variables pour rendre un déploiement Opus acheminé par passerelle sélectionnable. Claude Code lit les variables d'environnement au démarrage, donc exécutez les exports avant de lancer `claude`, ou redémarrez une session existante pour les récupérer :

832 830 

833```bash theme={null}831```bash theme={null}

834export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-5"832export ANTHROPIC_CUSTOM_MODEL_OPTION="my-gateway/claude-opus-5-5"

835export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"833export ANTHROPIC_CUSTOM_MODEL_OPTION_NAME="Opus via Gateway"

836export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"834export ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION="Custom deployment routed through the internal LLM gateway"

837```835```


847 845 

848Lorsque [`availableModels`](#restrict-model-selection) est défini, incluez également l'ID de modèle personnalisé dans la liste d'autorisation. Sinon, Claude Code filtre l'entrée personnalisée du sélecteur et rejette une sélection `--model` de celui-ci comme tout autre modèle exclu.846Lorsque [`availableModels`](#restrict-model-selection) est défini, incluez également l'ID de modèle personnalisé dans la liste d'autorisation. Sinon, Claude Code filtre l'entrée personnalisée du sélecteur et rejette une sélection `--model` de celui-ci comme tout autre modèle exclu.

849 847 

850Un ID personnalisé qui intègre un nom de famille, tel que `my-gateway/claude-opus-5`, compte comme une entrée spécifique pour cette famille et désactive son caractère générique, donc listez également les versions que vous avez l'intention de garder sélectionnables. Voir [Comportement de fusion](#merge-behavior).848Un ID personnalisé qui intègre un nom de famille, tel que `my-gateway/claude-opus-5-5`, compte comme une entrée spécifique pour cette famille et désactive son caractère générique, donc listez également les versions que vous avez l'intention de garder sélectionnables. Voir [Comportement de fusion](#merge-behavior).

851 849 

852<h2 id="environment-variables">850<h2 id="environment-variables">

853 Variables d'environnement851 Variables d'environnement

Details

123| `OTEL_LOG_ASSISTANT_RESPONSES` | Activer la journalisation du texte de réponse de l'assistant sur les événements `assistant_response` (par défaut : désactivé). Lorsque non défini, revient à la valeur de `OTEL_LOG_USER_PROMPTS`. Nécessite Claude Code v2.1.193 ou version ultérieure | `1` pour activer, `0` pour garder masqué |123| `OTEL_LOG_ASSISTANT_RESPONSES` | Activer la journalisation du texte de réponse de l'assistant sur les événements `assistant_response` (par défaut : désactivé). Lorsque non défini, revient à la valeur de `OTEL_LOG_USER_PROMPTS`. Nécessite Claude Code v2.1.193 ou version ultérieure | `1` pour activer, `0` pour garder masqué |

124| `OTEL_LOG_TOOL_DETAILS` | Activer la journalisation des paramètres d'outil et des arguments d'entrée dans les événements d'outil et les attributs d'intervalle de trace : commandes Bash, noms de serveur MCP et d'outil, noms de compétences, noms de workflow créés par l'utilisateur et entrée d'outil. Active également les noms de commandes personnalisées, de plugin et MCP sur les événements `user_prompt` (par défaut : désactivé). Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, `mcp_server_name`/`mcp_tool_name` sont émis sur `tool_decision`/`tool_result` même avec l'indicateur désactivé. L'exception nécessite Claude Code v2.1.214 ou version ultérieure | `1` pour activer |124| `OTEL_LOG_TOOL_DETAILS` | Activer la journalisation des paramètres d'outil et des arguments d'entrée dans les événements d'outil et les attributs d'intervalle de trace : commandes Bash, noms de serveur MCP et d'outil, noms de compétences, noms de workflow créés par l'utilisateur et entrée d'outil. Active également les noms de commandes personnalisées, de plugin et MCP sur les événements `user_prompt` (par défaut : désactivé). Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, `mcp_server_name`/`mcp_tool_name` sont émis sur `tool_decision`/`tool_result` même avec l'indicateur désactivé. L'exception nécessite Claude Code v2.1.214 ou version ultérieure | `1` pour activer |

125| `OTEL_LOG_TOOL_CONTENT` | Activer la journalisation du contenu d'outil dans l'[événement d'intervalle `tool.output`](#tool-output-span-event) (par défaut : désactivé). Les attributs d'intervalle portent le contenu d'outil sous [leurs propres portes](#new-context-gates). Nécessite [traçage](#traces-beta). Le contenu est tronqué à la limite de contenu (60 Ko par défaut) | `1` pour activer |125| `OTEL_LOG_TOOL_CONTENT` | Activer la journalisation du contenu d'outil dans l'[événement d'intervalle `tool.output`](#tool-output-span-event) (par défaut : désactivé). Les attributs d'intervalle portent le contenu d'outil sous [leurs propres portes](#new-context-gates). Nécessite [traçage](#traces-beta). Le contenu est tronqué à la limite de contenu (60 Ko par défaut) | `1` pour activer |

126| `OTEL_LOG_MANAGED_SETTINGS` | Ajouter les paramètres gérés masqués et un résumé SHA-256 des paramètres avant masquage aux événements [managed settings resolved](#managed-settings-resolved-event) (par défaut : désactivé). Une valeur dans les paramètres de projet ou locaux ne l'active pas. Nécessite Claude Code v2.1.274 ou version ultérieure | `1` pour activer |

126| `OTEL_LOG_RAW_API_BODIES` | Émettre les corps JSON complets de la demande et de la réponse de l'API Messages d'Anthropic sous forme d'événements de journaux `api_request_body` / `api_response_body` (par défaut : désactivé). Les corps incluent l'historique complet de la conversation. L'activation de cette option implique le consentement à tout ce que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` et `OTEL_LOG_TOOL_CONTENT` révèleraient | `1` pour les corps en ligne tronqués à la limite de contenu (60 Ko par défaut), ou `file:<dir>` pour les corps non tronqués sur disque avec un pointeur `body_ref` dans l'événement |127| `OTEL_LOG_RAW_API_BODIES` | Émettre les corps JSON complets de la demande et de la réponse de l'API Messages d'Anthropic sous forme d'événements de journaux `api_request_body` / `api_response_body` (par défaut : désactivé). Les corps incluent l'historique complet de la conversation. L'activation de cette option implique le consentement à tout ce que `OTEL_LOG_USER_PROMPTS`, `OTEL_LOG_TOOL_DETAILS` et `OTEL_LOG_TOOL_CONTENT` révèleraient | `1` pour les corps en ligne tronqués à la limite de contenu (60 Ko par défaut), ou `file:<dir>` pour les corps non tronqués sur disque avec un pointeur `body_ref` dans l'événement |

127| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Limite de contenu : la longueur maximale des attributs porteurs de contenu tels que les réponses du modèle, le contenu d'outil, les invites système et les corps API bruts, marqueur de troncature inclus, en unités de code UTF-16 (par défaut : 61440, c'est-à-dire 60 Ko). La valeur par défaut est dimensionnée pour les backends qui limitent les valeurs d'attribut à 64 Ko ; augmentez-la uniquement si votre backend accepte des valeurs plus grandes, ou diminuez-la pour réduire le volume de télémétrie. Lorsqu'une limite d'attribut du SDK OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` ou l'une de ses variantes logrecord et span, est définie plus bas, Claude Code tronque à cette valeur plus petite afin que le marqueur `[TRUNCATED ...]` reste dans la limite du SDK. Nécessite Claude Code v2.1.214 ou version ultérieure | `262144` |128| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Limite de contenu : la longueur maximale des attributs porteurs de contenu tels que les réponses du modèle, le contenu d'outil, les invites système et les corps API bruts, marqueur de troncature inclus, en unités de code UTF-16 (par défaut : 61440, c'est-à-dire 60 Ko). La valeur par défaut est dimensionnée pour les backends qui limitent les valeurs d'attribut à 64 Ko ; augmentez-la uniquement si votre backend accepte des valeurs plus grandes, ou diminuez-la pour réduire le volume de télémétrie. Lorsqu'une limite d'attribut du SDK OpenTelemetry, `OTEL_ATTRIBUTE_VALUE_LENGTH_LIMIT` ou l'une de ses variantes logrecord et span, est définie plus bas, Claude Code tronque à cette valeur plus petite afin que le marqueur `[TRUNCATED ...]` reste dans la limite du SDK. Nécessite Claude Code v2.1.214 ou version ultérieure | `262144` |

128| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Préférence de temporalité des métriques (par défaut : `delta`). Définissez sur `cumulative` si votre backend attend une temporalité cumulative | `delta`, `cumulative` |129| `OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE` | Préférence de temporalité des métriques (par défaut : `delta`). Définissez sur `cumulative` si votre backend attend une temporalité cumulative | `delta`, `cumulative` |


241| `workflow.run_id` | Identifiant d'exécution de l'exécution de l'outil [Workflow](/docs/fr/workflows), préfixé `wf_`. Absent pour les agents non générés par un workflow | |242| `workflow.run_id` | Identifiant d'exécution de l'exécution de l'outil [Workflow](/docs/fr/workflows), préfixé `wf_`. Absent pour les agents non générés par un workflow | |

242| `workflow.name` | Nom du workflow qui a généré cet agent. Les noms créés par l'utilisateur sont remplacés par `custom` sauf si la porte est définie | `OTEL_LOG_TOOL_DETAILS` |243| `workflow.name` | Nom du workflow qui a généré cet agent. Les noms créés par l'utilisateur sont remplacés par `custom` sauf si la porte est définie | `OTEL_LOG_TOOL_DETAILS` |

243| `speed` | `fast` ou `normal` | |244| `speed` | `fast` ou `normal` | |

245| `effort` | [Niveau d'effort](/docs/fr/model-config#adjust-effort-level) appliqué à la demande : `low`, `medium`, `high`, `xhigh`, ou `max`. Absent lorsque Claude Code n'envoie pas de niveau d'effort, par exemple sur un modèle qui ne supporte pas l'effort. Nécessite Claude Code v2.1.274 ou version ultérieure | |

244| `llm_request.context` | `interaction`, `tool`, ou `standalone` selon l'intervalle parent | |246| `llm_request.context` | `interaction`, `tool`, ou `standalone` selon l'intervalle parent | |

245| `duration_ms` | Durée murale incluant les tentatives | |247| `duration_ms` | Durée murale incluant les tentatives | |

246| `ttft_ms` | Temps jusqu'au premier jeton en millisecondes | |248| `ttft_ms` | Temps jusqu'au premier jeton en millisecondes | |


385echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"387echo "{\"Authorization\": \"Bearer $(get-token.sh)\", \"X-API-Key\": \"$(get-api-key.sh)\"}"

386```388```

387 389 

388Si le script d'aide échoue ou imprime une sortie qui ne répond pas à ces exigences, Claude Code signale l'erreur dans :390Si le script d'aide échoue ou imprime une sortie qui ne répond pas à ces exigences, les exports échouent et votre backend de télémétrie ne reçoit rien de la session jusqu'à ce que le script fonctionne à nouveau. Claude Code signale l'erreur dans :

389 391 

392* Une notification d'avertissement dans les sessions interactives, [`otelHeadersHelper failed; telemetry is not being exported`](/docs/fr/errors#otelheadershelper-failed), affichée une fois par session lorsque le script d'aide échoue pour la première fois

390* La sortie `/status`393* La sortie `/status`

391* Le journal de débogage, lors de l'exécution avec [`--debug`](/docs/fr/cli-reference#cli-flags) ou après l'exécution de `/debug` dans la session394* Le journal de débogage, lors de l'exécution avec [`--debug`](/docs/fr/cli-reference#cli-flags) ou après l'exécution de `/debug` dans la session

392* stderr, dans les sessions non interactives démarrées avec `-p`395* stderr, dans les sessions non interactives démarrées avec `-p`


712| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |715| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

713| `prompt.id` | Identifiant UUID v4 liant tous les événements produits lors du traitement d'une invite utilisateur unique |716| `prompt.id` | Identifiant UUID v4 liant tous les événements produits lors du traitement d'une invite utilisateur unique |

714| `event.sequence` | Compteur basé sur 0 pour ordonner les événements, compté par processus Claude Code plutôt que par session |717| `event.sequence` | Compteur basé sur 0 pour ordonner les événements, compté par processus Claude Code plutôt que par session |

715| `message.uuid` | UUID du message tel que conservé dans la transcription de session, les fichiers `~/.claude/projects/*/*.jsonl`. Présent sur `assistant_response`, et sur `user_prompt` sauf pour les dispatches de commande, qui peuvent produire zéro ou plusieurs messages. Sur `assistant_response`, c'est l'entrée de transcription finale de la réponse, à partir de laquelle le `parentUuid` du tour suivant s'enchaîne. Nécessite Claude Code v2.1.214 ou ultérieur |718| `message.uuid` | UUID du message tel que conservé dans la transcription de session, les fichiers `~/.claude/projects/*/*.jsonl`. Présent sur `assistant_response`, sur `api_response_body`, et sur `user_prompt` sauf pour les dispatches de commande, qui peuvent produire zéro ou plusieurs messages. Sur `assistant_response` et `api_response_body`, c'est l'entrée de transcription finale de la réponse, à partir de laquelle le `parentUuid` du tour suivant s'enchaîne. Nécessite Claude Code v2.1.214 ou ultérieur, ou v2.1.274 ou ultérieur sur `api_response_body` |

716| `client_request_id` | UUID généré par le client envoyé en tant qu'en-tête de demande `x-client-request-id`. Présent sur `api_request` et `api_error` sur les connexions d'API propriétaires ; absent sur les backends de fournisseurs tiers et lorsque la demande a été retentée via le fallback non-streaming. Associe une demande à sa réponse et reste disponible pour les défaillances telles que les délais d'expiration qui n'ont jamais produit de `request_id` serveur. Correspond au même attribut sur la plage de trace `llm_request`. Nécessite Claude Code v2.1.214 ou ultérieur |719| `client_request_id` | UUID généré par le client envoyé en tant qu'en-tête de demande `x-client-request-id`. Présent sur `api_request` et `api_error` sur les connexions d'API propriétaires ; absent sur les backends de fournisseurs tiers et lorsque la demande a été retentée via le fallback non-streaming. Associe une demande à sa réponse et reste disponible pour les défaillances telles que les délais d'expiration qui n'ont jamais produit de `request_id` serveur. Correspond au même attribut sur la plage de trace `llm_request`. Nécessite Claude Code v2.1.214 ou ultérieur |

717 720 

718Pour tracer toute l'activité déclenchée par une invite unique, filtrez vos événements par une valeur `prompt.id` spécifique. Cela retourne l'événement user\_prompt, tous les événements api\_request, et tous les événements tool\_result qui se sont produits lors du traitement de cette invite.721Pour tracer toute l'activité déclenchée par une invite unique, filtrez vos événements par une valeur `prompt.id` spécifique. Cela retourne l'événement user\_prompt, tous les événements api\_request, et tous les événements tool\_result qui se sont produits lors du traitement de cette invite.


721 724 

722Pour la reconstruction au niveau des messages, chaque classe d'événement porte une clé qui correspond à un champ dans la transcription de session. Le format d'entrée de transcription est [interne à Claude Code](/docs/fr/sessions#where-transcripts-are-stored) et change entre les versions, donc un pipeline qui joint sur ces champs peut se casser à chaque version ; traitez les jointures comme spécifiques à la version plutôt que comme un contrat stable :725Pour la reconstruction au niveau des messages, chaque classe d'événement porte une clé qui correspond à un champ dans la transcription de session. Le format d'entrée de transcription est [interne à Claude Code](/docs/fr/sessions#where-transcripts-are-stored) et change entre les versions, donc un pipeline qui joint sur ces champs peut se casser à chaque version ; traitez les jointures comme spécifiques à la version plutôt que comme un contrat stable :

723 726 

724* `message.uuid` sur `user_prompt` et `assistant_response`727* `message.uuid` sur `user_prompt`, `assistant_response`, et `api_response_body`

725* `request_id` sur les événements d'API, conservé comme `requestId` sur les entrées d'assistant de la transcription728* `request_id` sur les événements d'API, conservé comme `requestId` sur les entrées d'assistant de la transcription

726* `tool_use_id` sur les événements `tool_result` et `tool_decision`729* `tool_use_id` sur les événements `tool_result` et `tool_decision`

727 730 


1342* `files_past_cutoff` : Fichiers plus anciens que la période de rétention que le balayage n'a pas pu supprimer, par exemple en raison d'une erreur de permission ou d'un fichier maintenu ouvert. Une valeur supérieure à zéro signifie que les fichiers ont dépassé la période de rétention configurée ; zéro n'est pas la preuve qu'aucun ne l'a fait, car une suppression échouée d'un répertoire entier compte vers `error_count` à la place1345* `files_past_cutoff` : Fichiers plus anciens que la période de rétention que le balayage n'a pas pu supprimer, par exemple en raison d'une erreur de permission ou d'un fichier maintenu ouvert. Une valeur supérieure à zéro signifie que les fichiers ont dépassé la période de rétention configurée ; zéro n'est pas la preuve qu'aucun ne l'a fait, car une suppression échouée d'un répertoire entier compte vers `error_count` à la place

1343* `error_count` : Nombre d'erreurs que le balayage a rencontrées lors de la liste ou de la suppression de fichiers1346* `error_count` : Nombre d'erreurs que le balayage a rencontrées lors de la liste ou de la suppression de fichiers

1344 1347 

1348<h4 id="managed-settings-resolved-event">

1349 Événement de paramètres gérés résolus

1350</h4>

1351 

1352Enregistré avec les [paramètres gérés](/docs/fr/managed-settings) qu'une session a résolus : une fois au démarrage de la session, à nouveau lorsque les paramètres gérés ou l'état de l'[assistant de politique](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program) change pendant la session, et lorsque Claude Code refuse de démarrer ou termine la session pour l'une des raisons que l'attribut `error.type` énumère.

1353Utilisez cet événement pour trouver les machines exécutées sur une source gérée inattendue, les machines dont l'assistant de politique échoue, et la raison pour laquelle une machine a refusé de démarrer.

1354Nécessite Claude Code v2.1.274 ou ultérieur.

1355 

1356Par défaut, l'événement porte les sources gérées et l'état de l'assistant de politique mais pas les paramètres eux-mêmes. Pour ajouter l'attribut `managed_settings.settings` masqué et le digest `managed_settings.resolved_sha256`, définissez `OTEL_LOG_MANAGED_SETTINGS=1` :

1357 

1358* Définissez-le dans le bloc `env` des paramètres gérés, des paramètres utilisateur, ou `--settings`, ou dans l'environnement avec lequel vous lancez Claude Code. Une valeur dans les paramètres de projet ou locaux ne l'active pas, car un référentiel cloné peut les écrire.

1359* Les paramètres gérés par serveur peuvent le définir sans afficher la [boîte de dialogue d'approbation de sécurité](/docs/fr/server-managed-settings#security-approval-dialogs), car la variable ajoute uniquement votre propre politique masquée de l'organisation à un événement que votre organisation reçoit déjà.

1360 

1361Dans une session interactive dans un dossier que vous n'avez pas [approuvé](/docs/fr/permissions#what-runs-before-you-trust-a-folder), Claude Code n'exporte pas l'événement de refus, car les paramètres de projet et locaux pourraient pointer l'exportation vers un collecteur différent avant l'approbation.

1362 

1363**Nom de l'événement** : `claude_code.managed_settings_resolved`

1364 

1365**Attributs** :

1366 

1367* Tous les [attributs standard](#standard-attributes)

1368* `event.name` : `"managed_settings_resolved"`

1369* `event.timestamp` : Horodatage ISO 8601

1370* `event.sequence` : Compteur par processus pour ordonner les événements, décrit sous [Attributs de corrélation d'événements](#event-correlation-attributes)

1371* `managed_settings.trigger` : `"startup"` pour l'événement de démarrage de session, `"change"` lorsque les paramètres gérés ou l'état de l'assistant de politique ont changé plus tard dans la session, ou `"refused"` lorsqu'une politique de paramètres gérés a arrêté la session. Claude Code envoie un événement `change` uniquement lorsqu'un attribut diffère du dernier événement qu'il a envoyé, et une valeur de paramètre modifiée compte même lorsque `OTEL_LOG_MANAGED_SETTINGS` est désactivé

1372* `error.type` : pourquoi Claude Code a arrêté la session. Présent uniquement sur les événements `refused` :

1373 * `"helper_failed"` : une [exécution d'assistant de politique a échoué](/docs/fr/settings-reference#helper-failures)

1374 * `"policy_invalid"` : les paramètres gérés contiennent une erreur qui empêche Claude Code de démarrer, ou une source d'administration n'a pas pu être chargée, donc Claude Code ne peut pas vérifier l'application de la connexion à l'organisation

1375 * `"consent_rejected"` : l'utilisateur a rejeté la [boîte de dialogue d'approbation de sécurité](/docs/fr/server-managed-settings#security-approval-dialogs) pour les paramètres gérés par serveur

1376 * `"force_refresh_failed"` : la récupération de paramètres que [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh) nécessite a échoué

1377 * `"gateway_rejected"` : une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) a répondu au chargement des paramètres gérés avec HTTP 403

1378 * `"version_below_minimum"` : cette version de Claude Code est inférieure à [`requiredMinimumVersion`](/docs/fr/settings-reference#requiredminimumversion) ou supérieure à [`requiredMaximumVersion`](/docs/fr/settings-reference#requiredmaximumversion)

1379 * `"_OTHER"` : le chargement des paramètres gérés de la passerelle d'applications Claude a échoué pour une autre raison

1380* `managed_settings.sources` : chaque source gérée qui fournit au moins une [clé de politique](/docs/fr/managed-settings#how-claude-code-combines-managed-sources), priorité la plus élevée en premier, y compris les sources dont les clés ne prennent pas effet sous `first-wins`. Les valeurs sont `"remote"`, `"plist"` ou `"hklm"` pour la politique MDM ou au niveau du système d'exploitation, `"file"` pour les fichiers de paramètres gérés et les drop-ins, `"parent"` lorsqu'un [hôte d'intégration](/docs/fr/managed-settings#let-an-embedding-host-add-policy) fournit des paramètres, et `"hkcu"` pour la [valeur de registre Windows HKCU](/docs/fr/managed-settings#where-each-mechanism-stores-the-policy) lorsque Claude Code la [lit](/docs/fr/managed-settings#how-claude-code-combines-managed-sources). Une source qui porte uniquement des clés de contrôle, ou que Claude Code n'a pas pu lire, n'est pas énumérée. Émis en tant que tableau de chaînes, vide lorsqu'aucune source gérée ne fournit une clé de politique

1381* `managed_settings.source_behavior` : la valeur [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) que Claude Code a lue, `"first-wins"` ou `"merge"`. `"first-wins"` lorsqu'aucune source ne définit la clé

1382* `managed_settings.helper.state` : état de l'assistant de politique que la source MDM ou fichier sélectionnée configure :

1383 * `"ok"` : la sortie de l'assistant sert de paramètres gérés

1384 * `"bad_path"`, `"not_a_file"`, `"exit_nonzero"`, `"timed_out"`, `"oversize"`, `"parse_failed"`, `"envelope_invalid"`, ou `"schema_rejected"` : la dernière exécution de l'assistant a échoué. Les [défaillances d'assistant](/docs/fr/settings-reference#helper-failures) décrivent les cas

1385 * `"none"` : aucun assistant n'est configuré, ou la source qui le configure n'est pas une politique MDM ou un fichier de paramètres gérés

1386* `managed_settings.helper.applied` : `"output"` tandis que la sortie propre de l'assistant sert de paramètres gérés, `"none"` lorsqu'elle ne le fait pas

1387* `managed_settings.helper.entry` : `"policyHelper"` lorsque Claude Code a sélectionné un [`policyHelper`](/docs/fr/settings-reference#policyhelper). Absent lorsqu'il n'a sélectionné aucun assistant

1388* `managed_settings.helper.path` : le [`path`](/docs/fr/settings-reference#policyhelper-path) configuré de l'assistant. Présent chaque fois que Claude Code a sélectionné un assistant, que `OTEL_LOG_MANAGED_SETTINGS` soit défini ou non

1389* `managed_settings.resolved_sha256` (lorsque `OTEL_LOG_MANAGED_SETTINGS=1`) : SHA-256 des paramètres gérés résolus avant masquage, sérialisés en JSON avec les clés triées récursivement et sans espace blanc. Les machines avec le même digest exécutent la même politique. Claude Code envoie le digest uniquement avec l'opt-in car une politique courte peut être récupérée en hachant des suppositions. Absent lorsqu'aucun paramètre géré n'a été résolu, et sur les événements `refused`

1390* `managed_settings.settings` (lorsque `OTEL_LOG_MANAGED_SETTINGS=1`) : les noms et la forme des paramètres gérés résolus en tant que chaîne JSON, avec les valeurs masquées. Absent sur les événements `refused`. Claude Code le construit à partir de son schéma de paramètres :

1391 

1392 * Un nom de paramètre que le schéma déclare est exporté, et une clé qu'il ne déclare pas est laissée de côté

1393 * Les booléens, les nombres et les valeurs de chaîne que le schéma restreint à un ensemble fixe d'options, tels que `permissions.defaultMode`, sont exportés tels quels. `sandbox.network.httpProxyPort` et `sandbox.network.socksProxyPort` sont exportés en tant que `"[REDACTED]"`

1394 * Chaque autre chaîne, telle que `model`, `apiKeyHelper`, chaque valeur `env`, chaque URL et chaque commande, est exportée en tant que `"[REDACTED]"`

1395 * Les noms d'entrée des cartes, tels que les noms de variables `env` et les ID de plugins, sont exportés tels quels. Un paramètre dont les entrées le schéma ne tape pas, tels que `vimInsertModeRemaps`, est exporté en tant que `"[REDACTED]"` unique, et `sandbox.ignoreViolations` est exporté en tant que liste de ses listes de chemins sans les motifs de commande

1396 * Une liste conserve sa longueur, avec chaque entrée masquée par les mêmes règles

1397 * Une règle `permissions.allow`, `permissions.deny`, ou `permissions.ask` est exportée en tant que son nom d'outil avec le contenu masqué, telle que `Read([REDACTED])`, lorsque l'outil est intégré à cette version de Claude Code ou est une référence `mcp__` telle que `mcp__jira__create_issue`. Toute autre règle est exportée en tant que `"[REDACTED]"`

1398 * Les hooks suivent les mêmes règles, donc les champs d'option fixe et numériques tels que `type` et `timeout` s'affichent, tandis que chaque commande, URL, `matcher`, et condition `if` est exportée en tant que `"[REDACTED]"`

1399 

1400 Par exemple, les paramètres gérés avec `apiKeyHelper`, deux variables `env`, et une règle de refus sont exportés en tant que `{"apiKeyHelper":"[REDACTED]","env":{"HTTPS_PROXY":"[REDACTED]","CLAUDE_CODE_ENABLE_TELEMETRY":"[REDACTED]"},"permissions":{"deny":["Read([REDACTED])"]}}`.

1401 

1402 Claude Code coupe la valeur à 8 Ko d'UTF-8, et la valeur coupée n'est pas un JSON valide

1403* `managed_settings.settings_truncated` (lorsque `managed_settings.settings` est présent) : `true` lorsque Claude Code a coupé `managed_settings.settings` à 8 Ko, `false` sinon. Émis en tant que booléen, pas une chaîne.

1404 

1345<h2 id="interpret-metrics-and-events-data">1405<h2 id="interpret-metrics-and-events-data">

1346 Interpréter les données de métriques et d'événements1406 Interpréter les données de métriques et d'événements

1347</h2>1407</h2>


1461Lors de la création de règles de détection, recherchez le signal que vous souhaitez surveiller et interrogez votre backend pour l'événement correspondant et les attributs :1521Lors de la création de règles de détection, recherchez le signal que vous souhaitez surveiller et interrogez votre backend pour l'événement correspondant et les attributs :

1462 1522 

1463| Signal | Événement | Attributs clés |1523| Signal | Événement | Attributs clés |

1464| -------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------ |1524| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1465| Appel d'outil autorisé ou refusé, et par quoi | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |1525| Appel d'outil autorisé ou refusé, et par quoi | `tool_decision` | `decision`, `source`, `tool_name`, `tool_parameters` |

1466| Escalade du mode de permission | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |1526| Escalade du mode de permission | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

1467| Hook de politique a bloqué une action | `hook_execution_complete` | `hook_event`, `num_blocking` |1527| Hook de politique a bloqué une action | `hook_execution_complete` | `hook_event`, `num_blocking` |


1469| Connexion du serveur MCP ou défaillance | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |1529| Connexion du serveur MCP ou défaillance | `mcp_server_connection` | `status`, `server_name`, `is_plugin`, `error_code` |

1470| Plugin installé et sa source | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |1530| Plugin installé et sa source | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |

1471| Commandes exécutées et fichiers touchés | `tool_result` (exécuté) ou `tool_decision` (rejeté) avec `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters` ; `tool_input` (`tool_result` uniquement) |1531| Commandes exécutées et fichiers touchés | `tool_result` (exécuté) ou `tool_decision` (rejeté) avec `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters` ; `tool_input` (`tool_result` uniquement) |

1532| Quelles sources de paramètres gérés une machine exécute, si son assistant de politique est sain et pourquoi une machine a refusé de démarrer | `managed_settings_resolved` | `managed_settings.trigger`, `managed_settings.sources`, `managed_settings.source_behavior`, `managed_settings.helper.state`, `error.type` ; `managed_settings.settings` et `managed_settings.resolved_sha256` avec `OTEL_LOG_MANAGED_SETTINGS=1` |

1472 1533 

1473Claude Code émet uniquement le flux d'événements brut. La détection d'anomalies, l'établissement de lignes de base, la corrélation entre les sessions et les alertes sont la responsabilité de votre SIEM ou backend d'observabilité.1534Claude Code émet uniquement le flux d'événements brut. La détection d'anomalies, l'établissement de lignes de base, la corrélation entre les sessions et les alertes sont la responsabilité de votre SIEM ou backend d'observabilité.

1474 1535 

Details

245| `registry.npmjs.org` | Installations de plugins (récupération de packages de plugins source npm et installation des dépendances de packages Node.js des plugins), serveurs MCP lancés avec `npx` et le registre de packages pour les installations npm et bun de Claude Code lui-même |245| `registry.npmjs.org` | Installations de plugins (récupération de packages de plugins source npm et installation des dépendances de packages Node.js des plugins), serveurs MCP lancés avec `npx` et le registre de packages pour les installations npm et bun de Claude Code lui-même |

246| `bridge.claudeusercontent.com` | Extension [Claude in Chrome](/docs/fr/chrome) WebSocket bridge |246| `bridge.claudeusercontent.com` | Extension [Claude in Chrome](/docs/fr/chrome) WebSocket bridge |

247| `*.frame.claudeusercontent.com` | Lectures de contenu [Artifact](/docs/fr/artifacts). L'interface de ligne de commande récupère les fichiers d'un artifact depuis cet hôte lorsque Claude en ouvre un, et uniquement lorsque l'outil Artifact est [disponible](/docs/fr/artifacts#availability) pour votre compte. Pour désactiver l'outil et supprimer cette exigence, définissez [`"enableArtifact": false`](/docs/fr/settings-reference#enableartifact) ou [`CLAUDE_CODE_DISABLE_ARTIFACT=1`](/docs/fr/env-vars) ; Claude Code honore également le paramètre [`disableArtifact`](/docs/fr/settings-reference#disableartifact) déprécié. Consultez [Désactiver les artifacts](/docs/fr/artifacts#disable-artifacts) pour voir comment ces paramètres interagissent |247| `*.frame.claudeusercontent.com` | Lectures de contenu [Artifact](/docs/fr/artifacts). L'interface de ligne de commande récupère les fichiers d'un artifact depuis cet hôte lorsque Claude en ouvre un, et uniquement lorsque l'outil Artifact est [disponible](/docs/fr/artifacts#availability) pour votre compte. Pour désactiver l'outil et supprimer cette exigence, définissez [`"enableArtifact": false`](/docs/fr/settings-reference#enableartifact) ou [`CLAUDE_CODE_DISABLE_ARTIFACT=1`](/docs/fr/env-vars) ; Claude Code honore également le paramètre [`disableArtifact`](/docs/fr/settings-reference#disableartifact) déprécié. Consultez [Désactiver les artifacts](/docs/fr/artifacts#disable-artifacts) pour voir comment ces paramètres interagissent |

248| `github.com` | Clonage des [marketplaces de plugins](/docs/fr/plugin-marketplaces) et des plugins hébergés sur GitHub, y compris la marketplace officielle Anthropic, via HTTPS ou SSH. Pour cloner les sources GitHub `owner/repo` via HTTPS uniquement, définissez [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](/docs/fr/env-vars) |

248| `raw.githubusercontent.com` | Flux de changelog pour [`/release-notes`](/docs/fr/commands). Dans les sessions interactives, Claude Code le récupère également en arrière-plan au démarrage lorsque son changelog en cache ne couvre pas encore la version en cours d'exécution, par exemple au premier démarrage après une mise à jour ; les sessions non interactives et cloud ne le récupèrent jamais |249| `raw.githubusercontent.com` | Flux de changelog pour [`/release-notes`](/docs/fr/commands). Dans les sessions interactives, Claude Code le récupère également en arrière-plan au démarrage lorsque son changelog en cache ne couvre pas encore la version en cours d'exécution, par exemple au premier démarrage après une mise à jour ; les sessions non interactives et cloud ne le récupèrent jamais |

249| `*-review.googlesource.com` | Recherche de changement Gerrit sur les checkouts `googlesource.com`. Lorsqu'une session d'onglet Claude Desktop Code démarre ou reprend sur un checkout [approuvé](/docs/fr/permissions#project-allow-rules-and-workspace-trust) dont l'`origin` est un hôte `googlesource.com`, Claude Code demande anonymement au serveur `-review` de cet hôte le changement ouvert correspondant au `Change-Id` de HEAD, une fois par démarrage ou reprise. Les autres types de sessions ignorent la recherche, et aucun autre hôte Gerrit n'est contacté. Facultatif : désactiver avec [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars) |250| `*-review.googlesource.com` | Recherche de changement Gerrit sur les checkouts `googlesource.com`. Lorsqu'une session d'onglet Claude Desktop Code démarre ou reprend sur un checkout [approuvé](/docs/fr/permissions#project-allow-rules-and-workspace-trust) dont l'`origin` est un hôte `googlesource.com`, Claude Code demande anonymement au serveur `-review` de cet hôte le changement ouvert correspondant au `Change-Id` de HEAD, une fois par démarrage ou reprise. Les autres types de sessions ignorent la recherche, et aucun autre hôte Gerrit n'est contacté. Facultatif : désactiver avec [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars) |

250| `http-intake.logs.us5.datadoghq.com` | Événements de télémétrie opérationnelle, envoyés uniquement lorsque l'interface de ligne de commande utilise directement l'API Anthropic, jamais pour Amazon Bedrock, la plateforme d'agent de Google Cloud ou Microsoft Foundry. Facultatif : désactiver avec [`DISABLE_TELEMETRY`](/docs/fr/data-usage#telemetry-services) ou `DO_NOT_TRACK` |251| `http-intake.logs.us5.datadoghq.com` | Événements de télémétrie opérationnelle, envoyés uniquement lorsque l'interface de ligne de commande utilise directement l'API Anthropic, jamais pour Amazon Bedrock, la plateforme d'agent de Google Cloud ou Microsoft Foundry. Facultatif : désactiver avec [`DISABLE_TELEMETRY`](/docs/fr/data-usage#telemetry-services) ou `DO_NOT_TRACK` |

output-styles.md +124 −42

Details

4 4 

5# Styles de sortie5# Styles de sortie

6 6 

7> Adaptez Claude Code pour des usages au-delà de l'ingénierie logicielle7> Modifiez le rôle, le ton et le format de réponse de Claude Code avec un style de sortie intégré tel que Concis ou Explicatif, ou écrivez un style personnalisé.

8 8 

9Les styles de sortie modifient la façon dont Claude répond, non ce que Claude sait. Ils définissent le rôle, le ton et le format de sortie de Claude pour chaque réponse. Utilisez-en un lorsque vous continuez à relancer avec la même voix ou le même format à chaque tour, ou lorsque vous voulez que Claude agisse comme quelque chose d'autre qu'un ingénieur logiciel.9Un style de sortie est un ensemble d'instructions qui définit le rôle, le ton et le format de réponse de Claude pour chaque réponse dans une session. Claude Code inclut quatre styles intégrés en plus de son style par défaut, et vous pouvez écrire le vôtre.

10 10 

11Un style de sortie personnalisé donne à Claude vos propres instructions et vous permet de choisir si vous souhaitez conserver les instructions d'ingénierie logicielle intégrées de Claude Code. Conservez-les lorsque vous modifiez la façon dont Claude communique mais que vous codez toujours, comme répondre toujours avec un diagramme. Omettez-les lorsque Claude ne fait pas d'ingénierie logicielle du tout, comme un assistant d'écriture ou un analyste de données.11Utilisez un style de sortie pour modifier la façon dont Claude répond et travaille avec vous pendant toute une session, afin que vous ne répétiez pas la demande dans chaque invite. Par exemple, un style intégré peut rendre les réponses plus courtes, ajouter une explication de chaque modification, ou faire en sorte que Claude commence le travail sans poser de questions de routine. Un style personnalisé peut également transformer Claude en quelque chose d'autre qu'un ingénieur logiciel, comme un assistant d'écriture ou un analyste de données.

12 12 

13Pour les instructions concernant votre projet, les conventions ou votre base de code, utilisez [CLAUDE.md](/docs/fr/memory) à la place.13* Pour utiliser un style intégré, choisissez-en un parmi les [styles de sortie intégrés](#built-in-output-styles) et [basculez vers celui-ci](#change-your-output-style).

14* Pour écrire vos propres instructions, [créez un style de sortie personnalisé](#create-a-custom-output-style).

15 

16<Note>

17 Un style de sortie donne à Claude des instructions à suivre. Il ne garantit pas que quelque chose se produit toujours ou ne se produit jamais. Certains besoins correspondent à une fonctionnalité différente :

18 

19 * Pour ce que Claude doit savoir sur votre projet, utilisez [CLAUDE.md](/docs/fr/memory).

20 * Pour quelque chose qui doit se produire à chaque fois, comme le formatage après chaque modification ou le blocage d'une commande, utilisez un [hook](/docs/fr/hooks-guide).

21 * Pour les skills, les sous-agents et les autres options, consultez [Choisir entre un style de sortie et d'autres fonctionnalités](#choose-between-an-output-style-and-other-features).

22</Note>

14 23 

15<h2 id="built-in-output-styles">24<h2 id="built-in-output-styles">

16 Styles de sortie intégrés25 Styles de sortie intégrés

17</h2>26</h2>

18 27 

19Le style de sortie **Default** de Claude Code est son ensemble standard d'instructions, conçu pour vous aider à accomplir efficacement les tâches d'ingénierie logicielle.28Claude Code démarre dans le style [**Default**](#default), ses instructions standard pour accomplir les tâches d'ingénierie logicielle. Chacun des quatre autres styles intégrés conserve ces instructions et ajoute les siennes.

29 

30Ce tableau montre ce que chaque style change dans une session et quand il convient :

31 

32| Style | Ce qui change | Utilisez-le quand |

33| :-------------------------- | :-------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------ |

34| [Proactive](#proactive) | Claude commence le travail immédiatement et fait des hypothèses raisonnables plutôt que de demander des décisions courantes | Vous voulez que Claude continue à travailler à travers les décisions courantes, et vous corrigerez la trajectoire si une hypothèse est incorrecte |

35| [Concise](#concise) | Les réponses commencent par le résultat et omettent le préambule, la narration et les récapitulatifs | Les réponses par défaut sont plus longues que vous le souhaitez |

36| [Explanatory](#explanatory) | Claude ajoute des blocs `Insight` courts qui expliquent les choix derrière le code qu'il écrit | Vous découvrez une base de code ou vous voulez le raisonnement avec la modification |

37| [Learning](#learning) | Claude explique ses choix et laisse de petits morceaux de code pour que vous les écriviez vous-même | Vous voulez une pratique de codage pratique tandis que la tâche est toujours accomplissable |

38 

39<h3 id="default">

40 Default

41</h3>

42 

43Default signifie qu'aucun style de sortie n'est sélectionné. Claude Code n'ajoute aucune instruction de style, et Claude fonctionne à partir de l'invite système standard de Claude Code, qui est écrite pour les tâches d'ingénierie logicielle.

44 

45`default` apparaît dans la liste `/output-style` avec les autres styles, donc vous [le sélectionnez de la même manière](#change-your-output-style).

46 

47<h3 id="proactive">

48 Proactive

49</h3>

50 

51Dans le style Proactive, Claude commence à implémenter dès que vous envoyez une tâche. Il fait des hypothèses raisonnables sur les décisions courantes plutôt que de s'arrêter pour demander, et il ne bascule pas en mode plan à moins que vous ne demandiez un plan. Vous pouvez le rediriger à tout moment.

52 

53Les instructions du style indiquent également à Claude de vérifier avec vous dans la conversation avant une action qui supprime des données ou modifie un système partagé ou de production. Cette vérification est une instruction que Claude suit et est distincte des invites de permission.

54 

55Basculer vers le style Proactive ne change pas votre [mode de permission](/docs/fr/permission-modes). Votre mode de permission décide toujours quels appels d'outils s'exécutent sans vous demander, donc les invites de permission apparaissent de la même manière qu'avant le basculement.

56 

57<h3 id="concise">

58 Concise

59</h3>

60 

61Dans le style Concise, la première phrase d'une réponse indique ce qui s'est passé ou quelle est la réponse. Claude omet l'introduction, la narration étape par étape et le récapitulatif de fermeture, et répond à une question simple en une à trois phrases. Il effectue le travail d'ingénierie aussi minutieusement que dans le style Default. Nécessite Claude Code v2.1.237 ou ultérieur.

62 

63Claude écrit toujours à longueur complète dans ces cas :

64 

65* **Tout ce que vous demandez** : quand vous demandez une explication ou plus de détails, Claude répond complètement.

66* **Tout ce dont vous avez besoin pour agir en toute sécurité** : les rapports d'erreur, la sortie des tests échoués, les avertissements de sécurité et les confirmations pour les actions destructrices conservent leur contenu complet.

67 

68<h3 id="explanatory">

69 Explanatory

70</h3>

71 

72Dans le style Explanatory, Claude effectue la tâche de la même manière que dans le style Default et ajoute de courtes explications sur les raisons pour lesquelles il a fait les choix qu'il a faits. Chaque explication apparaît dans la conversation, avant ou après le code auquel elle se rapporte, dans un bloc étiqueté `Insight`. Les explications ne sont pas écrites dans vos fichiers en tant que commentaires.

20 73 

21Il existe quatre styles de sortie intégrés supplémentaires :74Un bloc `Insight` porte deux ou trois points sur votre base de code ou le code que Claude a écrit, comme celui-ci après l'ajout d'un point de terminaison API :

22 75 

23* **Proactive** : Claude s'exécute immédiatement, fait des hypothèses raisonnables au lieu de s'arrêter pour les décisions courantes, et préfère l'action à la planification. Ceci applique des conseils d'exécution autonome plus forts que le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), et cela fonctionne sans modifier votre mode de permission, donc votre mode de permission décide toujours ce qui s'exécute sans vous demander.76```text theme={null}

77★ Insight ─────────────────────────────────────

78- Every route in this repo goes through the withAuth wrapper, so the new endpoint gets session checks without its own middleware.

79- Rate limits are set per route in limits.ts, which is why this change adds an entry there rather than a global default.

80─────────────────────────────────────────────────

81```

82 

83<h3 id="learning">

84 Learning

85</h3>

24 86 

25* **Concise** : Claude met en avant le résultat, omet le préambule et la narration, et garde les réponses courtes par défaut, tout en effectuant le travail d'ingénierie aussi minutieusement que dans le style Default. Quand vous demandez une explication ou plus de détails, Claude répond complètement. Claude conserve toujours le contenu complet des rapports d'erreur, des avertissements de sécurité et des confirmations pour les actions destructrices. Nécessite Claude Code v2.1.237 ou ultérieur.87Dans le style Learning, Claude ajoute les mêmes blocs `Insight` que le [style Explanatory](#explanatory) et vous demande également d'écrire une partie du code. Claude gère lui-même l'implémentation courante. Quand il atteint une partie avec une véritable décision de conception, comme la gestion des erreurs, une structure de données ou une logique métier avec plus d'une approche valide, il laisse quelques lignes pour vous.

26 88 

27* **Explanatory** : Fournit des « Insights » éducatifs entre les tâches d'ingénierie logicielle pour vous aider à les accomplir. Vous aide à comprendre les choix d'implémentation et les modèles de base de code.89Claude marque l'endroit avec un commentaire `TODO(human)` dans le fichier, puis envoie une demande qui indique ce qui est déjà construit, ce qu'il faut écrire et ce qu'il faut peser :

28 90 

29* **Learning** : Mode collaboratif d'apprentissage par la pratique où Claude ne partagera pas seulement des « Insights » lors du codage, mais vous demandera également de contribuer à de petits éléments de code stratégiques. Claude Code ajoutera des marqueurs `TODO(human)` dans votre code pour que vous les implémentiez.91```text theme={null}

92● Learn by Doing

93 

94Context: The upload form is in place and calls validateFile() before accepting a file. Size and type checks work for images, but the switch statement has no handling for documents yet.

95 

96Your Task: In upload.js, implement the case "document" branch inside validateFile(). Look for TODO(human).

97 

98Guidance: Decide on a size limit for documents and whether the file extension has to match the MIME type. Return {valid: boolean, error?: string}.

99```

100 

101Claude s'arrête alors et attend. Écrivez votre code au commentaire `TODO(human)` et dites à Claude quand vous avez terminé. Claude répond avec un `Insight` sur votre code et continue la tâche.

30 102 

31<h2 id="change-your-output-style">103<h2 id="change-your-output-style">

32 Modifier votre style de sortie104 Modifier votre style de sortie

33</h2>105</h2>

34 106 

35Choisissez un style de l'une de ces façons :107Choisissez un style avec la commande, un menu ou un fichier de paramètres. La commande et les deux menus enregistrent votre choix dans `.claude/settings.local.json` au [niveau du projet local](/docs/fr/settings).

36 108 

37* **Commande `/output-style`** : exécutez `/output-style <style>` pour basculer, par exemple `/output-style concise`. Sans argument, la commande liste les styles que vous pouvez choisir et marque celui en cours. Claude Code enregistre votre sélection dans `.claude/settings.local.json` au [niveau du projet local](/docs/fr/settings).109* **Commande `/output-style`** : exécutez `/output-style <style>` pour basculer, par exemple `/output-style concise`. Sans argument, la commande liste les styles que vous pouvez choisir et marque celui en cours.

38 110 

39 La commande fonctionne également en [mode non interactif](/docs/fr/headless) et dans les sessions Agent SDK, et depuis l'application mobile ou le web via [Contrôle à distance](/docs/fr/remote-control#limitations), où vous pouvez lister et sélectionner uniquement les [styles intégrés](#built-in-output-styles). Nécessite Claude Code v2.1.269 ou ultérieur.111 La commande fonctionne également en [mode non interactif](/docs/fr/headless) et dans les sessions Agent SDK, et depuis l'application mobile ou le web via [Contrôle à distance](/docs/fr/remote-control#limitations), où vous pouvez lister et sélectionner uniquement les [styles intégrés](#built-in-output-styles). Nécessite Claude Code v2.1.269 ou ultérieur.

40* **Terminal** : exécutez `/config` et sélectionnez **Output style** pour choisir un style dans un menu. Claude Code enregistre votre sélection dans `.claude/settings.local.json` au [niveau du projet local](/docs/fr/settings).112* **Menu Terminal** : exécutez `/config` et sélectionnez **Output style** pour choisir un style dans un menu.

41* **Extension VS Code** : ouvrez le [menu de commandes](/docs/fr/vs-code#use-the-prompt-box) avec `/` et sélectionnez **Output styles** pour choisir un style, y compris vos styles personnalisés. Claude Code enregistre votre sélection dans `.claude/settings.local.json`, le même fichier que le menu terminal écrit. Nécessite Claude Code v2.1.257 ou ultérieur.113* **Extension VS Code** : ouvrez le [menu de commandes](/docs/fr/vs-code#use-the-prompt-box) avec `/` et sélectionnez **Output styles** pour choisir un style, y compris vos styles personnalisés. Nécessite Claude Code v2.1.257 ou ultérieur.

42* **Application de bureau** : définissez le champ `outputStyle` dans un fichier de paramètres, par exemple `.claude/settings.local.json`, le fichier que le menu terminal écrit. Lorsque vous exécutez `/config` là-bas, Claude Code [ouvre **Paramètres > Claude Code**](/docs/fr/desktop#what%E2%80%99s-not-available-in-desktop) plutôt qu'un menu.114* **Application de bureau** : définissez le champ `outputStyle` dans un fichier de paramètres, par exemple `.claude/settings.local.json`, le fichier que le menu terminal écrit. Lorsque vous exécutez `/config` là-bas, Claude Code [ouvre **Paramètres > Claude Code**](/docs/fr/desktop#what%E2%80%99s-not-available-in-desktop) plutôt qu'un menu.

43 115 

44Pour définir un style sans le menu, modifiez directement le champ `outputStyle` dans un fichier de paramètres :116Pour définir un style sans le menu, modifiez directement le champ `outputStyle` dans un fichier de paramètres :


49}121}

50```122```

51 123 

124La valeur est sensible à la casse, donc écrivez les noms intégrés comme `Proactive`, `Concise`, `Explanatory` et `Learning`. Une valeur qui ne correspond pas exactement à un nom de style, comme `explanatory`, vous donne le style par défaut. La commande `/output-style` ignore la casse.

125 

126Pour faire d'un style votre style par défaut dans tous les projets, définissez `outputStyle` dans `~/.claude/settings.json`. Les fichiers de paramètres propres à un projet [ont la priorité](/docs/fr/settings#settings-precedence) sur cette valeur.

127 

52Lorsque vous changez de style en cours de session, Claude utilise le nouveau style à partir de votre message suivant. Pour le coût de ce premier message en mise en cache des invites, consultez [Modifier le style de sortie](/docs/fr/prompt-caching#changing-output-style). Avant la v2.1.251, le nouveau style s'appliquait uniquement après que vous ayez exécuté `/clear` ou démarré une nouvelle session.128Lorsque vous changez de style en cours de session, Claude utilise le nouveau style à partir de votre message suivant. Pour le coût de ce premier message en mise en cache des invites, consultez [Modifier le style de sortie](/docs/fr/prompt-caching#changing-output-style). Avant la v2.1.251, le nouveau style s'appliquait uniquement après que vous ayez exécuté `/clear` ou démarré une nouvelle session.

53 129 

54<h2 id="create-a-custom-output-style">130<h2 id="create-a-custom-output-style">


98Les [Plugins](/docs/fr/plugins-reference) peuvent également fournir des styles de sortie dans un répertoire `output-styles/`.174Les [Plugins](/docs/fr/plugins-reference) peuvent également fournir des styles de sortie dans un répertoire `output-styles/`.

99 175 

100<h3 id="frontmatter">176<h3 id="frontmatter">

101 Frontmatter177 Référence du frontmatter

102</h3>178</h3>

103 179 

104Les fichiers de style de sortie prennent en charge ces champs frontmatter :180Configurez un style de sortie avec le [frontmatter](/docs/fr/glossary#frontmatter) YAML entre les marqueurs `---` en haut du fichier. Tous les champs sont facultatifs, et les noms de champs utilisent des mots minuscules séparés par des tirets. Un champ mal orthographié est ignoré sans erreur. Si le YAML n'analyse pas correctement, le style se charge quand même sous son nom de fichier sans aucun champ défini ; exécutez `claude --debug` pour voir l'erreur d'analyse.

105 181 

106| Frontmatter | Objectif | Par défaut |182| Champ | Obligatoire | Description |

107| :------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------- |183| :------------------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

108| `name` | Nom du style de sortie, s'il ne s'agit pas du nom du fichier | Hérité du nom du fichier |184| `name` | Non | Nom du style de sortie, affiché dans le sélecteur `/config`. Par défaut : le nom du fichier |

109| `description` | Description du style de sortie, affichée dans le sélecteur `/config` | Aucun |185| `description` | Non | Description du style de sortie, affichée dans le sélecteur `/config` |

110| `keep-coding-instructions` | Conserver les instructions d'ingénierie logicielle intégrées de Claude Code | `false` |186| `keep-coding-instructions` | Non | Définissez sur `true` pour conserver les instructions d'ingénierie logicielle intégrées de Claude Code aux côtés de votre style. Par défaut : `false` |

111| `force-for-plugin` | Styles de sortie de plugin uniquement : appliquez ce style automatiquement chaque fois que le plugin est activé, sans nécessiter une sélection de l'utilisateur. Remplace le paramètre `outputStyle` de l'utilisateur. Si plusieurs plugins activés définissent ceci, Claude Code utilise le premier chargé. | `false` |187| `force-for-plugin` | Non | Styles de sortie de plugin uniquement. Définissez sur `true` pour appliquer ce style automatiquement chaque fois que le plugin est activé, sans nécessiter une sélection de l'utilisateur. Remplace le paramètre `outputStyle` de l'utilisateur. Si plusieurs plugins activés définissent ceci, Claude Code utilise le premier chargé. Par défaut : `false` |

112 188 

113<h2 id="how-output-styles-work">189<span id="comparisons-to-related-features" />

114 Fonctionnement des styles de sortie

115</h2>

116 190 

117Un style de sortie modifie les instructions que Claude Code donne à Claude.191<h2 id="choose-between-an-output-style-and-other-features">

192 Choisir entre un style de sortie et d'autres fonctionnalités

193</h2>

118 194 

119* Claude Code envoie les instructions du style actif avec chaque requête.195Un style de sortie s'applique à chaque réponse dans une session. C'est une instruction que Claude suit, donc rien ne l'impose. Lorsque ce que vous voulez est plus étroit que chaque réponse, ou doit se produire sans faute, une autre fonctionnalité convient mieux.

120* Lorsque vous [sélectionnez un style autre que Default](#change-your-output-style), Claude Code rappelle également à Claude le style pendant la conversation.

121* Les styles de sortie personnalisés omettent les instructions d'ingénierie logicielle intégrées de Claude Code, comme la façon de délimiter les modifications, d'écrire des commentaires et de vérifier le travail, sauf si `keep-coding-instructions` est défini sur `true`.

122 196 

123Les styles de sortie s'appliquent à la conversation principale et à une [branche](/docs/fr/sub-agents#fork-the-current-conversation), qui hérite de la conversation complète du parent et de l'invite système. Les autres [sous-agents exécutent leur propre invite système](/docs/fr/sub-agents#what-loads-at-startup), donc les styles ne modifient pas la façon dont ils répondent.197Ce tableau fait correspondre ce que vous voulez à la fonctionnalité qui le fait :

124 198 

125L'utilisation des tokens dépend du style. Les instructions d'un style ajoutent des tokens d'entrée, bien que la mise en cache des invites réduise ce coût après la première requête d'une session.199| Vous voulez | Utiliser | Pourquoi cela convient |

200| :----------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |

201| Chaque réponse dans une certaine voix, longueur ou format, ou Claude dans un rôle différent | Un style de sortie | Il s'applique à la session entière, et vous changez de styles avec une seule commande |

202| Claude connaître les conventions, commandes et structure de votre projet | [CLAUDE.md](/docs/fr/memory) | Il contient ce que Claude devrait savoir sur la base de code, et il reste chargé quel que soit le style que vous choisissez |

203| Instructions pour un type de tâche, comme une liste de contrôle de version ou une procédure d'examen | Un [skill](/docs/fr/skills) | Claude le charge uniquement lorsque vous l'invoquez ou que la tâche correspond, donc il ne façonne pas les réponses non liées |

204| Quelque chose qui doit se produire à chaque fois sans exception, comme le formatage après chaque modification ou le blocage d'une commande | Un [hook](/docs/fr/hooks-guide) | Claude Code exécute un hook lui-même lors d'un événement du cycle de vie, donc cela ne dépend pas de Claude suivant une instruction |

205| Un assistant avec ses propres instructions, modèle et outils pour une tâche ciblée | Un [subagent](/docs/fr/sub-agents) | Il s'exécute dans un contexte séparé avec sa propre invite système et retourne un résumé à votre conversation |

206| Un ajout aux instructions de Claude que vous transmettez au démarrage de Claude Code | [`--append-system-prompt`](/docs/fr/cli-reference#system-prompt-flags) | Il ajoute à l'invite système sans rien supprimer |

126 207 

127Les styles Explanatory et Learning intégrés produisent des réponses plus longues que Default par conception, ce qui augmente les tokens de sortie. Le style Concise fait l'inverse en demandant à Claude de garder les réponses courtes par défaut. Pour les styles personnalisés, l'utilisation des tokens de sortie dépend de ce que vos instructions demandent à Claude de produire.208Ces fonctionnalités se combinent. Par exemple, vous pouvez utiliser CLAUDE.md pour ce que Claude devrait savoir, un style de sortie pour la façon dont il répond, et un hook pour tout ce qui doit être garanti. [Étendre Claude Code](/docs/fr/features-overview) compare le reste des fonctionnalités de l'extension.

128 209 

129<h2 id="comparisons-to-related-features">210<h2 id="how-output-styles-work">

130 Comparaisons avec les fonctionnalités connexes211 Fonctionnement des styles de sortie

131</h2>212</h2>

132 213 

133Plusieurs fonctionnalités personnalisent le comportement de Claude Code. Les styles de sortie modifient les instructions par défaut de Claude Code et s'appliquent à chaque réponse. Les autres ajoutent des instructions sans modifier les valeurs par défaut, ou les limitent à une tâche spécifique.214Un style de sortie modifie les instructions que Claude Code donne à Claude.

215 

216* Claude Code envoie les instructions du style actif avec chaque demande.

217* Les styles de sortie personnalisés omettent les instructions d'ingénierie logicielle intégrées de Claude Code, telles que la façon de délimiter les modifications, d'écrire des commentaires et de vérifier le travail, sauf si `keep-coding-instructions` est défini sur `true`.

218 

219Les styles de sortie s'appliquent à la conversation principale et à un [fork](/docs/fr/sub-agents#fork-the-current-conversation), qui hérite de la conversation complète et de l'invite système du parent. Les autres [sous-agents exécutent leur propre invite système](/docs/fr/sub-agents#what-loads-at-startup), donc les styles ne modifient pas leur façon de répondre.

220 

221L'utilisation des tokens dépend du style. Les instructions d'un style ajoutent des tokens d'entrée, bien que la mise en cache des invites réduise ce coût après la première demande d'une session.

134 222 

135| Fonctionnalité | Fonctionnement | Utilisez-le quand |223Les styles Explanatory et Learning intégrés produisent des réponses plus longues que Default par conception, ce qui augmente les tokens de sortie. Le style Concise fait l'inverse en instruisant Claude de garder les réponses courtes par défaut. Pour les styles personnalisés, l'utilisation des tokens de sortie dépend de ce que vos instructions demandent à Claude de produire.

136| :----------------------- | :----------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------- |

137| Styles de sortie | Modifie les instructions par défaut de Claude Code | Vous voulez un rôle, un ton ou un format de réponse par défaut différent à chaque tour |

138| [CLAUDE.md](/docs/fr/memory) | Ajoute un message utilisateur après l'invite système | Claude devrait toujours connaître vos conventions de projet et le contexte de votre base de code |

139| `--append-system-prompt` | Ajoute à l'invite système sans rien supprimer | Vous voulez un ajout ponctuel passé en tant que [drapeau CLI](/docs/fr/cli-reference#system-prompt-flags) au lancement |

140| [Agents](/docs/fr/sub-agents) | Exécute un sous-agent avec sa propre invite système, son modèle et ses outils | Vous voulez un assistant à portée séparée pour une tâche ciblée |

141| [Skills](/docs/fr/skills) | Charge les instructions spécifiques à une tâche lorsqu'elles sont invoquées ou pertinentes | Vous avez un flux de travail réutilisable |

142 224 

143<h2 id="related-resources">225<h2 id="related-resources">

144 Ressources connexes226 Ressources connexes

overview.md +1 −0

Details

247* [Démarrage rapide](/docs/fr/quickstart) : parcourez votre première tâche réelle, de l'exploration d'une base de code à la validation d'une correction247* [Démarrage rapide](/docs/fr/quickstart) : parcourez votre première tâche réelle, de l'exploration d'une base de code à la validation d'une correction

248* [Stocker les instructions et les mémoires](/docs/fr/memory) : donnez à Claude des instructions persistantes avec les fichiers CLAUDE.md et la mémoire automatique248* [Stocker les instructions et les mémoires](/docs/fr/memory) : donnez à Claude des instructions persistantes avec les fichiers CLAUDE.md et la mémoire automatique

249* [Flux de travail courants](/docs/fr/common-workflows) et [meilleures pratiques](/docs/fr/best-practices) : modèles pour tirer le meilleur parti de Claude Code249* [Flux de travail courants](/docs/fr/common-workflows) et [meilleures pratiques](/docs/fr/best-practices) : modèles pour tirer le meilleur parti de Claude Code

250* [Claude Academy](https://academy.claude.com/) : cours gratuits à votre rythme, notamment [Claude Code 101](https://academy.claude.com/courses/claude-code-101) et [Claude Code in Action](https://academy.claude.com/courses/claude-code-in-action)

250* [Un harnais pour chaque tâche](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code) : comment l'équipe Claude Code utilise les [flux de travail dynamiques](/docs/fr/workflows) pour orchestrer des sous-agents à grande échelle251* [Un harnais pour chaque tâche](https://claude.com/blog/a-harness-for-every-task-dynamic-workflows-in-claude-code) : comment l'équipe Claude Code utilise les [flux de travail dynamiques](/docs/fr/workflows) pour orchestrer des sous-agents à grande échelle

251* [Paramètres](/docs/fr/settings) : personnalisez Claude Code pour votre flux de travail252* [Paramètres](/docs/fr/settings) : personnalisez Claude Code pour votre flux de travail

252* [Résolution des problèmes](/docs/fr/troubleshooting) : solutions pour les problèmes courants253* [Résolution des problèmes](/docs/fr/troubleshooting) : solutions pour les problèmes courants

Details

267 267 

268Quand le plan est prêt, Claude le présente et demande comment procéder. À partir de cette invite, vous pouvez choisir :268Quand le plan est prêt, Claude le présente et demande comment procéder. À partir de cette invite, vous pouvez choisir :

269 269 

270* **Oui, et utiliser le mode auto** : approuver et démarrer en [mode auto](#eliminate-prompts-with-auto-mode). Quand le mode auto est indisponible, cette option lit **Oui, auto-accepter les modifications**. Si vous avez démarré la session avec les permissions de contournement activées, l'option lit **Oui, et basculer vers BYPASS PERMISSIONS (aucune invite supplémentaire) pour cette session** à la place.270* **Oui, et utiliser le mode auto** : approuver et démarrer en [mode auto](#eliminate-prompts-with-auto-mode). Si le mode auto n'est pas [disponible pour votre session](#eliminate-prompts-with-auto-mode), par exemple parce que votre organisation l'a désactivé, cette option lit **Oui, auto-accepter les modifications**. Si vous avez démarré la session avec les permissions de contournement activées, l'option lit **Oui, et basculer vers BYPASS PERMISSIONS (aucune invite supplémentaire) pour cette session** à la place.

271* **Oui, approuver manuellement les modifications** : approuver et examiner chaque modification individuellement.271* **Oui, approuver manuellement les modifications** : approuver et examiner chaque modification individuellement.

272* **Non, continuer la planification** : rester en mode plan et dire à Claude ce qu'il faut modifier.272* **Non, continuer la planification** : rester en mode plan et dire à Claude ce qu'il faut modifier.

273 273 


457 457 

458Les limites ne sont pas stockées en tant que règles. Le classificateur les relit à partir de la transcription à chaque vérification, donc une limite peut être perdue si la [compaction de contexte](/docs/fr/costs#reduce-token-usage) supprime le message qui l'a énoncée. Pour une garantie ferme, ajoutez plutôt une [règle deny](/docs/fr/permissions#permission-rule-syntax).458Les limites ne sont pas stockées en tant que règles. Le classificateur les relit à partir de la transcription à chaque vérification, donc une limite peut être perdue si la [compaction de contexte](/docs/fr/costs#reduce-token-usage) supprime le message qui l'a énoncée. Pour une garantie ferme, ajoutez plutôt une [règle deny](/docs/fr/permissions#permission-rule-syntax).

459 459 

460<h3 id="approvals-you-state-in-conversation">

461 Approbations que vous énoncez dans la conversation

462</h3>

463 

464Si vous dites à Claude qu'une action bloquée est autorisée, le classificateur lit cela comme votre approbation et peut lever le bloc. La façon dont vous l'avez formulé décide si l'action s'exécute et jusqu'où l'approbation s'étend :

465 

466* **Nommez l'action et ses spécificités** : votre message doit nommer l'action et la chose spécifique qui la rend dangereuse, comme la branche d'une poussée forcée. Nommer le verbe seul ne clarifie rien, donc « vous pouvez forcer la poussée » laisse le bloc en place.

467* **Attendez-vous à ce qu'il couvre une action** : une approbation couvre l'action destructrice que vous avez nommée, donc une action ultérieure est bloquée à nouveau sauf si vous avez accordé l'approbation comme permanente. Pour arrêter d'approuver un modèle routinier une action à la fois, ajoutez-le à [`autoMode.allow`](/docs/fr/auto-mode-config#override-the-block-and-allow-rules).

468* **Certains blocs restent en place** : [l'ordre de précédence du classificateur](/docs/fr/auto-mode-config#override-the-block-and-allow-rules) énonce quels blocs votre approbation peut atteindre. Pour exécuter une étape qu'il ne clarifiera pas, [quittez le mode auto](#switch-permission-modes) et répondez à l'invite de permission.

469 

460<h3 id="when-auto-mode-falls-back">470<h3 id="when-auto-mode-falls-back">

461 Quand le mode auto revient en arrière471 Quand le mode auto revient en arrière

462</h3>472</h3>


501 511 

502 Vous pouvez annoter le résultat d'un appel avec le champ `classifierContext` d'un [hook PostToolUse](/docs/fr/hooks#annotate-a-result-for-the-auto-mode-classifier), que le classificateur lit comme contexte fourni par l'application. Le champ nécessite Claude Code v2.1.236 ou ultérieur.512 Vous pouvez annoter le résultat d'un appel avec le champ `classifierContext` d'un [hook PostToolUse](/docs/fr/hooks#annotate-a-result-for-the-auto-mode-classifier), que le classificateur lit comme contexte fourni par l'application. Le champ nécessite Claude Code v2.1.236 ou ultérieur.

503 513 

504 Une sonde côté serveur distincte analyse les résultats d'outils entrants et signale le contenu suspect avant que Claude ne le lise. Pour plus d'informations sur la façon dont ces couches fonctionnent ensemble, consultez l'[annonce du mode auto](https://claude.com/blog/auto-mode) et la [plongée technique](/docs/fr/engineering/claude-code-auto-mode).514 Une sonde côté serveur distincte analyse les résultats d'outils entrants et signale le contenu suspect avant que Claude ne le lise. Pour plus d'informations sur la façon dont ces couches fonctionnent ensemble, consultez l'[annonce du mode auto](https://claude.com/blog/auto-mode) et la [plongée technique](https://www.anthropic.com/engineering/claude-code-auto-mode).

505 </Accordion>515 </Accordion>

506 516 

507 <Accordion title="Comment le mode auto gère les sous-agents">517 <Accordion title="Comment le mode auto gère les sous-agents">


510 1. Avant qu'un sous-agent ne démarre, la description de la tâche déléguée est évaluée, donc une tâche qui semble dangereuse est bloquée au moment du lancement.520 1. Avant qu'un sous-agent ne démarre, la description de la tâche déléguée est évaluée, donc une tâche qui semble dangereuse est bloquée au moment du lancement.

511 2. Pendant que le sous-agent s'exécute, chacune de ses actions passe par le classificateur avec les mêmes règles que la session parent, et tout `permissionMode` dans le frontmatter du sous-agent est ignoré.521 2. Pendant que le sous-agent s'exécute, chacune de ses actions passe par le classificateur avec les mêmes règles que la session parent, et tout `permissionMode` dans le frontmatter du sous-agent est ignoré.

512 3. Lorsque le sous-agent se termine, le classificateur examine son travail et son rapport final avant que le parent ne lise le rapport. Lorsque le classificateur signale le travail ou le rapport du sous-agent, ou qu'une vérification de sécurité API distincte refuse l'examen, le rapport est toujours livré, précédé d'un avertissement de sécurité. Lorsque le classificateur n'est pas disponible pour l'examen, le rapport arrive avec une note pour vérifier le travail du sous-agent avant d'agir en fonction de celui-ci.522 3. Lorsque le sous-agent se termine, le classificateur examine son travail et son rapport final avant que le parent ne lise le rapport. Lorsque le classificateur signale le travail ou le rapport du sous-agent, ou qu'une vérification de sécurité API distincte refuse l'examen, le rapport est toujours livré, précédé d'un avertissement de sécurité. Lorsque le classificateur n'est pas disponible pour l'examen, le rapport arrive avec une note pour vérifier le travail du sous-agent avant d'agir en fonction de celui-ci.

513 

514 L'étape 1 nécessite Claude Code v2.1.178 ou ultérieur. Les versions antérieures appliquaient le classificateur aux étapes 2 et 3, mais n'évaluaient pas la description de la tâche avant le démarrage du sous-agent.

515 </Accordion>523 </Accordion>

516 524 

517 <Accordion title="Coût et latence">525 <Accordion title="Coût et latence">


662 670 

663Claude Code traite également un glob ou une barre oblique finale directement sous une variable shell, comme `rm -rf "$DIR"/*`, comme une suppression de chemin critique, car la commande devient une suppression de la racine du système de fichiers quand la variable est vide.671Claude Code traite également un glob ou une barre oblique finale directement sous une variable shell, comme `rm -rf "$DIR"/*`, comme une suppression de chemin critique, car la commande devient une suppression de la racine du système de fichiers quand la variable est vide.

664 672 

673L'invite pour ce cas de variable nomme la commande `rm` signalée et indique comment la réécrire pour que la vérification passe :

674 

675* Pour une variable comme `$DIR`, protégez chaque expansion pour que le shell s'arrête avec une erreur quand la variable n'est pas définie ou vide, comme dans `rm -rf "${DIR:?}"/*`, ou utilisez un chemin littéral

676* Pour une variable qui est normalement définie, comme `$HOME`, utilisez un chemin littéral

677 

678Une suppression dont les expansions sont toutes protégées de cette manière n'est pas une suppression de chemin critique, donc en mode `bypassPermissions` elle s'exécute sans invite.

679 

665Masquer la suppression à l'intérieur d'une sous-coquille avec `(...)`, un groupe d'accolades avec `{ ...; }`, une substitution de commande avec `$(...)` ou des backticks, ou une substitution de processus avec `<(...)`, ne saute pas la vérification. Claude Code trouve une suppression de chemin critique qu'elle se trouve à l'intérieur de la forme imbriquée, comme dans `(rm -rf ~)` ou `echo "$(rm -rf ~)"`, ou ailleurs dans la même commande.680Masquer la suppression à l'intérieur d'une sous-coquille avec `(...)`, un groupe d'accolades avec `{ ...; }`, une substitution de commande avec `$(...)` ou des backticks, ou une substitution de processus avec `<(...)`, ne saute pas la vérification. Claude Code trouve une suppression de chemin critique qu'elle se trouve à l'intérieur de la forme imbriquée, comme dans `(rm -rf ~)` ou `echo "$(rm -rf ~)"`, ou ailleurs dans la même commande.

666 681 

667<h3 id="remove-item-in-powershell">682<h3 id="remove-item-in-powershell">

permissions.md +3 −11

Details

26 26 

27Avant la v2.1.211, Claude Code enregistrait toujours la règle dans le répertoire de démarrage, donc une approbation accordée dans un worktree ou un sous-répertoire ne s'appliquait pas au reste du référentiel. Les règles que les versions antérieures ont enregistrées dans un sous-répertoire ou un worktree s'appliquent toujours aux sessions démarrées là.27Avant la v2.1.211, Claude Code enregistrait toujours la règle dans le répertoire de démarrage, donc une approbation accordée dans un worktree ou un sous-répertoire ne s'appliquait pas au reste du référentiel. Les règles que les versions antérieures ont enregistrées dans un sous-répertoire ou un worktree s'appliquent toujours aux sessions démarrées là.

28 28 

29Parfois, une invite d'autorisation n'offre qu'une approbation unique, sans option « ne pas demander à nouveau » et sans option pour autoriser l'action pour le reste de la session. Claude Code n'offre ces options que lorsque l'invite peut vous montrer tout ce qu'elles autoriseraient, donc une règle que vous enregistrez à partir d'une invite couvre uniquement ce que son option nommée.29Parfois, une invite d'autorisation n'offre qu'une approbation unique, sans option « ne pas demander à nouveau » et sans option pour autoriser l'action pour le reste de la session. Claude Code n'offre ces options que lorsque l'invite peut vous montrer tout ce qu'elles autoriseraient, donc une règle que vous enregistrez à partir d'une invite couvre uniquement ce que son option nommée. Lorsqu'une invite n'offre que l'approbation unique, approuvez l'action une fois, ou ajoutez la règle vous-même dans [`/permissions`](#manage-permissions).

30 

31Lorsque le répertoire dans lequel vous avez démarré Claude Code est ce qui rend le libellé de l'option trop long, Claude Code le raccourcit dans le libellé, en remplaçant votre répertoire personnel par `~` puis la fin du chemin par `…`, et conserve l'option. Vous enregistrez toujours la même règle. Claude Code laisse les options de côté dans trois cas :

32 

33* **Commande ou édition :** trop grande pour être affichée en intégralité.

34* **Commandes ou chemins que la règle couvrirait :** le libellé ne peut pas tous les contenir.

35* **Répertoire de démarrage trop long, non raccourci :** il contient des caractères que Claude Code ne peut pas afficher en toute sécurité, ou même son début ne tient pas.

36 

37Approuvez l'action une fois, ou ajoutez la règle vous-même dans [`/permissions`](#manage-permissions).

38 30 

39<h3 id="add-a-comment-when-you-answer-a-permission-prompt">31<h3 id="add-a-comment-when-you-answer-a-permission-prompt">

40 Ajouter un commentaire lorsque vous répondez à une invite d'autorisation32 Ajouter un commentaire lorsque vous répondez à une invite d'autorisation


224 216 

225Les règles d'autorisation acceptent les globs de nom d'outil uniquement après un préfixe littéral `mcp__<server>__`. Le segment serveur doit être exempt de glob afin que la règle nomme un serveur spécifique que vous avez configuré. `mcp__puppeteer__*` correspond à chaque outil du serveur `puppeteer`, et `mcp__github__get_*` correspond à ses outils `get_`. Un glob d'autorisation non ancré tel que `"*"`, `"B*"`, ou `"mcp__*"` est ignoré avec un avertissement et n'approuve automatiquement rien.217Les règles d'autorisation acceptent les globs de nom d'outil uniquement après un préfixe littéral `mcp__<server>__`. Le segment serveur doit être exempt de glob afin que la règle nomme un serveur spécifique que vous avez configuré. `mcp__puppeteer__*` correspond à chaque outil du serveur `puppeteer`, et `mcp__github__get_*` correspond à ses outils `get_`. Un glob d'autorisation non ancré tel que `"*"`, `"B*"`, ou `"mcp__*"` est ignoré avec un avertissement et n'approuve automatiquement rien.

226 218 

227Une règle de refus ou de demande dont le nom d'outil ne correspond à aucun outil connu produit un avertissement au démarrage pour détecter les fautes de frappe. Les noms d'outils contenant `_` ou `*` sont exemptés de la vérification.219Une règle de refus ou de demande dont le nom d'outil ne correspond à aucun outil connu produit un avertissement au démarrage pour détecter les fautes de frappe. Les noms d'outils contenant `_` ou `*` sont exemptés de la vérification, et il en va de même pour les noms des outils que Claude Code a supprimés, comme `TaskOutput`.

228 220 

229L'étiquette affichée pour un outil dans la transcription et la boîte de dialogue d'autorisation peut différer de son nom canonique. Par exemple, l'outil étiqueté `Stop Task` dans la transcription a le nom canonique `TaskStop`. Les règles d'autorisation et les [correspondances de hook](/docs/fr/hooks) ne correspondent pas à l'étiquette, donc une règle écrite comme `Stop Task` ne correspond pas. Pour les règles de refus et de demande, l'avertissement au démarrage ci-dessus détecte l'inadéquation. Utilisez les noms canoniques listés dans la [référence des outils](/docs/fr/tools-reference).221L'étiquette affichée pour un outil dans la transcription et la boîte de dialogue d'autorisation peut différer de son nom canonique. Par exemple, l'outil étiqueté `Stop Task` dans la transcription a le nom canonique `TaskStop`. Les règles d'autorisation et les [correspondances de hook](/docs/fr/hooks) ne correspondent pas à l'étiquette, donc une règle écrite comme `Stop Task` ne correspond pas. Pour les règles de refus et de demande, l'avertissement au démarrage ci-dessus détecte l'inadéquation. Utilisez les noms canoniques listés dans la [référence des outils](/docs/fr/tools-reference).

230 222 


250 242 

251Lorsque `&&` ou `||` n'a rien après lui, comme dans `npm test &&`, Claude Code traite la commande comme non analysable et ne la divise pas en sous-commandes pour la correspondance des règles d'autorisation, donc une règle telle que `Bash(npm *)` ne l'approuve pas.243Lorsque `&&` ou `||` n'a rien après lui, comme dans `npm test &&`, Claude Code traite la commande comme non analysable et ne la divise pas en sous-commandes pour la correspondance des règles d'autorisation, donc une règle telle que `Bash(npm *)` ne l'approuve pas.

252 244 

253Lorsque vous approuvez une commande composée avec « Oui, ne pas demander à nouveau », Claude Code enregistre une règle séparée pour chaque sous-commande qui nécessite une approbation, plutôt qu'une seule règle pour la chaîne composée complète. Par exemple, approuver `git status && npm test` enregistre une règle pour `npm test`, donc les invocations futures de `npm test` sont reconnues indépendamment de ce qui précède le `&&`. Les sous-commandes comme `cd` dans un sous-répertoire génèrent leur propre règle Read pour ce chemin. Jusqu'à 5 règles peuvent être enregistrées pour une seule commande composée.245Lorsque vous approuvez une commande composée avec « Oui, ne pas demander à nouveau », Claude Code enregistre une règle séparée pour chaque sous-commande qui nécessite une approbation, plutôt qu'une seule règle pour la chaîne composée complète. Par exemple, approuver `git status && npm test` enregistre une règle pour `npm test`, donc les invocations futures de `npm test` sont reconnues indépendamment de ce qui précède le `&&`. Les sous-commandes comme `cd` dans un répertoire en dehors de vos répertoires de travail génèrent leur propre règle Read pour ce chemin. Jusqu'à 5 règles peuvent être enregistrées pour une seule commande composée.

254 246 

255<h4 id="process-wrappers">247<h4 id="process-wrappers">

256 Wrappers248 Wrappers

plugin-evals.md +3 −1

Details

339 Accorder les outils339 Accorder les outils

340</h3>340</h3>

341 341 

342Les exécutions ne s'arrêtent jamais pour demander la permission. Les outils intégrés qui ont besoin d'une concession que vous n'avez pas donnée, comme `Bash`, `Write`, `Edit`, `WebFetch`, et `WebSearch`, sont supprimés de la session, donc Claude ne peut pas les appeler du tout. La liste d'autorisation est les outils en lecture seule que le cas énumère dans `allowed_tools`, à partir de `Read`, `Glob`, `Grep`, `NotebookRead`, `Skill`, `Agent`, `TodoWrite`, et les outils de tâche `TaskCreate`, `TaskGet`, `TaskList`, `TaskUpdate`, `TaskStop`, et `TaskOutput`, plus tout ce que vous accordez avec `--allow-tools`, qui s'applique à chaque cas de l'exécution. Pour laisser les cas utiliser `Bash`, `Write`, `Edit`, `WebFetch`, ou `WebSearch`, accordez-les vous-même :342Les exécutions ne s'arrêtent jamais pour demander la permission. Les outils intégrés qui ont besoin d'une concession que vous n'avez pas donnée, comme `Bash`, `Write`, `Edit`, `WebFetch`, et `WebSearch`, sont supprimés de la session, donc Claude ne peut pas les appeler du tout.

343 

344La liste d'autorisation est les outils en lecture seule que le cas énumère dans `allowed_tools`, à partir de `Read`, `Glob`, `Grep`, `NotebookRead`, `Skill`, `Agent`, `TodoWrite`, et les outils de tâche `TaskCreate`, `TaskGet`, `TaskList`, `TaskUpdate`, et `TaskStop`, plus tout ce que vous accordez avec `--allow-tools`. Cette concession s'applique à chaque cas de l'exécution. Pour laisser les cas utiliser `Bash`, `Write`, `Edit`, `WebFetch`, ou `WebSearch`, accordez-les vous-même :

343 345 

344```bash theme={null}346```bash theme={null}

345claude plugin eval . --allow-tools Write Edit "Bash(npm test *)"347claude plugin eval . --allow-tools Write Edit "Bash(npm test *)"

Details

71Detailed system prompt for the agent describing its role, expertise, and behavior.71Detailed system prompt for the agent describing its role, expertise, and behavior.

72```72```

73 73 

74Les agents de plugin supportent les champs frontmatter `name`, `description`, `model`, `effort`, `maxTurns`, `tools`, `disallowedTools`, `skills`, `memory`, `background`, [`omitClaudeMd`](/docs/fr/sub-agents#supported-frontmatter-fields) et `isolation`. La seule valeur `isolation` valide est `"worktree"`.74<h4 id="plugin-agent-frontmatter">

75 Frontmatter d'agent de plugin

76</h4>

77 

78Un fichier d'agent de plugin utilise les mêmes [champs frontmatter qu'un fichier de sous-agent](/docs/fr/sub-agents#supported-frontmatter-fields), sauf que Claude Code honore seulement certains d'entre eux quand l'agent provient d'un plugin :

79 

80* **Supportés** : `name`, `description`, `model`, `effort`, `maxTurns`, `tools`, `disallowedTools`, `skills`, `memory`, `background`, `omitClaudeMd`, `isolation`, `color` et `experimental`. La seule valeur `isolation` valide est `"worktree"`.

81* **Non supportés, pour des raisons de sécurité** : `hooks`, `mcpServers` et `permissionMode`. Claude Code ignore ces champs lors du chargement d'un agent depuis un plugin. Pour les utiliser, copiez le fichier d'agent dans `.claude/agents/` ou `~/.claude/agents/`.

82* **Non supportés** : `initialPrompt`.

75 83 

76Pour des raisons de sécurité, les agents fournis par les plugins ne supportent pas `hooks`, `mcpServers` ou `permissionMode`.84Vous pouvez placer les fichiers d'agent de plugin dans des sous-dossiers de `agents/`. Claude Code [les charge récursivement](/docs/fr/sub-agents#choose-the-subagent-scope) et joint le nom du plugin, chaque nom de sous-dossier et le nom du fichier avec des deux-points pour former le nom scopé de l'agent. Par exemple, `agents/review/security.md` dans un plugin nommé `my-plugin` se charge comme `my-plugin:review:security`. Deux paramètres changent ce nom :

85 

86* Frontmatter `name` : il remplace uniquement le nom du fichier, donc `name: audit` dans `agents/review/security.md` se charge comme `my-plugin:review:audit`

87* Champ manifest [`agents`](#component-path-fields) : un fichier que vous listez là se charge sans noms de sous-dossier, donc `"agents": "./custom/review/security.md"` se charge comme `my-plugin:security`

77 88 

78Claude Code charge un agent de plugin même quand son frontmatter n'a pas de `name` ou ne s'analyse pas :89Claude Code charge un agent de plugin même quand son frontmatter n'a pas de `name` ou ne s'analyse pas :

79 90 


524Si vous incluez un manifeste, `name` est le seul champ obligatoire.535Si vous incluez un manifeste, `name` est le seul champ obligatoire.

525 536 

526| Champ | Type | Description | Exemple |537| Champ | Type | Description | Exemple |

527| :----- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |538| :----- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------- |

528| `name` | string | Identifiant unique en kebab-case, sans espaces, caractères de contrôle ou caractères de formatage bidirectionnel. Lorsqu'une [entrée de marketplace](/docs/fr/plugin-marketplaces#plugin-entries) répertorie le plugin sous un nom différent, le nom de l'entrée de marketplace est celui utilisé par les clés `enabledPlugins` et `/plugin` | `"deployment-tools"` |539| `name` | string | Identifiant unique en kebab-case, sans espaces, caractères de contrôle ou caractères de formatage bidirectionnel. Lorsqu'une [entrée de marketplace](/docs/fr/plugin-marketplaces#plugin-entries) répertorie le plugin sous un nom différent, le nom de l'entrée marketplace est celui utilisé par les clés `enabledPlugins` et `/plugin` | `"deployment-tools"` |

529 540 

530Ce nom est utilisé pour l'espace de noms des composants. Par exemple, dans l'interface utilisateur, l'agent `agent-creator` pour le plugin nommé `plugin-dev` apparaîtra comme `plugin-dev:agent-creator`.541Ce nom est utilisé pour l'espace de noms des composants. Par exemple, dans l'interface utilisateur, l'agent `agent-creator` pour le plugin nommé `plugin-dev` apparaîtra comme `plugin-dev:agent-creator`.

531 542 


553</h3>564</h3>

554 565 

555| Champ | Type | Description | Exemple |566| Champ | Type | Description | Exemple |

556| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |567| :--------------- | :------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

557| `$schema` | string | URL du schéma JSON pour l'autocomplétion et la validation de l'éditeur. Claude Code ignore ce champ au moment du chargement. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |568| `$schema` | string | URL du schéma JSON pour l'autocomplétion et la validation de l'éditeur. Claude Code ignore ce champ au moment du chargement. | `"https://json.schemastore.org/claude-code-plugin-manifest.json"` |

558| `displayName` | string | Nom lisible par l'homme affiché dans le sélecteur `/plugin` et autres surfaces d'interface utilisateur. Pour un plugin installé depuis une marketplace, un `displayName` sur l'[entrée de marketplace](/docs/fr/plugin-marketplaces#optional-plugin-fields) prend précédence sur cette valeur. Lorsqu'aucun nom d'affichage n'est défini dans l'un ou l'autre endroit, les utilisateurs voient `name`. Contrairement à `name`, peut contenir des espaces et n'importe quelle casse. Non utilisé pour l'espace de noms ou la recherche. | `"Deployment Tools"` |569| `displayName` | string | Nom lisible par l'homme affiché dans le sélecteur `/plugin` et autres surfaces d'interface utilisateur. Pour un plugin installé depuis le marketplace, un `displayName` sur l'[entrée marketplace](/docs/fr/plugin-marketplaces#optional-plugin-fields) a la priorité sur cette valeur. Lorsqu'aucun nom d'affichage n'est défini dans l'un ou l'autre endroit, les utilisateurs voient `name`. Contrairement à `name`, peut contenir des espaces et n'importe quelle casse. Non utilisé pour l'espace de noms ou la recherche. | `"Deployment Tools"` |

559| `version` | string | Facultatif. Version sémantique. La définition de ceci épingle le plugin à cette chaîne de version, de sorte que les utilisateurs ne reçoivent des mises à jour que lorsque vous la modifiez, sauf pour une [`command` source](/docs/fr/plugin-marketplaces#command-sources) ou un plugin [chargé en place](#plugin-caching-and-file-resolution) ; voir [Gestion des versions](#version-management). S'il est également défini dans l'entrée de marketplace, `plugin.json` gagne. S'il est omis, la version provient de la source suivante dans [Gestion des versions](#version-management). | `"2.1.0"` |570| `version` | string | Optionnel. Version sémantique. La définition de ceci épingle le plugin à cette chaîne de version, de sorte que les utilisateurs ne reçoivent des mises à jour que lorsque vous la modifiez, sauf pour une [`command` source](/docs/fr/plugin-marketplaces#command-sources) ou un plugin [chargé en place](#plugin-caching-and-file-resolution) ; voir [Gestion des versions](#version-management). S'il est également défini dans l'entrée marketplace, `plugin.json` gagne. S'il est omis, la version provient de la source suivante dans [Gestion des versions](#version-management). | `"2.1.0"` |

560| `description` | string | Brève explication de l'objectif du plugin | `"Deployment automation tools"` |571| `description` | string | Brève explication de l'objectif du plugin | `"Deployment automation tools"` |

561| `author` | object | Informations sur l'auteur | `{"name": "Dev Team", "email": "dev@company.com"}` |572| `author` | object | Informations sur l'auteur | `{"name": "Dev Team", "email": "dev@company.com"}` |

562| `homepage` | string | URL de documentation | `"https://docs.example.com"` |573| `homepage` | string | URL de la documentation | `"https://docs.example.com"` |

563| `repository` | string | URL du code source | `"https://github.com/user/plugin"` |574| `repository` | string | URL du code source | `"https://github.com/user/plugin"` |

564| `license` | string | Identifiant de licence | `"MIT"`, `"Apache-2.0"` |575| `license` | string | Identifiant de licence | `"MIT"`, `"Apache-2.0"` |

565| `keywords` | array | Balises de découverte | `["deployment", "ci-cd"]` |576| `keywords` | array | Balises de découverte | `["deployment", "ci-cd"]` |


572 583 

573Définissez `defaultEnabled: false` dans `plugin.json` pour livrer un plugin qui s'installe désactivé. L'utilisateur l'active avec `claude plugin enable <plugin>` ou l'interface `/plugin`. Utilisez ceci pour les plugins qui ajoutent un coût ou une portée auquel un utilisateur devrait s'inscrire, comme celui qui se connecte à un service externe.584Définissez `defaultEnabled: false` dans `plugin.json` pour livrer un plugin qui s'installe désactivé. L'utilisateur l'active avec `claude plugin enable <plugin>` ou l'interface `/plugin`. Utilisez ceci pour les plugins qui ajoutent un coût ou une portée auquel un utilisateur devrait s'inscrire, comme celui qui se connecte à un service externe.

574 585 

575`defaultEnabled` est le repli lorsque rien d'autre n'a décidé l'état du plugin. Deux choses prennent précédence sur lui :586`defaultEnabled` est le fallback lorsque rien d'autre n'a décidé l'état du plugin. Le paramètre de l'utilisateur et une exigence de dépendance ont la priorité sur celui-ci :

576 587 

577* **Le paramètre de l'utilisateur** : une entrée pour le plugin dans `enabledPlugins` à n'importe quelle portée de paramètres. Une fois écrite, elle persiste à travers les mises à jour et réinstallations du plugin, donc changer `defaultEnabled` dans une version ultérieure ne bascule pas un utilisateur existant.588* **Le paramètre de l'utilisateur** : une entrée pour le plugin dans `enabledPlugins` à n'importe quelle portée de paramètres. Une fois écrit, il persiste à travers les mises à jour et réinstallations de plugins, donc changer `defaultEnabled` dans une version ultérieure ne bascule pas un utilisateur existant.

578* **Une exigence de dépendance** : lorsqu'un plugin est requis par un autre qui est actif, Claude Code écrit `true` pour lui au moment de l'installation ou de l'activation. Cela lui donne un paramètre explicite, donc sa propre valeur par défaut ne s'applique plus. Voir [Activer ou désactiver un plugin avec des dépendances](/docs/fr/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies).589* **Une exigence de dépendance** : lorsqu'un plugin est requis par un autre qui est actif, Claude Code écrit `true` pour lui au moment de l'installation ou de l'activation. Cela lui donne un paramètre explicite, donc sa propre valeur par défaut ne s'applique plus. Voir [Activer ou désactiver un plugin avec des dépendances](/docs/fr/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies).

579 590 

580Le même champ peut apparaître dans l'entrée de marketplace d'un plugin, où il prend précédence sur la valeur dans `plugin.json`. Voir [Champs de plugin facultatifs](/docs/fr/plugin-marketplaces#optional-plugin-fields).591Le même champ peut apparaître dans l'entrée marketplace d'un plugin, où il a la priorité sur la valeur dans `plugin.json`. Voir [Champs de plugin optionnels](/docs/fr/plugin-marketplaces#optional-plugin-fields).

581 592 

582<h3 id="component-path-fields">593<h3 id="component-path-fields">

583 Champs de chemin de composant594 Champs de chemin de composant

584</h3>595</h3>

585 596 

586| Champ | Type | Description | Exemple |597| Champ | Type | Description | Exemple |

587| :---------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |598| :---------------------- | :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |

588| `skills` | string\|array | Répertoires de compétences personnalisés contenant `<name>/SKILL.md`. S'ajoute à l'analyse par défaut `skills/`. Voir [Règles de comportement des chemins](#path-behavior-rules) pour l'exception de racine de marketplace | `"./custom/skills/"` |599| `skills` | string\|array | Répertoires de compétences personnalisés contenant `<name>/SKILL.md`. S'ajoute à l'analyse par défaut `skills/`. Voir [Règles de comportement des chemins](#path-behavior-rules) pour l'exception de racine marketplace | `"./custom/skills/"` |

589| `commands` | string\|array | Fichiers de compétences `.md` plats personnalisés ou répertoires (remplace le défaut `commands/`) | `"./custom/cmd.md"` ou `["./cmd1.md"]` |600| `commands` | string\|array | Fichiers de compétences `.md` plats personnalisés ou répertoires (remplace `commands/` par défaut) | `"./custom/cmd.md"` ou `["./cmd1.md"]` |

590| `agents` | string\|array | Fichiers d'agent personnalisés (remplace le défaut `agents/`) | `"./custom/agents/reviewer.md"` |601| `agents` | string\|array | Fichiers d'agent personnalisés (remplace `agents/` par défaut) | `"./custom/agents/reviewer.md"` |

591| `workflows` | string\|array | Fichiers ou répertoires de scripts [workflow](/docs/fr/workflows) personnalisés (remplace le défaut `workflows/`) | `"./custom/workflows/"` |602| `workflows` | string\|array | Fichiers ou répertoires de scripts [workflow](/docs/fr/workflows) personnalisés (remplace `workflows/` par défaut) | `"./custom/workflows/"` |

592| `hooks` | string\|array\|object | Chemins de configuration de hooks ou configuration en ligne | `"./my-extra-hooks.json"` |603| `hooks` | string\|array\|object | Chemins de configuration de hook ou configuration en ligne | `"./my-extra-hooks.json"` |

593| `mcpServers` | string\|array\|object | Chemins de configuration MCP ou configuration en ligne | `"./my-extra-mcp-config.json"` |604| `mcpServers` | string\|array\|object | Chemins de configuration MCP ou configuration en ligne | `"./my-extra-mcp-config.json"` |

594| `outputStyles` | string\|array | Fichiers/répertoires de style de sortie personnalisés (remplace le défaut `output-styles/`) | `"./styles/"` |605| `outputStyles` | string\|array | Fichiers/répertoires de style de sortie personnalisés (remplace `output-styles/` par défaut) | `"./styles/"` |

595| `lspServers` | string\|array\|object | Configurations du [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) pour l'intelligence du code (aller à la définition, trouver les références, etc.) | `"./.lsp.json"` |606| `lspServers` | string\|array\|object | Configurations [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) pour l'intelligence du code (aller à la définition, trouver les références, etc.) | `"./.lsp.json"` |

596| `experimental.themes` | string\|array | Fichiers/répertoires de thème de couleur (remplace le défaut `themes/`). Voir [Thèmes](#themes) | `"./themes/"` |607| `experimental.themes` | string\|array | Fichiers/répertoires de thème de couleur (remplace `themes/` par défaut). Voir [Thèmes](#themes) | `"./themes/"` |

597| `experimental.monitors` | string\|array | Configurations de [Monitor](/docs/fr/tools-reference#monitor-tool) en arrière-plan qui démarrent automatiquement lorsque le plugin est actif. Voir [Moniteurs](#monitors) | `"./monitors.json"` |608| `experimental.monitors` | string\|array | Configurations [Monitor](/docs/fr/tools-reference#monitor-tool) de fond qui démarrent automatiquement lorsque le plugin est actif. Voir [Moniteurs](#monitors) | `"./monitors.json"` |

598| `experimental.evals` | string\|array | Répertoire sous la racine du plugin qui contient les [cas d'évaluation](/docs/fr/plugin-evals#use-a-different-eval-directory) du plugin, lorsqu'il n'est pas le défaut `evals/`. `claude plugin eval --eval-dir` le remplace | `"quality/evals"` |609| `experimental.evals` | string\|array | Répertoire sous la racine du plugin qui contient les [cas d'évaluation](/docs/fr/plugin-evals#use-a-different-eval-directory) du plugin, lorsqu'il n'est pas le répertoire par défaut `evals/`. `claude plugin eval --eval-dir` le remplace | `"quality/evals"` |

599| `userConfig` | object | Valeurs configurables par l'utilisateur demandées au moment de l'activation. Voir [Configuration utilisateur](#user-configuration) | |610| `userConfig` | object | Valeurs configurables par l'utilisateur demandées au moment de l'activation. Voir [Configuration utilisateur](#user-configuration) | |

600| `channels` | array | Déclarations de canal pour l'injection de messages (style Telegram, Slack, Discord). Voir [Canaux](#channels) | |611| `channels` | array | Déclarations de canal pour l'injection de messages (style Telegram, Slack, Discord). Voir [Canaux](#channels) | |

601| `dependencies` | array | Autres plugins que ce plugin nécessite, éventuellement avec des contraintes de version semver. Voir [Contraindre les versions de dépendance du plugin](/docs/fr/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |612| `dependencies` | array | Autres plugins que ce plugin nécessite, optionnellement avec des contraintes de version semver. Voir [Contraindre les versions de dépendance du plugin](/docs/fr/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |

602 613 

603<h3 id="experimental-components">614<h3 id="experimental-components">

604 Composants expérimentaux615 Composants expérimentaux


610 Configuration utilisateur621 Configuration utilisateur

611</h3>622</h3>

612 623 

613Le champ `userConfig` déclare les valeurs pour lesquelles Claude Code demande à l'utilisateur lorsque le plugin est activé. Utilisez ceci au lieu d'exiger que les utilisateurs modifient manuellement `settings.json`.624Le champ `userConfig` déclare les valeurs pour lesquelles Claude Code invite l'utilisateur lorsque le plugin est activé. Utilisez ceci au lieu d'exiger que les utilisateurs modifient manuellement `settings.json`.

614 625 

615```json theme={null}626```json theme={null}

616{627{


630}641}

631```642```

632 643 

633Les clés doivent être des identifiants valides. Chaque option prend en charge ces champs :644Les clés doivent être des identifiants valides. Chaque option supporte ces champs :

634 645 

635| Champ | Obligatoire | Description |646| Champ | Obligatoire | Description |

636| :------------ | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |647| :------------ | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

637| `type` | Oui | L'un de `string`, `number`, `boolean`, `directory`, ou `file` |648| `type` | Oui | L'un de `string`, `number`, `boolean`, `directory`, ou `file` |

638| `title` | Oui | Étiquette affichée dans la boîte de dialogue de configuration |649| `title` | Oui | Étiquette affichée dans la boîte de dialogue de configuration |

639| `description` | Oui | Texte d'aide affiché sous le champ |650| `description` | Oui | Texte d'aide affiché sous le champ |

640| `sensitive` | Non | Si `true`, masque l'entrée et stocke la valeur dans le stockage sécurisé au lieu de `settings.json` |651| `sensitive` | Non | Si `true`, masque l'entrée et stocke la valeur dans le stockage sécurisé au lieu de `settings.json` |

641| `required` | Non | Si `true`, la validation échoue lorsque le champ est vide |652| `required` | Non | Si `true`, la validation échoue lorsque le champ est vide |

642| `default` | Non | Valeur utilisée lorsque l'utilisateur ne fournit rien |653| `default` | Non | Valeur utilisée lorsque l'utilisateur ne fournit rien |

643| `options` | Non | Pour le type `string`, les valeurs que le champ accepte, affichées dans `/config` comme un sélecteur sur celles-ci. Nécessite Claude Code v2.1.271 ou ultérieur |654| `options` | Non | Pour le type `string`, les valeurs que le champ accepte, affichées dans `/config` comme un sélecteur sur celles-ci. Voir [Limiter un champ à des options fixes](#limit-a-field-to-fixed-options). Nécessite Claude Code v2.1.271 ou ultérieur |

644| `multiple` | Non | Pour le type `string`, autoriser un tableau de chaînes |655| `multiple` | Non | Pour le type `string`, autoriser un tableau de chaînes |

645| `min` / `max` | Non | Limites pour le type `number` |656| `min` / `max` | Non | Limites pour le type `number` |

646 657 

647Sauf pour les champs `sensitive` et les listes `multiple`, chaque champ de chaque plugin activé apparaît également comme une ligne dans le panneau `/config`. Les lignes nécessitent Claude Code v2.1.269 ou ultérieur.658À l'exception des champs `sensitive` et des listes `multiple`, chaque champ de chaque plugin activé apparaît également comme une ligne dans le panneau `/config`. Les lignes nécessitent Claude Code v2.1.269 ou ultérieur.

648 659 

649Chaque valeur est disponible pour la substitution comme `${user_config.KEY}` dans les configurations de serveur MCP et LSP et les commandes de hook. Les valeurs non sensibles peuvent également être substituées dans le contenu des compétences et des agents. Toutes les valeurs sont exportées vers les processus de hook en tant que variables d'environnement `CLAUDE_PLUGIN_OPTION_<KEY>`, où `<KEY>` est la clé d'option en majuscules.660Chaque valeur est disponible pour la substitution comme `${user_config.KEY}` dans les configurations de serveur MCP et LSP et les commandes de hook. Les valeurs non sensibles peuvent également être substituées dans le contenu des compétences et des agents. Toutes les valeurs sont exportées vers les processus de hook en tant que variables d'environnement `CLAUDE_PLUGIN_OPTION_<KEY>`, où `<KEY>` est la clé d'option en majuscules.

650 661 


652 663 

653| Champ rejeté | Comment passer la valeur |664| Champ rejeté | Comment passer la valeur |

654| :--------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |665| :--------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------- |

655| Commandes de hook de forme shell | Utilisez la [forme exec](/docs/fr/hooks#exec-form-and-shell-form) avec `args`, ou lisez `CLAUDE_PLUGIN_OPTION_<KEY>` à partir de l'environnement du hook |666| Commandes de hook en forme shell | Utilisez la [forme exec](/docs/fr/hooks#exec-form-and-shell-form) avec `args`, ou lisez `CLAUDE_PLUGIN_OPTION_<KEY>` à partir de l'environnement du hook |

656| Commandes [Monitor](#monitors) | Lisez la valeur à partir d'un fichier de configuration dans le script |667| Commandes [Monitor](#monitors) | Lisez la valeur à partir d'un fichier de configuration dans le script |

657| MCP [`headersHelper`](/docs/fr/mcp#use-dynamic-headers-for-custom-authentication) | Lisez la valeur à partir d'un fichier de configuration dans le script |668| MCP [`headersHelper`](/docs/fr/mcp#use-dynamic-headers-for-custom-authentication) | Lisez la valeur à partir d'un fichier de configuration dans le script |

658 669 


660 671 

661Les valeurs non sensibles sont stockées sous la clé [`pluginConfigs`](/docs/fr/settings-reference#pluginconfigs) dans votre `settings.json` utilisateur comme `pluginConfigs[<plugin-id>].options`.672Les valeurs non sensibles sont stockées sous la clé [`pluginConfigs`](/docs/fr/settings-reference#pluginconfigs) dans votre `settings.json` utilisateur comme `pluginConfigs[<plugin-id>].options`.

662 673 

663Sur macOS, Claude Code stocke les valeurs sensibles dans le Keychain macOS, en revenant à `~/.claude/.credentials.json` lorsque le Keychain rejette l'écriture. Sur les plates-formes sans un keychain pris en charge, il les stocke dans `~/.claude/.credentials.json`. Le stockage Keychain est partagé avec les jetons OAuth et a une limite totale d'environ 2 KB, donc gardez les valeurs sensibles petites.674Sur macOS, Claude Code stocke les valeurs sensibles dans le Keychain macOS, en revenant à `~/.claude/.credentials.json` lorsque le Keychain rejette l'écriture. Sur les plates-formes sans un trousseau supporté, il les stocke dans `~/.claude/.credentials.json`. Le stockage du trousseau est partagé avec les jetons OAuth et a une limite totale d'environ 2 KB, donc gardez les valeurs sensibles petites.

664 675 

665Claude Code lit toutes les valeurs `pluginConfigs` à partir de seulement trois sources de paramètres :676Claude Code lit toutes les valeurs `pluginConfigs` à partir de seulement trois sources de paramètres :

666 677 


668* **`--settings`** : l'indicateur CLI ou les paramètres en ligne du SDK679* **`--settings`** : l'indicateur CLI ou les paramètres en ligne du SDK

669* **Paramètres gérés** : [politique contrôlée par l'organisation](/docs/fr/permissions#managed-settings)680* **Paramètres gérés** : [politique contrôlée par l'organisation](/docs/fr/permissions#managed-settings)

670 681 

671Lorsque plusieurs sources définissent la même clé, les paramètres gérés prennent précédence, puis `--settings`, puis les paramètres utilisateur. La seule source que vous pouvez supprimer de cette liste est les paramètres utilisateur : passez [`--setting-sources`](/docs/fr/cli-reference#cli-flags) sans `user` et Claude Code les ignore. Les paramètres gérés et `--settings` restent quels que soient les paramètres que vous passez. L'option [`settingSources`](/docs/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) du SDK définit la même liste.682Lorsque plusieurs sources définissent la même clé, les paramètres gérés ont la priorité, puis `--settings`, puis les paramètres utilisateur. La seule source que vous pouvez supprimer de cette liste est les paramètres utilisateur : passez [`--setting-sources`](/docs/fr/cli-reference#cli-flags) sans `user` et Claude Code les ignore. Les paramètres gérés et `--settings` restent quels que soient les paramètres que vous passez. L'option [`settingSources`](/docs/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) du SDK définit la même liste.

672 683 

673Les entrées dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un projet sont ignorées. Les deux fichiers vivent dans l'espace de travail, donc un référentiel cloné pourrait fournir des valeurs là, et ces valeurs s'écouleraient dans les commandes de hook de plugin, les configurations de serveur MCP, les commandes LSP et les commandes de moniteur. Avant v2.1.207, ces entrées étaient lues. La restriction est spécifique à `pluginConfigs` : [`enabledPlugins`](/docs/fr/settings-reference#enabledplugins) honore toujours les paramètres de projet et locaux.684Les entrées dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un projet sont ignorées. Les deux fichiers vivent dans l'espace de travail, donc un référentiel cloné pourrait fournir des valeurs là, et ces valeurs s'écouleraient dans les commandes de hook de plugin, les configurations de serveur MCP, les commandes LSP et les commandes de moniteur. Avant v2.1.207, ces entrées étaient lues. La restriction est spécifique à `pluginConfigs` : [`enabledPlugins`](/docs/fr/settings-reference#enabledplugins) honore toujours les paramètres de projet et locaux.

674 685 

686<h4 id="limit-a-field-to-fixed-options">

687 Limiter un champ à des options fixes

688</h4>

689 

690Définissez `options` sur un champ `userConfig` pour que les utilisateurs choisissent sa valeur dans une liste fixe.

691 

692Pour limiter un champ `tone` à trois options, listez-les dans `options` et définissez `default` sur l'une d'elles :

693 

694```json theme={null}

695{

696 "userConfig": {

697 "tone": {

698 "type": "string",

699 "title": "Tone",

700 "description": "Voice for generated replies",

701 "options": ["neutral", "warm", "formal"],

702 "default": "neutral"

703 }

704 }

705}

706```

707 

708Si vous déclarez `options` sur n'importe quel champ, les utilisateurs sur les versions de Claude Code antérieures à v2.1.271 ne peuvent pas charger le plugin.

709 

710Lorsque vous définissez `options` sur un champ, suivez ces règles :

711 

712* Définissez `type` sur `string`

713* Ne définissez pas `multiple` ou `sensitive` sur `true`

714* Définissez `default` sur l'une des options

715* Si vous laissez `default` non défini, définissez `required` sur `true`

716* Listez au moins une option, chacune de 1 à 64 caractères de long

717* Ne commencez pas ou ne terminez pas une option par un espace

718* N'utilisez pas de caractères de contrôle, de caractères invisibles, de caractères qui changent la direction du texte, ou d'espaces autres qu'un espace régulier dans une option

719* Ne listez pas la même option deux fois, même dans une casse de lettre différente

720 

721Si vous enfreignez l'une de ces règles, le plugin ne se charge pas. Exécutez `claude plugin validate` pour voir quel champ enfreint quelle règle.

722 

675<h3 id="channels">723<h3 id="channels">

676 Canaux724 Canaux

677</h3>725</h3>


701}749}

702```750```

703 751 

704Le champ `server` est obligatoire et doit correspondre à une clé dans le `mcpServers` du plugin. Le `userConfig` optionnel par canal utilise le même schéma que le champ de niveau supérieur, permettant au plugin de demander des jetons de bot ou des ID de propriétaire lorsque le plugin est activé.752Le champ `server` est obligatoire et doit correspondre à une clé dans les `mcpServers` du plugin. Le `userConfig` optionnel par canal utilise le même schéma que le champ de niveau supérieur, permettant au plugin de demander des jetons de bot ou des ID de propriétaire lorsque le plugin est activé.

705 753 

706<h3 id="path-behavior-rules">754<h3 id="path-behavior-rules">

707 Règles de comportement des chemins755 Règles de comportement des chemins


710Si un chemin personnalisé remplace ou étend le répertoire par défaut du plugin dépend du champ :758Si un chemin personnalisé remplace ou étend le répertoire par défaut du plugin dépend du champ :

711 759 

712* **Remplace le défaut** : `commands`, `agents`, `workflows`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Par exemple, lorsque le manifeste spécifie `commands`, le répertoire par défaut `commands/` n'est pas analysé. Pour conserver le défaut et en ajouter plus, listez-le explicitement : `"commands": ["./commands/", "./extras/"]`760* **Remplace le défaut** : `commands`, `agents`, `workflows`, `outputStyles`, `experimental.themes`, `experimental.monitors`. Par exemple, lorsque le manifeste spécifie `commands`, le répertoire par défaut `commands/` n'est pas analysé. Pour conserver le défaut et en ajouter plus, listez-le explicitement : `"commands": ["./commands/", "./extras/"]`

713* **S'ajoute au défaut** : `skills`. Le répertoire par défaut `skills/` est toujours analysé, et les répertoires listés dans `skills` sont chargés à côté de lui. Exception : pour une [entrée de marketplace dont la `source` se résout à la racine de marketplace](/docs/fr/plugin-marketplaces#advanced-plugin-entries), déclarer des sous-répertoires spécifiques remplace l'analyse par défaut `skills/`761* **S'ajoute au défaut** : `skills`. Le répertoire par défaut `skills/` est toujours analysé, et les répertoires listés dans `skills` sont chargés à côté de lui. Exception : pour une [entrée marketplace dont la `source` se résout à la racine marketplace](/docs/fr/plugin-marketplaces#advanced-plugin-entries), déclarer des sous-répertoires spécifiques remplace l'analyse par défaut `skills/`

714* **Règles de fusion propres** : [hooks](#hooks), [serveurs MCP](#mcp-servers), et [serveurs LSP](#lsp-servers). Voir chaque section pour savoir comment plusieurs sources se combinent762* **Règles de fusion propres** : [hooks](#hooks), [serveurs MCP](#mcp-servers), et [serveurs LSP](#lsp-servers). Voir chaque section pour savoir comment plusieurs sources se combinent

715 763 

716Lorsqu'un plugin a à la fois un dossier par défaut et la clé de manifeste correspondante, Claude Code avertit du dossier ignoré dans `claude plugin list` et la vue de détail `/plugin`. Le plugin se charge toujours en utilisant les chemins du manifeste. Claude Code n'avertit pas lorsque la clé de manifeste pointe dans le dossier par défaut, par exemple `"commands": ["./commands/deploy.md"]`, car ce chemin nomme le dossier explicitement.764Lorsqu'un plugin a à la fois un dossier par défaut et la clé de manifeste correspondante, Claude Code avertit du dossier ignoré dans `claude plugin list` et la vue de détail `/plugin`. Le plugin se charge toujours en utilisant les chemins du manifeste. Claude Code n'avertit pas lorsque la clé de manifeste pointe dans le dossier par défaut, par exemple `"commands": ["./commands/deploy.md"]`, car ce chemin nomme le dossier explicitement.


719 767 

720* Tous les chemins doivent être relatifs à la racine du plugin et commencer par `./`, sauf que le champ `skills` accepte également `"."`768* Tous les chemins doivent être relatifs à la racine du plugin et commencer par `./`, sauf que le champ `skills` accepte également `"."`

721 * À la fois `"."` et `"./"` désignent la racine du plugin elle-même769 * À la fois `"."` et `"./"` désignent la racine du plugin elle-même

722 * Avant v2.1.221, `"."` échouait la validation du manifeste et le plugin ne se chargeait pas, donc utilisez `"./"` pour prendre en charge les versions antérieures770 * Avant v2.1.221, `"."` échouait la validation du manifeste et le plugin ne se chargeait pas, donc utilisez `"./"` pour supporter les versions antérieures

723* Les composants des chemins personnalisés utilisent les mêmes règles de nommage et d'espace de noms771* Les composants des chemins personnalisés utilisent les mêmes règles de nommage et d'espace de noms, sauf les fichiers d'agent. Voir [Agents](#agents) pour savoir comment fonctionnent les noms d'agent

724* Plusieurs chemins peuvent être spécifiés comme des tableaux772* Plusieurs chemins peuvent être spécifiés comme des tableaux

725* Un chemin de compétence peut pointer vers un répertoire qui contient directement un `SKILL.md`, par exemple `"skills": ["."]` pour la racine du plugin773* Un chemin de compétence peut pointer vers un répertoire qui contient directement un `SKILL.md`, par exemple `"skills": ["."]` pour la racine du plugin

726 * Claude Code prend le nom d'invocation de la compétence à partir du champ `name` du frontmatter dans `SKILL.md`, donc le nom reste stable quel que soit le nom du répertoire d'installation774 * Claude Code prend le nom d'invocation de la compétence à partir du champ `name` du frontmatter dans `SKILL.md`, donc le nom reste stable quel que soit le nom du répertoire d'installation


765| Serveurs MCP `http`, `sse`, `ws` | `url`, `headers`, `headersHelper` |813| Serveurs MCP `http`, `sse`, `ws` | `url`, `headers`, `headersHelper` |

766| Serveurs LSP | `command`, `args`, `env`, `workspaceFolder` |814| Serveurs LSP | `command`, `args`, `env`, `workspaceFolder` |

767 815 

768Dans les commandes de hook, utilisez la [forme exec](/docs/fr/hooks#exec-form-and-shell-form) avec `args` afin que chaque chemin soit passé comme un argument sans guillemets. Dans les hooks de forme shell et les commandes de moniteur, enveloppez les variables entre guillemets doubles, comme dans `"${CLAUDE_PROJECT_DIR}/scripts/server.sh"`. Ce hook de forme shell exécute un script fourni avec un plugin :816Dans les commandes de hook, utilisez la [forme exec](/docs/fr/hooks#exec-form-and-shell-form) avec `args` afin que chaque chemin soit passé comme un argument sans guillemets. Dans les hooks en forme shell et les commandes de moniteur, enveloppez les variables entre guillemets doubles, comme dans `"${CLAUDE_PROJECT_DIR}/scripts/server.sh"`. Ce hook en forme shell exécute un script fourni avec un plugin :

769 817 

770```json theme={null}818```json theme={null}

771{819{


784}832}

785```833```

786 834 

787Pour un plugin copié, `${CLAUDE_PLUGIN_ROOT}` change lorsque le plugin se met à jour. Le répertoire de la version précédente reste sur le disque pendant une période de grâce après une mise à jour, mais traitez-le comme éphémère et n'écrivez pas d'état là. Pour un plugin chargé en place à partir d'une marketplace de répertoire local, la variable pointe vers le répertoire source stable. Voir [mise en cache du plugin](#plugin-caching-and-file-resolution) pour les plugins qui sont copiés et pour la sémantique de nettoyage.835Pour un plugin copié, `${CLAUDE_PLUGIN_ROOT}` change lorsque le plugin se met à jour. Le répertoire de la version précédente reste sur le disque pendant une période de grâce après une mise à jour, mais traitez-le comme éphémère et n'écrivez pas d'état là. Pour un plugin chargé en place à partir d'un marketplace de répertoire local, la variable pointe vers le répertoire source stable. Voir [mise en cache du plugin](#plugin-caching-and-file-resolution) pour savoir quels plugins sont copiés et pour la sémantique de nettoyage.

788 836 

789Lorsqu'un plugin copié se met à jour en milieu de session, les commandes de hook, les moniteurs, les serveurs MCP et les serveurs LSP continuent d'utiliser le chemin de la version précédente. Exécutez `/reload-plugins` pour basculer les hooks, les serveurs MCP et les serveurs LSP vers le nouveau chemin ; les moniteurs nécessitent un redémarrage de session. Dans une session sans terminal interactif, le rechargement laisse les serveurs MCP du plugin sur l'ancien chemin jusqu'à la session suivante.837Lorsqu'un plugin copié se met à jour en milieu de session, les commandes de hook, les moniteurs, les serveurs MCP et les serveurs LSP continuent d'utiliser le chemin de la version précédente. Exécutez `/reload-plugins` pour basculer les hooks, les serveurs MCP et les serveurs LSP vers le nouveau chemin ; les moniteurs nécessitent un redémarrage de session. Dans une session sans terminal interactif, le rechargement laisse les serveurs MCP du plugin sur l'ancien chemin jusqu'à la session suivante.

790 838 

791Pour un plugin avec une source `command`, Claude Code [peut recharger le plugin lui-même](/docs/fr/plugin-marketplaces#when-claude-code-re-runs-the-command).839Pour un plugin avec une `command` source, Claude Code [peut recharger le plugin lui-même](/docs/fr/plugin-marketplaces#when-claude-code-re-runs-the-command).

792 840 

793Les serveurs MCP peuvent également appeler la demande `roots/list` pour lire les répertoires de travail de la session au moment de l'exécution. Voir [ce que `roots/list` retourne et quand Claude Code notifie le serveur des changements](/docs/fr/mcp#option-3-add-a-local-stdio-server).841Les serveurs MCP peuvent également appeler la demande `roots/list` pour lire les répertoires de travail de la session au moment de l'exécution. Voir [ce que `roots/list` retourne et quand Claude Code notifie le serveur des changements](/docs/fr/mcp#option-3-add-a-local-stdio-server).

794 842 


798 846 

799Le répertoire `${CLAUDE_PLUGIN_DATA}` se résout à `~/.claude/plugins/data/{id}/`, où `{id}` est l'identifiant du plugin avec les caractères en dehors de `a-z`, `A-Z`, `0-9`, `_`, et `-` remplacés par `-`. Pour un plugin installé comme `formatter@my-marketplace`, le répertoire est `~/.claude/plugins/data/formatter-my-marketplace/`.847Le répertoire `${CLAUDE_PLUGIN_DATA}` se résout à `~/.claude/plugins/data/{id}/`, où `{id}` est l'identifiant du plugin avec les caractères en dehors de `a-z`, `A-Z`, `0-9`, `_`, et `-` remplacés par `-`. Pour un plugin installé comme `formatter@my-marketplace`, le répertoire est `~/.claude/plugins/data/formatter-my-marketplace/`.

800 848 

801Un usage courant est d'installer les dépendances de langage une fois et de les réutiliser à travers les sessions et les mises à jour du plugin. Utilisez-le pour les dépendances Python, les dépendances verrouillées avec Yarn ou pnpm, et les packages dont les scripts de cycle de vie doivent s'exécuter. Pour un plugin installé depuis une marketplace, vous n'en aurez peut-être pas besoin du tout : Claude Code installe automatiquement les [dépendances de package Node.js éligibles](#node-js-package-dependencies) lorsqu'il met en cache le plugin.849Un usage courant est d'installer les dépendances de langage une fois et de les réutiliser à travers les sessions et les mises à jour de plugins. Utilisez-le pour les dépendances Python, les dépendances verrouillées avec Yarn ou pnpm, et les packages dont les scripts de cycle de vie doivent s'exécuter. Pour un plugin installé depuis le marketplace, vous n'en aurez peut-être pas besoin du tout : Claude Code installe automatiquement les [dépendances de package Node.js éligibles](#node-js-package-dependencies) lorsqu'il met en cache le plugin.

802 850 

803Parce que le répertoire de données survit à n'importe quelle version de plugin unique, une vérification de l'existence du répertoire seule ne peut pas détecter lorsqu'une mise à jour change le manifeste de dépendance du plugin. Le modèle recommandé compare le manifeste fourni par rapport à une copie dans le répertoire de données et réinstalle lorsqu'ils diffèrent.851Parce que le répertoire de données survit à n'importe quelle version de plugin unique, une vérification de l'existence du répertoire seule ne peut pas détecter lorsqu'une mise à jour change le manifeste de dépendance du plugin. Le modèle recommandé compare le manifeste fourni par rapport à une copie dans le répertoire de données et réinstalle lorsqu'ils diffèrent.

804 852 

805Ce hook `SessionStart` installe `node_modules` à la première exécution et à nouveau chaque fois qu'une mise à jour du plugin inclut un `package.json` modifié :853Ce hook `SessionStart` installe `node_modules` à la première exécution et à nouveau chaque fois qu'une mise à jour de plugin inclut un `package.json` modifié :

806 854 

807```json theme={null}855```json theme={null}

808{856{


821}869}

822```870```

823 871 

824Le `diff` sort avec un code non-zéro lorsque la copie stockée est manquante ou diffère de celle fournie, couvrant à la fois la première exécution et les mises à jour changeant les dépendances. Si `npm install` échoue, le `rm` final supprime le manifeste copié afin que la session suivante réessaye.872Le `diff` sort nonzero lorsque la copie stockée est manquante ou diffère de celle fournie, couvrant à la fois la première exécution et les mises à jour changeant les dépendances. Si `npm install` échoue, le `rm` final supprime le manifeste copié afin que la session suivante réessaye.

825 873 

826Les scripts fournis dans `${CLAUDE_PLUGIN_ROOT}` peuvent ensuite s'exécuter contre le `node_modules` persistant :874Les scripts fournis dans `${CLAUDE_PLUGIN_ROOT}` peuvent ensuite s'exécuter contre les `node_modules` persistants :

827 875 

828```json theme={null}876```json theme={null}

829{877{


839}887}

840```888```

841 889 

842Le répertoire de données est supprimé automatiquement lorsque vous désinstallez le plugin de la dernière portée où il est installé. L'interface `/plugin` affiche la taille du répertoire et demande une confirmation avant de supprimer. Le CLI supprime par défaut ; passez [`--keep-data`](#plugin-uninstall) pour le conserver.890Le répertoire de données est supprimé automatiquement lorsque vous désinstallez le plugin de la dernière portée où il est installé. L'interface `/plugin` affiche la taille du répertoire et demande avant de supprimer. Le CLI supprime par défaut ; passez [`--keep-data`](#plugin-uninstall) pour le conserver.

843 891 

844***892***

845 893 


956├── agents/ # Définitions de sous-agents1004├── agents/ # Définitions de sous-agents

957│ ├── security-reviewer.md1005│ ├── security-reviewer.md

958│ ├── performance-tester.md1006│ ├── performance-tester.md

959│ └── compliance-checker.md1007│ ├── compliance-checker.md

1008│ └── review/ # Les agents ici se chargent en tant que enterprise-plugin:review:<name>

1009│ └── accessibility.md

960├── workflows/ # Scripts de flux de travail1010├── workflows/ # Scripts de flux de travail

961│ └── release-audit.js1011│ └── release-audit.js

962├── output-styles/ # Définitions de style de sortie1012├── output-styles/ # Définitions de style de sortie


996| **Manifeste** | `.claude-plugin/plugin.json` | Métadonnées et configuration du plugin (optionnel) |1046| **Manifeste** | `.claude-plugin/plugin.json` | Métadonnées et configuration du plugin (optionnel) |

997| **Skills** | `skills/` | Skills avec la structure `<name>/SKILL.md` |1047| **Skills** | `skills/` | Skills avec la structure `<name>/SKILL.md` |

998| **Commandes** | `commands/` | Skills en tant que fichiers Markdown plats. Utilisez `skills/` pour les nouveaux plugins |1048| **Commandes** | `commands/` | Skills en tant que fichiers Markdown plats. Utilisez `skills/` pour les nouveaux plugins |

999| **Agents** | `agents/` | Fichiers Markdown de sous-agents |1049| **Agents** | `agents/` | Fichiers Markdown de sous-agents. Les sous-dossiers font partie du [nom de l'agent](#agents) |

1000| **Flux de travail** | `workflows/` | Fichiers de script de [flux de travail](/docs/fr/workflows) |1050| **Flux de travail** | `workflows/` | Fichiers de script de [flux de travail](/docs/fr/workflows) |

1001| **Styles de sortie** | `output-styles/` | Définitions de style de sortie |1051| **Styles de sortie** | `output-styles/` | Définitions de style de sortie |

1002| **Thèmes** | `themes/` | Définitions de thème de couleur |1052| **Thèmes** | `themes/` | Définitions de thème de couleur |

Details

96 96 

97Le [paramètre de modèle `opusplan`](/docs/fr/model-config#opusplan-model-setting) se résout en Opus pendant le mode plan et en Sonnet pendant l'exécution, donc chaque basculement du mode plan est un changement de modèle et démarre un nouveau cache.97Le [paramètre de modèle `opusplan`](/docs/fr/model-config#opusplan-model-setting) se résout en Opus pendant le mode plan et en Sonnet pendant l'exécution, donc chaque basculement du mode plan est un changement de modèle et démarre un nouveau cache.

98 98 

99[Le basculement automatique du modèle](/docs/fr/model-config#automatic-model-fallback) sur les modèles Fable et Opus 5 est également un changement de modèle. Lorsqu'un classificateur de sécurité signale une requête dans une catégorie qui a un modèle de secours, Claude Code réexécute la requête sur ce modèle et la session continue là.99[Le basculement automatique du modèle](/docs/fr/model-config#automatic-model-fallback) sur les modèles Fable, Opus 5.5 et Opus 5 est également un changement de modèle. Lorsqu'un classificateur de sécurité signale une requête dans une catégorie qui a un modèle de secours, Claude Code réexécute la requête sur ce modèle et la session continue là.

100 100 

101Lorsque le frontmatter d'une skill ou d'une commande nomme un [`model`](/docs/fr/skills#frontmatter-reference) autre que le modèle actuel de la session, ce tour est également un changement de modèle : la prochaine requête lit l'intégralité de l'historique de conversation sans aucun cache hit. Le modèle de session reprend à votre prochaine invite. Une skill `context: fork` définit le [modèle du sous-agent forké](/docs/fr/skills#run-skills-in-a-subagent) à la place.101Lorsque le frontmatter d'une skill ou d'une commande nomme un [`model`](/docs/fr/skills#frontmatter-reference) autre que le modèle actuel de la session, ce tour est également un changement de modèle : la prochaine requête lit l'intégralité de l'historique de conversation sans aucun cache hit. Le modèle de session reprend à votre prochaine invite. Une skill `context: fork` définit le [modèle du sous-agent forké](/docs/fr/skills#run-skills-in-a-subagent) à la place.

102 102 

Details

1384* [Comment les équipes Anthropic utilisent Claude Code](https://claude.com/blog/how-anthropic-teams-use-claude-code) : flux de travail réels des équipes d'ingénierie, de produit, de conception et de données, avec des approfondissements sur [juridique](https://claude.com/blog/how-anthropic-uses-claude-legal), [marketing](https://claude.com/blog/how-anthropic-uses-claude-marketing), et [cybersécurité](https://claude.com/blog/how-anthropic-uses-claude-cybersecurity)1384* [Comment les équipes Anthropic utilisent Claude Code](https://claude.com/blog/how-anthropic-teams-use-claude-code) : flux de travail réels des équipes d'ingénierie, de produit, de conception et de données, avec des approfondissements sur [juridique](https://claude.com/blog/how-anthropic-uses-claude-legal), [marketing](https://claude.com/blog/how-anthropic-uses-claude-marketing), et [cybersécurité](https://claude.com/blog/how-anthropic-uses-claude-cybersecurity)

1385* [Guide de codage agentique à l'échelle](https://resources.anthropic.com/hubfs/Scaling%20agentic%20coding%20across%20your%20organization.pdf) : le guide d'adoption en entreprise1385* [Guide de codage agentique à l'échelle](https://resources.anthropic.com/hubfs/Scaling%20agentic%20coding%20across%20your%20organization.pdf) : le guide d'adoption en entreprise

1386 1386 

1387Pour des présentations vidéo de ces modèles, voir le cours gratuit [Claude Code in Action](https://anthropic.skilljar.com/claude-code-in-action) sur Anthropic Academy.1387Pour des présentations vidéo de ces modèles, voir le cours gratuit [Claude Code in Action](https://academy.claude.com/courses/claude-code-in-action) sur [Claude Academy](https://academy.claude.com/).

1388 1388 

1389<h2 id="related-resources">1389<h2 id="related-resources">

1390 Ressources connexes1390 Ressources connexes

quickstart.md +1 −0

Details

379 379 

380* **Dans Claude Code** : Tapez `/help` ou demandez « comment faire... »380* **Dans Claude Code** : Tapez `/help` ou demandez « comment faire... »

381* **Documentation** : Vous êtes ici ! Parcourez les autres guides381* **Documentation** : Vous êtes ici ! Parcourez les autres guides

382* **Cours** : Suivez [Claude Code 101](https://academy.claude.com/courses/claude-code-101) et d'autres cours gratuits à votre rythme sur [Claude Academy](https://academy.claude.com/)

382* **Communauté** : Rejoignez notre [Discord](https://www.anthropic.com/discord) pour des conseils et du support383* **Communauté** : Rejoignez notre [Discord](https://www.anthropic.com/discord) pour des conseils et du support

Details

187* **Tirer une session avec `/teleport`** : lorsque vous tirez une [session Claude Code sur le web](/docs/fr/claude-code-on-the-web) dans votre terminal avec `/teleport`, l'appareil connecté ne reçoit pas l'historique antérieur de la conversation tirée. Les nouveaux messages dans les deux sens vont vers et depuis la conversation tirée, qui est maintenant celle ouverte dans votre terminal.187* **Tirer une session avec `/teleport`** : lorsque vous tirez une [session Claude Code sur le web](/docs/fr/claude-code-on-the-web) dans votre terminal avec `/teleport`, l'appareil connecté ne reçoit pas l'historique antérieur de la conversation tirée. Les nouveaux messages dans les deux sens vont vers et depuis la conversation tirée, qui est maintenant celle ouverte dans votre terminal.

188* **Messages de vos autres sessions** : avec la [messagerie entre sessions](/docs/fr/cross-session-messaging), la même connexion porte les messages entre vos propres sessions sur différentes machines et depuis vos sessions [Claude Code sur le web](/docs/fr/claude-code-on-the-web), via les serveurs Anthropic comme le reste du trafic Remote Control. [Envoyer des messages aux sessions sur d'autres machines](/docs/fr/cross-session-messaging#message-sessions-on-other-machines) couvre les règles de livraison et [Contrôler les messages entrants](/docs/fr/cross-session-messaging#control-inbound-messages) couvre les contrôles entrants. Nécessite Claude Code v2.1.224 ou version ultérieure.188* **Messages de vos autres sessions** : avec la [messagerie entre sessions](/docs/fr/cross-session-messaging), la même connexion porte les messages entre vos propres sessions sur différentes machines et depuis vos sessions [Claude Code sur le web](/docs/fr/claude-code-on-the-web), via les serveurs Anthropic comme le reste du trafic Remote Control. [Envoyer des messages aux sessions sur d'autres machines](/docs/fr/cross-session-messaging#message-sessions-on-other-machines) couvre les règles de livraison et [Contrôler les messages entrants](/docs/fr/cross-session-messaging#control-inbound-messages) couvre les contrôles entrants. Nécessite Claude Code v2.1.224 ou version ultérieure.

189* **Messages que vous envoyez en milieu de tour** : lorsque vous envoyez un message depuis un appareil connecté avant la fin du tour actuel, Claude Code le met en file d'attente et le conserve dans la transcription de l'appareil après la fin de ce tour.189* **Messages que vous envoyez en milieu de tour** : lorsque vous envoyez un message depuis un appareil connecté avant la fin du tour actuel, Claude Code le met en file d'attente et le conserve dans la transcription de l'appareil après la fin de ce tour.

190* **Diff de vos modifications** : lorsque le répertoire de la session se trouve dans un référentiel git, le volet diff d'un appareil connecté affiche le diff de vos modifications non validées. L'appareil demande le diff sur la connexion, et Claude Code le calcule sur votre machine. Lorsque votre arborescence de travail est propre, Claude Code sert plutôt les modifications de votre branche depuis qu'elle a divergé de la branche par défaut. Avant v2.1.247, Claude Code signalait le diff aux appareils connectés uniquement dans les sessions servies par `claude remote-control`.190* **Diff de vos modifications** : lorsque le répertoire de la session se trouve dans un référentiel git, le volet diff d'un appareil connecté affiche vos modifications. L'appareil demande le diff sur la connexion, et Claude Code le calcule sur votre machine. Sur une branche qui a des commits en avance sur la branche par défaut du référentiel, le volet affiche les modifications depuis que la branche s'en est séparée, y compris vos modifications non validées. Sur la branche par défaut elle-même, ou sur une branche qui n'est pas en avance sur elle, le volet affiche uniquement vos modifications non validées. Avant v2.1.247, Claude Code signalait le diff aux appareils connectés uniquement dans les sessions servies par `claude remote-control`.

191* **Modèle** : lorsque vous choisissez un [modèle](/docs/fr/model-config) depuis un appareil connecté, Claude Code exécute la session sur ce modèle. Le sélecteur `/model` du terminal, `/status` et `/config` affichent ce modèle. Nécessite Claude Code v2.1.238 ou version ultérieure.191* **Modèle** : lorsque vous choisissez un [modèle](/docs/fr/model-config) depuis un appareil connecté, Claude Code exécute la session sur ce modèle. Le sélecteur `/model` du terminal, `/status` et `/config` affichent ce modèle. Nécessite Claude Code v2.1.238 ou version ultérieure.

192 * Un modèle que vous choisissez depuis le contrôle de modèle de l'appareil s'applique uniquement à la session actuelle. Lorsque vous envoyez `/model <name>` depuis l'appareil à une session interactive, Claude Code définit également votre défaut pour les nouvelles sessions.192 * Un modèle que vous choisissez depuis le contrôle de modèle de l'appareil s'applique uniquement à la session actuelle. Lorsque vous envoyez `/model <name>` depuis l'appareil à une session interactive, Claude Code définit également votre défaut pour les nouvelles sessions.

193 * Si vous envoyez un nom que Claude Code ne reconnaît pas, comme un nom d'affichage où un ID de modèle est attendu, Claude Code [refuse le choix](/docs/fr/errors#model-is-not-a-recognized-model-id) et la session conserve son modèle actuel. Avant v2.1.260, Claude Code enregistrait un choix non reconnu depuis le contrôle de modèle de l'appareil, et votre prochain message échouait.193 * Si vous envoyez un nom que Claude Code ne reconnaît pas, comme un nom d'affichage où un ID de modèle est attendu, Claude Code [refuse le choix](/docs/fr/errors#model-is-not-a-recognized-model-id) et la session conserve son modèle actuel. Avant v2.1.260, Claude Code enregistrait un choix non reconnu depuis le contrôle de modèle de l'appareil, et votre prochain message échouait.

sandboxing.md +12 −6

Details

179 Répertoires temporaires179 Répertoires temporaires

180</h4>180</h4>

181 181 

182Le répertoire temporaire de la session est inscriptible à l'intérieur du sandbox par défaut, aux côtés du répertoire de travail. À moins que vous [désactiviez l'isolation du système de fichiers](#disable-filesystem-isolation), Claude Code définit `$TMPDIR` sur ce répertoire pour les commandes sandboxées, de sorte que les outils qui écrivent des fichiers temporaires fonctionnent sans configuration supplémentaire. Les commandes non sandboxées héritent de votre `$TMPDIR` shell inchangé, donc pendant que l'isolation du système de fichiers est activée, les commandes sandboxées et non sandboxées résolvent `$TMPDIR` à des répertoires différents. Pour transmettre des fichiers temporaires entre les deux, écrivez-les plutôt sous le répertoire de travail.182Le répertoire temporaire de la session est inscriptible à l'intérieur du sandbox par défaut, aux côtés du répertoire de travail. À moins que vous [désactiviez l'isolation du système de fichiers](#disable-filesystem-isolation), Claude Code définit `$TMPDIR` sur ce répertoire pour les commandes sandboxées, de sorte que les outils qui écrivent des fichiers temporaires fonctionnent sans configuration supplémentaire.

183 

184Les commandes non sandboxées héritent de votre `$TMPDIR` shell lorsqu'il est défini, donc pendant que l'isolation du système de fichiers est activée, les commandes sandboxées et non sandboxées résolvent `$TMPDIR` à des répertoires différents. Si votre shell laisse `$TMPDIR` indéfini ou vide, une commande non sandboxée qui référence `$TMPDIR` reçoit votre remplacement [`CLAUDE_CODE_TMPDIR`](/docs/fr/env-vars) ou le répertoire temporaire du système d'exploitation lorsque vous n'en avez pas défini un ou que le remplacement est un chemin long, de sorte que la variable ne se développe pas en une chaîne vide. Pour transmettre des fichiers temporaires entre les deux, écrivez-les plutôt sous le répertoire de travail.

183 185 

184<h2 id="configure-sandboxing">186<h2 id="configure-sandboxing">

185 Configurer le sandboxing187 Configurer le sandboxing


309 311 

310* Les commandes sandboxées héritent du `$TMPDIR` de votre shell au lieu du répertoire temporaire de la session, car chaque répertoire temporaire est inscriptible et Claude Code ne redirige plus les commandes vers celui de la session.312* Les commandes sandboxées héritent du `$TMPDIR` de votre shell au lieu du répertoire temporaire de la session, car chaque répertoire temporaire est inscriptible et Claude Code ne redirige plus les commandes vers celui de la session.

311 313 

312 Sur Linux, la variable est souvent non définie dans le shell parent, donc elle peut se développer vide à l'intérieur des commandes sandboxées ; Claude Code indique à Claude via ses conseils d'outil Bash de créer des répertoires de travail avec `mktemp -d` au lieu de compter sur `$TMPDIR`.314 Sur Linux, la variable est souvent non définie dans le shell parent. Le guide de l'outil Bash indique à Claude de créer des répertoires de travail avec `mktemp -d` au lieu de compter sur `$TMPDIR`.

313* [`autoAllowBashIfSandboxed`](/docs/fr/settings-reference#sandbox-autoallowbashifsandboxed) continue de défaut à `true`, donc les commandes sandboxées continuent de s'exécuter sans invites. Définissez-le à `false` pour inviter les commandes sandboxées.315* [`autoAllowBashIfSandboxed`](/docs/fr/settings-reference#sandbox-autoallowbashifsandboxed) continue de défaut à `true`, donc les commandes sandboxées continuent de s'exécuter sans invites. Définissez-le à `false` pour inviter les commandes sandboxées.

314 316 

315<h3 id="protect-credentials">317<h3 id="protect-credentials">


743 745 

744* **Les commandes échouent avec une erreur host-not-allowed** : de nombreux outils CLI doivent atteindre des hôtes spécifiques. Accorder la permission lorsque vous y êtes invité ajoute l'hôte à votre liste autorisée pour que l'outil s'exécute à l'intérieur du sandbox à l'avenir.746* **Les commandes échouent avec une erreur host-not-allowed** : de nombreux outils CLI doivent atteindre des hôtes spécifiques. Accorder la permission lorsque vous y êtes invité ajoute l'hôte à votre liste autorisée pour que l'outil s'exécute à l'intérieur du sandbox à l'avenir.

745* **`jest` se bloque ou échoue** : `watchman` est incompatible avec le sandbox. Exécutez `jest --no-watchman` à la place.747* **`jest` se bloque ou échoue** : `watchman` est incompatible avec le sandbox. Exécutez `jest --no-watchman` à la place.

746* **Les CLI basés sur Go échouent la vérification TLS sur macOS** : les outils tels que `gh`, `gcloud` et `terraform` peuvent échouer la vérification TLS sous Seatbelt. Listez ces outils dans `excludedCommands` pour les exécuter en dehors du sandbox. Si vous utilisez `httpProxyPort` avec un proxy MITM et une CA personnalisée, définissez [`enableWeakerNetworkIsolation`](/docs/fr/settings-reference#sandbox-enableweakernetworkisolation) sur `true` à la place.748* **Les CLI basés sur Go échouent la vérification TLS sur macOS** : les outils tels que `gh`, `gcloud` et `terraform` peuvent échouer la vérification TLS sous Seatbelt. Listez ces outils dans [`excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands). Si vous utilisez `httpProxyPort` avec un proxy MITM et une CA personnalisée, définissez [`enableWeakerNetworkIsolation`](/docs/fr/settings-reference#sandbox-enableweakernetworkisolation) sur `true` à la place.

747* **Les commandes `open`, `osascript` ou les flux d'authentification basés sur un navigateur échouent avec l'erreur `-600` sur macOS** : le sandbox bloque les Apple Events par défaut. Définissez [`allowAppleEvents`](/docs/fr/settings-reference#sandbox-allowappleevents) sur `true` dans vos paramètres utilisateur, gérés ou CLI pour les autoriser. Les paramètres du projet sont ignorés pour cette clé. L'activation supprime l'isolation de l'exécution du code, car les commandes sandboxées peuvent alors lancer d'autres applications non sandboxées sans invite utilisateur et envoyer des commandes AppleScript aux applications en cours d'exécution, sous réserve de l'invite de consentement à l'automatisation macOS (TCC). Vous pouvez également ajouter la commande à `excludedCommands` pour l'exécuter en dehors du sandbox.749* **Les commandes `open`, `osascript` ou les flux d'authentification basés sur un navigateur échouent avec l'erreur `-600` sur macOS** : le sandbox bloque les Apple Events par défaut. Définissez [`allowAppleEvents`](/docs/fr/settings-reference#sandbox-allowappleevents) sur `true` dans vos paramètres utilisateur, gérés ou CLI pour les autoriser. Les paramètres du projet sont ignorés pour cette clé. L'activation supprime l'isolation de l'exécution du code, car les commandes sandboxées peuvent alors lancer d'autres applications non sandboxées sans invite utilisateur et envoyer des commandes AppleScript aux applications en cours d'exécution, sous réserve de l'invite de consentement à l'automatisation macOS (TCC). Vous pouvez également ajouter la commande à [`excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands).

748* **Les commandes `docker` échouent** : `docker` est incompatible avec le sandbox. Ajoutez `docker *` à `excludedCommands` pour l'exécuter en dehors du sandbox.750* **Les commandes `docker` échouent** : `docker` est incompatible avec le sandbox. Ajoutez `docker *` à [`excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands).

749* **`pbcopy`, `xclip` ou `wl-copy` ne met pas à jour le presse-papiers** : ces utilitaires de presse-papiers peuvent échouer à atteindre le presse-papiers système de l'intérieur du sandbox, auquel cas le texte qui leur est envoyé par pipe n'arrive pas. Pour mettre la sortie de Claude sur votre presse-papiers, demandez à Claude de l'imprimer dans sa réponse, puis exécutez [`/copy`](/docs/fr/commands), qui écrit dans le presse-papiers à partir du processus Claude Code plutôt qu'à partir d'une commande sandboxée. Vous pouvez également ajouter `pbcopy *`, `wl-copy *` ou `xclip *` à `excludedCommands` pour exécuter la commande en dehors du sandbox.751* **`pbcopy`, `xclip` ou `wl-copy` ne met pas à jour le presse-papiers** : ces utilitaires de presse-papiers peuvent échouer à atteindre le presse-papiers système de l'intérieur du sandbox, auquel cas le texte qui leur est envoyé par pipe n'arrive pas.

752 

753 Pour mettre la sortie de Claude sur votre presse-papiers, demandez à Claude de l'imprimer dans sa réponse, puis exécutez [`/copy`](/docs/fr/commands). `/copy` écrit dans le presse-papiers à partir du processus Claude Code plutôt qu'à partir d'une commande sandboxée.

754 

755 Lorsque Claude envoie du texte par pipe à l'un de ces outils, ajouter l'outil à [`excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands) ne retire pas cet appel du sandbox en soi.

750* **Une commande git échoue avec `unable to unlink old`** : `git merge`, `git checkout` et les commandes similaires échouent de cette façon lorsqu'elles doivent remplacer un fichier auquel le sandbox refuse les écritures, que ce fichier soit sous un [chemin protégé](#protected-paths) tel que `.claude/skills`, sous l'une de vos entrées `denyWrite` ou en dehors des répertoires dans lesquels le sandbox permet aux commandes d'écrire. Sur Linux et WSL2, l'erreur se termine par `Read-only file system`.756* **Une commande git échoue avec `unable to unlink old`** : `git merge`, `git checkout` et les commandes similaires échouent de cette façon lorsqu'elles doivent remplacer un fichier auquel le sandbox refuse les écritures, que ce fichier soit sous un [chemin protégé](#protected-paths) tel que `.claude/skills`, sous l'une de vos entrées `denyWrite` ou en dehors des répertoires dans lesquels le sandbox permet aux commandes d'écrire. Sur Linux et WSL2, l'erreur se termine par `Read-only file system`.

751 757 

752 Après l'échec, Claude peut [proposer de réexécuter la commande en dehors du sandbox](#the-unsandboxed-retry-escape-hatch) ; approuvez cette nouvelle tentative ou exécutez la commande git vous-même dans un autre terminal. Si vous avez défini `allowUnsandboxedCommands` sur `false`, Claude ne peut pas proposer la nouvelle tentative, alors exécutez la commande vous-même. Si la même commande git échoue souvent, ajoutez-la à [`excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands).758 Après l'échec, Claude peut [proposer de réexécuter la commande en dehors du sandbox](#the-unsandboxed-retry-escape-hatch) ; approuvez cette nouvelle tentative ou exécutez la commande git vous-même dans un autre terminal. Si vous avez défini `allowUnsandboxedCommands` sur `false`, Claude ne peut pas proposer la nouvelle tentative, alors exécutez la commande vous-même. Si la même commande git échoue souvent, ajoutez-la à [`excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands).

Details

31/plugin install security-guidance@claude-plugins-official31/plugin install security-guidance@claude-plugins-official

32```32```

33 33 

34`/plugin` ouvre un panneau interactif et n'est disponible que dans le CLI terminal. Si Claude signale que `/plugin` n'est pas disponible dans cet environnement, installez d'une autre manière :34`/plugin` ouvre un panneau interactif dans le CLI terminal. Si Claude signale que `/plugin` n'est pas disponible dans cet environnement, installez d'une autre manière :

35 35 

36* **Application Claude desktop, session locale ou SSH** : ouvrez le [navigateur de plugins](/docs/fr/desktop#install-plugins) en cliquant sur le bouton **+** à côté de l'invite, puis **Plugins**, puis **Ajouter un plugin**36* **Application Claude desktop, session locale ou SSH** : ouvrez le [navigateur de plugins](/docs/fr/desktop#install-plugins) en cliquant sur le bouton **+** à côté de l'invite, puis **Plugins**, puis **Ajouter un plugin**

37* **Sessions cloud** : déclarez le plugin dans `.claude/settings.json` comme indiqué sous [Activer dans les sessions cloud](#enable-in-cloud-sessions-and-shared-repositories)37* **Extension VS Code** : installez à partir du [dialogue **Gérer les plugins**](/docs/fr/vs-code#manage-plugins)

38* **Sessions cloud** : activez le plugin pour votre compte claude.ai afin que Claude Code le charge en tant que [plugin synchronisé](/docs/fr/plugins-reference#synced-plugins). Une session cloud ne charge pas les plugins à partir de vos paramètres utilisateur ou du fichier `.claude/settings.json` du référentiel, comme l'explique [Ce qui est transféré de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup)

38 39 

39L'installation en terminal demande une portée. Choisissez la portée utilisateur pour écrire le plugin dans vos paramètres utilisateur, de sorte qu'il se charge dans chaque nouvelle session locale que vous démarrez sur cette machine.40L'installation en terminal demande une portée. Choisissez la portée utilisateur pour écrire le plugin dans vos paramètres utilisateur, de sorte qu'il se charge dans chaque nouvelle session locale que vous démarrez sur cette machine.

40 41 


45 46 

46Vérifiez le résumé d'installation. S'il signale `Run /reload-plugins to activate.`, consultez [Appliquer les modifications de plugin sans redémarrer](/docs/fr/discover-plugins#apply-plugin-changes-without-restarting) pour activer le plugin dans votre session actuelle.47Vérifiez le résumé d'installation. S'il signale `Run /reload-plugins to activate.`, consultez [Appliquer les modifications de plugin sans redémarrer](/docs/fr/discover-plugins#apply-plugin-changes-without-restarting) pour activer le plugin dans votre session actuelle.

47 48 

48<h3 id="enable-in-cloud-sessions-and-shared-repositories">49<h3 id="enable-for-your-team-in-local-sessions">

49 Activer dans les sessions cloud et les référentiels partagés50 Activer pour votre équipe dans les sessions locales

50</h3>51</h3>

51 52 

52Les plugins à portée utilisateur ne sont pas transférés vers [les sessions cloud](/docs/fr/claude-code-on-the-web), car ces sessions ne s'exécutent pas sur votre machine. Pour activer le plugin là-bas, ou pour l'activer pour tous ceux qui clonent un référentiel, déclarez-le dans les paramètres vérifiés du projet :53Pour activer le plugin dans les sessions locales que vos coéquipiers démarrent dans le référentiel, déclarez-le dans les paramètres vérifiés du projet :

53 54 

54```json .claude/settings.json theme={null}55```json .claude/settings.json theme={null}

55{56{

Details

184 184 

185Le proxy nécessite `--capacity 1` car l'URL du proxy est par session, et git 2.32 ou plus récent car les anciennes versions de git ignorent le mécanisme de configuration que le proxy utilise pour isoler les sessions les unes des autres. Le runner refuse de démarrer si l'une ou l'autre exigence n'est pas satisfaite. Parce que le proxy récupère du côté d'Anthropic, votre hôte git doit être accessible depuis l'infrastructure Anthropic, la même exigence que les sessions hébergées par Anthropic ont ; pour un hôte git qui n'est routable que dans votre réseau, utilisez un [hook de cycle de vie `checkout`](/docs/fr/self-hosted-environments-configuration#checkout) à la place. Chaque processus runner gère une session à la fois, donc exécutez plus de répliques pour le parallélisme. Quand le proxy est activé, `--git-host-rewrite` et `--git-ssh-rewrite` n'ont aucun effet : l'URL du proxy pointe vers `api.anthropic.com`, pas votre hôte git.185Le proxy nécessite `--capacity 1` car l'URL du proxy est par session, et git 2.32 ou plus récent car les anciennes versions de git ignorent le mécanisme de configuration que le proxy utilise pour isoler les sessions les unes des autres. Le runner refuse de démarrer si l'une ou l'autre exigence n'est pas satisfaite. Parce que le proxy récupère du côté d'Anthropic, votre hôte git doit être accessible depuis l'infrastructure Anthropic, la même exigence que les sessions hébergées par Anthropic ont ; pour un hôte git qui n'est routable que dans votre réseau, utilisez un [hook de cycle de vie `checkout`](/docs/fr/self-hosted-environments-configuration#checkout) à la place. Chaque processus runner gère une session à la fois, donc exécutez plus de répliques pour le parallélisme. Quand le proxy est activé, `--git-host-rewrite` et `--git-ssh-rewrite` n'ont aucun effet : l'URL du proxy pointe vers `api.anthropic.com`, pas votre hôte git.

186 186 

187Le runner signale également l'adhésion à Anthropic quand il s'enregistre, affichant `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` au démarrage. Chaque session sur un runner ayant adhéré utilise ensuite soit git géré par Anthropic, soit l'URL du proxy par session. Quand une session utilise l'URL du proxy par session, le runner enregistre une ligne `[runner:warn]` indiquant cela.187Le runner signale également l'adhésion à Anthropic quand il s'enregistre, affichant `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` au démarrage. Signaler l'adhésion nécessite Claude Code v2.1.267 ou plus récent, et les versions antérieures acceptent le drapeau sans le signaler ou afficher cette ligne. Chaque session sur un runner ayant adhéré utilise ensuite soit git géré par Anthropic, soit l'URL du proxy par session. Quand une session utilise l'URL du proxy par session, le runner enregistre une ligne `[runner:warn]` indiquant cela.

188 188 

189<h3 id="rewrite-git-urls-for-private-networks">189<h3 id="rewrite-git-urls-for-private-networks">

190 Réécrire les URL git pour les réseaux privés190 Réécrire les URL git pour les réseaux privés


223Échangez `linux-x64` pour `linux-arm64` si vos nœuds sont ARM, ou pour `linux-x64-musl` ou `linux-arm64-musl` sur une image basée sur musl comme Alpine ; consultez [Configuration Alpine Linux](/docs/fr/setup#alpine-linux-and-musl-based-distributions) pour les paquets supplémentaires dont les images musl ont besoin. L'URL est l'emplacement de version standard de Claude Code, donc vous pouvez vérifier le binaire téléchargé par rapport au manifeste signé de la version comme décrit dans [Intégrité binaire et signature de code](/docs/fr/setup#binary-integrity-and-code-signing). Construisez l'image avec Claude Code version 2.1.224 ou plus récent, puis poussez-la vers votre registre et référencez-la dans les recettes ci-dessous :223Échangez `linux-x64` pour `linux-arm64` si vos nœuds sont ARM, ou pour `linux-x64-musl` ou `linux-arm64-musl` sur une image basée sur musl comme Alpine ; consultez [Configuration Alpine Linux](/docs/fr/setup#alpine-linux-and-musl-based-distributions) pour les paquets supplémentaires dont les images musl ont besoin. L'URL est l'emplacement de version standard de Claude Code, donc vous pouvez vérifier le binaire téléchargé par rapport au manifeste signé de la version comme décrit dans [Intégrité binaire et signature de code](/docs/fr/setup#binary-integrity-and-code-signing). Construisez l'image avec Claude Code version 2.1.224 ou plus récent, puis poussez-la vers votre registre et référencez-la dans les recettes ci-dessous :

224 224 

225```bash theme={null}225```bash theme={null}

226docker build --build-arg CLAUDE_CODE_VERSION=2.1.224 -t <your-registry>/claude-runner:latest .226docker build --build-arg CLAUDE_CODE_VERSION=2.1.267 -t <your-registry>/claude-runner:latest .

227```227```

228 228 

229<h2 id="size-cpu-and-memory-for-sessions">229<h2 id="size-cpu-and-memory-for-sessions">

Details

171* **Le bloc `env`** : à l'exception de l'unité de télémétrie et des variables de routage associées à une clé d'identifiant, toutes deux couvertes ci-dessous, il fusionne par clé entre les sources contrôlées par l'administrateur. Pour chaque variable d'environnement, la source de priorité la plus élevée qui la définit gagne, et les sources d'administrateur inférieures remplissent les variables que les sources supérieures laissent non définies. Une entrée `env` gérée par le point de terminaison s'applique donc chaque fois que la configuration gérée par le serveur laisse cette variable non définie, ou tandis qu'une valeur de serveur en cache pour elle est [retenue en attente de confirmation du serveur](#fetch-and-caching-behavior). Nécessite Claude Code v2.1.223 ou version ultérieure. Avant v2.1.223, Claude Code applique uniquement le bloc `env` de la source sélectionnée.171* **Le bloc `env`** : à l'exception de l'unité de télémétrie et des variables de routage associées à une clé d'identifiant, toutes deux couvertes ci-dessous, il fusionne par clé entre les sources contrôlées par l'administrateur. Pour chaque variable d'environnement, la source de priorité la plus élevée qui la définit gagne, et les sources d'administrateur inférieures remplissent les variables que les sources supérieures laissent non définies. Une entrée `env` gérée par le point de terminaison s'applique donc chaque fois que la configuration gérée par le serveur laisse cette variable non définie, ou tandis qu'une valeur de serveur en cache pour elle est [retenue en attente de confirmation du serveur](#fetch-and-caching-behavior). Nécessite Claude Code v2.1.223 ou version ultérieure. Avant v2.1.223, Claude Code applique uniquement le bloc `env` de la source sélectionnée.

172 * **Unité de télémétrie** : les clés d'exportateur `OTEL_EXPORTER_OTLP_*`, les bascules de capture de contenu `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER`, et les variables de traçage bêta `ENABLE_BETA_TRACING_DETAILED` et `BETA_TRACING_ENDPOINT` suivent la source la plus élevée qui en définit l'une comme unité. Une source qui livre la clé d'identifiant `otelHeadersHelper` revendique également l'unité, mais ne place ces variables que lorsqu'elle est la source sélectionnée : une source qui n'est pas sélectionnée mais livre la clé ne contribue à aucune d'elles et bloque toujours les sources inférieures de les remplir. De toute façon, un point de terminaison d'exportateur d'une source ne peut jamais être associé à des identifiants d'une autre.172 * **Unité de télémétrie** : les clés d'exportateur `OTEL_EXPORTER_OTLP_*`, les bascules de capture de contenu `OTEL_LOG_*`, `OTEL_LOGS_EXPORTER`, et les variables de traçage bêta `ENABLE_BETA_TRACING_DETAILED` et `BETA_TRACING_ENDPOINT` suivent la source la plus élevée qui en définit l'une comme unité. Une source qui livre la clé d'identifiant `otelHeadersHelper` revendique également l'unité, mais ne place ces variables que lorsqu'elle est la source sélectionnée : une source qui n'est pas sélectionnée mais livre la clé ne contribue à aucune d'elles et bloque toujours les sources inférieures de les remplir. De toute façon, un point de terminaison d'exportateur d'une source ne peut jamais être associé à des identifiants d'une autre.

173 * **Routage associé à un identifiant** : une source qui associe des variables de routage à une clé d'identifiant sélectionnée uniquement, telle que `apiKeyHelper` ou `otelHeadersHelper`, contribue ces variables de routage uniquement lorsqu'elle remporte l'emplacement.173 * **Routage associé à un identifiant** : une source qui associe des variables de routage à une clé d'identifiant sélectionnée uniquement, telle que `apiKeyHelper` ou `otelHeadersHelper`, contribue ces variables de routage uniquement lorsqu'elle remporte l'emplacement.

174* **Clés de connexion à la passerelle** : Claude Code ne lit jamais [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl) ou la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod) à partir des paramètres gérés par le serveur, de sorte que la sélection des paramètres gérés par le serveur ne fournit ni une connexion à la passerelle ni n'en masque une définie dans une stratégie MDM ou un fichier de paramètres gérés. L'entrée [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) indique quelle source d'administrateur sur la machine les fournit.174* **Clés de connexion à la passerelle** : Claude Code ne lit jamais [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/fr/settings-reference#gatewayinternalnetworks), ou la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod) à partir des paramètres gérés par le serveur, de sorte qu'une valeur là-bas ne s'applique ni ne masque une définie dans une stratégie MDM ou un fichier de paramètres gérés. L'entrée [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) indique quelle source d'administrateur sur la machine les fournit.

175 175 

176<h3 id="fetch-and-caching-behavior">176<h3 id="fetch-and-caching-behavior">

177 Comportement de récupération et de mise en cache177 Comportement de récupération et de mise en cache

sessions.md +7 −1

Details

147Les sessions que vous ne nommez pas reçoivent quand même deux étiquettes que Claude Code attribue. Seul le titre généré fonctionne comme handle de reprise :147Les sessions que vous ne nommez pas reçoivent quand même deux étiquettes que Claude Code attribue. Seul le titre généré fonctionne comme handle de reprise :

148 148 

149* Nom d'affichage par défaut : les sessions interactives que vous ne nommez jamais reçoivent quand même un nom d'affichage par défaut au démarrage. Nécessite Claude Code v2.1.196 ou version ultérieure. Le nom par défaut combine le nom du répertoire de travail avec un suffixe de deux caractères, par exemple `my-app-3f`, et identifie la session dans les listes de sessions en cours d'exécution, telles que la [vue agent](/docs/fr/agent-view) et la sortie `claude agents --json`. Le nom par défaut n'est pas un handle de reprise. Si vous le transmettez à `claude --resume` ou `/resume`, Claude Code ne trouve pas la session. Nommer la session remplace le nom par défaut dans ces listes, tout comme l'acceptation d'un plan.149* Nom d'affichage par défaut : les sessions interactives que vous ne nommez jamais reçoivent quand même un nom d'affichage par défaut au démarrage. Nécessite Claude Code v2.1.196 ou version ultérieure. Le nom par défaut combine le nom du répertoire de travail avec un suffixe de deux caractères, par exemple `my-app-3f`, et identifie la session dans les listes de sessions en cours d'exécution, telles que la [vue agent](/docs/fr/agent-view) et la sortie `claude agents --json`. Le nom par défaut n'est pas un handle de reprise. Si vous le transmettez à `claude --resume` ou `/resume`, Claude Code ne trouve pas la session. Nommer la session remplace le nom par défaut dans ces listes, tout comme l'acceptation d'un plan.

150* Titre généré : si vous ne nommez pas une session, Claude Code génère un titre de session pour elle. Le titre est un court résumé de votre première invite, écrit par une demande en arrière-plan au modèle petit/rapide, normalement un modèle de classe Haiku. L'acceptation d'un plan le remplace par un titre basé sur le plan. Nommer la session remplace le titre généré. Vous voyez le titre de la première invite dans le [sélecteur de sessions](#use-the-session-picker) et dans le champ [`session_name`](/docs/fr/statusline) de la barre d'état lorsqu'aucun nom n'est défini. Le titre du plan s'affiche aux mêmes deux endroits et aussi dans les listes de sessions en cours d'exécution, où il remplace le nom d'affichage par défaut. Vous pouvez transmettre l'un ou l'autre titre à `claude --resume` ou `/resume`, et Claude Code le résout de la même manière qu'un nom que vous avez défini.150* Titre généré : si vous ne nommez pas une session, Claude Code génère un titre de session pour elle. Le titre est un court résumé de votre première invite, écrit par une demande en arrière-plan au modèle petit/rapide, normalement un modèle de classe Haiku. Une exécution `claude -p` que vous démarrez directement à partir d'un shell ou d'un script n'en reçoit pas.

151 

152 L'acceptation d'un plan remplace le titre généré par un titre basé sur le plan. Nommer la session le remplace également.

153 

154 Vous voyez le titre de la première invite dans le [sélecteur de sessions](#use-the-session-picker) et dans le champ [`session_name`](/docs/fr/statusline) de la barre d'état lorsqu'aucun nom n'est défini. Le titre du plan s'affiche aux mêmes deux endroits et aussi dans les listes de sessions en cours d'exécution, où il remplace le nom d'affichage par défaut.

155 

156 Vous pouvez transmettre l'un ou l'autre titre à `claude --resume` ou `/resume`, et Claude Code le résout de la même manière qu'un nom que vous avez défini.

151 157 

152<h2 id="use-the-session-picker">158<h2 id="use-the-session-picker">

153 Utiliser le sélecteur de sessions159 Utiliser le sélecteur de sessions

settings.md +3 −3

Details

468 Gardez les paramètres personnels hors d'un référentiel468 Gardez les paramètres personnels hors d'un référentiel

469</h3>469</h3>

470 470 

471Pour modifier un paramètre pour vous-même dans un projet sans le modifier pour vos coéquipiers, enregistrez-le dans `.claude/settings.local.json` à l'intérieur du projet. Claude Code applique ce fichier sur le `.claude/settings.json` validé, donc si le fichier de votre équipe définit `"model": "claude-sonnet-5"` et que vous voulez Opus, mettez `"model": "claude-opus-4-8"` dans votre fichier local et seules vos sessions changent.471Pour modifier un paramètre pour vous-même dans un projet sans le modifier pour vos coéquipiers, enregistrez-le dans `.claude/settings.local.json` à l'intérieur du projet. Claude Code applique ce fichier sur le `.claude/settings.json` validé, donc si le fichier de votre équipe définit `"model": "claude-sonnet-5"` et que vous voulez Opus, mettez `"model": "claude-opus-5-5"` dans votre fichier local et seules vos sessions changent.

472 472 

473Claude Code écrit également dans ce fichier, le garde hors de vos commits, et applique ses règles allow sans l'étape de confiance :473Claude Code écrit également dans ce fichier, le garde hors de vos commits, et applique ses règles allow sans l'étape de confiance :

474 474 


598Par exemple, pour démarrer une session sur Opus sans modifier votre défaut :598Par exemple, pour démarrer une session sur Opus sans modifier votre défaut :

599 599 

600```bash theme={null}600```bash theme={null}

601claude --settings '{"model": "claude-opus-4-8"}'601claude --settings '{"model": "claude-opus-5-5"}'

602```602```

603 603 

604<h3 id="when-edits-take-effect">604<h3 id="when-edits-take-effect">


803 803 

804Une [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans un [environnement cloud](/docs/fr/cloud-environments) sur un clone frais de votre référentiel, pas sur votre machine. Cela change quels paramètres l'atteignent :804Une [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans un [environnement cloud](/docs/fr/cloud-environments) sur un clone frais de votre référentiel, pas sur votre machine. Cela change quels paramètres l'atteignent :

805 805 

806* **Paramètres de projet partagés** (`.claude/settings.json`) : lus dans une session avec un référentiel, car le fichier fait partie du clone et la session démarre à l'intérieur. Validez un paramètre là pour l'appliquer dans ces sessions. Une session avec plusieurs référentiels démarre au-dessus des clones, donc à partir du `.claude/settings.json` de chaque référentiel, elle charge uniquement les plugins et les marketplaces que le fichier déclare, pas les règles de permission, les hooks, `env`, ou d'autres clés ; voir [Ce qui se transfère de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup).806* **Paramètres de projet partagés** (`.claude/settings.json`) : lus dans une session avec un référentiel, car le fichier fait partie du clone et la session démarre à l'intérieur. Validez un paramètre là pour l'appliquer dans ces sessions. Une session avec plusieurs référentiels démarre au-dessus des clones et lit uniquement les clés `enabledPlugins` et `extraKnownMarketplaces` du `.claude/settings.json` de chaque référentiel, pas les règles de permission, les hooks, `env`, ou d'autres clés. Les marketplaces et les plugins que ces deux clés déclarent ne [se chargent toujours pas dans une session cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup).

807* **Paramètres utilisateur et projet local** (`~/.claude/settings.json` et `.claude/settings.local.json`) : non lus. Les deux restent sur votre machine, et le fichier local n'est pas dans le clone.807* **Paramètres utilisateur et projet local** (`~/.claude/settings.json` et `.claude/settings.local.json`) : non lus. Les deux restent sur votre machine, et le fichier local n'est pas dans le clone.

808* **Paramètres gérés** : seuls les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) atteignent une session cloud ; un fichier `managed-settings.json` ou un profil MDM sur votre appareil ne le font pas. Un [environnement auto-hébergé](/docs/fr/self-hosted-environments) lit aussi le fichier de paramètres gérés dans son image de runner. [Comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) dit quand ce fichier s'applique.808* **Paramètres gérés** : seuls les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) atteignent une session cloud ; un fichier `managed-settings.json` ou un profil MDM sur votre appareil ne le font pas. Un [environnement auto-hébergé](/docs/fr/self-hosted-environments) lit aussi le fichier de paramètres gérés dans son image de runner. [Comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) dit quand ce fichier s'applique.

809* **`/config`** : dans votre navigateur sur claude.ai/code, ouvre la section Claude Code de vos paramètres claude.ai à la place de modifier une valeur. Pour modifier un paramètre pour une session cloud, définissez une [variable d'environnement](/docs/fr/cloud-environments#set-environment-variables) sur l'environnement, ou dans une session avec un référentiel, validez la clé dans le `.claude/settings.json` de ce référentiel.809* **`/config`** : dans votre navigateur sur claude.ai/code, ouvre la section Claude Code de vos paramètres claude.ai à la place de modifier une valeur. Pour modifier un paramètre pour une session cloud, définissez une [variable d'environnement](/docs/fr/cloud-environments#set-environment-variables) sur l'environnement, ou dans une session avec un référentiel, validez la clé dans le `.claude/settings.json` de ce référentiel.

Details

29 ```json ~/.claude/settings.json theme={null}29 ```json ~/.claude/settings.json theme={null}

30 {30 {

31 "model": "claude-sonnet-5",31 "model": "claude-sonnet-5",

32 "effortLevel": "xhigh",32 "modelSettings": {

33 "claude-sonnet-5": { "effortLevel": "xhigh" }

34 },

33 "editorMode": "vim",35 "editorMode": "vim",

34 "theme": "light-daltonized",36 "theme": "light-daltonized",

35 "statusLine": {37 "statusLine": {


58 {60 {

59 // Commencez chaque session sur Sonnet 561 // Commencez chaque session sur Sonnet 5

60 "model": "claude-sonnet-5",62 "model": "claude-sonnet-5",

61 // Raisonnez plus profondément que le niveau élevé par défaut sur les modèles sans niveau enregistré ; /effort enregistre un niveau par modèle, et --effort en définit un pour une seule session63 // Exécutez Sonnet 5 au-dessus de son niveau élevé par défaut ; /effort enregistre un niveau par modèle, et --effort en définit un pour une seule session

62 "effortLevel": "xhigh",64 "modelSettings": {

65 "claude-sonnet-5": { "effortLevel": "xhigh" }

66 },

63 // Liaisons de touches Vim dans l'invite67 // Liaisons de touches Vim dans l'invite

64 "editorMode": "vim",68 "editorMode": "vim",

65 // Le thème clair adapté aux daltoniens69 // Le thème clair adapté aux daltoniens

settings-reference.md +324 −313

Details

589}}589}}

590/>590/>

591 591 

592| Clé | Description | Sujet | Portée |592| Key | Description | Topic | Scope |

593| :---------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------- | :---------------------- |593| :---------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------- | :---------------------- |

594| [`advisorModel`](#advisormodel) | Choisissez quel modèle répond quand Claude demande l'[outil conseiller](/docs/fr/advisor) | Modèle et réponses | Any file |594| [`advisorModel`](#advisormodel) | Choisissez quel modèle répond quand Claude demande l'[outil conseiller](/docs/fr/advisor) | Model and responses | Any file |

595| [`agent`](#agent) | Démarrez chaque session en tant qu'[agent nommé](/docs/fr/sub-agents) avec son invite, ses outils et son modèle | Agents, sessions et worktrees | Any file |595| [`agent`](#agent) | Commencez chaque session en tant que [sous-agent](/docs/fr/sub-agents) nommé avec son invite, ses outils et son modèle | Agents, sessions, and worktrees | Any file |

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Laissez Claude envoyer une [notification push à votre téléphone](/docs/fr/remote-control#mobile-push-notifications) quand il le décide | Distant, bureau et notifications | Any file |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Laissez Claude envoyer une [notification push à votre téléphone](/docs/fr/remote-control#mobile-push-notifications) quand il le décide | Remote, desktop, and notifications | Any file |

597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Chargez les [connecteurs claude.ai](/docs/fr/mcp) que Claude Code récupère lui-même aux côtés d'un [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) déployé | MCP | Managed |597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Chargez les [connecteurs claude.ai](/docs/fr/mcp) que Claude Code récupère lui-même aux côtés d'un [`managed-mcp.json`](/docs/fr/mcp#exclusive-control-with-managed-mcp-json) déployé | MCP | Managed |

598| [`allowedChannelPlugins`](#allowedchannelplugins) | Remplacez la liste d'autorisation par défaut des [plugins de canal](/docs/fr/channels#restrict-which-channel-plugins-can-run) qui peuvent envoyer des messages | Plugins et compétences | Managed |598| [`allowedChannelPlugins`](#allowedchannelplugins) | Remplacez la liste d'autorisation par défaut des [plugins de canal](/docs/fr/channels#restrict-which-channel-plugins-can-run) qui peuvent envoyer des messages | Plugins and skills | Managed |

599| [`allowedHttpHookUrls`](#allowedhttphookurls) | Limitez les URL que les [hooks HTTP](/docs/fr/hooks) peuvent cibler | Hooks et automatisation | Any file |599| [`allowedHttpHookUrls`](#allowedhttphookurls) | Limitez les URL que les [hooks HTTP](/docs/fr/hooks) peuvent cibler | Hooks and automation | Any file |

600| [`allowedMcpServers`](#allowedmcpservers) | Liste d'autorisation des [serveurs MCP](/docs/fr/mcp) que les utilisateurs peuvent ajouter | MCP | Any file |600| [`allowedMcpServers`](#allowedmcpservers) | Liste d'autorisation des [serveurs MCP](/docs/fr/mcp) que les utilisateurs peuvent ajouter | MCP | Any file |

601| [`allowManagedHooksOnly`](#allowmanagedhooksonly) | Exécutez uniquement les [hooks](/docs/fr/hooks) que votre organisation déploie | Hooks et automatisation | Managed |601| [`allowManagedHooksOnly`](#allowmanagedhooksonly) | Exécutez uniquement les [hooks](/docs/fr/hooks) que votre organisation déploie | Hooks and automation | Managed |

602| [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) | Rendez la liste d'autorisation MCP gérée la seule qui s'applique | MCP | Managed |602| [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) | Rendez la liste d'autorisation [MCP](/docs/fr/mcp) gérée la seule qui s'applique | MCP | Managed |

603| [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly) | Rendez les [paramètres gérés](/docs/fr/managed-settings) la seule source de paramètres des [règles de permission](/docs/fr/permissions#managed-settings) | Paramètres de permission | Managed |603| [`allowManagedPermissionRulesOnly`](#allowmanagedpermissionrulesonly) | Rendez les [paramètres gérés](/docs/fr/managed-settings) la seule source de paramètres des [règles de permission](/docs/fr/permissions#managed-settings) | Permission settings | Managed |

604| [`alwaysThinkingEnabled`](#alwaysthinkingenabled) | Désactivez la [réflexion étendue](/docs/fr/model-config#extended-thinking) pour chaque session | Modèle et réponses | Any file |604| [`alwaysThinkingEnabled`](#alwaysthinkingenabled) | Désactivez la [réflexion étendue](/docs/fr/model-config#extended-thinking) pour chaque session | Model and responses | Any file |

605| [`apiKeyHelper`](#apikeyhelper) | Générez l'[identifiant API](/docs/fr/authentication#credential-management) avec votre propre commande | Authentification et fournisseurs | Any file |605| [`apiKeyHelper`](#apikeyhelper) | Générez les [identifiants API](/docs/fr/authentication#credential-management) avec votre propre commande | Authentication and providers | Any file |

606| [`askUserQuestionTimeout`](#askuserquestiontimeout) | Laissez une question sans réponse [continuer automatiquement](/docs/fr/tools-reference#question-auto-continue-timeout) après un temps d'inactivité | Interface et terminal | User or managed |606| [`askUserQuestionTimeout`](#askuserquestiontimeout) | Laissez une question sans réponse [continuer automatiquement](/docs/fr/tools-reference#question-auto-continue-timeout) après un temps d'inactivité | Interface and terminal | User or managed |

607| [`attribution`](#attribution) | Personnalisez l'attribution que Claude Code ajoute aux commits et aux demandes de tirage | Git et attribution | Any file |607| [`attribution`](#attribution) | Personnalisez l'attribution que Claude Code ajoute aux commits et aux demandes de tirage | Git and attribution | Any file |

608| [`attribution.commit`](#attribution-commit) | Modifiez ou masquez la remorque que Claude Code ajoute aux commits | Git et attribution | Any file |608| [`attribution.commit`](#attribution-commit) | Modifiez ou masquez la bande-annonce que Claude Code ajoute aux commits | Git and attribution | Any file |

609| [`attribution.pr`](#attribution-pr) | Modifiez ou masquez la ligne d'attribution dans les descriptions des demandes de tirage | Git et attribution | Any file |609| [`attribution.pr`](#attribution-pr) | Modifiez ou masquez la ligne d'attribution dans les descriptions des demandes de tirage | Git and attribution | Any file |

610| [`attribution.sessionUrl`](#attribution-sessionurl) | Omettez le lien de session claude.ai des commits [cloud](/docs/fr/claude-code-on-the-web) et [Remote Control](/docs/fr/remote-control) | Git et attribution | Any file |610| [`attribution.sessionUrl`](#attribution-sessionurl) | Omettez le lien de session claude.ai des commits [cloud](/docs/fr/claude-code-on-the-web) et [Remote Control](/docs/fr/remote-control) | Git and attribution | Any file |

611| [`autoCompactEnabled`](#autocompactenabled) | Désactivez ou activez la [compaction automatique](/docs/fr/context-window) | Mémoire et contexte | Any file |611| [`autoCompactEnabled`](#autocompactenabled) | Désactivez ou activez la [compaction automatique](/docs/fr/context-window) | Memory and context | Any file |

612| [`autoCompactWindow`](#autocompactwindow) | Définissez le remplissage du contexte avant que Claude Code [compacte](/docs/fr/context-window) | Mémoire et contexte | Any file |612| [`autoCompactWindow`](#autocompactwindow) | Définissez le remplissage du contexte avant que Claude Code [compacte](/docs/fr/context-window) | Memory and context | Any file |

613| [`autoConnectIde`](#autoconnectide) | Connectez-vous automatiquement à un IDE [VS Code](/docs/fr/vs-code) ou [JetBrains](/docs/fr/jetbrains#from-external-terminals) en cours d'exécution à partir d'un terminal externe | Paramètres de configuration globale | Global config |613| [`autoConnectIde`](#autoconnectide) | Connectez-vous automatiquement à un IDE [VS Code](/docs/fr/vs-code) ou [JetBrains](/docs/fr/jetbrains#from-external-terminals) en cours d'exécution à partir d'un terminal externe | Global config settings | Global config |

614| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Attendez dans la session ouverte et [continuez la tâche automatiquement](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) après la réinitialisation d'une limite d'utilisation claude.ai | Interface et terminal | User or managed |614| [`autoContinueAtUsageLimit`](#autocontinueatusagelimit) | Attendez dans la session ouverte et [continuez la tâche automatiquement](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) après la réinitialisation d'une limite d'utilisation claude.ai | Interface and terminal | User or managed |

615| [`autoInstallIdeExtension`](#autoinstallideextension) | Désactivez l'installation automatique de l'[extension IDE](/docs/fr/vs-code#install-the-extension) à partir d'un terminal VS Code | Paramètres de configuration globale | Global config |615| [`autoInstallIdeExtension`](#autoinstallideextension) | Désactivez l'installation automatique de l'[extension IDE](/docs/fr/vs-code#install-the-extension) à partir d'un terminal VS Code | Global config settings | Global config |

616| [`autoMemoryDirectory`](#automemorydirectory) | Stockez la [mémoire automatique](/docs/fr/memory#auto-memory) dans un répertoire de votre choix | Mémoire et contexte | Any file |616| [`autoMemoryDirectory`](#automemorydirectory) | Stockez la [mémoire automatique](/docs/fr/memory#auto-memory) dans un répertoire de votre choix | Memory and context | Any file |

617| [`autoMemoryEnabled`](#automemoryenabled) | Désactivez ou activez la [mémoire automatique](/docs/fr/memory#auto-memory) | Mémoire et contexte | Any file |617| [`autoMemoryEnabled`](#automemoryenabled) | Désactivez ou activez la [mémoire automatique](/docs/fr/memory#auto-memory) | Memory and context | Any file |

618| [`autoMode`](#automode) | Ajoutez vos propres règles d'autorisation et de refus au classificateur du [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) | Paramètres de permission | User or managed |618| [`autoMode`](#automode) | Ajoutez vos propres règles d'autorisation et de refus au classificateur du [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) | Permission settings | User or managed |

619| [`autoMode.classifyAllShell`](#automode-classifyallshell) | Envoyez chaque commande shell via le [classificateur du mode automatique](/docs/fr/permission-modes#what-the-classifier-blocks-by-default), même celles qu'une règle d'autorisation étroite correspond | Paramètres de permission | User or managed |619| [`autoMode.classifyAllShell`](#automode-classifyallshell) | Envoyez chaque commande shell via le [classificateur du mode automatique](/docs/fr/permission-modes#what-the-classifier-blocks-by-default), même celles qu'une règle d'autorisation étroite correspond | Permission settings | User or managed |

620| [`autoScrollEnabled`](#autoscrollenabled) | [Suivez la nouvelle sortie](/docs/fr/fullscreen#auto-follow) jusqu'au bas du rendu en plein écran | Interface et terminal | Any file |620| [`autoScrollEnabled`](#autoscrollenabled) | [Suivez la nouvelle sortie](/docs/fr/fullscreen#auto-follow) jusqu'au bas du rendu en plein écran | Interface and terminal | Any file |

621| [`autoUpdatesChannel`](#autoupdateschannel) | Suivez le [canal de version](/docs/fr/setup#configure-release-channel) stable au lieu du dernier | Mises à jour et versioning | Any file |621| [`autoUpdatesChannel`](#autoupdateschannel) | Suivez le [canal de version](/docs/fr/setup#configure-release-channel) stable au lieu du dernier | Updates and versioning | Any file |

622| [`availableModels`](#availablemodels) | [Limitez les modèles](/docs/fr/model-config#restrict-model-selection) que les gens peuvent choisir | Modèle et réponses | Any file |622| [`availableModels`](#availablemodels) | [Limitez les modèles](/docs/fr/model-config#restrict-model-selection) que les gens peuvent choisir | Model and responses | Any file |

623| [`awaySummaryEnabled`](#awaysummaryenabled) | Désactivez le [récapitulatif de session](/docs/fr/interactive-mode#session-recap) affiché quand vous revenez au terminal | Distant, bureau et notifications | Any file |623| [`awaySummaryEnabled`](#awaysummaryenabled) | Désactivez le [récapitulatif de session](/docs/fr/interactive-mode#session-recap) affiché quand vous revenez au terminal | Remote, desktop, and notifications | Any file |

624| [`awsAuthRefresh`](#awsauthrefresh) | Actualisez les [identifiants Bedrock](/docs/fr/amazon-bedrock#advanced-credential-configuration) expirés dans `.aws` avec votre propre commande | Authentification et fournisseurs | Any file |624| [`awsAuthRefresh`](#awsauthrefresh) | Actualisez les [identifiants Bedrock](/docs/fr/amazon-bedrock#advanced-credential-configuration) expirés dans `.aws` avec votre propre commande | Authentication and providers | Any file |

625| [`awsCredentialExport`](#awscredentialexport) | Fournissez les [identifiants Bedrock](/docs/fr/amazon-bedrock#advanced-credential-configuration) en JSON à partir de votre propre commande | Authentification et fournisseurs | Any file |625| [`awsCredentialExport`](#awscredentialexport) | Fournissez les [identifiants Bedrock](/docs/fr/amazon-bedrock#advanced-credential-configuration) en JSON à partir de votre propre commande | Authentication and providers | Any file |

626| [`axScreenReader`](#axscreenreader) | Rendez la [sortie compatible avec les lecteurs d'écran](/docs/fr/accessibility) | Interface et terminal | Any file |626| [`axScreenReader`](#axscreenreader) | Rendez la [sortie accessible aux lecteurs d'écran](/docs/fr/accessibility) | Interface and terminal | Any file |

627| [`bashEditDiffEnabled`](#basheditdiffenabled) | Enregistrez les [fichiers qu'une commande Bash a modifiés](/docs/fr/hooks#bash) dans chaque mode de permission | Interface et terminal | User or managed |627| [`bashEditDiffEnabled`](#basheditdiffenabled) | Enregistrez les [fichiers qui ont changé pendant l'exécution d'une commande Bash](/docs/fr/hooks#bash) dans chaque mode de permission | Interface and terminal | User or managed |

628| [`bashOutputMaxChars`](#bashoutputmaxchars) | Définissez la quantité de [sortie](/docs/fr/tools-reference#output-limits) d'une commande réussie que Claude reçoit en ligne | Mémoire et contexte | Any file |628| [`bashOutputMaxChars`](#bashoutputmaxchars) | Définissez la quantité de [sortie](/docs/fr/tools-reference#output-limits) d'une commande réussie que Claude reçoit en ligne | Memory and context | Any file |

629| [`blockedMarketplaces`](#blockedmarketplaces) | Bloquez les sources du [marché de plugins](/docs/fr/plugin-marketplaces) pour votre organisation | Plugins et compétences | Managed |629| [`blockedMarketplaces`](#blockedmarketplaces) | Bloquez les sources du [marché de plugins](/docs/fr/plugin-marketplaces) pour votre organisation | Plugins and skills | Managed |

630| [`browserExternalPageTools`](#browserexternalpagetools) | Gardez les outils de Claude hors des pages externes dans le volet [Bureau](/docs/fr/desktop) Browser | Outils | Managed |630| [`browserExternalPageTools`](#browserexternalpagetools) | Gardez les outils de Claude hors des pages externes dans le volet [Bureau](/docs/fr/desktop) Browser | Tools | Managed |

631| [`channelsEnabled`](#channelsenabled) | Autorisez les [canaux](/docs/fr/channels#enable-channels-for-your-organization) pour votre organisation | Plugins et compétences | Managed |631| [`channelsEnabled`](#channelsenabled) | Autorisez les [canaux](/docs/fr/channels#enable-channels-for-your-organization) pour votre organisation | Plugins and skills | Managed |

632| [`claudeMd`](#claudemd) | Injectez les instructions [CLAUDE.md](/docs/fr/memory#deploy-organization-wide-claude-md) à l'échelle de l'organisation à partir des paramètres gérés | Mémoire et contexte | Managed |632| [`claudeMd`](#claudemd) | Injectez les instructions [CLAUDE.md](/docs/fr/memory#deploy-organization-wide-claude-md) à l'échelle de l'organisation à partir des paramètres gérés | Memory and context | Managed |

633| [`claudeMdExcludes`](#claudemdexcludes) | Ignorez les fichiers [CLAUDE.md](/docs/fr/memory#exclude-specific-claude-md-files) spécifiques lors du chargement de la mémoire | Mémoire et contexte | Any file |633| [`claudeMdExcludes`](#claudemdexcludes) | Ignorez les fichiers [CLAUDE.md](/docs/fr/memory#exclude-specific-claude-md-files) spécifiques lors du chargement de la mémoire | Memory and context | Any file |

634| [`cleanupPeriodDays`](#cleanupperioddays) | Choisissez le nombre de jours que Claude Code conserve les [transcriptions](/docs/fr/data-usage#data-retention) avant de les supprimer | Confidentialité et télémétrie | Any file |634| [`cleanupPeriodDays`](#cleanupperioddays) | Choisissez le nombre de jours que Claude Code conserve les [transcriptions](/docs/fr/data-usage#data-retention) avant de les supprimer | Privacy and telemetry | Any file |

635| [`companyAnnouncements`](#companyannouncements) | Affichez les annonces de votre organisation au démarrage | Interface et terminal | Any file |635| [`companyAnnouncements`](#companyannouncements) | Affichez les annonces de votre organisation au démarrage | Interface and terminal | Any file |

636| [`copyOnSelect`](#copyonselect) | Désactivez la copie automatique du texte que vous sélectionnez avec la souris dans le [rendu en plein écran](/docs/fr/fullscreen#use-the-mouse) et la vue agent | Paramètres de configuration globale | Global config |636| [`copyOnSelect`](#copyonselect) | Désactivez la copie automatique du texte que vous sélectionnez avec la souris dans le [rendu en plein écran](/docs/fr/fullscreen#use-the-mouse) et la vue agent | Global config settings | Global config |

637| [`crossSessionInbound`](#crosssessioninbound) | Choisissez si Claude Code livre les [messages de vos autres sessions](/docs/fr/cross-session-messaging#control-inbound-messages), affiche un avis sans les livrer, ou les refuse | Agents, sessions et worktrees | Any file |637| [`crossSessionInbound`](#crosssessioninbound) | Choisissez si Claude Code livre les [messages de vos autres sessions](/docs/fr/cross-session-messaging#control-inbound-messages), affiche un avis sans les livrer, ou les refuse | Agents, sessions, and worktrees | Any file |

638| [`defaultShell`](#defaultshell) | Choisissez si Bash ou PowerShell exécute les commandes shell que vous tapez avec le [préfixe `!`](/docs/fr/interactive-mode#shell-mode-with-prefix) | Interface et terminal | Any file |638| [`defaultShell`](#defaultshell) | Choisissez si Bash ou PowerShell exécute les commandes shell que vous tapez avec le préfixe [`!`](/docs/fr/interactive-mode#shell-mode-with-prefix) | Interface and terminal | Any file |

639| [`deniedMcpServers`](#deniedmcpservers) | Bloquez les [serveurs MCP](/docs/fr/mcp) spécifiques par URL, commande ou nom | MCP | Any file |639| [`deniedMcpServers`](#deniedmcpservers) | Bloquez les [serveurs MCP](/docs/fr/mcp) spécifiques par URL, commande ou nom | MCP | Any file |

640| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Définissez une limite d'âge en jours pour les [transcriptions Claude Desktop et Cowork](/docs/fr/claude-directory#cleaned-up-automatically) | Confidentialité et télémétrie | User or managed |640| [`desktopSessionCleanupPeriodDays`](#desktopsessioncleanupperioddays) | Définissez une limite d'âge en jours pour les [transcriptions Claude Desktop et Cowork](/docs/fr/claude-directory#cleaned-up-automatically) | Privacy and telemetry | User or managed |

641| [`dialogExpiry`](#dialogexpiry) | Définissez le temps que Claude Code attend que [Remote Control](/docs/fr/remote-control) ou un hôte SDK réponde à une boîte de dialogue transférée avant de l'annuler | Interface et terminal | User or managed |641| [`dialogExpiry`](#dialogexpiry) | Définissez le temps que Claude Code attend pour que [Remote Control](/docs/fr/remote-control) ou un hôte SDK réponde à une boîte de dialogue transférée avant de l'annuler | Interface and terminal | User or managed |

642| [`diffTool`](#difftool) | Choisissez si les modifications de fichiers proposées par Claude s'ouvrent dans la visionneuse de diff [VS Code](/docs/fr/vs-code) ou [JetBrains](/docs/fr/jetbrains#features) ou restent dans le terminal | Paramètres de configuration globale | Global config |642| [`diffTool`](#difftool) | Choisissez si les modifications de fichiers proposées par Claude s'ouvrent dans le visualiseur de diff [VS Code](/docs/fr/vs-code) ou [JetBrains](/docs/fr/jetbrains#features) ou restent dans le terminal | Global config settings | Global config |

643| [`disableAgentView`](#disableagentview) | Désactivez les agents d'arrière-plan et la [vue agent](/docs/fr/agent-view) | Agents, sessions et worktrees | Any file |643| [`disableAgentView`](#disableagentview) | Désactivez les agents d'arrière-plan et la [vue agent](/docs/fr/agent-view) | Agents, sessions, and worktrees | Any file |

644| [`disableAllHooks`](#disableallhooks) | Désactivez les [hooks](/docs/fr/hooks), une [ligne d'état](/docs/fr/statusline) personnalisée et une commande de [suggestion de fichier `@`](/docs/fr/interactive-mode#quick-commands) personnalisée à la fois | Hooks et automatisation | Any file |644| [`disableAllHooks`](#disableallhooks) | Désactivez les [hooks](/docs/fr/hooks), une [ligne d'état](/docs/fr/statusline) personnalisée, et une commande [`@`](/docs/fr/interactive-mode#quick-commands) de suggestion de fichier personnalisée à la fois | Hooks and automation | Any file |

645| [`disableArtifact`](#disableartifact) | Obsolète ; utilisez `enableArtifact` pour désactiver l'[outil Artifact](/docs/fr/artifacts) | Distant, bureau et notifications | Any file |645| [`disableArtifact`](#disableartifact) | Obsolète ; utilisez `enableArtifact` pour désactiver l'[outil Artifact](/docs/fr/artifacts) | Remote, desktop, and notifications | Any file |

646| [`disableAutoMode`](#disableautomode) | Supprimez le [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) du cycle du mode de permission | Paramètres de permission | Any file |646| [`disableAutoMode`](#disableautomode) | Supprimez le [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) du cycle du mode de permission | Permission settings | Any file |

647| [`disableBrowserExternalNavigation`](#disablebrowserexternalnavigation) | Limitez le volet [Bureau](/docs/fr/desktop) Browser à localhost pour les personnes et Claude | Outils | Managed |647| [`disableBrowserExternalNavigation`](#disablebrowserexternalnavigation) | Limitez le volet [Bureau](/docs/fr/desktop) Browser à localhost pour les personnes et Claude | Tools | Managed |

648| [`disableBundledSkills`](#disablebundledskills) | Désactivez les [compétences](/docs/fr/skills#bundled-skills) et les [workflows](/docs/fr/workflows) inclus avec Claude Code | Plugins et compétences | Any file |648| [`disableBundledSkills`](#disablebundledskills) | Désactivez les [compétences](/docs/fr/skills#bundled-skills) et les [flux de travail](/docs/fr/workflows) inclus avec Claude Code | Plugins and skills | Any file |

649| [`disableClaudeAiConnectors`](#disableclaudeaiconnectors) | Désactivez les [connecteurs claude.ai](/docs/fr/mcp#disable-claude-ai-connectors) pour que Claude Code ne les récupère pas | MCP | Any file |649| [`disableClaudeAiConnectors`](#disableclaudeaiconnectors) | Désactivez les [connecteurs claude.ai](/docs/fr/mcp#disable-claude-ai-connectors) pour que Claude Code ne les récupère pas | MCP | Any file |

650| [`disableCommandPluginSources`](#disablecommandpluginsources) | Bloquez les [plugins](/docs/fr/plugins) qui s'installent en exécutant une commande déclarée par le marché | Plugins et compétences | Managed |650| [`disableCommandPluginSources`](#disablecommandpluginsources) | Bloquez les [plugins](/docs/fr/plugins) qui s'installent en exécutant une commande déclarée par le marché | Plugins and skills | Managed |

651| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Empêchez Claude Code d'enregistrer le [gestionnaire `claude-cli://`](/docs/fr/deep-links) | Distant, bureau et notifications | Any file |651| [`disableDeepLinkRegistration`](#disabledeeplinkregistration) | Empêchez Claude Code d'enregistrer le gestionnaire [`claude-cli://`](/docs/fr/deep-links) | Remote, desktop, and notifications | Any file |

652| [`disableDesktopLocalSessions`](#disabledesktoplocalsessions) | Désactivez les [sessions Desktop Code](/docs/fr/desktop#local-sessions-on-managed-devices) qui s'exécutent sur l'appareil, en laissant SSH à d'autres hôtes et au cloud | Distant, bureau et notifications | Managed |652| [`disableDesktopLocalSessions`](#disabledesktoplocalsessions) | Désactivez les [sessions Desktop Code](/docs/fr/desktop#local-sessions-on-managed-devices) qui s'exécutent sur l'appareil, en laissant SSH à d'autres hôtes et au cloud | Remote, desktop, and notifications | Managed |

653| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | Rejetez les serveurs spécifiques du [`.mcp.json`](/docs/fr/mcp#project-scope) d'un projet | MCP | Any file |653| [`disabledMcpjsonServers`](#disabledmcpjsonservers) | Rejetez les serveurs spécifiques du [`.mcp.json`](/docs/fr/mcp#project-scope) d'un projet | MCP | Any file |

654| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | Bloquez les outils de Claude dans le volet [Bureau](/docs/fr/desktop) iOS Simulator | Outils | Managed |654| [`disableMobileSimulatorTools`](#disablemobilesimulatortools) | Bloquez les outils de Claude dans le volet [Bureau](/docs/fr/desktop) iOS Simulator | Tools | Managed |

655| [`disableRemoteControl`](#disableremotecontrol) | Désactivez [Remote Control](/docs/fr/remote-control) partout où il peut démarrer | Distant, bureau et notifications | Any file |655| [`disableRemoteControl`](#disableremotecontrol) | Désactivez [Remote Control](/docs/fr/remote-control) partout où il peut démarrer | Remote, desktop, and notifications | Any file |

656| [`disableSideloadFlags`](#disablesideloadflags) | Rejetez les drapeaux CLI qui chargent les [plugins](/docs/fr/plugins), les [agents](/docs/fr/sub-agents) et les [serveurs MCP](/docs/fr/mcp) | Paramètres d'entreprise et gérés | Managed |656| [`disableSideloadFlags`](#disablesideloadflags) | Rejetez les drapeaux CLI qui chargent les [plugins](/docs/fr/plugins), les [sous-agents](/docs/fr/sub-agents), et les [serveurs MCP](/docs/fr/mcp) | Enterprise and managed settings | Managed |

657| [`disableSkillShellExecution`](#disableskillshellexecution) | Empêchez les [compétences](/docs/fr/skills) et les commandes personnalisées d'exécuter le shell en ligne | Plugins et compétences | Any file |657| [`disableSkillShellExecution`](#disableskillshellexecution) | Empêchez les [compétences](/docs/fr/skills) et les commandes personnalisées d'exécuter le shell en ligne | Plugins and skills | Any file |

658| [`disableWorkflows`](#disableworkflows) | Désactivez les [workflows dynamiques](/docs/fr/workflows) pour tout le monde ; utilisez `enableWorkflows` pour vous-même | Hooks et automatisation | Any file |658| [`disableWorkflows`](#disableworkflows) | Désactivez les [flux de travail dynamiques](/docs/fr/workflows) pour tout le monde ; utilisez `enableWorkflows` pour vous-même | Hooks and automation | Any file |

659| [`editorMode`](#editormode) | Utilisez les [liaisons de touches vim](/docs/fr/interactive-mode#vim-editor-mode) dans l'invite d'entrée | Interface et terminal | Any file |659| [`editorMode`](#editormode) | Utilisez les [liaisons de touches vim](/docs/fr/interactive-mode#vim-editor-mode) dans l'invite d'entrée | Interface and terminal | Any file |

660| [`effortLevel`](#effortlevel) | Définissez un [niveau d'effort](/docs/fr/model-config#adjust-effort-level) par défaut pour les modèles sans niveau enregistré | Modèle et réponses | Any file |660| [`effortLevel`](#effortlevel) | Définissez un [niveau d'effort](/docs/fr/model-config#adjust-effort-level) par défaut pour les modèles sans niveau enregistré | Model and responses | Any file |

661| [`emojiCompletionEnabled`](#emojicompletionenabled) | Désactivez les [suggestions et remplacements d'emoji `:shortcode:`](/docs/fr/interactive-mode#emoji-shortcodes) dans l'entrée d'invite | Interface et terminal | Any file |661| [`emojiCompletionEnabled`](#emojicompletionenabled) | Désactivez les [suggestions et remplacements d'emoji `:shortcode:`](/docs/fr/interactive-mode#emoji-shortcodes) dans l'entrée d'invite | Interface and terminal | Any file |

662| [`enableAllProjectMcpServers`](#enableallprojectmcpservers) | Approuvez chaque serveur dans les fichiers [`.mcp.json`](/docs/fr/mcp#project-server-approvals-and-workspace-trust) du projet sans invite | MCP | Any file |662| [`enableAllProjectMcpServers`](#enableallprojectmcpservers) | Approuvez chaque serveur dans les fichiers [`.mcp.json`](/docs/fr/mcp#project-server-approvals-and-workspace-trust) du projet sans invite | MCP | Any file |

663| [`enableArtifact`](#enableartifact) | Désactivez l'[outil Artifact](/docs/fr/artifacts) avec un `false` dans n'importe quel fichier ; aucun fichier ne peut le réactiver | Distant, bureau et notifications | Any file |663| [`enableArtifact`](#enableartifact) | Désactivez l'[outil Artifact](/docs/fr/artifacts) avec un `false` dans n'importe quel fichier ; aucun fichier ne peut le réactiver | Remote, desktop, and notifications | Any file |

664| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | Approuvez les serveurs spécifiques du [`.mcp.json`](/docs/fr/mcp#project-server-approvals-and-workspace-trust) d'un projet | MCP | Any file |664| [`enabledMcpjsonServers`](#enabledmcpjsonservers) | Approuvez les serveurs spécifiques du [`.mcp.json`](/docs/fr/mcp#project-server-approvals-and-workspace-trust) d'un projet | MCP | Any file |

665| [`enabledPlugins`](#enabledplugins) | Activez ou désactivez les [plugins](/docs/fr/plugins) individuels par portée | Plugins et compétences | Any file |665| [`enabledPlugins`](#enabledplugins) | Activez ou désactivez les [plugins](/docs/fr/plugins) individuels par portée | Plugins and skills | Any file |

666| [`enableWorkflows`](#enableworkflows) | Activez ou désactivez les [workflows dynamiques](/docs/fr/workflows) par rapport à la valeur par défaut de votre plan | Hooks et automatisation | Any file |666| [`enableWorkflows`](#enableworkflows) | Activez ou désactivez les [flux de travail dynamiques](/docs/fr/workflows) par rapport à la valeur par défaut de votre plan | Hooks and automation | Any file |

667| [`enforceAvailableModels`](#enforceavailablemodels) | Gardez le [choix par défaut `/model`](/docs/fr/model-config#enforce-the-allowlist-for-the-default-model) dans votre liste d'autorisation `availableModels` | Modèle et réponses | Any file |667| [`enforceAvailableModels`](#enforceavailablemodels) | Gardez le [choix par défaut `/model`](/docs/fr/model-config#enforce-the-allowlist-for-the-default-model) dans votre liste d'autorisation `availableModels` | Model and responses | Any file |

668| [`env`](#env) | Définissez les [variables d'environnement](/docs/fr/env-vars#in-settings-files) pour chaque session et ses sous-processus | Mémoire et contexte | Any file |668| [`env`](#env) | Définissez les [variables d'environnement](/docs/fr/env-vars#in-settings-files) pour chaque session et ses sous-processus | Memory and context | Any file |

669| [`externalEditorContext`](#externaleditorcontext) | Affichez la dernière réponse de Claude en tant que commentaires quand vous appuyez sur [Ctrl+G](/docs/fr/interactive-mode#general-controls) pour modifier | Paramètres de configuration globale | Global config |669| [`externalEditorContext`](#externaleditorcontext) | Affichez la dernière réponse de Claude en tant que commentaires quand vous appuyez sur [Ctrl+G](/docs/fr/interactive-mode#general-controls) pour éditer | Global config settings | Global config |

670| [`extraKnownMarketplaces`](#extraknownmarketplaces) | Enregistrez les [marchés](/docs/fr/plugin-marketplaces) pour un référentiel ou une organisation | Plugins et compétences | Any file |670| [`extraKnownMarketplaces`](#extraknownmarketplaces) | Enregistrez les [marchés](/docs/fr/plugin-marketplaces) pour un référentiel ou une organisation | Plugins and skills | Any file |

671| [`fallbackModel`](#fallbackmodel) | Nommez les [modèles de secours](/docs/fr/model-config#fallback-model-chains) pour quand le principal est surchargé | Modèle et réponses | Any file |671| [`fallbackModel`](#fallbackmodel) | Nommez les [modèles de secours](/docs/fr/model-config#fallback-model-chains) pour quand le principal est surchargé | Model and responses | Any file |

672| [`fastMode`](#fastmode) | Activez le [mode rapide](/docs/fr/fast-mode) pour les sessions où il est disponible | Modèle et réponses | Any file |672| [`fastMode`](#fastmode) | Activez le [mode rapide](/docs/fr/fast-mode) pour les sessions où il est disponible | Model and responses | Any file |

673| [`fastModePerSessionOptIn`](#fastmodepersessionoptin) | Exigez que les gens activent le [mode rapide](/docs/fr/fast-mode) à chaque session | Modèle et réponses | Any file |673| [`fastModePerSessionOptIn`](#fastmodepersessionoptin) | Exigez que les gens activent le [mode rapide](/docs/fr/fast-mode) à chaque session | Model and responses | Any file |

674| [`feedbackDrafts`](#feedbackdrafts) | Contrôlez si Claude met en file d'attente les [brouillons de commentaires](/docs/fr/tools-reference#sendfeedback-tool-behavior) pour que vous les examiniez | Confidentialité et télémétrie | User or managed |674| [`feedbackDrafts`](#feedbackdrafts) | Contrôlez si Claude met en file d'attente les [brouillons de commentaires](/docs/fr/tools-reference#sendfeedback-tool-behavior) pour que vous les examiniez | Privacy and telemetry | User or managed |

675| [`feedbackSurveyRate`](#feedbacksurveyrate) | Modifiez la fréquence d'apparition de l'[enquête de qualité de session](/docs/fr/data-usage#session-quality-surveys) | Confidentialité et télémétrie | Any file |675| [`feedbackSurveyRate`](#feedbacksurveyrate) | Modifiez la fréquence d'apparition de l'[enquête de qualité de session](/docs/fr/data-usage#session-quality-surveys) | Privacy and telemetry | Any file |

676| [`fileCheckpointingEnabled`](#filecheckpointingenabled) | Désactivez ou activez les instantanés de fichiers que [`/rewind`](/docs/fr/checkpointing) restaure | Mémoire et contexte | Any file |676| [`fileCheckpointingEnabled`](#filecheckpointingenabled) | Désactivez ou activez les instantanés de fichiers que [`/rewind`](/docs/fr/checkpointing) restaure | Memory and context | Any file |

677| [`fileSuggestion`](#filesuggestion) | Fournissez l'[autocomplétion de fichier `@`](/docs/fr/interactive-mode#quick-commands) à partir de votre propre commande | Interface et terminal | Any file |677| [`fileSuggestion`](#filesuggestion) | Fournissez l'[autocomplétion de fichier `@`](/docs/fr/interactive-mode#quick-commands) à partir de votre propre commande | Interface and terminal | Any file |

678| [`footerLinksRegexes`](#footerlinksregexes) | Transformez les ID de problème ou d'examen en sortie en [liens cliquables](/docs/fr/statusline#clickable-links) sous la zone d'entrée | Interface et terminal | User or managed |678| [`footerLinksRegexes`](#footerlinksregexes) | Transformez les ID de problème ou d'examen en sortie en [liens cliquables](/docs/fr/statusline#clickable-links) sous la zone d'entrée | Interface and terminal | User or managed |

679| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Définissez l'[URL de passerelle](/docs/fr/claude-apps-gateway#set-the-gateway-url) à laquelle l'écran de connexion se connecte | Authentification et fournisseurs | Managed |679| [`forceLoginGatewayUrl`](#forcelogingatewayurl) | Définissez l'[URL de passerelle](/docs/fr/claude-apps-gateway#set-the-gateway-url) à laquelle l'écran de connexion se connecte | Authentication and providers | Managed |

680| [`forceLoginMethod`](#forceloginmethod) | [Limitez la connexion](/docs/fr/authentication#restrict-login-to-your-organization) à claude.ai, Claude Console ou une [passerelle cloud](/docs/fr/claude-apps-gateway) | Authentification et fournisseurs | Any file |680| [`forceLoginMethod`](#forceloginmethod) | [Limitez la connexion](/docs/fr/authentication#restrict-login-to-your-organization) à claude.ai, Claude Console, ou une [passerelle cloud](/docs/fr/claude-apps-gateway) | Authentication and providers | Any file |

681| [`forceLoginOrgUUID`](#forceloginorguuid) | [Épinglez les connexions claude.ai à votre organisation](/docs/fr/authentication#restrict-login-to-your-organization) ; seule une source gérée l'applique | Authentification et fournisseurs | Any file |681| [`forceLoginOrgUUID`](#forceloginorguuid) | [Épinglez les connexions claude.ai à votre organisation](/docs/fr/authentication#restrict-login-to-your-organization) ; seule une source gérée l'applique | Authentication and providers | Any file |

682| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Bloquez le démarrage jusqu'à ce que les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) soient fraîchement récupérés | Paramètres d'entreprise et gérés | Managed |682| [`forceRemoteSettingsRefresh`](#forceremotesettingsrefresh) | Bloquez le démarrage jusqu'à ce que les [paramètres gérés par serveur](/docs/fr/server-managed-settings) soient fraîchement récupérés | Enterprise and managed settings | Managed |

683| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Laissez `/login` atteindre une [passerelle cloud](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) sur l'espace IPv4 public que votre organisation utilise en interne | Authentification et fournisseurs | Managed |683| [`gatewayInternalNetworks`](#gatewayinternalnetworks) | Laissez `/login` atteindre une [passerelle cloud](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) sur l'espace IPv4 public que votre organisation utilise en interne | Authentication and providers | Managed |

684| [`gcpAuthRefresh`](#gcpauthrefresh) | Actualisez les [identifiants Google Cloud](/docs/fr/google-vertex-ai#advanced-credential-configuration) avec votre propre commande | Authentification et fournisseurs | Any file |684| [`gcpAuthRefresh`](#gcpauthrefresh) | Actualisez les [identifiants Google Cloud](/docs/fr/google-vertex-ai#advanced-credential-configuration) avec votre propre commande | Authentication and providers | Any file |

685| [`hooks`](#hooks) | Exécutez vos propres commandes en tant que [hooks](/docs/fr/hooks) à des points du cycle de vie de Claude Code | Hooks et automatisation | Any file |685| [`hooks`](#hooks) | Exécutez vos propres commandes en tant que [hooks](/docs/fr/hooks) à des points du cycle de vie de Claude Code | Hooks and automation | Any file |

686| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Limitez les variables d'environnement que les [hooks HTTP](/docs/fr/hooks) peuvent mettre dans les en-têtes | Hooks et automatisation | Any file |686| [`httpHookAllowedEnvVars`](#httphookallowedenvvars) | Limitez les variables d'environnement que les [hooks HTTP](/docs/fr/hooks) peuvent mettre dans les en-têtes | Hooks and automation | Any file |

687| [`includeCoAuthoredBy`](#includecoauthoredby) | Obsolète ; utilisez `attribution` pour masquer ou modifier l'attribution de commit et de PR | Git et attribution | Any file |687| [`includeCoAuthoredBy`](#includecoauthoredby) | Obsolète ; utilisez `attribution` pour masquer ou modifier l'attribution de commit et de PR | Git and attribution | Any file |

688| [`includeGitInstructions`](#includegitinstructions) | Supprimez les instructions de commit et de PR intégrées de l'[invite système](/docs/fr/sub-agents#what-loads-at-startup) | Git et attribution | Any file |688| [`includeGitInstructions`](#includegitinstructions) | Supprimez les instructions de commit et de PR intégrées du contexte de Claude | Git and attribution | Any file |

689| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Recevez une [notification push](/docs/fr/remote-control#mobile-push-notifications) quand Claude vous attend | Distant, bureau et notifications | Any file |689| [`inputNeededNotifEnabled`](#inputneedednotifenabled) | Recevez une [notification push](/docs/fr/remote-control#mobile-push-notifications) quand Claude vous attend | Remote, desktop, and notifications | Any file |

690| [`isolatePeerMachines`](#isolatepeermachines) | Demandez-vous avant que Claude [envoie un message à l'une de vos sessions sur une autre machine](/docs/fr/cross-session-messaging#require-approval-for-cross-machine-messages) | Agents, sessions et worktrees | Any file |690| [`isolatePeerMachines`](#isolatepeermachines) | Demandez-vous avant que Claude [envoie un message à l'une de vos sessions sur une autre machine](/docs/fr/cross-session-messaging#require-approval-for-cross-machine-messages) | Agents, sessions, and worktrees | Any file |

691| [`keybindingFlavor`](#keybindingflavor) | Obsolète et sans effet ; les raccourcis d'édition de mots suivent toujours les [conventions readline](/docs/fr/interactive-mode#make-ctrl-w-delete-back-to-whitespace) | Interface et terminal | Any file |691| [`keybindingFlavor`](#keybindingflavor) | Obsolète et sans effet ; les raccourcis d'édition de mots suivent toujours les [conventions readline](/docs/fr/interactive-mode#make-ctrl-w-delete-back-to-whitespace) | Interface and terminal | Any file |

692| [`language`](#language) | Faites répondre Claude dans une langue autre que l'anglais | Modèle et réponses | Any file |692| [`language`](#language) | Faites répondre Claude dans une langue autre que l'anglais | Model and responses | Any file |

693| [`managedMcpServers`](#managedmcpservers) | Fournissez les [serveurs MCP](/docs/fr/managed-mcp#provide-servers-through-managed-settings) distants à chaque utilisateur aux côtés de ceux qu'il ajoute | MCP | Managed |693| [`managedMcpServers`](#managedmcpservers) | Fournissez les [serveurs MCP](/docs/fr/managed-mcp#provide-servers-through-managed-settings) distants à chaque utilisateur aux côtés de ceux qu'ils ajoutent | MCP | Managed |

694| [`managedSourcesBehavior`](#managedsourcesbehavior) | Composez chaque [source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) que vous déployez au lieu d'utiliser uniquement celle de priorité la plus élevée | Paramètres d'entreprise et gérés | Managed |694| [`managedSourcesBehavior`](#managedsourcesbehavior) | Composez chaque [source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) que vous déployez au lieu d'utiliser la plus prioritaire seule | Enterprise and managed settings | Managed |

695| [`maxEffortLevel`](#maxeffortlevel) | Limitez le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) pour chaque modèle ou par modèle, sur chaque fournisseur | Modèle et réponses | Any file |695| [`maxEffortLevel`](#maxeffortlevel) | Limitez le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) pour chaque modèle ou par modèle, sur chaque fournisseur | Model and responses | Any file |

696| [`minimumVersion`](#minimumversion) | Empêchez les [mises à jour automatiques](/docs/fr/setup#pin-a-minimum-version) d'installer quoi que ce soit en dessous d'une version | Mises à jour et versioning | Any file |696| [`minimumVersion`](#minimumversion) | Empêchez les [mises à jour automatiques](/docs/fr/setup#pin-a-minimum-version) d'installer quoi que ce soit en dessous d'une version | Updates and versioning | Any file |

697| [`model`](#model) | Modifiez le [modèle](/docs/fr/model-config#set-a-default-model-for-new-sessions) avec lequel Claude Code démarre | Modèle et réponses | Any file |697| [`model`](#model) | Modifiez le [modèle](/docs/fr/model-config#set-a-default-model-for-new-sessions) avec lequel Claude Code démarre | Model and responses | Any file |

698| [`modelOverrides`](#modeloverrides) | [Mappez les ID de modèle](/docs/fr/model-config#override-model-ids-per-version) aux ID de votre fournisseur, comme les ARN Bedrock | Modèle et réponses | Any file |698| [`modelOverrides`](#modeloverrides) | [Mappez les ID de modèle](/docs/fr/model-config#override-model-ids-per-version) aux ID de votre fournisseur, comme les ARN Bedrock | Model and responses | Any file |

699| [`modelPicker`](#modelpicker) | Choisissez les modèles que le [sélecteur `/model`](/docs/fr/model-config#available-models) liste, dans votre propre ordre et avec vos propres étiquettes | Modèle et réponses | User or managed |699| [`modelPicker`](#modelpicker) | Choisissez les modèles que le sélecteur [`/model`](/docs/fr/model-config#available-models) liste, dans votre propre ordre et avec vos propres étiquettes | Model and responses | User or managed |

700| [`modelPricing`](#modelpricing) | Signalez les dépenses aux tarifs contractés de votre organisation au lieu du prix catalogue | Modèle et réponses | Managed |700| [`modelPricing`](#modelpricing) | Signalez les dépenses aux tarifs contractés de votre organisation au lieu du prix catalogue | Model and responses | Managed |

701| [`modelSettings`](#modelsettings) | Conservez un [niveau d'effort](/docs/fr/model-config#adjust-effort-level) enregistré par modèle, ou limitez l'effort d'un modèle | Modèle et réponses | Any file |701| [`modelSettings`](#modelsettings) | Conservez un [niveau d'effort](/docs/fr/model-config#adjust-effort-level) enregistré par modèle, ou limitez l'effort d'un modèle | Model and responses | Any file |

702| [`otelHeadersHelper`](#otelheadershelper) | Générez les en-têtes [OpenTelemetry](/docs/fr/monitoring-usage#dynamic-headers) rotatifs avec votre propre commande | Authentification et fournisseurs | Any file |702| [`otelHeadersHelper`](#otelheadershelper) | Générez les en-têtes [OpenTelemetry](/docs/fr/monitoring-usage#dynamic-headers) rotatifs avec votre propre commande | Authentication and providers | Any file |

703| [`outputStyle`](#outputstyle) | Modifiez le rôle, le ton et le format de sortie de Claude avec un [style de sortie](/docs/fr/output-styles) | Modèle et réponses | Any file |703| [`outputStyle`](#outputstyle) | Modifiez le rôle, le ton et le format de sortie de Claude avec un [style de sortie](/docs/fr/output-styles) | Model and responses | Any file |

704| [`parentSettingsBehavior`](#parentsettingsbehavior) | Appliquez ou supprimez les restrictions qu'un [hôte SDK ou IDE](/docs/fr/managed-settings#let-an-embedding-host-add-policy) transmet quand vous déployez les [paramètres gérés](/docs/fr/managed-settings) | Paramètres d'entreprise et gérés | Managed |704| [`parentSettingsBehavior`](#parentsettingsbehavior) | Appliquez ou supprimez les restrictions qu'un [hôte SDK ou IDE](/docs/fr/managed-settings#let-an-embedding-host-add-policy) transmet quand vous déployez les [paramètres gérés](/docs/fr/managed-settings) | Enterprise and managed settings | Managed |

705| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Supprimé dans v2.1.257, ainsi que l'explication de la commande `Ctrl+E` sur les invites de permission shell | Paramètres de configuration globale | Global config |705| [`permissionExplainerEnabled`](#permissionexplainerenabled) | Supprimé dans v2.1.257, ainsi que l'explication de la commande `Ctrl+E` sur les invites de permission shell | Global config settings | Global config |

706| [`permissions`](#permissions) | Définissez les règles d'autorisation, de demande et de refus et le [mode de permission](/docs/fr/permission-modes) de démarrage | Paramètres de permission | Any file |706| [`permissions`](#permissions) | Définissez les règles d'autorisation, de demande et de refus et le [mode de permission](/docs/fr/permission-modes) de démarrage | Permission settings | Any file |

707| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Donnez à Claude l'accès aux fichiers des [répertoires en dehors du répertoire actuel](/docs/fr/permissions#working-directories) | Paramètres de permission | Any file |707| [`permissions.additionalDirectories`](#permissions-additionaldirectories) | Donnez à Claude l'accès aux fichiers des [répertoires en dehors du répertoire actuel](/docs/fr/permissions#working-directories) | Permission settings | Any file |

708| [`permissions.allow`](#permissions-allow) | Approuvez les [utilisations d'outils](/docs/fr/permissions#permission-rule-syntax) listées sans invite | Paramètres de permission | Any file |708| [`permissions.allow`](#permissions-allow) | Approuvez les [utilisations d'outils](/docs/fr/permissions#permission-rule-syntax) listées sans invite | Permission settings | Any file |

709| [`permissions.ask`](#permissions-ask) | Invitez toujours avant les [utilisations d'outils](/docs/fr/permissions#permission-rule-syntax) listées | Paramètres de permission | Any file |709| [`permissions.ask`](#permissions-ask) | Invitez toujours avant les [utilisations d'outils](/docs/fr/permissions#permission-rule-syntax) listées | Permission settings | Any file |

710| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Faites refuser aux outils de fichiers les lectures en dehors des [répertoires de travail](/docs/fr/permissions#working-directories) dans chaque mode de permission | Paramètres de permission | Any file |710| [`permissions.blockReadsOutsideWorkingDirectories`](#permissions-blockreadsoutsideworkingdirectories) | Faites refuser les lectures des outils de fichier en dehors des [répertoires de travail](/docs/fr/permissions#working-directories) dans chaque mode de permission | Permission settings | Any file |

711| [`permissions.defaultMode`](#permissions-defaultmode) | Définissez le [mode de permission](/docs/fr/permission-modes#which-mode-a-session-starts-in) dans lequel les nouvelles sessions commencent | Paramètres de permission | Any file |711| [`permissions.defaultMode`](#permissions-defaultmode) | Définissez le [mode de permission](/docs/fr/permission-modes#which-mode-a-session-starts-in) dans lequel les nouvelles sessions commencent | Permission settings | Any file |

712| [`permissions.deny`](#permissions-deny) | Bloquez les [utilisations d'outils](/docs/fr/permissions#permission-rule-syntax) listées, y compris les lectures de fichiers contenant des secrets | Paramètres de permission | Any file |712| [`permissions.deny`](#permissions-deny) | Bloquez les [utilisations d'outils](/docs/fr/permissions#permission-rule-syntax) listées, y compris les lectures de fichiers qui contiennent des secrets | Permission settings | Any file |

713| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Empêchez quiconque d'entrer dans le [mode bypassPermissions](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Paramètres de permission | Any file |713| [`permissions.disableBypassPermissionsMode`](#permissions-disablebypasspermissionsmode) | Empêchez quiconque d'entrer dans le [mode bypassPermissions](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Permission settings | Any file |

714| [`plansDirectory`](#plansdirectory) | Choisissez où le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) écrit les fichiers de plan | Mémoire et contexte | Any file |714| [`plansDirectory`](#plansdirectory) | Choisissez où le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) écrit les fichiers de plan | Memory and context | Any file |

715| [`pluginConfigs`](#pluginconfigs) | Stockez les réponses que vous avez données à la boîte de dialogue de configuration d'un [plugin](/docs/fr/plugins) | Plugins et compétences | User or managed |715| [`pluginConfigs`](#pluginconfigs) | Stockez les réponses que vous avez données à la boîte de dialogue de configuration d'un [plugin](/docs/fr/plugins) | Plugins and skills | User or managed |

716| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Choisissez les [marchés](/docs/fr/plugin-marketplaces#managed-marketplace-restrictions) qui peuvent afficher les suggestions d'installation de plugins dans `/plugin` | Plugins et compétences | Managed |716| [`pluginSuggestionMarketplaces`](#pluginsuggestionmarketplaces) | Choisissez les [marchés](/docs/fr/plugin-marketplaces#managed-marketplace-restrictions) qui peuvent afficher les suggestions d'installation de plugins dans `/plugin` | Plugins and skills | Managed |

717| [`pluginTrustMessage`](#plugintrustmessage) | Ajoutez votre propre texte à l'avertissement de confiance du [plugin](/docs/fr/plugins) | Plugins et compétences | Managed |717| [`pluginTrustMessage`](#plugintrustmessage) | Ajoutez votre propre texte à l'avertissement de confiance du [plugin](/docs/fr/plugins) | Plugins and skills | Managed |

718| [`policyHelper`](#policyhelper) | Exécutez un exécutable qui calcule les [paramètres gérés](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program) au démarrage | Paramètres d'entreprise et gérés | Managed |718| [`policyHelper`](#policyhelper) | Exécutez un exécutable qui calcule les [paramètres gérés](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program) au démarrage | Enterprise and managed settings | Managed |

719| [`policyHelper.path`](#policyhelper-path) | Nommez l'[exécutable d'aide](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program) que Claude Code exécute | Paramètres d'entreprise et gérés | Managed |719| [`policyHelper.path`](#policyhelper-path) | Nommez l'[exécutable d'aide](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program) que Claude Code exécute | Enterprise and managed settings | Managed |

720| [`policyHelper.refreshIntervalMs`](#policyhelper-refreshintervalms) | Réexécutez l'[aide](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program) en arrière-plan à un intervalle | Paramètres d'entreprise et gérés | Managed |720| [`policyHelper.refreshIntervalMs`](#policyhelper-refreshintervalms) | Réexécutez l'[aide](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program) en arrière-plan à un intervalle | Enterprise and managed settings | Managed |

721| [`policyHelper.timeoutMs`](#policyhelper-timeoutms) | Définissez le temps que Claude Code attend l'[aide](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program) | Paramètres d'entreprise et gérés | Managed |721| [`policyHelper.timeoutMs`](#policyhelper-timeoutms) | Définissez le temps que Claude Code attend pour l'[aide](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program) | Enterprise and managed settings | Managed |

722| [`preferredNotifChannel`](#preferrednotifchannel) | Choisissez une [cloche de terminal ou une notification de bureau](/docs/fr/terminal-config#get-a-terminal-bell-or-notification) pour l'achèvement des tâches | Distant, bureau et notifications | Any file |722| [`preferredNotifChannel`](#preferrednotifchannel) | Choisissez une [sonnerie de terminal ou une notification de bureau](/docs/fr/terminal-config#get-a-terminal-bell-or-notification) pour l'achèvement des tâches | Remote, desktop, and notifications | Any file |

723| [`prefersReducedMotion`](#prefersreducedmotion) | [Réduisez ou désactivez](/docs/fr/accessibility#accessibility-settings) les animations de spinner, shimmer et flash | Interface et terminal | Any file |723| [`prefersReducedMotion`](#prefersreducedmotion) | [Réduisez ou désactivez](/docs/fr/accessibility#accessibility-settings) les animations de spinner, shimmer et flash | Interface and terminal | Any file |

724| [`processWrapper`](#processwrapper) | Exécutez les processus d'arrière-plan de Claude Code via un [lanceur d'entreprise](/docs/fr/corporate-launcher) sur macOS et Linux | Agents, sessions et worktrees | User or managed |724| [`processWrapper`](#processwrapper) | Exécutez les processus d'arrière-plan de Claude Code via un [lanceur d'entreprise](/docs/fr/corporate-launcher) sur macOS et Linux | Agents, sessions, and worktrees | User or managed |

725| [`promptCacheTtl`](#promptcachettl) | Choisissez la [durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) pour la conversation principale | Modèle et réponses | Any file |725| [`promptCacheTtl`](#promptcachettl) | Choisissez la [durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) pour la conversation principale | Model and responses | Any file |

726| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Masquez les [suggestions d'invite](/docs/fr/interactive-mode#prompt-suggestions) grisées dans la zone d'entrée | Interface et terminal | Any file |726| [`promptSuggestionEnabled`](#promptsuggestionenabled) | Masquez les [suggestions d'invite](/docs/fr/interactive-mode#prompt-suggestions) grisées dans la zone d'entrée | Interface and terminal | Any file |

727| [`prUrlTemplate`](#prurltemplate) | Pointez les liens PR vers un outil d'examen de code interne au lieu de github.com | Git et attribution | Any file |727| [`prUrlTemplate`](#prurltemplate) | Pointez les liens PR vers un outil d'examen de code interne au lieu de github.com | Git and attribution | Any file |

728| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Choisissez l'[environnement cloud](/docs/fr/cloud-environments) par défaut pour `claude --cloud` ; un ID `ccpool_` auto-hébergé est en lecture seule à partir des paramètres utilisateur et gérés et `--settings` | Distant, bureau et notifications | Any file |728| [`remote.defaultEnvironmentId`](#remote-defaultenvironmentid) | Choisissez l'[environnement cloud](/docs/fr/cloud-environments) par défaut pour `claude --cloud` ; un ID `ccpool_` auto-hébergé est en lecture seule à partir des paramètres utilisateur et gérés et `--settings` | Remote, desktop, and notifications | Any file |

729| [`remoteControlAtStartup`](#remotecontrolatstartup) | Connectez [Remote Control](/docs/fr/remote-control#enable-remote-control-for-all-sessions) automatiquement quand une session démarre | Distant, bureau et notifications | Any file |729| [`remoteControlAtStartup`](#remotecontrolatstartup) | Connectez [Remote Control](/docs/fr/remote-control#enable-remote-control-for-all-sessions) automatiquement quand une session démarre | Remote, desktop, and notifications | Any file |

730| [`requiredMaximumVersion`](#requiredmaximumversion) | [Refusez de démarrer](/docs/fr/setup#pin-a-minimum-version) sur une version plus récente que celle que votre organisation autorise | Mises à jour et versioning | Managed |730| [`requiredMaximumVersion`](#requiredmaximumversion) | [Refusez de démarrer](/docs/fr/setup#pin-a-minimum-version) sur une version plus récente que celle que votre organisation autorise | Updates and versioning | Managed |

731| [`requiredMinimumVersion`](#requiredminimumversion) | [Refusez de démarrer](/docs/fr/setup#pin-a-minimum-version) sur une version plus ancienne que celle que votre organisation exige | Mises à jour et versioning | Managed |731| [`requiredMinimumVersion`](#requiredminimumversion) | [Refusez de démarrer](/docs/fr/setup#pin-a-minimum-version) sur une version plus ancienne que celle que votre organisation exige | Updates and versioning | Managed |

732| [`respectGitignore`](#respectgitignore) | Gardez les fichiers ignorés par git hors du [sélecteur de fichier `@`](/docs/fr/interactive-mode#quick-commands) | Interface et terminal | Any file |732| [`respectGitignore`](#respectgitignore) | Gardez les fichiers ignorés par git hors du [sélecteur de fichier `@`](/docs/fr/interactive-mode#quick-commands) | Interface and terminal | Any file |

733| [`respondToBashCommands`](#respondtobashcommands) | Empêchez Claude de répondre après l'exécution d'une [commande shell `!`](/docs/fr/interactive-mode#shell-mode-with-prefix) | Interface et terminal | Any file |733| [`respondToBashCommands`](#respondtobashcommands) | Arrêtez Claude de répondre après l'exécution d'une [commande shell `!`](/docs/fr/interactive-mode#shell-mode-with-prefix) | Interface and terminal | Any file |

734| [`sandbox`](#sandbox) | [Isolez les commandes Bash](/docs/fr/sandboxing) de votre système de fichiers et de votre réseau sur macOS, Linux et WSL2 | Paramètres de sandbox | Any file |734| [`sandbox`](#sandbox) | [Isolez les commandes Bash](/docs/fr/sandboxing) de votre système de fichiers et réseau sur macOS, Linux et WSL2 | Sandbox settings | Any file |

735| [`sandbox.allowAppleEvents`](#sandbox-allowappleevents) | Laissez les [commandes en sandbox](/docs/fr/sandboxing) envoyer des Apple Events sur macOS | Paramètres de sandbox | User or managed |735| [`sandbox.allowAppleEvents`](#sandbox-allowappleevents) | Laissez les [commandes en sandbox](/docs/fr/sandboxing) envoyer des Apple Events sur macOS | Sandbox settings | User or managed |

736| [`sandbox.allowUnsandboxedCommands`](#sandbox-allowunsandboxedcommands) | Laissez Claude réessayer une commande bloquée en dehors du [sandbox](/docs/fr/sandboxing#the-unsandboxed-retry-escape-hatch), ou l'interdire | Paramètres de sandbox | Any file |736| [`sandbox.allowUnsandboxedCommands`](#sandbox-allowunsandboxedcommands) | Laissez Claude réessayer une commande bloquée en dehors du [sandbox](/docs/fr/sandboxing#the-unsandboxed-retry-escape-hatch), ou l'interdire | Sandbox settings | Any file |

737| [`sandbox.autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) | Exécutez les [commandes en sandbox](/docs/fr/sandboxing#auto-allow-mode) sans invite de permission | Paramètres de sandbox | Any file |737| [`sandbox.autoAllowBashIfSandboxed`](#sandbox-autoallowbashifsandboxed) | Exécutez les [commandes en sandbox](/docs/fr/sandboxing#auto-allow-mode) sans invite de permission | Sandbox settings | Any file |

738| [`sandbox.bwrapPath`](#sandbox-bwrappath) | Pointez le [sandbox](/docs/fr/sandboxing) vers un binaire bubblewrap en dehors de `PATH` | Paramètres de sandbox | Managed |738| [`sandbox.bwrapPath`](#sandbox-bwrappath) | Pointez le [sandbox](/docs/fr/sandboxing) vers un binaire bubblewrap en dehors de `PATH` | Sandbox settings | Managed |

739| [`sandbox.credentials`](#sandbox-credentials) | Masquez ou masquez les fichiers d'identifiants et les variables à l'intérieur du [sandbox](/docs/fr/sandboxing#protect-credentials) | Paramètres de sandbox | Any file |739| [`sandbox.credentials`](#sandbox-credentials) | Masquez ou masquez les fichiers et variables d'identifiants à l'intérieur du [sandbox](/docs/fr/sandboxing#protect-credentials) | Sandbox settings | Any file |

740| [`sandbox.credentials.allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) | Laissez les [identifiants masqués](/docs/fr/sandboxing#mask-credentials) atteindre les services HTTP simples sur les réseaux de test de confiance | Paramètres de sandbox | User or managed |740| [`sandbox.credentials.allowPlaintextInject`](#sandbox-credentials-allowplaintextinject) | Laissez les [identifiants masqués](/docs/fr/sandboxing#mask-credentials) atteindre les services HTTP simples sur les réseaux de test de confiance | Sandbox settings | User or managed |

741| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Liez les variables de clé AWS nommées personnalisées en un identifiant pour la [re-signature](/docs/fr/sandboxing#re-sign-aws-requests) | Paramètres de sandbox | User or managed |741| [`sandbox.credentials.awsPairs`](#sandbox-credentials-awspairs) | Liez les variables de clé AWS nommées personnalisées en un identifiant pour la [re-signature](/docs/fr/sandboxing#re-sign-aws-requests) | Sandbox settings | User or managed |

742| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Annulez ou masquez une variable d'environnement à l'intérieur du [sandbox](/docs/fr/sandboxing#mask-environment-variables) | Paramètres de sandbox | Any file |742| [`sandbox.credentials.envVars`](#sandbox-credentials-envvars) | Désactivez ou masquez une variable d'environnement à l'intérieur du [sandbox](/docs/fr/sandboxing#mask-environment-variables) | Sandbox settings | Any file |

743| [`sandbox.credentials.files`](#sandbox-credentials-files) | Bloquez ou masquez les lectures d'un fichier d'identifiants à l'intérieur du [sandbox](/docs/fr/sandboxing#mask-credential-files) | Paramètres de sandbox | Any file |743| [`sandbox.credentials.files`](#sandbox-credentials-files) | Bloquez ou masquez les lectures d'un fichier d'identifiants à l'intérieur du [sandbox](/docs/fr/sandboxing#mask-credential-files) | Sandbox settings | Any file |

744| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Choisissez si le streaming, les demandes présignées ou [les demandes AWS SigV4A](/docs/fr/sandboxing#re-sign-aws-requests) échouent ou passent | Paramètres de sandbox | User or managed |744| [`sandbox.credentials.sigv4`](#sandbox-credentials-sigv4) | Choisissez si le streaming, les demandes présignées ou [les demandes AWS SigV4A](/docs/fr/sandboxing#re-sign-aws-requests) échouent ou passent | Sandbox settings | User or managed |

745| [`sandbox.enabled`](#sandbox-enabled) | Activez le [sandboxing Bash](/docs/fr/sandboxing#get-started) sur macOS, Linux et WSL2 | Paramètres de sandbox | Any file |745| [`sandbox.enabled`](#sandbox-enabled) | Activez le [sandboxing Bash](/docs/fr/sandboxing#get-started) sur macOS, Linux et WSL2 | Sandbox settings | Any file |

746| [`sandbox.enableWeakerNestedSandbox`](#sandbox-enableweakernestedsandbox) | Exécutez le [sandbox](/docs/fr/sandboxing) Linux à l'intérieur d'un conteneur sans privilèges | Paramètres de sandbox | Any file |746| [`sandbox.enableWeakerNestedSandbox`](#sandbox-enableweakernestedsandbox) | Exécutez le [sandbox](/docs/fr/sandboxing) Linux à l'intérieur d'un conteneur sans privilèges | Sandbox settings | Any file |

747| [`sandbox.enableWeakerNetworkIsolation`](#sandbox-enableweakernetworkisolation) | Laissez `gh`, `gcloud` et `terraform` vérifier TLS derrière un proxy MITM à l'intérieur du [sandbox](/docs/fr/sandboxing#troubleshooting) sur macOS | Paramètres de sandbox | Any file |747| [`sandbox.enableWeakerNetworkIsolation`](#sandbox-enableweakernetworkisolation) | Laissez `gh`, `gcloud` et `terraform` vérifier TLS derrière un proxy MITM à l'intérieur du [sandbox](/docs/fr/sandboxing#troubleshooting) sur macOS | Sandbox settings | Any file |

748| [`sandbox.excludedCommands`](#sandbox-excludedcommands) | Nommez les commandes qui s'exécutent toujours en dehors du [sandbox](/docs/fr/sandboxing) | Paramètres de sandbox | Any file |748| [`sandbox.excludedCommands`](#sandbox-excludedcommands) | Nommez les commandes que Claude Code peut exécuter en dehors du [sandbox](/docs/fr/sandboxing) | Sandbox settings | Any file |

749| [`sandbox.failIfUnavailable`](#sandbox-failifunavailable) | Refusez de démarrer quand le [sandbox](/docs/fr/sandboxing) ne peut pas, au lieu de s'exécuter sans sandbox | Paramètres de sandbox | Any file |749| [`sandbox.failIfUnavailable`](#sandbox-failifunavailable) | Refusez de démarrer quand le [sandbox](/docs/fr/sandboxing) ne peut pas, au lieu de s'exécuter sans sandbox | Sandbox settings | Any file |

750| [`sandbox.filesystem`](#sandbox-filesystem) | Contrôlez les chemins que les [commandes en sandbox](/docs/fr/sandboxing#filesystem-isolation) peuvent lire et écrire | Paramètres de sandbox | Any file |750| [`sandbox.filesystem`](#sandbox-filesystem) | Contrôlez les chemins que les [commandes en sandbox](/docs/fr/sandboxing#filesystem-isolation) peuvent lire et écrire | Sandbox settings | Any file |

751| [`sandbox.filesystem.allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) | Empêchez les développeurs de rouvrir les [chemins de lecture que votre organisation a bloqués](/docs/fr/sandboxing#keep-developers-from-widening-the-policy) | Paramètres de sandbox | Managed |751| [`sandbox.filesystem.allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) | Empêchez les développeurs de rouvrir les [chemins de lecture que votre organisation a bloqués](/docs/fr/sandboxing#keep-developers-from-widening-the-policy) | Sandbox settings | Managed |

752| [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) | Rouvrez la lecture à l'intérieur d'une région que [`denyRead`](#sandbox-filesystem-denyread) bloque | Paramètres de sandbox | Any file |752| [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) | Rouvrez la lecture à l'intérieur d'une région que [`denyRead`](#sandbox-filesystem-denyread) bloque | Sandbox settings | Any file |

753| [`sandbox.filesystem.allowWrite`](#sandbox-filesystem-allowwrite) | Ajoutez les chemins que les [commandes en sandbox](/docs/fr/sandboxing) peuvent écrire | Paramètres de sandbox | Any file |753| [`sandbox.filesystem.allowWrite`](#sandbox-filesystem-allowwrite) | Ajoutez les chemins que les [commandes en sandbox](/docs/fr/sandboxing) peuvent écrire | Sandbox settings | Any file |

754| [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread) | Bloquez les [commandes en sandbox](/docs/fr/sandboxing) de la lecture de chemins spécifiques | Paramètres de sandbox | Any file |754| [`sandbox.filesystem.denyRead`](#sandbox-filesystem-denyread) | Bloquez les [commandes en sandbox](/docs/fr/sandboxing) de lire des chemins spécifiques | Sandbox settings | Any file |

755| [`sandbox.filesystem.denyWrite`](#sandbox-filesystem-denywrite) | Bloquez les [commandes en sandbox](/docs/fr/sandboxing) de l'écriture sur des chemins spécifiques | Paramètres de sandbox | Any file |755| [`sandbox.filesystem.denyWrite`](#sandbox-filesystem-denywrite) | Bloquez les [commandes en sandbox](/docs/fr/sandboxing) d'écrire dans des chemins spécifiques | Sandbox settings | Any file |

756| [`sandbox.filesystem.disabled`](#sandbox-filesystem-disabled) | [Désactivez l'isolation du système de fichiers](/docs/fr/sandboxing#disable-filesystem-isolation) tout en conservant l'isolation du réseau | Paramètres de sandbox | User or managed |756| [`sandbox.filesystem.disabled`](#sandbox-filesystem-disabled) | [Désactivez l'isolation du système de fichiers](/docs/fr/sandboxing#disable-filesystem-isolation) tout en conservant l'isolation du réseau | Sandbox settings | User or managed |

757| [`sandbox.ignoreViolations`](#sandbox-ignoreviolations) | Silence les rapports de violation pour les chemins qu'une commande est censée sonder | Paramètres de sandbox | Any file |757| [`sandbox.ignoreViolations`](#sandbox-ignoreviolations) | Silence les rapports de violation pour les chemins qu'une commande est censée sonder | Sandbox settings | Any file |

758| [`sandbox.network`](#sandbox-network) | Contrôlez les hôtes, les ports et les sockets que les [commandes en sandbox](/docs/fr/sandboxing#network-isolation) atteignent | Paramètres de sandbox | Any file |758| [`sandbox.network`](#sandbox-network) | Contrôlez les hôtes, ports et sockets que les [commandes en sandbox](/docs/fr/sandboxing#network-isolation) atteignent | Sandbox settings | Any file |

759| [`sandbox.network.allowAllUnixSockets`](#sandbox-network-allowallunixsockets) | Laissez les [commandes en sandbox](/docs/fr/sandboxing) se connecter à chaque socket Unix | Paramètres de sandbox | Any file |759| [`sandbox.network.allowAllUnixSockets`](#sandbox-network-allowallunixsockets) | Laissez les [commandes en sandbox](/docs/fr/sandboxing) se connecter à chaque socket Unix | Sandbox settings | Any file |

760| [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) | Pré-autorisez les domaines pour que les [commandes en sandbox](/docs/fr/sandboxing) ne les demandent pas | Paramètres de sandbox | Any file |760| [`sandbox.network.allowedDomains`](#sandbox-network-alloweddomains) | Pré-autorisez les domaines pour que les [commandes en sandbox](/docs/fr/sandboxing) ne les demandent pas | Sandbox settings | Any file |

761| [`sandbox.network.allowLocalBinding`](#sandbox-network-allowlocalbinding) | Laissez les [commandes en sandbox](/docs/fr/sandboxing) se lier aux ports localhost sur macOS | Paramètres de sandbox | Any file |761| [`sandbox.network.allowLocalBinding`](#sandbox-network-allowlocalbinding) | Laissez les [commandes en sandbox](/docs/fr/sandboxing) se lier aux ports localhost sur macOS | Sandbox settings | Any file |

762| [`sandbox.network.allowMachLookup`](#sandbox-network-allowmachlookup) | Laissez les outils macOS [en sandbox](/docs/fr/sandboxing) comme le simulateur iOS ou Playwright atteindre leurs services XPC | Paramètres de sandbox | Any file |762| [`sandbox.network.allowMachLookup`](#sandbox-network-allowmachlookup) | Laissez les outils macOS [en sandbox](/docs/fr/sandboxing) comme le simulateur iOS ou Playwright atteindre leurs services XPC | Sandbox settings | Any file |

763| [`sandbox.network.allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) | Verrouillez la liste d'autorisation du réseau aux [paramètres gérés](/docs/fr/sandboxing#keep-developers-from-widening-the-policy) | Paramètres de sandbox | Managed |763| [`sandbox.network.allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) | Verrouillez la liste d'autorisation du réseau aux [paramètres gérés](/docs/fr/sandboxing#keep-developers-from-widening-the-policy) | Sandbox settings | Managed |

764| [`sandbox.network.allowUnixSockets`](#sandbox-network-allowunixsockets) | Listez les chemins de socket Unix que les [commandes en sandbox](/docs/fr/sandboxing) peuvent utiliser sur macOS | Paramètres de sandbox | Any file |764| [`sandbox.network.allowUnixSockets`](#sandbox-network-allowunixsockets) | Listez les chemins de socket Unix que les [commandes en sandbox](/docs/fr/sandboxing) peuvent utiliser sur macOS | Sandbox settings | Any file |

765| [`sandbox.network.deniedDomains`](#sandbox-network-denieddomains) | Bloquez les domaines pour les [commandes en sandbox](/docs/fr/sandboxing), même à l'intérieur d'un caractère générique autorisé | Paramètres de sandbox | Any file |765| [`sandbox.network.deniedDomains`](#sandbox-network-denieddomains) | Bloquez les domaines pour les [commandes en sandbox](/docs/fr/sandboxing), même à l'intérieur d'un caractère générique autorisé | Sandbox settings | Any file |

766| [`sandbox.network.httpProxyPort`](#sandbox-network-httpproxyport) | Routez le trafic HTTP du [sandbox](/docs/fr/sandboxing#custom-proxy-configuration) via votre propre proxy | Paramètres de sandbox | Any file |766| [`sandbox.network.httpProxyPort`](#sandbox-network-httpproxyport) | Routez le trafic HTTP du [sandbox](/docs/fr/sandboxing#custom-proxy-configuration) via votre propre proxy | Sandbox settings | Any file |

767| [`sandbox.network.socksProxyPort`](#sandbox-network-socksproxyport) | Routez le trafic SOCKS du [sandbox](/docs/fr/sandboxing#custom-proxy-configuration) via votre propre proxy | Paramètres de sandbox | Any file |767| [`sandbox.network.socksProxyPort`](#sandbox-network-socksproxyport) | Routez le trafic SOCKS du [sandbox](/docs/fr/sandboxing#custom-proxy-configuration) via votre propre proxy | Sandbox settings | Any file |

768| [`sandbox.network.strictAllowlist`](#sandbox-network-strictallowlist) | Refusez les hôtes en dehors de la [liste d'autorisation](/docs/fr/sandboxing#network-isolation) au lieu de demander | Paramètres de sandbox | User or managed |768| [`sandbox.network.strictAllowlist`](#sandbox-network-strictallowlist) | Refusez les hôtes en dehors de la [liste d'autorisation](/docs/fr/sandboxing#network-isolation) au lieu de demander | Sandbox settings | User or managed |

769| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | Faites en sorte que le [sandbox](/docs/fr/sandboxing#network-isolation) proxy termine TLS pour qu'il puisse lire les demandes HTTPS | Paramètres de sandbox | User or managed |769| [`sandbox.network.tlsTerminate`](#sandbox-network-tlsterminate) | Faites en sorte que le [sandbox](/docs/fr/sandboxing#network-isolation) proxy termine TLS pour qu'il puisse lire les demandes HTTPS | Sandbox settings | User or managed |

770| [`sandbox.ripgrep`](#sandbox-ripgrep) | Utilisez votre propre binaire ripgrep à l'intérieur du [sandbox](/docs/fr/sandboxing) | Paramètres de sandbox | User or managed |770| [`sandbox.ripgrep`](#sandbox-ripgrep) | Utilisez votre propre binaire ripgrep à l'intérieur du [sandbox](/docs/fr/sandboxing) | Sandbox settings | User or managed |

771| [`sandbox.socatPath`](#sandbox-socatpath) | Pointez le proxy du [sandbox](/docs/fr/sandboxing) vers un binaire `socat` en dehors de `PATH` | Paramètres de sandbox | Managed |771| [`sandbox.socatPath`](#sandbox-socatpath) | Pointez le proxy du [sandbox](/docs/fr/sandboxing) vers un binaire `socat` en dehors de `PATH` | Sandbox settings | Managed |

772| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | Affichez une option « effacer le contexte » sur l'[écran d'acceptation du plan](/docs/fr/permission-modes#review-and-approve-a-plan) | Interface et terminal | Any file |772| [`showClearContextOnPlanAccept`](#showclearcontextonplanaccept) | Affichez une option « effacer le contexte » sur l'[écran d'acceptation du plan](/docs/fr/permission-modes#review-and-approve-a-plan) | Interface and terminal | Any file |

773| [`showThinkingSummaries`](#showthinkingsummaries) | Consultez les résumés de la [réflexion](/docs/fr/model-config#extended-thinking) de Claude au lieu d'un stub réduit | Modèle et réponses | Any file |773| [`showThinkingSummaries`](#showthinkingsummaries) | Consultez les résumés de la [réflexion](/docs/fr/model-config#extended-thinking) de Claude au lieu d'un stub réduit | Model and responses | Any file |

774| [`showTurnDuration`](#showturnduration) | Masquez la durée « Cooked for » après chaque réponse | Interface et terminal | Any file |774| [`showTurnDuration`](#showturnduration) | Masquez la durée « Cooked for » après chaque réponse | Interface and terminal | Any file |

775| [`skillListingBudgetFraction`](#skilllistingbudgetfraction) | Réservez plus ou moins de contexte pour l'[énumération des compétences](/docs/fr/skills#skill-descriptions-are-cut-short) | Mémoire et contexte | Any file |775| [`skillListingBudgetFraction`](#skilllistingbudgetfraction) | Réservez plus ou moins de contexte pour l'[énumération des compétences](/docs/fr/skills#skill-descriptions-are-cut-short) | Memory and context | Any file |

776| [`skillListingMaxDescChars`](#skilllistingmaxdescchars) | Limitez la longueur de la description de chaque compétence dans l'[énumération des compétences](/docs/fr/skills#skill-descriptions-are-cut-short) | Mémoire et contexte | Any file |776| [`skillListingMaxDescChars`](#skilllistingmaxdescchars) | Limitez la longueur de la description de chaque compétence dans l'[énumération des compétences](/docs/fr/skills#skill-descriptions-are-cut-short) | Memory and context | Any file |

777| [`skillOverrides`](#skilloverrides) | [Masquez ou réduisez une compétence](/docs/fr/skills#override-skill-visibility-from-settings) sans modifier son SKILL.md | Plugins et compétences | Any file |777| [`skillOverrides`](#skilloverrides) | [Masquez ou réduisez une compétence](/docs/fr/skills#override-skill-visibility-from-settings) sans éditer son SKILL.md | Plugins and skills | Any file |

778| [`skipAutoPermissionPrompt`](#skipautopermissionprompt) | Ignorez l'avis unique que Claude Code affiche quand vous entrez d'abord dans le [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) vous-même plutôt que via la valeur par défaut intégrée | Paramètres de permission | User or managed |778| [`skipAutoPermissionPrompt`](#skipautopermissionprompt) | Ignorez l'avis unique que Claude Code affiche quand vous entrez d'abord dans le [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) vous-même plutôt que via la valeur par défaut intégrée | Permission settings | User or managed |

779| [`skipDangerousModePermissionPrompt`](#skipdangerousmodepermissionprompt) | Ignorez la boîte de dialogue de confirmation avant le [mode bypassPermissions](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Paramètres de permission | User, local, or managed |779| [`skipDangerousModePermissionPrompt`](#skipdangerousmodepermissionprompt) | Ignorez la boîte de dialogue de confirmation avant le [mode bypassPermissions](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) | Permission settings | User, local, or managed |

780| [`skipWebFetchPreflight`](#skipwebfetchpreflight) | Ignorez la [vérification du nom d'hôte WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) quand Anthropic est inaccessible | Confidentialité et télémétrie | Any file |780| [`skipWebFetchPreflight`](#skipwebfetchpreflight) | Ignorez la [vérification du nom d'hôte WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) quand Anthropic est inaccessible | Privacy and telemetry | Any file |

781| [`spellcheck`](#spellcheck) | Soulignez les mots mal orthographiés dans l'entrée d'invite avec un [vérificateur d'orthographe](/docs/fr/interactive-mode#check-spelling-as-you-type) que vous installez | Interface et terminal | User or managed |781| [`spellcheck`](#spellcheck) | Soulignez les mots mal orthographiés dans l'entrée d'invite avec un [vérificateur d'orthographe](/docs/fr/interactive-mode#check-spelling-as-you-type) que vous installez | Interface and terminal | User or managed |

782| [`spinnerTipsEnabled`](#spinnertipsenabled) | Masquez les conseils dans le spinner pendant que Claude travaille | Interface et terminal | Any file |782| [`spinnerTipsEnabled`](#spinnertipsenabled) | Masquez les conseils dans le spinner pendant que Claude travaille | Interface and terminal | Any file |

783| [`spinnerTipsOverride`](#spinnertipsoverride) | Ajoutez vos propres conseils à la rotation du spinner, ou remplacez les conseils intégrés | Interface et terminal | Any file |783| [`spinnerTipsOverride`](#spinnertipsoverride) | Ajoutez vos propres conseils à la rotation du spinner, ou remplacez les conseils intégrés | Interface and terminal | Any file |

784| [`spinnerVerbs`](#spinnerverbs) | Ajoutez ou remplacez les verbes affichés pendant l'exécution d'un tour | Interface et terminal | Any file |784| [`spinnerVerbs`](#spinnerverbs) | Ajoutez ou remplacez les verbes affichés pendant l'exécution d'un tour | Interface and terminal | Any file |

785| [`sshConfigs`](#sshconfigs) | Ajoutez les [connexions SSH](/docs/fr/desktop#pre-configure-ssh-connections-for-your-team) à la liste déroulante de l'environnement Desktop | Distant, bureau et notifications | User or managed |785| [`sshConfigs`](#sshconfigs) | Ajoutez les [connexions SSH](/docs/fr/desktop#pre-configure-ssh-connections-for-your-team) à la liste déroulante de l'environnement Bureau | Remote, desktop, and notifications | User or managed |

786| [`sshHostAllowlist`](#sshhostallowlist) | Limitez les hôtes que les [sessions SSH Desktop](/docs/fr/desktop#restrict-which-ssh-hosts-users-can-connect-to) peuvent atteindre | Distant, bureau et notifications | Managed |786| [`sshHostAllowlist`](#sshhostallowlist) | Limitez les hôtes que les [sessions SSH Bureau](/docs/fr/desktop#restrict-which-ssh-hosts-users-can-connect-to) peuvent atteindre | Remote, desktop, and notifications | Managed |

787| [`statusLine`](#statusline) | Exécutez votre propre commande pour afficher une [ligne d'état](/docs/fr/statusline) sous l'invite | Interface et terminal | Any file |787| [`statusLine`](#statusline) | Exécutez votre propre commande pour rendre une [ligne d'état](/docs/fr/statusline) sous l'invite | Interface and terminal | Any file |

788| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Liste d'autorisation des sources du [marché](/docs/fr/plugin-marketplaces) que les utilisateurs peuvent ajouter et installer | Plugins et compétences | Managed |788| [`strictKnownMarketplaces`](#strictknownmarketplaces) | Liste d'autorisation des sources du [marché](/docs/fr/plugin-marketplaces) que les utilisateurs peuvent ajouter et installer | Plugins and skills | Managed |

789| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | Bloquez les [compétences](/docs/fr/skills), les [agents](/docs/fr/sub-agents), les [hooks](/docs/fr/hooks) et les [serveurs MCP](/docs/fr/mcp) des sources utilisateur et projet | Plugins et compétences | Managed |789| [`strictPluginOnlyCustomization`](#strictpluginonlycustomization) | Bloquez les [compétences](/docs/fr/skills), les [agents](/docs/fr/sub-agents), les [hooks](/docs/fr/hooks) et les [serveurs MCP](/docs/fr/mcp) des sources utilisateur et projet | Plugins and skills | Managed |

790| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | Verrouillez les [agents](/docs/fr/sub-agents) aux sources de plugin et gérées | Plugins et compétences | Managed |790| [`strictPluginOnlyCustomization.agents`](#strictpluginonlycustomization-agents) | Verrouillez les [agents](/docs/fr/sub-agents) aux sources de plugin et gérées | Plugins and skills | Managed |

791| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | Verrouillez les [hooks](/docs/fr/hooks) aux sources de plugin et gérées | Plugins et compétences | Managed |791| [`strictPluginOnlyCustomization.hooks`](#strictpluginonlycustomization-hooks) | Verrouillez les [hooks](/docs/fr/hooks) aux sources de plugin et gérées | Plugins and skills | Managed |

792| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Verrouillez les [serveurs MCP](/docs/fr/mcp) aux sources de plugin et gérées | Plugins et compétences | Managed |792| [`strictPluginOnlyCustomization.mcp`](#strictpluginonlycustomization-mcp) | Verrouillez les [serveurs MCP](/docs/fr/mcp) aux sources de plugin et gérées | Plugins and skills | Managed |

793| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Verrouillez les [compétences](/docs/fr/skills) aux sources de plugin et gérées | Plugins et compétences | Managed |793| [`strictPluginOnlyCustomization.skills`](#strictpluginonlycustomization-skills) | Verrouillez les [compétences](/docs/fr/skills) aux sources de plugin et gérées | Plugins and skills | Managed |

794| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Choisissez la [durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) pour les agents et autres demandes en dehors de la conversation principale | Modèle et réponses | Any file |794| [`subagentPromptCacheTtl`](#subagentpromptcachettl) | Choisissez la [durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) pour les sous-agents et autres demandes en dehors de la conversation principale | Model and responses | Any file |

795| [`subagentStatusLine`](#subagentstatusline) | Réécrivez les lignes dans l'[affichage des tâches de l'agent](/docs/fr/sub-agents) avec votre propre commande | Interface et terminal | Any file |795| [`subagentStatusLine`](#subagentstatusline) | Réécrivez les lignes dans l'[affichage des tâches du sous-agent](/docs/fr/sub-agents) avec votre propre commande | Interface and terminal | Any file |

796| [`switchModelsOnFlag`](#switchmodelsonflag) | Changez les modèles automatiquement ou mettez en pause quand un [classificateur de sécurité](/docs/fr/model-config#ask-before-switching) signale une demande | Modèle et réponses | Any file |796| [`switchModelsOnFlag`](#switchmodelsonflag) | Changez les modèles automatiquement ou mettez en pause quand un [classificateur de sécurité](/docs/fr/model-config#ask-before-switching) signale une demande | Model and responses | Any file |

797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Arrêtez le chargement des [plugins activés sur votre compte claude.ai](/docs/fr/plugins-reference#synced-plugins) et arrêtez le téléchargement de nouveaux | Plugins et compétences | User, local, or managed |797| [`syncClaudeAiPlugins`](#syncclaudeaiplugins) | Arrêtez de charger les [plugins activés sur votre compte claude.ai](/docs/fr/plugins-reference#synced-plugins) et arrêtez de télécharger les nouveaux | Plugins and skills | User, local, or managed |

798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Arrêtez le chargement des [compétences activées sur votre compte claude.ai](/docs/fr/skills#how-synced-skills-behave) et arrêtez le téléchargement de nouveaux | Plugins et compétences | User, local, or managed |798| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Arrêtez de charger les [compétences activées sur votre compte claude.ai](/docs/fr/skills#how-synced-skills-behave) et arrêtez de télécharger les nouvelles | Plugins and skills | User, local, or managed |

799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Désactivez la coloration syntaxique dans les diffs et les blocs de code | Interface et terminal | Any file |799| [`syntaxHighlightingDisabled`](#syntaxhighlightingdisabled) | Désactivez la coloration syntaxique dans les diffs et les blocs de code | Interface and terminal | Any file |

800| [`taskOutputMaxChars`](#taskoutputmaxchars) | Définissez la quantité de [sortie de tâche d'arrière-plan](/docs/fr/tools-reference#background-commands) que Claude reçoit en ligne | Mémoire et contexte | Any file |800| [`taskOutputMaxChars`](#taskoutputmaxchars) | Supprimé dans v2.1.277, ainsi que l'outil `TaskOutput` qu'il dimensionnait | Memory and context | Any file |

801| [`teammateDefaultModel`](#teammatedefaultmodel) | Supprimé dans v2.1.234 ; consultez [Spécifier les coéquipiers et les modèles](/docs/fr/agent-teams#specify-teammates-and-models) pour savoir comment Claude Code choisit le modèle d'un coéquipier | Paramètres de configuration globale | Global config |801| [`teammateDefaultModel`](#teammatedefaultmodel) | Supprimé dans v2.1.234 ; voir [Spécifier les coéquipiers et les modèles](/docs/fr/agent-teams#specify-teammates-and-models) pour savoir comment Claude Code choisit le modèle d'un coéquipier | Global config settings | Global config |

802| [`teammateMode`](#teammatemode) | Choisissez comment les [coéquipiers de l'équipe d'agents affichent](/docs/fr/agent-teams#choose-a-display-mode) | Agents, sessions et worktrees | Any file |802| [`teammateMode`](#teammatemode) | Choisissez comment les [coéquipiers de l'équipe agent affichent](/docs/fr/agent-teams#choose-a-display-mode) | Agents, sessions, and worktrees | Any file |

803| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | Masquez la barre de progression du terminal dans les terminaux qui la supportent | Interface et terminal | Any file |803| [`terminalProgressBarEnabled`](#terminalprogressbarenabled) | Masquez la barre de progression du terminal dans les terminaux qui la supportent | Interface and terminal | Any file |

804| [`terminalTitleFromRename`](#terminaltitlefromrename) | Arrêtez [`/rename`](/docs/fr/sessions#name-your-sessions) et `--name` de modifier le titre de l'onglet du terminal | Interface et terminal | Any file |804| [`terminalTitleFromRename`](#terminaltitlefromrename) | Arrêtez [`/rename`](/docs/fr/sessions#name-your-sessions) et `--name` de modifier le titre de l'onglet du terminal | Interface and terminal | Any file |

805| [`theme`](#theme) | Choisissez le [thème de couleur](/docs/fr/terminal-config#match-the-color-theme) de l'interface, intégré ou personnalisé | Interface et terminal | Any file |805| [`theme`](#theme) | Choisissez le [thème de couleur](/docs/fr/terminal-config#match-the-color-theme) de l'interface, intégré ou personnalisé | Interface and terminal | Any file |

806| [`timeFormat`](#timeformat) | Affichez les heures dans l'interface sur une horloge 12 heures ou 24 heures, en UTC ou avec un motif strftime | Interface et terminal | Any file |806| [`timeFormat`](#timeformat) | Affichez les heures dans l'interface sur une horloge 12 heures ou 24 heures, en UTC, ou avec un motif strftime | Interface and terminal | Any file |

807| [`timeZone`](#timezone) | Affichez les heures dans l'interface dans un fuseau horaire autre que celui de votre système | Interface et terminal | Any file |807| [`timeZone`](#timezone) | Affichez les heures dans l'interface dans un fuseau horaire autre que celui de votre système | Interface and terminal | Any file |

808| [`tui`](#tui) | Choisissez le rendu [plein écran](/docs/fr/fullscreen) ou terminal classique | Interface et terminal | Any file |808| [`tui`](#tui) | Choisissez le rendu [plein écran](/docs/fr/fullscreen) ou terminal classique | Interface and terminal | Any file |

809| [`ultracode`](#ultracode) | Faites en sorte que Claude planifie un [workflow](/docs/fr/workflows#let-claude-decide-with-ultracode) pour chaque tâche substantielle sans être demandé | Modèle et réponses | Any file |809| [`ultracode`](#ultracode) | Faites en sorte que Claude planifie un [flux de travail](/docs/fr/workflows#let-claude-decide-with-ultracode) pour chaque tâche substantielle sans être demandé | Model and responses | Any file |

810| [`useAutoModeDuringPlan`](#useautomodeduringplan) | Laissez le classificateur du [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) examiner les commandes shell en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) ; définissez `false` pour obtenir des invites à la place | Paramètres de permission | User, local, or managed |810| [`useAutoModeDuringPlan`](#useautomodeduringplan) | Laissez le classificateur du [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) examiner les commandes shell en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) ; définissez `false` pour obtenir des invites à la place | Permission settings | User, local, or managed |

811| [`verbose`](#verbose) | Affichez la [sortie complète de l'outil](/docs/fr/cli-reference#cli-flags) au lieu des résumés tronqués ; `viewMode` a la priorité quand les deux sont définis | Interface et terminal | Any file |811| [`verbose`](#verbose) | Affichez la [sortie complète de l'outil](/docs/fr/cli-reference#cli-flags) au lieu des résumés tronqués ; `viewMode` prend la priorité quand les deux sont définis | Interface and terminal | Any file |

812| [`viewMode`](#viewmode) | Démarrez chaque session dans la [vue par défaut, détaillée ou focus](/docs/fr/cli-reference#cli-flags) | Interface et terminal | Any file |812| [`viewMode`](#viewmode) | Commencez chaque session dans la [vue par défaut, détaillée ou focus](/docs/fr/cli-reference#cli-flags) | Interface and terminal | Any file |

813| [`vimInsertModeRemaps`](#viminsertmoderemaps) | Mappez une [séquence du mode INSERT](/docs/fr/interactive-mode#remap-insert-mode-key-sequences) à deux touches comme `jj` à Échap | Interface et terminal | User or managed |813| [`vimInsertModeRemaps`](#viminsertmoderemaps) | Mappez une [séquence en mode INSERT](/docs/fr/interactive-mode#remap-insert-mode-key-sequences) à deux touches comme `jj` à Échap | Interface and terminal | User or managed |

814| [`voice`](#voice) | Activez la [dictée vocale](/docs/fr/voice-dictation) et choisissez le mode maintien ou appui | Interface et terminal | Any file |814| [`voice`](#voice) | Activez la [dictée vocale](/docs/fr/voice-dictation) et choisissez le mode maintien ou appui | Interface and terminal | Any file |

815| [`voiceEnabled`](#voiceenabled) | Activez la [dictée vocale](/docs/fr/voice-dictation) avec la forme à clé unique plus ancienne | Interface et terminal | Any file |815| [`voiceEnabled`](#voiceenabled) | Activez la [dictée vocale](/docs/fr/voice-dictation) avec la forme à clé unique plus ancienne | Interface and terminal | Any file |

816| [`wheelScrollAccelerationEnabled`](#wheelscrollaccelerationenabled) | Désactivez l'[accélération de la molette de la souris](/docs/fr/fullscreen#mouse-wheel-scrolling) dans le rendu en plein écran | Interface et terminal | Any file |816| [`wheelScrollAccelerationEnabled`](#wheelscrollaccelerationenabled) | Désactivez l'[accélération de la molette de la souris](/docs/fr/fullscreen#mouse-wheel-scrolling) dans le rendu en plein écran | Interface and terminal | Any file |

817| [`workflowKeywordTriggerEnabled`](#workflowkeywordtriggerenabled) | Laissez le mot `ultracode` dans une invite démarrer un [workflow](/docs/fr/workflows) ; définissez `false` pour le taper sans en démarrer un | Hooks et automatisation | Any file |817| [`workflowKeywordTriggerEnabled`](#workflowkeywordtriggerenabled) | Laissez le mot `ultracode` dans une invite démarrer un [flux de travail](/docs/fr/workflows) ; définissez `false` pour le taper sans en démarrer un | Hooks and automation | Any file |

818| [`workflowSizeGuideline`](#workflowsizeguideline) | Définissez le nombre d'agents que Claude vise dans les [workflows dynamiques](/docs/fr/workflows) | Hooks et automatisation | Any file |818| [`workflowSizeGuideline`](#workflowsizeguideline) | Définissez le nombre d'agents que Claude vise dans les [flux de travail dynamiques](/docs/fr/workflows) | Hooks and automation | Any file |

819| [`worktree`](#worktree) | Configurez comment Claude Code crée les [worktrees](/docs/fr/worktrees) git | Agents, sessions et worktrees | Any file |819| [`worktree`](#worktree) | Configurez la façon dont Claude Code crée les [worktrees](/docs/fr/worktrees) git | Agents, sessions, and worktrees | Any file |

820| [`worktree.baseRef`](#worktree-baseref) | Branchement des nouveaux [worktrees](/docs/fr/worktrees) à partir de la branche par défaut distante ou de votre HEAD local | Agents, sessions et worktrees | Any file |820| [`worktree.baseRef`](#worktree-baseref) | Branchement des nouveaux [worktrees](/docs/fr/worktrees) à partir de la branche par défaut distante ou de votre HEAD local | Agents, sessions, and worktrees | Any file |

821| [`worktree.bgIsolation`](#worktree-bgisolation) | Laissez les sessions d'arrière-plan modifier la copie de travail sans un [worktree](/docs/fr/worktrees) | Agents, sessions et worktrees | Any file |821| [`worktree.bgIsolation`](#worktree-bgisolation) | Laissez les sessions d'arrière-plan éditer la copie de travail sans [worktree](/docs/fr/worktrees) | Agents, sessions, and worktrees | Any file |

822| [`worktree.sparsePaths`](#worktree-sparsepaths) | Vérifiez uniquement les répertoires dont vous avez besoin dans chaque [worktree](/docs/fr/worktrees) | Agents, sessions et worktrees | Any file |822| [`worktree.sparsePaths`](#worktree-sparsepaths) | Vérifiez uniquement les répertoires dont vous avez besoin dans chaque [worktree](/docs/fr/worktrees) | Agents, sessions, and worktrees | Any file |

823| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | Créez des liens symboliques vers les grands répertoires dans chaque [worktree](/docs/fr/worktrees) au lieu de les dupliquer | Agents, sessions et worktrees | Any file |823| [`worktree.symlinkDirectories`](#worktree-symlinkdirectories) | Créez des liens symboliques vers les grands répertoires dans chaque [worktree](/docs/fr/worktrees) au lieu de les dupliquer | Agents, sessions, and worktrees | Any file |

824| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | Faites en sorte que WSL lise les [paramètres gérés](/docs/fr/managed-settings) à partir de la chaîne de politique Windows | Paramètres d'entreprise et gérés | Managed |824| [`wslInheritsWindowsSettings`](#wslinheritswindowssettings) | Faites en sorte que WSL lise les [paramètres gérés](/docs/fr/managed-settings) à partir de la chaîne de politique Windows | Enterprise and managed settings | Managed |

825 825 

826<h2 id="model-and-responses">826<h2 id="model-and-responses">

827 Modèle et réponses827 Modèle et réponses


833 `advisorModel`833 `advisorModel`

834</h3>834</h3>

835 835 

836Choisissez quel modèle répond quand Claude appelle l'[outil advisor](/docs/fr/advisor) côté serveur. Laissez-le non défini pour désactiver l'advisor. L'advisor doit être au moins aussi capable que votre modèle principal. Consultez [Choisir un modèle advisor](/docs/fr/advisor#choose-an-advisor-model) pour les appairages acceptés et ce qui se passe quand vous en choisissez un qui n'est pas accepté.836Choisissez quel modèle répond quand Claude appelle l'[outil advisor](/docs/fr/advisor) côté serveur. Laissez-le non défini pour désactiver l'advisor. L'advisor doit être au moins aussi capable que votre modèle principal. Consultez [Choisir un modèle advisor](/docs/fr/advisor#choose-an-advisor-model) pour connaître les appairements acceptés et ce qui se passe quand vous en choisissez un qui n'est pas accepté.

837 837 

838Vous n'éditez généralement pas cette clé à la main. Exécutez `/advisor` pour ouvrir un sélecteur qui affiche le choix actuel, les modèles qui peuvent conseiller, et **Pas d'advisor**. Claude Code enregistre votre choix dans cette clé dans `~/.claude/settings.json`. Si vous choisissez à partir d'un client [Remote Control](/docs/fr/remote-control) ou dans une session attachée à un worker distant, le choix s'applique à cette session uniquement et ne modifie pas cette clé.838Vous n'éditez généralement pas cette clé à la main. Exécutez `/advisor` pour ouvrir un sélecteur qui affiche le choix actuel, les modèles qui peuvent conseiller, et **Pas d'advisor**. Claude Code enregistre votre choix dans cette clé dans `~/.claude/settings.json`. Si vous choisissez à partir d'un client [Remote Control](/docs/fr/remote-control) ou dans une session attachée à un worker distant, le choix s'applique à cette session uniquement et ne modifie pas cette clé.

839 839 

840Si votre compte nécessite le [consentement usage-credits](/docs/fr/advisor#fable-advisor-and-usage-credits), acceptez-le d'abord en exécutant `/model fable`. Jusqu'à ce que vous le fassiez, choisir Fable dans `/advisor` n'enregistre rien et Claude Code vous dit d'exécuter `/model fable` d'abord.840Si votre compte nécessite le [consentement usage-credits](/docs/fr/advisor#fable-advisor-and-usage-credits), acceptez-le d'abord en exécutant `/model fable`. Jusqu'à ce que vous le fassiez, choisir Fable dans `/advisor` n'enregistre rien et Claude Code vous dit d'exécuter `/model fable` d'abord.

841 841 

842* **Portée** : [`Tout fichier`](#scopes)842* **Portée** : [`Tout fichier`](#scopes)

843* **Type** : chaîne, l'un des alias `"fable"`, `"opus"`, ou `"sonnet"`, qui se résolvent à la version par défaut actuelle de Claude Code pour cette famille de modèles, ou un ID de modèle complet tel que `"claude-opus-5"`843* **Type** : chaîne, l'un des alias `"fable"`, `"opus"`, ou `"sonnet"`, qui se résolvent à la version par défaut actuelle de Claude Code pour cette famille de modèles, ou un ID de modèle complet tel que `"claude-opus-5-5"`

844* **Par défaut** : non défini, donc l'advisor est désactivé844* **Par défaut** : non défini, donc l'advisor est désactivé

845* **Remplacements par session** : `--advisor` prend la priorité sur cette clé pour une session. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](/docs/fr/env-vars) désactive l'advisor, et cette clé ne peut pas le réactiver845* **Remplacements par session** : `--advisor` a la priorité sur cette clé pour une session. [`CLAUDE_CODE_DISABLE_ADVISOR_TOOL`](/docs/fr/env-vars) désactive l'advisor, et cette clé ne peut pas le réactiver

846 846 

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

848{848{


858 858 

859Désactivez la [réflexion étendue](/docs/fr/model-config#extended-thinking) pour chaque session en définissant ceci à `false`. La réflexion est activée par défaut, donc `true` ne change rien. La plupart des gens définissent ceci via `/config` plutôt qu'en éditant le fichier.859Désactivez la [réflexion étendue](/docs/fr/model-config#extended-thinking) pour chaque session en définissant ceci à `false`. La réflexion est activée par défaut, donc `true` ne change rien. La plupart des gens définissent ceci via `/config` plutôt qu'en éditant le fichier.

860 860 

861Sur les modèles qui réfléchissent toujours, comme les modèles Fable, `false` n'a aucun effet. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), Claude Code omet le paramètre `thinking` au lieu de désactiver la réflexion, donc les modèles de raisonnement adaptatif peuvent toujours réfléchir. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau supérieur aux modèles qu'il sait [ne pas accepter cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5.861Sur les modèles qui réfléchissent toujours, comme Opus 5.5 et les modèles Fable, `false` n'a aucun effet. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), Claude Code omet le paramètre `thinking` au lieu de désactiver la réflexion, donc les modèles de raisonnement adaptatif peuvent toujours réfléchir. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau supérieur aux modèles qu'il sait [ne pas accepter cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5.

862 862 

863* **Portée** : [`Tout fichier`](#scopes)863* **Portée** : [`Tout fichier`](#scopes)

864* **Type** : Booléen864* **Type** : Booléen

865 * `true` : aucun effet ; la réflexion est déjà activée865 * `true` : aucun effet ; la réflexion est déjà activée

866 * `false` : Claude Code désactive la réflexion étendue pour chaque session866 * `false` : Claude Code désactive la réflexion étendue pour chaque session

867* **Par défaut** : non défini, donc la réflexion est activée pour les modèles qui la supportent867* **Par défaut** : non défini, donc la réflexion est activée pour les modèles qui la supportent

868* **Remplacements par session** : [`MAX_THINKING_TOKENS`](/docs/fr/env-vars) prend la priorité sur cette clé pour une session : `0` désactive la réflexion, sous les mêmes limites de modèle et de fournisseur que `false`, et une valeur positive active la réflexion même quand cette clé est `false`. Sur les modèles de raisonnement adaptatif, le nombre lui-même est ignoré868* **Remplacements par session** : [`MAX_THINKING_TOKENS`](/docs/fr/env-vars) a la priorité sur cette clé pour une session : `0` désactive la réflexion, sous les mêmes limites de modèle et de fournisseur que `false`, et une valeur positive active la réflexion même quand cette clé est `false`. Sur les modèles de raisonnement adaptatif, le nombre lui-même est ignoré

869 869 

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

871{871{


877 `availableModels`877 `availableModels`

878</h3>878</h3>

879 879 

880Limitez les modèles que les gens peuvent sélectionner pour la session principale, les [sous-agents](/docs/fr/sub-agents), les [compétences](/docs/fr/skills), et l'[advisor](/docs/fr/advisor). Une liste gérée limite `/model`, `--model`, et la clé `model` dans les fichiers propres d'un développeur ; un modèle en dehors de celle-ci ne peut pas être sélectionné. En soi, cela ne touche pas l'option Par défaut ; associez-le à [`enforceAvailableModels`](#enforceavailablemodels) pour cela.880Limitez les modèles que les gens peuvent sélectionner pour la session principale, les [sous-agents](/docs/fr/sub-agents), les [compétences](/docs/fr/skills), et l'[advisor](/docs/fr/advisor). Une liste gérée contraint `/model`, `--model`, et la clé `model` dans les fichiers propres d'un développeur ; un modèle en dehors ne peut pas être sélectionné. En soi, cela ne touche pas l'option Par défaut ; associez-le à [`enforceAvailableModels`](#enforceavailablemodels) pour cela.

881 881 

882* **Portée** : [`Tout fichier`](#scopes). Déployez-le dans les paramètres gérés pour l'appliquer à une organisation.882* **Portée** : [`Tout fichier`](#scopes). Déployez-le dans les paramètres gérés pour l'appliquer à une organisation.

883* **Type** : tableau d'alias de modèles ou d'ID883* **Type** : tableau d'alias de modèles ou d'ID


897 `effortLevel`897 `effortLevel`

898</h3>898</h3>

899 899 

900Définissez un [niveau d'effort](/docs/fr/model-config#adjust-effort-level) par défaut pour les modèles pour lesquels vous n'avez pas enregistré de niveau. Les niveaux inférieurs sont plus rapides et moins chers pour les tâches simples, et les niveaux supérieurs raisonnent plus profondément sur les problèmes complexes.900Définissez un [niveau d'effort](/docs/fr/model-config#adjust-effort-level) par défaut pour les modèles pour lesquels vous n'avez pas enregistré de niveau. Les niveaux inférieurs sont plus rapides et moins chers sur les tâches simples, et les niveaux supérieurs raisonnent plus profondément sur les problèmes complexes.

901 901 

902Quand vous exécutez `/effort low`, `medium`, `high`, ou `xhigh` dans une session interactive sur votre machine, Claude Code enregistre le niveau pour le modèle actif sous [`modelSettings`](#modelsettings) plutôt que d'écrire cette clé. Avant la v2.1.251, `/effort` écrivait cette clé.902Quand vous exécutez `/effort low`, `medium`, `high`, ou `xhigh` dans une session interactive sur votre machine, Claude Code enregistre le niveau pour le modèle actif sous [`modelSettings`](#modelsettings) plutôt que d'écrire cette clé. Avant la v2.1.251, `/effort` écrivait cette clé.

903 903 

904Dans le même fichier de paramètres, Claude Code utilise le niveau enregistré d'un modèle plutôt que cette clé. [`modelSettings`](#modelsettings) indique la précédence entre fichiers.904Dans le même fichier de paramètres, Claude Code utilise le niveau enregistré d'un modèle plutôt que cette clé. [`modelSettings`](#modelsettings) indique la précédence entre fichiers.

905 905 

906Dans une session attachée à un worker distant, `/effort` s'applique à cette session uniquement. Dans une exécution `-p` ou le SDK Agent, cela s'applique également à cette session uniquement, [sauf si une suspension sur l'effort par défaut du modèle est en vigueur](/docs/fr/model-config#non-interactive-effort). [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) énumère les choix interactifs qui s'appliquent également à cette session uniquement. Le message que `/effort` affiche indique ce qui s'est passé.906Dans une session attachée à un worker distant, dans une exécution `-p`, et dans l'Agent SDK, `/effort` s'applique à cette session uniquement. [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) énumère les choix interactifs qui s'appliquent également à cette session uniquement. Le message que `/effort` affiche indique ce qui s'est passé.

907 907 

908* **Portée** : [`Tout fichier`](#scopes)908* **Portée** : [`Tout fichier`](#scopes)

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


912 * `"high"` : équilibre l'utilisation des tokens et l'intelligence912 * `"high"` : équilibre l'utilisation des tokens et l'intelligence

913 * `"xhigh"` : raisonnement plus profond avec une dépense de tokens plus élevée913 * `"xhigh"` : raisonnement plus profond avec une dépense de tokens plus élevée

914* **Par défaut** : non défini914* **Par défaut** : non défini

915* **Remplacements par session** : `--effort` prend la priorité sur cette clé pour une session, et [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/fr/env-vars) prend la priorité sur les deux915* **Remplacements par session** : `--effort` a la priorité sur cette clé pour une session, et [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/fr/env-vars) a la priorité sur les deux

916 916 

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

918{918{


920}920}

921```921```

922 922 

923Sur Opus 4.7, Opus 4.8, et Fable 5, Claude Code maintient l'effort par défaut de ce modèle, défini par l'organisation ou intégré ; [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) indique quelles façons de définir un niveau terminent la suspension et lesquelles la maintiennent en place. Une fois la suspension terminée, Claude Code résout l'effort par la précédence indiquée à [`modelSettings`](#modelsettings).923Dans votre fichier de paramètres utilisateur, `~/.claude/settings.json`, cette clé est la forme plus ancienne que `/effort` écrivait avant d'enregistrer les niveaux par modèle, et elle continue de s'appliquer où elle s'appliquait avant, sur Opus 5, Fable 5.1, et les modèles antérieurs. Opus 5.5 et les modèles publiés après l'ignorent et commencent à leur propre défaut jusqu'à ce que vous enregistriez un niveau pour eux, que `/effort` écrit sous [`modelSettings`](#modelsettings). Dans les paramètres de projet, locaux et gérés, et avec `--settings`, cette clé s'applique à chaque modèle.

924 924 

925<h3 id="enforceavailablemodels">925<h3 id="enforceavailablemodels">

926 `enforceAvailableModels`926 `enforceAvailableModels`


936 * `false` : **Par défaut** se résout comme d'habitude, même à un modèle en dehors de `availableModels`936 * `false` : **Par défaut** se résout comme d'habitude, même à un modèle en dehors de `availableModels`

937* **Par défaut** : `false`937* **Par défaut** : `false`

938 938 

939Cet exemple limite les sélections nommées aux modèles Sonnet et Haiku et fait que **Par défaut** se résout au premier d'entre eux qui est disponible :939Cet exemple restreint les sélections nommées aux modèles Sonnet et Haiku et fait que **Par défaut** se résout au premier d'entre eux qui est disponible :

940 940 

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

942{942{


958* **Portée** : [`Tout fichier`](#scopes)958* **Portée** : [`Tout fichier`](#scopes)

959* **Type** : tableau d'alias de modèles ou d'ID ; `"default"` se développe au modèle par défaut959* **Type** : tableau d'alias de modèles ou d'ID ; `"default"` se développe au modèle par défaut

960* **Par défaut** : non défini, donc une demande échouée n'est pas réessayée sur un autre modèle960* **Par défaut** : non défini, donc une demande échouée n'est pas réessayée sur un autre modèle

961* **Remplacements par session** : `--fallback-model` prend la priorité sur cette clé pour une session961* **Remplacements par session** : `--fallback-model` a la priorité sur cette clé pour une session

962 962 

963Cet exemple essaie d'abord Sonnet 5, puis Haiku 4.5, quand votre modèle principal échoue :963Cet exemple essaie d'abord Sonnet 5, puis Haiku 4.5, quand votre modèle principal échoue :

964 964 


968}968}

969```969```

970 970 

971Contrairement à la plupart des paramètres de tableau, cette clé ne fusionne pas entre les fichiers de paramètres : le fichier de plus haute priorité qui la définit fournit la chaîne entière. Si votre fichier de projet définit `["claude-sonnet-5"]` et votre fichier utilisateur définit `["claude-haiku-4-5"]`, la chaîne est `["claude-sonnet-5"]` uniquement. Claude Code conserve au maximum trois modèles autorisés distincts de la liste et ignore le reste. Consultez [Chaînes de modèles de secours](/docs/fr/model-config#fallback-model-chains).971Contrairement à la plupart des paramètres de tableau, cette clé ne fusionne pas entre les fichiers de paramètres : le fichier de plus haute priorité qui la définit fournit la chaîne entière. Si votre fichier de projet définit `["claude-sonnet-5"]` et votre fichier utilisateur définit `["claude-haiku-4-5"]`, la chaîne est `["claude-sonnet-5"]` uniquement. Claude Code conserve au maximum trois modèles distincts autorisés de la liste et ignore le reste. Consultez [Chaînes de modèles de secours](/docs/fr/model-config#fallback-model-chains).

972 972 

973<h3 id="fastmode">973<h3 id="fastmode">

974 `fastMode`974 `fastMode`

975</h3>975</h3>

976 976 

977Activez le [mode rapide](/docs/fr/fast-mode) pour les sessions où il est disponible, pour le travail interactif comme l'itération rapide ou le débogage en direct où vous voulez la vitesse à un coût plus élevé par token. Vous n'éditez généralement pas cette clé à la main : exécuter `/fast` écrit `fastMode: true` dans `~/.claude/settings.json`, et l'exécuter à nouveau pour désactiver le mode rapide supprime la clé. Le mode rapide s'exécute uniquement sur Opus 5 et Opus 4.8 : l'activer à partir d'un autre modèle vous bascule vers Opus, et basculer vers un modèle non supporté le désactive. Consultez [Changer de modèle pendant que le mode rapide est activé](/docs/fr/fast-mode#switch-models-while-fast-mode-is-on).977Activez le [mode rapide](/docs/fr/fast-mode) pour les sessions où il est disponible, pour le travail interactif comme l'itération rapide ou le débogage en direct où vous voulez la vitesse à un coût plus élevé par token. Vous n'éditez généralement pas cette clé à la main : exécuter `/fast` écrit `fastMode: true` dans `~/.claude/settings.json`, et l'exécuter à nouveau pour désactiver le mode rapide supprime la clé. Le mode rapide s'exécute uniquement sur Opus 5.5, Opus 5, et Opus 4.8 : l'activer à partir d'un autre modèle vous bascule vers Opus, et basculer vers un modèle non supporté le désactive. Consultez [Changer de modèle pendant que le mode rapide est activé](/docs/fr/fast-mode#switch-models-while-fast-mode-is-on).

978 978 

979* **Portée** : [`Tout fichier`](#scopes)979* **Portée** : [`Tout fichier`](#scopes)

980* **Type** : Booléen980* **Type** : Booléen

981 * `true` : Claude Code active le mode rapide pour les sessions où il est disponible981 * `true` : Claude Code active le mode rapide pour les sessions où il est disponible

982 * `false` : le mode rapide reste désactivé982 * `false` : le mode rapide reste désactivé

983* **Par défaut** : non défini, donc le mode rapide est désactivé983* **Par défaut** : non défini, donc le mode rapide est désactivé

984* **Remplacements par session** : [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/fr/env-vars) désactive le mode rapide pour une session, et cette clé ne peut pas le réactiver984* **Remplacements par session** : [`CLAUDE_CODE_DISABLE_FAST_MODE`](/docs/fr/env-vars) désactive le mode rapide pour une session, et cette clé ne peut pas l'activer

985 985 

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

987{987{


993 `fastModePerSessionOptIn`993 `fastModePerSessionOptIn`

994</h3>994</h3>

995 995 

996Normalement, exécuter `/fast` enregistre [`fastMode`](#fastmode) dans les paramètres utilisateur d'une personne, donc le mode rapide est activé au début de chaque session ultérieure. Définissez cette clé à `true` pour arrêter cela : un `fastMode: true` enregistré n'active plus le mode rapide au démarrage de la session, et chaque personne doit exécuter `/fast` dans chaque session où elle le souhaite. Claude Code laisse la clé `fastMode` dans son fichier, donc désactiver cette clé restaure l'ancien comportement. Les propriétaires sur les plans Team ou Enterprise peuvent le déployer à l'échelle de l'organisation via les [paramètres gérés par le serveur](/docs/fr/server-managed-settings).996Normalement, exécuter `/fast` enregistre [`fastMode`](#fastmode) dans les paramètres utilisateur d'une personne, donc le mode rapide est activé au début de chaque session ultérieure. Définissez cette clé à `true` pour arrêter cela : un `fastMode: true` enregistré n'active plus le mode rapide au démarrage de la session, et chaque personne doit exécuter `/fast` dans chaque session où elle le souhaite. Claude Code laisse la clé `fastMode` dans son fichier, donc désactiver cette clé restaure l'ancien comportement.

997 

998Les propriétaires sur les plans Team ou Enterprise peuvent le déployer à l'échelle de l'organisation via les [paramètres gérés par le serveur](/docs/fr/server-managed-settings). Quand les paramètres gérés définissent la clé, `/fast on` est refusé en dehors des sessions de terminal interactif et rapporte que votre organisation a désactivé le mode rapide. Cela couvre le [mode non interactif](/docs/fr/headless), l'[extension VS Code](/docs/fr/vs-code), et les [sessions cloud](/docs/fr/claude-code-on-the-web).

997 999 

998* **Portée** : [`Tout fichier`](#scopes)1000* **Portée** : [`Tout fichier`](#scopes)

999* **Type** : Booléen1001* **Type** : Booléen


1013 `language`1015 `language`

1014</h3>1016</h3>

1015 1017 

1016Faites répondre Claude dans une langue autre que l'anglais par défaut. Il n'y a pas de liste fixe pour les réponses : Claude Code ajoute la valeur verbatim au message système comme une instruction pour toujours répondre dans cette langue, donc n'importe quel nom de langue que Claude peut lire fonctionne. Claude Code ne vérifie pas la valeur, donc un nom mal orthographié atteint Claude tel qu'écrit plutôt que de produire une erreur. La même valeur définit la langue pour la [dictée vocale](/docs/fr/voice-dictation#change-the-dictation-language), qui a une liste fixe de [langues de dictée supportées](/docs/fr/voice-dictation#change-the-dictation-language), et pour les titres de session générés automatiquement.1018Faites répondre Claude dans une langue autre que l'anglais par défaut. Il n'y a pas de liste fixe pour les réponses : Claude Code transmet la valeur verbatim à Claude comme instruction pour toujours répondre dans cette langue, donc tout nom de langue que Claude peut lire fonctionne. Claude Code ne vérifie pas la valeur, donc un nom mal orthographié atteint Claude tel qu'écrit plutôt que de produire une erreur. La même valeur définit la langue pour la [dictée vocale](/docs/fr/voice-dictation#change-the-dictation-language), qui a une liste fixe de [langues de dictée supportées](/docs/fr/voice-dictation#change-the-dictation-language), et pour les titres de session générés automatiquement.

1017 1019 

1018* **Portée** : [`Tout fichier`](#scopes)1020* **Portée** : [`Tout fichier`](#scopes)

1019* **Type** : chaîne, n'importe quel nom de langue, tel que `"japanese"`, `"spanish"`, ou `"french"` ; Claude Code ne le valide pas1021* **Type** : chaîne, tout nom de langue, comme `"japanese"`, `"spanish"`, ou `"french"` ; Claude Code ne le valide pas

1020* **Par défaut** : non défini ; les titres de session correspondent alors à la langue de votre conversation1022* **Par défaut** : non défini ; les titres de session correspondent alors à la langue de votre conversation

1021 1023 

1022```json settings.json theme={null}1024```json settings.json theme={null}


1029 `maxEffortLevel`1031 `maxEffortLevel`

1030</h3>1032</h3>

1031 1033 

1032Limitez le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) qu'une session peut utiliser, en laissant les niveaux inférieurs disponibles. Tout niveau supérieur s'exécute au plafond à la place, y compris celui de `/effort`, du sélecteur `/model`, de `--effort`, de [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/fr/env-vars), du frontmatter `effort` d'une compétence ou d'un sous-agent, ou du défaut du modèle lui-même. Claude Code applique le plafond lui-même avant chaque demande, donc il s'applique sur chaque fournisseur, y compris Amazon Bedrock, la plateforme Agent de Google Cloud, et Microsoft Foundry. Nécessite Claude Code v2.1.267 ou ultérieur.1034Limitez le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) qu'une session peut utiliser, en laissant les niveaux inférieurs disponibles. Tout niveau supérieur s'exécute à la limite à la place, y compris celui de `/effort`, du sélecteur `/model`, de `--effort`, de [`CLAUDE_CODE_EFFORT_LEVEL`](/docs/fr/env-vars), du frontmatter `effort` d'une compétence ou d'un sous-agent, ou du défaut du modèle lui-même. Claude Code applique la limite lui-même avant chaque demande, donc elle s'applique sur chaque fournisseur, y compris Amazon Bedrock, la plateforme Agent de Google Cloud, et Microsoft Foundry. Nécessite Claude Code v2.1.267 ou ultérieur.

1033 1035 

1034* **Portée** : [`Tout fichier`](#scopes). Déployez-le dans les paramètres gérés pour l'appliquer à une organisation. Quand plusieurs portées définissent un plafond, le plus bas s'applique, donc un plafond défini dans une portée ne peut pas être augmenté à partir d'une autre1036* **Portée** : [`Tout fichier`](#scopes). Déployez-le dans les paramètres gérés pour l'appliquer à une organisation. Quand plusieurs portées définissent une limite, la plus basse s'applique, donc une limite définie dans une portée ne peut pas être augmentée à partir d'une autre

1035* **Type** : chaîne, l'une de `"low"`, `"medium"`, `"high"`, `"xhigh"`, ou `"max"`. Une valeur `"max"` ne définit aucun plafond1037* **Type** : chaîne, l'une de `"low"`, `"medium"`, `"high"`, `"xhigh"`, ou `"max"`. Une valeur `"max"` ne définit aucune limite

1036* **Par défaut** : non défini, donc aucun plafond ne s'applique1038* **Par défaut** : non défini, donc aucune limite ne s'applique

1037* **Effet sur ultracode** : un plafond inférieur à `xhigh` rend [ultracode](#ultracode) indisponible sur les modèles auxquels le plafond s'applique1039* **Effet sur ultracode** : une limite inférieure à `xhigh` rend [ultracode](#ultracode) indisponible sur les modèles auxquels la limite s'applique

1038* **Plafonds par modèle** : ajoutez `maxEffortLevel` à l'entrée [`modelSettings`](#modelsettings) d'un modèle. Cette entrée remplace cette clé pour le modèle uniquement dans la source de paramètres qui définit les deux, comme vos paramètres utilisateur ou une [source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources). Définissez `"max"` là pour exempter le modèle du plafond de cette source ; Claude Code applique toujours les plafonds d'autres sources1040* **Limites par modèle** : ajoutez `maxEffortLevel` à l'entrée [`modelSettings`](#modelsettings) d'un modèle. Cette entrée remplace cette clé pour le modèle uniquement dans la source de paramètres qui définit les deux, comme vos paramètres utilisateur ou une [source gérée](/docs/fr/managed-settings#how-claude-code-combines-managed-sources). Définissez `"max"` là pour exempter le modèle de la limite de cette source ; Claude Code applique toujours les limites d'autres sources

1039 1041 

1040Cet exemple limite chaque modèle à `medium` et exempte Sonnet 4.6 :1042Cet exemple limite chaque modèle à `medium` et exempte Sonnet 4.6 :

1041 1043 


1050}1052}

1051```1053```

1052 1054 

1053Quand votre organisation définit également une [limite d'effort](/docs/fr/model-config#organization-effort-limits) pour un modèle, le plus bas des deux plafonds s'applique.1055Quand votre organisation définit également une [limite d'effort](/docs/fr/model-config#organization-effort-limits) pour un modèle, la limite inférieure des deux s'applique.

1054 1056 

1055<h3 id="model">1057<h3 id="model">

1056 `model`1058 `model`

1057</h3>1059</h3>

1058 1060 

1059Définissez le modèle que chaque nouvelle session utilise, donc vous n'avez pas à en choisir un avec `/model` à chaque fois. Le définir ici ne vous empêche pas de changer en cours de session. Si votre administrateur a défini un [modèle par défaut de l'organisation](/docs/fr/model-config#organization-default-model) pour remplacer la sélection de l'utilisateur, vous obtenez ce modèle même quand vous définissez cette clé dans les paramètres utilisateur, projet, ou locaux.1061Définissez le modèle que chaque nouvelle session utilise, donc vous n'avez pas à en choisir un avec `/model` à chaque fois. Le définir ici ne vous empêche pas de basculer en milieu de session. Si votre administrateur a défini un [modèle par défaut de l'organisation](/docs/fr/model-config#organization-default-model) pour remplacer la sélection de l'utilisateur, vous obtenez ce modèle même quand vous définissez cette clé dans les paramètres utilisateur, de projet ou locaux.

1060 1062 

1061* **Portée** : [`Tout fichier`](#scopes)1063* **Portée** : [`Tout fichier`](#scopes)

1062* **Type** : chaîne, un alias de modèle ou un ID de modèle complet1064* **Type** : chaîne, un alias de modèle ou un ID de modèle complet

1063* **Par défaut** : non défini, donc Claude Code utilise le modèle par défaut de votre compte1065* **Par défaut** : non défini, donc Claude Code utilise le modèle par défaut de votre compte

1064* **Remplacements par session** : `--model` prend la priorité sur [`ANTHROPIC_MODEL`](/docs/fr/env-vars), et les deux prennent la priorité sur cette clé pour une session, y compris sur un `model` géré ; une liste [`availableModels`](#availablemodels) s'applique toujours au choix1066* **Remplacements par session** : `--model` a la priorité sur [`ANTHROPIC_MODEL`](/docs/fr/env-vars), et les deux ont la priorité sur cette clé pour une session, y compris sur un `model` géré ; une liste [`availableModels`](#availablemodels) s'applique toujours au choix

1065 1067 

1066```json settings.json theme={null}1068```json settings.json theme={null}

1067{1069{


1097 `modelPicker`1099 `modelPicker`

1098</h3>1100</h3>

1099 1101 

1100Énumérez les modèles que le sélecteur `/model` propose, dans l'ordre que vous écrivez et sous les étiquettes que vous choisissez, donc le sélecteur énumère les modèles que votre organisation exécute, après la gamme intégrée ou à la place de celle-ci. Le `model` de chaque ligne est pris verbatim, donc il accepte n'importe quoi que `--model` accepte : un alias tel que `opus`, un ID de modèle Anthropic, ou un ID au format du fournisseur pour Amazon Bedrock, la plateforme Agent de Google Cloud, Microsoft Foundry, ou une passerelle LLM. Nécessite Claude Code v2.1.242 ou ultérieur.1102Énumérez les modèles que le sélecteur `/model` offre, dans l'ordre que vous écrivez et sous les étiquettes que vous choisissez, donc le sélecteur énumère les modèles que votre organisation exécute, après la gamme intégrée ou à la place. Le `model` de chaque ligne est pris verbatim, donc il accepte tout ce que `--model` accepte : un alias comme `opus`, un ID de modèle Anthropic, ou un ID au format du fournisseur pour Amazon Bedrock, la plateforme Agent de Google Cloud, Microsoft Foundry, ou une passerelle LLM. Nécessite Claude Code v2.1.242 ou ultérieur.

1101 1103 

1102* **Portée** : [`Utilisateur ou géré`](#scopes). Claude Code lit la clé à partir des paramètres gérés, `--settings`, et des paramètres utilisateur, et l'ignore dans les paramètres projet et locaux donc un référentiel que vous clonez ne peut pas réétiqueter le sélecteur. Le plus élevé de ces trois qui définit la clé fournit la gamme entière, et Claude Code ne combine jamais les gammes de deux sources.1104* **Portée** : [`Utilisateur ou géré`](#scopes). Claude Code lit la clé à partir des paramètres gérés, `--settings`, et des paramètres utilisateur, et l'ignore dans les paramètres de projet et locaux donc un référentiel que vous clonez ne peut pas réétiqueter le sélecteur. Le plus élevé de ces trois qui définit la clé fournit la gamme entière, et Claude Code ne combine jamais les gammes de deux sources.

1103* **Type** : objet avec un tableau `options` de lignes et un Booléen `replaceBuiltInOptions` optionnel1105* **Type** : objet avec un tableau `options` de lignes et un Booléen `replaceBuiltInOptions` optionnel

1104* **Par défaut** : non défini, donc le sélecteur affiche la gamme intégrée1106* **Par défaut** : non défini, donc le sélecteur affiche la gamme intégrée

1105 1107 


1113 {1115 {

1114 "model": "us.anthropic.claude-sonnet-4-6",1116 "model": "us.anthropic.claude-sonnet-4-6",

1115 "label": "Sonnet (production)",1117 "label": "Sonnet (production)",

1116 "description": "Travail quotidien"1118 "description": "Day-to-day work"

1117 }1119 }

1118 ]1120 ]

1119 }1121 }


1131La clé prend deux champs, l'un pour les lignes elles-mêmes et l'un pour savoir si elles remplacent la gamme intégrée ou l'ajoutent.1133La clé prend deux champs, l'un pour les lignes elles-mêmes et l'un pour savoir si elles remplacent la gamme intégrée ou l'ajoutent.

1132 1134 

1133| Champ | Type | Ce qu'il fait |1135| Champ | Type | Ce qu'il fait |

1134| :---------------------- | :---------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1136| :---------------------- | :---------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1135| `options` | tableau de lignes, chacune avec un `model` requis et un `label` et une `description` optionnels | Les lignes que le sélecteur affiche, dans cet ordre, sauf qu'une ligne grisée se déplace vers le bas. Sans un `label`, Claude Code titre la ligne avec le nom intégré pour un modèle qu'il connaît, ou l'ID du modèle sinon, et sans une `description`, il écrit une deuxième ligne générique |1137| `options` | tableau de lignes, chacune avec un `model` requis et un `label` et une `description` optionnels | Les lignes que le sélecteur affiche, dans cet ordre, sauf qu'une ligne grisée se déplace vers le bas. Sans un `label`, Claude Code titre la ligne avec le nom intégré pour un modèle qu'il connaît, ou l'ID du modèle sinon, et sans une `description` il écrit une deuxième ligne générique |

1136| `replaceBuiltInOptions` | Booléen, par défaut `false` | Définissez-le à `true` pour afficher uniquement ces lignes, **Par défaut**, et une ligne pour le modèle que la session utilise déjà. Laissez-le non défini pour ajouter ces lignes après la gamme intégrée |1138| `replaceBuiltInOptions` | Booléen, par défaut `false` | Définissez-le à `true` pour afficher uniquement ces lignes, **Par défaut**, et une ligne pour le modèle que la session utilise déjà. Laissez-le non défini pour ajouter ces lignes après la gamme intégrée |

1137 1139 

1138Avec `replaceBuiltInOptions` activé, Claude Code masque chaque autre ligne : la gamme intégrée, les lignes qu'il ajoute pour les entrées [`availableModels`](#availablemodels), les modèles que la [découverte de passerelle](/docs/fr/llm-gateway-protocol#model-discovery) a trouvés, et [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/fr/model-config#add-a-custom-model-option). Avec lui désactivé, Claude Code saute un modèle énuméré que la gamme intégrée couvre déjà. Une étiquette change ce que le sélecteur affiche, pas quel modèle Claude Code exécute.1140Avec `replaceBuiltInOptions` activé, Claude Code masque chaque autre ligne : la gamme intégrée, les lignes qu'il ajoute pour les entrées [`availableModels`](#availablemodels), les modèles que la [découverte de passerelle](/docs/fr/llm-gateway-protocol#model-discovery) a trouvés, et [`ANTHROPIC_CUSTOM_MODEL_OPTION`](/docs/fr/model-config#add-a-custom-model-option). Avec lui désactivé, Claude Code saute un modèle énuméré que la gamme intégrée couvre déjà. Un label change ce que le sélecteur affiche, pas quel modèle Claude Code exécute.

1139 1141 

1140Une liste d'autorisation [`availableModels`](#availablemodels) s'applique toujours à ces lignes. Avant d'ajouter un modèle énuméré à la liste d'autorisation, lisez [Comportement de fusion](/docs/fr/model-config#merge-behavior) : un ID de modèle spécifique restreint l'entrée générique de sa famille. Claude Code vérifie également chaque ligne par rapport à la session avant d'afficher le sélecteur :1142Une liste d'autorisation [`availableModels`](#availablemodels) s'applique toujours à ces lignes. Avant d'ajouter un modèle énuméré à la liste d'autorisation, lisez [Comportement de fusion](/docs/fr/model-config#merge-behavior) : un ID de modèle spécifique restreint l'entrée générique de sa famille. Claude Code vérifie également chaque ligne par rapport à la session avant d'afficher le sélecteur :

1141 1143 


1149 `modelPricing`1151 `modelPricing`

1150</h3>1152</h3>

1151 1153 

1152Signalez les dépenses aux tarifs que votre organisation paie au lieu du prix catalogue. Définissez-le quand votre organisation a des tarifs contractuels, donc les chiffres en dollars que les développeurs voient correspondent à votre facture. Claude Code applique les tarifs dans `/usage`, la [ligne d'état](/docs/fr/statusline), le `total_cost_usd` du SDK Agent, la limite [`--max-budget-usd`](/docs/fr/cli-reference), et la métrique de coût [OpenTelemetry](/docs/fr/monitoring-usage) et les événements. Vous fournissez les tarifs : Claude Code ne les lit pas à partir de votre contrat ou de la console Claude. Nécessite Claude Code v2.1.242 ou ultérieur.1154Rapportez les dépenses aux tarifs que votre organisation paie au lieu du prix catalogue. Définissez-le quand votre organisation a des tarifs contractuels, donc les chiffres en dollars que les développeurs voient correspondent à votre facture. Claude Code applique les tarifs dans `/usage`, la [ligne d'état](/docs/fr/statusline), le `total_cost_usd` de l'Agent SDK, la limite [`--max-budget-usd`](/docs/fr/cli-reference), et la métrique de coût [OpenTelemetry](/docs/fr/monitoring-usage) et les événements. Vous fournissez les tarifs : Claude Code ne les lit pas à partir de votre contrat ou de la Claude Console. Nécessite Claude Code v2.1.242 ou ultérieur.

1153 1155 

1154* **Portée** : [`Géré`](#scopes). Déployez la clé via les paramètres gérés par le serveur, une politique MDM, un fichier `managed-settings.json`, ou un [assistant de politique](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program). Claude Code l'ignore dans les paramètres utilisateur, projet, et locaux, dans `--settings`, et sur Windows dans le [registre HKCU](/docs/fr/managed-settings#where-each-mechanism-stores-the-policy) inscriptible par l'utilisateur. Avec les paramètres gérés par le serveur, chaque session signale les coûts au prix catalogue jusqu'à ce que la [récupération des paramètres](/docs/fr/server-managed-settings#fetch-and-caching-behavior) de cette session ait confirmé le paramètre. Une application hôte qui intègre Claude Code et définit [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars) peut fournir sa propre table via l'option SDK [`managedSettings`](/docs/fr/agent-sdk/typescript#options), que Claude Code utilise uniquement quand aucune source gérée ne définit la clé et uniquement dans Claude Code v2.1.246 ou ultérieur.1156* **Portée** : [`Géré`](#scopes). Déployez la clé via les paramètres gérés par le serveur, une politique MDM, un fichier `managed-settings.json`, ou un [assistant de politique](/docs/fr/managed-settings#compute-the-policy-with-a-helper-program). Claude Code l'ignore dans les paramètres utilisateur, de projet et locaux, dans `--settings`, et sur Windows dans le [registre HKCU](/docs/fr/managed-settings#where-each-mechanism-stores-the-policy) inscriptible par l'utilisateur. Avec les paramètres gérés par le serveur, chaque session rapporte les coûts au prix catalogue jusqu'à ce que la [récupération des paramètres](/docs/fr/server-managed-settings#fetch-and-caching-behavior) de cette session ait confirmé le paramètre. Une application hôte qui intègre Claude Code et définit [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars) peut fournir sa propre table via l'option SDK [`managedSettings`](/docs/fr/agent-sdk/typescript#options), que Claude Code utilise uniquement quand aucune source gérée ne définit la clé et uniquement dans Claude Code v2.1.246 ou ultérieur.

1155* **Type** : objet avec un `multiplier` optionnel et une carte `overrides` optionnelle1157* **Type** : objet avec un `multiplier` optionnel et une carte `overrides` optionnelle

1156* **Par défaut** : non défini, donc Claude Code signale le prix catalogue sauf si une application hôte fournit une table1158* **Par défaut** : non défini, donc Claude Code rapporte le prix catalogue sauf si une application hôte fournit une table

1157 1159 

1158Définissez `multiplier` seul pour une remise forfaitaire ou une majoration, `overrides` seul pour les tarifs par modèle, ou les deux.1160Définissez `multiplier` seul pour une remise ou une majoration forfaitaire, `overrides` seul pour des tarifs par modèle, ou les deux.

1159 1161 

1160Cet exemple définit les tarifs contractuels pour Sonnet 4.6 puis réduit chaque chiffre, la ligne Sonnet incluse, de 15 % :1162Cet exemple définit les tarifs contractuels pour Sonnet 4.6 puis réduit chaque chiffre, la ligne Sonnet incluse, de 15 % :

1161 1163 


1177 1179 

1178Définissez `multiplier` au-dessus de 1, jusqu'à 10, pour majorer chaque chiffre. Une majoration nécessite Claude Code v2.1.271 ou ultérieur. Les versions antérieures ignorent un `multiplier` au-dessus de 1 avec un avertissement et conservent le reste du paramètre.1180Définissez `multiplier` au-dessus de 1, jusqu'à 10, pour majorer chaque chiffre. Une majoration nécessite Claude Code v2.1.271 ou ultérieur. Les versions antérieures ignorent un `multiplier` au-dessus de 1 avec un avertissement et conservent le reste du paramètre.

1179 1181 

1180Pour les étapes, y compris comment confirmer que les tarifs sont en vigueur, consultez [Signaler les dépenses à vos tarifs contractuels](/docs/fr/costs#report-spend-at-your-contracted-rates).1182Pour les étapes, y compris comment confirmer que les tarifs sont en vigueur, consultez [Rapporter les dépenses à vos tarifs contractuels](/docs/fr/costs#report-spend-at-your-contracted-rates).

1181 1183 

1182<span id="modelpricing-multiplier" />1184<span id="modelpricing-multiplier" />

1183 1185 


1188</h4>1190</h4>

1189 1191 

1190| Champ | Type | Ce qu'il fait |1192| Champ | Type | Ce qu'il fait |

1191| :----------- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1193| :----------- | :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1192| `multiplier` | nombre supérieur à 0 et au maximum 10 | Redimensionne chaque coût que Claude Code calcule, qu'une ligne `overrides` la couvre ou non. Inférieur à 1 est une remise, supérieur à 1 une majoration |1194| `multiplier` | nombre supérieur à 0 et au maximum 10 | Redimensionne chaque coût que Claude Code calcule, qu'une ligne `overrides` le couvre ou non. Inférieur à 1 est une remise, supérieur à 1 une majoration |

1193| `overrides` | carte d'ID de modèle à un objet de tarif avec `input`, `output`, `cacheRead`, et `cacheWrite`, chacun de 0 à 10000 | Les tarifs USD par million de tokens pour ce modèle, les quatre requis. `cacheWrite` couvre à la fois les écritures de cache de cinq minutes et d'une heure. Consultez [Quels modèles une ligne `modelPricing` s'applique à](#which-models-a-modelpricing-row-applies-to) |1195| `overrides` | carte d'ID de modèle à un objet de tarif avec `input`, `output`, `cacheRead`, et `cacheWrite`, chacun de 0 à 10000 | Les tarifs USD par million de tokens pour ce modèle, les quatre requis. `cacheWrite` couvre à la fois les écritures de cache de cinq minutes et d'une heure. Consultez [Quels modèles une ligne s'applique à](#which-models-a-modelpricing-row-applies-to) |

1194 1196 

1195Claude Code utilise les tarifs d'une ligne exactement comme vous les avez écrits, sans ajouter la surcharge du mode rapide ou le [tarif d'inférence réservé aux États-Unis](https://platform.claude.com/docs/en/about-claude/pricing). Si vous définissez également `multiplier`, Claude Code l'applique en plus des tarifs de la ligne. Claude Code supprime une ligne avec un tarif qu'il ne peut pas analyser, ou un `multiplier` qu'il ne peut pas analyser, et conserve le reste ; consultez [Corriger un fichier de paramètres cassé](/docs/fr/settings#fix-a-broken-settings-file).1197Claude Code utilise les tarifs d'une ligne exactement comme vous les avez écrits, sans ajouter la surcharge du mode rapide ou le [tarif d'inférence réservé aux États-Unis](https://platform.claude.com/docs/en/about-claude/pricing). Si vous définissez également `multiplier`, Claude Code l'applique en plus des tarifs de la ligne. Claude Code supprime une ligne avec un tarif qu'il ne peut pas analyser, ou un `multiplier` qu'il ne peut pas analyser, et conserve le reste ; consultez [Corriger un fichier de paramètres cassé](/docs/fr/settings#fix-a-broken-settings-file).

1196 1198 


1200 1202 

1201Claude Code décide quels modèles une ligne s'applique à à partir de la clé de la ligne :1203Claude Code décide quels modèles une ligne s'applique à à partir de la clé de la ligne :

1202 1204 

1203* **L'ID d'un modèle intégré** : une clé que Claude Code lui-même utilise pour un modèle intégré, que cette clé soit l'ID du modèle lui-même, tel que `claude-sonnet-4-6`, ou son ID Bedrock, Agent Platform, ou Foundry. Claude Code applique la ligne à chaque ID de snapshot daté et ID spécifique au fournisseur de ce modèle.1205* **L'ID d'un modèle intégré** : une clé que Claude Code lui-même utilise pour un modèle intégré, que cette clé soit l'ID du modèle lui-même, comme `claude-sonnet-4-6`, ou son ID Bedrock, Agent Platform, ou Foundry. Claude Code applique la ligne à chaque ID de snapshot daté et ID spécifique au fournisseur de ce modèle.

1204* **N'importe quelle autre clé** : une clé qui n'est pas l'ID d'un modèle intégré, comme un alias de modèle de passerelle. Claude Code applique la ligne à cet ID uniquement. Quand un ID de modèle correspond exactement à l'une de vos clés et tombe également sous une ligne clé par l'ID d'un modèle intégré, Claude Code utilise la correspondance exacte.1206* **Toute autre clé** : une clé qui n'est pas l'ID d'un modèle intégré, comme un alias de modèle de passerelle. Claude Code applique la ligne à cet ID uniquement. Quand un ID de modèle correspond exactement à l'une de vos clés et tombe également sous une ligne clé par l'ID d'un modèle intégré, Claude Code utilise la correspondance exacte.

1205* **Un profil d'inférence d'application Bedrock** : une fois que Claude Code a résolu le profil au modèle vers lequel il route, via votre carte [`modelOverrides`](#modeloverrides) ou la [recherche `bedrock:GetInferenceProfile`](/docs/fr/amazon-bedrock#iam-configuration), Claude Code applique la ligne de ce modèle au profil.1207* **Un profil d'inférence d'application Bedrock** : une fois que Claude Code a résolu le profil au modèle vers lequel il route, via votre carte [`modelOverrides`](#modeloverrides) ou la [recherche `bedrock:GetInferenceProfile`](/docs/fr/amazon-bedrock#iam-configuration), Claude Code applique la ligne de ce modèle au profil.

1206 1208 

1207<h3 id="modelsettings">1209<h3 id="modelsettings">

1208 `modelSettings`1210 `modelSettings`

1209</h3>1211</h3>

1210 1212 

1211Enregistrez un [niveau d'effort](/docs/fr/model-config#adjust-effort-level) pour chaque modèle que vous utilisez. Dans une session interactive sur votre machine, quand vous enregistrez `low`, `medium`, `high`, ou `xhigh` comme votre défaut avec `/effort` ou le curseur d'effort du sélecteur `/model`, Claude Code écrit ce niveau ici sous le modèle que vous utilisez, donc vous éditez rarement cette clé vous-même. L'entrée [`effortLevel`](#effortlevel) énumère les sessions où `/effort` s'applique à cette session uniquement. Nécessite Claude Code v2.1.251 ou ultérieur.1213Enregistrez un [niveau d'effort](/docs/fr/model-config#adjust-effort-level) pour chaque modèle que vous utilisez. Nécessite Claude Code v2.1.251 ou ultérieur.

1214 

1215Dans une session interactive sur votre machine, quand vous enregistrez `low`, `medium`, `high`, ou `xhigh` comme votre défaut avec `/effort` ou le curseur d'effort du sélecteur `/model`, Claude Code écrit ce niveau ici sous le modèle que vous utilisez, donc vous éditez rarement cette clé vous-même. Quand vous choisissez l'un de ces niveaux dans le [sélecteur de modèles de l'extension VS Code](/docs/fr/vs-code#use-the-prompt-box), Claude Code l'enregistre ici de la même manière. L'entrée [`effortLevel`](#effortlevel) énumère les sessions où `/effort` s'applique à cette session uniquement.

1212 1216 

1213Éditez la clé à la main pour modifier ou supprimer un niveau que vous avez enregistré.1217Éditez la clé à la main pour modifier ou supprimer un niveau que vous avez enregistré.

1214 1218 

1215Un `effortLevel` d'un modèle ici prend la priorité sur le [`effortLevel`](#effortlevel) de niveau supérieur dans le même fichier de paramètres. Entre les fichiers, Claude Code résout chaque modèle séparément : le [fichier de paramètres](/docs/fr/settings#settings-precedence) de plus haute priorité qui définit soit un `effortLevel` pour ce modèle soit le `effortLevel` de niveau supérieur décide, donc un `effortLevel` dans les paramètres gérés surclasse un niveau que vous avez enregistré dans les paramètres utilisateur. [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) énumère ce qui d'autre peut remplacer un niveau enregistré, comme `--effort` au lancement.1219Un `effortLevel` d'un modèle ici a la priorité sur le [`effortLevel`](#effortlevel) de niveau supérieur dans le même fichier de paramètres. Entre les fichiers, Claude Code résout chaque modèle séparément : le [fichier de paramètres](/docs/fr/settings#settings-precedence) de plus haute priorité qui définit soit un `effortLevel` pour ce modèle soit un `effortLevel` de niveau supérieur qui [s'applique à ce modèle](#effortlevel) décide, donc un `effortLevel` dans les paramètres gérés surclasse un niveau que vous avez enregistré dans les paramètres utilisateur. [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) énumère ce qui d'autre peut remplacer un niveau enregistré, comme `--effort` au lancement.

1216 1220 

1217Pour limiter l'effort d'un modèle plutôt que de définir son niveau, ajoutez un champ [`maxEffortLevel`](#maxeffortlevel) à l'entrée de ce modèle. Le champ nécessite Claude Code v2.1.267 ou ultérieur.1221Pour limiter l'effort d'un modèle plutôt que de définir son niveau, ajoutez un champ [`maxEffortLevel`](#maxeffortlevel) à l'entrée de ce modèle. Le champ nécessite Claude Code v2.1.267 ou ultérieur.

1218 1222 


1220* **Type** : objet mappant un nom de modèle à un objet avec un champ `effortLevel`, l'un de `"low"`, `"medium"`, `"high"`, ou `"xhigh"`, un champ [`maxEffortLevel`](#maxeffortlevel), ou les deux1224* **Type** : objet mappant un nom de modèle à un objet avec un champ `effortLevel`, l'un de `"low"`, `"medium"`, `"high"`, ou `"xhigh"`, un champ [`maxEffortLevel`](#maxeffortlevel), ou les deux

1221* **Par défaut** : non défini1225* **Par défaut** : non défini

1222 1226 

1223Claude Code écrit chaque entrée sous le nom canonique du modèle, tel que `claude-opus-5`, et correspond à l'alias de ce modèle, daté, `[1m]`, et les ID spécifiques au fournisseur reconnus à la même entrée.1227Claude Code écrit chaque entrée sous le nom canonique du modèle, comme `claude-opus-5-5`, et correspond à l'alias de ce modèle, daté, `[1m]`, et les ID spécifiques au fournisseur reconnus à la même entrée.

1224 1228 

1225Cet exemple garde Opus 5 à `medium` tandis que les autres modèles utilisent leurs propres niveaux enregistrés ou par défaut :1229Cet exemple garde Opus 5.5 à `high` tandis que les autres modèles utilisent leurs propres niveaux enregistrés ou par défaut :

1226 1230 

1227```json settings.json theme={null}1231```json settings.json theme={null}

1228{1232{

1229 "modelSettings": {1233 "modelSettings": {

1230 "claude-opus-5": {1234 "claude-opus-5-5": {

1231 "effortLevel": "medium"1235 "effortLevel": "high"

1232 }1236 }

1233 }1237 }

1234}1238}


1240 `outputStyle`1244 `outputStyle`

1241</h3>1245</h3>

1242 1246 

1243Sélectionnez un [style de sortie](/docs/fr/output-styles) par nom. Un style de sortie est un ensemble d'instructions enregistrées qui change le rôle, le ton, et le format de sortie de Claude, comme les styles Explanatory et Learning intégrés ou l'un que vous avez écrit vous-même.1247Sélectionnez un [style de sortie](/docs/fr/output-styles) par nom. Un style de sortie est un ensemble d'instructions enregistrées qui change le rôle, le ton et le format de sortie de Claude, comme les styles Explanatory et Learning intégrés ou l'un que vous avez écrit vous-même.

1244 1248 

1245Si vous modifiez cette clé pendant une session, Claude utilise le nouveau style à partir de votre message suivant. Pour ce que ce message coûte en cache de prompt, consultez [Changer le style de sortie](/docs/fr/prompt-caching#changing-output-style). Avant la v2.1.251, l'édition s'appliquait uniquement après que vous ayez exécuté `/clear` ou démarré une nouvelle session.1249Si vous modifiez cette clé pendant une session, Claude utilise le nouveau style à partir de votre message suivant. Pour ce que ce message coûte en cache de prompt, consultez [Changer le style de sortie](/docs/fr/prompt-caching#changing-output-style). Avant la v2.1.251, l'édition s'appliquait uniquement après que vous ayez exécuté `/clear` ou démarré une nouvelle session.

1246 1250 


1260 `promptCacheTtl`1264 `promptCacheTtl`

1261</h3>1265</h3>

1262 1266 

1263Choisissez combien de temps le [cache de prompt](/docs/fr/prompt-caching) conserve la conversation principale. Cette clé s'applique à vos tours interactifs, `-p`, et SDK Agent, ainsi que les assistants que Claude Code exécute en ligne avec eux. La durée de vie d'une heure garde le cache chaud sur les pauses plus longues, et l'API [facture chaque écriture de cache à un tarif plus élevé](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) qu'à la durée de vie de cinq minutes. Nécessite Claude Code v2.1.242 ou ultérieur.1267Choisissez combien de temps le [cache de prompt](/docs/fr/prompt-caching) conserve la conversation principale. Cette clé s'applique à vos tours interactifs, `-p`, et Agent SDK, ainsi que les assistants que Claude Code exécute en ligne avec eux. La durée de vie d'une heure garde le cache chaud entre les pauses plus longues, et l'API [facture chaque écriture de cache à un tarif plus élevé](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) qu'à la durée de vie de cinq minutes. Nécessite Claude Code v2.1.242 ou ultérieur.

1264 1268 

1265* **Portée** : [`Tout fichier`](#scopes)1269* **Portée** : [`Tout fichier`](#scopes)

1266* **Type** : chaîne, l'une de :1270* **Type** : chaîne, l'une de :

1267 * `"5m"` : le cache se conserve pendant cinq minutes1271 * `"5m"` : le cache se conserve pendant cinq minutes

1268 * `"1h"` : le cache se conserve pendant une heure1272 * `"1h"` : le cache se conserve pendant une heure

1269* **Par défaut** : non défini, donc chaque demande de conversation principale obtient sa [durée de vie par défaut](/docs/fr/prompt-caching#which-ttl-each-request-gets)1273* **Par défaut** : non défini, donc chaque demande de conversation principale obtient sa [durée de vie par défaut](/docs/fr/prompt-caching#which-ttl-each-request-gets)

1270* **Remplacements par session** : [`FORCE_PROMPT_CACHING_5M`](/docs/fr/env-vars) prend la priorité sur tout le reste, puis [`CLAUDE_CODE_PROMPT_CACHE_TTL`](/docs/fr/env-vars), puis cette clé, et enfin [`ENABLE_PROMPT_CACHING_1H`](/docs/fr/env-vars)1274* **Remplacements par session** : [`FORCE_PROMPT_CACHING_5M`](/docs/fr/env-vars) a la priorité sur tout le reste, puis [`CLAUDE_CODE_PROMPT_CACHE_TTL`](/docs/fr/env-vars), puis cette clé, et enfin [`ENABLE_PROMPT_CACHING_1H`](/docs/fr/env-vars)

1271 1275 

1272Cet exemple garde la conversation principale sur la durée de vie d'une heure et laisse les sous-agents sur cinq minutes :1276Cet exemple garde la conversation principale sur la durée de vie d'une heure et laisse les sous-agents sur cinq minutes :

1273 1277 


1304 `subagentPromptCacheTtl`1308 `subagentPromptCacheTtl`

1305</h3>1309</h3>

1306 1310 

1307Choisissez combien de temps le [cache de prompt](/docs/fr/prompt-caching) conserve les demandes que Claude Code fait en dehors de la conversation principale. Cette clé s'applique aux [sous-agents](/docs/fr/sub-agents), aux [workflows](/docs/fr/workflows), et aux demandes propres de Claude Code en arrière-plan et d'assistance, comme la compaction et les titres de session. La durée de vie d'une heure garde le cache chaud sur les pauses plus longues, et l'API [facture chaque écriture de cache à un tarif plus élevé](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) qu'à la durée de vie de cinq minutes. Nécessite Claude Code v2.1.242 ou ultérieur.1311Choisissez combien de temps le [cache de prompt](/docs/fr/prompt-caching) conserve les demandes que Claude Code fait en dehors de la conversation principale. Cette clé s'applique aux [sous-agents](/docs/fr/sub-agents), aux [workflows](/docs/fr/workflows), et aux demandes propres de Claude Code en arrière-plan et d'assistance, comme la compaction et les titres de session. La durée de vie d'une heure garde le cache chaud entre les pauses plus longues, et l'API [facture chaque écriture de cache à un tarif plus élevé](https://platform.claude.com/docs/en/build-with-claude/prompt-caching#pricing) qu'à la durée de vie de cinq minutes. Nécessite Claude Code v2.1.242 ou ultérieur.

1308 1312 

1309* **Portée** : [`Tout fichier`](#scopes)1313* **Portée** : [`Tout fichier`](#scopes)

1310* **Type** : chaîne, l'une de :1314* **Type** : chaîne, l'une de :

1311 * `"5m"` : le cache se conserve pendant cinq minutes1315 * `"5m"` : le cache se conserve pendant cinq minutes

1312 * `"1h"` : le cache se conserve pendant une heure1316 * `"1h"` : le cache se conserve pendant une heure

1313* **Par défaut** : non défini, donc chacune de ces demandes obtient sa [durée de vie par défaut](/docs/fr/prompt-caching#which-ttl-each-request-gets)1317* **Par défaut** : non défini, donc chacune de ces demandes obtient sa [durée de vie par défaut](/docs/fr/prompt-caching#which-ttl-each-request-gets)

1314* **Remplacements par session** : [`FORCE_PROMPT_CACHING_5M`](/docs/fr/env-vars) prend la priorité sur tout le reste, puis [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](/docs/fr/env-vars), puis cette clé, puis [`ENABLE_PROMPT_CACHING_1H`](/docs/fr/env-vars), qui demande la durée de vie d'une heure sur chaque demande. Pour où la valeur du frontmatter propre d'un sous-agent se classe, consultez [Choisir la TTL vous-même](/docs/fr/prompt-caching#choose-the-ttl-yourself)1318* **Remplacements par session** : [`FORCE_PROMPT_CACHING_5M`](/docs/fr/env-vars) a la priorité sur tout le reste, puis [`CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`](/docs/fr/env-vars), puis cette clé, puis [`ENABLE_PROMPT_CACHING_1H`](/docs/fr/env-vars), qui demande la durée de vie d'une heure sur chaque demande. Pour où la valeur du frontmatter propre d'un sous-agent se classe, consultez [Choisir la TTL vous-même](/docs/fr/prompt-caching#choose-the-ttl-yourself)

1315 1319 

1316Cet exemple donne aux sous-agents et aux autres demandes en dehors de la conversation principale la durée de vie d'une heure :1320Cet exemple donne aux sous-agents et aux autres demandes en dehors de la conversation principale la durée de vie d'une heure :

1317 1321 


1332* **Portée** : [`Tout fichier`](#scopes). Apparaît dans `/config` comme **Changer de modèles quand un message est signalé**.1336* **Portée** : [`Tout fichier`](#scopes). Apparaît dans `/config` comme **Changer de modèles quand un message est signalé**.

1333* **Type** : Booléen1337* **Type** : Booléen

1334 * `true` : Claude Code bascule vers le modèle de secours et continue1338 * `true` : Claude Code bascule vers le modèle de secours et continue

1335 * `false` : dans une session interactive, Claude Code fait une pause pour que vous puissiez choisir entre basculer et éditer l'invite ; où aucune boîte de dialogue ne peut s'afficher, comme une exécution `-p`, la demande signalée se termine comme une erreur1339 * `false` : dans une session interactive Claude Code fait une pause pour que vous puissiez choisir entre basculer et éditer l'invite ; où aucune boîte de dialogue ne peut s'afficher, comme une exécution `-p`, la demande signalée se termine comme une erreur

1336* **Par défaut** : `true`, basculer automatiquement1340* **Par défaut** : `true`, basculer automatiquement

1337 1341 

1338```json settings.json theme={null}1342```json settings.json theme={null}


1347 `ultracode`1351 `ultracode`

1348</h3>1352</h3>

1349 1353 

1350Démarrez les sessions avec [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode) activé. Avec lui activé, Claude planifie un workflow pour chaque tâche substantielle au lieu d'attendre que vous le demandiez. Claude planifie les workflows uniquement quand les [workflows dynamiques](/docs/fr/workflows) sont activés pour vous, votre modèle supporte l'effort `xhigh`, et aucun [plafond d'effort](/docs/fr/model-config#organization-effort-limits) inférieur à `xhigh` ne s'applique. De toute façon, `ultracode: true` exécute la session à l'effort `xhigh`, ou au plafond quand un plafond d'effort est plus bas. Claude Code lit cette clé mais ne l'écrit jamais : `/effort ultracode` active ultracode pour la session actuelle uniquement.1354Démarrez les sessions avec [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode) activé. Avec lui activé, Claude planifie un workflow pour chaque tâche substantielle au lieu d'attendre que vous le demandiez. Claude planifie les workflows uniquement quand les [workflows dynamiques](/docs/fr/workflows) sont activés pour vous, votre modèle supporte l'effort `xhigh`, et aucune [limite d'effort](/docs/fr/model-config#organization-effort-limits) inférieure à `xhigh` ne s'applique. De toute façon, `ultracode: true` exécute la session à l'effort `xhigh`, ou à la limite quand une limite d'effort est inférieure. Claude Code lit cette clé mais ne l'écrit jamais : `/effort ultracode` active ultracode pour la session actuelle uniquement.

1351 1355 

1352* **Portée** : [`Tout fichier`](#scopes)1356* **Portée** : [`Tout fichier`](#scopes)

1353* **Type** : Booléen1357* **Type** : Booléen

1354 * `true` : les sessions démarrent à l'effort `xhigh`, avec ultracode activé quand les workflows dynamiques sont activés pour vous, votre modèle supporte `xhigh`, et aucun plafond d'effort n'est inférieur à `xhigh`1358 * `true` : les sessions commencent à l'effort `xhigh`, avec ultracode activé quand les workflows dynamiques sont activés pour vous, votre modèle supporte `xhigh`, et aucune limite d'effort n'est inférieure à `xhigh`

1355 * `false` : les sessions démarrent avec ultracode désactivé1359 * `false` : les sessions commencent avec ultracode désactivé

1356* **Par défaut** : non défini, donc ultracode est désactivé1360* **Par défaut** : non défini, donc ultracode est désactivé

1357* **Remplacements par session** : `/effort ultracode` active ultracode pour une session sans cette clé. Le drapeau `--effort ultracode` l'active également pour une session et nécessite Claude Code v2.1.203 ou ultérieur1361* **Remplacements par session** : `/effort ultracode` active ultracode pour une session sans cette clé. L'indicateur `--effort ultracode` l'active également pour une session et nécessite Claude Code v2.1.203 ou ultérieur

1358 1362 

1359```json settings.json theme={null}1363```json settings.json theme={null}

1360{1364{


1362}1366}

1363```1367```

1364 1368 

1365Ultracode exécute la session à l'effort `xhigh` et prend la priorité sur `effortLevel` et les entrées [`modelSettings`](#modelsettings). Si un [plafond d'effort](/docs/fr/model-config#organization-effort-limits) inférieur à `xhigh` s'applique au modèle, comme un paramètre [`maxEffortLevel`](#maxeffortlevel), la session s'exécute au plafond à la place et ultracode reste désactivé. Claude ne planifie alors pas les workflows de sa propre initiative, et `/effort` n'offre pas `ultracode`. Une demande de contrôle `apply_flag_settings` du SDK Agent accepte également la clé.1369Ultracode exécute la session à l'effort `xhigh` et a la priorité sur `effortLevel` et les entrées [`modelSettings`](#modelsettings). Si une [limite d'effort](/docs/fr/model-config#organization-effort-limits) inférieure à `xhigh` s'applique au modèle, comme un paramètre [`maxEffortLevel`](#maxeffortlevel), la session s'exécute à la limite à la place et ultracode reste désactivé. Claude ne planifie alors pas les workflows de son propre chef, et `/effort` n'offre pas `ultracode`. Une demande de contrôle `apply_flag_settings` de l'Agent SDK accepte également la clé.

1366 1370 

1367<h2 id="permission-settings">1371<h2 id="permission-settings">

1368 Paramètres de permission1372 Paramètres de permission


1839 `sandbox.excludedCommands`1843 `sandbox.excludedCommands`

1840</h3>1844</h3>

1841 1845 

1842Nommez les commandes que Claude Code exécute toujours en dehors du sandbox, comme les outils qui ne fonctionnent pas sous celui-ci. Chaque entrée utilise la même syntaxe que le contenu d'une [règle de permission](/docs/fr/permissions#permission-rule-syntax) `Bash(...)` : une commande exacte, un préfixe tel que `docker *`, ou un motif avec caractères génériques. Lorsqu'une partie d'une commande composée correspond à une entrée, Claude Code exécute la commande entière sans sandbox.1846Nommez les commandes que Claude Code exécute en dehors du sandbox, comme les outils qui ne fonctionnent pas sous celui-ci. Chaque entrée utilise la même syntaxe que le contenu d'une [règle de permission](/docs/fr/permissions#permission-rule-syntax) `Bash(...)` : une commande exacte, un préfixe tel que `docker *`, ou un motif avec caractères génériques.

1847 

1848Vos entrées sortent un appel Bash du sandbox uniquement lorsqu'elles couvrent chaque commande dedans, et certaines formes d'appel restent en sandbox même dans ce cas. Une entrée `docker *` seule ne sort pas `npm ci && docker build .` du sandbox.

1843 1849 

1844* **Scope** : [`Any file`](#scopes)1850* **Scope** : [`Any file`](#scopes)

1845* **Type** : tableau de motifs de commande1851* **Type** : tableau de motifs de commande


1853}1859}

1854```1860```

1855 1861 

1862Claude Code garde un appel Bash en sandbox lorsqu'il a l'une de ces formes, parmi d'autres :

1863 

1864* Une commande commençant par `sudo`, `eval` ou `xargs`

1865* Un `cd`, `pushd` ou `popd`, où qu'il apparaisse dans l'appel

1866* Une substitution de commande, un sous-shell ou un bloc de contrôle de flux tel que `if` ou `for`

1867* Une redirection, comme `docker build . > build.log`, autre qu'une qui duplique uniquement un descripteur de fichier, comme `2>&1` le fait

1868* Un nom de commande qui provient d'une variable

1869 

1870Par exemple, `cd build && docker compose up` reste en sandbox sous une entrée `docker *`, et ajouter une entrée `cd` ne change pas cela.

1871 

1856Les commandes exclues passent toujours par le flux de permission régulier. L'exclusion est une commodité, pas une limite de sécurité : préférez [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite) lorsqu'un outil ne doit écrire que quelque part de spécifique. Claude Code fusionne les entrées dans chaque portée de paramètres que la session charge, et il n'y a pas de verrou réservé aux paramètres gérés pour cette liste, donc gardez une liste gérée étroite.1872Les commandes exclues passent toujours par le flux de permission régulier. L'exclusion est une commodité, pas une limite de sécurité : préférez [`filesystem.allowWrite`](#sandbox-filesystem-allowwrite) lorsqu'un outil ne doit écrire que quelque part de spécifique. Claude Code fusionne les entrées dans chaque portée de paramètres que la session charge, et il n'y a pas de verrou réservé aux paramètres gérés pour cette liste, donc gardez une liste gérée étroite.

1857 1873 

1858<h3 id="sandbox-allowunsandboxedcommands">1874<h3 id="sandbox-allowunsandboxedcommands">


1905}1921}

1906```1922```

1907 1923 

1908Claude Code applique ces listes à la limite du sandbox du système d'exploitation, donc elles s'appliquent à chaque sous-processus qu'une commande en sandbox démarre, comme `kubectl`, `terraform` ou `npm`, pas seulement aux outils de fichiers de Claude. Claude Code ajoute vos [règles de permission](/docs/fr/sandboxing#permission-rules) aux mêmes listes : les règles `Edit` allow et deny à `allowWrite` et `denyWrite`, les règles `Read` deny à `denyRead`, et les règles `WebFetch(domain:...)` allow et deny aux listes de domaines [`network`](#sandbox-network).1924Claude Code applique ces listes à la limite du sandbox du système d'exploitation, donc elles s'appliquent à chaque sous-processus qu'une commande en sandbox démarre, comme `kubectl`, `terraform` ou `npm`. Claude Code ajoute vos [règles de permission](/docs/fr/sandboxing#permission-rules) aux mêmes listes : les règles `Edit` allow et deny à `allowWrite` et `denyWrite`, les règles `Read` deny à `denyRead`, et les règles `WebFetch(domain:...)` allow et deny aux listes de domaines [`network`](#sandbox-network).

1909 1925 

1910Sauf si un verrou réservé aux paramètres gérés est défini, Claude Code fusionne chaque liste dans les fichiers de paramètres que la session charge. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) limite `allowRead` aux entrées des paramètres gérés, et [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) fait la même chose pour les domaines autorisés.1926Sauf si un verrou réservé aux paramètres gérés est défini, Claude Code fusionne chaque liste dans les fichiers de paramètres que la session charge. [`allowManagedReadPathsOnly`](#sandbox-filesystem-allowmanagedreadpathsonly) limite `allowRead` aux entrées des paramètres gérés, et [`allowManagedDomainsOnly`](#sandbox-network-allowmanageddomainsonly) fait la même chose pour les domaines autorisés.

1911 1927 


2456 `sandbox.credentials.awsPairs`2472 `sandbox.credentials.awsPairs`

2457</h3>2473</h3>

2458 2474 

2459Groupez les variables d'environnement masquées qui forment une identifiant AWS pour [re-signing SigV4](/docs/fr/sandboxing#re-sign-aws-requests) lorsque votre identifiant vit dans des variables avec des noms non standard. Claude Code lie automatiquement le trio conventionnel `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` et `AWS_SESSION_TOKEN` lorsque vous masquez leurs valeurs entières, donc vous n'avez besoin de cette clé que pour d'autres noms. Nécessite Claude Code v2.1.224 ou ultérieur.2475Groupez les variables d'environnement masquées qui forment un identifiant AWS pour [re-signing SigV4](/docs/fr/sandboxing#re-sign-aws-requests) lorsque votre identifiant vit dans des variables avec des noms non standard. Claude Code lie automatiquement le trio conventionnel `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` et `AWS_SESSION_TOKEN` lorsque vous masquez leurs valeurs entières, donc vous n'avez besoin de cette clé que pour d'autres noms. Nécessite Claude Code v2.1.224 ou ultérieur.

2460 2476 

2461* **Scope** : [`User or managed`](#scopes)2477* **Scope** : [`User or managed`](#scopes)

2462* **Type** : tableau d'objets, chacun avec `accessKeyIdVar`, `secretAccessKeyVar` et optionnellement `sessionTokenVar`, nommant les entrées [`sandbox.credentials.envVars`](#sandbox-credentials-envvars)2478* **Type** : tableau d'objets, chacun avec `accessKeyIdVar`, `secretAccessKeyVar` et optionnellement `sessionTokenVar`, nommant les entrées [`sandbox.credentials.envVars`](#sandbox-credentials-envvars)

2463* **Default** : non défini, donc seul le trio conventionnel est appairé2479* **Default** : non défini, donc seul le trio conventionnel est appairé

2464 2480 

2465Ceci lie trois variables nommées personnalisées en une identifiant AWS pour re-signing :2481Ceci lie trois variables nommées personnalisées en un identifiant AWS pour re-signing :

2466 2482 

2467```json settings.json theme={null}2483```json settings.json theme={null}

2468{2484{


2534}2550}

2535```2551```

2536 2552 

2537Claude Code fusionne les sous-clés de tableau dans les portées de paramètres et les déduplique, donc un projet peut ajouter des domaines à votre liste utilisateur. Les règles de permission `WebFetch(domain:...)` allow et deny [permission rules](/docs/fr/sandboxing#permission-rules) alimentent les mêmes listes allow et deny.2553Claude Code fusionne les sous-clés de tableau dans les portées de paramètres et les déduplique, donc un projet peut ajouter des domaines à votre liste utilisateur. Les règles de permission `WebFetch(domain:...)` allow et deny alimentent les mêmes listes allow et deny.

2538 2554 

2539<h3 id="sandbox-network-allowunixsockets">2555<h3 id="sandbox-network-allowunixsockets">

2540 `sandbox.network.allowUnixSockets`2556 `sandbox.network.allowUnixSockets`


3066 `taskOutputMaxChars`3082 `taskOutputMaxChars`

3067</h3>3083</h3>

3068 3084 

3069Définissez le nombre de caractères de la [sortie d'une tâche en arrière-plan](/docs/fr/tools-reference#background-commands) que Claude reçoit en ligne lorsque Claude lit la tâche avec l'outil `TaskOutput`. Lorsque la sortie d'une tâche terminée est plus longue, Claude reçoit les caractères les plus récents. Augmentez la limite lorsque vos tâches en arrière-plan produisent régulièrement plus de sortie que la valeur par défaut. Nécessite Claude Code v2.1.261 ou ultérieur.3085<Warning>

3070 3086 Supprimé dans v2.1.277, ainsi que l'outil `TaskOutput` qu'il dimensionnait. Le définir n'a aucun effet sur les versions actuelles. Claude lit le [fichier de sortie](/docs/fr/tools-reference#background-commands) d'une tâche en arrière-plan avec `Read` à la place.

3071* **Scope** : [`Any file`](#scopes)3087</Warning>

3072* **Type** : number of characters, a positive integer. Claude Code clamps the value into the range `4000` to `128000`

3073* **Default** : non défini, donc Claude reçoit jusqu'à 32 000 caractères en ligne

3074 

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

3076{

3077 "taskOutputMaxChars": 100000

3078}

3079```

3080 3088 

3081Lorsque vous définissez cette clé, Claude Code ignore la variable d'environnement [`TASK_MAX_OUTPUT_LENGTH`](/docs/fr/env-vars).3089Jusqu'à v2.1.276, vous définissiez cette clé au nombre de caractères de la [sortie d'une tâche en arrière-plan](/docs/fr/tools-reference#background-commands) que Claude reçoit en ligne lorsqu'il lisait la tâche avec l'outil `TaskOutput`.

3082 3090 

3083<h2 id="interface-and-terminal">3091<h2 id="interface-and-terminal">

3084 Interface et terminal3092 Interface et terminal


3994 4002 

3995Pour masquer toute attribution, définissez [`commit`](#attribution-commit) et [`pr`](#attribution-pr) sur des chaînes vides et [`sessionUrl`](#attribution-sessionurl) sur `false`. Une fois que vous définissez `commit` ou `pr`, Claude Code ignore le paramètre `includeCoAuthoredBy` déprécié et utilise son texte par défaut pour celui des deux que vous avez laissé non défini.4003Pour masquer toute attribution, définissez [`commit`](#attribution-commit) et [`pr`](#attribution-pr) sur des chaînes vides et [`sessionUrl`](#attribution-sessionurl) sur `false`. Une fois que vous définissez `commit` ou `pr`, Claude Code ignore le paramètre `includeCoAuthoredBy` déprécié et utilise son texte par défaut pour celui des deux que vous avez laissé non défini.

3996 4004 

4005Claude Code indique à Claude que vos propres instructions concernant l'attribution, telles qu'une règle CLAUDE.md ou [memory](/docs/fr/memory), ont la priorité sur ces lignes de commit et de PR, sauf si la ligne est définie dans les [paramètres gérés](/docs/fr/managed-settings).

4006 

3997<h3 id="includecoauthoredby">4007<h3 id="includecoauthoredby">

3998 `includeCoAuthoredBy`4008 `includeCoAuthoredBy`

3999</h3>4009</h3>


4022 `includeGitInstructions`4032 `includeGitInstructions`

4023</h3>4033</h3>

4024 4034 

4025Au démarrage de la session, Claude Code ajoute deux éléments liés à git à l'invite de Claude : ses instructions intégrées sur la façon d'écrire des commits et des pull requests, dans la description de l'outil Bash, et un snapshot d'état git de votre référentiel dans l'invite système, ce qui signifie la branche actuelle, la branche principale, la sortie `git status` et les commits récents. Définissez cette clé sur `false` pour laisser les deux de côté, par exemple lorsque vous utilisez vos propres skills de flux de travail git.4035Claude Code donne à Claude deux éléments de contexte liés à git : ses instructions intégrées sur la façon d'écrire des commits et des pull requests, dans la description de l'outil Bash, et un snapshot d'état git de votre référentiel. Le snapshot contient la branche actuelle, la branche principale, la sortie `git status` et les commits récents. Claude Code le lit au démarrage d'une conversation.

4036 

4037Définissez cette clé sur `false` pour laisser les deux de côté, par exemple lorsque vous utilisez vos propres skills de flux de travail git.

4026 4038 

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

4028* **Type** : booléen4040* **Type** : booléen


4627| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` requis ; `ref` est une branche ou une étiquette ; `path` est un sous-répertoire |4639| `github` | `{ "source": "github", "repo": "acme-corp/plugins", "ref": "main", "path": "marketplace" }` | `repo` requis ; `ref` est une branche ou une étiquette ; `path` est un sous-répertoire |

4628| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` requis ; `ref` et `path` comme pour `github` |4640| `git` | `{ "source": "git", "url": "https://gitlab.example.com/tools/plugins.git", "ref": "production" }` | `url` requis ; `ref` et `path` comme pour `github` |

4629| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` requis ; `headers` ajoute des en-têtes HTTP pour l'accès authentifié |4641| `url` | `{ "source": "url", "url": "https://plugins.example.com/marketplace.json", "headers": { "Authorization": "Bearer ${TOKEN}" } }` | `url` requis ; `headers` ajoute des en-têtes HTTP pour l'accès authentifié |

4630| `npm` | `{ "source": "npm", "package": "@acme-corp/claude-plugins" }` | `package` requis, le package npm qui contient `marketplace.json` |

4631| `file` | `{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }` | `path` requis, le chemin absolu vers un fichier `marketplace.json` |4642| `file` | `{ "source": "file", "path": "/opt/acme-corp/plugins/marketplace.json" }` | `path` requis, le chemin absolu vers un fichier `marketplace.json` |

4632| `directory` | `{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }` | `path` requis, le chemin absolu vers un répertoire contenant `.claude-plugin/marketplace.json` |4643| `directory` | `{ "source": "directory", "path": "/opt/acme-corp/approved-marketplaces" }` | `path` requis, le chemin absolu vers un répertoire contenant `.claude-plugin/marketplace.json` |

4633| `hostPattern` | `{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }` | `hostPattern` requis, une regex correspondant à l'hôte de la marketplace |4644| `hostPattern` | `{ "source": "hostPattern", "hostPattern": "^github\\.example\\.com$" }` | `hostPattern` requis, une regex correspondant à l'hôte de la marketplace |


5905}5916}

5906```5917```

5907 5918 

5908Définissez l'intervalle d'actualisation avec [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/docs/fr/env-vars). Voir [En-têtes dynamiques](/docs/fr/monitoring-usage#dynamic-headers) pour les exigences du script et où Claude Code signale un aide défaillant.5919Définissez l'intervalle d'actualisation avec [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/docs/fr/env-vars). Voir [En-têtes dynamiques](/docs/fr/monitoring-usage#dynamic-headers) pour les exigences du script et ce que les développeurs voient lorsque l'aide échoue.

5909 5920 

5910<h2 id="updates-and-versioning">5921<h2 id="updates-and-versioning">

5911 Mises à jour et versioning5922 Mises à jour et versioning


5937 `minimumVersion`5948 `minimumVersion`

5938</h3>5949</h3>

5939 5950 

5940Empêchez les mises à jour automatiques en arrière-plan et `claude update` d'installer une version inférieure à celle-ci, de sorte que le passage au canal `"stable"` ne vous rétrograde pas à partir d'une version `"latest"` plus récente. Claude Code écrit cette clé pour vous lorsque vous choisissez de rester sur votre version actuelle tout en changeant de canal dans `/config`, et l'efface lorsque vous revenez à `"latest"`.5951Empêchez les mises à jour automatiques en arrière-plan et `claude update` d'installer une version inférieure à celle-ci, de sorte que le passage au canal `"stable"` ne vous rétrograde pas à partir d'une version `"latest"` plus récente. Claude Code écrit cette clé pour vous lorsque vous choisissez de rester sur votre version actuelle lors du changement de canal dans `/config`, et la supprime lorsque vous revenez à `"latest"`.

5941 5952 

5942* **Portée** : [`Any file`](#scopes). Définissez-le dans les paramètres gérés pour épingler un minimum à l'échelle de l'organisation que les paramètres utilisateur et projet ne peuvent pas réduire.5953* **Portée** : [`Any file`](#scopes). Définissez-le dans les paramètres gérés pour épingler un minimum à l'échelle de l'organisation que les paramètres utilisateur et projet ne peuvent pas réduire.

5943* **Type** : string, un numéro de version tel que `"2.1.100"`5954* **Type** : string, un numéro de version tel que `"2.1.100"` ; une valeur qui n'est pas une version valide est ignorée

5944* **Défaut** : non défini, donc les mises à jour peuvent installer n'importe quelle version que le canal propose5955* **Défaut** : non défini, donc les mises à jour peuvent installer n'importe quelle version que le canal propose

5945 5956 

5946Cet exemple suit le canal stable et refuse d'installer une version inférieure à 2.1.100 :5957Cet exemple suit le canal stable et refuse d'installer une version inférieure à 2.1.100 :


5958 `requiredMaximumVersion`5969 `requiredMaximumVersion`

5959</h3>5970</h3>

5960 5971 

5961Définissez la version la plus récente de Claude Code que votre organisation autorise à démarrer. Lorsque la version en cours d'exécution est plus récente, Claude Code se ferme au démarrage et indique à l'utilisateur d'installer une version approuvée via la méthode approuvée de votre organisation ; `claude install <version>` peut également fonctionner. Nécessite Claude Code v2.1.163 ou version ultérieure.5972Définissez la version la plus récente de Claude Code que votre organisation autorise à démarrer. Lorsque la version en cours d'exécution est plus récente, Claude Code se ferme au démarrage et indique à l'utilisateur d'installer une version approuvée par la méthode approuvée de votre organisation ; `claude install <version>` peut également fonctionner. Nécessite Claude Code v2.1.163 ou version ultérieure.

5962 5973 

5963* **Portée** : [`Managed`](#scopes). Claude Code ne donne aucun avertissement lorsqu'il ignore la clé ailleurs.5974* **Portée** : [`Managed`](#scopes). Claude Code ne donne aucun avertissement lorsqu'il ignore la clé ailleurs.

5964* **Type** : string, un numéro de version tel que `"2.1.150"` ; une valeur qui n'est pas une version valide est ignorée5975* **Type** : string, un numéro de version tel que `"2.1.150"` ; une valeur qui n'est pas une version valide est ignorée


5970}5981}

5971```5982```

5972 5983 

5973Les mises à jour automatiques en arrière-plan et `claude update` ignorent les versions au-dessus du plafond, de sorte qu'une installation dans la plage reste dans la plage. `claude update`, `claude install` et `claude doctor` continuent de fonctionner au-dessus du plafond afin que les utilisateurs puissent récupérer. Associez-le à [`requiredMinimumVersion`](#requiredminimumversion) pour appliquer une plage.5984Les mises à jour automatiques en arrière-plan et `claude update` ignorent les versions au-dessus du plafond, de sorte qu'une installation dans la plage reste à l'intérieur. `claude update`, `claude install` et `claude doctor` continuent de fonctionner au-dessus du plafond pour que les utilisateurs puissent récupérer. Associez-le à [`requiredMinimumVersion`](#requiredminimumversion) pour appliquer une plage.

5974 5985 

5975<h3 id="requiredminimumversion">5986<h3 id="requiredminimumversion">

5976 `requiredMinimumVersion`5987 `requiredMinimumVersion`

5977</h3>5988</h3>

5978 5989 

5979Définissez la version la plus ancienne de Claude Code que votre organisation autorise à démarrer. Lorsque la version en cours d'exécution est plus ancienne, Claude Code se ferme au démarrage et indique à l'utilisateur de mettre à jour via la méthode approuvée de votre organisation. La vérification s'exécute uniquement au démarrage, de sorte qu'une session déjà en cours d'exécution continue. Nécessite Claude Code v2.1.163 ou version ultérieure.5990Définissez la version la plus ancienne de Claude Code que votre organisation autorise à démarrer. Lorsque la version en cours d'exécution est plus ancienne, Claude Code se ferme au démarrage et indique à l'utilisateur de mettre à jour par la méthode approuvée de votre organisation. La vérification s'exécute uniquement au démarrage, de sorte qu'une session déjà en cours d'exécution continue. Nécessite Claude Code v2.1.163 ou version ultérieure.

5980 5991 

5981* **Portée** : [`Managed`](#scopes). Claude Code ne donne aucun avertissement lorsqu'il ignore la clé ailleurs.5992* **Portée** : [`Managed`](#scopes). Claude Code ne donne aucun avertissement lorsqu'il ignore la clé ailleurs.

5982* **Type** : string, un numéro de version tel que `"2.1.150"` ; une valeur qui n'est pas une version valide est ignorée5993* **Type** : string, un numéro de version tel que `"2.1.150"` ; une valeur qui n'est pas une version valide est ignorée


5988}5999}

5989```6000```

5990 6001 

5991`claude update`, `claude install` et `claude doctor` continuent de fonctionner en dessous du plancher afin que les utilisateurs puissent récupérer. Contrairement à [`minimumVersion`](#minimumversion), qui ne prévient que les rétrograder, cette clé bloque le démarrage. Associez-le à [`requiredMaximumVersion`](#requiredmaximumversion) pour appliquer une plage.6002`claude update`, `claude install` et `claude doctor` continuent de fonctionner en dessous du plancher pour que les utilisateurs puissent récupérer. Contrairement à [`minimumVersion`](#minimumversion), qui empêche uniquement les rétrograder, cette clé bloque le démarrage. Associez-le à [`requiredMaximumVersion`](#requiredmaximumversion) pour appliquer une plage.

5992 6003 

5993<h2 id="tools">6004<h2 id="tools">

5994 Outils6005 Outils

skills.md +9 −5

Details

145 145 

146Claude Code charge les skills de projet depuis `.claude/skills/` dans le répertoire où vous le démarrez et dans chaque répertoire parent jusqu'à la racine du référentiel, donc démarrer dans `packages/frontend/` récupère toujours les skills définies à la racine. Quand vous [déplacez la session avec `/cd`](/docs/fr/permissions#move-the-session-to-another-directory) sur v2.1.246 ou ultérieur, Claude Code ajoute les skills de projet du nouveau répertoire.146Claude Code charge les skills de projet depuis `.claude/skills/` dans le répertoire où vous le démarrez et dans chaque répertoire parent jusqu'à la racine du référentiel, donc démarrer dans `packages/frontend/` récupère toujours les skills définies à la racine. Quand vous [déplacez la session avec `/cd`](/docs/fr/permissions#move-the-session-to-another-directory) sur v2.1.246 ou ultérieur, Claude Code ajoute les skills de projet du nouveau répertoire.

147 147 

148Dans une session s'exécutant dans un [git worktree](/docs/fr/worktrees) lié, Claude Code recherche les répertoires parents uniquement jusqu'à la racine du worktree. Sur Claude Code v2.1.277 ou ultérieur, quand le checkout du worktree n'a pas de répertoire `.claude/skills` à sa racine, Claude Code charge à la place les skills de projet du checkout principal. Voir [Ce que les worktrees partagent avec le checkout principal](/docs/fr/worktrees#what-worktrees-share-with-the-main-checkout).

149 

148Les skills dans un répertoire `.claude/skills/` en dessous de celui où vous avez démarré ne se chargent pas au démarrage. Elles se chargent la première fois que Claude lit ou édite un fichier dans ce sous-répertoire et restent disponibles pour le reste de la session. Jusqu'à ce moment, elles n'apparaissent pas dans le menu `/` et vous ne pouvez pas les invoquer par nom. Pour les charger plus tôt, exécutez `/add-dir` avec le chemin du sous-répertoire, ce qui nécessite Claude Code v2.1.257 ou ultérieur.150Les skills dans un répertoire `.claude/skills/` en dessous de celui où vous avez démarré ne se chargent pas au démarrage. Elles se chargent la première fois que Claude lit ou édite un fichier dans ce sous-répertoire et restent disponibles pour le reste de la session. Jusqu'à ce moment, elles n'apparaissent pas dans le menu `/` et vous ne pouvez pas les invoquer par nom. Pour les charger plus tôt, exécutez `/add-dir` avec le chemin du sous-répertoire, ce qui nécessite Claude Code v2.1.257 ou ultérieur.

149 151 

150Quand une skill imbriquée partage un nom avec une autre skill, les deux restent disponibles. Avec une skill `deploy` à la racine du référentiel et une autre dans `apps/web/.claude/skills/` :152Quand une skill imbriquée partage un nom avec une autre skill, les deux restent disponibles. Avec une skill `deploy` à la racine du référentiel et une autre dans `apps/web/.claude/skills/` :


186Si une skill existe uniquement dans `~/.claude/skills/` sur votre machine, Claude Code signale que la skill n'a pas été trouvée quand une [routine](/docs/fr/routines) l'invoque, car chaque exécution de routine démarre en tant que nouvelle session cloud. Pour rendre une skill personnelle disponible dans ces sessions :188Si une skill existe uniquement dans `~/.claude/skills/` sur votre machine, Claude Code signale que la skill n'a pas été trouvée quand une [routine](/docs/fr/routines) l'invoque, car chaque exécution de routine démarre en tant que nouvelle session cloud. Pour rendre une skill personnelle disponible dans ces sessions :

187 189 

188* Pour les sessions Cowork et cloud, activez la skill pour votre compte claude.ai.190* Pour les sessions Cowork et cloud, activez la skill pour votre compte claude.ai.

189* Pour les sessions cloud, vous pouvez à la place valider la skill dans le `.claude/skills/` du référentiel, ou la livrer dans un plugin déclaré dans le `.claude/settings.json` du référentiel. Les plugins déclarés dans le référentiel [s'installent au démarrage de la session](/docs/fr/cloud-environments#what-carries-over-from-your-setup) ; les plugins activés uniquement dans vos paramètres utilisateur ne se transfèrent pas.191* Pour les sessions cloud, vous pouvez à la place valider la skill dans le `.claude/skills/` du référentiel. Les plugins déclarés dans le `.claude/settings.json` du référentiel et les plugins activés uniquement dans vos paramètres utilisateur [ne se chargent pas dans les sessions cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup).

190 192 

191Les [tâches planifiées Desktop](/docs/fr/desktop-scheduled-tasks) s'exécutent localement sur votre machine, donc elles chargent `~/.claude/skills/`.193Les [tâches planifiées Desktop](/docs/fr/desktop-scheduled-tasks) s'exécutent localement sur votre machine, donc elles chargent `~/.claude/skills/`.

192 194 


219 221 

220Les skills qu'une session antérieure a synchronisées restent sur le disque. Claude Code les charge dans les sessions ultérieures connectées au même compte, même quand il ne peut pas atteindre claude.ai.222Les skills qu'une session antérieure a synchronisées restent sur le disque. Claude Code les charge dans les sessions ultérieures connectées au même compte, même quand il ne peut pas atteindre claude.ai.

221 223 

224Claude Code télécharge les skills synchronisées et ne les télécharge jamais. Si vous ou Claude éditez un fichier sous `~/.claude/skills/synced/`, la modification n'est pas enregistrée sur votre compte claude.ai, et une synchronisation ultérieure peut la remplacer ou la supprimer. Pour modifier une skill synchronisée, mettez-la à jour sur claude.ai ; la prochaine synchronisation télécharge la nouvelle version.

225 

222Pour voir quelles skills se sont synchronisées, exécutez `/skills`. Le menu les liste sous `claude.ai sync`.226Pour voir quelles skills se sont synchronisées, exécutez `/skills`. Le menu les liste sous `claude.ai sync`.

223 227 

224Certaines skills d'Anthropic, comme `pdf` et `xlsx`, se synchronisent toujours. Pour les autres, activez ou désactivez une skill dans vos paramètres de skills sur claude.ai pour changer si elle se synchronise.228Certaines skills d'Anthropic, comme `pdf` et `xlsx`, se synchronisent toujours. Pour les autres, activez ou désactivez une skill dans vos paramètres de skills sur claude.ai pour changer si elle se synchronise.


335 Référence du frontmatter339 Référence du frontmatter

336</h3>340</h3>

337 341 

338Au-delà du contenu markdown, vous pouvez configurer le comportement de la compétence en utilisant les champs du frontmatter YAML entre les marqueurs `---` en haut de votre fichier `SKILL.md` :342Configurez une compétence avec le [frontmatter](/docs/fr/glossary#frontmatter) YAML entre les marqueurs `---` en haut de `SKILL.md`, et écrivez les instructions de la compétence en Markdown après le `---` de fermeture. Les noms de champs utilisent des mots minuscules séparés par des tirets, sauf `when_to_use`. Un [fichier de commande](#where-skills-live) dans `.claude/commands/` accepte les mêmes champs sauf `name` et `paths`. Cet exemple définit quatre champs :

339 343 

340```yaml theme={null}344```yaml theme={null}

341---345---


348Your skill instructions here...352Your skill instructions here...

349```353```

350 354 

351Tous les champs sont optionnels. Seul `description` est recommandé afin que Claude sache quand utiliser la compétence.355Tous les champs sont optionnels. Seul `description` est recommandé afin que Claude sache quand utiliser la compétence. Un nom de champ doit correspondre exactement au tableau, tirets inclus : Claude Code ignore un champ qu'il ne reconnaît pas sans signaler une erreur.

352 356 

353Claude Code lit le frontmatter uniquement lorsque l'ouverture `---` est la première ligne du fichier. Sinon, il traite le fichier entier, marqueurs `---` inclus, comme contenu de compétence.357Claude Code lit le frontmatter uniquement lorsque l'ouverture `---` est la première ligne du fichier. Sinon, il traite le fichier entier, marqueurs `---` inclus, comme contenu de compétence. Si le YAML entre les marqueurs ne s'analyse pas, la compétence se charge quand même sans champs définis ; voir [Compétence ne se déclenchant pas](#skill-not-triggering) pour trouver et corriger l'erreur.

354 358 

355Les champs booléens acceptent `yes`, `no`, `on`, `off`, `1` et `0` dans n'importe quelle casse de lettre, en plus de `true` et `false`. Avant v2.1.218, Claude Code ne reconnaissait que `true` et `false`.359Les champs booléens acceptent `yes`, `no`, `on`, `off`, `1` et `0` dans n'importe quelle casse de lettre, en plus de `true` et `false`. Avant v2.1.218, Claude Code ne reconnaissait que `true` et `false`.

356 360 


790Lorsque cette compétence s'exécute :794Lorsque cette compétence s'exécute :

791 795 

7921. Un nouveau contexte isolé est créé7961. Un nouveau contexte isolé est créé

7932. Le sous-agent reçoit le contenu de la compétence comme son invite (« Research \$ARGUMENTS thoroughly... »)7972. Le sous-agent reçoit le contenu de la compétence comme son invite (les instructions « Research \$ARGUMENTS thoroughly »)

7943. Le champ `agent` détermine l'environnement d'exécution (modèle, outils et permissions)7983. Le champ `agent` détermine l'environnement d'exécution (modèle, outils et permissions)

7954. Le sous-agent résume ses résultats et les retourne à votre conversation principale lorsqu'il se termine7994. Le sous-agent résume ses résultats et les retourne à votre conversation principale lorsqu'il se termine

796 800 

statusline.md +2 −2

Details

192| `workspace.git_worktree` | Nom du git worktree quand le répertoire actuel se trouve à l'intérieur d'un worktree lié créé avec `git worktree add`. Absent dans le worktree principal. Rempli pour n'importe quel git worktree, contrairement à `worktree.*`, qui est présent uniquement pendant une [session worktree](/docs/fr/worktrees) |192| `workspace.git_worktree` | Nom du git worktree quand le répertoire actuel se trouve à l'intérieur d'un worktree lié créé avec `git worktree add`. Absent dans le worktree principal. Rempli pour n'importe quel git worktree, contrairement à `worktree.*`, qui est présent uniquement pendant une [session worktree](/docs/fr/worktrees) |

193| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Identité du référentiel analysée à partir de la télécommande `origin`, par exemple `"github.com"`, `"anthropics"`, `"claude-code"`. Absent en dehors d'un référentiel git ou quand aucune télécommande `origin` n'est configurée. Pour un projet gitlab.com imbriqué dans des sous-groupes, `owner` est le chemin d'espace de noms complet avec des barres obliques, tel que `"group/subgroup"`. Avant v2.1.260, `workspace.repo` était absent pour ces projets |193| `workspace.repo.host`, `workspace.repo.owner`, `workspace.repo.name` | Identité du référentiel analysée à partir de la télécommande `origin`, par exemple `"github.com"`, `"anthropics"`, `"claude-code"`. Absent en dehors d'un référentiel git ou quand aucune télécommande `origin` n'est configurée. Pour un projet gitlab.com imbriqué dans des sous-groupes, `owner` est le chemin d'espace de noms complet avec des barres obliques, tel que `"group/subgroup"`. Avant v2.1.260, `workspace.repo` était absent pour ces projets |

194| `cost.total_cost_usd` | Coût total estimé de la session en USD, calculé côté client au prix catalogue sauf si une table [`modelPricing`](/docs/fr/settings-reference#modelpricing) est en vigueur. Peut différer de votre facture réelle. Se réinitialise à 0 \$ quand `/clear` démarre une nouvelle session. Avant v2.1.211, le total s'accumulait après `/clear` |194| `cost.total_cost_usd` | Coût total estimé de la session en USD, calculé côté client au prix catalogue sauf si une table [`modelPricing`](/docs/fr/settings-reference#modelpricing) est en vigueur. Peut différer de votre facture réelle. Se réinitialise à 0 \$ quand `/clear` démarre une nouvelle session. Avant v2.1.211, le total s'accumulait après `/clear` |

195| `cost.total_duration_ms` | Temps écoulé total depuis le début de la session, en millisecondes |195| `cost.total_duration_ms` | Temps écoulé total depuis le début de la session, en millisecondes. S'accumule entre les reprises et n'inclut pas le temps pendant lequel la session n'est pas en cours d'exécution |

196| `cost.total_api_duration_ms` | Temps total passé à attendre les réponses API en millisecondes |196| `cost.total_api_duration_ms` | Temps total passé à attendre les réponses API en millisecondes |

197| `cost.total_lines_added`, `cost.total_lines_removed` | Lignes de code modifiées |197| `cost.total_lines_added`, `cost.total_lines_removed` | Lignes de code modifiées |

198| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Comptages de jetons actuellement dans la fenêtre de contexte, à partir de la réponse API la plus récente. L'entrée inclut les lectures et écritures du cache. |198| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Comptages de jetons actuellement dans la fenêtre de contexte, à partir de la réponse API la plus récente. L'entrée inclut les lectures et écritures du cache. |


236 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",236 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

237 "transcript_path": "/path/to/transcript.jsonl",237 "transcript_path": "/path/to/transcript.jsonl",

238 "model": {238 "model": {

239 "id": "claude-opus-5",239 "id": "claude-opus-5-5",

240 "display_name": "Opus"240 "display_name": "Opus"

241 },241 },

242 "workspace": {242 "workspace": {

sub-agents.md +29 −15

Details

32 32 

33Claude Code inclut des sous-agents intégrés que Claude utilise automatiquement le cas échéant. Chacun hérite des permissions de la conversation parent ; la plupart s'exécutent avec un ensemble d'outils restreint.33Claude Code inclut des sous-agents intégrés que Claude utilise automatiquement le cas échéant. Chacun hérite des permissions de la conversation parent ; la plupart s'exécutent avec un ensemble d'outils restreint.

34 34 

35Explore et Plan ignorent vos fichiers CLAUDE.md et l'état git de la session parent pour maintenir la recherche rapide et économique. Tous les autres sous-agents intégrés et [sous-agents personnalisés](#configure-subagents) chargent les deux, sauf si sa définition définit le champ [`omitClaudeMd`](#supported-frontmatter-fields) pour ignorer les fichiers CLAUDE.md utilisateur, projet et local. Pour la ventilation complète de ce qui atteint un sous-agent, consultez [ce qui se charge au démarrage](#what-loads-at-startup).35Explore et Plan ignorent vos fichiers CLAUDE.md et l'instantané de l'état git pour maintenir la recherche rapide et économique. Tous les autres sous-agents intégrés et [sous-agents personnalisés](#configure-subagents) chargent les deux, sauf si sa définition définit le champ [`omitClaudeMd`](#supported-frontmatter-fields) pour ignorer les fichiers CLAUDE.md utilisateur, projet et local. Pour la ventilation complète de ce qui atteint un sous-agent, consultez [ce qui se charge au démarrage](#what-loads-at-startup).

36 36 

37<Tabs>37<Tabs>

38 <Tab title="Explore">38 <Tab title="Explore">


230 </Tab>230 </Tab>

231</Tabs>231</Tabs>

232 232 

233Le drapeau `--agents` accepte JSON avec un champ `prompt` plus ces champs de [frontmatter](#supported-frontmatter-fields) : `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd` et `isolation`. Utilisez `prompt` pour l'invite système, équivalent au corps markdown dans les sous-agents basés sur fichier.233Le drapeau `--agents` accepte JSON avec un champ `prompt` plus ces champs de [frontmatter](#supported-frontmatter-fields) : `description`, `tools`, `disallowedTools`, `model`, `permissionMode`, `mcpServers`, `hooks`, `maxTurns`, `skills`, `initialPrompt`, `memory`, `effort`, `background`, `omitClaudeMd` et `isolation`. Utilisez `prompt` pour l'invite système, équivalent au corps markdown dans les sous-agents basés sur fichier. `color` et `experimental` ne sont pas acceptés ici et sont ignorés plutôt que rejetés.

234 234 

235Chaque clé de niveau supérieur dans le JSON est le nom de l'agent. Ne commencez pas un nom par `-`.235Chaque clé de niveau supérieur dans le JSON est le nom de l'agent. Ne commencez pas un nom par `-`.

236 236 


295 295 

296Lorsque la conversation principale elle-même s'exécute isolée dans un worktree, Claude Code applique les mêmes vérifications à la session et à chaque sous-agent qu'il génère, y compris les sous-agents sans `isolation: worktree` ; consultez [Comment Claude Code applique l'isolation](/docs/fr/worktrees#how-claude-code-enforces-isolation).296Lorsque la conversation principale elle-même s'exécute isolée dans un worktree, Claude Code applique les mêmes vérifications à la session et à chaque sous-agent qu'il génère, y compris les sous-agents sans `isolation: worktree` ; consultez [Comment Claude Code applique l'isolation](/docs/fr/worktrees#how-claude-code-enforces-isolation).

297 297 

298<h4 id="supported-frontmatter-fields">298<h3 id="supported-frontmatter-fields">

299 Champs de frontmatter pris en charge299 Référence de frontmatter

300</h4>300</h3>

301 

302Configurez un sous-agent avec du [frontmatter](/docs/fr/glossary#frontmatter) YAML entre les marqueurs `---` en haut de son fichier, et écrivez son invite système en Markdown après le `---` de fermeture. Seuls `name` et `description` sont obligatoires.

301 303 

302Les champs suivants peuvent être utilisés dans le frontmatter YAML. Seuls `name` et `description` sont obligatoires.304Les noms de champs multi-mots utilisent camelCase, tels que `maxTurns` et `disallowedTools`, et doivent correspondre exactement au tableau : Claude Code ignore un champ qu'il ne reconnaît pas sans signaler une erreur. Pour savoir pourquoi un fichier de sous-agent ne s'est pas chargé, consultez [Fichiers de sous-agent que Claude Code ignore](#subagent-files-claude-code-skips).

303 305 

304| Champ | Obligatoire | Description |306| Champ | Obligatoire | Description |

305| :---------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |307| :---------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

306| `name` | Oui | Identifiant unique utilisant des lettres minuscules et des tirets. Les [Hooks](/docs/fr/hooks#subagentstart) reçoivent cette valeur comme `agent_type`. Le nom du fichier n'a pas besoin de correspondre. Les noms ne peuvent pas contenir `:`, qui est réservé aux [identifiants limités au plugin](/docs/fr/plugins) tels que `my-plugin:reviewer`. Claude Code ne charge pas un fichier dont le nom en contient un et enregistre une erreur dans le journal de débogage. Avant la v2.1.218, de tels noms étaient acceptés |308| `name` | Oui | Identifiant unique, tel que `code-reviewer` ou `reviewer-v2`. Les [Hooks](/docs/fr/hooks#subagentstart) reçoivent cette valeur comme `agent_type`. Le nom du fichier n'a pas besoin de correspondre. Les noms ne peuvent pas contenir `:`, qui est réservé aux [identifiants limités au plugin](/docs/fr/plugins) tels que `my-plugin:reviewer`. Claude Code ne charge pas un fichier dont le nom en contient un et enregistre une erreur dans le journal de débogage. Avant la v2.1.218, de tels noms étaient acceptés |

307| `description` | Oui | Quand Claude doit déléguer à ce sous-agent |309| `description` | Oui | Quand Claude doit déléguer à ce sous-agent |

308| `tools` | Non | [Outils](#available-tools) que le sous-agent peut utiliser. Hérite de tous les outils disponibles pour les sous-agents s'il est omis. Si aucune entrée de la liste ne se résout en un outil, le sous-agent échoue généralement au [lancement](/docs/fr/errors#agent-would-be-spawned-with-zero-tools) avec une erreur nommant les entrées. Pour précharger les Skills dans le contexte, utilisez le champ `skills` plutôt que de lister `Skill` ici |310| `tools` | Non | [Outils](#available-tools) que le sous-agent peut utiliser, sous forme de chaîne séparée par des virgules telle que `Read, Grep, Bash` ou une liste YAML. Hérite de tous les outils disponibles pour les sous-agents s'il est omis. Si aucune entrée de la liste ne se résout en un outil, le sous-agent échoue généralement au [lancement](/docs/fr/errors#agent-would-be-spawned-with-zero-tools) avec une erreur nommant les entrées. Pour précharger les Skills dans le contexte, utilisez le champ `skills` plutôt que de lister `Skill` ici |

309| `disallowedTools` | Non | Outils à refuser, supprimés de la liste héritée ou spécifiée. Une entrée avec un spécificateur, tel que `Bash(git push *)`, supprime toujours l'[outil entier](#available-tools) |311| `disallowedTools` | Non | Outils à refuser, supprimés de la liste héritée ou spécifiée. Même format que `tools`. Une entrée avec un spécificateur, tel que `Bash(git push *)`, supprime toujours l'[outil entier](#available-tools) |

310| `model` | Non | [Modèle](#choose-a-model) à utiliser : `sonnet`, `opus`, `haiku`, `fable`, un ID de modèle complet tel que `claude-opus-5`, ou `inherit`. Lorsque vous l'omettez, Claude Code choisit le modèle dans l'[ordre du modèle de sous-agent](#choose-a-model) |312| `model` | Non | [Modèle](#choose-a-model) à utiliser : `sonnet`, `opus`, `haiku`, `fable`, un ID de modèle complet tel que `claude-opus-5-5`, ou `inherit`. Lorsque vous l'omettez, Claude Code choisit le modèle dans l'[ordre du modèle de sous-agent](#choose-a-model) |

311| `permissionMode` | Non | [Mode de permission](#permission-modes) : `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan`, ou `manual` comme alias pour `default`. L'alias `manual` nécessite Claude Code v2.1.200 ou ultérieur. Ignoré pour les [sous-agents de plugin](#choose-the-subagent-scope) |313| `permissionMode` | Non | [Mode de permission](#permission-modes) : `default`, `acceptEdits`, `auto`, `dontAsk`, `bypassPermissions`, `plan`, ou `manual` comme alias pour `default`. L'alias `manual` nécessite Claude Code v2.1.200 ou ultérieur. Ignoré pour les [sous-agents de plugin](#choose-the-subagent-scope) |

312| `maxTurns` | Non | Nombre maximum de tours d'agent avant que le sous-agent s'arrête. Lorsque le sous-agent atteint la limite, Claude Code retourne sa sortie marquée comme partielle, et Claude peut la [reprendre](#resume-subagents) pour continuer. Le marquage partiel nécessite Claude Code v2.1.246 ou ultérieur |314| `maxTurns` | Non | Nombre maximum de tours d'agent avant que le sous-agent s'arrête. Lorsque le sous-agent atteint la limite, Claude Code retourne sa sortie marquée comme partielle, et Claude peut la [reprendre](#resume-subagents) pour continuer. Le marquage partiel nécessite Claude Code v2.1.246 ou ultérieur |

313| `skills` | Non | [Skills](/docs/fr/skills) à précharger dans le contexte du sous-agent au démarrage. Le contenu complet de la skill est injecté, pas seulement la description. Les sous-agents peuvent toujours invoquer les skills de projet, utilisateur et plugin non listées via l'outil Skill |315| `skills` | Non | [Skills](/docs/fr/skills) à précharger dans le contexte du sous-agent au démarrage. Le contenu complet de la skill est injecté, pas seulement la description. Les sous-agents peuvent toujours invoquer les skills de projet, utilisateur et plugin non listées via l'outil Skill |


319| `effort` | Non | Niveau d'effort lorsque ce sous-agent est actif. Remplace le niveau d'effort de la session. Par défaut : hérite de la session. Options : `low`, `medium`, `high`, `xhigh`, `max` ; les niveaux disponibles dépendent du modèle |321| `effort` | Non | Niveau d'effort lorsque ce sous-agent est actif. Remplace le niveau d'effort de la session. Par défaut : hérite de la session. Options : `low`, `medium`, `high`, `xhigh`, `max` ; les niveaux disponibles dépendent du modèle |

320| `isolation` | Non | Définir sur `worktree` pour exécuter le sous-agent dans un [git worktree](/docs/fr/worktrees) temporaire, ce qui lui donne une copie isolée du référentiel branchée par défaut à partir de votre [branche par défaut](/docs/fr/worktrees#choose-the-base-branch) plutôt que du `HEAD` de la session parent. Le worktree est automatiquement nettoyé si le sous-agent n'apporte aucune modification |322| `isolation` | Non | Définir sur `worktree` pour exécuter le sous-agent dans un [git worktree](/docs/fr/worktrees) temporaire, ce qui lui donne une copie isolée du référentiel branchée par défaut à partir de votre [branche par défaut](/docs/fr/worktrees#choose-the-base-branch) plutôt que du `HEAD` de la session parent. Le worktree est automatiquement nettoyé si le sous-agent n'apporte aucune modification |

321| `color` | Non | Couleur d'affichage pour le sous-agent dans la liste des tâches et la transcription. Accepte `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` ou `cyan` |323| `color` | Non | Couleur d'affichage pour le sous-agent dans la liste des tâches et la transcription. Accepte `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink` ou `cyan` |

322| `initialPrompt` | Non | Auto-soumis comme le premier tour utilisateur lorsque cet agent s'exécute en tant qu'agent de session principal (via `--agent` ou le paramètre `agent`). Les [commandes](/docs/fr/commands) et les [skills](/docs/fr/skills) sont traitées. Préfixé à tout invite fourni par l'utilisateur |324| `initialPrompt` | Non | Auto-soumis comme le premier tour utilisateur lorsque cet agent s'exécute en tant qu'agent de session principal (via `--agent` ou le paramètre `agent`). Les [commandes](/docs/fr/commands) et les [skills](/docs/fr/skills) sont traitées. Préfixé à tout invite fourni par l'utilisateur. Ignoré pour les [sous-agents de plugin](#choose-the-subagent-scope) |

323| `experimental` | Non | Carte des options expérimentales. Définissez sa clé `cacheTtl` sur `5m` ou `1h` pour choisir la [durée de vie du cache d'invite](/docs/fr/prompt-caching#choose-the-ttl-yourself) pour les demandes de ce sous-agent, à la place du frontmatter dans la [précédence de la durée de vie du cache](/docs/fr/prompt-caching#choose-the-ttl-yourself). Claude Code ignore toute autre valeur, ignore `1h` tandis que votre abonnement Claude utilise des crédits d'utilisation, et lit le champ uniquement à partir des fichiers de sous-agent. Nécessite Claude Code v2.1.248 ou ultérieur |325| `experimental` | Non | Carte des options expérimentales. Définissez sa clé `cacheTtl` sur `5m` ou `1h` pour choisir la [durée de vie du cache d'invite](/docs/fr/prompt-caching#choose-the-ttl-yourself) pour les demandes de ce sous-agent, à la place du frontmatter dans la [précédence de la durée de vie du cache](/docs/fr/prompt-caching#choose-the-ttl-yourself). Claude Code ignore toute autre valeur, ignore `1h` tandis que votre abonnement Claude utilise des crédits d'utilisation, et lit le champ uniquement à partir des fichiers de sous-agent. Nécessite Claude Code v2.1.248 ou ultérieur |

324 326 

325Écrivez `cacheTtl` à l'intérieur de la carte `experimental`, pas au niveau supérieur du frontmatter.327Écrivez `cacheTtl` à l'intérieur de la carte `experimental`, pas au niveau supérieur du frontmatter.


362Le champ `model` contrôle quel modèle le sous-agent utilise :364Le champ `model` contrôle quel modèle le sous-agent utilise :

363 365 

364* **Alias de modèle** : utilisez l'un des alias disponibles : `sonnet`, `opus`, `haiku` ou `fable`366* **Alias de modèle** : utilisez l'un des alias disponibles : `sonnet`, `opus`, `haiku` ou `fable`

365* **ID de modèle complet** : utilisez un ID de modèle complet tel que `claude-opus-5` ou `claude-sonnet-5`. Accepte les mêmes valeurs que le drapeau `--model`367* **ID de modèle complet** : utilisez un ID de modèle complet tel que `claude-opus-5-5` ou `claude-sonnet-5`. Accepte les mêmes valeurs que le drapeau `--model`

366* **inherit** : utilisez le même modèle que la conversation principale368* **inherit** : utilisez le même modèle que la conversation principale

367 369 

368Lorsque Claude invoque un sous-agent, il peut également passer un paramètre `model` pour cette invocation spécifique. Claude Code résout le modèle du sous-agent dans cet ordre :370Lorsque Claude invoque un sous-agent, il peut également passer un paramètre `model` pour cette invocation spécifique. Claude Code résout le modèle du sous-agent dans cet ordre :


3723. La variable d'environnement [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/fr/model-config#environment-variables), lorsque vous la définissez sur un alias de modèle ou un ID de modèle3743. La variable d'environnement [`CLAUDE_CODE_SUBAGENT_MODEL`](/docs/fr/model-config#environment-variables), lorsque vous la définissez sur un alias de modèle ou un ID de modèle

3734. Le modèle de la conversation principale3754. Le modèle de la conversation principale

374 376 

377Dans deux cas, un alias de famille tel que `opus` dans le paramètre par invocation ou le frontmatter se résout au modèle de la conversation principale au lieu de la [version vers laquelle l'alias pointe](/docs/fr/model-config#model-aliases) :

378 

379* **Le modèle de la conversation principale appartient à cette famille** : le sous-agent s'exécute sur le modèle exact de la conversation principale, y compris tout suffixe `[1m]`, donc il obtient la même fenêtre de [contexte étendu](/docs/fr/model-config#extended-context) que la conversation principale.

380* **Claude Code ne peut pas dire la famille du modèle de la conversation principale, sur [un fournisseur autre que l'API Anthropic](/docs/fr/third-party-integrations)** : cela peut se produire avec un [ARN de profil d'inférence d'application](/docs/fr/amazon-bedrock#iam-configuration) sur Amazon Bedrock que Claude Code n'a pas résolu à un modèle de support. Ce cas couvre uniquement l'alias `opus`, et ne s'applique pas lorsque vous définissez [`ANTHROPIC_DEFAULT_OPUS_MODEL`](/docs/fr/model-config#environment-variables), puisque `opus` se résout alors au modèle que vous définissez.

381 

382Un alias dans `CLAUDE_CODE_SUBAGENT_MODEL` se résout toujours à la version vers laquelle l'alias pointe, même lorsqu'il nomme la famille de la conversation principale.

383 

375Définir `CLAUDE_CODE_SUBAGENT_MODEL` seul ne change pas le modèle sur lequel les sous-agents Explore et Plan intégrés s'exécutent. Pour le changer, consultez [Exécuter chaque sous-agent sur un modèle](#run-every-subagent-on-one-model).384Définir `CLAUDE_CODE_SUBAGENT_MODEL` seul ne change pas le modèle sur lequel les sous-agents Explore et Plan intégrés s'exécutent. Pour le changer, consultez [Exécuter chaque sous-agent sur un modèle](#run-every-subagent-on-one-model).

376 385 

377Avant la v2.1.251, `CLAUDE_CODE_SUBAGENT_MODEL` venait en premier dans cet ordre et remplaçait à la fois le paramètre par invocation et le frontmatter, y compris `model: inherit`.386Avant la v2.1.251, `CLAUDE_CODE_SUBAGENT_MODEL` venait en premier dans cet ordre et remplaçait à la fois le paramètre par invocation et le frontmatter, y compris `model: inherit`.


438* `EnterPlanMode`447* `EnterPlanMode`

439* `ExitPlanMode`, sauf si le [`permissionMode`](#permission-modes) du sous-agent est `plan`448* `ExitPlanMode`, sauf si le [`permissionMode`](#permission-modes) du sous-agent est `plan`

440* `ScheduleWakeup`449* `ScheduleWakeup`

441* `TaskOutput`

442* `WaitForMcpServers`450* `WaitForMcpServers`

443* `Workflow`451* `Workflow`

444 452 

445Le second filtre s'applique aux sous-agents s'exécutant en arrière-plan. À part `Agent` et `ExitPlanMode`, qui suivent les conditions du premier filtre partout où le sous-agent s'exécute, un sous-agent en arrière-plan conserve tous les outils MCP mais uniquement ces outils intégrés : `Read`, `Grep`, `Glob`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage` et `Artifact`, plus [`SubagentHandback`](/docs/fr/tools-reference) pour un sous-agent qui rapporte via celui-ci. Claude Code supprime tous les autres outils intégrés d'un sous-agent en arrière-plan, qu'ils soient hérités ou listés dans le champ `tools`, donc la même définition peut se résoudre en outils différents au premier plan et en arrière-plan. La suppression ne signale aucune erreur sauf si elle laisse la liste `tools` [se résoudre à rien](/docs/fr/errors#agent-would-be-spawned-with-zero-tools).453Le second filtre s'applique aux sous-agents s'exécutant en arrière-plan. À part `Agent` et `ExitPlanMode`, qui suivent les conditions du premier filtre partout où le sous-agent s'exécute, un sous-agent en arrière-plan conserve tous les outils MCP mais uniquement ces outils intégrés : `Read`, `Grep`, `Glob`, `LSP`, `Bash`, `PowerShell`, `Edit`, `Write`, `NotebookEdit`, `WebFetch`, `WebSearch`, `TodoWrite`, `Skill`, `ToolSearch`, `EnterWorktree`, `ExitWorktree`, `Monitor`, `TaskStop`, `SendMessage` et `Artifact`, plus [`SubagentHandback`](/docs/fr/tools-reference) pour un sous-agent qui rapporte via celui-ci. Claude Code supprime tous les autres outils intégrés d'un sous-agent en arrière-plan, qu'ils soient hérités ou listés dans le champ `tools`, donc la même définition peut se résoudre en outils différents au premier plan et en arrière-plan. La suppression ne signale aucune erreur sauf si elle laisse la liste `tools` [se résoudre à rien](/docs/fr/errors#agent-would-be-spawned-with-zero-tools).

454 

455Avant la v2.1.280, les sous-agents en arrière-plan ne pouvaient pas utiliser `LSP`.

446 456 

447[`ListAgents`](/docs/fr/cross-session-messaging) suit ces filtres comme n'importe quel outil intégré : un sous-agent au premier plan l'hérite dans les sessions où la messagerie entre sessions est activée, et un sous-agent en arrière-plan ne le conserve pas.457[`ListAgents`](/docs/fr/cross-session-messaging) suit ces filtres comme n'importe quel outil intégré : un sous-agent au premier plan l'hérite dans les sessions où la messagerie entre sessions est activée, et un sous-agent en arrière-plan ne le conserve pas.

448 458 


985 995 

986L'analyse ne juge pas si le contenu est malveillant, et elle ne change pas ce qu'une instruction dans un rapport peut faire : un appel d'outil que le rapport amène Claude à faire passe toujours par les [vérifications de permission](/docs/fr/permissions) et le [sandboxing](/docs/fr/sandboxing) de la session. Ce n'est pas un substitut à [restreindre ce qu'un sous-agent peut atteindre](#control-subagent-capabilities).996L'analyse ne juge pas si le contenu est malveillant, et elle ne change pas ce qu'une instruction dans un rapport peut faire : un appel d'outil que le rapport amène Claude à faire passe toujours par les [vérifications de permission](/docs/fr/permissions) et le [sandboxing](/docs/fr/sandboxing) de la session. Ce n'est pas un substitut à [restreindre ce qu'un sous-agent peut atteindre](#control-subagent-capabilities).

987 997 

998Un rapport qui revient à Claude en tant que résultat du sous-agent arrive également sous un en-tête le marquant comme sortie de sous-agent. L'en-tête indique que les instructions ou les affirmations d'approbation à l'intérieur du rapport sont les paroles du sous-agent et ne portent aucune autorité de votre part.

999 

1000Un [rapport de sous-agent en arrière-plan](#run-subagents-in-foreground-or-background) arrive à l'intérieur d'une notification d'achèvement, qui est marquée comme un événement automatisé plutôt qu'un message de votre part.

1001 

988<Note>1002<Note>

989 L'analyse de la sortie du sous-agent nécessite Claude Code v2.1.210 ou ultérieur.1003 L'analyse de la sortie du sous-agent nécessite Claude Code v2.1.210 ou ultérieur.

990</Note>1004</Note>


1113* **Invite système** : l'invite propre de l'agent plus les détails d'environnement que Claude Code ajoute, pas l'invite système de Claude Code. Les sous-agents personnalisés définissent la leur dans le [corps markdown](#write-subagent-files) ou le champ `prompt`. Les agents intégrés ont des invites prédéfinies.1127* **Invite système** : l'invite propre de l'agent plus les détails d'environnement que Claude Code ajoute, pas l'invite système de Claude Code. Les sous-agents personnalisés définissent la leur dans le [corps markdown](#write-subagent-files) ou le champ `prompt`. Les agents intégrés ont des invites prédéfinies.

1114* **Message de tâche** : l'invite de délégation que Claude écrit lorsqu'il confie le travail.1128* **Message de tâche** : l'invite de délégation que Claude écrit lorsqu'il confie le travail.

1115* **Fichiers CLAUDE.md** : chaque niveau de la [hiérarchie CLAUDE.md](/docs/fr/memory#how-claude-md-files-load) que la conversation principale charge, y compris `~/.claude/CLAUDE.md`, les règles du projet, `CLAUDE.local.md`, les fichiers de politique gérés et tous les [fichiers `AGENTS.md`](/docs/fr/memory#agents-md) chargés en tant qu'instructions du projet. Les agents Explore et Plan intégrés ignorent cela. Un sous-agent dont la définition définit [`omitClaudeMd`](#supported-frontmatter-fields) charge uniquement les fichiers de politique gérés, ou aucun du tout lorsque la définition provient des [paramètres gérés](#choose-the-subagent-scope).1129* **Fichiers CLAUDE.md** : chaque niveau de la [hiérarchie CLAUDE.md](/docs/fr/memory#how-claude-md-files-load) que la conversation principale charge, y compris `~/.claude/CLAUDE.md`, les règles du projet, `CLAUDE.local.md`, les fichiers de politique gérés et tous les [fichiers `AGENTS.md`](/docs/fr/memory#agents-md) chargés en tant qu'instructions du projet. Les agents Explore et Plan intégrés ignorent cela. Un sous-agent dont la définition définit [`omitClaudeMd`](#supported-frontmatter-fields) charge uniquement les fichiers de politique gérés, ou aucun du tout lorsque la définition provient des [paramètres gérés](#choose-the-subagent-scope).

1116* **Statut Git** : un instantané pris au début de la session parent. Absent lorsque le répertoire de travail n'est pas un référentiel Git ou lorsque [`includeGitInstructions`](/docs/fr/settings-reference#includegitinstructions) est `false`. Explore et Plan l'ignorent de toute façon.1130* **Statut Git** : un instantané que Claude Code lit à partir de votre référentiel lorsque le sous-agent démarre. Absent en dehors d'un référentiel Git ou chaque fois que l'instantané est désactivé ; voir [`includeGitInstructions`](/docs/fr/settings-reference#includegitinstructions). Explore et Plan l'ignorent de toute façon.

1117* **Skills préchargés** : contenu complet de tout skill nommé dans le champ [`skills`](#preload-skills-into-subagents) de l'agent. Les agents intégrés ne préchargent pas les skills.1131* **Skills préchargés** : contenu complet de tout skill nommé dans le champ [`skills`](#preload-skills-into-subagents) de l'agent. Les agents intégrés ne préchargent pas les skills.

1118* **Roster des frères et sœurs** : un rappel système listant `main` et tous les autres agents nommés dans la session, chacun étant une valeur `to` valide pour [`SendMessage`](#resume-subagents). Nécessite Claude Code v2.1.206 ou ultérieur. Le roster n'apparaît que lorsque les outils du sous-agent incluent `SendMessage` et qu'au moins un autre agent a un nom, que Claude l'ait nommé lors de sa génération ou qu'il s'exécute en tant que coéquipier d'une [équipe d'agents](/docs/fr/agent-teams). C'est un instantané pris lorsque le sous-agent démarre, donc les agents nommés ultérieurement n'apparaissent pas.1132* **Roster des frères et sœurs** : un rappel système listant `main` et tous les autres agents nommés dans la session, chacun étant une valeur `to` valide pour [`SendMessage`](#resume-subagents). Nécessite Claude Code v2.1.206 ou ultérieur. Le roster n'apparaît que lorsque les outils du sous-agent incluent `SendMessage` et qu'au moins un autre agent a un nom, que Claude l'ait nommé lors de sa génération ou qu'il s'exécute en tant que coéquipier d'une [équipe d'agents](/docs/fr/agent-teams). C'est un instantané pris lorsque le sous-agent démarre, donc les agents nommés ultérieurement n'apparaissent pas.

1119 1133 

Details

343 Coller du contenu volumineux343 Coller du contenu volumineux

344</h2>344</h2>

345 345 

346Lorsque vous collez plus de 800 caractères ou plus de trois lignes dans l'invite, Claude Code réduit l'entrée à un espace réservé tel que `[Pasted text #1 +120 lines]` pour que la zone de saisie reste utilisable. Dans une fenêtre de terminal plus courte que 12 lignes, la limite de lignes diminue, donc Claude Code réduit un collage de trois lignes à 11 lignes et tout collage multi-lignes à 10 lignes ou moins. Claude Code envoie toujours le contenu complet lorsque vous soumettez.346Lorsque vous collez plus de 800 caractères ou plus de trois lignes dans l'invite, Claude Code réduit l'entrée à un espace réservé tel que `[Pasted text #1 +120 lines]` pour que la zone de saisie reste utilisable, et envoie toujours le contenu complet lorsque vous soumettez. Pour les très grandes entrées telles que des fichiers entiers ou des journaux longs, écrivez le contenu dans un fichier et demandez à Claude de le lire au lieu de le coller. La transcription de conversation reste lisible et Claude peut référencer le fichier par chemin dans les tours ultérieurs. Le terminal intégré VS Code peut également perdre des caractères lors de très grands collages avant qu'ils n'atteignent Claude Code, donc utilisez un fichier là-bas.

347 347 

348Lorsque vous supprimez avec un raccourci de mot ou de ligne tel que `Ctrl+W` ou `Ctrl+K`, ou avec une suppression vim via un mouvement `f`/`t` tel que `df]`, et que la plage supprimée atteint l'intérieur d'un espace réservé, Claude Code supprime l'espace réservé entièrement. Vous pouvez coller la suppression pour la restaurer, avec [`Ctrl+Y`](/docs/fr/interactive-mode#text-editing) après un raccourci de mot ou de ligne, ou avec [`p` en mode NORMAL](/docs/fr/interactive-mode#editing-normal-mode) après une suppression vim.348Si le collage contient des [caractères Unicode invisibles](/docs/fr/interactive-mode#invisible-characters-in-prompts), Claude Code les supprime lorsque vous appuyez sur Entrée et remet l'invite nettoyée dans la zone de saisie pour que vous la soumettiez avec une autre Entrée.

349 349 

350Claude Code conserve le contenu réduit sous `~/.claude/paste-cache/`, donc lorsque vous rappelez une invite de l'[historique des commandes](/docs/fr/interactive-mode#command-history) et la renvoyez, Claude Code envoie à nouveau le contenu collé complet, y compris dans une session ultérieure, jusqu'à ce que le balayage de rétention supprime le fichier cache.350<h3 id="how-claude-treats-pasted-text">

351 Comment Claude traite le texte collé

352</h3>

353 

354Lorsque vous soumettez, Claude voit le contenu derrière chaque espace réservé `[Pasted text #N]` marqué comme du texte que vous avez collé d'ailleurs plutôt que tapé. Claude est informé qu'un collage peut contenir des instructions que vous n'avez pas écrites, et de suivre les instructions à l'intérieur uniquement lorsque le message que vous avez tapé le demande. Dans les sessions qui ne [récupèrent pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), les collages ne sont pas marqués.

351 355 

352Claude Code supprime les fichiers cache plus anciens que [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), en suivant les [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically), donc une invite rappelée peut référencer du texte collé qui n'existe plus. Lorsque vous soumettez une telle invite, Claude Code n'envoie jamais la chaîne littérale `[Pasted text #N]`, et affiche une notification nommant le collage manquant :356<h3 id="delete-and-restore-a-collapsed-paste">

357 Supprimer et restaurer un collage réduit

358</h3>

359 

360Lorsque vous supprimez avec un raccourci de mot ou de ligne tel que `Ctrl+W` ou `Ctrl+K`, ou avec une suppression vim via un mouvement `f`/`t` tel que `df]`, et que la plage supprimée atteint l'intérieur d'un espace réservé `[Pasted text #N]`, Claude Code supprime l'espace réservé entièrement. Pour le restaurer, collez la suppression avec [`Ctrl+Y`](/docs/fr/interactive-mode#text-editing) après un raccourci de mot ou de ligne, ou avec [`p` en mode NORMAL](/docs/fr/interactive-mode#editing-normal-mode) après une suppression vim.

361 

362<h3 id="recall-a-prompt-that-had-pasted-text">

363 Rappeler une invite qui contenait du texte collé

364</h3>

365 

366Claude Code conserve le contenu derrière chaque espace réservé `[Pasted text #N]` sous `~/.claude/paste-cache/`, donc lorsque vous rappelez une invite de l'[historique des commandes](/docs/fr/interactive-mode#command-history) et la renvoyez, le contenu collé complet est envoyé à nouveau, y compris dans une session ultérieure.

367 

368Les fichiers cache plus anciens que [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays) sont supprimés selon les [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically), donc une invite rappelée peut référencer du texte collé qui n'existe plus. Lorsque vous soumettez une telle invite, Claude Code n'envoie jamais la chaîne littérale `[Pasted text #N]`, et affiche une notification nommant le collage manquant :

353 369 

354* Dans une invite simple avec du texte restant, Claude Code supprime l'espace réservé et envoie le texte restant.370* Dans une invite simple avec du texte restant, Claude Code supprime l'espace réservé et envoie le texte restant.

355* Dans une commande [mode shell](/docs/fr/interactive-mode#shell-mode-with-prefix) ou une commande `/`, où la suppression changerait ce qui s'exécute, et dans toute invite où la suppression laisse vide, Claude Code annule la soumission et conserve le texte original dans l'entrée, avec l'espace réservé toujours dedans. Supprimez l'espace réservé ou modifiez la commande, puis renvoyez.371* Dans une commande [mode shell](/docs/fr/interactive-mode#shell-mode-with-prefix) ou une commande `/`, où la suppression changerait ce qui s'exécute, et dans toute invite où la suppression laisse vide, Claude Code annule la soumission et conserve le texte original dans l'entrée, avec l'espace réservé toujours dedans. Supprimez l'espace réservé ou modifiez la commande, puis renvoyez.

356 372 

357Le terminal intégré VS Code peut perdre des caractères lors de très grands collages avant qu'ils n'atteignent Claude Code, donc préférez les flux de travail basés sur des fichiers là-bas. Pour les très grandes entrées telles que des fichiers entiers ou des journaux longs, écrivez le contenu dans un fichier et demandez à Claude de le lire au lieu de le coller. Cela garde la transcription de conversation lisible et permet à Claude de référencer le fichier par chemin dans les tours ultérieurs.

358 

359<h2 id="edit-prompts-with-vim-keybindings">373<h2 id="edit-prompts-with-vim-keybindings">

360 Modifier les prompts avec les raccourcis clavier Vim374 Modifier les prompts avec les raccourcis clavier Vim

361</h2>375</h2>

Details

86 86 

87Pour la plupart des organisations, Claude for Teams ou Claude for Enterprise offre la meilleure expérience. Les membres de l'équipe ont accès à la fois à Claude Code et à Claude sur le web avec un seul abonnement, une facturation centralisée et aucune configuration d'infrastructure requise.87Pour la plupart des organisations, Claude for Teams ou Claude for Enterprise offre la meilleure expérience. Les membres de l'équipe ont accès à la fois à Claude Code et à Claude sur le web avec un seul abonnement, une facturation centralisée et aucune configuration d'infrastructure requise.

88 88 

89**Claude for Teams** est en libre-service et inclut des fonctionnalités de collaboration, des outils d'administration et la gestion de la facturation. Idéal pour les petites équipes qui ont besoin de démarrer rapidement.89**Claude for Teams** est en libre-service et inclut des fonctionnalités de collaboration, des outils d'administration, SSO, la gestion de la facturation et les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) pour la configuration de Claude Code à l'échelle de l'organisation. Idéal pour les petites équipes qui ont besoin de démarrer rapidement.

90 90 

91**Claude for Enterprise** ajoute SSO et la capture de domaine, les autorisations basées sur les rôles, l'accès à l'API de conformité et les paramètres de politique gérés pour déployer des configurations Claude Code à l'échelle de l'organisation. Idéal pour les grandes organisations ayant des exigences de sécurité et de conformité.91**Claude for Enterprise** ajoute la capture de domaine, les autorisations basées sur les rôles et l'accès à l'API de conformité. Idéal pour les grandes organisations ayant des exigences de sécurité et de conformité.

92 92 

93En savoir plus sur les [plans d'équipe](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) et les [plans d'entreprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).93En savoir plus sur les [plans d'équipe](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) et les [plans d'entreprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

94 94 

95Les options de déploiement comparées ci-dessous couvrent l'endroit où l'inférence du modèle s'exécute. Pour exécuter les sessions [Claude Code sur le web](/docs/fr/claude-code-on-the-web) sur le calcul que votre organisation exploite, consultez [les environnements auto-hébergés](/docs/fr/self-hosted-environments).95Les options de déploiement comparées ci-dessous couvrent l'endroit où l'inférence du modèle s'exécute. Pour exécuter les [sessions cloud](/docs/fr/claude-code-on-the-web) de Claude Code sur le calcul que votre organisation exploite, consultez [les environnements auto-hébergés](/docs/fr/self-hosted-environments).

96 96 

97Si votre organisation a des exigences d'infrastructure spécifiques, comparez les options ci-dessous :97Si votre organisation a des exigences d'infrastructure spécifiques, comparez les options ci-dessous :

98 98 

Details

24| `Raw mode is not supported` pendant l'installation | [Réexécutez le programme d'installation](#raw-mode-is-not-supported-during-install) |24| `Raw mode is not supported` pendant l'installation | [Réexécutez le programme d'installation](#raw-mode-is-not-supported-during-install) |

25| `TLS connect error` ou `SSL/TLS secure channel` | [Mettez à jour les certificats CA](#tls-or-ssl-connection-errors) |25| `TLS connect error` ou `SSL/TLS secure channel` | [Mettez à jour les certificats CA](#tls-or-ssl-connection-errors) |

26| `Failed to fetch version` ou impossible d'atteindre le serveur de téléchargement | [Vérifiez les paramètres réseau et proxy](#check-network-connectivity) |26| `Failed to fetch version` ou impossible d'atteindre le serveur de téléchargement | [Vérifiez les paramètres réseau et proxy](#check-network-connectivity) |

27| `irm is not recognized` ou `&& is not valid` | [Utilisez la bonne commande pour votre shell](#wrong-install-command-on-windows) |27| `irm is not recognized` ou `The token '&&' is not a valid statement separator` | [Utilisez la bonne commande pour votre shell](#wrong-install-command-on-windows) |

28| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Mettez à jour Homebrew](#homebrew-cask-unavailable-or-outdated) |28| `Cask 'claude-code' is unavailable: No Cask with this name exists` | [Mettez à jour Homebrew](#homebrew-cask-unavailable-or-outdated) |

29| `'bash' is not recognized as the name of a cmdlet` | [Utilisez la commande du programme d'installation Windows](#wrong-install-command-on-windows) |29| `'bash' is not recognized as the name of a cmdlet` | [Utilisez la commande du programme d'installation Windows](#wrong-install-command-on-windows) |

30| `A parameter cannot be found that matches parameter name 'fsSL'` | [Utilisez la commande du programme d'installation Windows](#wrong-install-command-on-windows) |30| `A parameter cannot be found that matches parameter name 'fsSL'` | [Utilisez la commande du programme d'installation Windows](#wrong-install-command-on-windows) |


340 Problèmes d'installation courants340 Problèmes d'installation courants

341</h2>341</h2>

342 342 

343Ce sont les problèmes d'installation les plus fréquemment rencontrés et leurs solutions.343Voici les problèmes d'installation les plus fréquemment rencontrés et leurs solutions.

344 344 

345<h3 id="install-script-returns-html-instead-of-a-shell-script">345<h3 id="install-script-returns-html-instead-of-a-shell-script">

346 Le script d'installation retourne du HTML au lieu d'un script shell346 Le script d'installation retourne du HTML au lieu d'un script shell


353bash: line 1: `<!DOCTYPE html>'353bash: line 1: `<!DOCTYPE html>'

354```354```

355 355 

356Sur PowerShell, le même problème apparaît comme des erreurs d'analyse pointant dans la page retournée, avec `iex` essayant d'exécuter du HTML et du CSS en tant que PowerShell :356Sur PowerShell, le même problème apparaît sous forme d'erreurs d'analyse pointant vers la page retournée, avec `iex` essayant d'exécuter du HTML et du CSS en tant que PowerShell :

357 357 

358```text theme={null}358```text theme={null}

359iex : At line:1 char:2310359iex : At line:1 char:2310


364 364 

365La formulation varie selon la version de PowerShell et la langue du système : vous pouvez voir `Missing expression after unary operator '--'` ou une `ParserError` avec `ParseException` à la place. Les balises HTML ou le CSS dans le texte entre guillemets identifient cet échec. Si vous téléchargez avec `-OutFile install.ps1` à la place, le fichier enregistré est la même page web, donc cela n'aide pas non plus.365La formulation varie selon la version de PowerShell et la langue du système : vous pouvez voir `Missing expression after unary operator '--'` ou une `ParserError` avec `ParseException` à la place. Les balises HTML ou le CSS dans le texte entre guillemets identifient cet échec. Si vous téléchargez avec `-OutFile install.ps1` à la place, le fichier enregistré est la même page web, donc cela n'aide pas non plus.

366 366 

367Selon la façon dont la demande a été routée, vous pouvez à la place voir un 403 sans corps HTML :367Selon la façon dont la requête a été routée, vous pouvez à la place voir une erreur 403 sans corps HTML :

368 368 

369```text theme={null}369```text theme={null}

370curl: (22) The requested URL returned error: 403370curl: (22) The requested URL returned error: 403

371```371```

372 372 

373Tout cela signifie que l'URL d'installation a retourné une page HTML ou un statut d'erreur au lieu du script d'installation. Si la page HTML dit « App unavailable in region », Claude Code n'est pas disponible dans votre pays. Consultez [les pays pris en charge](https://www.anthropic.com/supported-countries).373Tous ces cas signifient que l'URL d'installation a retourné une page HTML ou un statut d'erreur au lieu du script d'installation. Si la page HTML indique « App unavailable in region », Claude Code n'est pas disponible dans votre pays. Consultez les [pays pris en charge](https://www.anthropic.com/supported-countries).

374 374 

375Un 403 nu sans corps a souvent la même cause, mais il peut aussi provenir d'un proxy d'entreprise ou d'un pare-feu bloquant le téléchargement. Si vous êtes dans un pays pris en charge et voyez toujours le 403, parcourez [Vérifiez la connectivité réseau](#check-network-connectivity) avant d'essayer les programmes d'installation alternatifs ci-dessous, car ceux-ci atteignent les mêmes hôtes.375Une erreur 403 nue sans corps a souvent la même cause, mais elle peut aussi provenir d'un proxy d'entreprise ou d'un pare-feu bloquant le téléchargement. Si vous êtes dans un pays pris en charge et voyez toujours l'erreur 403, consultez [Vérifier la connectivité réseau](#check-network-connectivity) avant d'essayer les programmes d'installation alternatifs ci-dessous, car ceux-ci accèdent aux mêmes hôtes.

376 376 

377Sinon, cela peut se produire en raison de problèmes réseau, de routage régional ou d'une interruption de service temporaire.377Sinon, cela peut se produire en raison de problèmes réseau, de routage régional ou d'une interruption temporaire du service.

378 378 

379**Solutions :**379**Solutions :**

380 380 


392 winget install Anthropic.ClaudeCode392 winget install Anthropic.ClaudeCode

393 ```393 ```

394 394 

395 Puis exécutez `claude --version` pour confirmer : la commande affiche un numéro de version tel que `2.1.211 (Claude Code)`. Si le shell signale que `claude` n'est pas trouvé, ouvrez une nouvelle fenêtre de terminal et réessayez : la session à partir de laquelle vous avez installé conserve son ancien `PATH`.395 Ensuite, exécutez `claude --version` pour confirmer : la commande affiche un numéro de version tel que `2.1.211 (Claude Code)`. Si le shell signale que `claude` n'est pas trouvé, ouvrez une nouvelle fenêtre de terminal et réessayez : la session à partir de laquelle vous avez installé conserve son ancien `PATH`.

396 396 

3972. **Réessayez après quelques minutes** : le problème est souvent temporaire. Attendez et réessayez la commande d'origine.3972. **Réessayez après quelques minutes** : le problème est souvent temporaire. Attendez et réessayez la commande d'origine.

398 398 


400 `command not found: claude` après l'installation400 `command not found: claude` après l'installation

401</h3>401</h3>

402 402 

403L'installation s'est terminée mais `claude` ne fonctionne pas. L'erreur exacte varie selon la plateforme :403L'installation s'est terminée mais `claude` ne fonctionne pas. Le message d'erreur exact varie selon la plateforme :

404 404 

405| Plateforme | Message d'erreur |405| Plateforme | Message d'erreur |

406| :---------- | :--------------------------------------------------------------------- |406| :---------- | :--------------------------------------------------------------------- |


409| Windows CMD | `'claude' is not recognized as an internal or external command` |409| Windows CMD | `'claude' is not recognized as an internal or external command` |

410| PowerShell | `claude : The term 'claude' is not recognized as the name of a cmdlet` |410| PowerShell | `claude : The term 'claude' is not recognized as the name of a cmdlet` |

411 411 

412Cela signifie que le répertoire d'installation n'est pas dans le chemin de recherche de votre shell. Consultez [Vérifiez votre PATH](#verify-your-path) pour la correction sur chaque plateforme.412Cela signifie que le répertoire d'installation ne se trouve pas dans le chemin de recherche de votre shell. Consultez [Vérifier votre PATH](#verify-your-path) pour la correction sur chaque plateforme.

413 413 

414<h3 id="curl-56-failure-writing-output-to-destination">414<h3 id="curl-56-failure-writing-output-to-destination">

415 `curl: (56) Failure writing output to destination`415 `curl: (56) Failure writing output to destination`

416</h3>416</h3>

417 417 

418La commande `curl ... | bash` télécharge le script et le transmet à Bash pour exécution. Cette erreur, et l'erreur associée `curl: (23) Failure writing output to destination`, signifie que Bash n'a pas reçu le script complet. Le code de sortie 56 indique que le téléchargement lui-même a été interrompu, et le code de sortie 23 indique que curl n'a pas pu écrire ce qu'il a reçu dans le tuyau, généralement parce que Bash s'est fermé prématurément.418La commande `curl ... | bash` télécharge le script et le transmet à Bash pour exécution. Cette erreur, et l'erreur associée `curl: (23) Failure writing output to destination`, signifient que Bash n'a pas reçu le script complet. Le code de sortie 56 indique que le téléchargement lui-même a été interrompu, et le code de sortie 23 indique que curl n'a pas pu écrire ce qu'il a reçu dans le tuyau, généralement parce que Bash s'est fermé prématurément.

419 419 

420Testez que vous pouvez atteindre `downloads.claude.ai` avec la vérification dans [Vérifiez la connectivité réseau](#check-network-connectivity). Si vous avez atteint le serveur, l'échec d'origine était probablement intermittent ; réessayez la commande d'installation. Vous pouvez également [essayer une méthode d'installation alternative](/docs/fr/setup#install-claude-code).420Testez que vous pouvez atteindre `downloads.claude.ai` avec la vérification dans [Vérifier la connectivité réseau](#check-network-connectivity). Si vous avez atteint le serveur, l'échec d'origine était probablement intermittent ; réessayez la commande d'installation. Vous pouvez également [essayer une méthode d'installation alternative](/docs/fr/setup#install-claude-code).

421 421 

422<h3 id="homebrew-cask-unavailable-or-outdated">422<h3 id="homebrew-cask-unavailable-or-outdated">

423 Cask Homebrew indisponible ou obsolète423 Cask Homebrew indisponible ou obsolète

424</h3>424</h3>

425 425 

426Homebrew signale `Error: Cask 'claude-code' is unavailable: No Cask with this name exists` lorsque votre copie locale de l'index cask Homebrew est antérieure à la publication du cask. Actualisez l'index et réessayez :426Homebrew signale `Error: Cask 'claude-code' is unavailable: No Cask with this name exists` lorsque votre copie locale de l'index des casks Homebrew est antérieure à la publication du cask. Actualisez l'index et réessayez :

427 427 

428```bash theme={null}428```bash theme={null}

429brew update429brew update

430brew install --cask claude-code430brew install --cask claude-code

431```431```

432 432 

433Si Homebrew installe une version de Claude Code plus ancienne que celle que vous attendez, le même index obsolète en est généralement la cause. Le cask `claude-code` suit le canal stable et est généralement environ une semaine en retard sur la dernière version ; pour la version la plus récente, exécutez `brew install --cask claude-code@latest` à la place. Consultez [Configurer le canal de version](/docs/fr/setup#configure-release-channel) pour la différence entre les deux casks.433Si Homebrew installe une version de Claude Code plus ancienne que celle attendue, le même index obsolète en est généralement la cause. Le cask `claude-code` suit le canal stable et est généralement environ une semaine en retard sur la dernière version ; pour la version la plus récente, exécutez `brew install --cask claude-code@latest` à la place. Consultez [Configurer le canal de version](/docs/fr/setup#configure-release-channel) pour connaître la différence entre les deux casks.

434 434 

435<h3 id="tls-or-ssl-connection-errors">435<h3 id="tls-or-ssl-connection-errors">

436 Erreurs de connexion TLS ou SSL436 Erreurs de connexion TLS ou SSL


456 irm https://claude.ai/install.ps1 | iex456 irm https://claude.ai/install.ps1 | iex

457 ```457 ```

458 458 

4593. **Vérifiez l'interférence du proxy ou du pare-feu** : les proxies d'entreprise qui effectuent une inspection TLS peuvent causer ces erreurs, y compris `unable to get local issuer certificate` et `SELF_SIGNED_CERT_IN_CHAIN`. Pour l'étape d'installation, pointez curl vers votre bundle CA d'entreprise avec `--cacert` :4593. **Vérifiez l'interférence du proxy ou du pare-feu** : les proxies d'entreprise qui effectuent une inspection TLS peuvent causer ces erreurs, y compris `unable to get local issuer certificate` et `SELF_SIGNED_CERT_IN_CHAIN`. Pour l'étape d'installation, faites en sorte que le téléchargement d'installation fasse confiance à l'autorité de certification de votre proxy d'entreprise :

460 460 

461 <Tabs>461 <Tabs>

462 <Tab title="macOS/Linux">462 <Tab title="macOS/Linux">


474 </Tab>474 </Tab>

475 </Tabs>475 </Tabs>

476 476 

477 Pour Claude Code lui-même une fois installé, définissez `NODE_EXTRA_CA_CERTS` pour que les demandes API fassent confiance au même bundle :477 Pour Claude Code lui-même une fois installé, définissez `NODE_EXTRA_CA_CERTS` pour que les requêtes API fassent confiance au même bundle :

478 478 

479 <Tabs>479 <Tabs>

480 <Tab title="macOS/Linux">480 <Tab title="macOS/Linux">


490 </Tab>490 </Tab>

491 </Tabs>491 </Tabs>

492 492 

493 Demandez à votre équipe informatique le fichier de certificat si vous ne l'avez pas. Vous pouvez également essayer sur une connexion directe pour confirmer que le proxy est la cause.493 Demandez à votre équipe informatique le fichier de certificat si vous ne l'avez pas. Vous pouvez également essayer sur une connexion directe pour confirmer que le proxy en est la cause.

494 494 

4954. **Sur Windows, contournez les vérifications de révocation de certificat bloquées**. Les erreurs `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` et `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` signifient que curl a atteint le serveur mais votre réseau bloque la recherche de révocation de certificat, ce qui est courant derrière les pare-feu d'entreprise. Si la commande défaillante est le `curl` qui télécharge `install.cmd`, réexécutez-la depuis une invite de commande avec `--ssl-revoke-best-effort` ajouté :4954. **Sur Windows, contournez les vérifications de révocation bloquées**. Les erreurs `CRYPT_E_NO_REVOCATION_CHECK (0x80092012)` et `CRYPT_E_REVOCATION_OFFLINE (0x80092013)` signifient que curl a atteint le serveur mais votre réseau bloque la recherche de révocation de certificat, ce qui est courant derrière les pare-feu d'entreprise. Si la commande défaillante est le `curl` qui télécharge `install.cmd`, réexécutez-la à partir d'une invite de commande avec `--ssl-revoke-best-effort` ajouté :

496 ```batch theme={null}496 ```batch theme={null}

497 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd497 curl --ssl-revoke-best-effort -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

498 ```498 ```

499 Lorsque les téléchargements du script lui-même rencontrent les mêmes erreurs, il les réessaye avec la vérification de révocation au meilleur effort automatiquement, donc le drapeau n'est nécessaire que sur la commande que vous exécutez vous-même. La vérification au meilleur effort tolère un serveur de révocation inaccessible mais rejette toujours un certificat connu pour être révoqué, correspondant à la façon dont les navigateurs gèrent la révocation. Vous pouvez également éviter entièrement la vérification de révocation de curl en exécutant le programme d'installation PowerShell depuis PowerShell, qui télécharge via .NET et ne échoue pas lorsque le serveur de révocation est inaccessible :499 Lorsque les téléchargements du script lui-même rencontrent les mêmes erreurs, il les réessaie automatiquement avec la vérification de révocation au mieux, donc l'indicateur n'est nécessaire que sur la commande que vous exécutez vous-même. La vérification au mieux tolère un serveur de révocation inaccessible mais rejette toujours un certificat connu pour être révoqué, ce qui correspond à la façon dont les navigateurs gèrent la révocation. Vous pouvez également éviter entièrement la vérification de révocation de curl en exécutant le programme d'installation PowerShell à partir de PowerShell, qui télécharge via .NET et ne échoue pas lorsque le serveur de révocation est inaccessible :

500 ```powershell theme={null}500 ```powershell theme={null}

501 irm https://claude.ai/install.ps1 | iex501 irm https://claude.ai/install.ps1 | iex

502 ```502 ```


506 `Failed to fetch version from downloads.claude.ai`506 `Failed to fetch version from downloads.claude.ai`

507</h3>507</h3>

508 508 

509Le programme d'installation n'a pas pu atteindre le serveur de téléchargement. Cela signifie généralement que `downloads.claude.ai` est bloqué sur votre réseau. Consultez [Vérifiez la connectivité réseau](#check-network-connectivity).509Le programme d'installation n'a pas pu atteindre le serveur de téléchargement. Cela signifie généralement que `downloads.claude.ai` est bloqué sur votre réseau. Consultez [Vérifier la connectivité réseau](#check-network-connectivity).

510 510 

511<h3 id="wrong-install-command-on-windows">511<h3 id="wrong-install-command-on-windows">

512 Mauvaise commande d'installation sur Windows512 Mauvaise commande d'installation sur Windows

513</h3>513</h3>

514 514 

515Si vous voyez `'irm' is not recognized`, `The token '&&' is not valid`, `A parameter cannot be found that matches parameter name 'fsSL'`, ou `'bash' is not recognized as the name of a cmdlet`, vous avez copié la commande d'installation pour un shell ou un système d'exploitation différent. Si la commande affiche le texte du script au lieu d'installer quoi que ce soit, vous avez exécuté seulement une partie de celle-ci.515Si vous voyez `'irm' is not recognized`, `The token '&&' is not a valid statement separator`, `A parameter cannot be found that matches parameter name 'fsSL'`, ou `'bash' is not recognized as the name of a cmdlet`, vous avez copié la commande d'installation pour un shell ou un système d'exploitation différent. Si la commande affiche le texte du script au lieu d'installer quoi que ce soit, vous n'avez exécuté qu'une partie de celle-ci.

516 516 

517* **`irm` non reconnu** : vous êtes dans CMD, pas PowerShell. Vous avez deux options :517* **`irm` non reconnu** : vous êtes dans CMD, pas PowerShell. Vous avez deux options :

518 518 


528 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd528 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

529 ```529 ```

530 530 

531* **`&&` non valide** : vous êtes dans PowerShell mais avez exécuté la commande du programme d'installation CMD. Utilisez le programme d'installation PowerShell :531* **`&&` n'est pas un séparateur d'instruction valide** : vous êtes dans PowerShell mais avez exécuté la commande du programme d'installation CMD. Utilisez le programme d'installation PowerShell :

532 ```powershell theme={null}532 ```powershell theme={null}

533 irm https://claude.ai/install.ps1 | iex533 irm https://claude.ai/install.ps1 | iex

534 ```534 ```

535 535 

536* **`A parameter cannot be found that matches parameter name 'fsSL'`** : vous avez exécuté le programme d'installation macOS/Linux `curl -fsSL ... | bash` dans Windows PowerShell, où `curl` est un alias pour `Invoke-WebRequest` et rejette les drapeaux `-fsSL`. Utilisez le programme d'installation PowerShell à la place :536* **`A parameter cannot be found that matches parameter name 'fsSL'`** : vous avez exécuté le programme d'installation `curl -fsSL ... | bash` macOS/Linux dans Windows PowerShell, où `curl` est un alias pour `Invoke-WebRequest` et rejette les indicateurs `-fsSL`. Utilisez le programme d'installation PowerShell à la place :

537 ```powershell theme={null}537 ```powershell theme={null}

538 irm https://claude.ai/install.ps1 | iex538 irm https://claude.ai/install.ps1 | iex

539 ```539 ```


543 irm https://claude.ai/install.ps1 | iex543 irm https://claude.ai/install.ps1 | iex

544 ```544 ```

545 545 

546* **La commande affiche le texte du script au lieu d'installer** : vous avez exécuté la moitié téléchargement de la commande sans la partie qui l'exécute. `irm https://claude.ai/install.ps1` seul affiche le script téléchargé au terminal. Dirigez-le vers `iex` pour l'exécuter :546* **La commande affiche le texte du script au lieu d'installer** : vous avez exécuté la moitié du téléchargement de la commande sans la partie qui l'exécute. `irm https://claude.ai/install.ps1` seul affiche le script téléchargé au terminal. Transmettez-le à `iex` pour l'exécuter :

547 547 

548 ```powershell theme={null}548 ```powershell theme={null}

549 irm https://claude.ai/install.ps1 | iex549 irm https://claude.ai/install.ps1 | iex


555 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd555 curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

556 ```556 ```

557 557 

558Quel que soit le programme d'installation que vous utilisez, confirmez qu'il a fonctionné : ouvrez un nouveau terminal et exécutez `claude --version`, qui affiche un numéro de version tel que `2.1.211 (Claude Code)`.558Quel que soit le programme d'installation utilisé, confirmez qu'il a fonctionné : ouvrez un nouveau terminal et exécutez `claude --version`, qui affiche un numéro de version tel que `2.1.211 (Claude Code)`.

559 559 

560<h3 id="running-scripts-is-disabled-on-this-system">560<h3 id="running-scripts-is-disabled-on-this-system">

561 `running scripts is disabled on this system`561 `running scripts is disabled on this system`


569 + CategoryInfo : SecurityError: (:) [], PSSecurityException569 + CategoryInfo : SecurityError: (:) [], PSSecurityException

570```570```

571 571 

572La même erreur nomme `claude.ps1` lorsque vous exécutez `claude` après une installation npm. La stratégie d'exécution de PowerShell bloque les scripts de lanceur `.ps1` que npm crée pour ses commandes. La stratégie s'applique aux fichiers de script, donc elle n'affecte pas le programme d'installation PowerShell `irm https://claude.ai/install.ps1 | iex`, qui exécute le texte téléchargé directement.572La même erreur nomme `claude.ps1` lorsque vous exécutez `claude` après une installation npm. La politique d'exécution de PowerShell bloque les scripts `.ps1` lanceurs que npm crée pour ses commandes. La politique s'applique aux fichiers de script, elle n'affecte donc pas le programme d'installation PowerShell `irm https://claude.ai/install.ps1 | iex`, qui exécute le texte téléchargé directement.

573 573 

574**Solutions :**574**Solutions :**

575 575 


577 ```powershell theme={null}577 ```powershell theme={null}

578 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser578 Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

579 ```579 ```

5802. **Appelez le lanceur `.cmd` à la place** : `npm.cmd` et `claude.cmd` font le même travail, et la stratégie ne les couvre pas.5802. **Appelez le lanceur `.cmd` à la place** : `npm.cmd` et `claude.cmd` font le même travail, et la politique ne les couvre pas.

5813. **Utilisez le [programme d'installation PowerShell](/docs/fr/setup#install-claude-code)** à la place de npm. Il installe un binaire plutôt qu'un script `.ps1`.5813. **Utilisez le [programme d'installation PowerShell](/docs/fr/setup#install-claude-code)** à la place de npm. Il installe un binaire plutôt qu'un script `.ps1`.

582 582 

583<h3 id="the-process-cannot-access-the-file-during-windows-install">583<h3 id="the-process-cannot-access-the-file-during-windows-install">

584 `The process cannot access the file` pendant l'installation Windows584 `The process cannot access the file` lors de l'installation Windows

585</h3>585</h3>

586 586 

587Si le programme d'installation PowerShell échoue avec `Failed to download binary: The process cannot access the file ... because it is being used by another process`, le programme d'installation n'a pas pu écrire dans `%USERPROFILE%\.claude\downloads`. Cela signifie généralement qu'une tentative d'installation précédente est toujours en cours d'exécution, ou que le logiciel antivirus analyse un binaire partiellement téléchargé dans ce dossier.587Si le programme d'installation PowerShell échoue avec `Failed to download binary: The process cannot access the file ... because it is being used by another process`, le programme d'installation n'a pas pu écrire dans `%USERPROFILE%\.claude\downloads`. Cela signifie généralement qu'une tentative d'installation précédente est toujours en cours d'exécution, ou qu'un logiciel antivirus analyse un binaire partiellement téléchargé dans ce dossier.

588 588 

589Fermez toutes les autres fenêtres PowerShell exécutant le programme d'installation et attendez que les analyses antivirus libèrent le fichier. Ensuite, supprimez le dossier des téléchargements et exécutez le programme d'installation à nouveau :589Fermez toutes les autres fenêtres PowerShell exécutant le programme d'installation et attendez que les analyses antivirus libèrent le fichier. Ensuite, supprimez le dossier des téléchargements et exécutez le programme d'installation à nouveau :

590 590 


594```594```

595 595 

596<h3 id="install-killed-on-low-memory-linux-servers">596<h3 id="install-killed-on-low-memory-linux-servers">

597 Installation interrompue sur les serveurs Linux à faible mémoire597 Installation arrêtée sur les serveurs Linux à faible mémoire

598</h3>598</h3>

599 599 

600Un message `Killed` pendant l'installation signifie généralement que le tueur OOM (out-of-memory) Linux a terminé l'étape `claude install` car le système a manqué de mémoire libre. Cela est courant sur les petits VPS et instances cloud. Le script d'installation signale la cause et se termine avec le code 137. Dans cet exemple, le numéro de ligne et l'ID de processus varient selon la version et l'exécution :600Un message `Killed` lors de l'installation signifie généralement que le tueur de mémoire insuffisante (OOM) Linux a terminé l'étape `claude install` parce que le système a manqué de mémoire libre. C'est courant sur les petits VPS et instances cloud. Le script d'installation signale la cause et se termine avec le code 137. Dans cet exemple, le numéro de ligne et l'ID de processus varient selon la version et l'exécution :

601 601 

602```text theme={null}602```text theme={null}

603Setting up Claude Code...603Setting up Claude Code...


621 sudo swapon /swapfile621 sudo swapon /swapfile

622 ```622 ```

623 623 

624 Puis réessayez l'installation :624 Ensuite, réessayez l'installation :

625 625 

626 ```bash theme={null}626 ```bash theme={null}

627 curl -fsSL https://claude.ai/install.sh | bash627 curl -fsSL https://claude.ai/install.sh | bash

628 ```628 ```

629 629 

6302. **Fermez les autres processus** pour libérer de la mémoire avant d'installer.6302. **Fermez d'autres processus** pour libérer de la mémoire avant l'installation.

631 631 

6323. **Utilisez une instance plus grande** si possible. Claude Code nécessite au moins 4 Go de RAM.6323. **Utilisez une instance plus grande** si possible. Claude Code nécessite au moins 4 Go de RAM.

633 633 

634<h3 id="install-hangs-in-docker">634<h3 id="install-hangs-in-docker">

635 L'installation se fige dans Docker635 L'installation se bloque dans Docker

636</h3>636</h3>

637 637 

638Lors de l'installation de Claude Code dans un conteneur Docker, l'installation en tant que root dans `/` peut causer des blocages.638Lors de l'installation de Claude Code dans un conteneur Docker, l'installation en tant que root dans `/` peut causer des blocages.

639 639 

640**Solutions :**640**Solutions :**

641 641 

6421. **Définissez un répertoire de travail** avant d'exécuter le programme d'installation. Lorsqu'il est exécuté depuis `/`, le programme d'installation analyse l'ensemble du système de fichiers, ce qui provoque une utilisation excessive de la mémoire. La définition de `WORKDIR` limite l'analyse à un petit répertoire :6421. **Définissez un répertoire de travail** avant d'exécuter le programme d'installation. Lorsqu'il est exécuté à partir de `/`, le programme d'installation analyse l'ensemble du système de fichiers, ce qui provoque une utilisation excessive de la mémoire. La définition de `WORKDIR` limite l'analyse à un petit répertoire :

643 ```dockerfile theme={null}643 ```dockerfile theme={null}

644 WORKDIR /tmp644 WORKDIR /tmp

645 RUN curl -fsSL https://claude.ai/install.sh | bash645 RUN curl -fsSL https://claude.ai/install.sh | bash

646 ```646 ```

647 647 

6482. **Donnez à Docker plus de mémoire** si vous utilisez Docker Desktop. Construisez les conteneurs partagent la mémoire allouée à la machine virtuelle Docker Desktop, donc ouvrez **Paramètres > Ressources** dans Docker Desktop, augmentez la limite de mémoire, et réexécutez la construction.6482. **Donnez à Docker plus de mémoire** si vous utilisez Docker Desktop. Les conteneurs de construction partagent la mémoire allouée à la machine virtuelle Docker Desktop, donc ouvrez **Settings > Resources** dans Docker Desktop, augmentez la limite de mémoire et réexécutez la construction.

649 649 

650<h3 id="raw-mode-is-not-supported-during-install">650<h3 id="raw-mode-is-not-supported-during-install">

651 `Raw mode is not supported` pendant l'installation651 `Raw mode is not supported` lors de l'installation

652</h3>652</h3>

653 653 

654Lorsque les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation incluent des modifications qui nécessitent une [approbation de sécurité](/docs/fr/server-managed-settings#security-approval-dialogs), les versions de Claude Code antérieures à 2.1.246 essaient d'afficher la boîte de dialogue d'approbation pendant `claude install`. La boîte de dialogue a besoin d'un terminal sur stdin. Lorsque le programme d'installation exécute `claude install` depuis un tuyau, comme `curl -fsSL https://claude.ai/install.sh | bash` le fait, stdin est le tuyau plutôt qu'un terminal, donc l'installation échoue avec une erreur contenant `Raw mode is not supported`.654Lorsque les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) de votre organisation incluent des modifications qui nécessitent une [approbation de sécurité](/docs/fr/server-managed-settings#security-approval-dialogs), les versions de Claude Code antérieures à 2.1.246 essaient d'afficher la boîte de dialogue d'approbation lors de `claude install`. La boîte de dialogue a besoin d'un terminal sur stdin. Lorsque le programme d'installation exécute `claude install` à partir d'un tuyau, comme le fait `curl -fsSL https://claude.ai/install.sh | bash`, stdin est le tuyau plutôt qu'un terminal, donc l'installation échoue avec une erreur contenant `Raw mode is not supported`.

655 655 

656Claude Code v2.1.246 et versions ultérieures n'affichent pas la boîte de dialogue pendant `claude install` ou `claude update`. La commande s'exécute avec les paramètres que vous avez approuvés en dernier, et Claude Code affiche la boîte de dialogue dans votre prochaine session interactive. Si la configuration de démarrage de votre organisation [attend la récupération des paramètres](/docs/fr/server-managed-settings#enforce-fail-closed-startup), comme lorsqu'elle définit `forceRemoteSettingsRefresh`, la boîte de dialogue apparaît toujours pendant ces commandes, et une exécution d'installation depuis un tuyau échoue toujours.656Claude Code v2.1.246 et versions ultérieures n'affichent pas la boîte de dialogue lors de `claude install` ou `claude update`. La commande s'exécute avec les paramètres que vous avez approuvés en dernier, et Claude Code affiche la boîte de dialogue dans votre prochaine session interactive. Si la configuration de démarrage de votre organisation [attend la récupération des paramètres](/docs/fr/server-managed-settings#enforce-fail-closed-startup), par exemple lorsqu'elle définit `forceRemoteSettingsRefresh`, la boîte de dialogue apparaît toujours lors de ces commandes, et une exécution d'installation à partir d'un tuyau échoue toujours.

657 657 

658Dans toute autre configuration, réexécuter le programme d'installation dépasse cette erreur, car le script exécute la commande `install` de la dernière version même lorsque vous demandez d'installer une version plus ancienne. Réexécutez la commande pour votre plateforme :658Dans toute autre configuration, réexécuter le programme d'installation dépasse cette erreur, car le script exécute la commande `install` de la dernière version même lorsque vous demandez d'installer une version plus ancienne. Réexécutez la commande pour votre plateforme :

659 659 


674`claude --version` affiche la version que la réexécution a installée.674`claude --version` affiche la version que la réexécution a installée.

675 675 

676<h3 id="claude-update-or-claude-doctor-hangs">676<h3 id="claude-update-or-claude-doctor-hangs">

677 `claude update` ou `claude doctor` se fige677 `claude update` ou `claude doctor` se bloque

678</h3>678</h3>

679 679 

680`claude update` et `claude doctor` analysent vos fichiers de configuration shell pour un alias `claude` obsolète : `~/.zshrc`, `~/.bashrc`, et `~/.config/fish/config.fish`, plus sur macOS le premier de `~/.bash_profile`, `~/.bash_login`, ou `~/.profile` qui existe. Si vous définissez `ZDOTDIR`, le fichier Zsh est `$ZDOTDIR/.zshrc` à la place. Lorsque l'un de ces chemins est un répertoire, Claude Code le saute et les deux commandes se terminent normalement. Avant v2.1.214, un répertoire à l'un de ces chemins faisait se figer les deux commandes et laissait la section Diagnostics système de `/status` vide. `claude doctor` s'est figé sans sortie ; `claude update` s'est figé juste après l'affichage de `Checking for updates`.680`claude update` et `claude doctor` analysent vos fichiers de configuration shell pour un alias `claude` obsolète : `~/.zshrc`, `~/.bashrc`, et `~/.config/fish/config.fish`, plus sur macOS le premier de `~/.bash_profile`, `~/.bash_login`, ou `~/.profile` qui existe. Si vous définissez `ZDOTDIR`, le fichier Zsh est `$ZDOTDIR/.zshrc` à la place. Lorsque l'un de ces chemins est un répertoire, Claude Code le saute et les deux commandes se terminent normalement. Avant v2.1.214, un répertoire à l'un de ces chemins faisait bloquer les deux commandes et laissait la section Diagnostics système de `/status` vide. `claude doctor` s'est bloqué sans sortie ; `claude update` s'est bloqué juste après l'affichage de `Checking for updates`.

681 681 

682Si vous rencontrez le blocage sur une version antérieure, trouvez le répertoire. Dans la sortie de cette commande, une ligne commençant par `d` marque ce chemin comme un répertoire. Une ligne `No such file or directory` signifie que rien n'existe à ce chemin et n'est pas la cause :682Si vous rencontrez le blocage sur une version antérieure, trouvez le répertoire. Dans la sortie de cette commande, une ligne commençant par `d` marque ce chemin comme un répertoire. Une ligne `No such file or directory` signifie que rien n'existe à ce chemin et n'en est pas la cause :

683 683 

684```bash theme={null}684```bash theme={null}

685ls -ld ~/.zshrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile ~/.config/fish/config.fish685ls -ld ~/.zshrc ~/.bashrc ~/.bash_profile ~/.bash_login ~/.profile ~/.config/fish/config.fish

686```686```

687 687 

688Déplacez le répertoire de côté, ou mettez à jour vers v2.1.214 ou ultérieur. Puisque `claude update` se fige sur les versions affectées, mettez à jour en réexécutant le [script d'installation](/docs/fr/setup#install-claude-code) à la place.688Déplacez le répertoire de côté, ou mettez à jour vers v2.1.214 ou ultérieur. Puisque `claude update` se bloque sur les versions affectées, mettez à jour en réexécutant le [script d'installation](/docs/fr/setup#install-claude-code) à la place.

689 689 

690<h3 id="claude-desktop-overrides-the-claude-command-on-windows">690<h3 id="claude-desktop-overrides-the-claude-command-on-windows">

691 Claude Desktop remplace la commande `claude` sur Windows691 Claude Desktop remplace la commande `claude` sur Windows

692</h3>692</h3>

693 693 

694Si vous avez installé une version antérieure de Claude Desktop, elle peut enregistrer un `Claude.exe` dans le répertoire `WindowsApps` qui prend la priorité PATH sur Claude Code CLI. L'exécution de `claude` ouvre l'application Desktop au lieu de la CLI.694Si vous avez installé une version plus ancienne de Claude Desktop, elle peut enregistrer un `Claude.exe` dans le répertoire `WindowsApps` qui prend la priorité PATH sur Claude Code CLI. L'exécution de `claude` ouvre l'application Desktop au lieu de la CLI.

695 695 

696Mettez à jour Claude Desktop vers la dernière version pour corriger ce problème.696Mettez à jour Claude Desktop vers la dernière version pour corriger ce problème.

697 697 

698<h3 id="claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell">698<h3 id="claude-code-on-windows-requires-either-git-for-windows-for-bash-or-powershell">

699 Claude Code sur Windows nécessite Git pour Windows (pour bash) ou PowerShell699 Claude Code sur Windows nécessite soit Git for Windows (pour bash) soit PowerShell

700</h3>700</h3>

701 701 

702Git pour Windows est optionnel. Claude Code utilise l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) en l'absence de Git Bash, donc cette erreur signifie qu'aucun shell n'a été trouvé.702Git for Windows est optionnel. Claude Code utilise l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) en l'absence de Git Bash, donc cette erreur signifie qu'aucun shell n'a été trouvé.

703 703 

704**Si PowerShell manque de votre PATH**, son emplacement par défaut est `C:\Windows\System32\WindowsPowerShell\v1.0\`. Ajoutez ce répertoire à votre `PATH`, ou installez [PowerShell 7](https://aka.ms/powershell), qui fournit `pwsh`.704**Si PowerShell manque de votre PATH**, son emplacement par défaut est `C:\Windows\System32\WindowsPowerShell\v1.0\`. Ajoutez ce répertoire à votre `PATH`, ou installez [PowerShell 7](https://aka.ms/powershell), qui fournit `pwsh`.

705 705 

706**Pour installer Git pour Windows à la place**, téléchargez-le depuis [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Pendant la configuration, sélectionnez « Add to PATH ». Redémarrez votre terminal après l'installation. L'installation active l'outil Bash, utile lorsque vous travaillez avec des scripts et des outils basés sur Bash.706**Pour installer Git for Windows à la place**, téléchargez-le depuis [git-scm.com/downloads/win](https://git-scm.com/downloads/win). Lors de la configuration, sélectionnez « Add to PATH ». Redémarrez votre terminal après l'installation. L'installation l'active, ce qui active l'outil Bash, utile lorsque vous travaillez avec des scripts et des outils basés sur Bash.

707 707 

708**Si Git est déjà installé** mais que Claude Code ne peut pas le trouver, comparez son emplacement par rapport aux endroits où Claude Code cherche. Lorsque `CLAUDE_CODE_GIT_BASH_PATH` n'est pas défini, Claude Code cherche `bash.exe` dans cet ordre :708**Si Git est déjà installé** mais Claude Code ne peut pas le trouver, comparez son emplacement par rapport aux endroits où Claude Code cherche. Lorsque `CLAUDE_CODE_GIT_BASH_PATH` n'est pas défini, Claude Code cherche `bash.exe` dans cet ordre :

709 709 

7101. Les emplacements d'installation par défaut `C:\Program Files\Git` et `C:\Program Files (x86)\Git`.7101. Les emplacements d'installation par défaut `C:\Program Files\Git` et `C:\Program Files (x86)\Git`.

7112. Le `git` sur votre `PATH`, en utilisant le `bin\bash.exe` de cette installation Git.7112. Le `git` sur votre `PATH`, en utilisant le `bin\bash.exe` de cette installation Git.

712 712 

713À l'étape 2, Claude Code saute un `git` qui se trouve dans le dossier à partir duquel vous avez lancé Claude Code, ou en dessous dans un chemin qui contient `node_modules` ou un dossier d'environnement virtuel tel que `.venv` ou `env`, par exemple `C:\dev\env\myproject\Git` lorsque vous avez lancé depuis `C:\dev\env\myproject`. Cela empêche Claude Code d'exécuter un exécutable qu'un projet a placé là. Si votre Git est dans un emplacement comme celui-ci, pointez `CLAUDE_CODE_GIT_BASH_PATH` vers lui.713À l'étape 2, Claude Code saute un `git` qui se trouve dans le dossier à partir duquel vous avez lancé Claude Code, ou en dessous dans un chemin qui contient `node_modules` ou un dossier d'environnement virtuel tel que `.venv` ou `env`, par exemple `C:\dev\env\myproject\Git` lorsque vous avez lancé à partir de `C:\dev\env\myproject`. Cela empêche Claude Code d'exécuter un exécutable qu'un projet y a placé. Si votre Git se trouve dans un emplacement comme celui-ci, pointez `CLAUDE_CODE_GIT_BASH_PATH` vers lui.

714 714 

715**Pour pointer Claude Code vers une installation Git spécifique**, trouvez-la en exécutant `where.exe git` dans PowerShell, puis définissez le chemin `bin\bash.exe` de cette installation en tant que `CLAUDE_CODE_GIT_BASH_PATH` dans votre [fichier settings.json](/docs/fr/settings) :715**Pour pointer Claude Code vers une installation Git spécifique**, trouvez-la en exécutant `where.exe git` dans PowerShell, puis définissez le chemin `bin\bash.exe` de cette installation en tant que `CLAUDE_CODE_GIT_BASH_PATH` dans votre [fichier settings.json](/docs/fr/settings) :

716 716 


722}722}

723```723```

724 724 

725**Si `CLAUDE_CODE_GIT_BASH_PATH` est défini sur le chemin correct et le fichier existe** mais que Claude Code ne l'utilise toujours pas, vérifiez d'abord le nom du fichier. Claude Code accepte uniquement un fichier nommé `bash.exe`, `sh.exe`, `bash`, ou `sh` ; avec tout autre nom, tel que le lanceur `git-bash.exe` de Git pour Windows, il ignore la variable et détecte automatiquement Git Bash comme s'il n'était pas défini, en enregistrant un avertissement visible avec `--debug`. Un chemin qui n'existe pas obtient le même secours et avertissement. Avant v2.1.219, Claude Code utilisait n'importe quel fichier existant comme shell sans vérifier son nom, et s'est fermé au démarrage avec `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` lorsque le chemin n'existait pas.725**Si `CLAUDE_CODE_GIT_BASH_PATH` est défini sur le chemin correct et que le fichier existe** mais Claude Code ne l'utilise toujours pas, vérifiez d'abord le nom du fichier. Claude Code n'accepte qu'un fichier nommé `bash.exe`, `sh.exe`, `bash`, ou `sh` ; avec tout autre nom, tel que le lanceur `git-bash.exe` de Git for Windows, il ignore la variable et détecte automatiquement Git Bash comme s'il n'était pas défini, en enregistrant un avertissement visible avec `--debug`. Un chemin qui n'existe pas obtient le même repli et avertissement. Avant v2.1.219, Claude Code utilisait n'importe quel fichier existant comme shell sans vérifier son nom, et se terminait au démarrage avec `Claude Code was unable to find CLAUDE_CODE_GIT_BASH_PATH path` lorsque le chemin n'existait pas.

726 726 

727Si le nom du fichier est correct, un logiciel de sécurité des points de terminaison tel que AppLocker, les stratégies de restriction logicielle de la stratégie de groupe, ou les agents EDR peuvent interférer. Demandez à votre équipe informatique de mettre en liste blanche `claude.exe` et les processus qu'il génère, y compris `cmd.exe` et `bash.exe`, dans votre stratégie de protection des points de terminaison.727Si le nom du fichier est correct, un logiciel de sécurité des points de terminaison tel que AppLocker, les stratégies de restriction logicielle de la stratégie de groupe, ou les agents EDR peuvent interférer. Demandez à votre équipe informatique de mettre en liste blanche `claude.exe` et les processus qu'il génère, y compris `cmd.exe` et `bash.exe`, dans votre politique de protection des points de terminaison.

728 728 

729<h3 id="claude-code-does-not-support-32-bit-windows">729<h3 id="claude-code-does-not-support-32-bit-windows">

730 Claude Code ne supporte pas Windows 32 bits730 Claude Code ne prend pas en charge Windows 32 bits

731</h3>731</h3>

732 732 

733Windows inclut deux entrées PowerShell dans le menu Démarrer : `Windows PowerShell` et `Windows PowerShell (x86)`. L'entrée x86 s'exécute en tant que processus 32 bits et déclenche cette erreur même sur une machine 64 bits. Pour vérifier quel cas vous êtes, exécutez ceci dans la même fenêtre qui a produit l'erreur :733Windows inclut deux entrées PowerShell dans le menu Démarrer : `Windows PowerShell` et `Windows PowerShell (x86)`. L'entrée x86 s'exécute en tant que processus 32 bits et déclenche cette erreur même sur une machine 64 bits. Pour vérifier quel cas vous êtes, exécutez ceci dans la même fenêtre qui a produit l'erreur :


744 Incompatibilité binaire musl ou glibc Linux744 Incompatibilité binaire musl ou glibc Linux

745</h3>745</h3>

746 746 

747Si vous voyez des erreurs concernant les bibliothèques partagées manquantes comme `libstdc++.so.6` ou `libgcc_s.so.1` après l'installation, le programme d'installation a peut-être téléchargé la mauvaise variante binaire pour votre système.747Si 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.

748 748 

749```text theme={null}749```text theme={null}

750Error loading shared library libstdc++.so.6: No such file or directory750Error loading shared library libstdc++.so.6: No such file or directory

751```751```

752 752 

753Cela peut se produire sur les systèmes basés sur glibc qui ont des paquets de compilation croisée musl installés, ce qui amène le programme d'installation à mal détecter le système comme musl.753Cela 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.

754 754 

755**Solutions :**755**Solutions :**

756 756 


762 762 

7632. **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*`.7632. **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*`.

764 764 

7653. **Si vous êtes réellement sur musl**, comme Alpine Linux, installez les paquets requis :7653. **Si vous êtes réellement sur musl**, tel que Alpine Linux, installez les packages requis :

766 ```bash theme={null}766 ```bash theme={null}

767 apk add libgcc libstdc++ ripgrep767 apk add libgcc libstdc++ ripgrep

768 ```768 ```

769 Sur Alpine, `ripgrep` est dans le référentiel communautaire. Si `apk` signale que le paquet est manquant, consultez [Configuration Alpine Linux](/docs/fr/setup#alpine-linux-and-musl-based-distributions).769 Sur Alpine, `ripgrep` se trouve dans le référentiel communautaire. Si `apk` signale que le package manque, consultez [Configuration Alpine Linux](/docs/fr/setup#alpine-linux-and-musl-based-distributions).

770 770 

771<h3 id="illegal-instruction">771<h3 id="illegal-instruction">

772 `Illegal instruction`772 `Illegal instruction`

773</h3>773</h3>

774 774 

775Si l'exécution de `claude` ou du programme d'installation affiche `Illegal instruction`, le binaire natif utilise des instructions CPU que votre processeur ne supporte pas. Il y a deux causes distinctes.775Si l'exécution de `claude` ou du programme d'installation affiche `Illegal instruction`, le binaire natif utilise des instructions CPU que votre processeur ne prend pas en charge. Il y a deux causes distinctes.

776 776 

777**Incompatibilité d'architecture.** Le programme d'installation a téléchargé le mauvais binaire, par exemple x86 sur un serveur ARM. Vérifiez avec `uname -m` sur macOS ou Linux, ou `$env:PROCESSOR_ARCHITECTURE` dans PowerShell. Si le résultat ne correspond pas au binaire que vous avez reçu, [déposez un problème GitHub](https://github.com/anthropics/claude-code/issues) avec la sortie.777**Incompatibilité d'architecture.** Le programme d'installation a téléchargé le mauvais binaire, par exemple x86 sur un serveur ARM. Vérifiez avec `uname -m` sur macOS ou Linux, ou `$env:PROCESSOR_ARCHITECTURE` dans PowerShell. Si le résultat ne correspond pas au binaire que vous avez reçu, [déposez un problème GitHub](https://github.com/anthropics/claude-code/issues) avec la sortie.

778 778 

779**Ensemble d'instructions manquant.** Si votre architecture est correcte mais que vous voyez toujours `Illegal instruction`, votre processeur manque probablement d'AVX ou d'une autre instruction que le binaire nécessite. Cela affecte environ les processeurs Intel et AMD antérieurs à 2013, et les machines virtuelles où l'hyperviseur ne transmet pas AVX à l'invité.779**Ensemble d'instructions AVX manquant.** Si votre architecture est correcte mais que vous voyez toujours `Illegal instruction`, votre CPU manque probablement d'AVX ou d'une autre instruction que le binaire nécessite. Cela affecte environ les processeurs Intel et AMD antérieurs à 2013, et les machines virtuelles où l'hyperviseur ne transmet pas AVX à l'invité.

780 780 

781Sur un VPS ou une VM, exécutez `grep -m1 -ow avx /proc/cpuinfo` ; un résultat vide signifie qu'AVX n'est pas disponible pour l'invité.781Sur un VPS ou une VM, exécutez `grep -m1 -ow avx /proc/cpuinfo` ; un résultat vide signifie qu'AVX n'est pas disponible pour l'invité.

782 782 

783Il n'y a pas de solution de contournement binaire native ; suivez [le problème #50384](https://github.com/anthropics/claude-code/issues/50384) pour le statut, et incluez votre modèle de processeur depuis `grep -m1 "model name" /proc/cpuinfo` sur Linux ou `sysctl -n machdep.cpu.brand_string` sur macOS lors du signalement.783Il n'y a pas de solution de contournement binaire natif ; suivez [le problème #50384](https://github.com/anthropics/claude-code/issues/50384) pour l'état, et incluez votre modèle de CPU à partir de `grep -m1 "model name" /proc/cpuinfo` sur Linux ou `sysctl -n machdep.cpu.brand_string` sur macOS lors du signalement.

784 784 

785Les méthodes d'installation alternatives téléchargent le même binaire natif et ne résoudront aucune des deux causes.785Les méthodes d'installation alternatives téléchargent le même binaire natif et ne résoudront aucune des deux causes.

786 786 


788 `dyld: cannot load` sur macOS788 `dyld: cannot load` sur macOS

789</h3>789</h3>

790 790 

791Si vous voyez `dyld: Symbol not found`, `dyld: cannot load`, ou `Abort trap: 6` pendant l'installation, le binaire est incompatible avec votre version ou matériel macOS.791Si vous voyez `dyld: Symbol not found`, `dyld: cannot load`, ou `Abort trap: 6` lors de l'installation, le binaire est incompatible avec votre version ou matériel macOS.

792 792 

793Une erreur `Symbol not found` qui référence `libicucore` signifie que votre version macOS est plus ancienne que celle que le binaire supporte :793Une erreur `Symbol not found` qui référence `libicucore` signifie que votre version macOS est plus ancienne que celle que le binaire prend en charge :

794 794 

795```text theme={null}795```text theme={null}

796dyld: Symbol not found: _ubrk_clone796dyld: Symbol not found: _ubrk_clone


809 809 

8101. **Vérifiez votre version macOS** : Claude Code nécessite macOS 13.0 ou ultérieur. Ouvrez le menu Apple et sélectionnez À propos de ce Mac pour vérifier votre version.8101. **Vérifiez votre version macOS** : Claude Code nécessite macOS 13.0 ou ultérieur. Ouvrez le menu Apple et sélectionnez À propos de ce Mac pour vérifier votre version.

811 811 

8122. **Mettez à jour macOS** si vous êtes sur une version plus ancienne. Le binaire utilise des commandes de chargement et des bibliothèques système que les anciennes versions de macOS ne supportent pas. Les méthodes d'installation alternatives comme Homebrew téléchargent le même binaire et ne résoudront pas cette erreur.8122. **Mettez à jour macOS** si vous êtes sur une version plus ancienne. Le binaire utilise des commandes de chargement et des bibliothèques système que les versions macOS plus anciennes ne prennent pas en charge. Les méthodes d'installation alternatives comme Homebrew téléchargent le même binaire et ne résoudront pas cette erreur.

813 813 

814<h3 id="exec-format-error-on-wsl1">814<h3 id="exec-format-error-on-wsl1">

815 `Exec format error` sur WSL1815 `Exec format error` sur WSL1

816</h3>816</h3>

817 817 

818Si l'exécution de `claude` dans WSL affiche `cannot execute binary file: Exec format error`, vous êtes sur WSL1 et vous rencontrez une régression binaire native connue suivie dans [le problème #38788](https://github.com/anthropics/claude-code/issues/38788). Les en-têtes de programme du binaire ont changé d'une manière que le chargeur WSL1 ne peut pas gérer.818Si l'exécution de `claude` dans WSL affiche `cannot execute binary file: Exec format error`, vous êtes sur WSL1 et rencontrez une régression binaire native connue suivie dans [le problème #38788](https://github.com/anthropics/claude-code/issues/38788). Les en-têtes de programme du binaire ont changé d'une manière que le chargeur WSL1 ne peut pas gérer.

819 819 

820La correction la plus propre est de convertir votre distribution en WSL2 depuis PowerShell :820La correction la plus propre est de convertir votre distribution en WSL2 à partir de PowerShell :

821 821 

822```powershell theme={null}822```powershell theme={null}

823wsl --set-version <DistroName> 2823wsl --set-version <DistroName> 2


831}831}

832```832```

833 833 

834Puis exécutez `source ~/.bashrc` et réessayez `claude`.834Ensuite, exécutez `source ~/.bashrc` et réessayez `claude`.

835 835 

836<h3 id="npm-install-errors-in-wsl">836<h3 id="npm-install-errors-in-wsl">

837 Erreurs d'installation npm dans WSL837 Erreurs d'installation npm dans WSL


839 839 

840Ces 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](/docs/fr/setup), ignorez cette section.840Ces 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](/docs/fr/setup), ignorez cette section.

841 841 

842**Problèmes de détection d'OS ou de plateforme.** Si npm signale une incompatibilité de plateforme pendant 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`.842**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`.

843 843 

844**`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 paquets de votre distribution Linux ou via [`nvm`](https://github.com/nvm-sh/nvm).844**`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).

845 845 

846**Conflits de version nvm.** Si vous avez nvm installé à la fois dans WSL et Windows, basculer les versions de Node dans WSL peut casser car WSL importe le PATH Windows par défaut et le nvm Windows prend la priorité. La cause la plus courante est que nvm n'est pas chargé dans votre shell. Ajoutez le chargeur nvm à `~/.bashrc` ou `~/.zshrc` :846**Conflits de version nvm.** Si vous avez nvm installé à la fois dans WSL et Windows, basculer les versions de Node dans WSL peut échouer car WSL importe le PATH Windows par défaut et le nvm Windows prend la priorité. La cause la plus courante est que nvm n'est pas chargé dans votre shell. Ajoutez le chargeur nvm à `~/.bashrc` ou `~/.zshrc` :

847 847 

848```bash theme={null}848```bash theme={null}

849export NVM_DIR="$HOME/.nvm"849export NVM_DIR="$HOME/.nvm"


857source ~/.nvm/nvm.sh857source ~/.nvm/nvm.sh

858```858```

859 859 

860Si nvm est chargé mais que les chemins Windows prennent toujours la priorité, prépendez explicitement votre chemin Node Linux :860Si nvm est chargé mais que les chemins Windows prennent toujours la priorité, préfixez explicitement votre chemin Node Linux :

861 861 

862```bash theme={null}862```bash theme={null}

863export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"863export PATH="$HOME/.nvm/versions/node/$(node -v)/bin:$PATH"

864```864```

865 865 

866<Warning>866<Warning>

867 Évitez de désactiver l'importation du PATH Windows via `appendWindowsPath = false` car cela casse la capacité à appeler les exécutables Windows depuis WSL. De même, évitez de désinstaller Node.js de Windows si vous l'utilisez pour le développement Windows.867 Évitez de désactiver l'importation du PATH Windows via `appendWindowsPath = false` car cela casse la capacité à appeler des exécutables Windows à partir de WSL. De même, évitez de désinstaller Node.js de Windows si vous l'utilisez pour le développement Windows.

868</Warning>868</Warning>

869 869 

870<h3 id="permission-errors-during-installation">870<h3 id="permission-errors-during-installation">

871 Erreurs de permission pendant l'installation871 Erreurs de permission lors de l'installation

872</h3>872</h3>

873 873 

874Si le programme d'installation natif échoue avec des erreurs de permission, le répertoire cible peut ne pas être accessible en écriture. Consultez [Vérifiez les permissions des répertoires](#check-directory-permissions).874Si le programme d'installation natif échoue avec des erreurs de permission, le répertoire cible peut ne pas être accessible en écriture. Consultez [Vérifier les permissions du répertoire](#check-directory-permissions).

875 875 

876Si vous avez précédemment installé avec npm et rencontrez des erreurs de permission spécifiques à npm, passez au programme d'installation natif :876Si vous avez précédemment installé avec npm et rencontrez des erreurs de permission spécifiques à npm, basculez vers le programme d'installation natif :

877 877 

878```bash theme={null}878```bash theme={null}

879curl -fsSL https://claude.ai/install.sh | bash879curl -fsSL https://claude.ai/install.sh | bash


883 Binaire natif non trouvé après l'installation npm883 Binaire natif non trouvé après l'installation npm

884</h3>884</h3>

885 885 

886Le paquet npm `@anthropic-ai/claude-code` télécharge le binaire natif en tant que dépendance optionnelle par plateforme, comme `@anthropic-ai/claude-code-darwin-arm64`. npm exécute ensuite le script postinstall du paquet, qui copie ce binaire en place en tant que commande `claude` ; jusqu'à ce qu'il s'exécute, `claude` est un script d'espace réservé. Si l'étape de téléchargement ou l'étape postinstall est ignorée, l'espace réservé reste en place, et l'exécution de `claude` sur macOS et Linux affiche :886Le package npm `@anthropic-ai/claude-code` télécharge le binaire natif en tant que dépendance optionnelle par plateforme, tel que `@anthropic-ai/claude-code-darwin-arm64`. npm exécute ensuite le script postinstall du package, qui copie ce binaire en place en tant que commande `claude` ; jusqu'à ce qu'il s'exécute, `claude` est un script d'espace réservé. Si l'étape de téléchargement ou de postinstall est ignorée, l'espace réservé reste en place, et l'exécution de `claude` sur macOS et Linux affiche :

887 887 

888```text theme={null}888```text theme={null}

889Error: claude native binary not installed.889Error: claude native binary not installed.


898Or reinstall without --ignore-scripts / --omit=optional.898Or reinstall without --ignore-scripts / --omit=optional.

899```899```

900 900 

901Sur Windows, `bin/claude.exe` est ce même espace réservé de script shell plutôt qu'un vrai exécutable, donc PowerShell et CMD signalent qu'ils ne peuvent pas exécuter le fichier au lieu d'afficher ce message.901Sur Windows, `bin/claude.exe` est ce même script d'espace réservé shell plutôt qu'un vrai exécutable, donc PowerShell et CMD signalent qu'ils ne peuvent pas exécuter le fichier au lieu d'afficher ce message.

902 902 

903Vérifiez les causes suivantes :903Vérifiez les causes suivantes :

904 904 

905* **Les dépendances optionnelles sont désactivées.** Supprimez `--omit=optional` de votre commande d'installation npm, `--no-optional` de pnpm, ou `--ignore-optional` de yarn, et vérifiez que `.npmrc` ne définit pas `optional=false`. Puis réinstallez. Le binaire natif est livré uniquement en tant que dépendance optionnelle, donc il n'y a pas de secours JavaScript s'il est ignoré, et l'exécution de `install.cjs` à nouveau ne peut pas placer un binaire qui n'a jamais été téléchargé.905* **Les dépendances optionnelles sont désactivées.** Supprimez `--omit=optional` de votre commande d'installation npm, `--no-optional` de pnpm, ou `--ignore-optional` de yarn, et vérifiez que `.npmrc` ne définit pas `optional=false`. Ensuite, réinstallez. Le binaire natif est livré uniquement en tant que dépendance optionnelle, il n'y a donc pas de secours JavaScript s'il est ignoré, et l'exécution de `install.cjs` à nouveau ne peut pas placer un binaire qui n'a jamais été téléchargé.

906* **Les scripts d'installation sont désactivés.** `--ignore-scripts` et certaines configurations pnpm ignorent l'étape postinstall mais téléchargent toujours le paquet de plateforme. Exécutez `node node_modules/@anthropic-ai/claude-code/install.cjs` comme le message le suggère, ou réinstallez sans le drapeau. Si postinstall ne peut pas s'exécuter du tout dans votre environnement, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` trouve le paquet téléchargé et le lance, au coût d'un processus Node supplémentaire à chaque démarrage. Si le wrapper affiche `Could not find native binary package` à la place, le paquet de plateforme n'a jamais été téléchargé, donc corrigez d'abord la cause des dépendances optionnelles ci-dessus.906* **Les scripts d'installation sont désactivés.** `--ignore-scripts` et certaines configurations pnpm ignorent l'étape postinstall mais téléchargent toujours le package de plateforme. Exécutez `node node_modules/@anthropic-ai/claude-code/install.cjs` comme le suggère le message, ou réinstallez sans l'indicateur. Si postinstall ne peut pas s'exécuter du tout dans votre environnement, `node node_modules/@anthropic-ai/claude-code/cli-wrapper.cjs` trouve le package téléchargé et le lance, au prix d'un processus Node supplémentaire à chaque démarrage. Si l'enveloppe affiche `Could not find native binary package` à la place, le package de plateforme n'a jamais été téléchargé, donc corrigez d'abord la cause des dépendances optionnelles ci-dessus.

907* **Plateforme non supportée.** Les binaires précompilés sont publiés pour `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, et `win32-arm64`. Claude Code ne livre pas de binaire pour d'autres plateformes ; consultez les [exigences système](/docs/fr/setup#system-requirements). Sur FreeBSD, le programme d'installation signale la plateforme comme non supportée. Avant v2.1.205, il traitait FreeBSD comme Linux et téléchargeait un binaire qui ne pouvait pas s'exécuter.907* **Plateforme non prise en charge.** Les binaires précompilés sont publiés pour `darwin-arm64`, `darwin-x64`, `linux-x64`, `linux-arm64`, `linux-x64-musl`, `linux-arm64-musl`, `win32-x64`, et `win32-arm64`. Claude Code ne livre pas de binaire pour d'autres plateformes ; consultez les [exigences système](/docs/fr/setup#system-requirements). Sur FreeBSD, le programme d'installation signale la plateforme comme non prise en charge. Avant v2.1.205, il traitait FreeBSD comme Linux et téléchargeait un binaire qui ne pouvait pas s'exécuter.

908* **Le miroir npm d'entreprise manque les paquets de plateforme.** Assurez-vous que votre registre reflète les huit paquets `@anthropic-ai/claude-code-*` de plateforme en plus du paquet méta.908* **Le miroir npm d'entreprise manque les packages de plateforme.** Assurez-vous que votre registre met en miroir les huit packages `@anthropic-ai/claude-code-*` de plateforme en plus du package méta.

909 909 

910<h3 id="npm-enotempty-during-update-or-reinstall">910<h3 id="npm-enotempty-during-update-or-reinstall">

911 Erreur npm `ENOTEMPTY` pendant la mise à jour ou la réinstallation911 Erreur npm `ENOTEMPTY` lors de la mise à jour ou de la réinstallation

912</h3>912</h3>

913 913 

914Lorsque vous exécutez `npm install -g @anthropic-ai/claude-code` sur une installation existante, npm peut échouer en déplaçant l'ancien répertoire de paquets de côté :914Lorsque 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 :

915 915 

916```text theme={null}916```text theme={null}

917npm error code ENOTEMPTY917npm error code ENOTEMPTY


922npm error ENOTEMPTY: directory not empty, rename '...'922npm error ENOTEMPTY: directory not empty, rename '...'

923```923```

924 924 

925La ligne `npm error path` nomme le répertoire que npm n'a pas pu déplacer. Supprimez ce répertoire et tous les répertoires `.claude-code-*` restants à côté, que les exécutions interrompues antérieures peuvent laisser derrière. Les commandes ci-dessous trouvent votre répertoire de paquets global avec `npm root -g` ; si le répertoire que la ligne `npm error path` nomme n'est pas sous le répertoire que `npm root -g` affiche, par exemple parce que vous avez changé de versions de Node avec nvm, supprimez les répertoires que l'erreur nomme à la place :925La ligne `npm error path` nomme le répertoire que npm n'a pas pu déplacer. Supprimez ce répertoire et tous les répertoires `.claude-code-*` restants à côté, que les exécutions interrompues antérieures peuvent laisser derrière. Les commandes ci-dessous trouvent votre répertoire de package global avec `npm root -g` ; si le répertoire que la ligne `npm error path` nomme ne se trouve pas sous le répertoire que `npm root -g` affiche, par exemple parce que vous avez basculé les versions de Node avec nvm, supprimez les répertoires que l'erreur nomme à la place :

926 926 

927<Tabs>927<Tabs>

928 <Tab title="macOS/Linux">928 <Tab title="macOS/Linux">


930 rm -rf "$(npm root -g)/@anthropic-ai/claude-code"930 rm -rf "$(npm root -g)/@anthropic-ai/claude-code"

931 ```931 ```

932 932 

933 Puis supprimez tous les répertoires temporaires restants. Si zsh affiche `no matches found`, il n'y en avait aucun à supprimer :933 Ensuite, supprimez tous les répertoires temporaires restants. Si Zsh affiche `no matches found`, il n'y en avait aucun à supprimer :

934 934 

935 ```bash theme={null}935 ```bash theme={null}

936 rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*936 rm -rf "$(npm root -g)/@anthropic-ai/.claude-code-"*


944 </Tab>944 </Tab>

945</Tabs>945</Tabs>

946 946 

947Puis réinstallez :947Ensuite, réinstallez :

948 948 

949```bash theme={null}949```bash theme={null}

950npm install -g @anthropic-ai/claude-code950npm install -g @anthropic-ai/claude-code

Details

413. Envisagez d'ajouter les grands répertoires de construction à votre fichier `.gitignore`413. Envisagez d'ajouter les grands répertoires de construction à votre fichier `.gitignore`

424. Redémarrez avec [`claude --safe-mode`](/docs/fr/cli-reference#cli-flags) pour vérifier si un plugin, un serveur MCP ou un hook est la source. Cela désactive toutes les personnalisations pour la session ; si l'utilisation diminue, consultez [Déboguer votre configuration](/docs/fr/debug-your-config#test-against-a-clean-configuration) pour trouver lequel424. Redémarrez avec [`claude --safe-mode`](/docs/fr/cli-reference#cli-flags) pour vérifier si un plugin, un serveur MCP ou un hook est la source. Cela désactive toutes les personnalisations pour la session ; si l'utilisation diminue, consultez [Déboguer votre configuration](/docs/fr/debug-your-config#test-against-a-clean-configuration) pour trouver lequel

43 43 

44Si la mémoire heap d'une session dépasse 2,5 Go, un avertissement critique d'utilisation de la mémoire apparaît. Pour libérer la mémoire, redémarrez Claude Code et exécutez [`claude --continue`](/docs/fr/cli-reference#cli-flags) pour reprendre la conversation dans un nouveau processus.

45 

46En dehors du [rendu en plein écran](/docs/fr/fullscreen), l'exécution de `/compact` libère également la mémoire. L'avertissement disparaît une fois que l'utilisation de la mémoire redescend en dessous de 2,5 Go.

47 

44Si l'utilisation de la mémoire reste élevée après ces étapes, exécutez `/heapdump` pour écrire deux fichiers sur `~/Desktop` : un snapshot de tas JavaScript nommé `<session-id>.heapsnapshot` et une ventilation de la mémoire nommée `<session-id>-diagnostics.json`. Claude Code [masque la commande du menu de commandes](/docs/fr/commands#how-the-command-menu-matches-what-you-type) ; tapez-la en entier. Sur Linux sans dossier Desktop, les fichiers sont écrits dans votre répertoire personnel.48Si l'utilisation de la mémoire reste élevée après ces étapes, exécutez `/heapdump` pour écrire deux fichiers sur `~/Desktop` : un snapshot de tas JavaScript nommé `<session-id>.heapsnapshot` et une ventilation de la mémoire nommée `<session-id>-diagnostics.json`. Claude Code [masque la commande du menu de commandes](/docs/fr/commands#how-the-command-menu-matches-what-you-type) ; tapez-la en entier. Sur Linux sans dossier Desktop, les fichiers sont écrits dans votre répertoire personnel.

45 49 

46<Warning>50<Warning>


108 112 

109Pour mettre la sortie de Claude sur votre presse-papiers, demandez à Claude d'imprimer le contenu dans sa réponse, puis exécutez [`/copy`](/docs/fr/commands). `/copy` écrit dans le presse-papiers depuis le processus Claude Code lui-même plutôt que depuis une commande en sandbox, donc le sandboxing ne le bloque pas. Il peut copier un seul bloc de code au lieu de la réponse entière, et il écrit également ce qu'il a copié dans un fichier et imprime le chemin, ce qui vous donne une solution de secours quand l'écriture du presse-papiers n'atteint pas votre terminal, par exemple sur SSH.113Pour mettre la sortie de Claude sur votre presse-papiers, demandez à Claude d'imprimer le contenu dans sa réponse, puis exécutez [`/copy`](/docs/fr/commands). `/copy` écrit dans le presse-papiers depuis le processus Claude Code lui-même plutôt que depuis une commande en sandbox, donc le sandboxing ne le bloque pas. Il peut copier un seul bloc de code au lieu de la réponse entière, et il écrit également ce qu'il a copié dans un fichier et imprime le chemin, ce qui vous donne une solution de secours quand l'écriture du presse-papiers n'atteint pas votre terminal, par exemple sur SSH.

110 114 

111Pour laisser une commande canalisée atteindre le presse-papiers directement à la place, ajoutez `pbcopy *`, `wl-copy *` ou `xclip *` à [`excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands) pour que la commande s'exécute en dehors du sandbox.115Quand Claude canalise du texte vers l'un de ces outils, ajouter `pbcopy *`, `wl-copy *` ou `xclip *` à [`excludedCommands`](/docs/fr/settings-reference#sandbox-excludedcommands) ne retire pas cet appel du sandbox en soi.

112 116 

113<h3 id="copied-text-doesn’t-reach-your-local-clipboard-over-ssh">117<h3 id="copied-text-doesn’t-reach-your-local-clipboard-over-ssh">

114 Texte copié n'atteint pas votre presse-papiers local sur SSH118 Texte copié n'atteint pas votre presse-papiers local sur SSH

ultrareview.md +33 −26

Details

21Ultrareview nécessite une authentification avec un compte claude.ai car il s'exécute en tant que session cloud sur l'infrastructure d'Anthropic. Si vous êtes connecté avec une clé API uniquement, exécutez `/login` et authentifiez-vous d'abord avec claude.ai. Ultrareview n'est pas disponible lors de l'utilisation de Claude Code avec Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, et il n'est pas disponible pour les organisations qui ont activé la rétention zéro des données. Lorsque ultrareview n'est pas disponible, `/code-review ultra` exécute une révision locale dans votre session à la place.21Ultrareview nécessite une authentification avec un compte claude.ai car il s'exécute en tant que session cloud sur l'infrastructure d'Anthropic. Si vous êtes connecté avec une clé API uniquement, exécutez `/login` et authentifiez-vous d'abord avec claude.ai. Ultrareview n'est pas disponible lors de l'utilisation de Claude Code avec Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, et il n'est pas disponible pour les organisations qui ont activé la rétention zéro des données. Lorsque ultrareview n'est pas disponible, `/code-review ultra` exécute une révision locale dans votre session à la place.

22 22 

23<h2 id="run-ultrareview-from-the-cli">23<h2 id="run-ultrareview-from-the-cli">

24 Exécuter ultrareview à partir de la CLI24 Exécuter ultrareview depuis la CLI

25</h2>25</h2>

26 26 

27Démarrez une révision à partir de n'importe quel référentiel git :27Démarrez une revue depuis n'importe quel référentiel git :

28 28 

29```text theme={null}29```text theme={null}

30/code-review ultra30/code-review ultra

31```31```

32 32 

33Sans arguments, ultrareview examine la différence entre votre branche actuelle et la branche par défaut, y compris les modifications non validées et mises en scène. Pour les modifications non validées de fichiers nommés comme des identifiants ou des clés, tels que les fichiers `.env` et `*.tfvars`, Claude Code suit les règles pour [télécharger un référentiel local vers une session cloud](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github).33Sans arguments, ultrareview examine la différence entre votre branche actuelle et la branche par défaut, y compris les modifications non validées et les modifications en attente. Pour les modifications non validées de fichiers nommés comme des identifiants ou des clés, tels que les fichiers `.env` et `*.tfvars`, Claude Code suit les règles pour [charger un référentiel local vers une session cloud](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github).

34 34 

35Pour une révision de branche, Claude Code regroupe l'état du référentiel et le télécharge vers un sandbox distant ; lorsque vous [révisez une demande de fusion](#review-a-pull-request), Claude Code ne télécharge rien de votre machine.35Pour une revue de branche, Claude Code regroupe l'état du référentiel et le charge dans un sandbox cloud ; lorsque vous [examinez une demande de tirage](#review-a-pull-request), Claude Code ne charge rien de votre machine.

36 36 

37Avant de lancer, Claude Code affiche une boîte de dialogue de confirmation avec l'étendue de la révision, vos exécutions gratuites restantes et le coût estimé ; pour une révision de branche, l'étendue inclut le nombre de fichiers et de lignes. Après confirmation, la révision continue en arrière-plan tandis que vous continuez à utiliser votre session.37Avant le lancement, Claude Code affiche une boîte de dialogue de confirmation avec l'étendue de la revue, vos exécutions gratuites restantes et le coût estimé ; pour une revue de branche, l'étendue inclut le nombre de fichiers et de lignes. Après confirmation, la revue continue en arrière-plan pendant que vous continuez à utiliser votre session.

38 38 

39La commande s'exécute uniquement lorsque vous l'invoquez avec `/code-review ultra` ; Claude ne démarre pas une ultrareview de lui-même.39La commande s'exécute uniquement lorsque vous l'invoquez avec `/code-review ultra` ; Claude ne démarre pas une ultrareview de lui-même.

40 40 

41<h3 id="review-against-a-different-base">41<h3 id="review-against-a-different-base">

42 Réviser par rapport à une base différente42 Examiner par rapport à une base différente

43</h3>43</h3>

44 44 

45Pour comparer par rapport à une base autre que la branche par défaut, transmettez le nom de la branche. Cet exemple révise votre branche actuelle par rapport à `develop` à la place :45Pour comparer par rapport à une base autre que la branche par défaut, transmettez le nom de la branche. Cet exemple examine votre branche actuelle par rapport à `develop` à la place :

46 46 

47```text theme={null}47```text theme={null}

48/code-review ultra develop48/code-review ultra develop


50 50 

51La branche de base n'a pas besoin d'exister dans votre clone local ; Claude Code la récupère depuis `origin`. Si le nom contient une faute de frappe, Claude Code suggère le nom de branche le plus proche dans l'erreur.51La branche de base n'a pas besoin d'exister dans votre clone local ; Claude Code la récupère depuis `origin`. Si le nom contient une faute de frappe, Claude Code suggère le nom de branche le plus proche dans l'erreur.

52 52 

53Un ID de commit ou une étiquette fonctionne également comme base, et la revue couvre alors les modifications sur votre branche depuis ce commit.

54 

53<h3 id="review-a-pull-request">55<h3 id="review-a-pull-request">

54 Réviser une demande de fusion56 Examiner une demande de tirage

55</h3>57</h3>

56 58 

57Pour réviser une demande de fusion GitHub à la place d'une branche locale, transmettez le numéro de PR :59Pour examiner une demande de tirage GitHub au lieu d'une branche locale, transmettez le numéro de PR :

58 60 

59```text theme={null}61```text theme={null}

60/code-review ultra 123462/code-review ultra 1234


62 64 

63La commande accepte également `#1234`, `PR 1234` et les URL de PR collées ; une URL collée doit pointer vers le référentiel dans votre répertoire actuel.65La commande accepte également `#1234`, `PR 1234` et les URL de PR collées ; une URL collée doit pointer vers le référentiel dans votre répertoire actuel.

64 66 

65En mode PR, le sandbox distant clone la demande de fusion directement depuis l'hôte plutôt que de regrouper votre arborescence de travail locale. Le mode PR fonctionne avec les référentiels sur `github.com` et sur les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) qu'un administrateur a connectées à Claude Code.67En mode PR, le sandbox cloud clone la demande de tirage directement depuis l'hôte plutôt que de regrouper votre arborescence de travail locale. Le mode PR fonctionne avec les référentiels sur `github.com` et sur les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) qu'un propriétaire a connectées à Claude Code.

66 68 

67Pour les référentiels sur `github.com`, le sandbox clone avec le compte GitHub connecté à votre compte Claude, donc le compte doit pouvoir lire le référentiel de la PR. Claude Code vérifie cela avant de créer la session cloud, sauf si vous avez défini [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars#variables), et refuse le lancement lorsque [aucun compte n'est connecté](/docs/fr/errors#no-github-account-is-connected-to-your-claude-account) ou [le compte ne peut pas voir le référentiel](/docs/fr/errors#your-connected-github-account-cant-see-the-repository) ; le refus nomme la correction. Avant la v2.1.248, Claude Code ne vérifiait pas cela avant le lancement.69Pour les référentiels sur `github.com`, le sandbox clone avec le compte GitHub connecté à votre compte Claude, donc le compte doit pouvoir lire le référentiel de la PR. Claude Code vérifie cela avant de créer la session cloud, sauf si vous avez défini [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars#variables), et refuse le lancement lorsque [aucun compte n'est connecté](/docs/fr/errors#no-github-account-is-connected-to-your-claude-account) ou [le compte ne peut pas voir le référentiel](/docs/fr/errors#your-connected-github-account-cant-see-the-repository) ; le refus nomme la correction. Avant v2.1.248, Claude Code ne vérifiait pas cela avant le lancement.

68 70 

69Exécutez [`/web-setup`](/docs/fr/web-quickstart#connect-from-your-terminal) pour connecter votre connexion GitHub CLI à votre compte Claude.71Exécutez [`/web-setup`](/docs/fr/web-quickstart#connect-from-your-terminal) pour connecter votre connexion GitHub CLI à votre compte Claude.

70 72 

71<h3 id="post-findings-to-the-pull-request">73<h3 id="post-findings-to-the-pull-request">

72 Publier les résultats sur la demande de fusion74 Publier les résultats sur la demande de tirage

73</h3>75</h3>

74 76 

75Sur Claude Code v2.1.227 ou ultérieur, lorsque vous révisez une demande de fusion sur `github.com`, vous pouvez faire en sorte que Claude publie les résultats terminés sur la PR en tant que commentaire simple unique depuis votre propre compte GitHub. Le commentaire n'est pas une révision ou une approbation, et il se termine par une note « Généré par Claude Code ». Lorsque vous révisez une branche ou une demande de fusion GitHub Enterprise Server, Claude Code affiche les résultats dans votre session uniquement.77Sur Claude Code v2.1.227 ou version ultérieure, lorsque vous examinez une demande de tirage sur `github.com`, vous pouvez faire en sorte que Claude publie les résultats terminés sur la PR en tant que commentaire simple unique depuis votre propre compte GitHub. Le commentaire n'est pas une revue ou une approbation, et il se termine par une note « Généré par Claude Code ». Lorsque vous examinez une branche ou une demande de tirage GitHub Enterprise Server, Claude Code affiche les résultats dans votre session uniquement.

76 78 

77Claude Code ne publie jamais sauf si vous le choisissez sur cette exécution, et `--no-post` est la valeur par défaut. La publication est un choix que vous faites pour chaque exécution :79Claude Code ne publie jamais sauf si vous le choisissez sur cette exécution, et `--no-post` est la valeur par défaut. La publication est un choix que vous faites pour chaque exécution :

78 80 

79* **Interactif** : dans la boîte de dialogue de lancement, sélectionnez **Exécuter et publier les résultats sur la PR en tant que moi**. Si vous ajoutez `--post` à la commande, comme dans `/code-review ultra 1234 --post`, Claude Code présélectionne ce choix et demande toujours avant de lancer.81* **Interactif** : dans la boîte de dialogue de lancement, sélectionnez **Exécuter et publier les résultats sur la PR en tant que moi**. Si vous ajoutez `--post` à la commande, comme dans `/code-review ultra 1234 --post`, Claude Code présélectionne ce choix et demande toujours avant le lancement.

80* **Non-interactif** : exécutez la [sous-commande `claude ultrareview`](#run-ultrareview-non-interactively) avec `--post`. Vous consentez à la publication en exécutant la sous-commande avec le drapeau, donc Claude Code publie sans demander. Dans une exécution `claude -p '/code-review ultra'`, Claude Code se ferme avant l'arrivée des résultats, donc il ne publie rien ; utilisez la sous-commande à la place.82* **Non-interactif** : exécutez la [sous-commande `claude ultrareview`](#run-ultrareview-non-interactively) avec `--post`. Vous consentez à la publication en exécutant la sous-commande avec le drapeau, donc Claude Code publie sans demander. Dans une exécution `claude -p '/code-review ultra'`, Claude Code se ferme avant l'arrivée des résultats, donc il ne publie rien ; utilisez la sous-commande à la place.

81 83 

82Claude Code ne publie pas depuis votre machine. Il envoie l'ID de session de la révision à l'API Anthropic, qui publie les résultats stockés de la révision en tant que commentaire via le compte GitHub que vous avez connecté à Claude. La publication nécessite la même connexion claude.ai que la révision elle-même, et elle n'est pas disponible sur les fournisseurs tiers ou lorsque vous définissez [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars).84Claude Code ne publie pas depuis votre machine. Il envoie l'ID de session de la revue à l'API Anthropic, qui publie les résultats stockés de la revue en tant que commentaire via le compte GitHub que vous avez connecté à Claude. La publication nécessite la même connexion claude.ai que la revue elle-même, et elle n'est pas disponible sur les fournisseurs tiers ou lorsque vous définissez [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars).

83 85 

84Dans une session interactive, Claude Code démarre la publication lorsque les résultats arrivent, donc gardez la session ouverte jusqu'à ce que la révision se termine. Claude Code conserve le choix de publication uniquement dans cette session. Si la session se termine avant la fin de la révision, Claude Code ne publie rien, même si vous reprenez la conversation plus tard.86Dans une session interactive, Claude Code démarre la publication lorsque les résultats arrivent, donc gardez la session ouverte jusqu'à ce que la revue se termine. Claude Code conserve le choix de publication uniquement dans cette session. Si la session se termine avant la fin de la revue, Claude Code ne publie rien, même si vous reprenez la conversation plus tard.

85 87 

86Lorsque la publication se termine, Claude vous indique le résultat :88Lorsque la publication se termine, Claude vous indique le résultat :

87 89 

88* **Publié** : Claude vous donne un lien vers le commentaire.90* **Publié** : Claude vous donne un lien vers le commentaire.

89* **Déjà publié** : une publication antérieure de la même révision a déjà mis le commentaire sur la PR, donc Claude vous relie à la demande de fusion au lieu de publier à nouveau.91* **Déjà publié** : une publication antérieure de la même revue a déjà mis le commentaire sur la PR, donc Claude vous lie à la demande de tirage au lieu de publier à nouveau.

90* **Échoué** : Claude vous indique pourquoi, et les résultats restent dans votre terminal afin que vous puissiez les publier à la main.92* **Échoué** : Claude vous dit pourquoi, et les résultats restent dans votre terminal pour que vous puissiez les publier à la main.

91 93 

92<h3 id="pass-a-request-in-plain-words">94<h3 id="pass-a-request-in-plain-words">

93 Transmettre une demande en langage simple95 Transmettre une demande en langage simple

94</h3>96</h3>

95 97 

96Sur Claude Code v2.1.218 ou ultérieur, vous pouvez également décrire ce sur quoi vous travaillez en langage simple :98Sur Claude Code v2.1.218 ou version ultérieure, vous pouvez également décrire ce sur quoi vous travaillez en langage simple :

97 99 

98```text theme={null}100```text theme={null}

99/code-review ultra check my auth changes101/code-review ultra check my auth changes

100```102```

101 103 

102La révision couvre toujours votre branche actuelle, la même étendue que l'exécution sans argument. Claude conserve votre texte comme une note, affichée dans la boîte de dialogue de lancement, et relie les résultats à celle-ci lorsqu'ils arrivent.104La revue couvre toujours votre branche actuelle, la même étendue que l'exécution sans argument. Claude conserve votre texte comme une note, affichée dans la boîte de dialogue de lancement, et relie les résultats à celui-ci lorsqu'ils arrivent.

103 105 

104Claude Code traite votre texte comme une note uniquement lorsqu'il contient plus d'un mot et n'est pas un nom de branche ou une référence de PR. Il lit un seul mot comme un nom de branche ou une référence de PR, donc un nom de branche mal orthographié obtient l'erreur de branche la plus proche de [Réviser par rapport à une base différente](#review-against-a-different-base) au lieu de lancer avec une note. Si votre texte combine une référence de PR avec d'autres mots, tels que `check PR 123 again`, Claude Code ne lance pas non plus ; il vous demande de relancer avec le numéro de PR seul pour réviser cette PR, ou sans la référence pour réviser votre branche actuelle.106Claude Code traite votre texte comme une note uniquement lorsqu'il contient plus d'un mot et n'est pas un nom de branche ou une référence de PR. Il lit un seul mot comme un nom de branche ou une référence de PR, donc un nom de branche mal orthographié obtient l'erreur de branche la plus proche de [Examiner par rapport à une base différente](#review-against-a-different-base) au lieu de se lancer avec une note. Si votre texte combine une référence de PR avec d'autres mots, comme `check PR 123 again`, Claude Code ne se lance pas non plus ; il vous demande de relancer avec le numéro de PR seul pour examiner cette PR, ou sans la référence pour examiner votre branche actuelle.

105 107 

106<Tip>108<Tip>

107 Si votre référentiel est trop volumineux pour être regroupé, Claude Code vous invite à utiliser le mode PR à la place. Poussez votre branche et ouvrez une PR brouillon, puis exécutez `/code-review ultra <PR-number>`.109 Si votre référentiel est trop volumineux pour être regroupé, Claude Code vous invite à utiliser le mode PR à la place. Poussez votre branche et ouvrez une PR brouillon, puis exécutez `/code-review ultra <PR-number>`.


111 Limites de diff et solutions de secours113 Limites de diff et solutions de secours

112</h3>114</h3>

113 115 

114Ultrareview vérifie le diff avant que tout travail de révision ne s'exécute et vous indique lorsqu'il ne peut pas le réviser tel quel :116Ultrareview vérifie la différence avant tout travail de revue et vous indique quand il ne peut pas l'examiner tel quel :

117 

118* **Diff trop volumineux** : une revue de branche peut inclure jusqu'à 500 fichiers modifiés et 8 000 lignes modifiées par défaut. Les valeurs exactes peuvent changer, et le [refus](/docs/fr/errors#diff-is-too-large-for-ultrareview) nomme celles en vigueur, la taille de votre diff et les fichiers avec le plus de lignes modifiées. Claude Code refuse une demande de tirage trop volumineux de la même manière, en nommant ses nombres de fichiers et de lignes mais pas la ventilation par fichier

119* **Rien à examiner** : lorsque la différence par rapport à la base est vide, ultrareview refuse et nomme la branche ou le commit auquel il a comparé et le cas dans lequel vous vous trouvez, comme être sur la branche de base elle-même sans rien non validé, ou une branche dont les commits font tous partie de la base déjà. Il suggère également la solution pour ce cas, comme basculer vers la branche avec votre travail, mettre en attente ou valider les modifications locales, ou transmettre une base différente

120* **Premier commit** : le premier commit d'un référentiel n'a rien d'antérieur pour comparer, donc ultrareview examine chaque fichier après confirmation dans la boîte de dialogue de lancement. Si vous avez des fichiers non suivis, il refuse à la place et vous dit de `git add` ceux que vous voulez examiner. Les mêmes limites de taille s'appliquent.

121 

122 Un premier commit n'est examiné en entier qu'après cette confirmation, donc la sous-commande `claude ultrareview` et `claude -p` le refusent et vous pointent vers une session interactive à la place. Nécessite Claude Code v2.1.277 ou version ultérieure

123* **Pas de base de fusion** : lorsque votre branche ne partage aucun historique avec la branche de base, ou que le référentiel n'a pas de branche de base pour comparer, ultrareview examine chaque fichier suivi du référentiel à la place. La solution de secours nécessite un clone complet et applique les mêmes limites de taille. Elle se lance uniquement lorsque vous confirmez dans la boîte de dialogue de lancement ou exécutez la sous-commande `claude ultrareview` vous-même. Dans `claude -p` et partout ailleurs où ni l'un ni l'autre ne se produit, ultrareview refuse, dit que la revue couvrirait chaque fichier, et vous pointe vers une session interactive.

115 124 

116* **Diff trop volumineux** : une révision de branche peut inclure jusqu'à 500 fichiers modifiés et 8 000 lignes modifiées par défaut. Les valeurs exactes peuvent changer, et le [refus](/docs/fr/errors#diff-is-too-large-for-ultrareview) nomme celles en vigueur, la taille de votre diff et les fichiers avec le plus de lignes modifiées. Claude Code refuse une demande de fusion trop volumineux de la même manière, en nommant ses nombres de fichiers et de lignes mais pas la ventilation par fichier125 Sur un checkout sans branches ou autres refs, comme un HEAD détaché créé en vérifiant `FETCH_HEAD` après avoir récupéré une URL, Claude Code [refuse la revue](/docs/fr/errors#your-checkout-has-no-branches) et suggère de créer d'abord une branche

117* **Rien à réviser** : lorsque le diff par rapport à la base est vide, Claude Code le dit et suggère de mettre en scène ou de valider les modifications locales, ou de transmettre une base différente

118* **Pas de base de fusion** : lorsque votre branche ne partage aucun historique avec la branche de base, Claude Code revient à la révision de chaque fichier suivi dans le référentiel à la place ; la solution de secours nécessite un clone complet et applique les mêmes limites de taille. Sur un checkout sans branches ou autres références, comme un HEAD détaché créé en vérifiant `FETCH_HEAD` après avoir récupéré une URL, Claude Code [refuse la révision](/docs/fr/errors#your-checkout-has-no-branches) et suggère de créer d'abord une branche

119 126 

120<h2 id="pricing-and-free-runs">127<h2 id="pricing-and-free-runs">

121 Tarification et exécutions gratuites128 Tarification et exécutions gratuites


166 173 

167Sans arguments, la sous-commande examine la différence entre votre branche actuelle et la branche par défaut, avec le même [repli sur l'ensemble du référentiel](#diff-limits-and-fallbacks) que `/code-review ultra` lorsqu'aucune base de fusion n'existe. Transmettez un numéro de PR pour examiner une demande de fusion, ou une branche de base pour examiner la différence par rapport à celle-ci ; la [gestion de la branche de base](#review-against-a-different-base) correspond à la commande interactive.174Sans arguments, la sous-commande examine la différence entre votre branche actuelle et la branche par défaut, avec le même [repli sur l'ensemble du référentiel](#diff-limits-and-fallbacks) que `/code-review ultra` lorsqu'aucune base de fusion n'existe. Transmettez un numéro de PR pour examiner une demande de fusion, ou une branche de base pour examiner la différence par rapport à celle-ci ; la [gestion de la branche de base](#review-against-a-different-base) correspond à la commande interactive.

168 175 

169Vous consentez au repli sur l'ensemble du référentiel et à l'invite de facturation et de conditions lorsque vous exécutez la sous-commande, de sorte que l'exécution démarre sans attendre d'entrée.176Vous consentez au repli sur l'ensemble du référentiel et à l'invite de facturation et de conditions lorsque vous exécutez la sous-commande, de sorte que l'exécution démarre sans attendre d'entrée. L'exécution vous-même est ce qui compte comme consentement. Lorsque Claude exécute la sous-commande pour vous à la place, par exemple via l'outil Bash, Claude Code refuse la révision de l'ensemble du référentiel.

170 177 

171Sur Claude Code v2.1.218 ou ultérieur, vous pouvez également démarrer la révision cloud en exécutant `/code-review ultra` dans une session non-interactive, par exemple `claude -p '/code-review ultra'`. Claude Code lance la révision et imprime un lien de suivi sans attendre les constatations, contrairement à `claude ultrareview`, qui bloque jusqu'à leur arrivée. Lorsque la révision facturerait des crédits d'utilisation, Claude Code s'arrête avant de lancer et vous oriente vers `claude ultrareview`, car la confirmation de facturation nécessite une session interactive. Avant v2.1.218, `/code-review ultra` dans une session non-interactive exécutait une révision locale.178Sur Claude Code v2.1.218 ou ultérieur, vous pouvez également démarrer la révision cloud en exécutant `/code-review ultra` dans une session non-interactive, par exemple `claude -p '/code-review ultra'`. Claude Code lance la révision et imprime un lien de suivi sans attendre les constatations, contrairement à `claude ultrareview`, qui bloque jusqu'à leur arrivée. Lorsque la révision facturerait des crédits d'utilisation, Claude Code s'arrête avant de lancer et vous oriente vers `claude ultrareview`, car la confirmation de facturation nécessite une session interactive. Avant v2.1.218, `/code-review ultra` dans une session non-interactive exécutait une révision locale.

172 179 

vs-code.md +116 −51

Details

41<Note>Si l'extension n'apparaît pas après l'installation, redémarrez VS Code ou exécutez « Developer: Reload Window » à partir de la Palette de commandes.</Note>41<Note>Si l'extension n'apparaît pas après l'installation, redémarrez VS Code ou exécutez « Developer: Reload Window » à partir de la Palette de commandes.</Note>

42 42 

43<h2 id="get-started">43<h2 id="get-started">

44 Démarrer44 Commencer

45</h2>45</h2>

46 46 

47Une fois installé, vous pouvez commencer à utiliser Claude Code via l'interface VS Code :47Une fois installé, vous pouvez commencer à utiliser Claude Code via l'interface VS Code :


50 <Step title="Ouvrir le panneau Claude Code">50 <Step title="Ouvrir le panneau Claude Code">

51 Dans VS Code, l'icône Spark indique Claude Code : <img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/vs-code-spark-icon.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=3ca45e00deadec8c8f4b4f807da94505" alt="Icône Spark" style={{display: "inline", height: "0.85em", verticalAlign: "middle"}} width="16" height="16" data-path="images/vs-code-spark-icon.svg" />51 Dans VS Code, l'icône Spark indique Claude Code : <img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/vs-code-spark-icon.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=3ca45e00deadec8c8f4b4f807da94505" alt="Icône Spark" style={{display: "inline", height: "0.85em", verticalAlign: "middle"}} width="16" height="16" data-path="images/vs-code-spark-icon.svg" />

52 52 

53 Le moyen le plus rapide d'ouvrir Claude est de cliquer sur l'icône Spark dans la **barre d'outils de l'éditeur** (coin supérieur droit de l'éditeur). L'icône n'apparaît que lorsque vous avez un fichier ouvert.53 Le moyen le plus rapide d'ouvrir Claude est de cliquer sur l'icône Spark dans la **Barre d'outils de l'éditeur** (coin supérieur droit de l'éditeur). L'icône n'apparaît que lorsque vous avez un fichier ouvert.

54 54 

55 <img src="https://mintcdn.com/claude-code/mfM-EyoZGnQv8JTc/images/vs-code-editor-icon.png?fit=max&auto=format&n=mfM-EyoZGnQv8JTc&q=85&s=eb4540325d94664c51776dbbfec4cf02" alt="VS Code affichant l'icône Spark dans la barre d'outils de l'éditeur" width="2796" height="734" data-path="images/vs-code-editor-icon.png" />55 <img src="https://mintcdn.com/claude-code/mfM-EyoZGnQv8JTc/images/vs-code-editor-icon.png?fit=max&auto=format&n=mfM-EyoZGnQv8JTc&q=85&s=eb4540325d94664c51776dbbfec4cf02" alt="Éditeur VS Code montrant l'icône Spark dans la Barre d'outils de l'éditeur" width="2796" height="734" data-path="images/vs-code-editor-icon.png" />

56 56 

57 Autres façons d'ouvrir Claude Code :57 Autres façons d'ouvrir Claude Code :

58 58 

59 * **Barre d'activité** : cliquez sur l'icône Spark dans la barre latérale gauche pour ouvrir la liste des sessions. Cliquez sur n'importe quelle session pour l'ouvrir à votre [emplacement préféré](#extension-settings), ou démarrez-en une nouvelle. Cette icône est toujours visible dans la barre d'activité.59 * **Barre d'activité** : cliquez sur l'icône Spark dans la barre latérale gauche pour ouvrir la liste des sessions. Cliquez sur n'importe quelle session pour l'ouvrir à votre [emplacement préféré](#extension-settings), ou démarrez-en une nouvelle. Cette icône est toujours visible dans la Barre d'activité.

60 * **Palette de commandes** : `Cmd+Shift+P` (Mac) ou `Ctrl+Shift+P` (Windows/Linux), tapez « Claude Code », et sélectionnez une option comme « Open in New Tab »60 * **Palette de commandes** : `Cmd+Shift+P` (Mac) ou `Ctrl+Shift+P` (Windows/Linux), tapez « Claude Code », et sélectionnez une option comme « Open in New Tab »

61 * **Barre d'état** : si vous avez défini [`preferredLocation`](#extension-settings) sur `sidebar`, ou ouvert Claude avec **Claude Code: Open in Side Bar**, cliquez sur **✻ Claude Code** dans le coin inférieur droit de la fenêtre. Cela fonctionne même quand aucun fichier n'est ouvert.61 * **Barre d'état** : si vous avez défini [`preferredLocation`](#extension-settings) sur `sidebar`, ou ouvert Claude avec **Claude Code: Open in Side Bar**, cliquez sur **✻ Claude Code** dans le coin inférieur droit de la fenêtre. Cela fonctionne même quand aucun fichier n'est ouvert.

62 62 


64 </Step>64 </Step>

65 65 

66 <Step title="Se connecter">66 <Step title="Se connecter">

67 La première fois que vous ouvrez le panneau, un écran de connexion apparaît. Cliquez sur **Se connecter** et complétez l'autorisation dans votre navigateur.67 La première fois que vous ouvrez le panneau, un écran de connexion apparaît. Cliquez sur **Sign in** et complétez l'autorisation dans votre navigateur.

68 68 

69 Si vous voyez **Not logged in · Please run /login** plus tard, l'extension rouvre automatiquement l'écran de connexion. Si cela n'apparaît pas, rechargez la fenêtre à partir de la palette de commandes avec **Developer: Reload Window**.69 Si vous voyez **Not logged in · Please run /login** plus tard, l'extension rouvre l'écran de connexion automatiquement. Si cela n'apparaît pas, rechargez la fenêtre depuis la Palette de commandes avec **Developer: Reload Window**.

70 70 

71 Si vous avez `ANTHROPIC_API_KEY` défini dans votre shell mais que vous voyez toujours l'invite de connexion, VS Code n'a peut-être pas hérité de votre environnement shell. Lancez VS Code à partir d'un terminal avec `code .` pour qu'il hérite de vos variables d'environnement, ou connectez-vous plutôt avec votre compte Claude.71 Si vous avez `ANTHROPIC_API_KEY` défini dans votre shell mais que vous voyez toujours l'invite de connexion, VS Code n'a peut-être pas hérité de votre environnement shell. Lancez VS Code depuis un terminal avec `code .` pour qu'il hérite de vos variables d'environnement, ou connectez-vous avec votre compte Claude à la place.

72 72 

73 Après vous être connecté, une liste de contrôle **Learn Claude Code** apparaît. Travaillez sur chaque élément en cliquant sur **Show me**, ou fermez-la avec le X. Pour la rouvrir plus tard, décochez **Hide Onboarding** dans les paramètres VS Code sous Extensions → Claude Code.73 Après vous être connecté, une liste de contrôle **Learn Claude Code** apparaît. Parcourez chaque élément en cliquant sur **Show me**, ou fermez-la avec le X. Pour la rouvrir plus tard, décochez **Hide Onboarding** dans les paramètres VS Code sous Extensions → Claude Code.

74 </Step>74 </Step>

75 75 

76 <Step title="Envoyer une invite">76 <Step title="Envoyer une invite">


80 80 

81 Voici un exemple de question sur une ligne particulière dans un fichier :81 Voici un exemple de question sur une ligne particulière dans un fichier :

82 82 

83 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-send-prompt.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=ede3ed8d8d5f940e01c5de636d009cfd" alt="Éditeur VS Code avec les lignes 2-3 sélectionnées dans un fichier Python, et le panneau Claude Code affichant une question sur ces lignes avec une référence @-mention" width="3288" height="1876" data-path="images/vs-code-send-prompt.png" />83 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-send-prompt.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=ede3ed8d8d5f940e01c5de636d009cfd" alt="Éditeur VS Code avec les lignes 2-3 sélectionnées dans un fichier Python, et le panneau Claude Code montrant une question sur ces lignes avec une référence @-mention" width="3288" height="1876" data-path="images/vs-code-send-prompt.png" />

84 </Step>84 </Step>

85 85 

86 <Step title="Examiner les modifications">86 <Step title="Examiner les modifications">


89 * En mode Auto ou Edit automatically, Claude modifie la plupart des fichiers de votre espace de travail sans demander.89 * En mode Auto ou Edit automatically, Claude modifie la plupart des fichiers de votre espace de travail sans demander.

90 * En mode Manual, quand Claude veut modifier un fichier, il affiche une comparaison côte à côte de l'original et des modifications proposées, puis demande la permission. Vous pouvez accepter, rejeter, ou dire à Claude quoi faire à la place. Si vous modifiez directement le contenu proposé dans la vue diff avant d'accepter, Claude est informé que vous l'avez modifié pour qu'il ne suppose pas que le fichier correspond à sa proposition originale.90 * En mode Manual, quand Claude veut modifier un fichier, il affiche une comparaison côte à côte de l'original et des modifications proposées, puis demande la permission. Vous pouvez accepter, rejeter, ou dire à Claude quoi faire à la place. Si vous modifiez directement le contenu proposé dans la vue diff avant d'accepter, Claude est informé que vous l'avez modifié pour qu'il ne suppose pas que le fichier correspond à sa proposition originale.

91 91 

92 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-edits.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=e005f9b41c541c5c7c59c082f7c4841c" alt="VS Code affichant un diff des modifications proposées par Claude avec une invite de permission demandant si vous souhaitez faire la modification" width="3292" height="1876" data-path="images/vs-code-edits.png" />92 <img src="https://mintcdn.com/claude-code/FVYz38sRY-VuoGHA/images/vs-code-edits.png?fit=max&auto=format&n=FVYz38sRY-VuoGHA&q=85&s=e005f9b41c541c5c7c59c082f7c4841c" alt="VS Code montrant un diff des modifications proposées par Claude avec une invite de permission demandant si vous souhaitez faire la modification" width="3292" height="1876" data-path="images/vs-code-edits.png" />

93 

94 Pour examiner une modification proposée une à la fois, utilisez les boutons **Accept this change** et **Reject this change** sous chaque modification dans le diff. Rejeter une modification l'annule dans le contenu proposé ; accepter la marque comme examinée. Accepter ou rejeter le fichier entier termine toujours l'examen. Un diff avec plus de 100 modifications s'ouvre sans les boutons par modification, donc examinez-le comme un fichier entier. L'examen par modification nécessite Claude Code v2.1.275 ou ultérieur.

95 

96 Les mêmes actions sont disponibles au curseur depuis le menu contextuel de l'éditeur et depuis la Palette de commandes en tant que **Claude Code: Accept Change at Cursor** et **Claude Code: Reject Change at Cursor**.

93 </Step>97 </Step>

94</Steps>98</Steps>

95 99 

96Pour plus d'idées sur ce que vous pouvez faire avec Claude Code, consultez [Flux de travail courants](/docs/fr/common-workflows).100Pour plus d'idées sur ce que vous pouvez faire avec Claude Code, consultez [Flux de travail courants](/docs/fr/common-workflows).

97 101 

98<Tip>102<Tip>

99 Exécutez « Claude Code: Open Walkthrough » à partir de la palette de commandes pour une visite guidée des bases.103 Exécutez « Claude Code: Open Walkthrough » depuis la Palette de commandes pour une visite guidée des bases.

100</Tip>104</Tip>

101 105 

102<h2 id="use-the-prompt-box">106<h2 id="use-the-prompt-box">


106La boîte de saisie prend en charge plusieurs fonctionnalités :110La boîte de saisie prend en charge plusieurs fonctionnalités :

107 111 

108* **Modes de permission** : cliquez sur l'indicateur de mode en bas de la boîte de saisie pour basculer entre les modes de permission. Sur les plans Pro, Max et Team, Auto est le mode de permission intégré au démarrage. Consultez [comment l'extension choisit le mode de permission au démarrage](/docs/fr/permission-modes#switch-permission-modes) pour savoir ce qui change cela, et tous les modes de permission que l'indicateur propose.112* **Modes de permission** : cliquez sur l'indicateur de mode en bas de la boîte de saisie pour basculer entre les modes de permission. Sur les plans Pro, Max et Team, Auto est le mode de permission intégré au démarrage. Consultez [comment l'extension choisit le mode de permission au démarrage](/docs/fr/permission-modes#switch-permission-modes) pour savoir ce qui change cela, et tous les modes de permission que l'indicateur propose.

109 * **Auto** : un classificateur examine la plupart des actions au lieu de vous demander. Consultez [le mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour savoir ce qu'il examine et bloque.113 * **Auto** : un classificateur examine la plupart des actions au lieu de vous demander. Consultez [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour savoir ce qu'il examine et bloque.

110 * **Manual** : Claude demande la permission avant les modifications de fichiers et la plupart des commandes shell.114 * **Manual** : Claude demande la permission avant les modifications de fichiers et la plupart des commandes shell.

111 * **Plan** : Claude décrit ce qu'il fera et attend l'approbation avant d'apporter des modifications. VS Code ouvre automatiquement le plan en tant que document Markdown complet où vous pouvez ajouter des commentaires en ligne pour donner votre avis avant que Claude ne commence.115 * **Plan** : Claude décrit ce qu'il fera et attend l'approbation avant d'apporter des modifications. VS Code ouvre automatiquement le plan en tant que document Markdown complet où vous pouvez ajouter des commentaires en ligne pour donner votre avis avant que Claude ne commence.

112 * **Edit automatically** : Claude apporte des modifications sans demander.116 * **Edit automatically** : Claude apporte des modifications sans demander.

113* **Model** : sélectionnez **Switch model…** dans le menu de commande pour changer de modèle en cours de session. Vous pouvez également cliquer sur le nom du modèle en bas de la boîte de saisie pour ouvrir le même sélecteur. Lorsque le modèle actuel prend en charge les [niveaux d'effort](/docs/fr/model-config#adjust-effort-level), le sélecteur affiche également une ligne **Effort** et le bouton du nom du modèle affiche le niveau sélectionné. Le bouton du nom du modèle et la ligne **Effort** nécessitent Claude Code v2.1.257 ou version ultérieure.117* **Model** : sélectionnez **Switch model…** dans le menu de commande pour changer de modèle en cours de session. Vous pouvez également cliquer sur le nom du modèle en bas de la boîte de saisie pour ouvrir le même sélecteur.

114* **Command menu** : cliquez sur `/` ou tapez `/` pour ouvrir le menu de commande. Les options incluent l'attachement de fichiers, le changement de modèle et l'activation de la réflexion étendue. La section Customize fournit l'accès aux serveurs MCP, aux slash commands, aux styles de sortie, aux hooks, à la mémoire, aux permissions et aux plugins. Les éléments avec une icône de terminal s'ouvrent dans le terminal intégré.118 

115 * Pour parcourir les commandes telles que `/usage` ou [`/remote-control`](/docs/fr/remote-control), sélectionnez **Slash commands** dans la section Customize. Une boîte de dialogue les répertorie avec une zone de filtre. Choisissez-en une pour l'exécuter. Taper `/` dans la boîte de saisie suggère toujours les commandes en ligne. Nécessite Claude Code v2.1.257 ou version ultérieure.119 Lorsque le modèle actuel prend en charge les [niveaux d'effort](/docs/fr/model-config#adjust-effort-level), le sélecteur affiche également une ligne **Effort** et le bouton du nom du modèle affiche le niveau sélectionné. Lorsque vous choisissez un niveau autre que `max`, Claude Code l'enregistre pour le modèle actuel comme valeur par défaut, sous [`modelSettings`](/docs/fr/settings-reference#modelsettings) dans vos paramètres utilisateur ; `max` s'applique uniquement à la session actuelle. Le bouton du nom du modèle et la ligne **Effort** nécessitent Claude Code v2.1.257 ou version ultérieure.

116 * Sélectionnez **Output styles** dans la section Customize pour choisir un [style de sortie](/docs/fr/output-styles), y compris vos styles personnalisés. Nécessite Claude Code v2.1.257 ou version ultérieure.120* **Command menu** : cliquez sur `/` ou tapez `/` pour ouvrir le menu de commande. Les options incluent l'attachement de fichiers, le changement de modèle et l'activation de la réflexion étendue.

121 

122 La section Personnaliser fournit l'accès aux serveurs MCP, aux commandes, aux styles de sortie, aux hooks, à la mémoire, aux instructions, aux permissions et aux plugins. Les éléments avec une icône de terminal s'ouvrent dans le terminal intégré.

123 

124 * Pour parcourir les commandes telles que `/usage` ou [`/remote-control`](/docs/fr/remote-control), sélectionnez **Slash commands** dans la section Personnaliser. Une boîte de dialogue les répertorie avec une zone de filtre. Choisissez-en une pour l'exécuter. Taper `/` dans la boîte de saisie suggère toujours les commandes en ligne. Nécessite Claude Code v2.1.257 ou version ultérieure.

125 * Sélectionnez **Output styles** dans la section Personnaliser pour choisir un [style de sortie](/docs/fr/output-styles), y compris vos styles personnalisés. Nécessite Claude Code v2.1.257 ou version ultérieure.

117 126 

118 Pour créer un style personnalisé à la place, sélectionnez **Build a custom style** dans le menu **Output styles**. Claude Code écrit le [fichier de style](/docs/fr/output-styles#create-a-custom-output-style) pour vous au niveau du projet ou de l'utilisateur. Nécessite Claude Code v2.1.261 ou version ultérieure.127 Pour créer un style personnalisé à la place, sélectionnez **Build a custom style** dans le menu **Output styles**. Claude Code écrit le [fichier de style](/docs/fr/output-styles#create-a-custom-output-style) pour vous au niveau du projet ou de l'utilisateur. Nécessite Claude Code v2.1.261 ou version ultérieure.

119 * Sélectionnez **Hooks** dans la section Customize pour afficher les [hooks](/docs/fr/hooks) chargés dans la session, regroupés par événement. Vous pouvez ajouter, modifier ou supprimer les hooks enregistrés dans vos fichiers de paramètres utilisateur, projet et local. Les hooks provenant d'autres sources, telles que les paramètres gérés ou les plugins, sont en lecture seule. Nécessite Claude Code v2.1.269 ou version ultérieure.128 * Sélectionnez **Hooks** dans la section Personnaliser pour afficher les [hooks](/docs/fr/hooks) chargés dans la session, regroupés par événement. Vous pouvez ajouter, modifier ou supprimer les hooks enregistrés dans vos fichiers de paramètres utilisateur, projet et local. Les hooks provenant d'autres sources, telles que les paramètres gérés ou les plugins, sont en lecture seule. Nécessite Claude Code v2.1.269 ou version ultérieure.

120 * Sélectionnez **Permissions** dans la section Customize pour afficher les [règles de permission](/docs/fr/permissions) de la session, regroupées en Allow, Ask et Deny. Vous pouvez ajouter des règles à vos paramètres utilisateur, projet ou local et supprimer les règles enregistrées là. Les règles provenant d'autres sources, telles que les paramètres gérés ou les approbations effectuées pour cette session uniquement, sont en lecture seule. Nécessite Claude Code v2.1.269 ou version ultérieure.129 * Sélectionnez **Permissions** dans la section Personnaliser pour afficher les [règles de permission](/docs/fr/permissions) de la session, regroupées en Autoriser, Demander et Refuser. Vous pouvez ajouter des règles à vos paramètres utilisateur, projet ou local et supprimer les règles enregistrées là. Les règles provenant d'autres sources, telles que les paramètres gérés ou les approbations effectuées pour cette session uniquement, sont en lecture seule. Nécessite Claude Code v2.1.269 ou version ultérieure.

121 * La section Settings inclut **Enable Remote Control for all sessions**, qui définit [`remoteControlAtStartup`](/docs/fr/settings-reference#remotecontrolatstartup) pour contrôler si les [nouvelles sessions interactives se connectent à Remote Control automatiquement](/docs/fr/remote-control#enable-remote-control-for-all-sessions). Nécessite Claude Code v2.1.203 ou version ultérieure.130 * Sélectionnez **Memory** dans la section Personnaliser pour activer ou désactiver la [mémoire automatique](/docs/fr/memory#auto-memory). Pendant qu'elle est activée, vous pouvez également parcourir les mémoires que Claude a enregistrées et révéler les dossiers qui les stockent dans votre gestionnaire de fichiers. Nécessite Claude Code v2.1.274 ou version ultérieure.

131 

132 Cliquez sur une mémoire enregistrée pour la lire dans la boîte de dialogue, où vous pouvez modifier le texte, supprimer la mémoire ou ouvrir son fichier dans l'éditeur. L'affichage, la modification et la suppression d'une mémoire dans la boîte de dialogue nécessitent Claude Code v2.1.275 ou version ultérieure.

133 * Sélectionnez **Instructions** dans la section Personnaliser pour modifier les [fichiers CLAUDE.md](/docs/fr/memory#claude-md-files) que Claude lit. Choisissez un fichier pour l'ouvrir dans l'éditeur. Si le fichier n'existe pas encore, Claude Code le crée d'abord. Nécessite Claude Code v2.1.274 ou version ultérieure.

134 * La section Paramètres inclut **Enable Remote Control for all sessions**, qui définit [`remoteControlAtStartup`](/docs/fr/settings-reference#remotecontrolatstartup) pour contrôler si les [nouvelles sessions interactives se connectent à Remote Control automatiquement](/docs/fr/remote-control#enable-remote-control-for-all-sessions). Nécessite Claude Code v2.1.203 ou version ultérieure.

122 135 

123 Lorsque vous basculez le commutateur activé ou désactivé dans une fenêtre VS Code, la modification s'applique aux sessions déjà ouvertes dans cette fenêtre VS Code, pas seulement aux sessions que vous démarrez par la suite. Si vous le désactivez, les sessions ouvertes se déconnectent. Avec Claude Code v2.1.261 ou version ultérieure, la modification atteint également les sessions ouvertes dans vos autres fenêtres VS Code.136 Lorsque vous activez ou désactivez le bouton bascule dans une fenêtre VS Code, la modification s'applique aux sessions déjà ouvertes dans cette fenêtre VS Code, pas seulement aux sessions que vous démarrez par la suite. Si vous le désactivez, les sessions ouvertes se déconnectent. Avec Claude Code v2.1.261 ou version ultérieure, la modification atteint également les sessions ouvertes dans vos autres fenêtres VS Code.

124 * La section Settings inclut également **Focus view**, qui masque les appels d'outils, les résultats d'outils et la réflexion derrière des lignes extensibles, laissant vos invites et les réponses de Claude. Basculez-le là, avec `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux), ou depuis la Palette de commandes avec **Claude Code: Toggle Focus view**. La modification s'applique à chaque session ouverte et persiste entre les sessions. Nécessite Claude Code v2.1.221 ou version ultérieure.137 * La section Paramètres inclut également **Focus view**, qui masque les appels d'outils, les résultats d'outils et la réflexion derrière des lignes extensibles, laissant vos invites et les réponses de Claude. Basculez-le là, avec `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux), ou depuis la Palette de commandes avec **Claude Code: Toggle Focus view**. La modification s'applique à chaque session ouverte et persiste entre les sessions. Nécessite Claude Code v2.1.221 ou version ultérieure.

125 138 

126 La dernière liste de tâches de Claude reste visible, tout comme le texte d'une question en attente que Claude pose ; cela nécessite Claude Code v2.1.225 ou version ultérieure. Pendant que Claude exécute les [sous-agents](/docs/fr/sub-agents), les lignes de progression en direct avec leur dernière activité apparaissent sous le groupe d'appels d'outils qui les a lancés. Cela nécessite Claude Code v2.1.269 ou version ultérieure.139 La dernière liste de tâches de Claude reste visible, tout comme le texte d'une question en attente que Claude pose ; cela nécessite Claude Code v2.1.225 ou version ultérieure. Pendant que Claude exécute les [sous-agents](/docs/fr/sub-agents), les lignes de progression en direct avec leur dernière activité apparaissent sous le groupe d'appels d'outils qui les a démarrés. Cela nécessite Claude Code v2.1.269 ou version ultérieure.

140 * Pour vous déconnecter de votre compte Anthropic, sélectionnez **Sign out** dans la section Paramètres, ou tapez `/logout`. Sur un [fournisseur tiers](#use-third-party-providers), le menu n'offre ni l'un ni l'autre. Nécessite Claude Code v2.1.277 ou version ultérieure.

127 * Pour signaler un bogue, cliquez sur **Report a problem** en bas du menu, ou tapez `/bug` ou `/feedback` avec une description facultative qui préremplira le rapport. Lorsque vous soumettez le rapport et que vous êtes connecté à Anthropic sur une connexion propriétaire, Claude Code l'envoie à Anthropic. Sur un fournisseur tiers, ou sans identifiants Anthropic, la boîte de dialogue s'ouvre toujours, mais la soumission affiche une erreur et n'envoie rien : contrairement au `/bug` de la CLI, l'extension n'écrit pas d'archive locale. Nécessite Claude Code v2.1.229 ou version ultérieure.141 * Pour signaler un bogue, cliquez sur **Report a problem** en bas du menu, ou tapez `/bug` ou `/feedback` avec une description facultative qui préremplira le rapport. Lorsque vous soumettez le rapport et que vous êtes connecté à Anthropic sur une connexion propriétaire, Claude Code l'envoie à Anthropic. Sur un fournisseur tiers, ou sans identifiants Anthropic, la boîte de dialogue s'ouvre toujours, mais la soumission affiche une erreur et n'envoie rien : contrairement au `/bug` de la CLI, l'extension n'écrit pas d'archive locale. Nécessite Claude Code v2.1.229 ou version ultérieure.

128 142 

129 Si la politique de votre organisation désactive les commentaires sur les produits, **Report a problem** n'apparaît pas dans le menu, et `/bug` et `/feedback` affichent un avis « Feedback is turned off by your organization's policy or this environment's settings. » au lieu d'ouvrir le rapport.143 Si la politique de votre organisation désactive les commentaires sur les produits, **Report a problem** n'apparaît pas dans le menu, et `/bug` et `/feedback` affichent un avis `Feedback is turned off by your organization's policy or this environment's settings.` au lieu d'ouvrir le rapport.

130* **Side questions** : tapez `/btw` suivi d'une question pour poser une question sur votre session [sans l'ajouter à la conversation](/docs/fr/interactive-mode#side-questions-with-%2Fbtw). La réponse s'ouvre dans un panneau à côté du chat, où vous pouvez poser des questions de suivi. Le fil persiste lors des rechargements de fenêtre. Claude Code conserve les 20 derniers échanges et expire les fils stockés selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), tant que Claude Code peut [déterminer en toute sécurité la période de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Pour effacer un fil, cliquez sur l'icône de corbeille dans le panneau. Nécessite Claude Code v2.1.227 ou version ultérieure.144* **Side questions** : tapez `/btw` suivi d'une question pour poser une question sur votre session [sans l'ajouter à la conversation](/docs/fr/interactive-mode#side-questions-with-%2Fbtw). La réponse s'ouvre dans un panneau à côté du chat, où vous pouvez poser des questions de suivi. Le fil survit aux rechargements de fenêtre. Claude Code conserve les 20 derniers échanges et expire les fils stockés selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), tant que Claude Code peut [déterminer en toute sécurité la période de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Pour effacer un fil, cliquez sur l'icône de corbeille dans le panneau. Nécessite Claude Code v2.1.227 ou version ultérieure.

145* **Copy a response** : survolez une réponse et cliquez sur **Copy response** pour la copier dans votre presse-papiers, ou tapez `/copy` pour copier la dernière réponse. `/copy 2` copie l'avant-dernière. Nécessite Claude Code v2.1.277 ou version ultérieure.

131* **Context indicator** : la boîte de saisie affiche la quantité de fenêtre de contexte de Claude que vous utilisez. Claude se compacte automatiquement si nécessaire, ou vous pouvez exécuter `/compact` manuellement.146* **Context indicator** : la boîte de saisie affiche la quantité de fenêtre de contexte de Claude que vous utilisez. Claude se compacte automatiquement si nécessaire, ou vous pouvez exécuter `/compact` manuellement.

132* **Prompt cache clock** : une icône d'horloge à côté de l'indicateur de contexte estime le temps restant avant l'expiration du [prompt cache](/docs/fr/prompt-caching) de la conversation. Il compte à rebours à partir de la [durée de vie](/docs/fr/prompt-caching#cache-lifetime) du cache de cinq minutes ou une heure, et chaque réponse qui utilise le cache redémarre le compte à rebours. Outre la compaction, les [actions qui invalident le cache](/docs/fr/prompt-caching#actions-that-invalidate-the-cache) ne réinitialisent pas l'horloge, elle peut donc toujours afficher des minutes restantes après que vous ayez changé de modèle.147* **Prompt cache clock** : une icône d'horloge à côté de l'indicateur de contexte estime le temps qu'il reste au [cache de prompt](/docs/fr/prompt-caching) de la conversation avant son expiration. Il compte à rebours à partir de la [durée de vie](/docs/fr/prompt-caching#cache-lifetime) du cache de cinq minutes ou une heure, et chaque réponse qui utilise le cache redémarre le compte à rebours. Outre la compaction, les [actions qui invalident le cache](/docs/fr/prompt-caching#actions-that-invalidate-the-cache) ne réinitialisent pas l'horloge, elle peut donc toujours afficher des minutes restantes après que vous ayez changé de modèle.

133 * Jusqu'à ce que le compte à rebours s'épuise, l'icône affiche les minutes restantes, telles que **12m**.148 * Jusqu'à ce que le compte à rebours s'écoule, l'icône affiche les minutes restantes, telles que **12m**.

134 * Lorsque le compte à rebours s'épuise, les minutes disparaissent et l'icône devient rouge, ou la couleur d'erreur de votre thème, jusqu'à la réponse suivante. Le cache a probablement expiré, attendez-vous à une réponse plus lente et plus coûteuse à votre prochain message pendant que le cache se reconstruit. Si la durée de vie de cinq minutes continue de s'épuiser entre vos messages, consultez [Choisir le TTL vous-même](/docs/fr/prompt-caching#choose-the-ttl-yourself).149 * Lorsque le compte à rebours s'écoule, les minutes disparaissent et l'icône devient rouge, ou la couleur d'erreur de votre thème, jusqu'à la réponse suivante. Le cache a probablement expiré, attendez-vous donc à une réponse plus lente et plus coûteuse à votre prochain message pendant que le cache se reconstruit. Si la durée de vie de cinq minutes continue de s'écouler entre vos messages, consultez [Choisir le TTL vous-même](/docs/fr/prompt-caching#choose-the-ttl-yourself).

135 * Juste après que la conversation soit [compactée](/docs/fr/prompt-caching#compacting-the-conversation), l'icône devient également rouge sans minutes jusqu'à la réponse suivante, car le cache ne couvre pas encore la conversation compactée.150 * Juste après que la conversation soit [compactée](/docs/fr/prompt-caching#compacting-the-conversation), l'icône devient également rouge sans minutes jusqu'à la réponse suivante, car le cache ne couvre pas encore la conversation compactée.

136* **Agent map** : lorsque la conversation inclut les [sous-agents](/docs/fr/sub-agents), un nombre d'agents tel que **2 agents** apparaît en bas de la boîte de saisie. Son point indique si un sous-agent travaille ou attend votre permission.151* **Agent map** : lorsque la conversation inclut des [sous-agents](/docs/fr/sub-agents), un nombre d'agents tel que **2 agents** apparaît en bas de la boîte de saisie. Son point indique si un sous-agent travaille ou attend votre permission.

137 152 

138 Cliquez sur le nombre d'agents pour ouvrir la carte des agents, qui dessine les sous-agents de la conversation sous forme d'arbre sous l'agent principal, chacun avec son statut, son temps écoulé et son nombre de jetons. Cliquez sur un sous-agent pour voir son invite et ses appels d'outils, ouvrir sa transcription en lecture seule, ou l'arrêter pendant qu'il s'exécute. Nécessite Claude Code v2.1.269 ou version ultérieure.153 Cliquez sur le nombre d'agents pour ouvrir la carte des agents, qui dessine les sous-agents de la conversation sous forme d'arbre sous l'agent principal, chacun avec son statut, son temps écoulé et son nombre de jetons. Cliquez sur un sous-agent pour voir son invite et ses appels d'outils, ouvrir sa transcription en lecture seule, ou l'arrêter pendant qu'il s'exécute. Nécessite Claude Code v2.1.269 ou version ultérieure.

139* **Extended thinking** : permet à Claude de consacrer plus de temps au raisonnement sur les problèmes complexes. Activez-le via le menu de commande (`/`). Le raisonnement de Claude apparaît dans la conversation sous forme de blocs réduits : cliquez sur un bloc pour le lire, ou appuyez sur `Ctrl+O` pour développer ou réduire chaque bloc de réflexion dans la session. Consultez [Extended thinking](/docs/fr/model-config#extended-thinking) pour plus de détails.154 

140* **Multi-line input** : appuyez sur `Shift+Enter` pour ajouter une nouvelle ligne sans envoyer. Cela fonctionne également dans l'entrée en texte libre « Other » des boîtes de dialogue de questions.155 La carte répertorie également les autres [tâches en arrière-plan](/docs/fr/tools-reference#background-commands) de la session, telles que les commandes shell en arrière-plan et les [moniteurs](/docs/fr/tools-reference#monitor-tool), sous les agents. Cliquez sur une ligne pour ouvrir la carte de la tâche et l'arrêter là.

156 

157 Pour ouvrir la carte lorsqu'aucun nombre d'agents n'est affiché, par exemple lorsque Claude a démarré un shell en arrière-plan mais pas de sous-agents, tapez `/tasks` dans la boîte de saisie. Les tâches en arrière-plan dans la carte et le `/tasks` tapé nécessitent Claude Code v2.1.277 ou version ultérieure.

158* **Extended thinking** : permet à Claude de consacrer plus de temps à raisonner sur des problèmes complexes. Activez-le via le menu de commande (`/`). Le raisonnement de Claude apparaît dans la conversation sous forme de blocs réduits : cliquez sur un bloc pour le lire, ou appuyez sur `Ctrl+O` pour développer ou réduire chaque bloc de réflexion dans la session. Consultez [Extended thinking](/docs/fr/model-config#extended-thinking) pour plus de détails.

159* **Multi-line input** : appuyez sur `Shift+Enter` pour ajouter une nouvelle ligne sans envoyer. Cela fonctionne également dans l'entrée en texte libre « Autre » des boîtes de dialogue de question.

141 160 

142<h3 id="reference-files-and-folders">161<h3 id="reference-files-and-folders">

143 Fichiers et dossiers de référence162 Fichiers et dossiers de référence

144</h3>163</h3>

145 164 

146Utilisez les mentions @-mention 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 à ce sujet ou y apporter des modifications. Claude Code prend en charge la correspondance floue, vous pouvez donc taper des noms partiels pour trouver ce dont vous avez besoin :165Utilisez les mentions @-mention pour donner à Claude le 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 à ce sujet ou y apporter des modifications. Claude Code prend en charge la correspondance floue, vous pouvez donc taper des noms partiels pour trouver ce dont vous avez besoin :

147 166 

148```text wrap theme={null}167```text wrap theme={null}

149Explain the logic in @auth (fuzzy matches auth.js, AuthService.ts, etc.)168Explain the logic in @auth (fuzzy matches auth.js, AuthService.ts, etc.)


154 173 

155Lorsque vous sélectionnez du texte dans l'éditeur, Claude peut voir votre code en surbrillance automatiquement. Le pied de page de la boîte de saisie affiche le nombre de lignes sélectionnées. Appuyez sur `Option+K` (Mac) / `Alt+K` (Windows/Linux) pour insérer une mention @-mention avec le chemin du fichier et les numéros de ligne (par exemple, `@app.ts#5-10`). Cliquez sur le **X** sur l'indicateur de sélection pour le supprimer afin que Claude ne reçoive pas la sélection. L'indicateur réapparaît lorsque vous sélectionnez un autre texte.174Lorsque vous sélectionnez du texte dans l'éditeur, Claude peut voir votre code en surbrillance automatiquement. Le pied de page de la boîte de saisie affiche le nombre de lignes sélectionnées. Appuyez sur `Option+K` (Mac) / `Alt+K` (Windows/Linux) pour insérer une mention @-mention avec le chemin du fichier et les numéros de ligne (par exemple, `@app.ts#5-10`). Cliquez sur le **X** sur l'indicateur de sélection pour le supprimer afin que Claude ne reçoive pas la sélection. L'indicateur réapparaît lorsque vous sélectionnez un autre texte.

156 175 

157Claude voit également quel fichier vous avez ouvert dans l'éditeur, même quand rien n'est sélectionné, et la boîte de saisie affiche son nom. Pour ajouter uniquement votre texte sélectionné, désactivez le [paramètre Attach Open File](vscode://settings/claudeCode.attachOpenFile). Le paramètre nécessite Claude Code v2.1.271 ou version ultérieure.176L'extension retient le texte sélectionné de certains fichiers. Lorsque le fichier se trouve dans votre espace de travail et correspond à vos paramètres `files.exclude` ou `search.exclude`, Claude reçoit au maximum le chemin du fichier et non le texte que vous avez sélectionné. Il en va de même pour un fichier ignoré par git, tant que le paramètre `search.useIgnoreFiles` de VS Code et le paramètre [`respectGitIgnore`](#extension-settings) de l'extension sont tous deux activés, ce qui est la valeur par défaut. Ce filtre couvre uniquement le panneau de chat : lorsque Claude Code s'exécute dans le terminal intégré, la CLI envoie votre texte sélectionné quel que soit le fichier, donc ajoutez une [règle de refus `Read`](#the-built-in-ide-mcp-server) pour empêcher que le contenu d'un fichier ne soit envoyé à Claude là.

177 

178Claude voit également quel fichier vous avez ouvert dans l'éditeur, même si rien n'est sélectionné, et la boîte de saisie affiche son nom. Pour ajouter uniquement votre texte sélectionné, désactivez le [paramètre Attach Open File](vscode://settings/claudeCode.attachOpenFile). Le paramètre nécessite Claude Code v2.1.271 ou version ultérieure.

179 

180Vous pouvez également joindre des images et des fichiers à votre message :

158 181 

159Pour attacher une image, collez-la depuis votre presse-papiers dans la boîte de saisie. Vous pouvez également maintenir `Shift` enfoncé tout en faisant glisser des fichiers dans la boîte de saisie pour les ajouter en tant que pièces jointes. Cliquez sur le X sur n'importe quelle pièce jointe pour la supprimer du contexte.182* Pour joindre une image, collez-la depuis votre presse-papiers dans la boîte de saisie.

183* Pour joindre des fichiers, maintenez `Shift` enfoncé tout en faisant glisser des fichiers dans la boîte de saisie.

184* Pour supprimer une pièce jointe du contexte, cliquez sur le X dessus.

160 185 

161<h3 id="resume-past-conversations">186<h3 id="resume-past-conversations">

162 Reprendre les conversations passées187 Reprendre les conversations passées


169* **Session titles** : les nouvelles sessions reçoivent des titres générés par l'IA en fonction de votre premier message.194* **Session titles** : les nouvelles sessions reçoivent des titres générés par l'IA en fonction de votre premier message.

170* **Rename and archive** : survolez une session pour révéler ces actions. Renommez-la pour lui donner un titre descriptif, ou archivez-la pour la déplacer vers le groupe **Archived sessions** en bas de la liste.195* **Rename and archive** : survolez une session pour révéler ces actions. Renommez-la pour lui donner un titre descriptif, ou archivez-la pour la déplacer vers le groupe **Archived sessions** en bas de la liste.

171 196 

172Par défaut, une session sans activité pendant 14 jours se déplace vers **Archived sessions** automatiquement, sauf si elle est ouverte, non lue, ou dans un [groupe](#organize-sessions-into-groups). L'archivage automatique nécessite Claude Code v2.1.265 ou version ultérieure. Pour modifier la période ou la désactiver, ouvrez le [paramètre Archive Inactive Sessions](vscode://settings/claudeCode.archiveInactiveSessions) et sélectionnez un nombre de jours ou **Never**.197Par défaut, une session sans activité pendant 14 jours se déplace vers **Archived sessions** automatiquement, sauf si elle est ouverte, non lue ou dans un [groupe](#organize-sessions-into-groups). L'archivage automatique nécessite Claude Code v2.1.265 ou version ultérieure. Pour modifier la période ou la désactiver, ouvrez le [paramètre Archive Inactive Sessions](vscode://settings/claudeCode.archiveInactiveSessions) et sélectionnez un nombre de jours ou **Never**.

173 198 

174Pour restaurer une session archivée, développez **Archived sessions** et cliquez sur **Unarchive session**. Avant la v2.1.257, l'action était **Delete session**, qui masquait une session sans aucun moyen de la restaurer. Les sessions que vous avez supprimées apparaissent alors sous **Archived sessions** après la mise à niveau.199Pour restaurer une session archivée, développez **Archived sessions** et cliquez sur **Unarchive session**. Pour restaurer chaque session archivée à la fois, survolez l'en-tête **Archived sessions** dans la liste des sessions dans la barre d'activité et cliquez sur son icône de désarchivage, ce qui nécessite Claude Code v2.1.277 ou version ultérieure. Avant v2.1.257, l'action était **Delete session**, qui masquait une session sans aucun moyen de la restaurer. Les sessions que vous avez supprimées apparaissent alors sous **Archived sessions** après la mise à niveau.

175 200 

176Lorsque la conversation que vous reprenez s'est terminée en mode plan, Claude Code restaure le mode plan. Nécessite Claude Code v2.1.246 ou version ultérieure. Claude Code ne le restaure pas dans deux cas :201Lorsque la conversation que vous reprenez s'est terminée en mode plan, Claude Code restaure le mode plan. Nécessite Claude Code v2.1.246 ou version ultérieure. Claude Code ne le restaure pas dans deux cas :

177 202 

178* L'extension [choisit le mode de permission au démarrage](/docs/fr/permission-modes#switch-permission-modes) à partir de `claudeCode.initialPermissionMode` ou d'un choix qui se transporte d'une conversation antérieure203* L'extension [choisit le mode de permission au démarrage](/docs/fr/permission-modes#switch-permission-modes) à partir de `claudeCode.initialPermissionMode` ou d'un choix qui se reporte d'une conversation antérieure

179* Vous avez `claudeCode.claudeProcessWrapper` configuré204* Vous avez `claudeCode.claudeProcessWrapper` configuré

180 205 

181<h3 id="resume-cloud-sessions-from-claude-ai">206<h3 id="resume-cloud-sessions-from-claude-ai">

182 Reprendre les sessions cloud depuis Claude.ai207 Reprendre les sessions cloud depuis Claude.ai

183</h3>208</h3>

184 209 

185Si vous utilisez [Claude Code sur le web](/docs/fr/claude-code-on-the-web), vous pouvez reprendre ces sessions cloud directement dans VS Code. Cela nécessite de se connecter avec **Claude.ai Subscription**, pas Anthropic Console.210Si vous exécutez des [sessions cloud](/docs/fr/claude-code-on-the-web), vous pouvez les reprendre directement dans VS Code. Cela nécessite de se connecter avec **Claude.ai Subscription**, pas Anthropic Console.

186 211 

187<Steps>212<Steps>

188 <Step title="Open session history">213 <Step title="Open session history">

189 Click the **Session history** button at the top of the Claude Code panel.214 Cliquez sur le bouton **Session history** en haut du panneau Claude Code.

190 </Step>215 </Step>

191 216 

192 <Step title="Select the Web tab">217 <Step title="Select the Web tab">

193 The dialog shows two tabs: Local and Web. Click **Web** to see sessions from claude.ai.218 La boîte de dialogue affiche deux onglets : Local et Web. Cliquez sur **Web** pour voir les sessions de claude.ai.

194 </Step>219 </Step>

195 220 

196 <Step title="Select a session to resume">221 <Step title="Select a session to resume">

197 Browse or search your cloud sessions. Click any session to download it and continue the conversation locally.222 Parcourez ou recherchez vos sessions cloud. Cliquez sur n'importe quelle session pour la télécharger et continuer la conversation localement.

198 </Step>223 </Step>

199</Steps>224</Steps>

200 225 

201<Note>226<Note>

202 Only cloud sessions started with a GitHub repository appear in the Web tab. Resuming loads the conversation history locally; changes are not synced back to claude.ai.227 Seules les sessions cloud démarrées avec un référentiel GitHub apparaissent dans l'onglet Web. La reprise charge l'historique de la conversation localement ; les modifications ne sont pas resynchronisées vers claude.ai.

203</Note>228</Note>

204 229 

205<h3 id="check-account-and-usage">230<h3 id="check-account-and-usage">

206 Vérifier le compte et l'utilisation231 Vérifier le compte et l'utilisation

207</h3>232</h3>

208 233 

209Exécutez `/usage` pour ouvrir la boîte de dialogue Account & usage. La boîte de dialogue nécessite une connexion claude.ai, elle n'est donc pas proposée sur un [fournisseur tiers](#use-third-party-providers). Elle affiche votre compte connecté, votre plan et les barres d'utilisation pour les limites de votre plan, telles que la session actuelle et la semaine. Chaque barre affiche le temps restant avant la réinitialisation de sa limite.234Exécutez `/usage` pour ouvrir la boîte de dialogue Compte et utilisation. Elle affiche votre compte connecté, et l'utilisation qu'elle signale diffère selon la connexion :

210 235 

211La boîte de dialogue détaille également ce qui contribue à vos limites de plan. Elle signale les comportements qui représentent 10 % ou plus de l'utilisation récente, tels que les défauts de cache, le contexte long et les sessions lourdes en sous-agents ou hautement parallèles, chacun avec un conseil pour le réduire. Les tableaux d'attribution montrent la quantité d'utilisation provenant de chaque skill, sous-agent, plugin et serveur MCP.236* **claude.ai plan** : barres d'utilisation pour les limites de votre plan, telles que la session actuelle et la semaine. Chaque barre affiche le temps restant avant la réinitialisation de sa limite.

212 237 

213Utilisez le bouton bascule Day et Week pour basculer entre les 24 dernières heures et les 7 derniers jours. Les chiffres sont approximatifs et calculés à partir des sessions locales sur cette machine, donc l'utilisation d'autres appareils ou de claude.ai n'est pas incluse. Pour plus d'informations sur le suivi et la réduction de l'utilisation, consultez [Track your costs](/docs/fr/costs#track-your-costs).238 La boîte de dialogue détaille également ce qui contribue à vos limites de plan. Elle signale les comportements qui représentent 10 % ou plus de l'utilisation récente, tels que les défauts de cache, le contexte long et les sessions lourdes en sous-agents ou hautement parallèles, chacun avec un conseil pour le réduire. Les tableaux d'attribution affichent la quantité d'utilisation provenant de chaque compétence, sous-agent, plugin et serveur MCP.

239 

240 Utilisez le bouton bascule Jour et Semaine pour basculer entre les 24 dernières heures et les 7 derniers jours. Les chiffres sont approximatifs et calculés à partir des sessions locales sur cette machine, donc l'utilisation d'autres appareils ou de claude.ai n'est pas incluse.

241* **Other sign-ins** : lorsque les limites de plan ne s'appliquent pas à votre connexion, par exemple sur un [fournisseur tiers](#use-third-party-providers) ou avec une clé API, la section Utilisation affiche le coût et l'utilisation des jetons de la session elle-même à la place. Le `/usage` de la CLI affiche les mêmes totaux dans son [bloc Session](/docs/fr/costs#track-your-costs). La liste des sessions dans la barre d'activité affiche également les totaux de la session active sous son en-tête **Account & usage**. Nécessite Claude Code v2.1.277 ou version ultérieure.

242 

243Pour plus d'informations sur le suivi et la réduction de l'utilisation, consultez [Track your costs](/docs/fr/costs#track-your-costs).

214 244 

215<h2 id="customize-your-workflow">245<h2 id="customize-your-workflow">

216 Personnalisez votre flux de travail246 Personnalisez votre flux de travail


228* **Barre latérale principale** : la barre latérale gauche avec les icônes pour l'Explorateur, la Recherche, etc.258* **Barre latérale principale** : la barre latérale gauche avec les icônes pour l'Explorateur, la Recherche, etc.

229* **Zone d'éditeur** : ouvre Claude sous forme d'onglet à côté de vos fichiers. Utile pour les tâches secondaires.259* **Zone d'éditeur** : ouvre Claude sous forme d'onglet à côté de vos fichiers. Utile pour les tâches secondaires.

230 260 

261Lorsque Claude ouvre un onglet dans un nouveau groupe d'éditeur, l'extension verrouille ce groupe, de sorte que les fichiers que vous ouvrez pendant que l'onglet Claude est actif vont dans un autre groupe au lieu de s'afficher à côté de celui-ci.

262 

263Pour empêcher l'extension de verrouiller les groupes, désactivez le [paramètre Lock Editor Groups](vscode://settings/claudeCode.lockEditorGroups). Les groupes déjà verrouillés restent verrouillés jusqu'à ce que vous les déverrouilliez. Le paramètre nécessite Claude Code v2.1.274 ou version ultérieure.

264 

231<Tip>265<Tip>

232 Utilisez la barre latérale pour votre session Claude principale et ouvrez des onglets supplémentaires pour les tâches secondaires. Claude se souvient de votre emplacement préféré. L'icône de la liste des sessions dans la barre d'activité est séparée du panneau Claude : la liste des sessions est toujours visible dans la barre d'activité, tandis que l'icône du panneau Claude n'y apparaît que lorsque le panneau est ancré à la barre latérale gauche.266 Utilisez la barre latérale pour votre session Claude principale et ouvrez des onglets supplémentaires pour les tâches secondaires. Claude se souvient de votre emplacement préféré. L'icône de la liste des sessions dans la barre d'activité est séparée du panneau Claude : la liste des sessions est toujours visible dans la barre d'activité, tandis que l'icône du panneau Claude n'y apparaît que lorsque le panneau est ancré à la barre latérale gauche.

233</Tip>267</Tip>


237* **Onglet d'éditeur** : la conversation revient avec son onglet.271* **Onglet d'éditeur** : la conversation revient avec son onglet.

238* **Barre latérale** : la conversation revient si vous avez envoyé un message ou si Claude a répondu dans celle-ci au cours des 10 dernières minutes. Si elle ne revient pas, reprenez la conversation à partir de [Historique des sessions](#resume-past-conversations).272* **Barre latérale** : la conversation revient si vous avez envoyé un message ou si Claude a répondu dans celle-ci au cours des 10 dernières minutes. Si elle ne revient pas, reprenez la conversation à partir de [Historique des sessions](#resume-past-conversations).

239 273 

274Si le rechargement a interrompu Claude au milieu d'une étape, Claude continue cette étape lorsque la conversation revient, et un avis dans le chat marque la continuation. Nécessite Claude Code v2.1.274 ou version ultérieure. Si l'étape a été interrompue il y a plus d'une heure ou si la session est ouverte ailleurs, la conversation revient inactive à la place.

275 

276Pour désactiver la continuation, ouvrez le [paramètre Continue After Reload](vscode://settings/claudeCode.continueAfterReload) et décochez-le.

277 

240<h3 id="run-multiple-conversations">278<h3 id="run-multiple-conversations">

241 Exécutez plusieurs conversations279 Exécutez plusieurs conversations

242</h3>280</h3>


304L'URL prend deux paramètres de requête :342L'URL prend deux paramètres de requête :

305 343 

306| Paramètre | Description |344| Paramètre | Description |

307| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |345| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

308| `plugin` | Le nom du plugin tel que sa marketplace le répertorie. Obligatoire. |346| `plugin` | Le nom du plugin tel que sa marketplace le répertorie. Obligatoire. |

309| `marketplace` | D'où provient le plugin, sous n'importe quelle forme que l'[onglet Marketplaces](#manage-marketplaces) accepte, comme un `owner/repo` GitHub ou une URL git. Encodez-le en URL s'il contient des caractères tels que `&`. Par défaut `anthropics/claude-plugins-official` lorsqu'il est omis. |347| `marketplace` | D'où provient le plugin : un `owner/repo` GitHub, une URL `https://`, ou une URL git SSH telle que `git@github.com:owner/repo.git`. Par défaut `anthropics/claude-plugins-official` lorsqu'il est omis. |

348 

349Certaines valeurs que l'[onglet Marketplaces](#manage-marketplaces) accepte ne fonctionnent pas dans un lien, comme un chemin local ou une adresse `http://`. Pour celles-ci, VS Code affiche un message d'erreur et la boîte de dialogue ne s'ouvre pas.

310 350 

311Deux cas se terminent par un message dans la boîte de dialogue au lieu du choix d'étendue :351Deux cas se terminent par un message dans la boîte de dialogue au lieu du choix d'étendue :

312 352 


364</Note>404</Note>

365 405 

366| Commande | Raccourci | Description |406| Commande | Raccourci | Description |

367| -------------------------- | -------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |407| -------------------------- | -------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

368| Focus Input | `Cmd+Échap` (Mac) / `Ctrl+Échap` (Windows/Linux) | Basculer le focus entre l'éditeur et Claude |408| Focus Input | `Cmd+Échap` (Mac) / `Ctrl+Échap` (Windows/Linux) | Basculer le focus entre l'éditeur et Claude |

409| Focus last message | - | Déplacer le focus clavier vers le message le plus récent dans la conversation, ou vers une invite de permission en attente, afin que vous puissiez lire à partir de là avec le clavier ou un lecteur d'écran. Non disponible en [mode terminal](#switch-to-terminal-mode). Nécessite Claude Code v2.1.268 ou version ultérieure |

369| Open in Side Bar | - | Ouvrir Claude dans la barre latérale |410| Open in Side Bar | - | Ouvrir Claude dans la barre latérale |

370| Open in Terminal | - | Ouvrir Claude en mode terminal |411| Open in Terminal | - | Ouvrir Claude en mode terminal |

371| Open in New Tab | `Cmd+Maj+Échap` (Mac) / `Ctrl+Maj+Échap` (Windows/Linux) | Ouvrir une nouvelle conversation en tant qu'onglet d'éditeur |412| Open in New Tab | `Cmd+Maj+Échap` (Mac) / `Ctrl+Maj+Échap` (Windows/Linux) | Ouvrir une nouvelle conversation en tant qu'onglet d'éditeur |


373| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | Démarrer une nouvelle conversation. Nécessite que Claude soit actif et que `enableNewConversationShortcut` soit défini sur `true` |414| New Conversation | `Cmd+N` (Mac) / `Ctrl+N` (Windows/Linux) | Démarrer une nouvelle conversation. Nécessite que Claude soit actif et que `enableNewConversationShortcut` soit défini sur `true` |

374| Reopen Closed Session | `Cmd+Maj+T` (Mac) / `Ctrl+Maj+T` (Windows/Linux) | Rouvrir l'onglet de session Claude fermé le plus récemment. Bascule vers la réouverture normale d'éditeur fermé de VS Code lorsque le dernier onglet fermé n'était pas une session Claude. Désactiver avec `enableReopenClosedSessionShortcut` |415| Reopen Closed Session | `Cmd+Maj+T` (Mac) / `Ctrl+Maj+T` (Windows/Linux) | Rouvrir l'onglet de session Claude fermé le plus récemment. Bascule vers la réouverture normale d'éditeur fermé de VS Code lorsque le dernier onglet fermé n'était pas une session Claude. Désactiver avec `enableReopenClosedSessionShortcut` |

375| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Insérer une référence au fichier actuel et à la sélection (nécessite que l'éditeur soit actif) |416| Insert @-Mention Reference | `Option+K` (Mac) / `Alt+K` (Windows/Linux) | Insérer une référence au fichier actuel et à la sélection (nécessite que l'éditeur soit actif) |

417| Accept Change at Cursor | - | Accepter la modification au curseur lors de l'[examen d'une modification proposée](#get-started) une modification à la fois. Nécessite Claude Code v2.1.275 ou version ultérieure |

418| Reject Change at Cursor | - | Annuler la modification au curseur lors de l'examen d'une modification proposée une modification à la fois. Nécessite Claude Code v2.1.275 ou version ultérieure |

376| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Masquer ou afficher l'activité des outils dans la conversation. Fonctionne lorsqu'un panneau Claude ou une barre latérale est visible. Nécessite Claude Code v2.1.221 ou version ultérieure |419| Toggle Focus view | `Ctrl+Option+F` (Mac) / `Ctrl+Alt+F` (Windows/Linux) | Masquer ou afficher l'activité des outils dans la conversation. Fonctionne lorsqu'un panneau Claude ou une barre latérale est visible. Nécessite Claude Code v2.1.221 ou version ultérieure |

377| Rename Session Tab | - | Renommer la session dans l'onglet Claude actif. Nécessite Claude Code v2.1.257 ou version ultérieure |420| Rename Session Tab | - | Renommer la session dans l'onglet Claude actif. Nécessite Claude Code v2.1.257 ou version ultérieure |

378| Add Session Tab to Group | - | Ajouter la session dans l'onglet Claude actif à un [groupe de sessions](#organize-sessions-into-groups) que vous choisissez ou créez. Nécessite Claude Code v2.1.257 ou version ultérieure |421| Add Session Tab to Group | - | Ajouter la session dans l'onglet Claude actif à un [groupe de sessions](#organize-sessions-into-groups) que vous choisissez ou créez. Nécessite Claude Code v2.1.257 ou version ultérieure |


457| `useTerminal` | `false` | Lancez Claude en mode terminal au lieu du panneau graphique |500| `useTerminal` | `false` | Lancez Claude en mode terminal au lieu du panneau graphique |

458| `initialPermissionMode` | - | Contrôle les invites d'approbation pour les nouvelles conversations : `default`, `plan`, `acceptEdits` ou `bypassPermissions`. `manual` est un alias pour `default` et sélectionne le mode étiqueté **Manual** dans l'indicateur de mode. Lorsque vous le laissez non défini, l'extension choisit le mode de permission de démarrage comme décrit dans [Switch permission modes](/docs/fr/permission-modes#switch-permission-modes). |501| `initialPermissionMode` | - | Contrôle les invites d'approbation pour les nouvelles conversations : `default`, `plan`, `acceptEdits` ou `bypassPermissions`. `manual` est un alias pour `default` et sélectionne le mode étiqueté **Manual** dans l'indicateur de mode. Lorsque vous le laissez non défini, l'extension choisit le mode de permission de démarrage comme décrit dans [Switch permission modes](/docs/fr/permission-modes#switch-permission-modes). |

459| `preferredLocation` | `panel` | Où Claude s'ouvre : `sidebar` (droite) ou `panel` (nouvel onglet) |502| `preferredLocation` | `panel` | Où Claude s'ouvre : `sidebar` (droite) ou `panel` (nouvel onglet) |

503| `lockEditorGroups` | `true` | [Verrouillez les groupes d'éditeurs que Claude démarre pour ses onglets](#choose-where-claude-lives), afin que les fichiers que vous ouvrez lorsqu'un onglet Claude est actif aillent dans un autre groupe. Lorsqu'il est désactivé, l'extension ne verrouille jamais un groupe d'éditeurs. Nécessite Claude Code v2.1.274 ou ultérieur |

460| `autosave` | `true` | Enregistrement automatique des fichiers avant que Claude les lise ou les écrive |504| `autosave` | `true` | Enregistrement automatique des fichiers avant que Claude les lise ou les écrive |

461| `attachOpenFile` | `true` | Ajoutez le fichier ouvert dans l'éditeur à vos messages et affichez-le dans la zone de saisie. Lorsqu'il est désactivé, seul votre texte sélectionné est ajouté. Nécessite Claude Code v2.1.271 ou ultérieur |505| `attachOpenFile` | `true` | Ajoutez le fichier ouvert dans l'éditeur à vos messages et affichez-le dans la zone de saisie. Lorsqu'il est désactivé, seul votre texte sélectionné est ajouté. Nécessite Claude Code v2.1.271 ou ultérieur |

462| `useCtrlEnterToSend` | `false` | Utilisez Ctrl/Cmd+Entrée au lieu d'Entrée pour envoyer les invites |506| `useCtrlEnterToSend` | `false` | Utilisez Ctrl/Cmd+Entrée au lieu d'Entrée pour envoyer les invites |

507| `scrollToBottomOnSend` | `true` | Faites défiler la conversation vers le bas lorsque vous envoyez un message. Lorsqu'il est désactivé, la conversation reste où vous l'avez laissée. Nécessite Claude Code v2.1.275 ou ultérieur |

463| `enableNewConversationShortcut` | `false` | Activez Cmd/Ctrl+N pour démarrer une nouvelle conversation |508| `enableNewConversationShortcut` | `false` | Activez Cmd/Ctrl+N pour démarrer une nouvelle conversation |

464| `enableReopenClosedSessionShortcut` | `true` | Utilisez Cmd/Ctrl+Maj+T pour rouvrir l'onglet de session Claude le plus récemment fermé. Lorsque le dernier onglet fermé n'était pas une session Claude, le raccourci exécute la commande de réouverture d'éditeur fermé normale de VS Code à la place. |509| `enableReopenClosedSessionShortcut` | `true` | Utilisez Cmd/Ctrl+Maj+T pour rouvrir l'onglet de session Claude le plus récemment fermé. Lorsque le dernier onglet fermé n'était pas une session Claude, le raccourci exécute la commande de réouverture d'éditeur fermé normale de VS Code à la place. |

465| `archiveInactiveSessions` | `14` | [Archivez une session automatiquement](#resume-past-conversations) après ce nombre de jours sans activité : `1`, `2`, `7` ou `14`. Définissez `0` pour le désactiver. Nécessite Claude Code v2.1.265 ou ultérieur |510| `archiveInactiveSessions` | `14` | [Archivez une session automatiquement](#resume-past-conversations) après ce nombre de jours sans activité : `1`, `2`, `7` ou `14`. Définissez `0` pour le désactiver. Nécessite Claude Code v2.1.265 ou ultérieur |

511| `continueAfterReload` | `true` | Après un rechargement de fenêtre, Claude [continue l'étape qui a été interrompue](#choose-where-claude-lives) dans la session restaurée. Nécessite Claude Code v2.1.274 ou ultérieur |

466| `hideOnboarding` | `false` | Masquez la liste de contrôle d'intégration (icône de chapeau de graduation) |512| `hideOnboarding` | `false` | Masquez la liste de contrôle d'intégration (icône de chapeau de graduation) |

467| `focusView` | `false` | Masquez les appels d'outils, les résultats d'outils et la réflexion derrière des lignes extensibles, en laissant vos invites et les réponses de Claude. La liste de tâches la plus récente de Claude reste visible ; cela nécessite Claude Code v2.1.225 ou ultérieur. Vous pouvez également basculer la vue Focus à partir du menu de commande. Nécessite Claude Code v2.1.221 ou ultérieur |513| `focusView` | `false` | Masquez les appels d'outils, les résultats d'outils et la réflexion derrière des lignes extensibles, en laissant vos invites et les réponses de Claude. La liste de tâches la plus récente de Claude reste visible ; cela nécessite Claude Code v2.1.225 ou ultérieur. Vous pouvez également basculer la vue Focus à partir du menu de commande. Nécessite Claude Code v2.1.221 ou ultérieur |

468| `respectGitIgnore` | `true` | Excluez les modèles .gitignore des recherches de fichiers |514| `respectGitIgnore` | `true` | Excluez les modèles .gitignore des recherches de fichiers et de [contexte de sélection](#reference-files-and-folders) |

469| `usePythonEnvironment` | `true` | Activez l'environnement Python de l'espace de travail lors de l'exécution de Claude. Nécessite l'extension Python. |515| `usePythonEnvironment` | `true` | Activez l'environnement Python de l'espace de travail lors de l'exécution de Claude. Nécessite l'extension Python. |

470| `environmentVariables` | `[]` | Définissez les variables d'environnement pour le processus Claude. Utilisez plutôt les paramètres Claude Code pour la configuration partagée. |516| `environmentVariables` | `[]` | Définissez les variables d'environnement pour le processus Claude. Utilisez plutôt les paramètres Claude Code pour la configuration partagée. |

471| `disableLoginPrompt` | `false` | Ignorez les invites d'authentification (pour les configurations de fournisseur tiers) |517| `disableLoginPrompt` | `false` | Ignorez les invites d'authentification (pour les configurations de fournisseur tiers) |


487* **Les changements de statut** : l'extension annonce lorsque Claude commence à travailler, lorsque Claude est prêt pour votre entrée, et lorsque Claude Code commence à compacter la conversation.533* **Les changements de statut** : l'extension annonce lorsque Claude commence à travailler, lorsque Claude est prêt pour votre entrée, et lorsque Claude Code commence à compacter la conversation.

488* **Les erreurs et les invites de modèle** : l'extension annonce les erreurs dans la conversation, et annonce lorsque l'[invite de consentement des crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits) ou l'[invite de demande signalée](/docs/fr/model-config#ask-before-switching) apparaît.534* **Les erreurs et les invites de modèle** : l'extension annonce les erreurs dans la conversation, et annonce lorsque l'[invite de consentement des crédits d'utilisation](/docs/fr/model-config#fable-and-usage-credits) ou l'[invite de demande signalée](/docs/fr/model-config#ask-before-switching) apparaît.

489 535 

490Chaque tour dans la transcription commence par un titre masqué visuellement étiqueté avec l'invite qui a démarré le tour, afin que vous puissiez naviguer entre les tours avec la navigation par titre de votre lecteur d'écran. Vous pouvez également déplacer le focus vers la transcription elle-même avec `Tab`, puisque l'extension l'expose comme une région étiquetée, et la lire à votre rythme. Pendant que Claude travaille, votre lecteur d'écran lit une étiquette de texte à la place de l'animation du spinner de progression.536Pendant que Claude travaille, votre lecteur d'écran lit une étiquette de texte à la place de l'animation du spinner de progression.

491 537 

492Lorsque vous rouvrez une session ou basculez vers une autre, l'extension n'annonce rien : l'historique restauré, les invites de permission en attente, et le statut en cours restent silencieux jusqu'à ce que quelque chose de nouveau se produise.538Lorsque vous rouvrez une session ou basculez vers une autre, l'extension n'annonce rien : l'historique restauré, les invites de permission en attente, et le statut en cours restent silencieux jusqu'à ce que quelque chose de nouveau se produise.

493 539 

540<h3 id="use-the-chat-panel-from-the-keyboard">

541 Utiliser le panneau de chat à partir du clavier

542</h3>

543 

544Chaque tour dans la transcription commence par un titre masqué visuellement étiqueté avec l'invite qui a démarré le tour, afin que vous puissiez naviguer entre les tours avec la navigation par titre de votre lecteur d'écran.

545 

546Au sein d'un tour, votre lecteur d'écran annonce dont le message vous êtes en train de lire au fur et à mesure que vous le parcourez :

547 

548* **Vos messages** : « Vous »

549* **Les messages de Claude** : « Claude »

550* **Les étapes d'outil** : « Claude » plus le nom de l'outil, comme « Claude, Bash »

551* **Les blocs de réflexion** : « Claude, réflexion »

552 

553Parce que l'extension expose la transcription comme une région étiquetée, vous pouvez également déplacer le focus vers la transcription elle-même avec `Tab` et la lire à votre rythme. Pour déplacer le focus vers le message le plus récent ou une invite de permission en attente à la place, exécutez **Claude Code : Focus last message** à partir de la [Palette de commandes](#vs-code-commands-and-shortcuts).

554 

555Lorsqu'une option sur une invite de permission enregistre une règle de permission ou un accès au répertoire, son étiquette se termine en nommant l'endroit où l'approbation est enregistrée, comme « tous les projets » ou « cette session ». Avec cette option ciblée, appuyez sur la touche `Gauche` ou `Droite` pour modifier la destination, et l'extension annonce chaque destination lorsque vous la sélectionnez. Vous pouvez également cliquer sur la destination dans l'étiquette. Les touches fléchées nécessitent Claude Code v2.1.268 ou une version ultérieure.

556 

494<h2 id="vs-code-extension-vs-claude-code-cli">557<h2 id="vs-code-extension-vs-claude-code-cli">

495 Extension VS Code vs. Claude Code CLI558 Extension VS Code vs. Claude Code CLI

496</h2>559</h2>


543 Surveiller les processus en arrière-plan606 Surveiller les processus en arrière-plan

544</h3>607</h3>

545 608 

546La visibilité des tâches en arrière-plan dans l'extension est limitée par rapport à la CLI. Pour une meilleure visibilité, demandez à Claude de générer la commande afin que vous puissiez l'exécuter dans le terminal intégré de VS Code.609Tapez `/tasks` dans la zone de saisie d'invite pour ouvrir la [carte des agents](#use-the-prompt-box), qui répertorie les tâches en arrière-plan de la session, comme un serveur de développement que Claude a laissé s'exécuter en tant que commande shell en arrière-plan. Cliquez sur une tâche pour ouvrir sa carte et l'arrêter là. Nécessite Claude Code v2.1.277 ou version ultérieure.

547 610 

548<h3 id="connect-to-external-tools-with-mcp">611<h3 id="connect-to-external-tools-with-mcp">

549 Connecter à des outils externes avec MCP612 Connecter à des outils externes avec MCP


610 </Step>673 </Step>

611</Steps>674</Steps>

612 675 

613Sur un fournisseur tiers, l'extension n'offre pas les fonctionnalités qui nécessitent un compte claude.ai, telles que le suivi de l'utilisation, la [dictée vocale](/docs/fr/voice-dictation) et l'onglet Web pour les [sessions cloud](#resume-cloud-sessions-from-claude-ai). Une connexion claude.ai restante d'une `/login` antérieure reste inutilisée : l'extension ne l'envoie avec aucune demande.676Sur un fournisseur tiers, l'extension n'offre pas les fonctionnalités qui nécessitent un compte claude.ai, telles que les barres de suivi de l'utilisation du plan, la [dictée vocale](/docs/fr/voice-dictation) et l'onglet Web pour les [sessions cloud](#resume-cloud-sessions-from-claude-ai). Pour ce que la boîte de dialogue Compte et utilisation affiche sur ces connexions, voir [Vérifier le compte et l'utilisation](#check-account-and-usage).

677 

678Une connexion claude.ai restante d'une `/login` antérieure reste inutilisée : l'extension ne l'envoie avec aucune demande.

614 679 

615<h2 id="security-and-privacy">680<h2 id="security-and-privacy">

616 Sécurité et confidentialité681 Sécurité et confidentialité

workflows.md +4 −2

Details

231 231 

232Avant la v2.1.216, Claude Code suivait le lien, ce qui pouvait placer le fichier en dehors de l'emplacement que vous aviez choisi.232Avant la v2.1.216, Claude Code suivait le lien, ce qui pouvait placer le fichier en dehors de l'emplacement que vous aviez choisi.

233 233 

234Dans un monorepo avec plusieurs répertoires `.claude/`, vous pouvez conserver les workflows aux côtés du package auquel ils s'appliquent. À partir de la v2.1.178, l'enregistrement à l'emplacement du projet écrit dans le répertoire `.claude/workflows/` le plus proche qui existe déjà entre votre répertoire de travail et la racine du référentiel, ou à la racine du référentiel s'il n'en existe pas encore. Les workflows de projet se chargent également à partir de chaque `.claude/workflows/` le long de ce chemin, et quand plus d'un définit le même nom, Claude Code exécute celui le plus proche du répertoire de travail.234Dans un monorepo avec plusieurs répertoires `.claude/`, vous pouvez conserver les workflows aux côtés du package auquel ils s'appliquent. L'enregistrement à l'emplacement du projet écrit dans le répertoire `.claude/workflows/` le plus proche qui existe déjà entre votre répertoire de travail et la racine du référentiel, ou à la racine du référentiel s'il n'en existe pas encore. Les workflows de projet se chargent également à partir de chaque `.claude/workflows/` le long de ce chemin, et quand plus d'un définit le même nom, Claude Code exécute celui le plus proche du répertoire de travail.

235 235 

236Si un workflow de projet et un workflow personnel partagent un nom, celui du projet s'exécute.236Si un workflow de projet et un workflow personnel partagent un nom, celui du projet s'exécute.

237 237 


348 348 

349Le corps est du JavaScript simple avec `await` au niveau supérieur. `agent()` génère un sous-agent, `pipeline()` en exécute un par élément dans une liste, et `parallel()` exécute un ensemble de tâches d'agent en même temps et attend que toutes se terminent.349Le corps est du JavaScript simple avec `await` au niveau supérieur. `agent()` génère un sous-agent, `pipeline()` en exécute un par élément dans une liste, et `parallel()` exécute un ensemble de tâches d'agent en même temps et attend que toutes se terminent.

350 350 

351Un appel `agent()` se résout en `null` si vous l'arrêtez en cours d'exécution ou s'il rencontre une erreur API irrécupérable. En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), le classificateur peut bloquer un appel `agent()` avant que le sous-agent ne commence. Un appel bloqué se résout en `null` et s'affiche dans la vue de progression de l'exécution avec la raison. `pipeline()` conserve chaque `null` dans le tableau des résultats, c'est pourquoi l'exemple se termine par `.filter(Boolean)` pour supprimer ces entrées.351Un appel `agent()` se résout en `null` si vous l'arrêtez en cours d'exécution ou s'il rencontre une erreur API irrécupérable. `pipeline()` conserve chaque `null` dans le tableau des résultats, c'est pourquoi l'exemple se termine par `.filter(Boolean)` pour supprimer ces entrées.

352 

353En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), le prompt que votre script transmet à `agent()` ne compte pas comme une demande de votre part quand le classificateur examine les actions de ce sous-agent, car Claude Code le marque comme du texte que le script a calculé.

352 354 

353Si vous passez un `schema` sur un appel `agent()`, ce sous-agent retourne du JSON correspondant à la forme au lieu de prose. Claude Code vérifie le schéma avant de démarrer le sous-agent : quand il peut prouver que le schéma se contredit lui-même, l'appel échoue avec une erreur nommant la contradiction, et le sous-agent ne démarre jamais. Une contradiction qu'il peut prouver est une clé `required` que `additionalProperties: false` exclut.355Si vous passez un `schema` sur un appel `agent()`, ce sous-agent retourne du JSON correspondant à la forme au lieu de prose. Claude Code vérifie le schéma avant de démarrer le sous-agent : quand il peut prouver que le schéma se contredit lui-même, l'appel échoue avec une erreur nommant la contradiction, et le sous-agent ne démarre jamais. Une contradiction qu'il peut prouver est une clé `required` que `additionalProperties: false` exclut.

354 356 

worktrees.md +10 −5

Details

59 Nettoyer les worktrees59 Nettoyer les worktrees

60</h2>60</h2>

61 61 

62Quand vous quittez une session worktree interactive, Claude vérifie le worktree pour le travail que la suppression supprimerait : fichiers modifiés ou non suivis, et nouveaux commits.62Quand vous quittez une session worktree interactive, Claude vérifie le worktree pour le travail que la suppression supprimerait : fichiers modifiés ou non suivis, travail non validé à l'intérieur des sous-modules extraits, et nouveaux commits.

63 63 

64* **Le worktree est propre** : pour une session sans nom, Claude supprime le worktree et sa branche automatiquement. Une session [nommée](/docs/fr/sessions#name-your-sessions) vous demande d'abord pour que vous puissiez conserver le worktree pour plus tard64* **Le worktree est propre** : pour une session sans nom, Claude supprime le worktree et sa branche automatiquement. Une session [nommée](/docs/fr/sessions#name-your-sessions) vous demande d'abord pour que vous puissiez conserver le worktree pour plus tard

65* **Le worktree contient du travail** : Claude vous demande de conserver ou de supprimer le worktree. Conserver préserve le répertoire et la branche pour que vous puissiez revenir plus tard. Supprimer supprime le répertoire worktree et sa branche, ainsi que tout le travail qu'ils contiennent65* **Le worktree contient du travail** : Claude vous demande de conserver ou de supprimer le worktree. Conserver préserve le répertoire et la branche pour que vous puissiez revenir plus tard. Supprimer supprime le répertoire worktree et sa branche, ainsi que tout le travail qu'ils contiennent

66* **L'état du worktree ne peut pas être vérifié** : quand Claude Code ne peut pas compter les modifications du worktree ou ne peut pas inspecter les extraits de ses sous-modules, il vous demande plutôt que de supprimer le worktree automatiquement. L'invite nomme ce qu'il n'a pas pu vérifier

66 67 

67Les exécutions non interactives avec `-p` n'ont pas d'invite de sortie, donc Claude ne nettoie pas leurs worktrees, et Claude Code laisse le verrou qu'il a pris sur chacun à la création en place jusqu'à ce qu'une [balayage de verrous obsolètes](#clean-up-subagent-and-background-session-worktrees) ultérieure le libère. Pour en supprimer un, exécutez `git worktree remove` ; si git refuse parce que le worktree est verrouillé, exécutez d'abord `git worktree unlock` dessus.68Les exécutions non interactives avec `-p` n'ont pas d'invite de sortie, donc Claude ne nettoie pas leurs worktrees, et Claude Code laisse le verrou qu'il a pris sur chacun à la création en place jusqu'à ce qu'une [balayage de verrous obsolètes](#clean-up-subagent-and-background-session-worktrees) ultérieure le libère. Pour en supprimer un, exécutez `git worktree remove` ; si git refuse parce que le worktree est verrouillé, exécutez d'abord `git worktree unlock` dessus.

68 69 


101* **Modifications de fichiers** : Claude Code bloque une `Edit`, `Write`, ou `NotebookEdit` qui cible un chemin dans l'extraction principale.102* **Modifications de fichiers** : Claude Code bloque une `Edit`, `Write`, ou `NotebookEdit` qui cible un chemin dans l'extraction principale.

102* **Répertoire de travail de la commande** : Claude Code bloque une commande Bash, PowerShell, ou Monitor dont le répertoire de travail se résout à l'extraction principale, ou dont le répertoire de travail il ne peut pas vérifier reste en dehors.103* **Répertoire de travail de la commande** : Claude Code bloque une commande Bash, PowerShell, ou Monitor dont le répertoire de travail se résout à l'extraction principale, ou dont le répertoire de travail il ne peut pas vérifier reste en dehors.

103* **Redirections Git** : Claude Code bloque une commande Bash ou Monitor qui redirige git vers l'extraction principale. La redirection peut provenir de `git -C`, `--git-dir`, une variable `GIT_DIR` ou `GIT_WORK_TREE`, ou un `cd` dans l'extraction principale avant d'exécuter git.104* **Redirections Git** : Claude Code bloque une commande Bash ou Monitor qui redirige git vers l'extraction principale. La redirection peut provenir de `git -C`, `--git-dir`, une variable `GIT_DIR` ou `GIT_WORK_TREE`, ou un `cd` dans l'extraction principale avant d'exécuter git.

104* **Forme de la commande** : Claude Code bloque une commande Bash ou Monitor quand il ne peut pas vérifier à partir du texte de la commande que tout git que la commande exécute reste à l'intérieur du worktree, par exemple quand le nom de la commande est calculé à l'exécution ou la syntaxe ne peut pas être analysée. Claude Code dit à Claude comment réécrire la commande refusée, comme la diviser en commandes simples et séparées. Vous ne pouvez pas désactiver cette vérification.105* **Forme de la commande** : Claude Code bloque une commande Bash ou Monitor quand il ne peut pas vérifier à partir du texte de la commande que tout git que la commande exécute reste à l'intérieur du worktree. Cela se produit, par exemple, quand le nom de la commande est calculé à l'exécution, quand la syntaxe ne peut pas être analysée, ou quand une expansion telle que `${!name}` ou `${ command; }` pourrait exécuter une commande que le texte ne précise pas. Claude Code indique à Claude comment réécrire la commande refusée, par exemple en la divisant en commandes simples et séparées. Vous ne pouvez pas désactiver cette vérification.

105 106 

106Les vérifications s'appliquent au dépôt à partir duquel vous avez lancé Claude Code. Elles couvrent également l'extraction principale à laquelle un worktree lié est lié. Pour les commandes PowerShell, Claude Code applique uniquement la vérification du répertoire de travail.107Les vérifications s'appliquent au dépôt à partir duquel vous avez lancé Claude Code. Elles couvrent également l'extraction principale à laquelle un worktree lié est lié. Pour les commandes PowerShell, Claude Code applique uniquement la vérification du répertoire de travail.

107 108 

108Claude voit chaque refus comme une erreur d'outil qui nomme le worktree et dit comment procéder.109Claude voit chaque refus comme une erreur d'outil qui nomme le worktree et dit comment procéder. Pour une commande refusée, consultez [ce que le message de refus signifie et comment le résoudre](/docs/fr/errors#command-blocked-by-the-worktree-isolation-checks).

109 110 

110<h2 id="isolate-subagents-with-worktrees">111<h2 id="isolate-subagents-with-worktrees">

111 Isoler les subagents avec worktrees112 Isoler les subagents avec worktrees


139Quand vous [mettez en arrière-plan](/docs/fr/agent-view#send-the-session-to-the-background) une session `--worktree`, son worktree devient un worktree de session en arrière-plan que le balayage peut supprimer. Le balayage laisse un worktree en place dans ces cas :140Quand vous [mettez en arrière-plan](/docs/fr/agent-view#send-the-session-to-the-background) une session `--worktree`, son worktree devient un worktree de session en arrière-plan que le balayage peut supprimer. Le balayage laisse un worktree en place dans ces cas :

140 141 

141* Le worktree contient toujours du travail : fichiers modifiés ou non suivis, ou commits non poussés.142* Le worktree contient toujours du travail : fichiers modifiés ou non suivis, ou commits non poussés.

143* Un sous-module extrait dans le worktree contient des fichiers modifiés ou non suivis, ou Claude Code ne peut pas inspecter les sous-modules du worktree. Cette vérification nécessite Claude Code v2.1.274 ou une version ultérieure.

142* L'un des [quatre cas qui bloquent également la création de worktree](#git-lfs-content-is-missing-from-a-worktree-claude-code-created) s'applique : Claude Code ne peut pas déterminer quels pilotes de filtre la configuration du dépôt définit, ou y trouve un paramètre qu'il ne peut pas désactiver.144* L'un des [quatre cas qui bloquent également la création de worktree](#git-lfs-content-is-missing-from-a-worktree-claude-code-created) s'applique : Claude Code ne peut pas déterminer quels pilotes de filtre la configuration du dépôt définit, ou y trouve un paramètre qu'il ne peut pas désactiver.

143* Le worktree appartient à une session `--worktree` que vous n'avez pas mise en arrière-plan, quel que soit son âge.145* Le worktree appartient à une session `--worktree` que vous n'avez pas mise en arrière-plan, quel que soit son âge.

144* Vous avez créé le worktree vous-même avec `git worktree add`, même si vous avez ensuite exécuté une session `--worktree <name>` dedans et l'avez mise en arrière-plan.146* Vous avez créé le worktree vous-même avec `git worktree add`, même si vous avez ensuite exécuté une session `--worktree <name>` dedans et l'avez mise en arrière-plan.


251 Ce que les worktrees partagent avec l'extraction principale253 Ce que les worktrees partagent avec l'extraction principale

252</h2>254</h2>

253 255 

254Un worktree obtient ses propres fichiers et branche, mais il partage le répertoire `.git` du dépôt, les plugins de portée de projet, et les approbations de permission sauvegardées avec l'extraction principale :256Un worktree obtient ses propres fichiers et branche, mais il partage les éléments suivants avec l'extraction principale :

255 257 

256* **Le répertoire `.git` du dépôt** : les commandes git dans un worktree écrivent dans le répertoire `.git` partagé du dépôt principal, et l'[isolation du système de fichiers](/docs/fr/sandboxing#filesystem-isolation) permet ces écritures, donc les commandes telles que `git commit` fonctionnent depuis l'intérieur d'un worktree avec le sandbox activé.258* **Le répertoire `.git` du dépôt** : les commandes git dans un worktree écrivent dans le répertoire `.git` partagé du dépôt principal, et l'[isolation du système de fichiers](/docs/fr/sandboxing#filesystem-isolation) permet ces écritures, donc les commandes telles que `git commit` fonctionnent depuis l'intérieur d'un worktree avec le sandbox activé.

257* **Plugins** : les plugins installés à [portée du projet](/docs/fr/plugins-reference#plugin-installation-scopes) à partir de l'extraction principale se chargent également dans les worktrees du même dépôt, vous n'avez donc pas besoin de les réinstaller par worktree. Nécessite Claude Code v2.1.200 ou ultérieur.259* **Plugins** : les plugins installés à [portée du projet](/docs/fr/plugins-reference#plugin-installation-scopes) à partir de l'extraction principale se chargent également dans les worktrees du même dépôt, vous n'avez donc pas besoin de les réinstaller par worktree. Nécessite Claude Code v2.1.200 ou ultérieur.

258* **Approbations de permission** : choisir « Oui, et ne plus demander » pour une commande Bash dans une session worktree sauvegarde la règle dans le `.claude/settings.local.json` de l'extraction principale, pour qu'elle s'applique dans l'extraction principale et dans chaque autre worktree du dépôt, et qu'elle survive à la suppression du worktree. Sur Windows et dans les autres cas où Claude Code [n'utilise pas la racine du dépôt](/docs/fr/settings#where-claude-code-looks-for-each-file), la règle reste avec ce worktree. Avant la v2.1.211, une approbation accordée dans un worktree était sauvegardée à l'intérieur de ce worktree, ne s'appliquait pas ailleurs, et était perdue quand le worktree était supprimé. Voir [où les approbations sont sauvegardées](/docs/fr/permissions#permission-system).260* **Approbations de permission** : choisir « Oui, et ne plus demander » pour une commande Bash dans une session worktree sauvegarde la règle dans le `.claude/settings.local.json` de l'extraction principale, pour qu'elle s'applique dans l'extraction principale et dans chaque autre worktree du dépôt, et qu'elle survive à la suppression du worktree. Sur Windows et dans les autres cas où Claude Code [n'utilise pas la racine du dépôt](/docs/fr/settings#where-claude-code-looks-for-each-file), la règle reste avec ce worktree. Avant la v2.1.211, une approbation accordée dans un worktree était sauvegardée à l'intérieur de ce worktree, ne s'appliquait pas ailleurs, et était perdue quand le worktree était supprimé. Voir [où les approbations sont sauvegardées](/docs/fr/permissions#permission-system).

261* **Compétences, agents et commandes non suivis** : quand l'extraction du worktree n'a pas de répertoire `.claude/skills` à sa racine, par exemple parce que votre `.claude/skills` est gitignored, Claude Code charge les [compétences du projet](/docs/fr/skills#where-skills-live) de l'extraction principale dans la session worktree. Dans un worktree avec son propre répertoire `.claude/skills`, seule cette copie se charge.

259 262 

260Les trois s'appliquent que vous créiez le worktree avec `--worktree`, avec `git worktree add`, ou via l'[application de bureau](/docs/fr/desktop#work-in-parallel-with-sessions).263 La même lecture couvre `.claude/agents` et `.claude/commands`. Pour les compétences, la lecture nécessite Claude Code v2.1.277 ou ultérieur.

264 

265Tous ces éléments s'appliquent que vous créiez le worktree avec `--worktree`, avec `git worktree add`, ou via l'[application de bureau](/docs/fr/desktop#work-in-parallel-with-sessions).

261 266 

262<h2 id="manage-worktrees-manually">267<h2 id="manage-worktrees-manually">

263 Gérer les worktrees manuellement268 Gérer les worktrees manuellement