SpyBara
Go Premium

Documentation 2026-09-17 05:00 UTC to 2026-09-18 23:58 UTC

128 files changed +4,590 −2,044. 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
Details

10 10 

11Le mode lecteur d'écran est optionnel. Si vous utilisez une loupe d'écran, un mouvement réduit ou un thème adapté aux daltoniens au lieu d'un lecteur d'écran, définissez `CLAUDE_CODE_ACCESSIBILITY`, `prefersReducedMotion` ou `theme` à partir du tableau [Paramètres d'accessibilité](#accessibility-settings). Le mode lecteur d'écran adapte uniquement l'interface du terminal, vous n'en avez donc pas besoin dans le panneau de chat de l'extension VS Code. Sur Claude Code v2.1.236 ou version ultérieure, l'extension [annonce l'activité de conversation à votre lecteur d'écran](/docs/fr/vs-code#use-a-screen-reader) sans aucun paramètre.11Le mode lecteur d'écran est optionnel. Si vous utilisez une loupe d'écran, un mouvement réduit ou un thème adapté aux daltoniens au lieu d'un lecteur d'écran, définissez `CLAUDE_CODE_ACCESSIBILITY`, `prefersReducedMotion` ou `theme` à partir du tableau [Paramètres d'accessibilité](#accessibility-settings). Le mode lecteur d'écran adapte uniquement l'interface du terminal, vous n'en avez donc pas besoin dans le panneau de chat de l'extension VS Code. Sur Claude Code v2.1.236 ou version ultérieure, l'extension [annonce l'activité de conversation à votre lecteur d'écran](/docs/fr/vs-code#use-a-screen-reader) sans aucun paramètre.

12 12 

13Le mode lecteur d'écran nécessite Claude Code v2.1.181 ou version ultérieure. Les versions antérieures rejettent l'indicateur `--ax-screen-reader` avec `error: unknown option '--ax-screen-reader'`.

14 

15<h2 id="turn-on-screen-reader-mode">13<h2 id="turn-on-screen-reader-mode">

16 Activer le mode lecteur d'écran14 Activer le mode lecteur d'écran

17</h2>15</h2>

admin-setup.md +3 −2

Details

36| Google Cloud's Agent Platform | Vous voulez hériter des contrôles de conformité et de la facturation GCP existants |36| Google Cloud's Agent Platform | Vous voulez hériter des contrôles de conformité et de la facturation GCP existants |

37| Microsoft Foundry | Vous voulez hériter des contrôles de conformité et de la facturation Azure existants |37| Microsoft Foundry | Vous voulez hériter des contrôles de conformité et de la facturation Azure existants |

38 38 

39Certaines fonctionnalités de Claude Code nécessitent un compte claude.ai. [Claude Code sur le web](/docs/fr/claude-code-on-the-web), [Routines](/docs/fr/routines), [Révision de code](/docs/fr/code-review), [Contrôle à distance](/docs/fr/remote-control) et l'[extension Chrome](/docs/fr/chrome) ne sont pas disponibles via les clés API Console ou les identifiants des fournisseurs cloud seuls. Si vous déployez via Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, planifiez si les développeurs ont également besoin de sièges Claude for Teams ou Enterprise. Chaque page de fonctionnalité répertorie ses exigences de plan.39Certaines fonctionnalités de Claude Code nécessitent un compte claude.ai. [Cloud sessions](/docs/fr/claude-code-on-the-web), [Routines](/docs/fr/routines), [Révision de code](/docs/fr/code-review), [Contrôle à distance](/docs/fr/remote-control) et l'[extension Chrome](/docs/fr/chrome) ne sont pas disponibles via les clés API Console ou les identifiants des fournisseurs cloud seuls. Si vous déployez via Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, planifiez si les développeurs ont également besoin de sièges Claude for Teams ou Enterprise. Chaque page de fonctionnalité répertorie ses exigences de plan.

40 40 

41Pour la comparaison complète des fournisseurs couvrant l'authentification, les régions et la parité des fonctionnalités, consultez l'[aperçu du déploiement en entreprise](/docs/fr/third-party-integrations). La configuration d'authentification de chaque fournisseur se trouve dans [Authentification](/docs/fr/authentication).41Pour la comparaison complète des fournisseurs couvrant l'authentification, les régions et la parité des fonctionnalités, consultez l'[aperçu du déploiement en entreprise](/docs/fr/third-party-integrations). La configuration d'authentification de chaque fournisseur se trouve dans [Authentification](/docs/fr/authentication).

42 42 


102| [Politique gérée CLAUDE.md](/docs/fr/memory#deploy-organization-wide-claude-md) | Instructions à l'échelle de l'organisation chargées dans chaque session, ne peuvent pas être exclues | Fichier au chemin de la politique gérée |102| [Politique gérée CLAUDE.md](/docs/fr/memory#deploy-organization-wide-claude-md) | Instructions à l'échelle de l'organisation chargées dans chaque session, ne peuvent pas être exclues | Fichier au chemin de la politique gérée |

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

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

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

106| [Désactiver la synchronisation claude.ai](/docs/fr/settings-reference#syncclaudeaiskills) | Arrêter Claude Code de charger les [skills](/docs/fr/skills#how-synced-skills-behave) et [plugins](/docs/fr/plugins-reference#synced-plugins) que vos développeurs activent sur claude.ai. Si vous désactivez les Skills pour votre organisation sur claude.ai, Claude Code arrête la synchronisation des deux, et sur v2.1.273 ou ultérieur, il supprime également ceux qu'il a déjà synchronisés. Pour arrêter l'un ou l'autre sans désactiver les Skills, définissez sa clé sur `false` dans les paramètres gérés | `syncClaudeAiSkills`, `syncClaudeAiPlugins` |

106| [Restrictions des hooks](/docs/fr/settings-reference#allowmanagedhooksonly) | Restreindre les hooks qui s'exécutent et restreindre les URL des hooks HTTP ; consultez [ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) pour la liste complète des effets | `allowManagedHooksOnly`, `allowedHttpHookUrls` |107| [Restrictions des hooks](/docs/fr/settings-reference#allowmanagedhooksonly) | Restreindre les hooks qui s'exécutent et restreindre les URL des hooks HTTP ; consultez [ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) pour la liste complète des effets | `allowManagedHooksOnly`, `allowedHttpHookUrls` |

107| [Application de la connexion](/docs/fr/settings-reference#forceloginmethod) | Restreindre la connexion à une méthode spécifique ou à une organisation Anthropic. La restriction de méthode s'applique sur l'extension VS Code, Agent SDK, `claude setup-token`, et `/install-github-app`, et l'écran de connexion interactif du terminal, accessible via `/login` ou l'intégration au premier lancement, présélectionne la méthode sans l'appliquer ; Claude Code vérifie l'organisation pour les connexions de compte claude.ai dans le terminal, l'extension VS Code et Agent SDK, et ne la vérifie pas pour les connexions Claude Console ou pour la connexion [gateway](/docs/fr/claude-apps-gateway). Avant v2.1.212, seules les connexions au terminal appliquaient l'une ou l'autre clé. Lorsqu'elle est définie, les sessions authentifiées par `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` sont bloquées au démarrage ; les sessions des fournisseurs cloud ne sont pas affectées | `forceLoginMethod`, `forceLoginOrgUUID` |108| [Application de la connexion](/docs/fr/settings-reference#forceloginmethod) | Restreindre la connexion à une méthode spécifique ou à une organisation Anthropic. La restriction de méthode s'applique sur l'extension VS Code, Agent SDK, `claude setup-token`, et `/install-github-app`, et l'écran de connexion interactif du terminal, accessible via `/login` ou l'intégration au premier lancement, présélectionne la méthode sans l'appliquer ; Claude Code vérifie l'organisation pour les connexions de compte claude.ai dans le terminal, l'extension VS Code et Agent SDK, et ne la vérifie pas pour les connexions Claude Console ou pour la connexion [gateway](/docs/fr/claude-apps-gateway). Avant v2.1.212, seules les connexions au terminal appliquaient l'une ou l'autre clé. Lorsqu'elle est définie, les sessions authentifiées par `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou `apiKeyHelper` sont bloquées au démarrage ; les sessions des fournisseurs cloud ne sont pas affectées | `forceLoginMethod`, `forceLoginOrgUUID` |

108| [Désactiver la vue agent](/docs/fr/agent-view#how-background-sessions-are-hosted) | Désactiver `claude agents`, `--bg`, `/background`, et le superviseur à la demande | `disableAgentView` |109| [Désactiver la vue agent](/docs/fr/agent-view#how-background-sessions-are-hosted) | Désactiver `claude agents`, `--bg`, `/background`, et le superviseur à la demande | `disableAgentView` |

Details

222 222 

223Le plafond budgétaire couvre les [sous-agents](/docs/fr/agent-sdk/subagents) : leurs dépenses comptent vers le total. Une fois que les dépenses atteignent le plafond, la génération d'un autre sous-agent échoue avec `Budget limit reached`, et Claude Code arrête tous les sous-agents en arrière-plan encore en cours d'exécution. Les comportements d'application du plafond nécessitent Claude Code v2.1.217 ou ultérieur.223Le plafond budgétaire couvre les [sous-agents](/docs/fr/agent-sdk/subagents) : leurs dépenses comptent vers le total. Une fois que les dépenses atteignent le plafond, la génération d'un autre sous-agent échoue avec `Budget limit reached`, et Claude Code arrête tous les sous-agents en arrière-plan encore en cours d'exécution. Les comportements d'application du plafond nécessitent Claude Code v2.1.217 ou ultérieur.

224 224 

225Avec [l'entrée en streaming](/docs/fr/agent-sdk/streaming-vs-single-mode), un message qui est toujours en attente lorsqu'un tour se termine à la limite de tours max reste en attente. Claude Code ne l'ajoute pas à l'appel du modèle final de ce tour. Il démarre un nouveau tour pour le message, et le compte de tours max recommence pour ce tour.225Avec [l'entrée en streaming](/docs/fr/agent-sdk/streaming-vs-single-mode), un message qui est toujours en attente lorsqu'un tour se termine à la limite de tours max reste en attente. Claude Code ne l'ajoute pas à l'appel du modèle final de ce tour. Il démarre un nouveau tour pour le message, et le compte de tours max recommence pour ce tour. Le total budgétaire continue de s'accumuler entre les messages, et une fois que les dépenses atteignent `maxBudgetUsd`, les messages ultérieurs dans la même conversation se terminent avec le résultat `error_max_budget_usd`. Un [`/clear`](/docs/fr/agent-sdk/cost-tracking) recommence le budget.

226 226 

227<h3 id="effort-level">227<h3 id="effort-level">

228 Niveau d'effort228 Niveau d'effort


267 Modèle267 Modèle

268</h3>268</h3>

269 269 

270Si vous ne définissez pas `model`, le SDK utilise la valeur par défaut de Claude Code, qui dépend de votre méthode d'authentification et de votre abonnement. Définissez-le explicitement (par exemple, `model="claude-sonnet-5"`) pour épingler un modèle spécifique ou pour utiliser un modèle plus petit pour des agents plus rapides et moins chers. Voir [modèles](https://platform.claude.com/docs/fr/about-claude/models) pour les ID disponibles.270Définissez l'option `model` pour choisir quel modèle exécute la session. Pour plus d'informations, voir [Choisir un modèle](/docs/fr/agent-sdk/configuration#choose-a-model).

271 271 

272<h2 id="the-context-window">272<h2 id="the-context-window">

273 La fenêtre de contexte273 La fenêtre de contexte

Details

107 Instructions de projet (CLAUDE.md et règles)107 Instructions de projet (CLAUDE.md et règles)

108</h2>108</h2>

109 109 

110Les fichiers `CLAUDE.md` et les fichiers `.claude/rules/*.md` donnent à votre agent un contexte persistant sur votre projet : conventions de codage, commandes de construction, décisions architecturales et instructions. Quand `settingSources` inclut `"project"` (comme dans l'exemple ci-dessus), le SDK charge ces fichiers en contexte au démarrage de la session. L'agent suit ensuite vos conventions de projet sans que vous ayez besoin de les répéter dans chaque invite.110Les fichiers `CLAUDE.md` et les fichiers `.claude/rules/*.md` donnent à votre agent un contexte persistant sur votre projet : conventions de codage, commandes de construction, décisions architecturales et instructions. Quand `settingSources` inclut `"project"`, comme dans l'[exemple `settingSources`](#control-filesystem-settings-with-settingsources), le SDK charge ces fichiers en contexte au démarrage de la session. L'agent suit ensuite vos conventions de projet sans que vous ayez besoin de les répéter dans chaque invite.

111 111 

112<h3 id="claude-md-load-locations">112<h3 id="claude-md-load-locations">

113 Emplacements de chargement de CLAUDE.md113 Emplacements de chargement de CLAUDE.md

agent-sdk/configuration.md +315 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Configurer votre agent

6 

7> Configurez les sessions du SDK Agent : composez l'objet options, définissez le modèle, l'environnement et les limites, et trouvez la page de chaque option de fonctionnalité.

8 

9Une session du SDK Agent lit la configuration à partir des fichiers de paramètres, des variables d'environnement et de l'objet `options` que vous transmettez au démarrage. Cette page montre comment composer l'objet `options` et quels fichiers de paramètres et variables d'environnement le contrôlent.

10 

11Pour chaque type d'option et sa valeur par défaut, consultez les références [`Options`](/docs/fr/agent-sdk/typescript#options) (TypeScript) et [`ClaudeAgentOptions`](/docs/fr/agent-sdk/python#claudeagentoptions) (Python).

12 

13<h2 id="pass-options-to-a-session">

14 Transmettre les options à une session

15</h2>

16 

17Chaque appel `query()` accepte un objet options : `Options` en TypeScript, `ClaudeAgentOptions` en Python. Chaque champ est facultatif, et une session démarrée sans options s'exécute avec les valeurs par défaut du SDK. L'exemple ci-dessous configure une session en lecture seule qui résume les TODOs ouverts d'un projet. Les paires se lisent comme TypeScript / Python où les orthographes diffèrent :

18 

19* **`model`** : choisit le modèle

20* **`allowedTools` / `allowed_tools`** : pré-approuve une liste d'outils en lecture seule

21* **`maxTurns` / `max_turns`** : limite le nombre de tours

22* **`cwd`** : définit le répertoire de travail

23 

24<CodeGroup>

25 ```typescript TypeScript theme={null}

26 import { query } from "@anthropic-ai/claude-agent-sdk";

27 

28 for await (const message of query({

29 prompt: "Summarize the open TODOs in this repo",

30 options: {

31 model: "claude-sonnet-5",

32 allowedTools: ["Read", "Glob", "Grep"],

33 maxTurns: 8,

34 cwd: "/path/to/repo",

35 },

36 })) {

37 if (message.type === "result" && message.subtype === "success" && !message.is_error) {

38 console.log(message.result);

39 }

40 }

41 ```

42 

43 ```python Python theme={null}

44 import asyncio

45 

46 from claude_agent_sdk import ClaudeAgentOptions, ResultMessage, query

47 

48 async def main():

49 options = ClaudeAgentOptions(

50 model="claude-sonnet-5",

51 allowed_tools=["Read", "Glob", "Grep"],

52 max_turns=8,

53 cwd="/path/to/repo",

54 )

55 

56 async for message in query(

57 prompt="Summarize the open TODOs in this repo",

58 options=options,

59 ):

60 if isinstance(message, ResultMessage) and not message.is_error:

61 print(message.result)

62 

63 asyncio.run(main())

64 ```

65</CodeGroup>

66 

67Pointez `cwd` vers l'un de vos propres projets et exécutez l'exemple. Le résumé des TODOs ouverts de ce projet s'affiche à l'arrivée du message de résultat.

68 

69`allowedTools` (TypeScript) ou `allowed_tools` (Python) pré-approuve les outils listés, de sorte que les appels à ces outils s'exécutent sans attendre d'approbation. Les outils en dehors de la liste restent disponibles. Lorsque Claude appelle un outil non listé, le mode de permission décide si l'appel s'exécute. Pour plus d'informations, consultez [Règles d'autorisation et de refus](/docs/fr/agent-sdk/permissions#allow-and-deny-rules).

70 

71<h2 id="load-settings-files">

72 Charger les fichiers de paramètres

73</h2>

74 

75Les fichiers de paramètres fournissent une configuration au-delà de l'objet options. Deux options contrôlent la façon dont ils se chargent :

76 

77* **`settingSources` / `setting_sources`** : contrôle quelles sources du système de fichiers se chargent : utilisateur, projet et local. Les fichiers de paramètres et les fichiers CLAUDE.md arrivent par ces sources.

78* **`settings`** : charge un chemin de fichier de paramètres ou une chaîne JSON en ligne dans l'une ou l'autre langue, et TypeScript accepte également un objet de paramètres. Quelle que soit la forme que vous transmettez, elle remplace les paramètres du système de fichiers utilisateur, projet et local ; seuls les paramètres de politique gérée ont un rang plus élevé. Les références documentent l'ordre de précédence complet sous [Précédence des paramètres](/docs/fr/agent-sdk/typescript#settings-precedence) pour TypeScript et [Précédence des paramètres](/docs/fr/agent-sdk/python#settings-precedence) pour Python.

79 

80Passez `[]` pour désactiver les paramètres utilisateur, projet et local. Pour plus d'informations, consultez [Utiliser les fonctionnalités de Claude Code dans le SDK](/docs/fr/agent-sdk/claude-code-features).

81 

82<h2 id="choose-a-model">

83 Choisir un modèle

84</h2>

85 

86À moins que l'option `model`, vos paramètres ou votre environnement ne sélectionnent un modèle, une nouvelle session démarre sur [le modèle par défaut de Claude Code](/docs/fr/model-config#default-model-setting). Pour l'ordre de ces sources, consultez [Définir votre modèle](/docs/fr/model-config#setting-your-model). Définissez `model` pour épingler un modèle spécifique, ou pour en choisir un plus petit pour des agents plus rapides et moins chers. La valeur prend un alias de modèle ou un nom de modèle complet ; les alias et les versions qu'ils résolvent sont listés sous [Alias de modèles](/docs/fr/model-config#model-aliases).

87 

88Définissez `fallbackModel` (TypeScript) ou `fallback_model` (Python) pour nommer un modèle de secours. Lorsque le modèle principal est surchargé ou indisponible, la session bascule vers le modèle de secours. Le modèle principal est réessayé au début de chaque tour utilisateur, de sorte que la session y revient une fois la panne résolue.

89 

90Dans l'une ou l'autre langue, l'option accepte un seul modèle ou une liste de secours séparée par des virgules. Pour l'ordre et la limite de chaîne, consultez [Chaînes de modèles de secours](/docs/fr/model-config#fallback-model-chains). En TypeScript, un modèle de secours égal à `model` lève une erreur au démarrage.

91 

92Les exemples ci-dessous montrent une liste de secours en TypeScript et un seul modèle de secours en Python :

93 

94<CodeGroup>

95 ```typescript TypeScript theme={null}

96 const options = {

97 model: "claude-fable-5",

98 fallbackModel: "claude-opus-5,claude-sonnet-5",

99 };

100 ```

101 

102 ```python Python theme={null}

103 options = ClaudeAgentOptions(

104 model="claude-fable-5",

105 fallback_model="claude-opus-5",

106 )

107 ```

108</CodeGroup>

109 

110<span id="sampling-parameters" />

111 

112<Note>

113 Les paramètres de requête de l'[API Messages](https://platform.claude.com/docs/en/api/messages) `temperature`, `top_p` et `max_tokens` n'ont pas de champs sur l'objet options dans l'une ou l'autre langue. Définissez plutôt le [niveau d'effort](/docs/fr/agent-sdk/agent-loop#effort-level) ou un [plafond de dépenses](#limit-turns-and-spend), ou appelez l'API Messages lorsque vous avez besoin de ces paramètres directement.

114</Note>

115 

116<h2 id="set-environment-variables">

117 Définir les variables d'environnement

118</h2>

119 

120L'option `env` définit les variables d'environnement pour le processus Claude Code qui exécute votre session. Le fait que vos valeurs remplacent l'environnement hérité ou le fusionnent diffère selon la langue :

121 

122* **TypeScript** : `env` remplace l'environnement du sous-processus

123* **Python** : le SDK fusionne vos valeurs sur l'environnement hérité, et vos valeurs remplacent les valeurs héritées

124 

125En TypeScript, propagez `process.env` dans `env` pour conserver les variables héritées telles que `PATH`, `HOME` et `ANTHROPIC_API_KEY`. Lorsque vous laissez `env` non défini, le sous-processus hérite de votre environnement dans les deux langues.

126 

127L'exemple achemine le trafic API via une passerelle en définissant `ANTHROPIC_BASE_URL`.

128 

129<CodeGroup>

130 ```typescript TypeScript theme={null}

131 const options = {

132 env: { ...process.env, ANTHROPIC_BASE_URL: "https://gateway.example.com" },

133 };

134 ```

135 

136 ```python Python theme={null}

137 options = ClaudeAgentOptions(

138 env={"ANTHROPIC_BASE_URL": "https://gateway.example.com"},

139 )

140 ```

141</CodeGroup>

142 

143Les variables que vous transmettez peuvent également configurer Claude Code lui-même. Pour les variables que le processus Claude Code lit, consultez [Variables d'environnement](/docs/fr/env-vars). Pour régler les délais d'expiration de l'API et la détection de blocage de cette façon, suivez la section Gérer les réponses API lentes ou bloquées dans la [référence TypeScript](/docs/fr/agent-sdk/typescript#handle-slow-or-stalled-api-responses) ou la [référence Python](/docs/fr/agent-sdk/python#handle-slow-or-stalled-api-responses).

144 

145<h2 id="set-the-working-directory">

146 Définir le répertoire de travail

147</h2>

148 

149Définissez `cwd` pour exécuter la session dans un répertoire spécifique. Lorsque vous laissez `cwd` non défini, la session s'exécute dans le répertoire de travail de votre processus. Aucun SDK n'a de setter pour `cwd`. Pour exécuter dans un répertoire différent, démarrez une autre session avec ce `cwd`.

150 

151Claude Code lit le répertoire de travail pour déterminer :

152 

153* **Paramètres et hooks du projet** : quels [paramètres et hooks du projet se chargent](/docs/fr/agent-sdk/claude-code-features)

154* **Compétences** : où [les compétences de session sont découvertes](/docs/fr/agent-sdk/skills)

155* **Stockage de session** : à quel projet [une session stockée appartient](/docs/fr/agent-sdk/session-storage)

156 

157Pour permettre aux outils d'accéder aux fichiers en dehors du répertoire de travail, ajoutez des chemins avec `additionalDirectories` (TypeScript) ou `add_dirs` (Python). Pour la portée de cette autorisation, consultez [Les répertoires supplémentaires accordent l'accès aux fichiers, pas la configuration](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration).

158 

159<h2 id="limit-turns-and-spend">

160 Limiter les tours et les dépenses

161</h2>

162 

163Limitez les tours et les dépenses avec `maxTurns` / `max_turns` et `maxBudgetUsd` / `max_budget_usd`. Les deux limites sont désactivées lorsqu'elles ne sont pas définies. Lorsqu'une session atteint une limite, l'exécution se termine par un message de résultat dont le sous-type nomme la limite, `error_max_turns` ou `error_max_budget_usd`. Ce qui se passe ensuite diffère selon le mode d'entrée :

164 

165* **`query()` en un seul coup** : le SDK produit le résultat de la limite, puis lève une exception, donc enveloppez la boucle dans un bloc try pour continuer au-delà de l'erreur

166* **Entrée en streaming** : la session reste active au-delà d'un résultat de limite, et le nombre de tours maximum recommence pour chaque message en file d'attente. Le total du budget s'accumule sur les messages, et une fois que les dépenses atteignent la limite, les messages ultérieurs dans la même conversation se terminent par le même résultat de budget. Un [`/clear`](/docs/fr/agent-sdk/cost-tracking) recommence le budget

167 

168Les deux limites traitent `0` différemment :

169 

170* **`maxTurns` / `max_turns`** : `0` exécute la session sans limite de tours, comme laisser l'option non définie

171* **`maxBudgetUsd` / `max_budget_usd`** : l'interface de ligne de commande rejette `0` comme un montant invalide au démarrage, et la session ne s'exécute jamais

172 

173Pour plus d'informations sur les deux limites, y compris les dépenses des sous-agents, consultez [Tours et budget](/docs/fr/agent-sdk/agent-loop#turns-and-budget).

174 

175<h2 id="change-configuration-mid-session">

176 Modifier la configuration en cours de session

177</h2>

178 

179Lorsque vous démarrez une session avec [entrée en streaming](/docs/fr/agent-sdk/streaming-vs-single-mode), vous pouvez basculer son modèle et son mode de permission pendant qu'elle s'exécute. L'endroit où vous appelez les setters diffère selon la langue :

180 

181* **TypeScript** : méthodes sur l'objet que `query()` retourne

182* **Python** : méthodes sur [`ClaudeSDKClient`](/docs/fr/agent-sdk/python#claudesdkclient), puisque `query()` retourne un itérateur simple sans méthodes de contrôle

183 

184Les deux langues ont les mêmes setters :

185 

186* **`setModel()` / `set_model()`** : bascule le modèle. Appelez-le sans modèle pour basculer vers [le modèle par défaut de Claude Code](/docs/fr/model-config#default-model-setting) plutôt que le `model` que vous avez transmis dans les options.

187* **`setPermissionMode()` / `set_permission_mode()`** : bascule le mode de permission

188 

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

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.

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.

193 

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.

195 

196<CodeGroup>

197 ```typescript TypeScript theme={null}

198 import { query, type SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";

199 

200 function userMessage(text: string): SDKUserMessage {

201 return { type: "user", message: { role: "user", content: text }, parent_tool_use_id: null };

202 }

203 

204 // Hold the second prompt until the setters have run.

205 let startSecondTurn!: () => void;

206 const secondTurnReady = new Promise<void>((resolve) => {

207 startSecondTurn = resolve;

208 });

209 

210 async function* turnPrompts(): AsyncGenerator<SDKUserMessage, void> {

211 yield userMessage("Reply with exactly: ready");

212 await secondTurnReady;

213 yield userMessage("Reply with exactly: done");

214 }

215 

216 const session = query({

217 prompt: turnPrompts(),

218 options: {

219 model: "claude-sonnet-5",

220 },

221 });

222 

223 let turnModel = "";

224 let completedTurns = 0;

225 

226 for await (const message of session) {

227 if (message.type === "assistant") {

228 turnModel = message.message.model;

229 } else if (message.type === "result") {

230 completedTurns += 1;

231 if (completedTurns === 1) {

232 console.log(`First turn model: ${turnModel}`);

233 await session.setModel("claude-opus-5");

234 await session.setPermissionMode("acceptEdits");

235 startSecondTurn();

236 } else {

237 console.log(`Second turn model: ${turnModel}`);

238 break;

239 }

240 }

241 }

242 ```

243 

244 ```python Python theme={null}

245 import asyncio

246 

247 from claude_agent_sdk import AssistantMessage, ClaudeAgentOptions, ClaudeSDKClient

248 

249 async def main():

250 options = ClaudeAgentOptions(model="claude-sonnet-5")

251 

252 async with ClaudeSDKClient(options=options) as client:

253 await client.query("Reply with exactly: ready")

254 first_model = ""

255 async for message in client.receive_response():

256 if isinstance(message, AssistantMessage):

257 first_model = message.model

258 

259 await client.set_model("claude-opus-5")

260 await client.set_permission_mode("acceptEdits")

261 

262 await client.query("Reply with exactly: done")

263 second_model = ""

264 async for message in client.receive_response():

265 if isinstance(message, AssistantMessage):

266 second_model = message.model

267 

268 print(f"First turn model: {first_model}")

269 print(f"Second turn model: {second_model}")

270 

271 asyncio.run(main())

272 ```

273</CodeGroup>

274 

275Sur l'API Claude, le programme affiche `First turn model: claude-sonnet-5`, puis `Second turn model: claude-opus-5` après le basculement.

276 

277<Note>

278 Chaque modèle a son propre cache de prompt, donc après un basculement en cours de session, la prochaine requête recalcule la conversation complète sans cache aux tarifs du nouveau modèle. Pour plus d'informations, consultez [Basculer les modèles](/docs/fr/prompt-caching#switching-models).

279</Note>

280 

281<h2 id="configure-specific-features">

282 Configurer des fonctionnalités spécifiques

283</h2>

284 

285Le tableau ci-dessous mappe chaque option à la fonctionnalité qu'elle configure. Pour les options que cette page ne couvre pas, consultez les références [TypeScript](/docs/fr/agent-sdk/typescript#options) et [Python](/docs/fr/agent-sdk/python#claudeagentoptions). Si vous connaissez votre objectif mais pas quelle option le sert, commencez par [Choisir la bonne fonctionnalité](/docs/fr/agent-sdk/claude-code-features#choose-the-right-feature).

286 

287| TypeScript | Python | Contrôle | Couvert dans |

288| ------------------------- | --------------------------- | --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

289| `permissionMode` | `permission_mode` | Ce que l'agent peut faire sans approbation | [Configurer les permissions](/docs/fr/agent-sdk/permissions) |

290| `allowedTools` | `allowed_tools` | Quels appels d'outils sont pré-approuvés | [Configurer les permissions](/docs/fr/agent-sdk/permissions) |

291| `canUseTool` | `can_use_tool` | Votre rappel d'approbation pour les appels d'outils | [Gérer les demandes d'approbation d'outils](/docs/fr/agent-sdk/user-input#handle-tool-approval-requests) |

292| `systemPrompt` | `system_prompt` | Les instructions de l'agent | [Modification des invites système](/docs/fr/agent-sdk/modifying-system-prompts) |

293| `settingSources` | `setting_sources` | Quels paramètres du système de fichiers se chargent | [Utiliser les fonctionnalités de Claude Code dans le SDK](/docs/fr/agent-sdk/claude-code-features) |

294| `mcpServers` | `mcp_servers` | Serveurs d'outils externes | [Connecter à des outils externes avec MCP](/docs/fr/agent-sdk/mcp) |

295| `agents` | `agents` | Définitions des sous-agents | [Sous-agents](/docs/fr/agent-sdk/subagents) |

296| `hooks` | `hooks` | Rappels aux points du cycle de vie | [Hooks](/docs/fr/agent-sdk/hooks) |

297| `skills` | `skills` | Quelles compétences se chargent | [Étendre les agents avec des compétences](/docs/fr/agent-sdk/skills) |

298| `plugins` | `plugins` | Quels plugins se chargent | [Plugins](/docs/fr/agent-sdk/plugins) |

299| `outputFormat` | `output_format` | Schémas de sortie structurée | [Sorties structurées](/docs/fr/agent-sdk/structured-outputs) |

300| `resume` | `resume` | Continuation d'une session stockée | [Sessions](/docs/fr/agent-sdk/sessions) |

301| `forkSession` | `fork_session` | Branchement d'une session | [Sessions](/docs/fr/agent-sdk/sessions) |

302| `sessionStore` | `session_store` | Persistance de session externe | [Stockage de session](/docs/fr/agent-sdk/session-storage) |

303| `enableFileCheckpointing` | `enable_file_checkpointing` | Éditions de fichiers rembobinables | [Checkpointing de fichiers](/docs/fr/agent-sdk/file-checkpointing) |

304| `effort` | `effort` | Combien de travail Claude met dans les réponses | [Niveau d'effort](/docs/fr/agent-sdk/agent-loop#effort-level) |

305| `sandbox` | `sandbox` | Comportement du sandbox pour l'exécution des outils | [Références TypeScript](/docs/fr/agent-sdk/typescript#sandbox-configuration) et [Python](/docs/fr/agent-sdk/python#sandbox-configuration), avec contexte de déploiement dans [Déploiement sécurisé](/docs/fr/agent-sdk/secure-deployment) |

306 

307<h2 id="next-steps">

308 Étapes suivantes

309</h2>

310 

311Pour voir la configuration composée dans des agents fonctionnels :

312 

313* **[Démarrage rapide](/docs/fr/agent-sdk/quickstart)** : construisez et exécutez un premier agent de bout en bout

314* **[Exemples](/docs/fr/agent-sdk/examples)** : trouvez un projet complet et exécutable ou une recette guidée Claude Cookbook qui correspond à ce que vous voulez construire

315* **[Isolation multi-locataire](/docs/fr/agent-sdk/hosting#multi-tenant-isolation)** : isolez les paramètres et la mémoire de chaque locataire avec `settingSources` / `setting_sources`, `env` et `cwd`

Details

78 78 

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

80 80 

81`maxBudgetUsd`, ou `max_budget_usd` en Python, est comparé au même total cumulé, donc un `/clear` recommence également le budget.81`maxBudgetUsd` (TypeScript) ou `max_budget_usd` (Python) est comparé au même total cumulé, donc un `/clear` recommence également le budget.

82 82 

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

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

Details

138 138 

139Transmettez le serveur MCP que vous avez créé à `query` via l'option `mcpServers`. La clé dans `mcpServers` devient le segment `{server_name}` dans le nom complètement qualifié de chaque outil : `mcp__{server_name}__{tool_name}`. Listez ce nom dans `allowedTools` afin que l'outil s'exécute sans invite de permission.139Transmettez le serveur MCP que vous avez créé à `query` via l'option `mcpServers`. La clé dans `mcpServers` devient le segment `{server_name}` dans le nom complètement qualifié de chaque outil : `mcp__{server_name}__{tool_name}`. Listez ce nom dans `allowedTools` afin que l'outil s'exécute sans invite de permission.

140 140 

141Ces extraits réutilisent le `weatherServer` de l'[exemple ci-dessus](#weather-tool-example) pour demander à Claude quelle est la météo dans un endroit spécifique.141Ces extraits réutilisent le `weatherServer` de l'[exemple d'outil météo](#weather-tool-example) pour demander à Claude quelle est la météo dans un endroit spécifique.

142 142 

143<CodeGroup>143<CodeGroup>

144 ```python Python theme={null}144 ```python Python theme={null}

Details

179 </Step>179 </Step>

180 180 

181 <Step title="Capturer l'UUID du point de contrôle et l'ID de session">181 <Step title="Capturer l'UUID du point de contrôle et l'ID de session">

182 Avec l'option `replay-user-messages` définie (comme indiqué ci-dessus), chaque message utilisateur dans le flux de réponse a un UUID qui sert de point de contrôle.182 Avec l'option `replay-user-messages` définie, chaque message utilisateur dans le flux de réponse a un UUID qui sert de point de contrôle.

183 183 

184 Pour la plupart des cas d'utilisation, capturez l'UUID du premier message utilisateur (`message.uuid`) ; le rembobinage vers celui-ci restaure tous les fichiers à leur état d'origine. Pour stocker plusieurs points de contrôle et rembobiner vers des états intermédiaires, consultez [Points de restauration multiples](#multiple-restore-points).184 Pour la plupart des cas d'utilisation, capturez l'UUID du premier message utilisateur (`message.uuid`) ; le rembobinage vers celui-ci restaure tous les fichiers à leur état d'origine. Pour stocker plusieurs points de contrôle et rembobiner vers des états intermédiaires, consultez [Points de restauration multiples](#multiple-restore-points).

185 185 

Details

826 826 

827Claude Code exécute chaque rappel avec un délai d'expiration, que vous définissez en secondes avec le champ `timeout` sur son `HookMatcher`. Lorsque vous n'en définissez pas, Claude Code utilise la valeur par défaut de l'événement : 600 secondes pour la plupart des événements, 30 secondes pour `UserPromptSubmit`, `PreModelSwitch` et `PostModelSwitch`, et 10 secondes pour `MessageDisplay`. Claude Code exécute les rappels `SessionEnd` lors de l'arrêt sous le [budget de délai d'expiration SessionEnd](/docs/fr/hooks#sessionend-input) plus court, 1,5 secondes par défaut.827Claude Code exécute chaque rappel avec un délai d'expiration, que vous définissez en secondes avec le champ `timeout` sur son `HookMatcher`. Lorsque vous n'en définissez pas, Claude Code utilise la valeur par défaut de l'événement : 600 secondes pour la plupart des événements, 30 secondes pour `UserPromptSubmit`, `PreModelSwitch` et `PostModelSwitch`, et 10 secondes pour `MessageDisplay`. Claude Code exécute les rappels `SessionEnd` lors de l'arrêt sous le [budget de délai d'expiration SessionEnd](/docs/fr/hooks#sessionend-input) plus court, 1,5 secondes par défaut.

828 828 

829Lorsqu'un rappel dépasse son délai d'expiration, Claude Code l'annule et le traite comme un hook échoué : il rejette la sortie du rappel et la session continue plutôt que de se bloquer. Ce qui se passe ensuite dépend de l'événement :829Lorsqu'un rappel dépasse son délai d'expiration, Claude Code l'annule et rejette sa sortie, et la session continue plutôt que de se bloquer. Ce qui se passe ensuite dépend de l'événement :

830 830 

831* `PreToolUse` : Claude Code n'exécute pas l'appel d'outil, Claude reçoit un résultat d'outil indiquant que le hook n'a pas répondu avant son délai d'expiration, et le tour continue. Si un autre hook `PreToolUse` a retourné un refus explicite, Claude reçoit ce refus à la place de l'erreur de délai d'expiration. Avant la v2.1.210, Claude Code signalait le délai d'expiration à Claude comme un refus utilisateur, ce qui faisait arrêter les sessions sans surveillance et attendre une entrée.831* `PreToolUse` : Claude Code n'exécute pas l'appel d'outil, Claude reçoit un résultat d'outil indiquant que le hook n'a pas répondu avant son délai d'expiration, et le tour continue. Si un autre hook `PreToolUse` a retourné un refus explicite, Claude reçoit ce refus à la place de l'erreur de délai d'expiration. Avant la v2.1.210, Claude Code signalait le délai d'expiration à Claude comme un refus utilisateur, ce qui faisait arrêter les sessions sans surveillance et attendre une entrée.

832* `PostToolUse` et `PostToolUseFailure` : Claude Code conserve le résultat de l'outil et le tour continue.832* `PostToolUse` et `PostToolUseFailure` : Claude Code conserve le résultat de l'outil et le tour continue.

833* `UserPromptSubmit` et [`UserPromptExpansion`](/docs/fr/hooks#userpromptexpansion) : Claude Code bloque l'invite avec un message nommant le hook et le délai d'expiration, et la session continue. Parce qu'un rappel sur ces événements peut agir comme une porte de politique, Claude Code ne laisse jamais passer une invite expirée sans contrôle. Avant la v2.1.208, Claude Code terminait la requête avec `error_during_execution` lorsqu'un rappel sur ces événements expirait.833* `UserPromptSubmit` et [`UserPromptExpansion`](/docs/fr/hooks#userpromptexpansion) : Claude Code bloque l'invite avec un message nommant le hook et le délai d'expiration, et la session continue. Parce qu'un rappel sur ces événements peut agir comme une porte de politique, Claude Code ne laisse jamais passer une invite expirée sans contrôle. Avant la v2.1.208, Claude Code terminait la requête avec `error_during_execution` lorsqu'un rappel sur ces événements expirait.

834* `Stop` et `SubagentStop` : Claude Code affiche un avertissement et l'agent s'arrête normalement.834* `Stop` et `SubagentStop` : le rappel expiré compte comme ne retournant aucune décision. L'agent ou le sous-agent s'arrête comme si ce rappel l'avait autorisé, et une décision de vos autres hooks sur l'événement s'applique toujours. Avant Claude Code v2.1.273, un rappel `Stop` ou `SubagentStop` expiré comptait comme une exécution de hook échouée, et Claude Code rejetait les décisions de vos autres hooks sur l'événement.

835* `SessionStart` : le rappel expiré compte comme ne retournant aucune sortie, et la session continue avec la sortie de vos autres hooks `SessionStart`.

835* `PreModelSwitch` : Claude Code bloque le changement de modèle. Un hook qui ne répond pas n'a pas approuvé le changement.836* `PreModelSwitch` : Claude Code bloque le changement de modèle. Un hook qui ne répond pas n'a pas approuvé le changement.

836* Autres événements, tels que `Notification`, `PreCompact` et `PostModelSwitch` : Claude Code enregistre l'échec et continue.837* Autres événements, tels que `Notification`, `PreCompact` et `PostModelSwitch` : Claude Code enregistre l'échec et continue.

837 838 

839La première fois qu'un rappel `Stop` ou `SessionStart` expire dans la session principale, Claude Code ajoute également un [`SDKInformationalMessage`](/docs/fr/agent-sdk/typescript#sdkinformationalmessage) au flux de messages indiquant que l'application pilotant la session n'a pas répondu. Les expirations ultérieures ne répètent pas ce message tant que votre application reste sans réponse.

840 

838Si vous interrompez la requête pendant qu'un rappel est en attente, Claude Code annule l'appel d'outil en attente. Avant la v2.1.208, l'appel d'outil pouvait toujours se poursuivre si vous interrompiez pendant un rappel `PreToolUse` en attente.841Si vous interrompez la requête pendant qu'un rappel est en attente, Claude Code annule l'appel d'outil en attente. Avant la v2.1.208, l'appel d'outil pouvait toujours se poursuivre si vous interrompiez pendant un rappel `PreToolUse` en attente.

839 842 

840Si votre rappel a besoin de plus de temps, définissez un `timeout` plus élevé sur son `HookMatcher`. En TypeScript, utilisez le `AbortSignal` du troisième argument de rappel pour gérer l'annulation correctement lorsque le délai d'expiration se déclenche.843Si votre rappel a besoin de plus de temps, définissez un `timeout` plus élevé sur son `HookMatcher`. En TypeScript, utilisez le `AbortSignal` du troisième argument de rappel pour gérer l'annulation correctement lorsque le délai d'expiration se déclenche.

Details

147 147 

148 declare const userInput: string;148 declare const userInput: string;

149 declare const sessionId: string; // looked up from your database by user149 declare const sessionId: string; // looked up from your database by user

150 declare const sessionStore: SessionStore; // S3, Redis, Postgres, or your own adapter150 declare const sessionStore: SessionStore; // an object store, key-value store, database, or your own adapter

151 151 

152 for await (const message of query({152 for await (const message of query({

153 prompt: userInput,153 prompt: userInput,


163 163 

164 user_input: str = ...164 user_input: str = ...

165 session_id: str = ... # looked up from your database by user165 session_id: str = ... # looked up from your database by user

166 session_store: SessionStore = ... # S3, Redis, Postgres, or your own adapter166 session_store: SessionStore = ... # an object store, key-value store, database, or your own adapter

167 167 

168 168 

169 async def main():169 async def main():


244 Persistance des sessions et de l'état244 Persistance des sessions et de l'état

245</h3>245</h3>

246 246 

247Le disque local par défaut est perdu au redémarrage, à la réduction d'échelle ou au déplacement vers un nœud différent. Pour toute session qu'un utilisateur s'attend à reprendre, mettez en miroir la transcription vers un stockage durable avec un adaptateur [`SessionStore`](/docs/fr/agent-sdk/session-storage). Consultez [Implémentations de référence](/docs/fr/agent-sdk/session-storage#reference-implementations) pour les adaptateurs S3, Redis et Postgres ainsi qu'une suite de conformité pour la vôtre.247Le disque local par défaut est perdu au redémarrage, à la réduction d'échelle ou au déplacement vers un nœud différent. Pour toute session qu'un utilisateur s'attend à reprendre, mettez en miroir la transcription vers un stockage durable avec un adaptateur [`SessionStore`](/docs/fr/agent-sdk/session-storage). Consultez [Implémentations de référence](/docs/fr/agent-sdk/session-storage#reference-implementations) pour les adaptateurs d'un magasin d'objets, d'un magasin clé-valeur et d'une base de données, ainsi qu'une suite de conformité pour la vôtre.

248 248 

249Trois choses à savoir sur le comportement de `SessionStore` :249Trois choses à savoir sur le comportement de `SessionStore` :

250 250 

agent-sdk/mcp.md +12 −1

Details

156 Délai de connexion156 Délai de connexion

157</h2>157</h2>

158 158 

159Claude Code enregistre les serveurs que vous transmettez dans `options.mcpServers` au démarrage et émet le [message init](#error-handling) une fois que l'attente du premier tour, le cas échéant, est résolue. Sans `options.mcpServers`, Claude Code attend 2 secondes pour les serveurs en attente avant le premier tour, de sorte que les serveurs chargés à partir de [fichiers de configuration](#from-a-config-file) tels que `.mcp.json` affichent généralement `pending` à l'initialisation. Quand chaque serveur `options.mcpServers` se connecte, et s'il retarde le premier tour, dépend de son type :159Claude Code enregistre les serveurs que vous transmettez dans `options.mcpServers` au démarrage et émet le [message init](#error-handling) une fois que l'attente du premier tour, le cas échéant, est résolue. Que chaque serveur `options.mcpServers` retarde le premier tour, et quand il se connecte, dépend de son type :

160 160 

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

162| :---------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |162| :---------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |


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

165| Serveur [SDK](#sdk-mcp-servers) en processus | Oui, jusqu'à ce qu'il se connecte et énumère ses outils | Aucun ; les demandes de connexion et d'énumération d'outils ont chacune leur propre délai d'attente |165| Serveur [SDK](#sdk-mcp-servers) en processus | Oui, jusqu'à ce qu'il se connecte et énumère ses outils | Aucun ; les demandes de connexion et d'énumération d'outils ont chacune leur propre délai d'attente |

166 166 

167Les serveurs chargés à partir de [fichiers de configuration](#from-a-config-file) tels que `.mcp.json` ou à partir de plugins affichent généralement `pending` dans le message init. Quand `options.mcpServers` contient un serveur stdio, HTTP ou SSE, le premier tour attend également ces serveurs en attente, jusqu'à `MCP_TIMEOUT`. Quand `options.mcpServers` est vide ou contient uniquement des serveurs SDK, le premier tour attend jusqu'à 2 secondes à la place :

168 

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

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

171 

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

173 

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

175 

176Les serveurs toujours en attente quand l'attente se termine continuent de se connecter en arrière-plan. Définissez la variable à `0` pour ignorer l'attente. Un serveur `permissionPromptToolName` conserve sa propre attente `MCP_TIMEOUT` indépendamment de la valeur.

177 

167Pour bloquer le démarrage lui-même à une phase distincte et antérieure à l'attente du premier tour, avant que le message init soit envoyé :178Pour bloquer le démarrage lui-même à une phase distincte et antérieure à l'attente du premier tour, avant que le message init soit envoyé :

168 179 

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

Details

152 152 

153Une fois créé, activez les styles de sortie via :153Une fois créé, activez les styles de sortie via :

154 154 

155* **CLI** : exécutez `/config` et sélectionnez un style de sortie155* **CLI** : exécutez `/output-style <style>`, par exemple `/output-style concise`, ou exécutez `/config` et sélectionnez un style. La commande `/output-style` nécessite Claude Code v2.1.269 ou ultérieur.

156* **Paramètres** : définissez `outputStyle` dans `.claude/settings.local.json`156* **Paramètres** : définissez `outputStyle` dans `.claude/settings.local.json`

157* **TypeScript SDK** : définissez `outputStyle` à l'intérieur de l'objet `settings` en ligne passé à `query()`, ou pointez `settings` vers un fichier de paramètres qui le définit. `outputStyle` n'est pas un champ `Options` de niveau supérieur :157* **TypeScript SDK** : définissez `outputStyle` à l'intérieur de l'objet `settings` en ligne passé à `query()`, ou pointez `settings` vers un fichier de paramètres qui le définit. `outputStyle` n'est pas un champ `Options` de niveau supérieur :

158 158 


352 Mettre en cache la partie statique d'un prompt personnalisé352 Mettre en cache la partie statique d'un prompt personnalisé

353</h4>353</h4>

354 354 

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, dont l'option `system_prompt` accepte une chaîne, un préréglage, ou un [fichier](/docs/fr/agent-sdk/python#systempromptfile).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 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.


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

392</h3>392</h3>

393 393 

394Par défaut, Claude Code construit le prompt système une fois, à la première demande d'une session, avec votre texte `append` ou prompt personnalisé inclus, et l'enregistre dans la session. Jusqu'à ce que la session soit compactée, chaque demande ultérieure utilise ce prompt enregistré, y compris après que vous reveniez à la session avec `resume` ou `continue`. Si vous passez un `append` ou un prompt personnalisé différent à cet appel ultérieur, il prend effet une fois que la session est compactée ou dans une nouvelle session.394Par défaut, si vous passez un `append` ou un prompt personnalisé différent quand vous revenez à une session avec `resume` ou `continue`, Claude ne le voit pas au tour suivant. Claude Code enregistre le prompt système à la première demande d'une session et réutilise cet enregistrement jusqu'à ce que la session soit compactée. Le nouveau texte prend effet après ce compactage, ou dans une nouvelle session.

395 395 

396Si vous démarrez Claude Code en [mode bare](/docs/fr/headless#start-faster-with-bare-mode) en passant `--bare` via `extraArgs` ou en définissant `CLAUDE_CODE_SIMPLE=1`, l'enregistrement reste désactivé sauf si vous définissez `snapshot: true` sur la forme d'objet de `systemPrompt`. L'enregistrement d'un `append` ou d'un prompt personnalisé par défaut nécessite Claude Code v2.1.265 ou ultérieur, que le SDK Agent TypeScript regroupe à partir de v0.3.265. Avant Claude Code v2.1.268, les sessions qui ne [récupèrent pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), y compris les sessions sur Amazon Bedrock, Google Cloud's Agent Platform, et Microsoft Foundry, reconstruisaient le prompt à chaque demande et `snapshot` n'avait aucun effet.396<h4 id="update-claude’s-instructions-mid-session">

397 Mettre à jour les instructions de Claude en cours de session

398</h4>

399 

400Si les instructions que vous mettez dans le prompt système doivent changer pendant qu'une session s'exécute, par exemple parce que votre utilisateur a basculé l'agent en mode lecture seule ou a modifié sa configuration dans votre application, envoyez les nouvelles instructions dans la conversation au lieu de modifier `systemPrompt` :

401 

402* **Dans votre message suivant** : incluez les nouvelles instructions dans le prochain message utilisateur que vous envoyez.

403* **À partir d'un hook** : retournez [`additionalContext`](/docs/fr/hooks#add-context-for-claude) à partir d'un callback de hook `UserPromptSubmit` ou `PostToolUse` [hook callback](/docs/fr/agent-sdk/hooks#outputs), écrit comme une déclaration factuelle telle que « L'espace de travail est maintenant en lecture seule ». Le SDK insère le texte dans la conversation au point où le hook s'est déclenché, donc le prompt enregistré reste inchangé.

404 

405<h4 id="turn-recording-off-while-you-iterate-on-wording">

406 Désactiver l'enregistrement pendant que vous itérez sur la formulation

407</h4>

408 

409Pendant que vous itérez sur la formulation du prompt et que vous voulez que chaque modification atteigne une session que vous reprenez, définissez `snapshot` à false sur la forme d'objet du prompt système. Claude Code reconstruit alors le prompt à chaque demande. Le champ est disponible sur les formes préréglée et personnalisée de [`systemPrompt`](/docs/fr/agent-sdk/typescript#options) en TypeScript et de [`system_prompt`](/docs/fr/agent-sdk/python#systempromptpreset) en Python, et nécessite `@anthropic-ai/claude-agent-sdk` v0.3.257 ou ultérieur, ou `claude-agent-sdk` v0.2.153 ou ultérieur.

410 

411Gardez l'enregistrement activé en production. Avec l'enregistrement désactivé, un `append` ou un prompt personnalisé différent sur une session reprise atteint Claude au tour suivant, et cette demande ne peut pas réutiliser le [cache de prompt](/docs/fr/prompt-caching#how-the-cache-is-organized) de la session. Là où l'API applique la [pensée préservée](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking), Claude perd également sa pensée des tours antérieurs.

412 

413En dehors des [sessions cloud](/docs/fr/cloud-environments), si vous démarrez Claude Code en [mode bare](/docs/fr/headless#start-faster-with-bare-mode) en passant `--bare` via `extraArgs` ou en définissant `CLAUDE_CODE_SIMPLE=1`, l'enregistrement reste désactivé sauf si vous définissez `snapshot: true`.

397 414 

398Pour reconstruire le prompt à chaque demande à la place, définissez `snapshot: false` sur la forme d'objet de `systemPrompt` dans le SDK TypeScript : `{ type: "preset", preset: "claude_code", append, snapshot: false }` ou `{ type: "custom", prompt, snapshot: false }`. Utilisez cette forme pendant que vous itérez sur la formulation du prompt, ou quand votre application change `append` entre les appels qui reprennent la même session. Le champ `snapshot` nécessite `@anthropic-ai/claude-agent-sdk` v0.3.257 ou ultérieur.415L'enregistrement d'un `append` ou d'un prompt personnalisé par défaut nécessite Claude Code v2.1.265 ou ultérieur, que le SDK Agent TypeScript regroupe à partir de v0.3.265 et le SDK Agent Python à partir de v0.2.153. Avant Claude Code v2.1.268, les sessions qui ne [récupèrent pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), y compris les sessions sur Amazon Bedrock, Google Cloud's Agent Platform, et Microsoft Foundry, reconstruisaient le prompt à chaque demande et `snapshot` n'avait aucun effet.

399 416 

400<h2 id="compare-the-four-approaches">417<h2 id="compare-the-four-approaches">

401 Comparaison des quatre approches418 Comparaison des quatre approches

Details

254| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |254| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

255| `OTEL_LOG_USER_PROMPTS=1` | Texte d'invite sur les événements `claude_code.user_prompt` et sur le span `claude_code.interaction` |255| `OTEL_LOG_USER_PROMPTS=1` | Texte d'invite sur les événements `claude_code.user_prompt` et sur le span `claude_code.interaction` |

256| `OTEL_LOG_TOOL_DETAILS=1` | Arguments d'entrée d'outil (chemins de fichiers, commandes shell, modèles de recherche) sur les événements `claude_code.tool_result` |256| `OTEL_LOG_TOOL_DETAILS=1` | Arguments d'entrée d'outil (chemins de fichiers, commandes shell, modèles de recherche) sur les événements `claude_code.tool_result` |

257| `OTEL_LOG_TOOL_CONTENT=1` | Corps d'entrée et de sortie d'outil complets en tant qu'événements de span sur `claude_code.tool`, tronqués à 60 Ko par défaut, configurable via `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, qui nécessite Claude Code v2.1.214 ou version ultérieure. Nécessite que le [traçage](#read-agent-traces) soit activé |257| `OTEL_LOG_TOOL_CONTENT=1` | Un événement de span [`tool.output`](/docs/fr/monitoring-usage#tool-output-span-event) sur `claude_code.tool` avec contenus de fichiers et sortie Bash, tronqué à 60 Ko par défaut, configurable via `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH`, qui nécessite Claude Code v2.1.214 ou version ultérieure. Nécessite que le [traçage](#read-agent-traces) soit activé. Les attributs de span portent le contenu d'outil sous [leurs propres portes](/docs/fr/monitoring-usage#new-context-gates) |

258| `OTEL_LOG_RAW_API_BODIES` | Requête et réponse JSON complètes de l'API Anthropic Messages en tant qu'événements de journal `claude_code.api_request_body` et `claude_code.api_response_body`. Définissez sur `1` pour les corps en ligne tronqués à 60 Ko par défaut, ou `file:<dir>` pour les corps non tronqués sur disque avec un chemin `body_ref` dans l'événement. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configure la limite de troncature en ligne, et nécessite Claude Code v2.1.214 ou version ultérieure. Les corps incluent l'historique de conversation complet et le contenu de la réflexion étendue est masqué. L'activation de ceci implique le consentement à tout ce que les trois variables ci-dessus révèleraient |258| `OTEL_LOG_RAW_API_BODIES` | Requête et réponse JSON complètes de l'API Anthropic Messages en tant qu'événements de journal `claude_code.api_request_body` et `claude_code.api_response_body`. Définissez sur `1` pour les corps en ligne tronqués à 60 Ko par défaut, ou `file:<dir>` pour les corps non tronqués sur disque avec un chemin `body_ref` dans l'événement. `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` configure la limite de troncature en ligne, et nécessite Claude Code v2.1.214 ou version ultérieure. Les corps incluent l'historique de conversation complet et le contenu de la réflexion étendue est masqué. L'activation de ceci implique le consentement à tout ce que les trois variables ci-dessus révèleraient |

259 259 

260Laissez ces variables non définies à moins que votre pipeline d'observabilité ne soit approuvé pour stocker les données que votre agent traite. Consultez [Sécurité et confidentialité](/docs/fr/monitoring-usage#security-and-privacy) dans la référence Monitoring pour la liste complète des attributs et du comportement de masquage.260Laissez ces variables non définies à moins que votre pipeline d'observabilité ne soit approuvé pour stocker les données que votre agent traite. Consultez [Sécurité et confidentialité](/docs/fr/monitoring-usage#security-and-privacy) dans la référence Monitoring pour la liste complète des attributs et du comportement de masquage.

Details

78 78 

79* « Claude Agent », préféré pour les menus déroulants79* « Claude Agent », préféré pour les menus déroulants

80* « Claude », lorsque vous êtes déjà dans un menu étiqueté « Agents »80* « Claude », lorsque vous êtes déjà dans un menu étiqueté « Agents »

81* « {YourAgentName} Powered by Claude », si vous avez un nom d'agent existant81* « \{YourAgentName} Powered by Claude », si vous avez un nom d'agent existant

82 82 

83**Non autorisé :**83**Non autorisé :**

84 84 

Details

301 301 

302Les modifications de fichiers ne sont jamais approuvées automatiquement en mode plan, même lorsqu'une règle d'autorisation correspond. Elles demandent via votre rappel `canUseTool` à la place. Sur Claude Code v2.1.212 ou ultérieur, les commandes shell qui modifient les fichiers, telles que `touch` et `rm`, atteignent votre rappel `canUseTool` de la même manière.302Les modifications de fichiers ne sont jamais approuvées automatiquement en mode plan, même lorsqu'une règle d'autorisation correspond. Elles demandent via votre rappel `canUseTool` à la place. Sur Claude Code v2.1.212 ou ultérieur, les commandes shell qui modifient les fichiers, telles que `touch` et `rm`, atteignent votre rappel `canUseTool` de la même manière.

303 303 

304Si vous définissez `allowDangerouslySkipPermissions: true` aux côtés de `permissionMode: 'plan'`, les modifications de fichiers et les commandes shell qui modifient les fichiers atteignent toujours votre rappel `canUseTool`. L'option vous permet de passer à `bypassPermissions` plus tard avec `setPermissionMode()`.

305 

304Claude peut utiliser `AskUserQuestion` pour clarifier les exigences avant de finaliser le plan. Voir [Gérer les approbations et les entrées utilisateur](/docs/fr/agent-sdk/user-input#handle-clarifying-questions) pour gérer ces invites.306Claude peut utiliser `AskUserQuestion` pour clarifier les exigences avant de finaliser le plan. Voir [Gérer les approbations et les entrées utilisateur](/docs/fr/agent-sdk/user-input#handle-clarifying-questions) pour gérer ces invites.

305 307 

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

Details

119</h4>119</h4>

120 120 

121| Paramètre | Type | Description |121| Paramètre | Type | Description |

122| :------------- | :---------------------------------------------- | :------------------------------------------------------------------------------- |122| :------------- | :---------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |

123| `name` | `str` | Identifiant unique pour l'outil |123| `name` | `str` | Identifiant unique pour l'outil |

124| `description` | `str` | Description lisible de ce que fait l'outil |124| `description` | `str` | Description lisible de ce que fait l'outil |

125| `input_schema` | `type \| dict[str, Any]` | Schéma définissant les paramètres d'entrée de l'outil (voir ci-dessous) |125| `input_schema` | `type \| dict[str, Any]` | Schéma définissant les paramètres d'entrée de l'outil. Voir [Options de schéma d'entrée](#input-schema-options) |

126| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | Annotations MCP optionnelles fournissant des indices comportementaux aux clients |126| `annotations` | [`ToolAnnotations`](#toolannotations)` \| None` | Annotations MCP optionnelles fournissant des indices comportementaux aux clients |

127 127 

128<h4 id="input-schema-options">128<h4 id="input-schema-options">


537| `receive_response()` | Reçoit les messages jusqu'à et incluant un ResultMessage |537| `receive_response()` | Reçoit les messages jusqu'à et incluant un ResultMessage |

538| `interrupt()` | Envoie un signal d'interruption (fonctionne uniquement en mode streaming) |538| `interrupt()` | Envoie un signal d'interruption (fonctionne uniquement en mode streaming) |

539| `set_permission_mode(mode)` | Change le mode de permission pour la session actuelle |539| `set_permission_mode(mode)` | Change le mode de permission pour la session actuelle |

540| `set_model(model)` | Change le modèle pour la session actuelle. Passez `None` pour réinitialiser à la valeur par défaut |540| `set_model(model)` | Change le modèle pour la session actuelle. Passez `None` pour réinitialiser au [modèle par défaut de Claude Code](/docs/fr/model-config) |

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

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

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


845class ClaudeAgentOptions:845class ClaudeAgentOptions:

846 tools: list[str] | ToolsPreset | None = None846 tools: list[str] | ToolsPreset | None = None

847 allowed_tools: list[str] = field(default_factory=list)847 allowed_tools: list[str] = field(default_factory=list)

848 system_prompt: str | SystemPromptPreset | SystemPromptFile | None = None848 system_prompt: str | SystemPromptPreset | SystemPromptCustom | SystemPromptFile | None = None

849 mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)849 mcp_servers: dict[str, McpServerConfig] | str | Path = field(default_factory=dict)

850 strict_mcp_config: bool = False850 strict_mcp_config: bool = False

851 permission_mode: PermissionMode | None = None851 permission_mode: PermissionMode | None = None


894```894```

895 895 

896| Propriété | Type | Par défaut | Description |896| Propriété | Type | Par défaut | Description |

897| :---------------------------- | :------------------------------------------------------------------------------------ | :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |897| :---------------------------- | :------------------------------------------------------------------------------------ | :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Configuration des outils. Utilisez `{"type": "preset", "preset": "claude_code"}` pour les outils par défaut de Claude Code |898| `tools` | `list[str] \| ToolsPreset \| None` | `None` | Configuration des outils. Utilisez `{"type": "preset", "preset": "claude_code"}` pour les outils par défaut de Claude Code |

899| `allowed_tools` | `list[str]` | `[]` | Outils à approuver automatiquement sans demander. Ceci ne restreint pas Claude à seulement ces outils. Si vous nommez l'un des [outils de suivi des tâches](/docs/fr/agent-sdk/todo-tracking#model-availability) ici, Claude Code opte également la session. Les autres outils non listés passent par `permission_mode` et `can_use_tool`. Utilisez `disallowed_tools` pour bloquer les outils. Voir [Permissions](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) |899| `allowed_tools` | `list[str]` | `[]` | Outils à approuver automatiquement sans demander. Ceci ne restreint pas Claude à seulement ces outils. Si vous nommez l'un des [outils de suivi des tâches](/docs/fr/agent-sdk/todo-tracking#model-availability) ici, Claude Code opte également la session. Les autres outils non listés passent par `permission_mode` et `can_use_tool`. Utilisez `disallowed_tools` pour bloquer les outils. Voir [Permissions](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) |

900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptFile \| None` | `None` | Configuration du prompt système. Passez une chaîne pour un prompt personnalisé, `{"type": "preset", "preset": "claude_code"}` pour le prompt système de Claude Code avec `"append"` optionnel, ou `{"type": "file", "path": "..."}` pour charger un grand prompt depuis le disque. Voir [`SystemPromptPreset`](#systempromptpreset) et [`SystemPromptFile`](#systempromptfile) |900| `system_prompt` | `str \| SystemPromptPreset \| SystemPromptCustom \| SystemPromptFile \| None` | `None` | Configuration du prompt système. Passez une chaîne pour un prompt personnalisé, `{"type": "preset", "preset": "claude_code"}` pour le prompt système de Claude Code avec `"append"` optionnel, `{"type": "custom", "prompt": "..."}` pour un prompt personnalisé qui peut également définir `"snapshot"`, ou `{"type": "file", "path": "..."}` pour charger un grand prompt depuis le disque. Voir [`SystemPromptPreset`](#systempromptpreset), [`SystemPromptCustom`](#systempromptcustom), et [`SystemPromptFile`](#systempromptfile) |

901| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | Configurations de serveur MCP ou chemin vers le fichier de configuration |901| `mcp_servers` | `dict[str, McpServerConfig] \| str \| Path` | `{}` | Configurations de serveur MCP ou chemin vers le fichier de configuration |

902| `strict_mcp_config` | `bool` | `False` | Quand `True`, utilisez uniquement les serveurs passés dans `mcp_servers` et ignorez le projet `.mcp.json`, les paramètres utilisateur, les serveurs MCP fournis par les plugins, et les [connecteurs claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai). Correspond à l'indicateur CLI `--strict-mcp-config` |902| `strict_mcp_config` | `bool` | `False` | Quand `True`, utilisez uniquement les serveurs passés dans `mcp_servers` et ignorez le projet `.mcp.json`, les paramètres utilisateur, les serveurs MCP fournis par les plugins, et les [connecteurs claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai). Correspond à l'indicateur CLI `--strict-mcp-config` |

903| `permission_mode` | `PermissionMode \| None` | `None` | Mode de permission pour l'utilisation des outils |903| `permission_mode` | `PermissionMode \| None` | `None` | Mode de permission pour l'utilisation des outils |


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` ; voir [Suivi du coût et de l'utilisation](/docs/fr/agent-sdk/cost-tracking) pour les avertissements de précision |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) |

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

912| `fallback_model` | `str \| None` | `None` | Modèle de secours à utiliser si le modèle principal échoue |912| `fallback_model` | `str \| None` | `None` | Modèle de secours à utiliser si le modèle principal échoue. Accepte une liste séparée par des virgules. Pour des conseils, voir [Choisir un modèle](/docs/fr/agent-sdk/configuration#choose-a-model) |

913| `betas` | `list[SdkBeta]` | `[]` | Fonctionnalités bêta à activer. Voir [`SdkBeta`](#sdkbeta) pour les options disponibles |913| `betas` | `list[SdkBeta]` | `[]` | Fonctionnalités bêta à activer. Voir [`SdkBeta`](#sdkbeta) pour les options disponibles |

914| `output_format` | `dict[str, Any] \| None` | `None` | Format de sortie pour les réponses structurées (par exemple, `{"type": "json_schema", "schema": {...}}`). Voir [Sorties structurées](/docs/fr/agent-sdk/structured-outputs) pour les détails |914| `output_format` | `dict[str, Any] \| None` | `None` | Format de sortie pour les réponses structurées (par exemple, `{"type": "json_schema", "schema": {...}}`). Voir [Sorties structurées](/docs/fr/agent-sdk/structured-outputs) pour les détails |

915| `permission_prompt_tool_name` | `str \| None` | `None` | Nom de l'outil MCP pour les prompts de permission |915| `permission_prompt_tool_name` | `str \| None` | `None` | Nom de l'outil MCP pour les prompts de permission |

916| `cwd` | `str \| Path \| None` | `None` | Répertoire de travail actuel |916| `cwd` | `str \| Path \| None` | `None` | Répertoire de travail actuel |

917| `cli_path` | `str \| Path \| None` | `None` | Chemin personnalisé vers l'exécutable CLI de Claude Code |917| `cli_path` | `str \| Path \| None` | `None` | Chemin personnalisé vers l'exécutable CLI de Claude Code |

918| `settings` | `str \| None` | `None` | Chemin vers le fichier de paramètres |918| `settings` | `str \| None` | `None` | Chemin vers un fichier de paramètres ou une chaîne JSON en ligne |

919| `add_dirs` | `list[str \| Path]` | `[]` | Répertoires supplémentaires auxquels Claude peut accéder. Le SDK passe chaque entrée à Claude Code comme `--add-dir`, donc avec la source de paramètre `project` Claude Code [charge également les compétences, commandes et sous-agents du répertoire](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) |919| `add_dirs` | `list[str \| Path]` | `[]` | Répertoires supplémentaires auxquels Claude peut accéder. Le SDK passe chaque entrée à Claude Code comme `--add-dir`, donc avec la source de paramètre `project` Claude Code [charge également les compétences, commandes et sous-agents du répertoire](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) |

920| `env` | `dict[str, str]` | `{}` | Variables d'environnement fusionnées au-dessus de l'environnement de processus hérité. Voir [Variables d'environnement](/docs/fr/env-vars) pour les variables que le CLI sous-jacent lit, et [Gérer les réponses API lentes ou bloquées](#handle-slow-or-stalled-api-responses) pour les variables liées aux délais d'expiration |920| `env` | `dict[str, str]` | `{}` | Variables d'environnement fusionnées au-dessus de l'environnement de processus hérité. Voir [Variables d'environnement](/docs/fr/env-vars) pour les variables que le CLI sous-jacent lit, et [Gérer les réponses API lentes ou bloquées](#handle-slow-or-stalled-api-responses) pour les variables liées aux délais d'expiration |

921| `extra_args` | `dict[str, str \| None]` | `{}` | Arguments CLI supplémentaires à passer directement au CLI |921| `extra_args` | `dict[str, str \| None]` | `{}` | Arguments CLI supplémentaires à passer directement au CLI |


934| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Sous-agents définis programmatiquement |934| `agents` | `dict[str, AgentDefinition] \| None` | `None` | Sous-agents définis programmatiquement |

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

936| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Configurez le comportement du sandbox programmatiquement. Voir [Paramètres du sandbox](#sandboxsettings) pour les détails |936| `sandbox` | [`SandboxSettings`](#sandboxsettings) ` \| None` | `None` | Configurez le comportement du sandbox programmatiquement. Voir [Paramètres du sandbox](#sandboxsettings) pour les détails |

937| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI defaults: all sources) | Contrôlez quels paramètres du système de fichiers charger. Passez `[]` pour désactiver les paramètres utilisateur, projet et locaux. Les paramètres de politique gérée se chargent indépendamment ; les paramètres gérés par le serveur sont récupérés quand la session s'authentifie avec une credential d'organisation sur une [configuration éligible](/docs/fr/server-managed-settings#platform-availability). Voir [Utiliser les fonctionnalités de Claude Code](/docs/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) pour les entrées qui sont lues indépendamment de cette option, et comment les désactiver |937| `setting_sources` | `list[SettingSource] \| None` | `None` (CLI defaults: all sources) | Contrôlez quels paramètres du système de fichiers charger. Passez `[]` pour désactiver les paramètres utilisateur, projet et locaux. Avec `skills` défini et ce champ non défini, seules les sources utilisateur et projet se chargent. Définissez `setting_sources` explicitement pour conserver les paramètres locaux. La politique gérée par le point de terminaison se charge indépendamment ; les paramètres gérés par le serveur sont récupérés quand la session s'authentifie avec une credential d'organisation sur une [configuration éligible](/docs/fr/server-managed-settings#platform-availability). Pour les entrées lues indépendamment de cette option, voir [Ce que settingSources ne contrôle pas](/docs/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

938| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Compétences disponibles pour la session. Passez `"all"` pour activer chaque compétence découverte, ou une liste de noms de compétences. Passez uniquement les noms exacts. Le SDK rejette les noms mal formés et de forme wildcard avec une `ValueError` avant de démarrer le processus Claude Code ; cette vérification nécessite Python Agent SDK 0.2.129 ou ultérieur. Quand défini, le SDK ajoute l'outil Skill à `allowed_tools` automatiquement. Si vous passez aussi `tools`, incluez `"Skill"` dans cette liste. Voir [Compétences](/docs/fr/agent-sdk/skills) |938| `skills` | `list[str] \| Literal["all"] \| None` | `None` | Compétences disponibles pour la session. Passez `"all"` pour activer chaque compétence découverte, ou une liste de noms de compétences. Passez uniquement les noms exacts. Le SDK rejette les noms mal formés et de forme wildcard avec une `ValueError` avant de démarrer le processus Claude Code ; cette vérification nécessite Python Agent SDK 0.2.129 ou ultérieur. Quand défini, le SDK ajoute l'outil Skill à `allowed_tools` automatiquement. Si vous passez aussi `tools`, incluez `"Skill"` dans cette liste. Voir [Compétences](/docs/fr/agent-sdk/skills) |

939| `max_thinking_tokens` | `int \| None` | `None` | *Déprécié* - Tokens maximum pour les blocs de réflexion. Utilisez `thinking` à la place |939| `max_thinking_tokens` | `int \| None` | `None` | *Déprécié* - Tokens maximum pour les blocs de réflexion. Utilisez `thinking` à la place |

940| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Contrôle le comportement de la réflexion étendue. Prend la priorité sur `max_thinking_tokens` |940| `thinking` | [`ThinkingConfig`](#thinkingconfig) ` \| None` | `None` | Contrôle le comportement de la réflexion étendue. Prend la priorité sur `max_thinking_tokens` |


1002 preset: Literal["claude_code"]1002 preset: Literal["claude_code"]

1003 append: NotRequired[str]1003 append: NotRequired[str]

1004 exclude_dynamic_sections: NotRequired[bool]1004 exclude_dynamic_sections: NotRequired[bool]

1005 snapshot: NotRequired[bool]

1005```1006```

1006 1007 

1007| Champ | Requis | Description |1008| Champ | Requis | Description |


1010| `preset` | Oui | Doit être `"claude_code"` pour utiliser le prompt système de Claude Code |1011| `preset` | Oui | Doit être `"claude_code"` pour utiliser le prompt système de Claude Code |

1011| `append` | Non | Instructions supplémentaires à ajouter au preset de prompt système |1012| `append` | Non | Instructions supplémentaires à ajouter au preset de prompt système |

1012| `exclude_dynamic_sections` | Non | Déplacez le contexte par session comme le répertoire de travail, le statut git et les chemins de mémoire du prompt système vers le premier message utilisateur. Améliore la réutilisation du cache de prompt entre les utilisateurs et les machines. Voir [Modifier les prompts système](/docs/fr/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |1013| `exclude_dynamic_sections` | Non | Déplacez le contexte par session comme le répertoire de travail, le statut git et les chemins de mémoire du prompt système vers le premier message utilisateur. Améliore la réutilisation du cache de prompt entre les utilisateurs et les machines. Voir [Modifier les prompts système](/docs/fr/agent-sdk/modifying-system-prompts#improve-prompt-caching-across-users-and-machines) |

1014| `snapshot` | Non | Définissez à `False` pour reconstruire le prompt système à chaque requête au lieu de [réutiliser le prompt que la session a enregistré à sa première requête](/docs/fr/agent-sdk/modifying-system-prompts#change-the-prompt-of-an-existing-session). Nécessite `claude-agent-sdk` v0.2.153 ou ultérieur |

1015 

1016<h3 id="systempromptcustom">

1017 `SystemPromptCustom`

1018</h3>

1019 

1020Un prompt système personnalisé sous forme d'objet, équivalent à passer une chaîne comme `system_prompt`, qui peut également définir `snapshot`. Nécessite `claude-agent-sdk` v0.2.153 ou ultérieur.

1021 

1022```python theme={null}

1023class SystemPromptCustom(TypedDict):

1024 type: Literal["custom"]

1025 prompt: str

1026 snapshot: NotRequired[bool]

1027```

1028 

1029| Champ | Requis | Description |

1030| :--------- | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1031| `type` | Oui | Doit être `"custom"` |

1032| `prompt` | Oui | Le texte du prompt système. Passé au CLI comme argument de ligne de commande, donc les [limites de longueur de ligne de commande](#systempromptfile) s'appliquent |

1033| `snapshot` | Non | Identique à [`SystemPromptPreset.snapshot`](#systempromptpreset), appliqué à `prompt` |

1013 1034 

1014<h3 id="systempromptfile">1035<h3 id="systempromptfile">

1015 `SystemPromptFile`1036 `SystemPromptFile`


1048 Comportement par défaut1069 Comportement par défaut

1049</h4>1070</h4>

1050 1071 

1051Quand `setting_sources` est omis ou `None`, `query()` charge les mêmes paramètres du système de fichiers que le CLI Claude Code : utilisateur, projet et local. Les paramètres de politique gérée sont chargés dans tous les cas ; les paramètres gérés par le serveur sont récupérés quand la session s'authentifie avec une credential d'organisation sur une [configuration éligible](/docs/fr/server-managed-settings#platform-availability). Voir [Ce que settingSources ne contrôle pas](/docs/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) pour les entrées qui sont lues indépendamment de cette option, et comment les désactiver.1072Quand `setting_sources` est omis ou `None` et `skills` n'est pas défini, `query()` charge les mêmes paramètres du système de fichiers que le CLI Claude Code : utilisateur, projet et local. Avec `skills` défini, la ligne [`setting_sources`](#claudeagentoptions) décrit la valeur par défaut actuelle. Seules les sources utilisateur et projet se chargent. Définissez `setting_sources` explicitement pour conserver les paramètres locaux. La politique gérée par le point de terminaison se charge indépendamment ; les paramètres gérés par le serveur sont récupérés quand la session s'authentifie avec une credential d'organisation sur une [configuration éligible](/docs/fr/server-managed-settings#platform-availability). Pour plus d'informations, voir [Ce que settingSources ne contrôle pas](/docs/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control).

1052 1073 

1053<h4 id="why-use-setting_sources">1074<h4 id="why-use-setting_sources">

1054 Pourquoi utiliser setting\_sources1075 Pourquoi utiliser setting\_sources


11412. Paramètres de projet (`.claude/settings.json`)11622. Paramètres de projet (`.claude/settings.json`)

11423. Paramètres utilisateur (`~/.claude/settings.json`)11633. Paramètres utilisateur (`~/.claude/settings.json`)

1143 1164 

1144Les options programmatiques telles que `agents` et `allowed_tools` remplacent les paramètres du système de fichiers utilisateur, projet et local. Les paramètres de politique gérée prennent la priorité sur les options programmatiques.1165Les options programmatiques telles que `agents`, `allowed_tools`, et `settings` remplacent les paramètres du système de fichiers utilisateur, projet et local. Les paramètres de politique gérée prennent la priorité sur les options programmatiques.

1145 1166 

1146<h3 id="agentdefinition">1167<h3 id="agentdefinition">

1147 `AgentDefinition`1168 `AgentDefinition`


2782```python theme={null}2803```python theme={null}

2783{2804{

2784 "status": "remote_launched",2805 "status": "remote_launched",

2785 "taskId": str, # ID of the remote task2806 "taskId": str, # ID of the dispatched task

2786 "sessionUrl": str, # Link to the remote cloud session2807 "sessionUrl": str, # Link to the cloud session

2787 "description": str, # The task description2808 "description": str, # The task description

2788 "prompt": str, # The prompt the agent runs2809 "prompt": str, # The prompt the agent runs

2789 "outputFile": str, # File path where the agent's output is written2810 "outputFile": str, # File path where the agent's output is written

2790}2811}

2791```2812```

2792 2813 

2793Retourne le résultat du sous-agent. La sortie est discriminée sur le champ `status` : `"completed"` pour les tâches terminées, `"async_launched"` pour les tâches en arrière-plan, et `"remote_launched"` pour les tâches que Claude Code a envoyées à une session cloud distante, où `sessionUrl` renvoie à cette session et `taskId` l'identifie. Si Claude Code [a conservé la worktree isolée du sous-agent](/docs/fr/worktrees#isolate-subagents-with-worktrees), `worktreePath` sur la variante `completed` est l'endroit où la trouver, et `worktreeBranch` est sa branche lorsque Claude Code a créé la worktree avec git.2814Retourne le résultat du sous-agent. La sortie est discriminée sur le champ `status` : `"completed"` pour les tâches terminées, `"async_launched"` pour les tâches en arrière-plan, et `"remote_launched"` pour les tâches que Claude Code a envoyées à une session cloud, où `sessionUrl` renvoie à cette session et `taskId` l'identifie. Si Claude Code [a conservé la worktree isolée du sous-agent](/docs/fr/worktrees#isolate-subagents-with-worktrees), `worktreePath` sur la variante `completed` est l'endroit où la trouver, et `worktreeBranch` est sa branche lorsque Claude Code a créé la worktree avec git.

2794 2815 

2795Sur la variante `completed`, `resolvedModel` nomme le modèle sur lequel le sous-agent a démarré, qui peut différer du `model` d'entrée demandé lorsque [`availableModels`](/docs/fr/model-config#restrict-model-selection) ou une autre substitution s'applique. Ce champ nécessite Claude Code v2.1.174 ou ultérieur. Sur la variante `async_launched`, `resolvedModel` nomme le modèle en cours d'utilisation lorsque l'agent s'est déplacé en arrière-plan, donc un échange qui s'est produit avant la mise en arrière-plan est reflété là. Le champ `modelsUsed` sur les deux variantes répertorie les modèles utilisés dans l'ordre, avec les répétitions consécutives réduites ; il est défini uniquement lorsque le modèle a été échangé en cours d'exécution. `modelsUsed` et le comportement `resolvedModel` au moment de la mise en arrière-plan nécessitent Claude Code v2.1.212 ou ultérieur.2816Sur la variante `completed`, `resolvedModel` nomme le modèle sur lequel le sous-agent a démarré, qui peut différer du `model` d'entrée demandé lorsque [`availableModels`](/docs/fr/model-config#restrict-model-selection) ou une autre substitution s'applique. Ce champ nécessite Claude Code v2.1.174 ou ultérieur. Sur la variante `async_launched`, `resolvedModel` nomme le modèle en cours d'utilisation lorsque l'agent s'est déplacé en arrière-plan, donc un échange qui s'est produit avant la mise en arrière-plan est reflété là. Le champ `modelsUsed` sur les deux variantes répertorie les modèles utilisés dans l'ordre, avec les répétitions consécutives réduites ; il est défini uniquement lorsque le modèle a été échangé en cours d'exécution. `modelsUsed` et le comportement `resolvedModel` au moment de la mise en arrière-plan nécessitent Claude Code v2.1.212 ou ultérieur.

2796 2817 

Details

62 </Tab>62 </Tab>

63 63 

64 <Tab title="Python (uv)">64 <Tab title="Python (uv)">

65 [uv](https://docs.astral.sh/uv/) est un gestionnaire de paquets Python rapide qui gère automatiquement les environnements virtuels :65 [Installez uv](https://docs.astral.sh/uv/), un gestionnaire de paquets Python rapide qui gère automatiquement les environnements virtuels. Ensuite, initialisez un projet et ajoutez le SDK :

66 66 

67 ```bash theme={null}67 ```bash theme={null}

68 uv init68 uv init


356 356 

357Avec `Bash` activé, essayez : `"Write unit tests for utils.py, run them, and fix any failures"`357Avec `Bash` activé, essayez : `"Write unit tests for utils.py, run them, and fix any failures"`

358 358 

359Chacun de ces extraits définit des champs sur le même objet options. Pour plus d'informations, consultez [Configurer votre agent](/docs/fr/agent-sdk/configuration).

360 

359<h2 id="key-concepts">361<h2 id="key-concepts">

360 Concepts clés362 Concepts clés

361</h2>363</h2>


376 378 

377Maintenant que vous avez créé votre premier agent, apprenez à étendre ses capacités et à l'adapter à votre cas d'usage :379Maintenant que vous avez créé votre premier agent, apprenez à étendre ses capacités et à l'adapter à votre cas d'usage :

378 380 

381* **[Configurer votre agent](/docs/fr/agent-sdk/configuration)** : composez l'objet options et trouvez la page qui couvre chaque paramètre

379* **[Permissions](/docs/fr/agent-sdk/permissions)** : contrôlez ce que votre agent peut faire et quand il a besoin d'approbation382* **[Permissions](/docs/fr/agent-sdk/permissions)** : contrôlez ce que votre agent peut faire et quand il a besoin d'approbation

380* **[Hooks](/docs/fr/agent-sdk/hooks)** : exécutez du code personnalisé avant ou après les appels d'outils383* **[Hooks](/docs/fr/agent-sdk/hooks)** : exécutez du code personnalisé avant ou après les appels d'outils

381* **[Sessions](/docs/fr/agent-sdk/sessions)** : créez des agents multi-tours qui maintiennent le contexte384* **[Sessions](/docs/fr/agent-sdk/sessions)** : créez des agents multi-tours qui maintiennent le contexte

Details

4 4 

5# Persister les sessions dans un stockage externe5# Persister les sessions dans un stockage externe

6 6 

7> Miroir les transcriptions de session vers S3, Redis ou votre propre backend pour que n'importe quel hôte puisse les reprendre.7> Miroir les transcriptions de session Agent SDK vers votre propre magasin d'objets, magasin clé-valeur ou base de données afin que d'autres hôtes puissent reprendre vos sessions.

8 8 

9Par défaut, le SDK écrit les transcriptions de session dans des fichiers JSONL sous `~/.claude/projects/` sur le système de fichiers local. Un adaptateur `SessionStore` vous permet de mettre en miroir ces transcriptions vers votre propre backend, tel que S3, Redis ou une base de données, afin qu'une session créée sur un hôte puisse être reprise sur un autre hôte exécuté à partir d'un répertoire de travail correspondant.9Par défaut, le SDK écrit les transcriptions de session dans des fichiers JSONL sous `~/.claude/projects/` sur le système de fichiers local. Un adaptateur `SessionStore` vous permet de mettre en miroir ces transcriptions vers votre propre backend, tel qu'un magasin d'objets, un magasin clé-valeur ou une base de données, afin qu'une session créée sur un hôte puisse être reprise sur un autre hôte exécuté à partir d'un répertoire de travail correspondant.

10 10 

11Raisons courantes d'utiliser un magasin de sessions :11Raisons courantes d'utiliser un magasin de sessions :

12 12 

13* **Déploiements multi-hôtes.** Les fonctions serverless, les workers autoscalés et les exécuteurs CI ne partagent pas de système de fichiers. Un magasin partagé permet aux réplicas de reprendre les sessions les unes des autres.13* **Déploiements multi-hôtes.** Les fonctions serverless, les workers autoscalés et les exécuteurs CI ne partagent pas de système de fichiers. Un magasin partagé permet aux réplicas de reprendre les sessions les unes des autres.

14* **Durabilité.** Les conteneurs locaux sont éphémères. Un magasin sauvegardé par S3 ou une base de données survit aux redémarrages et aux redéploiements.14* **Durabilité.** Les conteneurs locaux sont éphémères. Un magasin externe survit aux redémarrages et aux redéploiements.

15* **Conformité et audit.** Conservez les transcriptions dans un stockage que vous gouvernez déjà, avec vos propres règles de rétention, chiffrement et contrôles d'accès.15* **Conformité et audit.** Conservez les transcriptions dans un stockage que vous gouvernez déjà, avec vos propres règles de rétention, chiffrement et contrôles d'accès.

16 16 

17<h2 id="the-sessionstore-interface">17<h2 id="the-sessionstore-interface">


197 197 

198Implémentez `append` et `load` par rapport à votre backend. Ajoutez `listSessions`, `listSessionSummaries`, `delete` et `listSubkeys` si vous voulez que `listSessions()`, les lectures de métadonnées en un seul appel, `deleteSession()` et la reprise de sous-agent fonctionnent par rapport au magasin.198Implémentez `append` et `load` par rapport à votre backend. Ajoutez `listSessions`, `listSessionSummaries`, `delete` et `listSubkeys` si vous voulez que `listSessions()`, les lectures de métadonnées en un seul appel, `deleteSession()` et la reprise de sous-agent fonctionnent par rapport au magasin.

199 199 

200Les entrées transmises à `append` sont typées comme `SessionStoreEntry` (un objet `{ type: string; ... }`). Traitez-les comme des valeurs JSON-safe opaques : persistez-les dans l'ordre et retournez-les de `load` dans le même ordre. `load` doit retourner des entrées qui sont deep-equal à ce qui a été ajouté ; la sérialisation byte-equal n'est pas requise, donc les backends comme Postgres `jsonb` qui réorganisent les clés d'objet vont bien.200Les entrées transmises à `append` sont typées comme `SessionStoreEntry` (un objet `{ type: string; ... }`). Traitez-les comme des valeurs JSON-safe opaques : persistez-les dans l'ordre et retournez-les de `load` dans le même ordre. `load` doit retourner des entrées qui sont deep-equal à ce qui a été ajouté ; la sérialisation byte-equal n'est pas requise, donc un backend qui réorganise les clés d'objet, comme un type de colonne JSON binaire, convient.

201 201 

202<h2 id="reference-implementations">202<h2 id="reference-implementations">

203 Implémentations de référence203 Implémentations de référence

204</h2>204</h2>

205 205 

206Le référentiel TypeScript SDK inclut des adaptateurs de référence exécutables pour S3, Redis et Postgres sous [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores). Ils ne sont pas publiés sur npm ; copiez le fichier `src/` dont vous avez besoin dans votre projet et installez le client backend correspondant.206Les deux référentiels SDK incluent des adaptateurs de référence exécutables sous [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) en TypeScript et [`examples/session_stores/`](https://github.com/anthropics/claude-agent-sdk-python/tree/main/examples/session_stores) en Python. Il y a un adaptateur par type de stockage, et chacun montre comment `append` et `load` se mappent sur ce type de backend. Ils ne sont pas publiés en tant que packages ; copiez l'adaptateur du type le plus proche de votre backend dans votre projet, installez le client de votre backend, et adaptez-le.

207 207 

208| Adaptateur | Client backend | Modèle de stockage |208| Type de stockage | Modèle de stockage | Adaptateur d'exemple |

209| :----------------------------------------------------------------------------------------------------------------------------- | :------------------- | :-------------------------------------------------------------------------------- |209| :---------------------------------------------------- | :---------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

210| [`S3SessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3) | `@aws-sdk/client-s3` | Un fichier de partie JSONL par `append()` ; `load()` liste, trie et concatène. |210| Magasin d'objets | Un fichier de partie par `append()` ; `load()` liste les parties, les trie et les concatène. | S3 ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/s3), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/s3_session_store.py)) |

211| [`RedisSessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis) | `ioredis` | Liste `RPUSH`/`LRANGE` par transcription, plus un index de sorted-set de session. |211| Magasin clé-valeur | Une liste par transcription que `append()` pousse et `load()` lit en plage, plus un index trié de sessions. | Redis ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/redis), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/redis_session_store.py)) |

212| [`PostgresSessionStore`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres) | `pg` | Une ligne par entrée dans une table `jsonb`, ordonnée par `BIGSERIAL`. |212| Base de données relationnelle ou magasin de documents | Une ligne ou un document par entrée, stocké en JSON et ordonné par une clé assignée à l'insertion. | Postgres ([TypeScript](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores/postgres), [Python](https://github.com/anthropics/claude-agent-sdk-python/blob/main/examples/session_stores/postgres_session_store.py)) |

213 213 

214Chaque adaptateur prend une instance de client préconfigurée, afin que vous contrôliez les identifiants, TLS, la région et le pooling. Par exemple, avec S3 :214Chaque adaptateur prend une instance de client préconfigurée, afin que vous contrôliez les identifiants, TLS, la région et le pooling. L'exemple suivant câble l'adaptateur de magasin d'objets dans `query()` et reprend ensuite à partir de celui-ci sur un autre hôte :

215 215 

216```typescript TypeScript theme={null}216```typescript TypeScript theme={null}

217import { query } from "@anthropic-ai/claude-agent-sdk";217import { query } from "@anthropic-ai/claude-agent-sdk";


342 Rétention342 Rétention

343</h3>343</h3>

344 344 

345Le SDK ne supprime jamais de votre magasin de son propre chef. La rétention est la responsabilité de l'adaptateur : implémentez des TTL, des politiques de cycle de vie S3 ou un nettoyage programmé selon vos exigences de conformité.345Le SDK ne supprime jamais de votre magasin de son propre chef. La rétention est la responsabilité de l'adaptateur : utilisez le mécanisme d'expiration ou de cycle de vie de votre backend, ou exécutez un nettoyage programmé, selon vos exigences de conformité.

346 346 

347Les transcriptions locales sous `CLAUDE_CONFIG_DIR` sont balayées indépendamment par le paramètre `cleanupPeriodDays`, en suivant les [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Une exécution [reprise à partir du magasin](#resume-from-the-store) ne laisse pas de transcription locale, donc pour ces exécutions la rétention de votre magasin est la seule rétention qu'il y a.347Les transcriptions locales sous `CLAUDE_CONFIG_DIR` sont balayées indépendamment par le paramètre `cleanupPeriodDays`, en suivant les [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Une exécution [reprise à partir du magasin](#resume-from-the-store) ne laisse pas de transcription locale, donc pour ces exécutions la rétention de votre magasin est la seule rétention qu'il y a.

348 348 


373* [Travailler avec les sessions](/docs/fr/agent-sdk/sessions) : Continuer, reprendre et forker sans magasin personnalisé373* [Travailler avec les sessions](/docs/fr/agent-sdk/sessions) : Continuer, reprendre et forker sans magasin personnalisé

374* [Héberger le SDK](/docs/fr/agent-sdk/hosting) : Modèles de déploiement pour les environnements multi-hôtes374* [Héberger le SDK](/docs/fr/agent-sdk/hosting) : Modèles de déploiement pour les environnements multi-hôtes

375* [TypeScript `Options`](/docs/fr/agent-sdk/typescript#options) : Référence complète des options375* [TypeScript `Options`](/docs/fr/agent-sdk/typescript#options) : Référence complète des options

376* [`examples/session-stores/`](https://github.com/anthropics/claude-agent-sdk-typescript/tree/main/examples/session-stores) : Adaptateurs de référence S3, Redis et Postgres exécutables376* [Implémentations de référence](#reference-implementations) : Adaptateurs d'exemple exécutables pour un magasin d'objets, un magasin clé-valeur et une base de données, dans les deux référentiels SDK

Details

181 181 

182Envoyez une commande en l'incluant dans votre chaîne d'invite, de la même manière que vous envoyez du texte régulier. La distribution ne dépend pas de l'option `skills`. Envoyer `/<name>` exécute un skill invocable par l'utilisateur même lorsque votre liste `skills` l'omet. Les commandes qui agissent sur l'historique de la conversation, telles que `/compact`, ont besoin de messages antérieurs pour fonctionner.182Envoyez une commande en l'incluant dans votre chaîne d'invite, de la même manière que vous envoyez du texte régulier. La distribution ne dépend pas de l'option `skills`. Envoyer `/<name>` exécute un skill invocable par l'utilisateur même lorsque votre liste `skills` l'omet. Les commandes qui agissent sur l'historique de la conversation, telles que `/compact`, ont besoin de messages antérieurs pour fonctionner.

183 183 

184Un `/<name>` qui ne correspond ni à une commande de la session ni à une commande Claude Code intégrée ne fait pas échouer la requête. Claude Code envoie l'invite à Claude en tant que message ordinaire, avec une note indiquant que la commande n'a pas été exécutée, donc la requête dépense un tour de modèle et retourne la réponse de Claude. Avant v2.1.274, un `/<name>` qui ne correspondait à rien retournait `Unknown command: /<name>` comme résultat sans tour de modèle.

185 

186Un `/<name>` qui correspond à une commande Claude Code intégrée qui n'est pas disponible dans la session, telle que `/theme`, retourne `/theme isn't available in this environment.` comme résultat sans tour de modèle.

187 

184<Note>188<Note>

185 Une commande peut atteindre la limite `maxTurns` / `max_turns` comme n'importe quelle autre invite, terminant la requête avec un résultat d'erreur au lieu de `success`. Pour le contrat de résultat d'erreur, voir [Gérer le résultat](/docs/fr/agent-sdk/agent-loop#handle-the-result). Si votre commande pourrait atteindre la limite, enveloppez la boucle dans un `try`/`catch` en TypeScript ou `try`/`except` en Python, comme indiqué dans [Entrée de message unique](/docs/fr/agent-sdk/streaming-vs-single-mode#single-message-input), ou définissez `maxTurns` assez haut pour que le travail se termine.189 Une commande peut atteindre la limite `maxTurns` / `max_turns` comme n'importe quelle autre invite, terminant la requête avec un résultat d'erreur au lieu de `success`. Pour le contrat de résultat d'erreur, voir [Gérer le résultat](/docs/fr/agent-sdk/agent-loop#handle-the-result). Si votre commande pourrait atteindre la limite, enveloppez la boucle dans un `try`/`catch` en TypeScript ou `try`/`except` en Python, comme indiqué dans [Entrée de message unique](/docs/fr/agent-sdk/streaming-vs-single-mode#single-message-input), ou définissez `maxTurns` assez haut pour que le travail se termine.

186</Note>190</Note>

Details

153</h3>153</h3>

154 154 

155| Champ | Type | Requis | Description |155| Champ | Type | Requis | Description |

156| :---------------- | :---------------------------------------------------------- | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |156| :---------------- | :---------------------------------------------------------- | :----- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

157| `description` | `string` | Oui | Description en langage naturel de quand utiliser cet agent |157| `description` | `string` | Oui | Description en langage naturel de quand utiliser cet agent |

158| `prompt` | `string` | Oui | L'invite système de l'agent définissant son rôle et son comportement |158| `prompt` | `string` | Oui | L'invite système de l'agent définissant son rôle et son comportement |

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


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

166| `maxTurns` | `number` | Non | Nombre maximum de tours d'agent avant que l'agent s'arrête. Lorsque l'agent atteint la limite, Claude Code retourne sa sortie marquée comme partielle, et vous pouvez [reprendre l'agent](#resume-subagents) pour continuer. Le marquage partiel nécessite Claude Code v2.1.246 ou ultérieur |166| `maxTurns` | `number` | Non | Nombre maximum de tours d'agent avant que l'agent s'arrête. Lorsque l'agent atteint la limite, Claude Code retourne sa sortie marquée comme partielle, et vous pouvez [reprendre l'agent](#resume-subagents) pour continuer. Le marquage partiel nécessite Claude Code v2.1.246 ou ultérieur |

167| `background` | `boolean` | Non | Exécuter cet agent en tant que tâche d'arrière-plan non bloquante lorsqu'il est invoqué |167| `background` | `boolean` | Non | Exécuter cet agent en tant que tâche d'arrière-plan non bloquante lorsqu'il est invoqué |

168| `omitClaudeMd` | `boolean` | Non | Exécuter cet agent sans les fichiers CLAUDE.md utilisateur, projet et local lorsqu'il s'exécute en tant que sous-agent ; les fichiers de politique gérés se chargent toujours. Ignoré lorsque l'agent s'exécute en tant qu'agent du thread principal. Nécessite TypeScript Agent SDK v0.3.271 ou ultérieur. Le SDK Python [`AgentDefinition`](/docs/fr/agent-sdk/python#agentdefinition) n'a pas ce champ |

168| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Non | Niveau d'effort de raisonnement pour cet agent |169| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max' \| number` | Non | Niveau d'effort de raisonnement pour cet agent |

169| `permissionMode` | `PermissionMode` | Non | Mode de permission pour l'exécution des outils au sein de cet agent. Les [règles d'héritage des sous-agents](/docs/fr/agent-sdk/permissions#available-modes) décident quand il s'applique |170| `permissionMode` | `PermissionMode` | Non | Mode de permission pour l'exécution des outils au sein de cet agent. Les [règles d'héritage des sous-agents](/docs/fr/agent-sdk/permissions#available-modes) décident quand il s'applique |

170 171 


197Le tableau ci-dessous énumère ce que le contexte d'un sous-agent non-fork contient et ce qu'il exclut.198Le tableau ci-dessous énumère ce que le contexte d'un sous-agent non-fork contient et ce qu'il exclut.

198 199 

199| Le sous-agent reçoit | Le sous-agent ne reçoit pas |200| Le sous-agent reçoit | Le sous-agent ne reçoit pas |

200| :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------ |201| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------ |

201| Son propre prompt système (`AgentDefinition.prompt`) et le prompt de l'outil Agent | L'historique de conversation du parent ou les résultats des outils |202| Son propre prompt système (`AgentDefinition.prompt`) et le prompt de l'outil Agent | L'historique de conversation du parent ou les résultats des outils |

202| Project CLAUDE.md (chargé via [`settingSources`](/docs/fr/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)) | Contenu de compétences préchargées, sauf s'il est listé dans `AgentDefinition.skills` |203| Project CLAUDE.md (chargé via [`settingSources`](/docs/fr/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)), sauf si l'agent définit [`omitClaudeMd`](#agentdefinition-configuration) | Contenu de compétences préchargées, sauf s'il est listé dans `AgentDefinition.skills` |

203| Définitions d'outils (héritées du parent ou du sous-ensemble dans `tools`, [filtrées pour les exécutions en arrière-plan](/docs/fr/sub-agents#available-tools)) | Le prompt système du parent |204| Définitions d'outils (héritées du parent ou du sous-ensemble dans `tools`, [filtrées pour les exécutions en arrière-plan](/docs/fr/sub-agents#available-tools)) | Le prompt système du parent |

204 205 

205<Note>206<Note>


644Vous pouvez limiter cette croissance de trois façons : la profondeur d'imbrication des sous-agents, le nombre qui s'exécutent simultanément et le montant que la requête entière dépense. Définissez les limites de profondeur et de concurrence comme variables d'environnement via l'option [`env`](/docs/fr/agent-sdk/typescript#options), et la limite de dépenses comme option de requête :645Vous pouvez limiter cette croissance de trois façons : la profondeur d'imbrication des sous-agents, le nombre qui s'exécutent simultanément et le montant que la requête entière dépense. Définissez les limites de profondeur et de concurrence comme variables d'environnement via l'option [`env`](/docs/fr/agent-sdk/typescript#options), et la limite de dépenses comme option de requête :

645 646 

646| Limite | Définissez-la avec | Par défaut | Ce que Claude Code fait à la limite |647| Limite | Définissez-la avec | Par défaut | Ce que Claude Code fait à la limite |

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

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

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

650| 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`. 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. 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 652 

652Les 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 \$ :

653 654 

Details

487| `agent` | `string` | `undefined` | Nom de l'agent pour le thread principal. L'agent doit être défini dans l'option `agents` ou dans les paramètres |487| `agent` | `string` | `undefined` | Nom de l'agent pour le thread principal. L'agent doit être défini dans l'option `agents` ou dans les paramètres |

488| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Définir programmatiquement les sous-agents |488| `agents` | `Record<string, [`AgentDefinition`](#agentdefinition)>` | `undefined` | Définir programmatiquement les sous-agents |

489| `agentProgressSummaries` | `boolean` | `false` | Quand `true`, générer des résumés de progression d'une ligne pour les sous-agents et les transférer sur les événements [`task_progress`](#sdktaskprogressmessage) via le champ `summary`. S'applique aux sous-agents de premier plan et d'arrière-plan |489| `agentProgressSummaries` | `boolean` | `false` | Quand `true`, générer des résumés de progression d'une ligne pour les sous-agents et les transférer sur les événements [`task_progress`](#sdktaskprogressmessage) via le champ `summary`. S'applique aux sous-agents de premier plan et d'arrière-plan |

490| `allowDangerouslySkipPermissions` | `boolean` | `false` | Activer le contournement des permissions. Requis lors de l'utilisation de `permissionMode: 'bypassPermissions'` |490| `allowDangerouslySkipPermissions` | `boolean` | `false` | Activer le contournement des permissions. Requis lors de l'utilisation de `permissionMode: 'bypassPermissions'`, au démarrage ou ultérieurement via `setPermissionMode()`. Voir [mode plan](/docs/fr/agent-sdk/permissions#plan-mode-plan) pour savoir comment il interagit avec `permissionMode: 'plan'` |

491| `allowedTools` | `string[]` | `[]` | Outils à approuver automatiquement sans demander. Cela ne restreint pas Claude à seulement ces outils. Si vous nommez l'un des [outils de suivi des tâches](/docs/fr/agent-sdk/todo-tracking#model-availability) ici, Claude Code opte également la session. Les autres outils non répertoriés passent à `permissionMode` et `canUseTool`. Utilisez `disallowedTools` pour bloquer les outils. Voir [Permissions](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) |491| `allowedTools` | `string[]` | `[]` | Outils à approuver automatiquement sans demander. Cela ne restreint pas Claude à seulement ces outils. Si vous nommez l'un des [outils de suivi des tâches](/docs/fr/agent-sdk/todo-tracking#model-availability) ici, Claude Code opte également la session. Les autres outils non répertoriés passent à `permissionMode` et `canUseTool`. Utilisez `disallowedTools` pour bloquer les outils. Voir [Permissions](/docs/fr/agent-sdk/permissions#allow-and-deny-rules) |

492| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Activer les fonctionnalités bêta |492| `betas` | [`SdkBeta`](#sdkbeta)`[]` | `[]` | Activer les fonctionnalités bêta |

493| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Fonction de permission personnalisée, invoquée uniquement quand le [flux de permission](/docs/fr/agent-sdk/permissions#how-permissions-are-evaluated) se termine par une invite. Non invoquée pour les appels pré-approuvés par `allowedTools`, les règles d'autorisation, ou `permissionMode`. Une règle d'autorisation ne pré-approuve pas les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves). Voir [`CanUseTool`](#canusetool) pour les détails |493| `canUseTool` | [`CanUseTool`](#canusetool) | `undefined` | Fonction de permission personnalisée, invoquée uniquement quand le [flux de permission](/docs/fr/agent-sdk/permissions#how-permissions-are-evaluated) se termine par une invite. Non invoquée pour les appels pré-approuvés par `allowedTools`, les règles d'autorisation, ou `permissionMode`. Une règle d'autorisation ne pré-approuve pas les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves). Voir [`CanUseTool`](#canusetool) pour les détails |


502| `executable` | `'bun' \| 'deno' \| 'node'` | Détection automatique | Runtime JavaScript à utiliser |502| `executable` | `'bun' \| 'deno' \| 'node'` | Détection automatique | Runtime JavaScript à utiliser |

503| `executableArgs` | `string[]` | `[]` | Arguments à passer à l'exécutable |503| `executableArgs` | `string[]` | `[]` | Arguments à passer à l'exécutable |

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

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 |


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

511| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Délai d'expiration en millisecondes pour chaque appel `sessionStore.load()` et `sessionStore.listSubkeys()` lors de la matérialisation de la reprise. Si l'adaptateur ne se règle pas dans cette fenêtre, la requête échoue au lieu de rester bloquée. Ignoré quand `sessionStore` n'est pas défini |511| `loadTimeoutMs` | `number` | `60000` | *Alpha.* Délai d'expiration en millisecondes pour chaque appel `sessionStore.load()` et `sessionStore.listSubkeys()` lors de la matérialisation de la reprise. Si l'adaptateur ne se règle pas dans cette fenêtre, la requête échoue au lieu de rester bloquée. Ignoré quand `sessionStore` n'est pas défini |

512| `managedSettings` | `Settings` | `undefined` | Paramètres de niveau politique que votre processus hôte fournit à la session générée. Sur les machines avec des paramètres gérés déployés par l'administrateur, Claude Code ignore ceux-ci sauf si la source gérée de priorité la plus élevée de l'administrateur définit `parentSettingsBehavior: 'merge'`, et ne les fusionne jamais tandis qu'un [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés. Les valeurs fusionnées passent par un filtre restrictif uniquement ; [Restreindre les paramètres parents](/docs/fr/claude-apps-gateway#restrict-parent-settings) couvre ce que le filtre admet et les verrous `allowManaged*Only`. Un hôte qui définit [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars) a trois clés lues directement à partir de cette charge utile à la place : sa [configuration de modèle](/docs/fr/model-config#restrict-model-selection) sur Claude Code v2.1.222 ou ultérieur, [`modelPricing`](/docs/fr/settings-reference#modelpricing) quand aucune source gérée ne la définit sur v2.1.246 ou ultérieur, et son entrée `ENABLE_TOOL_SEARCH` env sur v2.1.247 ou ultérieur |512| `managedSettings` | `Settings` | `undefined` | Paramètres de niveau politique que votre processus hôte fournit à la session générée. Sur les machines avec des paramètres gérés déployés par l'administrateur, Claude Code ignore ceux-ci sauf si la source gérée de priorité la plus élevée de l'administrateur définit `parentSettingsBehavior: 'merge'`, et ne les fusionne jamais tandis qu'un [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés. Les valeurs fusionnées passent par un filtre restrictif uniquement ; [Restreindre les paramètres parents](/docs/fr/claude-apps-gateway#restrict-parent-settings) couvre ce que le filtre admet et les verrous `allowManaged*Only`. Un hôte qui définit [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars) a trois clés lues directement à partir de cette charge utile à la place : sa [configuration de modèle](/docs/fr/model-config#restrict-model-selection) sur Claude Code v2.1.222 ou ultérieur, [`modelPricing`](/docs/fr/settings-reference#modelpricing) quand aucune source gérée ne la définit sur v2.1.246 ou ultérieur, et son entrée `ENABLE_TOOL_SEARCH` env sur v2.1.247 ou ultérieur |

513| `maxBudgetUsd` | `number` | `undefined` | Arrêter la requête quand l'estimation du coût côté client atteint cette valeur en USD. Comparé à la même estimation que `total_cost_usd` ; voir [Suivi des coûts et de l'utilisation](/docs/fr/agent-sdk/cost-tracking) pour les avertissements de précision |513| `maxBudgetUsd` | `number` | `undefined` | Arrêter la requête quand l'estimation du coût côté client atteint cette valeur en USD. Comparé à la même estimation que `total_cost_usd`. Pour les avertissements de précision et le comportement de réinitialisation, voir [Suivi des coûts et de l'utilisation](/docs/fr/agent-sdk/cost-tracking) |

514| `maxThinkingTokens` | `number` | `undefined` | *Déprécié :* Utilisez `thinking` à la place. Tokens maximum pour le processus de réflexion |514| `maxThinkingTokens` | `number` | `undefined` | *Déprécié :* Utilisez `thinking` à la place. Tokens maximum pour le processus de réflexion |

515| `maxTurns` | `number` | `undefined` | Tours agentiques maximum (allers-retours d'utilisation d'outils) |515| `maxTurns` | `number` | `undefined` | Tours agentiques maximum (allers-retours d'utilisation d'outils) |

516| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurations de serveur MCP |516| `mcpServers` | `Record<string, [`McpServerConfig`](#mcpserverconfig)>` | `{}` | Configurations de serveur MCP |


533| `sessionId` | `string` | Généré automatiquement | Utiliser un UUID spécifique pour la session au lieu d'en générer un automatiquement |533| `sessionId` | `string` | Généré automatiquement | Utiliser un UUID spécifique pour la session au lieu d'en générer un automatiquement |

534| `sessionStore` | [`SessionStore`](/docs/fr/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Refléter les transcriptions de session vers un backend externe pour qu'un autre hôte puisse les reprendre. Voir [Persister les sessions vers un stockage externe](/docs/fr/agent-sdk/session-storage) |534| `sessionStore` | [`SessionStore`](/docs/fr/agent-sdk/session-storage#the-sessionstore-interface) | `undefined` | Refléter les transcriptions de session vers un backend externe pour qu'un autre hôte puisse les reprendre. Voir [Persister les sessions vers un stockage externe](/docs/fr/agent-sdk/session-storage) |

535| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* Mode de vidage pour `sessionStore`. Ignoré quand `sessionStore` n'est pas défini |535| `sessionStoreFlush` | `'batched' \| 'eager'` | `'batched'` | *Alpha.* Mode de vidage pour `sessionStore`. Ignoré quand `sessionStore` n'est pas défini |

536| `settings` | `string \| Settings` | `undefined` | Objet [paramètres](/docs/fr/settings) en ligne ou chemin vers un fichier de paramètres. Remplit la couche de paramètres d'indicateur dans l'[ordre de précédence](/docs/fr/settings#settings-precedence). Modifiez à l'exécution avec [`applyFlagSettings()`](#applyflagsettings) |536| `settings` | `string \| Settings` | `undefined` | Objet [paramètres](/docs/fr/settings) en ligne, chemin vers un fichier de paramètres, ou chaîne JSON en ligne. Remplit la couche de paramètres d'indicateur dans l'[ordre de précédence](/docs/fr/settings#settings-precedence). Modifiez à l'exécution avec [`applyFlagSettings()`](#applyflagsettings) |

537| `settingSources` | [`SettingSource`](#settingsource)`[]` | Paramètres par défaut de CLI (toutes les sources) | Contrôler les paramètres du système de fichiers à charger. Passez `[]` pour désactiver les paramètres utilisateur, projet et locaux. [La politique gérée par endpoint](/docs/fr/managed-settings#delivery-mechanisms) se charge indépendamment ; les paramètres gérés par le serveur sont récupérés quand la session s'authentifie avec une credential d'organisation sur une [configuration éligible](/docs/fr/server-managed-settings#platform-availability). Voir [Utiliser les fonctionnalités Claude Code](/docs/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) |537| `settingSources` | [`SettingSource`](#settingsource)`[]` | Paramètres par défaut de CLI (toutes les sources) | Contrôler les paramètres du système de fichiers à charger. Passez `[]` pour désactiver les paramètres utilisateur, projet et locaux. [La politique gérée par endpoint](/docs/fr/managed-settings#delivery-mechanisms) se charge indépendamment ; les paramètres gérés par le serveur sont récupérés quand la session s'authentifie avec une credential d'organisation sur une [configuration éligible](/docs/fr/server-managed-settings#platform-availability). Voir [Utiliser les fonctionnalités Claude Code](/docs/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

538| `skills` | `string[] \| 'all'` | `undefined` | Compétences disponibles pour la session. Passez `'all'` pour activer chaque compétence découverte, ou une liste de noms de compétences. Passez uniquement les noms exacts. Sur Agent SDK v0.3.221 ou ultérieur, le SDK rejette les noms mal formés et de forme wildcard avec une erreur avant de démarrer le processus Claude Code. Quand défini, le SDK ajoute l'outil Skill à `allowedTools` automatiquement. Si vous passez également `tools`, incluez `'Skill'` dans cette liste. Voir [Compétences](/docs/fr/agent-sdk/skills) |538| `skills` | `string[] \| 'all'` | `undefined` | Compétences disponibles pour la session. Passez `'all'` pour activer chaque compétence découverte, ou une liste de noms de compétences. Passez uniquement les noms exacts. Sur Agent SDK v0.3.221 ou ultérieur, le SDK rejette les noms mal formés et de forme wildcard avec une erreur avant de démarrer le processus Claude Code. Quand défini, le SDK ajoute l'outil Skill à `allowedTools` automatiquement. Si vous passez également `tools`, incluez `'Skill'` dans cette liste. Voir [Compétences](/docs/fr/agent-sdk/skills) |

539| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Fonction personnalisée pour générer le processus Claude Code. Utilisez pour exécuter Claude Code dans des VM, des conteneurs ou des environnements distants |539| `spawnClaudeCodeProcess` | `(options: SpawnOptions) => SpawnedProcess` | `undefined` | Fonction personnalisée pour générer le processus Claude Code. Utilisez pour exécuter Claude Code dans des VM, des conteneurs ou des environnements distants |


636| `interrupt()` | Interrompt la requête. Disponible uniquement en mode d'entrée en diffusion. Quand la CLI annonce la capacité `interrupt_receipt_v1` dans [`SDKSystemMessage.capabilities`](#sdksystemmessage), se résout avec une [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) listant les messages qui étaient en attente quand l'interruption est arrivée. Se résout à `undefined` sur les CLI antérieures à v2.1.205 |636| `interrupt()` | Interrompt la requête. Disponible uniquement en mode d'entrée en diffusion. Quand la CLI annonce la capacité `interrupt_receipt_v1` dans [`SDKSystemMessage.capabilities`](#sdksystemmessage), se résout avec une [`SDKControlInterruptResponse`](#sdkcontrolinterruptresponse) listant les messages qui étaient en attente quand l'interruption est arrivée. Se résout à `undefined` sur les CLI antérieures à v2.1.205 |

637| `rewindFiles(userMessageId, options?)` | Restaure les fichiers à leur état au message utilisateur spécifié. Passez `{ dryRun: true }` pour prévisualiser les modifications. Nécessite `enableFileCheckpointing: true`. Voir [Sauvegarde de fichiers](/docs/fr/agent-sdk/file-checkpointing) |637| `rewindFiles(userMessageId, options?)` | Restaure les fichiers à leur état au message utilisateur spécifié. Passez `{ dryRun: true }` pour prévisualiser les modifications. Nécessite `enableFileCheckpointing: true`. Voir [Sauvegarde de fichiers](/docs/fr/agent-sdk/file-checkpointing) |

638| `setPermissionMode()` | Change le mode de permission (disponible uniquement en mode d'entrée en diffusion) |638| `setPermissionMode()` | Change le mode de permission (disponible uniquement en mode d'entrée en diffusion) |

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 la session |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) |

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

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

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


673 673 

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

675 675 

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 et revenir aux sources de précédence inférieure, passez `null` pour cette clé. Passer `undefined` n'a aucun effet car la sérialisation JSON le supprime.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.

677 677 

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

679 679 

680L'exemple ci-dessous bascule le modèle actif en milieu de session, puis efface le remplacement pour que le modèle revienne à ce que les paramètres utilisateur ou projet spécifient.680L'exemple ci-dessous bascule le modèle actif en milieu de session, puis efface le remplacement pour que le modèle revienne au [modèle par défaut de Claude Code](/docs/fr/model-config).

681 681 

682```typescript theme={null}682```typescript theme={null}

683import { query } from "@anthropic-ai/claude-agent-sdk";683import { query } from "@anthropic-ai/claude-agent-sdk";


687// Remplacer le modèle pour le reste de la session687// Remplacer le modèle pour le reste de la session

688await q.applyFlagSettings({ model: "claude-opus-4-6" });688await q.applyFlagSettings({ model: "claude-opus-4-6" });

689 689 

690// Plus tard : effacer le remplacement et revenir aux paramètres de précédence inférieure690// Plus tard : effacer le remplacement ; le modèle réinitialise au modèle par défaut de Claude Code

691await q.applyFlagSettings({ model: null });691await q.applyFlagSettings({ model: null });

692```692```

693 693 


743 743 

744Claude Code omet le champ quand la demande ne portait aucun hook. Quand la demande portait des hooks, la valeur dépend de si c'est la première initialisation de la session et, pour une répétée, de comment elle a atteint la session :744Claude Code omet le champ quand la demande ne portait aucun hook. Quand la demande portait des hooks, la valeur dépend de si c'est la première initialisation de la session et, pour une répétée, de comment elle a atteint la session :

745 745 

746* `true` : Claude Code a enregistré les hooks. La première initialisation d'une session retourne cette valeur. Tout comme une initialisation répétée envoyée sur stdin de la CLI. Dans ce cas, les hooks dans la nouvelle demande remplacent les hooks enregistrés plus tôt.746* `true` : Claude Code a enregistré les hooks. La première initialisation d'une session retourne cette valeur. Une initialisation répétée envoyée sur stdin de la CLI retourne également cette valeur. Dans ce cas, les hooks dans la nouvelle demande remplacent les hooks enregistrés plus tôt.

747* `false` : Claude Code a ignoré les hooks. Une initialisation répétée envoyée à une session distante retourne cette valeur, donc un deuxième client qui rejoint une session ne peut pas remplacer les hooks que le premier client a enregistrés.747* `false` : Claude Code a ignoré les hooks. Une initialisation répétée envoyée à une session distante retourne cette valeur, donc un deuxième client qui rejoint une session ne peut pas remplacer les hooks que le premier client a enregistrés.

748 748 

749Avant Agent SDK v0.3.238, la réponse ne portait jamais le champ, et Claude Code ignorait `hooks` à chaque initialisation répétée.749Avant Agent SDK v0.3.238, la réponse ne portait jamais le champ, et Claude Code ignorait `hooks` à chaque initialisation répétée.


960 initialPrompt?: string;960 initialPrompt?: string;

961 maxTurns?: number;961 maxTurns?: number;

962 background?: boolean;962 background?: boolean;

963 omitClaudeMd?: boolean;

963 memory?: "user" | "project" | "local";964 memory?: "user" | "project" | "local";

964 effort?: "low" | "medium" | "high" | "xhigh" | "max" | number;965 effort?: "low" | "medium" | "high" | "xhigh" | "max" | number;

965 permissionMode?: PermissionMode;966 permissionMode?: PermissionMode;


968```969```

969 970 

970| Champ | Requis | Description |971| Champ | Requis | Description |

971| :------------------------------------ | :----- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |972| :------------------------------------ | :----- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

972| `description` | Oui | Description en langage naturel de quand utiliser cet agent |973| `description` | Oui | Description en langage naturel de quand utiliser cet agent |

973| `tools` | Non | Tableau de noms d'outils autorisés. S'il est omis, hérite chaque [outil disponible pour les sous-agents](/docs/fr/sub-agents#available-tools). Pour précharger les compétences dans le contexte de l'agent, utilisez le champ `skills` plutôt que de lister `'Skill'` ici |974| `tools` | Non | Tableau de noms d'outils autorisés. S'il est omis, hérite chaque [outil disponible pour les sous-agents](/docs/fr/sub-agents#available-tools). Pour précharger les compétences dans le contexte de l'agent, utilisez le champ `skills` plutôt que de lister `'Skill'` ici |

974| `disallowedTools` | Non | Tableau de noms d'outils à explicitement interdire pour cet agent. Les modèles au niveau du serveur MCP sont également acceptés : `mcp__server` ou `mcp__server__*` supprime chaque outil de ce serveur, et `mcp__*` supprime chaque outil MCP de n'importe quel serveur |975| `disallowedTools` | Non | Tableau de noms d'outils à explicitement interdire pour cet agent. Les modèles au niveau du serveur MCP sont également acceptés : `mcp__server` ou `mcp__server__*` supprime chaque outil de ce serveur, et `mcp__*` supprime chaque outil MCP de n'importe quel serveur |


979| `initialPrompt` | Non | Auto-soumis comme le premier tour utilisateur quand cet agent s'exécute en tant qu'agent du thread principal |980| `initialPrompt` | Non | Auto-soumis comme le premier tour utilisateur quand cet agent s'exécute en tant qu'agent du thread principal |

980| `maxTurns` | Non | Nombre maximum de tours agentiques (allers-retours API) avant arrêt |981| `maxTurns` | Non | Nombre maximum de tours agentiques (allers-retours API) avant arrêt |

981| `background` | Non | Exécuter cet agent en tant que tâche de fond non-bloquante quand invoqué |982| `background` | Non | Exécuter cet agent en tant que tâche de fond non-bloquante quand invoqué |

983| `omitClaudeMd` | Non | Exécuter cet agent sans les fichiers CLAUDE.md utilisateur, projet et locaux quand il s'exécute en tant que sous-agent ; les fichiers de politique gérée se chargent toujours. Utilisez-le pour les agents qui prennent tout ce dont ils ont besoin à partir de l'invite du tool Agent. Ignoré quand cet agent s'exécute en tant qu'agent du thread principal. Nécessite TypeScript Agent SDK v0.3.271 ou ultérieur |

982| `memory` | Non | Source de mémoire pour cet agent : `'user'`, `'project'`, ou `'local'` |984| `memory` | Non | Source de mémoire pour cet agent : `'user'`, `'project'`, ou `'local'` |

983| `effort` | Non | Niveau d'effort de raisonnement pour cet agent. Accepte un niveau nommé ou un entier |985| `effort` | Non | Niveau d'effort de raisonnement pour cet agent. Accepte un niveau nommé ou un entier |

984| `permissionMode` | Non | Mode de permission pour l'exécution des outils dans cet agent. Les [règles d'héritage de sous-agent](/docs/fr/agent-sdk/permissions#available-modes) décident quand il s'applique. Voir [`PermissionMode`](#permissionmode) |986| `permissionMode` | Non | Mode de permission pour l'exécution des outils dans cet agent. Les [règles d'héritage de sous-agent](/docs/fr/agent-sdk/permissions#available-modes) décident quand il s'applique. Voir [`PermissionMode`](#permissionmode) |


1094 signal: AbortSignal;1096 signal: AbortSignal;

1095 suggestions?: PermissionUpdate[];1097 suggestions?: PermissionUpdate[];

1096 blockedPath?: string;1098 blockedPath?: string;

1099 mcpServer?: { name: string; source: string };

1097 decisionReason?: string;1100 decisionReason?: string;

1098 toolUseID: string;1101 toolUseID: string;

1099 agentID?: string;1102 agentID?: string;


1107| `signal` | `AbortSignal` | Signalé si l'opération doit être abandonnée |1110| `signal` | `AbortSignal` | Signalé si l'opération doit être abandonnée |

1108| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Mises à jour de permission suggérées pour que l'utilisateur ne soit pas invité à nouveau pour cet outil. Les invites Bash incluent une suggestion avec la destination [`localSettings`](#permissionupdatedestination), donc retourner dans `updatedPermissions` écrit la règle à `.claude/settings.local.json` et persiste entre les sessions. |1111| `suggestions` | [`PermissionUpdate`](#permissionupdate)`[]` | Mises à jour de permission suggérées pour que l'utilisateur ne soit pas invité à nouveau pour cet outil. Les invites Bash incluent une suggestion avec la destination [`localSettings`](#permissionupdatedestination), donc retourner dans `updatedPermissions` écrit la règle à `.claude/settings.local.json` et persiste entre les sessions. |

1109| `blockedPath` | `string` | Le chemin de fichier qui a déclenché la demande de permission, le cas échéant |1112| `blockedPath` | `string` | Le chemin de fichier qui a déclenché la demande de permission, le cas échéant |

1113| `mcpServer` | `{ name: string; source: string }` | Pour un outil `mcp__*`, le serveur MCP qui le sert et d'où la définition de ce serveur provient, avec les champs de [`McpServerProvenance`](#mcpserverprovenance). Absent pour les autres outils. Nécessite Agent SDK v0.3.274 ou ultérieur |

1110| `decisionReason` | `string` | Explique pourquoi cette demande de permission a été déclenchée |1114| `decisionReason` | `string` | Explique pourquoi cette demande de permission a été déclenchée |

1111| `toolUseID` | `string` | Identifiant unique pour cet appel d'outil spécifique dans le message assistant |1115| `toolUseID` | `string` | Identifiant unique pour cet appel d'outil spécifique dans le message assistant |

1112| `agentID` | `string` | Si exécuté dans un sous-agent, l'ID du sous-agent |1116| `agentID` | `string` | Si exécuté dans un sous-agent, l'ID du sous-agent |


1463 permission_denials: SDKPermissionDenial[];1467 permission_denials: SDKPermissionDenial[];

1464 queued_turn_count?: number;1468 queued_turn_count?: number;

1465 errors: string[];1469 errors: string[];

1470 startup_failure_reason?: SDKStartupFailureReason;

1466 user_message_uuid?: string;1471 user_message_uuid?: string;

1467 user_message_uuids?: string[];1472 user_message_uuids?: string[];

1468 terminal_reason?: TerminalReason;1473 terminal_reason?: TerminalReason;


1486* `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.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.

1487* `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.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.

1488* `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.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.

1494*

1495 

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.

1497 

1489* `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"`.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"`.

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

1491* `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.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.


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

1523 1532 

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

1525*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.

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

1527**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.

1528 

1529*

1530 

1531**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.

1532 1536 

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

1534 1538 

1535* **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.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.

1536*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.

1537 

1538**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.

1539 

1540* **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.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.

1541 1542 

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


1569* **`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.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.

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

1571 1572 

1573<h4 id="startup_failure_reason">

1574 `startup_failure_reason`

1575</h4>

1576 

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.

1578 

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 :

1580 

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.

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.

1583 

1584```typescript theme={null}

1585type SDKStartupFailureReason =

1586 | "org_pin_api_key_conflict"

1587 | "org_verify_failed"

1588 | "org_pin_mismatch"

1589 | "managed_settings_invalid"

1590 | "remote_settings_required_unavailable"

1591 | "gateway_signin_required"

1592 | "gateway_access_denied"

1593 | "proxy_invalid"

1594 | "temp_dir_unusable"

1595 | "cwd_unavailable"

1596 | "shell_tool_missing"

1597 | "session_held_by_background"

1598 | "worktree_resume_refused"

1599 | "worktree_unverified"

1600 | "cli_version_too_old"

1601 | "bypass_root";

1602```

1603 

1604Chaque valeur nomme un refus :

1605 

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

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

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 |

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é |

1610| `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 |

1612| `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 |

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 |

1615| `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éé |

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

1619| `session_held_by_background` | La conversation à reprendre ou continuer s'exécute en tant que [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 |

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 |

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

1623| `bypass_root` | Le mode de permissions de contournement a été demandé lors de l'exécution en tant que root |

1624 

1572<h3 id="sdksystemmessage">1625<h3 id="sdksystemmessage">

1573 `SDKSystemMessage`1626 `SDKSystemMessage`

1574</h3>1627</h3>


1590 mcp_servers: {1643 mcp_servers: {

1591 name: string;1644 name: string;

1592 status: string;1645 status: string;

1646 source?: string;

1593 }[];1647 }[];

1594 model: string;1648 model: string;

1595 permissionMode: PermissionMode;1649 permissionMode: PermissionMode;


1611 1665 

1612*1666*

1613 1667 

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.

1669 

1670*

1671 

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

1615 1673 

1616Le 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.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.


1720É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 :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 :

1721 1779 

1722* **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.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.

1723*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.

1724 

1725**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.

1726 

1727* **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.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.

1728*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.

1729 

1730**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.

1731 1784 

1732Dans 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é.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é.

1733 1786 


2092 tool_name: string;2145 tool_name: string;

2093 tool_input: unknown;2146 tool_input: unknown;

2094 tool_use_id: string;2147 tool_use_id: string;

2148 mcp_server?: McpServerProvenance;

2095};2149};

2096```2150```

2097 2151 

2152`mcp_server` est présent quand l'outil provient d'un serveur MCP ; voir [`McpServerProvenance`](#mcpserverprovenance). Les entrées `PostToolUse`, `PostToolUseFailure`, `PermissionRequest` et `PermissionDenied` portent le même champ. Le champ nécessite Agent SDK v0.3.274 ou ultérieur.

2153 

2098<h4 id="posttoolusehookinput">2154<h4 id="posttoolusehookinput">

2099 `PostToolUseHookInput`2155 `PostToolUseHookInput`

2100</h4>2156</h4>


2107 tool_response: unknown;2163 tool_response: unknown;

2108 tool_use_id: string;2164 tool_use_id: string;

2109 duration_ms?: number;2165 duration_ms?: number;

2166 mcp_server?: McpServerProvenance;

2110};2167};

2111```2168```

2112 2169 


2123 error: string;2180 error: string;

2124 is_interrupt?: boolean;2181 is_interrupt?: boolean;

2125 duration_ms?: number;2182 duration_ms?: number;

2183 mcp_server?: McpServerProvenance;

2126};2184};

2127```2185```

2128 2186 


2157 tool_input: unknown;2215 tool_input: unknown;

2158 tool_use_id: string;2216 tool_use_id: string;

2159 reason: string;2217 reason: string;

2218 mcp_server?: McpServerProvenance;

2160};2219};

2161```2220```

2162 2221 


2376 tool_name: string;2435 tool_name: string;

2377 tool_input: unknown;2436 tool_input: unknown;

2378 permission_suggestions?: PermissionUpdate[];2437 permission_suggestions?: PermissionUpdate[];

2438 mcp_server?: McpServerProvenance;

2379};2439};

2380```2440```

2381 2441 


2888 2948 

2889```typescript theme={null}2949```typescript theme={null}

2890type MonitorInput = {2950type MonitorInput = {

2951 description: string;

2952 timeout_ms: number;

2891 command?: string;2953 command?: string;

2892 ws?: {2954 ws?: {

2893 url: string;2955 url: string;

2894 protocols?: string[];2956 protocols?: string[];

2895 };2957 };

2896 description: string;

2897 timeout_ms: number;

2898 persistent: boolean;

2899};2958};

2900```2959```

2901 2960 

2902Exé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.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.

2903 2962 

2904Définissez `persistent: true` pour les montres de longueur de session telles que les queues de journal. Lorsque Monitor exécute une commande, il suit les mêmes règles de permission que Bash ; une montre WebSocket demande une approbation séparément. Voir la [référence de l'outil Monitor](/docs/fr/tools-reference#monitor-tool) pour le comportement et la disponibilité du fournisseur. Le type exporté marque `timeout_ms` et `persistent` comme requis car le schéma remplit leurs valeurs par défaut, 300000 et `false` ; un appel qui les omet valide.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.

2964 

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

2966 

2967Lorsque Monitor exécute une commande, il suit les mêmes règles de permission que Bash ; une montre WebSocket demande une approbation séparément. Voir la [référence de l'outil Monitor](/docs/fr/tools-reference#monitor-tool) pour le comportement et la disponibilité du fournisseur.

2905 2968 

2906<h3 id="taskoutput">2969<h3 id="taskoutput">

2907 TaskOutput2970 TaskOutput


4118 summary?: string;4181 summary?: string;

4119 transcriptDir?: string;4182 transcriptDir?: string;

4120 scriptPath?: string;4183 scriptPath?: string;

4121 sessionUrl?: string; // set when the workflow launched as a remote session4184 sessionUrl?: string; // set when the workflow launched as a cloud session

4122 warning?: string;4185 warning?: string;

4123 error?: string;4186 error?: string;

4124};4187};


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

4893| `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) |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) |

4894 4957 

4958<h3 id="mcpserverprovenance">

4959 `McpServerProvenance`

4960</h3>

4961 

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.

4963 

4964```typescript theme={null}

4965type McpServerProvenance = {

4966 name: string;

4967 source: string;

4968};

4969```

4970 

4971| Champ | Type | Description |

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

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

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

4975 

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` :

4977 

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.

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

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

4981 

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.

4983 

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

4985 

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

4896 `McpServerStatus`4987 `McpServerStatus`

4897</h3>4988</h3>


4909 error?: string;5000 error?: string;

4910 config?: McpServerStatusConfig;5001 config?: McpServerStatusConfig;

4911 scope?: string;5002 scope?: string;

5003 source?: string;

4912 tools?: {5004 tools?: {

4913 name: string;5005 name: string;

4914 description?: string;5006 description?: string;


4921};5013};

4922```5014```

4923 5015 

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.

5017 

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

4925 `McpServerStatusConfig`5019 `McpServerStatusConfig`

4926</h3>5020</h3>


5668| :-------------------------- | :---------------------------------------------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |5762| :-------------------------- | :---------------------------------------------------- | :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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

5670| `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 |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 |

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

5672| `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 |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 |

5673| `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) |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) |

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

Details

12 Pour migrer, utilisez l'[API `query()`](/docs/fr/agent-sdk/typescript) et les [options de session](/docs/fr/agent-sdk/sessions) qu'elle accepte. Passez un `AsyncIterable<SDKUserMessage>` pour les conversations multi-tours, ou `options.resume` pour continuer une session sauvegardée. Cette page est conservée à titre de référence si vous maintenez du code sur Agent SDK 0.2.x ou antérieur.12 Pour migrer, utilisez l'[API `query()`](/docs/fr/agent-sdk/typescript) et les [options de session](/docs/fr/agent-sdk/sessions) qu'elle accepte. Passez un `AsyncIterable<SDKUserMessage>` pour les conversations multi-tours, ou `options.resume` pour continuer une session sauvegardée. Cette page est conservée à titre de référence si vous maintenez du code sur Agent SDK 0.2.x ou antérieur.

13</Warning>13</Warning>

14 14 

15V2 était une API de session expérimentale qui supprimait le besoin de générateurs asynchrones et de coordination de rendement. Au lieu de gérer l'état du générateur entre les tours, chaque tour était un cycle `send()`/`stream()` séparé. La surface de l'API se réduisait à trois concepts :15V2 était une API de session expérimentale qui supprimait le besoin de générateurs asynchrones et de coordination de rendement. Au lieu de gérer l'état du générateur entre les tours, chaque tour était un cycle `send()`/`stream()` séparé. La surface de l'API se réduisait à créer une session, envoyer un message et diffuser la réponse :

16 16 

17* `createSession()` / `resumeSession()` : Démarrer ou continuer une conversation17* `createSession()` / `resumeSession()` : Démarrer ou continuer une conversation

18* `session.send()` : Envoyer un message18* `session.send()` : Envoyer un message

Details

555L'entrée contient les questions générées par Claude dans un tableau `questions`. Chaque question a ces champs :555L'entrée contient les questions générées par Claude dans un tableau `questions`. Chaque question a ces champs :

556 556 

557| Champ | Description |557| Champ | Description |

558| ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |558| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |

559| `question` | Le texte complet de la question à afficher |559| `question` | Le texte complet de la question à afficher |

560| `header` | Étiquette courte pour la question (max 12 caractères) |560| `header` | Étiquette courte pour la question (max 12 caractères) |

561| `options` | Tableau de 2-4 choix, chacun avec `label` et `description`. TypeScript : optionnellement `preview` (voir [ci-dessous](#option-previews-typescript)) |561| `options` | Tableau de 2-4 choix, chacun avec `label` et `description`. TypeScript : optionnellement `preview`. Voir [Aperçus d'options](#option-previews-typescript). |

562| `multiSelect` | Si `true`, les utilisateurs peuvent sélectionner plusieurs options |562| `multiSelect` | Si `true`, les utilisateurs peuvent sélectionner plusieurs options |

563 563 

564La structure que votre callback reçoit :564La structure que votre callback reçoit :

agent-teams.md +5 −1

Details

120 `tmux` a des limitations connues sur certains systèmes d'exploitation et fonctionne traditionnellement mieux sur macOS. L'utilisation de `tmux -CC` dans iTerm2 est le point d'entrée suggéré dans `tmux`.120 `tmux` a des limitations connues sur certains systèmes d'exploitation et fonctionne traditionnellement mieux sur macOS. L'utilisation de `tmux -CC` dans iTerm2 est le point d'entrée suggéré dans `tmux`.

121</Note>121</Note>

122 122 

123La valeur par défaut est `"in-process"`. Avant la v2.1.179, la valeur par défaut était `"auto"`, donc les sessions mises à niveau qui ouvraient précédemment des volets divisés restent maintenant dans un terminal sauf si vous définissez le mode explicitement. Définissez `"auto"` pour activer les volets divisés lorsque vous êtes déjà en train de s'exécuter dans une session tmux ou si votre terminal est iTerm2, en revenant à in-process sinon. Le paramètre `"tmux"` active le mode volets divisés et détecte automatiquement s'il faut utiliser tmux ou iTerm2 en fonction de votre terminal.123La valeur par défaut est `"in-process"`. Définissez `"auto"` pour activer les volets divisés lorsque vous êtes déjà en train de s'exécuter dans une session tmux, ou lorsque votre terminal est iTerm2 avec le CLI `it2` installé, en revenant à in-process sinon. Le paramètre `"tmux"` active le mode volets divisés et détecte automatiquement s'il faut utiliser tmux ou iTerm2 en fonction de votre terminal.

124 124 

125À partir de la v2.1.186, définissez `"iterm2"` pour utiliser explicitement les volets divisés natifs d'iTerm2. Ce mode nécessite le CLI [`it2`](https://github.com/mkusaka/it2) et affiche une erreur avec la commande d'installation si `it2` est manquant. L'invite de configuration qui propose d'installer `it2` ou de basculer vers tmux apparaît sous `"auto"` ou `"tmux"` lorsque votre terminal est iTerm2 et que tmux est disponible comme solution de secours.125À partir de la v2.1.186, définissez `"iterm2"` pour utiliser explicitement les volets divisés natifs d'iTerm2. Ce mode nécessite le CLI [`it2`](https://github.com/mkusaka/it2) et affiche une erreur avec la commande d'installation si `it2` est manquant. L'invite de configuration qui propose d'installer `it2` ou de basculer vers tmux apparaît sous `"auto"` ou `"tmux"` lorsque votre terminal est iTerm2 et que tmux est disponible comme solution de secours.

126 126 


310* **`skills`** : Claude Code n'applique pas les `skills` de la définition à un coéquipier dans l'un ou l'autre mode d'affichage. Le coéquipier charge les skills à partir de vos paramètres de projet et d'utilisateur.310* **`skills`** : Claude Code n'applique pas les `skills` de la définition à un coéquipier dans l'un ou l'autre mode d'affichage. Le coéquipier charge les skills à partir de vos paramètres de projet et d'utilisateur.

311* **`mcpServers`** : pour un coéquipier en volet divisé, Claude Code applique les `mcpServers` de la définition selon les [règles pour ce champ](/docs/fr/sub-agents#scope-mcp-servers-to-a-subagent), qui couvrent également une session démarrée avec `--agent`. Un coéquipier en processus ignore le champ et charge les serveurs MCP à partir de vos paramètres de projet et d'utilisateur.311* **`mcpServers`** : pour un coéquipier en volet divisé, Claude Code applique les `mcpServers` de la définition selon les [règles pour ce champ](/docs/fr/sub-agents#scope-mcp-servers-to-a-subagent), qui couvrent également une session démarrée avec `--agent`. Un coéquipier en processus ignore le champ et charge les serveurs MCP à partir de vos paramètres de projet et d'utilisateur.

312 312 

313Lorsque Claude envoie un message à un coéquipier en processus qui n'est plus en cours d'exécution, Claude Code le relance dans la même session, restaure toute conversation enregistrée pour lui, et lui donne le message comme son prochain prompt. Après avoir repris une session, les coéquipiers ne sont pas relancés de cette manière, selon [la limitation de reprise](#limitations).

314 

315Pour un coéquipier qu'il relance, Claude Code réapplique une définition qui provient du répertoire `.claude/agents/` d'un projet ou d'un répertoire `--add-dir` uniquement si vous avez [approuvé le dossier dans lequel se trouve le fichier d'agent](/docs/fr/permissions#what-runs-before-you-trust-a-folder). Approuver un dossier parent ne compte pas. Jusqu'à ce moment, le coéquipier revient sans aucun des outils ou instructions de la définition, en conservant uniquement les outils que Claude Code ajoute à chaque coéquipier en processus. Consultez [la définition d'agent du coéquipier n'a pas été restaurée](/docs/fr/errors#teammate-agent-definition-not-restored) pour le texte de la notification.

316 

313<h3 id="permissions">317<h3 id="permissions">

314 Permissions318 Permissions

315</h3>319</h3>

agent-view.md +519 −235

Details

16 16 

17Quand vous voulez travailler plus directement dans la session d'un agent, attachez-vous à la ligne pour entrer dans la conversation complète.17Quand vous voulez travailler plus directement dans la session d'un agent, attachez-vous à la ligne pour entrer dans la conversation complète.

18 18 

19Pour comparer la vue agent avec les sous-agents, les équipes d'agents et les worktrees, consultez [Exécuter les agents en parallèle](/docs/fr/agents).19Pour comparer la vue agent avec les sous-agents, les équipes d'agents et les worktrees, consultez [Exécuter les agents en parallèle](/docs/fr/agents). La vue agent exécute les sessions sur votre machine et vous lancez chacune d'elles ; pour que Claude démarre et suive les sessions parallèles dans le cloud à partir d'une seule conversation, consultez [Projets](/docs/fr/claude-projects).

20 20 

21<Note>21<Note>

22 La vue agent est un aperçu de recherche et nécessite Claude Code v2.1.139 ou ultérieur. Vérifiez votre version avec `claude --version`. L'interface et les raccourcis clavier peuvent changer à mesure que la fonctionnalité évolue.22 La vue agent est en aperçu de recherche. L'interface et les raccourcis clavier peuvent changer à mesure que la fonctionnalité évolue.

23</Note>23</Note>

24 24 

25Cette page couvre :

26 

27* [Démarrage rapide](#quick-start) : donnez à Claude une tâche à accomplir en arrière-plan, vérifiez-la et intervenez quand c'est nécessaire

28* [Surveiller les sessions avec la vue agent](#monitor-sessions-with-agent-view), y compris les icônes d'état, l'aperçu et la réponse, l'attachement, l'organisation et les raccourcis clavier

29* [Lancer de nouveaux agents](#dispatch-new-agents) à partir de la vue agent, depuis l'intérieur d'une session, ou depuis votre shell

30* [Gérer les sessions depuis le shell](#manage-sessions-from-the-shell) avec `claude agents`, `claude attach` et les commandes associées

31* [Comment les sessions en arrière-plan sont hébergées](#how-background-sessions-are-hosted) par le processus superviseur

32 

33<h2 id="quick-start">25<h2 id="quick-start">

34 Démarrage rapide26 Démarrage rapide

35</h2>27</h2>


44 claude agents36 claude agents

45 ```37 ```

46 38 

47 La vue agent s'ouvre avec une entrée en bas et un tableau qui se remplit au fur et à mesure que les sessions commencent. Appuyez sur `Esc` à tout moment pour revenir à votre shell. Vos sessions continuent de s'exécuter pendant que vous êtes absent et réapparaissent la prochaine fois que vous ouvrez la vue agent.39 Si vous n'avez pas encore accepté la [boîte de dialogue de confiance de l'espace de travail](/docs/fr/permissions#project-allow-rules-and-workspace-trust) pour le répertoire, Claude Code l'affiche avant que la vue agent ne s'ouvre, la même boîte de dialogue que `claude` affiche. Acceptez pour enregistrer la confiance pour l'espace de travail et continuer. Si vous refusez, Claude Code se ferme sans ouvrir la vue agent.

40 

41 La vue agent s'ouvre avec une entrée en bas et un tableau qui se remplit au fur et à mesure que les sessions commencent. Appuyez sur `Esc` pour revenir à votre shell ; si vous avez ouvert la vue agent en mettant une session en arrière-plan avec `←`, `Esc` revient à cette conversation à la place. Vos sessions continuent de s'exécuter pendant que vous êtes absent et réapparaissent la prochaine fois que vous ouvrez la vue agent.

48 </Step>42 </Step>

49 43 

50 <Step title="Dispatcher une session">44 <Step title="Dispatcher une session">

51 Tapez une invite décrivant une tâche et appuyez sur `Entrée`. Une nouvelle session en arrière-plan démarre sur cette tâche et apparaît sous forme de ligne indiquant si elle fonctionne, attend votre intervention, ou est terminée. La nouvelle session utilise le modèle affiché dans l'en-tête de la vue agent et le même [mode de permission](#permission-mode-model-and-effort) que vous obtiendriez en exécutant `claude` dans ce répertoire.45 Tapez une invite décrivant une tâche et appuyez sur `Entrée`. Une nouvelle session en arrière-plan démarre sur cette tâche et apparaît sous forme de ligne indiquant si elle fonctionne, attend votre intervention, ou est terminée. La nouvelle session utilise le modèle affiché dans l'en-tête de la vue agent. [Le mode de permission dans lequel elle démarre](#permission-mode-model-and-effort) dépend de la façon dont vous avez ouvert la vue agent.

52 46 

53 Chaque invite que vous entrez ici démarre sa propre nouvelle session. Taper une autre invite et appuyer sur `Entrée` lance une deuxième session aux côtés de la première plutôt que d'envoyer un suivi à celle-ci. Vous pouvez en exécuter plusieurs en parallèle de cette façon.47 Chaque invite que vous entrez ici démarre sa propre nouvelle session. Taper une autre invite et appuyer sur `Entrée` lance une deuxième session aux côtés de la première plutôt que d'envoyer un suivi à celle-ci. Vous pouvez en exécuter plusieurs en parallèle de cette façon.

54 48 


64 </Step>58 </Step>

65 59 

66 <Step title="Amener une session existante">60 <Step title="Amener une session existante">

67 Cette étape nécessite une session en cours d'exécution. Si vous avez suivi les étapes précédentes, vous n'en avez pas ouverte dans ce terminal, ouvrez donc une session `claude` régulière dans un autre terminal et envoyez-lui d'abord un message. Pour déplacer une session que vous avez déjà ouverte dans la vue agent, exécutez `/bg` à l'intérieur, ou appuyez sur `←` sur une invite vide pour la mettre en arrière-plan et ouvrir la vue agent en une seule étape. La session continue de s'exécuter et apparaît sous forme de ligne aux côtés de celles que vous avez dispatchées.61 Cette étape nécessite une session en cours d'exécution. Si vous avez suivi les étapes précédentes, vous n'en avez pas ouverte dans ce terminal, ouvrez donc une session `claude` régulière dans un autre terminal et envoyez-lui d'abord un message.

62 

63 Pour déplacer une session que vous avez déjà ouverte dans la vue agent, exécutez `/bg` à l'intérieur, ou appuyez sur `←` sur une invite vide pour la mettre en arrière-plan et ouvrir la vue agent en une seule étape. Dans une session nouvelle sans messages encore, `/bg` vous demande d'envoyer d'abord un message, tandis que `←` fonctionne immédiatement. La session continue de s'exécuter et apparaît sous forme de ligne aux côtés de celles que vous avez dispatchées.

68 </Step>64 </Step>

69</Steps>65</Steps>

70 66 

71Vous pouvez utiliser `claude agents` comme point d'entrée principal au lieu de `claude` : dispatcher chaque tâche à partir de la vue agent, vous attacher quand vous voulez la conversation complète, et appuyer sur `←` pour revenir au tableau.67Vous pouvez utiliser `claude agents` comme point d'entrée principal au lieu de `claude` : dispatcher chaque tâche à partir de la vue agent, vous attacher quand vous voulez la conversation complète, et appuyer sur `←` pour revenir au tableau.

72 68 

73À l'intérieur d'une session `claude` régulière, l'indice `←` du pied de page de l'invite compte les agents en arrière-plan qui attendent votre intervention, comme `← 2 agents`, et revient à `← for agents` quand aucun n'a besoin d'entrée. Les comptages supérieurs à 99 s'affichent comme `99+`. Le comptage se rafraîchit environ toutes les dix secondes lorsque le terminal est actif et immédiatement quand le focus revient. Il change brièvement de couleur quand il se déplace et quand un agent se termine, sauf si le paramètre [`prefersReducedMotion`](/docs/fr/settings#available-settings) est activé, et il est masqué en [mode lecteur d'écran](/docs/fr/accessibility). Sur [Amazon Bedrock, Google Cloud's Agent Platform, et Microsoft Foundry](/docs/fr/third-party-integrations), l'indice reste sous sa forme simple `← for agents` sans le comptage. Nécessite Claude Code v2.1.205 ou ultérieur.69À l'intérieur d'une session `claude` régulière, l'indice `←` du pied de page de l'invite compte les agents en arrière-plan qui attendent votre intervention, comme `← 2 agents`, et revient à `← for agents` quand aucun n'a besoin d'entrée. Les comptages supérieurs à 99 s'affichent comme `99+`. Le comptage se rafraîchit environ toutes les dix secondes lorsque le terminal est actif et immédiatement quand le focus revient. Il change brièvement de couleur quand il se déplace et quand un agent se termine, et quand une session en arrière-plan se termine alors qu'aucune n'a besoin de votre intervention, elle affiche brièvement le nombre complété, comme `← 2 done`. Les deux flashs sont désactivés quand le paramètre [`prefersReducedMotion`](/docs/fr/settings-reference#prefersreducedmotion) est activé, et l'indice est masqué en [mode lecteur d'écran](/docs/fr/accessibility).

74 70 

75<h2 id="monitor-sessions-with-agent-view">71<h2 id="monitor-sessions-with-agent-view">

76 Surveiller les sessions avec la vue agent72 Surveiller les sessions avec la vue agent

77</h2>73</h2>

78 74 

79Exécutez `claude agents` pour ouvrir la vue agent. Elle prend le contrôle du terminal complet et répertorie chaque session groupée par état, avec les sessions épinglées et celles qui ont besoin de vous en haut. Chaque ligne affiche le nom de la session, l'activité actuelle, et son ancienneté, comptée à partir du moment où la session a été créée ; l'ancienneté d'une session terminée se fige à la durée de l'exécution.75Exécutez `claude agents` pour ouvrir la vue agent. Elle prend le contrôle du terminal complet et répertorie chaque session groupée par état, avec les sessions épinglées et celles qui vous attendent en haut. Chaque ligne affiche le nom de la session, l'activité actuelle et son ancienneté, comptée à partir de la création de la session ; l'ancienneté d'une session terminée se fige à la durée d'exécution.

80 76 

81Le nom est teinté avec la couleur définie par [`/color`](/docs/fr/commands) dans cette session. À partir de la v2.1.199, la couleur se transporte quand vous [mettez une session en arrière-plan](#from-inside-a-session) avec `←` ou `/background`.77Le nom est teinté de la couleur définie par [`/color`](/docs/fr/commands) dans cette session, y compris lorsque vous [mettez une session en arrière-plan](#from-inside-a-session) avec `←` ou `/background`.

82 78 

83Par défaut, la liste affiche chaque session en arrière-plan que vous avez démarrée, dans tous vos projets. Une session travaillant dans un référentiel et une autre dans une worktree différente apparaissent toutes les deux ici, quel que soit le répertoire à partir duquel vous avez ouvert la vue agent. Pour limiter la liste à un projet, passez `--cwd` :79Par défaut, la liste affiche chaque session en arrière-plan que vous avez démarrée, dans tous vos projets. Une session travaillant dans un référentiel et une autre dans un worktree différent apparaissent toutes les deux ici, quel que soit le répertoire à partir duquel vous avez ouvert la vue agent. Pour réduire la liste à un projet, passez `--cwd` :

84 80 

85```bash theme={null}81```bash theme={null}

86claude agents --cwd ~/projects/my-app82claude agents --cwd ~/projects/my-app

87```83```

88 84 

89Cela affiche uniquement les sessions démarrées sous ce répertoire. Une session qui a [déménagé dans une worktree](#how-file-edits-are-isolated) sous `~/projects/my-app/.claude/worktrees/` compte toujours comme appartenant à `~/projects/my-app`.85Cela affiche uniquement les sessions démarrées sous ce répertoire. Elle répertorie toujours une session qui a [déménagé dans un worktree](#how-file-edits-are-isolated) sous `~/projects/my-app/.claude/worktrees/`.

90 86 

91Les sessions interactives que vous avez ouvertes dans d'autres terminaux n'apparaissent pas jusqu'à ce que vous les [mettiez en arrière-plan](#from-inside-a-session). Les [sous-agents](/docs/fr/sub-agents) et les [coéquipiers](/docs/fr/agent-teams) qu'une session génère ne sont pas répertoriés comme des lignes séparées.87Les sessions interactives que vous avez ouvertes dans d'autres terminaux n'apparaissent que lorsque vous les [mettez en arrière-plan](#from-inside-a-session). Les [sous-agents](/docs/fr/sub-agents) et les [coéquipiers](/docs/fr/agent-teams) qu'une session génère ne sont pas répertoriés comme des lignes distinctes.

92 88 

93```text theme={null}89```text theme={null}

94Épinglées90Pinned

95 ✽ clawd walk cycle Drawing the walk-cycle sprite frames 3m91 ✽ clawd walk cycle Drawing the walk-cycle sprite frames 3m

96 92 

97Prêtes pour examen93Ready for review

98 ∙ jump physics Opened PR with collision fix #2048 2h94 ∙ jump physics Opened PR with collision fix #2048 2h

99 95 

100Nécessite une intervention96Needs input

101 ✻ power-up design double jump or wall climb? 1m97 ✻ power-up design double jump or wall climb? 1m

102 98 

103En cours99Working

104 ✽ collision detection Adding swept-AABB checks to CollisionSystem 2m100 ✽ collision detection Adding swept-AABB checks to CollisionSystem 2m

105 ✢ playtest level 3 run 12 · all checkpoints cleared in 4m101 ✢ playtest level 3 run 12 · all checkpoints cleared in 4m

106 102 

107Terminées103Completed

108 ✻ title screen result: menu, options, and credits done 9m104 ✻ title screen result: menu, options, and credits done 9m

109 ∙ sound effects result: 14 SFX exported to assets/audio 4h105 ∙ sound effects result: 14 SFX exported to assets/audio 4h

110 … 6 more106 … 6 more


114 Lire l'état de la session110 Lire l'état de la session

115</h3>111</h3>

116 112 

117Chaque ligne commence par une icône dont la couleur et l'animation montrent l'état de la session :113Chaque ligne commence par une icône dont la couleur et l'animation indiquent l'état de la session :

118 114 

119| État | L'icône s'affiche comme | Ce que cela signifie |115| État | L'icône s'affiche comme | Ce que cela signifie |

120| :------------------------- | :---------------------- | :-------------------------------------------------------------------------------- |116| :---------- | :---------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

121| En cours | Animée | Claude exécute activement des outils ou génère une réponse |117| Working | Animée | Claude exécute activement des outils ou génère une réponse |

122| Nécessite une intervention | Jaune | Claude attend une question spécifique ou une décision de permission de votre part |118| Needs input | Jaune | Claude attend quelque chose que seul vous pouvez fournir : une réponse à une question, une décision d'autorisation, ou une autre invite que seul vous pouvez répondre, comme une invite [sandbox](/docs/fr/sandboxing) pour autoriser un hôte réseau ou la [demande d'entrée](/docs/fr/mcp#respond-to-mcp-elicitation-requests) d'un serveur MCP. Une commande qui nécessite un terminal attaché, comme `/install-github-app` ou la liste des paramètres `/mcp`, [maintient également une session sans surveillance ici](#attach-to-a-session) |

123| Inactif | Estompé | La session n'a rien à faire et est prête pour votre prochain message |119| Idle | Estompée | La session n'a rien à faire et est prête pour votre prochaine invite |

124| Terminée | Vert | La tâche s'est terminée avec succès |120| Completed | Verte | La tâche s'est terminée avec succès |

125| Échouée | Rouge | La tâche s'est terminée avec une erreur |121| Failed | Rouge | La tâche s'est terminée avec une erreur |

126| Arrêtée | Gris | La session a été arrêtée avec `Ctrl+X` ou `claude stop` |122| Stopped | Grise | Vous avez arrêté la session avec `Ctrl+X` ou `claude stop`, [son processus a été terminé de l'extérieur de Claude Code](#the-supervisor-process), ou [elle s'est terminée alors que le service en arrière-plan était désactivé](#sessions-show-as-failed-after-shutdown) |

127 123 

128Séparément, la forme de l'icône indique si le processus sous-jacent s'exécute :124Séparément, la forme de l'icône indique si le processus sous-jacent est en cours d'exécution :

129 125 

130| Forme | Ce que cela signifie |126| Forme | Ce que cela signifie |

131| :--------------- | :------------------------------------------------------------------------------------------------------------------------------------------ |127| :---------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

132| `✻` ou `✽` animé | Le processus de la session est actif et répond immédiatement |128| `✻` ou `✽` animée | Le processus de session est actif et répond immédiatement |

133| `∙` | Le processus a quitté. Vous pouvez toujours apercevoir, répondre, ou vous attacher, et Claude redémarre à partir de là où il s'était arrêté |129| `∙` | Le processus a quitté. Vous pouvez toujours jeter un coup d'œil à la ligne, et lorsque vous répondez ou attachez, Claude redémarre à partir de là où il s'était arrêté |

134| `✢` | Une session [`/loop`](/docs/fr/scheduled-tasks) dormant entre les itérations. La ligne affiche son nombre d'exécutions et un compte à rebours |130| `✢` | Une session [`/loop`](/docs/fr/scheduled-tasks) en sommeil entre les itérations. La ligne affiche son nombre d'exécutions et un compte à rebours |

131 

132L'étiquette `#N` ou `!N` qui peut apparaître au bord droit d'une ligne est un lien vers la [demande de tirage ou demande de fusion](#pull-request-status) de la session, et non une partie de l'icône d'état.

135 133 

136L'étiquette `#N` qui peut apparaître au bord droit d'une ligne est la [pull request que la session est liée à](#pull-request-status), pas une partie de l'icône d'état.134Le titre de l'onglet du terminal affiche le nombre d'entrées en attente pendant que la vue agent est ouverte : `2 awaiting input · claude agents` lorsque les sessions ont besoin d'entrée, ou `claude agents` lorsqu'aucune n'en a besoin.

137 135 

138Le titre de l'onglet du terminal affiche le nombre d'entrées en attente pendant que la vue agent est ouverte : `2 awaiting input · claude agents` quand les sessions ont besoin d'une intervention, ou `claude agents` quand ce n'est pas le cas.136Pour lire l'état de la session à partir d'un script ou d'un autre programme, utilisez [`claude agents --json`](#read-session-state-from-a-script) plutôt que les fichiers sous `~/.claude/jobs/`.

139 137 

140À partir de la v2.1.198, pendant que la vue agent est ouverte, Claude Code envoie également une notification via votre [canal de notification de terminal configuré](/docs/fr/terminal-config#get-a-terminal-bell-or-notification) quand une session en arrière-plan local commence à avoir besoin de votre intervention, se termine, ou échoue. Les sessions qui s'exécutent selon un calendrier, comme les sessions [`/loop`](/docs/fr/scheduled-tasks), ne notifient que quand elles ont besoin de votre intervention. Les notifications utilisent le même paramètre [`preferredNotifChannel`](/docs/fr/settings#available-settings) que le reste de Claude Code et déclenchent le hook [`Notification`](/docs/fr/hooks#notification) avec le type `agent_needs_input` ou `agent_completed`.138Pendant que la vue agent est ouverte, Claude Code envoie également une notification via votre [canal de notification de terminal](/docs/fr/terminal-config#get-a-terminal-bell-or-notification) configuré lorsqu'une session en arrière-plan local commence à avoir besoin de votre entrée, se termine ou échoue. Les sessions qui s'exécutent selon un calendrier, comme les sessions [`/loop`](/docs/fr/scheduled-tasks), ne notifient que lorsqu'elles ont besoin de votre entrée. Les notifications utilisent le même paramètre [`preferredNotifChannel`](/docs/fr/settings-reference#preferrednotifchannel) que le reste de Claude Code et déclenchent le hook [`Notification`](/docs/fr/hooks#notification) avec le type `agent_needs_input` ou `agent_completed`.

141 139 

142Les sessions en arrière-plan n'ont besoin d'aucun terminal ouvert pour continuer à fonctionner. Un [processus superviseur](#the-supervisor-process) séparé les exécute, vous pouvez donc fermer la vue agent, fermer votre shell, ou démarrer une nouvelle session interactive et votre travail lancé continue.140Les sessions en arrière-plan n'ont besoin d'aucun terminal ouvert pour continuer à fonctionner. Un [processus superviseur](#the-supervisor-process) distinct les exécute, vous pouvez donc fermer la vue agent, fermer votre shell ou démarrer une nouvelle session interactive et votre travail envoyé continue.

143 141 

144L'état de la session persiste sur le disque via les mises à jour automatiques et les redémarrages du superviseur. Les sessions sont également préservées quand votre machine se met en veille. Leurs processus reprennent au réveil et le superviseur se reconnecte à eux au lieu de traiter l'écart de temps comme inactif. L'arrêt arrête toujours les sessions en cours ; consultez [Les sessions s'affichent comme échouées après l'arrêt](#sessions-show-as-failed-after-shutdown) pour savoir comment les récupérer.142L'état de la session persiste sur le disque via les mises à jour automatiques et les redémarrages du superviseur. Les sessions sont également préservées lorsque votre machine se met en veille. Leurs processus reprennent au réveil et le superviseur se reconnecte à eux au lieu de traiter l'écart de temps comme inactif. L'arrêt arrête toujours les sessions en cours d'exécution ; voir [Sessions affichées comme échouées ou arrêtées après l'arrêt](#sessions-show-as-failed-after-shutdown) pour savoir comment les récupérer.

145 143 

146Quand vous ouvrez une session qui a cessé de répondre, le superviseur redémarre son processus et la session continue la réponse interrompue à partir de là où elle s'était arrêtée. Une session peut se retrouver dans cet état quand la machine se met en veille pendant qu'elle est en train de répondre. Nécessite Claude Code v2.1.200 ou ultérieur.144Une session qui était en pleine réponse lorsque la machine s'est mise en veille peut revenir sans réponse. Lorsque vous ouvrez une session qui a cessé de répondre, le superviseur redémarre son processus et la session continue la réponse interrompue à partir de là où elle s'était arrêtée.

147 145 

148<h3 id="row-summaries">146<h3 id="row-summaries">

149 Résumés des lignes147 Résumés de lignes

150</h3>148</h3>

151 149 

152Le résumé d'une ligne dans chaque ligne est généré par un [modèle de classe Haiku](/docs/fr/model-config) afin que la ligne puisse vous dire ce que la session fait, ce qu'elle a besoin, ou ce qu'elle a produit sans ouvrir la transcription. Pendant qu'une session fonctionne activement, le texte de la ligne se met à jour au maximum une fois toutes les 15 secondes à partir de la sortie récente de la session sans envoyer une demande de modèle, et le modèle écrit un résumé frais quand chaque tour se termine.150Le résumé d'une ligne est généré par un [modèle de classe Haiku](/docs/fr/model-config) afin que la ligne puisse vous dire ce que la session fait, ce dont elle a besoin ou ce qu'elle a produit sans ouvrir la transcription. Pendant qu'une session travaille activement, le texte de la ligne se met à jour au maximum une fois toutes les 15 secondes à partir de la sortie récente de la session sans envoyer de demande de modèle, et le modèle écrit un résumé frais à la fin de chaque tour.

153 151 

154Une ligne de travail affiche ce que la session dit qu'elle fait, et une ligne bloquée affiche la question qu'elle pose. Pendant un long tour, le modèle réécrit également le résumé environ une fois par minute, attendant deux fois plus longtemps après chaque réécriture jusqu'à quatre minutes, donc une ligne occupée n'affiche pas continuellement un résumé obsolète. Le texte du résumé remplit la largeur restante de la ligne et ne se tronque qu'au bord droit du terminal ; ouvrez le [panneau d'aperçu](#peek-and-reply) pour lire une phrase que le bord coupe. Avant la v2.1.206, le texte était coupé à 64 colonnes quel que soit la largeur du terminal.152Une ligne de travail affiche ce que la session dit qu'elle fait, et une ligne bloquée affiche la question qu'elle pose. Pendant un long tour, le modèle réécrit également le résumé toutes les quelques minutes afin qu'une ligne occupée ne continue pas à afficher un résumé obsolète. Le texte du résumé remplit la largeur restante de la ligne ; ouvrez le [panneau d'aperçu](#peek-and-reply) pour lire une phrase que le bord du terminal coupe.

155 153 

156Quand la liste est [groupée par répertoire](#organize-the-list), le résumé s'ouvre avec l'état de la session en tant que mot coloré, comme `Needs input · double jump or wall climb?`. Dans le groupement d'état par défaut, l'en-tête du groupe nomme déjà l'état, donc la ligne affiche uniquement le résumé. Avant la v2.1.205, les lignes groupées par répertoire ne portaient aucun mot d'état.154Lorsque la liste est [groupée par répertoire](#organize-the-list), le résumé s'ouvre avec l'état de la session en tant que mot coloré, comme `Needs input · double jump or wall climb?`. Dans le groupement d'état par défaut, l'en-tête du groupe nomme déjà l'état, la ligne affiche donc uniquement le résumé.

157 155 

158Un tour dont la sortie entière ne contient aucune lettre ni chiffre, comme une session [`/loop`](/docs/fr/scheduled-tasks) qui imprime un seul symbole sur une itération silencieuse, conserve le résumé et l'état précédents de la ligne. Avant la v2.1.205, ce tour a été reclassé et pouvait faire basculer une session qui attendait votre intervention vers `En cours`.156Le résumé de fin de tour et chaque réécriture à mi-tour sont une courte demande de classe Haiku via votre fournisseur normal, facturée et traitée selon les mêmes [conditions d'utilisation des données](/docs/fr/data-usage) que la session elle-même. Les mises à jour de 15 secondes entre les réécritures de modèle réutilisent la sortie de la session elle-même et n'envoient pas de demande. Sur un fournisseur tiers ou une passerelle sans modèle de classe Haiku configuré, la demande utilise le modèle principal de la session à la place ; définissez [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/fr/model-config#environment-variables) pour en choisir un.

159 

160Le résumé de fin de tour et chaque réécriture à mi-tour sont une courte demande de classe Haiku via votre fournisseur normal, facturée et traitée selon les mêmes [conditions d'utilisation des données](/docs/fr/data-usage) que la session elle-même. Sur les fournisseurs tiers tels que Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, et les passerelles personnalisées, la demande revient au modèle principal de la session quand aucun modèle Haiku n'est configuré. Définissez [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/fr/model-config#environment-variables) pour choisir le modèle pour ces résumés sur ces fournisseurs.

161 157 

162<h3 id="pull-request-status">158<h3 id="pull-request-status">

163 Statut de la pull request159 État de la demande de tirage

164</h3>160</h3>

165 161 

166Quand une session ouvre une pull request, une étiquette `#1234` apparaît au bord droit de la ligne, liée à la pull request dans les terminaux qui supportent les hyperliens. L'étiquette persiste quand vous envoyez un suivi à la session, donc la pull request reste visible pendant que la ligne revient à la progression en direct. Les sessions en arrière-plan qui ont isolé leurs modifications dans une worktree ouvrent elles-mêmes ces pull requests ; [Comment les modifications de fichiers sont isolées](#how-file-edits-are-isolated) couvre quand cela se produit et ce qu'une session ne fait jamais sans demander.162Lorsqu'une session [ouvre une demande de tirage](#how-file-edits-are-isolated), Claude Code ajoute une étiquette au bord droit de la ligne, liée à la demande de tirage :

163 

164* Claude Code écrit l'étiquette comme `#1234` pour une demande de tirage et comme `!1234` pour une demande de fusion GitLab.

165* Claude Code émet le lien même lorsqu'il ne peut pas détecter la prise en charge des hyperliens, par exemple sur SSH ou tmux. Définissez [`FORCE_HYPERLINK=0`](/docs/fr/env-vars) pour afficher l'étiquette en tant que texte brut.

166* Après avoir envoyé un suivi à la session, Claude Code conserve l'étiquette tandis que la ligne revient à la progression en direct.

167 167 

168Une session qui travaille sur une pull request existante y est liée de la même manière. Éditer, commenter, fermer, ou marquer une pull request comme prête avec `gh` lie la pull request que la sortie de la commande elle-même nomme, donc une commande `gh` dont la sortie capturée ne nomme aucune pull request ne crée pas de lien ; `gh pr merge` est le cas courant, car il imprime son résultat uniquement sur un terminal interactif. Vérifier une pull request avec `gh pr checkout`, ou pousser vers une branche qui a une pull request ouverte, la lie en cherchant cette branche avec `gh pr view` à la place. Avant la v2.1.205, seules les pull requests que la session a créées ou vérifiées étaient liées, et une poussée en liait une uniquement quand le nom de la branche locale correspondait.168Une session qui travaille sur une demande de tirage existante y est liée de la même manière. Claude Code trouve la demande de tirage différemment selon la commande que Claude exécute :

169 169 

170Claude Code lit la pull request à partir de la sortie complète de la commande, y compris la partie enregistrée dans un fichier quand la sortie d'une commande dépasse la limite en ligne. Avant la v2.1.205, une pull request créée dans un appel Bash dont la sortie dépassait environ 30 000 caractères n'était pas liée.170* Lorsque Claude modifie, commente, ferme ou marque une demande de tirage comme prête avec `gh`, Claude Code lie la demande de tirage que la sortie de la commande elle-même nomme. Une commande `gh` dont la sortie capturée ne nomme aucune demande de tirage ne crée pas de lien ; `gh pr merge` est le cas courant, car il imprime son résultat uniquement sur un terminal interactif.

171* Lorsque Claude extrait une demande de tirage avec `gh pr checkout` ou pousse vers une branche, Claude Code recherche la branche avec `gh pr view` et lie sa demande de tirage ouverte.

172* La demande de tirage n'a pas besoin d'exister encore lorsque Claude pousse : Claude Code réessaie la recherche de branche après jusqu'à cinq commandes `git`, `gh`, `glab` ou `curl` ultérieures exécutées dans le même répertoire, afin qu'une demande de tirage créée après le push, y compris celle que Claude crée via l'API REST GitHub, se lie lorsqu'une nouvelle tentative la trouve.

171 173 

172Quand une session est liée à plus d'une pull request, l'étiquette affiche un nombre à la place, comme `3 PRs`, colorée par la pull request ouverte qui a le plus besoin d'attention. Ouvrez le [panneau d'aperçu](#peek-and-reply) pour les voir toutes.174Lorsqu'une session est liée à plus d'une demande de tirage, l'étiquette affiche un nombre à la place, comme `3 PRs`, colorée par la demande de tirage ouverte qui a le plus besoin d'attention. Ouvrez le [panneau d'aperçu](#peek-and-reply) pour les voir toutes.

173 175 

174Le numéro de la pull request est coloré par son statut :176Le numéro de la demande de tirage est coloré selon son état :

175 177 

176| Couleur | Statut de la pull request |178| Couleur | État de la demande de tirage |

177| :------ | :----------------------------------------------------------------------- |179| :------ | :----------------------------------------------------------------------- |

178| Jaune | En attente de vérifications ou d'examen, ou les vérifications ont échoué |180| Jaune | En attente de vérifications ou d'examen, ou les vérifications ont échoué |

179| Vert | Les vérifications ont réussi et aucun examen ne bloque |181| Vert | Les vérifications ont réussi et aucun examen ne bloque |

180| Violet | Fusionnée |182| Violet | Fusionné |

181| Gris | Brouillon ou fermée |183| Gris | Brouillon ou fermé |

182 184 

183Pour la plupart des tâches, cette colonne est l'endroit où vous collectez le résultat : examinez et fusionnez la pull request quand son numéro devient vert.185Pour une tâche qui se termine par une demande de tirage, vérifiez cette étiquette pour le résultat : examinez et fusionnez la demande de tirage lorsque son numéro devient vert.

184 186 

185<h3 id="peek-and-reply">187<h3 id="peek-and-reply">

186 Aperçu et réponse188 Aperçu et réponse

187</h3>189</h3>

188 190 

189Appuyez sur `Espace` sur une ligne sélectionnée pour ouvrir le panneau d'aperçu. Il s'ouvre avec la phrase que la ligne tronque au bord du terminal, et quelle phrase c'est dépend de l'état de la session :191Appuyez sur `Space` sur une ligne sélectionnée pour ouvrir le panneau d'aperçu. Il s'ouvre avec la phrase que la ligne tronque au bord du terminal, et quelle phrase c'est dépend de l'état de la session :

190 192 

191* Une session qui attend votre intervention : la question exacte qu'elle pose, au-dessus de l'entrée de réponse193* Une session qui vous attend : la question exacte qu'elle pose, au-dessus de l'entrée de réponse

192* Une session terminée : son résultat194* Une session terminée : son résultat

193* Une session en cours : sa phrase d'état complète195* Une session de travail : sa phrase d'état complète

194 196 

195Toutes les pull requests liées à la session sont répertoriées ensuite. Pour une session qui attend votre intervention, une ligne comme `waiting 3m` en dessous d'elles montre depuis combien de temps elle attend, et c'est la seule fois affichée dans le panneau. L'ancienneté au bord droit de la ligne est un nombre différent : elle compte à partir du moment où la session a démarré.197Toutes les demandes de tirage liées à la session sont répertoriées ensuite. Pour une session qui vous attend, une ligne comme `waiting 3m` en dessous d'elles montre depuis combien de temps elle attend, et c'est la seule fois affichée dans le panneau. L'ancienneté au bord droit de la ligne est un nombre différent : elle compte à partir du moment où la session a démarré.

196 198 

197La plupart du temps, le panneau d'aperçu est suffisant et vous n'avez pas besoin d'ouvrir la transcription complète.199La plupart du temps, le panneau d'aperçu suffit et vous n'avez pas besoin d'ouvrir la transcription complète.

198 200 

199Avant la v2.1.207, chaque aperçu s'ouvrait avec la phrase d'état et un horodatage nu, et une session bloquée avait sa question affichée en dessous d'eux préfixée avec le même horodatage une deuxième fois.201Tapez une réponse dans le panneau d'aperçu et appuyez sur `Enter` pour l'envoyer à cette session. Lorsque la session pose une question avec des choix prédéfinis, le panneau d'aperçu les affiche sous forme de liste numérotée et vous pouvez appuyer sur une touche numérique pour en choisir une. Une invite de permission s'affiche sous forme de texte décrivant ce que la session souhaite exécuter, sans options numérotées. Tapez une réponse pour y répondre, ou attachez-vous pour répondre avec l'invite standard. Pour les autres sessions bloquées, appuyez sur `Tab` pour remplir l'entrée avec une réponse suggérée que vous pouvez modifier avant d'envoyer. Préfixez une réponse avec `!` pour envoyer une commande Bash à la place.

200 202 

201Tapez une réponse dans le panneau d'aperçu et appuyez sur `Entrée` pour l'envoyer à cette session. Quand la session pose une question à choix multiples, le panneau d'aperçu affiche les options et vous pouvez appuyer sur une touche numérique pour en choisir une. Pour les autres sessions bloquées, appuyez sur `Tab` pour remplir l'entrée avec une réponse suggérée que vous pouvez modifier avant d'envoyer. Préfixez une réponse avec `!` pour envoyer une commande Bash à la place.203Lorsqu'un hook [`PermissionRequest`](/docs/fr/hooks#permissionrequest) ou [`PreToolUse`](/docs/fr/hooks#pretooluse) retourne une sortie que Claude Code ne peut pas valider pour l'appel que la session demande, la ligne affiche l'événement du hook et `hook output invalid:` avec l'erreur de validation avant le texte de la demande en attente. Pour un hook qui échoue d'une autre manière, la ligne dit que le hook a échoué. La session attend toujours la même demande.

202 204 

203Une réponse qui ne peut pas être livrée, parce que le service en arrière-plan est inaccessible ou l'envoi échoue, est enregistrée et envoyée à la session comme son prochain message quand son processus redémarre, et le message d'erreur dit que la réponse a été enregistrée. Une réponse préfixée avec `!` n'est pas enregistrée, car le texte enregistré atteindrait la session comme un message simple plutôt que de s'exécuter comme une commande Bash.205Une réponse qui ne peut pas être livrée, parce que le service en arrière-plan est inaccessible ou que l'envoi échoue, est enregistrée et envoyée à la session comme sa prochaine invite lorsque son processus redémarre, et le message d'erreur dit que la réponse a été enregistrée. Une réponse préfixée avec `!` n'est pas enregistrée, car le texte enregistré atteindrait la session en tant qu'invite simple plutôt que d'exécuter en tant que commande Bash.

204 206 

205Avec la [dictée vocale](/docs/fr/voice-dictation) activée, maintenez ou appuyez sur votre touche push-to-talk pendant que l'entrée de réponse est active pour dicter une réponse au lieu de la taper. La même chose fonctionne dans l'entrée de lancement en bas de la vue agent.207Avec la [dictée vocale](/docs/fr/voice-dictation) activée, maintenez ou appuyez sur votre touche push-to-talk pendant que l'entrée de réponse est concentrée pour dicter une réponse au lieu de la taper. La même chose fonctionne dans l'entrée de dispatch en bas de la vue agent.

206 208 

207Utilisez `↑` et `↓` pour apercevoir les sessions adjacentes sans fermer le panneau, ou `→` pour vous attacher.209Utilisez `↑` et `↓` pour jeter un coup d'œil aux sessions adjacentes sans fermer le panneau, ou `→` pour vous attacher.

208 210 

209<h3 id="attach-to-a-session">211<h3 id="attach-to-a-session">

210 S'attacher à une session212 Attacher à une session

211</h3>213</h3>

212 214 

213Appuyez sur `Entrée` ou `→` sur une ligne sélectionnée pour vous attacher. La vue agent est remplacée par la session interactive complète. Quand vous vous attachez, Claude affiche un court récapitulatif de ce qui s'est passé pendant que vous étiez absent.215Appuyez sur `Enter` ou `→` sur une ligne sélectionnée pour vous attacher. La vue agent est remplacée par la session interactive complète. Lorsque vous vous attachez, Claude publie un court récapitulatif de ce qui s'est passé pendant que vous étiez absent.

216 

217Pendant que vous êtes attaché, la session se comporte comme n'importe quelle autre session Claude Code : les [commandes](/docs/fr/commands), les raccourcis clavier et les fonctionnalités fonctionnent tous, à l'exception des cas ci-dessous.

218 

219Pendant que vous êtes attaché, `/install-github-app` et la liste des paramètres [`/mcp`](/docs/fr/mcp) fonctionnent normalement, car un humain au terminal peut compléter leurs dialogues. Lorsque personne n'est attaché, ces commandes ne peuvent pas ouvrir leurs dialogues, la session apparaît donc sous `Needs input` dans la vue agent avec une ligne comme `open this session to manage MCP servers`, et la réponse de la transcription dit la même chose. Attachez-vous et exécutez à nouveau la commande pour continuer ; la ligne needs-input s'efface lorsque vous vous attachez. `/mcp reconnect <server>`, `/mcp enable` et `/mcp disable` fonctionnent sans s'attacher de toute façon.

220 

221Les sessions attachées s'affichent toujours en [mode plein écran](/docs/fr/fullscreen), quel que soit votre paramètre `tui`, car une session en arrière-plan n'a pas de défilement de terminal pour ajouter. Faites défiler avec `PgUp`, `PgDn` ou la molette de la souris, et appuyez sur `Ctrl+O` pour le mode transcription. Le défilement natif de votre terminal et le mode copie tmux affichent uniquement la fenêtre d'affichage actuelle, comme lorsque vous exécutez n'importe quelle application plein écran.

222 

223Appuyez sur `←` sur une invite vide, ou exécutez `/exit`, pour vous détacher et revenir à la vue agent, que vous ayez ouvert la session à partir de la vue agent ou avec `claude attach <id>` à partir de votre shell.

224 

225`←` se détache également pendant que la [superposition `/btw`](/docs/fr/interactive-mode#side-questions-with-%2Fbtw) est ouverte. Nécessite Claude Code v2.1.257 ou ultérieur. Une question latérale qui répond toujours continue de s'exécuter pendant que vous êtes absent. La prochaine fois que vous vous attachez, la superposition se rouvre avec elle, ou avec sa réponse.

226 

227Sur Windows, si vous appuyez sur `←` dans environ une demi-seconde après vous être attaché, Claude Code affiche `Ambiguous ←, press again to detach`, car dans cette fenêtre le terminal peut redélivrer une pression d'avant votre attachement. Appuyez sur `←` à nouveau pour vous détacher.

228 

229`Ctrl+Z` se détache également mais revient à où vous avez commencé à la place : la vue agent si vous vous êtes attaché à partir de là, ou votre shell si vous avez exécuté `claude attach`. Utilisez `Ctrl+Z` lorsqu'un dialogue a le focus et ne répond pas à `←`.

230 

231`Ctrl+C` conserve son comportement d'interruption standard pendant l'attachement : il annule une réponse en cours d'exécution ou une commande shell `!` plutôt que de se détacher. Appuyer sur `Ctrl+C` deux fois sur une invite vide se détache, comme dans n'importe quelle session.

232 

233Le détachement n'arrête jamais une session en arrière-plan : `←`, `Ctrl+Z`, `/exit` et double `Ctrl+C` ou double `Ctrl+D` la laissent tous en cours d'exécution. Pour terminer une session de l'intérieur, exécutez `/stop`.

234 

235<h4 id="switch-sessions-without-leaving-the-terminal">

236 Basculer les sessions sans quitter le terminal

237</h4>

214 238 

215Pendant que vous êtes attaché, la session se comporte comme n'importe quelle autre session Claude Code : les [commandes](/docs/fr/commands), raccourcis clavier, et fonctionnalités fonctionnent tous, avec les exceptions ci-dessous.239Dans une session s'exécutant au premier plan, une que vous avez démarrée dans le terminal plutôt que de vous y attacher à partir de la vue agent, appuyer sur `←` sur une invite vide la met en arrière-plan et ouvre la vue agent avec cette ligne sélectionnée, afin que vous puissiez basculer les sessions sans quitter le terminal. Le même appui unique détache une session attachée.

216 240 

217Une session en arrière-plan refuse `/install-github-app` et la liste des paramètres [`/mcp`](/docs/fr/mcp), y compris ses actions d'authentification, que vous soyez attaché ou que vous répondiez à partir du panneau d'aperçu. Le message vous dirige vers une session `claude` régulière, et `/mcp reconnect <server>`, `/mcp enable`, et `/mcp disable` fonctionnent toujours.241Si vous appuyez sur `←` juste après avoir supprimé le dernier texte de l'invite ou vous être déplacé dans l'historique des invites, Claude Code vous demande de confirmer : le premier appui affiche `Press ← again to open agents`, ou `Press ← again to go back to agents` dans une session attachée, et le deuxième appui bascule.

218 242 

219Les sessions attachées s'affichent toujours en [mode plein écran](/docs/fr/fullscreen), quel que soit votre paramètre `tui`, car une session en arrière-plan n'a pas d'historique de terminal à ajouter. Faites défiler avec `PgUp`, `PgDn`, ou la molette de la souris, et appuyez sur `Ctrl+O` pour le mode transcription. Le défilement natif de votre terminal et le mode copie tmux affichent uniquement la fenêtre d'affichage actuelle, comme lorsque vous exécutez n'importe quelle application plein écran.243Lorsque `←` met une session au premier plan en arrière-plan, la vue agent affiche `Your conversation moved to the background` au-dessus de la liste, avec la ligne de cette session déjà sélectionnée. À partir de là :

220 244 

221À partir de la v2.1.198, appuyez sur `←` sur une invite vide, ou exécutez `/exit`, pour vous détacher et revenir à la vue agent. À partir de la v2.1.198, cela fonctionne de la même manière que vous ayez ouvert la session à partir de la vue agent ou avec `claude attach <id>` à partir de votre shell.245* Appuyez sur `Enter` pour rouvrir la conversation.

246* Appuyez sur `Esc` pour annuler le basculement et revenir à la conversation. Si `Esc` affiche `Still starting — try again in a moment`, la session en arrière-plan n'est pas encore prête, appuyez donc sur `Esc` à nouveau dans un moment.

247* Appuyez sur `Ctrl+C` deux fois pour quitter vers votre shell.

222 248 

223`Ctrl+Z` se détache également mais revient à l'endroit où vous avez commencé à la place : la vue agent si vous vous êtes attaché à partir de là, ou votre shell si vous avez exécuté `claude attach`. Utilisez `Ctrl+Z` quand une boîte de dialogue a le focus et ne répond pas à `←`.249Lorsque Claude Code ne peut pas rouvrir la conversation, il quitte et imprime une commande `claude --resume` qui la reprend.

224 250 

225`Ctrl+C` conserve son comportement d'interruption standard pendant que vous êtes attaché : il annule une réponse en cours d'exécution ou une commande shell `!` plutôt que de vous détacher. Appuyer sur `Ctrl+C` deux fois sur une invite vide vous détache, comme dans n'importe quelle session.251La [liste des tâches de Claude](/docs/fr/interactive-mode#task-list) se déplace vers la session en arrière-plan avec la conversation, afin que la liste de contrôle soit intacte lorsque vous reveniez à cette ligne.

226 252 

227Se détacher n'arrête jamais une session en arrière-plan : `←`, `Ctrl+Z`, `/exit`, et double `Ctrl+C` ou double `Ctrl+D` la laissent toutes s'exécuter. Pour terminer une session depuis l'intérieur, exécutez `/stop`.253La ligne sur laquelle vous avez appuyé sur `←` conserve également un nom gras et non estompé après avoir déplacé la sélection avec les touches fléchées ou la souris, afin que vous puissiez dire de quelle session vous venez.

228 254 

229Dans une session s'exécutant au premier plan, une que vous avez démarrée dans le terminal plutôt que de vous y attacher à partir de la vue agent, appuyer sur `←` sur une invite vide la met en arrière-plan et ouvre la vue agent avec cette ligne sélectionnée, vous pouvez donc basculer entre les sessions sans quitter le terminal. La même pression unique détache une session attachée.255Si un outil s'exécute lorsque vous appuyez sur `←`, Claude Code attend environ dix secondes qu'il se termine avant de mettre en arrière-plan, et Claude continue la réponse dans la session en arrière-plan. Appuyez sur `←` à nouveau pour mettre en arrière-plan immédiatement au lieu d'attendre. Lorsque le travail en vol ne peut pas être transféré à la session en arrière-plan, Claude Code affiche d'abord le dialogue `Background this session?`, comme avec [`/background`](#from-inside-a-session).

230 256 

231Si un outil s'exécute quand vous appuyez sur `←`, Claude Code attend jusqu'à environ dix secondes pour qu'il se termine avant de mettre en arrière-plan, et la réponse continue dans la session en arrière-plan. Appuyez sur `←` à nouveau pour mettre en arrière-plan immédiatement au lieu d'attendre. Quand le travail en cours ne peut pas se transférer à la session en arrière-plan, la boîte de dialogue `Background this session?` apparaît d'abord, la même que avec [`/background`](#from-inside-a-session).257La limite de dix secondes ne s'applique pas pendant que les [sous-agents au premier plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) que Claude a démarrés dans la conversation s'exécutent toujours. Claude Code continue d'attendre afin que leur travail soit transféré, et affiche un avis `Still backgrounding after the current tool` pendant qu'il attend. Appuyez sur `←` à nouveau pour mettre en arrière-plan sans attendre, ce qui redémarre ces sous-agents à partir du début. Claude Code n'attend pas les sous-agents qu'un [flux de travail dynamique](/docs/fr/workflows) exécute. Lorsqu'un flux de travail a des sous-agents en cours d'exécution, Claude Code affiche le dialogue `Background this session?` à la place.

232 258 

233La limite de dix secondes ne s'applique pas pendant que les [sous-agents](/docs/fr/sub-agents) s'exécutent. Claude Code continue d'attendre pour que leur travail se transporte, et affiche un avis `Still backgrounding after the current tool` pendant qu'il attend ; appuyez sur `←` à nouveau pour mettre en arrière-plan sans attendre, ce qui redémarre les sous-agents depuis le début. Avant la v2.1.203, l'attente s'est terminée après dix secondes et les sous-agents en cours d'exécution ont été redémarrés depuis le début sans avertissement.259Claude Code ne met pas la session en arrière-plan pendant que vous avez du texte non envoyé dans l'entrée d'invite, car le texte reste dans la boîte d'entrée de votre terminal et ne se déplacerait pas vers la session en arrière-plan. Si vous tapez dans l'entrée pendant que Claude Code attend de mettre la session en arrière-plan, il annule le basculement avec `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.`

234 260 

235La ligne est créée même à partir d'une session nouvelle sans historique de conversation, donc `→` y revient. Avant la v2.1.203, la vue agent affichait un indice d'intégration en dessous de cette ligne quand elle était la seule.261Appuyer sur `←` crée la ligne de la session même lorsque la conversation n'a pas encore de messages, afin que `→` revienne toujours à elle.

236 262 

237Vous pouvez désactiver ce raccourci avec le paramètre `leftArrowOpensAgents` dans `/config`.263Vous pouvez désactiver ce raccourci avec le paramètre `leftArrowOpensAgents` dans `/config`.

238 264 


240 Organiser la liste266 Organiser la liste

241</h3>267</h3>

242 268 

243La vue agent groupe les sessions afin que celles qui ont besoin d'une intervention soient en haut, avec `Prêtes pour examen` et `Nécessite une intervention` au-dessus de `En cours` et `Terminées`. Ces noms de groupe ne correspondent pas un-à-un aux [états](#read-session-state) ci-dessus : une session se déplace vers `Prêtes pour examen` quand elle a une pull request ouverte, et `Terminées` collecte les sessions terminées, échouées et arrêtées ensemble.269La vue agent groupe les sessions afin que celles qui ont besoin d'entrée soient en haut, avec `Ready for review` et `Needs input` au-dessus de `Working` et `Completed`. Ces noms de groupe ne correspondent pas un-à-un aux [états](#read-session-state) ci-dessus : une session se déplace vers `Ready for review` lorsqu'elle a une demande de tirage ouverte, et `Completed` collecte les sessions terminées, échouées et arrêtées ensemble.

244 270 

245Appuyez sur `Ctrl+S` pour grouper par répertoire à la place. Votre choix persiste entre les exécutions.271Appuyez sur `Ctrl+S` pour grouper par répertoire à la place. Votre choix persiste entre les exécutions.

246 272 


249* Appuyez sur `Ctrl+T` pour épingler une session en haut et [garder son processus en cours d'exécution](#the-supervisor-process) pendant l'inactivité275* Appuyez sur `Ctrl+T` pour épingler une session en haut et [garder son processus en cours d'exécution](#the-supervisor-process) pendant l'inactivité

250* Appuyez sur `Shift+↑` ou `Shift+↓` pour réorganiser les sessions276* Appuyez sur `Shift+↑` ou `Shift+↓` pour réorganiser les sessions

251* Appuyez sur `Ctrl+R` pour renommer une session277* Appuyez sur `Ctrl+R` pour renommer une session

252* Appuyez sur `Entrée` sur un en-tête de groupe pour le réduire278* Appuyez sur `Enter` sur un en-tête de groupe pour le réduire

253 279 

254Pour supprimer une session de la liste, appuyez sur `Ctrl+X` pour l'arrêter et `Ctrl+X` à nouveau dans les deux secondes pour la supprimer. Appuyer sur `Ctrl+X` sur un en-tête de groupe supprime chaque session de ce groupe après confirmation.280Pour supprimer une session de la liste, appuyez sur `Ctrl+X` pour l'arrêter et `Ctrl+X` à nouveau dans les deux secondes pour la supprimer. Appuyer sur `Ctrl+X` sur un en-tête de groupe supprime chaque session de ce groupe après confirmation.

255 281 

256La suppression supprime la session de la vue agent. Si Claude a [créé une worktree](#how-file-edits-are-isolated) pour la session, la suppression supprime également cette worktree, y compris toutes les modifications non validées qu'elle contient, donc poussez ou validez le travail que vous voulez conserver en premier. Une worktree que vous avez créée vous-même et dans laquelle vous avez démarré la session est laissée en place. La transcription de conversation reste sur votre machine locale et reste disponible via `claude --resume`.282Le deuxième appui supprime la session même lorsque la tentative d'arrêt échoue, par exemple parce que le [service en arrière-plan ne répond pas](#agent-view-says-the-background-service-did-not-respond) : la confirmation reste active pendant deux secondes supplémentaires, et la suppression termine le processus de la session lui-même. Appuyez sur `Esc` pour rejeter la confirmation sans supprimer.

257 283 

258La suppression n'enlève jamais une worktree avec des commits qui ne sont poussés nulle part, ou une qui est revendiquée ou verrouillée par une autre session en cours d'exécution. Claude Code garde la worktree et la session, et le pied de page nomme le chemin conservé et la raison. Poussez les commits, ou fermez l'autre session, puis supprimez à nouveau.284Sauf dans les cas conservés couverts dans [Ce que la suppression d'une session supprime](#what-deleting-a-session-removes), la suppression supprime la session de la liste, et un worktree que Claude a créé pour elle est supprimé, conservé ou laissé en place selon la façon dont vous supprimez et ce que le worktree contient. La transcription de la conversation reste toujours sur votre machine locale, disponible via `claude --resume`.

259 285 

260La suppression efface également la session de la [liste de sessions du superviseur](#the-supervisor-process), que vous supprimiez avec `Ctrl+X` ou avec [`claude rm`](#manage-sessions-from-the-shell) à partir du shell, donc la suppression persiste entre les redémarrages du superviseur. Avant la v2.1.206, supprimer une session pendant que le superviseur redémarrait ou était inaccessible la laissait dans cette liste, et le superviseur suivant redémarrait son processus et affichait la ligne à nouveau.286Pour ramener une session sur Claude Code v2.1.212 ou ultérieur, tapez `/resume` dans l'entrée de dispatch. Un sélecteur s'ouvre avec les sessions passées du référentiel à partir duquel vous avez ouvert la vue agent, les plus récentes en premier, y compris les sessions que vous avez supprimées de la liste ; les sessions qui ont déjà une ligne ne sont pas répertoriées. `↑`/`↓` déplacent la sélection, `Enter` reprend la session sélectionnée en tant que session en arrière-plan afin qu'elle se réjoigne la liste en tant que ligne, et `Esc` ferme le sélecteur.

261 287 

262Les sessions terminées qui ne tiennent pas à l'écran se replient dans une ligne `… N more`. Les échecs et les sessions avec une pull request ouverte restent toujours visibles. Le groupe `Completed` remplit l'espace vertical restant après les groupes actifs, et sur un terminal court, l'en-tête se compacte en une seule ligne de résumé pour que les sessions qui fonctionnent ou ont besoin d'une intervention restent visibles.288Le sélecteur s'ouvre uniquement pour un `/resume` nu. Une reprise ciblée, scoped ou restreinte ne peut pas être servie par le sélecteur, la vue agent affiche donc l'indice `attach to a session to run it` à la place lorsque :

289 

290* `/resume` nomme un id ou un terme de recherche

291* la vue est scoped avec `--cwd`

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

293* la vue a été ouverte avec un drapeau comme `--permission-mode` ou `--settings`

294 

295Les sessions terminées qui ne rentrent pas à l'écran se replient dans une ligne `… N more`. Les défaillances et les sessions avec une demande de tirage ouverte restent toujours visibles. Le groupe `Completed` remplit l'espace vertical laissé après les groupes en direct, et sur un terminal court, l'en-tête se compacte en une seule ligne de résumé afin que les sessions qui travaillent ou ont besoin d'entrée restent visibles.

263 296 

264<h3 id="filter-sessions">297<h3 id="filter-sessions">

265 Filtrer les sessions298 Filtrer les sessions

266</h3>299</h3>

267 300 

268Tapez dans l'entrée de lancement pour filtrer au lieu de lancer :301Tapez dans l'entrée de dispatch pour filtrer au lieu de dispatcher :

269 302 

270| Filtre | Affiche |303| Filtre | Affiche |

271| :------------------------- | :----------------------------------------------------------------------------------------------------------- |304| :------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------- |

272| `a:<name>` | Sessions exécutant l'agent nommé |305| `a:<name>` | Sessions exécutant l'agent nommé |

273| `s:<state>` | Sessions dans l'état donné, comme `s:working`. Accepte également `s:blocked` pour tout ce qui attend de vous |306| `s:<state>` | Sessions dans l'état donné, comme `s:working`. Accepte également `s:blocked` pour tout ce qui vous attend |

274| `#<number>` ou une URL PR | La session travaillant sur cette pull request |307| `#<number>` ou une URL de demande de tirage ou de fusion | La session travaillant sur cette demande de tirage ou de fusion |

275| N'importe quelle autre URL | La session dont la première invite contenait cette URL |308| N'importe quelle autre URL | La session dont la première invite contenait cette URL |

276 309 

277<h3 id="keyboard-shortcuts">310<h3 id="keyboard-shortcuts">


281Appuyez sur `?` dans la vue agent pour voir chaque raccourci en contexte. Le tableau ci-dessous les résume.314Appuyez sur `?` dans la vue agent pour voir chaque raccourci en contexte. Le tableau ci-dessous les résume.

282 315 

283| Raccourci | Action |316| Raccourci | Action |

284| :-------------------- | :------------------------------------------------------------------------------------------------- |317| :-------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

285| `↑` / `↓` | Se déplacer entre les lignes |318| `↑` / `↓` | Se déplacer entre les lignes |

286| `Entrée` | S'attacher à la session sélectionnée, ou lancer si du texte est dans l'entrée |319| `Enter` | Attacher à la session sélectionnée, ou dispatcher s'il y a du texte dans l'entrée |

287| `Espace` | Ouvrir ou fermer le panneau d'aperçu pour la session sélectionnée |320| `Space` | Ouvrir ou fermer le panneau d'aperçu pour la session sélectionnée |

288| `Shift+Entrée` | Lancer et s'attacher immédiatement |321| `Shift+Enter` | Insérer une nouvelle ligne dans l'entrée de dispatch, [comme dans l'invite principale](/docs/fr/terminal-config#enter-multiline-prompts) |

289| `→` | S'attacher à la session sélectionnée |322| `Ctrl+Enter` | Dispatcher et attacher immédiatement, dans les terminaux où la superposition `?` répertorie `ctrl+enter to start and open` |

290| `Alt+1`..`Alt+9` | S'attacher à la session 1–9 dans le répertoire de la session active |323| `→` | Attacher à la session sélectionnée |

324| `Alt+1`..`Alt+9` | Attacher à la session 1–9 dans le répertoire de la session concentrée |

291| `Tab` | Sur une entrée vide, parcourir tous les sous-agents. Sinon appliquer la suggestion en surbrillance |325| `Tab` | Sur une entrée vide, parcourir tous les sous-agents. Sinon appliquer la suggestion en surbrillance |

292| `Ctrl+S` | Basculer le groupement entre l'état et le répertoire |326| `Ctrl+S` | Basculer le groupement entre l'état et le répertoire |

293| `Ctrl+T` | Épingler ou dépingler la session sélectionnée |327| `Ctrl+T` | Épingler ou dépingler la session sélectionnée |

294| `Ctrl+R` | Renommer la session sélectionnée |328| `Ctrl+R` | Renommer la session sélectionnée |

295| `Ctrl+G` | Ouvrir l'invite de lancement dans votre `$VISUAL` ou `$EDITOR` |329| `Ctrl+G` | Ouvrir l'invite de dispatch dans votre `$VISUAL` ou `$EDITOR` |

330| `Ctrl+J` | Insérer une nouvelle ligne dans l'entrée de dispatch |

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

297| `Shift+↑` / `Shift+↓` | Réorganiser la session sélectionnée |332| `Shift+↑` / `Shift+↓` | Réorganiser la session sélectionnée |

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

299| `Ctrl+C` | Effacer l'entrée ; appuyez deux fois pour quitter |334| `Ctrl+C` | Effacer l'entrée ; appuyez deux fois pour quitter |

300| `?` | Afficher tous les raccourcis |335| `?` | Afficher tous les raccourcis |

301 336 

337`Ctrl+S`, `Ctrl+T` et `Ctrl+G` suivent votre [`keybindings.json`](/docs/fr/keybindings). Reliez ou déliez `Ctrl+S` et `Ctrl+T` avec les actions `agents:switchView` et `agents:togglePin` dans le contexte [`Agents`](/docs/fr/keybindings#agents-actions), et `Ctrl+G` via la liaison `chat:externalEditor` du contexte `Chat`. Les autres raccourcis du tableau ne peuvent pas être reliés.

338 

302<h2 id="dispatch-new-agents">339<h2 id="dispatch-new-agents">

303 Lancer de nouveaux agents340 Lancer de nouveaux agents

304</h2>341</h2>


311 348 

312Tapez une invite dans l'entrée en bas de la vue agent et appuyez sur `Entrée` pour démarrer une nouvelle session en arrière-plan. La session est nommée automatiquement à partir de l'invite ; renommez-la plus tard avec `Ctrl+R`.349Tapez une invite dans l'entrée en bas de la vue agent et appuyez sur `Entrée` pour démarrer une nouvelle session en arrière-plan. La session est nommée automatiquement à partir de l'invite ; renommez-la plus tard avec `Ctrl+R`.

313 350 

314Un nom que la session obtient plus tard apparaît également sur sa ligne, y compris le nom que Claude dérive quand vous [acceptez un plan](/docs/fr/permission-modes#review-and-approve-a-plan) dans cette session. Avant la v2.1.207, une session en arrière-plan nommée en acceptant un plan affichait ce nom dans `/status` mais pas sur sa ligne de vue agent jusqu'à ce que vous la renommiez vous-même.351Le nom automatique est un court libellé écrit par un [modèle de classe Haiku](/docs/fr/model-config). Un nom que la session obtient plus tard apparaît également sur sa ligne, y compris le [titre généré](/docs/fr/sessions#name-your-sessions) que la session obtient quand vous [acceptez un plan](/docs/fr/permission-modes#review-and-approve-a-plan) dans cette session.

315 352 

316Collez une image dans l'invite pour inclure une capture d'écran ou un diagramme avec la tâche.353Collez une image dans l'invite pour inclure une capture d'écran ou un diagramme avec la tâche.

317 354 

318Le texte collé plus long que 800 caractères ou plus de deux lignes s'effondre en un espace réservé `[Pasted text #N]` pour que l'entrée reste sur une ligne ; le texte complet est envoyé quand vous lancez. Pour examiner ou modifier le texte effondré avant de lancer, collez le même texte à nouveau et l'espace réservé se développe dans l'entrée. Un rappel `paste again to expand` apparaît sous l'entrée pendant quelques secondes après le collage sur les terminaux d'au moins 90 colonnes de large. Avant la v2.1.207, coller le même texte à nouveau ajoutait un deuxième espace réservé au lieu de développer le premier.355Le texte collé plus long que 800 caractères ou plus de trois lignes s'effondre en un espace réservé `[Pasted text #N]` pour que l'entrée reste sur une ligne ; le texte complet est envoyé quand vous lancez. Pour examiner ou modifier le texte effondré avant de lancer, collez le même texte à nouveau et l'espace réservé se développe dans l'entrée.

319 356 

320Préfixez ou mentionnez des parties de l'invite pour contrôler comment la session démarre :357Préfixez ou mentionnez des parties de l'invite pour contrôler comment la session démarre :

321 358 

322| Entrée | Effet |359| Entrée | Effet |

323| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |360| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

324| `<agent-name> <prompt>` | Si le premier mot correspond à un nom de [sous-agent](/docs/fr/sub-agents) personnalisé, ce sous-agent s'exécute comme l'agent principal de la session avec la configuration de son frontmatter |361| `<agent-name> <prompt>` | Si le premier mot correspond à un nom de [sous-agent](/docs/fr/sub-agents) personnalisé, ce sous-agent s'exécute comme l'agent principal de la session avec la configuration de son frontmatter |

325| `@<agent-name>` | Mentionnez un sous-agent personnalisé n'importe où dans l'invite pour l'exécuter comme l'agent principal |362| `@<agent-name>` | Mentionnez un sous-agent personnalisé n'importe où dans l'invite pour l'exécuter comme l'agent principal |

326| `@<repo>` | Mentionnez un référentiel pour exécuter la session là. Voir [Lancer vers un répertoire spécifique](#dispatch-to-a-specific-directory) pour savoir quels référentiels sont listés |363| `@<repo>` | Mentionnez un référentiel pour exécuter la session là. Voir [Lancer vers un répertoire spécifique](#dispatch-to-a-specific-directory) pour savoir quels référentiels sont listés |

327| `/<command>` | Suggérez des [skills](/docs/fr/skills) et des [commandes](/docs/fr/commands) à lancer comme l'invite |364| `/<command>` | Suggérez des [skills](/docs/fr/skills) et des [commandes](/docs/fr/commands) à lancer comme l'invite |

328| `! <command>` | Exécutez une commande shell comme une tâche en arrière-plan au lieu de démarrer une session Claude. La tâche apparaît comme une ligne à laquelle vous pouvez vous attacher, regarder et vous détacher |365| `! <command>` | Exécutez une commande shell comme une tâche en arrière-plan au lieu de démarrer une session Claude. La tâche apparaît comme une ligne à laquelle vous pouvez vous attacher, regarder et vous détacher |

329| `#<number>` ou une URL de pull request | Si une session travaille déjà sur cette PR, sélectionnez-la au lieu de lancer |366| `#<number>` ou une URL de pull request ou merge request | Si une session travaille déjà sur cette pull request ou merge request, Claude Code sélectionne sa ligne au lieu de lancer une nouvelle session |

330| `Shift+Entrée` | Lancer et s'attacher immédiatement à la nouvelle session |

331 367 

332Un petit ensemble de commandes s'exécutent dans la vue agent elle-même au lieu de lancer :368Un petit ensemble de commandes s'exécutent dans la vue agent elle-même au lieu de lancer :

333 369 

334* `/exit` et `/quit` ferment la vue agent370* `/exit` et `/quit` ferment la vue agent

335* `/logout` vous déconnecte371* `/logout` vous déconnecte

336* `/model` définit le [modèle de lancement](#set-the-model)372* `/model` définit le [modèle de lancement](#set-the-model)

337* À partir de la v2.1.198, `/login` ouvre la boîte de dialogue de connexion pour que vous puissiez vous connecter à nouveau sans vous attacher à une session373* `/login` ouvre la boîte de dialogue de connexion pour que vous puissiez vous connecter à nouveau sans vous attacher à une session

374* Un `/resume` nu, ou son alias `/continue`, ouvre un sélecteur des sessions passées du référentiel pour [en ramener une](#organize-the-list) comme une session en arrière-plan. Nécessite Claude Code v2.1.212 ou ultérieur

338 375 

339Les skills, vos propres commandes, et les built-ins qui développent les invites comme `/init` sont envoyés à une nouvelle session en arrière-plan comme leur première invite. Les autres commandes built-in affichent plutôt un indice `attach to a session to run it`. Tout ce que vous avez tapé reste dans l'entrée à côté de l'indice pour que vous puissiez le modifier. Avant la v2.1.203, l'indice effaçait l'entrée et le texte tapé était perdu.376Les skills, vos propres commandes, et les built-ins qui développent les invites comme `/init` sont envoyés à une nouvelle session en arrière-plan comme leur première invite. Les autres commandes built-in affichent plutôt un indice `attach to a session to run it`. Tout ce que vous avez tapé reste dans l'entrée à côté de l'indice pour que vous puissiez le modifier.

340 377 

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

342 379 


355 * Les [git worktrees](/docs/fr/worktrees) enregistrés du référentiel à partir duquel vous avez lancé qui vivent à l'intérieur de son arborescence de répertoires, comme ceux que Claude crée sous `.claude/worktrees/`, étiquetés avec leur branche extraite. Les worktrees ajoutés en dehors du référentiel, comme avec `git worktree add ../feature`, ne sont pas listés392 * Les [git worktrees](/docs/fr/worktrees) enregistrés du référentiel à partir duquel vous avez lancé qui vivent à l'intérieur de son arborescence de répertoires, comme ceux que Claude crée sous `.claude/worktrees/`, étiquetés avec leur branche extraite. Les worktrees ajoutés en dehors du référentiel, comme avec `git worktree add ../feature`, ne sont pas listés

356 * Tout répertoire qui a déjà une session dans la liste393 * Tout répertoire qui a déjà une session dans la liste

357 394 

358 Un répertoire dont le nom contient un espace n'est pas listé. Avant la v2.1.203, les worktrees enregistrés n'étaient pas listés, donc lancer dans l'un d'eux signifiait exécuter `claude --bg` à partir du répertoire de ce worktree.395 Un répertoire dont le nom contient un espace n'est pas listé.

359* Depuis le shell, `cd` dans le répertoire et exécutez `claude --bg "<prompt>"`.396* Depuis le shell, `cd` dans le répertoire et exécutez `claude --bg "<prompt>"`.

360 397 

361Quand la vue agent est groupée par répertoire, le répertoire de la ligne en surbrillance devient la cible de lancement, vous pouvez donc faire défiler jusqu'à un groupe et lancer dedans sans retaper le chemin.398Quand la vue agent est groupée par répertoire, le lancement envoie l'invite au répertoire de la ligne sélectionnée, vous pouvez donc sélectionner un groupe et lancer dedans sans retaper le chemin.

362 399 

363<h3 id="from-inside-a-session">400<h3 id="from-inside-a-session">

364 À partir d'une session401 À partir d'une session

365</h3>402</h3>

366 403 

404Deux commandes déplacent le travail de la session dans laquelle vous êtes vers l'arrière-plan : `/background` envoie la conversation actuelle là et libère votre terminal, et `/fork` envoie une copie tandis que vous continuez à travailler où vous êtes.

405 

406<h4 id="send-the-session-to-the-background">

407 Envoyer la session en arrière-plan

408</h4>

409 

367Exécutez `/background` ou son alias `/bg` pour déplacer la conversation actuelle dans une session en arrière-plan. Passez une invite comme `/bg run the test suite and fix any failures` pour donner une instruction supplémentaire d'abord. Si Claude répond quand vous exécutez `/bg`, la réponse continue dans la session en arrière-plan.410Exécutez `/background` ou son alias `/bg` pour déplacer la conversation actuelle dans une session en arrière-plan. Passez une invite comme `/bg run the test suite and fix any failures` pour donner une instruction supplémentaire d'abord. Si Claude répond quand vous exécutez `/bg`, la réponse continue dans la session en arrière-plan.

368 411 

369Quitter une session interactive qui a encore du travail en arrière-plan en cours d'exécution, comme des sous-agents, des commandes shell en arrière-plan, des workflows, ou des [monitors](/docs/fr/tools-reference#monitor-tool), affiche une boîte de dialogue `Background work is running` au lieu de quitter immédiatement. À partir de la v2.1.198, la boîte de dialogue propose `Move to background and exit` aux côtés de `Exit anyway` et `Stay`. La choisir déplace la session en arrière-plan de la même manière que `/background` le fait, puis vous ramène à votre shell, donc le travail qui peut se poursuivre continue de s'exécuter et la session apparaît dans la vue agent. L'option n'est pas affichée quand la vue agent est [désactivée](#turn-off-agent-view).412Quitter une session qui a encore du travail en arrière-plan en cours d'exécution, comme des sous-agents, des commandes shell en arrière-plan, des workflows, ou des [monitors](/docs/fr/tools-reference#monitor-tool), affiche une boîte de dialogue `Background work is running` au lieu de quitter immédiatement. Choisissez `Move to background and exit` pour mettre la session en arrière-plan de la même manière que `/background` le fait et revenir à votre shell. L'option n'est pas affichée quand la vue agent est [désactivée](#turn-off-agent-view).

413 

414Si une session en arrière-plan sur la liste a déjà le nom de la conversation, Claude Code numérote le nom de la nouvelle ligne, comme `my-session (2)`, et laisse le nom de la ligne existante seul. Pour renommer la nouvelle ligne, sélectionnez-la dans la vue agent et appuyez sur `Ctrl+R`.

415 

416<h4 id="copy-the-session-with-/fork">

417 Copier la session avec /fork

418</h4>

419 

420Exécutez `/fork` pour copier la conversation actuelle dans une nouvelle session en arrière-plan tandis que l'original continue de s'exécuter. La copie commence avec tout ce qui se trouve dans la conversation jusqu'à ce point ; voir les puces ci-dessous pour savoir où la copie s'exécute. Elle porte également le modèle, le mode de permission, le niveau d'effort, et tous les répertoires ou les autorisations « ne pas demander à nouveau » que vous avez ajoutés pendant la session. La copie apparaît comme sa propre ligne dans la vue agent.

421 

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

423 

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

425 

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

427 

428La confirmation `/fork` est une ligne montrant l'état de la copie, comme `session running`, le nom de sa ligne de vue agent, et son ID de session pour `claude attach`. Cliquez sur le nom pour basculer dans la copie : cette session se déplace en arrière-plan, de la même manière qu'appuyer sur `←`, et la vue agent ouvre la session de la copie.

429 

430Sauf quand la copie [édite sur place](#how-file-edits-are-isolated), Claude Code lui ordonne de créer sa propre worktree avant de faire des modifications de code. En dehors d'un référentiel git, seule une copie déplacée hors d'une worktree créée par hook reçoit l'instruction ; sans hook [`WorktreeCreate`](/docs/fr/hooks#worktreecreate), la copie édite sur place. Une copie déplacée hors de votre worktree est également informée de ne jamais éditer, exécuter des commandes dans, ou entrer dans cette worktree, quel que soit le paramètre d'isolation.

431 

432L'endroit où la copie démarre dépend de l'endroit où la session actuelle s'exécute :

433 

434* Comme toute session lancée, la copie [se déplace dans sa propre worktree avant d'éditer des fichiers](#how-file-edits-are-isolated). Dans ce cas, la confirmation ne mentionne pas où la copie s'exécute.

435* Quand votre session s'est déplacée dans sa [worktree](/docs/fr/worktrees) liée après son démarrage, la copie démarre là où la session était avant le déplacement et, sauf si elle [édite sur place](#how-file-edits-are-isolated), fait ses modifications de code dans sa propre worktree là. Quand votre worktree est extraite sur une branche, cette instruction dit également à une copie dont la tâche s'appuie sur votre travail de baser sa nouvelle branche sur la vôtre, puisque votre branche reste extraite dans votre worktree. La confirmation se termine par `runs in the origin tree`.

436* Quand vous avez lancé la session à l'intérieur d'une worktree liée d'un référentiel qui a un arbre de travail principal, la copie démarre dans cet arbre de travail principal, avec la même règle de worktree-de-la-sienne mais sans instruction de branche. La confirmation se termine par `runs in the origin tree` ici aussi.

437* Une session lancée à l'intérieur d'une worktree d'une disposition de référentiel nu n'a pas d'arbre de travail principal auquel revenir, donc la copie reste où elle est, et la confirmation se termine par `edits this checkout`. La même note apparaît quand l'isolation de worktree est [désactivée](#how-file-edits-are-isolated) dans une session qui n'est pas à l'intérieur d'une worktree liée, parce que la copie édite alors les fichiers que vous avez ouverts.

370 438 

371Mettre en arrière-plan à partir d'une session interactive démarre un processus nouveau qui reprend à partir de la conversation enregistrée, et le travail en cours se transfère à celui-ci : les commandes shell en arrière-plan en cours d'exécution, les sous-agents mis en arrière-plan, les workflows dynamiques, et les tâches planifiées que vous avez créées avec [`/loop`](/docs/fr/scheduled-tasks) se transfèrent à la session en arrière-plan et continuent de s'exécuter là. Un sous-agent se déplace avec tout ce qu'il a démarré, donc il se transfère uniquement quand tout ce travail peut se transférer aussi, y compris sur Windows. Pour arrêter le travail en cours au lieu de le transférer, définissez la variable d'environnement [`CLAUDE_DISABLE_ADOPT=1`](/docs/fr/env-vars#variables) ; Claude Code vous demande alors de confirmer avant de mettre en arrière-plan.439Les sessions démarrées avec des drapeaux de lancement que la copie n'hériterait pas, comme une invite système remplacée ou une liste d'autorisation `--tools`, ne peuvent pas être forkées ; Claude Code le dit au lieu de faire une copie partielle. Une session lancée à partir de la vue agent se forke normalement : la copie est lancée avec la même [définition d'agent](/docs/fr/sub-agents) et les instructions ajoutées que la session dont elle provient.

372 440 

373Le travail qui ne peut pas se transférer, comme un [monitor](/docs/fr/tools-reference#monitor-tool) en cours d'exécution, est arrêté. Un sous-agent mis en arrière-plan qui possède un monitor est arrêté avec lui. Quand un tel travail s'exécute, Claude Code affiche une boîte de dialogue `Background this session?` pour que vous puissiez confirmer avant qu'il soit arrêté.441<h4 id="what-carries-over-when-you-background">

442 Ce qui se transfère quand vous mettez en arrière-plan

443</h4>

444 

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

446 

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

448 

449Claude Code arrête le travail qui ne peut pas se transférer, comme un [monitor](/docs/fr/tools-reference#monitor-tool) en cours d'exécution, et arrête un sous-agent mis en arrière-plan qui possède un monitor avec lui. Quand un tel travail s'exécute, Claude Code affiche la boîte de dialogue `Background this session?` pour que vous puissiez confirmer avant qu'il soit arrêté.

374 450 

375Une fois en arrière-plan, la session peut démarrer de nouveaux sous-agents, monitors, et commandes en arrière-plan, et ceux-ci continuent de s'exécuter lors des détachements et réattachements ultérieurs.451Une fois en arrière-plan, la session peut démarrer de nouveaux sous-agents, monitors, et commandes en arrière-plan, et ceux-ci continuent de s'exécuter lors des détachements et réattachements ultérieurs.

376 452 


383* `--fallback-model`459* `--fallback-model`

384* `--allow-dangerously-skip-permissions`460* `--allow-dangerously-skip-permissions`

385 461 

386Les répertoires que vous avez ajoutés pendant la session avec [`/add-dir`](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) se reportent également.462Les répertoires que vous avez ajoutés pendant la session avec [`/add-dir`](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) se reportent également. Reporter `--allow-dangerously-skip-permissions` maintient `bypassPermissions` accessible dans la session mise en arrière-plan, mais cela ne confère rien de nouveau : le mode nécessite toujours l'acceptation interactive unique décrite dans [Mode de permission, modèle et effort](#permission-mode-model-and-effort).

387 

388Reporter `--allow-dangerously-skip-permissions` maintient `bypassPermissions` accessible dans la session mise en arrière-plan, mais cela ne confère rien de nouveau. Le mode nécessite toujours la même acceptation interactive unique décrite dans [Mode de permission, modèle et effort](#permission-mode-model-and-effort) avant que toute session puisse l'utiliser.

389 463 

390<h3 id="from-your-shell">464<h3 id="from-your-shell">

391 À partir du shell465 À partir du shell


397claude --bg "investigate the flaky SettingsChangeDetector test"471claude --bg "investigate the flaky SettingsChangeDetector test"

398```472```

399 473 

400L'invite est l'argument positionnel, pas une valeur `-p`. À partir de la v2.1.198, combiner `--bg` avec `-p` ou `--print` est rejeté avec une erreur avant que toute session soit créée, car `--print` ne démarre jamais la session interactive à laquelle `claude agents` s'attache.474L'invite est l'argument positionnel, pas une valeur `-p`. Claude Code rejette `--bg` combiné avec `-p` ou `--print` avant que toute session soit créée, car `--print` ne démarre jamais la session interactive à laquelle `claude agents` s'attache.

401 475 

402Pour exécuter un sous-agent spécifique comme l'agent principal de la session, combinez `--bg` avec `--agent` :476Pour exécuter un [sous-agent](/docs/fr/sub-agents) spécifique que vous avez défini, comme un `code-reviewer`, comme l'agent principal de la session, combinez `--bg` avec `--agent` :

403 477 

404```bash theme={null}478```bash theme={null}

405claude --agent code-reviewer --bg "address review comments on PR 1234"479claude --agent code-reviewer --bg "address review comments on PR 1234"

406```480```

407 481 

482Si le nom ne correspond à aucun de vos sous-agents, le lancement échoue : Claude Code affiche un avertissement `no agent named` et signale toujours la session comme mise en arrière-plan, mais la session se termine immédiatement avec une erreur `--agent '<name>' not found`.

483 

484Quand la session mise en arrière-plan reprend ou redémarre plus tard, Claude Code restaure l'agent et ses restrictions d'outils ; pour son invite système, voir [Drapeaux d'invite système dans les conversations reprises](/docs/fr/cli-reference#system-prompt-flags-in-resumed-conversations). Il recherche d'abord l'agent dans le répertoire de la session lui-même, à condition que vous ayez [approuvé cet espace de travail](/docs/fr/permissions#project-allow-rules-and-workspace-trust), donc un agent limité au projet charge toujours quand la session est reprise à partir d'un autre répertoire. Si l'agent n'existe plus, la session continue avec les outils par défaut et sa transcription s'ouvre avec un [avertissement nommant l'agent](/docs/fr/errors#session-agent-no-longer-available).

485 

486Pour continuer une conversation existante en arrière-plan, passez son ID de session complet avec `--resume` :

487 

488```bash theme={null}

489claude --resume 1f0e2c9a-6d0b-4c11-9f39-2a77c1d4e8b5 --bg "pick up where you left off and finish the migration"

490```

491 

492Sur Claude Code v2.1.257 ou ultérieur, Claude Code continue soit cette session sous le même ID, soit démarre une copie sous un nouvel ID et affiche une ligne `note:` expliquant pourquoi il n'a pas pu continuer sur place. Quand la session continue sur place, `claude agents` affiche une ligne pour elle.

493 

494Quand vous combinez `--bg` avec `--continue`, un `--resume` nu, ou `--resume` avec un nom ou un chemin de fichier, Claude Code démarre toujours une telle copie. Ajoutez `--fork-session` pour démarrer une copie à dessein, sans la note.

495 

408Passez `--name` pour définir le nom d'affichage de la session dans la vue agent au lieu du nom généré automatiquement :496Passez `--name` pour définir le nom d'affichage de la session dans la vue agent au lieu du nom généré automatiquement :

409 497 

410```bash theme={null}498```bash theme={null}


425 Exécuter une commande shell513 Exécuter une commande shell

426</h4>514</h4>

427 515 

428Pour exécuter une commande shell comme une tâche en arrière-plan au lieu d'une session Claude, tapez `!` comme premier caractère de l'entrée de lancement de la vue agent. Le `!` s'affiche comme un préfixe et tout ce que vous tapez après lui est la commande. L'exemple suivant lance `pytest -x` à partir de la boîte d'entrée de la vue agent :516Pour exécuter une commande shell comme une tâche en arrière-plan au lieu d'une session Claude, passez `--exec`. L'exemple suivant exécute `pytest -x` comme une tâche en arrière-plan :

429 

430```text theme={null}

431! pytest -x

432```

433 

434Appuyez sur `Entrée` pour démarrer la tâche. La même tâche peut également être lancée directement depuis votre shell avec `--exec` :

435 517 

436```bash theme={null}518```bash theme={null}

437claude --bg --exec 'pytest -x'519claude --bg --exec 'pytest -x'

438```520```

439 521 

522À partir de la vue agent, lancez le même type de tâche en tapant `!` comme premier caractère de l'entrée de lancement : le `!` s'affiche comme un préfixe, tout ce qui suit est la commande, et `Entrée` démarre la tâche.

523 

440La commande s'exécute comme une tâche sauvegardée par PTY et apparaît comme une ligne dans la vue agent, avec la ligne de sortie la plus récente comme son statut. Une tâche shell exécute la commande à la place de Claude, donc aucun modèle n'est invoqué et la sortie n'est pas envoyée à aucune session.524La commande s'exécute comme une tâche sauvegardée par PTY et apparaît comme une ligne dans la vue agent, avec la ligne de sortie la plus récente comme son statut. Une tâche shell exécute la commande à la place de Claude, donc aucun modèle n'est invoqué et la sortie n'est pas envoyée à aucune session.

441 525 

442Pour voir la sortie, attachez-vous à la ligne, appuyez sur `Espace` pour jeter un œil sans vous attacher, ou exécutez `claude logs <id>` depuis votre shell. La sortie capturée reste en mémoire et n'est pas écrite sur le disque. La ligne et sa sortie se nettoient automatiquement environ cinq minutes après la sortie de la commande, donc lisez-la avant si vous avez besoin du résultat.526Pour voir la sortie, attachez-vous à la ligne, appuyez sur `Espace` pour jeter un œil sans vous attacher, ou exécutez `claude logs <id>` depuis votre shell. La sortie capturée reste en mémoire et n'est pas écrite sur le disque. La ligne et sa sortie se nettoient automatiquement environ cinq minutes après la sortie de la commande, donc lisez-la avant si vous avez besoin du résultat.


445 Comment les modifications de fichiers sont isolées529 Comment les modifications de fichiers sont isolées

446</h3>530</h3>

447 531 

448Chaque session en arrière-plan, qu'elle soit démarrée à partir de la vue agent, `/bg`, ou `claude --bg`, démarre dans votre répertoire de travail. Avant de modifier des fichiers, Claude déplace la session dans une [git worktree](/docs/fr/worktrees) isolée sous `.claude/worktrees/`, afin que les sessions parallèles puissent lire le même checkout mais chacune écrit dans la sienne.532Chaque session en arrière-plan, qu'elle soit démarrée à partir de la vue agent, `/bg`, ou `claude --bg`, démarre dans votre répertoire de travail. Avant de modifier des fichiers, Claude déplace la session dans une [git worktree](/docs/fr/worktrees) isolée sous `.claude/worktrees/`, afin que les sessions parallèles puissent lire le même checkout mais chacune écrit dans la sienne. Une fois que la session est dans sa worktree, Claude Code [applique l'isolation de worktree](/docs/fr/worktrees#how-claude-code-enforces-isolation) pour la session et pour tous les sous-agents qu'elle lance.

449 533 

450Claude ignore la worktree quand :534Claude ignore la worktree quand :

451 535 

452* La session est déjà à l'intérieur d'une git worktree liée, que Claude l'ait créée sous `.claude/worktrees/` ou que vous l'ayez créée avec `git worktree add` ailleurs536* La session est déjà à l'intérieur d'une git worktree liée, que Claude l'ait créée sous `.claude/worktrees/` ou que vous l'ayez créée avec `git worktree add` ailleurs

537* Le fichier que Claude édite est à l'intérieur d'une git worktree liée, comme une que la session ou son sous-agent a créée avec `git worktree add`

453* Le répertoire de travail n'est pas un référentiel git et aucun hook [`WorktreeCreate`](/docs/fr/hooks#worktreecreate) n'est configuré538* Le répertoire de travail n'est pas un référentiel git et aucun hook [`WorktreeCreate`](/docs/fr/hooks#worktreecreate) n'est configuré

454* L'écriture est en dehors du répertoire de travail539* L'écriture est en dehors du répertoire de travail

455 540 

456Pour désactiver l'isolation de worktree pour un référentiel où les git worktrees ne sont pas pratiques, définissez [`worktree.bgIsolation`](/docs/fr/settings#worktree-settings) sur `"none"`. Les sessions en arrière-plan modifient alors votre copie de travail directement sans d'abord se déplacer dans une worktree. Ajoutez le paramètre au fichier `.claude/settings.json` du projet :541Pour désactiver l'isolation de worktree pour un référentiel où les git worktrees ne sont pas pratiques, définissez [`worktree.bgIsolation`](/docs/fr/settings-reference#worktree-bgisolation) sur `"none"`. Les sessions en arrière-plan modifient alors votre copie de travail directement sans d'abord se déplacer dans une worktree. Ajoutez le paramètre au fichier `.claude/settings.json` du projet :

457 542 

458```json theme={null}543```json theme={null}

459{544{


465 550 

466En dehors d'un référentiel git, les sessions écrivent dans le répertoire de travail directement et ne sont pas isolées les unes des autres, donc évitez de lancer des sessions parallèles qui modifient les mêmes fichiers. Si vous utilisez un système de contrôle de version différent, configurez un hook [`WorktreeCreate`](/docs/fr/worktrees#non-git-version-control) et Claude isole les modifications de la même manière qu'il le fait pour git.551En dehors d'un référentiel git, les sessions écrivent dans le répertoire de travail directement et ne sont pas isolées les unes des autres, donc évitez de lancer des sessions parallèles qui modifient les mêmes fichiers. Si vous utilisez un système de contrôle de version différent, configurez un hook [`WorktreeCreate`](/docs/fr/worktrees#non-git-version-control) et Claude isole les modifications de la même manière qu'il le fait pour git.

467 552 

468Quand le hook échoue dans un répertoire qui n'est pas un référentiel git, la session ignore l'isolation pour ce répertoire et modifie le répertoire de travail sur place. À l'intérieur d'un référentiel git, les écritures restent bloquées jusqu'à ce que la session s'isole. Avant la v2.1.203, une session en arrière-plan dans cet état ne pouvait modifier aucun fichier : chaque écriture était rejetée jusqu'à ce qu'elle s'isole, et le hook ne pouvait jamais isoler ce répertoire.553Quand le hook échoue dans un répertoire qui n'est pas un référentiel git, Claude ignore l'isolation pour ce répertoire et édite le répertoire de travail sur place. À l'intérieur d'un référentiel git, Claude Code bloque les écritures au checkout partagé jusqu'à ce que Claude déplace la session dans une worktree.

469 

470Supprimer une session supprime ou conserve la worktree que Claude a créée pour elle, selon la façon dont vous la supprimez et ce que la worktree contient :

471 

472* Supprimer dans la vue agent avec `Ctrl+X` deux fois supprime la worktree, y compris les modifications non validées, donc validez les modifications que vous voulez conserver d'abord.

473* Supprimer depuis le shell avec [`claude rm`](#manage-sessions-from-the-shell) conserve une worktree qui a des modifications non validées, ainsi que sa ligne de session.

474* Aucun chemin ne supprime une worktree avec des commits qui ne sont pas poussés nulle part : la worktree est [conservée avec sa session](#organize-the-list) et la sortie nomme le chemin conservé et la raison.

475* Une worktree que vous avez créée vous-même et dans laquelle vous avez démarré la session est laissée en place de toute façon.

476 554 

477Pour trouver le chemin de la worktree d'une session, jetez un œil à la session ou attachez-vous et vérifiez son répertoire de travail.555Pour trouver le chemin de la worktree d'une session, jetez un œil à la session ou attachez-vous et vérifiez son répertoire de travail.

478 556 

479Un [sous-agent](/docs/fr/sub-agents) que la session en arrière-plan lance hérite du répertoire de travail de la session, donc ses modifications de fichiers se retrouvent dans la worktree de la session plutôt que dans votre copie de travail. Pour donner à un sous-agent sa propre worktree séparée à la place, définissez [`isolation: worktree`](/docs/fr/sub-agents#supported-frontmatter-fields) dans son frontmatter ou passez `isolation: "worktree"` lors de son lancement.557Un [sous-agent](/docs/fr/sub-agents) que la session en arrière-plan lance hérite du répertoire de travail de la session, donc ses modifications de fichiers se retrouvent dans la worktree de la session plutôt que dans votre copie de travail. Pour donner à un sous-agent sa propre worktree séparée à la place, définissez [`isolation: worktree`](/docs/fr/sub-agents#supported-frontmatter-fields) dans son frontmatter ou passez `isolation: "worktree"` lors de son lancement.

480 558 

481À partir de la v2.1.198, une session en arrière-plan qui a isolé ses modifications de code dans une worktree valide également, pousse sa propre branche, et ouvre une demande de tirage en brouillon sans s'arrêter pour demander. L'étiquette [`#N`](#pull-request-status) apparaît sur sa ligne quand la demande de tirage s'ouvre. Elle ne pousse jamais vers `main` ou `master`, ne force jamais les poussées ou les fusions, et elle ignore la demande de tirage quand vous lui avez dit de ne pas en ouvrir une ou que le référentiel n'a pas de remote.559Quand une session en arrière-plan a fait des modifications de code dans une worktree que Claude a entrée, Claude Code ordonne à Claude de préserver le travail avant de terminer, afin qu'il survive si vous supprimez la session et sa worktree :

560 

561* **Valider et pousser** : Claude valide sans demander, et pousse la branche quand le référentiel a un remote.

562* **Demande de tirage en brouillon** : Claude en ouvre une quand la tâche l'appelle, et l'étiquette [`#N`](#pull-request-status) apparaît sur la ligne.

563* **Jamais** : pousser vers `main` ou `master`, forcer les poussées, et fusionner.

564* **Vos instructions git prennent la priorité** : si la tâche, `CLAUDE.md`, ou la [mémoire](/docs/fr/memory) dit que vous gérez vous-même la validation ou la poussée, Claude vous laisse git.

565 

566Une session éditant un checkout qu'elle n'a pas isolée elle-même demande toujours avant de valider ou de changer de branche. Cela s'applique quand l'isolation est définie sur `"none"`, quand le déplacement de la worktree a échoué, ou quand la session a démarré à l'intérieur d'une worktree qui existait déjà.

567 

568Quelle que soit la tâche, Claude termine le travail avec un rapport disant ce qu'il a fait et où le travail est : un chemin, une branche, une demande de tirage, ou la réponse elle-même.

569 

570<h4 id="what-deleting-a-session-removes">

571 Ce que supprimer une session supprime

572</h4>

573 

574Supprimez une session avec `Ctrl+X` deux fois dans la [vue agent](#organize-the-list) ou avec [`claude rm`](#manage-sessions-from-the-shell). Sauf dans les cas conservés ci-dessous, la session quitte la liste. Sa transcription reste sur votre machine via `claude --resume`, et la suppression survit aux redémarrages du superviseur.

575 

576Ce qui arrive à une worktree que Claude a créée pour la session :

577 

578* La vue agent la supprime, y compris les modifications non validées, donc validez ce que vous voulez conserver d'abord.

579* `claude rm` la conserve, ainsi que la ligne de session, quand elle a des modifications non validées.

580* Ni la vue agent ni `claude rm` ne supprime une worktree qu'une autre session en cours d'exécution utilise ou a verrouillée, et supprimer à nouveau ne change pas cela. Claude Code conserve la worktree et la session, et nomme le répertoire conservé et la raison ; dans la vue agent, la ligne de la session affiche `not deleted`. Fermez l'autre session, puis supprimez à nouveau.

581* Quand vous supprimez une session dont la worktree a des commits que Claude Code ne peut pas confirmer sont enregistrés ailleurs, Claude Code conserve la worktree et la session, et le message nomme la branche de la worktree et combien de commits ne sont pas poussés. Le message offre également les deux façons d'avancer : pousser les commits, ou supprimer à nouveau pour les abandonner.

582 

583 Les commits sur un remote ne bloquent pas la suppression. Ni les commits sur la copie locale de la branche par défaut de votre remote `origin`, tant que cette branche est extraite dans votre checkout principal, le répertoire du référentiel lui-même plutôt qu'une worktree.

584 

585 Après ce refus, vous choisissez :

586 

587 * Pour conserver les commits, les pousser, ou les fusionner dans cette branche par défaut, puis supprimer la session à nouveau.

588 * Pour les abandonner, supprimer la session à nouveau sans pousser : appuyez sur `Ctrl+X` deux fois sur sa ligne dans la vue agent, ou exécutez la commande `claude rm <id> --discard-unpushed` que le refus a affichée. Cela supprime la session et la worktree avec sa branche, abandonnant les commits non poussés et toutes les modifications non validées.

589 

590 Quand vous supprimez à nouveau, Claude Code abandonne uniquement ce que le refus a montré : si la worktree a gagné un commit depuis, Claude Code la conserve à nouveau et affiche l'état mis à jour.

591 

592 Quand les enregistrements d'une autre session terminée nomment également la worktree, elle reste quand vous supprimez à nouveau ; poussez les commits, puis supprimez à nouveau.

593* Une worktree que git ne reconnaît plus, par exemple après `git worktree prune`, ne bloque pas la suppression. Claude Code supprime la session et laisse le répertoire sur le disque.

594* Quand git ou votre hook [`WorktreeRemove`](/docs/fr/hooks#worktreeremove) échoue à supprimer la worktree, Claude Code conserve la worktree et la session, et le message nomme la cause. Pour un hook, le message dit comment il s'est terminé, comme `exited 1`, et cite le début de son stderr. Le message vous dit également lequel de ceux-ci faire ensuite :

595 

596 * Supprimer la session à nouveau pour supprimer le répertoire de toute façon, en appuyant sur `Ctrl+X` deux fois sur sa ligne dans la vue agent ou en exécutant la commande `claude rm <id> --force-remove-worktree <worktree-id>` que le refus de `claude rm` a affichée. Claude Code n'offre cela que quand il peut confirmer que le répertoire est l'une des worktrees liées du référentiel sous `.claude/worktrees/` sans modifications non validées aux fichiers suivis, sans référentiel imbriqué à l'intérieur, et sans enregistrement d'une autre session le nommant. La branche de la worktree reste dans le référentiel.

597 * Corriger ce qui se met en travers, comme valider ou remiser les modifications non validées, fermer ce qui utilise le répertoire, ou corriger le hook, puis supprimer la session à nouveau.

598 * Supprimer le répertoire vous-même, puis supprimer la session à nouveau.

599 

600Une worktree que vous avez créée vous-même et dans laquelle vous avez démarré la session est laissée en place de toute façon.

482 601 

483Une session modifiant un checkout qu'elle n'a pas isolée elle-même demande toujours avant de valider ou de changer de branche. Cela s'applique quand l'isolation est définie sur `"none"`, quand le déplacement de la worktree a échoué, ou quand la session a démarré à l'intérieur d'une worktree qui existait déjà.602Une session dont le répertoire de worktree n'appartient à aucun référentiel git, parce que le référentiel a été supprimé ou un hook [`WorktreeCreate`](/docs/fr/hooks#worktreecreate) a créé le répertoire ailleurs, peut toujours être supprimée. Tandis que les fichiers restent dans le répertoire :

603 

604* La vue agent demande le même double-appui `Ctrl+X` avant de les abandonner. Pour un répertoire créé par hook, il exécute votre hook [`WorktreeRemove`](/docs/fr/hooks#worktreeremove) à la place, et sans un, il refuse la suppression et conserve la session.

605* `claude rm` conserve la session et la worktree, et nomme la raison.

606 

607Chaque chemin conserve un répertoire que les enregistrements d'une autre session terminée nomment.

484 608 

485<h3 id="set-the-model">609<h3 id="set-the-model">

486 Définir le modèle610 Définir le modèle

487</h3>611</h3>

488 612 

489Le nom du modèle affiché dans l'en-tête de la vue agent est la valeur par défaut du lancement. Les nouvelles sessions que vous démarrez à partir de l'entrée utilisent ce modèle, qui provient du paramètre [`model`](/docs/fr/settings#available-settings) dans vos paramètres utilisateur. Définissez-le en sélectionnant un modèle dans le sélecteur [`/model`](/docs/fr/model-config), ou modifiez le paramètre directement.613Le nom du modèle affiché dans l'en-tête de la vue agent est la valeur par défaut du lancement. Les nouvelles sessions que vous démarrez à partir de l'entrée utilisent ce modèle, qui provient du paramètre [`model`](/docs/fr/settings-reference#model) dans vos paramètres utilisateur. Définissez-le en sélectionnant un modèle dans le sélecteur [`/model`](/docs/fr/model-config), ou modifiez le paramètre directement.

490 614 

491Pour le remplacer pour l'ensemble de la session de la vue agent, passez `--model` lors de l'ouverture de la vue agent. Voir [Mode de permission, modèle et effort](#permission-mode-model-and-effort).615Pour remplacer la valeur par défaut du lancement pour l'ensemble de la session de la vue agent, passez `--model` lors de l'ouverture de la vue agent. Voir [Mode de permission, modèle et effort](#permission-mode-model-and-effort).

492 616 

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

494 618 


509 Mode de permission, modèle et effort633 Mode de permission, modèle et effort

510</h3>634</h3>

511 635 

512Une session en arrière-plan lit ses [paramètres](/docs/fr/settings) à partir du répertoire dans lequel elle s'exécute, de la même manière que si vous aviez démarré `claude` là. Cela inclut les valeurs [`env`](/docs/fr/settings#available-settings) dans les paramètres du projet, donc une variable `ANTHROPIC_MODEL` ou de fournisseur définie là s'applique aux sessions en arrière-plan dans ce répertoire.636Une session en arrière-plan prend ses paramètres, fournisseur, mode de permission, modèle et effort à partir de l'endroit et de la façon dont vous l'avez lancée. Les sous-sections ci-dessous couvrent chaque source, et ce qui persiste quand le superviseur redémarre la session.

637 

638<h4 id="settings-and-provider">

639 Paramètres et fournisseur

640</h4>

641 

642Une session en arrière-plan lit ses [paramètres](/docs/fr/settings) à partir du répertoire dans lequel elle s'exécute, de la même manière que si vous aviez démarré `claude` là. Cela inclut les valeurs [`env`](/docs/fr/settings-reference#env) dans les paramètres du projet, donc une variable `ANTHROPIC_MODEL` ou de fournisseur définie là s'applique à chaque session en arrière-plan dans ce répertoire.

643 

644Une session en arrière-plan s'exécute également avec le `PATH` du shell à partir duquel vous l'avez lancée, afin que les commandes qu'elle exécute trouvent les mêmes outils que votre terminal. Elle conserve également la sélection du fournisseur cloud de ce shell, comme `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_VERTEX`, ainsi que ses alias `ANTHROPIC_DEFAULT_*_MODEL` et tout remplacement [`CLAUDE_CODE_EXTRA_BODY`](/docs/fr/env-vars) que vous avez exporté là.

645 

646<h4 id="llm-gateway">

647 Passerelle LLM

648</h4>

649 

650Si vous routez Claude Code via une [passerelle LLM](/docs/fr/llm-gateway), mettez les variables de passerelle dans un bloc `env` d'un fichier de paramètres plutôt que de les exporter dans votre shell, et les sessions en arrière-plan les lisent avec le reste de leurs paramètres. [Définir dans un fichier de paramètres](/docs/fr/llm-gateway-connect#set-in-a-settings-file) affiche le bloc et quel fichier de paramètres utiliser pour les identifiants.

513 651 

514La sélection du fournisseur cloud, comme `CLAUDE_CODE_USE_BEDROCK` ou `CLAUDE_CODE_USE_VERTEX`, et les alias `ANTHROPIC_DEFAULT_*_MODEL` suivent le shell qui a lancé la session. Si vous exportez un remplacement de corps de requête [`CLAUDE_CODE_EXTRA_BODY`](/docs/fr/env-vars) dans ce shell, il atteint la session de la même manière. Avant la v2.1.206, les workers en arrière-plan ignoraient un `CLAUDE_CODE_EXTRA_BODY` exporté par le shell.652Si vous exportez une passerelle `ANTHROPIC_BASE_URL` uniquement dans votre shell à la place, elle atteint une session en arrière-plan, avec `ANTHROPIC_CUSTOM_HEADERS` et les identifiants que vous avez exportés avec elle, uniquement quand le [superviseur](#the-supervisor-process) lui-même a été démarré à partir d'un shell qui a exporté la même passerelle, et uniquement dans ces cas :

515 653 

516Si vous exportez une passerelle `ANTHROPIC_BASE_URL` dans le shell de lancement, elle atteint la session aussi, avec `ANTHROPIC_CUSTOM_HEADERS`, quand le superviseur s'exécute avec le même environnement de passerelle et la session s'exécute dans le répertoire à partir duquel vous avez lancé ou est votre propre session mise en arrière-plan avec `←` ou `/background`. C'est le cas normal quand le premier shell à ouvrir la vue agent ou lancer une session en arrière-plan est le shell de passerelle. Lancer dans un répertoire différent avec `@repo` ou `--cwd` ne porte pas la passerelle du shell ; les [paramètres](/docs/fr/settings) de ce projet fournissent le point de terminaison. Voir [le processus superviseur](#the-supervisor-process) pour savoir comment les sessions en arrière-plan sourçent les paramètres du fournisseur et les identifiants.654* Vous mettez votre propre session en arrière-plan avec `←` ou `/background`

655* Vous lancez une session dans le répertoire dans lequel vous êtes

656* Vous réveillez une session arrêtée dans le répertoire dans lequel vous êtes en vous attachant ou en répondant à elle

517 657 

518Le [mode de permission](/docs/fr/permissions) dépend de la façon dont vous avez démarré la session. Mettre en arrière-plan une session existante avec `/bg` ou `←` conserve le mode de permission actuel, donc une session que vous avez basculée vers `acceptEdits` ou `auto` reste dans ce mode après détachement. Lancer à partir de l'entrée de la vue agent ou exécuter `claude --bg` depuis votre shell utilise le `defaultMode` à partir des paramètres de ce répertoire, ou le `permissionMode` à partir du [frontmatter du sous-agent lancé](/docs/fr/sub-agents#supported-frontmatter-fields).658Claude Code transfère une passerelle devant un fournisseur cloud. Si le shell à partir duquel vous lancez sélectionne le fournisseur et exporte son point de terminaison de passerelle avec son drapeau de contournement d'authentification, Claude Code transfère la paire point-de-terminaison-et-drapeau à la session dans les conditions qui s'appliquent à `ANTHROPIC_BASE_URL`, avec `ANTHROPIC_CUSTOM_HEADERS`. Par exemple, exportez `CLAUDE_CODE_USE_VERTEX=1` avec `ANTHROPIC_VERTEX_BASE_URL` et `CLAUDE_CODE_SKIP_VERTEX_AUTH=1`, et Claude Code transfère ce point de terminaison et ce drapeau.

519 659 

520Le mode de permission, le modèle et l'effort avec lesquels une session en arrière-plan a été démarrée, ainsi que les [drapeaux de configuration qu'elle porte](#from-inside-a-session), persistent tous quand le superviseur [arrête et redémarre](#the-supervisor-process) ultérieurement le processus de la session. Une session que vous avez lancée avec `claude --bg --dangerously-skip-permissions` ou `claude --bg --permission-mode bypassPermissions` reste dans `bypassPermissions` après ce redémarrage au lieu de revenir au `defaultMode` du répertoire, et un modèle ou un effort que vous avez changé en milieu de session avec `/model` ou `/effort` est conservé.660Claude Code applique une passerelle transférée au processus en cours d'exécution de cette session uniquement et ne l'écrit jamais sur le disque.

521 661 

522Un effort que la session a pris à partir du paramètre [`effortLevel`](/docs/fr/settings#available-settings) plutôt que de `--effort` ou `/effort` n'est pas fixé au lancement : chaque processus démarré pour la session relit le paramètre à nouveau, donc modifier `effortLevel` dans `settings.json` atteint les sessions que vous mettez en arrière-plan avec `←` ou `/bg` et leurs redémarrages ultérieurs. Avant la v2.1.203, mettre en arrière-plan une session enregistrait son effort dérivé des paramètres comme si vous aviez passé `--effort`, donc les modifications ultérieures de `effortLevel` ne l'atteignaient jamais.662<h4 id="permission-mode">

663 Mode de permission

664</h4>

665 

666Le [mode de permission](/docs/fr/permissions) dépend de la façon dont vous avez démarré la session :

667 

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

669* **Lancée à partir d'une vue agent que vous avez ouverte avec `←`** : la configuration propre de la cible vient en premier, et le mode de permission de la session dont vous venez s'applique quand rien d'autre n'en définit un

670* **Lancée à partir de `claude agents` démarrée dans un shell, ou avec `claude --bg`** : la nouvelle session démarre de la façon qu'une nouvelle session `claude` dans ce répertoire le ferait, sauf si vous l'avez lancée à partir d'une vue agent que vous avez ouverte avec les [valeurs par défaut du lancement](#dispatch-defaults). [Quel mode de permission une session démarre](/docs/fr/permission-modes#which-mode-a-session-starts-in) liste l'ordre

671 

672Pour une session que vous lancez à partir d'une vue agent ouverte avec `←`, Claude Code prend le mode de permission à partir du premier de ceux-ci qui s'applique :

673 

6741. Le [`permissions.defaultMode`](/docs/fr/settings-reference#permissions-defaultmode) du répertoire cible. Deux règles de source s'appliquent :

675 * `auto` et `bypassPermissions` [ne prennent effet que à partir des paramètres gérés, d'un fichier `--settings`, ou de `~/.claude/settings.json`](/docs/fr/settings-reference#permissions-defaultmode).

676 * Claude Code refuse un `defaultMode` à partir du `.claude/settings.json` ou `.claude/settings.local.json` du projet qui sélectionne un mode plus permissif que celui dans lequel la session dont vous venez était.

6772. Le mode de permission de la session dont vous venez

523 678 

524Un nom que vous avez défini avec [`/rename`](/docs/fr/commands) ou `Ctrl+R` persiste également lors de ce redémarrage, donc [`claude --resume <name>`](/docs/fr/sessions#name-your-sessions) résout toujours la session. Avant la v2.1.202, le redémarrage revenait au nom avec lequel la session a été lancée et le nouveau nom cessait de résoudre.679Quand Claude Code refuse le mode d'une source comme trop permissif, la source suivante dans la liste décide. Par exemple, si vous lancez à partir d'une session en mode plan dans un répertoire dont les paramètres vérifiés demandent `acceptEdits`, la nouvelle session démarre en mode plan. Si vous déplacez ce `defaultMode` vers `~/.claude/settings.json`, il s'applique indépendamment du mode de permission de la session dont vous venez.

680 

681La permissivité va plan, puis Manual et `dontAsk`, puis `acceptEdits` et auto, qui comptent chacun comme plus permissif que l'autre, puis `bypassPermissions`.

682 

683<h4 id="dispatch-defaults">

684 Valeurs par défaut du lancement

685</h4>

525 686 

526Pour définir les valeurs par défaut pour chaque session que vous lancez à partir de la vue agent, passez l'un de `--permission-mode`, `--model`, `--effort`, ou `--agent` lors de son ouverture :687Pour définir les valeurs par défaut pour chaque session que vous lancez à partir de la vue agent, passez l'un de `--permission-mode`, `--model`, `--effort`, ou `--agent` lors de son ouverture :

527 688 


529claude agents --permission-mode plan --model opus --effort high690claude agents --permission-mode plan --model opus --effort high

530```691```

531 692 

532`--agent` définit le [sous-agent](/docs/fr/sub-agents) utilisé quand une invite de lancement ne nomme pas un, soit avec `@name` soit comme premier mot. Il prend par défaut le paramètre [`agent`](/docs/fr/settings#available-settings) s'il en existe un, sinon l'agent intégré `claude` fourre-tout. Nommer un sous-agent dans l'entrée de lancement remplace les deux.693`--effort` ici accepte les mêmes valeurs que le [drapeau `--effort` de haut niveau](/docs/fr/cli-reference#cli-flags), y compris `ultracode`.

694 

695`--agent` définit le [sous-agent](/docs/fr/sub-agents) utilisé quand une invite de lancement ne nomme pas un, soit avec `@name` soit comme premier mot. Il prend par défaut le paramètre [`agent`](/docs/fr/settings-reference#agent) s'il en existe un, sinon l'agent intégré fourre-tout `claude`. Nommer un sous-agent dans l'entrée de lancement remplace les deux.

533 696 

534`claude agents` accepte également `--dangerously-skip-permissions` comme raccourci pour `--permission-mode bypassPermissions`, et `--allow-dangerously-skip-permissions` pour rendre `bypassPermissions` disponible dans le cycle `Shift+Tab` de chaque session lancée sans démarrer dans ce mode. Les deux correspondent aux [drapeaux CLI de haut niveau](/docs/fr/cli-reference).697`claude agents` accepte également `--dangerously-skip-permissions` comme raccourci pour `--permission-mode bypassPermissions`, et `--allow-dangerously-skip-permissions` pour rendre `bypassPermissions` disponible dans le cycle `Shift+Tab` de chaque session lancée sans démarrer dans ce mode. Les deux correspondent aux [drapeaux CLI de haut niveau](/docs/fr/cli-reference).

535 698 

699Passez `--restricted` pour démarrer chaque session que vous lancez à partir de la vue en [mode restreint](/docs/fr/cli-reference#cli-flags), comme si chacune était lancée avec le drapeau de haut niveau `--restricted`. Nécessite Claude Code v2.1.248 ou ultérieur.

700 

536Les valeurs par défaut actives apparaissent dans le pied de page sous l'entrée de lancement.701Les valeurs par défaut actives apparaissent dans le pied de page sous l'entrée de lancement.

537 702 

538Sans ces drapeaux, la session utilise le `defaultMode` à partir des paramètres de ce répertoire ou le `permissionMode` à partir du [frontmatter du sous-agent lancé](/docs/fr/sub-agents#supported-frontmatter-fields), et le modèle affiché dans l'en-tête de la vue agent.703Claude Code refuse `claude --bg --permission-mode bypassPermissions` jusqu'à ce que vous ayez accepté la clause de non-responsabilité du contournement en exécutant `claude --dangerously-skip-permissions` une fois de manière interactive, puisque ce mode permet à une session que vous ne regardez pas d'agir sans approbation. Passer `--dangerously-skip-permissions` ou `--permission-mode bypassPermissions` à `claude agents` affiche la même clause de non-responsabilité quand vous ne l'avez pas acceptée avant, et accepter applique `bypassPermissions` aux sessions que vous lancez à partir de la vue. Passer `--allow-dangerously-skip-permissions` affiche la même clause de non-responsabilité aussi, et accepter rend `bypassPermissions` disponible dans le cycle `Shift+Tab` de ces sessions sans les démarrer dedans.

704 

705<h4 id="what-persists-across-restarts">

706 Ce qui persiste lors des redémarrages

707</h4>

708 

709Le mode de permission, le modèle et l'effort que vous avez choisis pour une session en arrière-plan, ainsi que les [drapeaux de configuration qu'elle porte](#what-carries-over-when-you-background), persistent tous quand le superviseur [arrête et redémarre](#the-supervisor-process) ultérieurement le processus de la session. Une session que vous avez lancée avec `claude --bg --dangerously-skip-permissions` ou `claude --bg --permission-mode bypassPermissions` reste dans `bypassPermissions` après ce redémarrage. Un modèle ou un effort que vous avez changé en milieu de session avec `/model` ou `/effort` est conservé aussi.

710 

711Si la session a pris son effort à partir de vos paramètres plutôt que de `--effort` ou `/effort`, Claude Code relit vos paramètres à nouveau chaque fois qu'il démarre un processus pour la session. Après avoir édité l'effort enregistré dans `settings.json`, le changement atteint les sessions que vous mettez en arrière-plan avec `←` ou `/bg`, et leurs redémarrages ultérieurs. L'effort enregistré est la clé [`effortLevel`](/docs/fr/settings-reference#effortlevel) ou une entrée [`modelSettings`](/docs/fr/settings-reference#modelsettings).

539 712 

540Utiliser `bypassPermissions` avec `claude --bg --permission-mode` est refusé jusqu'à ce que vous ayez accepté la clause de non-responsabilité du contournement en exécutant `claude --dangerously-skip-permissions` une fois de manière interactive, puisque ce mode permet à une session que vous ne regardez pas d'agir sans approbation. Passer `--dangerously-skip-permissions` ou `--permission-mode bypassPermissions` à `claude agents` affiche la même clause de non-responsabilité quand vous ne l'avez pas acceptée avant, et accepter applique `bypassPermissions` aux sessions que vous lancez à partir de la vue. Passer `--allow-dangerously-skip-permissions` affiche la même clause de non-responsabilité aussi, et accepter rend `bypassPermissions` disponible dans le cycle `Shift+Tab` de ces sessions sans les démarrer dedans.713Claude Code conserve également un nom que vous avez défini avec [`/rename`](/docs/fr/commands) ou `Ctrl+R` lors de ce redémarrage, donc vous pouvez toujours exécuter [`claude --resume <name>`](/docs/fr/sessions#name-your-sessions) pour atteindre la session.

714 

715Une invite que vous avez remisée avec [`Ctrl+S`](/docs/fr/interactive-mode#general-controls) tandis que vous étiez attaché est conservée avec la session aussi. Rouvrez la session après son processus a été arrêté ou redémarré, et `Ctrl+S` restaure le texte remisé. Le contenu collé dans la remise ne survit pas au redémarrage.

541 716 

542<h3 id="settings-plugins-and-mcp-servers">717<h3 id="settings-plugins-and-mcp-servers">

543 Paramètres, plugins et serveurs MCP718 Paramètres, plugins et serveurs MCP

544</h3>719</h3>

545 720 

546La vue agent accepte les mêmes drapeaux de configuration que `claude` pour charger les paramètres, les plugins, les serveurs MCP et les répertoires supplémentaires. Chaque drapeau s'applique à la vue agent elle-même et est transmis à chaque session que vous lancez à partir de celle-ci, donc un plugin ou un serveur MCP que vous chargez de cette manière est disponible dans ces sessions aussi.721La vue agent accepte les mêmes drapeaux de configuration que `claude` pour charger les paramètres, les plugins, les serveurs MCP et les répertoires supplémentaires. La vue agent applique `--settings` et `--plugin-dir` à elle-même et transmet chaque drapeau de configuration aux sessions que vous lancez à partir de celle-ci, donc un plugin ou un serveur MCP que vous chargez de cette manière est disponible dans ces sessions.

547 722 

548| Drapeau | Effet |723| Drapeau | Effet |

549| :----------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ |724| :----------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

550| [`--settings <file-or-json>`](/docs/fr/settings) | Remplacer les paramètres pour la vue agent et les sessions lancées |725| [`--settings <file-or-json>`](/docs/fr/settings) | Remplacer les paramètres pour la vue agent et les sessions lancées |

551| [`--add-dir <path>`](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) | Accorder l'accès aux fichiers à un répertoire supplémentaire |726| [`--add-dir <path>`](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) | Accorder l'accès aux fichiers à un répertoire supplémentaire |

552| [`--plugin-dir <path>`](/docs/fr/plugins) | Charger un plugin à partir d'un répertoire local |727| [`--plugin-dir <path>`](/docs/fr/plugins) | Charger un plugin à partir d'un répertoire local |

553| [`--mcp-config <file-or-json>`](/docs/fr/mcp) | Charger les serveurs MCP à partir d'un fichier de configuration ou d'une chaîne JSON |728| [`--mcp-config <file-or-json>`](/docs/fr/mcp) | Charger les serveurs MCP à partir d'un fichier de configuration ou d'une chaîne JSON |

554| `--strict-mcp-config` | Utiliser uniquement les serveurs MCP de `--mcp-config`, en ignorant les autres configurations MCP |729| `--strict-mcp-config` | Utiliser uniquement les serveurs MCP de `--mcp-config`, en ignorant les autres configurations MCP. Voir [Contrôle exclusif avec managed-mcp.json](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) pour ce que le drapeau fait sous un fichier MCP géré |

730 

731Répétez `--add-dir`, `--plugin-dir`, ou `--mcp-config` une fois par valeur. `claude agents` ne supporte pas la forme séparée par des espaces, comme `--add-dir a b c`.

555 732 

556Répétez `--add-dir`, `--plugin-dir`, ou `--mcp-config` une fois par valeur. La forme séparée par des espaces, comme `--add-dir a b c`, n'est pas prise en charge avec `claude agents`.733Vous pouvez placer `--settings` et `--plugin-dir` avant ou après `agents`. Gardez `--add-dir` et `--mcp-config` après `agents` : si vous placez l'un ou l'autre avant `agents`, [`claude agents --json`](#manage-sessions-from-the-shell) échoue avec une erreur `unknown option`.

557 734 

558L'exemple suivant ouvre la vue agent avec un remplacement de paramètres et un répertoire supplémentaire :735L'exemple suivant ouvre la vue agent avec un remplacement de paramètres et un répertoire supplémentaire :

559 736 


561claude agents --settings ./ci-settings.json --add-dir ../shared-lib738claude agents --settings ./ci-settings.json --add-dir ../shared-lib

562```739```

563 740 

741`--settings` accepte un chemin de fichier ou une chaîne JSON en ligne. Un chemin de fichier doit pointer vers un fichier existant ; Claude Code se termine avec une erreur `Settings file not found` s'il ne le fait pas.

742 

564<h2 id="manage-sessions-from-the-shell">743<h2 id="manage-sessions-from-the-shell">

565 Gérer les sessions depuis le shell744 Gérer les sessions depuis le shell

566</h2>745</h2>


568Chaque session en arrière-plan a un ID court que vous pouvez utiliser depuis le shell. L'ID est affiché quand vous démarrez une session avec `claude --bg`, et l'ID de chaque session est son nom de répertoire sous `~/.claude/jobs/`. Ces commandes sont utiles pour les scripts ou quand vous ne voulez pas ouvrir la vue agent.747Chaque session en arrière-plan a un ID court que vous pouvez utiliser depuis le shell. L'ID est affiché quand vous démarrez une session avec `claude --bg`, et l'ID de chaque session est son nom de répertoire sous `~/.claude/jobs/`. Ces commandes sont utiles pour les scripts ou quand vous ne voulez pas ouvrir la vue agent.

569 748 

570| Commande | Objectif |749| Commande | Objectif |

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

572| `claude agents` | Ouvrir la vue agent |751| `claude agents` | Ouvrir la vue agent |

573| `claude agents --cwd <path>` | Ouvrir la vue agent limitée aux sessions démarrées sous `<path>` |752| `claude agents --cwd <path>` | Ouvrir la vue agent limitée aux sessions démarrées sous `<path>` |

574| `claude agents --json` | Afficher les sessions actives en tant que tableau JSON et quitter : chaque session active, plus les sessions en arrière-plan qui travaillent encore ou sont bloquées même quand leur processus a quitté. Ajoutez `--all` pour inclure aussi les sessions en arrière-plan terminées. Chaque entrée a `cwd`, `kind`, et `startedAt`. Les entrées en arrière-plan ont aussi `id`, utilisable avec `claude attach`/`logs`/`stop`, et `state` : l'une de `working`, `blocked`, `done`, `failed`, ou `stopped`. `pid` et `status` sont présents uniquement tant que le processus est actif, plus `waitingFor` quand status est `waiting`, qui indique sur quoi la session est bloquée, comme `permission prompt` ou `input needed` ; `sessionId` et `name` apparaissent quand ils sont définis. Une entrée interactive que vous n'avez jamais nommée porte un nom par défaut construit à partir du nom du répertoire de travail plus un suffixe de deux caractères, comme `my-app-3f`. Combinez avec `--cwd <path>` pour filtrer |753| `claude agents --json` | Afficher les sessions en tant que tableau JSON et quitter. Voir [Afficher les sessions en tant que JSON](#list-sessions-as-json) |

575| `claude attach <id>` | S'attacher à une session dans ce terminal |754| `claude attach <id>` | S'attacher à une session dans ce terminal |

576| `claude logs <id>` | Afficher la sortie récente de la session |755| `claude logs <id>` | Afficher la sortie récente de la session |

577| `claude stop <id>` | Arrêter une session. Accepte aussi `claude kill` |756| `claude stop <id>` | Arrêter une session. Accepte aussi `claude kill` |

578| `claude respawn <id>` | Redémarrer une session, en cours d'exécution ou arrêtée, avec sa conversation intacte, par exemple pour utiliser un binaire Claude Code mis à jour |757| `claude respawn <id>` | Redémarrer une session, en cours d'exécution ou arrêtée, par exemple pour utiliser un binaire Claude Code mis à jour. La session redémarrée reprend sa conversation enregistrée ; quand aucune n'est sur le disque, elle exécute à nouveau son prompt original en tant que nouvelle conversation |

579| `claude respawn --all` | Redémarrer chaque session en cours d'exécution, par exemple pour déplacer toutes les sessions vers un binaire Claude Code mis à jour en une seule fois |758| `claude respawn --all` | Redémarrer chaque session en cours d'exécution, par exemple pour déplacer toutes les sessions vers un binaire Claude Code mis à jour en une seule fois |

580| `claude rm <id>` | Supprimer une session de la liste. Supprime une worktree que Claude a créée pour la session si elle n'a pas de modifications non validées et aucun commit qui n'est pas poussé nulle part ; sinon la session est conservée aussi, et la commande affiche le chemin de la worktree et la raison afin que vous puissiez la résoudre et exécuter `claude rm` à nouveau. Laisse en place une worktree que vous avez créée vous-même. La transcription de la conversation reste sur votre machine locale et reste disponible via `claude --resume` |759| `claude rm <id>` | Supprimer une session de la liste, ainsi qu'une worktree que Claude a créée pour elle quand il est sûr de la supprimer ; voir [Ce que la suppression d'une session supprime](#what-deleting-a-session-removes). La transcription de la conversation reste sur votre machine locale et reste disponible via `claude --resume` |

760| `claude rm <id> --discard-unpushed <commit>@<worktree-id>` | Supprimer une session dont la suppression a été refusée en raison de commits non poussés, en supprimant la worktree ainsi que sa branche et ses commits. Passez la valeur exacte que le refus a affichée ; voir [Ce que la suppression d'une session supprime](#what-deleting-a-session-removes). Nécessite v2.1.260 ou ultérieur |

761| `claude rm <id> --force-remove-worktree <worktree-id>` | Supprimer une session dont la suppression a été refusée parce que git ou le hook `WorktreeRemove` n'a pas pu supprimer sa worktree, en supprimant le répertoire worktree de toute façon et en laissant sa branche dans le référentiel. Passez la valeur exacte que le refus a affichée ; voir [Ce que la suppression d'une session supprime](#what-deleting-a-session-removes). Nécessite v2.1.268 ou ultérieur |

581| `claude daemon status` | Afficher l'état du [superviseur](#the-supervisor-process), la version, le répertoire socket et le nombre de workers |762| `claude daemon status` | Afficher l'état du [superviseur](#the-supervisor-process), la version, le répertoire socket et le nombre de workers |

582| `claude daemon stop --any` | Arrêter le processus superviseur et les sessions en arrière-plan qu'il héberge. Passez `--keep-workers` pour laisser les sessions en arrière-plan en cours d'exécution afin que le superviseur suivant se reconnecte à elles. Le prochain `claude agents` ou `claude --bg` démarre un nouveau superviseur |763| `claude daemon stop --any` | Arrêter le processus superviseur et les sessions en arrière-plan qu'il héberge. Passez `--keep-workers` pour laisser les sessions en arrière-plan en cours d'exécution afin que le superviseur suivant se reconnecte à elles. Le prochain `claude agents` ou `claude --bg` démarre un nouveau superviseur |

583 764 

584<h2 id="how-background-sessions-are-hosted">765<h3 id="list-sessions-as-json">

585 Comment les sessions en arrière-plan sont hébergées766 Afficher les sessions en tant que JSON

586</h2>

587 

588Chaque session listée dans la vue agent est considérée comme une session en arrière-plan, que vous y soyez actuellement attaché ou non. En contraste, une session démarrée en exécutant `claude` directement est liée à ce terminal et se termine quand il se ferme, sauf si vous [l'envoyez en arrière-plan](#from-inside-a-session).

589 

590<h3 id="the-supervisor-process">

591 Le processus superviseur

592</h3>767</h3>

593 768 

594Les sessions en arrière-plan sont hébergées par un processus superviseur par utilisateur, séparé de votre terminal et de la vue agent. Le superviseur démarre automatiquement la première fois que vous mettez une session en arrière-plan ou ouvrez la vue agent, et vous ne le gérez pas directement.769`claude agents --json` affiche les sessions actives en tant que tableau JSON et quitte : chaque session active, plus les sessions en arrière-plan qui travaillent encore ou sont bloquées même quand leur processus a quitté. Ajoutez `--all` pour inclure aussi les sessions en arrière-plan terminées, et `--cwd <path>` pour limiter la liste aux sessions démarrées sous ce répertoire.

595 

596Quand une mise à jour a remplacé ou supprimé le binaire à partir duquel un processus Claude Code en cours d'exécution a été lancé, ce processus démarre le superviseur à partir d'une autre copie installée, telle que le lanceur `claude` installé ou la version la plus récente sur le disque.

597 

598Le superviseur maintient un processus worker préchauffé prêt pour qu'une dispatch depuis la vue agent ou `claude --bg` démarre sans le délai d'un lancement à froid. Quand vous dispatchez, le superviseur assigne le worker préchauffé à votre session, applique le répertoire, les paramètres et les identifiants de cette session à celui-ci, puis démarre un remplacement pour la prochaine dispatch. Si aucun worker préchauffé sain n'est disponible, le superviseur lance un processus frais à la place.

599 770 

600Le superviseur et ses sessions s'authentifient avec les mêmes identifiants stockés que vos sessions interactives et ne font aucune connexion réseau supplémentaire au-delà de l'API du modèle. Les variables de sélection de fournisseur telles que `CLAUDE_CODE_USE_BEDROCK` et les alias `ANTHROPIC_DEFAULT_*_MODEL` sont lues depuis le shell qui a dispatché chaque session et sont appliquées à son worker.771Chaque entrée décrit une session :

601 772 

602Le `PATH` du shell de dispatch est appliqué au worker de la même manière, donc les commandes shell que la session exécute trouvent les mêmes outils que votre terminal. Avant v2.1.203, une session en arrière-plan conservait le `PATH` du shell qui a d'abord démarré le superviseur, donc les outils ajoutés à votre `PATH` depuis pourraient manquer, le plus souvent sur Windows.773| Champ | Présent | Description |

774| :------------------------- | :------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

775| `cwd`, `kind`, `startedAt` | Toujours | Le répertoire de travail, `interactive` ou `background`, et l'heure de démarrage en millisecondes Unix |

776| `id` | Sessions en arrière-plan | ID court, utilisable avec `claude attach`, `claude logs`, et `claude stop` |

777| `state` | Sessions en arrière-plan | L'une de `working`, `blocked`, `done`, `failed`, ou `stopped`. Voir [Lire l'état de la session à partir d'un script](#read-session-state-from-a-script) pour savoir ce que chaque valeur signifie |

778| `pid`, `status` | Tant que le processus est actif | ID du processus et l'une de `busy`, `waiting`, ou `idle` |

779| `waitingFor` | Quand `status` est `waiting` | Sur quoi la session est bloquée : `permission prompt` pour une approbation, `input needed` pour une question de Claude ou une demande d'entrée d'un serveur MCP, `sandbox request`, `worker request`, ou `dialog open` |

780| `sessionId`, `name` | Quand défini | `sessionId` est l'UUID de session complet, utilisable avec [`claude --resume`](/docs/fr/sessions). Le `name` d'une session interactive est son [nom d'affichage par défaut](/docs/fr/sessions#name-your-sessions) jusqu'à ce que vous nommez la session ou acceptiez un plan en elle |

603 781 

604Une session en arrière-plan n'hérite pas des variables de point de terminaison de passerelle telles que `ANTHROPIC_BASE_URL` ou les variables d'URL de base équivalentes pour Amazon Bedrock, Google Cloud's Agent Platform, et Microsoft Foundry depuis le shell qui a démarré le superviseur. Sans une passerelle exportée dans le shell à partir duquel vous dispatchez, la session utilise vos identifiants stockés et toute valeur `env` dans le bloc [settings](/docs/fr/settings) du répertoire du projet. Pour pointer chaque session dans un projet vers une [passerelle LLM](/docs/fr/llm-gateway), définissez `ANTHROPIC_BASE_URL` dans le bloc `env` du fichier `.claude/settings.json` de ce projet.782<h3 id="read-session-state-from-a-script">

605 783 Lire l'état de la session à partir d'un script

606Si vous exportez une passerelle `ANTHROPIC_BASE_URL` dans le shell à partir duquel vous dispatchez, elle atteint le worker de cette session. `ANTHROPIC_CUSTOM_HEADERS` et l'identifiant exporté à côté sont transmis avec elle. Cela se produit quand le superviseur a été démarré à partir d'un environnement avec la même passerelle. Le superviseur capture son environnement depuis le premier shell qui ouvre la vue agent ou dispatch une session en arrière-plan, donc démarrer à partir du shell de passerelle lui donne cet environnement. La transmission s'applique également uniquement aux sessions dispatched dans le répertoire à partir duquel vous dispatchez, ou mises en arrière-plan à partir de votre propre session avec `←` ou `/background` : dispatcher dans un répertoire différent avec `@repo` ou `--cwd` ne porte pas la passerelle du shell, et le bloc `env` du `settings.json` de ce projet fournit le point de terminaison à la place. Quand l'environnement du superviseur porte une passerelle différente ou aucune, le worker conserve vos identifiants stockés contre le point de terminaison par défaut au lieu de mélanger l'identifiant d'un environnement avec le point de terminaison d'un autre. Avant v2.1.203, le `ANTHROPIC_BASE_URL` du shell de dispatch était supprimé tandis que le `ANTHROPIC_API_KEY` exporté à côté était conservé, donc la clé de la passerelle était envoyée au point de terminaison par défaut et chaque requête échouait avec un 401.784</h3>

607 

608Le point de terminaison transmis s'applique uniquement à ce processus actif et n'est jamais écrit sur le disque. Quand le superviseur arrête une session inactive et la redémarre plus tard, le processus redémarré lit son point de terminaison à partir de vos paramètres à nouveau : avec un `ANTHROPIC_AUTH_TOKEN` de passerelle, il revient à vos identifiants stockés, et avec un `ANTHROPIC_API_KEY` émis par la passerelle, il peut échouer à s'authentifier jusqu'à ce que la passerelle soit définie dans les paramètres.

609 

610Chaque session en arrière-plan est son propre processus Claude Code, géré par le superviseur plutôt que lié à votre terminal. Une session qui fonctionne activement, attend votre entrée, ou a un terminal attaché garde son processus en cours d'exécution. Une commande shell en arrière-plan en cours d'exécution, un sous-agent, un workflow dynamique, ou un monitor compte comme un travail actif, donc un processus de longue durée tel qu'un serveur de développement maintient la session active.

611 785 

612Une fois qu'une session se termine et reste non attachée pendant environ une heure, le superviseur arrête son processus pour libérer des ressources. Une session que vous avez [épinglée](#organize-the-list) avec `Ctrl+T` est exemptée et garde son processus en cours d'exécution pendant qu'elle est inactive. La transcription et l'état restent sur le disque de toute façon, et la prochaine fois que vous vous attachez, apercevez, ou répondez à une session arrêtée, le superviseur démarre un processus frais à partir de là où il s'était arrêté. Quand chaque session s'est terminée et qu'aucun terminal n'est connecté, le superviseur lui-même quitte et redémarre la prochaine fois que vous en avez besoin.786`claude agents --json` est la façon prise en charge de lire l'état de la session de l'extérieur de Claude Code, par exemple à partir d'une barre d'état, d'un planificateur, ou d'une autre session Claude qui supervise le travail en arrière-plan. Interrogez `claude agents --json --all`, qui continue à lister les sessions dont le processus a quitté, et lisez le `state`, `status`, et `waitingFor` de chaque entrée.

613 787 

614Le travail en arrière-plan que la session elle-même a démarré au niveau supérieur est confié quand son processus est arrêté, redémarré ou mis à jour, y compris sur Windows. Le processus suivant démarré pour cette session reprend le travail :788| `state` | Ce que cela signifie |

789| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

790| `working` | Un tour est en cours d'exécution, ou la session est entre les étapes du travail qu'elle conduit elle-même, comme une itération [`/loop`](/docs/fr/scheduled-tasks) ou une attente sur CI. `status` vous indique si son processus est `busy` en ce moment |

791| `blocked` | La session vous attend : une question qu'elle a posée, une permission ou une décision de sandbox, une erreur que seul vous pouvez effacer comme une connexion expirée, ou son premier prompt si vous l'avez démarrée sans. Quand l'attente est un prompt ouvert dans un processus actif, `waitingFor` le nomme |

792| `done` | Le dernier tour a terminé ce que vous avez demandé et la session est prête pour votre prochain prompt, que son processus soit encore actif ou non |

793| `failed`, `stopped` | La tâche s'est terminée avec une erreur, ou la session a été arrêtée |

615 794 

616* Une commande shell en arrière-plan qui s'est terminée entre-temps est signalée comme terminée avec sa sortie795Une session qui a terminé son tour et attend votre prochaine instruction lit `done`, pas `blocked`. `blocked` signifie toujours que la session a besoin de quelque chose de votre part avant de pouvoir continuer.

617* Un workflow dynamique reprend à partir de là où il s'était arrêté

618* Un [sous-agent en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) reprend à partir de sa propre transcription

619 796 

620À partir de v2.1.198, la remise couvre tous les trois. Avant v2.1.198, elle couvrait uniquement les commandes shell et les workflows, donc un sous-agent en arrière-plan s'arrêtait avec le processus et était signalé comme échoué au prochain réveil.797Les fichiers sous `~/.claude/jobs/<id>/` ne sont pas une interface stable. Les valeurs qu'une session ou un autre programme écrit dans `state`, `detail`, `tempo`, ou `needs` sont remplacées à la prochaine mise à jour.

621 798 

622Le travail dont l'état vit uniquement à l'intérieur du processus lui-même s'arrête avec lui au lieu d'être confié. C'est les commandes shell qu'un sous-agent a démarrées, que le sous-agent repris peut redémarrer, et les [monitors](/docs/fr/tools-reference#monitor-tool) en cours d'exécution, dont le flux d'événements ne peut pas être déplacé vers un autre processus.799Si vous voulez qu'une session rapporte la progression dans ses propres termes, faites-la écrire un fichier qui lui est propre, par exemple sous `$CLAUDE_JOB_DIR/tmp`, au lieu de modifier `state.json`.

623 800 

624Supprimer la session arrête tout ce qu'elle a confié. Pour arrêter tout le travail en arrière-plan de la session avec le processus au lieu de le confier, définissez la variable d'environnement [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/fr/env-vars#variables) à `1`.801<h2 id="how-background-sessions-are-hosted">

802 Comment les sessions en arrière-plan sont hébergées

803</h2>

625 804 

626Un processus redémarré trouve la conversation d'une session qui [s'est déplacée dans une worktree](#how-file-edits-are-isolated) en cours de tâche : quand la transcription n'est pas là où la session a commencé, Claude Code regarde également sous les worktrees enregistrées du référentiel. Avant v2.1.207, rouvrir cette session à partir de la vue agent après l'arrêt de son processus pouvait afficher une conversation vide avec uniquement son invite d'origine, la transcription restant intacte sur le disque ; ouvrir la session à nouveau sur v2.1.207 ou ultérieur la récupère.805Claude Code traite chaque session listée dans la vue agent comme une session en arrière-plan, que vous y soyez actuellement attaché ou non. En contraste, une session démarrée en exécutant `claude` directement est liée à ce terminal et se termine quand il se ferme, sauf si vous [l'envoyez en arrière-plan](#from-inside-a-session).

627 806 

628Si une session redémarrée revient en affichant uniquement son invite d'origine parce que Claude Code a mal lu sa transcription comme vide, la transcription de conversation est renommée avec un suffixe `.orphaned-` au lieu d'être supprimée, donc elle reste sur votre machine.807Pour vérifier quel type de session vous utilisez, exécutez [`/status`](/docs/fr/commands). La ligne `Session kind` affiche `background job · attached` ou `background job · unattended` dans une session en arrière-plan, selon qu'un terminal est attaché, et `interactive` dans toute autre session.

629 808 

630Une ligne vide laissée après avoir appuyé sur `←` qui n'a jamais reçu d'invite est supprimée entièrement après environ cinq minutes pour que la liste se vide d'elle-même. Les sessions démarrées avec `claude --bg` et les sessions en attente d'une invite de configuration telle qu'une boîte de dialogue de confiance ne sont pas supprimées de cette façon.809<h3 id="the-supervisor-process">

810 Le processus superviseur

811</h3>

631 812 

632Quand l'hôte manque de mémoire, le superviseur arrête d'abord les sessions inactives non épinglées et arrête les sessions épinglées inactives seulement si cela n'a rien libéré.813Le superviseur est un service en arrière-plan qui exécute vos sessions en arrière-plan pour qu'elles continuent de fonctionner après que vous fermiez la vue agent ou votre terminal. Claude Code le démarre la première fois que vous mettez une session en arrière-plan ou ouvrez la vue agent, et vous n'avez pas besoin de le gérer vous-même.

633 814 

634Le superviseur regarde le binaire Claude Code installé sur le disque et redémarre dans la nouvelle version après que l'[auto-updater](/docs/fr/setup#auto-updates) régulier le remplace. C'est une montre de fichier local, pas une vérification réseau. Les sessions en arrière-plan sont des processus détachés, donc elles continuent de s'exécuter pendant le redémarrage et le nouveau superviseur se reconnecte à elles. Une session épinglée inactive est également redémarrée sur place dans la nouvelle version pour qu'elle récupère la mise à jour sans que vous vous réattachiez.815Chaque session est son propre processus Claude Code sous le superviseur, et ce qui arrive à ce processus dépend de l'état de la session :

635 816 

636Une fois que le nouveau superviseur prend le relais, il redémarre également les sessions inactives restantes dans la nouvelle version, quelques-unes à la fois en arrière-plan, après un court délai qui permet aux terminaux attachés lors du redémarrage de se reconnecter d'abord. Une session qui fonctionne, attend votre entrée, ou a un terminal attaché n'est pas interrompue ; elle se déplace vers la nouvelle version la prochaine fois que son processus redémarre. Avant v2.1.206, le superviseur ne déplaçait que quelques sessions inactives par minute vers une nouvelle version, donc les sessions pouvaient continuer à exécuter l'ancienne pendant un certain temps après une mise à jour.817* **En cours d'exécution, en pause sur une invite de permission ou un autre dialogue, ou attaché** : le processus continue de s'exécuter. Un sous-agent, un workflow ou un monitor en cours d'exécution compte comme en cours d'exécution.

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

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

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

637 821 

638Ces redémarrages ne déplacent jamais une session vers une version plus ancienne. Un superviseur exécutant une version plus ancienne de Claude Code que celle avec laquelle le processus d'une session a été démarré laisse ce processus seul ; la session continue d'exécuter la version plus récente jusqu'à ce qu'un superviseur plus récent prenne le relais.822Quand le processus d'une session s'arrête ou redémarre, les commandes shell en arrière-plan, les workflows dynamiques et les sous-agents en arrière-plan que Claude a démarrés dedans se reportent à son processus suivant ; les monitors en cours d'exécution et les commandes shell qu'un sous-agent a démarrées s'arrêtent avec le processus. Supprimer la session arrête tout ce qu'elle a reporté. Pour arrêter tout cela avec le processus à la place, définissez [`CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF`](/docs/fr/env-vars#variables) à `1`.

639 823 

640L'exécution de `claude attach` tandis que le superviseur redémarre une session, que ce soit pour une mise à jour, une stagnation, ou une migration, attend le processus de remplacement au lieu d'échouer. Une ligne d'état telle que `Agent is updating to the new Claude Code…` nomme ce qu'il attend et compte les secondes écoulées, et la commande se connecte dès que la session est prête. Après environ 60 secondes, elle arrête d'attendre et signale une erreur. Avant v2.1.205, `claude attach` arrêtait de réessayer après quelques secondes et imprimait une erreur tandis que la session était encore en cours de redémarrage.824Le superviseur et ses sessions s'authentifient avec les mêmes identifiants stockés que vos sessions interactives. Pour savoir quels paramètres et variables shell atteignent une session, y compris `PATH`, voir [Paramètres et fournisseur](#settings-and-provider). Pour les points de terminaison de passerelle, voir [Passerelle LLM](#llm-gateway).

641 825 

642<h3 id="where-state-is-stored">826<h3 id="where-state-is-stored">

643 Où l'état est stocké827 Où l'état est stocké


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

647 831 

648| Chemin | Contenu |832| Chemin | Contenu |

649| :------------------------------- | :--------------------------------------------------------------------------------------------------------------------------- |833| :------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------- |

650| `~/.claude/daemon.log` | Journal du superviseur |834| `~/.claude/daemon.log` | Journal du superviseur |

651| `~/.claude/daemon/roster.json` | Liste des sessions en arrière-plan en cours d'exécution, utilisée pour se reconnecter après un redémarrage |835| `~/.claude/daemon/roster.json` | Liste des sessions en arrière-plan en cours d'exécution, utilisée pour se reconnecter après un redémarrage |

652| `~/.claude/jobs/<id>/state.json` | État par session affiché dans la vue agent |836| `~/.claude/jobs/<id>/state.json` | État par session affiché dans la vue agent. Lisez-le via [`claude agents --json`](#read-session-state-from-a-script) au lieu d'analyser le fichier |

653| `~/.claude/jobs/<id>/tmp/` | Répertoire de travail par session. Les écritures ici ne demandent pas de permission. Supprimé quand la session est supprimée |837| `~/.claude/jobs/<id>/tmp/` | Répertoire de travail par session. Les appels `Write` et `Edit` de Claude ici ne demandent pas de permission. Supprimé quand la session est supprimée |

654 838 

655Chaque session en arrière-plan a la variable d'environnement `CLAUDE_JOB_DIR` définie à son répertoire `~/.claude/jobs/<id>`, donc les commandes shell que la session exécute peuvent écrire des fichiers temporaires à `$CLAUDE_JOB_DIR/tmp` sans entrer en collision avec les sessions parallèles.839Chaque session en arrière-plan a la variable d'environnement `CLAUDE_JOB_DIR` définie à son répertoire `~/.claude/jobs/<id>`, donc les commandes shell que la session exécute peuvent écrire des fichiers temporaires à `$CLAUDE_JOB_DIR/tmp` sans entrer en collision avec les sessions parallèles.

656 840 


658 842 

659La commande avertit également quand le superviseur en cours d'exécution est sur une version différente de celle du `claude` que vous avez invoqué, ce qui se produit après une mise à jour que le superviseur n'a pas encore redémarrée. L'avertissement affiche les deux versions et vous dit d'exécuter `claude daemon stop --any` pour récupérer la nouvelle version. Quand Claude Code est installé en tant que service du système d'exploitation, la commande suggérée est `claude daemon stop` sans le drapeau.843La commande avertit également quand le superviseur en cours d'exécution est sur une version différente de celle du `claude` que vous avez invoqué, ce qui se produit après une mise à jour que le superviseur n'a pas encore redémarrée. L'avertissement affiche les deux versions et vous dit d'exécuter `claude daemon stop --any` pour récupérer la nouvelle version. Quand Claude Code est installé en tant que service du système d'exploitation, la commande suggérée est `claude daemon stop` sans le drapeau.

660 844 

661Les sessions survivent à ce décalage de version intact : une version plus ancienne de Claude Code qui met à jour le `state.json` d'une session préserve les champs qu'elle ne reconnaît pas et garde la session listée. La liste des sessions dans `roster.json` suit la même règle : une version plus ancienne qui la réécrit préserve les champs qu'une version plus récente a écrit, donc les sessions démarrées par la version plus récente restent accessibles et continuent d'accepter l'entrée après le redémarrage du superviseur. Avant v2.1.200, les versions plus anciennes pouvaient supprimer ces champs lors de la réécriture.845Les sessions survivent à ce décalage de version intact : une version plus ancienne de Claude Code qui met à jour le `state.json` d'une session préserve les champs qu'elle ne reconnaît pas et garde la session listée. La liste des sessions dans `roster.json` suit la même règle, donc les sessions démarrées par la version plus récente restent accessibles et continuent d'accepter l'entrée après le redémarrage du superviseur.

662 

663Sur Windows, `claude daemon status` affiche l'erreur de fichier sous-jacente quand le fichier de clé pipe du daemon est verrouillé ou illisible au lieu de signaler un échec de connexion générique.

664 846 

665<h3 id="turn-off-agent-view">847<h3 id="turn-off-agent-view">

666 Désactiver la vue agent848 Désactiver la vue agent

667</h3>849</h3>

668 850 

669Pour désactiver complètement les agents en arrière-plan et la vue agent, définissez le paramètre `disableAgentView` [setting](/docs/fr/settings) à `true` ou définissez la variable d'environnement `CLAUDE_CODE_DISABLE_AGENT_VIEW`. Les administrateurs peuvent appliquer cela via les [paramètres gérés](/docs/fr/permissions#managed-settings).851Pour désactiver complètement les agents en arrière-plan et la vue agent, définissez le paramètre `disableAgentView` [setting](/docs/fr/settings) à `true` ou définissez la variable d'environnement `CLAUDE_CODE_DISABLE_AGENT_VIEW`. Les administrateurs peuvent appliquer cela via les [paramètres gérés](/docs/fr/managed-settings).

670 852 

671<h2 id="troubleshooting">853<h2 id="troubleshooting">

672 Dépannage854 Dépannage


684 La vue agent s'ouvre sans sessions866 La vue agent s'ouvre sans sessions

685</h3>867</h3>

686 868 

687Avant de lancer votre première session, la vue agent affiche les en-têtes de section vides avec une description sous chacun, plus une explication d'une ligne au-dessus de l'entrée, à la place de la liste des sessions. Tapez une invite dans l'entrée en bas et appuyez sur `Entrée` pour lancer votre première session.869Avant de dispatcher votre première session, la vue agent affiche les en-têtes de section vides avec une description sous chacun, plus une explication d'une ligne au-dessus de l'entrée, à la place de la liste des sessions. Tapez une invite dans l'entrée en bas et appuyez sur `Entrée` pour dispatcher votre première session.

688 870 

689<h3 id="backgrounding-shows-a-background-this-session-dialog">871<h3 id="backgrounding-shows-a-background-this-session-dialog">

690 Mise en arrière-plan affiche une boîte de dialogue `Background this session?`872 Le backgrounding affiche une boîte de dialogue `Background this session?`

691</h3>873</h3>

692 874 

693Si appuyer sur `←` pour mettre la session actuelle en arrière-plan affiche une boîte de dialogue `Background this session?`, la session a du travail en cours qui ne peut pas se transférer à la session en arrière-plan, comme un [monitor](/docs/fr/tools-reference#monitor-tool) en cours d'exécution, et Claude Code ne l'arrêtera pas silencieusement. La boîte de dialogue nomme le travail qui sera arrêté et, séparément, compte les tâches qui se transfèrent. Exécutez `/tasks` pour voir tout ce qui s'exécute, puis confirmez pour mettre en arrière-plan de toute façon ou choisissez `Stay` pour laisser le travail se terminer d'abord. Voir [À partir d'une session](#from-inside-a-session) pour savoir quels types de tâches se transfèrent et lesquels s'arrêtent.875Si vous appuyez sur `←` pour mettre en arrière-plan la session actuelle et que Claude Code affiche une boîte de dialogue `Background this session?`, la session a du travail en cours que la mise en arrière-plan arrêterait, redémarrerait ou laisserait s'exécuter sans surveillance, et Claude Code demande avant de faire l'une de ces actions :

876 

877* **Travail qui ne peut pas être déplacé** : la session a du travail qui ne peut pas être déplacé vers la session en arrière-plan, comme un [monitor](/docs/fr/tools-reference#monitor-tool) en cours d'exécution. La boîte de dialogue nomme le travail que Claude Code arrêterait et, séparément, compte les tâches qui sont transférées.

878* **Un workflow avec des sous-agents en cours d'exécution** : un [dynamic workflow](/docs/fr/workflows) a toujours des sous-agents en cours d'exécution. Le workflow lui-même est transféré, mais ses sous-agents en cours d'exécution redémarrent depuis le début, et la boîte de dialogue indique combien.

879* **Réponses automatiques aux artefacts** : Claude [répond aux commentaires sur un artefact de sa propre initiative](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Ces réponses continuent dans la session en arrière-plan, et la boîte de dialogue le dit.

880 

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

694 882 

695<h3 id="prompt-rejected-as-too-short">883<h3 id="prompt-rejected-as-too-short">

696 Invite rejetée comme trop courte884 Invite rejetée comme trop courte

697</h3>885</h3>

698 886 

699L'entrée de dispatch attend une description de tâche, pas une ouverture conversationnelle. Une invite plus courte que quatre caractères est rejetée avec un indice `Too short` pour qu'une frappe accidentelle ne démarre pas une session. Décrivez ce que vous voulez que la session fasse, par exemple `investigate the flaky checkout test`.887L'entrée de dispatch s'attend à une description de tâche, pas à un ouvreur conversationnel. Une invite plus courte que quatre caractères est rejetée avec un indice `Too short` pour qu'une frappe accidentelle ne démarre pas une session. Décrivez ce que vous voulez que la session fasse, par exemple `investigate the flaky checkout test`.

700 888 

701<h3 id="sessions-show-as-failed-after-shutdown">889<h3 id="sessions-show-as-failed-after-shutdown">

702 Les sessions s'affichent comme échouées après l'arrêt890 Les sessions s'affichent comme échouées ou arrêtées après l'arrêt

703</h3>891</h3>

704 892 

705L'arrêt ou le redémarrage de votre machine arrête les sessions en arrière-plan en cours d'exécution, elles s'affichent donc comme échouées quand vous ouvrez à nouveau la vue agent. Attachez-vous, apercevez, ou répondez à n'importe laquelle d'entre elles et la session redémarre à partir de là où elle s'était arrêtée.893L'arrêt ou le redémarrage de votre machine arrête les sessions en arrière-plan en cours d'exécution. Une session qui attendait votre entrée reste sous `Needs input` quand vous revenez. Pour toute autre session en cours d'exécution, ce que la vue agent affiche dépend de la durée depuis laquelle elle a fait des progrès :

894 

895* Dans les 48 heures, la session s'affiche comme échouée. Attachez-la ou répondez-lui et elle redémarre d'où elle s'était arrêtée.

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

706 897 

707La mise en veille seule ne cause pas cela. Les sessions sont préservées lors de la mise en veille et le superviseur se reconnecte à elles au réveil.898Quand le [transcript cleanup](/docs/fr/settings-reference#cleanupperioddays) a supprimé la conversation enregistrée d'une session arrêtée, Claude Code refuse d'ouvrir la ligne : le message dit qu'il n'y a rien à reprendre. `claude rm <id>` supprime la ligne, sauf dans les [cas conservés](#what-deleting-a-session-removes) décrits ci-dessus, et `claude respawn <id>` exécute à nouveau son invite d'origine. Consultez [This session's saved conversation is no longer on disk](/docs/fr/errors#this-sessions-saved-conversation-is-no-longer-on-disk).

899 

900Le sommeil seul n'arrête pas les sessions. Les sessions sont préservées lors du sommeil et le superviseur se reconnecte à elles au réveil.

708 901 

709<h3 id="opening-a-session-says-the-conversation-is-already-open">902<h3 id="opening-a-session-says-the-conversation-is-already-open">

710 Ouverture d'une session indique que la conversation est déjà ouverte903 L'ouverture d'une session indique que la conversation est déjà ouverte

711</h3>904</h3>

712 905 

713L'ouverture d'une ligne arrêtée dont la conversation est également maintenue ouverte par un autre processus Claude Code non interactif en cours d'exécution, par exemple un worker en arrière-plan pour la même conversation qui se termine toujours, affiche `This conversation is already open in another running Claude session` au lieu de démarrer le processus de la ligne, car deux processus ne peuvent pas écrire à la même transcription. Répondez dans la session qui a déjà la conversation ouverte, ou quittez-la et ouvrez la ligne à nouveau. Une réponse que vous avez tapée avec la tentative refusée n'est pas perdue ; elle est envoyée la prochaine fois que la session démarre.906Deux processus ne peuvent pas écrire dans la même transcription. Quand la conversation enregistrée d'une session arrêtée est déjà ouverte dans un autre processus Claude Code actif, Claude Code refuse de démarrer le propre processus de la session. Ce que vous voyez dépend de ce qui détient la conversation :

907 

908* Un terminal où vous avez repris la conversation, par exemple avec `claude --resume` ou `/resume` : la ligne affiche `Open in a terminal` avec un indice pour la continuer là, et l'ouverture de la ligne affiche `Can't open — this session is running in another terminal`. Continuez dans ce terminal, ou quittez-le et ouvrez la ligne à nouveau.

909* Un autre processus Claude Code non interactif, par exemple un processus de session en arrière-plan pour la même conversation qui n'a pas encore quitté : l'ouverture de la ligne affiche `This conversation is already open in another running Claude session`. Utilisez ce processus, ou attendez qu'il se termine et ouvrez la ligne à nouveau.

714 910 

715Avant la v2.1.203, cet état démarrait un deuxième processus de toute façon. Ce processus s'est terminé avec une erreur `currently running as a background agent` et la ligne s'est affichée comme échouée.911Claude Code enregistre une réponse que vous avez tapée avec la tentative refusée et l'envoie la prochaine fois que la session démarre.

912 

913<h3 id="opening-a-session-says-it-has-no-saved-transcript">

914 L'ouverture d'une session indique qu'elle n'a pas de transcription enregistrée

915</h3>

916 

917Une session arrêtée qui a été [backgrounded from another conversation](#from-inside-a-session) et s'est arrêtée avant la fin de sa première réponse n'a rien à reprendre : jusqu'à ce que cette première réponse se termine, la conversation vit toujours uniquement dans la session à partir de laquelle elle a été mise en arrière-plan. `claude attach` refuse de l'ouvrir avec `This session has no saved transcript`.

918 

919Dans la vue agent, l'ouverture de cette ligne affiche `Press enter again to restart this session fresh` sous la liste. Appuyez sur `Entrée` sur la même ligne à nouveau pour redémarrer la session avec une conversation vide, ou exécutez `claude respawn <id>` depuis le shell.

920 

921La conversation d'origine est intacte ; reprenez-la avec `claude --resume` ou continuez à y travailler. Consultez la [référence des erreurs](/docs/fr/errors#this-session-has-no-saved-transcript) pour plus de détails.

922 

923<h3 id="the-terminal-host-died-or-the-session-stopped-responding">

924 L'hôte du terminal est mort ou la session a cessé de répondre

925</h3>

926 

927Le [supervisor](#the-supervisor-process) exécute le terminal de chaque session en arrière-plan dans son propre processus hôte. Quand ce processus meurt ou cesse de répondre, Claude Code affiche la raison et propose un redémarrage ; dans les deux cas, la conversation est enregistrée et le redémarrage la reprend. La [référence des erreurs](/docs/fr/errors#terminal-host-process-died) cite les messages complets.

928 

929Claude Code ne redémarre jamais une ligne exécutant une [shell command](#run-a-shell-command), depuis `Entrée` ou depuis `claude attach`, car cela exécuterait la commande à nouveau ; le message de la ligne et `claude attach` disent tous deux que la commande n'est pas exécutée à nouveau.

930 

931<h4 id="terminal-host-died">

932 L'hôte du terminal est mort

933</h4>

934 

935Sur Linux et WSL, le superviseur vérifie chaque processus hôte toutes les quelques secondes, que vous ouvriez la session ou non, et marque la session comme échouée quand le processus a quitté mais sa connexion au superviseur ne s'est jamais fermée.

936 

937* Dans la vue agent, la ligne affiche `terminal host process died — press Enter to restart`. Appuyez sur `Entrée` dessus et Claude Code redémarre la session sur un processus hôte frais.

938* Depuis le shell, `claude attach <id>` redémarre une session déjà marquée comme échouée. Sinon, il rapporte la cause et se termine, vous disant d'exécuter `claude attach <id>` à nouveau.

939 

940<h4 id="session-isn’t-responding">

941 La session ne répond pas

942</h4>

943 

944Quand le superviseur accepte une ouverture mais qu'aucune sortie n'arrive pendant environ dix secondes, Claude Code termine la tentative et propose un redémarrage. Une session qui s'est simplement figée, par exemple lors du sommeil de la machine, n'atteint pas cette offre : le superviseur la [redémarre à l'ouverture](#read-session-state) lui-même.

945 

946* Dans la vue agent, le pied de page affiche `Press enter again to restart this session — it isn't responding (its conversation is saved and resumes).` Appuyez sur `Entrée` sur la même ligne à nouveau et Claude Code arrête le processus qui ne répond pas et redémarre la session ; il n'arrête rien sans ce deuxième appui.

947* Depuis le shell, `claude attach <id>` rapporte la cause et se termine, vous disant d'exécuter `claude stop <id>`, puis `claude attach <id>`.

716 948 

717<h3 id="a-session-fails-before-starting-with-a-possibly-low-memory-note">949<h3 id="a-session-fails-before-starting-with-a-possibly-low-memory-note">

718 Une session échoue avant de démarrer avec une note « possibly low memory »950 Une session échoue avant de démarrer avec une note `possibly low memory`

719</h3>951</h3>

720 952 

721À partir de la v2.1.199, quand le processus d'une session en arrière-plan se termine avant de finir de démarrer et que l'hôte manque de mémoire, le statut de la ligne nomme la sortie et ajoute `possibly low memory — free some up and retry`. Les versions antérieures affichaient uniquement la raison de sortie brute pour cet échec.953Quand le processus d'une session en arrière-plan se termine avant de finir de démarrer et que l'hôte manque de mémoire, le statut de la ligne nomme la sortie et ajoute `possibly low memory — free some up and retry`.

722 954 

723La note est une hypothèse, pas une cause confirmée. Claude Code l'ajoute uniquement quand le processus s'est terminé silencieusement, sans écrire d'erreur et sans être arrêté par un signal, et que l'hôte a signalé une mémoire faible à ce moment. Quand le processus a écrit une erreur avant de se terminer, la ligne affiche cette erreur à la place.955La note est une hypothèse, pas une cause confirmée. Claude Code l'ajoute uniquement quand le processus s'est terminé silencieusement, sans écrire une erreur et sans être arrêté par un signal, et que l'hôte a signalé une mémoire faible à ce moment. Quand le processus a écrit une erreur avant de se terminer, la ligne affiche cette erreur à la place.

724 956 

725Libérez de la mémoire sur la machine, puis attachez-vous, apercevez, ou répondez à la ligne et le superviseur démarre un processus frais pour la session. Quand la mémoire reste faible, le superviseur [arrête également les sessions inactives](#the-supervisor-process) pour libérer des ressources de lui-même.957Libérez de la mémoire sur la machine, puis attachez-vous ou répondez à la ligne et le superviseur démarre un processus frais pour la session. Quand la mémoire reste faible, le superviseur [arrête également les sessions inactives](#the-supervisor-process) pour libérer des ressources de sa propre initiative, et arrête également les sessions épinglées inactives si l'arrêt des autres n'a rien libéré.

726 958 

727<h3 id="agent-view-says-the-background-service-did-not-respond">959<h3 id="agent-view-says-the-background-service-did-not-respond">

728 La vue agent indique que le service en arrière-plan n'a pas répondu960 La vue agent indique que le service en arrière-plan n'a pas répondu

729</h3>961</h3>

730 962 

731Si l'attachement, l'aperçu, ou `claude logs` signale que le service en arrière-plan n'a pas répondu, le processus superviseur a probablement bloqué. Arrêtez-le et laissez le prochain `claude agents` en démarrer un nouveau. Pour garder vos sessions en arrière-plan en cours d'exécution pendant le redémarrage, passez `--keep-workers` :963Si l'attachement, l'aperçu ou `claude logs` rapporte que le service en arrière-plan n'a pas répondu, le processus superviseur s'est probablement figé. Arrêtez-le et laissez le prochain `claude agents` en démarrer un frais. Pour garder vos sessions en arrière-plan en cours d'exécution lors du redémarrage, passez `--keep-workers` :

732 964 

733```bash theme={null}965```bash theme={null}

734claude daemon stop --any --keep-workers966claude daemon stop --any --keep-workers


736 968 

737Le nouveau superviseur se reconnecte aux sessions en cours d'exécution. Sans `--keep-workers`, la commande termine également les sessions en arrière-plan. Le drapeau `--any` confirme que vous voulez arrêter un superviseur qui a démarré à la demande plutôt que comme service installé, ce qui est la valeur par défaut.969Le nouveau superviseur se reconnecte aux sessions en cours d'exécution. Sans `--keep-workers`, la commande termine également les sessions en arrière-plan. Le drapeau `--any` confirme que vous voulez arrêter un superviseur qui a démarré à la demande plutôt que comme service installé, ce qui est la valeur par défaut.

738 970 

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

972 

973Si la commande se termine plutôt en disant que le processus enregistré n'a pas pu être vérifié comme superviseur, vérifiez l'ID de processus rapporté : s'il s'agit d'un superviseur que vous possédez, arrêtez-le vous-même, puis supprimez `~/.claude/daemon.lock` pour que le prochain `claude agents` démarre frais.

740 974 

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

742 976 


744 Le dispatch échoue avec `Could not resolve authentication method`978 Le dispatch échoue avec `Could not resolve authentication method`

745</h3>979</h3>

746 980 

747Si un dispatch en arrière-plan échoue avec `Could not resolve authentication method` tandis que les sessions interactives s'authentifient normalement, le worker qui a reçu le dispatch n'a pas récupéré les identifiants. Le superviseur fournit un nouvel instantané d'identifiants quand il assigne un [worker préchauffé](#the-supervisor-process), donc cette erreur signifie qu'aucun identifiant stocké n'était disponible pour le processus superviseur lui-même. Confirmez que vous avez exécuté `/login` ou configuré une clé API, puis arrêtez le superviseur :981Si un dispatch en arrière-plan échoue avec `Could not resolve authentication method` tandis que les sessions interactives s'authentifient normalement, le worker qui a reçu le dispatch n'a pas récupéré les identifiants. Les sessions en arrière-plan obtiennent leurs identifiants du [supervisor](#the-supervisor-process), donc cette erreur signifie qu'aucun identifiant stocké n'était disponible pour le processus superviseur lui-même. Confirmez que vous avez exécuté `/login` ou configuré une clé API, puis arrêtez le superviseur :

748 982 

749```bash theme={null}983```bash theme={null}

750claude daemon stop --any --keep-workers984claude daemon stop --any --keep-workers

751```985```

752 986 

753Le prochain `claude agents` ou `claude --bg` démarre un nouveau superviseur qui lit vos identifiants stockés. Si vous vous authentifiez avec une variable d'environnement comme `ANTHROPIC_API_KEY` plutôt qu'avec `/login`, exécutez cette prochaine commande à partir d'un shell où la variable est définie.987Le prochain `claude agents` ou `claude --bg` démarre un superviseur frais qui lit vos identifiants stockés. Si vous vous authentifiez avec une variable d'environnement telle que `ANTHROPIC_API_KEY` plutôt que `/login`, exécutez cette commande suivante depuis un shell où la variable est définie.

754 988 

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

756 990 

757<h3 id="background-sessions-can’t-read-desktop-documents-or-downloads-on-macos">991<h3 id="background-sessions-can’t-read-desktop-documents-or-downloads-on-macos">

758 Les sessions en arrière-plan ne peuvent pas lire Desktop, Documents ou Downloads sur macOS992 Les sessions en arrière-plan ne peuvent pas lire Desktop, Documents ou Downloads sur macOS

759</h3>993</h3>

760 994 

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

762 996 

763Avec l'installateur natif, l'entrée apparaît comme Claude Code et l'autorisation persiste lors des mises à jour. Avec d'autres méthodes d'installation comme Homebrew ou npm, l'entrée affiche le chemin du binaire et peut avoir besoin d'être accordée à nouveau après la mise à jour.997Avec le programme d'installation natif, l'entrée apparaît comme Claude Code et l'octroi persiste lors des mises à jour. Avec d'autres méthodes d'installation telles que Homebrew ou npm, l'entrée affiche le chemin du binaire et peut avoir besoin d'être accordée à nouveau après la mise à jour.

764 998 

765<h3 id="background-sessions-can’t-reach-local-network-hosts-on-macos">999<h3 id="background-sessions-can’t-reach-local-network-hosts-on-macos">

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

767</h3>1001</h3>

768 1002 

769Sur macOS 15 et versions ultérieures, le système bloque un processus d'atteindre les appareils sur votre réseau local jusqu'à ce que vous accordiez la permission Réseau local. Avant la v2.1.198, l'hôte de session en arrière-plan n'a jamais demandé cette permission, donc les commandes ciblant une adresse LAN échouaient avec `connect: no route to host` même si la même commande fonctionnait dans un terminal de premier plan. À partir de la v2.1.198, la première commande dans une session en arrière-plan qui se connecte à une adresse de réseau local déclenche l'invite de permission Réseau local de macOS pour Claude Code. Accordez-la une fois et ces commandes atteindront les hôtes LAN de la même manière qu'ils le font dans un terminal de premier plan.1003Sur macOS 15 et versions ultérieures, le système bloque un processus d'atteindre les appareils sur votre réseau local jusqu'à ce que vous accordiez la permission Réseau local, donc une commande ciblant une adresse LAN peut échouer avec `connect: no route to host` dans une session en arrière-plan même si elle fonctionne dans un terminal de premier plan. La première commande dans une session en arrière-plan qui se connecte à une adresse de réseau local déclenche l'invite de permission Réseau local macOS pour Claude Code. Accordez-la une fois et ces commandes atteignent les hôtes LAN de la même manière qu'ils le font dans un terminal de premier plan.

770 1004 

771<h3 id="a-session-is-slow-to-respond-after-attaching">1005<h3 id="a-session-is-slow-to-respond-after-attaching">

772 Une session est lente à répondre après l'attachement1006 Une session est lente à répondre après l'attachement

773</h3>1007</h3>

774 1008 

775Une fois qu'une session s'est terminée et reste non attachée pendant environ une heure, le superviseur arrête son processus pour libérer des ressources. S'attacher démarre un processus frais à partir de là où il s'était arrêté et bascule vers la session immédiatement pendant que le processus redémarre. Les sessions qui fonctionnent, attendent votre intervention, ou sont [épinglées](#organize-the-list) ne sont pas arrêtées de cette façon, donc épinglez une session avec `Ctrl+T` pour la garder réactive.1009Quand une session qui a terminé ou attend votre message suivant reste non attachée pendant environ une heure, le superviseur arrête son processus pour libérer des ressources. L'attachement démarre un processus frais d'où il s'était arrêté et bascule vers la session immédiatement tandis que le processus redémarre. Les sessions qui travaillent, en pause sur une invite de permission ou un autre dialogue, ou [épinglées](#organize-the-list) ne sont pas arrêtées de cette façon, donc épinglez une session avec `Ctrl+T` pour la garder réactive.

776 1010 

777Pendant que le processus démarre, le dernier écran de la transcription de la session s'affiche avec une note `Session is starting` en dessous, et la session en direct le remplace dès qu'elle est prête.1011Tandis que le processus démarre, Claude Code affiche la queue de la transcription de la session formatée de la manière dont la session active la rend, avec markdown, blocs de code en surbrillance et appels d'outils en tant que lignes estompées, au-dessus d'une zone d'invite estompée avec une note `Session is starting`. La session active la remplace dès qu'elle est prête.

778 1012 

779<h3 id="claude/worktrees/-is-filling-up">1013<h3 id="claude/worktrees/-is-filling-up">

780 `.claude/worktrees/` se remplit1014 `.claude/worktrees/` se remplit

781</h3>1015</h3>

782 1016 

783Supprimer une session dans la vue agent supprime la worktree que Claude a créée pour elle, et une worktree qui ne peut pas être supprimée en toute sécurité [conserve sa ligne de session](#organize-the-list) pour qu'elle ne soit pas orpheline. `claude rm` conserve une worktree qui a des modifications non validées et affiche le chemin conservé. Listez les entrées restantes avec `git worktree list` dans le répertoire du projet et supprimez chacune avec `git worktree remove <path>`. Voir [Nettoyer les worktrees](/docs/fr/worktrees#clean-up-worktrees).1017Supprimer une session dans la vue agent supprime le worktree que Claude a créé pour elle, mais [certaines suppressions conservent le worktree ou laissent son répertoire sur le disque](#what-deleting-a-session-removes), donc les répertoires restants peuvent s'accumuler. Les répertoires que git ne reconnaît plus n'apparaissent pas dans `git worktree list`, donc supprimez-les à la main.

1018 

1019Listez les entrées restantes avec `git worktree list` dans le répertoire du projet et supprimez chacune avec `git worktree remove <path>`. Consultez [Clean up worktrees](/docs/fr/worktrees#clean-up-worktrees).

784 1020 

785<h2 id="limitations">1021<h2 id="limitations">

786 Limitations1022 Limitations


790 1026 

791* **Les limites de débit s'appliquent** : les sessions en arrière-plan consomment votre utilisation d'abonnement de la même manière que les sessions interactives, donc exécuter dix agents en parallèle utilise le quota environ dix fois plus vite qu'en exécuter un seul.1027* **Les limites de débit s'appliquent** : les sessions en arrière-plan consomment votre utilisation d'abonnement de la même manière que les sessions interactives, donc exécuter dix agents en parallèle utilise le quota environ dix fois plus vite qu'en exécuter un seul.

792* **Les sessions sont locales** : les sessions en arrière-plan s'exécutent sur votre machine. Elles sont préservées lors de la mise en veille mais s'arrêtent si la machine s'éteint.1028* **Les sessions sont locales** : les sessions en arrière-plan s'exécutent sur votre machine. Elles sont préservées lors de la mise en veille mais s'arrêtent si la machine s'éteint.

793* **Les worktrees créées par Claude sont supprimées avec la session en vue agent** : validez les modifications avant de supprimer une session qui a modifié des fichiers dans sa propre worktree. Une worktree avec des commits qui ne sont poussés nulle part est conservée avec la session. `claude rm` conserve également une worktree qui a des modifications non validées avec sa session, et une worktree que vous avez créée vous-même est laissée en place.1029* **Les worktrees créées par Claude sont supprimées avec la session en vue agent** : validez les modifications avant de supprimer une session qui a modifié des fichiers dans sa propre worktree. [Certaines suppressions conservent la worktree à la place](#what-deleting-a-session-removes).

794 1030 

795<h2 id="related-resources">1031<h2 id="related-resources">

796 Ressources connexes1032 Ressources connexes

797</h2>1033</h2>

798 1034 

799Pour d'autres façons d'exécuter Claude en parallèle, consultez :1035Pour d'autres façons d'exécuter Claude en parallèle, et pour transmettre les résultats entre les sessions que vous exécutez, consultez :

800 1036 

801* [Exécuter les agents en parallèle](/docs/fr/agents) : comparez la vue agent avec les sous-agents, les équipes d'agents, et les worktrees1037* [Exécuter les agents en parallèle](/docs/fr/agents) : comparez la vue agent avec les sous-agents, les équipes d'agents, et les worktrees

1038* [Messagerie entre sessions](/docs/fr/cross-session-messaging) : faites en sorte que vos sessions se transmettent mutuellement les résultats

802* [Équipes d'agents](/docs/fr/agent-teams) : coordonnez plusieurs sessions qui se messagent mutuellement1039* [Équipes d'agents](/docs/fr/agent-teams) : coordonnez plusieurs sessions qui se messagent mutuellement

803* [Claude Code sur le web](/docs/fr/claude-code-on-the-web) : exécutez les sessions dans un environnement cloud géré au lieu de localement1040* [Claude Code sur le web](/docs/fr/claude-code-on-the-web) : exécutez les sessions dans un environnement cloud géré au lieu de localement

1041* [Projects](/docs/fr/claude-projects) : faites en sorte que Claude coordonne les sessions cloud parallèles à partir d'une conversation et vous indique lesquelles vous sont nécessaires

804 1042 

805<h2 id="version-history">1043<h2 id="version-history">

806 Historique des versions1044 Historique des versions


809La vue agent a évolué rapidement pendant l'aperçu de recherche. Si vous êtes sur une version plus ancienne de Claude Code, certains comportements sur cette page peuvent différer ; en particulier, `claude agents` rejette les drapeaux qu'il ne supporte pas encore avec une erreur `unknown option`. Le tableau ci-dessous répertorie quand chaque drapeau et comportement a été ajouté.1047La vue agent a évolué rapidement pendant l'aperçu de recherche. Si vous êtes sur une version plus ancienne de Claude Code, certains comportements sur cette page peuvent différer ; en particulier, `claude agents` rejette les drapeaux qu'il ne supporte pas encore avec une erreur `unknown option`. Le tableau ci-dessous répertorie quand chaque drapeau et comportement a été ajouté.

810 1048 

811| Version | Changement |1049| Version | Changement |

812| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1050| -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

813| v2.1.208 | L'attachement à une session dont le processus s'est arrêté affiche le dernier écran de sa transcription tandis que le processus démarre, au lieu d'une simple note `Session is starting`. Une réponse qui ne peut pas être livrée parce que le service en arrière-plan est inaccessible ou l'envoi échoue est enregistrée et envoyée comme l'invite suivante de la session quand son processus redémarre ; avant cette version, une réponse perdue tandis que le service en arrière-plan était inaccessible était supprimée. Un processus dont le binaire lui-même a été remplacé par une mise à jour peut toujours démarrer le superviseur, à partir du lanceur `claude` installé ou de la version la plus récente sur le disque, au lieu d'échouer jusqu'au redémarrage de Claude Code. Un superviseur exécutant une version plus ancienne ne redémarre jamais une session inactive démarrée par une version plus récente sur son propre binaire plus ancien. La suppression d'une session supprime son worktree même après que la session ait déplacé le worktree sur une branche différente, et garde le worktree ensemble avec la ligne de session quand le worktree a des commits qui ne sont poussés nulle part ou une autre session le revendique, au lieu de détruire les commits ou d'orpheliner le worktree. `/install-github-app` et la liste des paramètres `/mcp` et ses actions d'authentification sont refusées dans une session en arrière-plan avec un message nommant l'alternative ; en v2.1.208 uniquement, le sélecteur `/model` a été refusé de la même manière et un `/model <name>` tapé a basculé cette session uniquement au lieu de sauvegarder également votre modèle par défaut. |1051| v2.1.268 | Quand une [suppression est refusée](#what-deleting-a-session-removes) parce que git ou votre hook `WorktreeRemove` n'a pas pu supprimer le worktree, le message nomme la cause, y compris comment le hook s'est terminé et le début de son stderr. Pour un worktree lié sous le répertoire `.claude/worktrees/` du référentiel sans modifications non validées sur les fichiers suivis, sans référentiel imbriqué à l'intérieur, et sans enregistrement d'une autre session le nommant, supprimer la session à nouveau supprime le répertoire de toute façon, à partir de la vue agent ou avec `claude rm <id> --force-remove-worktree <worktree-id>`. Avant cette version, la ligne affichait seulement `worktree could not be removed (WorktreeRemove hook failed)` ou l'erreur de git, le stderr du hook n'allait que dans le journal de débogage, et supprimer à nouveau était refusé de la même manière. |

1052| v2.1.268 | Après que le premier `←` affiche `Press ← again to open agents`, ou `Press ← again to go back to agents` dans une session attachée, [la première pression qui arrive au moins une seconde plus tard bascule](#switch-sessions-without-leaving-the-terminal), même quand les pressions plus rapides entre les deux ont été ignorées. Avant cette version, chaque pression ignorée redémarrait l'attente, donc appuyer sur `←` à nouveau à un rythme régulier ne basculait pas jusqu'à ce que vous fassiez une pause de plus d'une seconde. |

1053| v2.1.260 | Quand vous [mettez une session en arrière-plan](#from-inside-a-session), le [listing agent](/docs/fr/cross-session-messaging#see-which-sessions-claude-can-reach) de vos autres sessions affiche la conversation une fois, comme sa session en arrière-plan, et leurs messages vers elle n'atteignent plus le terminal d'où vous l'avez déplacée. Avant cette version, ce terminal pouvait rester listé comme une deuxième session interactive sous le nom de la conversation, et une session qui avait envoyé un message à la conversation avant le déplacement continuait à livrer à ce terminal. |

1054| v2.1.260 | Quand une [suppression est refusée sur des commits non poussés](#what-deleting-a-session-removes), le message nomme la branche du worktree et combien de commits ne sont pas poussés, et supprimer la session à nouveau abandonne le worktree et ses commits. Avant cette version, le refus disait seulement `worktree has commits that are not pushed anywhere`, supprimer à nouveau était refusé de la même manière, et supprimer la session nécessitait de pousser les commits ou de supprimer le worktree à la main. |

1055| v2.1.257 | `←` [se détache d'une session attachée tandis que l'overlay `/btw` est ouvert](#attach-to-a-session), même en pleine réponse, et l'overlay se rouvre quand vous vous attachez à nouveau. Avant cette version, `←` ne se détachait pas tandis que l'overlay était ouvert. |

1056| v2.1.257 | Quand vous exécutez [`claude --resume <session-id> --bg`](#from-your-shell), Claude Code continue cette session sous son propre ID, ou démarre une copie sous un nouvel ID et affiche une ligne `note:` expliquant pourquoi. `--continue`, un `--resume` nu, et `--resume` avec un nom ou un chemin démarrent une copie avec la même note. Avant cette version, `--resume` avec `--bg` démarrait toujours une copie sous un nouvel ID et ne disait rien. |

1057| v2.1.257 | Quand vous dispatchez une session à partir d'une vue agent que vous avez ouverte avec `←`, Claude Code la démarre dans [le mode de permission que le répertoire cible configure](#permission-mode) via `permissions.defaultMode`. Quand le répertoire n'en définit pas un, le mode de permission de la session d'où vous venez s'applique. Avant cette version, la session dispatchée démarrait toujours dans le mode de permission de la session d'où vous venez, le remplaçant. |

1058| v2.1.257 | `Ctrl+S`, `Ctrl+T`, et `Ctrl+G` dans la vue agent [suivent votre `keybindings.json`](#keyboard-shortcuts) : `Ctrl+S` et `Ctrl+T` via les actions `agents:switchView` et `agents:togglePin` du contexte `Agents`, et `Ctrl+G` via la liaison `chat:externalEditor` du contexte `Chat`. Avant cette version, la vue agent ignorait `keybindings.json` et ces touches étaient fixes. |

1059| v2.1.257 | Démarrer le [service en arrière-plan](#the-supervisor-process) se rétablit de deux causes d'échec. Sur une installation npm macOS, un démarrage pendant une auto-mise à jour [attend l'installation](/docs/fr/errors#eacces-when-starting-a-background-session) au lieu d'exécuter l'espace réservé que npm pose en bas tandis qu'il remplace le binaire. Sur Windows, un `daemon.lock` obsolète écrit avant le dernier démarrage de la machine, ou dont l'ID de processus enregistré appartient maintenant à un processus différent, est remplacé. Avant cette version, le démarrage macOS échouait avec `Error: claude native binary not installed.` pendant la fenêtre d'installation, et le verrou Windows faisait échouer chaque démarrage avec [`exited before it became reachable`](/docs/fr/errors#background-service-exited-before-it-became-reachable) jusqu'à ce que vous supprimiez `~/.claude/daemon.lock`. |

1060| v2.1.257 | Quand vous ouvrez ou dispatchez une session en arrière-plan tandis qu'un autre processus Claude Code télécharge une mise à jour npm, Claude Code [continue d'attendre jusqu'à deux minutes](/docs/fr/errors#eacces-when-starting-a-background-session) tandis que l'installation s'exécute, puis échoue en disant `Claude Code is being updated by npm on this machine`. Avant cette version, l'attente s'arrêtait à dix secondes, donc l'ouverture échouait avec `Couldn't start the background service` tandis que le téléchargement était encore en cours. |

1061| v2.1.257 | Une session en arrière-plan tenant un [message entre sessions](/docs/fr/cross-session-messaging#control-inbound-messages) pour votre approbation affiche `approve message from` sur sa ligne `Needs input`, avec l'adresse de l'expéditeur et le nom que l'expéditeur prétend. Avant cette version, la ligne se déplaçait vers `Needs input` mais gardait son texte précédent, donc rien dans `claude agents` ne nommait le message en attente ou son expéditeur. |

1062| v2.1.257 | Une invite stockée avec `Ctrl+S` à l'intérieur d'une session en arrière-plan ouverte [est conservée avec la session](#what-persists-across-restarts), donc `Ctrl+S` la restaure après l'arrêt et le redémarrage du processus de la session. Avant cette version, le stockage vivait seulement dans le processus en cours d'exécution et était perdu quand la session restait inactive assez longtemps pour que son processus s'arrête, ou quand il était arrêté puis rouvert. |

1063| v2.1.251 | Dans une session en arrière-plan qui n'a pas [déménagé dans un worktree](#how-file-edits-are-isolated), Claude et les sous-agents qu'il génère peuvent modifier les fichiers à l'intérieur d'un worktree git lié. |

1064| v2.1.251 | Claude Code transfère une passerelle de fournisseur cloud exportée dans le shell d'où vous dispatchez, comme `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL` avec son drapeau de contournement d'authentification, vers [le worker de la session](#llm-gateway) dans les mêmes conditions que `ANTHROPIC_BASE_URL`. Avant cette version, si vous mettiez en arrière-plan ou dispatchiez à partir d'un shell authentifié uniquement via une telle passerelle, chaque requête que la session faisait échouait, parce que le point de terminaison et le drapeau étaient supprimés de son environnement. |

1065| v2.1.251 | Quand une session en arrière-plan démarre tandis qu'un autre processus Claude Code actualise une [place de marché de plugins](/docs/fr/plugin-marketplaces), comme une session sœur exécutant la [mise à jour automatique de la place de marché](/docs/fr/discover-plugins#configure-auto-updates), Claude Code garde les plugins de cette place de marché disponibles. Avant cette version, une telle session pouvait démarrer sans aucune des compétences, agents, hooks et serveurs MCP de cette place de marché et rester ainsi pendant toute son exécution. |

1066| v2.1.248 | `Shift+Enter` dans l'[entrée de dispatch](#keyboard-shortcuts) insère une nouvelle ligne, correspondant à l'invite principale, et `Ctrl+Enter` dispatch et attache immédiatement dans les terminaux où l'overlay `?` répertorie `ctrl+enter to start and open`. Avant cette version, `Shift+Enter` dispatchait et attachait. |

1067| v2.1.248 | [Supprimer une session](#what-deleting-a-session-removes) réussit quand les commits du worktree sont déjà sur la copie locale de la branche par défaut de votre remote `origin` et votre checkout principal a cette branche extraite ; avant cette version, la suppression était refusée avec `has commits that are not pushed anywhere`. |

1068| v2.1.248 | Une session mise en arrière-plan avec `←` ou `/background` tient le [`git worktree lock`](/docs/fr/worktrees#clean-up-subagent-and-background-session-worktrees) sur son worktree tandis qu'elle s'exécute ; avant cette version, mettre en arrière-plan libérait le verrou, et le nettoyage ou `git worktree remove` pouvait supprimer le worktree sous la session en cours d'exécution. |

1069| v2.1.248 | Une session en arrière-plan qui n'attendait pas votre entrée et est trouvée morte plus de 48 heures après sa dernière activité, comme après que la machine ait été éteinte pendant des jours, [s'affiche comme arrêtée](#sessions-show-as-failed-after-shutdown) avec `ended while the background service was off`, et `Enter` sur elle demande avant de reprendre sa conversation enregistrée. Avant cette version, une telle session réapparaissait comme un nouvel échec trié en haut de la liste, et un simple `Enter` tirait la conversation de plusieurs semaines au premier plan. |

1070| v2.1.248 | Ouvrir une ligne arrêtée dont la conversation [vous avez reprise dans un autre terminal](#opening-a-session-says-the-conversation-is-already-open) est refusé avec `Can't open — this session is running in another terminal`, et la ligne affiche `Open in a terminal` au lieu d'afficher sous `Working`. Avant cette version, ouvrir la ligne démarrait un deuxième processus écrivant dans la même conversation. |

1071| v2.1.248 | Une session en arrière-plan attendant une décision de permission tandis qu'un hook `PermissionRequest` ou `PreToolUse` a imprimé une réponse invalide [nomme l'événement du hook et l'erreur de schéma sur sa ligne](#peek-and-reply). Avant cette version, la ligne affichait seulement la requête en attente. |

1072| v2.1.248 | Sur Windows, `claude agents` répond au clavier quand lancé dans un onglet de terminal qu'un programme antérieur a laissé en mode win32-input. Avant cette version, Claude Code ne décodait pas les enregistrements de clés qu'un tel onglet envoie. |

1073| v2.1.247 | Sur Linux et WSL, une session [dont le processus hôte du terminal est mort](#the-terminal-host-died-or-the-session-stopped-responding) échoue en quelques secondes avec la raison. Une ouverture qui ne produit aucune sortie se termine après environ dix secondes avec une offre de redémarrage, et `Enter` sur la ligne redémarre la session avec sa conversation ; `claude attach <id>` rapporte la cause et quitte. Avant cette version, ouvrir une telle session affichait `opening… · esc to cancel` indéfiniment et `claude attach <id>` attendait sans rapporter une erreur. |

1074| v2.1.246 | Sur une installation npm, quand le [service en arrière-plan](#the-supervisor-process) échoue à démarrer tandis que `npm install -g @anthropic-ai/claude-code` remplace le binaire, Claude Code attend jusqu'à dix secondes pour que l'installation se termine et réessaie avant de rapporter [`EACCES: permission denied`](/docs/fr/errors#eacces-when-starting-a-background-session). |

1075| v2.1.246 | Quand le processus du [service en arrière-plan](#the-supervisor-process) meurt après avoir imprimé une erreur, Claude Code rapporte l'échec et [cite la première ligne d'erreur du service](/docs/fr/errors#background-service-exited-before-it-became-reachable). |

1076| v2.1.246 | Si votre machine s'endort tandis que le [service en arrière-plan](#the-supervisor-process) démarre, Claude Code réessaie le démarrage une fois au lieu d'échouer. |

1077| v2.1.246 | Claude Code attend environ deux minutes au lieu de 45 secondes pour un [service en arrière-plan](#the-supervisor-process) nouvellement démarré qui est vivant mais lent à accepter les connexions. |

1078| v2.1.246 | Le [service en arrière-plan](#the-supervisor-process) démarre à partir de votre répertoire personnel, donc sur macOS et Linux un répertoire de démarrage qui a été supprimé ou déplacé ne bloque plus le démarrage. |

1079| v2.1.246 | `/fork` [copie la conversation complète](#copy-the-session-with-%2Ffork) à partir d'une session qui elle-même a démarré comme une copie et n'a pas enregistré une nouvelle invite depuis : une copie `/fork` à laquelle vous vous êtes attaché, une session réattachée après que `←` ou `/background` l'ait déplacée en arrière-plan, ou une session démarrée avec `claude --resume <id> --fork-session`. Avant cette version, si vous exécutiez `/fork` dans une telle session avant de lui envoyer une nouvelle invite, Claude Code imprimait la confirmation normale mais démarrait la copie avec une conversation vide. Déplacer une telle session en arrière-plan avec `←` ou `/background` perdait la conversation de la même manière. |

1080| v2.1.246 | Quand vous ouvrez une session que vous venez de dispatcher tandis que son processus worker démarre encore, comme en appuyant sur `Enter` sur sa ligne, Claude Code attend le processus puis s'attache. Avant cette version, si vous appuyiez sur `Enter` tandis que le processus démarrait encore, Claude Code pouvait arrêter la session avec [`Session <id> was stopped while the respawn was in flight`](/docs/fr/errors#session-was-stopped-while-the-respawn-was-in-flight). |

1081| v2.1.246 | Quand vous [mettez en arrière-plan](#from-inside-a-session) une session nommée, Claude Code la répertorie une fois, et quand vous mettez en arrière-plan la même conversation à nouveau, il numérote le nom de la nouvelle ligne, comme `my-session (2)`, la ligne existante gardant son nom. Avant cette version, le terminal sur lequel vous avez appuyé sur `←` pouvait apparaître dans `claude agents --json` comme une deuxième session sous le même nom, et si vous mettiez en arrière-plan la même conversation à nouveau, Claude Code ajoutait une autre ligne sous le nom identique. |

1082| v2.1.239 | Avec le [mode éditeur vim](/docs/fr/interactive-mode#vim-editor-mode) activé, appuyer sur `Esc` dans l'entrée de la vue agent bascule du mode INSERT au mode NORMAL et conserve votre texte, correspondant à l'invite principale ; en mode NORMAL avec du texte toujours dans l'entrée, appuyer sur `Esc` l'efface, et appuyer sur `Esc` sur une entrée vide quitte, comme le décrit le raccourci [`Esc`](#keyboard-shortcuts). Avant cette version, `Esc` effaçait l'entrée. |

1083| v2.1.233 | Pour une session liée à une demande de fusion GitLab, Claude Code écrit l'étiquette de la ligne dans la syntaxe de référence `!1234` de GitLab. Vous pouvez également coller l'URL de la demande de fusion dans l'[entrée de dispatch](#filter-sessions) pour sélectionner cette session. Avant cette version, l'étiquette s'affichait comme `#1234`, et une URL de demande de fusion collée correspondait à une session uniquement quand sa première invite contenait l'URL. |

1084| v2.1.227 | [Supprimer une session](#what-deleting-a-session-removes) garde la session et son worktree tandis qu'une autre session Claude Code en direct s'exécute à l'intérieur de ce répertoire worktree. La vue agent affiche `not deleted` sur la ligne et la raison dans le pied de page, et `claude rm` affiche `kept <id>` avec la raison, qui nomme l'ID de processus de l'autre session. Avant cette version, supprimer la session supprimait le worktree tandis que l'autre session travaillait encore dedans. |

1085| v2.1.225 | `claude agents` dans un répertoire que vous n'avez pas approuvé affiche le même [dialogue de confiance d'espace de travail](/docs/fr/permissions#project-allow-rules-and-workspace-trust) que `claude` affiche au démarrage, avant que la vue agent s'ouvre. Accepter enregistre la confiance pour cet espace de travail ; refuser quitte sans ouvrir la vue agent. Avant cette version, `claude agents` s'ouvrait sans demander, donc les sessions que vous avez dispatchées à partir de celui-ci s'exécutaient dans un répertoire que vous n'aviez jamais été invité à approuver.<br /><br />Avec la liste groupée par répertoire, survoler la souris sur une ligne la met en évidence sans changer la [cible de dispatch](#dispatch-to-a-specific-directory) ; sélectionner une ligne avec les touches fléchées ou un clic change toujours la cible. Avant cette version, déplacer la souris sur une session dans un autre projet changeait silencieusement le répertoire dans lequel la prochaine session dispatchée démarrait. |

1086| v2.1.221 | `/status` affiche une ligne `Session kind` : `background job · attached` ou `background job · unattended` dans une session en arrière-plan, selon qu'un terminal est attaché, et `interactive` dans toute autre session. Avant cette version, `/status` ne rapportait pas le type de session.<br /><br />`/fork` : Claude Code instruit [la copie](#from-inside-a-session) d'isoler son travail de celui de la session originale : la copie crée son propre worktree avant de faire des modifications de code, reste en dehors du worktree de la session originale, et base une nouvelle branche sur la branche de l'original quand sa tâche s'appuie sur ce travail. Voir la section liée pour les conditions exactes. Avant cette version, la copie ne recevait aucune instruction d'isolation et pouvait finir par modifier le worktree ou extraire le checkout sur lequel la session originale travaillait encore.<br /><br />Avec le [mode éditeur vim](/docs/fr/interactive-mode#vim-editor-mode) activé, appuyer sur `←` juste après avoir annulé l'invite jusqu'à vide avec `u` demande la même confirmation que de supprimer le texte ou de se déplacer dans l'historique des invites, et bascule uniquement à la deuxième pression ; avant cette version la pression basculait immédiatement. |

1087| v2.1.219 | Avec le [mode éditeur vim](/docs/fr/interactive-mode#vim-editor-mode) activé, appuyer sur `←` sur une invite vide ouvre la vue agent à partir du mode NORMAL ainsi que INSERT, et l'indice `←` du pied de page s'affiche en mode NORMAL ; avant cette version le geste et l'indice étaient INSERT uniquement, et en mode NORMAL `←` sur une invite vide ne faisait rien. Taper dans l'entrée tandis que Claude Code attend de mettre la session en arrière-plan annule le basculement avec `Backgrounding cancelled — you have unsent text in the input. Send it or clear it, then press ← again.` donc un brouillon tapé n'est pas perdu. |

1088| v2.1.218 | Appuyer sur `←` dans les deux secondes d'une suppression qui a vidé l'invite, ou de se déplacer dans l'historique des invites, affiche `Press ← again to open agents`, ou `Press ← again to go back to agents` dans une session attachée, et bascule uniquement à une deuxième pression au moins une seconde plus tard ; avant cette version la pression basculait immédiatement. Un `←` qui arrive à l'intérieur d'une entrée collée ou scriptée ne déclenche plus le basculement. Mettre en arrière-plan une session au premier plan avec `←` affiche `Your conversation moved to the background` au-dessus de la liste, et `Esc` à la racine de la vue agent revient à cette conversation au lieu de quitter vers le shell, avec double `Ctrl+C` restant la sortie ; si la conversation ne peut pas être rouverte, Claude Code quitte et affiche une commande `claude --resume` pour elle. Sur Windows, un `←` appuyé dans environ une demi-seconde de l'attachement affiche `Ambiguous ←, press again to detach` et se détache à la deuxième pression. |

1089| v2.1.217 | L'insigne de demande de tirage sur la ligne d'une session s'affiche comme un lien hypertexte même quand Claude Code ne peut pas détecter le support de lien hypertexte du terminal, par exemple sur SSH ou tmux ; définissez [`FORCE_HYPERLINK=0`](/docs/fr/env-vars) pour l'afficher en texte brut. Avant cette version, l'insigne s'affichait en texte brut quand le support n'était pas détecté. |

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

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

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

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

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

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

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

814| v2.1.207 | Le panneau d'aperçu s'ouvre avec la phrase que la ligne tronque, comme la question exacte pour une session qui vous attend, et affiche combien de temps une session bloquée a attendu comme une seule ligne `waiting 3m` au lieu de préfixer le même horodatage à la phrase de statut et à la question. Coller le même texte à nouveau dans l'entrée de dispatch développe l'espace réservé `[Pasted text #N]` réduit au lieu d'en ajouter un deuxième. Une session en arrière-plan nommée en acceptant un plan affiche ce nom sur sa ligne. Une session en arrière-plan qui s'est déplacée dans un worktree conserve sa conversation quand son processus est redémarré à partir de la vue agent. |1097| v2.1.207 | Le panneau d'aperçu s'ouvre avec la phrase que la ligne tronque, comme la question exacte pour une session qui vous attend, et affiche combien de temps une session bloquée a attendu comme une seule ligne `waiting 3m` au lieu de préfixer le même horodatage à la phrase de statut et à la question. Coller le même texte à nouveau dans l'entrée de dispatch développe l'espace réservé `[Pasted text #N]` réduit au lieu d'en ajouter un deuxième. Une session en arrière-plan nommée en acceptant un plan affiche ce nom sur sa ligne. Une session en arrière-plan qui s'est déplacée dans un worktree conserve sa conversation quand son processus est redémarré à partir de la vue agent. |

815| v2.1.206 | Les résumés des lignes remplissent la largeur restante de la ligne et ne tronquent qu'au bord droit du terminal au lieu de 64 colonnes. Après le redémarrage du superviseur dans une nouvelle version de Claude Code, il redémarre les sessions en arrière-plan inactives restantes sur cette version en arrière-plan au lieu de quelques par minute. La suppression d'une session avec `Ctrl+X` ou `claude rm` l'efface également de la liste de sessions du superviseur, de sorte que la ligne ne réapparaît plus après un redémarrage du superviseur. |1098| v2.1.206 | Les résumés des lignes remplissent la largeur restante de la ligne et ne tronquent qu'au bord droit du terminal au lieu de 64 colonnes. Après le redémarrage du superviseur dans une nouvelle version de Claude Code, il redémarre les sessions en arrière-plan inactives restantes sur cette version en arrière-plan au lieu de quelques par minute. Supprimer une session avec `Ctrl+X` ou `claude rm` l'efface également de la liste de sessions du superviseur, de sorte que la ligne ne réapparaît plus après un redémarrage du superviseur. Une variable de remplacement de corps de requête `CLAUDE_CODE_EXTRA_BODY` exportée dans le shell de dispatching atteint les sessions en arrière-plan au lieu d'être ignorée. |

816| v2.1.205 | Les résumés des lignes affichent le rapport d'une ligne de la session elle-même, tronqué à 64 colonnes, au lieu d'une invocation d'outil brute ou d'un nombre `done/total` ; les lignes groupées par répertoire s'ouvrent avec un mot d'état coloré. Le panneau d'aperçu s'ouvre avec la phrase de statut complète et, pour une session vous attendant, sa question exacte au-dessus de l'entrée de réponse. Les sessions qui modifient, commentent, ferment ou marquent une demande de tirage comme prête avec `gh` y sont liées, pas seulement celles qui créent ou extraient une demande de tirage, une poussée lie une demande de tirage même quand le nom de la branche locale ne correspond pas, et une demande de tirage dont la sortie de la commande de création a dépassé la limite en ligne est également liée. Un tour sans texte lisible conserve l'état précédent de la session au lieu de le basculer vers `Working`. `claude attach` attend jusqu'à environ 60 secondes une session qui redémarre, avec une ligne de statut nommant pourquoi, au lieu d'échouer. |1099| v2.1.205 | L'indice de pied de page `←` du nombre de besoins d'entrée dans une session `claude` régulière compte les agents en arrière-plan vous attendant, comme `← 2 agents`. Les résumés des lignes affichent le rapport d'une ligne de la session elle-même, tronqué à 64 colonnes, au lieu d'une invocation d'outil brute ou d'un nombre `done/total` ; les lignes groupées par répertoire s'ouvrent avec un mot d'état coloré. Le panneau d'aperçu s'ouvre avec la phrase de statut complète et, pour une session vous attendant, sa question exacte au-dessus de l'entrée de réponse. Les sessions qui modifient, commentent, ferment ou marquent une demande de tirage comme prête avec `gh` y sont liées, pas seulement celles qui créent ou extraient une demande de tirage, une poussée lie une demande de tirage même quand le nom de la branche locale ne correspond pas, et une demande de tirage dont la sortie de la commande de création a dépassé la limite en ligne est également liée. Un tour sans texte lisible conserve l'état précédent de la session au lieu de le basculer vers `Working`. `claude attach` attend jusqu'à environ 60 secondes une session qui redémarre, avec une ligne de statut nommant pourquoi, au lieu d'échouer. |

817| v2.1.203 | Une passerelle `ANTHROPIC_BASE_URL` exportée dans le shell de dispatching atteint les sessions dispatchées à partir de celui-ci dans ce même répertoire quand le superviseur partage cet environnement de passerelle, au lieu d'être supprimée tandis que la clé API exportée à côté d'elle était conservée. Le `PATH` du shell de dispatching est appliqué à chaque worker de session. Appuyer sur `←` tandis que les sous-agents s'exécutent les attend au lieu de les redémarrer après dix secondes. La liste vide affiche toujours les en-têtes de section avec une description sous chacun. Taper `@` dans l'entrée de dispatch répertorie également les worktrees git enregistrés du référentiel de lancement qui vivent dans son arborescence de répertoires. Un effort hérité du paramètre `effortLevel` suit les modifications ultérieures de ce paramètre au lieu d'être fixé au dispatching. L'ouverture d'une session arrêtée dont la conversation est déjà ouverte dans une autre session en cours d'exécution est refusée avec un message au lieu d'échouer la ligne. Une commande qui n'est pas disponible dans la vue agent laisse le texte tapé dans l'entrée. Un hook `WorktreeCreate` qui échoue en dehors d'un référentiel git ne bloque plus la session de modifier les fichiers. |1100| v2.1.203 | Une passerelle `ANTHROPIC_BASE_URL` exportée dans le shell de dispatching atteint les sessions dispatchées à partir de celui-ci dans ce même répertoire quand le superviseur partage cet environnement de passerelle, au lieu d'être supprimée tandis que la clé API exportée à côté d'elle était conservée. Le `PATH` du shell de dispatching est appliqué à chaque worker de session. Appuyer sur `←` tandis que les sous-agents s'exécutent les attend au lieu de les redémarrer après dix secondes. La liste vide affiche toujours les en-têtes de section avec une description sous chacun. Taper `@` dans l'entrée de dispatch répertorie également les worktrees git enregistrés du référentiel de lancement qui vivent dans son arborescence de répertoires. Un effort hérité du paramètre `effortLevel` suit les modifications ultérieures de ce paramètre au lieu d'être fixé au dispatching. L'ouverture d'une session arrêtée dont la conversation est déjà ouverte dans une autre session en cours d'exécution est refusée avec un message au lieu d'échouer la ligne. Une commande qui n'est pas disponible dans la vue agent laisse le texte tapé dans l'entrée. Un hook `WorktreeCreate` qui échoue en dehors d'un référentiel git ne bloque plus la session de modifier les fichiers. |

818| v2.1.202 | Un nom défini avec `/rename` ou `Ctrl+R` sur une session en arrière-plan persiste quand le superviseur arrête et redémarre son processus, au lieu de revenir au nom avec lequel la session a été dispatchée. |1101| v2.1.202 | Un nom défini avec `/rename` ou `Ctrl+R` sur une session en arrière-plan persiste quand le superviseur arrête et redémarre son processus, au lieu de revenir au nom avec lequel la session a été dispatchée. |

819| v2.1.200 | Une version plus ancienne de Claude Code qui réécrit la liste de sessions dans `roster.json` préserve les champs écrits par une version plus récente, correspondant à la garantie `state.json` existante, de sorte que les sessions démarrées par la version plus récente continuent d'accepter l'entrée après le redémarrage du superviseur. Quand vous ouvrez une session qui a cessé de répondre, le superviseur redémarre son processus et la session continue la réponse interrompue à partir de là où elle s'était arrêtée. |1102| v2.1.200 | Une version plus ancienne de Claude Code qui réécrit la liste de sessions dans `roster.json` préserve les champs écrits par une version plus récente, correspondant à la garantie `state.json` existante, de sorte que les sessions démarrées par la version plus récente continuent d'accepter l'entrée après le redémarrage du superviseur. Quand vous ouvrez une session qui a cessé de répondre, le superviseur redémarre son processus et la session continue la réponse interrompue à partir de là où elle s'était arrêtée. La vue agent applique un drapeau `--plugin-dir` placé après `agents` à son propre sous-agent et à l'autocomplétion des compétences dans l'entrée de dispatch ainsi qu'aux sessions dispatchées. |

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

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

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

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

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

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

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

826| v2.1.161 | Les résumés des lignes affichent un nombre `done/total` pour les éléments de travail parallèles ; le panneau d'aperçu nomme l'élément de travail parallèle le plus long en cours d'exécution. |1110| v2.1.161 | Les résumés des lignes affichent un nombre `done/total` pour les éléments de travail parallèles ; le panneau d'aperçu nomme l'élément de travail parallèle le plus long en cours d'exécution. |

agents.md +5 −4

Details

4 4 

5# Exécuter des agents en parallèle5# Exécuter des agents en parallèle

6 6 

7> Comparez les façons dont Claude Code peut gérer plusieurs tâches à la fois : sous-agents, vue agent, équipes d'agents et workflows dynamiques.7> Comparez les façons dont Claude Code peut gérer plusieurs tâches à la fois : sous-agents, vue agent, équipes d'agents, workflows dynamiques et projets.

8 8 

9[Les sous-agents](/docs/fr/sub-agents), [la vue agent](/docs/fr/agent-view), [les équipes d'agents](/docs/fr/agent-teams) et [les workflows dynamiques](/docs/fr/workflows) parallélisent chacun le travail d'une manière différente. Le bon choix dépend de si vous voulez rester dans chaque conversation vous-même, déléguer des tâches et revérifier plus tard, ou laisser Claude coordonner un groupe de travailleurs pour vous.9Claude Code a cinq façons de travailler sur plusieurs tâches à la fois : [sous-agents](/docs/fr/sub-agents), [vue agent](/docs/fr/agent-view), [équipes d'agents](/docs/fr/agent-teams), [workflows dynamiques](/docs/fr/workflows) et [projets](/docs/fr/claude-projects). Elles diffèrent par le degré d'implication que vous conservez, allant de diriger chaque conversation vous-même à laisser Claude coordonner un groupe de travailleurs, et selon que le travail s'exécute sur votre machine ou dans le cloud.

10 10 

11| Approche | Ce qu'elle vous offre | Utilisez-la quand |11| Approche | Ce qu'elle vous offre | Utilisez-la quand |

12| :------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |12| :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

13| [Sous-agents](/docs/fr/sub-agents) | Des travailleurs délégués dans une session qui effectuent une tâche secondaire dans leur propre contexte et retournent un résumé | Une tâche secondaire inonderait votre conversation principale avec des résultats de recherche, des journaux ou des contenus de fichiers que vous ne référencerez plus |13| [Sous-agents](/docs/fr/sub-agents) | Des travailleurs délégués dans une session qui effectuent une tâche secondaire dans leur propre contexte et retournent un résumé | Une tâche secondaire inonderait votre conversation principale avec des résultats de recherche, des journaux ou des contenus de fichiers que vous ne référencerez plus |

14| [Vue agent](/docs/fr/agent-view) | Un écran pour dispatcher et surveiller les sessions s'exécutant en arrière-plan, ouvert avec `claude agents`. Aperçu de recherche | Vous avez plusieurs tâches indépendantes et voulez les déléguer, vérifier l'état en un coup d'œil et intervenir uniquement quand l'une d'elles a besoin de vous |14| [Vue agent](/docs/fr/agent-view) | Un écran pour dispatcher et surveiller les sessions s'exécutant en arrière-plan, ouvert avec `claude agents`. Aperçu de recherche | Vous avez plusieurs tâches indépendantes et voulez les déléguer, vérifier l'état en un coup d'œil et intervenir uniquement quand l'une d'elles a besoin de vous |

15| [Équipes d'agents](/docs/fr/agent-teams) | Plusieurs sessions coordonnées avec une liste de tâches partagée et une messagerie inter-agents, gérées par un responsable. Expérimental et désactivé par défaut | Vous voulez que Claude divise un projet en morceaux, les assigne et maintient les travailleurs synchronisés |15| [Équipes d'agents](/docs/fr/agent-teams) | Plusieurs sessions coordonnées avec une liste de tâches partagée et une messagerie inter-agents, gérées par un responsable. Expérimental et désactivé par défaut | Vous voulez que Claude divise un projet en morceaux, les assigne et maintient les travailleurs synchronisés |

16| [Projets](/docs/fr/claude-projects) | Une conversation continue sur claude.ai/code ou dans l'application de bureau. Claude démarre des sessions cloud parallèles appelées threads, donne à chacune les référentiels, les instructions et la mémoire du projet, et vous montre lesquels ont besoin de vous. Bêta publique sur Pro et Max | Le travail s'étend sur plusieurs tâches pendant des jours ou des semaines, devrait continuer à s'exécuter quand votre machine est éteinte, et vous préférez le décrire une fois plutôt que de dispatcher et suivre chaque session |

16| [Workflows dynamiques](/docs/fr/workflows) | Un script qui exécute de nombreux sous-agents et vérifie leurs résultats, pour un travail trop important pour être coordonné en un seul tour ou qui nécessite plus d'une seule passe | Une tâche dépasse une poignée de sous-agents, ou vous voulez que les résultats soient vérifiés les uns par rapport aux autres : un audit à l'échelle de la base de code, une migration de 500 fichiers, une recherche vérifiée de manière croisée, ou un plan élaboré sous plusieurs angles |17| [Workflows dynamiques](/docs/fr/workflows) | Un script qui exécute de nombreux sous-agents et vérifie leurs résultats, pour un travail trop important pour être coordonné en un seul tour ou qui nécessite plus d'une seule passe | Une tâche dépasse une poignée de sous-agents, ou vous voulez que les résultats soient vérifiés les uns par rapport aux autres : un audit à l'échelle de la base de code, une migration de 500 fichiers, une recherche vérifiée de manière croisée, ou un plan élaboré sous plusieurs angles |

17 18 

18Dans chaque approche, les travailleurs sont des sessions Claude. Pour impliquer un outil différent, exposez-le à Claude en tant que [serveur MCP](/docs/fr/mcp).19Dans chaque approche, les travailleurs sont des sessions Claude. Pour impliquer un outil différent, exposez-le à Claude en tant que [serveur MCP](/docs/fr/mcp).


20Trois autres outils soutiennent ce travail sans être une façon d'exécuter des agents eux-mêmes :21Trois autres outils soutiennent ce travail sans être une façon d'exécuter des agents eux-mêmes :

21 22 

22* [Les worktrees](/docs/fr/worktrees) donnent à chaque session un checkout git séparé, de sorte que les sessions parallèles ne modifient jamais les mêmes fichiers. Utilisez-les pour les sessions que vous exécutez vous-même. Une session que vous dispatchez depuis la vue agent [se déplace dans son propre worktree avant qu'elle ne modifie les fichiers](/docs/fr/agent-view#how-file-edits-are-isolated), et les sous-agents que vous générez peuvent chacun en obtenir un aussi.23* [Les worktrees](/docs/fr/worktrees) donnent à chaque session un checkout git séparé, de sorte que les sessions parallèles ne modifient jamais les mêmes fichiers. Utilisez-les pour les sessions que vous exécutez vous-même. Une session que vous dispatchez depuis la vue agent [se déplace dans son propre worktree avant qu'elle ne modifie les fichiers](/docs/fr/agent-view#how-file-edits-are-isolated), et les sous-agents que vous générez peuvent chacun en obtenir un aussi.

23* [La messagerie inter-sessions](/docs/fr/cross-session-messaging) permet à Claude de lister et de communiquer avec vos autres sessions Claude Code sur cette machine, sur une autre machine ou sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web), de sorte que les sessions que vous exécutez vous-même peuvent transmettre les résultats et l'état entre elles.24* [La messagerie inter-sessions](/docs/fr/cross-session-messaging) permet à Claude de lister et de communiquer avec vos autres sessions Claude Code sur cette machine, sur une autre machine ou [dans le cloud](/docs/fr/claude-code-on-the-web), de sorte que les sessions que vous exécutez vous-même peuvent transmettre les résultats et l'état entre elles.

24* [`/batch`](/docs/fr/commands) est une [compétence](/docs/fr/skills) qui a Claude diviser un grand changement en 5 à 30 sous-agents isolés par worktree qui ouvrent chacun une pull request. C'est une utilisation packagée de sous-agents et de worktrees, pas un style de coordination séparé.25* [`/batch`](/docs/fr/commands) est une [compétence](/docs/fr/skills) qui a Claude diviser un grand changement en 5 à 30 sous-agents isolés par worktree qui ouvrent chacun une pull request. C'est une utilisation packagée de sous-agents et de worktrees, pas un style de coordination séparé.

25 26 

26Quelques autres fonctionnalités exécutent Claude sans que vous conduisiez chaque étape, mais elles résolvent un problème différent de celui de diviser le travail entre les agents :27Quelques autres fonctionnalités exécutent Claude sans que vous conduisiez chaque étape, mais elles résolvent un problème différent de celui de diviser le travail entre les agents :

Details

237}237}

238```238```

239 239 

240À partir de Claude Code v2.1.181, la sortie plate de `aws configure export-credentials --format process` est également acceptée, avec les mêmes clés au niveau supérieur au lieu d'être imbriquées sous `Credentials`.240La sortie plate de `aws configure export-credentials --format process` est également acceptée, avec les mêmes clés au niveau supérieur au lieu d'être imbriquées sous `Credentials`.

241 241 

242`Expiration` est optionnel. Quand la commande retourne un `Expiration` ISO 8601 valide, Claude Code met en cache les identifiants jusqu'à cinq minutes avant cette heure. Sans cela, les identifiants sont mis en cache pendant une heure.242`Expiration` est optionnel. Quand la commande retourne un `Expiration` ISO 8601 valide, Claude Code met en cache les identifiants jusqu'à cinq minutes avant cette heure. Sans cela, les identifiants sont mis en cache pendant une heure.

243 243 


518 Utiliser le point de terminaison Mantle518 Utiliser le point de terminaison Mantle

519</h2>519</h2>

520 520 

521Mantle est un point de terminaison Amazon Bedrock qui sert les modèles Claude via la forme API Anthropic native plutôt que l'API Invoke Bedrock. Il utilise les mêmes identifiants AWS, autorisations IAM et configuration `awsAuthRefresh` décrites précédemment sur cette page.521Mantle est un point de terminaison Amazon Bedrock qui sert les modèles Claude via la forme API Anthropic native plutôt que l'API Invoke Bedrock. Il utilise les mêmes [identifiants AWS](#2-configure-aws-credentials), [autorisations IAM](#iam-configuration), et configuration [`awsAuthRefresh`](#advanced-credential-configuration).

522 522 

523<h3 id="enable-mantle">523<h3 id="enable-mantle">

524 Activer Mantle524 Activer Mantle

artifacts.md +4 −4

Details

10 Les artefacts sont disponibles sur les plans Pro, Max, Team et Enterprise et nécessitent une session connectée avec [`/login`](/docs/fr/setup#authenticate). Consultez [Disponibilité](#availability) pour l'ensemble complet des exigences.10 Les artefacts sont disponibles sur les plans Pro, Max, Team et Enterprise et nécessitent une session connectée avec [`/login`](/docs/fr/setup#authenticate). Consultez [Disponibilité](#availability) pour l'ensemble complet des exigences.

11</Note>11</Note>

12 12 

13Un artefact est une page web en direct et interactive que Claude Code publie depuis votre session vers une URL privée sur claude.ai. Vous l'ouvrez dans un navigateur, et elle se met à jour sur place à mesure que la session continue. Partagez-la depuis l'en-tête de la page quand vous voulez que quelqu'un d'autre la voie aussi.13Un [artefact](https://claude.com/features/artifacts) est une page web en direct et interactive que Claude Code publie depuis votre session vers une URL privée sur claude.ai. Vous l'ouvrez dans un navigateur, et elle se met à jour sur place à mesure que la session continue. Partagez-la depuis l'en-tête de la page quand vous voulez que quelqu'un d'autre la voie aussi.

14 14 

15<Frame>15<Frame>

16 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="Un artefact ouvert dans un navigateur à claude.ai/code/artifact. L'en-tête du visualiseur affiche le titre de l'artefact acme-funnel-fix, un bouton Partager et l'avatar de l'auteur. Le menu Partager est ouvert avec le bouton bascule Toujours partager la dernière version, un sélecteur de version indiquant Partage de la version 2, un sélecteur d'audience Tous chez Acme et un bouton Copier le lien. Sous l'en-tête, la page d'artefact affiche deux maquettes mobiles côte à côte, un graphique en entonnoir et une rangée de cartes de métriques." width="2511" height="1890" data-path="images/artifacts-viewer.png" />16 <img src="https://mintcdn.com/claude-code/kaHIYYMIYMYPxQg9/images/artifacts-viewer.png?fit=max&auto=format&n=kaHIYYMIYMYPxQg9&q=85&s=dbfd671cdb0d15f49f808b9e89778fe1" alt="Un artefact ouvert dans un navigateur à claude.ai/code/artifact. L'en-tête du visualiseur affiche le titre de l'artefact acme-funnel-fix, un bouton Partager et l'avatar de l'auteur. Le menu Partager est ouvert avec le bouton bascule Toujours partager la dernière version, un sélecteur de version indiquant Partage de la version 2, un sélecteur d'audience Tous chez Acme et un bouton Copier le lien. Sous l'en-tête, la page d'artefact affiche deux maquettes mobiles côte à côte, un graphique en entonnoir et une rangée de cartes de métriques." width="2511" height="1890" data-path="images/artifacts-viewer.png" />


142Read the comments on https://claude.ai/code/artifact/5fbea6f3-... and make the changes the commenters ask for.142Read the comments on https://claude.ai/code/artifact/5fbea6f3-... and make the changes the commenters ask for.

143```143```

144 144 

145Si Claude vous dit qu'il ne peut pas lire les commentaires, vérifiez trois choses :145Si Claude vous dit qu'il ne peut pas lire les commentaires, confirmez votre version, votre session et votre paramètre de drapeau de fonctionnalité :

146 146 

147* Vous exécutez Claude Code v2.1.221 ou version ultérieure.147* Vous exécutez Claude Code v2.1.221 ou version ultérieure.

148* Vous n'êtes pas dans votre première session depuis que vous avez installé Claude Code ou mis à niveau à partir d'une version antérieure à v2.1.221. Dans cette [première session après une installation ou une mise à niveau](/docs/fr/env-vars#first-session-after-an-install-or-upgrade), Claude pourrait ne pas être en mesure de lire les commentaires ; démarrez une nouvelle session et demandez à nouveau.148* Vous n'êtes pas dans votre première session depuis que vous avez installé Claude Code ou mis à niveau à partir d'une version antérieure à v2.1.221. Dans cette [première session après une installation ou une mise à niveau](/docs/fr/env-vars#first-session-after-an-install-or-upgrade), Claude pourrait ne pas être en mesure de lire les commentaires ; démarrez une nouvelle session et demandez à nouveau.


291 Améliorer la conception visuelle291 Améliorer la conception visuelle

292</h2>292</h2>

293 293 

294Claude applique une compétence de conception intégrée lorsqu'il crée un artifact, de sorte que les pages obtiennent une palette, une typographie et une mise en page délibérées sans invite supplémentaire. Nécessite Claude Code v2.1.182 ou version ultérieure. Cette compétence recherche également un système de conception existant dans votre projet avant de choisir le sien. Les design tokens sont les valeurs nommées de couleur, de typographie et d'espacement que votre système de conception réutilise. Pour maintenir les artifacts cohérents avec la marque de votre produit, enregistrez-les où Claude peut les trouver, par exemple dans le [CLAUDE.md](/docs/fr/memory) du projet ou dans un fichier de thème de votre référentiel :294Claude applique une compétence de conception intégrée lorsqu'il crée un artifact, de sorte que les pages obtiennent une palette, une typographie et une mise en page délibérées sans invite supplémentaire. Cette compétence recherche également un système de conception existant dans votre projet avant de choisir le sien. Les design tokens sont les valeurs nommées de couleur, de typographie et d'espacement que votre système de conception réutilise. Pour maintenir les artifacts cohérents avec la marque de votre produit, enregistrez-les où Claude peut les trouver, par exemple dans le [CLAUDE.md](/docs/fr/memory) du projet ou dans un fichier de thème de votre référentiel :

295 295 

296```markdown theme={null}296```markdown theme={null}

297## Design system297## Design system


331| Pas de backend | Un artifact est une page statique. Il ne peut pas authentifier les visiteurs lui-même. |331| Pas de backend | Un artifact est une page statique. Il ne peut pas authentifier les visiteurs lui-même. |

332| Téléchargements | La page ne peut pas lancer un téléchargement elle-même. Pour permettre aux visiteurs d'enregistrer un fichier généré par la page, Claude déclare la capacité de téléchargements. Voir [Proposer un téléchargement de fichier](#offer-a-file-download). |332| Téléchargements | La page ne peut pas lancer un téléchargement elle-même. Pour permettre aux visiteurs d'enregistrer un fichier généré par la page, Claude déclare la capacité de téléchargements. Voir [Proposer un téléchargement de fichier](#offer-a-file-download). |

333| Page unique | Les liens relatifs ne se résolvent pas, car rien n'est déployé aux côtés de la page. Pour le contenu multi-sections, Claude utilise des ancres dans la page plutôt que des fichiers séparés. |333| Page unique | Les liens relatifs ne se résolvent pas, car rien n'est déployé aux côtés de la page. Pour le contenu multi-sections, Claude utilise des ancres dans la page plutôt que des fichiers séparés. |

334| Types de fichiers source | Le fichier publié doit être `.html`, `.htm` ou `.md`, et doit être décodable en UTF-8, ou en UTF-16 little-endian par sa marque d'ordre des octets. Les fichiers Markdown s'affichent en HTML stylisé. Un fichier qui ne se décode pas, ou qui contient le caractère de remplacement `U+FFFD`, est [refusé avec la ligne et la colonne à corriger](/docs/fr/errors#the-source-file-is-not-valid-utf-8-text). |334| Types de fichiers source | Le fichier publié doit être `.html`, `.htm` ou `.md`, et doit être décodable en UTF-8, ou en UTF-16 little-endian par sa marque d'ordre des octets. Les fichiers Markdown s'affichent en tant que pages de document stylisées avec du code en surbrillance syntaxique. Un fichier qui ne se décode pas, ou qui contient le caractère de remplacement `U+FFFD`, est [refusé avec la ligne et la colonne à corriger](/docs/fr/errors#the-source-file-is-not-valid-utf-8-text). |

335| Taille rendue | La page rendue doit faire 16 Mio ou moins. Les grandes images incorporées sont la cause habituelle lorsqu'une publication échoue pour des raisons de taille. |335| Taille rendue | La page rendue doit faire 16 Mio ou moins. Les grandes images incorporées sont la cause habituelle lorsqu'une publication échoue pour des raisons de taille. |

336 336 

337Générer un artifact utilise des tokens de sortie comme toute autre réponse, et une page stylisée est plus gourmande en tokens que le même contenu sous forme de texte terminal. Les CSS intégrés, le JavaScript pour les contrôles interactifs, et surtout les images incorporées en tant qu'URI de données sont les principaux contributeurs. Pour réduire le coût en tokens d'un artifact :337Générer un artifact utilise des tokens de sortie comme toute autre réponse, et une page stylisée est plus gourmande en tokens que le même contenu sous forme de texte terminal. Les CSS intégrés, le JavaScript pour les contrôles interactifs, et surtout les images incorporées en tant qu'URI de données sont les principaux contributeurs. Pour réduire le coût en tokens d'un artifact :

Details

22 22 

23Vous pouvez vous authentifier avec l'un de ces types de compte :23Vous pouvez vous authentifier avec l'un de ces types de compte :

24 24 

25* **Abonnement Claude Pro ou Max** : connectez-vous avec votre compte Claude.ai. Abonnez-vous sur [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).25* **Abonnement Claude Pro ou Max** : connectez-vous avec votre compte claude.ai. Abonnez-vous sur [claude.com/pricing](https://claude.com/pricing?utm_source=claude_code\&utm_medium=docs\&utm_content=authentication_pro_max).

26* **Claude for Teams ou Enterprise** : connectez-vous avec le compte Claude.ai que votre administrateur d'équipe vous a invité à utiliser.26* **Claude for Teams ou Enterprise** : connectez-vous avec le compte claude.ai que votre administrateur d'équipe vous a invité à utiliser.

27* **Claude Console** : connectez-vous avec vos identifiants Console. Votre administrateur doit vous avoir [invité](#claude-console-authentication) au préalable. Vous pouvez vous connecter avec ou sans [créer une clé API](#sign-in-without-an-api-key).27* **Claude Console** : connectez-vous avec vos identifiants Console. Votre administrateur doit vous avoir [invité](#claude-console-authentication) au préalable. Vous pouvez vous connecter avec ou sans [créer une clé API](#sign-in-without-an-api-key).

28* **Fournisseurs cloud** : si votre organisation utilise [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) ou [Microsoft Foundry](/docs/fr/microsoft-foundry), définissez les variables d'environnement requises avant d'exécuter `claude`, ou sélectionnez **3rd-party platform** à l'invite de connexion, ce qui lance un assistant de configuration interactif pour Bedrock et Vertex AI. Aucune connexion au navigateur n'est nécessaire.28* **Fournisseurs cloud** : si votre organisation utilise [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) ou [Microsoft Foundry](/docs/fr/microsoft-foundry), définissez les variables d'environnement requises avant d'exécuter `claude`, ou sélectionnez **3rd-party platform** à l'invite de connexion, ce qui lance un assistant de configuration interactif pour Bedrock et Vertex AI. Aucune connexion au navigateur n'est nécessaire.

29* **Passerelle cloud** : si votre organisation exécute une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) auto-hébergée, connectez-vous avec l'authentification unique d'entreprise via `/login`. Le jeton émis par la passerelle est la seule credential de la session.29* **Passerelle cloud** : si votre organisation exécute une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) auto-hébergée, connectez-vous avec l'authentification unique d'entreprise via `/login`. Le jeton émis par la passerelle est la seule credential de la session.


66 </Step>66 </Step>

67 67 

68 <Step title="Installer et se connecter">68 <Step title="Installer et se connecter">

69 Les membres de l'équipe installent Claude Code et se connectent avec leurs comptes Claude.ai.69 Les membres de l'équipe installent Claude Code et se connectent avec leurs comptes claude.ai.

70 </Step>70 </Step>

71</Steps>71</Steps>

72 72 


236 236 

237Exécutez `unset ANTHROPIC_API_KEY` pour revenir à votre abonnement, et vérifiez `/status` pour confirmer quelle méthode est active. Lorsqu'une connexion et une clé API sont toutes deux configurées, `/status` marque l'identifiant qui n'est pas en cours d'utilisation.237Exécutez `unset ANTHROPIC_API_KEY` pour revenir à votre abonnement, et vérifiez `/status` pour confirmer quelle méthode est active. Lorsqu'une connexion et une clé API sont toutes deux configurées, `/status` marque l'identifiant qui n'est pas en cours d'utilisation.

238 238 

239[Claude Code sur le Web](/docs/fr/claude-code-on-the-web) utilise toujours vos identifiants d'abonnement. Si vous définissez `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN` dans l'environnement sandbox, cela ne remplace pas vos identifiants d'abonnement.239[Claude Code sur le Web](/docs/fr/claude-code-on-the-web) utilise toujours vos identifiants d'abonnement. Si vous définissez `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN` dans l'environnement cloud, cela ne remplace pas vos identifiants d'abonnement.

240 240 

241<h4 id="anthropic-profiles-and-federation-credentials">241<h4 id="anthropic-profiles-and-federation-credentials">

242 Profils Anthropic et identifiants de fédération242 Profils Anthropic et identifiants de fédération

Details

99 * **Organisation**99 * **Organisation**

100 * **Utilisation principale de Claude Code** : par défaut développement logiciel100 * **Utilisation principale de Claude Code** : par défaut développement logiciel

101 * **Fournisseur(s) cloud**101 * **Fournisseur(s) cloud**

102 * **Visibilité du dépôt** : un dépôt est supposé privé sauf si son hôte distant et son nom l'indiquent autrement, ou une vérification de visibilité antérieure dans la conversation que le classificateur lit montre qu'il est public. Le classificateur lit vos messages et les commandes que Claude exécute, pas leur sortie, donc la preuve doit être quelque chose qu'il peut lire, comme votre propre message nommant le dépôt comme public ; la sortie d'un `gh repo view` seul ne l'atteint pas. La vérification des preuves de transcription nécessite Claude Code v2.1.200 ou ultérieur102 * **Visibilité du dépôt** : un dépôt est supposé privé sauf si son hôte distant et son nom l'indiquent autrement, ou le classificateur lit une vérification de visibilité antérieure dans la conversation montrant qu'il est public.

103 

104 Dans les demandes du classificateur envoyées par Claude Code lui-même, le classificateur lit vos messages et les commandes que Claude exécute, pas leur sortie. La preuve doit être quelque chose que le classificateur peut lire, comme votre propre message nommant le dépôt comme public ; la sortie d'un `gh repo view` seul ne l'atteint pas. La vérification des preuves de transcription nécessite Claude Code v2.1.200 ou ultérieur

103 * **Partage interne / hébergement d'extraits** : les services publics de pâte et de gist sont traités comme en dehors de la limite de confiance jusqu'à ce que vous en nomiez un105 * **Partage interne / hébergement d'extraits** : les services publics de pâte et de gist sont traités comme en dehors de la limite de confiance jusqu'à ce que vous en nomiez un

104 * **CLI spécifiques à l'organisation**106 * **CLI spécifiques à l'organisation**

105 * **Gestion des secrets**107 * **Gestion des secrets**


178Exécutez `/auto-mode-setup` pour que Claude Code rédige des entrées `autoMode.environment`, et parfois aussi des [entrées de règles](#override-the-block-and-allow-rules), à partir de votre projet et de vos sessions récentes dans celui-ci. Si vous acceptez le brouillon, Claude Code l'écrit dans `~/.claude/settings.json`.180Exécutez `/auto-mode-setup` pour que Claude Code rédige des entrées `autoMode.environment`, et parfois aussi des [entrées de règles](#override-the-block-and-allow-rules), à partir de votre projet et de vos sessions récentes dans celui-ci. Si vous acceptez le brouillon, Claude Code l'écrit dans `~/.claude/settings.json`.

179 181 

180<Note>182<Note>

181 `/auto-mode-setup` nécessite un plan Pro, Max ou Team et Claude Code v2.1.228 ou ultérieur. Sur Windows natif, il nécessite v2.1.233 ou ultérieur. Vous ne pouvez pas l'exécuter dans [Claude Code sur le web](/docs/fr/claude-code-on-the-web). Il a également besoin de [récupération de drapeaux de fonctionnalités](/docs/fr/env-vars#features-that-need-feature-flag-fetching), donc vous ne pouvez pas l'exécuter dans une session où vous avez désactivé la récupération de drapeaux.183 `/auto-mode-setup` nécessite un plan Pro, Max ou Team et Claude Code v2.1.228 ou ultérieur. Sur Windows natif, il nécessite v2.1.233 ou ultérieur. Vous ne pouvez pas l'exécuter dans une [session cloud](/docs/fr/claude-code-on-the-web). Il a également besoin de [récupération de drapeaux de fonctionnalités](/docs/fr/env-vars#features-that-need-feature-flag-fetching), donc vous ne pouvez pas l'exécuter dans une session où vous avez désactivé la récupération de drapeaux.

182</Note>184</Note>

183 185 

184<h3 id="what-auto-mode-setup-reads">186<h3 id="what-auto-mode-setup-reads">


305 Acheminer toutes les commandes shell via le classificateur307 Acheminer toutes les commandes shell via le classificateur

306</h2>308</h2>

307 309 

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

309 311 

310Définissez `autoMode.classifyAllShell` sur `true` pour suspendre chaque règle d'autorisation Bash et PowerShell pendant que le mode auto est actif, afin que le classificateur évalue chaque commande shell indépendamment de votre liste d'autorisation.312Définissez `autoMode.classifyAllShell` sur `true` pour suspendre chaque règle d'autorisation Bash et PowerShell pendant que le mode auto est actif, afin que le classificateur évalue chaque commande shell indépendamment de votre liste d'autorisation.

311 313 

channels.md +6 −4

Details

247 * `Marketplace "claude-plugins-official" not found` : ajoutez la marketplace avec `/plugin marketplace add anthropics/claude-plugins-official`, puis réessayez l'installation.247 * `Marketplace "claude-plugins-official" not found` : ajoutez la marketplace avec `/plugin marketplace add anthropics/claude-plugins-official`, puis réessayez l'installation.

248 * Le plugin [n'est pas trouvé dans la marketplace](/docs/fr/discover-plugins#install-plugins) : vérifiez le nom du plugin.248 * Le plugin [n'est pas trouvé dans la marketplace](/docs/fr/discover-plugins#install-plugins) : vérifiez le nom du plugin.

249 249 

250 Lorsque l'installation demande une portée d'installation, choisissez l'option de portée utilisateur pour que le plugin soit disponible dans tous vos projets. Si le résumé d'installation signale `Run /reload-plugins to activate.`, vous pouvez ignorer cela ici, car le redémarrage à l'étape suivante récupère le plugin.250 Lorsque l'installation demande une portée d'installation, choisissez l'option de portée utilisateur pour que le plugin soit disponible dans tous vos projets.

251 

252 Si le résumé d'installation signale `Run /reload-plugins to activate.`, vous n'avez pas besoin d'agir ici, car le redémarrage à l'étape suivante récupère le plugin.

251 </Step>253 </Step>

252 254 

253 <Step title="Redémarrer avec le canal activé">255 <Step title="Redémarrer avec le canal activé">


368Plusieurs fonctionnalités de Claude Code se connectent à des systèmes en dehors du terminal, chacune adaptée à un type de travail différent :370Plusieurs fonctionnalités de Claude Code se connectent à des systèmes en dehors du terminal, chacune adaptée à un type de travail différent :

369 371 

370| Fonctionnalité | Ce qu'elle fait | Bonne pour |372| Fonctionnalité | Ce qu'elle fait | Bonne pour |

371| ---------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |373| -------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |

372| [Claude Code sur le web](/docs/fr/claude-code-on-the-web) | Exécute les tâches dans un nouveau bac à sable cloud, cloné à partir de GitHub | Déléguer le travail asynchrone autonome que vous vérifiez plus tard |374| [Cloud sessions](/docs/fr/claude-code-on-the-web) | Exécute les tâches dans un nouveau bac à sable cloud, cloné à partir de GitHub | Déléguer le travail asynchrone autonome que vous vérifiez plus tard |

373| [Claude dans Slack](/docs/fr/slack) | Lance une session web à partir d'une mention `@Claude` dans un canal ou un fil | Démarrer les tâches directement à partir du contexte de conversation d'équipe |375| [Claude dans Slack](/docs/fr/slack) | Lance une session cloud à partir d'une mention `@Claude` dans un canal ou un fil | Démarrer les tâches directement à partir du contexte de conversation d'équipe |

374| Serveur [MCP](/docs/fr/mcp) standard | Claude l'interroge pendant une tâche ; rien n'est envoyé à la session | Donner à Claude un accès à la demande pour lire ou interroger un système |376| Serveur [MCP](/docs/fr/mcp) standard | Claude l'interroge pendant une tâche ; rien n'est envoyé à la session | Donner à Claude un accès à la demande pour lire ou interroger un système |

375| [Remote Control](/docs/fr/remote-control) | Vous pilotez votre session locale à partir de claude.ai ou de l'application mobile Claude | Diriger une session en cours pendant que vous êtes loin de votre bureau |377| [Remote Control](/docs/fr/remote-control) | Vous pilotez votre session locale à partir de claude.ai ou de l'application mobile Claude | Diriger une session en cours pendant que vous êtes loin de votre bureau |

376 378 

Details

66 66 

67<Steps>67<Steps>

68 <Step title="Créer le projet">68 <Step title="Créer le projet">

69 Les exemples de relais de permissions plus loin sur cette page importent `zod` directement, donc il s'installe aux côtés du SDK MCP. Créez un nouveau répertoire et installez les deux :69 Les exemples de [relais de permissions](#relay-permission-prompts) importent `zod` directement, donc il s'installe aux côtés du SDK MCP. Créez un nouveau répertoire et installez les deux :

70 70 

71 ```bash theme={null}71 ```bash theme={null}

72 mkdir webhook-channel && cd webhook-channel72 mkdir webhook-channel && cd webhook-channel


116 })116 })

117 ```117 ```

118 118 

119 Le fichier fait trois choses dans l'ordre :119 Le fichier configure le serveur, se connecte via stdio et démarre un écouteur HTTP, dans cet ordre :

120 120 

121 * **Configuration du serveur** : crée le serveur MCP avec `claude/channel` dans ses capacités, ce qui indique à Claude Code que c'est un canal. Claude Code livre la chaîne [`instructions`](#server-options) à Claude en tant que contexte quand le serveur se connecte : dites à Claude quels événements attendre, s'il faut répondre et comment router les réponses si c'est le cas.121 * **Configuration du serveur** : crée le serveur MCP avec `claude/channel` dans ses capacités, ce qui indique à Claude Code que c'est un canal. Claude Code livre la chaîne [`instructions`](#server-options) à Claude en tant que contexte quand le serveur se connecte : dites à Claude quels événements attendre, s'il faut répondre et comment router les réponses si c'est le cas.

122 * **Connexion stdio** : se connecte à Claude Code via stdin/stdout. C'est standard pour tout [serveur MCP](https://modelcontextprotocol.io/docs/concepts/transports#standard-io).122 * **Connexion stdio** : se connecte à Claude Code via stdin/stdout. C'est standard pour tout [serveur MCP](https://modelcontextprotocol.io/docs/concepts/transports#standard-io).


152 152 

153 Un avis atténué sous la bannière de démarrage confirme que le canal est enregistré : `Channels (experimental) messages from server:webhook inject directly in this session · restart without --dangerously-load-development-channels to stop`.153 Un avis atténué sous la bannière de démarrage confirme que le canal est enregistré : `Channels (experimental) messages from server:webhook inject directly in this session · restart without --dangerously-load-development-channels to stop`.

154 154 

155 Si vous voyez ' bloqué par la politique de l'organisation ', votre administrateur d'organisation doit d'abord [activer les canaux](/docs/fr/channels#enterprise-controls).155 Si vous voyez « bloqué par la politique de l'organisation », votre administrateur d'organisation doit d'abord [activer les canaux](/docs/fr/channels#enterprise-controls).

156 156 

157 Dans un terminal séparé, simulez un webhook en envoyant un HTTP POST avec un message à votre serveur. Cet exemple envoie une alerte d'échec CI au port 8788 (ou quel que soit le port que vous avez configuré) :157 Dans un terminal séparé, simulez un webhook en envoyant un HTTP POST avec un message à votre serveur. Cet exemple envoie une alerte d'échec CI au port 8788 (ou quel que soit le port que vous avez configuré) :

158 158 


509 509 

510Le masquage ne change pas qui reçoit les champs. Tout ce qui reste sans masque va uniquement aux serveurs pour lesquels vous avez opté avec `--channels` ou le drapeau de développement. Traitez les deux champs comme non fiables sauf si vous contrôlez la flotte de clients.510Le masquage ne change pas qui reçoit les champs. Tout ce qui reste sans masque va uniquement aux serveurs pour lesquels vous avez opté avec `--channels` ou le drapeau de développement. Traitez les deux champs comme non fiables sauf si vous contrôlez la flotte de clients.

511 511 

512Le verdict que votre serveur renvoie est `notifications/claude/channel/permission` avec deux champs : `request_id` répétant l'ID ci-dessus, et `behavior` défini sur `'allow'` ou `'deny'`. Allow laisse l'appel d'outil procéder ; deny le rejette, comme répondre Non dans la boîte de dialogue locale. Aucun verdict n'affecte les appels futurs.512Le verdict que votre serveur renvoie est `notifications/claude/channel/permission` avec deux champs : `request_id` répétant l'ID ci-dessus, et `behavior` défini sur `'allow'` ou `'deny'`. Allow laisse l'appel d'outil procéder ; deny le rejette. Aucun verdict n'affecte les appels futurs.

513 513 

514<h3 id="add-relay-to-a-chat-bridge">514<h3 id="add-relay-to-a-chat-bridge">

515 Ajouter le relais à une passerelle de chat515 Ajouter le relais à une passerelle de chat

Details

85 Les modifications de commandes Bash ne sont pas suivies85 Les modifications de commandes Bash ne sont pas suivies

86</h3>86</h3>

87 87 

88Le checkpointing ne suit pas les fichiers modifiés par les commandes bash. Par exemple, si Claude Code exécute :88Le checkpointing ne suit pas les fichiers modifiés par les commandes Bash. Par exemple, si Claude Code exécute :

89 89 

90```bash theme={null}90```bash theme={null}

91rm file.txt91rm file.txt

Details

62Ce démarrage rapide parcourt le chemin minimal : enregistrez un client OAuth dans votre IdP, écrivez un `gateway.yaml`, exécutez la passerelle aux côtés de Postgres avec Docker Compose, et vérifiez la connexion de bout en bout. Il utilise un amont Amazon Bedrock ; Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry, et l'API Anthropic sont également supportés en échangeant le bloc `upstreams` comme indiqué dans la [référence de configuration](/docs/fr/claude-apps-gateway-config#upstreams). À la fin, vous avez une passerelle à laquelle un développeur peut se `/login`.62Ce démarrage rapide parcourt le chemin minimal : enregistrez un client OAuth dans votre IdP, écrivez un `gateway.yaml`, exécutez la passerelle aux côtés de Postgres avec Docker Compose, et vérifiez la connexion de bout en bout. Il utilise un amont Amazon Bedrock ; Claude Platform on AWS, Google Cloud's Agent Platform, Microsoft Foundry, et l'API Anthropic sont également supportés en échangeant le bloc `upstreams` comme indiqué dans la [référence de configuration](/docs/fr/claude-apps-gateway-config#upstreams). À la fin, vous avez une passerelle à laquelle un développeur peut se `/login`.

63 63 

64<Note>64<Note>

65 **Déployez sur votre réseau privé.** Claude Code ne se connecte qu'à une passerelle dont l'adresse est privée. C'est un garde de sécurité, car une passerelle de confiance peut pousser des paramètres qui exécutent des commandes sur les machines des développeurs. Mettez la passerelle derrière un équilibreur de charge interne ou un VPN et donnez-lui un nom d'hôte qui ne se résout qu'à des adresses IP privées.65 **Déployez sur votre réseau privé.** Claude Code ne se connecte qu'à une passerelle dont l'adresse est privée. C'est un garde de sécurité, car une passerelle de confiance peut pousser des paramètres qui exécutent des commandes sur les machines des développeurs. Mettez la passerelle derrière un équilibreur de charge interne ou un VPN et donnez-lui un nom d'hôte qui ne se résout qu'à des adresses IP privées. Si votre réseau interne est numéroté à partir d'un espace IPv4 public que votre organisation possède, voir [Autoriser une passerelle sur un espace d'adresses public que vous possédez](#allow-a-gateway-on-public-address-space-you-own).

66</Note>66</Note>

67 67 

68<h3 id="prerequisites">68<h3 id="prerequisites">


72Ayez ceci en place avant de commencer :72Ayez ceci en place avant de commencer :

73 73 

74| Vous avez besoin | Détails |74| Vous avez besoin | Détails |

75| -------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |75| -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

76| Claude Code v2.1.195 ou ultérieur | La sous-commande `claude gateway` et le flux de connexion de la passerelle sont livrés dans v2.1.195. Les versions publiques antérieures ne les incluent pas. La machine exécutant le serveur de passerelle et la machine de chaque développeur doivent être sur v2.1.195 ou ultérieur ; exécutez `claude update` pour obtenir la dernière version. L'[amont Claude Platform on AWS](/docs/fr/claude-apps-gateway-config#claude-platform-on-aws) nécessite Claude Code v2.1.198 ou ultérieur sur le serveur de passerelle. |76| Claude Code v2.1.195 ou ultérieur | La sous-commande `claude gateway` et le flux de connexion de la passerelle sont livrés dans v2.1.195. Les versions publiques antérieures ne les incluent pas. La machine exécutant le serveur de passerelle et la machine de chaque développeur doivent être sur v2.1.195 ou ultérieur ; exécutez `claude update` pour obtenir la dernière version. L'[amont Claude Platform on AWS](/docs/fr/claude-apps-gateway-config#claude-platform-on-aws) nécessite Claude Code v2.1.198 ou ultérieur sur le serveur de passerelle. |

77| Fournisseur d'identité OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, ou Dex, ou tout autre IdP conforme à OIDC comme PingFederate. La passerelle exécute la découverte OIDC standard et le flux de code d'autorisation contre elle. SAML et LDAP ne sont pas supportés. |77| Fournisseur d'identité OpenID Connect (OIDC) | Okta, Microsoft Entra ID, Google Workspace, Keycloak, ou Dex, ou tout autre IdP conforme à OIDC comme PingFederate. La passerelle exécute la découverte OIDC standard et le flux de code d'autorisation contre elle. SAML et LDAP ne sont pas supportés. |

78| PostgreSQL 14 ou ultérieur | Soutient le flux de connexion d'appareil, où le rappel du navigateur écrit et l'interface de ligne de commande d'interrogation lit, plus les compteurs de limite de débit. Tout Postgres géré fonctionne, y compris le plus petit niveau. Sans limites de dépenses configurées, la passerelle stocke quelques Ko d'état d'authentification de courte durée ; avec les [limites de dépenses](/docs/fr/claude-apps-gateway-spend-limits), elle détient également des tables de dépenses durables, d'audit et d'identité qui doivent être sauvegardées. TLS via `?sslmode=require` est recommandé. |78| PostgreSQL 14 ou ultérieur | Soutient le flux de connexion d'appareil, où le rappel du navigateur écrit et l'interface de ligne de commande d'interrogation lit, plus les compteurs de limite de débit. Tout Postgres géré fonctionne, y compris le plus petit niveau. Sans limites de dépenses configurées, la passerelle stocke quelques Ko d'état d'authentification de courte durée ; avec les [limites de dépenses](/docs/fr/claude-apps-gateway-spend-limits), elle détient également des tables de dépenses durables, d'audit et d'identité qui doivent être sauvegardées. TLS via `?sslmode=require` est recommandé. |

79| Amont du modèle | Identifiants Amazon Bedrock, identifiants Claude Platform on AWS, identifiants Google Cloud, une ressource Microsoft Foundry, ou une clé API Anthropic. Plusieurs ammonts sont supportés avec basculement. |79| Amont du modèle | Identifiants Amazon Bedrock, identifiants Claude Platform on AWS, identifiants Google Cloud, une ressource Microsoft Foundry, ou une clé API Anthropic. Plusieurs ammonts sont supportés avec basculement. |

80| HTTPS | La passerelle doit être accessible via `https://` à partir des ordinateurs portables des développeurs et de tout navigateur utilisé pour la connexion ; la passerelle sert la page de vérification d'appareil sur le même écouteur. Fournissez un certificat TLS via `listen.tls` ou exécutez derrière un ingress qui termine TLS, et définissez `listen.public_url` à l'origine externe dans les deux cas. Une origine `http://` simple est acceptée uniquement quand l'hôte de la passerelle est une boucle locale : `localhost`, `127.0.0.1`, ou `::1`. |80| HTTPS | La passerelle doit être accessible via `https://` à partir des ordinateurs portables des développeurs et de tout navigateur utilisé pour la connexion ; la passerelle sert la page de vérification d'appareil sur le même écouteur. Fournissez un certificat TLS via `listen.tls` ou exécutez derrière un ingress qui termine TLS, et définissez `listen.public_url` à l'origine externe dans les deux cas. Une origine `http://` simple est acceptée uniquement quand l'hôte de la passerelle est une boucle locale : `localhost`, `127.0.0.1`, ou `::1`. |

81| Adresse de réseau privé | À `/login`, Claude Code exige que le nom d'hôte ou l'adresse IP de la passerelle ne se résolve qu'à des adresses privées : RFC 1918, link-local, CGNAT `100.64.0.0/10`, ULA IPv6 `fc00::/7`, ou boucle locale. Pour une passerelle que vous hébergez, toute adresse publique est rejetée ; voir le [modèle de menace](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) dans le guide de déploiement. La vérification s'exécute sur chaque adresse IP résolue, donc si une adresse à laquelle le nom se résout est publique, `/login` rejette l'URL. Si les machines des développeurs acheminent HTTPS via un proxy d'entreprise, la connexion exige également que l'hôte proxy se résolve à des adresses privées ; s'il ne le fait pas, ajoutez l'hôte de la passerelle à `NO_PROXY` pour que l'interface de ligne de commande se connecte directement. |81| Adresse de réseau privé | À `/login`, Claude Code exige que le nom d'hôte ou l'adresse IP de la passerelle ne se résolve qu'à des adresses privées : RFC 1918, link-local, CGNAT `100.64.0.0/10`, ULA IPv6 `fc00::/7`, ou boucle locale. Pour une passerelle que vous hébergez, toute adresse publique en dehors d'un bloc que vous déclarez est rejetée ; voir le [modèle de menace](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) dans le guide de déploiement. Si les machines des développeurs acheminent HTTPS via un proxy d'entreprise, la connexion exige également que l'hôte proxy se résolve à des adresses privées ; s'il ne le fait pas, ajoutez l'hôte de la passerelle à `NO_PROXY` pour que l'interface de ligne de commande se connecte directement. Si votre réseau interne est numéroté à partir d'un espace IPv4 public que votre organisation possède, [déclarez ces blocs](#allow-a-gateway-on-public-address-space-you-own) pour que `/login` accepte une passerelle là-bas. |

82| Runtime Linux | Le serveur de passerelle s'exécute uniquement sur le binaire Linux natif. macOS fonctionne pour le développement local. Windows n'est pas supporté comme plate-forme serveur. |82| Runtime Linux | Le serveur de passerelle s'exécute uniquement sur le binaire Linux natif. macOS fonctionne pour le développement local. Windows n'est pas supporté comme plate-forme serveur. |

83 83 

84<h3 id="steps">84<h3 id="steps">


187 [gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080187 [gateway] 2026-06-10T17:03:21.512Z info claude gateway listening on http://0.0.0.0:8080

188 ```188 ```

189 189 

190 La passerelle enregistre également un avertissement selon lequel `access_control.allow_cidrs` est vide. C'est attendu ici, car rien ne limite les adresses client que la passerelle sert jusqu'à ce que vous définissiez une liste d'autorisation. La [référence `access_control`](/docs/fr/claude-apps-gateway-config#http-tuning) a les plages recommandées.

191 

190 Si le démarrage se termine avant la ligne `claude gateway listening on`, la dernière ligne de stderr nomme le problème :192 Si le démarrage se termine avant la ligne `claude gateway listening on`, la dernière ligne de stderr nomme le problème :

191 193 

192 * un Postgres inaccessible194 * un Postgres inaccessible


293 295 

294Un développeur ne peut pas configurer cela manuellement. Le sélecteur de connexion n'a pas d'option de passerelle, et `forceLoginGatewayUrl` est ignoré dans les fichiers de paramètres propres d'un développeur. `forceLoginMethod` seul, sans URL, laisse le développeur à un message « Contactez votre administrateur informatique ». Les clés de connexion appartiennent au fichier que vous poussez vers les machines, pas au bloc `managed.policies[].cli` de la passerelle, qui ne atteint que les clients déjà connectés.296Un développeur ne peut pas configurer cela manuellement. Le sélecteur de connexion n'a pas d'option de passerelle, et `forceLoginGatewayUrl` est ignoré dans les fichiers de paramètres propres d'un développeur. `forceLoginMethod` seul, sans URL, laisse le développeur à un message « Contactez votre administrateur informatique ». Les clés de connexion appartiennent au fichier que vous poussez vers les machines, pas au bloc `managed.policies[].cli` de la passerelle, qui ne atteint que les clients déjà connectés.

295 297 

298<h3 id="allow-a-gateway-on-public-address-space-you-own">

299 Autoriser une passerelle sur l'espace d'adresses publiques que vous possédez

300</h3>

301 

302Certaines organisations numérotent leur réseau interne à partir d'un bloc IPv4 public qu'elles possèdent, comme l'espace d'adresses propre d'un opérateur ou un `/8` hérité, donc leur passerelle ne peut pas avoir d'adresse privée. Listez ces blocs dans le paramètre géré `gatewayInternalNetworks`. `/login` accepte alors une passerelle à l'intérieur d'un bloc listé quand la machine du développeur s'y connecte à partir d'une adresse à l'intérieur du même bloc. Cela nécessite Claude Code v2.1.268 ou ultérieur sur la machine du développeur ; les versions antérieures ignorent la clé et appliquent la règle d'adresse privée.

303 

304<Warning>

305 `gatewayInternalNetworks` est pour les réseaux internes qui se trouvent être numérotés à partir de l'espace d'adresses public. Cela ne rend pas sûr d'exposer une passerelle à Internet : une passerelle de confiance peut pousser des paramètres qui exécutent des commandes sur les machines des développeurs.

306 

307 Gardez la passerelle inaccessible de l'extérieur de votre réseau avec vos règles de pare-feu ou d'équilibreur de charge. Définissez le [`access_control.allow_cidrs`](/docs/fr/claude-apps-gateway-config#http-tuning) de la passerelle aux mêmes blocs que vous déclarez ici, donc la passerelle elle-même refuse les clients de n'importe où ailleurs. Derrière un équilibreur de charge ou une entrée, définissez également `listen.trusted_proxies` à ce front-end, car la passerelle sinon correspond à `allow_cidrs` par rapport à l'adresse propre du front-end plutôt qu'à celle du développeur.

308</Warning>

309 

310Ajoutez la clé à la même source de paramètres gérés que les clés de connexion : le fichier de paramètres gérés, le profil MDM, ou la politique de registre. Claude Code l'ignore dans les paramètres utilisateur, projet et gérés par serveur.

311 

312Cet exemple déclare un bloc. Remplacez `203.0.113.0/24` par votre propre bloc. C'est une plage de documentation, et Claude Code refuse celles-ci.

313 

314```json theme={null}

315{

316 "gatewayInternalNetworks": ["203.0.113.0/24"]

317}

318```

319 

320Claude Code valide la liste à `/login` avant de contacter une passerelle :

321 

322* Chaque entrée est un bloc IPv4 écrit comme sa première adresse et un préfixe de `/8` à `/32`.

323* La liste contient au maximum quatre blocs, et aucun deux ne se chevauchent.

324* Aucun bloc ne chevauche l'espace d'adresses privées : `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `127.0.0.0/8`, `169.254.0.0/16`, et `100.64.0.0/10`. `/login` accepte déjà une passerelle là sans cette clé.

325* Aucun bloc ne chevauche l'espace qui n'est jamais le réseau d'une organisation : `198.18.0.0/15` et `192.0.0.0/24`, que les clients VPN et NAT64 détiennent comme adresses locales ; les plages de documentation `192.0.2.0/24`, `198.51.100.0/24`, et `203.0.113.0/24` ; et les plages réservées `0.0.0.0/8`, `192.88.99.0/24`, et multicast `224.0.0.0/4`. Vous pouvez déclarer des blocs à l'intérieur de `240.0.0.0/4`, que certains grands réseaux utilisent comme espace unicast interne.

326 

327Les blocs de `managed-settings.json` et ses fichiers drop-in `managed-settings.d/` se combinent en une liste, et ces limites s'appliquent à la liste combinée. Pour réduire un bloc, remplacez son entrée plutôt que d'en ajouter une deuxième qui se chevauche dans un drop-in ; `/login` refuse le chevauchement.

328 

329Si une entrée casse une règle, ou la valeur n'est pas une liste de chaînes, Claude Code refuse chaque nouvelle connexion à la passerelle sur cette machine et nomme le problème dans le message. La connexion à une passerelle sur une adresse privée échoue aussi, et les connexions existantes continuent de fonctionner. Essayez la valeur sur une machine avant de la déployer. Claude Code liste également une valeur mal typée parmi les [paramètres gérés invalides qu'il rapporte](/docs/fr/managed-settings#keys-that-fail-closed).

330 

331Avec une liste valide, `/login` applique trois vérifications à une passerelle dont l'adresse est à l'intérieur d'un bloc listé :

332 

333* Chaque adresse à laquelle le nom d'hôte de la passerelle se résout est à l'intérieur de ce bloc. Claude Code refuse un nom qui a aussi des enregistrements en dehors, y compris les adresses privées et IPv6.

334* La machine du développeur se connecte de l'intérieur du même bloc. Claude Code refuse une machine derrière NAT, à l'intérieur d'un conteneur ou WSL2, ou sur un VPN dont le pool d'adresses se situe en dehors du bloc, et nomme l'adresse à partir de laquelle la machine s'est connectée.

335* La connexion est directe. Si `HTTPS_PROXY` s'applique à l'hôte de la passerelle, `/login` refuse et nomme l'entrée `NO_PROXY` à ajouter.

336 

337Quand les trois passent, l'[invite de confiance](#connect-developers) ajoute une ligne nommant l'adresse de la machine, l'adresse de la passerelle, et le bloc déclaré qui contient les deux.

338 

339La clé ne change rien pour les autres passerelles : la connexion à une sur une adresse privée fonctionne comme avant, et la connexion à une sur une adresse publique en dehors de chaque bloc listé est refusée comme avant.

340 

341Un bloc déclaré restreint qui peut se connecter mais ne prouve pas où se trouve une machine, donc déclarez uniquement l'espace d'adresses que votre organisation contrôle. Un bloc partagé avec d'autres locataires, comme une plage publique d'un fournisseur cloud, laisse n'importe qui dedans passer la même vérification.

342 

296<h3 id="deliver-policy-to-claude-desktop-sessions">343<h3 id="deliver-policy-to-claude-desktop-sessions">

297 Livrer la politique à Claude Desktop sessions344 Livrer la politique à Claude Desktop sessions

298</h3>345</h3>


383 Comportement des verrous entre les sources430 Comportement des verrous entre les sources

384</h4>431</h4>

385 432 

386Définir un verrou ne restreint pas les autres ; chaque clé est documentée dans la [référence des paramètres](/docs/fr/settings-reference#all-settings). À partir d'une source d'administrateur en dessous du gagnant, les deux verrous sandbox s'appliquent toujours, et `allowManagedPermissionRulesOnly` bloque toujours les règles d'autorisation fournies par le parent et `additionalDirectories`. Les verrous hooks et serveur MCP, et l'effet de `allowManagedPermissionRulesOnly` sur les règles propres du développeur, ont besoin de la source gagnante par défaut ; sous l'opt-in de fusion `managedSourcesBehavior` dans [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources), Claude Code applique la valeur la plus stricte que toute source définit pour chaque verrou. Sur les flottes [`policyHelper`](/docs/fr/settings-reference#policyhelper), les verrous sont lus à partir de la sortie du helper seule.433Définir un verrou ne restreint pas les autres ; chaque clé est documentée dans la [référence des paramètres](/docs/fr/settings-reference#all-settings).

434 

435À partir d'une source d'administrateur en dessous du gagnant, les deux verrous sandbox s'appliquent toujours, et `allowManagedPermissionRulesOnly` bloque toujours les règles d'autorisation fournies par le parent et `additionalDirectories`. Sur Claude Code v2.1.273 ou ultérieur, le verrou serveur MCP s'applique également à partir d'une source en dessous du gagnant, et tandis qu'il est activé, la liste gérée `allowedMcpServers` provient de la source d'administrateur de plus haute priorité qui en définit une.

436 

437Les verrous hooks et `allowManagedPermissionRulesOnly`'s effet sur les règles propres du développeur ont besoin de la source gagnante par défaut ; sous l'opt-in de fusion `managedSourcesBehavior` dans [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources), Claude Code applique la valeur la plus stricte que toute source définit pour chaque verrou. Sur les flottes [`policyHelper`](/docs/fr/settings-reference#policyhelper), Claude Code lit les verrous à partir de la sortie du helper seule.

438 

439Chaque verrou fait que Claude Code ignore les entrées propres du développeur pour ce paramètre, donc incluez les listes d'autorisation de votre organisation à côté des verrous :

387 440 

388Chaque verrou fait que Claude Code ignore les entrées propres du développeur pour ce paramètre, donc incluez les listes d'autorisation de votre organisation à côté des verrous. Verrouiller les domaines réseau avec une liste de domaines gérés vide bloque tout le trafic sortant en sandbox, et verrouiller les serveurs MCP sans `allowedMcpServers` gérés ou fournis par le parent charge chaque serveur que `deniedMcpServers` ne bloque pas. Les entrées `allowRead` ne réautorisent que les chemins à l'intérieur des régions `denyRead`, donc associez-les à un `denyRead` gérés.441* **Domaines réseau** : verrouiller avec une liste de domaines gérés vide bloque tout le trafic sortant en sandbox.

442* **Serveurs MCP** : verrouiller sans `allowedMcpServers` gérés ou fournis par le parent charge chaque serveur que `deniedMcpServers` ne bloque pas.

443* **Chemins de lecture** : les entrées `allowRead` ne réautorisent que les chemins à l'intérieur des régions `denyRead`, donc associez-les à un `denyRead` gérés.

389 444 

390<h4 id="settings-the-locks-don’t-cover">445<h4 id="settings-the-locks-don’t-cover">

391 Paramètres que les verrous ne couvrent pas446 Paramètres que les verrous ne couvrent pas

392</h4>447</h4>

393 448 

394Quatre paramètres fournis par le parent passent le filtre même avec les cinq verrous définis. Sous le paramètre par défaut premier-gagnant, la valeur d'administrateur qui bloque celle du parent est celle dans la source d'administrateur de plus haute priorité. Sous l'opt-in de fusion `managedSourcesBehavior`, [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) dit quelle valeur de source s'applique à la place.449Quatre paramètres fournis par le parent passent le filtre même avec les cinq verrous définis. Sous le paramètre par défaut premier-gagnant, la valeur d'administrateur qui bloque celle du parent est celle dans la source d'administrateur de plus haute priorité, sauf pour `allowedMcpServers` tandis que le [verrou serveur MCP](#lock-behavior-across-sources) est activé. Sous l'opt-in de fusion `managedSourcesBehavior`, [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) dit quelle valeur de source s'applique à la place.

395 450 

396* **`forceLoginOrgUUID`** : Claude Code honore une valeur fournie par le parent quand la source d'administrateur de plus haute priorité ne définit pas un UUID d'organisation. La connexion à la passerelle ne vérifie pas cette clé, donc elle ne compte que pour les flottes qui utilisent également les connexions Anthropic de première partie. Un UUID d'organisation dans la source d'administrateur de plus haute priorité bloque la valeur du parent et est celui que Claude Code applique, donc définissez `forceLoginOrgUUID` là.451* **`forceLoginOrgUUID`** : Claude Code honore une valeur fournie par le parent quand la source d'administrateur de plus haute priorité ne définit pas un UUID d'organisation. La connexion à la passerelle ne vérifie pas cette clé, donc elle ne compte que pour les flottes qui utilisent également les connexions Anthropic de première partie. Un UUID d'organisation dans la source d'administrateur de plus haute priorité bloque la valeur du parent et est celui que Claude Code applique, donc définissez `forceLoginOrgUUID` là.

397* **`allowedMcpServers`** : Claude Code honore une liste d'autorisation fournie par le parent quand la source d'administrateur de plus haute priorité n'en définit pas, et `allowManagedMcpServersOnly` ne la bloque pas, car le verrou applique quelle que soit la liste qui gagne comme valeur gérée, y compris une liste fournie par le parent quand la source d'administrateur de plus haute priorité n'en définit pas. Une liste dans la source d'administrateur de plus haute priorité bloque celle du parent et est la liste que Claude Code applique, donc définissez `allowedMcpServers` là, à côté du verrou. Avant v2.1.223, une valeur pour l'une ou l'autre clé dans toute source d'administrateur bloquait celle du parent.452* **`allowedMcpServers`** : Claude Code honore une liste d'autorisation fournie par le parent quand aucune liste d'administrateur n'est en vigueur. `allowManagedMcpServersOnly` ne la bloque pas, car le verrou applique quelle que soit la liste qui gagne comme valeur gérée, y compris une liste fournie par le parent quand aucune source d'administrateur n'en fournit une. Une liste dans la source d'administrateur de plus haute priorité bloque celle du parent et est la liste que Claude Code applique, donc définissez `allowedMcpServers` là, à côté du verrou. Avant v2.1.223, une valeur pour l'une ou l'autre clé dans toute source d'administrateur bloquait celle du parent.

398* **`availableModels`** : Claude Code honore une liste de modèles fournie par le parent quand la source gérée gagnante n'en définit pas. Si votre flotte restreint les modèles, définissez `availableModels` dans la source gagnante.453* **`availableModels`** : Claude Code honore une liste de modèles fournie par le parent quand la source gérée gagnante n'en définit pas. Si votre flotte restreint les modèles, définissez `availableModels` dans la source gagnante.

399* **`strictPluginOnlyCustomization`** : cette clé passe le filtre indépendamment de tout verrou, et elle fait que Claude Code ignore la personnalisation propre du développeur, y compris les hooks protecteurs. Aucun verrou ne la bloque.454* **`strictPluginOnlyCustomization`** : cette clé passe le filtre indépendamment de tout verrou, et elle fait que Claude Code ignore la personnalisation propre du développeur, y compris les hooks protecteurs. Aucun verrou ne la bloque.

400 455 

Details

496```496```

497 497 

498| Champ | Requis | Description |498| Champ | Requis | Description |

499| ------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |499| ------------ | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

500| `multiplier` | Non | Par défaut `1`. Le compteur multiplie chaque montant mesuré par ceci, qu'il soit au prix catalogue ou remplacé, donc `0.85` facture 85 % du prix. Doit être supérieur à 0 et au maximum 1. |500| `multiplier` | Non | Par défaut `1`. Le compteur multiplie chaque montant mesuré par ceci, qu'il soit au prix catalogue ou remplacé, donc `0.85` facture 85 % du prix. Doit être supérieur à 0 et au maximum 10, et une valeur supérieure à 1 est une [majoration](#mark-prices-up). |

501| `overrides` | Non | Lignes de `{upstream, model, input, output, cache_read, cache_write}` en USD par million de jetons. Les quatre tarifs sont obligatoires. Chacun doit être supérieur à 0 et au maximum 10 000. |501| `overrides` | Non | Lignes de `{upstream, model, input, output, cache_read, cache_write}` en USD par million de jetons. Les quatre tarifs sont obligatoires. Chacun doit être supérieur à 0 et au maximum 10 000. |

502 502 

503Comment le compteur correspond à une ligne de remplacement :503Comment le compteur correspond à une ligne de remplacement :


510 510 

511Pour les tarifs par région, donnez à chaque région son propre upstream nommé et une ligne par upstream.511Pour les tarifs par région, donnez à chaque région son propre upstream nommé et une ligne par upstream.

512 512 

513<h4 id="mark-prices-up">

514 Majorer les prix

515</h4>

516 

517Avec v2.1.271 ou ultérieur sur le serveur de passerelle, vous pouvez définir `multiplier` au-dessus de 1, jusqu'à 10, pour facturer plus que ce que le fournisseur facture, par exemple un tarif de rétrofacturation interne. Cet exemple facture chaque demande à 120 % du prix :

518 

519```yaml theme={null}

520pricing:

521 multiplier: 1.2

522```

523 

524Avec un bloc [`admin:`](#admin), la majoration s'applique également aux limites de dépenses. Le compteur compte 120 % du prix, afin que les développeurs atteignent leurs plafonds plus tôt. La passerelle enregistre un avertissement au démarrage qui le dit.

525 

526Le multiplicateur ne change pas ce que le fournisseur en amont facture pour les demandes.

527 

528Si la passerelle [envoie également les tarifs aux clients connectés](#send-the-rates-to-signed-in-clients), les développeurs ont besoin de Claude Code v2.1.271 ou ultérieur pour voir la majoration. Les clients antérieurs ignorent un `multiplier` supérieur à 1 et affichent les coûts sans lui.

529 

530Un serveur de passerelle antérieur à v2.1.271 refuse de démarrer si vous définissez un `multiplier` supérieur à 1.

531 

513<h4 id="send-the-rates-to-signed-in-clients">532<h4 id="send-the-rates-to-signed-in-clients">

514 Envoyer les tarifs aux clients connectés533 Envoyer les tarifs aux clients connectés

515</h4>534</h4>


892| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Limite de débit par IP sur le point de terminaison d'autorisation d'appareil non authentifié. Augmentez pour une grande organisation derrière une adresse IP de sortie partagée ou NAT. Ces limites s'appliquent uniquement au flux de connexion par octroi d'appareil, pas à l'inférence `/v1/messages`. Consultez [Résistance à la force brute du code utilisateur](/docs/fr/claude-apps-gateway-deploy#user-code-brute-force-resistance). |911| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Limite de débit par IP sur le point de terminaison d'autorisation d'appareil non authentifié. Augmentez pour une grande organisation derrière une adresse IP de sortie partagée ou NAT. Ces limites s'appliquent uniquement au flux de connexion par octroi d'appareil, pas à l'inférence `/v1/messages`. Consultez [Résistance à la force brute du code utilisateur](/docs/fr/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

893| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite de débit par IP sur les soumissions `user_code` à `/device` |912| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite de débit par IP sur les soumissions `user_code` à `/device` |

894 913 

914Si vous laissez les deux listes `access_control` vides, ce qui est la valeur par défaut, la passerelle sert n'importe quelle adresse client, donc seul votre réseau restreint qui peut la joindre. C'est important car une passerelle peut pousser [les paramètres gérés](#managed) qui exécutent des commandes sur les machines des développeurs.

915 

916Tandis que `allow_cidrs` est vide, la passerelle avertit à deux endroits, sans changer la façon dont elle répond à n'importe quelle demande :

917 

918* **Au démarrage** : un avertissement dans le journal opérationnel recommande d'autoriser uniquement les plages privées `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` et `fc00::/7`, plus toute autre plage interne à partir de laquelle vos développeurs se connectent. Si vous liez la passerelle à une adresse de bouclage et ne définissez ni `trusted_proxies` ni `public_url`, comme dans le développement local, l'avertissement n'apparaît pas.

919* **À l'exécution** : la première fois qu'une demande arrive d'une adresse en dehors de ces plages privées, la passerelle enregistre un avertissement et émet un [événement d'audit `access.public_client`](/docs/fr/claude-apps-gateway-deploy#logs) portant l'IP client. Les deux se déclenchent une fois par processus. Les adresses lien-local, `169.254.0.0/16` et `fe80::/10`, ne comptent pas comme publiques. La passerelle répond à `/healthz` et `/readyz` avant cette vérification, donc les sondes de santé à partir de plages publiques ne la déclenchent pas.

920 

921Les deux signaux utilisent l'adresse client telle que la passerelle la résout. Si un équilibreur de charge, un port-forward ou un tunnel relaie le trafic et n'est pas listé dans `listen.trusted_proxies`, la passerelle voit l'adresse du relais, qui est généralement privée, donc ni l'avertissement à l'exécution ni une liste d'autorisation privée ne l'attrape.

922 

923Derrière un tel front-end, définissez d'abord [`listen.trusted_proxies`](#listen) afin que la passerelle voie les vraies adresses client, et gardez la passerelle et tout ce qui se trouve devant elle inaccessibles à partir d'Internet public indépendamment.

924 

895<h2 id="complete-example">925<h2 id="complete-example">

896 Exemple complet926 Exemple complet

897</h2>927</h2>


963# enforcement:993# enforcement:

964# fail_closed_on_error: false994# fail_closed_on_error: false

965 995 

966# Mesurez aux tarifs contractuels au lieu du prix catalogue USD. Nécessite admin:.996# Mesurez aux tarifs contractuels au lieu du prix catalogue USD. Nécessite admin: ou une

967# Avec managed:, les mêmes tarifs vont également aux clients connectés.997# politique managed:. Avec managed:, les mêmes tarifs vont également aux clients connectés.

968# Les tarifs ci-dessous sont des espaces réservés, pas des prix de contrat réels.998# Les tarifs ci-dessous sont des espaces réservés, pas des prix de contrat réels.

969# pricing:999# pricing:

970# multiplier: 0.851000# multiplier: 0.85


1064 1094 

1065Pour Claude Desktop, définissez la clé `bootstrapUrl` dans la propre [configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop sur `<listen.public_url>/user/bootstrap`. Le flux de connexion et la stratégie par groupe correspondent alors à ceux du CLI une fois qu'une stratégie opte pour le serveur avec une clé `desktop` ; sans l'opt-in, `/user/bootstrap` retourne 404. Voir [Claude Desktop overlay](#claude-desktop-overlay) pour la moitié côté serveur.1095Pour Claude Desktop, définissez la clé `bootstrapUrl` dans la propre [configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop sur `<listen.public_url>/user/bootstrap`. Le flux de connexion et la stratégie par groupe correspondent alors à ceux du CLI une fois qu'une stratégie opte pour le serveur avec une clé `desktop` ; sans l'opt-in, `/user/bootstrap` retourne 404. Voir [Claude Desktop overlay](#claude-desktop-overlay) pour la moitié côté serveur.

1066 1096 

1067[`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl), et la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod), sont honorés uniquement à partir d'une source gérée sur la machine : `managed-settings.json`, le plist macOS ou le registre HKLM Windows, ou un assistant de stratégie. Un développeur les définissant dans son propre `~/.claude/settings.json` n'a aucun effet, et il en va de même pour les définir dans la charge utile de la passerelle.1097Claude Code honore [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/fr/settings-reference#gatewayinternalnetworks), et la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod) uniquement à partir d'une source gérée sur la machine : `managed-settings.json`, le plist macOS ou le registre HKLM Windows, ou un assistant de stratégie. Un développeur les définissant dans son propre `~/.claude/settings.json` n'a aucun effet, et il en va de même pour les définir dans la charge utile de la passerelle.

1068 1098 

1069<h2 id="related">1099<h2 id="related">

1070 Connexes1100 Connexes

Details

18Si une connexion ou un démarrage échoue en cours de route, allez directement à [Dépannage](#troubleshooting), qui est indexé sur l'erreur que vous voyez.18Si une connexion ou un démarrage échoue en cours de route, allez directement à [Dépannage](#troubleshooting), qui est indexé sur l'erreur que vous voyez.

19 19 

20<Note>20<Note>

21 **Déployez sur votre réseau privé.** Claude Code ne se connecte qu'à une passerelle dont l'adresse est privée. C'est une protection de sécurité, car une passerelle de confiance peut envoyer des paramètres qui exécutent des commandes sur les machines des développeurs. Placez la passerelle derrière un équilibreur de charge interne ou un VPN et donnez-lui un nom d'hôte qui se résout uniquement en adresses IP privées.21 **Déployez sur votre réseau privé.** Claude Code ne se connecte qu'à une passerelle dont l'adresse est privée. C'est une protection de sécurité, car une passerelle de confiance peut envoyer des paramètres qui exécutent des commandes sur les machines des développeurs. Placez la passerelle derrière un équilibreur de charge interne ou un VPN et donnez-lui un nom d'hôte qui se résout uniquement en adresses IP privées. Si votre réseau interne est numéroté à partir d'un espace d'adresses IPv4 public que votre organisation possède, consultez [Autoriser une passerelle sur un espace d'adresses public que vous possédez](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own).

22</Note>22</Note>

23 23 

24<h2 id="identity-provider-setup">24<h2 id="identity-provider-setup">


136 136 

137La passerelle écrit deux flux sur stderr, tous deux JSON-friendly :137La passerelle écrit deux flux sur stderr, tous deux JSON-friendly :

138 138 

139* **Événements d'audit** : JSON sur une seule ligne par événement pertinent pour la sécurité. Canalisez stderr vers votre agrégateur de journaux. Les événements émis incluent `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `device.callback`, `auth.denied`, `access.denied`, `inference`, `managed.serve`, `desktop_bootstrap.serve`, `desktop_bootstrap.denied`, `spend.blocked`, `admin.denied`, `admin.limit.upsert` et `admin.limit.delete`. Les champs varient selon l'événement :139* **Événements d'audit** : JSON sur une seule ligne par événement pertinent pour la sécurité. Canalisez stderr vers votre agrégateur de journaux.

140 

141 Les événements émis incluent `config.load`, `session.mint`, `session.refresh`, `device.authorize`, `device.verify`, `device.callback`, `auth.denied`, `access.denied`, `access.public_client`, `inference`, `managed.serve`, `desktop_bootstrap.serve`, `desktop_bootstrap.denied`, `spend.blocked`, `admin.denied`, `admin.limit.upsert` et `admin.limit.delete`. Les champs varient selon l'événement :

142 

140 * Les événements de mint et refresh réussis portent `sub`, `email`, `client_ip` et le résultat143 * Les événements de mint et refresh réussis portent `sub`, `email`, `client_ip` et le résultat

141 * `auth.denied` et `access.denied` portent la raison et l'adresse IP du client, plus le chemin de la demande pour `auth.denied`, car aucune identité utilisateur n'existe à ces refus. Deux raisons `access.denied` changent ce que l'événement porte :144 * `auth.denied` et `access.denied` portent la raison et l'adresse IP du client, plus le chemin de la demande pour `auth.denied`, car aucune identité utilisateur n'existe à ces refus. Deux raisons `access.denied` changent ce que l'événement porte :

142 * `xff_unparseable` : l'événement porte également l'entrée `X-Forwarded-For` qui n'a pas pu être lue145 * `xff_unparseable` : l'événement porte également l'entrée `X-Forwarded-For` qui n'a pas pu être lue

143 * `client_ip_unknown` : l'événement ne porte pas d'adresse IP client, car la connexion n'avait pas d'adresse de pair tandis qu'une liste `access_control` était définie146 * `client_ip_unknown` : l'événement ne porte pas d'adresse IP client, car la connexion n'avait pas d'adresse de pair tandis qu'une liste `access_control` était définie

147 * `access.public_client` porte l'adresse IP du client de la première demande par processus à arriver d'une adresse publique tandis que `access_control.allow_cidrs` est vide. La passerelle sert la demande comme d'habitude ; l'événement signale que la passerelle peut être accessible depuis l'internet public. Consultez la [référence `access_control`](/docs/fr/claude-apps-gateway-config#http-tuning) pour ce qui compte comme public et pour la liste d'autorisation recommandée.

144 * `inference` enregistre quel amont a servi la demande et le statut de la réponse148 * `inference` enregistre quel amont a servi la demande et le statut de la réponse

145 * `desktop_bootstrap.denied` enregistre une récupération de bootstrap Claude Desktop rejetée avec la raison (`not_configured`, `policy_not_opted_in` ou `no_policy_matched`) et l'identité de l'utilisateur149 * `desktop_bootstrap.denied` enregistre une récupération de bootstrap Claude Desktop rejetée avec la raison (`not_configured`, `policy_not_opted_in` ou `no_policy_matched`) et l'identité de l'utilisateur

146 * `admin.denied` enregistre une tentative d'authentification d'API admin rejetée avec l'adresse IP du client, la méthode, le chemin et une raison, sans le matériel de clé présenté : `invalid_key` quand une `x-api-key` a été présentée mais ne correspondait à aucune clé configurée, `bearer_rejected` quand seul un en-tête `Authorization` a été présenté et il n'a pas vérifié comme une session de passerelle dans `admin.admin_groups`, ou `no_credentials` quand aucun en-tête n'a été présenté150 * `admin.denied` enregistre une tentative d'authentification d'API admin rejetée avec l'adresse IP du client, la méthode, le chemin et une raison, sans le matériel de clé présenté : `invalid_key` quand une `x-api-key` a été présentée mais ne correspondait à aucune clé configurée, `bearer_rejected` quand seul un en-tête `Authorization` a été présenté et il n'a pas vérifié comme une session de passerelle dans `admin.admin_groups`, ou `no_credentials` quand aucun en-tête n'a été présenté


269 Dépannage273 Dépannage

270</h2>274</h2>

271 275 

272Pour les questions et les commentaires, utilisez [Support Claude Code](https://support.claude.com/en/collections/14445694-claude-code), ou ouvrez un problème sur le [référentiel GitHub Claude Code](https://github.com/anthropics/claude-code/issues). Lors de la signalisation d'un problème, incluez :276Pour les questions et les commentaires, utilisez le [support Claude Code](https://support.claude.com/en/collections/14445694-claude-code), ou ouvrez un problème sur le [référentiel GitHub Claude Code](https://github.com/anthropics/claude-code/issues). Lors de la signalisation d'un problème, incluez :

273 277 

274* **Problème de passerelle** : le stderr de la passerelle pour la fenêtre pertinente, votre `gateway.yaml` avec les secrets masqués, la version de la passerelle, affichée sur la page d'accueil à `/` et dans l'en-tête de réponse `x-cc-gateway-version` sur `/managed/settings`, et ce qui a changé récemment278* **Problème de passerelle** : la sortie d'erreur de la passerelle pour la fenêtre pertinente, votre `gateway.yaml` avec les secrets masqués, la version de la passerelle, affichée sur la page d'accueil à `/` et dans l'en-tête de réponse `x-cc-gateway-version` sur `/managed/settings`, et ce qui a changé récemment

275* **Problème de connexion** : le développeur exécute `claude --debug-file ./claude-debug.txt`, reproduit et envoie ce fichier plus le journal d'audit de la passerelle pour la même fenêtre279* **Problème de connexion** : le développeur exécute `claude --debug-file ./claude-debug.txt`, reproduit le problème, et envoie ce fichier plus le journal d'audit de la passerelle pour la même fenêtre

276* **Problème d'inférence** : le modèle demandé, les amonts configurés et le journal d'audit de la passerelle pour la demande, qui enregistre quel amont l'a servie et le statut de la réponse280* **Problème d'inférence** : le modèle demandé, les upstreams configurés, et le journal d'audit de la passerelle pour la demande, qui enregistre quel upstream l'a servie et le statut de la réponse

277 281 

278La sortie d'erreur standard de la passerelle inclut le flux d'événements d'audit, le journal d'audit enregistre les identités des développeurs, et le fichier de débogage enregistre la sortie des hooks et du serveur MCP de la machine du développeur. Examinez et masquez ces informations avant de les publier sur un problème public.282La sortie d'erreur de la passerelle inclut le flux d'événements d'audit, le journal d'audit enregistre les identités des développeurs, et le fichier de débogage enregistre la sortie des hooks et du serveur MCP de la machine du développeur. Examinez et masquez ces éléments avant de les publier sur un problème public.

279 283 

280| Symptôme | Cause | Correctif |284| Symptôme | Cause | Correction |

281| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |285| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

282| Le `/login` d'un développeur affiche le sélecteur de compte standard au lieu de l'écran **Passerelle cloud** | `forceLoginMethod` ou `forceLoginGatewayUrl` n'est pas défini dans les paramètres gérés sur cette machine | Déployez le [fichier de paramètres gérés](/docs/fr/claude-apps-gateway#set-the-gateway-url) sur l'appareil ; `/login` lit l'URL de la passerelle à partir de là |286| L'écran `/login` d'un développeur affiche le sélecteur de compte standard au lieu de l'écran **Passerelle Cloud** | `forceLoginMethod` ou `forceLoginGatewayUrl` n'est pas défini dans les paramètres gérés sur cette machine | Déployez le [fichier de paramètres gérés](/docs/fr/claude-apps-gateway#set-the-gateway-url) sur l'appareil ; `/login` lit l'URL de la passerelle à partir de là |

283| Les demandes d'un développeur échouent avec `Not signed in to the Cloud gateway — run /login.` | Les paramètres gérés de la machine définissent `forceLoginMethod: "gateway"` ou `forceLoginGatewayUrl`, et la session n'a pas de connexion à la passerelle. Une connexion claude.ai restante ne satisfait pas à l'exigence. | Demandez au développeur d'exécuter `/login` et de terminer la connexion à la passerelle. Consultez également [La politique de l'administrateur nécessite une connexion à la passerelle cloud](/docs/fr/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |287| Les demandes d'un développeur échouent avec `Not signed in to the Cloud gateway — run /login.` | Les paramètres gérés de la machine définissent `forceLoginMethod: "gateway"` ou `forceLoginGatewayUrl`, et la session n'a pas de connexion à la passerelle. Une connexion claude.ai restante ne satisfait pas à l'exigence. | Demandez au développeur d'exécuter `/login` et de terminer la connexion à la passerelle. Voir aussi [La politique de l'administrateur nécessite une connexion à la passerelle Cloud](/docs/fr/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

284| Claude Desktop signale que sa configuration d'amorçage n'a pas pu être récupérée | `/user/bootstrap` a retourné 404 : la politique correspondant à l'utilisateur ne porte pas de clé `desktop`, ou aucune politique n'a correspondu. Le journal d'audit de la passerelle enregistre chaque rejet comme `desktop_bootstrap.denied` avec la raison. | Ajoutez un bloc `desktop` à la politique qui correspond à l'utilisateur, ou à la couche de base `match: {}` ; un `desktop: {}` vide suffit. Consultez [Superposition Claude Desktop](/docs/fr/claude-apps-gateway-config#claude-desktop-overlay). |288| Claude Desktop signale que sa configuration d'amorçage n'a pas pu être récupérée | `/user/bootstrap` a renvoyé 404 : la politique correspondant à l'utilisateur ne porte pas de clé `desktop`, ou aucune politique n'a correspondu. Le journal d'audit de la passerelle enregistre chaque rejet sous la forme `desktop_bootstrap.denied` avec la raison. | Ajoutez un bloc `desktop` à la politique qui correspond à l'utilisateur, ou à la couche de base `match: {}` ; un `desktop: {}` vide suffit. Voir [Superposition Claude Desktop](/docs/fr/claude-apps-gateway-config#claude-desktop-overlay). |

285| Le démarrage affiche `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | La version de Claude Code installée est antérieure au support de la passerelle | Demandez au développeur de mettre à jour Claude Code vers une version qui inclut le support de la passerelle cloud |289| Le démarrage affiche `Gateway login is configured in managed settings, but this Claude Code build does not include Cloud gateway support.` | La version de Claude Code installée est antérieure au support de la passerelle | Demandez au développeur de mettre à jour Claude Code vers une version qui inclut le support de la passerelle Cloud |

286| Le démarrage ou `/login` signale `Claude Code may not be enabled for your organization` après un 403 sur le chargement des paramètres gérés | La passerelle, ou quelque chose devant elle, a répondu à la demande `/managed/settings` avec 403. La propre route de paramètres de la passerelle ne répond jamais 403. Le statut provient des vérifications IP [`access_control`](/docs/fr/claude-apps-gateway-config#http-tuning) ou d'un proxy ou WAF devant la passerelle. Le journal d'audit enregistre un refus de vérification IP comme `access.denied` avec la raison. Le développeur reste connecté. | Vérifiez le journal d'audit pour `access.denied` au moment de l'échec et corrigez les listes `access_control` ou le front-end, puis demandez au développeur de redémarrer `claude` |290| Le démarrage se termine avec `Administrator policy requires a Cloud gateway sign-in on this machine` | L'environnement du développeur définit `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN`, ses paramètres configurent un [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper), ou une clé API d'une connexion Claude Console antérieure est toujours enregistrée | Demandez au développeur d'effacer chacun de ces éléments : désactiver la variable, supprimer l'entrée `apiKeyHelper`, ou exécuter `claude auth logout` pour supprimer la clé enregistrée. Ensuite, demandez-lui de démarrer `claude` et de se connecter avec `/login`. Voir aussi [La politique de l'administrateur nécessite une connexion à la passerelle Cloud](/docs/fr/errors#administrator-policy-requires-a-cloud-gateway-sign-in). |

287| CLI `/login` : `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Le nom d'hôte de la passerelle se résout en au moins une adresse IP publique. Claude Code vérifie chaque adresse résolue et exige que chacune soit privée. Une cause courante est un nom double pile où une famille se résout en une adresse publique, y compris les équilibreurs de charge double pile internes AWS, qui retournent des adresses AAAA de plage publique. | Faites en sorte que le nom de la passerelle se résout uniquement en adresses privées sur les machines des développeurs. Pour un nom double pile, supprimez l'enregistrement de plage publique ou servez un nom DNS interne uniquement séparé. Consultez la [prérequis de réseau privé](/docs/fr/claude-apps-gateway#prerequisites). |291| Le démarrage ou `/login` signale `Claude Code may not be enabled for your organization` après un 403 lors du chargement des paramètres gérés | La passerelle, ou quelque chose devant elle, a répondu à la demande `/managed/settings` avec 403. La route de paramètres propre de la passerelle ne répond jamais 403. Le statut provient des vérifications IP [`access_control`](/docs/fr/claude-apps-gateway-config#http-tuning) ou d'un proxy ou WAF devant la passerelle. Le journal d'audit enregistre un refus de vérification IP sous la forme `access.denied` avec la raison. Le développeur reste connecté. | Vérifiez le journal d'audit pour `access.denied` au moment de l'échec et corrigez les listes `access_control` ou le front-end, puis demandez au développeur de démarrer `claude` à nouveau |

288| CLI `/login` : `Gateway login would go through proxy <proxy>, which is not on a private network` | Un `HTTPS_PROXY` ou `HTTP_PROXY` s'applique à l'hôte de la passerelle et le nom d'hôte du proxy se résout en une adresse publique. Un proxy dont l'hôte se résout uniquement en adresses privées est autorisé et ne déclenche pas cette erreur | Ajoutez l'hôte de la passerelle à `NO_PROXY` sur la machine du développeur afin que la connexion soit directe, ou utilisez un proxy dont le nom d'hôte se résout en adresses privées. Le message nomme l'entrée `NO_PROXY` exacte à ajouter |292| CLI `/login` : `Gateway hosts must be on your organization's private network; <host> resolves to the public (or unrecognized) address <ip>` | Le nom d'hôte de la passerelle se résout en au moins une adresse IP publique. Claude Code vérifie chaque adresse résolue et exige que chacune soit privée. Une cause courante est un nom double pile où une famille se résout en une adresse publique, y compris les équilibreurs de charge double pile internes AWS, qui renvoient des adresses AAAA de plage publique. | Faites en sorte que le nom de la passerelle se résout uniquement en adresses privées sur les machines des développeurs. Pour un nom double pile, supprimez l'enregistrement de plage publique ou servez un nom DNS interne uniquement. Voir la [condition préalable du réseau privé](/docs/fr/claude-apps-gateway#prerequisites). Si l'adresse est un espace public que votre organisation possède et utilise en interne, [déclarez ce bloc](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) à la place. |

293| CLI `/login` : `Gateway login would go through proxy <proxy>, which is not on a private network` | Un `HTTPS_PROXY` ou `HTTP_PROXY` s'applique à l'hôte de la passerelle et le nom d'hôte du proxy se résout en une adresse publique. Un proxy dont l'hôte se résout uniquement en adresses privées est autorisé et ne déclenche pas cette erreur | Ajoutez l'hôte de la passerelle à `NO_PROXY` sur la machine du développeur pour que la connexion soit directe, ou utilisez un proxy dont le nom d'hôte se résout en adresses privées. Le message nomme l'entrée `NO_PROXY` exacte à ajouter |

294| CLI `/login` : `Claude Code only signs in to <host> from inside its declared network <block> (managed settings), and this machine is connecting from <ip>, outside it` | La passerelle se trouve sur un bloc déclaré dans [`gatewayInternalNetworks`](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), et la machine du développeur l'a atteinte à partir d'une adresse en dehors de ce bloc : une adresse de pool VPN, un segment NAT de conteneur ou WSL2, ou un réseau qui n'est pas le vôtre | Demandez au développeur d'exécuter `/login` à partir du système d'exploitation hôte sur votre réseau. Si l'adresse affichée est également votre propre espace public, remplacez l'entrée de la passerelle par un bloc qui couvre les deux, jusqu'à `/8` ; une deuxième entrée chevauchante est refusée |

295| CLI `/login` : `Every address for gateway host <host> must be inside its declared network <block>, and it also resolves to <ip>` | Le nom de la passerelle se résout en une adresse en dehors du bloc déclaré dans [`gatewayInternalNetworks`](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) : un deuxième site, ou un enregistrement IPv6 sur un nom double pile. Sous un bloc déclaré, chaque enregistrement doit être à l'intérieur de ce bloc IPv4, adresses privées et IPv6 incluses | Publiez uniquement les enregistrements à l'intérieur du bloc pour le nom de la passerelle sur les machines des développeurs, ou servez un nom interne uniquement |

296| CLI `/login` : `<host> is on the declared network <block>, which Claude Code checks over a direct connection, not through an HTTP proxy` | Un `HTTPS_PROXY` ou `HTTP_PROXY` s'applique à une passerelle sur un bloc déclaré | Sur la machine du développeur, ajoutez l'entrée `NO_PROXY` que le message nomme |

297| CLI `/login` : un message commençant par `gatewayInternalNetworks in managed settings` | La valeur viole l'une des [règles de validation](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own), et le message nomme laquelle. Jusqu'à ce que vous la corrigiez, Claude Code refuse chaque nouveau `/login` de passerelle sur la machine, y compris les passerelles sur adresses privées ; les connexions existantes continuent de fonctionner | Dans la source des paramètres gérés que vous déployez, corrigez l'entrée que le message nomme, puis réexécutez `/login` |

289| CLI `/login` : `Could not resolve the configured HTTP proxy` | Le nom d'hôte dans `HTTPS_PROXY` ou `HTTP_PROXY` ne se résout pas à partir de la machine du développeur, généralement parce qu'il n'est pas connecté au réseau d'entreprise | Demandez au développeur de se connecter à votre réseau ou VPN et de réessayer, ou corrigez l'URL du proxy |298| CLI `/login` : `Could not resolve the configured HTTP proxy` | Le nom d'hôte dans `HTTPS_PROXY` ou `HTTP_PROXY` ne se résout pas à partir de la machine du développeur, généralement parce qu'il n'est pas connecté au réseau d'entreprise | Demandez au développeur de se connecter à votre réseau ou VPN et de réessayer, ou corrigez l'URL du proxy |

290| CLI `/login` : `Could not resolve gateway host <host>` | La machine ne peut pas résoudre le nom DNS interne de la passerelle, généralement parce qu'elle n'est pas sur le réseau d'entreprise | Demandez au développeur de se connecter à votre réseau ou VPN, puis réessayez `/login` |299| CLI `/login` : `Could not resolve gateway host <host>` | La machine ne peut pas résoudre le nom DNS interne de la passerelle, généralement parce qu'elle n'est pas sur le réseau d'entreprise | Demandez au développeur de se connecter à votre réseau ou VPN, puis de réessayer `/login` |

291| Le démarrage se termine avec une erreur de validation de configuration nommant `store.postgres_url` | Aucun Postgres configuré ; la passerelle nécessite Postgres | Définissez `store.postgres_url`. Pour le développement local, utilisez un conteneur jetable : `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |300| Le démarrage se termine avec une erreur de validation de configuration nommant `store.postgres_url` | Aucun Postgres configuré ; la passerelle nécessite Postgres | Définissez `store.postgres_url`. Pour le développement local, utilisez un conteneur jetable : `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`. |

292| Le démarrage se termine : `requires the native binary` | Exécution sous Node au lieu du binaire natif | Installez Claude Code avec l'une des [méthodes d'installation autonome](/docs/fr/setup) |301| Le démarrage se termine : `requires the native binary` | Exécution sous Node au lieu du binaire natif | Installez Claude Code avec l'une des [méthodes d'installation autonome](/docs/fr/setup) |

293| Le démarrage se termine avec une erreur de découverte OIDC après `config.load` | `oidc.issuer` inaccessible, ou chaîne TLS non approuvée | Vérifiez que l'émetteur est accessible depuis le pod et sert `/.well-known/openid-configuration`. Définissez `ca_cert_pem` pour l'infrastructure à clé publique privée. Si le pod atteint l'IdP uniquement via un proxy de transfert, définissez [`oidc.use_proxy: true`](/docs/fr/claude-apps-gateway-config#idp-requests-through-a-forward-proxy) ; sur les versions antérieures à v2.1.227, donnez au pod une route directe vers chacun des points de terminaison de l'IdP à la place. |302| Le démarrage se termine avec une erreur de découverte OIDC après `config.load` | `oidc.issuer` inaccessible, ou chaîne TLS non approuvée | Vérifiez que l'émetteur est accessible à partir du pod et sert `/.well-known/openid-configuration`. Définissez `ca_cert_pem` pour l'infrastructure à clé publique privée. Si le pod atteint l'IdP uniquement via un proxy de transfert, définissez [`oidc.use_proxy: true`](/docs/fr/claude-apps-gateway-config#idp-requests-through-a-forward-proxy) ; sur les versions antérieures à v2.1.227, donnez au pod une route directe vers chacun des points de terminaison de l'IdP à la place. |

294| Le démarrage se termine avec une erreur de permission Postgres | Le rôle de base de données manque les droits DDL sur son schéma | Accordez au rôle `CREATE` sur le schéma de la passerelle afin qu'il puisse créer et modifier ses tables au démarrage |303| Le démarrage se termine avec une erreur de permission Postgres | Le rôle de base de données manque de droits DDL sur son schéma | Accordez au rôle `CREATE` sur le schéma de la passerelle pour qu'il puisse créer et modifier ses tables au démarrage |

295| `/oauth/callback` affiche « La connexion n'a pas pu être complétée » | Domaine de courrier rejeté, validation id\_token échouée, ou `email_verified` est explicitement `false`, que la passerelle rejette toujours sans remplacement | Vérifiez `allowed_email_domains` et que l'IdP retourne une revendication `email` vérifiée. Pour `email_verified: false`, corrigez la vérification côté IdP. Si votre IdP émet l'email sous un nom de revendication différent, définissez `oidc.email_claim`. |304| `/oauth/callback` affiche « Sign-in could not be completed » | Domaine de courrier électronique rejeté, validation id\_token échouée, ou `email_verified` est explicitement `false`, que la passerelle rejette toujours sans remplacement | Vérifiez `allowed_email_domains` et que l'IdP renvoie une réclamation `email` vérifiée. Pour `email_verified: false`, corrigez la vérification côté IdP. Si votre IdP émet le courrier électronique sous un nom de réclamation différent, définissez `oidc.email_claim`. |

296| Journal : `token exchange failed request_id=<id>: id_token missing email claim` | L'IdP n'inclut pas `email` dans l'id\_token par défaut. Ce refus ne se déclenche que lorsque `allowed_email_domains` est défini ; sans cela, un email manquant frappe une session sans email | Configurez l'IdP pour émettre `email` dans l'id\_token. Okta : ajoutez `email` aux revendications de jeton ID d'un serveur d'autorisation personnalisé. Entra : ajoutez `email` comme revendication optionnelle sur l'enregistrement d'application. PingFederate : activez une politique OpenID Connect qui émet `email`. Si l'IdP sert `email` à partir du point de terminaison userinfo mais ne l'inclura pas dans l'id\_token, tel que le serveur d'autorisation de l'organisation Okta, définissez `oidc.userinfo_fallback: true`. |305| Journal : `token exchange failed request_id=<id>: id_token missing email claim` | L'IdP n'inclut pas `email` dans l'id\_token par défaut. Ce rejet ne se déclenche que lorsque `allowed_email_domains` est défini ; sans lui, un courrier électronique manquant crée une session sans courrier électronique | Configurez l'IdP pour émettre `email` dans l'id\_token. Okta : ajoutez `email` aux réclamations de jeton d'ID d'un serveur d'autorisation personnalisé. Entra : ajoutez `email` comme réclamation facultative sur l'enregistrement de l'application. PingFederate : activez une politique OpenID Connect qui émet `email`. Si l'IdP sert `email` à partir du point de terminaison userinfo mais ne l'inclura pas dans l'id\_token, comme le serveur d'autorisation org Okta, définissez `oidc.userinfo_fallback: true`. |

297| Journal : `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, et les développeurs voient `Cloud gateway session expired` tous les `session.ttl_hours` | L'IdP a accepté le jeton d'actualisation mais n'a retourné aucun id\_token avec lui, donc la passerelle a demandé au point de terminaison userinfo de l'IdP les revendications de l'utilisateur. L'IdP a rejeté le jeton d'accès actualisé là. La passerelle répond `temporarily_unavailable`, donc Claude Code conserve le jeton d'actualisation mais ne peut pas renouveler la session. Les versions de passerelle antérieures à v2.1.260 enregistrent la même ligne sans le détail `(at …)`. | Définissez [`oidc.scope_on_refresh: true`](/docs/fr/claude-apps-gateway-config#oidc), disponible dans la passerelle v2.1.260 ou ultérieure, afin que la demande d'actualisation demande `openid` à nouveau. Certains IdP, tels que Okta, retournent un id\_token lors de l'actualisation uniquement lorsqu'on le demande. Sur PingFederate, activez **Return ID Token On Refresh Grant** sous **Applications > OAuth > OpenID Connect Policy Management** à la place. La clé ne change pas le comportement de PingFederate. Pour les autres IdP qui l'omettent toujours, vérifiez si le point de terminaison userinfo accepte les jetons d'accès émis par une actualisation. En tant que solution temporaire, augmentez [`session.ttl_hours`](/docs/fr/claude-apps-gateway-config#session). Consultez [Configuration du fournisseur d'identité](#identity-provider-setup) pour le compromis de déprovisionnement. |306| Journal : `refresh failed request_id=<id>: invalid_token (…) (at userinfo_no_id_token, …)`, et les développeurs voient `Cloud gateway session expired` tous les `session.ttl_hours` | L'IdP a accepté le jeton d'actualisation mais n'a renvoyé aucun id\_token avec lui, donc la passerelle a demandé au point de terminaison userinfo de l'IdP les réclamations de l'utilisateur. L'IdP a rejeté le jeton d'accès actualisé là. La passerelle répond `temporarily_unavailable`, donc Claude Code conserve le jeton d'actualisation mais ne peut pas renouveler la session. Les versions de passerelle antérieures à v2.1.260 enregistrent la même ligne sans le détail `(at …)`. | Définissez [`oidc.scope_on_refresh: true`](/docs/fr/claude-apps-gateway-config#oidc), disponible dans la passerelle v2.1.260 ou ultérieure, pour que la demande d'actualisation demande à nouveau `openid`. Certains IdP, comme Okta, renvoient un id\_token lors de l'actualisation uniquement lorsqu'on le demande. Sur PingFederate, activez **Return ID Token On Refresh Grant** sous **Applications > OAuth > OpenID Connect Policy Management** à la place. La clé ne change pas le comportement de PingFederate. Pour les autres IdP qui l'omettent toujours, vérifiez si le point de terminaison userinfo accepte les jetons d'accès émis par une actualisation. En tant que solution temporaire, augmentez [`session.ttl_hours`](/docs/fr/claude-apps-gateway-config#session). Voir [Configuration du fournisseur d'identité](#identity-provider-setup) pour le compromis de déprovisionnement. |

298| Chaque demande Amazon Bedrock retourne 502 ; le journal affiche `Could not load credentials from any providers` | Sur EC2, la limite de saut par défaut d'IMDSv2 de 1 bloque la demande de métadonnées d'instance de l'intérieur du conteneur. Le démarrage et `/readyz` passent de toute façon car le SDK AWS résout les credentials d'instance à la première demande, pas à la construction du client | Augmentez la limite de saut avec `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, ou définissez-la dans le modèle de lancement. Le changement s'applique à chaque conteneur sur l'instance. Préférez les rôles de tâche ECS où disponibles, qui lisent les credentials à partir du point de terminaison des credentials du conteneur ECS et évitent complètement le changement, ou appliquez le changement sur une instance de passerelle dédiée pour limiter l'exposition. |307| Chaque demande Amazon Bedrock renvoie 502 ; le journal affiche `Could not load credentials from any providers` | Sur EC2, la limite de saut par défaut d'IMDSv2 de 1 bloque la demande de métadonnées d'instance de l'intérieur du conteneur. Le démarrage et `/readyz` réussissent quand même parce que le SDK AWS résout les identifiants d'instance à la première demande, pas à la construction du client | Augmentez la limite de saut avec `aws ec2 modify-instance-metadata-options --instance-id <id> --http-put-response-hop-limit 2`, ou définissez-la dans le modèle de lancement. La modification s'applique à chaque conteneur sur l'instance. Préférez les rôles de tâche ECS le cas échéant, qui lisent les identifiants à partir du point de terminaison des identifiants de conteneur ECS et évitent complètement la modification, ou appliquez la modification sur une instance de passerelle dédiée pour limiter l'exposition. |

299| Erreur IdP : portée inconnue ou non supportée | L'IdP rejette les portées qu'il ne reconnaît pas | Définissez `oidc.scopes` exactement à la liste que votre IdP accepte ; elle doit inclure `openid`. La valeur par défaut est `openid profile email offline_access`. |308| Erreur IdP : portée inconnue ou non prise en charge | L'IdP rejette les portées qu'il ne reconnaît pas | Définissez `oidc.scopes` exactement à la liste que votre IdP accepte ; elle doit inclure `openid`. La valeur par défaut est `openid profile email offline_access`. |

300| Les sessions ne se renouvellent pas silencieusement après la définition de `oidc.scopes` | `offline_access` a été supprimé de l'override | Rajoutez `offline_access` si votre IdP le supporte. Sans jeton d'actualisation, les développeurs réexécutent la connexion au navigateur tous les `session.ttl_hours`. |309| Les sessions ne se renouvellent pas silencieusement après la définition de `oidc.scopes` | `offline_access` a été supprimé de la substitution | Rajoutez `offline_access` si votre IdP le prend en charge. Sans jeton d'actualisation, les développeurs réexécutent la connexion du navigateur tous les `session.ttl_hours`. |

301| Le navigateur affiche « Cette demande provenait d'un autre site et a été bloquée » | POST de formulaire inter-sites, bloqué comme protection CSRF. Attendu pour les pages intégrées ou proxifiées | Ouvrez le lien de vérification directement |310| Le navigateur affiche « This request came from another site and was blocked » | POST de formulaire intersite, bloqué comme protection CSRF. Attendu pour les pages intégrées ou proxifiées | Ouvrez le lien de vérification directement |

302| Chrome bloque le bouton Approuver avec « Refused to send form data … violates … Content Security Policy directive: form-action », mais la même page fonctionne dans Safari ou Firefox | Chrome applique `form-action` à toute la chaîne de redirection. Votre IdP redirige ensuite vers un deuxième hôte qui n'est pas sur la liste blanche. | Ajoutez chaque origine supplémentaire dans la chaîne de redirection à `oidc.form_action_origins`. Ouvrez Chrome DevTools → Console sur la page Approuver pour voir quelle origine a été bloquée. |311| Chrome bloque le bouton Approuver avec « Refused to send form data … violates … Content Security Policy directive: form-action », mais la même page fonctionne dans Safari ou Firefox | Chrome applique `form-action` à toute la chaîne de redirection. Votre IdP redirige ensuite vers un deuxième hôte qui n'est pas sur la liste blanche. | Ajoutez chaque origine supplémentaire dans la chaîne de redirection à `oidc.form_action_origins`. Ouvrez Chrome DevTools → Console sur la page Approuver pour voir quelle origine a été bloquée. |

303| La connexion se termine à l'IdP mais le rappel échoue, avec une erreur CSP dans Chrome ou « ce lien de connexion a expiré » dans Safari | L'IdP a retourné le code via `response_mode=form_post`, qui l'auto-soumet inter-sites via POST à `/oauth/callback`. Chrome bloque cela sous une CSP stricte ; Safari autorise la soumission mais le rappel lit uniquement la chaîne de requête. | Assurez-vous que votre IdP honore `response_mode=query`, que la passerelle demande explicitement afin que le rappel soit une redirection simple |312| La connexion se termine à l'IdP mais le rappel échoue, avec une erreur CSP dans Chrome ou « this sign-in link has expired » dans Safari | L'IdP a renvoyé le code via `response_mode=form_post`, qui le soumet automatiquement intersite via POST à `/oauth/callback`. Chrome bloque cela sous une CSP stricte ; Safari autorise la soumission mais le rappel lit uniquement la chaîne de requête. | Assurez-vous que votre IdP honore `response_mode=query`, que la passerelle demande explicitement pour que le rappel soit une redirection simple |

304| La connexion fonctionne localement mais échoue derrière un ALB | `public_url` nomme toujours l'origine locale ou interne `http://`, donc l'IdP obtient le mauvais `redirect_uri` | Définissez `listen.public_url` sur l'origine `https://` externe et enregistrez `<public_url>/oauth/callback` auprès de l'IdP |313| La connexion fonctionne localement mais échoue derrière un ALB | `public_url` nomme toujours l'origine `http://` locale ou interne, donc l'IdP obtient le mauvais `redirect_uri` | Définissez `listen.public_url` sur l'origine `https://` externe et enregistrez `<public_url>/oauth/callback` auprès de l'IdP |

305| Le développeur voit l'invite de confiance à plusieurs reprises | Le certificat TLS tourne par réplique ou par demande | Utilisez un certificat stable à l'ingress, ou terminez TLS une fois et exécutez les répliques via HTTP simple en interne |314| Le développeur voit l'invite de confiance à plusieurs reprises | Le certificat TLS tourne par réplica ou par demande | Utilisez un certificat stable à l'entrée, ou terminez TLS une fois et exécutez les réplicas sur HTTP simple en interne |

306| CLI `/login` : « Could not verify the gateway's TLS certificate » ou `SELF_SIGNED_CERT_IN_CHAIN` | La chaîne TLS de la passerelle est signée par une CA privée non dans le magasin de confiance de l'hôte CLI | Claude Code lit le magasin de confiance du système d'exploitation par défaut sur le binaire natif et sur Node 22.15 ou ultérieur ; [`CLAUDE_CODE_CERT_STORE`](/docs/fr/network-config#ca-certificate-store) contrôle ce comportement. Si la CA est installée dans le magasin de confiance du système d'exploitation, assurez-vous que les développeurs utilisent un runtime actuel. Sinon, définissez `NODE_EXTRA_CA_CERTS` sur le PEM du certificat CA avant de lancer. L'invite d'empreinte de première connexion s'applique toujours. |315| CLI `/login` : « Could not verify the gateway's TLS certificate » ou `SELF_SIGNED_CERT_IN_CHAIN` | La chaîne TLS de la passerelle est signée par une CA privée qui n'est pas dans le magasin de confiance de l'hôte CLI | Claude Code lit le magasin de confiance du système d'exploitation par défaut sur le binaire natif et sur Node 22.15 ou ultérieur ; [`CLAUDE_CODE_CERT_STORE`](/docs/fr/network-config#ca-certificate-store) contrôle ce comportement. Si la CA est installée dans le magasin de confiance du système d'exploitation, assurez-vous que les développeurs utilisent un runtime actuel. Sinon, définissez `NODE_EXTRA_CA_CERTS` sur le certificat CA PEM avant de lancer. L'invite d'empreinte digitale de première connexion s'applique toujours. |

307| CLI `/login` se termine la connexion au navigateur, puis la session se termine avec `Cloud gateway sign-in was not completed` et une incompatibilité de certificat TLS | À la première demande après la connexion, la passerelle a présenté un certificat qui ne correspond pas à l'empreinte que Claude Code a épinglée, donc Claude Code n'a conservé aucune credential de passerelle. Les causes habituelles sont les répliques derrière une adresse qui servent des certificats différents, ou quelque chose sur le chemin réseau qui intercepte TLS. | Servez un certificat pour le nom d'hôte, par exemple en terminant TLS une fois à l'ingress, puis demandez au développeur d'exécuter `/login` à nouveau. Si ce certificat diffère de celui épinglé, Claude Code affiche l'[invite de confiance](/docs/fr/claude-apps-gateway#connect-developers) à nouveau avec un avertissement que le certificat a changé. |316| CLI `/login` termine la connexion du navigateur, puis la session se termine avec `Cloud gateway sign-in was not completed` et une incompatibilité de certificat TLS | À la première demande après la connexion, la passerelle a présenté un certificat qui ne correspond pas à l'empreinte digitale que Claude Code a épinglée, donc Claude Code n'a conservé aucune identifiant de passerelle. Les causes habituelles sont les réplicas derrière une adresse qui servent des certificats différents, ou quelque chose sur le chemin réseau qui intercepte TLS. | Servez un certificat pour le nom d'hôte, par exemple en terminant TLS une fois à l'entrée, puis demandez au développeur d'exécuter `/login` à nouveau. Si ce certificat diffère de celui épinglé, Claude Code affiche l'[invite de confiance](/docs/fr/claude-apps-gateway#connect-developers) à nouveau avec un avertissement que le certificat a changé. |

308| CLI `/login` s'arrête avec `The gateway's TLS certificate changed during sign-in: it no longer matches the one you trusted` | Une demande de connexion a atteint un serveur dont le certificat ne correspond pas à celui que le développeur a accepté au démarrage de `/login` : répliques derrière une adresse servant des certificats différents, interception TLS sur le chemin, ou une rotation de certificat pendant que la connexion était en cours. | Servez un certificat pour le nom d'hôte, puis demandez au développeur de recommencer la connexion et d'examiner le nouveau certificat à l'[invite de confiance](/docs/fr/claude-apps-gateway#connect-developers). |317| CLI `/login` s'arrête avec `The gateway's TLS certificate changed during sign-in: it no longer matches the one you trusted` | Une demande de connexion a atteint un serveur dont le certificat ne correspond pas à celui que le développeur a accepté au démarrage de `/login` : réplicas derrière une adresse servant des certificats différents, interception TLS sur le chemin, ou rotation de certificat pendant que la connexion était en cours. | Servez un certificat pour le nom d'hôte, puis demandez au développeur de recommencer la connexion et d'examiner le nouveau certificat à l'[invite de confiance](/docs/fr/claude-apps-gateway#connect-developers). |

309 318 

310Le message `Cloud gateway sign-in was not completed` nomme le nom d'hôte de la passerelle. Lorsque Claude Code a à la fois l'empreinte épinglée et celle présentée, le message affiche également les 16 premiers caractères de chacune.319Le message `Cloud gateway sign-in was not completed` nomme le nom d'hôte de la passerelle. Lorsque Claude Code a à la fois l'empreinte digitale épinglée et celle présentée, le message affiche également les 16 premiers caractères de chacune.

311 320 

312Si Claude Code signale `couldn't load your organization's managed settings` après une connexion à la passerelle, Claude Code nomme la raison, redémarre sur place et reprend la conversation. Si Claude Code ne peut pas redémarrer, par exemple dans une session d'arrière-plan, Claude Code termine la session et conserve la connexion.321Si Claude Code signale `couldn't load your organization's managed settings` après une connexion à la passerelle, Claude Code nomme la raison, redémarre sur place et reprend la conversation. Si Claude Code ne peut pas redémarrer, par exemple dans une session d'arrière-plan, Claude Code termine la session et conserve la connexion.

313 322 

Details

7> Un exemple concret d'exécution de la passerelle Claude apps sur Google Cloud : Cloud Run ou GKE, Cloud SQL pour PostgreSQL, Secret Manager et authentification par compte de service vers Agent Platform.7> Un exemple concret d'exécution de la passerelle Claude apps sur Google Cloud : Cloud Run ou GKE, Cloud SQL pour PostgreSQL, Secret Manager et authentification par compte de service vers Agent Platform.

8 8 

9<Note>9<Note>

10 Cette page vous guide à travers une façon d'exécuter la passerelle Claude apps sur Google Cloud. La configuration est un exemple fonctionnel pour une infrastructure gérée par le client plutôt qu'un déploiement de production pris en charge ; utilisez-la pour voir comment les éléments s'assemblent avant de l'adapter à votre propre environnement. Pour les exigences indépendantes de la plateforme, consultez le [guide de déploiement](/fr/claude-apps-gateway-deploy).10 Cette page vous guide à travers une façon d'exécuter la passerelle Claude apps sur Google Cloud. La configuration est un exemple fonctionnel pour une infrastructure gérée par le client plutôt qu'un déploiement de production pris en charge ; utilisez-la pour voir comment les éléments s'assemblent avant de l'adapter à votre propre environnement. Pour les exigences indépendantes de la plateforme, consultez le [guide de déploiement](/docs/fr/claude-apps-gateway-deploy).

11</Note>11</Note>

12 12 

13Cet exemple provisionne la passerelle Claude apps sur Google Cloud avec Agent Platform de Google Cloud comme upstream de modèle, en utilisant soit Cloud Run soit GKE pour le calcul. Google Workspace est le fournisseur d'identité (IdP) d'exemple, mais tout fournisseur d'identité conforme à OpenID Connect (OIDC) fonctionne ; seul le bloc `oidc` change. Consultez [Configuration du fournisseur d'identité](/fr/claude-apps-gateway-deploy#identity-provider-setup) pour les détails spécifiques à chaque IdP.13Cet exemple provisionne la passerelle Claude apps sur Google Cloud avec Agent Platform de Google Cloud comme upstream de modèle, en utilisant soit Cloud Run soit GKE pour le calcul. Google Workspace est le fournisseur d'identité (IdP) d'exemple, mais tout fournisseur d'identité conforme à OpenID Connect (OIDC) fonctionne ; seul le bloc `oidc` change. Consultez [Configuration du fournisseur d'identité](/docs/fr/claude-apps-gateway-deploy#identity-provider-setup) pour les détails spécifiques à chaque IdP.

14 14 

15<h2 id="what-you’ll-build">15<h2 id="what-you’ll-build">

16 Ce que vous allez construire16 Ce que vous allez construire


24 24 

25* Un service **Cloud Run** ou un **déploiement GKE** exécutant le conteneur de la passerelle25* Un service **Cloud Run** ou un **déploiement GKE** exécutant le conteneur de la passerelle

26* Un référentiel **Artifact Registry** pour l'image de la passerelle26* Un référentiel **Artifact Registry** pour l'image de la passerelle

27* Une instance **Cloud SQL pour PostgreSQL**, IP privée uniquement, pour le [store](/fr/claude-apps-gateway-config#store) de la passerelle27* Une instance **Cloud SQL pour PostgreSQL**, IP privée uniquement, pour le [store](/docs/fr/claude-apps-gateway-config#store) de la passerelle

28* Des secrets **Secret Manager** pour `gateway.yaml`, la clé de signature JWT, le secret client OIDC et l'URL Postgres28* Des secrets **Secret Manager** pour `gateway.yaml`, la clé de signature JWT, le secret client OIDC et l'URL Postgres

29* Un **compte de service** avec `roles/aiplatform.user`, attaché directement sur Cloud Run ou lié via Workload Identity sur GKE29* Un **compte de service** avec `roles/aiplatform.user`, attaché directement sur Cloud Run ou lié via Workload Identity sur GKE

30* Un **équilibreur de charge d'application interne** sur Cloud Run, ou un **GKE Ingress** interne de classe `gce-internal` sur GKE, pour HTTPS30* Un **équilibreur de charge d'application interne** sur Cloud Run, ou un **GKE Ingress** interne de classe `gce-internal` sur GKE, pour HTTPS


37* L'interface de ligne de commande `gcloud`, authentifiée avec `gcloud auth login`, et Docker installé localement37* L'interface de ligne de commande `gcloud`, authentifiée avec `gcloud auth login`, et Docker installé localement

38* Pour la piste GKE : `kubectl` et un cluster GKE sur le VPC créé dans la procédure pas à pas ci-dessous38* Pour la piste GKE : `kubectl` et un cluster GKE sur le VPC créé dans la procédure pas à pas ci-dessous

39* Accès aux modèles Claude dont vous avez besoin dans Model Garden, dans une région qui les publie39* Accès aux modèles Claude dont vous avez besoin dans Model Garden, dans une région qui les publie

40* Un client d'application web OAuth 2.0 Google Workspace avec URI de redirection `https://<gateway-host>/oauth/callback` ; consultez [Configuration du fournisseur d'identité](/fr/claude-apps-gateway-deploy#identity-provider-setup)40* Un client d'application web OAuth 2.0 Google Workspace avec URI de redirection `https://<gateway-host>/oauth/callback` ; consultez [Configuration du fournisseur d'identité](/docs/fr/claude-apps-gateway-deploy#identity-provider-setup)

41* Un nom d'hôte TLS pour la passerelle, généralement un nom DNS interne pointant vers l'équilibreur de charge41* Un nom d'hôte TLS pour la passerelle, généralement un nom DNS interne pointant vers l'équilibreur de charge

42 42 

43Définissez le projet et la région une fois :43Définissez le projet et la région une fois :


94 </Step>94 </Step>

95 95 

96 <Step title="Construire et pousser l'image vers Artifact Registry">96 <Step title="Construire et pousser l'image vers Artifact Registry">

97 Construisez l'image selon les [exigences d'image de conteneur](/fr/claude-apps-gateway-deploy#container-image), en utilisant le binaire glibc `linux-x64`, et poussez-la :97 Construisez l'image selon les [exigences d'image de conteneur](/docs/fr/claude-apps-gateway-deploy#container-image), en utilisant le binaire glibc `linux-x64`, et poussez-la :

98 98 

99 ```bash theme={null}99 ```bash theme={null}

100 gcloud artifacts repositories create claude-gateway \100 gcloud artifacts repositories create claude-gateway \


141 </Step>141 </Step>

142 142 

143 <Step title="Écrire gateway.yaml">143 <Step title="Écrire gateway.yaml">

144 Le bloc `upstreams` pointe vers Agent Platform avec `auth: {}`, donc la passerelle s'authentifie via Application Default Credentials du compte de service du runtime. Consultez la [référence de configuration](/fr/claude-apps-gateway-config) pour chaque champ.144 Le bloc `upstreams` pointe vers Agent Platform avec `auth: {}`, donc la passerelle s'authentifie via Application Default Credentials du compte de service du runtime. Consultez la [référence de configuration](/docs/fr/claude-apps-gateway-config) pour chaque champ.

145 145 

146 Deux champs `listen` dépendent de ce qui se trouve devant la passerelle :146 Deux champs `listen` dépendent de ce qui se trouve devant la passerelle :

147 147 

148 * `public_url` : requis derrière Cloud Run ou un GKE Ingress. La passerelle construit le `redirect_uri` IdP et son document de découverte uniquement à partir de cette valeur, jamais à partir des en-têtes `X-Forwarded-*`.148 * `public_url` : requis derrière Cloud Run ou un GKE Ingress. La passerelle construit le `redirect_uri` IdP et son document de découverte uniquement à partir de cette valeur, jamais à partir des en-têtes `X-Forwarded-*`.

149 * `trusted_proxies` : les plages source du front-end. La passerelle honore `X-Forwarded-For` uniquement lorsque le pair TCP se trouve dans cette liste, puis parcourt la chaîne au-delà des sauts de confiance, donc les limites de taux de connexion par IP et les événements d'audit enregistrent les IP des développeurs au lieu de celle de l'équilibreur de charge.149 * `trusted_proxies` : les plages source du front-end. La passerelle honore `X-Forwarded-For` uniquement lorsque le pair TCP se trouve dans cette liste, puis parcourt la chaîne au-delà des sauts de confiance, donc les limites de taux de connexion par IP et les événements d'audit enregistrent les IP des développeurs au lieu de celle de l'équilibreur de charge.

150 150 

151 Définissez `trusted_proxies` pour correspondre à votre front-end. Un GKE Ingress externe de classe `gce` n'est pas listé : il provisionne une adresse de règle de transfert publique, que la vérification [réseau privé](/fr/claude-apps-gateway#prerequisites) de `/login` rejette.151 Définissez `trusted_proxies` pour correspondre à votre front-end. Un GKE Ingress externe de classe `gce` n'est pas listé : il provisionne une adresse de règle de transfert publique, que la vérification [réseau privé](/docs/fr/claude-apps-gateway#prerequisites) de `/login` rejette.

152 152 

153 | Front-end | `trusted_proxies` |153 | Front-end | `trusted_proxies` |

154 | ------------------------------------------------------------ | ------------------------------------------------------------------- |154 | ------------------------------------------------------------ | ------------------------------------------------------------------- |


188 ```188 ```

189 189 

190 <Note>190 <Note>

191 Les id\_tokens Google ne portent aucune revendication `groups`. Pour utiliser des politiques basées sur les groupes dans [`managed.policies`](/fr/claude-apps-gateway-config#managed) avec Google Workspace comme IdP, configurez [`oidc.google_groups`](/fr/claude-apps-gateway-config#oidc), qui recherche les groupes de chaque utilisateur via l'API Admin SDK Directory en utilisant un compte de service avec délégation au niveau du domaine. Sans cela, faites correspondre sur `email_domain` à la place.191 Les id\_tokens Google ne portent aucune revendication `groups`. Pour utiliser des politiques basées sur les groupes dans [`managed.policies`](/docs/fr/claude-apps-gateway-config#managed) avec Google Workspace comme IdP, configurez [`oidc.google_groups`](/docs/fr/claude-apps-gateway-config#oidc), qui recherche les groupes de chaque utilisateur via l'API Admin SDK Directory en utilisant un compte de service avec délégation au niveau du domaine. Sans cela, faites correspondre sur `email_domain` à la place.

192 </Note>192 </Note>

193 </Step>193 </Step>

194 194 


237 237 

238 La restriction d'accès via `--ingress` est une couche indépendante et séparée de la vérification de l'invocateur ; gardez-la définie pour limiter le service à votre réseau d'entreprise.238 La restriction d'accès via `--ingress` est une couche indépendante et séparée de la vérification de l'invocateur ; gardez-la définie pour limiter le service à votre réseau d'entreprise.

239 239 

240 Par défaut, l'URL Cloud Run `*.run.app` se résout en une adresse publique, que la vérification [réseau privé](/fr/claude-apps-gateway#prerequisites) de `/login` rejette. Deux topologies donnent aux développeurs un nom d'hôte résoluble en privé, et Cloud Run ne provisionne ni l'une ni l'autre pour vous :240 Par défaut, l'URL Cloud Run `*.run.app` se résout en une adresse publique, que la vérification [réseau privé](/docs/fr/claude-apps-gateway#prerequisites) de `/login` rejette. Deux topologies donnent aux développeurs un nom d'hôte résoluble en privé, et Cloud Run ne provisionne ni l'une ni l'autre pour vous :

241 241 

242 * **Équilibreur de charge d'application interne**, la topologie que la commande de déploiement ci-dessus suppose : déployez avec `--ingress=internal-and-cloud-load-balancing`, provisionnez un équilibreur de charge d'application interne devant le service avec un nom DNS interne et un certificat, et définissez `listen.public_url` sur ce nom d'hôte.242 * **Équilibreur de charge d'application interne**, la topologie que la commande de déploiement ci-dessus suppose : déployez avec `--ingress=internal-and-cloud-load-balancing`, provisionnez un équilibreur de charge d'application interne devant le service avec un nom DNS interne et un certificat, et définissez `listen.public_url` sur ce nom d'hôte.

243 * **Accès interne uniquement sans équilibreur de charge** : déployez avec `--ingress=internal` et laissez `listen.public_url` comme l'URL `*.run.app`, la valeur par défaut dans les [actifs de référence](#terraform-reference) ci-dessous. Pour que `*.run.app` se résolve en privé, votre équipe réseau doit déjà exploiter un point de terminaison Private Service Connect pour les API Google, une zone privée Cloud DNS résolvant `*.run.app` vers celui-ci, et un routage sur site vers ce point de terminaison.243 * **Accès interne uniquement sans équilibreur de charge** : déployez avec `--ingress=internal` et laissez `listen.public_url` comme l'URL `*.run.app`, la valeur par défaut dans les [actifs de référence](#terraform-reference) ci-dessous. Pour que `*.run.app` se résolve en privé, votre équipe réseau doit déjà exploiter un point de terminaison Private Service Connect pour les API Google, une zone privée Cloud DNS résolvant `*.run.app` vers celui-ci, et un routage sur site vers ce point de terminaison.


272 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"272 iam.gke.io/gcp-service-account="claude-gateway@${PROJECT_ID}.iam.gserviceaccount.com"

273 ```273 ```

274 274 

275 Déployez la passerelle en tant que Deployment standard plus un Service et un Ingress interne, classe `gce-internal`, comme décrit dans [Déploiement Kubernetes](/fr/claude-apps-gateway-deploy#kubernetes), avec :275 Déployez la passerelle en tant que Deployment standard plus un Service et un Ingress interne, classe `gce-internal`, comme décrit dans [Déploiement Kubernetes](/docs/fr/claude-apps-gateway-deploy#kubernetes), avec :

276 276 

277 * `serviceAccountName: gateway`277 * `serviceAccountName: gateway`

278 * le pilote CSI Secret Manager montant les secrets à `/secrets`278 * le pilote CSI Secret Manager montant les secrets à `/secrets`


280 280 

281 Attachez un BackendConfig avec un `timeoutSec` augmenté au Service de la passerelle : le service backend de l'équilibreur de charge derrière GKE Ingress par défaut à un délai d'expiration de 30 secondes, ce qui coupe les réponses de streaming longues.281 Attachez un BackendConfig avec un `timeoutSec` augmenté au Service de la passerelle : le service backend de l'équilibreur de charge derrière GKE Ingress par défaut à un délai d'expiration de 30 secondes, ce qui coupe les réponses de streaming longues.

282 282 

283 N'appliquez pas une NetworkPolicy d'accès sortant qui bloque `169.254.169.254` sur un cluster Workload Identity ; le pod doit atteindre le serveur de métadonnées pour les identifiants. La [garde SSRF](/fr/claude-apps-gateway-deploy#threat-model-summary) intégrée de la passerelle est la défense là.283 N'appliquez pas une NetworkPolicy d'accès sortant qui bloque `169.254.169.254` sur un cluster Workload Identity ; le pod doit atteindre le serveur de métadonnées pour les identifiants. La [garde SSRF](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) intégrée de la passerelle est la défense là.

284 284 

285 La passerelle enregistre un avertissement de démarrage que le point de terminaison des métadonnées est accessible et suggère d'appliquer une NetworkPolicy d'accès sortant. Sous Workload Identity, cet avertissement est attendu, car le pod a besoin du point de terminaison.285 La passerelle enregistre un avertissement de démarrage que le point de terminaison des métadonnées est accessible et suggère d'appliquer une NetworkPolicy d'accès sortant. Sous Workload Identity, cet avertissement est attendu, car le pod a besoin du point de terminaison.

286 </Tab>286 </Tab>


288 </Step>288 </Step>

289 289 

290 <Step title="Pousser l'URL de la passerelle vers les machines des développeurs">290 <Step title="Pousser l'URL de la passerelle vers les machines des développeurs">

291 La passerelle s'exécute maintenant, mais les développeurs ne peuvent pas la atteindre à partir de `/login` jusqu'à ce que l'URL de la passerelle soit sur leurs machines. Définissez `forceLoginMethod` et `forceLoginGatewayUrl` dans le [fichier de paramètres gérés](/fr/claude-apps-gateway#set-the-gateway-url) que vous déployez sur chaque appareil via MDM. Il n'y a pas d'option de passerelle dans le sélecteur de connexion pour qu'un développeur sélectionne manuellement.291 La passerelle s'exécute maintenant, mais les développeurs ne peuvent pas la atteindre à partir de `/login` jusqu'à ce que l'URL de la passerelle soit sur leurs machines. Définissez `forceLoginMethod` et `forceLoginGatewayUrl` dans le [fichier de paramètres gérés](/docs/fr/claude-apps-gateway#set-the-gateway-url) que vous déployez sur chaque appareil via MDM. Il n'y a pas d'option de passerelle dans le sélecteur de connexion pour qu'un développeur sélectionne manuellement.

292 </Step>292 </Step>

293</Steps>293</Steps>

294 294 


310 Dépannage310 Dépannage

311</h2>311</h2>

312 312 

313Pour les erreurs de démarrage et de connexion de la passerelle, consultez le tableau [dépannage](/fr/claude-apps-gateway-deploy#troubleshooting) indépendant de la plateforme. Les entrées ci-dessous sont spécifiques à Google Cloud.313Pour les erreurs de démarrage et de connexion de la passerelle, consultez le tableau [dépannage](/docs/fr/claude-apps-gateway-deploy#troubleshooting) indépendant de la plateforme. Les entrées ci-dessous sont spécifiques à Google Cloud.

314 314 

315| Symptôme | Cause | Correction |315| Symptôme | Cause | Correction |

316| ------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |316| ------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


325 Étapes suivantes325 Étapes suivantes

326</h2>326</h2>

327 327 

328* [Référence de configuration](/fr/claude-apps-gateway-config) : chaque option `gateway.yaml`, y compris `managed.policies` et `telemetry`328* [Référence de configuration](/docs/fr/claude-apps-gateway-config) : chaque option `gateway.yaml`, y compris `managed.policies` et `telemetry`

329* [Déploiement et opérations](/fr/claude-apps-gateway-deploy) : configuration IdP, vérifications de santé, rotation des clés secrètes JWT, mises à niveau et le modèle de sécurité329* [Déploiement et opérations](/docs/fr/claude-apps-gateway-deploy) : configuration IdP, vérifications de santé, rotation des clés secrètes JWT, mises à niveau et le modèle de sécurité

330* [Aperçu de la passerelle Claude apps](/fr/claude-apps-gateway) : démarrage rapide et connexion des développeurs330* [Aperçu de la passerelle Claude apps](/docs/fr/claude-apps-gateway) : démarrage rapide et connexion des développeurs

Details

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

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

4 4 

5# Utiliser Claude Code sur le web5# Utiliser Claude Code dans le cloud

6 6 

7> Déplacez les sessions entre le web et le terminal avec `--cloud` et `--teleport`, gérez et partagez les sessions, et corrigez automatiquement les demandes de tirage depuis le cloud.7> Exécutez les sessions Claude Code dans le cloud depuis votre navigateur, téléphone, application de bureau ou terminal, déplacez-les avec --cloud et --teleport, et corrigez automatiquement les demandes de tirage.

8 8 

9<Note>9<Note>

10 Claude Code sur le web est en aperçu de recherche pour les utilisateurs Pro, Max et Team, ainsi que pour les utilisateurs Enterprise disposant de sièges premium ou de sièges Chat + Claude Code.10 Les sessions cloud sont en aperçu de recherche pour les utilisateurs Pro, Max et Team, ainsi que pour les utilisateurs Enterprise disposant de sièges premium ou de sièges Chat + Claude Code.

11</Note>11</Note>

12 12 

13Claude Code sur le web exécute les tâches sur l'infrastructure cloud gérée par Anthropic à [claude.ai/code](https://claude.ai/code), ou sur l'[environnement auto-hébergé](/docs/fr/self-hosted-environments) de votre organisation lorsqu'il y est acheminé. Les sessions persistent même si vous fermez votre navigateur, et vous pouvez les surveiller depuis l'application mobile Claude.13Une session cloud est une session Claude Code qui s'exécute sur l'infrastructure cloud au lieu de sur votre machine. Par défaut, elle s'exécute sur l'infrastructure gérée par Anthropic, ou sur l'[environnement auto-hébergé](/docs/fr/self-hosted-environments) de votre organisation lorsqu'elle y est acheminée. La session continue de s'exécuter après que vous fermiez votre ordinateur portable, et vous pouvez la vérifier ou la diriger depuis n'importe quel appareil.

14 

15Vous pouvez démarrer une session cloud à partir de l'une de ces surfaces :

16 

17* **Navigateur** : [claude.ai/code](https://claude.ai/code), également appelé Claude Code sur le web

18* **Mobile** : l'onglet **Code** dans l'[application Claude](/docs/fr/mobile)

19* **Application de bureau** : sélectionnez **Cloud** au lieu de **Local** lorsque vous [démarrez une session](/docs/fr/desktop#run-long-running-tasks-in-the-cloud)

20* **Terminal** : [`claude --cloud`](#from-terminal-to-cloud)

21* **Routines** : les [exécutions planifiées et déclenchées](/docs/fr/routines) s'exécutent chacune en tant que session cloud

22 

23Pour que Claude démarre et suive de nombreuses sessions cloud pour un corps de travail, utilisez un [projet](/docs/fr/claude-projects). Une session dans votre terminal, votre IDE ou l'application de bureau avec **Local** sélectionné s'exécute sur votre propre machine à la place. Pour diriger l'une de ces sessions locales depuis votre téléphone ou navigateur, utilisez [Contrôle à distance](/docs/fr/remote-control).

14 24 

15<Tip>25<Tip>

16 Nouveau sur Claude Code sur le web ? Commencez par [Démarrer](/docs/fr/web-quickstart) pour connecter votre compte GitHub et soumettre votre première tâche.26 Nouveau sur les sessions cloud ? Commencez par [Démarrer](/docs/fr/web-quickstart) pour connecter votre compte GitHub et soumettre votre première tâche.

17</Tip>27</Tip>

18 28 

19Cette page couvre le produit web lui-même :29Cette page couvre :

20 30 

21* [Environnements cloud](#cloud-environments) : où les sessions s'exécutent et où configurer cela31* [Environnements cloud](#cloud-environments) : où les sessions s'exécutent et où configurer cela

22* [Options d'authentification GitHub](#github-authentication-options) : deux façons de connecter GitHub32* [Options d'authentification GitHub](#github-authentication-options) : deux façons de connecter GitHub

23* [Déplacer les tâches entre le web et le terminal](#move-tasks-between-web-and-terminal) avec `--cloud` et `--teleport`33* [Déplacer les tâches entre le terminal et le cloud](#move-tasks-between-terminal-and-cloud) avec `--cloud` et `--teleport`

24* [Travailler avec les sessions](#work-with-sessions) : modes de permission, examen, partage, archivage, suppression34* [Travailler avec les sessions](#work-with-sessions) : modes de permission, examen, partage, archivage, suppression

25* [Correction automatique des demandes de tirage](#auto-fix-pull-requests) : répondre automatiquement aux défaillances CI et aux commentaires d'examen35* [Correction automatique des demandes de tirage](#auto-fix-pull-requests) : répondre automatiquement aux défaillances CI et aux commentaires d'examen

26* [Sécurité et isolation](#security-and-isolation) : comment les sessions sont isolées36* [Sécurité et isolation](#security-and-isolation) : comment les sessions sont isolées


49 59 

50L'installation de l'application Claude GitHub sur un référentiel active également [Auto-fix](#auto-fix-pull-requests) pour les demandes de tirage qu'il contient.60L'installation de l'application Claude GitHub sur un référentiel active également [Auto-fix](#auto-fix-pull-requests) pour les demandes de tirage qu'il contient.

51 61 

62Les threads dans un [projet](/docs/fr/claude-projects) ont besoin que l'application soit installée sur chaque référentiel qu'ils clonent, quelle que soit la méthode de connexion utilisée. Consultez [Configurer l'accès GitHub](/docs/fr/claude-projects#set-up-github-access).

63 

52Pour savoir comment `/schedule` vérifie l'accès au référentiel avant de créer une routine, consultez [Référentiels et permissions de branche](/docs/fr/routines#repositories-and-branch-permissions). Consultez [Connecter depuis votre terminal](/docs/fr/web-quickstart#connect-from-your-terminal) pour la procédure pas à pas de `/web-setup`, y compris ce que `/web-setup` stocke et comment le supprimer.64Pour savoir comment `/schedule` vérifie l'accès au référentiel avant de créer une routine, consultez [Référentiels et permissions de branche](/docs/fr/routines#repositories-and-branch-permissions). Consultez [Connecter depuis votre terminal](/docs/fr/web-quickstart#connect-from-your-terminal) pour la procédure pas à pas de `/web-setup`, y compris ce que `/web-setup` stocke et comment le supprimer.

53 65 

54La configuration web rapide est un paramètre d'organisation qui permet aux membres de connecter GitHub avec `/web-setup`, ignore l'invite d'installation de l'application Claude GitHub lors de l'intégration web, et fait que l'intégration web crée l'[environnement **Default**](/docs/fr/cloud-environments#the-default-environment) pour eux au lieu d'afficher le formulaire d'environnement. Sur les plans Team et Enterprise, elle est désactivée par défaut, ce qui masque `/web-setup`. Un [Propriétaire](/docs/fr/server-managed-settings#access-control) l'active avec le bouton bascule **Quick web setup** à [**Paramètres d'administration > Claude Code**](https://claude.ai/admin-settings/claude-code).66La configuration web rapide est un paramètre d'organisation qui permet aux membres de connecter GitHub avec `/web-setup`, ignore l'invite d'installation de l'application Claude GitHub lors de l'intégration web, et fait que l'intégration web crée l'[environnement **Default**](/docs/fr/cloud-environments#the-default-environment) pour eux au lieu d'afficher le formulaire d'environnement. Sur les plans Team et Enterprise, elle est désactivée par défaut, ce qui masque `/web-setup`. Un [Propriétaire](/docs/fr/server-managed-settings#access-control) l'active avec le bouton bascule **Quick web setup** à [**Paramètres d'administration > Claude Code**](https://claude.ai/admin-settings/claude-code).


57 Les organisations avec [Zéro rétention de données](/docs/fr/zero-data-retention) activée ne peuvent pas utiliser `/web-setup` ou d'autres fonctionnalités de session cloud.69 Les organisations avec [Zéro rétention de données](/docs/fr/zero-data-retention) activée ne peuvent pas utiliser `/web-setup` ou d'autres fonctionnalités de session cloud.

58</Note>70</Note>

59 71 

60<h2 id="move-tasks-between-web-and-terminal">72<h2 id="move-tasks-between-terminal-and-cloud">

61 Déplacer les tâches entre le web et le terminal73 Déplacer les tâches entre le terminal et le cloud

62</h2>74</h2>

63 75 

64Ces workflows nécessitent que le [Claude Code CLI](/docs/fr/quickstart) soit connecté au même compte claude.ai. Vous pouvez démarrer de nouvelles sessions cloud depuis votre terminal, ou extraire des sessions cloud dans votre terminal pour continuer localement. Les sessions cloud persistent même si vous fermez votre ordinateur portable, et vous pouvez les surveiller de n'importe où, y compris depuis l'application mobile Claude.76Ces workflows nécessitent que le [Claude Code CLI](/docs/fr/quickstart) soit connecté au même compte claude.ai. Vous pouvez démarrer de nouvelles sessions cloud depuis votre terminal, ou extraire des sessions cloud dans votre terminal pour continuer localement. Les sessions cloud persistent même si vous fermez votre ordinateur portable, et vous pouvez les surveiller de n'importe où, y compris depuis l'application mobile Claude.

65 77 

66<Note>78<Note>

67 Depuis le CLI, le transfert de session est unidirectionnel : vous pouvez extraire des sessions cloud dans votre terminal avec `--teleport`, mais vous ne pouvez pas envoyer une session terminal existante vers le web. Le flag `--cloud` avec une description de tâche crée une nouvelle session cloud pour votre référentiel actuel ; avec `-p` et un ID de session ou une URL claude.ai/code, il [met plutôt en file d'attente un message dans cette session existante](/docs/fr/claude-code-on-the-web#send-follow-ups-from-the-cli). L'[application de bureau](/docs/fr/desktop#continue-in-another-surface) fournit un menu Continuer dans qui peut envoyer une session locale vers le web.79 Depuis le CLI, le transfert de session est unidirectionnel : vous pouvez extraire des sessions cloud dans votre terminal avec `--teleport`, mais vous ne pouvez pas envoyer une session terminal existante vers le cloud. Le flag `--cloud` avec une description de tâche crée une nouvelle session cloud pour votre référentiel actuel ; avec `-p` et un ID de session ou une URL claude.ai/code, il [met plutôt en file d'attente un message dans cette session existante](/docs/fr/claude-code-on-the-web#send-follow-ups-from-the-cli). L'[application de bureau](/docs/fr/desktop#continue-in-another-surface) fournit un menu **Continuer dans** qui peut envoyer une session locale vers le cloud.

68</Note>80</Note>

69 81 

70<h3 id="from-terminal-to-web">82<h3 id="from-terminal-to-cloud">

71 Du terminal vers le web83 Du terminal vers le cloud

72</h3>84</h3>

73 85 

74Démarrez une session cloud depuis la ligne de commande avec le flag `--cloud` :86Démarrez une session cloud depuis la ligne de commande avec le flag `--cloud` :


84Pendant que le conteneur cloud démarre, le CLI affiche une liste de contrôle en direct des étapes de configuration, telles que le clonage du référentiel et l'exécution de votre [script de configuration](/docs/fr/cloud-environments#setup-scripts). Il met en file d'attente les messages que vous tapez pendant le provisionnement et les envoie une fois que la session est prête.96Pendant que le conteneur cloud démarre, le CLI affiche une liste de contrôle en direct des étapes de configuration, telles que le clonage du référentiel et l'exécution de votre [script de configuration](/docs/fr/cloud-environments#setup-scripts). Il met en file d'attente les messages que vous tapez pendant le provisionnement et les envoie une fois que la session est prête.

85 97 

86<Note>98<Note>

87 `--cloud` crée des sessions cloud. `--remote-control` n'est pas lié : il expose une session CLI locale pour la surveillance depuis le web. Voir [Remote Control](/docs/fr/remote-control).99 `--cloud` crée des sessions cloud. `--remote-control` n'est pas lié : il vous permet de surveiller et de diriger une session CLI locale depuis claude.ai ou l'application Claude. Voir [Remote Control](/docs/fr/remote-control).

88</Note>100</Note>

89 101 

90Ouvrez la session sur claude.ai ou l'application mobile Claude pour vérifier la progression ou interagir directement. De là, vous pouvez diriger Claude, fournir des commentaires ou répondre à des questions comme dans n'importe quelle autre conversation.102Ouvrez la session sur claude.ai ou l'application mobile Claude pour vérifier la progression ou interagir directement. De là, vous pouvez diriger Claude, fournir des commentaires ou répondre à des questions comme dans n'importe quelle autre conversation.


95 Conseils pour les tâches cloud107 Conseils pour les tâches cloud

96</h4>108</h4>

97 109 

98**Planifiez localement, exécutez à distance** : pour les tâches complexes, démarrez Claude en mode plan pour collaborer sur l'approche, puis envoyez le travail vers le cloud :110**Planifiez localement, exécutez dans le cloud** : pour les tâches complexes, démarrez Claude en mode plan pour collaborer sur l'approche, puis envoyez le travail vers le cloud :

99 111 

100```bash theme={null}112```bash theme={null}

101claude --permission-mode plan113claude --permission-mode plan


115claude --cloud "Refactor the logger to use structured output"127claude --cloud "Refactor the logger to use structured output"

116```128```

117 129 

118Quand une session se termine, vous pouvez créer une PR depuis l'interface web ou [téléporter](#from-web-to-terminal) la session dans votre terminal pour continuer à travailler.130Quand une session se termine, vous pouvez créer une PR depuis claude.ai/code ou [téléporter](#from-cloud-to-terminal) la session dans votre terminal pour continuer à travailler.

119 131 

120<h4 id="send-local-repositories-without-github">132<h4 id="send-local-repositories-without-github">

121 Envoyer des référentiels locaux sans GitHub133 Envoyer des référentiels locaux sans GitHub


183| `Session not found: <id>` | L'ID ou l'URL ne correspond pas à une session à laquelle vous pouvez accéder. Vérifiez-le par rapport à l'URL claude.ai/code de la session. |195| `Session not found: <id>` | L'ID ou l'URL ne correspond pas à une session à laquelle vous pouvez accéder. Vérifiez-le par rapport à l'URL claude.ai/code de la session. |

184| `cloud session <id> is archived and cannot accept new messages` | La session a été archivée. Démarrez une nouvelle session à la place. |196| `cloud session <id> is archived and cannot accept new messages` | La session a été archivée. Démarrez une nouvelle session à la place. |

185 197 

186<h3 id="from-web-to-terminal">198<h3 id="from-cloud-to-terminal">

187 Du web vers le terminal199 Du cloud vers le terminal

188</h3>200</h3>

189 201 

190Extrayez une session cloud dans votre terminal en utilisant l'une de ces options :202Extrayez une session cloud dans votre terminal en utilisant l'une de ces options :


192* **Utilisation de `--teleport`** : depuis la ligne de commande, exécutez `claude --teleport` pour un sélecteur de session interactif, ou `claude --teleport <session-id>` pour reprendre une session spécifique directement. Si vous avez des modifications non validées, vous serez invité à les ranger d'abord.204* **Utilisation de `--teleport`** : depuis la ligne de commande, exécutez `claude --teleport` pour un sélecteur de session interactif, ou `claude --teleport <session-id>` pour reprendre une session spécifique directement. Si vous avez des modifications non validées, vous serez invité à les ranger d'abord.

193* **Utilisation de `/teleport`** : à l'intérieur d'une session CLI existante, exécutez `/teleport` ou `/tp` pour ouvrir le même sélecteur de session sans redémarrer Claude Code.205* **Utilisation de `/teleport`** : à l'intérieur d'une session CLI existante, exécutez `/teleport` ou `/tp` pour ouvrir le même sélecteur de session sans redémarrer Claude Code.

194* **Depuis `/tasks`** : exécutez `/tasks` pour voir vos sessions en arrière-plan, puis appuyez sur `t` pour vous téléporter dans l'une d'elles.206* **Depuis `/tasks`** : exécutez `/tasks` pour voir vos sessions en arrière-plan, puis appuyez sur `t` pour vous téléporter dans l'une d'elles.

195* **Depuis l'interface web** : sélectionnez **Ouvrir dans > Terminal** dans le menu de session pour copier une commande que vous pouvez coller dans votre terminal.207* **Depuis claude.ai/code** : sélectionnez **Ouvrir dans > Terminal** dans le menu de session pour copier une commande que vous pouvez coller dans votre terminal.

196* **Depuis l'intérieur de la session cloud** : tapez `/teleport` et Claude Code répond avec la commande exacte `claude --teleport <session-id>` pour cette session, prête à s'exécuter à partir d'un checkout du référentiel. Nécessite Claude Code v2.1.223 ou ultérieur dans l'environnement de la session.208* **Depuis l'intérieur de la session cloud** : tapez `/teleport` et Claude Code répond avec la commande exacte `claude --teleport <session-id>` pour cette session, prête à s'exécuter à partir d'un checkout du référentiel. Nécessite Claude Code v2.1.223 ou ultérieur dans l'environnement de la session.

197 209 

198Quand vous téléportez une session, Claude vérifie que vous êtes dans le bon référentiel, récupère et vérifie la branche de la session cloud, et charge l'historique complet de la conversation dans votre terminal. Le terminal obtient sa propre copie de la session : le nouveau travail là-bas reste local et n'apparaît pas dans la session cloud sur claude.ai ou l'application mobile Claude. Pour continuer à diriger depuis votre téléphone après la téléportation, démarrez [`/remote-control`](/docs/fr/remote-control) dans la session locale.210Quand vous téléportez une session, Claude vérifie que vous êtes dans le bon référentiel, récupère et vérifie la branche de la session cloud, et charge l'historique complet de la conversation dans votre terminal. Le terminal obtient sa propre copie de la session : le nouveau travail là-bas reste local et n'apparaît pas dans la session cloud sur claude.ai ou l'application mobile Claude. Pour continuer à diriger depuis votre téléphone après la téléportation, démarrez [`/remote-control`](/docs/fr/remote-control) dans la session locale.


224 236 

225Les sessions apparaissent dans la barre latérale sur claude.ai/code. De là, vous pouvez examiner les modifications, partager avec vos coéquipiers, archiver le travail terminé ou supprimer définitivement les sessions.237Les sessions apparaissent dans la barre latérale sur claude.ai/code. De là, vous pouvez examiner les modifications, partager avec vos coéquipiers, archiver le travail terminé ou supprimer définitivement les sessions.

226 238 

239<h3 id="take-back-a-queued-message">

240 Annuler un message en attente

241</h3>

242 

243Si vous envoyez un message alors que Claude travaille, le message est mis en attente jusqu'à ce que Claude le lise. Pour annuler un message en attente, cliquez sur le ✕ qui s'y trouve. Le texte revient à la boîte de message pour que vous puissiez le modifier ou envoyer quelque chose d'autre.

244 

245Si Claude a déjà lu le message, il reste dans la conversation.

246 

227<h3 id="manage-context">247<h3 id="manage-context">

228 Gérer le contexte248 Gérer le contexte

229</h3>249</h3>

230 250 

231Les 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 :

232 252 

233* **`/model`, `/effort`, `/fast`, `/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, et `/fast` fonctionne uniquement dans une session qui a démarré avec le mode rapide activé.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.

234* **`/config`** : sur le web, 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 les paramètres d'une session cloud, utilisez les [variables d'environnement](/docs/fr/cloud-environments#set-environment-variables) ou validez les [fichiers de paramètres](/docs/fr/settings) dans le référentiel.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.

235 256 

236Pour la gestion du contexte spécifiquement :257Pour la gestion du contexte spécifiquement :

237 258 


241| `/context` | Oui | Affiche ce qui se trouve actuellement dans la fenêtre de contexte |262| `/context` | Oui | Affiche ce qui se trouve actuellement dans la fenêtre de contexte |

242| `/clear` | Non | Démarrez plutôt une nouvelle session à partir de la barre latérale |263| `/clear` | Non | Démarrez plutôt une nouvelle session à partir de la barre latérale |

243 264 

244La compaction automatique s'exécute automatiquement lorsque la fenêtre de contexte approche de sa capacité. Claude Code sur le web définit [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/fr/env-vars) dans les sessions cloud lui-même, de sorte que la compaction se déclenche à mi-chemin dans la [fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) plutôt que lorsque la fenêtre se remplit. Cette valeur remplace celle que vous ajoutez dans vos [variables d'environnement](/docs/fr/cloud-environments#set-environment-variables), donc ajouter la variable là-bas ne change pas le moment où la compaction se déclenche.265La compaction automatique s'exécute automatiquement lorsque la fenêtre de contexte approche de sa capacité. Les sessions cloud définissent [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/fr/env-vars) elles-mêmes, de sorte que la compaction se déclenche à mi-chemin dans la [fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) plutôt que lorsque la fenêtre se remplit. Cette valeur remplace celle que vous ajoutez dans vos [variables d'environnement](/docs/fr/cloud-environments#set-environment-variables), donc ajouter la variable là-bas ne change pas le moment où la compaction se déclenche.

245 266 

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

247 268 


320 341 

321Il existe plusieurs façons d'activer auto-fix selon d'où provient la PR et quel appareil vous utilisez :342Il existe plusieurs façons d'activer auto-fix selon d'où provient la PR et quel appareil vous utilisez :

322 343 

323* **PR créées dans Claude Code sur le web** : ouvrez la barre d'état CI et sélectionnez **Auto-fix**344* **PR créées dans une session cloud** : ouvrez la session sur claude.ai/code, ouvrez la barre d'état CI et sélectionnez **Auto-fix**

324* **À partir de votre terminal** : exécutez [`/autofix-pr`](/docs/fr/commands) sur la branche de la PR. Claude Code détecte la PR ouverte avec `gh`, génère une session web et active auto-fix en une seule étape345* **À partir de votre terminal** : exécutez [`/autofix-pr`](/docs/fr/commands) sur la branche de la PR. Claude Code détecte la PR ouverte avec `gh`, génère une session cloud et active auto-fix en une seule étape

325* **À partir de l'application mobile** : dites à Claude de corriger automatiquement la PR, par exemple « regardez cette PR et corrigez les défaillances CI ou les commentaires d'examen »346* **À partir de l'application mobile** : dites à Claude de corriger automatiquement la PR, par exemple « regardez cette PR et corrigez les défaillances CI ou les commentaires d'examen »

326* **N'importe quelle PR existante** : collez l'URL de la PR dans une session et dites à Claude de la corriger automatiquement347* **N'importe quelle PR existante** : collez l'URL de la PR dans une session et dites à Claude de la corriger automatiquement

327 348 

328Auto-fix est un bouton bascule par PR. Pour arrêter la surveillance, ouvrez la barre d'état CI dans la session web et désactivez le bouton bascule **Auto-fix**, ou dites à Claude d'arrêter de surveiller la PR.349Auto-fix est un bouton bascule par PR. Pour arrêter la surveillance, ouvrez la barre d'état CI dans la session sur claude.ai/code et désactivez le bouton bascule **Auto-fix**, ou dites à Claude d'arrêter de surveiller la PR.

329 350 

330<h3 id="how-claude-responds-to-pr-activity">351<h3 id="how-claude-responds-to-pr-activity">

331 Comment Claude répond à l'activité PR352 Comment Claude répond à l'activité PR


395 Environnement expiré416 Environnement expiré

396</h3>417</h3>

397 418 

398Les sessions cloud s'arrêtent après une période d'inactivité et la VM de la session est réclamée. Une session est considérée comme inactive pendant qu'elle attend votre approbation d'un appel d'outil [connecteur MCP](/docs/fr/cloud-environments#network-access) ou votre connexion à un serveur MCP, et elle peut expirer pendant cette attente. Sur le web, la session est marquée comme expirée dans la liste des sessions.419Les sessions cloud s'arrêtent après une période d'inactivité et la VM de la session est réclamée. Une session est considérée comme inactive pendant qu'elle attend votre approbation d'un appel d'outil [connecteur MCP](/docs/fr/cloud-environments#network-access) ou votre connexion à un serveur MCP, et elle peut expirer pendant cette attente.

399 420 

400Rouvrez la session à partir de [claude.ai/code](https://claude.ai/code) pour mettre en service une VM fraîche avec votre historique de conversation restauré. Le travail en arrière-plan qui était toujours en cours d'exécution lorsque la VM a été réclamée, comme les sous-agents et les commandes shell, n'est pas restauré.421Rouvrez la session à partir de [claude.ai/code](https://claude.ai/code) pour mettre en service une VM fraîche avec votre historique de conversation restauré. Le travail en arrière-plan qui était toujours en cours d'exécution lorsque la VM a été réclamée, comme les sous-agents et les commandes shell, n'est pas restauré.

401 422 


405 426 

406Avant de compter sur les sessions cloud pour un flux de travail, tenez compte de ces contraintes :427Avant de compter sur les sessions cloud pour un flux de travail, tenez compte de ces contraintes :

407 428 

408* **Limites de débit** : Claude Code sur le web partage les limites de débit avec tous les autres usages de Claude et Claude Code au sein de votre compte. L'exécution de plusieurs tâches en parallèle consomme proportionnellement plus de limites de débit. Il n'y a pas de frais de calcul séparé pour la VM cloud.429* **Limites de débit** : les sessions cloud partagent les limites de débit avec tous les autres usages de Claude et Claude Code au sein de votre compte. L'exécution de plusieurs tâches en parallèle consomme proportionnellement plus de limites de débit. Il n'y a pas de frais de calcul séparé pour la VM cloud.

409* **Authentification du référentiel** : vous ne pouvez déplacer les sessions du web vers le local que lorsque vous êtes authentifié au même compte430* **Authentification du référentiel** : vous ne pouvez déplacer une session cloud vers votre terminal que lorsque vous êtes authentifié au même compte

410* **Restrictions de plateforme** : le clonage du référentiel et la création de demandes de tirage nécessitent GitHub. Les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) auto-hébergées sont prises en charge pour les plans Team et Enterprise. Vous pouvez envoyer un référentiel GitLab, Bitbucket ou autre référentiel non-GitHub à une session cloud en tant que [paquet local](#send-local-repositories-without-github) en définissant `CCR_FORCE_BUNDLE=1`, mais la session ne peut pas pousser les résultats vers ce serveur distant431* **Restrictions de plateforme** : le clonage du référentiel et la création de demandes de tirage nécessitent GitHub. Les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) auto-hébergées sont prises en charge pour les plans Team et Enterprise. Vous pouvez envoyer un référentiel GitLab, Bitbucket ou autre référentiel non-GitHub à une session cloud en tant que [paquet local](#send-local-repositories-without-github) en définissant `CCR_FORCE_BUNDLE=1`, mais la session ne peut pas pousser les résultats vers ce serveur distant

411* **Liste d'autorisation IP de l'organisation** : les sessions cloud appellent l'API Anthropic à partir de l'infrastructure gérée par Anthropic, pas de votre réseau, tandis que les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments) l'appellent à partir de votre propre réseau. Si votre organisation a [l'autorisation IP](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) activée, chaque session cloud hébergée par Anthropic échoue avec une erreur d'authentification. Il en va de même pour [Code Review](/docs/fr/code-review) et pour les [routines](/docs/fr/routines) qui s'exécutent sur les environnements hébergés par Anthropic ; une routine acheminée vers un environnement auto-hébergé appelle l'API à partir de votre propre réseau. Contactez [le support Anthropic](https://support.claude.com/) pour exempter les services hébergés par Anthropic de la liste d'autorisation IP de votre organisation.432* **Liste d'autorisation IP de l'organisation** : les sessions cloud appellent l'API Anthropic à partir de l'infrastructure gérée par Anthropic, pas de votre réseau, tandis que les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments) l'appellent à partir de votre propre réseau. Si votre organisation a [l'autorisation IP](https://support.claude.com/en/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) activée, chaque session cloud hébergée par Anthropic échoue avec une erreur d'authentification. Il en va de même pour [Code Review](/docs/fr/code-review) et pour les [routines](/docs/fr/routines) qui s'exécutent sur les environnements hébergés par Anthropic ; une routine acheminée vers un environnement auto-hébergé appelle l'API à partir de votre propre réseau. Contactez [le support Anthropic](https://support.claude.com/) pour exempter les services hébergés par Anthropic de la liste d'autorisation IP de votre organisation.

412 433 


415</h2>436</h2>

416 437 

417* [Environnements cloud](/docs/fr/cloud-environments) : configurez l'accès réseau, les variables d'environnement et les scripts de configuration pour les sessions cloud438* [Environnements cloud](/docs/fr/cloud-environments) : configurez l'accès réseau, les variables d'environnement et les scripts de configuration pour les sessions cloud

439* [Projects](/docs/fr/claude-projects) : une conversation où Claude coordonne les sessions cloud parallèles sur vos référentiels et vous rend compte

418* [Ultrareview](/docs/fr/ultrareview) : exécutez un examen de code multi-agent approfondi dans un sandbox cloud440* [Ultrareview](/docs/fr/ultrareview) : exécutez un examen de code multi-agent approfondi dans un sandbox cloud

419* [Routines](/docs/fr/routines) : automatisez le travail selon un calendrier, via un appel API ou en réponse aux événements GitHub441* [Routines](/docs/fr/routines) : automatisez le travail selon un calendrier, via un appel API ou en réponse aux événements GitHub

420* [Configuration des hooks](/docs/fr/hooks) : exécutez les scripts aux événements du cycle de vie de la session442* [Configuration des hooks](/docs/fr/hooks) : exécutez les scripts aux événements du cycle de vie de la session

Details

34 oneLiner: 'Project instructions Claude reads every session',34 oneLiner: 'Project instructions Claude reads every session',

35 when: 'Loaded into context at the start of every session',35 when: 'Loaded into context at the start of every session',

36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',36 description: 'Project-specific instructions that shape how Claude works in this repository. Put your conventions, common commands, and architectural context here so Claude operates with the same assumptions your team does.',

37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>],37 tips: ['Target under 200 lines. Longer files still load in full but may reduce adherence', <>CLAUDE.md loads into every session. If something only matters for specific tasks, move it to a <A href="/docs/en/skills">skill</A> or a path-scoped <A href="/docs/en/memory#organize-rules-with-claude/rules/">rule</A> so it loads only when needed</>, 'List the commands you run most, like build, test, and format, so Claude knows them without you spelling them out each time', <>Run <C>/memory</C> to open and edit CLAUDE.md from within a session</>, <>Also works at <C>.claude/CLAUDE.md</C> if you prefer to keep the project root clean</>, <>If your repo already has an <C>AGENTS.md</C> for other coding agents, Claude Code <A href="/docs/en/memory#agents-md">can read that</A> on its own or alongside CLAUDE.md</>],

38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',38 exampleIntro: 'This example is for a TypeScript and React project. It lists the build and test commands, the framework conventions Claude should follow, and project-specific rules like export style and file layout.',

39 example: `# Project conventions39 example: `# Project conventions

40 40 


640 color: '#5AA7A7',640 color: '#5AA7A7',

641 oneLiner: 'Custom instruction sets that adjust how Claude works',641 oneLiner: 'Custom instruction sets that adjust how Claude works',

642 when: 'Files read at startup; the style you select with outputStyle applies to every response',642 when: 'Files read at startup; the style you select with outputStyle applies to every response',

643 description: [<>Each markdown file defines an output style: a set of instructions for Claude that, by default, also replaces the built-in software-engineering task instructions. Use this to adapt Claude Code for uses beyond coding, or to add teaching or review modes.</>, <>Select a built-in or custom style with <C>/config</C> or the <C>outputStyle</C> key in settings. Styles here are available in every project; project-level styles with the same name take precedence.</>],643 description: [<>Each markdown file defines an output style: a set of instructions for Claude that, by default, also replaces the built-in software-engineering task instructions. Use this to adapt Claude Code for uses beyond coding, or to add teaching or review modes.</>, <>Select a built-in or custom style with <C>/output-style</C>, <C>/config</C>, or the <C>outputStyle</C> key in settings. Styles here are available in every project; project-level styles with the same name take precedence.</>],

644 tips: ['Built-in styles Default, Proactive, Concise, Explanatory, and Learning are included with Claude Code; custom styles go here', <>Set <C>keep-coding-instructions: true</C> in frontmatter to keep the default task instructions alongside your additions</>, 'Switching styles mid-session applies from your next message; in the terminal, a style file you create or edit mid-session is picked up after a restart'],644 tips: ['Built-in styles Default, Proactive, Concise, Explanatory, and Learning are included with Claude Code; custom styles go here', <>Set <C>keep-coding-instructions: true</C> in frontmatter to keep the default task instructions alongside your additions</>, 'Switching styles mid-session applies from your next message; in the terminal, a style file you create or edit mid-session is picked up after a restart'],

645 docsLink: '/en/output-styles',645 docsLink: '/en/output-styles',

646 children: [{646 children: [{


1434 1434 

1435Sur Windows, `~/.claude` se résout en `%USERPROFILE%\.claude`. Si vous définissez [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars), chaque chemin `~/.claude` sur cette page se trouve sous ce répertoire à la place.1435Sur Windows, `~/.claude` se résout en `%USERPROFILE%\.claude`. Si vous définissez [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars), chaque chemin `~/.claude` sur cette page se trouve sous ce répertoire à la place.

1436 1436 

1437La plupart des utilisateurs ne modifient que `CLAUDE.md` et `settings.json`. Le reste du répertoire est optionnel : ajoutez des skills, des rules ou des subagents selon vos besoins.1437La plupart des utilisateurs ne modifient que `CLAUDE.md` et `settings.json`. Si votre référentiel possède déjà un `AGENTS.md` pour d'autres agents de codage, Claude Code [peut le lire](/docs/fr/memory#agents-md) seul ou aux côtés de `CLAUDE.md`. Le reste du répertoire est optionnel : ajoutez des skills, des rules ou des subagents selon vos besoins.

1438 1438 

1439<h2 id="explore-the-directory">1439<h2 id="explore-the-directory">

1440 Explorez le répertoire1440 Explorez le répertoire


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| 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. Consultez [mise en cache des plugins](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) pour savoir comment les versions orphelines sont nettoyées. |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 1459 

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

1460 1461 


1551| `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 |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 |

1552| `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. |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. |

1553| `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 |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 |

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 |

1554| `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. |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. |

1555 1557 

1556Les 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 :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 :


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

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

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

1579| `policy-limits.json` | Paramètres de politique de fonctionnalités mis en cache pour votre organisation. Présent uniquement pour certains types de compte. Actualisé automatiquement. Claude Code le supprime lorsque vous vous déconnectez. |1581| `policy-limits.json` | Paramètres de politique de fonctionnalités mis en cache pour votre organisation. Présent uniquement pour certains types de compte. Actualisé automatiquement. Un fichier compagnon `policy-limits.json.stamp.json` enregistre le compte ou la clé API auquel appartient le cache. Claude Code supprime les deux fichiers lorsque vous vous déconnectez. |

1580 1582 

1581<span id="state-files-to-keep" />1583<span id="state-files-to-keep" />

1582 1584 


1658Vous 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.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.

1659 1661 

1660| Supprimer | Vous perdez |1662| Supprimer | Vous perdez |

1661| ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |1663| ---------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1662| `~/.claude/projects/` | Reprendre, continuer et rembobiner pour les sessions passées, et mémoire automatique pour chaque projet |1664| `~/.claude/projects/` | Reprendre, continuer et rembobiner pour les sessions passées, et mémoire automatique pour chaque projet |

1663| `~/.claude/history.jsonl` | Rappel d'invite de flèche vers le haut, recherche d'historique `Ctrl+R` et complétion de commande shell `!` |1665| `~/.claude/history.jsonl` | Rappel d'invite de flèche vers le haut, recherche d'historique `Ctrl+R` et complétion de commande shell `!` |

1664| `~/.claude/paste-cache/` | Texte collé dans les invites rappelées ; voir [coller du contenu volumineux](/docs/fr/terminal-config#paste-large-content) |1666| `~/.claude/paste-cache/` | Texte collé dans les invites rappelées ; voir [coller du contenu volumineux](/docs/fr/terminal-config#paste-large-content) |


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

1673| `~/.claude/policy-limits.json` | Rien. Actualisé automatiquement. |1675| `~/.claude/policy-limits.json` | Rien. Actualisé automatiquement. |

1674| `~/.claude/tasks/` | Listes de tâches qu'une session reprise récupérerait |1676| `~/.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 |

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

1676| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/` | Rien. Répertoires hérités non écrits par les versions actuelles. |1679| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/` | Rien. Répertoires hérités non écrits par les versions actuelles. |

1677 1680 

claude-projects.md +538 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Laissez Claude coordonner le travail en cours avec Projects

6 

7> Donnez à Claude un ensemble de travaux connexes dans une conversation et laissez-le coordonner des sessions cloud parallèles qui partagent des référentiels, des instructions et la mémoire.

8 

9<Note>

10 Projects est en bêta publique sur les plans Pro et Max et se déploie progressivement, en commençant par les comptes qui ont utilisé les [sessions cloud](/docs/fr/claude-code-on-the-web) et qui n'ont pas de projets existants dans le chat claude.ai ou Cowork. Il n'est pas encore disponible sur les plans Team ou Enterprise. Si **Projects** n'apparaît pas dans la barre latérale sur [claude.ai/code](https://claude.ai/code) ou dans l'onglet Code de l'[application de bureau](/docs/fr/desktop), le déploiement n'a pas encore atteint votre compte, et vous pouvez [rejoindre la liste d'attente](https://claude.com/form/projects). [Exécuter des agents en parallèle](/docs/fr/agents) énumère ce que vous pouvez utiliser en attendant.

11</Note>

12 

13Un projet est une conversation en cours unique où Claude coordonne un flux de travaux connexes pour vous. Vous lui dites ce qui doit être fait et il démarre un thread pour chaque tâche. Chaque thread est une [session cloud](/docs/fr/claude-code-on-the-web) : Claude Code s'exécutant dans le cloud plutôt que sur votre machine. Les threads s'exécutent en parallèle et continuent après que vous ayez fermé l'ordinateur portable, et vous pouvez les vérifier et les diriger depuis votre téléphone.

14 

15Sans projet, l'exécution de plusieurs sessions signifie faire la coordination vous-même : vous décidez sur quoi chacun travaille, répétez le même contexte au début de chacun, et vérifiez lequel a terminé ou a besoin d'une réponse. Avec un projet, vous pouvez plutôt :

16 

17* **Envoyer le travail à un seul endroit** : collez un rapport de bug, une trace de pile ou une liste de tâches dans la conversation chaque fois qu'une apparaît. Claude démarre un thread pour chaque élément de travail ou le transmet au thread déjà en train de travailler dans ce domaine, et répond aux questions rapides sur place.

18* **Définir le contexte une seule fois** : chaque nouveau thread commence avec les référentiels, les instructions et la mémoire du projet, donc une règle que vous énoncez une seule fois, comme la branche à cibler, atteint tous les threads.

19* **Partez et revenez au travail terminé** : quand vous revenez une heure plus tard ou le lendemain matin, le volet **Overview** montre quels threads ont terminé, quelles pull requests sont prêtes pour examen, et quel thread attend votre réponse.

20 

21Si vous connaissez déjà le travail que vous voulez qu'un projet exécute, allez directement à [Créer un projet](#create-a-project).

22 

23<h2 id="when-to-use-a-project">

24 Quand utiliser un projet

25</h2>

26 

27Un projet vaut la peine d'être créé quand le travail a un objectif qui dépasse une session et continue à produire des tâches. Ces types de travaux conviennent bien à un projet :

28 

29* **Un objectif sur plusieurs référentiels** : « Mettre à jour chaque service avec la nouvelle configuration lint. » Claude peut exécuter un thread par référentiel, chacun avec sa propre pull request, et le volet [**Overview**](#see-what-needs-you-in-overview) montre lesquels sont prêts pour examen.

30* **Un domaine que vous continuez à alimenter** : les bugs, les traces de pile et les demandes d'examen pour un service, collés dans la conversation au fur et à mesure qu'ils vous parviennent. Une mise en garde que vous dites à Claude de mémoriser après une correction est dans la [mémoire du projet](#give-a-project-standing-context) pour la prochaine.

31* **Une construction ou une migration plus grande qu'une session** : « Construire ce que `docs/spec.md` décrit » ou « Migrer l'application hors de l'ORM obsolète. » Le travail se divise en threads qui prennent chacun une partie, les décisions que vous demandez à Claude de mémoriser au début atteignent les threads ultérieurs, et la spécification change et les bugs que vous trouvez pendant la construction vont dans la même conversation.

32* **Un travail qui n'est pas du code** : un dossier de contrats ou une exportation de tickets d'assistance sur laquelle vous revenez continuellement avec de nouvelles questions, comme « trouver les dix erreurs d'intégration les plus courantes dans ces tickets. » Téléchargez les documents au lieu d'ajouter un référentiel, et les threads livrent chaque rapport en tant que fichier sur l'onglet [**Library**](#see-what-needs-you-in-overview) du projet.

33 

34Dans n'importe lequel d'entre eux, vous pouvez envoyer un lot de tâches, dire à Claude de commencer sans vous demander de confirmer, vous éloigner et trouver les threads qui vous attendent sous [**Waiting on you**](#see-what-needs-you-in-overview) quand vous êtes de retour, ou demander à Claude de mettre une partie du travail sur un calendrier en tant que [routine](/docs/fr/routines). Si c'est votre situation, [créez un projet](#create-a-project).

35 

36<h3 id="when-something-else-fits-better">

37 Quand quelque chose d'autre convient mieux

38</h3>

39 

40Les threads fonctionnent sur les référentiels GitHub et sur les fichiers, dossiers et dossiers Google Drive que vous téléchargez vers le projet, pas sur les fichiers ou outils qui n'existent que sur votre machine. Quelque chose d'autre convient mieux dans ces cas :

41 

42* **Une tâche qui tient dans une session** : « Corriger le test de connexion instable. » Démarrez une [session cloud](/docs/fr/claude-code-on-the-web) vous-même.

43* **Un travail qui nécessite des outils ou des services que seule votre machine peut atteindre** : une base de données locale, un émulateur d'appareil, une API derrière votre VPN. Utilisez une session locale, ou [agent view](/docs/fr/agent-view) pour en exécuter plusieurs à la fois. Si le travail ne nécessite que des fichiers locaux, téléchargez-les vers le projet à la place.

44* **Une tâche qui se répète selon un calendrier sans conversation autour** : « Publier un rapport de dépendance chaque lundi. » Créez une [routine](/docs/fr/routines) seule.

45* **Plusieurs personnes donnant du travail à Claude et le dirigeant ensemble dans un canal Slack** : voir [Claude Tag](https://claude.com/docs/claude-tag/overview).

46 

47Un projet utilise les mêmes limites de plan que vos autres sessions Claude Code et les utilise plus rapidement. [Utilisation et coût](#usage-and-cost) couvre ce qui utilise votre plan et comment le réduire.

48 

49<h2 id="how-a-project-is-organized">

50 Comment un projet est organisé

51</h2>

52 

53Un projet est une conversation de coordination unique avec Claude plus les threads qu'il démarre pour faire le travail. Voici ses parties :

54 

55* **La conversation du projet** : une session longue durée unique où Claude agit en tant que coordinateur. Il prend ce que vous envoyez, décide ce qui devient un thread, et garde une trace de chaque thread qu'il a démarré. Il voit ce que les threads rapportent, pas chaque étape qu'ils prennent.

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** :

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 aussi

60 * 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é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.

63 

64Les threads ne reprennent rien de la configuration Claude Code sur votre propre machine. [Obtenir des skills, des plugins, des connecteurs et des outils dans les threads](#get-skills-plugins-connectors-and-tools-into-threads) couvre comment leur donner ce qui leur manquerait autrement.

65 

66Voici comment ces parties se connectent, de vous à travers la conversation aux threads qui font le travail, avec **Overview** qui suit leur état :

67 

68<Frame>

69 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=dbf446f69f0bbdb9961d21af207cb93b" className="dark:hidden" alt="Diagramme d'un projet. Vous écrivez dans la conversation du projet, où Claude répond ou démarre un thread. Chaque thread est une session cloud travaillant sur sa propre branche et pull request. Le volet Overview énumère les threads par état, comme prêt pour examen, en attente de vous et en cours." width="600" height="250" data-path="images/claude-projects-overview.svg" />

70 

71 <img src="https://mintcdn.com/claude-code/e8CLbxM17eD7cAiv/images/claude-projects-overview-dark.svg?fit=max&auto=format&n=e8CLbxM17eD7cAiv&q=85&s=549a5ba9fea8433729babc37a1f6e9c8" className="hidden dark:block" alt="Diagramme d'un projet. Vous écrivez dans la conversation du projet, où Claude répond ou démarre un thread. Chaque thread est une session cloud travaillant sur sa propre branche et pull request. Le volet Overview énumère les threads par état, comme prêt pour examen, en attente de vous et en cours." width="600" height="250" data-path="images/claude-projects-overview-dark.svg" />

72</Frame>

73 

74<h2 id="create-a-project">

75 Créer un projet

76</h2>

77 

78Vous créez et utilisez des projets à [claude.ai/code](https://claude.ai/code), dans l'onglet Code de l'application de bureau, ou dans l'application mobile Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) et [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Dans le navigateur et l'application de bureau, il y a deux façons de démarrer un projet :

79 

80* **À partir de zéro**, quand vous connaissez le flux de travail que vous voulez que Claude exécute : ouvrez la boîte de dialogue **New project** et nommez-la. [Démarrer un nouveau projet à partir de zéro](#start-a-new-project-from-scratch) parcourt la boîte de dialogue.

81* **À partir d'une session cloud qui fait déjà le travail** : choisissez **Continue as a project** dans le menu de cette session, et Claude propose la configuration du projet à partir de ce que la session faisait. Voir [Démarrer à partir d'une session cloud existante](#start-from-an-existing-cloud-session).

82 

83De toute façon, [vérifiez d'abord les prérequis](#check-the-prerequisites).

84 

85<h3 id="check-the-prerequisites">

86 Vérifier les prérequis

87</h3>

88 

89Avant de créer un projet, vérifiez votre plan, votre configuration GitHub et ce que le travail doit atteindre :

90 

91* **Plan** : vous êtes sur Pro ou Max et **Projects** s'affiche dans votre barre latérale.

92* **GitHub, si le projet travaillera sur du code** : votre code est sur github.com plutôt que sur GitHub Enterprise Server, GitLab ou Bitbucket, votre compte GitHub connecté y a accès en push, et l'application Claude GitHub est installée dessus. Si vous avez connecté GitHub avec [`/web-setup`](/docs/fr/web-quickstart#connect-from-your-terminal), ce token permet à vos autres sessions cloud d'atteindre un référentiel mais n'est pas suffisant pour les threads du projet, qui ont besoin de l'application Claude GitHub. [Configurer l'accès GitHub](#set-up-github-access) a les étapes.

93* **Réseau, identifiants et outils** : ceux-ci proviennent de l'[environnement cloud](#choose-an-environment-for-threads) du projet. L'environnement par défaut atteint déjà [les registres de packages courants](/docs/fr/cloud-environments#default-allowed-domains), donc vérifiez ceci seulement si le travail a besoin d'autres domaines, d'un secret ou d'un outil qui n'est pas préinstallé. Si le travail a besoin d'un serveur MCP, vérifiez qu'il s'affiche comme connecté dans vos [connecteurs claude.ai](https://claude.ai/customize/connectors).

94 

95<h3 id="start-a-new-project-from-scratch">

96 Démarrer un nouveau projet à partir de zéro

97</h3>

98 

99Démarrer un projet à partir de zéro signifie ouvrir la boîte de dialogue **New project**, nommer le flux de travail et éventuellement lui donner un objectif et les référentiels et fichiers sur lesquels il travaille. Seul le nom est requis, vous pouvez donc créer le projet en premier et remplir le reste au fur et à mesure que le travail prend forme.

100 

101<Steps>

102 <Step title="Ouvrir Projects">

103 À [claude.ai/code](https://claude.ai/code) ou dans l'onglet Code de l'application de bureau, sélectionnez **Projects** dans la barre latérale gauche, puis sélectionnez **New project**. Dans un navigateur, vous pouvez également aller directement à [claude.ai/code/projects/browse](https://claude.ai/code/projects/browse).

104 </Step>

105 

106 <Step title="Remplir la boîte de dialogue New project">

107 Limitez le projet à un flux de travail que vous continuerez à ajouter, comme tout ce qu'il faut pour maintenir une API sous sa cible de latence. [Quand utiliser un projet](#when-to-use-a-project) a plus d'exemples. Ensuite, remplissez les champs de la boîte de dialogue :

108 

109 * **Name** : comment le projet apparaît dans la liste **Projects**.

110 * **Goal** (optionnel) : une ligne de ce que vous essayez d'accomplir, comme « Maintenir la latence p95 de l'API sous 200 ms ». Claude dans la conversation travaille vers cela. Sans objectif, Claude travaille à partir des tâches que vous envoyez, et vous pouvez ajouter un objectif plus tard dans **Project settings > General**.

111 * **Context** (optionnel) : les référentiels GitHub sur lesquels ce projet travaille, plus tous les fichiers, dossiers ou dossiers Google Drive que les threads doivent lire. Cliquez sur **Add** pour chacun. Ajoutez les référentiels dont la plupart des tâches ont besoin plutôt que tous ceux que le travail pourrait toucher ; [Décider quels référentiels ajouter](#decide-which-repositories-to-add) couvre le choix, et vous pouvez en ajouter d'autres plus tard dans **Project settings > Environment**.

112 

113 Les règles permanentes sur la façon dont les threads doivent fonctionner vont dans [les instructions du projet](#give-a-project-standing-context), que vous définissez après que le projet existe.

114 </Step>

115 

116 <Step title="Créer le projet">

117 Cliquez sur **Create project**. La conversation du projet s'ouvre avec une boîte de message en bas, où vous décrivez le travail pour Claude.

118 

119 Sur votre premier projet, Claude prend un tour de son propre chef dès que le projet est créé, sauf si vous envoyez d'abord un message. Ce tour utilise votre plan. En cela, Claude peut :

120 

121 * Démarrer un thread qui explore le référentiel sans rien changer et propose les prochaines étapes, si le projet a un référentiel qu'il peut lire.

122 * Publier **Setup recommendations** tirées de vos sessions cloud récentes : référentiels à ajouter, routines à créer et threads qu'il pourrait démarrer. Chaque référentiel et routine recommandés commencent activés. Désactivez ceux que vous ne voulez pas, puis cliquez sur **Update setup** pour ajouter le reste, ou ignorez les recommandations et décrivez le travail vous-même.

123 </Step>

124</Steps>

125 

126Le projet est maintenant listé sous **Projects** dans la barre latérale, et sa conversation est ouverte. [Votre premier lot](#your-first-batch) couvre ce qu'il faut configurer avant de lui envoyer du travail.

127 

128<h3 id="start-from-an-existing-cloud-session">

129 Démarrer à partir d'une session cloud existante

130</h3>

131 

132Si vous avez déjà une session cloud qui fait du travail qui appartient à un projet, ouvrez le menu de la session dans la barre latérale et choisissez **Continue as a project** ou **Move to project** :

133 

134* **Continue as a project** crée un nouveau projet nommé d'après la session et l'ouvre. Claude lit la session et publie **Setup recommendations** dans la conversation pour que vous confirmiez. La session d'origine reste dans votre liste de sessions, et si elle était au milieu d'un tour, elle continue à s'exécuter, donc arrêtez-la vous-même si vous ne voulez pas que les deux fonctionnent à la fois. Si vous utilisez la bannière **Set up project** qui peut apparaître au-dessus de la boîte de message de la session cloud à la place, le résultat est le même, sauf que le tour en cours de la session s'arrête une fois que le projet s'ouvre.

135* **Move to project** apporte le travail de la session dans un projet existant. Il publie un message dans la conversation de ce projet demandant à Claude de lire la session et de continuer là où elle s'était arrêtée, et le nouveau travail continue dans les propres threads du projet. La session d'origine reste dans votre liste de sessions, inchangée.

136 

137<h3 id="set-up-github-access">

138 Configurer l'accès GitHub

139</h3>

140 

141La plupart de la configuration GitHub se fait une fois, pas par projet. Vous connectez votre compte GitHub à Claude une fois, et l'application Claude GitHub est installée une fois par référentiel, ou une fois pour toute une organisation GitHub si vous lui donnez tous les référentiels. Vous revenez à ces étapes quand vous ajoutez un référentiel que l'application Claude GitHub ne couvre pas encore ou un dans une organisation GitHub qui applique SSO.

142 

143<Steps>

144 <Step title="Connecter votre compte GitHub">

145 Si vous n'avez pas utilisé claude.ai/code avant, votre première visite vous guide à travers la connexion de GitHub ; voir [Connecter GitHub](/docs/fr/web-quickstart#connect-github). Sinon, utilisez l'une des [options d'authentification GitHub](/docs/fr/claude-code-on-the-web#github-authentication-options).

146 </Step>

147 

148 <Step title="Installer l'application Claude GitHub sur les référentiels du projet">

149 Installez l'[application Claude GitHub](https://github.com/apps/claude) et accordez-lui les référentiels que le projet utilisera. Sur un référentiel appartenant à une organisation GitHub, seul un propriétaire d'organisation peut terminer l'installation ; si vous n'en êtes pas un, GitHub envoie au propriétaire une demande d'installation et le projet ne peut pas utiliser le référentiel jusqu'à ce qu'il l'approuve.

150 </Step>

151 

152 <Step title="Autoriser SSO pour les organisations qui l'appliquent">

153 Si une organisation GitHub applique SAML SSO, reconnectez GitHub et autorisez l'application Claude pour cette organisation. Jusqu'à ce que vous le fassiez, les référentiels privés de cette organisation n'apparaissent pas dans la boîte de dialogue **New project** ou **Project settings > Environment**.

154 </Step>

155</Steps>

156 

157Quand l'une de ces étapes est incomplète, la boîte de dialogue **New project** et la page du projet nomment l'étape manquante et créent un lien vers où vous la terminez. Terminez l'étape là, puis cliquez sur **Check again** si la boîte de dialogue l'offre. Si un référentiel manque toujours de la liste après, ouvrez l'installation de l'application Claude GitHub sur GitHub, à [github.com/settings/installations](https://github.com/settings/installations) pour un compte personnel, et confirmez que le référentiel est listé sous **Repository access**. Pour les messages d'erreur qu'un thread ou le projet rapporte quand l'accès est toujours mauvais, voir [Erreurs d'accès au référentiel](#repository-access-errors).

158 

159<h2 id="work-in-a-project">

160 Travailler dans un projet

161</h2>

162 

163Donnez du travail à Claude à travers la conversation du projet : des tâches une à la fois ou plusieurs à la fois, plus des mises à jour et des pensées vagues au fur et à mesure qu'elles arrivent. Claude achemine chaque message, et les threads font le travail et rapportent.

164 

165<h3 id="your-first-batch">

166 Votre premier lot

167</h3>

168 

169Avant d'envoyer à un nouveau projet un lot de travail, configurez-le pour que les premiers threads reviennent comme vous le souhaitez :

170 

1711. [Écrire les instructions du projet](#write-project-instructions) : le brief que chaque thread commence, comme la branche à cibler, comment un thread vérifie son travail et ce qui a besoin de votre approbation.

1722. Envoyez un petit morceau du vrai travail, ou démarrez l'un des threads que Claude a suggérés, et ouvrez le thread quand il termine pour voir comment il rapporte et ce qu'il a fait sur sa branche. S'il a supposé quelque chose de mal ou ne pouvait pas atteindre ce dont il avait besoin, [Les threads ont deviné ou se sont arrêtés au lieu de demander](#threads-guessed-or-stalled-instead-of-asking) couvre où corriger cela.

1733. Vérifiez **Thread model** et **Thread effort** dans **Project settings > General**. Un nouveau projet exécute chaque thread sur Opus à effort élevé, ce qui utilise votre plan le plus rapidement ; [Choisir des modèles et laisser Claude gérer le contexte](#choose-models-and-let-claude-manage-context) couvre les alternatives.

1744. Demandez à Claude de [proposer des threads avant de les démarrer et d'en exécuter quelques-uns à la fois](#tune-how-claude-runs-a-project), et abandonnez ces limites une fois que quelques threads reviennent comme vous le souhaitez.

175 

176<h3 id="send-work-and-read-results">

177 Envoyer du travail et lire les résultats

178</h3>

179 

180Claude décide où va chaque message que vous envoyez dans la conversation :

181 

182* Une question rapide obtient généralement une réponse dans la conversation.

183* Le nouveau travail va à un nouveau thread ou à un thread qui travaille déjà dans ce domaine, et Claude vous dit lequel. Chaque nouveau thread s'affiche sous votre message sous forme de carte : une boîte avec le titre et l'état du thread, que vous cliquez pour ouvrir le thread.

184* Plusieurs tâches non liées dans un message deviennent des threads séparés.

185 

186Si Claude achemine quelque chose différemment de ce que vous vouliez, dites-le. [Affiner la façon dont Claude exécute un projet](#tune-how-claude-runs-a-project) énumère les choses que vous pouvez lui dire, comme réutiliser un thread existant pour les suites ou répondre sur place au lieu de démarrer un thread.

187 

188Les résultats complets d'un thread restent dans le thread, et vous ouvrez sa carte dans la conversation pour les lire. Les fichiers qu'un thread a produits sont également sur l'onglet **Library** dans **Overview**.

189 

190Parfois, Claude propose des threads au lieu de les démarrer, dans une liste **Suggested threads**. Cliquez sur la flèche d'une suggestion pour démarrer ce thread. Quand plusieurs sont listés, un bouton sous la liste les démarre tous.

191 

192<h3 id="review-a-thread’s-pull-request">

193 Examiner la pull request d'un thread

194</h3>

195 

196Quand un thread change du code, voici ce qu'il fait sauf si vous lui dites autrement :

197 

198* **Branch** : travaille sur une nouvelle branche, commencée à partir de la branche par défaut du référentiel.

199* **Pull request** : en ouvre une quand vous le demandez, et peut en ouvrir une seule pour une correction de bug ou un autre changement concret.

200* **Après l'ouverture** : surveille la pull request avec [auto-fix](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) activé, que auto-fix soit activé ou non pour vos autres sessions cloud. Il pousse des corrections quand CI échoue, traite les commentaires d'examen, et répond dans le thread quand les vérifications réussissent et la pull request est prête pour vous.

201 

202Quand un thread a poussé une branche ou ouvert une pull request, sa carte dans la conversation peut afficher un bouton pour l'étape suivante :

203 

204* **Resolve conflicts**, **Fix CI**, **Address comments**, et **Merge it** envoient cette instruction au thread en tant que message de vous, vous pouvez donc inviter le thread vous-même au lieu d'attendre qu'il réagisse à la pull request.

205* **Review PR** ouvre la pull request sur GitHub.

206* **Create PR** apparaît quand un thread inactif a poussé une branche mais n'a pas ouvert de pull request. Le cliquer crée la pull request à partir de cette branche directement plutôt que d'envoyer au thread une instruction pour en ouvrir une.

207 

208Pour changer quand les threads ouvrent les pull requests, par exemple seulement quand vous le demandez, ou quelle branche ils commencent, dites-le dans la tâche ou dans [les instructions du projet](#write-project-instructions).

209 

210<h3 id="see-what-needs-you-in-overview">

211 Voir ce qui vous attend dans Overview

212</h3>

213 

214Le volet **Overview** à côté de la conversation suit les threads du projet. Il est déjà ouvert la première fois que vous ouvrez un nouveau projet. Le bouton **Overview** dans l'en-tête du projet le ferme et le rouvre, et affiche un point quand un thread vous attend.

215 

216Dans l'application de bureau, vous obtenez également une notification de bureau quand Claude publie dans la conversation, un thread atteint une erreur ou un thread a besoin de votre entrée, vous n'avez donc pas besoin de garder le projet ouvert pour le découvrir. Pour obtenir également une notification chaque fois qu'un thread termine un tour, ou pour les désactiver pour un projet, choisissez **Notifications** dans le menu de la barre latérale du projet. Ces notifications sont uniquement de bureau : dans un navigateur, vérifiez le point sur le bouton **Overview**.

217 

218L'onglet **Threads** du volet groupe les threads par état :

219 

220| Groupe | Ce qui s'y trouve |

221| :------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

222| **Ready for review** | Threads dont la pull request est ouverte et en attente d'examen |

223| **Waiting on you** | Threads qui ont besoin de votre réponse ou approbation, ou qui ont échoué |

224| **Working** | Threads toujours en cours d'exécution |

225| **Landing** | Threads dont la pull request est approuvée ou en attente de fusion |

226| **Idle** | Threads qui ont terminé et n'attendent rien |

227| **Resolved** | Threads marqués comme terminés : par vous depuis le menu du thread, par Claude une fois que vous avez pris la dernière étape, comme fusionner sa pull request, ou automatiquement après une semaine sans activité. Vous pouvez en rouvrir un depuis le même menu |

228 

229Les autres onglets du volet sont **Library** pour les fichiers et dossiers que vous avez ajoutés et les fichiers que les threads ont produits, **Pull requests** une fois que les threads en ont ouvert, et **Routines** pour les [routines](/docs/fr/routines) que Claude a configurées à partir de ce projet.

230 

231<h3 id="open-a-thread-when-you-need-control">

232 Ouvrir un thread quand vous avez besoin de contrôle

233</h3>

234 

235Cliquez sur la carte d'un thread dans la conversation ou sa ligne dans **Overview** pour ouvrir sa transcription dans le volet Overview. De là, vous pouvez :

236 

237* Lire ce que Claude a fait, étape par étape.

238* Diriger la tâche en écrivant dans la boîte de message propre du thread. Un message là va directement à ce thread, tandis qu'une suite dans la conversation du projet ne l'atteint que quand Claude correspond la suite à ce thread.

239* Répondre à une invite de permission que le thread attend.

240* Interrompre le thread avec **Stop**, qui remplace le bouton d'envoi pendant que le thread fonctionne, ou en appuyant sur Échap.

241 

242<h3 id="choose-models-and-let-claude-manage-context">

243 Choisir des modèles et laisser Claude gérer le contexte

244</h3>

245 

246Définissez les modèles et l'effort dans **Project settings > General**. Un nouveau projet exécute Opus partout, avec un [effort](/docs/fr/model-config#adjust-effort-level) élevé pour les threads et un effort faible pour la conversation :

247 

248* **Thread model** et **Thread effort** s'appliquent aux threads. Pour utiliser un modèle différent pour une tâche, demandez-le dans la tâche ; pour un thread déjà en cours d'exécution, utilisez le sélecteur de modèle de ce thread.

249* **Coordinator model** et **Coordinator effort** s'appliquent à Claude dans la conversation du projet.

250 

251Vous ne gérez pas les fenêtres de contexte dans un projet. Les threads se compactent automatiquement, et la conversation fonctionne à partir des messages récents, des threads récents et de la mémoire du projet plutôt que de son historique complet, elle continue donc aussi longtemps que le projet s'exécute. Mettez tout ce qui ne doit jamais être supprimé dans la [mémoire du projet](#give-a-project-standing-context). Si un thread dépasse sa fenêtre de contexte, il affiche [Claude a manqué de contexte à ce tour](#context-limit).

252 

253<h3 id="tune-how-claude-runs-a-project">

254 Affiner la façon dont Claude exécute un projet

255</h3>

256 

257Dites à Claude dans la conversation combien de threads exécuter à la fois, quand publier des mises à jour et quand ouvrir des pull requests. Si Claude coordonne d'une manière que vous ne voulez pas, dites-le. Par exemple, vous pouvez dire :

258 

259* « Proposer des threads et attendre mon approbation avant de les démarrer » ou « Démarrer ceux-ci maintenant sans me demander de confirmer »

260* « Exécuter au maximum deux threads à la fois » ou « Réutiliser un thread existant pour les suites dans le même domaine »

261* « Publier des mises à jour plus courtes » ou « Publier seulement quand quelque chose se termine ou est bloqué »

262* « Donnez-moi une mise à jour d'état sur chaque thread »

263* « Faire cette tâche avec un modèle plus petit »

264* « N'ouvrez pas de pull request jusqu'à ce que j'aie vu le plan »

265* « Dites-moi ce qui ne va pas dans ces référentiels et ne corrigez rien pour l'instant », quand vous voulez examiner les résultats avant qu'aucun d'eux ne devienne un thread

266* « Répondre à cela ici au lieu de démarrer un thread », quand Claude démarre un thread pour quelque chose que vous aviez l'intention comme une question rapide

267 

268Claude enregistre les préférences comme celles-ci dans la [mémoire du projet](#give-a-project-standing-context) de lui-même et les suit dans les threads ultérieurs. Ce sont des instructions que Claude respecte, pas des paramètres appliqués, donc une limite de thread que vous donnez de cette façon n'est pas un plafond dur. Ajoutez-en une aux instructions du projet quand vous voulez qu'elle soit formulée exactement et appliquée à chaque thread dès le départ.

269 

270<h3 id="unblock-a-thread-waiting-on-approval">

271 Débloquer un thread en attente d'approbation

272</h3>

273 

274Les threads s'exécutent en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) quand le modèle du thread le supporte, donc la plupart des appels d'outils s'exécutent sans vous demander. Quand un thread a besoin de votre approbation, l'invite est à l'intérieur de ce thread et le thread attend jusqu'à ce que vous y répondiez. Dire à Claude dans la conversation du projet d'aller de l'avant ne l'atteint pas.

275 

276Chaque approbation couvre cette invite, ou le reste de ce thread si vous choisissez l'option plus large. Pour laisser chaque thread exécuter certaines commandes sans demander, ou pour en bloquer certaines, ajoutez des [règles de permission](/docs/fr/permissions) au `.claude/settings.json` du référentiel. Les threads ne les appliquent que dans un projet avec un référentiel ; voir [Ce que les threads reprennent de vos référentiels](#what-threads-pick-up-from-your-repositories).

277 

278<h2 id="give-a-project-standing-context">

279 Donner un contexte permanent à un projet

280</h2>

281 

282La mémoire du projet, les instructions du projet et les référentiels, fichiers et environnement du projet portent le contexte sur les threads. Vous définissez chacun une fois et il s'applique à chaque nouveau thread.

283 

284| Contexte | Ce qu'il porte | Comment vous le définissez |

285| :-------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

286| Mémoire du projet | Notes que Claude garde sur le projet, comme les exigences, les décisions et les pièges, stockées sous forme de fichiers. Chaque thread lit le fichier d'index `MEMORY.md` au démarrage et ouvre les autres fichiers quand il en a besoin | Demandez à Claude dans la conversation du projet ou n'importe quel thread de mémoriser une exigence, une décision ou un piège, ou d'en oublier un. Lisez, modifiez et supprimez les fichiers dans **Project settings > Memory** |

287| Instructions du projet | Texte envoyé à chaque nouveau thread et à Claude dans la conversation du projet, jusqu'à 16 000 caractères. [Écrire les instructions du projet](#write-project-instructions) couvre ce qu'il faut y mettre | **Project settings > Memory > Project instructions**, ou demandez à Claude de changer les instructions |

288| Référentiels, fichiers et environnement | Les référentiels que chaque thread clone, les dossiers et fichiers que chaque thread peut lire sous `/mnt/project-files`, et l'environnement cloud dans lequel les threads s'exécutent | Référentiels et environnement dans **Project settings > Environment**, ou demandez à Claude dans la conversation d'ajouter un référentiel au projet. Fichiers et dossiers depuis **Add** sur l'onglet **Library** dans **Overview** |

289 

290**Project settings > Memory** énumère ces fichiers sous **Auto memory**, car Claude les écrit lui-même en travaillant dans le projet. Ils sont distincts de la [mémoire automatique](/docs/fr/memory) que Claude Code garde sur votre machine, même si les deux utilisent un index `MEMORY.md`. La mémoire du projet est également distincte des fichiers `CLAUDE.md` dans les référentiels du projet. Chaque thread lit toujours ces fichiers `CLAUDE.md` à partir de son clone au démarrage, donc mettez les instructions sur un référentiel dans son `CLAUDE.md` et les notes sur le projet dans la mémoire du projet.

291 

292<h3 id="write-project-instructions">

293 Écrire les instructions du projet

294</h3>

295 

296Les instructions du projet sont le brief que chaque nouveau thread commence. Cliquez sur l'icône d'engrenage dans l'en-tête du projet pour ouvrir **Project settings**, puis allez à **Memory > Project instructions**. Un brief utile couvre :

297 

298* À quoi sert le projet

299* Où le travail se fait : quels référentiels, quelle branche commencer, comment nommer les pull requests

300* Comment un thread vérifie son propre travail avant de l'appeler terminé

301* Quoi faire quand quelque chose dont il a besoin manque

302* Ce qui a besoin de votre approbation en premier

303 

304Par exemple :

305 

306```text theme={null}

307Ce projet maintient la latence p95 de l'API des paiements sous 200 ms : profilage, corrections de requêtes et de cache, et les mises à jour de dépendances qui les accompagnent, dans le référentiel payments-api.

308 

309- Brancher à partir de main et ouvrir une pull request brouillon par thread.

310- Avant d'appeler le travail terminé, exécutez `make test` et `make lint` et collez les lignes de résumé dans votre message final.

311- Si vous ne pouvez pas atteindre quelque chose dont vous avez besoin, comme un référentiel, un secret, une API ou un connecteur, dites exactement ce qui manque dans votre premier message et arrêtez. Ne substituez pas, ne simulez pas et ne devinez pas.

312- Ne fusionnez pas, ne forcez pas de push et ne changez pas la configuration CI sans me le demander dans le thread.

313```

314 

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

316 

317<h3 id="decide-which-repositories-to-add">

318 Décider quels référentiels ajouter

319</h3>

320 

321Les référentiels que vous ajoutez à un projet viennent avec tout ce qu'ils contiennent, leur code, `CLAUDE.md` et skills, dans chaque thread. Les référentiels que vous n'ajoutez pas sont toujours à portée : un thread peut en ajouter un à lui-même quand sa tâche en a besoin. La plupart des projets utilisent les deux :

322 

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

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

325 

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

327 

328Une fois que le projet a des référentiels, Claude ne peut ajouter que des référentiels d'un propriétaire GitHub que le projet utilise déjà, qu'il en ajoute un au projet ou qu'un thread en ajoute un à lui-même. Pour apporter un référentiel d'un propriétaire différent, ajoutez-le au projet vous-même dans **Project settings > Environment**.

329 

330Pour un projet qui s'étend sur plusieurs référentiels, comme une fonctionnalité avec du code serveur, web, mobile et de bureau, ajoutez le ou les deux référentiels que presque chaque tâche touche et nommez les autres dans [les instructions du projet](#write-project-instructions) pour que Claude sache où le reste du code vit. Les threads commencent alors petit et tirent les autres référentiels seulement pour les tâches qui en ont besoin.

331 

332<h3 id="what-threads-pick-up-from-your-repositories">

333 Ce que les threads reprennent de vos référentiels

334</h3>

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.

337 

338| Dans chaque référentiel | Un référentiel | Plusieurs référentiels |

339| :------------------------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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 |

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é |

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 

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

346 

347<h3 id="choose-an-environment-for-threads">

348 Choisir un environnement pour les threads

349</h3>

350 

351Chaque nouveau thread démarre dans l'[environnement cloud](/docs/fr/cloud-environments) du projet. L'environnement définit quels domaines les threads peuvent atteindre, quelles variables d'environnement ils ont, quels identifiants API sont ajoutés à leurs demandes et ce que le script de configuration installe avant que Claude commence. Les threads utilisent un environnement par défaut hébergé par Anthropic jusqu'à ce que vous en choisissiez un dans **Project settings > Environment**.

352 

353Si les threads ont besoin d'atteindre une API interne ou un registre de packages privé, ou ont besoin d'un token que votre machine détient normalement, changez l'environnement plutôt que le projet : voir [Accès réseau](/docs/fr/cloud-environments#network-access), [Ajouter des identifiants API](/docs/fr/cloud-environments#add-api-credentials) et [Scripts de configuration](/docs/fr/cloud-environments#setup-scripts).

354 

355<h3 id="get-skills-plugins-connectors-and-tools-into-threads">

356 Obtenir des skills, des plugins, des connecteurs et des outils dans les threads

357</h3>

358 

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 

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

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.

365 

366Pour voir quels connecteurs un thread en cours d'exécution a à claude.ai/code, ouvrez le thread et sélectionnez **Connectors** dans le menu **+** à côté de sa boîte de message. Désactiver un connecteur là le supprime de ce thread, et il reste désactivé pour les threads démarrés plus tard jusqu'à ce que vous le réactiviez. Un thread reprend un connecteur que vous ajoutez ou reconnectez après le prochain message que vous lui envoyez.

367 

368<h2 id="project-settings-reference">

369 Référence des paramètres du projet

370</h2>

371 

372Vous changez les paramètres du projet à claude.ai/code ou dans l'application de bureau, pas dans `settings.json`. Ouvrez **Project settings** depuis **Settings** dans le menu de la barre latérale du projet ou depuis l'icône d'engrenage dans l'en-tête du projet.

373 

374Les paramètres s'enregistrent au fur et à mesure que vous les modifiez ; un champ de texte que vous modifiez, comme l'objectif ou les instructions, affiche **Save changes** et **Discard** jusqu'à ce que vous le quittiez. Les modifications apportées aux instructions, référentiels, plugins et environnement dans **Project settings** atteignent les nouveaux threads, pas les threads déjà en cours d'exécution.

375 

376| Paramètre | Section | Ce qu'il contrôle |

377| :------------------------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------- |

378| Nom, icône et objectif | General | Le nom et l'icône du projet dans la barre latérale, et son objectif d'une ligne |

379| Modèle et effort du coordinateur | General | Le modèle et le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) pour Claude dans la conversation du projet |

380| Modèle et effort du thread | General | Le modèle et le niveau d'effort pour les threads |

381| Instructions du projet | Memory | [Règles permanentes](#give-a-project-standing-context) que chaque nouveau thread reçoit |

382| Référentiels du projet | Environment | Les référentiels que les nouveaux threads clonent |

383| Environnement cloud | Environment | L'[environnement cloud](#choose-an-environment-for-threads) dans lequel les nouveaux threads s'exécutent |

384| Connecteurs | Environment | Un lien pour gérer les connecteurs claude.ai que les threads obtiennent |

385| Plugins | Plugins | Les plugins qui se chargent dans chaque nouveau thread |

386| Usage | Usage | [Utilisation des tokens](#usage-and-cost) par thread et par modèle |

387| Memory | Memory | Les [fichiers de mémoire](#give-a-project-standing-context) du projet |

388| Restart Claude | General | Redémarre la conversation du projet quand [Claude cesse de répondre là](#claude-hasnt-responded) |

389| Pause, Archive, Delete | General | Arrête, masque ou supprime le projet ; voir [Pause, archive ou suppression d'un projet](#pause-archive-or-delete-a-project) |

390 

391<h3 id="pause-archive-or-delete-a-project">

392 Pause, archive ou suppression d'un projet

393</h3>

394 

395Les trois contrôles sont en bas de **Project settings > General** :

396 

397* **Pause** : arrête tout à la fois. Chaque thread en cours d'exécution et la conversation sont interrompus, aucun nouveau thread ne démarre, les routines ne s'exécutent pas, et le projet n'accepte pas de messages jusqu'à ce que vous le repreniez. Cliquez sur **Resume** au même endroit ou sur la bannière au-dessus de la boîte de message du projet ; un thread en pause continue quand vous lui envoyez un message après cela.

398* **Archive** : masque le projet de la barre latérale et archive ses threads, ce qui arrête tout thread qui était en cours d'exécution ou surveillait une pull request. Les routines du projet ne s'exécutent pas pendant qu'il est archivé. Pour ramener le projet, ouvrez-le à partir de la page Projects et cliquez sur **Unarchive**. Ses threads restent archivés jusqu'à ce que vous les désarchiviez individuellement à partir de la liste des sessions.

399* **Delete** : supprime définitivement le projet ainsi que ses threads, sa mémoire et ses fichiers, et désactive les routines du projet. Cela ne peut pas être annulé. Les branches et pull requests que les threads ont poussées vers GitHub ne sont pas affectées.

400 

401<h2 id="usage-and-cost">

402 Utilisation et coût

403</h2>

404 

405L'utilisation du projet compte par rapport aux mêmes [limites de plan](/docs/fr/errors#youve-hit-your-session-limit) que vos autres sessions Claude Code, et un projet ne peut pas dépenser au-delà de ces limites de lui-même.

406 

407Un thread qui atteint la limite de votre plan attend et continue de lui-même quand la limite se réinitialise, donc le travail que vous avez laissé en cours d'exécution commence à utiliser votre prochaine fenêtre d'utilisation sans message de vous. [Un thread a atteint la limite d'utilisation](#usage-limit-reached) couvre ce que vous voyez, comment l'arrêter et le seul cas qui n'attend pas.

408 

409Le travail dépasse vos limites de plan seulement si vous avez activé les [crédits d'utilisation](/docs/fr/costs#add-usage-credits-to-your-subscription) pour votre compte. Un thread ne peut pas les activer pour vous.

410 

411<h3 id="what-draws-on-your-plan">

412 Ce qui utilise votre plan

413</h3>

414 

415Un projet utilise vos limites plus rapidement qu'une seule session, et sur un plan Pro en particulier, vous devriez vous attendre à atteindre votre limite plus tôt les jours où vous en exécutez un. Ce sont les parties d'un projet qui utilisent votre plan :

416 

417* **Threads en cours d'exécution** : chacun est une session complète, et plusieurs peuvent s'exécuter à la fois. Il n'y a pas de nombre fixe ; Claude démarre autant que le travail l'exige, et une limite que vous [demandez](#tune-how-claude-runs-a-project) est une préférence plutôt qu'un plafond. La limite appliquée est 200 nouveaux threads par jour sur vos projets.

418* **La conversation** : Claude utilise des tokens en lisant ce que les threads rapportent et en décidant quoi faire ensuite.

419* **Threads surveillant une pull request** : un thread inactif se réveille et utilise votre plan à nouveau quand CI échoue ou un commentaire d'examen arrive sur sa pull request. Pour arrêter cela, demandez dans le thread de cesser de surveiller la pull request.

420 

421Un projet sans threads en cours d'exécution, sans pull requests surveillées et sans nouveaux messages n'utilise pas votre plan pendant qu'il reste inactif, et un projet archivé non plus.

422 

423<h3 id="see-and-reduce-a-project’s-usage">

424 Voir et réduire l'utilisation d'un projet

425</h3>

426 

427Ouvrez l'onglet **Usage** dans **Project settings** pour voir l'utilisation des tokens par thread et par modèle, et combien est allé à la conversation du projet. Pour la réduire :

428 

429* Une suite acheminée vers un thread qui a été inactif plus longtemps que la [durée de vie du cache](/docs/fr/prompt-caching#cache-lifetime), une heure sur Pro et Max dans les limites de votre plan, relit la conversation entière de ce thread avant de faire quoi que ce soit. Pour le nouveau travail, demander à Claude de démarrer un thread frais peut utiliser moins que de relancer un grand ancien.

430* Pour le travail qui n'a pas besoin du plus grand modèle, [choisissez un modèle plus petit ou un niveau d'effort inférieur](#choose-models-and-let-claude-manage-context) pour les threads, la conversation ou les deux.

431* Demandez à Claude dans la conversation du projet d'exécuter moins de threads à la fois, ou de répondre aux petites questions lui-même au lieu de démarrer un thread.

432 

433<h2 id="how-projects-relate-to-other-claude-code-features">

434 Comment les projets se rapportent à d'autres fonctionnalités de Claude Code

435</h2>

436 

437Plusieurs fonctionnalités de Claude Code permettent à plus d'une session de fonctionner en même temps, donc exécuter du travail en parallèle n'est pas en soi à quoi sert un projet. Dans un projet, Claude démarre et suit les sessions au lieu de vous, chacun commence à partir des mêmes référentiels, instructions et mémoire, et le travail vit dans le cloud aussi longtemps qu'il dure. Voici comment chaque fonctionnalité voisine se connecte à un projet :

438 

439* **Claude Tag** : [Claude Tag](https://claude.com/docs/claude-tag/overview) est Claude dans les canaux Slack de votre équipe, sur les plans Team et Enterprise. N'importe qui dans un canal peut lui donner du travail, tout le monde dans le canal le voit et le dirige, et il utilise les connexions qu'un administrateur a configurées pour ce canal. Un projet est le vôtre seul : vous êtes le seul à lui envoyer du travail ou à voir ses threads, il utilise votre propre accès GitHub et vos connecteurs, et il est sur Pro et Max. [Comment Claude Tag diffère de Cowork et Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) a le côté à côté.

440* **Sessions cloud** : chaque thread est une [session cloud](/docs/fr/claude-code-on-the-web), démarrée et suivie par Claude au lieu de par vous. Une session cloud que vous avez démarrée vous-même peut devenir un projet ou en alimenter un via [**Continue as a project** ou **Move to project**](#start-from-an-existing-cloud-session).

441* **Routines** : quand vous demandez du travail programmé dans un projet, Claude crée une [routine](/docs/fr/routines) qui s'exécute en tant que threads dans ce projet et apparaît sur son onglet **Routines**. Les routines que vous créez en dehors d'un projet continuent à fonctionner seules.

442* **Sessions locales et agent view** : les sessions dans votre terminal, IDE ou l'environnement local de l'application de bureau s'exécutent sur votre machine et ne peuvent pas faire partie d'un projet. [Agent view](/docs/fr/agent-view) est un écran pour suivre plusieurs de ces sessions locales ; il n'a pas de coordinateur.

443* **Worktrees** : un [worktree](/docs/fr/worktrees) donne à chaque session locale sa propre copie de travail d'un référentiel pour que les sessions parallèles sur votre machine ne s'écrasent pas mutuellement. Les threads n'en ont pas besoin : chaque thread clone ses référentiels dans son propre sandbox cloud et travaille sur sa propre branche.

444* **Équipes d'agents** : une [équipe d'agents](/docs/fr/agent-teams) est une session qui démarre des sessions de coéquipiers pour une seule tâche, sur votre machine ou à l'intérieur d'une session cloud, et se termine avec cette tâche.

445* **Projects dans le chat claude.ai et Cowork** : l'[expérience Projects antérieure](https://support.claude.com/en/articles/9517075-what-are-projects), qui groupe les conversations et les fichiers de référence sans threads ni coordinateur. Ces projets continuent à fonctionner comme ils le font aujourd'hui jusqu'à ce que l'expérience repensée les atteigne.

446 

447[Exécuter des agents en parallèle](/docs/fr/agents) compare ces options côte à côte.

448 

449<h2 id="limitations">

450 Limitations

451</h2>

452 

453* Les projets sont disponibles à claude.ai/code, dans l'application de bureau et dans l'application mobile Claude, pas dans le CLI du terminal ou via Amazon Bedrock, la plateforme d'agents de Google Cloud ou Microsoft Foundry. La commande [`claude project`](/docs/fr/cli-reference) du CLI, qui gère l'état local de Claude Code pour un répertoire, n'est pas liée.

454* Les threads du projet sont des [sessions cloud](/docs/fr/claude-code-on-the-web) avec Anthropic comme fournisseur de modèle. [Sécurité](/docs/fr/security) et [Utilisation des données](/docs/fr/data-usage) couvrent comment les sessions cloud sont isolées et ce qui est conservé.

455* Une session locale ne peut pas faire partie d'un projet.

456* Le sandbox d'un thread se met en pause entre les tours et reprend quand le thread continue. Si le sandbox ne peut pas être repris, le thread continue à partir d'un clone frais, donc les modifications non validées peuvent être perdues. Sur les tâches longues, demandez à Claude de valider et de pousser le travail en cours.

457* Un projet appartient à un utilisateur. Vous ne pouvez pas partager un projet ou ses threads avec un autre utilisateur, et les transcriptions de threads n'ont pas l'option de partage que les autres sessions cloud ont. Il n'y a pas de contrôles au niveau de l'organisation pour les projets pendant la bêta.

458* Un thread appartient au seul projet qui l'a démarré. Vous ne pouvez pas déplacer ou copier un thread vers un autre projet, ou le déplacer pour qu'il soit seul. [**Move to project**](#start-from-an-existing-cloud-session) va seulement dans l'autre sens : il apporte le travail d'une session cloud dans un projet.

459 

460<h2 id="troubleshooting">

461 Dépannage

462</h2>

463 

464Pour les invites de configuration GitHub dans la boîte de dialogue **New project**, voir [Configurer l'accès GitHub](#set-up-github-access).

465 

466<h3 id="a-thread-looks-stuck">

467 Un thread semble bloqué

468</h3>

469 

470Claude ne publie pas chaque étape qu'un thread prend, donc un thread qui s'affiche comme en cours d'exécution sans nouveaux messages dans la conversation du projet fonctionne généralement toujours. Un nouveau thread provisionne également son [environnement cloud](/docs/fr/cloud-environments) avant que Claude commence, donc sa première mise à jour prend un moment. Ouvrez le thread pour lire sa transcription. Si le thread attend une invite de permission, répondez-y là.

471 

472<h3 id="threads-guessed-or-stalled-instead-of-asking">

473 Les threads ont deviné ou se sont arrêtés au lieu de demander

474</h3>

475 

476Quand plusieurs threads reviennent ayant supposé quelque chose de mal, contourné l'accès manquant ou arrêté avec « bloqué », la cause est généralement le même écart dans la configuration du projet plutôt qu'un problème avec chaque tâche. Triez les threads qui sont solides avant de corriger quoi que ce soit :

477 

4781. Demandez à Claude dans la conversation : « Pour chaque thread ouvert, énumérez ce que vous lui avez demandé de faire, ce qu'il a supposé ou ne pouvait pas atteindre, et sur quoi il attend. » Claude lit chaque thread et répond dans la conversation.

4792. Pour les threads qui ont commencé à partir d'une mauvaise hypothèse, ouvrez le thread depuis **Overview** et marquez-le résolu depuis son menu, ou dites-lui quoi faire à la place dans sa boîte de message. Sa branche et toute pull request restent sur GitHub jusqu'à ce que vous les supprimiez.

4803. Corrigez l'écart une seule fois, dans [les instructions du projet](#give-a-project-standing-context) ou l'[environnement](#choose-an-environment-for-threads), puis envoyez un thread avant d'envoyer le reste du travail à nouveau en tant que nouveaux threads.

481 

482<h3 id="claude-hasnt-responded">

483 Claude n'a pas répondu

484</h3>

485 

486La conversation du projet affiche une bannière « Claude hasn't responded » quand Claude fonctionne mais ses réponses n'atteignent pas le projet. Cliquez sur **Restart Claude** sur la bannière, ou allez à **Project settings > General** et cliquez sur **Restart** dans la ligne **Restart Claude**. Claude se reconnecte à la conversation ; toute réponse qu'il était en train d'écrire est perdue, et les threads ne sont pas affectés.

487 

488<h3 id="repository-access-errors">

489 Erreurs d'accès au référentiel

490</h3>

491 

492Trois messages signifient qu'un thread ou le projet ne peut pas atteindre l'un de ses référentiels. Un thread du projet a besoin des [prérequis GitHub](#check-the-prerequisites) même quand vos autres sessions cloud clonent le même référentiel sans problème.

493 

494* **« Couldn't start the session — Claude doesn't have GitHub access to this project's repository »**, rapporté avant le démarrage du thread, quand l'application Claude GitHub n'est pas installée sur ce référentiel, est suspendue ou n'est pas liée au compte GitHub que vous avez connecté.

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

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

497 

498Pour corriger l'un d'eux, cliquez sur le bouton que le message offre, comme **Install GitHub App** ou **Select repositories on GitHub**, puis **Check again**. Quand le bloc est du côté de l'organisation GitHub, comme un propriétaire qui n'a pas approuvé l'application ou une liste d'autorisation IP qui exclut Claude, le message affiche un lien **See how to fix** à la place. S'il n'y a pas de bouton, suivez [Configurer l'accès GitHub](#set-up-github-access), puis envoyez un autre message pour réessayer.

499 

500<h3 id="usage-limit-reached">

501 Un thread a atteint la limite d'utilisation

502</h3>

503 

504Quand un thread ou la conversation du projet atteint la limite de cinq heures ou hebdomadaire de votre plan, il continue à réessayer de lui-même et continue quand la limite se réinitialise. Pendant qu'il attend, le thread affiche **Service is busy** avec « Claude is still retrying and will continue automatically. » Vous n'avez rien à faire pour que le travail continue. Si vous préférez qu'il n'utilise pas votre prochaine fenêtre d'utilisation, cliquez sur **Stop** dans le thread, ou [mettez le projet en pause](#pause-archive-or-delete-a-project) pour tenir chaque thread. Un thread qu'une routine a démarré n'attend pas : son tour s'arrête avec une erreur de limite, et vous lui envoyez un message après que la limite se réinitialise.

505 

506[Erreurs de limite d'utilisation](/docs/fr/errors#youve-hit-your-session-limit) expliquent les limites et quand elles se réinitialisent.

507 

508<h3 id="additional-usage-credits-are-required">

509 Des crédits d'utilisation supplémentaires sont requis

510</h3>

511 

512Un thread ou la conversation du projet a fait une demande que votre plan ne couvre que avec des crédits d'utilisation, comme une à un modèle ou une taille de contexte que votre plan n'inclut pas, et les crédits d'utilisation ne sont pas activés pour votre compte. [Ajouter des crédits d'utilisation à votre abonnement](/docs/fr/costs#add-usage-credits-to-your-subscription) couvre qui peut les activer ou les acheter sur chaque plan. Une fois que les crédits sont disponibles, envoyez un autre message pour réessayer.

513 

514<h3 id="context-limit">

515 Autres messages

516</h3>

517 

518Ces messages nomment leur propre cause. Le tableau donne la prochaine étape pour chacun.

519 

520| Message | Quoi faire |

521| :------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

522| « Unable to connect to repository » avec « Claude couldn't reach GitHub to fetch your repository » | Attendez un moment, puis envoyez un autre message pour réessayer |

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

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

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

526| « Setup script failed » | Cliquez sur **Edit setup script** sur l'erreur, corrigez le script dans l'environnement, puis envoyez un autre message. [Setup script failed](/docs/fr/web-quickstart#setup-script-failed) énumère les causes courantes |

527| « Claude ran out of context on this turn » | Le thread a rempli sa fenêtre de contexte. Si le message dit que le thread continue dans une session frais, il continue de lui-même ; sinon demandez à Claude dans la conversation du projet de démarrer un nouveau thread pour le travail restant |

528| « Reached the turn limit » | Le thread a atteint le plafond sur les étapes pour un message défini par [`CLAUDE_CODE_MAX_TURNS`](/docs/fr/env-vars). Envoyez un autre message pour continuer, ou augmentez ou supprimez cette variable où elle est définie |

529 

530<h2 id="related-resources">

531 Ressources connexes

532</h2>

533 

534* [Utiliser Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) : comment fonctionnent les sessions cloud derrière chaque thread, y compris les options d'accès GitHub et l'auto-fix sur les pull requests

535* [Configurer les environnements cloud](/docs/fr/cloud-environments) : changez ce que les threads peuvent atteindre sur le réseau, donnez-leur des variables d'environnement et des identifiants API, et installez des outils avec un script de configuration

536* [Automatiser le travail avec les routines](/docs/fr/routines) : calendriers, déclencheurs et gestion des routines, y compris celles que Claude crée à partir d'un projet

537* [Gérer plusieurs agents avec agent view](/docs/fr/agent-view) : exécutez et suivez plusieurs sessions sur votre propre machine quand le travail a besoin d'outils ou de services que seule votre machine peut atteindre

538* [Projects redesigned: from folder to conversation](https://claude.com/blog/projects-redesigned) : l'annonce du lancement, avec la réflexion derrière la transformation d'un projet en conversation avec Claude

Details

78| `--bg`, `--background` | Démarrer la session en tant qu'[agent en arrière-plan](/docs/fr/agent-view) et revenir immédiatement. Affiche l'ID de session et les commandes de gestion. Combinez avec `--exec` pour exécuter une commande shell en tant que travail en arrière-plan au lieu d'une session Claude, ou avec `--agent` pour exécuter un subagent spécifique. Ne peut pas être combiné avec `-p`/`--print` ; voir la [référence d'erreur](/docs/fr/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |78| `--bg`, `--background` | Démarrer la session en tant qu'[agent en arrière-plan](/docs/fr/agent-view) et revenir immédiatement. Affiche l'ID de session et les commandes de gestion. Combinez avec `--exec` pour exécuter une commande shell en tant que travail en arrière-plan au lieu d'une session Claude, ou avec `--agent` pour exécuter un subagent spécifique. Ne peut pas être combiné avec `-p`/`--print` ; voir la [référence d'erreur](/docs/fr/errors#command-line-errors) | `claude --bg "investigate the flaky test"` |

79| `--channels` | (Aperçu de recherche) Serveurs MCP dont les notifications de [canal](/docs/fr/channels) Claude doit écouter dans cette session. Liste séparée par des espaces d'entrées `plugin:<name>@<marketplace>`. Nécessite l'authentification Anthropic via claude.ai ou une clé API Console | `claude --channels plugin:my-notifier@my-marketplace` |79| `--channels` | (Aperçu de recherche) Serveurs MCP dont les notifications de [canal](/docs/fr/channels) Claude doit écouter dans cette session. Liste séparée par des espaces d'entrées `plugin:<name>@<marketplace>`. Nécessite l'authentification Anthropic via claude.ai ou une clé API Console | `claude --channels plugin:my-notifier@my-marketplace` |

80| `--chrome` | Activer l'[intégration du navigateur Chrome](/docs/fr/chrome) pour l'automatisation web et les tests | `claude --chrome` |80| `--chrome` | Activer l'[intégration du navigateur Chrome](/docs/fr/chrome) pour l'automatisation web et les tests | `claude --chrome` |

81| `--cloud` | Avec une description de tâche, créer une nouvelle [session web](/docs/fr/claude-code-on-the-web) sur claude.ai. Avec un ID de session (`session_...` ou `cse_...`) ou une URL claude.ai/code, mettre en file d'attente un message dans cette session existante à la place, avec `-p`. Voir [envoyer un message de suivi](/docs/fr/claude-code-on-the-web#send-follow-ups-from-the-cli). | `claude --cloud "Fix the login bug"` |81| `--cloud` | Avec une description de tâche, créer une nouvelle [session web](/docs/fr/claude-code-on-the-web). Avec un ID de session (`session_...` ou `cse_...`) ou une URL claude.ai/code, mettre en file d'attente un message dans cette session existante à la place, avec `-p`. Voir [envoyer un message de suivi](/docs/fr/claude-code-on-the-web#send-follow-ups-from-the-cli). | `claude --cloud "Fix the login bug"` |

82| `--continue`, `-c` | Charger la conversation la plus récente dans le répertoire courant, y compris une [session en arrière-plan qui a terminé](/docs/fr/sessions#resume-a-session) ; l'ouverture de sessions en arrière-plan terminées nécessite Claude Code v2.1.257 ou ultérieur. Ignore les sessions créées avec `claude -p` ou le SDK Agent, et les sessions dont le premier message était `/loop`. `claude -p --continue` inclut les sessions `-p`, SDK et `/loop`. Inclut les sessions qui ont ajouté ce répertoire avec `/add-dir` | `claude --continue` |82| `--continue`, `-c` | Charger la conversation la plus récente dans le répertoire courant, y compris une [session en arrière-plan qui a terminé](/docs/fr/sessions#resume-a-session) ; l'ouverture de sessions en arrière-plan terminées nécessite Claude Code v2.1.257 ou ultérieur. Ignore les sessions créées avec `claude -p` ou le SDK Agent, et les sessions dont le premier message était `/loop`. `claude -p --continue` inclut les sessions `-p`, SDK et `/loop`. Inclut les sessions qui ont ajouté ce répertoire avec `/add-dir` | `claude --continue` |

83| `--dangerously-load-development-channels` | Activer les [canaux](/docs/fr/channels-reference#test-during-the-research-preview) qui ne sont pas sur la liste d'approbation, pour le développement local. Accepte les entrées `plugin:<name>@<marketplace>` et `server:<name>`. Demande une confirmation | `claude --dangerously-load-development-channels server:webhook` |83| `--dangerously-load-development-channels` | Activer les [canaux](/docs/fr/channels-reference#test-during-the-research-preview) qui ne sont pas sur la liste d'approbation, pour le développement local. Accepte les entrées `plugin:<name>@<marketplace>` et `server:<name>`. Demande une confirmation | `claude --dangerously-load-development-channels server:webhook` |

84| `--dangerously-skip-permissions` | Ignorer les invites de permission. Équivalent à `--permission-mode bypassPermissions`. Voir [modes de permission](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) pour ce que cela ignore et n'ignore pas. Pour les sessions démarrées avec `--bg`, le mode [persiste lorsque le superviseur redémarre la session](/docs/fr/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |84| `--dangerously-skip-permissions` | Ignorer les invites de permission. Équivalent à `--permission-mode bypassPermissions`. Voir [modes de permission](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) pour ce que cela ignore et n'ignore pas. Pour les sessions démarrées avec `--bg`, le mode [persiste lorsque le superviseur redémarre la session](/docs/fr/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |


167 167 

168Par défaut, Claude Code construit l'invite système une fois, à la première requête d'une conversation, avec le texte de tous les drapeaux d'invite système appliqués, et l'enregistre dans la session. Jusqu'à ce que la conversation soit compactée, chaque requête ultérieure utilise cette invite enregistrée, y compris après votre retour à la conversation avec `--resume` ou `--continue`. Si vous transmettez un texte de drapeau d'invite système différent, ou aucun, lors de ce lancement ultérieur, il prend effet une fois que la conversation est compactée ou lorsque vous démarrez une nouvelle conversation.168Par défaut, Claude Code construit l'invite système une fois, à la première requête d'une conversation, avec le texte de tous les drapeaux d'invite système appliqués, et l'enregistre dans la session. Jusqu'à ce que la conversation soit compactée, chaque requête ultérieure utilise cette invite enregistrée, y compris après votre retour à la conversation avec `--resume` ou `--continue`. Si vous transmettez un texte de drapeau d'invite système différent, ou aucun, lors de ce lancement ultérieur, il prend effet une fois que la conversation est compactée ou lorsque vous démarrez une nouvelle conversation.

169 169 

170Si vous démarrez Claude Code en [mode bare](/docs/fr/headless#start-faster-with-bare-mode), en passant `--bare` ou en définissant `CLAUDE_CODE_SIMPLE=1`, l'enregistrement reste désactivé à moins que vous ne passiez `--system-prompt-snapshot on`. Avant v2.1.268, les sessions qui ne [récupèrent pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), y compris les sessions sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, reconstruisaient l'invite à chaque requête et `--system-prompt-snapshot` n'avait aucun effet.170En dehors des [sessions web](/docs/fr/cloud-environments), si vous démarrez Claude Code en [mode bare](/docs/fr/headless#start-faster-with-bare-mode), en passant `--bare` ou en définissant `CLAUDE_CODE_SIMPLE=1`, l'enregistrement reste désactivé à moins que vous ne passiez `--system-prompt-snapshot on`. Avant v2.1.268, les sessions qui ne [récupèrent pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), y compris les sessions sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, reconstruisaient l'invite à chaque requête et `--system-prompt-snapshot` n'avait aucun effet.

171 171 

172Pour reconstruire l'invite à chaque requête à la place, par exemple pendant que vous itérez sur sa formulation entre les exécutions `--continue`, passez `--system-prompt-snapshot off`. Avant v2.1.265, passer l'un des drapeaux d'invite système désactivait également l'enregistrement à moins que vous ne passiez `--system-prompt-snapshot on`.172Pour reconstruire l'invite à chaque requête à la place, par exemple pendant que vous itérez sur sa formulation entre les exécutions `--continue`, passez `--system-prompt-snapshot off`. Avant v2.1.265, passer l'un des drapeaux d'invite système désactivait également l'enregistrement à moins que vous ne passiez `--system-prompt-snapshot on`.

173 173 

Details

7> Configurez les environnements cloud pour les sessions Claude Code cloud : niveaux d'accès réseau, variables d'environnement, scripts de configuration et mise en cache d'environnement.7> Configurez les environnements cloud pour les sessions Claude Code cloud : niveaux d'accès réseau, variables d'environnement, scripts de configuration et mise en cache d'environnement.

8 8 

9<Note>9<Note>

10 Les environnements cloud nécessitent [Claude Code sur le web](/docs/fr/claude-code-on-the-web), qui est en aperçu de recherche pour les utilisateurs Pro, Max et Team, et pour les utilisateurs Enterprise disposant de [sièges premium ou de sièges Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).10 Les environnements cloud s'appliquent aux [sessions cloud](/docs/fr/claude-code-on-the-web), qui sont en aperçu de recherche pour les utilisateurs Pro, Max et Team, et pour les utilisateurs Enterprise disposant de [sièges premium ou de sièges Chat + Claude Code](https://support.claude.com/en/articles/11845131-use-claude-code-with-your-team-or-enterprise-plan).

11</Note>11</Note>

12 12 

13Chaque [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans un environnement cloud. Vous pouvez configurer un environnement pour autoriser ou refuser l'[accès réseau](#access-levels), [définir des variables d'environnement](#set-environment-variables) pour la session, sur les plans Pro et Max stocker des [identifiants API](#add-api-credentials) que les sessions utilisent sans les voir, et exécuter un [script de configuration](#setup-scripts) avant que Claude ne commence à travailler.13Chaque [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans un environnement cloud. Vous pouvez configurer un environnement pour autoriser ou refuser l'[accès réseau](#access-levels), [définir des variables d'environnement](#set-environment-variables) pour la session, sur les plans Pro et Max stocker des [identifiants API](#add-api-credentials) que les sessions utilisent sans les voir, et exécuter un [script de configuration](#setup-scripts) avant que Claude ne commence à travailler.

14 14 

15Les mêmes environnements s'appliquent partout où vous démarrez une session cloud : [Claude Code sur le web](/docs/fr/claude-code-on-the-web), le terminal avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-web), [Claude Tag](https://claude.com/docs/claude-tag/overview), [routines](/docs/fr/routines), l'[application mobile Claude](/docs/fr/mobile) et l'[application de bureau](/docs/fr/desktop). Chacune de ces surfaces peut également router vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments). La section [Disponibilité et limitations](/docs/fr/self-hosted-environments#availability-and-limitations) couvre ce que Claude ne peut pas encore utiliser quand une session Claude Tag s'exécute dans un.15Les mêmes environnements s'appliquent partout où vous démarrez une session cloud : l'[application de bureau](/docs/fr/desktop), l'[application mobile Claude](/docs/fr/mobile), votre navigateur sur [claude.ai/code](https://claude.ai/code), le terminal avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud), les [routines](/docs/fr/routines) et [Claude Tag](https://claude.com/docs/claude-tag/overview). Chacune de ces surfaces peut également router vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments). La section [Disponibilité et limitations](/docs/fr/self-hosted-environments#availability-and-limitations) couvre ce que Claude ne peut pas encore utiliser quand une session Claude Tag s'exécute dans un.

16 16 

17<Info>17<Info>

18 Les sessions [Remote Control](/docs/fr/remote-control) connectent les interfaces web et mobile à une session sur votre propre machine, qui utilise le réseau et les fichiers de votre machine, et non un environnement cloud. Les sessions de canal Claude Tag utilisent uniquement des environnements au niveau de l'organisation, soit des [environnements partagés](#organization-shared-environments), soit des [environnements auto-hébergés](/docs/fr/self-hosted-environments).18 Les sessions [Remote Control](/docs/fr/remote-control) connectent les interfaces web et mobile à une session sur votre propre machine, qui utilise le réseau et les fichiers de votre machine, et non un environnement cloud. Les sessions de canal Claude Tag utilisent uniquement des environnements au niveau de l'organisation, soit des [environnements partagés](#organization-shared-environments), soit des [environnements auto-hébergés](/docs/fr/self-hosted-environments).


35 35 

36Avec seulement **Default** disponible, chaque session s'exécute dedans. Quand vous avez plus d'un environnement, les sessions en choisissent un par surface :36Avec seulement **Default** disponible, chaque session s'exécute dedans. Quand vous avez plus d'un environnement, les sessions en choisissent un par surface :

37 37 

38* Sur le web, l'application Desktop et l'application mobile, les sessions utilisent l'environnement affiché dans le [sélecteur](#configure-your-environment). Un [environnement par défaut](#organization-shared-environments) défini par un propriétaire remplit la sélection quand vous n'en avez pas choisi un.38* Sur l'application Desktop, l'application mobile et sur claude.ai/code, les sessions que vous démarrez vous-même utilisent l'environnement affiché dans le [sélecteur](#configure-your-environment). Un [environnement par défaut](#organization-shared-environments) défini par un propriétaire remplit la sélection quand vous n'en avez pas choisi un. Les threads dans un [projet](/docs/fr/claude-projects#project-settings-reference) utilisent l'environnement défini dans les paramètres du projet à la place.

39* Depuis le CLI, Claude Code utilise votre choix [`/remote-env`](#select-an-environment-from-the-cli), ou revient à l'environnement hébergé par Anthropic quand votre liste en a un, et sinon au premier environnement de votre liste qui n'est pas un environnement bridge, une entrée [Remote Control](/docs/fr/remote-control) que vous enregistrez pour représenter votre propre machine plutôt qu'un environnement cloud. Pour un [environnement auto-hébergé](/docs/fr/self-hosted-environments), passer `--environment <environment-id>` avec son ID `ccpool_` [quand vous lancez une session](/docs/fr/self-hosted-environments-testing#run-the-test-loop) remplace le choix `/remote-env` et le fallback pour cet appel. Claude Code rejette les IDs `env_` hébergés par Anthropic passés au drapeau, donc utilisez `/remote-env` pour cibler ceux-ci. Le drapeau nécessite Claude Code v2.1.224 ou ultérieur.39* Depuis le CLI, Claude Code utilise votre choix [`/remote-env`](#select-an-environment-from-the-cli), ou revient à l'environnement hébergé par Anthropic quand votre liste en a un, et sinon au premier environnement de votre liste qui n'est pas un environnement bridge, une entrée [Remote Control](/docs/fr/remote-control) que vous enregistrez pour représenter votre propre machine plutôt qu'un environnement cloud. Pour un [environnement auto-hébergé](/docs/fr/self-hosted-environments), passer `--environment <environment-id>` avec son ID `ccpool_` [quand vous lancez une session](/docs/fr/self-hosted-environments-testing#run-the-test-loop) remplace le choix `/remote-env` et le fallback pour cet appel. Claude Code rejette les IDs `env_` hébergés par Anthropic passés au drapeau, donc utilisez `/remote-env` pour cibler ceux-ci. Le drapeau nécessite Claude Code v2.1.224 ou ultérieur.

40 40 

41Configurez un environnement quand le défaut ne suffit pas : quand Claude doit atteindre des domaines en dehors de la [liste d'autorisation par défaut](#default-allowed-domains), a besoin de variables d'environnement définies pour ses sessions, ou a besoin de dépendances installées avant de commencer à travailler.41Configurez un environnement quand le défaut ne suffit pas : quand Claude doit atteindre des domaines en dehors de la [liste d'autorisation par défaut](#default-allowed-domains), a besoin de variables d'environnement définies pour ses sessions, ou a besoin de dépendances installées avant de commencer à travailler.


80 80 

81Chaque session copie les valeurs de l'environnement une fois, au démarrage, dans des variables d'environnement ordinaires que n'importe quelle commande que Claude exécute peut lire. Parce que les sessions en cours d'exécution ne relisent pas la configuration, modifier ou ajouter des variables affecte les sessions que vous démarrez après ; les sessions déjà en cours d'exécution conservent les valeurs avec lesquelles elles ont démarré.81Chaque session copie les valeurs de l'environnement une fois, au démarrage, dans des variables d'environnement ordinaires que n'importe quelle commande que Claude exécute peut lire. Parce que les sessions en cours d'exécution ne relisent pas la configuration, modifier ou ajouter des variables affecte les sessions que vous démarrez après ; les sessions déjà en cours d'exécution conservent les valeurs avec lesquelles elles ont démarré.

82 82 

83Claude Code sur le web définit également certaines variables lui-même quand il démarre une session. Pour [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/fr/claude-code-on-the-web#manage-context), la valeur que Claude Code sur le web définit remplace celle que vous ajoutez ici, donc ajouter cette clé ici n'a aucun effet.83Une session cloud définit également certaines variables elle-même quand elle démarre. Pour [`CLAUDE_AUTOCOMPACT_PCT_OVERRIDE`](/docs/fr/claude-code-on-the-web#manage-context), la valeur que la session définit remplace celle que vous ajoutez ici, donc ajouter cette clé ici n'a aucun effet.

84 84 

85Quiconque utilise l'environnement peut lire les valeurs. Sur les plans Pro et Max, utilisez plutôt un [identifiant API](#add-api-credentials) pour une clé que le proxy d'agent peut joindre à une requête. Les [requêtes qui ne reçoivent jamais d'identifiant](#requests-that-never-get-the-credential) sont listées là.85Quiconque utilise l'environnement peut lire les valeurs. Sur les plans Pro et Max, utilisez plutôt un [identifiant API](#add-api-credentials) pour une clé que le proxy d'agent peut joindre à une requête. Les [requêtes qui ne reçoivent jamais d'identifiant](#requests-that-never-get-the-credential) sont listées là.

86 86 


154 Sélectionnez un environnement depuis le CLI154 Sélectionnez un environnement depuis le CLI

155</h3>155</h3>

156 156 

157Exécutez `/remote-env` dans votre terminal pour choisir l'environnement par défaut pour les sessions cloud que vous créez depuis le CLI, comme [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-web). La commande ouvre un sélecteur de vos environnements existants et enregistre votre choix dans la clé `remote.defaultEnvironmentId` dans vos [paramètres utilisateur](/docs/fr/settings#where-settings-live), donc elle s'applique dans chaque projet sur votre machine jusqu'à ce que vous la changiez, sauf si la même clé est définie à une [couche de paramètres](/docs/fr/settings#settings-precedence) de priorité plus élevée, comme les paramètres de projet d'un dépôt.157Exécutez `/remote-env` dans votre terminal pour choisir l'environnement par défaut pour les sessions cloud que vous créez depuis le CLI, comme [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud). La commande ouvre un sélecteur de vos environnements existants et enregistre votre choix dans la clé `remote.defaultEnvironmentId` dans vos [paramètres utilisateur](/docs/fr/settings#where-settings-live), donc elle s'applique dans chaque projet sur votre machine jusqu'à ce que vous la changiez, sauf si la même clé est définie à une [couche de paramètres](/docs/fr/settings#settings-precedence) de priorité plus élevée, comme les paramètres de projet d'un dépôt.

158 158 

159Un ID [d'environnement auto-hébergé](/docs/fr/self-hosted-environments), qui a la forme `ccpool_...`, suit une règle de source plus stricte. Consultez [`remote.defaultEnvironmentId`](/docs/fr/settings-reference#remote-defaultenvironmentid) pour les couches de paramètres que Claude Code honore pour cela.159Un ID [d'environnement auto-hébergé](/docs/fr/self-hosted-environments), qui a la forme `ccpool_...`, suit une règle de source plus stricte. Consultez [`remote.defaultEnvironmentId`](/docs/fr/settings-reference#remote-defaultenvironmentid) pour les couches de paramètres que Claude Code honore pour cela.

160 160 


201Pour modifier l'accès réseau d'un environnement, [ouvrez-le pour l'édition](#configure-your-environment) et utilisez le sélecteur **Network access** dans la boîte de dialogue. L'icône cloud qui ouvre le sélecteur apparaît sur les surfaces de l'application listées sous [The Default environment](#the-default-environment) et dans l'[éditeur de routines](/docs/fr/routines#environments-and-network-access) ; les environnements personnels n'ont pas de page séparée dans les paramètres de votre compte claude.ai.201Pour modifier l'accès réseau d'un environnement, [ouvrez-le pour l'édition](#configure-your-environment) et utilisez le sélecteur **Network access** dans la boîte de dialogue. L'icône cloud qui ouvre le sélecteur apparaît sur les surfaces de l'application listées sous [The Default environment](#the-default-environment) et dans l'[éditeur de routines](/docs/fr/routines#environments-and-network-access) ; les environnements personnels n'ont pas de page séparée dans les paramètres de votre compte claude.ai.

202 202 

203<Note>203<Note>

204 Les connecteurs MCP que vous activez sur une session ou une routine fonctionnent sans ajouter leurs hôtes à **Allowed domains**, car le trafic des connecteurs transite par les serveurs d'Anthropic plutôt que par le réseau de la session. Vous configurez les connecteurs par session ou par routine ; supprimez ceux dont vous n'avez pas besoin pour limiter les outils que Claude peut atteindre. Cela s'appuie sur le même canal lié à Anthropic noté sous [Security and isolation](/docs/fr/claude-code-on-the-web#security-and-isolation).204 Les connecteurs MCP que vous activez sur une session ou une routine fonctionnent sans ajouter leurs hôtes à **Allowed domains**, car le trafic des connecteurs transite par les serveurs d'Anthropic plutôt que par le réseau de la session. Cela s'appuie sur le même canal lié à Anthropic noté sous [Security and isolation](/docs/fr/claude-code-on-the-web#security-and-isolation). Désactivez tout connecteur dont vous n'avez pas besoin pour limiter les outils que Claude peut atteindre.

205</Note>205</Note>

206 206 

207<h3 id="access-levels">207<h3 id="access-levels">


243* **Les sessions dans cet environnement ouvrent les artifacts publics d'une autre organisation** : Claude Code les récupère directement depuis l'hôte, donc ajoutez-le à cette liste.243* **Les sessions dans cet environnement ouvrent les artifacts publics d'une autre organisation** : Claude Code les récupère directement depuis l'hôte, donc ajoutez-le à cette liste.

244* **Vous configurez le CLI local ou un runner auto-hébergé** : conservez l'hôte dans cette liste d'autorisation. Voir [network access requirements](/docs/fr/network-config#network-access-requirements) et les [network requirements](/docs/fr/self-hosted-environments-deploy#network-requirements) auto-hébergées.244* **Vous configurez le CLI local ou un runner auto-hébergé** : conservez l'hôte dans cette liste d'autorisation. Voir [network access requirements](/docs/fr/network-config#network-access-requirements) et les [network requirements](/docs/fr/self-hosted-environments-deploy#network-requirements) auto-hébergées.

245 245 

246Chaque environnement a sa propre liste de domaines autorisés ; il n'y a pas de liste d'autorisation au niveau de l'organisation que les administrateurs peuvent pousser aux environnements de chaque membre. Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) s'appliquent toujours dans les sessions cloud, mais aucun d'eux n'ajoute de domaines à la liste d'autorisation réseau de l'environnement.246Chaque environnement a sa propre liste de domaines autorisés ; il n'y a pas de liste d'autorisation au niveau de l'organisation que les administrateurs peuvent pousser aux environnements de chaque membre. Les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) s'appliquent toujours dans les sessions cloud, mais aucun d'eux n'ajoute de domaines à la liste d'autorisation réseau de l'environnement. Pour donner à une équipe une liste standard, un propriétaire peut créer un [environnement partagé au niveau de l'organisation](#organization-shared-environments) avec un accès réseau **Custom** et cette liste.

247 247 

248<h3 id="github-proxy">248<h3 id="github-proxy">

249 Proxy GitHub249 Proxy GitHub


289| | Disponible dans les sessions cloud | Pourquoi |289| | Disponible dans les sessions cloud | Pourquoi |

290| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |290| :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

291| Votre `CLAUDE.md` du dépôt | Oui | Partie du clone |291| Votre `CLAUDE.md` du dépôt | Oui | Partie du clone |

292| Vos crochets `.claude/settings.json` du dépôt | Oui | Partie du clone |292| Vos crochets `.claude/settings.json` du dépôt et règles de permission | Oui, dans une session avec un seul dépôt | Partie du clone. Une session avec plusieurs dépôts, incluant un fil de [projet](/docs/fr/claude-projects#what-threads-pick-up-from-your-repositories), démarre au-dessus des clones et ne les lit pas |

293| Vos serveurs MCP `.mcp.json` du dépôt | Oui | Partie du clone |293| 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 |

294| Votre `.claude/rules/` du dépôt | Oui | Partie du clone |294| Votre `.claude/rules/` du dépôt | Oui | Partie du clone |

295| Votre `.claude/skills/`, `.claude/agents/`, `.claude/commands/` du dépôt | Oui | Partie du clone |295| Votre `.claude/skills/`, `.claude/agents/`, `.claude/commands/` du dépôt | Oui | Partie du clone |

296| 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é |296| 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é |


298| Votre `~/.claude/CLAUDE.md` utilisateur | Non | Vit sur votre machine, pas dans le dépôt |298| Votre `~/.claude/CLAUDE.md` utilisateur | Non | Vit sur votre machine, pas dans le dépôt |

299| 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 |299| 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 |

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

301| 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 |301| 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 |

302| 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 |302| 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 |

303| 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 |303| 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 |

304| Authentification interactive comme AWS SSO | Non | Non supporté. SSO nécessite une connexion basée sur un navigateur qui ne peut pas s'exécuter dans une session cloud |304| Authentification interactive comme AWS SSO | Non | Non supporté. SSO nécessite une connexion basée sur un navigateur qui ne peut pas s'exécuter dans une session cloud |


329 329 

330¹ Bun est installé mais a des [problèmes de compatibilité proxy](#install-dependencies-with-a-sessionstart-hook) connus pour la récupération de paquets.330¹ Bun est installé mais a des [problèmes de compatibilité proxy](#install-dependencies-with-a-sessionstart-hook) connus pour la récupération de paquets.

331 331 

332Pour obtenir les versions de la plupart des outils de ce tableau, demandez à Claude d'exécuter `check-tools` dans une session cloud. C'est une commande shell installée sur la VM de la session, pas une commande slash ; vous demandez à Claude car [Claude exécute toutes les commandes VM pour vous](#run-tests-start-services-and-add-packages). Pour un outil qu'il ne rapporte pas, comme Ruby, PHP, bun, PostgreSQL ou Redis, demandez à Claude d'exécuter la propre commande de version de l'outil, par exemple `psql --version`.332Pour obtenir les versions de la plupart des outils de ce tableau, demandez à Claude d'exécuter `check-tools` dans une session cloud. C'est une commande shell installée sur la VM de la session, pas une commande que vous tapez avec `/` ; vous demandez à Claude car [Claude exécute toutes les commandes VM pour vous](#run-tests-start-services-and-add-packages). Pour un outil qu'il ne rapporte pas, comme Ruby, PHP, bun, PostgreSQL ou Redis, demandez à Claude d'exécuter la propre commande de version de l'outil, par exemple `psql --version`.

333 333 

334Les versions de Node.js sont installées sur `/opt/node20`, `/opt/node21` et `/opt/node22`, avec 22 sur `PATH` par défaut. Pour travailler avec une version différente, demandez à Claude de préfixer le répertoire `bin` de cette version, comme `/opt/node20/bin`, à `PATH`.334Les versions de Node.js sont installées sur `/opt/node20`, `/opt/node21` et `/opt/node22`, avec 22 sur `PATH` par défaut. Pour travailler avec une version différente, demandez à Claude de préfixer le répertoire `bin` de cette version, comme `/opt/node20/bin`, à `PATH`.

335 335 


343 343 

344Vous pouvez définir `GH_TOKEN` ou `GITHUB_TOKEN` vous-même dans les [paramètres d'environnement](#set-environment-variables), ou laisser les deux non définis et laisser le [proxy GitHub](#github-proxy) s'authentifier pour vous :344Vous pouvez définir `GH_TOKEN` ou `GITHUB_TOKEN` vous-même dans les [paramètres d'environnement](#set-environment-variables), ou laisser les deux non définis et laisser le [proxy GitHub](#github-proxy) s'authentifier pour vous :

345 345 

346* Si vous définissez un jeton, il passe au conteneur inchangé, donc vos scripts et le [`gh` CLI](https://cli.github.com) de GitHub utilisent directement.346* Si vous définissez un jeton, il passe au conteneur inchangé, donc vos scripts et le [`gh` CLI](https://cli.github.com) de GitHub l'utilisent directement.

347* Si vous ne définissez ni l'un ni l'autre et que le [proxy GitHub](#github-proxy) gère l'authentification pour votre session, les deux variables lisent comme la chaîne d'espace réservé `proxy-injected` dans les commandes que Claude exécute, et le proxy substitue vos vrais identifiants sur les requêtes GitHub sortantes. `gh` fonctionne sans un jeton de votre côté, mais un script qui lit `GITHUB_TOKEN` directement obtient l'espace réservé, pas un jeton utilisable.347* Si vous ne définissez ni l'un ni l'autre et que le [proxy GitHub](#github-proxy) gère l'authentification pour votre session, les deux variables lisent comme la chaîne d'espace réservé `proxy-injected` dans les commandes que Claude exécute, et le proxy substitue vos vrais identifiants sur les requêtes GitHub sortantes. `gh` fonctionne sans un jeton de votre côté, mais un script qui lit `GITHUB_TOKEN` directement obtient l'espace réservé, pas un jeton utilisable.

348 348 

349Un jeton que vous définissez est une variable d'environnement ordinaire, donc quiconque utilise l'environnement peut le lire ; le chemin du proxy garde l'identifiant hors de la configuration de l'environnement et de la VM de la session.349Un jeton que vous définissez est une variable d'environnement ordinaire, donc quiconque utilise l'environnement peut le lire ; le chemin du proxy garde l'identifiant hors de la configuration de l'environnement et de la VM de la session.


358 358 

359Chaque session cloud a une URL de transcription sur claude.ai, et la session peut lire son propre ID à partir de la variable d'environnement `CLAUDE_CODE_REMOTE_SESSION_ID`. Utilisez ceci pour mettre un lien traçable dans les corps PR, les messages de validation, les publications Slack ou les rapports générés afin qu'un examinateur puisse ouvrir l'exécution qui les a produits.359Chaque session cloud a une URL de transcription sur claude.ai, et la session peut lire son propre ID à partir de la variable d'environnement `CLAUDE_CODE_REMOTE_SESSION_ID`. Utilisez ceci pour mettre un lien traçable dans les corps PR, les messages de validation, les publications Slack ou les rapports générés afin qu'un examinateur puisse ouvrir l'exécution qui les a produits.

360 360 

361Les validations que Claude crée dans une session cloud incluent une remorque git `Claude-Session: <url>`, et les corps PR incluent l'URL de la session sur sa propre ligne. Cela nécessite v2.1.179 ou ultérieur. Pour omettre la remorque et le lien du corps PR, définissez [`attribution.sessionUrl`](/docs/fr/settings-reference#attribution-sessionurl) sur `false`. Le paramètre nécessite v2.1.182 ou ultérieur.361Les validations que Claude crée dans une session cloud incluent une remorque git `Claude-Session: <url>`, et les corps PR incluent l'URL de la session sur sa propre ligne. Pour omettre la remorque et le lien du corps PR, définissez [`attribution.sessionUrl`](/docs/fr/settings-reference#attribution-sessionurl) sur `false`.

362 362 

363Pour inclure le lien de session dans quelque chose d'autre qu'une validation ou une PR, comme un message Slack que Claude publie ou un fichier de rapport qu'il écrit, demandez à Claude d'exécuter la commande suivante et d'utiliser sa sortie. La commande convertit le préfixe `cse_` dans la valeur de la variable d'environnement au préfixe `session_` que l'URL de transcription attend :363Pour inclure le lien de session dans quelque chose d'autre qu'une validation ou une PR, comme un message Slack que Claude publie ou un fichier de rapport qu'il écrit, demandez à Claude d'exécuter la commande suivante et d'utiliser sa sortie. La commande convertit le préfixe `cse_` dans la valeur de la variable d'environnement au préfixe `session_` que l'URL de transcription attend :

364 364 


524 524 

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

526 526 

527* **Pas de limitation au cloud uniquement** : les crochets s'exécutent dans les sessions locales et cloud. Pour ignorer l'exécution locale, vérifiez la variable d'environnement `CLAUDE_CODE_REMOTE` comme montré ci-dessus.527* **Un dépôt par session** : une session avec plusieurs dépôts ne charge pas les crochets du `.claude/settings.json` d'aucun dépôt, donc un crochet SessionStart que vous définissez là ne s'exécute pas. Installez les dépendances pour ces sessions avec un [script de configuration](#setup-scripts) à la place.

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

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

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

530* **Ajoute une latence de démarrage** : les crochets s'exécutent chaque fois qu'une session démarre ou reprend, contrairement aux scripts de configuration qui bénéficient de la [mise en cache d'environnement](#environment-caching). Gardez les scripts d'installation rapides en vérifiant si les dépendances sont déjà présentes avant de réinstaller.531* **Ajoute une latence de démarrage** : les crochets s'exécutent chaque fois qu'une session démarre ou reprend, contrairement aux scripts de configuration qui bénéficient de la [mise en cache d'environnement](#environment-caching). Gardez les scripts d'installation rapides en vérifiant si les dépendances sont déjà présentes avant de réinstaller.


793 Ressources connexes794 Ressources connexes

794</h2>795</h2>

795 796 

796* [Claude Code sur le web](/docs/fr/claude-code-on-the-web) : démarrez, gérez et partagez les sessions cloud797* [Référence des sessions cloud](/docs/fr/claude-code-on-the-web) : démarrez, gérez et partagez les sessions cloud

797* [Démarrage rapide web](/docs/fr/web-quickstart) : connectez GitHub et démarrez votre première session cloud798* [Démarrage rapide des sessions cloud](/docs/fr/web-quickstart) : connectez GitHub et démarrez votre première session cloud

798* [Claude Tag](https://claude.com/docs/claude-tag/overview) : les sessions que Claude démarre à partir de Slack s'exécutent dans les mêmes environnements799* [Claude Tag](https://claude.com/docs/claude-tag/overview) : les sessions que Claude démarre à partir de Slack s'exécutent dans les mêmes environnements

799* [Routines](/docs/fr/routines) : les exécutions programmées utilisent les mêmes environnements et niveaux d'accès réseau800* [Routines](/docs/fr/routines) : les exécutions programmées utilisent les mêmes environnements et niveaux d'accès réseau

800* [Remote Control](/docs/fr/remote-control) : exécutez les sessions sur le réseau et les fichiers de votre propre machine à la place801* [Remote Control](/docs/fr/remote-control) : exécutez les sessions sur le réseau et les fichiers de votre propre machine à la place

code-review.md +4 −2

Details

58 58 

59Répondre à un commentaire en ligne ne pousse pas Claude à répondre ou à mettre à jour la PR. Pour agir sur un résultat, corrigez le code et poussez. Si la PR est abonnée aux révisions déclenchées par push, la prochaine exécution résout le thread quand le problème est corrigé. Pour demander une révision fraîche sans pousser, commentez `@claude review` comme un [commentaire PR de haut niveau](#manually-trigger-reviews).59Répondre à un commentaire en ligne ne pousse pas Claude à répondre ou à mettre à jour la PR. Pour agir sur un résultat, corrigez le code et poussez. Si la PR est abonnée aux révisions déclenchées par push, la prochaine exécution résout le thread quand le problème est corrigé. Pour demander une révision fraîche sans pousser, commentez `@claude review` comme un [commentaire PR de haut niveau](#manually-trigger-reviews).

60 60 

61Pour rejeter un résultat sans modification du code, résolvez son thread ; répondre ne le rejette pas.

62 

61<h3 id="check-run-output">63<h3 id="check-run-output">

62 Sortie de l'exécution de vérification64 Sortie de l'exécution de vérification

63</h3>65</h3>


195 197 

196`REVIEW.md` est un fichier à la racine de votre référentiel qui adapte Code Review à votre référentiel. Les agents du pipeline de révision qui trouvent et vérifient les résultats reçoivent son contenu comme les instructions de révision de votre référentiel, aux côtés de la guidance de révision par défaut de Code Review, et les agents qui classent et rapportent les résultats le consultent avant de fixer la gravité et d'écrire la révision.198`REVIEW.md` est un fichier à la racine de votre référentiel qui adapte Code Review à votre référentiel. Les agents du pipeline de révision qui trouvent et vérifient les résultats reçoivent son contenu comme les instructions de révision de votre référentiel, aux côtés de la guidance de révision par défaut de Code Review, et les agents qui classent et rapportent les résultats le consultent avant de fixer la gravité et d'écrire la révision.

197 199 

198Les agents lisent le texte du fichier tel quel, donc `REVIEW.md` est des instructions simples : la [syntaxe `@` import](/docs/fr/memory#import-additional-files) n'est pas développée, et les fichiers référencés ne sont pas lus avec elle. Mettez les règles que vous souhaitez appliquer directement dans le fichier.200Mettez les règles que vous souhaitez appliquer directement dans `REVIEW.md`.

199 201 

200<h4 id="what-you-can-tune">202<h4 id="what-you-can-tune">

201 Ce que vous pouvez affiner203 Ce que vous pouvez affiner


360 </Step>362 </Step>

361</Steps>363</Steps>

362 364 

363Claude signale les résultats sous forme de texte dans la réponse dans ces deux exécutions, même quand une application hôte demande la liste des résultats décrite ci-dessous :365Claude signale les résultats sous forme de texte dans la réponse dans ces deux exécutions, même quand une application hôte demande une liste des résultats :

364 366 

365* Dans une session de terminal, où `/code-review` exécute la révision en tant que [sous-agent forké](/docs/fr/skills#run-skills-in-a-subagent)367* Dans une session de terminal, où `/code-review` exécute la révision en tant que [sous-agent forké](/docs/fr/skills#run-skills-in-a-subagent)

366* Dans une exécution `-p` avec sortie texte ou JSON368* Dans une exécution `-p` avec sortie texte ou JSON

commands.md +4 −3

Details

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

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. À partir de la v2.1.181, passez une ou plusieurs paires `key=value` pour définir un paramètre directement sans ouvrir l'interface, par exemple `/config thinking=false`. À partir de la v2.1.182, les clés de raccourci nommées sont également acceptées, telles que `/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` |

76| `/context [all]` | Visualiser l'utilisation actuelle du contexte sous forme de grille colorée. Affiche les suggestions d'optimisation pour les outils lourds en contexte, le gonflement de la mémoire et les avertissements de capacité. Lorsque la conversation dépasse la fenêtre de contexte, la sortie inclut un [avertissement](/docs/fr/errors#context-exceeds-the-token-limit) montrant à quel point vous dépassez la limite et quelle commande libère de l'espace. En [mode plein écran](/docs/fr/fullscreen), `/context` réduit la ventilation par élément pour garder la grille visible. Passez `all` pour la développer |76| `/context [all]` | Visualiser l'utilisation actuelle du contexte sous forme de grille colorée. Affiche les suggestions d'optimisation pour les outils lourds en contexte, le gonflement de la mémoire et les avertissements de capacité. Lorsque la conversation dépasse la fenêtre de contexte, la sortie inclut un [avertissement](/docs/fr/errors#context-exceeds-the-token-limit) montrant à quel point vous dépassez la limite et quelle commande libère de l'espace. En [mode plein écran](/docs/fr/fullscreen), `/context` réduit la ventilation par élément pour garder la grille visible. Passez `all` pour la développer |

77| `/copy [N]` | Copier la dernière réponse de l'assistant dans le presse-papiers. Passez un nombre `N` pour copier la Nième réponse la plus récente : `/copy 2` copie l'avant-dernière. Lorsque des blocs de code sont présents, affiche un sélecteur interactif pour sélectionner des blocs individuels ou la réponse complète. Appuyez sur `w` dans le sélecteur pour écrire la sélection dans un fichier au lieu du presse-papiers, ce qui est utile sur SSH |77| `/copy [N]` | Copier la dernière réponse de l'assistant dans le presse-papiers. Passez un nombre `N` pour copier la Nième réponse la plus récente : `/copy 2` copie l'avant-dernière. Lorsque des blocs de code sont présents, affiche un sélecteur interactif pour sélectionner des blocs individuels ou la réponse complète. Appuyez sur `w` dans le sélecteur pour écrire la sélection dans un fichier au lieu du presse-papiers, ce qui est utile sur SSH |

78| `/cost` | Alias pour `/usage` |78| `/cost` | Alias pour `/usage` |


112| `/memory` | Modifier les fichiers `CLAUDE.md`, activer ou désactiver la [mémoire automatique](/docs/fr/memory#auto-memory), et afficher les entrées de mémoire automatique |112| `/memory` | Modifier les fichiers `CLAUDE.md`, activer ou désactiver la [mémoire automatique](/docs/fr/memory#auto-memory), et afficher les entrées de mémoire automatique |

113| `/mobile` | Afficher le code QR pour télécharger l'application mobile Claude. Alias : `/ios`, `/android` |113| `/mobile` | Afficher le code QR pour télécharger l'application mobile Claude. Alias : `/ios`, `/android` |

114| `/model [model]` | Basculer le modèle d'IA et l'enregistrer comme votre défaut pour les nouvelles sessions. Pour les modèles qui le supportent, utilisez les flèches gauche/droite pour [ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level). Sans argument, ouvre un sélecteur ; appuyez sur `s` sur une ligne pour basculer pour la session actuelle uniquement. Consultez [quand Claude Code vous demande de confirmer le basculement](/docs/fr/prompt-caching#switching-models). Une fois que vous confirmez le basculement, si Claude Code vous le demande, Claude Code applique la modification sans attendre la fin de la réponse actuelle. 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). Également disponible en mode non interactif (`-p`) avec un argument de modèle au lieu du sélecteur, où il s'applique à la session actuelle uniquement et n'est pas enregistré comme votre défaut ; nécessite Claude Code v2.1.205 ou ultérieur |114| `/model [model]` | Basculer le modèle d'IA et l'enregistrer comme votre défaut pour les nouvelles sessions. Pour les modèles qui le supportent, utilisez les flèches gauche/droite pour [ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level). Sans argument, ouvre un sélecteur ; appuyez sur `s` sur une ligne pour basculer pour la session actuelle uniquement. Consultez [quand Claude Code vous demande de confirmer le basculement](/docs/fr/prompt-caching#switching-models). Une fois que vous confirmez le basculement, si Claude Code vous le demande, Claude Code applique la modification sans attendre la fin de la réponse actuelle. 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). Également disponible en mode non interactif (`-p`) avec un argument de modèle au lieu du sélecteur, où il s'applique à la session actuelle uniquement et n'est pas enregistré comme votre défaut ; nécessite Claude Code v2.1.205 ou ultérieur |

115| `/output-style [style]` | Répertorier les [styles de sortie](/docs/fr/output-styles) ou basculer vers l'un d'eux, par exemple `/output-style concise`. Consultez [Changer votre style de sortie](/docs/fr/output-styles#change-your-output-style). Nécessite Claude Code v2.1.269 ou ultérieur |

115| `/passes` | Partager une semaine gratuite de Claude Code avec des amis. Visible uniquement si votre compte est éligible |116| `/passes` | Partager une semaine gratuite de Claude Code avec des amis. Visible uniquement si votre compte est éligible |

116| `/permissions` | Gérer les règles d'autorisation, de demande et de refus pour les permissions d'outils. Ouvre une boîte de dialogue interactive où vous pouvez afficher les règles par portée, ajouter ou supprimer des règles, gérer les répertoires de travail, et examiner les [refus du mode auto récents](/docs/fr/auto-mode-config#review-denials). Vous pouvez également afficher et modifier les [règles du classificateur du mode auto](/docs/fr/auto-mode-config#edit-rules-from-permissions) à partir de l'onglet **Mode auto** de la boîte de dialogue. Lorsque vous l'exécutez pendant que Claude répond, Claude Code ouvre la boîte de dialogue immédiatement et applique vos modifications à partir de l'appel d'outil suivant de Claude dans le même tour. Avant la v2.1.234, Claude Code mettait la commande en file d'attente jusqu'à la fin du tour. Alias : `/allowed-tools` |117| `/permissions` | Gérer les règles d'autorisation, de demande et de refus pour les permissions d'outils. Ouvre une boîte de dialogue interactive où vous pouvez afficher les règles par portée, ajouter ou supprimer des règles, gérer les répertoires de travail, et examiner les [refus du mode auto récents](/docs/fr/auto-mode-config#review-denials). Vous pouvez également afficher et modifier les [règles du classificateur du mode auto](/docs/fr/auto-mode-config#edit-rules-from-permissions) à partir de l'onglet **Mode auto** de la boîte de dialogue. Lorsque vous l'exécutez pendant que Claude répond, Claude Code ouvre la boîte de dialogue immédiatement et applique vos modifications à partir de l'appel d'outil suivant de Claude dans le même tour. Avant la v2.1.234, Claude Code mettait la commande en file d'attente jusqu'à la fin du tour. Alias : `/allowed-tools` |

117| `/plan [description]` | Entrer directement en mode plan à partir de l'invite. Passez une description facultative pour entrer en mode plan et commencer immédiatement avec cette tâche, par exemple `/plan fix the auth bug` |118| `/plan [description]` | Entrer directement en mode plan à partir de l'invite. Passez une description facultative pour entrer en mode plan et commencer immédiatement avec cette tâche, par exemple `/plan fix the auth bug` |


126| `/reload-plugins [--force]` | Recharger tous les [plugins](/docs/fr/plugins) actifs pour appliquer les modifications en attente sans redémarrer. Signale les décomptes pour chaque composant rechargé et signale les erreurs de chargement. Lorsque le rechargement changerait les outils MCP chargés et invaliderait le cache d'invite, la commande avertit et ignore sauf si vous passez `--force`. Également disponible en mode non interactif (`-p`), le SDK Agent et l'application de bureau, où il s'exécute uniquement sur l'entrée tapée directement dans la session et n'applique pas les modifications du serveur MCP du plugin ; nécessite Claude Code v2.1.260 ou ultérieur. Consultez [Appliquer les modifications du plugin sans redémarrer](/docs/fr/discover-plugins#apply-plugin-changes-without-restarting) |127| `/reload-plugins [--force]` | Recharger tous les [plugins](/docs/fr/plugins) actifs pour appliquer les modifications en attente sans redémarrer. Signale les décomptes pour chaque composant rechargé et signale les erreurs de chargement. Lorsque le rechargement changerait les outils MCP chargés et invaliderait le cache d'invite, la commande avertit et ignore sauf si vous passez `--force`. Également disponible en mode non interactif (`-p`), le SDK Agent et l'application de bureau, où il s'exécute uniquement sur l'entrée tapée directement dans la session et n'applique pas les modifications du serveur MCP du plugin ; nécessite Claude Code v2.1.260 ou ultérieur. Consultez [Appliquer les modifications du plugin sans redémarrer](/docs/fr/discover-plugins#apply-plugin-changes-without-restarting) |

127| `/reload-skills` | Rescanner les répertoires de [compétence](/docs/fr/skills) et de commande afin que les compétences ajoutées ou modifiées sur le disque pendant la session deviennent disponibles sans redémarrer. Signale le nombre de compétences disponibles et le nombre ajouté ou supprimé |128| `/reload-skills` | Rescanner les répertoires de [compétence](/docs/fr/skills) et de commande afin que les compétences ajoutées ou modifiées sur le disque pendant la session deviennent disponibles sans redémarrer. Signale le nombre de compétences disponibles et le nombre ajouté ou supprimé |

128| `/remote-control` | Rendre cette session disponible pour [Remote Control](/docs/fr/remote-control) à partir de claude.ai. L'exécuter sans connexion affiche que Remote Control nécessite un abonnement claude.ai et vous indique comment vous connecter ; avant la v2.1.206, il signalait `Unknown command: /remote-control`. Alias : `/rc` |129| `/remote-control` | Rendre cette session disponible pour [Remote Control](/docs/fr/remote-control) à partir de claude.ai. L'exécuter sans connexion affiche que Remote Control nécessite un abonnement claude.ai et vous indique comment vous connecter ; avant la v2.1.206, il signalait `Unknown command: /remote-control`. Alias : `/rc` |

129| `/remote-env` | Choisir l'environnement par défaut pour les [agents cloud](/docs/fr/cloud-environments#select-an-environment-from-the-cli) |130| `/remote-env` | Choisir l'environnement cloud par défaut pour les sessions cloud que vous démarrez à partir de l'interface de ligne de commande. Consultez [Sélectionner un environnement à partir de l'interface de ligne de commande](/docs/fr/cloud-environments#select-an-environment-from-the-cli) |

130| `/rename [name]` | Renommer la session actuelle et afficher le nom sur la barre d'invite. Sans nom, génère automatiquement un à partir de l'historique de conversation. Également disponible en mode non interactif (`-p`) ; nécessite Claude Code v2.1.205 ou ultérieur. À partir de chaque surface de renommage, y compris claude.ai et l'application de bureau, Claude Code remplace les caractères de contrôle et invisibles dans le nouveau nom par des espaces et limite le nom à 200 caractères. Si le nom est vide une fois les caractères invisibles supprimés, Claude Code le rejette et affiche `That name is empty once invisible characters are removed. Usage: /rename <name>`. Le remplacement de caractères et la limite de longueur nécessitent Claude Code v2.1.221 ou ultérieur. Si une autre session en direct sur cette machine utilise déjà un nom que vous passez, Claude Code applique [une variante de celui-ci](/docs/fr/sessions#name-your-sessions) à la place |131| `/rename [name]` | Renommer la session actuelle et afficher le nom sur la barre d'invite. Sans nom, génère automatiquement un à partir de l'historique de conversation. Également disponible en mode non interactif (`-p`) ; nécessite Claude Code v2.1.205 ou ultérieur. À partir de chaque surface de renommage, y compris claude.ai et l'application de bureau, Claude Code remplace les caractères de contrôle et invisibles dans le nouveau nom par des espaces et limite le nom à 200 caractères. Si le nom est vide une fois les caractères invisibles supprimés, Claude Code le rejette et affiche `That name is empty once invisible characters are removed. Usage: /rename <name>`. Le remplacement de caractères et la limite de longueur nécessitent Claude Code v2.1.221 ou ultérieur. Si une autre session en direct sur cette machine utilise déjà un nom que vous passez, Claude Code applique [une variante de celui-ci](/docs/fr/sessions#name-your-sessions) à la place |

131| `/resume [session]` | Reprendre une conversation par ID ou nom, ou ouvrir le sélecteur de session. Les [sessions en arrière-plan](/docs/fr/agent-view) apparaissent dans le sélecteur marquées avec `bg` ; une qui est encore en cours d'exécution ne peut pas être reprise ici, donc attachez-vous à partir de `claude agents` ou arrêtez-la d'abord. Alias : `/continue` |132| `/resume [session]` | Reprendre une conversation par ID ou nom, ou ouvrir le sélecteur de session. Les [sessions en arrière-plan](/docs/fr/agent-view) apparaissent dans le sélecteur marquées avec `bg` ; une qui est encore en cours d'exécution ne peut pas être reprise ici, donc attachez-vous à partir de `claude agents` ou arrêtez-la d'abord. Alias : `/continue` |

132| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias de [`/code-review`](/docs/fr/code-review#review-a-diff-locally) : examine le diff actuel, ou un numéro de demande de fusion, une branche ou un chemin que vous passez, tel que `/review 1234`, et prend les mêmes niveaux d'effort et drapeaux. Sans niveau donné, l'examen réutilise le dernier niveau `low` à `max` que vous avez tapé ; consultez [Examiner un diff localement](/docs/fr/code-review#review-a-diff-locally) pour les règles exactes. Pour un examen cloud approfondi, utilisez [`/code-review ultra`](/docs/fr/ultrareview). Avant la v2.1.223, `/review` était une commande distincte qui exécutait un examen unique en lecture seule d'une demande de fusion GitHub par numéro, répertoriant les demandes de fusion ouvertes à choisir lorsqu'elle était exécutée sans argument ; de la v2.1.186 à la v2.1.201, elle exécutait le même moteur multi-agents que `/code-review medium` |133| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias de [`/code-review`](/docs/fr/code-review#review-a-diff-locally) : examine le diff actuel, ou un numéro de demande de fusion, une branche ou un chemin que vous passez, tel que `/review 1234`, et prend les mêmes niveaux d'effort et drapeaux. Sans niveau donné, l'examen réutilise le dernier niveau `low` à `max` que vous avez tapé ; consultez [Examiner un diff localement](/docs/fr/code-review#review-a-diff-locally) pour les règles exactes. Pour un examen cloud approfondi, utilisez [`/code-review ultra`](/docs/fr/ultrareview). Avant la v2.1.223, `/review` était une commande distincte qui exécutait un examen unique en lecture seule d'une demande de fusion GitHub par numéro, répertoriant les demandes de fusion ouvertes à choisir lorsqu'elle était exécutée sans argument ; de la v2.1.186 à la v2.1.201, elle exécutait le même moteur multi-agents que `/code-review medium` |


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

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

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

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

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

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

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

Details

1586 1586 

1587La session parcourt un flux réaliste avec des comptages de jetons représentatifs :1587La session parcourt un flux réaliste avec des comptages de jetons représentatifs :

1588 1588 

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. 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** : `/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.


1598Quand une longue session se compacte, Claude Code résume l'historique de la conversation pour l'adapter à la fenêtre de contexte. À partir de la v2.1.198, la demande de résumé hérite de la configuration de [réflexion étendue](/docs/fr/model-config#extended-thinking) de votre session, de sorte qu'elle raisonne avec la réflexion activée quand votre session l'a activée et reste désactivée sinon. La réflexion affecte uniquement la façon dont le résumé est produit ; vos paramètres de session restent inchangés après. Ce qui arrive à chaque type de contenu dépend de la façon dont il a été chargé :1598Quand une longue session se compacte, Claude Code résume l'historique de la conversation pour l'adapter à la fenêtre de contexte. À partir de la v2.1.198, la demande de résumé hérite de la configuration de [réflexion étendue](/docs/fr/model-config#extended-thinking) de votre session, de sorte qu'elle raisonne avec la réflexion activée quand votre session l'a activée et reste désactivée sinon. La réflexion affecte uniquement la façon dont le résumé est produit ; vos paramètres de session restent inchangés après. Ce qui arrive à chaque type de contenu dépend de la façon dont il a été chargé :

1599 1599 

1600| Mécanisme | Après compaction |1600| Mécanisme | Après compaction |

1601| :--------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------- |1601| :------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------- |

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 |


1606| Règles avec frontmatter `paths:` | Claude Code les recharge au fur et à mesure que Claude lit les fichiers qu'elles correspondent |1606| 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 |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| Fichiers que Claude a lus ou modifiés | Claude Code relit jusqu'à cinq, les plus récemment modifiés en premier |1608| Fichiers que Claude a lus ou modifiés | Claude Code relit jusqu'à cinq, les plus récemment modifiés en premier |

1609| Corps de compétences invoqués | Réinjectés, limités à 5 000 jetons par compétence et 25 000 jetons au total ; les plus anciens sont supprimés en premier |1609| Invoked skill bodies | Réinjectés, limités à 5 000 jetons par compétence et 25 000 jetons au total ; les plus anciens sont supprimés en premier |

1610| [Commandes d'arrière-plan](/docs/fr/interactive-mode#background-bash-commands) et [sous-agents](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) d'arrière-plan | Continuent de s'exécuter. Claude Code rappelle à Claude lesquels sont encore en cours d'exécution pour qu'il ne démarre pas un doublon |

1610| Contexte que les hooks ont ajouté plus tôt | Résumé avec le reste de la conversation |1611| Contexte que les hooks ont ajouté plus tôt | Résumé avec le reste de la conversation |

1611| [Hooks SessionStart](/docs/fr/hooks-guide#re-inject-context-after-compaction) qui correspondent à la source `compact` | Claude Code les exécute et ajoute leur sortie au contexte compacté |1612| [Hooks SessionStart](/docs/fr/hooks-guide#re-inject-context-after-compaction) qui correspondent à la source `compact` | Claude Code les exécute et ajoute leur sortie au contexte compacté |

1612 1613 

1613Les règles délimitées par chemin et les fichiers CLAUDE.md imbriqués se chargent dans l'historique des messages quand leur fichier déclencheur est lu, de sorte que la compaction les résume avec tout le reste. Immédiatement après la compaction, Claude Code relit jusqu'à cinq des fichiers que Claude a lus ou modifiés dans la session, en choisissant ceux modifiés les plus récemment, et recharge les règles et les fichiers CLAUDE.md imbriqués qui s'appliquent à ces fichiers. Un fichier de plus de 5 000 jetons revient comme une référence de chemin sans son contenu, affiché comme `Referenced file` au lieu de `Read`. Ses règles se rechargent quand même. Si une règle doit persister à travers la compaction, supprimez le frontmatter `paths:` ou déplacez-le vers le CLAUDE.md à la racine du projet.1614Immédiatement après la compaction, Claude Code relit jusqu'à cinq des fichiers que Claude a lus ou modifiés dans la session, en choisissant ceux modifiés les plus récemment. Un fichier de plus de 5 000 jetons revient comme une référence de chemin sans son contenu, affiché comme `Referenced file` au lieu de `Read`.

1615 

1616Les règles délimitées par chemin et les fichiers CLAUDE.md imbriqués se chargent dans l'historique des messages quand leur fichier déclencheur est lu, de sorte que la compaction les résume avec tout le reste. Si une règle doit persister à travers la compaction, supprimez le frontmatter `paths:` ou déplacez-le vers le CLAUDE.md à la racine du projet.

1614 1617 

1615Les corps de compétences sont réinjectés après compaction, mais les grandes compétences sont tronquées pour s'adapter au plafond par compétence, et les compétences invoquées les plus anciennes sont supprimées une fois le budget total dépassé. La troncature conserve le début du fichier, donc mettez les instructions les plus importantes près du haut de `SKILL.md`.1618Les corps de compétences sont réinjectés après compaction, mais les grandes compétences sont tronquées pour s'adapter au plafond par compétence, et les compétences invoquées les plus anciennes sont supprimées une fois le budget total dépassé. La troncature conserve le début du fichier, donc mettez les instructions les plus importantes près du haut de `SKILL.md`.

1616 1619 

Details

10 10 

11`CLAUDE_CODE_PROCESS_WRAPPER` démarre chaque processus que Claude Code lance à partir de son propre binaire via votre lanceur : le service d'arrière-plan, chaque session qu'il héberge dans la [vue agent](/docs/fr/agent-view), et les relanceurs de Claude Code après une mise à jour. Définissez-le sur le chemin absolu de votre lanceur, et Claude Code exécute le lanceur avec la commande Claude Code comme arguments.11`CLAUDE_CODE_PROCESS_WRAPPER` démarre chaque processus que Claude Code lance à partir de son propre binaire via votre lanceur : le service d'arrière-plan, chaque session qu'il héberge dans la [vue agent](/docs/fr/agent-view), et les relanceurs de Claude Code après une mise à jour. Définissez-le sur le chemin absolu de votre lanceur, et Claude Code exécute le lanceur avec la commande Claude Code comme arguments.

12 12 

13Un lanceur qui enveloppe la commande `claude` sur votre `PATH` ne peut pas atteindre ces processus, car ils démarrent à partir du chemin direct du binaire sans consulter `claude`.13Un lanceur qui enveloppe la commande `claude` sur votre `PATH` ne peut pas atteindre le service d'arrière-plan ou les sessions qu'il héberge, car ils démarrent à partir du chemin direct du binaire sans consulter `claude`.

14 14 

15<Note>15<Note>

16 `CLAUDE_CODE_PROCESS_WRAPPER` nécessite Claude Code v2.1.208 ou ultérieur. Les versions antérieures ignorent la variable et démarrent chaque processus sans enveloppe. Le paramètre [`processWrapper`](/docs/fr/settings-reference#processwrapper) équivalent nécessite v2.1.210 ou ultérieur. Les versions antérieures l'ignorent comme clé inconnue, n'appliquent aucun lanceur et ne signalent aucune erreur.16 `CLAUDE_CODE_PROCESS_WRAPPER` nécessite Claude Code v2.1.208 ou ultérieur. Les versions antérieures ignorent la variable et démarrent chaque processus sans enveloppe. Le paramètre [`processWrapper`](/docs/fr/settings-reference#processwrapper) équivalent nécessite v2.1.210 ou ultérieur. Les versions antérieures l'ignorent comme clé inconnue, n'appliquent aucun lanceur et ne signalent aucune erreur.


40Les processus suivants ne démarrent pas via le lanceur :40Les processus suivants ne démarrent pas via le lanceur :

41 41 

42* Un [service d'arrière-plan installé](/docs/fr/agent-view#the-supervisor-process) dont l'unité a été écrite avant la configuration du lanceur : `launchd` ou `systemd` démarre ce processus à partir de son fichier d'unité. `/status` et `claude daemon status` avertissent quand le service en cours d'exécution et le lanceur configuré ne correspondent pas, et les sessions que le service génère démarrent toujours via le lanceur une fois que le service redémarre avec la variable dans ses paramètres.42* Un [service d'arrière-plan installé](/docs/fr/agent-view#the-supervisor-process) dont l'unité a été écrite avant la configuration du lanceur : `launchd` ou `systemd` démarre ce processus à partir de son fichier d'unité. `/status` et `claude daemon status` avertissent quand le service en cours d'exécution et le lanceur configuré ne correspondent pas, et les sessions que le service génère démarrent toujours via le lanceur une fois que le service redémarre avec la variable dans ses paramètres.

43* Une session que vous démarrez vous-même dans un terminal, qui s'exécute comme vous l'avez invoquée. Pour couvrir ces sessions, mettez un script nommé `claude` dans un répertoire plus tôt sur `PATH` qui exécute votre lanceur avec le vrai binaire ; ne remplacez pas le lien symbolique géré. Les auto-générations ne consultent pas `PATH`, donc les deux lanceurs ne s'empilent jamais.43* Une session que vous démarrez vous-même dans un terminal, qui s'exécute comme vous l'avez invoquée. Pour couvrir ces sessions, mettez un script nommé `claude` dans un répertoire plus tôt sur `PATH` qui exécute votre lanceur avec le vrai binaire ; ne remplacez pas le lien symbolique géré. Le service d'arrière-plan et ses sessions démarrent sans une recherche `PATH`, donc les deux lanceurs ne s'empilent pas là.

44* Le premier processus d'un lien profond `claude-cli://`, que le gestionnaire de protocole du système d'exploitation démarre directement. Tout ce que cette session démarre en arrière-plan par la suite s'exécute via le lanceur. Pour fermer complètement ce chemin, [empêchez l'enregistrement du gestionnaire](/docs/fr/deep-links#registration-and-supported-platforms) avec le paramètre `disableDeepLinkRegistration`.44* Le premier processus d'un lien profond `claude-cli://`, que le gestionnaire de protocole du système d'exploitation démarre directement. Tout ce que cette session démarre en arrière-plan par la suite s'exécute via le lanceur. Pour fermer complètement ce chemin, [empêchez l'enregistrement du gestionnaire](/docs/fr/deep-links#registration-and-supported-platforms) avec le paramètre `disableDeepLinkRegistration`.

45* Le relancement que `--worktree` combiné avec `--tmux` effectue : le multiplexeur de terminal démarre ce volet, pas le binaire de Claude Code.45* Le relancement que `--worktree` combiné avec `--tmux` effectue : le multiplexeur de terminal démarre ce volet, pas le binaire de Claude Code.

46* L'hôte de messagerie native que [Claude in Chrome](/docs/fr/chrome) enregistre : le navigateur le démarre, pas le binaire de Claude Code.46* L'hôte de messagerie native que [Claude in Chrome](/docs/fr/chrome) enregistre : le navigateur le démarre, pas le binaire de Claude Code.

costs.md +1 −1

Details

146 </Step>146 </Step>

147 147 

148 <Step title="Écrivez le paramètre">148 <Step title="Écrivez le paramètre">

149 Définissez `multiplier` pour une réduction en pourcentage fixe du prix catalogue, listez les quatre tarifs par token de chaque modèle sous `overrides`, ou faites les deux. L'[entrée `modelPricing`](/docs/fr/settings-reference#modelpricing) a la forme et un exemple prêt à coller.149 Définissez `multiplier` en dessous de 1 pour une réduction forfaitaire ou au-dessus de 1 pour une majoration, listez les quatre tarifs par token de chaque modèle sous `overrides`, ou faites les deux. Une majoration nécessite Claude Code v2.1.271 ou ultérieur. L'[entrée `modelPricing`](/docs/fr/settings-reference#modelpricing) a la forme et un exemple prêt à coller.

150 </Step>150 </Step>

151 151 

152 <Step title="Déployez-le via les paramètres gérés">152 <Step title="Déployez-le via les paramètres gérés">

Details

240 240 

241Au-delà de l'édition d'un fichier de paramètres, vous pouvez sélectionner la valeur dans la ligne `/config` **Messages from your other sessions**. Claude Code écrit la valeur que vous sélectionnez dans vos paramètres utilisateur. La ligne nécessite Claude Code v2.1.232 ou ultérieure et n'apparaît pas pendant que les paramètres gérés ou l'indicateur `--settings` définit la clé, car une valeur de paramètres utilisateur ne s'appliquerait pas alors. Claude Code rejette le raccourci `/config crossSessionInbound=value` pour cette clé.241Au-delà de l'édition d'un fichier de paramètres, vous pouvez sélectionner la valeur dans la ligne `/config` **Messages from your other sessions**. Claude Code écrit la valeur que vous sélectionnez dans vos paramètres utilisateur. La ligne nécessite Claude Code v2.1.232 ou ultérieure et n'apparaît pas pendant que les paramètres gérés ou l'indicateur `--settings` définit la clé, car une valeur de paramètres utilisateur ne s'appliquerait pas alors. Claude Code rejette le raccourci `/config crossSessionInbound=value` pour cette clé.

242 242 

243Pour voir quelle valeur s'applique, suivez les règles de précédence `crossSessionInbound` dans la [référence des paramètres](/docs/fr/settings-reference#crosssessioninbound). Quand aucune valeur ne s'applique, Claude Code décide par message à partir des modes de permission des deux sessions. Il groupe les sessions qui [contournent les invites de permission](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) dans une classe, et chaque autre session dans l'autre. Le mode Plan compte comme contournement dans les sessions avec les permissions de contournement disponibles, et [auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), `acceptEdits` et `dontAsk` comptent comme invitant :243Pour voir quelle valeur s'applique, suivez les règles de précédence `crossSessionInbound` dans la [référence des paramètres](/docs/fr/settings-reference#crosssessioninbound).

244 

245Quand aucune valeur ne s'applique, Claude Code décide par message à partir des modes de permission des deux sessions. Il groupe les sessions qui [contournent les invites de permission](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) dans une classe, et chaque autre session dans l'autre. Le mode Plan compte comme contournement dans les sessions de terminal interactif avec les permissions de contournement disponibles, et [auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), `acceptEdits` et `dontAsk` comptent comme invitant :

244 246 

245* **La session réceptrice invite pour les permissions** : Claude Code livre chaque message. Il retient un pour votre approbation seulement quand la session d'envoi s'identifie comme contournant les invites de permission.247* **La session réceptrice invite pour les permissions** : Claude Code livre chaque message. Il retient un pour votre approbation seulement quand la session d'envoi s'identifie comme contournant les invites de permission.

246* **La session réceptrice contourne les invites de permission** : Claude Code retient chaque message pour votre approbation. Il livre un seulement quand la session d'envoi s'identifie aussi comme contournant.248* **La session réceptrice contourne les invites de permission** : Claude Code retient chaque message pour votre approbation. Il livre un seulement quand la session d'envoi s'identifie aussi comme contournant.


254* Si la classe de mode de permission de cette session change pendant que les messages sont retenus, Claude Code réapplique les règles entrantes, livre les messages qu'elles acceptent maintenant, et affiche un avis.256* Si la classe de mode de permission de cette session change pendant que les messages sont retenus, Claude Code réapplique les règles entrantes, livre les messages qu'elles acceptent maintenant, et affiche un avis.

255* Si un changement de paramètres rend `refuse` applicable pendant que les messages sont retenus, Claude Code supprime chaque message retenu et rapporte un refus à chaque expéditeur qu'il peut atteindre.257* Si un changement de paramètres rend `refuse` applicable pendant que les messages sont retenus, Claude Code supprime chaque message retenu et rapporte un refus à chaque expéditeur qu'il peut atteindre.

256 258 

257Quand l'expéditeur est une session interactive sur la même machine, Claude Code affiche un avis là quand le récepteur retient le message, et un suivi quand le récepteur livre, refuse ou l'expire plus tard. Si le récepteur le refuse, Claude Code affiche un avis là que le récepteur n'accepte pas les messages entre sessions et dit au Claude de l'expéditeur de ne pas attendre ou renvoyer.259Quand l'expéditeur est une session sur la même machine, Claude Code envoie un avis vers elle quand le récepteur retient le message, et un suivi quand le récepteur livre, refuse ou l'expire plus tard. L'avis atteint le Claude d'envoi, donc il sait de ne pas continuer à attendre un message que l'autre session n'a pas lu.

260 

261Dans une session d'envoi interactive, l'avis apparaît dans la transcription. Un expéditeur [`claude -p`](/docs/fr/headless) le reçoit dans la [sortie en flux](/docs/fr/headless#stream-responses) comme un [message `system` informatif](/docs/fr/agent-sdk/typescript#sdkinformationalmessage). Les avis aux expéditeurs `claude -p` nécessitent Claude Code v2.1.271 ou ultérieur.

262 

263Si le récepteur refuse le message, l'avis de l'expéditeur dit que le récepteur n'accepte pas les messages entre sessions et dit au Claude de l'expéditeur de ne pas attendre ou renvoyer.

258 264 

259Claude Code retient au maximum 100 messages, séparément de la file d'attente de livraison, et au-delà de cela supprime les plus anciens.265Claude Code retient au maximum 100 messages, séparément de la file d'attente de livraison, et au-delà de cela supprime les plus anciens.

260 266 


365 371 

366 Pour arrêter une session de les recevoir, définissez [`crossSessionInbound`](#turn-off-cross-session-messaging) à `refuse`.372 Pour arrêter une session de les recevoir, définissez [`crossSessionInbound`](#turn-off-cross-session-messaging) à `refuse`.

367 373 

368* **Sessions au-delà de cette machine** : Claude trouve vos sessions [Claude Code sur le web](/docs/fr/claude-code-on-the-web) et vos sessions sur d'autres machines à partir d'une session connectée à la Télécommande, qui nécessite une connexion claude.ai comme authentification active de cette session et les autres [exigences de Télécommande](/docs/fr/remote-control#requirements). Claude ne peut pas trouver ces sessions avec une clé API ou sur Amazon Bedrock, Claude Platform sur AWS, Agent Platform de Google Cloud et Microsoft Foundry.374* **Sessions au-delà de cette machine** : Claude trouve vos [sessions Claude Code sur le web](/docs/fr/claude-code-on-the-web) et vos sessions sur d'autres machines à partir d'une session connectée à la Télécommande, qui nécessite une connexion claude.ai comme authentification active de cette session et les autres [exigences de Télécommande](/docs/fr/remote-control#requirements). Claude ne peut pas trouver ces sessions avec une clé API ou sur Amazon Bedrock, Claude Platform sur AWS, Agent Platform de Google Cloud et Microsoft Foundry.

369 375 

370Pour vérifier une session, tapez `/list-agents`, aussi disponible comme `/peers`. Le résultat sépare une session qui n'a pas la fonctionnalité d'une session où quelque chose de plus étroit a bloqué un message, comme un outil `SendMessage` manquant ou un envoi refusé :376Pour vérifier une session, tapez `/list-agents`, aussi disponible comme `/peers`. Le résultat sépare une session qui n'a pas la fonctionnalité d'une session où quelque chose de plus étroit a bloqué un message, comme un outil `SendMessage` manquant ou un envoi refusé :

371 377 

data-usage.md +1 −1

Details

108 Exécution cloud : flux de données et dépendances108 Exécution cloud : flux de données et dépendances

109</h3>109</h3>

110 110 

111Lors de l'utilisation de [Claude Code sur le web](/docs/fr/claude-code-on-the-web), les sessions s'exécutent par défaut dans des machines virtuelles gérées par Anthropic au lieu de s'exécuter localement. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur l'infrastructure que vous contrôlez ; pour savoir ce qui reste sur vos machines et ce qui va toujours à Anthropic, consultez [Ce qui reste sur votre infrastructure](/docs/fr/self-hosted-environments#what-stays-on-your-infrastructure). Dans les sessions cloud hébergées par Anthropic :111Les sessions [Claude Code sur le web](/docs/fr/claude-code-on-the-web) s'exécutent par défaut dans des machines virtuelles gérées par Anthropic au lieu de s'exécuter localement. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur l'infrastructure que vous contrôlez ; pour savoir ce qui reste sur vos machines et ce qui va toujours à Anthropic, consultez [Ce qui reste sur votre infrastructure](/docs/fr/self-hosted-environments#what-stays-on-your-infrastructure). Dans les sessions cloud hébergées par Anthropic :

112 112 

113* **Stockage du code et des données :** Votre référentiel est cloné sur une VM isolée. Le code et les données de session sont soumis aux politiques de conservation et d'utilisation pour votre type de compte (voir la section Conservation des données ci-dessus)113* **Stockage du code et des données :** Votre référentiel est cloné sur une VM isolée. Le code et les données de session sont soumis aux politiques de conservation et d'utilisation pour votre type de compte (voir la section Conservation des données ci-dessus)

114* **Identifiants :** L'authentification GitHub est gérée via un proxy sécurisé ; vos identifiants GitHub n'entrent jamais dans le bac à sable114* **Identifiants :** L'authentification GitHub est gérée via un proxy sécurisé ; vos identifiants GitHub n'entrent jamais dans le bac à sable

Details

105La plupart des surprises de configuration remontent à un petit ensemble de règles d'emplacement et de syntaxe. Vérifiez-les avant de supposer un bogue :105La plupart des surprises de configuration remontent à un petit ensemble de règles d'emplacement et de syntaxe. Vérifiez-les avant de supposer un bogue :

106 106 

107| Symptôme | Cause | Correction |107| Symptôme | Cause | Correction |

108| :------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |108| :------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

109| Le hook ne se déclenche jamais | `matcher` est un tableau JSON au lieu d'une chaîne | Utilisez une chaîne unique avec `\|` pour correspondre à plusieurs outils, par exemple `"Edit\|Write"`. Consultez [matcher patterns](/docs/fr/hooks#matcher-patterns). |109| Le hook ne se déclenche jamais | `matcher` est un tableau JSON au lieu d'une chaîne | Utilisez une chaîne unique avec `\|` pour correspondre à plusieurs outils, par exemple `"Edit\|Write"`. Consultez [matcher patterns](/docs/fr/hooks#matcher-patterns). |

110| Le hook ne se déclenche jamais | `matcher` utilise `,` comme séparateur sur une version antérieure à v2.1.191 | Claude Code v2.1.191 ou version ultérieure traite `,` comme un séparateur de liste comme `\|`. Les versions antérieures évaluent une virgule comme un caractère littéral, donc `"Edit,Write"` ne correspond à rien. Utilisez `\|` à la place, ou mettez à jour Claude Code. |110| Le hook ne se déclenche jamais | `matcher` utilise `,` comme séparateur sur une version antérieure à v2.1.191 | Claude Code v2.1.191 ou version ultérieure traite `,` comme un séparateur de liste comme `\|`. Les versions antérieures évaluent une virgule comme un caractère littéral, donc `"Edit,Write"` ne correspond à rien. Utilisez `\|` à la place, ou mettez à jour Claude Code. |

111| Le hook ne se déclenche jamais | La valeur `matcher` est en minuscules, par exemple `"bash"` | La correspondance est sensible à la casse. Les noms d'outils sont en majuscules : `Bash`, `Edit`, `Write`, `Read`. |111| Le hook ne se déclenche jamais | La valeur `matcher` est en minuscules, par exemple `"bash"` | La correspondance est sensible à la casse. Les noms d'outils sont en majuscules : `Bash`, `Edit`, `Write`, `Read`. |


115| Le skill n'apparaît pas dans `/skills` | Le fichier skill est à `.claude/skills/name.md` au lieu d'être dans un dossier | Utilisez un dossier avec `SKILL.md` à l'intérieur : `.claude/skills/name/SKILL.md`. |115| Le skill n'apparaît pas dans `/skills` | Le fichier skill est à `.claude/skills/name.md` au lieu d'être dans un dossier | Utilisez un dossier avec `SKILL.md` à l'intérieur : `.claude/skills/name/SKILL.md`. |

116| Le skill apparaît dans `/skills` mais Claude ne l'invoque jamais | Le skill a `disable-model-invocation: true` dans son frontmatter, ou sa description ne correspond pas à la façon dont vous formulez la demande | Vérifiez le badge dans `/skills` : un label « user-only » signifie que Claude ne le déclenchera pas de lui-même. Consultez [skill invocation](/docs/fr/skills). |116| Le skill apparaît dans `/skills` mais Claude ne l'invoque jamais | Le skill a `disable-model-invocation: true` dans son frontmatter, ou sa description ne correspond pas à la façon dont vous formulez la demande | Vérifiez le badge dans `/skills` : un label « user-only » signifie que Claude ne le déclenchera pas de lui-même. Consultez [skill invocation](/docs/fr/skills). |

117| Les instructions du sous-répertoire `CLAUDE.md` semblent ignorées | Les fichiers du sous-répertoire se chargent à la demande, pas au démarrage de la session | Ils se chargent quand Claude lit un fichier dans ce répertoire avec l'outil Read, pas au lancement et pas lors de l'écriture ou de la création de fichiers là-bas. Consultez [how CLAUDE.md files load](/docs/fr/memory#how-claude-md-files-load). |117| Les instructions du sous-répertoire `CLAUDE.md` semblent ignorées | Les fichiers du sous-répertoire se chargent à la demande, pas au démarrage de la session | Ils se chargent quand Claude lit un fichier dans ce répertoire avec l'outil Read, pas au lancement et pas lors de l'écriture ou de la création de fichiers là-bas. Consultez [how CLAUDE.md files load](/docs/fr/memory#how-claude-md-files-load). |

118| Le sous-agent ignore les instructions `CLAUDE.md` | Les agents Explore et Plan intégrés ignorent `CLAUDE.md`. Les sous-agents personnalisés le chargent de la même manière que la conversation principale | Pour Explore ou Plan, reformulez l'instruction dans votre invite de délégation. Pour un sous-agent personnalisé, mettez les instructions critiques dans le corps du fichier agent, qui devient l'invite système du sous-agent. Consultez [what loads at startup](/docs/fr/sub-agents#what-loads-at-startup). |118| Le sous-agent ignore les instructions `CLAUDE.md` | Les agents Explore et Plan intégrés ignorent `CLAUDE.md`. Un sous-agent personnalisé le charge de la même manière que la conversation principale, sauf si sa définition définit [`omitClaudeMd`](/docs/fr/sub-agents#supported-frontmatter-fields) | Pour Explore ou Plan, reformulez l'instruction dans votre invite de délégation. Pour un sous-agent qui définit `omitClaudeMd`, supprimez le champ. Pour tout autre sous-agent personnalisé, mettez les instructions critiques dans le corps du fichier agent, qui devient l'invite système du sous-agent. Consultez [what loads at startup](/docs/fr/sub-agents#what-loads-at-startup). |

119| La logique de nettoyage ne s'exécute jamais à la fin de la session | Aucun hook `SessionEnd` configuré | Ajoutez un hook `SessionEnd` dans `settings.json`. Consultez la [hook events list](/docs/fr/hooks#hook-events). |119| La logique de nettoyage ne s'exécute jamais à la fin de la session | Aucun hook `SessionEnd` configuré | Ajoutez un hook `SessionEnd` dans `settings.json`. Consultez la [hook events list](/docs/fr/hooks#hook-events). |

120| Les serveurs MCP dans `.mcp.json` ne se chargent jamais | Le fichier est sous `.claude/`, ou ses serveurs se trouvent sous une clé `servers` de haut niveau, comme dans le `mcp.json` de VS Code, au lieu de `mcpServers` | La configuration MCP du projet va à la racine du référentiel sous `.mcp.json`, pas à l'intérieur de `.claude/`, avec les serveurs sous la clé `mcpServers`. Consultez [MCP configuration](/docs/fr/mcp). |120| Les serveurs MCP dans `.mcp.json` ne se chargent jamais | Le fichier est sous `.claude/`, ou ses serveurs se trouvent sous une clé `servers` de haut niveau, comme dans le `mcp.json` de VS Code, au lieu de `mcpServers` | La configuration MCP du projet va à la racine du référentiel sous `.mcp.json`, pas à l'intérieur de `.claude/`, avec les serveurs sous la clé `mcpServers`. Consultez [MCP configuration](/docs/fr/mcp). |

121| Les serveurs MCP ajoutés sous `mcpServers` dans `settings.json` n'apparaissent jamais | `settings.json` ne lit pas une clé `mcpServers` | Définissez les serveurs du projet dans `.mcp.json` à la racine du référentiel, ou exécutez `claude mcp add --scope user` pour les serveurs à portée utilisateur. Consultez [MCP configuration](/docs/fr/mcp). |121| Les serveurs MCP ajoutés sous `mcpServers` dans `settings.json` n'apparaissent jamais | `settings.json` ne lit pas une clé `mcpServers` | Définissez les serveurs du projet dans `.mcp.json` à la racine du référentiel, ou exécutez `claude mcp add --scope user` pour les serveurs à portée utilisateur. Consultez [MCP configuration](/docs/fr/mcp). |

desktop.md +31 −21

Details

36* Laisser Claude [vérifier, envoyer un message ou archiver vos autres sessions](#work-across-sessions)36* Laisser Claude [vérifier, envoyer un message ou archiver vos autres sessions](#work-across-sessions)

37* [Connecter des outils externes](#connect-external-tools) comme GitHub, Slack et Linear37* [Connecter des outils externes](#connect-external-tools) comme GitHub, Slack et Linear

38* Laisser Claude [ouvrir des applications et contrôler votre écran](#let-claude-use-your-computer)38* Laisser Claude [ouvrir des applications et contrôler votre écran](#let-claude-use-your-computer)

39* Exécuter sur votre machine, dans le [cloud](#run-long-running-tasks-remotely), ou via [SSH](#ssh-sessions)39* Exécuter sur votre machine, dans le [cloud](#run-long-running-tasks-in-the-cloud), ou via [SSH](#ssh-sessions)

40 40 

41Pour [les travaux récurrents planifiés](/docs/fr/desktop-scheduled-tasks), [les raccourcis clavier](#keyboard-shortcuts), ou [l'envoi de tâches depuis votre téléphone](#sessions-from-dispatch), consultez les pages et sections liées. Si vous utilisez déjà le CLI basé sur le terminal, consultez la [comparaison CLI](#coming-from-the-cli) pour voir ce qui est transféré.41Pour [les travaux récurrents planifiés](/docs/fr/desktop-scheduled-tasks), [les raccourcis clavier](#keyboard-shortcuts), ou [l'envoi de tâches depuis votre téléphone](#sessions-from-dispatch), consultez les pages et sections liées. Si vous utilisez déjà le CLI basé sur le terminal, consultez la [comparaison CLI](#coming-from-the-cli) pour voir ce qui est transféré.

42 42 


47Avant d'envoyer votre premier message, configurez quatre choses dans la zone de prompt :47Avant d'envoyer votre premier message, configurez quatre choses dans la zone de prompt :

48 48 

49* **Environnement** : choisissez où Claude s'exécute. Sélectionnez **Local** pour votre machine, **Cloud** pour une [session cloud](#cloud-sessions) qui continue après la fermeture de l'application, une [**connexion SSH**](#ssh-sessions) pour une machine distante que vous gérez, ou sur Windows une [**distribution WSL**](/docs/fr/desktop-wsl). Voir [configuration de l'environnement](#environment-configuration).49* **Environnement** : choisissez où Claude s'exécute. Sélectionnez **Local** pour votre machine, **Cloud** pour une [session cloud](#cloud-sessions) qui continue après la fermeture de l'application, une [**connexion SSH**](#ssh-sessions) pour une machine distante que vous gérez, ou sur Windows une [**distribution WSL**](/docs/fr/desktop-wsl). Voir [configuration de l'environnement](#environment-configuration).

50* **Dossier du projet** : sélectionnez le dossier ou le référentiel dans lequel Claude travaille. Pour les sessions cloud, vous pouvez ajouter [plusieurs référentiels](#run-long-running-tasks-remotely).50* **Dossier du projet** : sélectionnez le dossier ou le référentiel dans lequel Claude travaille. Pour les sessions cloud, vous pouvez ajouter [plusieurs référentiels](#run-long-running-tasks-in-the-cloud).

51* **Modèle** : choisissez un [modèle](/docs/fr/model-config#available-models) dans la liste déroulante à côté du bouton d'envoi. Vous pouvez modifier ceci pendant la session.51* **Modèle** : choisissez un [modèle](/docs/fr/model-config#available-models) dans la liste déroulante à côté du bouton d'envoi. Vous pouvez modifier ceci pendant la session.

52* **Mode de permission** : choisissez le niveau d'autonomie de Claude à partir du [sélecteur de mode](#choose-a-permission-mode). Vous pouvez modifier ceci pendant la session.52* **Mode de permission** : choisissez le niveau d'autonomie de Claude à partir du [sélecteur de mode](#choose-a-permission-mode). Vous pouvez modifier ceci pendant la session.

53 53 


207 207 

208L'onglet Code est construit autour de volets que vous pouvez arranger dans n'importe quelle disposition : chat, différence, aperçu, terminal, fichier, plan, tâches et sous-agent, ainsi que le [Simulateur iOS](/docs/fr/desktop-ios-simulator) sur macOS. Glissez un volet par son en-tête pour le repositionner, ou glissez un bord de volet pour le redimensionner. Appuyez sur **Cmd+\\** sur macOS ou **Ctrl+\\** sur Windows pour fermer le volet actif. Ouvrez des volets supplémentaires à partir du menu **Vues** dans la barre d'outils de la session.208L'onglet Code est construit autour de volets que vous pouvez arranger dans n'importe quelle disposition : chat, différence, aperçu, terminal, fichier, plan, tâches et sous-agent, ainsi que le [Simulateur iOS](/docs/fr/desktop-ios-simulator) sur macOS. Glissez un volet par son en-tête pour le repositionner, ou glissez un bord de volet pour le redimensionner. Appuyez sur **Cmd+\\** sur macOS ou **Ctrl+\\** sur Windows pour fermer le volet actif. Ouvrez des volets supplémentaires à partir du menu **Vues** dans la barre d'outils de la session.

209 209 

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

211 

210<Note>212<Note>

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

212</Note>214</Note>


240 Changer les modes d'affichage242 Changer les modes d'affichage

241</h3>243</h3>

242 244 

243Les modes d'affichage contrôlent le niveau de détail qui apparaît dans la transcription du chat. Changez les modes à partir de la liste déroulante **Vue de la transcription** à côté du bouton d'envoi, ou appuyez sur **Ctrl+O** sur macOS ou Windows pour les parcourir.245Les modes d'affichage contrôlent le niveau de détail qui apparaît dans la transcription du chat. Changez les modes à partir de la liste déroulante **Vue de la transcription** à côté du bouton d'envoi, ou appuyez sur **Ctrl+O** sur macOS ou Windows pour les parcourir. Le mode Thinking apparaît dans la liste déroulante uniquement après que Claude a produit du thinking dans la session que vous consultez.

244 246 

245| Mode | Ce qu'il affiche |247| Mode | Ce qu'il affiche |

246| ----------- | -------------------------------------------------------------------------------- |248| ------------ | ------------------------------------------------------------------------------------------------------------ |

247| **Normal** | Les appels d'outils réduits en résumés, avec les réponses texte complètes |249| **Normal** | Les appels d'outils réduits en résumés, avec les réponses texte complètes |

248| **Verbose** | Chaque appel d'outil, lecture de fichier et étape intermédiaire que Claude prend |250| **Thinking** | Les appels d'outils réduits en résumés, plus le thinking de Claude |

249| **Résumé** | Uniquement les réponses finales de Claude et les modifications qu'il a apportées |251| **Verbose** | Chaque appel d'outil, lecture de fichier et étape intermédiaire que Claude prend, plus le thinking de Claude |

250 252 

251Utilisez Verbose lors du débogage pour savoir pourquoi Claude a pris une action particulière. Utilisez Résumé quand vous exécutez plusieurs sessions et voulez scanner les résultats rapidement.253Utilisez Thinking pour suivre le raisonnement de Claude avec les appels d'outils toujours réduits. Utilisez Verbose lors du débogage pour savoir pourquoi Claude a pris une action particulière. Les versions de Claude Desktop antérieures à 1.46388.1 listent également un mode Résumé, et une session toujours définie sur Résumé s'ouvre en Normal une fois que vous mettez à jour.

252 254 

253<h3 id="keyboard-shortcuts">255<h3 id="keyboard-shortcuts">

254 Raccourcis clavier256 Raccourcis clavier


296 298 

297L'utilisation informatique est désactivée par défaut. [Activez-la dans Paramètres](#enable-computer-use) avant que Claude puisse contrôler votre écran. Sur macOS, vous devez également accorder les permissions d'Accessibilité et d'Enregistrement d'écran.299L'utilisation informatique est désactivée par défaut. [Activez-la dans Paramètres](#enable-computer-use) avant que Claude puisse contrôler votre écran. Sur macOS, vous devez également accorder les permissions d'Accessibilité et d'Enregistrement d'écran.

298 300 

301Sur macOS, l'utilisation informatique peut également s'exécuter en arrière-plan : Claude travaille dans les applications que vous avez approuvées pendant que vous continuez à travailler.

302 

299<Warning>303<Warning>

300 Contrairement à l'[outil Bash sandboxé](/docs/fr/sandboxing), l'utilisation informatique s'exécute sur votre vrai bureau avec accès à tout ce que vous approuvez. Claude vérifie chaque action et signale les injections de prompt potentielles du contenu à l'écran, mais la limite de confiance est différente. Voir le [guide de sécurité de l'utilisation informatique](https://support.claude.com/en/articles/14128542) pour les meilleures pratiques.304 Contrairement à l'[outil Bash sandboxé](/docs/fr/sandboxing), l'utilisation informatique s'exécute sur votre vrai bureau avec accès à tout ce que vous approuvez. Claude vérifie chaque action et signale les injections de prompt potentielles du contenu à l'écran, mais la limite de confiance est différente. Voir le [guide de sécurité de l'utilisation informatique](https://support.claude.com/en/articles/14128542) pour les meilleures pratiques.

301</Warning>305</Warning>


360Vous pouvez configurer deux paramètres dans **Paramètres > Général** (sous **Application de bureau**) :364Vous pouvez configurer deux paramètres dans **Paramètres > Général** (sous **Application de bureau**) :

361 365 

362* **Applications refusées** : ajoutez des applications ici pour les rejeter sans demander. Claude peut toujours affecter une application refusée indirectement via des actions dans une application autorisée, mais il ne peut pas interagir directement avec l'application refusée.366* **Applications refusées** : ajoutez des applications ici pour les rejeter sans demander. Claude peut toujours affecter une application refusée indirectement via des actions dans une application autorisée, mais il ne peut pas interagir directement avec l'application refusée.

363* **Afficher les applications quand Claude a terminé** : tandis que Claude travaille, vos autres fenêtres sont masquées pour qu'il n'interagisse qu'avec l'application approuvée. Quand Claude a terminé, les fenêtres masquées sont restaurées sauf si vous désactivez ce paramètre.367* **Afficher les applications quand Claude a terminé** : tandis que l'utilisation informatique ne s'exécute pas en arrière-plan, Claude masque vos autres fenêtres pendant qu'il travaille pour qu'il n'interagisse qu'avec l'application approuvée. Quand Claude a terminé, les fenêtres masquées sont restaurées sauf si vous désactivez ce paramètre.

364 368 

365<h2 id="manage-sessions">369<h2 id="manage-sessions">

366 Gérer les sessions370 Gérer les sessions


388 392 

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

390 394 

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

392 396 

393<h3 id="ask-a-side-question-without-derailing-the-session">397<h3 id="ask-a-side-question-without-derailing-the-session">

394 Poser une question latérale sans dérailler la session398 Poser une question latérale sans dérailler la session


427 431 

428Claude peut également suggérer de nouvelles sessions. Quand il remarque quelque chose qui vaut la peine d'être corrigé et qui est hors de portée pour la tâche actuelle, il propose le travail comme une puce de tâche dans le chat. Cliquez sur la puce pour démarrer ce travail dans une nouvelle session avec son propre worktree ; Claude continue votre session actuelle sans interruption.432Claude peut également suggérer de nouvelles sessions. Quand il remarque quelque chose qui vaut la peine d'être corrigé et qui est hors de portée pour la tâche actuelle, il propose le travail comme une puce de tâche dans le chat. Cliquez sur la puce pour démarrer ce travail dans une nouvelle session avec son propre worktree ; Claude continue votre session actuelle sans interruption.

429 433 

430<h3 id="run-long-running-tasks-remotely">434<h3 id="run-long-running-tasks-in-the-cloud">

431 Exécuter les tâches longues à distance435 Exécuter les tâches longues dans le cloud

432</h3>436</h3>

433 437 

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

435 439 

436Les sessions cloud supportent également plusieurs référentiels. Après avoir sélectionné un environnement cloud, cliquez sur le bouton **+** à côté de la pilule de référentiel pour ajouter des référentiels supplémentaires à la session. Chaque référentiel obtient son propre sélecteur de branche. Ceci est utile pour les tâches qui s'étendent sur plusieurs bases de code, comme la mise à jour d'une bibliothèque partagée et ses consommateurs.440Les sessions cloud supportent également plusieurs référentiels. Après avoir sélectionné un environnement cloud, cliquez sur le bouton **+** à côté du référentiel sélectionné pour ajouter des référentiels supplémentaires à la session. Chaque référentiel obtient son propre sélecteur de branche. Ceci est utile pour les tâches qui s'étendent sur plusieurs bases de code, comme la mise à jour d'une bibliothèque partagée et ses consommateurs.

437 441 

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

439 443 

440<h3 id="continue-in-another-surface">444<h3 id="continue-in-another-surface">

441 Continuer sur une autre surface445 Continuer sur une autre surface


443 447 

444Le menu **Continuer dans**, accessible à partir de l'icône VS Code en bas à droite de la barre d'outils de la session, vous permet de déplacer votre session vers une autre surface :448Le menu **Continuer dans**, accessible à partir de l'icône VS Code en bas à droite de la barre d'outils de la session, vous permet de déplacer votre session vers une autre surface :

445 449 

446* **Claude Code sur le Web** : envoie votre session locale pour continuer à s'exécuter à distance. Desktop pousse votre branche, génère un résumé de la conversation et crée une nouvelle session cloud avec le contexte complet. Vous pouvez ensuite choisir d'archiver la session locale ou de la conserver. Ceci nécessite un arbre de travail propre et n'est pas disponible pour les sessions SSH.450* **Claude Code sur le Web** : envoie votre session locale pour continuer à s'exécuter dans le cloud. Desktop pousse votre branche, génère un résumé de la conversation et crée une nouvelle session cloud avec le contexte complet. Vous pouvez ensuite choisir d'archiver la session locale ou de la conserver. Ceci nécessite un arbre de travail propre et n'est pas disponible pour les sessions SSH.

447* **Votre IDE** : ouvre votre projet dans un IDE supporté au répertoire de travail actuel.451* **Votre IDE** : ouvre votre projet dans un IDE supporté au répertoire de travail actuel.

448 452 

449<h3 id="sessions-from-dispatch">453<h3 id="sessions-from-dispatch">


468 472 

469Connectez les services externes, ajoutez des flux de travail réutilisables, personnalisez le comportement de Claude et configurez les serveurs d'aperçu. Pour gérer les connecteurs, les skills et les plugins au même endroit, cliquez sur **Personnaliser** dans la barre latérale. L'onglet [Cowork](https://claude.com/product/cowork) dans l'application de bureau récupère ses skills, plugins et connecteurs à partir de cette configuration Personnaliser, qui se synchronise via votre compte claude.ai, et non à partir du répertoire `~/.claude` de la CLI.473Connectez les services externes, ajoutez des flux de travail réutilisables, personnalisez le comportement de Claude et configurez les serveurs d'aperçu. Pour gérer les connecteurs, les skills et les plugins au même endroit, cliquez sur **Personnaliser** dans la barre latérale. L'onglet [Cowork](https://claude.com/product/cowork) dans l'application de bureau récupère ses skills, plugins et connecteurs à partir de cette configuration Personnaliser, qui se synchronise via votre compte claude.ai, et non à partir du répertoire `~/.claude` de la CLI.

470 474 

475Claude Code charge également les skills et les plugins activés pour votre compte claude.ai dans les sessions de terminal où vous vous connectez avec le même compte. Voir [Skills synchronisés à partir de claude.ai](/docs/fr/skills#how-synced-skills-behave) et [Plugins synchronisés à partir de claude.ai](/docs/fr/plugins-reference#synced-plugins).

476 

471<h3 id="connect-external-tools">477<h3 id="connect-external-tools">

472 Connecter les outils externes478 Connecter les outils externes

473</h3>479</h3>


488 494 

489Vous pouvez envoyer une commande pendant que Claude travaille, de la même manière que tout autre message, et la session revient à l'inactivité une fois que le tour est terminé. Avant la v2.1.206, une commande envoyée en cours de tour pouvait laisser la session affichée comme en cours d'exécution et les messages que vous avez envoyés après n'étaient pas livrés.495Vous pouvez envoyer une commande pendant que Claude travaille, de la même manière que tout autre message, et la session revient à l'inactivité une fois que le tour est terminé. Avant la v2.1.206, une commande envoyée en cours de tour pouvait laisser la session affichée comme en cours d'exécution et les messages que vous avez envoyés après n'étaient pas livrés.

490 496 

491Les skills personnels dans `~/.claude/skills/` s'appliquent aux sessions locales ; une session [SSH](#ssh-sessions) lit `~/.claude/skills/` à partir du répertoire personnel de l'hôte distant, et non à partir de votre machine. Les sessions cloud chargent plutôt les skills activés pour votre compte claude.ai. Voir [Skills dans les sessions Cowork et cloud](/docs/fr/skills#skills-in-cowork-and-cloud-sessions).497Les sessions locales chargent vos skills personnels à partir de `~/.claude/skills/`. Une session [SSH](#ssh-sessions) lit `~/.claude/skills/` à partir du répertoire personnel de l'hôte distant, et non à partir de votre machine.

498 

499Les sessions locales et cloud chargent également les skills activés pour votre compte claude.ai. Les sessions cloud les chargent à la place de `~/.claude/skills/`, comme [Skills dans les sessions Cowork et cloud](/docs/fr/skills#skills-in-cowork-and-cloud-sessions) le décrit.

492 500 

493<h3 id="install-plugins">501<h3 id="install-plugins">

494 Installer les plugins502 Installer les plugins


532 540 

533Quand `autoVerify` est activé, Claude vérifie automatiquement les modifications de code après la modification des fichiers. Il prend des captures d'écran, vérifie les erreurs et confirme que les modifications fonctionnent avant de terminer sa réponse.541Quand `autoVerify` est activé, Claude vérifie automatiquement les modifications de code après la modification des fichiers. Il prend des captures d'écran, vérifie les erreurs et confirme que les modifications fonctionnent avant de terminer sa réponse.

534 542 

535La vérification automatique est activée par défaut. Désactivez-la par projet en ajoutant `"autoVerify": false` à `.claude/launch.json`, ou basculez-la à partir du menu déroulante du serveur.543La vérification automatique est activée par défaut. Désactivez-la par projet en ajoutant `"autoVerify": false` à `.claude/launch.json`, ou basculez-la à partir du menu déroulant du serveur.

536 544 

537```json theme={null}545```json theme={null}

538{546{


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

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

567| `env` | object | Variables d'environnement supplémentaires comme paires clé-valeur, comme `{ "NODE_ENV": "development" }`. Ne mettez pas de secrets ici car ce fichier est validé dans votre référentiel. Pour passer les secrets à votre serveur de développement, définissez-les dans l'[éditeur d'environnement local](#local-sessions) à la place. |575| `env` | object | Variables d'environnement supplémentaires comme paires clé-valeur, comme `{ "NODE_ENV": "development" }`. Ne mettez pas de secrets ici car ce fichier est validé dans votre référentiel. Pour passer les secrets à votre serveur de développement, définissez-les dans l'[éditeur d'environnement local](#local-sessions) à la place. |

568| `autoPort` | boolean | Comment gérer les conflits de port. Voir ci-dessous |576| `autoPort` | boolean | Comment gérer les conflits de port. Voir [Conflits de port](#port-conflicts) |

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

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

571| `url` | string | L'adresse que l'aperçu ouvre au lieu de `http://localhost:<port>`. Voir [ouvrir l'aperçu à une URL spécifique](#open-the-preview-at-a-specific-url) |579| `url` | string | L'adresse que l'aperçu ouvre au lieu de `http://localhost:<port>`. Voir [ouvrir l'aperçu à une URL spécifique](#open-the-preview-at-a-specific-url) |


603}611}

604```612```

605 613 

606Les adresses localhost s'ouvrent directement, exactement comme l'adresse de port par défaut. Ceci inclut `localhost`, n'importe quel sous-domaine `*.localhost`, `127.0.0.1` et `::1`. Pour la sécurité, une `url` localhost doit être juste l'origine de votre serveur — pas de chemin ou de requête, et le port doit correspondre au port de l'entrée. Pour afficher une page spécifique, demandez à Claude de naviguer là-bas après l'ouverture de l'aperçu. Une `url` localhost avec un chemin, une requête ou un port non correspondant est signalée comme une erreur de configuration qui nomme l'url et affiche la correction.614Les adresses localhost s'ouvrent directement, exactement comme l'adresse de port par défaut. Ceci inclut `localhost`, n'importe quel sous-domaine `*.localhost`, `127.0.0.1` et `::1`. Pour la sécurité, une `url` localhost doit être juste l'origine de votre serveur, sans chemin ni requête. Son port doit correspondre au port de l'entrée. Pour afficher une page spécifique, demandez à Claude de naviguer là-bas après l'ouverture de l'aperçu. Une `url` localhost avec un chemin, une requête ou un port non correspondant est signalée comme une erreur de configuration qui nomme l'url et affiche la correction.

607 615 

608Pour toute autre adresse, Desktop demande votre permission la première fois que l'aperçu l'ouvre, de la même manière que lorsque vous naviguez vers un nouveau site dans l'aperçu. Les adresses externes peuvent inclure des chemins. Choisissez **Toujours autoriser** pour ignorer l'invite pour ce site à l'avenir. Les politiques organisationnelles qui restreignent les sites externes dans l'aperçu s'appliquent toujours.616Pour toute autre adresse, Desktop demande votre permission la première fois que l'aperçu l'ouvre, de la même manière que lorsque vous naviguez vers un nouveau site dans l'aperçu. Les adresses externes peuvent inclure des chemins. Choisissez **Toujours autoriser** pour ignorer l'invite pour ce site à l'avenir. Les politiques organisationnelles qui restreignent les sites externes dans l'aperçu s'appliquent toujours.

609 617 


822Ces paramètres sont configurés via la [console de paramètres d'administration](https://claude.ai/admin-settings/claude-code) :830Ces paramètres sont configurés via la [console de paramètres d'administration](https://claude.ai/admin-settings/claude-code) :

823 831 

824* **Code dans le bureau** : contrôlez si les utilisateurs de votre organisation peuvent accéder à Claude Code dans l'application de bureau832* **Code dans le bureau** : contrôlez si les utilisateurs de votre organisation peuvent accéder à Claude Code dans l'application de bureau

825* **Code sur le web** : activez ou désactivez les [sessions web](/docs/fr/claude-code-on-the-web) pour votre organisation833* **Code sur le web** : activez ou désactivez les [sessions cloud](/docs/fr/claude-code-on-the-web) pour votre organisation

826* **Remote Control** : activez ou désactivez [Remote Control](/docs/fr/remote-control) pour votre organisation834* **Remote Control** : activez ou désactivez [Remote Control](/docs/fr/remote-control) pour votre organisation

827* **Désactiver le mode Contourner les permissions** : empêchez les utilisateurs de votre organisation d'activer le mode de contournement des permissions835* **Désactiver le mode Contourner les permissions** : empêchez les utilisateurs de votre organisation d'activer le mode de contournement des permissions

828 836 


949 Venant de la CLI ?957 Venant de la CLI ?

950</h2>958</h2>

951 959 

952Si vous utilisez déjà la CLI Claude Code, Desktop exécute le même moteur sous-jacent avec une interface graphique. Vous pouvez exécuter les deux simultanément sur la même machine, même sur le même projet. Chacun maintient un historique de session séparé, mais ils partagent la configuration et la mémoire du projet via les fichiers CLAUDE.md.960Si vous utilisez déjà la CLI Claude Code, Desktop exécute le même moteur sous-jacent avec une interface graphique. Vous pouvez exécuter les deux simultanément sur la même machine, même sur le même projet. Chacun maintient un historique de session séparé, et vous pouvez amener une session CLI dans Desktop. Ils partagent la configuration et la mémoire du projet via les fichiers CLAUDE.md.

953 961 

954Pour déplacer une session CLI dans Desktop, exécutez `/desktop` dans le terminal. Claude enregistre votre session et l'ouvre dans l'application de bureau, puis quitte la CLI. Cette commande est disponible sur macOS et Windows x64 quand vous êtes connecté avec un abonnement Claude. Elle n'est pas disponible avec l'authentification par clé API ou sur Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.962Pour déplacer une session CLI dans Desktop, exécutez `/desktop` dans le terminal. Claude enregistre votre session et l'ouvre dans l'application de bureau, puis quitte la CLI. Cette commande est disponible sur macOS et Windows x64 quand vous êtes connecté avec un abonnement Claude. Elle n'est pas disponible avec l'authentification par clé API ou sur Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.

955 963 

964Pour reprendre une session CLI depuis Desktop, tapez `/resume` dans la zone de saisie. Desktop affiche les sessions que vous avez démarrées à partir de la CLI, et vous pouvez les rechercher par titre, dossier ou branche et prévisualiser où chacune s'est arrêtée. Sélectionnez une session et elle continue dans l'application avec sa conversation complète et son contexte.

965 

956<Tip>966<Tip>

957 Quand utiliser Desktop vs CLI : utilisez Desktop quand vous voulez gérer les sessions parallèles dans une fenêtre, arranger les volets côte à côte ou examiner les modifications visuellement. Utilisez la CLI quand vous avez besoin de scripts, d'automatisation ou préférez un flux de travail terminal.967 Quand utiliser Desktop vs CLI : utilisez Desktop quand vous voulez gérer les sessions parallèles dans une fenêtre, arranger les volets côte à côte ou examiner les modifications visuellement. Utilisez la CLI quand vous avez besoin de scripts, d'automatisation ou préférez un flux de travail terminal.

958</Tip>968</Tip>


966| CLI | Équivalent de bureau |976| CLI | Équivalent de bureau |

967| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |977| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

968| `--model sonnet` | Liste déroulante de modèle à côté du bouton d'envoi |978| `--model sonnet` | Liste déroulante de modèle à côté du bouton d'envoi |

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

970| `--permission-mode` | Sélecteur de mode à côté du bouton d'envoi |980| `--permission-mode` | Sélecteur de mode à côté du bouton d'envoi |

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

972| `--add-dir` | Ajouter plusieurs référentiels avec le bouton **+** dans les sessions cloud |982| `--add-dir` | Ajouter plusieurs référentiels avec le bouton **+** dans les sessions cloud |

Details

29 Sur cette page, « appareil » fait référence à un iPhone ou iPad simulé, l'un des mêmes appareils simulateurs que vous gérez dans Xcode sous **Window → Devices and Simulators**, et non à du matériel physique.29 Sur cette page, « appareil » fait référence à un iPhone ou iPad simulé, l'un des mêmes appareils simulateurs que vous gérez dans Xcode sous **Window → Devices and Simulators**, et non à du matériel physique.

30</Note>30</Note>

31 31 

32Le volet du simulateur est disponible dans les sessions locales uniquement. Dans les sessions [cloud](/docs/fr/desktop#run-long-running-tasks-remotely) et [SSH](/docs/fr/desktop#ssh-sessions), Claude s'exécute sur une machine qui ne peut pas accéder aux simulateurs sur votre Mac.32Le volet du simulateur est disponible dans les sessions locales uniquement. Dans les sessions [cloud](/docs/fr/desktop#run-long-running-tasks-in-the-cloud) et [SSH](/docs/fr/desktop#ssh-sessions), Claude s'exécute sur une machine qui ne peut pas accéder aux simulateurs sur votre Mac.

33 33 

34<h2 id="run-your-app-in-the-simulator">34<h2 id="run-your-app-in-the-simulator">

35 Exécuter votre application dans le simulateur35 Exécuter votre application dans le simulateur

Details

70 70 

71 Vous pouvez également sélectionner :71 Vous pouvez également sélectionner :

72 72 

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

74 * **SSH** : Connectez-vous à une machine distante via SSH, comme vos propres serveurs, des machines virtuelles cloud ou des conteneurs de développement. Desktop installe Claude Code sur la machine distante automatiquement la première fois que vous vous connectez.74 * **SSH** : Connectez-vous à une machine distante via SSH, comme vos propres serveurs, des machines virtuelles cloud ou des conteneurs de développement. Desktop installe Claude Code sur la machine distante automatiquement la première fois que vous vous connectez.

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

76 </Step>76 </Step>


134 134 

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

136 136 

137**Augmenter l'échelle quand vous êtes prêt.** Ouvrez des [sessions parallèles](/docs/fr/desktop#work-in-parallel-with-sessions) à partir de la barre latérale pour travailler sur plusieurs tâches à la fois, chacune dans son propre Git worktree, et ouvrez le [volet des tâches](/docs/fr/desktop#watch-background-tasks) pour surveiller les sous-agents et les commandes en arrière-plan qu'une session exécute. Ouvrez un [side chat](/docs/fr/desktop#ask-a-side-question-without-derailing-the-session) pour poser une question sans dérailler le fil principal. Envoyez des [travaux de longue durée vers le cloud](/docs/fr/desktop#run-long-running-tasks-remotely) pour qu'ils continuent même si vous fermez l'application, ou [continuez une session sur le web ou dans votre IDE](/docs/fr/desktop#continue-in-another-surface) si une tâche prend plus de temps que prévu. [Connectez des outils externes](/docs/fr/desktop#extend-claude-code) comme GitHub, Slack et Linear pour réunir votre flux de travail.137**Augmenter l'échelle quand vous êtes prêt.** Ouvrez des [sessions parallèles](/docs/fr/desktop#work-in-parallel-with-sessions) à partir de la barre latérale pour travailler sur plusieurs tâches à la fois, chacune dans son propre Git worktree, et ouvrez le [volet des tâches](/docs/fr/desktop#watch-background-tasks) pour surveiller les sous-agents et les commandes en arrière-plan qu'une session exécute. Ouvrez un [side chat](/docs/fr/desktop#ask-a-side-question-without-derailing-the-session) pour poser une question sans dérailler le fil principal. Envoyez des [travaux de longue durée vers le cloud](/docs/fr/desktop#run-long-running-tasks-in-the-cloud) pour qu'ils continuent même si vous fermez l'application, ou [continuez une session sur le web ou dans votre IDE](/docs/fr/desktop#continue-in-another-surface) si une tâche prend plus de temps que prévu. [Connectez des outils externes](/docs/fr/desktop#extend-claude-code) comme GitHub, Slack et Linear pour réunir votre flux de travail.

138 138 

139<h2 id="what’s-next">139<h2 id="what’s-next">

140 Étapes suivantes140 Étapes suivantes

desktop-wsl.md +1 −1

Details

52 Appareils gérés52 Appareils gérés

53</h2>53</h2>

54 54 

55Sur les appareils gérés par une organisation, les sessions WSL peuvent ne pas être disponibles. Si le démarrage de la session échoue avec un message indiquant que l'appareil est géré, cela est contrôlé par votre administrateur. Administrateurs : consultez [comment les paramètres atteignent les appareils](/fr/admin-setup#decide-how-settings-reach-devices) dans le guide de déploiement.55Sur les appareils gérés par une organisation, les sessions WSL peuvent ne pas être disponibles. Si le démarrage de la session échoue avec un message indiquant que l'appareil est géré, cela est contrôlé par votre administrateur. Administrateurs : consultez [comment les paramètres atteignent les appareils](/docs/fr/admin-setup#decide-how-settings-reach-devices) dans le guide de déploiement.

devcontainer.md +1 −1

Details

138 138 

139`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` désactive également l'évaluation des drapeaux de fonctionnalité sur laquelle [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching) dépendent, donc les sessions dans le conteneur ne peuvent pas les utiliser.139`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` désactive également l'évaluation des drapeaux de fonctionnalité sur laquelle [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching) dépendent, donc les sessions dans le conteneur ne peuvent pas les utiliser.

140 140 

141La Fonctionnalité Dev Container installe toujours la dernière version de Claude Code. Pour épingler une version spécifique de Claude Code pour des builds reproductibles, installez-la depuis votre Dockerfile avec `npm install -g @anthropic-ai/claude-code@X.Y.Z` au lieu d'utiliser la fonctionnalité, et définissez `DISABLE_AUTOUPDATER` comme indiqué ci-dessus.141La Fonctionnalité Dev Container installe toujours la dernière version de Claude Code. Pour épingler une version spécifique de Claude Code pour des builds reproductibles, installez-la depuis votre Dockerfile avec `npm install -g @anthropic-ai/claude-code@X.Y.Z` au lieu d'utiliser la fonctionnalité, et définissez `DISABLE_AUTOUPDATER` à `1` dans `containerEnv`.

142 142 

143Pour la liste complète des contrôles de politique incluant les règles de permission, les restrictions d'outils et les listes blanches de serveurs MCP, voir [Configurer Claude Code pour votre organisation](/docs/fr/admin-setup).143Pour la liste complète des contrôles de politique incluant les règles de permission, les restrictions d'outils et les listes blanches de serveurs MCP, voir [Configurer Claude Code pour votre organisation](/docs/fr/admin-setup).

144 144 

Details

8 8 

9Les plugins étendent Claude Code avec des skills, des agents, des hooks et des serveurs MCP. Les marketplaces de plugins sont des catalogues qui vous aident à découvrir et installer ces extensions sans les construire vous-même.9Les plugins étendent Claude Code avec des skills, des agents, des hooks et des serveurs MCP. Les marketplaces de plugins sont des catalogues qui vous aident à découvrir et installer ces extensions sans les construire vous-même.

10 10 

11Vous pouvez également activer des plugins sur claude.ai, pour vous-même ou via votre organisation. Claude Code synchronise ceux-ci dans vos sessions sans installation via marketplace, comme le décrit [Plugins synchronisés depuis claude.ai](/docs/fr/plugins-reference#synced-plugins).

12 

11Vous cherchez à créer et distribuer votre propre marketplace ? Consultez [Créer et distribuer une marketplace de plugins](/docs/fr/plugin-marketplaces).13Vous cherchez à créer et distribuer votre propre marketplace ? Consultez [Créer et distribuer une marketplace de plugins](/docs/fr/plugin-marketplaces).

12 14 

13<h2 id="how-marketplaces-work">15<h2 id="how-marketplaces-work">


78Vous pouvez également [créer votre propre plugin LSP](/docs/fr/plugins-reference#lsp-servers) pour d'autres langages.80Vous pouvez également [créer votre propre plugin LSP](/docs/fr/plugins-reference#lsp-servers) pour d'autres langages.

79 81 

80<Note>82<Note>

81 Si vous voyez `Executable not found in $PATH` dans l'onglet Errors de `/plugin` après avoir installé un plugin, installez le binaire requis du tableau ci-dessus.83 Si vous voyez `Executable not found in $PATH` dans l'onglet Errors de `/plugin` après avoir installé un plugin, installez le binaire que le tableau [code intelligence](#code-intelligence) liste pour ce plugin.

82</Note>84</Note>

83 85 

84<h4 id="what-claude-gains-from-code-intelligence-plugins">86<h4 id="what-claude-gains-from-code-intelligence-plugins">


237* **URLs Git** : n'importe quelle URL de référentiel git, y compris GitLab, Bitbucket et les serveurs auto-hébergés239* **URLs Git** : n'importe quelle URL de référentiel git, y compris GitLab, Bitbucket et les serveurs auto-hébergés

238* **Chemins locaux** : répertoires ou chemins directs vers les fichiers `marketplace.json`240* **Chemins locaux** : répertoires ou chemins directs vers les fichiers `marketplace.json`

239* **URLs distantes** : URLs directs vers les fichiers `marketplace.json` hébergés241* **URLs distantes** : URLs directs vers les fichiers `marketplace.json` hébergés

242* **claude.ai** : marketplaces hébergées sur claude.ai pour votre compte, comme la bibliothèque de plugins de votre organisation, que vous [ajoutez par nom depuis l'onglet **Marketplaces** ou votre shell](#add-from-claude-ai) plutôt que par source

240 243 

241<h3 id="add-from-github">244<h3 id="add-from-github">

242 Ajouter depuis GitHub245 Ajouter depuis GitHub


314 Les marketplaces basées sur URL ont certaines limitations par rapport aux marketplaces basées sur Git. Si les installations de plugins à partir d'une marketplace basée sur URL échouent, consultez [Dépannage](/docs/fr/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces).317 Les marketplaces basées sur URL ont certaines limitations par rapport aux marketplaces basées sur Git. Si les installations de plugins à partir d'une marketplace basée sur URL échouent, consultez [Dépannage](/docs/fr/plugin-marketplaces#plugins-with-relative-paths-fail-in-url-based-marketplaces).

315</Note>318</Note>

316 319 

320<h3 id="add-from-claude-ai">

321 Ajouter depuis claude.ai

322</h3>

323 

324Dans les sessions de terminal où [les plugins se synchronisent depuis votre compte claude.ai](/docs/fr/plugins-reference#synced-plugins), claude.ai peut également lister les marketplaces pour vous, comme la bibliothèque de plugins de votre organisation et vos uploads claude.ai. `claude plugin marketplace list` les affiche dans une section `From claude.ai:`, et l'onglet **Marketplaces** du `/plugin` les liste. Sélectionnez-en un pour l'ajouter. L'ajout d'une marketplace depuis claude.ai nécessite Claude Code v2.1.273 ou ultérieur.

325 

326Pour en ajouter une depuis votre shell, exécutez `claude plugin marketplace add` avec le flag `--claudeai` et le nom affiché dans la liste :

327 

328```bash theme={null}

329claude plugin marketplace add --claudeai claudeai-organization-library

330```

331 

332Claude Code enregistre la marketplace sous un nom local qui commence par `claudeai-`, dérivé du nom sous lequel claude.ai la liste : une marketplace listée comme « Organization library » s'enregistre comme `claudeai-organization-library`. Installez ses plugins par ce nom, par exemple avec `claude plugin install <plugin>@claudeai-organization-library`.

333 

334Si vous vous déconnectez ou vous connectez avec un compte différent, la marketplace reste configurée mais n'affiche aucun plugin, et les plugins que vous avez déjà installés à partir de celle-ci continuent de se charger.

335 

336La section `From claude.ai:` peut également lister les marketplaces basées sur git partagées via claude.ai. Vous les ajoutez avec la commande `marketplace add` ordinaire, en utilisant la source que la liste affiche.

337 

317<h2 id="install-plugins">338<h2 id="install-plugins">

318 Installer des plugins339 Installer des plugins

319</h2>340</h2>

320 341 

321Une fois que vous avez ajouté des marketplaces, vous pouvez installer un plugin par nom :342Une fois que vous avez ajouté des marketplaces, vous pouvez installer un plugin par nom. Pour une marketplace que vous n'avez pas encore ajoutée, vous pouvez plutôt [l'ajouter et l'installer en une seule commande](#add-a-marketplace-and-install-in-one-command).

343 

344Pour installer par nom :

322 345 

323```shell theme={null}346```shell theme={null}

324/plugin install plugin-name@marketplace-name347/plugin install plugin-name@marketplace-name


360 Assurez-vous de faire confiance à un plugin avant de l'installer. Anthropic ne contrôle pas quels serveurs MCP, fichiers ou autres logiciels sont inclus dans les plugins et ne peut pas vérifier qu'ils fonctionnent comme prévu. Consultez la page d'accueil de chaque plugin pour plus d'informations.383 Assurez-vous de faire confiance à un plugin avant de l'installer. Anthropic ne contrôle pas quels serveurs MCP, fichiers ou autres logiciels sont inclus dans les plugins et ne peut pas vérifier qu'ils fonctionnent comme prévu. Consultez la page d'accueil de chaque plugin pour plus d'informations.

361</Warning>384</Warning>

362 385 

386<h3 id="add-a-marketplace-and-install-in-one-command">

387 Ajouter une marketplace et installer en une seule commande

388</h3>

389 

390Pour installer un plugin à partir d'une marketplace que vous n'avez pas encore ajoutée, nommez la source de la marketplace avec `--marketplace`. Nécessite Claude Code v2.1.275 ou version ultérieure.

391 

392```shell theme={null}

393/plugin install quality-review-plugin --marketplace your-org/plugins

394```

395 

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

397 

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

399 

363<h2 id="manage-installed-plugins">400<h2 id="manage-installed-plugins">

364 Gérer les plugins installés401 Gérer les plugins installés

365</h2>402</h2>


372* taper pour filtrer par nom ou description du plugin409* taper pour filtrer par nom ou description du plugin

373* appuyer sur Enter pour ouvrir la vue détaillée d'un plugin et l'activer, le désactiver ou le désinstaller410* appuyer sur Enter pour ouvrir la vue détaillée d'un plugin et l'activer, le désactiver ou le désinstaller

374 411 

412Claude Code répertorie également les [plugins synchronisés depuis votre compte claude.ai](/docs/fr/plugins-reference#synced-plugins) dans l'onglet **Installed**, avec `synced` comme source. Vous pouvez en activer ou désactiver un sauf si votre organisation l'a marqué comme obligatoire. Pour en supprimer un, désactivez-le sur claude.ai. Les plugins synchronisés apparaissent dans les sessions de terminal sur Claude Code v2.1.273 ou ultérieur.

413 

375Quand vous désinstallez un plugin qu'un `.claude/settings.json` de projet active, Claude Code vous demande quelle portée vous visez : le désactiver pour vous seul, ce qui écrit une substitution dans votre `.claude/settings.local.json` et laisse le plugin installé pour le projet, ou le désinstaller pour tout le monde, ce qui le supprime du `.claude/settings.json` partagé.414Quand vous désinstallez un plugin qu'un `.claude/settings.json` de projet active, Claude Code vous demande quelle portée vous visez : le désactiver pour vous seul, ce qui écrit une substitution dans votre `.claude/settings.local.json` et laisse le plugin installé pour le projet, ou le désinstaller pour tout le monde, ce qui le supprime du `.claude/settings.json` partagé.

376 415 

377La vue détaillée affiche les composants que le plugin contribue : commandes, skills, agents, hooks, serveurs MCP et serveurs LSP. Le même inventaire est disponible depuis la ligne de commande avec `claude plugin details`.416La vue détaillée affiche les composants que le plugin contribue : commandes, skills, agents, hooks, serveurs MCP et serveurs LSP. Le même inventaire est disponible depuis la ligne de commande avec `claude plugin details`.


444* Une commande `claude plugin` que vous avez exécutée dans un autre terminal483* Une commande `claude plugin` que vous avez exécutée dans un autre terminal

445* Les modifications d'un plugin que vous avez chargé avec [`--plugin-dir`](/docs/fr/plugins#test-your-plugins-locally) pendant que vous le développez484* Les modifications d'un plugin que vous avez chargé avec [`--plugin-dir`](/docs/fr/plugins#test-your-plugins-locally) pendant que vous le développez

446* Une [mise à jour automatique](#configure-auto-updates) de plugin dont la notification vous demande de recharger485* Une [mise à jour automatique](#configure-auto-updates) de plugin dont la notification vous demande de recharger

486* Une [synchronisation depuis votre compte claude.ai](/docs/fr/plugins-reference#synced-plugins) qui a ajouté, mis à jour ou supprimé un plugin et a affiché une notification vous demandant de recharger

447* Un changement dans un dossier [`--plugin-dir`](/docs/fr/plugins#test-your-plugins-locally) que Claude Code a retenu parce que l'appliquer invaliderait le cache de prompt487* Un changement dans un dossier [`--plugin-dir`](/docs/fr/plugins#test-your-plugins-locally) que Claude Code a retenu parce que l'appliquer invaliderait le cache de prompt

448 488 

449Avant v2.1.268, les plugins que vous avez activés, désactivés ou désinstallés dans le menu, et les installations qui ne se sont pas activées pendant l'installation, restaient en attente jusqu'à ce que vous exécutiez `/reload-plugins`.489Avant v2.1.268, les plugins que vous avez activés, désactivés ou désinstallés dans le menu, et les installations qui ne se sont pas activées pendant l'installation, restaient en attente jusqu'à ce que vous exécutiez `/reload-plugins`.


5213. Choisissez une marketplace dans la liste5613. Choisissez une marketplace dans la liste

5224. Sélectionnez **Enable auto-update** ou **Disable auto-update**5624. Sélectionnez **Enable auto-update** ou **Disable auto-update**

523 563 

524`claude-plugins-official` et la plupart des autres marketplaces officielles Anthropic ont la mise à jour automatique activée par défaut. Les marketplaces tierces et de développement local ont la mise à jour automatique désactivée par défaut.564`claude-plugins-official`, la plupart des autres marketplaces officielles Anthropic, et [les marketplaces ajoutées depuis claude.ai](#add-from-claude-ai) ont la mise à jour automatique activée par défaut. Les marketplaces tierces et de développement local ont la mise à jour automatique désactivée par défaut.

525 565 

526Les administrateurs peuvent également définir `"autoUpdate": true` sur chaque entrée [`extraKnownMarketplaces`](/docs/fr/settings-reference#extraknownmarketplaces) dans les paramètres gérés pour activer la mise à jour automatique pour une marketplace d'organisation sans exiger que chaque utilisateur la bascule.566Les administrateurs peuvent également définir `"autoUpdate": true` sur chaque entrée [`extraKnownMarketplaces`](/docs/fr/settings-reference#extraknownmarketplaces) dans les paramètres gérés pour activer la mise à jour automatique pour une marketplace d'organisation sans exiger que chaque utilisateur la bascule.

527 567 

env-vars.md +275 −266

Details

129<Note>129<Note>

130 Pour les variables qui activent ou désactivent un comportement, définissez `1` ou `true` pour l'activer et `0` ou `false` pour le désactiver, dans n'importe quelle casse.130 Pour les variables qui activent ou désactivent un comportement, définissez `1` ou `true` pour l'activer et `0` ou `false` pour le désactiver, dans n'importe quelle casse.

131 131 

132 Certaines variables ne lisent que si vous les avez définies, donc toute valeur non vide, y compris `0`, active le comportement, et vous désactivez le comportement en supprimant la variable ou en la définissant sur une valeur vide. Ces variables fonctionnent de cette façon :132 Certaines variables ne lisent que si vous les avez définies, donc toute valeur non vide, y compris `0`, active le comportement, et vous désactivez le comportement en désactivant la variable ou en la définissant sur une valeur vide. Ces variables fonctionnent de cette façon :

133 133 

134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`134 * `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

135 * `DISABLE_TELEMETRY`135 * `DISABLE_TELEMETRY`


142</Note>142</Note>

143 143 

144| Variable | Objectif |144| Variable | Objectif |

145| :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |145| :------------------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

146| `ANTHROPIC_API_KEY` | Clé API envoyée en tant qu'en-tête `X-Api-Key`. Lorsqu'elle est définie, cette clé est utilisée à la place de votre abonnement Claude Pro, Max, Team ou Enterprise, même si vous êtes connecté. En mode non interactif (`-p`), la clé est toujours utilisée lorsqu'elle est présente. En mode interactif, vous êtes invité à approuver la clé une fois avant qu'elle ne remplace votre abonnement. Pour utiliser votre abonnement à la place, exécutez `unset ANTHROPIC_API_KEY` |146| `ANTHROPIC_API_KEY` | Clé API envoyée en tant qu'en-tête `X-Api-Key`. Lorsqu'elle est définie, cette clé est utilisée à la place de votre abonnement Claude Pro, Max, Team ou Enterprise, même si vous êtes connecté. En mode non interactif (`-p`), la clé est toujours utilisée lorsqu'elle est présente. En mode interactif, vous êtes invité à approuver la clé une fois avant qu'elle ne remplace votre abonnement. Pour utiliser votre abonnement à la place, exécutez `unset ANTHROPIC_API_KEY` |

147| `ANTHROPIC_AUTH_TOKEN` | Valeur personnalisée pour l'en-tête `Authorization` (la valeur que vous définissez ici sera préfixée par `Bearer `) |147| `ANTHROPIC_AUTH_TOKEN` | Valeur personnalisée pour l'en-tête `Authorization` (la valeur que vous définissez ici sera préfixée par `Bearer `) |

148| `ANTHROPIC_AWS_API_KEY` | Clé API d'espace de travail pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), générée dans la console AWS. Envoyée en tant que `x-api-key` et a la priorité sur AWS SigV4 |148| `ANTHROPIC_AWS_API_KEY` | Clé API de l'espace de travail pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), générée dans la console AWS. Envoyée en tant que `x-api-key` et prend la priorité sur AWS SigV4 |

149| `ANTHROPIC_AWS_BASE_URL` | Remplacez l'URL du point de terminaison [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Utilisez pour les régions personnalisées ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Par défaut `https://aws-external-anthropic.{region}.api.aws`. Claude Code résout la région avec [la même priorité que sur Amazon Bedrock](/docs/fr/amazon-bedrock#3-configure-claude-code) |149| `ANTHROPIC_AWS_BASE_URL` | Remplacez l'URL du point de terminaison [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Utilisez pour les régions personnalisées ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Par défaut `https://aws-external-anthropic.{region}.api.aws`. Claude Code résout la région avec [la même priorité que sur Amazon Bedrock](/docs/fr/amazon-bedrock#3-configure-claude-code) |

150| `ANTHROPIC_AWS_WORKSPACE_ID` | Requis pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Envoyé à chaque requête en tant qu'en-tête `anthropic-workspace-id` |150| `ANTHROPIC_AWS_WORKSPACE_ID` | Requis pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Envoyé à chaque requête en tant qu'en-tête `anthropic-workspace-id` |

151| `ANTHROPIC_BASE_URL` | Remplacez le point de terminaison API pour router les requêtes via un proxy ou une passerelle. Lorsqu'elle est définie sur un hôte non-tiers, la [recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search) est désactivée par défaut. Définissez `ENABLE_TOOL_SEARCH=true` si votre proxy transfère les blocs `tool_reference`. À partir de la v2.1.196, [Remote Control](/docs/fr/remote-control#requirements) est désactivé lorsque cela pointe vers un hôte autre que `api.anthropic.com`, correspondant à son comportement sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry |151| `ANTHROPIC_BASE_URL` | Remplacez le point de terminaison API pour router les requêtes via un proxy ou une passerelle. Lorsqu'il est défini sur un hôte non-first-party, [la recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search) est désactivée par défaut. Définissez `ENABLE_TOOL_SEARCH=true` si votre proxy transfère les blocs `tool_reference`. À partir de la v2.1.196, [Remote Control](/docs/fr/remote-control#requirements) est désactivé lorsque cela pointe vers un hôte autre que `api.anthropic.com`, correspondant à son comportement sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry |

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 au lieu de celui dérivé de la région AWS. Ignoré dans les régions AWS GovCloud. Nécessite Claude Code v2.1.224 ou ultérieur. Voir [Amazon Bedrock](/docs/fr/amazon-bedrock#cross-region-inference-profile-prefixes) |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](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) |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) |

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 l'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, 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 à une 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) |

159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Description d'affichage pour l'entrée de modèle personnalisée dans le sélecteur `/model`. Par défaut `Custom model (<model-id>)` lorsqu'il n'est pas défini |159| `ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION` | Description d'affichage pour l'entrée de modèle personnalisée dans le sélecteur `/model`. Par défaut `Custom model (<model-id>)` lorsqu'il n'est pas défini |

160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nom d'affichage pour l'entrée de modèle personnalisée dans le sélecteur `/model`. Lorsqu'il n'est pas défini, l'entrée affiche le nom du modèle si Claude Code [reconnaît l'ID](/docs/fr/model-config#customize-pinned-model-display-and-capabilities), et l'ID du modèle sinon |160| `ANTHROPIC_CUSTOM_MODEL_OPTION_NAME` | Nom d'affichage pour l'entrée de modèle personnalisée dans le sélecteur `/model`. Lorsqu'il n'est pas défini, l'entrée affiche le nom du modèle si Claude Code [reconnaît l'ID](/docs/fr/model-config#customize-pinned-model-display-and-capabilities), et l'ID du modèle sinon |

161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Liste séparée par des virgules des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) que le modèle personnalisé supporte, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |161| `ANTHROPIC_CUSTOM_MODEL_OPTION_SUPPORTED_CAPABILITIES` | Liste séparée par des virgules des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) que le modèle personnalisé supporte, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID de modèle auquel l'alias `fable` se résout, et l'ID que Claude Code reconnaît comme un modèle Fable pour le [basculement automatique du modèle](/docs/fr/model-config#automatic-model-fallback) sur les fournisseurs tiers. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |162| `ANTHROPIC_DEFAULT_FABLE_MODEL` | ID de modèle auquel l'alias `fable` se résout, et l'ID que Claude Code reconnaît comme un modèle Fable pour [le basculement automatique du modèle](/docs/fr/model-config#automatic-model-fallback) sur les fournisseurs tiers. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |

163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Description d'affichage pour le modèle Fable épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche une description par défaut qui commence par `Custom Fable model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |163| `ANTHROPIC_DEFAULT_FABLE_MODEL_DESCRIPTION` | Description d'affichage pour le modèle Fable épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche une description par défaut qui commence par `Custom Fable model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nom d'affichage pour le modèle Fable épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |164| `ANTHROPIC_DEFAULT_FABLE_MODEL_NAME` | Nom d'affichage pour le modèle Fable épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Liste séparée par des virgules des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) que le modèle Fable épinglé supporte, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |165| `ANTHROPIC_DEFAULT_FABLE_MODEL_SUPPORTED_CAPABILITIES` | Liste séparée par des virgules des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) que le modèle Fable épinglé supporte, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID de modèle auquel l'alias `haiku` se résout, également utilisé pour la [fonctionnalité d'arrière-plan](/docs/fr/costs#background-token-usage). Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |166| `ANTHROPIC_DEFAULT_HAIKU_MODEL` | ID de modèle auquel l'alias `haiku` se résout, également utilisé pour [la fonctionnalité d'arrière-plan](/docs/fr/costs#background-token-usage). Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |

167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Description d'affichage pour le modèle Haiku épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche une description par défaut qui commence par `Custom Haiku model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |167| `ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION` | Description d'affichage pour le modèle Haiku épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche une description par défaut qui commence par `Custom Haiku model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nom d'affichage pour le modèle Haiku épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |168| `ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME` | Nom d'affichage pour le modèle Haiku épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Liste séparée par des virgules des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) que le modèle Haiku épinglé supporte, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |169| `ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES` | Liste séparée par des virgules des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) que le modèle Haiku épinglé supporte, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

170| `ANTHROPIC_DEFAULT_MODEL` | Modèle sur lequel les nouvelles sessions commencent par défaut. Nécessite Claude Code v2.1.236 ou ultérieur. Voir [Définir un modèle par défaut pour les nouvelles sessions](/docs/fr/model-config#set-a-default-model-for-new-sessions) |170| `ANTHROPIC_DEFAULT_MODEL` | Modèle sur lequel les nouvelles sessions commencent par défaut. Nécessite Claude Code v2.1.236 ou ultérieur. Voir [Définir un modèle par défaut pour les nouvelles sessions](/docs/fr/model-config#set-a-default-model-for-new-sessions) |

171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID de modèle auquel l'alias `opus` se résout, et que `opusplan` utilise tandis que Plan Mode est actif. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |171| `ANTHROPIC_DEFAULT_OPUS_MODEL` | ID de modèle auquel l'alias `opus` se résout, et que `opusplan` utilise tandis que le mode Plan est actif. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |

172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Description d'affichage pour le modèle Opus épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche une description par défaut qui commence par `Custom Opus model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |172| `ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION` | Description d'affichage pour le modèle Opus épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche une description par défaut qui commence par `Custom Opus model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nom d'affichage pour le modèle Opus épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |173| `ANTHROPIC_DEFAULT_OPUS_MODEL_NAME` | Nom d'affichage pour le modèle Opus épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Liste séparée par des virgules des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) que le modèle Opus épinglé supporte, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |174| `ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES` | Liste séparée par des virgules des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) que le modèle Opus épinglé supporte, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID de modèle auquel l'alias `sonnet` se résout, et que `opusplan` utilise lorsque Plan Mode n'est pas actif. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |175| `ANTHROPIC_DEFAULT_SONNET_MODEL` | ID de modèle auquel l'alias `sonnet` se résout, et que `opusplan` utilise lorsque le mode Plan n'est pas actif. Voir [Configuration du modèle](/docs/fr/model-config#environment-variables) |

176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Description d'affichage pour le modèle Sonnet épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche une description par défaut qui commence par `Custom Sonnet model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |176| `ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION` | Description d'affichage pour le modèle Sonnet épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche une description par défaut qui commence par `Custom Sonnet model`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nom d'affichage pour le modèle Sonnet épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |177| `ANTHROPIC_DEFAULT_SONNET_MODEL_NAME` | Nom d'affichage pour le modèle Sonnet épinglé dans le sélecteur `/model`. Lorsqu'il n'est pas défini, la ligne affiche le nom du modèle si Claude Code reconnaît l'ID épinglé, et l'ID épinglé sinon. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Liste séparée par des virgules des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) que le modèle Sonnet épinglé supporte, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |178| `ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES` | Liste séparée par des virgules des [capacités](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) que le modèle Sonnet épinglé supporte, par exemple `effort,thinking`. Voir [Configuration du modèle](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

179| `ANTHROPIC_FEDERATION_RULE_ID` | ID de règle de fédération pour [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Lorsque vous le définissez avec `ANTHROPIC_ORGANIZATION_ID`, Claude Code sélectionne les identifiants de fédération, qui ont la priorité sur votre identifiant `/login`. Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |179| `ANTHROPIC_FEDERATION_RULE_ID` | ID de règle de fédération pour [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Lorsque vous le définissez avec `ANTHROPIC_ORGANIZATION_ID`, Claude Code sélectionne les identifiants de fédération, qui sont classés au-dessus de votre identifiant `/login`. Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |

180| `ANTHROPIC_FOUNDRY_API_KEY` | Clé API pour l'authentification Microsoft Foundry (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |180| `ANTHROPIC_FOUNDRY_API_KEY` | Clé API pour l'authentification Microsoft Foundry (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |

181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Jeton porteur pour l'authentification Microsoft Foundry, comme un jeton d'accès Microsoft Entra. Claude Code l'envoie en tant qu'en-tête `Authorization: Bearer`. A la priorité sur `ANTHROPIC_FOUNDRY_API_KEY` et sur la chaîne d'identifiants par défaut Azure. Voir [Microsoft Foundry](/docs/fr/microsoft-foundry). Nécessite Claude Code v2.1.203 ou ultérieur |181| `ANTHROPIC_FOUNDRY_AUTH_TOKEN` | Jeton porteur pour l'authentification Microsoft Foundry, comme un jeton d'accès Microsoft Entra. Claude Code l'envoie en tant qu'en-tête `Authorization: Bearer`. Prend la priorité sur `ANTHROPIC_FOUNDRY_API_KEY` et sur la chaîne d'authentification par défaut Azure. Voir [Microsoft Foundry](/docs/fr/microsoft-foundry). Nécessite Claude Code v2.1.203 ou ultérieur |

182| `ANTHROPIC_FOUNDRY_BASE_URL` | URL de base complète pour la ressource Microsoft Foundry (par exemple, `https://my-resource.services.ai.azure.com/anthropic`). Alternative à `ANTHROPIC_FOUNDRY_RESOURCE` (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |182| `ANTHROPIC_FOUNDRY_BASE_URL` | URL de base complète pour la ressource Microsoft Foundry (par exemple, `https://my-resource.services.ai.azure.com/anthropic`). Alternative à `ANTHROPIC_FOUNDRY_RESOURCE` (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |

183| `ANTHROPIC_FOUNDRY_RESOURCE` | Nom de ressource Microsoft Foundry (par exemple, `my-resource`). Requis si `ANTHROPIC_FOUNDRY_BASE_URL` n'est pas défini (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |183| `ANTHROPIC_FOUNDRY_RESOURCE` | Nom de ressource Microsoft Foundry (par exemple, `my-resource`). Requis si `ANTHROPIC_FOUNDRY_BASE_URL` n'est pas défini (voir [Microsoft Foundry](/docs/fr/microsoft-foundry)) |

184| `ANTHROPIC_MODEL` | Nom du paramètre de modèle à utiliser (voir [Configuration du modèle](/docs/fr/model-config#environment-variables)) |184| `ANTHROPIC_MODEL` | Nom du paramètre de modèle à utiliser (voir [Configuration du modèle](/docs/fr/model-config#environment-variables)) |

185| `ANTHROPIC_ORGANIZATION_ID` | ID d'organisation pour [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez-le avec `ANTHROPIC_FEDERATION_RULE_ID`. Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |185| `ANTHROPIC_ORGANIZATION_ID` | ID d'organisation pour [Workload Identity Federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez-le avec `ANTHROPIC_FEDERATION_RULE_ID`. Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |

186| `ANTHROPIC_PROFILE` | Nom du profil Anthropic avec lequel s'authentifier, comme celui créé par [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) ou par [connexion à un compte Console sans clé API](/docs/fr/authentication#sign-in-without-an-api-key). Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |186| `ANTHROPIC_PROFILE` | Nom du profil Anthropic avec lequel s'authentifier, comme celui créé par [`ant auth login`](https://platform.claude.com/docs/en/cli-sdks-libraries/cli/authentication) ou par [connexion à un compte Console sans clé API](/docs/fr/authentication#sign-in-without-an-api-key). Voir [priorité d'authentification](/docs/fr/authentication#authentication-precedence) |

187| `ANTHROPIC_SMALL_FAST_MODEL` | \[DÉPRÉCIÉ] Nom du [modèle de classe Haiku pour les tâches d'arrière-plan](/docs/fr/costs) |187| `ANTHROPIC_SMALL_FAST_MODEL` | \[DÉPRÉCIÉ] Nom du [modèle de classe Haiku pour les tâches d'arrière-plan](/docs/fr/costs) |

188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Remplacez la région AWS pour le modèle de classe Haiku lors de l'utilisation d'Amazon Bedrock ou Amazon Bedrock Mantle. Sur Amazon Bedrock, cela ne prend effet que lorsque `ANTHROPIC_DEFAULT_HAIKU_MODEL` ou le `ANTHROPIC_SMALL_FAST_MODEL` déprécié est également défini, car Amazon Bedrock exécute autrement les tâches d'arrière-plan sur le [modèle Sonnet par défaut ou le modèle principal](/docs/fr/amazon-bedrock#4-pin-model-versions) dans la région de la session |188| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Remplacez la région AWS pour le modèle de classe Haiku lors de l'utilisation d'Amazon Bedrock ou d'Amazon Bedrock Mantle. Sur Amazon Bedrock, cela ne prend effet que lorsque `ANTHROPIC_DEFAULT_HAIKU_MODEL` ou le `ANTHROPIC_SMALL_FAST_MODEL` déprécié est également défini, car Amazon Bedrock exécute autrement les tâches d'arrière-plan sur le [modèle Sonnet par défaut ou le modèle principal](/docs/fr/amazon-bedrock#4-pin-model-versions) dans la région de la session |

189| `ANTHROPIC_VERTEX_BASE_URL` | Remplacez l'URL du point de terminaison Google Cloud's Agent Platform. Utilisez pour les points de terminaison Google Cloud's Agent Platform personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |189| `ANTHROPIC_VERTEX_BASE_URL` | Remplacez l'URL du point de terminaison de Google Cloud's Agent Platform. Utilisez pour les points de terminaison Google Cloud's Agent Platform personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |

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

191| `ANTHROPIC_WORKSPACE_ID` | ID d'espace de travail pour [workload identity federation](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez ceci lorsque votre règle de fédération est limitée à plus d'un espace de travail afin que l'échange de jetons sache quel espace de travail cibler |191| `ANTHROPIC_WORKSPACE_ID` | ID d'espace de travail pour [la fédération d'identité de charge de travail](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez ceci lorsque votre règle de fédération est limitée à plus d'un espace de travail afin que l'échange de jetons sache quel espace de travail cibler |

192| `API_FORCE_IDLE_TIMEOUT` | Remplacez le délai d'expiration d'inactivité du corps de 5 minutes qui interrompt une réponse de modèle en continu lorsqu'aucun octet n'arrive. Définissez à `0` pour désactiver le délai d'expiration, par exemple lorsqu'une [passerelle](/docs/fr/llm-gateway) lente ou un modèle local fait une pause plus longue que 5 minutes entre les chunks, ou `1` pour le maintenir activé pour chaque fournisseur. Lorsqu'il n'est pas défini, le délai d'expiration est actif sur les fournisseurs autres que l'API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Les [chiens de garde de flux](/docs/fr/network-config#streaming-idle-watchdogs) s'exécutent indépendamment et interrompent une longue pause silencieuse même lorsque vous définissez `0` ici |192| `API_FORCE_IDLE_TIMEOUT` | Remplacez le délai d'expiration d'inactivité du corps de 5 minutes qui interrompt une réponse de modèle en continu lorsqu'aucun octet n'arrive. Définissez sur `0` pour désactiver le délai d'expiration, par exemple lorsqu'une [passerelle](/docs/fr/llm-gateway) lente ou un modèle local fait une pause plus longue que 5 minutes entre les chunks, ou `1` pour le maintenir activé pour chaque fournisseur. Lorsqu'il n'est pas défini, le délai d'expiration est actif sur les fournisseurs autres que l'API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Les [chiens de garde de flux](/docs/fr/network-config#streaming-idle-watchdogs) s'exécutent indépendamment et interrompent une longue pause silencieuse même lorsque vous définissez `0` ici |

193| `API_TIMEOUT_MS` | Délai d'expiration pour les requêtes API en millisecondes (par défaut : 600000, ou 10 minutes ; maximum : 2147483647). Augmentez ceci lorsque les requêtes expirent sur les réseaux lents ou lors du routage via un proxy. Les valeurs au-dessus du maximum débordent la minuterie sous-jacente et causent l'échec immédiat des requêtes |193| `API_TIMEOUT_MS` | Délai d'expiration pour les requêtes API en millisecondes (par défaut : 600000, ou 10 minutes ; maximum : 2147483647). Augmentez ceci lorsque les requêtes expirent sur les réseaux lents ou lors du routage via un proxy. Les valeurs au-dessus du maximum débordent du minuteur sous-jacent et causent l'échec immédiat des requêtes |

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

195| `BASH_DEFAULT_TIMEOUT_MS` | Délai d'expiration par défaut pour les commandes bash longues (par défaut : 120000, ou 2 minutes) |195| `BASH_DEFAULT_TIMEOUT_MS` | Délai d'expiration par défaut pour les commandes bash longues (par défaut : 120000, ou 2 minutes) |

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

197| `BASH_MAX_TIMEOUT_MS` | Délai d'expiration maximum que le modèle peut définir pour les commandes bash longues (par défaut : 600000, ou 10 minutes). Le plafond effectif est le plus grand de ceci et `BASH_DEFAULT_TIMEOUT_MS` |197| `BASH_MAX_TIMEOUT_MS` | Délai d'expiration maximum que le modèle peut définir pour les commandes bash longues (par défaut : 600000, ou 10 minutes). Le plafond effectif est le plus grand de ceci et de `BASH_DEFAULT_TIMEOUT_MS` |

198| `BETA_TRACING_ENDPOINT` | Point de terminaison OTLP pour le [traçage bêta détaillé](/docs/fr/monitoring-usage#traces-beta) : avec `ENABLE_BETA_TRACING_DETAILED=1`, les journaux et les traces vont là au lieu des exportateurs configurés. 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) |198| `BETA_TRACING_ENDPOINT` | Point de terminaison OTLP pour [le traçage bêta détaillé](/docs/fr/monitoring-usage#traces-beta) : avec `ENABLE_BETA_TRACING_DETAILED=1`, les journaux et les traces vont là-bas au lieu des exportateurs configurés. 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) |

199| `CCR_FORCE_BUNDLE` | Définissez à `1` pour forcer [`claude --cloud`](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) à regrouper et télécharger votre référentiel local au lieu de cloner à partir de son distant |199| `CCR_FORCE_BUNDLE` | Définissez sur `1` pour forcer [`claude --cloud`](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) à regrouper et télécharger votre référentiel local au lieu de le cloner à partir de son distant |

200| `CLAUDECODE` | Définissez à `1` dans les sous-processus que Claude Code génère (outils Bash et PowerShell, sessions tmux, commandes [hook](/docs/fr/hooks), commandes [status line](/docs/fr/statusline), sous-processus [serveur MCP](/docs/fr/mcp) stdio). Les extensions IDE définissent également ceci dans leurs terminaux intégrés. Utilisez pour détecter quand un script s'exécute à l'intérieur d'un sous-processus généré par Claude Code. Pour vérifier si le processus actuel a été généré directement par un appel d'outil ou un hook, plutôt qu'à l'intérieur d'un serveur MCP stdio que Claude Code a démarré, utilisez `CLAUDE_CODE_CHILD_SESSION` à la place |200| `CLAUDECODE` | Définissez sur `1` dans les sous-processus que Claude Code génère (outils Bash et PowerShell, sessions tmux, commandes [hook](/docs/fr/hooks), commandes [ligne d'état](/docs/fr/statusline), sous-processus du serveur [MCP](/docs/fr/mcp) stdio). Les extensions IDE définissent également ceci dans leurs terminaux intégrés. Utilisez pour détecter quand un script s'exécute à l'intérieur d'un sous-processus généré par Claude Code. Pour vérifier si le processus actuel a été généré directement par un appel d'outil ou un hook, plutôt qu'à l'intérieur d'un serveur MCP stdio que Claude Code a démarré, utilisez `CLAUDE_CODE_CHILD_SESSION` à la place |

201| `CLAUDE_AFK_COUNTDOWN_MS` | Combien de millisecondes avant le compte à rebours du auto-continue apparaît sur un dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse. Par défaut `20000` (20 secondes), limité au délai d'expiration du auto-continue. N'a aucun effet sauf si le auto-continue est activé ; voir le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout) et `CLAUDE_AFK_TIMEOUT_MS`. Nécessite Claude Code v2.1.198 ou ultérieur |201| `CLAUDE_AFK_COUNTDOWN_MS` | Combien de millisecondes avant la continuation automatique le compte à rebours à l'écran apparaît sur un dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse. Par défaut `20000` (20 secondes), limité au délai d'expiration de la continuation automatique. N'a aucun effet à moins que la continuation automatique soit activée ; voir le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout) et `CLAUDE_AFK_TIMEOUT_MS`. Nécessite Claude Code v2.1.198 ou ultérieur |

202| `CLAUDE_AFK_TIMEOUT_MS` | Combien de millisecondes de temps d'inactivité avant qu'un dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse se poursuive automatiquement sans vous. Le auto-continue est désactivé par défaut ; activez-le avec le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout). Cette variable est une substitution pour les démos et les tests automatisés : lorsqu'elle est définie, elle a la priorité sur ce paramètre et active le auto-continue même lorsque le paramètre n'est pas défini ou est `never`. Définir `0` ne désactive pas le délai d'expiration ; cela ferme le dialogue immédiatement. Dans v2.1.198 et v2.1.199, le auto-continue était activé par défaut avec un délai d'expiration de `60000` (60 secondes). Nécessite Claude Code v2.1.198 ou ultérieur |202| `CLAUDE_AFK_TIMEOUT_MS` | Combien de millisecondes de temps d'inactivité avant qu'un dialogue [`AskUserQuestion`](/docs/fr/tools-reference) sans réponse se poursuive automatiquement sans vous. La continuation automatique est désactivée par défaut ; activez-la avec le paramètre [`askUserQuestionTimeout`](/docs/fr/settings-reference#askuserquestiontimeout). Cette variable est un remplacement pour les démos et les tests automatisés : lorsqu'elle est définie, elle prend la priorité sur ce paramètre et active la continuation automatique même lorsque le paramètre n'est pas défini ou `never`. Définir `0` ne désactive pas le délai d'expiration ; cela ferme le dialogue immédiatement. Dans v2.1.198 et v2.1.199, la continuation automatique était activée par défaut avec un délai d'expiration de `60000` (60 secondes). Nécessite Claude Code v2.1.198 ou ultérieur |

203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Définissez à `1` pour désactiver tous les types de [sous-agent](/docs/fr/sub-agents) intégrés tels que Explore et Plan. S'applique uniquement en mode non interactif (le drapeau `-p`). Utile pour les utilisateurs du SDK qui veulent une ardoise vierge. Cela supprime également `general-purpose`, le sous-agent que Claude Code exécute lorsqu'un appel d'outil Agent omet `subagent_type`. Un tel appel échoue alors avec [`subagent_type is required`](/docs/fr/errors#subagent-type-is-required) |203| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Définissez sur `1` pour désactiver tous les types de [sous-agent](/docs/fr/sub-agents) intégrés tels que Explore et Plan. S'applique uniquement en mode non interactif (le drapeau `-p`). Utile pour les utilisateurs du SDK qui veulent une ardoise vierge. Cela supprime également `general-purpose`, le sous-agent que Claude Code exécute lorsqu'un appel d'outil Agent omet `subagent_type`. Un tel appel échoue alors avec [`subagent_type is required`](/docs/fr/errors#subagent-type-is-required) |

204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Définissez à `1` pour ignorer le préfixe `mcp__<server>__` sur les noms d'outils des serveurs MCP créés par le SDK. Les outils utilisent leurs noms d'origine. Utilisation du SDK uniquement |204| `CLAUDE_AGENT_SDK_MCP_NO_PREFIX` | Définissez sur `1` pour ignorer le préfixe `mcp__<server>__` sur les noms d'outils des serveurs MCP créés par le SDK. Les outils utilisent leurs noms d'origine. Utilisation du SDK uniquement |

205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Délai d'expiration de blocage en millisecondes pour les sous-agents. Par défaut `600000` (10 minutes) ; si vous augmentez `CLAUDE_STREAM_IDLE_TIMEOUT_MS` tandis que le chien de garde de flux est activé, la valeur par défaut augmente avec lui, comme le décrit [Gérer les réponses API lentes ou bloquées](/docs/fr/agent-sdk/typescript#handle-slow-or-stalled-api-responses). La minuterie se réinitialise à chaque événement de progression en continu ; si aucune progression n'arrive dans la fenêtre, Claude Code interrompt le sous-agent et signale le blocage au parent |205| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Délai d'expiration de stagnation en millisecondes pour les sous-agents. Par défaut `600000` (10 minutes) ; si vous augmentez `CLAUDE_STREAM_IDLE_TIMEOUT_MS` tandis que le chien de garde de flux est activé, la valeur par défaut augmente avec lui, comme [Gérer les réponses API lentes ou bloquées](/docs/fr/agent-sdk/typescript#handle-slow-or-stalled-api-responses) le décrit. Le minuteur se réinitialise à chaque événement de progression en continu ; si aucune progression n'arrive dans la fenêtre, Claude Code interrompt le sous-agent et signale la stagnation au parent |

206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Définissez le pourcentage (1-100) de la fenêtre de compaction automatique auquel la compaction automatique se déclenche. Utilisez des valeurs plus basses comme `50` pour compacter plus tôt ; la variable ne peut pas augmenter le seuil, donc les valeurs au-dessus du pourcentage par défaut sont ignorées. Elle s'applique uniquement aux sessions qui [compactent avant la limite de contexte du modèle](/docs/fr/model-config#context-window-and-auto-compaction). S'applique aux conversations principales et aux sous-agents |206| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Définissez le pourcentage (1-100) de la fenêtre de compaction automatique auquel la compaction automatique se déclenche. Utilisez des valeurs plus basses comme `50` pour compacter plus tôt ; la variable ne peut pas augmenter le seuil, donc les valeurs au-dessus du pourcentage par défaut sont ignorées. Elle s'applique uniquement aux sessions qui [compactent avant la limite de contexte du modèle](/docs/fr/model-config#context-window-and-auto-compaction). S'applique aux conversations principales et aux sous-agents |

207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Définissez à `1` pour forcer l'activation de la mise en arrière-plan automatique des tâches d'agent longues. Lorsqu'elle est activée, les sous-agents sont déplacés en arrière-plan après environ deux minutes d'exécution. Active également la [mise en arrière-plan automatique des appels d'outils MCP longs](/docs/fr/mcp#automatic-backgrounding-of-long-tool-calls) en mode non interactif sur Claude Code v2.1.212 ou ultérieur |207| `CLAUDE_AUTO_BACKGROUND_TASKS` | Définissez sur `1` pour forcer l'activation de la mise en arrière-plan automatique des tâches d'agent longues. Lorsqu'elle est activée, les sous-agents sont déplacés en arrière-plan après environ deux minutes d'exécution. Active également [la mise en arrière-plan automatique des appels d'outils MCP longs](/docs/fr/mcp#automatic-backgrounding-of-long-tool-calls) en mode non interactif sur Claude Code v2.1.212 ou ultérieur |

208| `CLAUDE_AX_PREPARK_MS` | En [mode lecteur d'écran](/docs/fr/accessibility#what-your-screen-reader-hears), combien de millisecondes Claude Code attend, avec le curseur au début de la ligne, avant d'écrire une ligne nouvelle ou modifiée. Par défaut `50`. Définissez `0` pour écrire immédiatement. Claude Code limite l'attente à `5000`. Nécessite Claude Code v2.1.233 ou ultérieur |208| `CLAUDE_AX_PREPARK_MS` | En [mode lecteur d'écran](/docs/fr/accessibility#what-your-screen-reader-hears), combien de millisecondes Claude Code attend, avec le curseur au début de la ligne, avant d'écrire une ligne nouvelle ou modifiée. Par défaut `50`. Définissez `0` pour écrire immédiatement. Claude Code limite l'attente à `5000`. Nécessite Claude Code v2.1.233 ou ultérieur |

209| `CLAUDE_AX_SCREEN_READER` | Définissez à `1` pour afficher une sortie conviviale pour les lecteurs d'écran : texte plat sans bordures décoratives ni animations. Définissez à `0` pour forcer le mode lecteur d'écran désactivé même lorsque [`axScreenReader`](/docs/fr/settings-reference#axscreenreader) est `true`. Le drapeau [`--ax-screen-reader`](/docs/fr/cli-reference#cli-flags) a la priorité. Nécessite Claude Code v2.1.181 ou ultérieur |209| `CLAUDE_AX_SCREEN_READER` | Définissez sur `1` pour rendre la sortie conviviale pour les lecteurs d'écran : texte plat sans bordures décoratives ni animations. Définissez sur `0` pour forcer le mode lecteur d'écran désactivé même lorsque [`axScreenReader`](/docs/fr/settings-reference#axscreenreader) est `true`. Le [drapeau `--ax-screen-reader`](/docs/fr/cli-reference#cli-flags) a la priorité. Nécessite Claude Code v2.1.181 ou ultérieur |

210| `CLAUDE_AX_STARTUP_QUIET_MS` | En [mode lecteur d'écran](/docs/fr/accessibility), combien de millisecondes Claude Code maintient le premier rendu d'interface après la ligne de confirmation de démarrage, afin que votre lecteur d'écran puisse prononcer la ligne en entier avant que la nouvelle sortie ne l'interrompe. Par défaut `3000`. Définissez `0` pour afficher immédiatement. Claude Code limite la tenue à `600000` (10 minutes). Votre première frappe termine la tenue plus tôt. Nécessite Claude Code v2.1.217 ou ultérieur |210| `CLAUDE_AX_STARTUP_QUIET_MS` | En [mode lecteur d'écran](/docs/fr/accessibility), combien de millisecondes Claude Code maintient le premier rendu d'interface après la ligne de confirmation de démarrage, afin que votre lecteur d'écran puisse prononcer la ligne en entier avant que la nouvelle sortie ne l'interrompe. Par défaut `3000`. Définissez `0` pour rendre immédiatement. Claude Code limite la tenue à `600000` (10 minutes). Votre première frappe termine la tenue plus tôt. Nécessite Claude Code v2.1.217 ou ultérieur |

211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Retournez au répertoire de travail d'origine après chaque commande Bash ou PowerShell dans la session principale |211| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Retournez au répertoire de travail d'origine après chaque commande Bash ou PowerShell dans la session principale |

212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes pour le chien de garde d'inactivité de flux au niveau des octets ; lorsqu'il est défini, il a la priorité sur `CLAUDE_STREAM_IDLE_TIMEOUT_MS` pour ce chien de garde et laisse le chien de garde au niveau des événements inchangé. Claude Code limite cette variable entre 10 secondes et 30 minutes. Nécessite Claude Code v2.1.210 ou ultérieur |212| `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes pour le chien de garde d'inactivité de flux au niveau des octets ; lorsqu'il est défini, il prend la priorité sur `CLAUDE_STREAM_IDLE_TIMEOUT_MS` pour ce chien de garde et laisse le chien de garde au niveau des événements inchangé. Claude Code limite cette variable entre 10 secondes et 30 minutes. Nécessite Claude Code v2.1.210 ou ultérieur |

213| `CLAUDE_CLIENT_PRESENCE_FILE` | Chemin d'accès à un fichier qu'un outil externe, comme un écouteur de verrouillage d'écran, crée lorsque vous déverrouillez votre écran et supprime lorsque vous le verrouillez. Tant que le fichier existe, Claude Code ignore les [notifications push mobiles Remote Control](/docs/fr/remote-control#mobile-push-notifications), afin que vous cessiez de recevoir des notifications lorsque vous utilisez activement l'ordinateur. Lorsque le fichier est absent ou illisible, les notifications sont envoyées normalement. Claude Code vérifie le fichier une fois par événement déclencheur de notification plutôt que de l'interroger. Nécessite Claude Code v2.1.181 ou ultérieur |213| `CLAUDE_CLIENT_PRESENCE_FILE` | Chemin d'accès à un fichier qu'un outil externe, comme un écouteur de verrouillage d'écran, crée lorsque vous déverrouillez votre écran et supprime lorsque vous le verrouillez. Tant que le fichier existe, Claude Code ignore [les notifications push mobiles Remote Control](/docs/fr/remote-control#mobile-push-notifications), afin que vous cessiez de recevoir des notifications lorsque vous utilisez activement l'ordinateur. Lorsque le fichier est absent ou illisible, les notifications sont envoyées normalement. Claude Code vérifie le fichier une fois par événement déclencheur de notification plutôt que de l'interroger. Nécessite Claude Code v2.1.181 ou ultérieur |

214| `CLAUDE_CODE_ACCESSIBILITY` | Définissez à `1` pour garder le curseur du terminal natif visible et désactiver l'indicateur de curseur en texte inversé. Permet aux loupes d'écran comme macOS Zoom de suivre la position du curseur |214| `CLAUDE_CODE_ACCESSIBILITY` | Définissez sur `1` pour garder le curseur du terminal natif visible et désactiver l'indicateur de curseur en texte inversé. Permet aux agrandisseurs d'écran comme macOS Zoom de suivre la position du curseur |

215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Définissez à `1` pour charger les fichiers mémoire à partir des répertoires spécifiés avec `--add-dir`. Charge `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` et `CLAUDE.local.md`. Par défaut, les répertoires supplémentaires ne chargent pas les fichiers mémoire |215| `CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD` | Définissez sur `1` pour charger les fichiers mémoire à partir des répertoires spécifiés avec `--add-dir`. Charge `CLAUDE.md`, `.claude/CLAUDE.md`, `.claude/rules/*.md` et `CLAUDE.local.md`. Par défaut, les répertoires supplémentaires ne chargent pas les fichiers mémoire |

216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Définissez à `1` pour repeindre l'écran entier à chaque image en [rendu plein écran](/docs/fr/fullscreen) au lieu d'envoyer des mises à jour incrémentielles. Utilisez ceci si le mode plein écran affiche des fragments de texte obsolètes ou mal placés. Claude Code active ceci automatiquement pour les sessions d'arrière-plan et la [vue agent](/docs/fr/agent-view) sur Windows |216| `CLAUDE_CODE_ALT_SCREEN_FULL_REPAINT` | Définissez sur `1` pour repeindre l'écran entier à chaque image en [rendu plein écran](/docs/fr/fullscreen) au lieu d'envoyer des mises à jour incrémentielles. Utilisez ceci si le mode plein écran affiche des fragments de texte obsolètes ou mal placés. Claude Code active ceci automatiquement pour les sessions d'arrière-plan et [la vue agent](/docs/fr/agent-view) sur Windows |

217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Définissez à `1` pour envoyer le paramètre [effort](/docs/fr/model-config#adjust-effort-level) avec chaque requête, même lorsque Claude Code ne reconnaît pas l'ID du modèle comme capable d'effort. Utilisez ceci lors du routage via une [passerelle LLM](/docs/fr/llm-gateway) ou un fournisseur tiers qui sert les modèles sous des identifiants personnalisés. Les modèles qui rejettent le paramètre d'effort à l'API, y compris les modèles Claude 3, Sonnet 4.0 et 4.5, Opus 4.0 et 4.1, et Haiku 4.5, sont toujours exclus afin que les requêtes ne échouent pas |217| `CLAUDE_CODE_ALWAYS_ENABLE_EFFORT` | Définissez sur `1` pour envoyer le paramètre [effort](/docs/fr/model-config#adjust-effort-level) avec chaque requête, même lorsque Claude Code ne reconnaît pas l'ID du modèle comme capable d'effort. Utilisez ceci lors du routage via une [passerelle LLM](/docs/fr/llm-gateway) ou un fournisseur tiers qui sert les modèles sous des identifiants personnalisés. Les modèles qui rejettent le paramètre d'effort à l'API, y compris les modèles Claude 3, Sonnet 4.0 et 4.5, Opus 4.0 et 4.1, et Haiku 4.5, sont toujours exclus afin que les requêtes ne échouent pas |

218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalle en millisecondes auquel les identifiants doivent être actualisés (lors de l'utilisation de [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper)) |218| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalle en millisecondes auquel les identifiants doivent être actualisés (lors de l'utilisation de [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper)) |

219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Définissez à `0` pour empêcher Claude Code d'ouvrir le navigateur automatiquement lorsqu'un nouvel [artifact](/docs/fr/artifacts#create-an-artifact) est publié |219| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Définissez sur `0` pour empêcher Claude Code d'ouvrir automatiquement le navigateur lorsqu'un nouvel [artefact](/docs/fr/artifacts#create-an-artifact) est publié |

220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Définissez à `0` pour arrêter la lecture et la réponse de Claude aux [commentaires sur un artifact](/docs/fr/artifacts#collect-comments-on-an-artifact). N'a aucun effet lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` a [désactivé les artifacts](/docs/fr/artifacts#availability). Nécessite Claude Code v2.1.221 ou ultérieur |220| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Définissez sur `0` pour arrêter la lecture et la réponse de Claude aux [commentaires sur un artefact](/docs/fr/artifacts#collect-comments-on-an-artifact). N'a aucun effet lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` a [désactivé les artefacts](/docs/fr/artifacts#availability). Nécessite Claude Code v2.1.221 ou ultérieur |

221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Définissez à `0` pour arrêter Claude de [répondre de lui-même aux commentaires envoyés](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Nécessite Claude Code v2.1.228 ou ultérieur |221| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Définissez sur `0` pour arrêter Claude de [répondre d'elle-même aux commentaires qui lui sont envoyés](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Nécessite Claude Code v2.1.228 ou ultérieur |

222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez à `0` pour omettre le [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), qui porte la version du client et une empreinte digitale du prompt, du début du prompt système. La mise en cache sur une connexion directe à l'API Anthropic n'est pas affectée de toute façon. Dans certaines configurations de connexion directe, Claude Code garde le bloc sur les requêtes du classificateur [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) même lorsque vous définissez `0`. Dans [Bloc d'attribution du prompt système](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), vérifiez quelles connexions et identifiants cela couvre. Avant v2.1.181, le bloc incluait un jeton par requête sur les URL de base personnalisées et les connexions Microsoft Foundry, donc sur ces versions, définissez-le à `0` lorsque votre passerelle LLM met en cache sur le corps de la requête ou transfère les requêtes à un fournisseur tiers, ou lorsque vous vous connectez directement à Microsoft Foundry |222| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez sur `0` pour omettre le [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), qui porte la version du client et une empreinte digitale du prompt, du début du prompt système. La mise en cache sur une connexion directe à l'API Anthropic n'est affectée de toute façon. Dans certaines configurations de connexion directe, Claude Code garde le bloc en mode [auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) pour les requêtes du classificateur même lorsque vous définissez `0`. Dans [Bloc d'attribution du prompt système](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), vérifiez quelles connexions et identifiants cela couvre. Avant v2.1.181, le bloc incluait un jeton par requête sur les URL de base personnalisées et les connexions Microsoft Foundry, donc sur ces versions, définissez-le sur `0` lorsque votre passerelle LLM met en cache sur le corps de la requête ou transfère les requêtes à un fournisseur tiers, ou lorsque vous vous connectez directement à Microsoft Foundry |

223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Lorsque `CLAUDE_AUTO_BACKGROUND_TASKS` est activé, secondes entre les rappels à Claude de vérifier les [sous-agents d'arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) qui sont toujours en cours d'exécution. Accepte un entier simple de `1` à `86400` uniquement ; toute autre valeur ou orthographe se lit comme non défini. Lorsqu'il n'est pas défini, il n'y a pas de rappels de vérification. Nécessite Claude Code v2.1.248 ou ultérieur |223| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Lorsque `CLAUDE_AUTO_BACKGROUND_TASKS` est activé, secondes entre les rappels à Claude de vérifier les [sous-agents d'arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) qui sont toujours en cours d'exécution. Accepte un entier simple de `1` à `86400` uniquement ; toute autre valeur ou orthographe se lit comme non définie. Lorsqu'il n'est pas défini, il n'y a pas de rappels de vérification. Nécessite Claude Code v2.1.248 ou ultérieur |

224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Définissez la [fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) en jetons, de `100000` à `1000000`. Accepte un entier simple comme `500000` uniquement : une valeur comme `500k` se lit comme `500` et se limite au minimum de 100K. La fenêtre effective est également limitée à la fenêtre de contexte du modèle. A la priorité sur la commande `/autocompact`, le drapeau `--autocompact` et le paramètre `autoCompactWindow`. Le `used_percentage` de la status line mesure toujours par rapport à la fenêtre de contexte complète du modèle, donc une fois cette variable définie, ce pourcentage n'indique plus quand la compaction s'exécutera |224| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Définissez la [fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) en jetons, de `100000` à `1000000`. Accepte un entier simple comme `500000` uniquement : une valeur comme `500k` se lit comme `500` et se limite au minimum de 100K. La fenêtre effective est également limitée à la fenêtre de contexte du modèle. Prend la priorité sur la commande `/autocompact`, le drapeau `--autocompact` et le paramètre `autoCompactWindow`. Le `used_percentage` de la ligne d'état mesure toujours par rapport à la fenêtre de contexte complète du modèle, donc une fois cette variable définie, ce pourcentage n'indique plus quand la compaction s'exécutera |

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

226| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Temps en millisecondes que Claude Code attend pour que la chaîne de fournisseur d'identifiants par défaut AWS produise des identifiants avant que la requête échoue avec [`AWS default-chain credential resolve timed out`](/docs/fr/errors#aws-default-chain-credential-resolve-timed-out) (par défaut : `60000`). Augmentez-le lorsqu'une étape de votre chaîne a légitimement besoin de plus de temps, comme une connexion SSO basée sur un navigateur avec MFA via un wrapper comme `aws-vault`. S'applique partout où Claude Code signe avec la chaîne par défaut : [Amazon Bedrock](/docs/fr/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) et le [point de terminaison Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint). Nécessite Claude Code v2.1.207 ou ultérieur |226| `CLAUDE_CODE_AUTO_MODE_SERVER` | Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, définissez sur `1` pour que le classificateur côté serveur de la plateforme examine les actions du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) ; où la plateforme n'exécute pas le classificateur, Claude Code revient à ses propres requêtes de classificateur. Lorsqu'il n'est pas défini ou `0`, le classificateur s'exécute via les requêtes que Claude Code lui-même envoie. N'a aucun effet sur les autres fournisseurs, y compris l'API Anthropic. Nécessite Claude Code v2.1.271 ou ultérieur |

227| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Défini automatiquement dans les sous-processus de l'outil Bash et de la [commande hook](/docs/fr/hooks) tandis que la session a une connexion [Remote Control](/docs/fr/remote-control) active, et supprimé lorsque la connexion se termine. La valeur est l'ID de la session sous la forme `session_`, le même identifiant qui apparaît dans l'URL `claude.ai/code` de la session, afin qu'un script puisse se lier à la session qui l'a exécuté. Nécessite Claude Code v2.1.199 ou ultérieur. Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), lisez `CLAUDE_CODE_REMOTE_SESSION_ID` à la place |227| `CLAUDE_CODE_AWS_CHAIN_RESOLVE_TIMEOUT_MS` | Temps en millisecondes que Claude Code attend que le fournisseur d'identifiants par défaut AWS produise des identifiants avant que la requête échoue avec [`AWS default-chain credential resolve timed out`](/docs/fr/errors#aws-default-chain-credential-resolve-timed-out) (par défaut : `60000`). Augmentez-le lorsqu'une étape de votre chaîne a légitimement besoin de plus de temps, comme une connexion SSO basée sur un navigateur avec MFA via un wrapper comme `aws-vault`. S'applique partout où Claude Code signe avec la chaîne par défaut : [Amazon Bedrock](/docs/fr/amazon-bedrock#credential-caching-and-resolution-timeout), [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) et le [point de terminaison Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint). Nécessite Claude Code v2.1.207 ou ultérieur |

228| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Définissez à `0` pour faire lire à Claude Code l'octet `0x08`, également écrit `^H`, comme Backspace simple, ou `1` pour le lire comme Ctrl+Backspace. Chaque valeur remplace la valeur par défaut de la plateforme. Par défaut, Claude Code le lit comme Ctrl+Backspace sur Windows, sauf lorsque `TERM_PROGRAM` est `mintty` ou `TERM` est `cygwin`, et comme Backspace simple sur macOS et Linux. Définissez `0` dans un terminal Windows où [Backspace supprime un mot entier](/docs/fr/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |228| `CLAUDE_CODE_BASH_EDIT_DIFF` | Définissez sur `0` pour désactiver le [diff des fichiers qu'une commande Bash a modifiés](/docs/fr/hooks#bash), ou `1` pour l'enregistrer dans chaque mode de permission. Prend la priorité sur le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled). Nécessite Claude Code v2.1.269 ou ultérieur |

229| `CLAUDE_CODE_CERT_STORE` | Liste séparée par des virgules de sources de certificats CA pour les connexions TLS. `bundled` est l'ensemble Mozilla CA livré avec Claude Code. `system` est le magasin de confiance du système d'exploitation, lu uniquement sur les runtimes avec `tls.getCACertificates` : le binaire natif, ou Node 22.15 ou ultérieur pour les installations npm. Voir [Magasin de certificats CA](/docs/fr/network-config#ca-certificate-store). La valeur par défaut est `bundled,system` |229| `CLAUDE_CODE_BG_TASKS_REPORT_RUNNING` | Définissez sur `0` pour faire en sorte qu'une session non interactive signale un statut inactif à son hôte à chaque fin de tour, même si le travail d'arrière-plan est toujours en cours. Par défaut, la session continue de signaler un statut en cours au-delà de la fin du tour tandis que le travail d'arrière-plan, comme un agent d'arrière-plan ou une exécution de [flux de travail](/docs/fr/workflows), est toujours actif. Cela empêche un hôte qui surveille le statut, comme une liste de sessions distantes, d'annoncer que Claude attend votre entrée au milieu du travail. Les commandes shell d'arrière-plan, comme un serveur de développement, ne maintiennent pas le statut en cours. La valeur par défaut en cours et l'opt-out `0` nécessitent Claude Code v2.1.269 ou ultérieur ; sur les versions antérieures, définissez `1` pour maintenir le statut en cours |

230| `CLAUDE_CODE_CHILD_SESSION` | Défini à `1` dans les sous-processus que Claude Code génère via les outils Bash, PowerShell et Monitor, les commandes [hook](/docs/fr/hooks) et les commandes [status line](/docs/fr/statusline). Non défini pour les sous-processus [serveur MCP](/docs/fr/mcp) stdio, qui sont longue durée et survivent à la session qui les a générés. Contrairement à `CLAUDECODE`, ceci n'est défini que par Claude Code lui-même lorsqu'il lance un sous-processus et non par les extensions IDE, donc il distingue de manière fiable une session imbriquée d'une `claude` de niveau supérieur lancée dans un terminal intégré IDE. Une `claude` TUI interactive imbriquée démarrée de cette façon est automatiquement exclue de `--resume`, `--continue`, l'historique de la flèche vers le haut et la liste `claude agents`. Les sessions `claude -p` non interactives persistent toujours. Définissez `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` pour remplacer cette exclusion. Nécessite Claude Code v2.1.172 ou ultérieur |230| `CLAUDE_CODE_BRIDGE_SESSION_ID` | Défini automatiquement dans les sous-processus de l'outil Bash et de la [commande hook](/docs/fr/hooks) tandis que la session a une connexion [Remote Control](/docs/fr/remote-control) active, et supprimé lorsque la connexion se termine. La valeur est l'ID de la session sous la forme `session_`, le même identifiant qui apparaît dans l'URL `claude.ai/code` de la session, afin qu'un script puisse se lier à la session qui l'a exécuté. Nécessite Claude Code v2.1.199 ou ultérieur. Dans [les sessions cloud](/docs/fr/claude-code-on-the-web), lisez `CLAUDE_CODE_REMOTE_SESSION_ID` à la place |

231| `CLAUDE_CODE_BS_AS_CTRL_BACKSPACE` | Définissez sur `0` pour faire en sorte que Claude Code lise l'octet `0x08`, également écrit `^H`, comme Backspace simple, ou `1` pour le lire comme Ctrl+Backspace. L'une ou l'autre valeur remplace la valeur par défaut de la plateforme. Par défaut, Claude Code le lit comme Ctrl+Backspace sur Windows, sauf lorsque `TERM_PROGRAM` est `mintty` ou `TERM` est `cygwin`, et comme Backspace simple sur macOS et Linux. Définissez `0` dans un terminal Windows où [Backspace supprime un mot entier](/docs/fr/terminal-config#fix-backspace-deleting-a-whole-word-on-windows) |

232| `CLAUDE_CODE_CERT_STORE` | Liste séparée par des virgules des sources de certificats CA pour les connexions TLS. `bundled` est l'ensemble Mozilla CA fourni avec Claude Code. `system` est le magasin de confiance du système d'exploitation, lu uniquement sur les runtimes avec `tls.getCACertificates` : le binaire natif, ou Node 22.15 ou ultérieur pour les installations npm. Voir [Magasin de certificats CA](/docs/fr/network-config#ca-certificate-store). La valeur par défaut est `bundled,system` |

233| `CLAUDE_CODE_CHILD_SESSION` | Défini sur `1` dans les sous-processus que Claude Code génère via les outils Bash, PowerShell et Monitor, les [commandes hook](/docs/fr/hooks) et les [commandes de ligne d'état](/docs/fr/statusline). Non défini pour les sous-processus du serveur [MCP](/docs/fr/mcp) stdio, qui sont de longue durée et survivent à la session qui les a générés. Contrairement à `CLAUDECODE`, ceci n'est défini que par Claude Code lui-même lorsqu'il lance un sous-processus et non par les extensions IDE, donc il distingue de manière fiable une session imbriquée d'un `claude` de niveau supérieur lancé dans un terminal intégré IDE. Un `claude` TUI interactif imbriqué démarré de cette façon est automatiquement exclu de `--resume`, `--continue`, l'historique de la flèche vers le haut et la liste `claude agents`. Les sessions `claude -p` non interactives persistent toujours. Définissez `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE=1` pour remplacer cette exclusion. Nécessite Claude Code v2.1.172 ou ultérieur |

231| `CLAUDE_CODE_CLIENT_CERT` | Chemin d'accès au fichier de certificat client pour l'authentification mTLS |234| `CLAUDE_CODE_CLIENT_CERT` | Chemin d'accès au fichier de certificat client pour l'authentification mTLS |

232| `CLAUDE_CODE_CLIENT_KEY` | Chemin d'accès au fichier de clé privée client pour l'authentification mTLS |235| `CLAUDE_CODE_CLIENT_KEY` | Chemin d'accès au fichier de clé privée client pour l'authentification mTLS |

233| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Phrase de passe pour CLAUDE\_CODE\_CLIENT\_KEY chiffré (optionnel) |236| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Phrase de passe pour `CLAUDE_CODE_CLIENT_KEY` chiffré (optionnel) |

234| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Supprimé dans v2.1.186 et maintenant un no-op. Auparavant, définissait un délai d'expiration séparé pour la phase de connexion, TLS et d'en-tête de réponse d'une requête API en continu. Utilisez `API_TIMEOUT_MS` pour le délai d'expiration par requête. Pour la phase d'en-tête de réponse d'une requête en continu, voir `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |237| `CLAUDE_CODE_CONNECT_TIMEOUT_MS` | Supprimé dans v2.1.186 et maintenant un no-op. Auparavant, définissait un délai d'expiration séparé pour la phase de connexion, TLS et d'en-tête de réponse d'une requête API en continu. Utilisez `API_TIMEOUT_MS` pour le délai d'expiration par requête. Pour la phase d'en-tête de réponse d'une requête en continu, voir `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` |

235| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Remplacez le chemin d'accès au fichier journal de débogage. Malgré le nom, c'est un chemin d'accès au fichier, pas un répertoire. Nécessite que le mode débogage soit activé séparément via `--debug`, `/debug` ou la variable d'environnement `DEBUG` : définir cette variable seule n'active pas la journalisation. Le drapeau [`--debug-file`](/docs/fr/cli-reference#cli-flags) fait les deux à la fois. Par défaut `~/.claude/debug/<session-id>.txt` |238| `CLAUDE_CODE_DEBUG_LOGS_DIR` | Remplacez le chemin d'accès au fichier journal de débogage. Malgré le nom, c'est un chemin d'accès au fichier, pas un répertoire. Nécessite que le mode débogage soit activé séparément via `--debug`, `/debug` ou la variable d'environnement `DEBUG` : définir cette variable seule n'active pas la journalisation. Le [drapeau `--debug-file`](/docs/fr/cli-reference#cli-flags) fait les deux à la fois. Par défaut `~/.claude/debug/<session-id>.txt` |

236| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Niveau de journal minimum écrit dans le fichier journal de débogage. Valeurs : `verbose`, `debug` (par défaut), `info`, `warn`, `error`. Définissez à `verbose` pour inclure les diagnostics à haut volume comme la sortie complète de la commande status line, ou augmentez à `error` pour réduire le bruit |239| `CLAUDE_CODE_DEBUG_LOG_LEVEL` | Niveau de journal minimum écrit dans le fichier journal de débogage. Valeurs : `verbose`, `debug` (par défaut), `info`, `warn`, `error`. Définissez sur `verbose` pour inclure les diagnostics à haut volume comme la sortie complète de la commande de ligne d'état, ou augmentez à `error` pour réduire le bruit |

237| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez à `1` pour désactiver le support de la [fenêtre de contexte 1M](/docs/fr/model-config#extended-context). Lorsqu'elle est définie, les variantes de modèle 1M ne sont pas disponibles dans le sélecteur de modèle, et Claude Code maintient les sessions sur les modèles avec une fenêtre 1M native, comme [Sonnet 5](/docs/fr/model-config#sonnet-5-context-window) et les modèles Fable, à une fenêtre 200K ; voir [Contexte étendu](/docs/fr/model-config#extended-context) pour savoir comment la tenue est appliquée. Utile pour les environnements d'entreprise avec des exigences de conformité. Pour son rôle dans la correction de la fenêtre pour un ID de modèle `[1m]` non reconnu, voir [Corriger la fenêtre pour un ID de modèle de passerelle ou personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |240| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez sur `1` pour désactiver le support de la [fenêtre de contexte 1M](/docs/fr/model-config#extended-context). Lorsqu'elle est définie, les variantes de modèle 1M ne sont pas disponibles dans le sélecteur de modèle, et Claude Code maintient les sessions sur les modèles avec une fenêtre 1M native, comme [Sonnet 5](/docs/fr/model-config#sonnet-5-context-window) et les modèles Fable, à une fenêtre 200K ; voir [Contexte étendu](/docs/fr/model-config#extended-context) pour savoir comment la tenue est appliquée. Utile pour les environnements d'entreprise avec des exigences de conformité. Pour son rôle dans la correction de la fenêtre pour un ID de modèle non reconnu `[1m]`, 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) |

238| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Définissez à `1` pour désactiver le [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) sur Opus 4.6 et Sonnet 4.6 et revenir au budget de réflexion fixe contrôlé par `MAX_THINKING_TOKENS`. N'a aucun effet sur les [modèles Fable](/docs/fr/model-config#extended-thinking), Sonnet 5 ou Opus 4.7 et ultérieur, qui utilisent toujours le raisonnement adaptatif |241| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Définissez sur `1` pour désactiver le [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) sur Opus 4.6 et Sonnet 4.6 et revenir au budget de réflexion fixe contrôlé par `MAX_THINKING_TOKENS`. N'a aucun effet sur les [modèles Fable](/docs/fr/model-config#extended-thinking), Sonnet 5 ou Opus 4.7 et ultérieur, qui utilisent toujours le raisonnement adaptatif |

239| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Définissez à `1` pour empêcher Claude Code de fusionner les blocs `env` des [paramètres gérés](/docs/fr/managed-settings#precedence-within-the-managed-tier) par clé sur les sources d'administration, afin que seul le bloc `env` de la source la plus prioritaire s'applique, comme avant v2.1.223. Définissez-le dans l'environnement qui lance Claude Code, car Claude Code ignore une copie livrée via un bloc `env` de paramètres. Nécessite Claude Code v2.1.223 ou ultérieur |242| `CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION` | Définissez sur `1` pour empêcher Claude Code de fusionner les blocs `env` des [paramètres gérés](/docs/fr/managed-settings#precedence-within-the-managed-tier) par clé sur les sources d'administration, afin que seul le bloc `env` de la source la plus prioritaire s'applique, comme avant v2.1.223. Définissez-le dans l'environnement qui lance Claude Code, car Claude Code ignore une copie livrée via un bloc `env` des paramètres. Nécessite Claude Code v2.1.223 ou ultérieur |

240| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Définissez à `1` pour désactiver l'[outil conseiller](/docs/fr/advisor). La commande `/advisor` devient indisponible, tout `advisorModel` configuré est ignoré, et le drapeau `--advisor` est accepté mais n'a aucun effet, afin que les scripts existants qui le transmettent continuent à fonctionner sans erreurs |243| `CLAUDE_CODE_DISABLE_ADVISOR_TOOL` | Définissez sur `1` pour désactiver l'[outil conseiller](/docs/fr/advisor). La commande `/advisor` devient indisponible, tout `advisorModel` configuré est ignoré, et le drapeau `--advisor` est accepté mais n'a aucun effet, afin que les scripts existants qui le transmettent continuent à fonctionner sans erreurs |

241| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Définissez à `1` pour désactiver les [agents d'arrière-plan et la vue agent](/docs/fr/agent-view) : `claude agents`, `--bg`, `/background` et le superviseur à la demande. Équivalent au paramètre [`disableAgentView`](/docs/fr/settings-reference#disableagentview) |244| `CLAUDE_CODE_DISABLE_AGENT_VIEW` | Définissez sur `1` pour désactiver [les agents d'arrière-plan et la vue agent](/docs/fr/agent-view) : `claude agents`, `--bg`, `/background` et le superviseur à la demande. Équivalent au paramètre [`disableAgentView`](/docs/fr/settings-reference#disableagentview) |

242| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Définissez à `1` pour désactiver le [rendu plein écran](/docs/fr/fullscreen) et utiliser le rendu d'écran principal classique. La conversation reste dans le scrollback natif de votre terminal afin que `Cmd+f` et le mode copie tmux fonctionnent comme d'habitude. A la priorité sur `CLAUDE_CODE_NO_FLICKER` et le paramètre [`tui`](/docs/fr/settings-reference#tui). Vous pouvez également basculer avec `/tui default`. Ne s'applique pas aux sessions d'arrière-plan ouvertes à partir de la [vue agent](/docs/fr/agent-view), qui utilisent toujours le rendu plein écran |245| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Définissez sur `1` pour désactiver le [rendu plein écran](/docs/fr/fullscreen) et utiliser le rendu d'écran principal classique. La conversation reste dans le défilement natif de votre terminal afin que `Cmd+f` et le mode copie tmux fonctionnent comme d'habitude. Prend la priorité sur `CLAUDE_CODE_NO_FLICKER` et le paramètre [`tui`](/docs/fr/settings-reference#tui). Vous pouvez également basculer avec `/tui default`. Ne s'applique pas aux sessions d'arrière-plan ouvertes à partir de la [vue agent](/docs/fr/agent-view), qui utilisent toujours le rendu plein écran |

243| `CLAUDE_CODE_DISABLE_ARTIFACT` | Définissez à `1` pour désactiver l'outil [Artifact](/docs/fr/artifacts), qui publie la sortie de session en tant que page web privée sur claude.ai. Une fois que vous le définissez, aucun fichier de paramètres n'active l'outil. Pour désactiver l'outil à partir d'un fichier de paramètres à la place, définissez [`enableArtifact`](/docs/fr/settings-reference#enableartifact) à `false` ; la clé [`disableArtifact`](/docs/fr/settings-reference#disableartifact) dépréciée le désactive également |246| `CLAUDE_CODE_DISABLE_ARTIFACT` | Définissez sur `1` pour désactiver l'outil [Artifact](/docs/fr/artifacts), qui publie la sortie de session en tant que page web privée sur claude.ai. Une fois que vous l'avez défini, aucun fichier de paramètres ne réactive l'outil. Pour désactiver l'outil à partir d'un fichier de paramètres à la place, définissez [`enableArtifact`](/docs/fr/settings-reference#enableartifact) sur `false` ; la clé [`disableArtifact`](/docs/fr/settings-reference#disableartifact) dépréciée le désactive également |

244| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Définissez à `1` pour désactiver le traitement des pièces jointes. Les mentions de fichiers avec la syntaxe `@` sont envoyées en tant que texte simple au lieu d'être développées en contenu de fichier |247| `CLAUDE_CODE_DISABLE_ATTACHMENTS` | Définissez sur `1` pour désactiver le traitement des pièces jointes. Les mentions de fichiers avec la syntaxe `@` sont envoyées en tant que texte simple au lieu d'être développées dans le contenu du fichier |

245| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Définissez à `1` pour désactiver la [mémoire automatique](/docs/fr/memory#auto-memory). Définissez à `0` pour forcer la mémoire automatique activée même lorsque le mode `--bare` ou [`autoMemoryEnabled: false`](/docs/fr/settings-reference#automemoryenabled) la désactiverait autrement. Lorsqu'elle est désactivée, Claude ne crée ni ne charge les fichiers de mémoire automatique |248| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Définissez sur `1` pour désactiver la [mémoire automatique](/docs/fr/memory#auto-memory). Définissez sur `0` pour forcer la mémoire automatique activée même lorsque le mode `--bare` ou [`autoMemoryEnabled: false`](/docs/fr/settings-reference#automemoryenabled) la désactiverait autrement. Lorsqu'elle est désactivée, Claude ne crée ni ne charge les fichiers de mémoire automatique |

246| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Définissez à `1` pour désactiver toute la fonctionnalité de tâche d'arrière-plan, y compris le paramètre `run_in_background` sur les outils Bash et sous-agent, la mise en arrière-plan automatique et le raccourci Ctrl+B |249| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Définissez sur `1` pour désactiver toute la fonctionnalité de tâche d'arrière-plan, y compris le paramètre `run_in_background` sur les outils Bash et sous-agent, la mise en arrière-plan automatique et le raccourci Ctrl+B |

247| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Définissez à `1` pour empêcher Claude Code de traiter une réponse en continu [Amazon Bedrock](/docs/fr/amazon-bedrock) avec un en-tête `Content-Type` manquant ou vide comme le flux d'événements binaires d'Amazon Bedrock. Par défaut, Claude Code suppose qu'une passerelle a supprimé l'en-tête d'une réponse par ailleurs inmodifiée, afin que le décodage du corps et la diffusion en continu continuent de fonctionner. Définissez ceci uniquement pour une passerelle qui réemet également le flux en tant qu'événements envoyés par le serveur ; Claude Code lit alors le corps sans en-tête en tant qu'événements envoyés par le serveur à la place. Nécessite Claude Code v2.1.239 ou ultérieur |250| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_DEFAULT` | Définissez sur `1` pour empêcher Claude Code de traiter une réponse en continu [Amazon Bedrock](/docs/fr/amazon-bedrock) avec un en-tête `Content-Type` manquant ou vide comme le flux d'événements binaires d'Amazon Bedrock. Par défaut, Claude Code suppose qu'une passerelle a supprimé l'en-tête d'une réponse par ailleurs inmodifiée, afin que le décodage du corps et le flux continu continuent de fonctionner. Définissez ceci uniquement pour une passerelle qui réemet également le flux en tant qu'événements envoyés par le serveur ; Claude Code lit alors le corps sans en-tête en tant qu'événements envoyés par le serveur à la place. Nécessite Claude Code v2.1.239 ou ultérieur |

248| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Définissez à `1` pour ignorer la vérification qu'une réponse en continu [Amazon Bedrock](/docs/fr/amazon-bedrock) porte le type de contenu `application/vnd.amazon.eventstream`. Sans cette variable, lorsqu'une réponse porte un type de contenu différent, Claude Code échoue la requête avec une erreur nommant ce type, ce qui signifie qu'une [passerelle ou un proxy transforme la réponse](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configurez la passerelle pour transférer l'en-tête `Content-Type` et le corps sans modification plutôt que de définir cette variable. Nécessite Claude Code v2.1.208 ou ultérieur |251| `CLAUDE_CODE_DISABLE_BEDROCK_CONTENT_TYPE_GUARD` | Définissez sur `1` pour ignorer la vérification qu'une réponse en continu [Amazon Bedrock](/docs/fr/amazon-bedrock) porte le type de contenu `application/vnd.amazon.eventstream`. Sans cette variable, lorsqu'une réponse porte un type de contenu différent, Claude Code échoue la requête avec une erreur nommant ce type, ce qui signifie qu'une [passerelle ou un proxy transforme la réponse](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). Configurez la passerelle pour transférer l'en-tête `Content-Type` et le corps sans modification plutôt que de définir cette variable. Nécessite Claude Code v2.1.208 ou ultérieur |

249| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Définissez à `1` pour arrêter les commandes shell d'arrière-plan en cours d'exécution d'une [session d'arrière-plan](/docs/fr/agent-view), les workflows dynamiques, et, à partir de v2.1.198, les sous-agents d'arrière-plan lorsque le [superviseur](/docs/fr/agent-view#the-supervisor-process) arrête, redémarre ou met à jour le processus de cette session, au lieu de les remettre au processus suivant de la session. Affecte uniquement cette remise : la mise en arrière-plan d'une session avec `←` ou [`/background`](/docs/fr/agent-view#from-inside-a-session) porte toujours le travail en vol, et `CLAUDE_DISABLE_ADOPT` désactive les deux. Nécessite Claude Code v2.1.196 ou ultérieur |252| `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF` | Définissez sur `1` pour arrêter les commandes shell d'arrière-plan en cours d'exécution d'une [session d'arrière-plan](/docs/fr/agent-view), les flux de travail dynamiques, et, à partir de v2.1.198, les sous-agents d'arrière-plan lorsque le [superviseur](/docs/fr/agent-view#the-supervisor-process) arrête, redémarre ou met à jour le processus de cette session, au lieu de les remettre au processus suivant de la session. Affecte uniquement cette remise : la mise en arrière-plan d'une session avec `←` ou [`/background`](/docs/fr/agent-view#from-inside-a-session) porte toujours le travail en vol, et `CLAUDE_DISABLE_ADOPT` désactive les deux. Nécessite Claude Code v2.1.196 ou ultérieur |

250| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Définissez à `1` pour empêcher Claude Code de terminer les [commandes shell d'arrière-plan](/docs/fr/interactive-mode#background-bash-commands) lorsque le système d'exploitation signale une pression mémoire. Par défaut, sur macOS et Linux, Claude Code termine une commande shell démarrée dans la session principale sur un signal de pression mémoire une fois que la session a été inactive pendant 30 minutes et qu'aucun tour ou sous-agent n'est en cours d'exécution. Windows n'a pas de signal de pression mémoire, donc cette variable n'a aucun effet là. Nécessite Claude Code v2.1.193 ou ultérieur |253| `CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP` | Définissez sur `1` pour empêcher Claude Code de terminer les [commandes shell d'arrière-plan](/docs/fr/interactive-mode#background-bash-commands) lorsque le système d'exploitation signale une pression mémoire. Par défaut, sur macOS et Linux, Claude Code termine un shell d'arrière-plan démarré dans la session principale sur un signal de pression mémoire une fois que la session a été inactive pendant 30 minutes et qu'aucun tour ou sous-agent n'est en cours d'exécution. Windows n'a pas de signal de pression mémoire, donc cette variable n'a aucun effet là-bas. Nécessite Claude Code v2.1.193 ou ultérieur |

251| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Définissez à `1` pour désactiver les [compétences](/docs/fr/skills) et workflows inclus avec Claude Code : les compétences groupées et les workflows sont supprimés entièrement, tandis que les commandes intégrées comme `/init` restent tapables mais sont masquées au modèle. `/doctor` reste tapable comme les commandes intégrées ; masquez-le avec `DISABLE_DOCTOR_COMMAND` à la place. Les compétences des plugins, `.claude/skills/` et `.claude/commands/` ne sont pas affectées. Équivalent au paramètre [`disableBundledSkills`](/docs/fr/settings-reference#disablebundledskills) |254| `CLAUDE_CODE_DISABLE_BUNDLED_SKILLS` | Définissez sur `1` pour désactiver les [compétences](/docs/fr/skills) et les flux de travail inclus avec Claude Code : les compétences et flux de travail groupés sont supprimés entièrement, tandis que les commandes intégrées comme `/init` restent tapables mais sont masquées au modèle. `/doctor` reste tapable comme les commandes intégrées ; masquez-le avec `DISABLE_DOCTOR_COMMAND` à la place. Les compétences des plugins, `.claude/skills/` et `.claude/commands/` ne sont pas affectées. Équivalent au paramètre [`disableBundledSkills`](/docs/fr/settings-reference#disablebundledskills) |

252| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Définissez à `1` pour garder les [outils du navigateur Claude in Chrome](/docs/fr/chrome) disponibles tout en omettant la section Chrome du prompt système et la [compétence groupée](/docs/fr/skills#bundled-skills) `/claude-in-chrome`. Pour les hôtes qui intègrent Claude Code et fournissent leurs propres conseils de navigateur. Nécessite Claude Code v2.1.257 ou ultérieur |255| `CLAUDE_CODE_DISABLE_CFC_PROMPT` | Définissez sur `1` pour garder les [outils du navigateur Claude in Chrome](/docs/fr/chrome) disponibles tout en omettant la section Chrome du prompt système et la [compétence groupée](/docs/fr/skills#bundled-skills) `/claude-in-chrome`. Pour les hôtes qui intègrent Claude Code et fournissent leurs propres conseils de navigateur. Nécessite Claude Code v2.1.257 ou ultérieur |

253| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Définissez à `1` pour empêcher le chargement de tous les fichiers mémoire CLAUDE.md dans le contexte, y compris les fichiers mémoire utilisateur, projet et automatique |256| `CLAUDE_CODE_DISABLE_CLAUDE_MDS` | Définissez sur `1` pour empêcher le chargement de tous les fichiers mémoire CLAUDE.md dans le contexte, y compris les fichiers mémoire utilisateur, projet et automatique |

254| `CLAUDE_CODE_DISABLE_CRON` | Définissez à `1` pour désactiver les [tâches planifiées](/docs/fr/scheduled-tasks). La compétence `/loop` et les outils cron deviennent indisponibles et toutes les tâches déjà planifiées cessent de se déclencher, y compris les tâches qui s'exécutent déjà en milieu de session |257| `CLAUDE_CODE_DISABLE_CRON` | Définissez sur `1` pour désactiver les [tâches programmées](/docs/fr/scheduled-tasks). La compétence `/loop` et les outils cron deviennent indisponibles et toutes les tâches déjà programmées cessent de se déclencher, y compris les tâches qui s'exécutent déjà au milieu d'une session |

255| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Définissez à `1` pour supprimer les en-têtes de requête `anthropic-beta` spécifiques à Anthropic et les champs de schéma d'outil bêta (tels que `defer_loading` et `eager_input_streaming`) des requêtes API. Utilisez ceci lorsqu'une passerelle proxy rejette les requêtes avec des erreurs comme « Unexpected value(s) for the `anthropic-beta` header » ou « Extra inputs are not permitted ». Les champs standard (`name`, `description`, `input_schema`, `cache_control`) sont préservés. La [recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search) est désactivée et tous les outils MCP se chargent en amont, même lorsque vous définissez `ENABLE_TOOL_SEARCH`. Sur Claude Code v2.1.227 ou ultérieur, les [paramètres gérés](/docs/fr/managed-settings) peuvent garder la recherche d'outils activée. [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) couvre où le remplacement s'applique |258| `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS` | Définissez sur `1` pour supprimer les en-têtes de requête `anthropic-beta` spécifiques à Anthropic et les champs de schéma d'outil bêta (comme `defer_loading` et `eager_input_streaming`) des requêtes API. Utilisez ceci lorsqu'une passerelle proxy rejette les requêtes avec des erreurs comme « Unexpected value(s) for the `anthropic-beta` header » ou « Extra inputs are not permitted ». Les champs standard (`name`, `description`, `input_schema`, `cache_control`) sont conservés. [La recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search) est désactivée et tous les outils MCP se chargent en amont, même lorsque vous définissez `ENABLE_TOOL_SEARCH`. Sur Claude Code v2.1.227 ou ultérieur, [les paramètres gérés](/docs/fr/managed-settings) peuvent garder la recherche d'outils activée. [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) couvre où le remplacement s'applique |

256| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Définissez à `1` pour désactiver les [sous-agents Explore et Plan intégrés](/docs/fr/sub-agents#built-in-subagents). Claude explore avec ses outils de recherche ou le sous-agent à usage général à la place, et le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) lit les fichiers directement plutôt que de lancer les agents Explore et Plan. Les sous-agents personnalisés nommés `Explore` ou `Plan` ne sont pas affectés. Pour supprimer tous les types de sous-agent intégrés dans le SDK Agent ou le mode non interactif, utilisez `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` à la place. Nécessite Claude Code v2.1.198 ou ultérieur |259| `CLAUDE_CODE_DISABLE_EXPLORE_PLAN_AGENTS` | Définissez sur `1` pour désactiver les [sous-agents Explore et Plan intégrés](/docs/fr/sub-agents#built-in-subagents). Claude explore avec ses outils de recherche ou le sous-agent à usage général à la place, et le [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) lit les fichiers directement plutôt que de lancer les agents Explore et Plan. Les sous-agents personnalisés nommés `Explore` ou `Plan` ne sont pas affectés. Pour supprimer tous les types de sous-agent intégrés dans le SDK Agent ou le mode non interactif, utilisez `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` à la place. Nécessite Claude Code v2.1.198 ou ultérieur |

257| `CLAUDE_CODE_DISABLE_FAST_MODE` | Définissez à `1` pour désactiver le [mode rapide](/docs/fr/fast-mode) |260| `CLAUDE_CODE_DISABLE_FAST_MODE` | Définissez sur `1` pour désactiver le [mode rapide](/docs/fr/fast-mode) |

258| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Définissez à `1` pour désactiver les sondages de qualité de session « Comment Claude se débrouille-t-il ? ». Les sondages sont également désactivés lorsque `DISABLE_TELEMETRY`, `DO_NOT_TRACK` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est défini, sauf si `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` se réinscrit. Pour définir un taux d'échantillonnage au lieu de désactiver complètement, utilisez le paramètre [`feedbackSurveyRate`](/docs/fr/settings-reference#feedbacksurveyrate). Voir [Sondages de qualité de session](/docs/fr/data-usage#session-quality-surveys) |261| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Définissez sur `1` pour désactiver les sondages de qualité de session « How is Claude doing? ». Les sondages sont également désactivés lorsque `DISABLE_TELEMETRY`, `DO_NOT_TRACK` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est défini, sauf si `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` se réinscrit. Pour définir un taux d'échantillonnage au lieu de désactiver complètement, utilisez le paramètre [`feedbackSurveyRate`](/docs/fr/settings-reference#feedbacksurveyrate). Voir [Sondages de qualité de session](/docs/fr/data-usage#session-quality-surveys) |

259| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Définissez à `1` pour désactiver le [checkpointing](/docs/fr/checkpointing) de fichier. La commande `/rewind` ne pourra pas restaurer les modifications de code. Remplace le paramètre [`fileCheckpointingEnabled`](/docs/fr/settings-reference#filecheckpointingenabled) |262| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Définissez sur `1` pour désactiver le [point de contrôle](/docs/fr/checkpointing) de fichier. La commande `/rewind` ne pourra pas restaurer les modifications de code. Remplace le paramètre [`fileCheckpointingEnabled`](/docs/fr/settings-reference#filecheckpointingenabled) |

260| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Définissez à `1` pour supprimer les instructions de workflow de commit et PR intégrées et l'instantané d'état git du prompt système de Claude. Utile lors de l'utilisation de vos propres compétences de workflow git. A la priorité sur le paramètre [`includeGitInstructions`](/docs/fr/settings-reference#includegitinstructions) lorsqu'il est défini |263| `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` | Définissez sur `1` pour supprimer les instructions de flux de travail de commit et PR intégrées et l'instantané d'état git du prompt système de Claude. Utile lors de l'utilisation de vos propres compétences de flux de travail git. Prend la priorité sur le paramètre [`includeGitInstructions`](/docs/fr/settings-reference#includegitinstructions) lorsqu'il est défini |

261| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Définissez à `1` pour empêcher le remappage automatique d'Opus 4.0 et 4.1 à la version Opus actuelle sur l'API Anthropic. Utilisez lorsque vous souhaitez intentionnellement épingler un modèle plus ancien. Le remappage ne s'exécute pas sur Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry |264| `CLAUDE_CODE_DISABLE_LEGACY_MODEL_REMAP` | Définissez sur `1` pour empêcher le remappage automatique d'Opus 4.0 et 4.1 à la version Opus actuelle sur l'API Anthropic. Utilisez lorsque vous souhaitez intentionnellement épingler un modèle plus ancien. Le remappage ne s'exécute pas sur Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry |

262| `CLAUDE_CODE_DISABLE_MOUSE` | Définissez à `1` pour désactiver le suivi de la souris en [rendu plein écran](/docs/fr/fullscreen). Le défilement au clavier avec `PgUp` et `PgDn` fonctionne toujours. Utilisez ceci pour garder le comportement de copie à la sélection natif de votre terminal |265| `CLAUDE_CODE_DISABLE_MOUSE` | Définissez sur `1` pour désactiver le suivi de la souris en [rendu plein écran](/docs/fr/fullscreen). Le défilement au clavier avec `PgUp` et `PgDn` fonctionne toujours. Utilisez ceci pour garder le comportement de copie à la sélection natif de votre terminal |

263| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Définissez à `1` pour désactiver la gestion des clics, des glissements et des survols en [rendu plein écran](/docs/fr/fullscreen) tout en gardant le défilement à la molette de la souris. Utilisez ceci lorsque vous souhaitez que le défilement à la molette fonctionne à l'intérieur de Claude Code mais que vous ne souhaitez pas que les clics positionnent le curseur, développent la sortie d'outil ou ouvrent des liens. `CLAUDE_CODE_DISABLE_MOUSE` a la priorité lorsque les deux sont définis. Nécessite Claude Code v2.1.195 ou ultérieur |266| `CLAUDE_CODE_DISABLE_MOUSE_CLICKS` | Définissez sur `1` pour désactiver la gestion des clics, des glissements et des survols en [rendu plein écran](/docs/fr/fullscreen) tout en gardant le défilement à la molette de la souris. Utilisez ceci lorsque vous souhaitez que le défilement à la molette fonctionne à l'intérieur de Claude Code mais que vous ne souhaitez pas que les clics positionnent le curseur, développent la sortie de l'outil ou ouvrent les liens. `CLAUDE_CODE_DISABLE_MOUSE` prend la priorité lorsque les deux sont définis. Nécessite Claude Code v2.1.195 ou ultérieur |

264| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Définissez à `1` pour empêcher Claude Code de relire le [certificat client mTLS et la clé](/docs/fr/network-config#mtls-authentication) lorsqu'une requête API échoue avec une erreur au niveau de la connexion, comme une réinitialisation de connexion ou une erreur de poignée de main TLS. Avec le rechargement désactivé, Claude Code charge les fichiers pivotés uniquement lorsqu'il applique ensuite les paramètres ou au prochain démarrage. Nécessite Claude Code v2.1.232 ou ultérieur |267| `CLAUDE_CODE_DISABLE_MTLS_RELOAD_ON_STALE_CONNECTION` | Définissez sur `1` pour empêcher Claude Code de relire le [certificat client mTLS et la clé](/docs/fr/network-config#mtls-authentication) lorsqu'une requête API échoue avec une erreur au niveau de la connexion, comme une réinitialisation de connexion ou une erreur de poignée de main TLS. Avec le rechargement désactivé, Claude Code charge les fichiers pivotés uniquement lorsqu'il applique ensuite les paramètres ou au prochain démarrage. Nécessite Claude Code v2.1.232 ou ultérieur |

265| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Définissez à n'importe quelle valeur non vide, comme `1`, pour désactiver le trafic réseau non essentiel : mises à jour automatiques, télémétrie, rapports d'erreurs, la commande `/feedback`, [retours d'information rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), notes de version, les vérifications du [badge d'état PR et MR](/docs/fr/interactive-mode#pr-review-status) et les vérifications de disponibilité telles que la vérification du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Il arrête également les [exécutions d'arrière-plan des sources de commande du plugin](/docs/fr/plugin-marketplaces#when-claude-code-re-runs-the-command), qui sont des commandes locales plutôt que du trafic réseau, car elles peuvent déclencher des installations de dépendances. **Définir à `0` ou `false` désactive toujours ce trafic**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour l'autoriser à nouveau. Désactive également la récupération des drapeaux de fonctionnalité, ce qui rend [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching) indisponibles. L'installation automatique de la place de marché officielle des plugins n'est pas couverte ; désactivez-la avec `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. N'affecte pas la [découverte de modèles de passerelle](/docs/fr/llm-gateway-connect#add-gateway-models-to-the-model-picker), qui a son propre opt-in |268| `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour désactiver le trafic réseau non essentiel : les mises à jour automatiques, la télémétrie, la signalisation des erreurs, la commande `/feedback`, [les commentaires rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior), les notes de version, les vérifications du [badge d'état PR et MR](/docs/fr/interactive-mode#pr-review-status) et les vérifications de disponibilité telles que la vérification du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways). Il arrête également les [exécutions d'arrière-plan des sources de commande du plugin](/docs/fr/plugin-marketplaces#when-claude-code-re-runs-the-command), qui sont des commandes locales plutôt que du trafic réseau, car elles peuvent déclencher des installations de dépendances. **Définir sur `0` ou `false` désactive toujours ce trafic**, contrairement à la plupart des variables activées/désactivées ; désactivez la variable pour l'autoriser à nouveau. Désactive également la récupération des drapeaux de fonctionnalité, ce qui rend [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching) indisponibles. L'installation automatique de la place de marché officielle des plugins n'est pas couverte ; désactivez-la avec `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL`. N'affecte pas la [découverte de modèles de passerelle](/docs/fr/llm-gateway-connect#add-gateway-models-to-the-model-picker), qui a son propre opt-in |

266| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Définissez à `1` pour désactiver le secours non-continu lorsqu'une requête en continu échoue en milieu de flux. Les erreurs de diffusion en continu se propagent à la couche de nouvelle tentative à la place. Utile lorsqu'une passerelle ou une proxy cause le secours pour produire une exécution d'outil dupliquée |269| `CLAUDE_CODE_DISABLE_NONSTREAMING_FALLBACK` | Définissez sur `1` pour désactiver le secours non-continu lorsqu'une requête en continu échoue au milieu du flux. Les erreurs de flux continu se propagent à la couche de nouvelle tentative à la place. Utile lorsqu'une passerelle ou une passerelle proxy cause le secours pour produire une exécution d'outil dupliquée |

267| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Définissez à `1` pour envoyer la notification de bureau de l'outil `PushNotification` même lorsque vous tapez dans ou êtes concentré sur le terminal. Par défaut, l'outil ignore à la fois la notification de bureau et le [push mobile](/docs/fr/remote-control#mobile-push-notifications) lorsqu'il détecte une activité clavier récente ou une concentration du terminal. Cette variable désactive uniquement cette vérification locale, afin que le serveur puisse toujours supprimer le push mobile lorsqu'il détecte que vous êtes actif. Nécessite Claude Code v2.1.193 ou ultérieur |270| `CLAUDE_CODE_DISABLE_NOTIFICATION_PRESENCE_CHECK` | Définissez sur `1` pour envoyer la notification de bureau de l'outil `PushNotification` même tandis que vous tapez dans ou êtes concentré sur le terminal. Par défaut, l'outil ignore à la fois la notification de bureau et le [push mobile](/docs/fr/remote-control#mobile-push-notifications) lorsqu'il détecte une activité clavier récente ou une concentration du terminal. Cette variable désactive uniquement cette vérification locale, afin que le serveur puisse toujours supprimer le push mobile lorsqu'il détecte que vous êtes actif. Nécessite Claude Code v2.1.193 ou ultérieur |

268| `CLAUDE_CODE_DISABLE_OFFICIAL_MARKETPLACE_AUTOINSTALL` | Définissez à `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. Supprimer 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 |

269| `CLAUDE_CODE_DISABLE_PERMISSION_PROMPT_NOTIFY_HOOKS` | Définissez à `1` pour empêcher Claude Code d'exécuter vos [hooks de notification pour les demandes 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 |

270| `CLAUDE_CODE_DISABLE_POLICY_SKILLS` | Définissez à `1` pour ignorer le chargement des compétences à partir du répertoire des 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 |

271| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Définissez à `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. 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 |

272| `CLAUDE_CODE_DISABLE_THINKING` | Définissez à `1` pour omettre complètement le paramètre `thinking` des requêtes API. C'est une option de compatibilité pour les passerelles et les proxies qui rejettent le paramètre. Sur les modèles qui pensent par défaut, l'omission du 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. Ni l'une ni l'autre 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à |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 |

273| `CLAUDE_CODE_DISABLE_UNKNOWN_MODEL_WINDOW_ENFORCEMENT` | Définissez à `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 |

274| `CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL` | Définissez à `1` pour désactiver le défilement virtuel en [rendu plein écran](/docs/fr/fullscreen) et afficher chaque message dans la transcription. Utilisez ceci si le défilement en mode plein écran affiche des régions vierges où les messages devraient 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 |

275| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Définissez à `1` pour désactiver les [workflows](/docs/fr/workflows#turn-workflows-off). Équivalent au paramètre [`disableWorkflows`](/docs/fr/settings-reference#disableworkflows) |278| `CLAUDE_CODE_DISABLE_WINDOWS_SHELL_LAUNCHER` | Définissez sur `1` pour démarrer les commandes de l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) sur Windows directement au lieu de via le lanceur `cmd.exe`. Par défaut, le lanceur permet à une commande PowerShell [s'exécutant en arrière-plan](/docs/fr/tools-reference#background-commands) de [se reporter au processus suivant de la session](/docs/fr/agent-view#the-supervisor-process), par exemple lorsque vous [mettez la session en arrière-plan](/docs/fr/agent-view#from-inside-a-session). Si vous définissez la variable, une commande PowerShell mise en arrière-plan s'arrête lorsque le processus de la session se termine. Les commandes Bash ne sont pas affectées. Nécessite Claude Code v2.1.269 ou ultérieur |

276| `CLAUDE_CODE_EFFORT_LEVEL` | Définissez le niveau d'effort pour les modèles supportés. Valeurs : `low`, `medium`, `high`, `xhigh`, `max` ou `auto` pour utiliser la valeur par défaut du modèle. Les niveaux disponibles dépendent du modèle. A la priorité sur `--effort`, `/effort` et les paramètres `modelSettings` et `effortLevel`. Un plafond [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) s'applique toujours. Voir [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) |279| `CLAUDE_CODE_DISABLE_WORKFLOWS` | Définissez sur `1` pour désactiver les [flux de travail](/docs/fr/workflows#turn-workflows-off). Équivalent au paramètre [`disableWorkflows`](/docs/fr/settings-reference#disableworkflows) |

277| `CLAUDE_CODE_ENABLE_APPEND_SUBAGENT_PROMPT` | Définissez à `1` pour activer l'ajout de texte supplémentaire à la fin du prompt système de chaque [sous-agent](/docs/fr/sub-agents) autre qu'un [sous-agent forké](/docs/fr/sub-agents#fork-the-current-conversation). Les drapeaux [`--append-subagent-system-prompt`](/docs/fr/cli-reference#cli-flags) et [`--append-subagent-system-prompt-file`](/docs/fr/cli-reference#cli-flags) fournissent le texte ajouté et définissent cette variable automatiquement, afin que vous n'ayez pas besoin de la définir vous-même. Nécessite Claude Code v2.1.205 ou ultérieur |280| `CLAUDE_CODE_EFFORT_LEVEL` | Définissez le niveau d'effort pour les modèles pris en charge. Valeurs : `low`, `medium`, `high`, `xhigh`, `max` ou `auto` pour utiliser la valeur par défaut du modèle. Les niveaux disponibles dépendent du modèle. Prend la priorité sur `--effort`, `/effort` et les paramètres `modelSettings` et `effortLevel`. Un plafond [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) s'applique toujours. Voir [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) |

278| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Accepté pour la compatibilité avec les versions antérieures et n'a aucun effet. Le mode auto est disponible par défaut sur chaque fournisseur, y compris Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et les sessions de passerelle [Claude apps](/docs/fr/claude-apps-gateway) signées. Dans v2.1.158 à v2.1.206, définir ceci à `1` était nécessaire pour rendre le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible sur ces fournisseurs |281| `CLAUDE_CODE_ENABLE_AUTO_MODE` | Accepté pour la compatibilité avec les versions antérieures et n'a aucun effet. Le mode auto est disponible par défaut sur chaque fournisseur, y compris Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry et les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) signées. Dans v2.1.158 à v2.1.206, définir ceci sur `1` était nécessaire pour rendre le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) disponible sur ces fournisseurs |

279| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplacez la disponibilité du [récapitulatif de session](/docs/fr/interactive-mode#session-recap). Définissez à `0` pour forcer les récapitulatifs désactivés quel que soit le basculement `/config`. Définissez à `1` pour forcer les récapitulatifs activés lorsque [`awaySummaryEnabled`](/docs/fr/settings-reference#awaysummaryenabled) est `false`. A la priorité sur le paramètre et le basculement `/config` |282| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplacez la disponibilité du [récapitulatif de session](/docs/fr/interactive-mode#session-recap). Définissez sur `0` pour forcer les récapitulatifs désactivés quel que soit le basculement `/config`. Définissez sur `1` pour forcer les récapitulatifs activés lorsque [`awaySummaryEnabled`](/docs/fr/settings-reference#awaysummaryenabled) est `false`. Prend la priorité sur le paramètre et le basculement `/config` |

280| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Définissez à `1` pour actualiser l'état du plugin aux limites de tour en [mode non interactif](/docs/fr/headless) après la fin d'une installation d'arrière-plan. Désactivé par défaut car l'actualisation change le prompt système en milieu de session, ce qui invalide la [mise en cache du prompt](/docs/fr/prompt-caching) pour ce tour |283| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Définissez sur `1` pour actualiser l'état du plugin aux limites de tour en [mode non interactif](/docs/fr/headless) après la fin d'une installation d'arrière-plan. Désactivé par défaut car l'actualisation modifie le prompt système au milieu de la session, ce qui invalide la [mise en cache du prompt](/docs/fr/prompt-caching) pour ce tour |

281| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Définissez à `1` pour router le sondage de qualité de session « Comment Claude se débrouille-t-il ? » vers votre propre [collecteur OpenTelemetry](/docs/fr/monitoring-usage) lorsque le trafic non essentiel lié à Anthropic est bloqué. Les évaluations du sondage sont émises uniquement en tant qu'événements OTEL vers votre collecteur configuré. Aucune donnée de sondage n'est envoyée à Anthropic dans ce mode. S'applique lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini, et n'a aucun effet sinon. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` et la politique de retours d'information sur les produits de l'organisation ont la priorité |284| `CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL` | Définissez sur `1` pour router le sondage de qualité de session « How is Claude doing? » vers votre propre [collecteur OpenTelemetry](/docs/fr/monitoring-usage) lorsque le trafic non essentiel lié à Anthropic est bloqué. Les évaluations du sondage sont émises uniquement en tant qu'événements OTEL vers votre collecteur configuré. Aucune donnée de sondage n'est envoyée à Anthropic dans ce mode. S'applique lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, `DISABLE_TELEMETRY` ou `DO_NOT_TRACK` est défini, et n'a aucun effet sinon. `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` et la politique de commentaires des produits de l'organisation prennent la priorité |

282| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Contrôle si les entrées d'appel d'outil se diffusent en continu à partir de l'API au fur et à mesure que Claude les génère. Avec ceci désactivé, une grande entrée d'outil comme une longue écriture de fichier n'arrive que après que Claude ait fini de la générer, ce qui peut sembler qu'il se bloque. Activé par défaut sur l'API Anthropic. Sur Amazon Bedrock et Google Cloud's Agent Platform, activé par modèle où le conteneur déployé le supporte. Définissez à `0` pour refuser. Définissez à `1` pour forcer l'activation lors du routage via un proxy via `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL`. Désactivé par défaut sur Microsoft Foundry et les connexions de [passerelle](/docs/fr/llm-gateway) |285| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Contrôle si les entrées d'appel d'outil se transmettent depuis l'API au fur et à mesure que Claude les génère. Avec ceci désactivé, une grande entrée d'outil comme une longue écriture de fichier n'arrive que après que Claude ait fini de la générer, ce qui peut sembler qu'elle se bloque. Activé par défaut sur l'API Anthropic. Sur Amazon Bedrock et Google Cloud's Agent Platform, activé par modèle où le conteneur déployé le supporte. Définissez sur `0` pour refuser. Définissez sur `1` pour forcer l'activation lors du routage via un proxy via `ANTHROPIC_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL` ou `ANTHROPIC_BEDROCK_BASE_URL`. Désactivé par défaut sur Microsoft Foundry et les connexions de [passerelle](/docs/fr/llm-gateway) |

283| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Définissez à `1` pour remplir le sélecteur `/model` à partir du point de terminaison `/v1/models` de votre passerelle lorsque `ANTHROPIC_BASE_URL` pointe vers une passerelle compatible Anthropic comme LiteLLM, Kong ou un proxy interne. Désactivé par défaut car les passerelles soutenues par une clé API partagée afficheraient autrement à chaque utilisateur chaque modèle auquel la clé peut accéder. Les modèles découverts sont toujours filtrés par une liste d'autorisation [`availableModels`](/docs/fr/settings-reference#availablemodels) que la session reçoit ; livrez la liste via [MDM ou un fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), car la [livraison gérée par le serveur n'est pas disponible sur les configurations de passerelle](/docs/fr/server-managed-settings#platform-availability) |286| `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY` | Définissez sur `1` pour remplir le sélecteur `/model` à partir du point de terminaison `/v1/models` de votre passerelle lorsque `ANTHROPIC_BASE_URL` pointe vers une passerelle compatible Anthropic comme LiteLLM, Kong ou un proxy interne. Désactivé par défaut car les passerelles soutenues par une clé API partagée afficheraient autrement à chaque utilisateur chaque modèle auquel la clé peut accéder. Les modèles découverts sont toujours filtrés par une liste d'autorisation [`availableModels`](/docs/fr/settings-reference#availablemodels) que la session reçoit ; livrez la liste via [MDM ou un fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), car [la livraison gérée par le serveur n'est pas disponible sur les configurations de passerelle](/docs/fr/server-managed-settings#platform-availability) |

284| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Supprimé dans v2.1.142, lorsque la valeur par défaut du [mode rapide](/docs/fr/fast-mode) a changé d'Opus 4.6 à Opus 4.7 |287| `CLAUDE_CODE_ENABLE_OPUS_4_7_FAST_MODE` | Supprimé dans v2.1.142, lorsque la valeur par défaut du [mode rapide](/docs/fr/fast-mode) a changé d'Opus 4.6 à Opus 4.7 |

285| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définissez à `false` pour désactiver les suggestions de prompt, les prédictions grisées qui apparaissent dans votre entrée de prompt. A la priorité sur le paramètre [`promptSuggestionEnabled`](/docs/fr/settings-reference#promptsuggestionenabled), qui est ce que le basculement **Suggestions de prompt** dans `/config` écrit. Claude Code [met également en pause les suggestions tandis que votre compte est proche ou à sa limite d'utilisation](/docs/fr/interactive-mode#when-claude-code-skips-suggestions). Définissez à `true` pour les garder activées jusqu'à ce que vous atteigniez la limite. Nécessite Claude Code v2.1.238 ou ultérieur. Voir [Suggestions de prompt](/docs/fr/interactive-mode#prompt-suggestions) |288| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définissez sur `false` pour désactiver les suggestions de prompt, les prédictions grisées qui apparaissent dans votre entrée de prompt. Prend la priorité sur le paramètre [`promptSuggestionEnabled`](/docs/fr/settings-reference#promptsuggestionenabled), qui est ce que le basculement **Prompt suggestions** dans `/config` écrit. Claude Code [met également en pause les suggestions tandis que votre compte est proche ou à sa limite d'utilisation](/docs/fr/interactive-mode#when-claude-code-skips-suggestions). Définissez sur `true` pour les garder activées jusqu'à ce que vous atteigniez la limite. Nécessite Claude Code v2.1.238 ou ultérieur. Voir [Suggestions de prompt](/docs/fr/interactive-mode#prompt-suggestions) |

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

287| `CLAUDE_CODE_ENABLE_TELEMETRY` | Définissez à `1` pour activer la collecte de données OpenTelemetry pour les métriques et la journalisation. Requis avant de configurer les exportateurs OTel. Voir [Surveillance](/docs/fr/monitoring-usage) |290| `CLAUDE_CODE_ENABLE_TELEMETRY` | Définissez sur `1` pour activer la collecte de données OpenTelemetry pour les métriques et la journalisation. Requis avant de configurer les exportateurs OTel. Voir [Surveillance](/docs/fr/monitoring-usage) |

288| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Définissez à `1` pour obtenir les outils de suivi des tâches sur chaque modèle. Sans ceci, Claude Code les fournit par défaut uniquement sur les modèles énumérés sous [Disponibilité des outils Task](/docs/fr/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` sélectionne toujours les outils Task ou `TodoWrite`. Nécessite Claude Code v2.1.233 ou ultérieur |291| `CLAUDE_CODE_ENABLE_TODO_TOOLS` | Définissez sur `1` pour obtenir les outils de suivi des tâches sur chaque modèle. Sans cela, Claude Code les fournit par défaut uniquement sur les modèles énumérés sous [Disponibilité de l'outil Task](/docs/fr/tools-reference#task-tool-availability). `CLAUDE_CODE_ENABLE_TASKS` sélectionne toujours les outils Task ou `TodoWrite`. Nécessite Claude Code v2.1.233 ou ultérieur |

289| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Temps en millisecondes à attendre après que la boucle de requête devienne inactive avant de quitter automatiquement. Utile pour les workflows automatisés et les scripts utilisant le mode SDK |292| `CLAUDE_CODE_EXIT_AFTER_STOP_DELAY` | Temps en millisecondes à attendre après que la boucle de requête devienne inactive avant de quitter automatiquement. Utile pour les flux de travail automatisés et les scripts utilisant le mode SDK |

290| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définissez à `1` pour activer les [équipes d'agents](/docs/fr/agent-teams). Les équipes d'agents sont expérimentales et désactivées par défaut |293| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définissez sur `1` pour activer les [équipes d'agents](/docs/fr/agent-teams). Les équipes d'agents sont expérimentales et désactivées par défaut |

291| `CLAUDE_CODE_EXTRA_BODY` | Objet JSON à fusionner au niveau supérieur de chaque corps de requête API. Utile pour transmettre les paramètres spécifiques au fournisseur que Claude Code n'expose pas directement. Une valeur exportée dans votre shell s'applique également aux [sessions d'arrière-plan](/docs/fr/agent-view) que vous distribuez avec `claude agents` ou `--bg`. Avant v2.1.206, les sessions d'arrière-plan ignoraient une valeur exportée par le shell et utilisaient la copie que le processus superviseur d'arrière-plan héritait |294| `CLAUDE_CODE_EXTRA_BODY` | Objet JSON à fusionner au niveau supérieur de chaque corps de requête API. Utile pour transmettre les paramètres spécifiques au fournisseur que Claude Code n'expose pas directement. Une valeur exportée dans votre shell s'applique également aux [sessions d'arrière-plan](/docs/fr/agent-view) que vous distribuez avec `claude agents` ou `--bg`. Avant v2.1.206, les sessions d'arrière-plan ignoraient une valeur exportée par le shell et utilisaient la copie que le processus superviseur d'arrière-plan héritait |

292| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Remplacez la limite de jetons par défaut pour les lectures de fichier. Utile lorsque vous devez lire des fichiers plus volumineux en entier |295| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Remplacez la limite de jetons par défaut pour les lectures de fichiers. Utile lorsque vous devez lire des fichiers plus volumineux en entier |

293| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Définissez à `1` pour forcer la persistance de la transcription, l'historique des prompts et l'enregistrement `claude agents` même lorsque ce `claude` a été lancé de l'intérieur d'une autre session Claude Code. Utilisez lorsqu'une valeur `CLAUDE_CODE_CHILD_SESSION` héritée, par exemple à partir d'une session `screen` ou d'un lanceur d'arrière-plan d'abord démarré par l'outil Bash de Claude Code, cause une session de niveau supérieur authentique à être mal classée comme imbriquée. À partir de v2.1.178, Claude Code détecte automatiquement le cas tmux et ignore le marqueur hérité, afin que tmux n'ait plus besoin de cette variable. Également honoré sur v2.1.169 et antérieur ; n'a aucun effet sur v2.1.170 et v2.1.171, où la détection de session imbriquée qu'il remplace a été supprimée |296| `CLAUDE_CODE_FORCE_SESSION_PERSISTENCE` | Définissez sur `1` pour forcer la persistance de la transcription, l'historique des prompts et l'enregistrement `claude agents` même lorsque ce `claude` a été lancé de l'intérieur d'une autre session Claude Code. Utilisez lorsqu'une valeur `CLAUDE_CODE_CHILD_SESSION` héritée, par exemple d'une session `screen` ou d'un lanceur d'arrière-plan d'abord démarré par l'outil Bash de Claude Code, cause une session de niveau supérieur authentique à être mal classée comme imbriquée. À partir de v2.1.178, Claude Code détecte automatiquement le cas tmux et ignore le marqueur hérité, afin que tmux n'ait plus besoin de cette variable. Également honoré sur v2.1.169 et antérieur ; n'a aucun effet sur v2.1.170 et v2.1.171, où la détection de session imbriquée qu'il remplace a été supprimée |

294| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Définissez à `1` pour forcer le rendu du barré pour `~~text~~` dans les réponses de Claude lorsque votre terminal le supporte mais n'est pas détecté automatiquement, comme sur SSH sans `TERM_PROGRAM` transféré. Sans ceci, les terminaux non détectés affichent les marqueurs littéraux `~~` au lieu de rendre le texte comme barré. Nécessite Claude Code v2.1.186 ou ultérieur |297| `CLAUDE_CODE_FORCE_STRIKETHROUGH` | Définissez sur `1` pour forcer le rendu du barré pour `~~text~~` dans les réponses de Claude lorsque votre terminal le supporte mais n'est pas détecté automatiquement, par exemple sur SSH sans `TERM_PROGRAM` transféré. Sans cela, les terminaux non détectés affichent les marqueurs littéraux `~~` au lieu de rendre le texte comme barré. Nécessite Claude Code v2.1.186 ou ultérieur |

295| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Définissez à `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), ceci 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 |

296| `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 forkés](/docs/fr/sub-agents#fork-the-current-conversation) lui-même et est activé par défaut uniquement dans les sessions interactives. Définissez à `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 à `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 |

297| `CLAUDE_CODE_FORWARD_SUBAGENT_TEXT` | Définissez à `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à 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_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 |

298| `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) |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) |

299| `CLAUDE_CODE_GLOB_HIDDEN` | Définissez à `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 |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 |

300| `CLAUDE_CODE_GLOB_NO_IGNORE` | Définissez à `false` pour faire respecter à l'[outil Glob](/docs/fr/tools-reference#glob-tool-behavior) les modèles `.gitignore`. Par défaut, Glob retourne tous les fichiers correspondants, y compris les fichiers gitignorés. N'affecte pas l'autocomplétion de fichier `@`, qui a son propre paramètre [`respectGitignore`](/docs/fr/settings-reference#respectgitignore) |304| `CLAUDE_CODE_GLOB_NO_IGNORE` | Définissez sur `false` pour faire en sorte que l'[outil Glob](/docs/fr/tools-reference#glob-tool-behavior) respecte les modèles `.gitignore`. Par défaut, Glob retourne tous les fichiers correspondants, y compris les fichiers gitignorés. N'affecte pas l'autocomplétion de fichier `@`, qui a son propre paramètre [`respectGitignore`](/docs/fr/settings-reference#respectgitignore) |

301| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Délai d'expiration en secondes pour la découverte de fichiers de l'outil Glob. Par défaut 20 secondes sur la plupart des plates-formes et 60 secondes sur WSL |305| `CLAUDE_CODE_GLOB_TIMEOUT_SECONDS` | Délai d'expiration en secondes pour la découverte de fichiers de l'outil Glob. Par défaut 20 secondes sur la plupart des plates-formes et 60 secondes sur WSL |

302| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Combien de minutes le travail d'arrière-plan peut garder un objectif actif en attente avant que Claude Code [demande à Claude de le vérifier](/docs/fr/goal#background-work-defers-evaluation). Par défaut `30`. Définissez `0` pour désactiver les vérifications. Donnez des minutes entières en chiffres simples, au maximum `10080`, ce qui est une semaine. Claude Code traite toute autre valeur comme non définie et utilise la valeur par défaut. Nécessite Claude Code v2.1.234 ou ultérieur |306| `CLAUDE_CODE_GOAL_CHECKIN_MINUTES` | Combien de minutes le travail d'arrière-plan peut garder un objectif actif en attente avant que Claude Code [demande à Claude de le vérifier](/docs/fr/goal#background-work-defers-evaluation). Par défaut `30`. Définissez `0` pour désactiver les vérifications. Donnez des minutes entières en chiffres simples, au maximum `10080`, ce qui est une semaine. Claude Code traite toute autre valeur comme non définie et utilise la valeur par défaut. Nécessite Claude Code v2.1.234 ou ultérieur |

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

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

305| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Définissez à `1` pour ignorer l'installation automatique des extensions IDE. Équivalent à définir [`autoInstallIdeExtension`](/docs/fr/settings-reference#autoinstallideextension) à `false` |309| `CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL` | Définissez sur `1` pour ignorer l'installation automatique des extensions IDE. Équivalent à la définition de [`autoInstallIdeExtension`](/docs/fr/settings-reference#autoinstallideextension) sur `false` |

306| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Définissez à `1` pour ignorer la validation des entrées du fichier de verrouillage IDE lors de la connexion. Utilisez lorsque la connexion automatique ne trouve pas votre IDE malgré son exécution |310| `CLAUDE_CODE_IDE_SKIP_VALID_CHECK` | Définissez sur `1` pour ignorer la validation des entrées du fichier de verrouillage IDE lors de la connexion. Utilisez lorsque la connexion automatique ne trouve pas votre IDE malgré son exécution |

307| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Combien de [sous-agents](/docs/fr/sub-agents#concurrent-subagent-limit) peuvent s'exécuter dans une session avant que l'outil Agent refuse d'en générer un autre (par défaut : 20). Accepte un nombre entier positif en chiffres simples ; tout le reste est ignoré, afin que la variable puisse ajuster le plafond mais ne peut pas le désactiver. Nécessite Claude Code v2.1.217 ou ultérieur |311| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Combien de [sous-agents](/docs/fr/sub-agents#concurrent-subagent-limit) peuvent s'exécuter dans une session avant que l'outil Agent refuse d'en générer un autre (par défaut : 20). Accepte un nombre entier positif en chiffres simples ; tout le reste est ignoré, afin que la variable puisse ajuster le plafond mais ne peut pas le désactiver. Nécessite Claude Code v2.1.217 ou ultérieur |

308| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Remplacez la taille de la fenêtre de contexte que Claude Code suppose pour le modèle actif. À partir de v2.1.193, la façon dont elle s'applique dépend de la façon dont Claude Code résout l'ID du modèle ; 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). Utilisez ceci lors du routage vers un modèle via `ANTHROPIC_BASE_URL` dont la fenêtre de contexte ne correspond pas à la taille intégrée pour son nom |312| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Remplacez la taille de la fenêtre de contexte que Claude Code suppose pour le modèle actif. À partir de v2.1.193, la façon dont elle s'applique dépend de la façon dont Claude Code résout l'ID du modèle ; 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). Utilisez ceci lors du routage vers un modèle via `ANTHROPIC_BASE_URL` dont la fenêtre de contexte ne correspond pas à la taille intégrée pour son nom |

309| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Définissez le nombre maximum de jetons de sortie pour la plupart des requêtes. Les valeurs par défaut et les plafonds varient selon le modèle ; voir [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code utilise par défaut 32000 pour les ID de modèle qu'il ne reconnaît pas, comme les noms spécifiques à la passerelle, et abaisse les valeurs au-dessus du plafond d'un modèle au plafond. Augmenter cette valeur réduit la fenêtre de contexte effective disponible avant le déclenchement de la [compaction automatique](/docs/fr/costs#reduce-token-usage) |313| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Définissez le nombre maximum de jetons de sortie pour la plupart des requêtes. Les valeurs par défaut et les plafonds varient selon le modèle ; voir [jetons de sortie max](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code utilise par défaut 32000 pour les ID de modèle qu'il ne reconnaît pas, comme les noms spécifiques à la passerelle, et abaisse les valeurs au-dessus du plafond d'un modèle au plafond. Augmenter cette valeur réduit la fenêtre de contexte effective disponible avant que la [compaction automatique](/docs/fr/costs#reduce-token-usage) ne se déclenche |

310| `CLAUDE_CODE_MAX_RETRIES` | Remplacez le nombre de fois pour réessayer les requêtes API échouées (par défaut : 10). Limité à 15 à partir de v2.1.186 ; à partir de v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Pour les sessions sans surveillance qui doivent attendre les pannes plus longues, définissez `CLAUDE_CODE_RETRY_WATCHDOG` à la place |314| `CLAUDE_CODE_MAX_RETRIES` | Remplacez le nombre de fois pour réessayer les requêtes API échouées (par défaut : 10). Limité à 15 à partir de v2.1.186 ; à partir de v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Pour les sessions sans surveillance qui doivent attendre les pannes plus longues, définissez `CLAUDE_CODE_RETRY_WATCHDOG` à la place |

311| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Supprimé dans v2.1.224 et maintenant un no-op. Auparavant, limitait le nombre total de [sous-agents](/docs/fr/sub-agents) que Claude pouvait générer avec l'outil Agent dans une session (par défaut : 200) ; générer au-delà du plafond échouait avec `Subagent spawn limit reached`. La [limite de sous-agent concurrent](/docs/fr/sub-agents#concurrent-subagent-limit) et la [limite de profondeur](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) s'appliquent toujours |315| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Supprimé dans v2.1.224 et maintenant un no-op. Auparavant, limitait le nombre total de [sous-agents](/docs/fr/sub-agents) que Claude pouvait générer avec l'outil Agent dans une session (par défaut : 200) ; générer au-delà du plafond échouait avec `Subagent spawn limit reached`. La [limite de sous-agent concurrent](/docs/fr/sub-agents#concurrent-subagent-limit) et la [limite de profondeur](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) s'appliquent toujours |

312| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Nombre de [couches de sous-agent](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) autorisées sous la conversation principale (par défaut : 3). À la valeur par défaut, les sous-agents peuvent générer leurs propres sous-agents, et un sous-agent à la troisième couche ne peut pas générer plus loin ; définissez `1` pour désactiver l'imbrication. Dans v2.1.217 à v2.1.218, la valeur par défaut était 1, afin qu'un sous-agent ne puisse pas générer le sien à moins que vous augmentiez la limite ; v2.1.219 a augmenté la valeur par défaut à 3. Accepte un nombre entier positif en chiffres simples ; tout le reste est ignoré, afin que la limite puisse être ajustée mais pas supprimée. Nécessite Claude Code v2.1.217 ou ultérieur |316| `CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH` | Nombre de [couches de sous-agent](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) autorisées sous la conversation principale (par défaut : 3). À la valeur par défaut, les sous-agents peuvent générer leurs propres sous-agents, et un sous-agent à la troisième couche ne peut pas générer d'autres ; définissez `1` pour désactiver l'imbrication. Dans v2.1.217 à v2.1.218, la valeur par défaut était 1, afin qu'un sous-agent ne puisse pas générer le sien à moins que vous augmentiez la limite ; v2.1.219 a augmenté la valeur par défaut à 3. Accepte un nombre entier positif en chiffres simples ; tout le reste est ignoré, afin que la limite puisse être ajustée mais pas supprimée. Nécessite Claude Code v2.1.217 ou ultérieur |

313| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Nombre maximum d'outils en lecture seule et de sous-agents qui peuvent s'exécuter en parallèle (par défaut : 10). Les valeurs plus élevées augmentent le parallélisme mais consomment plus de ressources |317| `CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY` | Nombre maximum d'outils en lecture seule et de sous-agents qui peuvent s'exécuter en parallèle (par défaut : 10). Les valeurs plus élevées augmentent le parallélisme mais consomment plus de ressources |

314| `CLAUDE_CODE_MAX_TURNS` | Limitez le nombre de tours d'agent lorsqu'aucune limite explicite n'est transmise. Équivalent à transmettre [`--max-turns`](/docs/fr/cli-reference#cli-flags), qui a la priorité lorsque les deux sont définis. Une valeur qui n'est pas un entier positif est rejetée au démarrage avec une erreur plutôt que traitée comme aucun plafond |318| `CLAUDE_CODE_MAX_TURNS` | Limitez le nombre de tours d'agent lorsqu'aucune limite explicite n'est transmise. Équivalent à transmettre [`--max-turns`](/docs/fr/cli-reference#cli-flags), qui prend la priorité lorsque les deux sont définis. Une valeur qui n'est pas un entier positif est rejetée au démarrage avec une erreur plutôt que traitée comme aucun plafond |

315| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Plafond sur le nombre total d'appels [WebSearch](/docs/fr/tools-reference#websearch-tool-behavior) qu'une session peut faire (par défaut : 200). Lorsque Claude atteint le plafond, les appels WebSearch supplémentaires retournent un avis lui disant de continuer avec les informations qu'il a déjà rassemblées. Accepte un nombre entier positif sans limite supérieure. Tout le reste est ignoré et la valeur par défaut s'applique, afin que le plafond puisse être augmenté mais pas désactivé. Nécessite Claude Code v2.1.212 ou ultérieur |319| `CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION` | Plafond sur le nombre total d'appels [WebSearch](/docs/fr/tools-reference#websearch-tool-behavior) qu'une session peut faire (par défaut : 200). Lorsque Claude atteint le plafond, les appels WebSearch supplémentaires retournent un avis lui disant de continuer avec les informations qu'il a déjà rassemblées. Accepte un nombre entier positif sans limite supérieure. Tout le reste est ignoré et la valeur par défaut s'applique, afin que le plafond puisse être augmenté mais pas désactivé. Nécessite Claude Code v2.1.212 ou ultérieur |

316| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Définissez à `1` pour générer les serveurs MCP stdio avec uniquement un environnement de base sûr plus le `env` configuré du serveur, au lieu d'hériter de votre environnement shell |320| `CLAUDE_CODE_MCP_ALLOWLIST_ENV` | Définissez sur `1` pour générer les serveurs MCP stdio avec uniquement un environnement de base sûr plus le `env` configuré du serveur, au lieu d'hériter de votre environnement shell |

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

318| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Délai d'expiration d'inactivité en millisecondes pour les appels d'outils MCP. Lorsqu'un serveur MCP stdio, HTTP, SSE, WebSocket ou [connecteur claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) n'envoie aucune réponse et aucune notification de progression pendant ce temps, l'appel d'outil interrompt avec une erreur au lieu d'attendre le `MCP_TOOL_TIMEOUT` global. Remplace les valeurs par défaut par transport de 300000 (5 minutes) pour les serveurs réseau et 1800000 (30 minutes) pour les serveurs stdio. Définissez à `0` pour désactiver la vérification d'inactivité. Les valeurs inférieures à 1000 sont augmentées à une seconde, et la valeur est limitée au `MCP_TOOL_TIMEOUT` effectif. Un `timeout` par serveur dans `.mcp.json` d'au moins 1000 augmente la fenêtre d'inactivité de ce serveur à au moins la valeur `timeout`. Ne s'applique pas aux serveurs IDE ou aux serveurs en processus du SDK. Nécessite Claude Code v2.1.187 ou ultérieur. Avant v2.1.203, les serveurs stdio étaient exempts du délai d'expiration d'inactivité |322| `CLAUDE_CODE_MCP_STARTUP_WAIT_MS` | Combien de temps en millisecondes le premier tour d'une session [non-interactive](/docs/fr/headless) attend les serveurs MCP qui se connectent toujours, à la place de l'[attente du premier tour](/docs/fr/agent-sdk/mcp#connection-timing) par défaut. Lorsqu'elle est définie, l'attente couvre chaque serveur en attente. Définissez sur `0` pour ignorer l'attente. Un serveur [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) garde sa propre attente `MCP_TIMEOUT` quel que soit la valeur. Nécessite Claude Code v2.1.274 ou ultérieur |

319| `CLAUDE_CODE_MESSAGING_SOCKET` | Défini par Claude Code, pas par vous : dans les sessions qui lient une [socket de boîte de réception](/docs/fr/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporte le chemin de cette socket aux hooks et aux commandes Bash lorsqu'il lie la socket. Dans une session qui démarre avec la messagerie activée, Claude Code lie la socket avant tout hook. Les autres sessions sur la machine livrent les messages à ce chemin. Chaque session exporte sa propre socket plutôt qu'une héritée d'un parent, et les messages arrivant sur elle passent par les [contrôles entrants](/docs/fr/cross-session-messaging#control-inbound-messages) de la session. Les blocs `env` des paramètres ne peuvent pas le définir. Nécessite Claude Code v2.1.224 ou ultérieur |323| `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` | Délai d'expiration d'inactivité en millisecondes pour les appels d'outils MCP. Lorsqu'un serveur MCP stdio, HTTP, SSE, WebSocket ou [connecteur claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) n'envoie aucune réponse et aucune notification de progression pendant ce temps, l'appel d'outil interrompt avec une erreur au lieu d'attendre le `MCP_TOOL_TIMEOUT` global. Remplace les valeurs par défaut par transport de 300000 (5 minutes) pour les serveurs réseau et 1800000 (30 minutes) pour les serveurs stdio. Définissez sur `0` pour désactiver la vérification d'inactivité. Les valeurs inférieures à 1000 sont augmentées à une seconde, et la valeur est limitée au `MCP_TOOL_TIMEOUT` effectif. Un `timeout` par serveur dans `.mcp.json` d'au moins 1000 augmente la fenêtre d'inactivité de ce serveur à au moins la valeur `timeout`. Ne s'applique pas aux serveurs IDE ou aux serveurs en processus du SDK. Nécessite Claude Code v2.1.187 ou ultérieur. Avant v2.1.203, les serveurs stdio étaient exempts du délai d'expiration d'inactivité |

320| `CLAUDE_CODE_MESSAGING_TOKEN` | Défini par Claude Code, pas par vous : dans les sessions qui lient une [socket de boîte de réception](/docs/fr/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporte ce jeton par session aux hooks et aux commandes Bash aux côtés de `CLAUDE_CODE_MESSAGING_SOCKET`. Un script affichant sur la socket peut envoyer `{"type":"auth","token":"<token>"}` comme sa première ligne pour prouver qu'il appartient à la session. Sur Windows natif, Claude Code nécessite cette ligne et ferme toute connexion qui ne s'ouvre pas avec une valeur valide. Les [règles propres-enfant](/docs/fr/cross-session-messaging#the-sessions-inbox-socket) disent quand Claude Code consulte le jeton. Chaque session exporte son propre jeton, jamais un hérité d'une session parent. Les blocs `env` des paramètres ne peuvent pas le définir. Nécessite Claude Code v2.1.228 ou ultérieur |324| `CLAUDE_CODE_MESSAGING_SOCKET` | Défini par Claude Code, pas par vous : dans les sessions qui lient une [socket de boîte de réception](/docs/fr/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporte le chemin de cette socket aux crochets et aux commandes Bash lorsqu'il lie la socket. Dans une session qui démarre avec la messagerie activée, Claude Code lie la socket avant l'exécution de tout crochet. Les autres sessions sur la machine livrent les messages à ce chemin. Chaque session exporte sa propre socket plutôt qu'une héritée d'un parent, et les messages arrivant sur elle passent par les [contrôles entrants](/docs/fr/cross-session-messaging#control-inbound-messages) de la session. Les blocs `env` des paramètres ne peuvent pas le définir. Nécessite Claude Code v2.1.224 ou ultérieur |

321| `CLAUDE_CODE_NATIVE_CURSOR` | Définissez à `1` pour afficher le curseur propre du terminal à la position du curseur d'entrée au lieu d'un bloc dessiné. Le curseur respecte les paramètres de clignotement, de forme et de focus du terminal |325| `CLAUDE_CODE_MESSAGING_TOKEN` | Défini par Claude Code, pas par vous : dans les sessions qui lient une [socket de boîte de réception](/docs/fr/cross-session-messaging#the-sessions-inbox-socket), Claude Code exporte ce jeton par session aux crochets et aux commandes Bash aux côtés de `CLAUDE_CODE_MESSAGING_SOCKET`. Un script affichant sur la socket peut envoyer `{"type":"auth","token":"<token>"}` comme sa première ligne pour prouver qu'il appartient à la session. Sur Windows natif, Claude Code exige cette ligne et ferme toute connexion qui ne s'ouvre pas avec une ligne valide. Les [règles propres-enfant](/docs/fr/cross-session-messaging#the-sessions-inbox-socket) disent quand Claude Code consulte le jeton. Chaque session exporte son propre jeton, jamais un hérité d'une session parent. Les blocs `env` des paramètres ne peuvent pas le définir. Nécessite Claude Code v2.1.228 ou ultérieur |

322| `CLAUDE_CODE_NEW_INIT` | Définissez à `1` pour faire exécuter `/init` un flux de configuration interactif. Le flux demande quels fichiers générer, y compris CLAUDE.md, les compétences et les hooks, avant d'explorer la base de code et de les écrire. Sans cette variable, `/init` génère un CLAUDE.md automatiquement sans demander |326| `CLAUDE_CODE_NATIVE_CURSOR` | Définissez sur `1` pour afficher le curseur propre du terminal à la position du curseur d'insertion au lieu d'un bloc dessiné. Le curseur respecte les paramètres de clignotement, de forme et de focus du terminal |

323| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Définissez à `1` pour écrire la sortie du terminal via un deuxième descripteur de fichier non-bloquant, afin qu'un terminal qui arrête la lecture, comme un volet tmux en mode contrôle en pause ou une connexion SSH bloquée, ne puisse pas geler Claude Code en milieu de session. S'applique sur macOS, Linux et WSL lorsque stdout est un terminal. Nécessite Claude Code v2.1.261 ou ultérieur |327| `CLAUDE_CODE_NEW_INIT` | Définissez sur `1` pour faire en sorte que `/init` exécute un flux de configuration interactif. Le flux demande quels fichiers générer, y compris CLAUDE.md, les compétences et les crochets, avant d'explorer la base de code et de les écrire. Sans cette variable, `/init` génère un CLAUDE.md automatiquement sans demander |

324| `CLAUDE_CODE_NO_FLICKER` | Définissez à `1` pour activer le [rendu plein écran](/docs/fr/fullscreen), un aperçu de recherche qui réduit le scintillement et garde la mémoire plate dans les longues conversations. Remplace le paramètre [`tui`](/docs/fr/settings-reference#tui) ; vous pouvez également basculer avec `/tui fullscreen` |328| `CLAUDE_CODE_NONBLOCKING_STDOUT` | Définissez sur `1` pour écrire la sortie du terminal via un deuxième descripteur de fichier non bloquant, afin qu'un terminal qui arrête la lecture, comme un volet en mode contrôle tmux en pause ou une connexion SSH bloquée, ne puisse pas geler Claude Code au milieu d'une session. S'applique sur macOS, Linux et WSL lorsque stdout est un terminal. Nécessite Claude Code v2.1.261 ou ultérieur |

329| `CLAUDE_CODE_NO_FLICKER` | Définissez sur `1` pour activer le [rendu plein écran](/docs/fr/fullscreen), un aperçu de recherche qui réduit le scintillement et maintient la mémoire plate dans les longues conversations. Remplace le paramètre [`tui`](/docs/fr/settings-reference#tui) ; vous pouvez également basculer avec `/tui fullscreen` |

325| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Jeton d'actualisation OAuth pour l'authentification Claude.ai. Lorsqu'il est défini, `claude auth login` échange ce jeton directement au lieu d'ouvrir un navigateur. Nécessite `CLAUDE_CODE_OAUTH_SCOPES`. Utile pour provisionner l'authentification dans les environnements automatisés |330| `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` | Jeton d'actualisation OAuth pour l'authentification Claude.ai. Lorsqu'il est défini, `claude auth login` échange ce jeton directement au lieu d'ouvrir un navigateur. Nécessite `CLAUDE_CODE_OAUTH_SCOPES`. Utile pour provisionner l'authentification dans les environnements automatisés |

326| `CLAUDE_CODE_OAUTH_SCOPES` | Portées OAuth séparées par des espaces avec lesquelles le jeton d'actualisation a été émis, comme `"user:profile user:inference user:sessions:claude_code"`. Requis lorsque `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` est défini |331| `CLAUDE_CODE_OAUTH_SCOPES` | Portées OAuth séparées par des espaces avec lesquelles le jeton d'actualisation a été émis, comme `"user:profile user:inference user:sessions:claude_code"`. Requis lorsque `CLAUDE_CODE_OAUTH_REFRESH_TOKEN` est défini |

327| `CLAUDE_CODE_OAUTH_TOKEN` | Jeton d'accès OAuth pour l'authentification claude.ai. Alternative à `/login` pour le SDK et les environnements automatisés. A la priorité sur les identifiants stockés dans le trousseau. Générez-en un avec [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token). À moins que vous n'exécutiez [`/login`](/docs/fr/authentication#authentication-precedence), Claude Code utilise le jeton que vous définissez pour la session entière. Pour remplacer un jeton expiré, générez-en un nouveau et redémarrez |332| `CLAUDE_CODE_OAUTH_TOKEN` | Jeton d'accès OAuth pour l'authentification claude.ai. Alternative à `/login` pour le SDK et les environnements automatisés. Prend la priorité sur les identifiants stockés dans le trousseau. Générez-en un avec [`claude setup-token`](/docs/fr/authentication#generate-a-long-lived-token). À moins que vous n'exécutiez [`/login`](/docs/fr/authentication#authentication-precedence), Claude Code utilise le jeton que vous définissez pour la session entière. Pour remplacer un jeton expiré, générez-en un nouveau et redémarrez |

328| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Supprimé dans v2.1.160 et maintenant un no-op. Auparavant, épinglait le [mode rapide](/docs/fr/fast-mode) à Claude Opus 4.6 au lieu de la valeur par défaut actuelle. Opus 4.6 ne supporte plus le mode rapide |333| `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE` | Supprimé dans v2.1.160 et maintenant un no-op. Auparavant, épinglait le [mode rapide](/docs/fr/fast-mode) à Claude Opus 4.6 au lieu de la valeur par défaut actuelle. Opus 4.6 ne supporte plus le mode rapide |

329| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Longueur maximale des attributs OpenTelemetry porteurs de contenu (réponses du modèle, contenu d'outil, prompts système, corps API bruts), marqueur de troncature inclus, en unités de code UTF-16 (par défaut : 61440, c.-à-d. 60 Ko). Augmentez-le uniquement si votre backend de télémétrie accepte les valeurs d'attribut supérieures à 64 Ko, ou abaissez-le pour réduire le volume de télémétrie. Nécessite Claude Code v2.1.214 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage) |334| `CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH` | Longueur maximale des attributs OpenTelemetry porteurs de contenu (réponses du modèle, contenu de l'outil, prompts système, corps API bruts), marqueur de troncature inclus, en unités de code UTF-16 (par défaut : 61440, c'est-à-dire 60 Ko). Augmentez-le uniquement si votre backend de télémétrie accepte les valeurs d'attribut supérieures à 64 Ko, ou abaissez-le pour réduire le volume de télémétrie. Nécessite Claude Code v2.1.214 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage) |

330| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Définissez à `1` pour écrire les erreurs de diagnostic de l'exportateur OpenTelemetry sur stderr. Par défaut, ces erreurs n'apparaissent que avec `--debug`, afin qu'un exportateur mal configuré comme une collision de port Prometheus échoue silencieusement autrement. Nécessite Claude Code v2.1.179 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage) |335| `CLAUDE_CODE_OTEL_DIAG_STDERR` | Définissez sur `1` pour écrire les erreurs de diagnostic de l'exportateur OpenTelemetry sur stderr. Par défaut, ces erreurs n'apparaissent que avec `--debug`, afin qu'un exportateur mal configuré comme une collision de port Prometheus échoue silencieusement sinon. Nécessite Claude Code v2.1.179 ou ultérieur. Voir [Surveillance](/docs/fr/monitoring-usage) |

331| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour vider les spans OpenTelemetry en attente (par défaut : 5000). Voir [Surveillance](/docs/fr/monitoring-usage) |336| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour vider les spans OpenTelemetry en attente (par défaut : 5000). Voir [Surveillance](/docs/fr/monitoring-usage) |

332| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle pour actualiser les en-têtes OpenTelemetry dynamiques en millisecondes (par défaut : 1740000 / 29 minutes). Voir [En-têtes dynamiques](/docs/fr/monitoring-usage#dynamic-headers) |337| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle pour actualiser les en-têtes OpenTelemetry dynamiques en millisecondes (par défaut : 1740000 / 29 minutes). Voir [En-têtes dynamiques](/docs/fr/monitoring-usage#dynamic-headers) |

333| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Délai d'expiration en millisecondes pour que l'exportateur OpenTelemetry se termine à l'arrêt (par défaut : 2000). Augmentez si les métriques sont supprimées à la sortie. Voir [Surveillance](/docs/fr/monitoring-usage) |338| `CLAUDE_CODE_OTEL_SHUTDOWN_TIMEOUT_MS` | Délai d'expiration en millisecondes pour que l'exportateur OpenTelemetry se termine à l'arrêt (par défaut : 2000). Augmentez si les métriques sont supprimées à la sortie. Voir [Surveillance](/docs/fr/monitoring-usage) |

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

335| `CLAUDE_CODE_PERFORCE_MODE` | Définissez à `1` pour activer la protection en écriture consciente de Perforce. Lorsqu'elle est définie, Edit, Write et NotebookEdit échouent avec un indice `p4 edit <file>` si le fichier cible manque le bit d'écriture du propriétaire, que Perforce efface sur les fichiers synchronisés jusqu'à ce que `p4 edit` les ouvre. Cela empêche Claude Code de contourner le suivi des modifications de Perforce |340| `CLAUDE_CODE_PERFORCE_MODE` | Définissez sur `1` pour activer la protection en écriture consciente de Perforce. Lorsqu'elle est définie, Edit, Write et NotebookEdit échouent avec un indice `p4 edit <file>` si le fichier cible manque le bit d'écriture du propriétaire, que Perforce efface sur les fichiers synchronisés jusqu'à ce que `p4 edit` les ouvre. Cela empêche Claude Code de contourner le suivi des modifications de Perforce |

336| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Remplacez le répertoire racine des plugins. Malgré le nom, cela définit le répertoire parent, pas le cache lui-même : les places de marché et le cache des plugins vivent dans des sous-répertoires sous ce chemin. Par défaut `~/.claude/plugins` |341| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Remplacez le répertoire racine des plugins. Malgré le nom, cela définit le répertoire parent, pas le cache lui-même : les places de marché et le cache des plugins vivent dans les sous-répertoires sous ce chemin. Par défaut `~/.claude/plugins` |

337| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Délai d'expiration en millisecondes pour les opérations git lors de l'installation ou de la mise à jour des plugins (par défaut : 120000). Augmentez cette valeur pour les grands référentiels ou les connexions réseau lentes. Voir [Les opérations Git expirent](/docs/fr/plugin-marketplaces#git-operations-time-out) |342| `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS` | Délai d'expiration en millisecondes pour les opérations git lors de l'installation ou de la mise à jour des plugins (par défaut : 120000). Augmentez cette valeur pour les grands référentiels ou les connexions réseau lentes. Voir [Les opérations Git expirent](/docs/fr/plugin-marketplaces#git-operations-time-out) |

338| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Définissez à `1` pour ignorer la tentative de re-clonage et continuer à utiliser le cache de place de marché existant lorsqu'un `git pull` échoue. Utile dans les environnements hors ligne ou isolés où le re-clonage échouerait de la même manière. Voir [Les mises à jour de place de marché échouent dans les environnements hors ligne](/docs/fr/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |343| `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE` | Définissez sur `1` pour ignorer la tentative de re-clonage et continuer à utiliser le checkout de place de marché existant lorsqu'une actualisation de place de marché ne peut pas atteindre ou s'authentifier auprès du distant. Utile dans les environnements hors ligne ou isolés où le re-clonage échouerait de la même manière. Voir [Les mises à jour de la place de marché échouent dans les environnements hors ligne](/docs/fr/plugin-marketplaces#marketplace-updates-fail-in-offline-environments) |

339| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Définissez à `1` pour cloner les sources de raccourci GitHub `owner/repo` sur HTTPS au lieu de SSH. S'applique à l'installation et à la mise à jour des plugins, et à `/plugin marketplace add` et `update`. Utile dans les exécuteurs CI, les conteneurs ou tout environnement sans clé SSH configurée pour `github.com` |344| `CLAUDE_CODE_PLUGIN_PREFER_HTTPS` | Définissez sur `1` pour cloner les sources de raccourci GitHub `owner/repo` sur HTTPS au lieu de SSH. S'applique à l'installation et à la mise à jour des plugins, et à `/plugin marketplace add` et `update`. Utile dans les exécuteurs CI, les conteneurs ou tout environnement sans clé SSH configurée pour `github.com` |

340| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Chemin d'accès à un ou plusieurs répertoires de semences de plugins en lecture seule, séparés par `:` sur Unix ou `;` sur Windows. Utilisez ceci pour regrouper un répertoire de plugins pré-rempli dans une image de conteneur. Claude Code enregistre les places de marché à partir de ces répertoires au démarrage et utilise les plugins pré-cachés sans re-clonage. Voir [Pré-remplir les plugins pour les conteneurs](/docs/fr/plugin-marketplaces#pre-populate-plugins-for-containers) |345| `CLAUDE_CODE_PLUGIN_SEED_DIR` | Chemin d'accès à un ou plusieurs répertoires de graines de plugins en lecture seule, séparés par `:` sur Unix ou `;` sur Windows. Utilisez ceci pour regrouper un répertoire de plugins pré-rempli dans une image de conteneur. Claude Code enregistre les places de marché à partir de ces répertoires au démarrage et utilise les plugins pré-cachés sans re-clonage. Voir [Pré-remplir les plugins pour les conteneurs](/docs/fr/plugin-marketplaces#pre-populate-plugins-for-containers) |

341| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Définissez à `1` pour empêcher Claude Code de transmettre `-ExecutionPolicy Bypass` lors du lancement de PowerShell pour les appels d'outils, les hooks et les commandes de status line, et respecter la politique d'exécution effective de la machine à la place. Par défaut, Claude Code contourne la politique d'exécution à la portée du processus afin que les scripts `.ps1` et les importations de modules fonctionnent sur les installations Windows par défaut-Restricted. Le contournement à la portée du processus ne remplace jamais la `MachinePolicy` ou `UserPolicy` de Group Policy quel que soit ce paramètre |346| `CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY` | Définissez sur `1` pour empêcher Claude Code de transmettre `-ExecutionPolicy Bypass` lors du lancement de PowerShell pour les appels d'outils, les crochets et les commandes de ligne d'état, et respecter la politique d'exécution effective de la machine à la place. Par défaut, Claude Code contourne la politique d'exécution à la portée du processus afin que les scripts `.ps1` et les importations de modules fonctionnent sur les installations Windows par défaut-Restricted. Le contournement à la portée du processus ne remplace jamais la `MachinePolicy` ou `UserPolicy` de la stratégie de groupe quel que soit ce paramètre |

342| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Plafond en millisecondes sur l'attente inactive pour les sous-agents et workflows d'arrière-plan après le tour final en [mode non interactif](/docs/fr/headless#background-tasks-at-exit) avec le drapeau `-p`. L'attente inactive recommence chaque fois que Claude prend un tour pour gérer un résultat d'arrière-plan. Par défaut : `600000`, ou 10 minutes. Lorsque l'attente inactive atteint le plafond, Claude Code cesse d'attendre les tâches d'arrière-plan restantes et quitte. Définissez à `0` pour attendre indéfiniment. Ce plafond est séparé de la période de grâce de cinq secondes qui s'applique aux shells d'arrière-plan simples. Nécessite Claude Code v2.1.182 ou ultérieur |347| `CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS` | Plafond en millisecondes sur l'attente inactive pour les sous-agents d'arrière-plan et les flux de travail après le tour final en [mode non interactif](/docs/fr/headless#background-tasks-at-exit) avec le drapeau `-p`. L'attente inactive recommence chaque fois que Claude prend un tour pour gérer un résultat d'arrière-plan. Par défaut : `600000`, ou 10 minutes. Lorsque l'attente inactive atteint le plafond, Claude Code arrête d'attendre les tâches d'arrière-plan restantes et quitte. Définissez sur `0` pour attendre indéfiniment. Ce plafond est séparé de la période de grâce de cinq secondes qui s'applique aux shells d'arrière-plan simples. Nécessite Claude Code v2.1.182 ou ultérieur |

343| `CLAUDE_CODE_PROCESS_WRAPPER` | Lancez les processus que Claude Code démarre à partir de son propre binaire, comme le service d'arrière-plan qui héberge les sessions de [vue agent](/docs/fr/agent-view), via un lanceur d'entreprise donné en tant que préfixe argv comme `/opt/corp/launcher`. Définissez-le dans le bloc `env` des paramètres utilisateur ou [gérés](/docs/fr/managed-settings), pas en tant qu'export shell, afin que le service d'arrière-plan détaché l'hérite ; les paramètres de projet et locaux ne peuvent pas le définir. Équivalent au paramètre [`processWrapper`](/docs/fr/settings-reference#processwrapper), qui nécessite Claude Code v2.1.210 ou ultérieur ; cette variable a la priorité lorsque les deux sont définis. L'extension VS Code configure son propre lanceur séparément via son paramètre `claudeProcessWrapper`. Ignoré sur Windows. Voir [Exécuter Claude Code derrière un lanceur d'entreprise](/docs/fr/corporate-launcher) pour le format de valeur, ce que le lanceur couvre et le contrat que le lanceur doit satisfaire. Nécessite Claude Code v2.1.208 ou ultérieur |348| `CLAUDE_CODE_PROCESS_WRAPPER` | Lancez les processus que Claude Code démarre à partir de son propre binaire, comme le service d'arrière-plan qui héberge les sessions de [vue agent](/docs/fr/agent-view), via un lanceur d'entreprise donné en tant que préfixe argv comme `/opt/corp/launcher`. Définissez-le dans le bloc `env` des paramètres utilisateur ou [gérés](/docs/fr/managed-settings), pas en tant qu'export shell, afin que le service d'arrière-plan détaché l'hérite ; les paramètres de projet et locaux ne peuvent pas le définir. Équivalent au paramètre [`processWrapper`](/docs/fr/settings-reference#processwrapper), qui nécessite Claude Code v2.1.210 ou ultérieur ; cette variable prend la priorité lorsque les deux sont définis. L'extension VS Code configure son propre lanceur séparément via son paramètre `claudeProcessWrapper`. Ignoré sur Windows. Voir [Exécuter Claude Code derrière un lanceur d'entreprise](/docs/fr/corporate-launcher) pour le format de valeur, ce que le lanceur couvre et le contrat que le lanceur doit satisfaire. Nécessite Claude Code v2.1.208 ou ultérieur |

344| `CLAUDE_CODE_PROJECT_DIR_NAME` | Défini 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` du fichier de 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 |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 |

345| `CLAUDE_CODE_PROMPT_CACHE_TTL` | Définissez `5m` ou `1h`, les seules valeurs que Claude Code accepte, pour choisir la [TTL du cache du prompt](/docs/fr/prompt-caching#cache-lifetime) pour la conversation principale : vos tours interactifs, `-p` et SDK, plus les aides qui s'exécutent en ligne avec eux. A la priorité sur le paramètre `promptCacheTtl` et sur `ENABLE_PROMPT_CACHING_1H`, et `FORCE_PROMPT_CACHING_5M` le remplace. Les écritures du cache d'une heure sont facturées à un taux plus élevé. Nécessite Claude Code v2.1.242 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 |

346| `CLAUDE_CODE_PROPAGATE_TRACEPARENT` | Définissez à `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) |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) |

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

348| `CLAUDE_CODE_PROXY_RESOLVES_HOSTS` | Définissez à `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 |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 |

349| `CLAUDE_CODE_REMOTE` | Défini automatiquement à `true` lorsque Claude Code s'exécute en tant que [session cloud](/docs/fr/claude-code-on-the-web). Lisez ceci à partir d'un hook ou d'un script de configuration pour détecter si vous êtes dans une session cloud |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 |

350| `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) |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) |

351| `CLAUDE_CODE_RESTRICTED` | Définissez à `1` pour démarrer la session en mode restreint, identique à transmettre [`--restricted`](/docs/fr/cli-reference#cli-flags). Claude Code ignore cette variable dans le bloc `env` d'un fichier de paramètres. Nécessite Claude Code v2.1.248 ou ultérieur |356| `CLAUDE_CODE_RESTRICTED` | Définissez sur `1` pour démarrer la session en mode restreint, identique à la transmission de [`--restricted`](/docs/fr/cli-reference#cli-flags). Claude Code ignore cette variable dans le bloc `env` d'un fichier de paramètres. Nécessite Claude Code v2.1.248 ou ultérieur |

352| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Définissez à `1` pour reprendre automatiquement si la session précédente s'est terminée en milieu de tour. Utilisé en mode SDK afin que le modèle continue sans que le SDK ait besoin de renvoyer le prompt. Pour désactiver ceci, supprimez la variable ou définissez-la à `0`. Avant v2.1.221, Claude Code ignorait `0` et les autres valeurs falsy, afin que définir `0` déclenchait toujours la reprise en mode non interactif et supprimer la variable était le seul moyen de la désactiver |357| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Définissez sur `1` pour reprendre automatiquement si la session précédente s'est terminée au milieu d'un tour. Utilisé en mode SDK afin que le modèle continue sans exiger que le SDK renvoie le prompt. Pour désactiver ceci, désactivez la variable ou définissez-la sur `0`. Avant v2.1.221, Claude Code ignorait `0` et les autres valeurs fausses, afin que la définition de `0` déclenchait toujours la reprise en mode non interactif et la désactivation de la variable était le seul moyen de la désactiver |

353| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Âge maximum en millisecondes du dernier message de transcription pour qu'une session qui s'est terminée en milieu de tour continue automatiquement à la reprise. Lorsque le dernier message est plus ancien que cette limite, Claude Code ignore à la fois la reprise automatique `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` et le message de continuation injecté `CLAUDE_CODE_RESUME_PROMPT`, et la session démarre inactive afin que vous continuiez explicitement. Non défini ou `0` signifie aucune limite ; une valeur négative ou non numérique applique une limite d'une heure. Les scripts de génération pour les agents longue durée peuvent définir ceci afin qu'un redémarrage contre une ancienne transcription ne réexécute pas un prompt obsolète. Claude Code définit lui-même une limite d'une heure lorsqu'il redémarre une session de [vue agent](/docs/fr/agent-view) qui a hérité sa conversation d'une session interactive. Nécessite Claude Code v2.1.211 ou ultérieur |358| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN_MAX_AGE_MS` | Âge maximum en millisecondes du dernier message de transcription pour qu'une session qui s'est terminée au milieu d'un tour continue automatiquement à la reprise. Lorsque le dernier message est plus ancien que cette limite, Claude Code ignore à la fois la reprise automatique `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` et le message de continuation injecté `CLAUDE_CODE_RESUME_PROMPT`, et la session démarre inactive afin que vous continuiez explicitement. Non défini ou `0` signifie aucune limite, sauf qu'un tour dont la dernière requête a échoué avec une erreur API reprend uniquement tandis que cette erreur a moins de six heures. Une valeur positive limite chaque tour, y compris ceux-ci ; une valeur négative ou non numérique applique une limite d'une heure. Les scripts de génération pour les agents de longue durée peuvent définir ceci afin qu'un redémarrage contre une transcription ancienne ne réexécute pas un prompt obsolète. Claude Code définit lui-même une limite d'une heure lorsqu'il redémarre une session de [vue agent](/docs/fr/agent-view) qui a échoué et qui a hérité sa conversation d'une session interactive. Nécessite Claude Code v2.1.211 ou ultérieur |

354| `CLAUDE_CODE_RESUME_PROMPT` | Remplacez le message de continuation injecté lors de la reprise d'une session qui s'est terminée en milieu de tour. Par défaut `Continue from where you left off.`. Les scripts de génération pour les agents longue durée peuvent définir ceci sur un message de démarrage plus directif. Une chaîne vide utilise la valeur par défaut |359| `CLAUDE_CODE_RESUME_PROMPT` | Remplacez le message de continuation injecté lors de la reprise d'une session qui s'est terminée au milieu d'un tour. Par défaut `Continue from where you left off.`. Les scripts de génération pour les agents de longue durée peuvent définir ceci sur un message de démarrage plus directif. Une chaîne vide utilise la valeur par défaut |

355| `CLAUDE_CODE_RETRY_WATCHDOG` | Définissez à `1` pour les sessions sans surveillance telles que les harnais d'évaluation, les travaux CI ou les travailleurs distants. Réessaye les erreurs de capacité `429` et `529` indéfiniment au lieu d'échouer après `CLAUDE_CODE_MAX_RETRIES` tentatives. Claude Code échoue immédiatement sur un `429` qui signale une limite de dépenses ou des crédits d'utilisation épuisés, même un de la [limite de dépenses de passerelle](/docs/fr/errors#spend-limit-reached) qui se réinitialise selon un calendrier. Avant v2.1.239, le chien de garde réessayait ces indéfiniment. Le chien de garde recule jusqu'à 5 minutes entre les tentatives, ou jusqu'à ce que la limite se réinitialise lorsque la réponse porte un temps de réinitialisation du taux limite, afin qu'une session qui atteint une limite d'utilisation attende la fenêtre restante. Sur v2.1.199 ou ultérieur, il augmente également le nombre de tentatives par défaut pour les autres erreurs transitoires, telles que les erreurs serveur, les délais d'expiration et les connexions supprimées, à 300, environ trois heures de recul, et supprime le plafond de 15 sur `CLAUDE_CODE_MAX_RETRIES` si vous définissez cette variable explicitement. Nécessite Claude Code v2.1.186 ou ultérieur |360| `CLAUDE_CODE_RETRY_WATCHDOG` | Définissez sur `1` pour les sessions sans surveillance telles que les harnais d'évaluation, les travaux CI ou les travailleurs distants. Réessaye les erreurs de capacité `429` et `529` indéfiniment au lieu d'échouer après `CLAUDE_CODE_MAX_RETRIES` tentatives. Claude Code échoue immédiatement lorsqu'une requête à vitesse standard reçoit un `429` qui signale une limite de dépenses ou des crédits d'utilisation épuisés, même un de la [limite de dépenses de la passerelle](/docs/fr/errors#spend-limit-reached) qui se réinitialise selon un calendrier. Avant v2.1.239, le chien de garde réessayait ceux-ci indéfiniment. Pour les requêtes en mode rapide, voir [Gérer les limites de débit](/docs/fr/fast-mode#handle-rate-limits). Le chien de garde recule jusqu'à 5 minutes entre les tentatives, ou jusqu'à ce que la limite se réinitialise lorsque la réponse porte un temps de réinitialisation de limite de débit, afin qu'une session qui atteint une limite d'utilisation attende la fenêtre restante. Sur v2.1.199 ou ultérieur, il augmente également le nombre de tentatives par défaut pour les autres erreurs transitoires, telles que les erreurs de serveur, les délais d'expiration et les connexions abandonnées, à 300, environ trois heures de recul, et supprime le plafond de 15 sur `CLAUDE_CODE_MAX_RETRIES` si vous définissez cette variable explicitement. Nécessite Claude Code v2.1.186 ou ultérieur |

356| `CLAUDE_CODE_SAFE_MODE` | Définissez à `1` pour démarrer en mode sûr : CLAUDE.md, les compétences, les plugins, les hooks, les serveurs MCP, les commandes et agents personnalisés, les styles de sortie, les workflows, les thèmes personnalisés, les liaisons de clés personnalisées, les commandes de status line et de suggestion de fichier, les serveurs LSP et la mémoire automatique ne se chargent pas, pour dépanner une configuration cassée. La politique des paramètres gérés s'applique toujours, y compris les hooks configurés par la politique, la status line et les commandes de suggestion de fichier ; les plugins gérés, les compétences gérées, le CLAUDE.md géré et les serveurs MCP configurés par la politique ne le font pas. Équivalent à transmettre [`--safe-mode`](/docs/fr/cli-reference#cli-flags). Les processus enfants directement générés héritent de la variable |361| `CLAUDE_CODE_SAFE_MODE` | Définissez sur `1` pour démarrer en mode sûr : CLAUDE.md, les compétences, les plugins, les crochets, les serveurs MCP, les commandes et agents personnalisés, les styles de sortie, les flux de travail, les thèmes personnalisés, les liaisons de clés personnalisées, les commandes de ligne d'état et de suggestion de fichier, les serveurs LSP et la mémoire automatique ne se chargent pas, pour dépanner une configuration cassée. La politique des paramètres gérés s'applique toujours, y compris les crochets configurés par la politique, la ligne d'état et les commandes de suggestion de fichier ; les plugins gérés, les compétences gérées, le CLAUDE.md géré et les serveurs MCP configurés par la politique ne le font pas. Équivalent à la transmission de [`--safe-mode`](/docs/fr/cli-reference#cli-flags). Les processus enfants directement générés héritent de la variable |

357| `CLAUDE_CODE_SCRIPT_CAPS` | Objet JSON limitant le nombre de fois que des scripts spécifiques peuvent être invoqués par session lorsque `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` est défini. Les clés sont des sous-chaînes mises en correspondance avec le texte de la commande ; les valeurs sont des limites d'appel entières. Par exemple, `{"deploy.sh": 2}` permet à `deploy.sh` d'être appelé au maximum deux fois. La correspondance est basée sur des sous-chaînes afin que les astuces d'expansion shell comme `./scripts/deploy.sh $(evil)` comptent toujours contre le plafond. Le fan-out d'exécution via `xargs` ou `find -exec` n'est pas détecté ; c'est un contrôle de défense en profondeur |362| `CLAUDE_CODE_SCRIPT_CAPS` | Objet JSON limitant le nombre de fois que des scripts spécifiques peuvent être invoqués par session lorsque `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` est défini. Les clés sont des sous-chaînes mises en correspondance avec le texte de la commande ; les valeurs sont des limites d'appel entières. Par exemple, `{"deploy.sh": 2}` permet à `deploy.sh` d'être appelé au maximum deux fois. La correspondance est basée sur des sous-chaînes afin que les astuces d'expansion shell comme `./scripts/deploy.sh $(evil)` comptent toujours contre le plafond. Le fan-out d'exécution via `xargs` ou `find -exec` n'est pas détecté ; c'est un contrôle de défense en profondeur |

358| `CLAUDE_CODE_SCROLL_SPEED` | Définissez le multiplicateur de vitesse de défilement de la molette de la souris en [rendu plein écran](/docs/fr/fullscreen#mouse-wheel-scrolling). Accepte n'importe quelle valeur positive jusqu'à 20, y compris les valeurs fractionnaires inférieures à 1 comme `0.5` pour ralentir le défilement accéléré du trackpad et de la molette dans les terminaux qui amplifient déjà les événements de molette. Définissez à `3` pour correspondre à `vim` si votre terminal envoie un événement de molette par cran sans amplification. Ignoré dans le terminal IDE JetBrains, où Claude Code utilise sa propre gestion du défilement |363| `CLAUDE_CODE_SCROLL_SPEED` | Définissez le multiplicateur de défilement à la molette de la souris en [rendu plein écran](/docs/fr/fullscreen#mouse-wheel-scrolling). Accepte n'importe quelle valeur positive jusqu'à 20, y compris les valeurs fractionnaires inférieures à 1 comme `0.5` pour ralentir le défilement accéléré du pavé tactile et de la molette dans les terminaux qui amplifient déjà les événements de molette. Définissez sur `3` pour correspondre à `vim` si votre terminal envoie un événement de molette par cran sans amplification. Ignoré dans le terminal IDE JetBrains, où Claude Code utilise sa propre gestion du défilement |

359| `CLAUDE_CODE_SEND_FEEDBACK` | Définissez à `0` pour désactiver les [retours d'information rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior) pour une session. Définissez à `1` pour l'activer où votre compte a déjà accès ; la variable ne peut pas accorder l'accès elle-même, et les autres commutateurs qui désactivent les retours d'information, tels que `DISABLE_FEEDBACK_COMMAND` et la valeur `off` du paramètre [`feedbackDrafts`](/docs/fr/settings-reference#feedbackdrafts), s'appliquent toujours |364| `CLAUDE_CODE_SEND_FEEDBACK` | Définissez sur `0` pour désactiver les [commentaires rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior) pour une session. Définissez sur `1` pour l'activer où votre compte a déjà accès ; la variable ne peut pas accorder l'accès elle-même, et les autres commutateurs qui désactivent les commentaires, comme `DISABLE_FEEDBACK_COMMAND` et la valeur `off` du paramètre [`feedbackDrafts`](/docs/fr/settings-reference#feedbackdrafts), s'appliquent toujours |

360| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Remplacez le budget de temps en millisecondes pour les hooks [SessionEnd](/docs/fr/hooks#sessionend). S'applique à la sortie de session, `/clear` et au changement de sessions via `/resume` interactif. Par défaut, le budget est de 1,5 secondes, augmenté automatiquement au plus haut `timeout` par hook configuré dans les fichiers de paramètres, jusqu'à 60 secondes. Les délais d'expiration sur les hooks fournis par les plugins ne augmentent pas le budget |365| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Remplacez le budget de temps en millisecondes pour les crochets [SessionEnd](/docs/fr/hooks#sessionend). La valeur est également le délai d'expiration pour chaque crochet qui ne définit pas son propre `timeout`. S'applique à la sortie de session, `/clear` et au changement de session via `/resume` interactif. Par défaut, le budget est de 1,5 secondes, augmenté automatiquement au plus haut `timeout` par crochet configuré dans les fichiers de paramètres, jusqu'à 60 secondes. Les délais d'expiration sur les crochets fournis par les plugins ne relèvent pas du budget |

361| `CLAUDE_CODE_SESSION_ID` | Défini automatiquement à l'ID de session actuelle dans les sous-processus de l'outil Bash et PowerShell, les sous-processus de la [commande hook](/docs/fr/hooks) et les sous-processus du [serveur MCP](/docs/fr/mcp) stdio. Pour Bash, PowerShell et les hooks, cela correspond au champ `session_id` dans l'entrée JSON du hook et est mis à jour sur `/clear`. Un sous-processus du serveur MCP conserve l'ID avec lequel il a été généré. Sur `--resume <session-id>`, il reçoit l'ID repris. Sur `--continue` ou `--resume` sans ID explicite, il peut recevoir l'ID de démarrage initial à la place. Utilisez pour corréler les scripts et les outils externes avec la session Claude Code qui les a lancés |366| `CLAUDE_CODE_SESSION_ID` | Défini automatiquement à l'ID de session actuelle dans les sous-processus de l'outil Bash et PowerShell, les sous-processus de la [commande hook](/docs/fr/hooks) et les sous-processus du serveur [MCP](/docs/fr/mcp) stdio. Pour Bash, PowerShell et les crochets, cela correspond au champ `session_id` dans l'entrée JSON du crochet et est mis à jour sur `/clear`. Un sous-processus du serveur MCP conserve l'ID avec lequel il a été généré. Sur `--resume <session-id>`, il reçoit l'ID repris, correspondant aux crochets et à Bash. Sur `--continue` ou `--resume` sans ID explicite, il peut recevoir l'ID de démarrage initial à la place. Utilisez pour corréler les scripts et les outils externes avec la session Claude Code qui les a lancés |

362| `CLAUDE_CODE_SHELL` | Définissez le shell que Claude Code utilise pour exécuter les commandes de l'outil Bash. Accepte un chemin vers un binaire `bash` ou `zsh`, par exemple `/opt/homebrew/bin/bash`. Les autres shells comme `fish` ne sont pas supportés. Si la valeur n'est pas un chemin `bash` ou `zsh` fonctionnant, Claude Code l'ignore et revient à la détection automatique. La détection automatique utilise votre `$SHELL` lorsqu'il pointe vers `bash` ou `zsh`, sinon elle choisit le premier `zsh` fonctionnant puis `bash` trouvé sur votre `PATH` et les emplacements d'installation standard |367| `CLAUDE_CODE_SHELL` | Définissez le shell que Claude Code utilise pour exécuter les commandes de l'outil Bash. Accepte un chemin d'accès à un binaire `bash` ou `zsh`, par exemple `/opt/homebrew/bin/bash`. Les autres shells comme `fish` ne sont pas pris en charge. Si la valeur n'est pas un chemin `bash` ou `zsh` fonctionnant, Claude Code l'ignore et revient à la détection automatique. La détection automatique utilise votre `$SHELL` lorsqu'il pointe vers `bash` ou `zsh`, sinon il choisit le premier `zsh` fonctionnant puis `bash` trouvé sur votre `PATH` et les emplacements d'installation standard |

363| `CLAUDE_CODE_SHELL_PREFIX` | Préfixe de commande qui enveloppe les commandes shell que Claude Code génère : appels d'outil Bash, commandes [hook](/docs/fr/hooks), commandes [status line](/docs/fr/statusline) et commandes de démarrage du [serveur MCP](/docs/fr/mcp) stdio. Les hooks PowerShell et les hooks de forme exec s'exécutent sans le préfixe. Utile pour la journalisation ou l'audit. Définir un chemin d'exécutable nu comme `/path/to/logger.sh` exécute chaque commande comme `/path/to/logger.sh '<command>'`. Le wrapper reçoit la ligne de commande en tant qu'argument shell-quoted unique dans `$1`, afin que le wrapper doit réévaluer `$1` avec un shell, par exemple `exec bash -c "$1"`. Traiter `$1` comme un chemin d'exécutable nu casse les serveurs MCP stdio qui transmettent des arguments comme `npx -y <package>`. Pour les appels d'outil Bash, `$1` contient l'invocation shell complète que Claude Code assemble, y compris la configuration de l'environnement, pas seulement la commande que Claude a exécutée |368| `CLAUDE_CODE_SHELL_PREFIX` | Préfixe de commande qui enveloppe les commandes shell que Claude Code génère : les appels de l'outil Bash, les [commandes hook](/docs/fr/hooks), les [commandes de ligne d'état](/docs/fr/statusline) et les [commandes de démarrage du serveur MCP](/docs/fr/mcp) stdio. Les crochets PowerShell et les crochets de forme exec s'exécutent sans le préfixe. Utile pour la journalisation ou l'audit. Définir un chemin d'exécutable nu comme `/path/to/logger.sh` exécute chaque commande comme `/path/to/logger.sh '<command>'`. Le wrapper reçoit la ligne de commande en tant qu'argument shell unique entre guillemets dans `$1`, afin que le wrapper doit réévaluer `$1` avec un shell, par exemple `exec bash -c "$1"`. Traiter `$1` comme un chemin d'exécutable nu casse les serveurs MCP stdio qui transmettent des arguments comme `npx -y <package>`. Pour les appels de l'outil Bash, `$1` contient l'invocation shell complète que Claude Code assemble, y compris la configuration de l'environnement, pas seulement la commande que Claude a exécutée |

364| `CLAUDE_CODE_SIMPLE` | Définissez à `1` pour exécuter avec un prompt système minimal et uniquement les outils Bash, lecture de fichier et édition de fichier. Les outils MCP de `--mcp-config` sont toujours disponibles. Désactive la découverte automatique des hooks, compétences, commandes personnalisées, sous-agents, plugins, serveurs MCP, mémoire automatique et CLAUDE.md. Les compétences dans un répertoire que vous transmettez avec `--add-dir` se chargent toujours. Les jetons OAuth et les identifiants du trousseau ne sont pas lus, afin que l'authentification Anthropic doit provenir de `ANTHROPIC_API_KEY` ou d'un `apiKeyHelper` dans `--settings`. Équivalent à transmettre [`--bare`](/docs/fr/headless#start-faster-with-bare-mode) |369| `CLAUDE_CODE_SIMPLE` | Définissez sur `1` pour exécuter avec un prompt système minimal et uniquement les outils Bash, lecture de fichier et édition de fichier. Les outils MCP de `--mcp-config` sont toujours disponibles. Désactive la découverte automatique des crochets, des compétences, des commandes personnalisées, des sous-agents, des plugins, des serveurs MCP, de la mémoire automatique et de CLAUDE.md. Les compétences dans un répertoire que vous transmettez avec `--add-dir` se chargent toujours. Les jetons OAuth et les identifiants du trousseau ne sont pas lus, afin que l'authentification Anthropic doit provenir de `ANTHROPIC_API_KEY` ou d'un `apiKeyHelper` dans `--settings`. Équivalent à la transmission de [`--bare`](/docs/fr/headless#start-faster-with-bare-mode) |

365| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Définissez à `1` pour utiliser un prompt système plus court et des descriptions d'outils abrégées sur n'importe quel modèle. Définissez à `0`, `false`, `no` ou `off` pour refuser même sur les modèles où l'expérience ou la configuration du serveur l'activerait autrement. L'ensemble complet d'outils, les hooks, les serveurs MCP et la découverte CLAUDE.md restent activés |370| `CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT` | Définissez sur `1` pour utiliser un prompt système plus court et des descriptions d'outils abrégées sur n'importe quel modèle. Définissez sur `0`, `false`, `no` ou `off` pour refuser même sur les modèles où l'expérience ou la configuration du serveur l'activerait autrement. L'ensemble complet d'outils, la découverte des crochets, des serveurs MCP et de CLAUDE.md restent activés |

366| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Ignorez l'authentification côté client pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), pour les passerelles qui signent les requêtes elles-mêmes |371| `CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH` | Ignorer l'authentification côté client pour [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), pour les passerelles qui signent les requêtes elles-mêmes |

367| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Définissez à `1` pour désactiver le cache en processus des identifiants résolus à partir de la chaîne de fournisseur d'identifiants par défaut AWS, afin que Claude Code résout la chaîne à chaque requête API. Avec le cache désactivé, un profil soutenu par SSO demande des identifiants à IAM Identity Center à chaque requête. Voir [mise en cache des identifiants et délai d'expiration de la résolution](/docs/fr/amazon-bedrock#credential-caching-and-resolution-timeout). Nécessite Claude Code v2.1.207 ou ultérieur |372| `CLAUDE_CODE_SKIP_AWS_CRED_CACHE` | Définissez sur `1` pour désactiver le cache en processus des identifiants résolus à partir de la chaîne du fournisseur d'identifiants par défaut AWS, afin que Claude Code résout la chaîne à chaque requête API. Avec le cache désactivé, un profil soutenu par SSO demande des identifiants à IAM Identity Center à chaque requête. Voir [mise en cache des identifiants et délai d'expiration de la résolution](/docs/fr/amazon-bedrock#credential-caching-and-resolution-timeout). Nécessite Claude Code v2.1.207 ou ultérieur |

368| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Ignorez l'authentification AWS pour Amazon Bedrock (par exemple, lors de l'utilisation d'une passerelle LLM) |373| `CLAUDE_CODE_SKIP_BEDROCK_AUTH` | Ignorer l'authentification AWS pour Amazon Bedrock (par exemple, lors de l'utilisation d'une passerelle LLM) |

369| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Définissez à `1` pour traiter une vérification de disponibilité du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) échouée comme disponible, pour les réseaux qui bloquent la requête directe de la vérification vers `api.anthropic.com`. Claude Code honore toujours une réponse « désactivé par votre organisation » |374| `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` | Définissez sur `1` pour traiter une vérification de disponibilité du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) échouée comme disponible, pour les réseaux qui bloquent la requête directe de la vérification à `api.anthropic.com`. Claude Code honore toujours une réponse « disabled by your organization » |

370| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Définissez à `1` pour ignorer la vérification de disponibilité du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) côté client, pour les proxies qui interceptent la requête de la vérification plutôt que de la refuser. L'API rejette toujours les requêtes du mode rapide lorsque votre organisation a le mode rapide désactivé |375| `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK` | Définissez sur `1` pour ignorer la vérification de disponibilité du [mode rapide](/docs/fr/fast-mode#use-fast-mode-behind-proxies-and-llm-gateways) côté client, pour les proxies qui interceptent la requête de la vérification plutôt que de la refuser. L'API rejette toujours les requêtes en mode rapide lorsque votre organisation a le mode rapide désactivé |

371| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Ignorez l'authentification Azure pour Microsoft Foundry, pour un proxy ou une passerelle qui injecte son propre en-tête `Authorization`. Claude Code envoie les requêtes sans identifiant Azure et préserve l'en-tête `Authorization` que vous fournissez, par exemple via `ANTHROPIC_CUSTOM_HEADERS`. Ignoré lorsque `ANTHROPIC_FOUNDRY_API_KEY` ou `ANTHROPIC_FOUNDRY_AUTH_TOKEN` est défini. Avant v2.1.203, cette variable laissait le client Microsoft Foundry incapable d'envoyer des requêtes sauf si une clé API était également définie |376| `CLAUDE_CODE_SKIP_FOUNDRY_AUTH` | Ignorer l'authentification Azure pour Microsoft Foundry, pour un proxy ou une passerelle qui injecte son propre en-tête `Authorization`. Claude Code envoie les requêtes sans identifiant Azure et préserve l'en-tête `Authorization` que vous fournissez, par exemple via `ANTHROPIC_CUSTOM_HEADERS`. Ignoré lorsque `ANTHROPIC_FOUNDRY_API_KEY` ou `ANTHROPIC_FOUNDRY_AUTH_TOKEN` est défini. Avant v2.1.203, cette variable laissait le client Microsoft Foundry incapable d'envoyer des requêtes sauf si une clé API était également définie |

372| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Ignorez l'authentification AWS pour Amazon Bedrock Mantle (par exemple, lors de l'utilisation d'une passerelle LLM) |377| `CLAUDE_CODE_SKIP_MANTLE_AUTH` | Ignorer l'authentification AWS pour Amazon Bedrock Mantle (par exemple, lors de l'utilisation d'une passerelle LLM) |

373| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Définissez à `1` pour ignorer l'écriture de l'historique des prompts et des transcriptions de session sur le disque. Les sessions démarrées avec cette variable définie n'apparaissent pas dans `--resume`, `--continue` ou l'historique de la flèche vers le haut. Utile pour les sessions de script éphémères |378| `CLAUDE_CODE_SKIP_PROMPT_HISTORY` | Définissez sur `1` pour ignorer l'écriture de l'historique des prompts et des transcriptions de session sur le disque. Les sessions démarrées avec cette variable définie n'apparaissent pas dans `--resume`, `--continue` ou l'historique de la flèche vers le haut. Utile pour les sessions de script éphémères |

374| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Ignorez l'authentification Google pour Google Cloud's Agent Platform (par exemple, lors de l'utilisation d'une passerelle LLM) |379| `CLAUDE_CODE_SKIP_VERTEX_AUTH` | Ignorer l'authentification Google pour Google Cloud's Agent Platform (par exemple, lors de l'utilisation d'une passerelle LLM) |

375| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Nombre maximum de fois consécutives qu'un hook [Stop](/docs/fr/hooks#stop) ou [SubagentStop](/docs/fr/hooks#subagentstop) peut bloquer la fin du tour avant que Claude Code le remplace et termine le tour de toute façon (par défaut : 8). Définissez à `0` pour désactiver le plafond. Augmentez ceci si votre hook a légitimement besoin de plus d'itérations pour se résoudre |380| `CLAUDE_CODE_STARTUP_FAILURE_RESULTS` | Définissez sur `1` pour qu'une session démarrée avec `--output-format stream-json` écrive un [message de résultat nommant pourquoi Claude Code a refusé de démarrer](/docs/fr/agent-sdk/typescript#startup_failure_reason) pour les défaillances de démarrage qui se terminent autrement par stderr seul. Nécessite Claude Code v2.1.274 ou ultérieur |

376| `CLAUDE_CODE_SUBAGENT_MODEL` | Le modèle par défaut pour les [sous-agents](/docs/fr/sub-agents#choose-a-model), les coéquipiers de l'[équipe d'agents](/docs/fr/agent-teams#specify-teammates-and-models) et les agents de [workflow](/docs/fr/workflows) qui ne sont pas assignés à un modèle d'une autre manière. Accepte un alias comme `haiku` ou un nom de modèle complet. Deux sources ont la priorité sur lui : un modèle que Claude transmet lorsqu'il génère l'agent, et un champ `model` dans la définition de l'agent, y compris `inherit`. Pour changer cela, définissez [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/fr/sub-agents#run-every-subagent-on-one-model). Voir [Choisir un modèle](/docs/fr/sub-agents#choose-a-model) pour l'ordre complet. Le définir à `inherit` est identique à le laisser non défini. Avant v2.1.251, cette variable remplaçait à la fois le modèle par invocation et le champ `model` de la définition |381| `CLAUDE_CODE_STOP_HOOK_BLOCK_CAP` | Nombre maximum de fois consécutives qu'un crochet [Stop](/docs/fr/hooks#stop) ou [SubagentStop](/docs/fr/hooks#subagentstop) peut bloquer la fin du tour avant que Claude Code le remplace et termine le tour de toute façon (par défaut : 8). Définissez sur `0` pour désactiver le plafond. Augmentez ceci si votre crochet a légitimement besoin de plus d'itérations pour se résoudre |

377| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Définissez à `1` pour forcer un modèle sur les sous-agents, les coéquipiers et les agents de workflow. [Exécuter chaque sous-agent sur un modèle](/docs/fr/sub-agents#run-every-subagent-on-one-model) dit quel modèle c'est. Nécessite Claude Code v2.1.257 ou ultérieur |382| `CLAUDE_CODE_SUBAGENT_MODEL` | Le modèle par défaut pour les [sous-agents](/docs/fr/sub-agents#choose-a-model), les coéquipiers de l'[équipe d'agents](/docs/fr/agent-teams#specify-teammates-and-models) et les [agents de flux de travail](/docs/fr/workflows) qui ne sont pas assignés à un modèle d'une autre manière. Accepte un alias comme `haiku` ou un nom de modèle complet. Deux sources prennent la priorité sur lui : un modèle que Claude transmet lorsqu'il génère l'agent, et un champ `model` dans la définition de l'agent, y compris `inherit`. Pour changer cela, définissez [`CLAUDE_CODE_SUBAGENT_MODEL_FORCE`](/docs/fr/sub-agents#run-every-subagent-on-one-model). Voir [Choisir un modèle](/docs/fr/sub-agents#choose-a-model) pour l'ordre complet. Le définir sur `inherit` est identique à le laisser non défini. Avant v2.1.251, cette variable remplaçait à la fois le modèle par invocation et le champ `model` de la définition |

378| `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL` | Définissez `5m` ou `1h`, les seules valeurs que Claude Code accepte, pour choisir la [TTL du cache du prompt](/docs/fr/prompt-caching#cache-lifetime) pour les requêtes en dehors de la conversation principale, telles que les [sous-agents](/docs/fr/sub-agents), les workflows et le travail d'arrière-plan. A la priorité sur le paramètre `subagentPromptCacheTtl` et sur `ENABLE_PROMPT_CACHING_1H`, et `FORCE_PROMPT_CACHING_5M` le remplace. Les écritures du cache d'une heure sont facturées à un taux plus élevé. Nécessite Claude Code v2.1.242 ou ultérieur |383| `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Définissez sur `1` pour forcer un modèle sur les sous-agents, les coéquipiers et les agents de flux de travail. [Exécuter chaque sous-agent sur un modèle](/docs/fr/sub-agents#run-every-subagent-on-one-model) dit quel modèle c'est. Nécessite Claude Code v2.1.257 ou ultérieur |

379| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définissez à `1` pour supprimer les identifiants des environnements de sous-processus (outil Bash, hooks, serveurs MCP stdio) : identifiants Anthropic et fournisseur cloud, toute autre variable que Claude Code reconnaît comme un identifiant, et identifiants intégrés dans les URL du registre de paquets. Le processus Claude parent garde ces identifiants pour les appels API, mais les processus enfants ne peuvent pas les lire, réduisant l'exposition aux attaques par injection de prompt qui tentent d'exfiltrer les secrets via l'expansion shell. Sur Linux, cela exécute également les sous-processus Bash dans un espace de noms PID isolé afin qu'ils ne puissent pas lire les environnements de processus hôte via `/proc` ; en conséquence, `ps`, `pgrep` et `kill` ne peuvent pas voir ou signaler les processus hôte. `claude-code-action` définit ceci automatiquement lorsque `allowed_non_write_users` est configuré |384| `CLAUDE_CODE_SUBAGENT_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 les requêtes en dehors de la conversation principale, telles que les [sous-agents](/docs/fr/sub-agents), les flux de travail et le travail d'arrière-plan. Prend la priorité sur le paramètre `subagentPromptCacheTtl` 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 |

380| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définissez à `1` en mode non interactif (le drapeau `-p`) pour attendre la fin de l'installation du plugin avant la première requête. Sans ceci, les plugins s'installent en arrière-plan et peuvent ne pas être disponibles au premier tour. Combinez avec `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` pour limiter l'attente |385| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définissez sur `1` pour supprimer les identifiants des environnements de sous-processus (outil Bash, crochets, serveurs MCP stdio) : les identifiants Anthropic et du fournisseur cloud, toute autre variable que Claude Code reconnaît comme un identifiant, et les identifiants intégrés dans les URL du registre de paquets. Le processus Claude parent garde ces identifiants pour les appels API, mais les processus enfants ne peuvent pas les lire, réduisant l'exposition aux attaques par injection de prompt qui tentent d'exfiltrer les secrets via l'expansion shell. Sur v2.1.251 ou ultérieur, le nettoyage supprime également les variables de pointeur de magasin de configuration propres à Claude Code (comme `CLAUDE_CONFIG_DIR`), afin qu'un processus enfant ne puisse pas localiser un répertoire de configuration réinstallé. Laissez le nettoyage non défini si un sous-processus a besoin de ces variables. Sur Linux, cela exécute également les sous-processus Bash dans un espace de noms PID isolé afin qu'ils ne puissent pas lire les environnements de processus hôte via `/proc` ; en tant qu'effet secondaire, `ps`, `pgrep` et `kill` ne peuvent pas voir ou signaler les processus hôte. `claude-code-action` définit ceci automatiquement lorsque `allowed_non_write_users` est configuré |

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

381| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour l'installation synchrone du plugin. Lorsqu'il est dépassé, Claude Code procède sans plugins et enregistre une erreur. Pas de valeur par défaut : sans cette variable, l'installation synchrone attend jusqu'à la fin |387| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour l'installation synchrone du plugin. Lorsqu'il est dépassé, Claude Code procède sans plugins et enregistre une erreur. Pas de valeur par défaut : sans cette variable, l'installation synchrone attend jusqu'à la fin |

382| `CLAUDE_CODE_SYNC_SKILLS` | Définissez à `1` pour télécharger vos compétences claude.ai activées dans `~/.claude/skills/synced/` et resynchroniser toutes les 10 minutes. Avant d'exécuter la première requête, Claude Code attend jusqu'à `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` pour la liste de vos compétences. Les téléchargements eux-mêmes se terminent en arrière-plan, et Claude attend le téléchargement d'une compétence lorsqu'il l'invoque. Le nom du dossier `synced` est [réservé pour ce téléchargement](/docs/fr/skills#where-skills-live). Avant v2.1.227, les compétences se téléchargeaient directement dans `~/.claude/skills/`. S'applique uniquement en mode non interactif avec le drapeau `-p`. Nécessite l'authentification claude.ai. Les sessions [Claude Code on the web](/docs/fr/claude-code-on-the-web) reçoivent vos compétences claude.ai activées automatiquement ; vous n'avez pas besoin de définir ceci là. Claude Code applique des [règles supplémentaires aux compétences téléchargées](/docs/fr/skills#how-synced-skills-behave), comme ne pas exécuter leurs commandes `!` sur votre machine |388| `CLAUDE_CODE_SYNC_SKILLS` | Définissez sur `1` en mode non interactif avec le drapeau `-p` pour faire en sorte que Claude Code télécharge les compétences activées pour votre compte claude.ai dans cette exécution et attende la liste d'entre elles, jusqu'à `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`, avant d'exécuter la première requête. Les téléchargements eux-mêmes se terminent en arrière-plan, et Claude attend le téléchargement d'une compétence lorsqu'il l'invoque. Nécessite l'authentification claude.ai. Les sessions de terminal où vous vous connectez avec votre compte claude.ai [téléchargent ces compétences](/docs/fr/skills#where-synced-skills-load) dans `~/.claude/skills/synced/` et se resynchronisent environ toutes les 10 minutes sans cette variable, afin de la définir uniquement lorsqu'une exécution `-p` a besoin de vos compétences actuelles à sa première requête. Avant v2.1.273, les sessions de terminal les téléchargeaient uniquement dans une exécution `-p` avec cette variable définie. Le nom du dossier `synced` est [réservé pour ce téléchargement](/docs/fr/skills#where-skills-live). Avant v2.1.227, les compétences téléchargeaient dans `~/.claude/skills/` directement. Claude Code applique [des règles supplémentaires aux compétences téléchargées](/docs/fr/skills#how-synced-skills-behave), comme ne pas exécuter leurs commandes `!` sur votre machine |

383| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour une resynchronisation des compétences en milieu de session lorsque `CLAUDE_CODE_SYNC_SKILLS` est défini (par défaut : 30000). Limite le téléchargement déclenché lorsque l'hôte demande un rechargement des compétences pendant la session. Lorsqu'il est dépassé, la resynchronisation s'arrête et les téléchargements restants continuent en arrière-plan |389| `CLAUDE_CODE_SYNC_SKILLS_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour la resynchronisation des compétences qui s'exécute au milieu de la session lorsqu'une application construite sur le [SDK Agent](/docs/fr/agent-sdk/typescript#query-object) recharge les compétences (par défaut : 30000). Lorsqu'il est dépassé, le rechargement continue avec les compétences qui sont arrivées, et les téléchargements restants se terminent en arrière-plan |

384| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Délai d'expiration en millisecondes pour que la première requête attende la liste initiale des compétences lorsque `CLAUDE_CODE_SYNC_SKILLS` est défini (par défaut : 5000). Lorsqu'il est dépassé, la première requête s'exécute avec les compétences qui sont arrivées. Les téléchargements se terminent en arrière-plan de toute façon, et Claude attend le téléchargement d'une compétence lorsqu'il l'invoque |390| `CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS` | Délai d'expiration en millisecondes pour que la première requête attende la liste de compétences initiale lorsque `CLAUDE_CODE_SYNC_SKILLS` est défini (par défaut : 5000). Lorsqu'il est dépassé, la première requête s'exécute avec les compétences qui sont arrivées. Les téléchargements se terminent en arrière-plan de toute façon, et Claude attend le téléchargement d'une compétence lorsqu'il l'invoque |

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

386| `CLAUDE_CODE_TASK_LIST_ID` | Partagez une liste de tâches entre les sessions. Définissez le même ID dans plusieurs instances Claude Code pour coordonner une liste de tâches partagée, dans les [sessions qui ont les outils Task](/docs/fr/tools-reference#task-tool-availability). Voir [Liste des tâches](/docs/fr/interactive-mode#task-list) |392| `CLAUDE_CODE_TASK_LIST_ID` | Partagez une liste de tâches entre les sessions. Définissez le même ID dans plusieurs instances Claude Code pour coordonner une liste de tâches partagée, dans les [sessions qui ont les outils Task](/docs/fr/tools-reference#task-tool-availability). Voir [Liste des tâches](/docs/fr/interactive-mode#task-list) |

387| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Remplacez, en millisecondes, le temps qu'une session non interactif attend à la sortie pour que son [équipe d'agents](/docs/fr/agent-teams) se démantèle. Accepte 1000 à 60000 ; une valeur hors plage est ignorée et la valeur par défaut de 10000 s'applique. Nécessite Claude Code v2.1.206 ou ultérieur |393| `CLAUDE_CODE_TEAM_TEARDOWN_PARK_TIMEOUT_MS` | Remplacez, en millisecondes, combien de temps une session non interactive attend à la sortie pour que son [équipe d'agents](/docs/fr/agent-teams) se démantèle. Accepte 1000 à 60000 ; une valeur hors plage est ignorée et la valeur par défaut de 10000 s'applique. Nécessite Claude Code v2.1.206 ou ultérieur |

388| `CLAUDE_CODE_TMPDIR` | Remplacez le répertoire temporaire utilisé pour les fichiers temporaires internes. Claude Code ajoute `/claude-{uid}/` sur Unix ou `/claude/` sur Windows à ce chemin. Par défaut : `/tmp` sur macOS, `os.tmpdir()` sur Linux et Windows. Sur macOS et Linux, les sous-processus Bash [sandboxés](/docs/fr/sandboxing) reçoivent un `$TMPDIR` de secours court sous la valeur par défaut du système lorsque votre substitution est un chemin long, car certains outils échouent lorsque les chemins temporaires deviennent trop longs. Les commandes Bash non sandboxées héritent du `$TMPDIR` de votre shell inchangé. Les fichiers temporaires propres de Claude Code utilisent toujours votre substitution. 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) |394| `CLAUDE_CODE_TMPDIR` | Remplacez le répertoire temporaire utilisé pour les fichiers temporaires internes. Claude Code ajoute `/claude-{uid}/` sur Unix ou `/claude/` sur Windows à ce chemin. Par défaut : `/tmp` sur macOS, `os.tmpdir()` sur Linux et Windows. Sur macOS et Linux, les sous-processus Bash [sandboxés](/docs/fr/sandboxing) reçoivent un `$TMPDIR` de secours court sous la valeur par défaut du système lorsque votre remplacement est un chemin long, car certains outils échouent lorsque les chemins temporaires deviennent trop longs. Les commandes Bash non sandboxées héritent de votre `$TMPDIR` shell inchangé. Les fichiers temporaires propres à Claude Code utilisent toujours votre remplacement. 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) |

389| `CLAUDE_CODE_TMUX_TRUECOLOR` | Définissez à n'importe quelle valeur non vide, comme `1`, pour permettre la sortie truecolor 24 bits à l'intérieur de tmux. **Définir à `0` ou `false` permet toujours truecolor**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour restaurer le serrage de 256 couleurs. Par défaut, Claude Code serre à 256 couleurs lorsque `$TMUX` est défini car tmux ne transmet pas les séquences d'échappement truecolor sauf s'il est configuré pour le faire. Définissez ceci après avoir ajouté `set -ga terminal-overrides ',*:Tc'` à votre `~/.tmux.conf`. Voir [Configuration du terminal](/docs/fr/terminal-config) pour les autres paramètres tmux |395| `CLAUDE_CODE_TMUX_TRUECOLOR` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour permettre la sortie truecolor 24 bits à l'intérieur de tmux. **Définir sur `0` ou `false` permet toujours truecolor**, contrairement à la plupart des variables activées/désactivées ; désactivez la variable pour restaurer le serrage 256 couleurs. Par défaut, Claude Code serre à 256 couleurs lorsque `$TMUX` est défini car tmux ne transmet pas les séquences d'échappement truecolor sauf s'il est configuré pour le faire. Définissez ceci après avoir ajouté `set -ga terminal-overrides ',*:Tc'` à votre `~/.tmux.conf`. Voir [Configuration du terminal](/docs/fr/terminal-config) pour les autres paramètres tmux |

390| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Sur Linux et WSL, définissez à une liste séparée par des virgules des types de processus que Claude Code [exclut du plafond de mémoire d'outil](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), comme `mcp` ou `lsp`. Définissez `none` pour limiter tous les types, ou `all-new` pour limiter uniquement les commandes des outils Bash, PowerShell et Monitor. Claude Code maintient les commandes des outils Bash, PowerShell et Monitor sous le plafond quel que soit ce que vous énumérez. Nécessite Claude Code v2.1.246 ou ultérieur |396| `CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE` | Sur Linux et WSL, définissez sur une liste séparée par des virgules des types de processus que Claude Code [exclut du plafond de mémoire de l'outil](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), comme `mcp` ou `lsp`. Définissez `none` pour limiter chaque type, ou `all-new` pour limiter uniquement les commandes des outils Bash, PowerShell et Monitor. Claude Code maintient les commandes des outils Bash, PowerShell et Monitor sous le plafond quel que soit ce que vous énumérez. Nécessite Claude Code v2.1.246 ou ultérieur |

391| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Sur Linux et WSL, définissez à une taille comme `4G` pour [limiter la mémoire que les commandes des outils Bash et PowerShell peuvent utiliser](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), et les commandes de l'outil Monitor sur v2.1.246 ou ultérieur. Écrivez la taille en chiffres simples, seuls pour un nombre d'octets ou avec un suffixe `K`, `M`, `G` ou `T`. Définissez `0` ou `off` pour désactiver le plafond. Une fois que le premier processus que Claude Code démarre a activé ou désactivé le plafond, une valeur modifiée prend effet la prochaine fois que vous lancez `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |397| `CLAUDE_CODE_TOOL_MEMORY_LIMIT` | Sur Linux et WSL, définissez sur une taille comme `4G` pour [limiter la mémoire que les commandes des outils Bash et PowerShell peuvent utiliser](/docs/fr/tools-reference#memory-limit-on-linux-and-wsl), et les commandes de l'outil Monitor sur v2.1.246 ou ultérieur. Écrivez la taille en chiffres simples, seuls pour un nombre d'octets ou avec un suffixe `K`, `M`, `G` ou `T`. Définissez `0` ou `off` pour désactiver le plafond. Une fois que le premier processus que Claude Code démarre a activé ou désactivé le plafond, une valeur modifiée prend effet la prochaine fois que vous lancez `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |

392| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Délai pour les dialogues que Claude Code transfère à un client distant, comme un [Remote Control](/docs/fr/remote-control) ou un hôte SDK, et pour le dialogue d'approbation pour un [message inter-session retenu](/docs/fr/cross-session-messaging#control-inbound-messages), avant que Claude Code les annule ; les invites de permission et les questions `AskUserQuestion` utilisent leurs propres flux et ne sont pas régis par ceci. Limite également l'[invite de consentement d'utilisation des crédits Fable](/docs/fr/model-config#fable-and-usage-credits) en milieu de session dans une session qui peut s'exécuter sans surveillance. [Contrôler les messages entrants](/docs/fr/cross-session-messaging#control-inbound-messages) et les [sessions non interactives](/docs/fr/cross-session-messaging#non-interactive-sessions) couvrent les règles d'expiration complètes des messages retenus, y compris les cas où le délai ne s'applique pas. Remplace le paramètre [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry). `0` ou une valeur négative désactive le délai |398| `CLAUDE_CODE_USER_DIALOG_TIMEOUT_MS` | Délai avant que Claude Code annule un dialogue qu'il transfère à un client distant comme un [Remote Control](/docs/fr/remote-control) ou un hôte SDK, ou le dialogue d'approbation pour un [message inter-session retenu](/docs/fr/cross-session-messaging#control-inbound-messages) ; les invites de permission et les questions `AskUserQuestion` utilisent leurs propres flux et ne sont pas régis par celui-ci. Sur Claude Code v2.1.236 ou ultérieur, il limite également le [dialogue de consentement des crédits d'utilisation Fable](/docs/fr/model-config#fable-and-usage-credits) au milieu de la session dans une session qui peut s'exécuter sans surveillance. [Contrôler les messages entrants](/docs/fr/cross-session-messaging#control-inbound-messages) et [les sessions non interactives](/docs/fr/cross-session-messaging#non-interactive-sessions) couvrent les règles d'expiration complètes des messages retenus, y compris les cas où le délai ne s'applique pas. Remplace le paramètre [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry). `0` ou une valeur négative désactive le délai |

393| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Utilisez [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) |399| `CLAUDE_CODE_USE_ANTHROPIC_AWS` | Utilisez [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) |

394| `CLAUDE_CODE_USE_BEDROCK` | Utilisez [Amazon Bedrock](/docs/fr/amazon-bedrock) |400| `CLAUDE_CODE_USE_BEDROCK` | Utilisez [Amazon Bedrock](/docs/fr/amazon-bedrock) |

395| `CLAUDE_CODE_USE_FOUNDRY` | Utilisez [Microsoft Foundry](/docs/fr/microsoft-foundry) |401| `CLAUDE_CODE_USE_FOUNDRY` | Utilisez [Microsoft Foundry](/docs/fr/microsoft-foundry) |

396| `CLAUDE_CODE_USE_MANTLE` | Utilisez le point de terminaison Amazon Bedrock [Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint) |402| `CLAUDE_CODE_USE_MANTLE` | Utilisez le [point de terminaison Mantle](/docs/fr/amazon-bedrock#use-the-mantle-endpoint) d'Amazon Bedrock |

397| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Définissez à `1` pour découvrir les commandes personnalisées, les sous-agents et les styles de sortie en utilisant les API de fichier Node.js au lieu de ripgrep. Définissez ceci si le binaire ripgrep groupé est indisponible ou bloqué dans votre environnement. N'affecte pas les outils Grep ou de recherche de fichier |403| `CLAUDE_CODE_USE_NATIVE_FILE_SEARCH` | Définissez sur `1` pour découvrir les commandes personnalisées, les sous-agents et les styles de sortie en utilisant les API de fichiers Node.js au lieu de ripgrep. Définissez ceci si le binaire ripgrep groupé est indisponible ou bloqué dans votre environnement. N'affecte pas les outils Grep ou de recherche de fichiers |

398| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Contrôle l'outil PowerShell. Sur Windows sans Git Bash, l'outil est activé automatiquement ; définissez à `0` pour le désactiver. Sur Windows avec Git Bash installé, l'outil est activé par défaut pour les comptes claude.ai et Console ; définissez à `1` pour l'activer dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, ou `0` pour le désactiver. Sur Linux, macOS et WSL, définissez à `1` pour l'activer, ce qui nécessite `pwsh` sur votre `PATH`. Lorsqu'il est activé sur Windows, Claude peut exécuter les commandes PowerShell en mode natif au lieu de les router via Git Bash. Voir [Outil PowerShell](/docs/fr/tools-reference#powershell-tool) |404| `CLAUDE_CODE_USE_POWERSHELL_TOOL` | Contrôle l'outil PowerShell. Sur Windows sans Git Bash, l'outil est activé automatiquement ; définissez sur `0` pour le désactiver. Sur Windows avec Git Bash installé, l'outil est activé par défaut pour les comptes claude.ai et Console ; définissez sur `1` pour l'activer dans les sessions Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, ou `0` pour le désactiver. Sur Linux, macOS et WSL, définissez sur `1` pour l'activer, ce qui nécessite `pwsh` sur votre `PATH`. Lorsqu'il est activé sur Windows, Claude peut exécuter les commandes PowerShell en mode natif au lieu de les router via Git Bash. Voir [Outil PowerShell](/docs/fr/tools-reference#powershell-tool) |

399| `CLAUDE_CODE_USE_VERTEX` | Utilisez [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |405| `CLAUDE_CODE_USE_VERTEX` | Utilisez [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |

400| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Définissez au nombre de millisecondes que [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) garde chaque réponse d'URL récupérée en cache. La valeur par défaut est `900000`, ce qui est 15 minutes. Accepte uniquement les chiffres simples ; `0`, une décimale ou toute autre orthographe garde la valeur par défaut. Claude Code lit la valeur une fois par lancement, afin qu'une modification dans un bloc `env` des paramètres s'applique lorsque vous lancez ensuite `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |406| `CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS` | Définissez sur le nombre de millisecondes que [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) garde la réponse de chaque URL récupérée en cache. La valeur par défaut est `900000`, ce qui est 15 minutes. Accepte uniquement des chiffres simples ; `0`, une décimale ou toute autre orthographe conserve la valeur par défaut. Claude Code lit la valeur une fois par lancement, afin qu'une modification dans un bloc `env` des paramètres s'applique lorsque vous lancez ensuite `claude`. Nécessite Claude Code v2.1.233 ou ultérieur |

401| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite supérieure en millisecondes sur le temps que [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) attend pour qu'une page se télécharge, y compris les redirections qu'elle suit. Un téléchargement qui n'est pas terminé à ce moment échoue avec une erreur de délai. La valeur par défaut est `300000`, ce qui est cinq minutes. Définissez à `0` pour supprimer la limite. Accepte uniquement les chiffres simples ; une décimale ou toute autre orthographe garde la valeur par défaut. Nécessite Claude Code v2.1.268 ou ultérieur |407| `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` | Limite supérieure en millisecondes sur combien de temps [WebFetch](/docs/fr/tools-reference#webfetch-tool-behavior) attend qu'une page se télécharge, y compris les redirections qu'elle suit. Un téléchargement qui n'est pas terminé à ce moment échoue avec une erreur de délai. La valeur par défaut est `300000`, ce qui est cinq minutes. Définissez sur `0` pour supprimer la limite. Accepte uniquement des chiffres simples ; une décimale ou toute autre orthographe conserve la valeur par défaut. Nécessite Claude Code v2.1.268 ou ultérieur |

402| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite supérieure en millisecondes sur le temps qu'un agent de [workflow](/docs/fr/workflows) attend la première réponse d'un frère de même préfixe avant d'envoyer sa propre première requête. Lorsqu'un fan-out démarre plusieurs agents qui partagent un [préfixe de cache du prompt](/docs/fr/workflows#prompt-caching-in-a-fan-out), Claude Code maintient tous sauf le premier agent pendant jusqu'à ce temps afin que le reste lise le préfixe en cache au lieu de chacun le traiter sans cache. Par défaut `5000`. Définissez à `0` pour désactiver l'attente. Lorsque `DISABLE_PROMPT_CACHING` est défini, les agents n'attendent jamais. Nécessite Claude Code v2.1.229 ou ultérieur |408| `CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS` | Combien d'agents une seule exécution de [flux de travail](/docs/fr/workflows) exécute à la fois, de `1` à `256`. Par défaut, une exécution exécute jusqu'à 16 agents à la fois, moins lorsque Claude Code a moins de CPU disponibles ; les appels `agent()` en attente attendent un créneau libre. La transcription de chaque agent en cours d'exécution reste en mémoire de Claude Code, afin que les valeurs plus élevées augmentent l'utilisation de la mémoire. Accepte uniquement des chiffres simples ; les valeurs hors plage et les autres orthographes conservent la valeur par défaut. Nécessite Claude Code v2.1.269 ou ultérieur |

403| `CLAUDE_CONFIG_DIR` | Remplacez le répertoire de configuration (par défaut : `~/.claude`). Tous les paramètres, l'historique des sessions et les plugins sont stockés sous ce chemin. Pour les identifiants, voir [où Claude Code stocke les identifiants](/docs/fr/authentication#credential-management). Utile pour exécuter plusieurs comptes côte à côte : par exemple, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Définissez-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) |409| `CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS` | Limite supérieure en millisecondes sur combien de temps un agent de [flux de travail](/docs/fr/workflows) attend la première réponse d'un frère de même préfixe avant d'envoyer sa propre première requête. Lorsqu'un fan-out démarre plusieurs agents qui partagent un [préfixe de cache du prompt](/docs/fr/workflows#prompt-caching-in-a-fan-out), Claude Code retient tous sauf le premier agent pendant jusqu'à ce temps afin que le reste lise le préfixe en cache au lieu de chacun le traiter sans cache. Par défaut `5000`. Définissez sur `0` pour désactiver l'attente. Lorsque `DISABLE_PROMPT_CACHING` est défini, les agents n'attendent jamais. Nécessite Claude Code v2.1.229 ou ultérieur |

404| `CLAUDE_DISABLE_ADOPT` | Définissez à `1` pour arrêter le travail d'arrière-plan en vol au lieu de le porter lorsque vous mettez une session en arrière-plan en appuyant sur `←` ou avec [`/background`](/docs/fr/agent-view#from-inside-a-session). Claude Code vous demande de confirmer avant de mettre en arrière-plan, puis arrête les tâches qui seraient autrement portées. Nécessite Claude Code v2.1.195 ou ultérieur |410| `CLAUDE_CONFIG_DIR` | Remplacez le répertoire de configuration (par défaut : `~/.claude`). Tous les paramètres, l'historique des sessions et les plugins sont stockés sous ce chemin. Pour les identifiants, voir [où Claude Code stocke les identifiants](/docs/fr/authentication#credential-management). Utile pour exécuter plusieurs comptes côte à côte : par exemple, `alias claude-work='CLAUDE_CONFIG_DIR=~/.claude-work claude'`. Définissez-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) |

405| `CLAUDE_EFFORT` | Défini automatiquement dans les sous-processus de l'outil Bash et les commandes hook au [niveau d'effort](/docs/fr/model-config#adjust-effort-level) en vigueur lorsque le sous-processus démarre : `low`, `medium`, `high`, `xhigh` ou `max`. Ultracode n'est pas un niveau distinct et signale comme `xhigh`. Correspond au champ `effort.level` transmis aux [hooks](/docs/fr/hooks). Défini uniquement lorsque le modèle actuel supporte le paramètre d'effort |411| `CLAUDE_DISABLE_ADOPT` | Définissez sur `1` pour arrêter le travail d'arrière-plan en vol au lieu de le reporter lorsque vous mettez une session en arrière-plan en appuyant sur `←` ou avec [`/background`](/docs/fr/agent-view#from-inside-a-session). Claude Code vous demande de confirmer avant de mettre en arrière-plan, puis arrête les tâches qui seraient autrement reportées. Nécessite Claude Code v2.1.195 ou ultérieur |

406| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Définissez à `1` pour forcer l'activation du chien de garde d'inactivité de flux au niveau des octets, ou définissez à `0` pour le forcer à désactiver. `0` désactive également le [délai de premier octet](/docs/fr/network-config#streaming-idle-watchdogs) sur les connexions où ce délai s'exécute. Lorsqu'il n'est pas défini, le chien de garde est activé par défaut pour les connexions API Anthropic directes et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), et pour les réponses en continu sur les connexions de [passerelle](/docs/fr/gateways) atteintes via `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` ; avant v2.1.222, il ne s'exécutait pas sur ces connexions de passerelle, afin que le chien de garde au niveau des événements puisse signaler un blocage là même tandis que les pings de maintien de la connexion arrivaient. Pour les délais d'expiration et la façon dont les minuteries interagissent, voir [Chiens de garde d'inactivité de flux en continu](/docs/fr/network-config#streaming-idle-watchdogs) |412| `CLAUDE_EFFORT` | Défini automatiquement dans les sous-processus de l'outil Bash et les commandes hook au [niveau d'effort](/docs/fr/model-config#adjust-effort-level) en vigueur lorsque le sous-processus démarre : `low`, `medium`, `high`, `xhigh` ou `max`. Ultracode n'est pas un niveau distinct et signale comme `xhigh`. Correspond au champ `effort.level` transmis aux [crochets](/docs/fr/hooks). Défini uniquement lorsque le modèle actuel supporte le paramètre d'effort |

407| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Définissez à `1` pour activer le chien de garde d'inactivité de flux au niveau des octets sur les réponses Amazon Bedrock `vnd.amazon.eventstream`, ce qui active également le [délai de premier octet](/docs/fr/network-config#streaming-idle-watchdogs) sur les requêtes en continu Bedrock. Désactivé par défaut. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |413| `CLAUDE_ENABLE_BYTE_WATCHDOG` | Définissez sur `1` pour forcer l'activation du chien de garde d'inactivité de flux au niveau des octets, ou définissez sur `0` pour le forcer à désactiver. `0` désactive également le [délai du premier octet](/docs/fr/network-config#streaming-idle-watchdogs) sur les connexions où ce délai s'exécute. Lorsqu'il n'est pas défini, le chien de garde est activé par défaut pour les connexions API Anthropic directes et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), et pour les réponses en continu sur les connexions de [passerelle](/docs/fr/gateways) atteintes via `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` ; avant v2.1.222, il ne s'exécutait pas sur ces connexions de passerelle, afin que le chien de garde au niveau des événements puisse signaler une stagnation là-bas même tandis que les pings de maintien de la connexion arrivaient. Pour les délais d'expiration et la façon dont les minuteurs interagissent, voir [Chiens de garde d'inactivité de flux](/docs/fr/network-config#streaming-idle-watchdogs) |

408| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez à `0` pour forcer la désactivation du chien de garde d'inactivité au niveau des événements, ou définissez à `1` pour le forcer à activer. Lorsqu'il n'est pas défini, le chien de garde est activé par défaut pour tous les fournisseurs. Avant v2.1.196, la valeur par défaut non définie était contrôlée par le serveur sur l'API Anthropic directe et désactivée sur les autres fournisseurs. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` ; pour les autres minuteries de blocage qui s'exécutent aux côtés de celle-ci, voir [Chiens de garde d'inactivité de flux en continu](/docs/fr/network-config#streaming-idle-watchdogs) |414| `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK` | Définissez sur `1` pour activer le chien de garde d'inactivité de flux au niveau des octets sur les réponses Amazon Bedrock `vnd.amazon.eventstream`, ce qui active également le [délai du premier octet](/docs/fr/network-config#streaming-idle-watchdogs) sur les requêtes en continu Bedrock. Désactivé par défaut. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

409| `CLAUDE_ENV_FILE` | Chemin d'accès à un script shell dont le contenu Claude Code exécute avant chaque commande Bash dans le même processus shell, afin que les exports dans le fichier soient visibles à la commande. Utilisez pour persister l'activation virtualenv ou conda entre les commandes. Également rempli dynamiquement par les hooks [SessionStart](/docs/fr/hooks#persist-environment-variables), [Setup](/docs/fr/hooks#setup), [CwdChanged](/docs/fr/hooks#cwdchanged) et [FileChanged](/docs/fr/hooks#filechanged) |415| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez sur `0` pour forcer la désactivation du chien de garde d'inactivité de flux au niveau des événements, ou définissez sur `1` pour le forcer à activer. Lorsqu'il n'est pas défini, le chien de garde est activé par défaut pour tous les fournisseurs. Avant v2.1.196, la valeur par défaut non définie était contrôlée par le serveur sur l'API Anthropic directe et désactivée sur les autres fournisseurs. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` ; pour les autres minuteurs de stagnation qui s'exécutent aux côtés de celui-ci, voir [Chiens de garde d'inactivité de flux](/docs/fr/network-config#streaming-idle-watchdogs) |

410| `CLAUDE_JOB_DIR` | Défini par Claude Code dans chaque [session d'arrière-plan](/docs/fr/agent-view) à ce répertoire `~/.claude/jobs/<id>` de cette session. Les commandes shell que la session exécute l'héritent. Écrivez les fichiers de travail temporaire à [`$CLAUDE_JOB_DIR/tmp`](/docs/fr/agent-view#where-state-is-stored). Les appels `Write` et `Edit` de Claude là ne demandent pas la permission, et le répertoire est supprimé lorsque la session est supprimée |416| `CLAUDE_ENV_FILE` | Chemin d'accès à un script shell dont le contenu Claude Code exécute avant chaque commande Bash dans le même processus shell, afin que les exports du fichier soient visibles à la commande. Utilisez pour persister l'activation virtualenv ou conda entre les commandes. Également rempli dynamiquement par les crochets [SessionStart](/docs/fr/hooks#persist-environment-variables), [Setup](/docs/fr/hooks#setup), [CwdChanged](/docs/fr/hooks#cwdchanged) et [FileChanged](/docs/fr/hooks#filechanged) |

411| `CLAUDE_PID` | Claude Code définit ceci à son propre ID de processus dans les sous-processus qu'il génère : commandes d'outil Bash et PowerShell et commandes hook. Sur Linux, l'intégration shell de l'outil Bash l'utilise pour refuser un modèle `pkill` qui correspondrait au processus Claude Code lui-même ; voir la [référence d'erreur](/docs/fr/errors#pkill-pattern-matches-the-claude-code-process). Lisez-le à partir de vos propres scripts pour identifier ou signaler délibérément le processus Claude Code parent. Nécessite Claude Code v2.1.214 ou ultérieur |417| `CLAUDE_JOB_DIR` | Défini par Claude Code dans chaque [session d'arrière-plan](/docs/fr/agent-view) à ce répertoire `~/.claude/jobs/<id>` de la session. Les commandes shell que la session exécute l'héritent. Écrivez les fichiers de travail temporaire à [`$CLAUDE_JOB_DIR/tmp`](/docs/fr/agent-view#where-state-is-stored). Les appels `Write` et `Edit` de Claude là-bas ne demandent pas la permission, et le répertoire est supprimé lorsque la session est supprimée |

412| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Préfixe pour les noms de session [Remote Control](/docs/fr/remote-control) générés automatiquement lorsqu'aucun nom explicite n'est fourni. Par défaut le nom d'hôte de votre machine, produisant des noms comme `myhost-graceful-unicorn`. Le drapeau CLI `--remote-control-session-name-prefix` définit la même valeur pour une seule invocation |418| `CLAUDE_PID` | Claude Code définit ceci à son propre ID de processus dans les sous-processus qu'il génère : les commandes de l'outil Bash et PowerShell et les commandes hook. Sur Linux, l'intégration shell de l'outil Bash l'utilise pour refuser un modèle `pkill` qui correspondrait au processus Claude Code lui-même ; voir [la référence d'erreur](/docs/fr/errors#pkill-pattern-matches-the-claude-code-process). Lisez-le à partir de vos propres scripts pour identifier ou signaler délibérément le processus Claude Code parent. Nécessite Claude Code v2.1.214 ou ultérieur |

413| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Délai pour le premier octet de réponse d'une requête en continu, sur les connexions où le [délai de premier octet](/docs/fr/network-config#streaming-idle-watchdogs) s'exécute. Pour la façon dont Claude Code le serre, le temps supplémentaire qu'il ajoute pour les corps de requête volumineux et la façon dont il choisit le délai lorsque vous le laissez non défini, voir [Pas de réponse de l'API](/docs/fr/errors#no-response-from-api). Nécessite Claude Code v2.1.242 ou ultérieur |419| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Préfixe pour les noms de session [Remote Control](/docs/fr/remote-control) générés automatiquement lorsqu'aucun nom explicite n'est fourni. Par défaut, le nom d'hôte de votre machine, produisant des noms comme `myhost-graceful-unicorn`. Le [drapeau CLI `--remote-control-session-name-prefix`](/docs/fr/cli-reference#cli-flags) définit la même valeur pour une seule invocation |

414| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes avant que les chiens de garde d'inactivité de flux au niveau des événements et des octets ferment une connexion bloquée. Lorsque vous définissez cette variable explicitement, le minimum est `300000` (5 minutes) ; les valeurs inférieures sont silencieusement serrées pour absorber les pauses de réflexion étendue et la mise en mémoire tampon du proxy, et le chien de garde au niveau des octets limite la valeur à 30 minutes. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` a la priorité sur cette variable pour le chien de garde au niveau des octets. Pour les valeurs par défaut non définies par chien de garde, voir [Chiens de garde d'inactivité de flux en continu](/docs/fr/network-config#streaming-idle-watchdogs) |420| `CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS` | Délai en millisecondes pour le premier octet de réponse d'une requête en continu, sur les connexions où le [délai du premier octet](/docs/fr/network-config#streaming-idle-watchdogs) s'exécute. Pour la façon dont Claude Code le serre, le temps supplémentaire qu'il ajoute pour les grands corps de requête et la façon dont il choisit le délai lorsque vous le laissez non défini, voir [Pas de réponse de l'API](/docs/fr/errors#no-response-from-api). Nécessite Claude Code v2.1.242 ou ultérieur |

415| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Supprimé dans v2.1.260 et maintenant un no-op. Auparavant, limitait la durée qu'une [commande shell d'arrière-plan](/docs/fr/interactive-mode#background-bash-commands) qu'un [sous-agent](/docs/fr/sub-agents) a démarrée pouvait s'exécuter, en millisecondes, avec une valeur par défaut de 60 minutes. Voir les [règles de durée de vie de la commande d'arrière-plan](/docs/fr/tools-reference#background-commands) |421| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes avant que les chiens de garde d'inactivité de flux au niveau des événements et des octets ferment une connexion bloquée. Lorsque vous définissez cette variable explicitement, le minimum est `300000` (5 minutes) ; les valeurs inférieures sont silencieusement serrées pour absorber les pauses de réflexion étendue et la mise en mémoire tampon du proxy, et le chien de garde au niveau des octets limite la valeur à 30 minutes. `CLAUDE_BYTE_STREAM_IDLE_TIMEOUT_MS` prend la priorité sur cette variable pour le chien de garde au niveau des octets. Pour les valeurs par défaut non définies par chien de garde, voir [Chiens de garde d'inactivité de flux](/docs/fr/network-config#streaming-idle-watchdogs) |

416| `DEBUG` | Définissez à `1` pour activer le mode débogage, équivalent à lancer avec [`--debug`](/docs/fr/cli-reference#cli-flags). Les journaux de débogage sont écrits dans `~/.claude/debug/<session-id>.txt`, ou dans le chemin défini par `CLAUDE_CODE_DEBUG_LOGS_DIR`. Seules les valeurs truthy `1`, `true`, `yes` et `on` activent le mode débogage, afin que les modèles d'espace de noms comme `DEBUG=express:*` définis pour d'autres outils ne le déclenchent pas |422| `CLAUDE_SUBAGENT_BG_SHELL_MAX_MS` | Supprimé dans v2.1.260 et maintenant un no-op. Auparavant, limitait combien de temps une [commande shell d'arrière-plan](/docs/fr/interactive-mode#background-bash-commands) qu'un [sous-agent](/docs/fr/sub-agents) a démarrée pouvait s'exécuter, en millisecondes, avec une valeur par défaut de 60 minutes. Voir [les règles de durée de vie de la commande d'arrière-plan](/docs/fr/tools-reference#background-commands) |

417| `DISABLE_AUTOUPDATER` | Définissez à `1` pour désactiver les mises à jour automatiques d'arrière-plan. Le `claude update` manuel fonctionne toujours. Utilisez `DISABLE_UPDATES` pour bloquer les deux |423| `DEBUG` | Définissez sur `1` pour activer le mode débogage, équivalent au lancement avec [`--debug`](/docs/fr/cli-reference#cli-flags). Les journaux de débogage sont écrits dans `~/.claude/debug/<session-id>.txt`, ou dans le chemin défini par `CLAUDE_CODE_DEBUG_LOGS_DIR`. Seules les valeurs vraies `1`, `true`, `yes` et `on` activent le mode débogage, afin que les modèles d'espace de noms comme `DEBUG=express:*` définis pour d'autres outils ne le déclenchent pas |

418| `DISABLE_AUTO_COMPACT` | Définissez à `1` pour désactiver la compaction automatique lorsque vous approchez de la limite de contexte. La commande `/compact` manuelle reste disponible. Utilisez lorsque vous souhaitez un contrôle explicite sur le moment où la compaction se produit. Remplace le paramètre [`autoCompactEnabled`](/docs/fr/settings-reference#autocompactenabled) |424| `DISABLE_AUTOUPDATER` | Définissez sur `1` pour désactiver les mises à jour automatiques d'arrière-plan. La commande manuelle `claude update` fonctionne toujours. Utilisez `DISABLE_UPDATES` pour bloquer les deux |

419| `DISABLE_COMPACT` | Définissez à `1` pour désactiver toute la compaction : à la fois la compaction automatique et la commande `/compact` manuelle |425| `DISABLE_AUTO_COMPACT` | Définissez sur `1` pour désactiver la compaction automatique lorsque vous approchez de la limite de contexte. La commande manuelle `/compact` reste disponible. Utilisez lorsque vous souhaitez un contrôle explicite sur le moment où la compaction se produit. Remplace le paramètre [`autoCompactEnabled`](/docs/fr/settings-reference#autocompactenabled) |

420| `DISABLE_COST_WARNINGS` | Définissez à `1` pour désactiver les messages d'avertissement de coût |426| `DISABLE_COMPACT` | Définissez sur `1` pour désactiver toute la compaction : à la fois la compaction automatique et la commande manuelle `/compact` |

421| `DISABLE_DOCTOR_COMMAND` | Définissez à `1` pour masquer la compétence de vérification [`/doctor`](/docs/fr/commands#all-commands) et son alias `/checkup`. Utile pour les déploiements gérés où les utilisateurs ne doivent pas exécuter les diagnostics de configuration à partir d'une session. N'affecte pas la commande du terminal `claude doctor`. Avant v2.1.205, cette variable masquait l'écran de diagnostics `/doctor` |427| `DISABLE_COST_WARNINGS` | Définissez sur `1` pour désactiver les messages d'avertissement de coût |

422| `DISABLE_ERROR_REPORTING` | Définissez à n'importe quelle valeur non vide, comme `1`, pour refuser les rapports d'erreurs. **Définir à `0` ou `false` refuse toujours**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour réactiver les rapports d'erreurs |428| `DISABLE_DOCTOR_COMMAND` | Définissez sur `1` pour masquer la compétence de vérification [`/doctor`](/docs/fr/commands#all-commands) et son alias `/checkup`. Utile pour les déploiements gérés où les utilisateurs ne doivent pas exécuter les diagnostics de configuration à partir d'une session. N'affecte pas la commande de terminal `claude doctor`. Avant v2.1.205, cette variable masquait l'écran de diagnostics `/doctor` |

423| `DISABLE_EXTRA_USAGE_COMMAND` | Définissez à `1` pour masquer la commande `/usage-credits` qui permet aux utilisateurs d'acheter une utilisation supplémentaire au-delà des limites de taux |429| `DISABLE_ERROR_REPORTING` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour refuser la signalisation des erreurs. **Définir sur `0` ou `false` refuse toujours**, contrairement à la plupart des variables activées/désactivées ; désactivez la variable pour réactiver la signalisation des erreurs |

424| `DISABLE_FEEDBACK_COMMAND` | Définissez à `1` pour désactiver la commande `/feedback` et les [retours d'information rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior). Désactive également `/bug` et `/share`, qui signalent via le même chemin ; avant v2.1.212, c'étaient des alias de `/feedback`, afin que la commande soit désactivée sous chaque nom. Le nom plus ancien `DISABLE_BUG_COMMAND` est également accepté |430| `DISABLE_EXTRA_USAGE_COMMAND` | Définissez sur `1` pour masquer la commande `/usage-credits` qui permet aux utilisateurs d'acheter une utilisation supplémentaire au-delà des limites de débit |

425| `DISABLE_GROWTHBOOK` | Définissez à `1` ou `true` pour désactiver la récupération des drapeaux de fonctionnalité GrowthBook et utiliser les valeurs par défaut du code pour chaque drapeau. Cela rend [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching) indisponibles. Définir à `0` ou `false` laisse la récupération activée. La journalisation des événements de télémétrie reste activée sauf si `DISABLE_TELEMETRY` est également défini |431| `DISABLE_FEEDBACK_COMMAND` | Définissez sur `1` pour désactiver la commande `/feedback` et les [commentaires rédigés par Claude](/docs/fr/tools-reference#sendfeedback-tool-behavior). Désactive également `/bug` et `/share`, qui signalent via le même chemin ; avant v2.1.212, c'étaient des alias de `/feedback`, afin que la commande soit désactivée sous chaque nom. Le nom plus ancien `DISABLE_BUG_COMMAND` est également accepté |

426| `DISABLE_INSTALLATION_CHECKS` | Définissez à `1` pour désactiver les avertissements d'installation. Utilisez uniquement lorsque vous gérez manuellement l'emplacement d'installation, car cela peut masquer les problèmes avec les installations standard |432| `DISABLE_GROWTHBOOK` | Définissez sur `1` ou `true` pour désactiver la récupération des drapeaux de fonctionnalité GrowthBook et utiliser les valeurs par défaut du code pour chaque drapeau. Cela rend [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching) indisponibles. Définir sur `0` ou `false` laisse la récupération activée. La journalisation des événements de télémétrie reste activée sauf si `DISABLE_TELEMETRY` est également défini |

427| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Définissez à `1` pour masquer la commande `/install-github-app`. Déjà masquée lors de l'utilisation de fournisseurs tiers (Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry) |433| `DISABLE_INSTALLATION_CHECKS` | Définissez sur `1` pour désactiver les avertissements d'installation. Utilisez uniquement lorsque vous gérez manuellement l'emplacement d'installation, car cela peut masquer les problèmes avec les installations standard |

428| `DISABLE_INTERLEAVED_THINKING` | Définissez à `1` pour empêcher l'envoi de l'en-tête bêta de réflexion entrelacée. Utile lorsque votre passerelle LLM ou fournisseur ne supporte pas la [réflexion entrelacée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |434| `DISABLE_INSTALL_GITHUB_APP_COMMAND` | Définissez sur `1` pour masquer la commande `/install-github-app`. Déjà masquée lors de l'utilisation de fournisseurs tiers (Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry) |

429| `DISABLE_LOGIN_COMMAND` | Définissez à `1` pour masquer la commande `/login`. Utile lorsque l'authentification est gérée en externe via des clés API ou `apiKeyHelper` |435| `DISABLE_INTERLEAVED_THINKING` | Définissez sur `1` pour empêcher l'envoi de l'en-tête bêta de réflexion entrelacée. Utile lorsque votre passerelle LLM ou fournisseur ne supporte pas la [réflexion entrelacée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking#interleaved-thinking) |

430| `DISABLE_LOGOUT_COMMAND` | Définissez à `1` pour masquer la commande `/logout` |436| `DISABLE_LOGIN_COMMAND` | Définissez sur `1` pour masquer la commande `/login`. Utile lorsque l'authentification est gérée en externe via des clés API ou `apiKeyHelper` |

431| `DISABLE_PROMPT_CACHING` | Définissez à `1` pour désactiver la [mise en cache du prompt](/docs/fr/prompt-caching#disable-prompt-caching) pour tous les modèles (a la priorité sur les paramètres par modèle) |437| `DISABLE_LOGOUT_COMMAND` | Définissez sur `1` pour masquer la commande `/logout` |

432| `DISABLE_PROMPT_CACHING_FABLE` | Définissez à `1` pour désactiver la mise en cache du prompt pour les modèles Fable |438| `DISABLE_PROMPT_CACHING` | Définissez sur `1` pour désactiver la [mise en cache du prompt](/docs/fr/prompt-caching#disable-prompt-caching) pour tous les modèles (prend la priorité sur les paramètres par modèle) |

433| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez à `1` pour désactiver la mise en cache du prompt pour les modèles Haiku |439| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver la mise en cache du prompt pour les modèles Fable |

434| `DISABLE_PROMPT_CACHING_OPUS` | Définissez à `1` pour désactiver la mise en cache du prompt pour les modèles Opus |440| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez sur `1` pour désactiver la mise en cache du prompt pour les modèles Haiku |

435| `DISABLE_PROMPT_CACHING_SONNET` | Définissez à `1` pour désactiver la mise en cache du prompt pour les modèles Sonnet |441| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver la mise en cache du prompt pour les modèles Opus |

436| `DISABLE_TELEMETRY` | Définissez à n'importe quelle valeur non vide, comme `1`, pour refuser la télémétrie. **Définir à `0` ou `false` refuse toujours**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour réactiver la télémétrie. Les événements de télémétrie n'incluent pas les données utilisateur comme le code, les chemins de fichier ou les commandes bash. Désactive également la récupération des drapeaux de fonctionnalité avec le même effet que `DISABLE_GROWTHBOOK`, ce qui rend [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching) indisponibles. Voir [Désactiver la télémétrie pour votre organisation](/docs/fr/managed-settings#turn-telemetry-off-for-your-organization) |442| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver la mise en cache du prompt pour les modèles Sonnet |

437| `DISABLE_UPDATES` | Définissez à `1` pour bloquer toutes les mises à jour, y compris le `claude update` manuel et `claude install`. Plus strict que `DISABLE_AUTOUPDATER`. Utilisez lorsque vous distribuez Claude Code via vos propres canaux et que les utilisateurs ne doivent pas se mettre à jour eux-mêmes |443| `DISABLE_TELEMETRY` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour refuser la télémétrie. **Définir sur `0` ou `false` refuse toujours**, contrairement à la plupart des variables activées/désactivées ; désactivez la variable pour réactiver la télémétrie. Les événements de télémétrie n'incluent pas les données utilisateur comme le code, les chemins de fichiers ou les commandes bash. Désactive également la récupération des drapeaux de fonctionnalité avec le même effet que `DISABLE_GROWTHBOOK`, ce qui rend [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching) indisponibles. Voir [Désactiver la télémétrie pour votre organisation](/docs/fr/managed-settings#turn-telemetry-off-for-your-organization) |

438| `DISABLE_UPGRADE_COMMAND` | Définissez à `1` pour masquer la commande `/upgrade` |444| `DISABLE_UPDATES` | Définissez sur `1` pour bloquer toutes les mises à jour, y compris la commande manuelle `claude update` et `claude install`. Plus strict que `DISABLE_AUTOUPDATER`. Utilisez lorsque vous distribuez Claude Code via vos propres canaux et que les utilisateurs ne doivent pas se mettre à jour eux-mêmes |

439| `DO_NOT_TRACK` | Définissez à `1` pour refuser la télémétrie, avec le même effet que `DISABLE_TELEMETRY`, y compris rendre [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching) indisponibles. Claude Code lit cette variable en tant que booléen standard, afin que `0` laisse la télémétrie activée, et l'honore en tant que convention inter-outils reconnue par de nombreux CLI de développeur |445| `DISABLE_UPGRADE_COMMAND` | Définissez sur `1` pour masquer la commande `/upgrade` |

440| `ENABLE_BETA_TRACING_DETAILED` | Définissez à `1`, avec `BETA_TRACING_ENDPOINT`, pour activer le [traçage bêta détaillé](/docs/fr/monitoring-usage#traces-beta), qui ajoute des attributs porteurs de contenu et la span `claude_code.hook`. Les sessions CLI interactives nécessitent également que votre organisation soit sur la liste blanche pour la bêta. Les deux variables sont ignorées dans les [paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |446| `DO_NOT_TRACK` | Définissez sur `1` pour refuser la télémétrie, avec le même effet que `DISABLE_TELEMETRY`, y compris rendre [Remote Control](/docs/fr/remote-control#requirements) et les autres [fonctionnalités qui nécessitent la récupération des drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching) indisponibles. Claude Code lit cette variable en tant que booléen standard, afin que `0` laisse la télémétrie activée, et l'honore en tant que convention inter-outils reconnue par de nombreux CLI de développeur |

441| `ENABLE_CLAUDEAI_MCP_SERVERS` | Définissez à `false` pour empêcher Claude Code de récupérer les [serveurs MCP claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai). Activé par défaut pour les utilisateurs connectés. Pour désactiver par projet ou par organisation, définissez [`disableClaudeAiConnectors`](/docs/fr/settings-reference#disableclaudeaiconnectors) dans les paramètres à la place |447| `ENABLE_BETA_TRACING_DETAILED` | Définissez sur `1`, avec `BETA_TRACING_ENDPOINT`, pour activer le [traçage bêta détaillé](/docs/fr/monitoring-usage#traces-beta), qui ajoute des attributs porteurs de contenu et l'intervalle `claude_code.hook`. Les sessions CLI interactives nécessitent également que votre organisation soit sur liste blanche pour la bêta. Les deux variables sont ignorées dans [les paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) |

442| `ENABLE_PROMPT_CACHING_1H` | Définissez à `1` pour demander une [TTL du cache du prompt](/docs/fr/prompt-caching#cache-lifetime) d'une heure au lieu des 5 minutes par défaut. Destiné aux utilisateurs de clé API, [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai), [Microsoft Foundry](/docs/fr/microsoft-foundry) et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Les utilisateurs d'abonnement dans l'utilisation incluse reçoivent automatiquement la TTL d'une heure sur la [conversation principale](/docs/fr/prompt-caching#which-ttl-each-request-gets). Les utilisateurs d'abonnement tirant sur les [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) peuvent le définir pour garder la TTL d'une heure. Les écritures du cache d'une heure sont facturées à un taux plus élevé. Pour choisir la TTL par bucket de requête à la place, utilisez `CLAUDE_CODE_PROMPT_CACHE_TTL` et `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, qui ont la priorité sur cette variable |448| `ENABLE_CLAUDEAI_MCP_SERVERS` | Définissez sur `false` pour empêcher Claude Code de récupérer les [serveurs MCP claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai). Activé par défaut pour les utilisateurs connectés. Pour désactiver par projet ou par organisation, définissez [`disableClaudeAiConnectors`](/docs/fr/settings-reference#disableclaudeaiconnectors) dans les paramètres à la place |

449| `ENABLE_PROMPT_CACHING_1H` | Définissez sur `1` pour demander une [durée de vie du cache du prompt](/docs/fr/prompt-caching#cache-lifetime) d'une heure au lieu des 5 minutes par défaut. Destiné aux utilisateurs de clé API, [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai), [Microsoft Foundry](/docs/fr/microsoft-foundry) et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Les utilisateurs d'abonnement dans l'utilisation incluse reçoivent la durée de vie d'une heure automatiquement sur la [conversation principale](/docs/fr/prompt-caching#which-ttl-each-request-gets). Les utilisateurs d'abonnement tirant sur les [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) peuvent le définir pour garder la durée de vie d'une heure. Les écritures de cache d'une heure sont facturées à un taux plus élevé. Pour choisir la durée de vie par compartiment de requête à la place, utilisez `CLAUDE_CODE_PROMPT_CACHE_TTL` et `CLAUDE_CODE_SUBAGENT_PROMPT_CACHE_TTL`, qui prennent la priorité sur cette variable |

443| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Déprécié. Utilisez `ENABLE_PROMPT_CACHING_1H` à la place |450| `ENABLE_PROMPT_CACHING_1H_BEDROCK` | Déprécié. Utilisez `ENABLE_PROMPT_CACHING_1H` à la place |

444| `ENABLE_TOOL_SEARCH` | Contrôle la [recherche d'outils MCP](/docs/fr/mcp#scale-with-mcp-tool-search). Non défini, Claude Code reporte 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-tiers. `true` reporte 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 s'ajustent 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 à `true` |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` |

445| `FALLBACK_FOR_ALL_PRIMARY_MODELS` | Définissez à n'importe quelle valeur non vide, comme `1`, pour faire arrêter chaque modèle de réessayer avec une erreur de surcharge répétée lorsqu'aucun modèle de secours n'est configuré. **Définir à `0` ou `false` active toujours ceci**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour restaurer le comportement de nouvelle tentative par défaut. Sans ceci, les modèles que Claude Code reconnaît comme des modèles Opus, Fable ou Mythos arrêtent de réessayer de cette façon lorsque vous vous authentifiez avec une clé API ou un [fournisseur tiers](/docs/fr/third-party-integrations) plutôt qu'un abonnement Claude. À partir de v2.1.160, une [chaîne de modèle de secours](/docs/fr/model-config#fallback-model-chains) configurée se déclenche sur les erreurs de surcharge répétée pour n'importe quel modèle principal, afin que cette variable n'affecte pas le changement vers un modèle de secours |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 |

446| `FORCE_AUTOUPDATE_PLUGINS` | Définissez à `1` pour forcer les mises à jour automatiques des plugins même lorsque le mise à jour automatique principale est désactivée via `DISABLE_AUTOUPDATER` |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` |

447| `FORCE_HYPERLINK` | Définissez à `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. Claude Code affiche le [badge PR ou merge request](/docs/fr/interactive-mode#pr-review-status) du pied de page en tant qu'hyperlien même lorsqu'il ne peut pas détecter le support du terminal, comme sur SSH. Définissez `0` pour afficher le badge en tant que texte simple |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 |

448| `FORCE_PROMPT_CACHING_5M` | Définissez à `1` pour forcer la TTL du cache du prompt de 5 minutes même lorsque la TTL 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` |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` |

449| `HTTP_PROXY` | Spécifiez le serveur proxy HTTP pour les connexions réseau |456| `HTTP_PROXY` | Spécifiez le serveur proxy HTTP pour les connexions réseau |

450| `HTTPS_PROXY` | Spécifiez le serveur proxy HTTPS pour les connexions réseau |457| `HTTPS_PROXY` | Spécifiez le serveur proxy HTTPS pour les connexions réseau |

451| `IS_DEMO` | Définissez à n'importe quelle valeur non vide, comme `1`, pour activer le mode démo : masque votre e-mail et le nom de votre organisation à partir de l'en-tête et de la sortie `/status`, et ignore l'intégration. **Définir à `0` ou `false` active toujours le mode démo**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour le désactiver. Utile lors de la diffusion en continu ou de l'enregistrement d'une session |458| `IS_DEMO` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour activer le mode démo : masque votre e-mail et le nom de votre organisation à partir de l'en-tête et de la sortie `/status`, et ignore l'intégration. **Définir sur `0` ou `false` active toujours le mode démo**, contrairement à la plupart des variables activées/désactivées ; désactivez la variable pour le désactiver. Utile lors de la diffusion en continu ou de l'enregistrement d'une session |

452| `MAX_MCP_OUTPUT_TOKENS` | Nombre maximum de jetons autorisés dans les réponses des outils MCP. Claude Code affiche un avertissement lorsque la sortie dépasse 10 000 jetons. Les outils qui déclarent [`anthropic/maxResultSizeChars`](/docs/fr/mcp#raise-the-limit-for-a-specific-tool) utilisent cette limite de caractères pour le contenu textuel à la place, mais le contenu d'image de ces outils est toujours soumis à cette variable (par défaut : 25000) |459| `MAX_MCP_OUTPUT_TOKENS` | Nombre maximum de jetons autorisés dans les réponses des outils MCP. Claude Code affiche un avertissement lorsque la sortie dépasse 10 000 jetons. Les outils qui déclarent [`anthropic/maxResultSizeChars`](/docs/fr/mcp#raise-the-limit-for-a-specific-tool) utilisent cette limite de caractères pour le contenu textuel à la place, mais le contenu d'image de ces outils est toujours soumis à cette variable (par défaut : 25000) |

453| `MAX_STRUCTURED_OUTPUT_RETRIES` | Nombre de fois que Claude Code réessaye lorsque la réponse du modèle échoue la validation par rapport au [`--json-schema`](/docs/fr/cli-reference#cli-flags) en mode non interactif avec le drapeau `-p`. Le même nombre de tentatives s'applique lorsque la sortie structurée d'un [sous-agent](/docs/fr/sub-agents) de [workflow](/docs/fr/workflows) échoue la validation. Par défaut 5 |460| `MAX_STRUCTURED_OUTPUT_RETRIES` | Nombre de tentatives que Claude Code autorise lorsque la réponse du modèle échoue la validation par rapport au [`--json-schema`](/docs/fr/cli-reference#cli-flags) en mode non interactif avec le drapeau `-p` ; après ce nombre de tentatives échouées sans sortie valide, l'exécution échoue. Le même plafond s'applique lorsque la sortie structurée d'un [sous-agent de flux de travail](/docs/fr/workflows) échoue la validation. Par défaut 5, une première tentative plus quatre tentatives |

454| `MAX_THINKING_TOKENS` | Budget de jetons fixe pour la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code le limite à un jeton en dessous des jetons de sortie maximale de la requête et jamais en dessous de 1 024 ; voir `CLAUDE_CODE_MAX_OUTPUT_TOKENS` pour la façon dont cette limite est définie. Lorsqu'il n'est pas défini et que la réflexion est activée, les modèles avec [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) choisissent leur propre profondeur de réflexion, et les autres modèles utilisent le plafond. Définissez à `0` pour désactiver la réflexion sur l'API Anthropic, sauf 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 `thinking` à la place. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau plus élevé aux modèles qu'il sait [n'acceptent pas cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5. Claude Code ignore les valeurs non nulles sur les modèles de raisonnement adaptatif, sauf sur les modèles où `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` désactive le raisonnement adaptatif |461| `MAX_THINKING_TOKENS` | Budget de jetons fixe pour la [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Claude Code le limite à un jeton en dessous des jetons de sortie max de la requête et jamais en dessous de 1 024. Voir `CLAUDE_CODE_MAX_OUTPUT_TOKENS` pour la façon dont cette limite est définie. Lorsqu'il n'est pas défini et que la réflexion est activée, les modèles avec [raisonnement adaptatif](/docs/fr/model-config#adjust-effort-level) choisissent leur propre profondeur de réflexion, et les autres modèles utilisent le plafond. Définissez sur `0` pour désactiver la réflexion sur l'API Anthropic, sauf 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), `0` omet également le paramètre `thinking` à la place. Avec la réflexion désactivée sur l'API Anthropic, Claude Code envoie l'effort `high` au lieu d'un niveau plus élevé aux modèles qu'il sait [ne pas accepter cette combinaison](/docs/fr/errors#effort-isnt-available-with-thinking-turned-off), comme Opus 5. Claude Code ignore les valeurs non nulles sur les modèles de raisonnement adaptatif, sauf sur les modèles où `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` désactive le raisonnement adaptatif |

455| `MCP_CLIENT_SECRET` | Secret client OAuth pour les serveurs MCP qui nécessitent des [identifiants pré-configurés](/docs/fr/mcp#use-pre-configured-oauth-credentials). Évite l'invite interactive lors de l'ajout d'un serveur avec `--client-secret` |462| `MCP_CLIENT_SECRET` | Secret client OAuth pour les serveurs MCP qui nécessitent des [identifiants pré-configurés](/docs/fr/mcp#use-pre-configured-oauth-credentials). Évite l'invite interactive lors de l'ajout d'un serveur avec `--client-secret` |

456| `MCP_CONNECTION_NONBLOCKING` | Contrôle si le démarrage attend que les serveurs MCP se connectent avant la première requête. Le démarrage MCP est non-bloquant par défaut : les serveurs se connectent en arrière-plan et leurs outils deviennent disponibles au fur et à mesure qu'ils se terminent. Définissez à `0` pour faire attendre Claude Code que les serveurs se connectent avant la première requête. Les serveurs configurés avec [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral) font toujours attendre le démarrage quel que soit ceci, sauf lorsqu'ils sont servis à partir du [cache de découverte](/docs/fr/mcp#server-status-detail), car leurs outils doivent être présents lorsque le premier prompt est construit. En mode non interactif (`-p`), Claude Code attend également les serveurs toujours en attente avant le premier tour quel que soit cette variable, avec un délai plus long lorsque vous transmettez [`--mcp-config`](/docs/fr/cli-reference#cli-flags) explicitement ; voir l'entrée de ce drapeau pour l'exception du serveur en cache |463| `MCP_CONNECTION_NONBLOCKING` | Contrôle si le démarrage attend que les serveurs MCP se connectent avant la première requête. Le démarrage MCP est non bloquant par défaut : les serveurs se connectent en arrière-plan et leurs outils deviennent disponibles au fur et à mesure qu'ils se terminent. Définissez sur `0` pour faire en sorte que Claude Code attende que les serveurs se connectent avant la première requête. Les serveurs configurés avec [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral) font toujours attendre le démarrage quel que soit le cas, sauf lorsqu'ils sont servis à partir du [cache de découverte](/docs/fr/mcp#server-status-detail), car leurs outils doivent être présents lorsque le premier prompt est construit. En mode non interactif (`-p`) sans `--input-format stream-json`, Claude Code attend également les serveurs toujours en attente avant le premier tour quel que soit cette variable. Lorsque vous transmettez [`--mcp-config`](/docs/fr/cli-reference#cli-flags) explicitement, l'attente a un délai plus long ; voir l'entrée de ce drapeau pour l'exception du serveur en cache |

457| `MCP_CONNECT_TIMEOUT_MS` | Combien de temps le démarrage MCP bloquant attend, en millisecondes, pour le lot de connexion avant de prendre un instantané de la liste d'outils (par défaut : 5000). S'applique lorsque `MCP_CONNECTION_NONBLOCKING=0` ou pour les serveurs marqués [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral). Les serveurs toujours en attente au délai continuent de se connecter en arrière-plan. Distinct de `MCP_TIMEOUT`, qui limite la tentative de connexion d'un serveur individuel |464| `MCP_CONNECT_TIMEOUT_MS` | Combien de temps le démarrage MCP bloquant attend, en millisecondes, le lot de connexion avant de prendre un instantané de la liste des outils (par défaut : 5000). S'applique lorsque `MCP_CONNECTION_NONBLOCKING=0` ou pour les serveurs marqués [`alwaysLoad: true`](/docs/fr/mcp#exempt-a-server-from-deferral). Les serveurs toujours en attente au délai continuent de se connecter en arrière-plan. Distinct de `MCP_TIMEOUT`, qui limite la tentative de connexion d'un serveur individuel |

458| `MCP_DISCOVERY_CACHE` | Active ou désactive le [cache de découverte MCP](/docs/fr/mcp#server-status-detail). Avec le cache activé, un serveur HTTP ou SSE distant que vous avez utilisé auparavant peut afficher le [statut `cached`](/docs/fr/mcp#server-status-detail), et Claude Code le connecte au premier appel d'outil au lieu du démarrage. Le cache est désactivé par défaut sauf si un déploiement progressif l'a activé pour votre compte. Définissez à `1` pour l'activer, ou `0` pour le garder désactivé même lorsque le déploiement l'a activé. Avant v2.1.238, le cache était activé par défaut. Le statut `cached` nécessite Claude Code v2.1.221 ou ultérieur |465| `MCP_DISCOVERY_CACHE` | Active ou désactive le [cache de découverte MCP](/docs/fr/mcp#server-status-detail). Avec le cache activé, un serveur HTTP ou SSE distant que vous avez utilisé auparavant peut afficher le [statut `cached`](/docs/fr/mcp#server-status-detail), et Claude Code le connecte au premier appel d'outil au lieu du démarrage. Le cache est désactivé par défaut sauf si un déploiement progressif l'a activé pour votre compte. Définissez sur `1` pour l'activer, ou `0` pour le garder désactivé même lorsque le déploiement l'a activé. Avant v2.1.238, le cache était activé par défaut. Le statut `cached` nécessite Claude Code v2.1.221 ou ultérieur |

459| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Âge maximum, en secondes, d'une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) (par défaut : 14400, ou 4 heures). À un démarrage où l'entrée est plus ancienne que cela, Claude Code la rejette et connecte le serveur au démarrage, comme il le fait avec le cache désactivé. Claude Code limite la valeur à 7 jours. Avant v2.1.238, la valeur par défaut était 86400, ou 24 heures, et Claude Code ne limitait pas la valeur |466| `MCP_DISCOVERY_CACHE_MAX_STALE_S` | Âge maximum, en secondes, d'une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) (par défaut : 14400, ou 4 heures). À un démarrage où l'entrée est plus ancienne que cela, Claude Code la rejette et connecte le serveur au démarrage, comme il le fait avec le cache désactivé. Claude Code limite la valeur à 7 jours. Avant v2.1.238, la valeur par défaut était 86400, ou 24 heures, et Claude Code ne limitait pas la valeur |

460| `MCP_DISCOVERY_CACHE_STRIKES` | À un démarrage où une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) est plus ancienne que `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code l'actualise en arrière-plan. Cette variable définit combien d'actualisations consécutives peuvent échouer avant que Claude Code rejette l'entrée et connecte le serveur au prochain démarrage à la place (par défaut : 1). Augmentez-la si votre connexion réseau s'interrompt occasionnellement, afin qu'une actualisation échouée ne rejette pas l'entrée. Nécessite Claude Code v2.1.238 ou ultérieur |467| `MCP_DISCOVERY_CACHE_STRIKES` | À un démarrage où une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) est plus ancienne que `MCP_DISCOVERY_CACHE_TTL_S`, Claude Code l'actualise en arrière-plan. Cette variable définit combien d'actualisations consécutives peuvent échouer avant que Claude Code rejette l'entrée et connecte le serveur au prochain démarrage à la place (par défaut : 1). Augmentez-la si votre connexion réseau s'interrompt occasionnellement, afin qu'une actualisation échouée ne rejette pas l'entrée. Nécessite Claude Code v2.1.238 ou ultérieur |

461| `MCP_DISCOVERY_CACHE_TTL_S` | Secondes pendant lesquelles Claude Code utilise une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) sans l'actualiser (par défaut : 900). À un démarrage où l'entrée est plus ancienne que cela, Claude Code l'utilise toujours mais l'actualise en arrière-plan. Une fois que l'entrée est plus ancienne que `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code la rejette à la place. Claude Code limite la valeur à `MCP_DISCOVERY_CACHE_MAX_STALE_S`, qui est 4 heures par défaut. Avant v2.1.238, Claude Code ne limitait pas la valeur |468| `MCP_DISCOVERY_CACHE_TTL_S` | Secondes pendant lesquelles Claude Code utilise une entrée du [cache de découverte](/docs/fr/mcp#server-status-detail) sans l'actualiser (par défaut : 900). À un démarrage où l'entrée est plus ancienne que cela, Claude Code l'utilise toujours mais l'actualise en arrière-plan. Une fois que l'entrée est plus ancienne que `MCP_DISCOVERY_CACHE_MAX_STALE_S`, Claude Code la rejette à la place. Claude Code limite la valeur à `MCP_DISCOVERY_CACHE_MAX_STALE_S`, qui est 4 heures par défaut. Avant v2.1.238, Claude Code ne limitait pas la valeur |

462| `MCP_OAUTH_CALLBACK_PORT` | Port fixe pour le rappel de redirection OAuth, comme alternative à `--callback-port` lors de l'ajout d'un serveur MCP avec des [identifiants pré-configurés](/docs/fr/mcp#use-pre-configured-oauth-credentials) |469| `MCP_OAUTH_CALLBACK_PORT` | Port fixe pour le rappel de redirection OAuth, comme alternative à `--callback-port` lors de l'ajout d'un serveur MCP avec des [identifiants pré-configurés](/docs/fr/mcp#use-pre-configured-oauth-credentials) |

463| `MCP_PROTOCOL_NEGOTIATION` | Sur le [runtime client MCP v2](/docs/fr/mcp#mcp-client-runtimes) uniquement, si Claude Code sonde les serveurs pour la révision du protocole MCP 2026-07-28. Définissez `auto` pour sonder les serveurs HTTP, connecteur claude.ai et stdio ; un serveur qui ne répond pas à la sonde se connecte sur le protocole antérieur à la place, comme les serveurs SSE et WebSocket le font toujours. Définissez `legacy` pour ignorer la sonde pour chaque serveur. Sans la variable, Claude Code sonde les serveurs HTTP et connecteur claude.ai sur Claude Code v2.1.232 ou ultérieur, avec les exceptions que la section [Runtimes client MCP](/docs/fr/mcp#mcp-client-runtimes) énumère. Toute autre valeur est ignorée avec un avertissement dans le journal de débogage. Nécessite Claude Code v2.1.221 ou ultérieur |470| `MCP_PROTOCOL_NEGOTIATION` | Sur le [runtime client MCP v2](/docs/fr/mcp#mcp-client-runtimes) uniquement, si Claude Code sonde les serveurs pour la révision du protocole MCP 2026-07-28. Définissez `auto` pour sonder les serveurs HTTP, connecteur claude.ai et stdio ; un serveur qui ne répond pas à la sonde se connecte sur le protocole antérieur à la place, comme les serveurs SSE et WebSocket le font toujours. Définissez `legacy` pour ignorer la sonde pour chaque serveur. Sans la variable, Claude Code sonde les serveurs HTTP, et sonde également les serveurs connecteur claude.ai dans les sessions où il [récupère les drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching). Toute autre valeur est ignorée avec un avertissement dans le journal de débogage. Nécessite Claude Code v2.1.221 ou ultérieur |

464| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximum de serveurs MCP distants (HTTP/SSE) à connecter en parallèle pendant le démarrage (par défaut : 20) |471| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximum de serveurs MCP distants (HTTP/SSE) à connecter en parallèle au démarrage (par défaut : 20) |

465| `MCP_SDK_GENERATION` | Épinglez quel [runtime client MCP](/docs/fr/mcp#mcp-client-runtimes) ce processus se connecte aux serveurs MCP avec : `v1`, construit sur MCP TypeScript SDK 1.x, ou `v2`, construit sur [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Sans la variable, Claude Code utilise v2 sur Claude Code v2.1.232 ou ultérieur, sauf où cette section dit qu'il utilise v1. Sur Claude Code v2.1.221 ou ultérieur, le runtime v2 vérifie l'émetteur qu'un serveur OAuth MCP retourne dans sa réponse d'autorisation et échoue la connexion avec une erreur qui commence par `Issuer mismatch in authorization response` lorsqu'il ne correspond pas. Le runtime v1 n'exécute pas cette vérification. Si vous définissez une valeur non reconnue, Claude Code l'ignore et écrit un avertissement dans le journal de débogage. Claude Code lit la valeur une fois par processus. Nécessite Claude Code v2.1.218 ou ultérieur |472| `MCP_SDK_GENERATION` | Épinglez quel [runtime client MCP](/docs/fr/mcp#mcp-client-runtimes) ce processus se connecte aux serveurs MCP avec : `v1`, construit sur MCP TypeScript SDK 1.x, ou `v2`, construit sur [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/). Sans la variable, Claude Code utilise v2, à partir des versions énumérées dans cette section. Sur Claude Code v2.1.221 ou ultérieur, le runtime v2 vérifie l'émetteur qu'un serveur OAuth MCP retourne dans sa réponse d'autorisation et échoue la connexion avec une erreur qui commence par `Issuer mismatch in authorization response` lorsqu'il ne correspond pas. Le runtime v1 n'exécute pas cette vérification. Si vous définissez une valeur non reconnue, Claude Code l'ignore et écrit un avertissement dans le journal de débogage. Claude Code lit la valeur une fois par processus. Nécessite Claude Code v2.1.218 ou ultérieur |

466| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximum de serveurs MCP locaux (stdio) à connecter en parallèle pendant le démarrage (par défaut : 3) |473| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximum de serveurs MCP locaux (stdio) à connecter en parallèle au démarrage (par défaut : 3) |

467| `MCP_TIMEOUT` | Délai d'expiration en millisecondes pour le démarrage du serveur MCP (par défaut : 30000, ou 30 secondes) |474| `MCP_TIMEOUT` | Délai d'expiration en millisecondes pour le démarrage du serveur MCP (par défaut : 30000, ou 30 secondes) |

468| `MCP_TOOL_TIMEOUT` | Délai d'expiration en millisecondes pour l'exécution de l'outil MCP (par défaut : 100000000, environ 28 heures). Pour un serveur HTTP, SSE ou connecteur claude.ai, chaque requête expire également après 60 secondes par défaut ; définissez cette variable, ou le `timeout` par serveur, au-dessus de 60000 pour augmenter cette limite par requête. Une valeur inférieure raccourcit toujours le délai d'expiration global d'exécution d'outil mais laisse la limite par requête à 60 secondes. Les serveurs stdio et WebSocket n'ont pas de minuteur par requête. Un champ `timeout` par serveur dans `.mcp.json` remplace ceci pour ce serveur. Un `timeout` par serveur d'au moins 1000 définit également la fenêtre d'inactivité minimale pour les appels d'outils de ce serveur, afin que `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` ne les interrompe jamais plus tôt ; ce plancher nécessite Claude Code v2.1.203 ou ultérieur. Pour la variable env, les valeurs inférieures à 1000 sont limitées à une seconde ; pour le champ par serveur, les valeurs inférieures à 1000 sont ignorées |475| `MCP_TOOL_TIMEOUT` | Délai d'expiration en millisecondes pour l'exécution de l'outil MCP (par défaut : 100000000, environ 28 heures). Pour un serveur HTTP, SSE ou connecteur claude.ai, chaque requête expire également après 60 secondes par défaut ; définissez cette variable, ou le `timeout` par serveur, au-dessus de 60000 pour augmenter cette limite par requête. Une valeur inférieure raccourcit toujours le délai d'expiration global de l'exécution de l'outil mais laisse la limite par requête à 60 secondes. Les serveurs stdio et WebSocket n'ont pas de minuteur par requête. Un champ `timeout` par serveur dans `.mcp.json` remplace ceci pour ce serveur. Un `timeout` par serveur d'au moins 1000 définit également la fenêtre d'inactivité minimale pour les appels d'outils de ce serveur, afin que `CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT` ne les interrompe jamais plus tôt ; ce plancher nécessite Claude Code v2.1.203 ou ultérieur. Pour la variable env, les valeurs inférieures à 1000 sont limitées à une seconde ; pour le champ par serveur, les valeurs inférieures à 1000 sont ignorées |

469| `NO_PROXY` | Liste des domaines et adresses IP auxquels les requêtes seront émises directement, en contournant le proxy |476| `NO_PROXY` | Liste des domaines et adresses IP auxquels les requêtes seront directement émises, en contournant le proxy |

470| `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 `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) |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) |

471| `OTEL_LOG_ASSISTANT_RESPONSES` | Définissez à `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 à `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) |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) |

472| `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 à `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 de conversation entier. 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) |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) |

473| `OTEL_LOG_TOOL_CONTENT` | Définissez à `1` pour inclure le contenu d'entrée et de sortie d'outil dans les événements de span OpenTelemetry. Désactivé par défaut pour protéger les données sensibles. Voir [Surveillance](/docs/fr/monitoring-usage) |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) |

474| `OTEL_LOG_TOOL_DETAILS` | Définissez à `1` pour inclure les arguments d'entrée d'outil, les noms de serveur MCP, les noms de workflow rédigés par l'utilisateur, les chaînes d'erreur brutes sur les défaillances d'outil, la `category` de refus sur les événements `api_refusal` et d'autres détails d'outil dans les traces et journaux OpenTelemetry. Désactivé par défaut pour protéger les informations personnelles identifiables. Voir [Surveillance](/docs/fr/monitoring-usage) |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) |

475| `OTEL_LOG_USER_PROMPTS` | Définissez à `1` pour inclure le texte du prompt utilisateur dans les traces et journaux OpenTelemetry. Désactivé par défaut (les prompts sont rédactés). Voir [Surveillance](/docs/fr/monitoring-usage) |482| `OTEL_LOG_USER_PROMPTS` | Définissez sur `1` pour inclure le texte du prompt utilisateur dans les traces et journaux OpenTelemetry. Désactivé par défaut (les prompts sont rédactés). Voir [Surveillance](/docs/fr/monitoring-usage) |

476| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Définissez à `false` pour exclure l'UUID du compte des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |483| `OTEL_METRICS_INCLUDE_ACCOUNT_UUID` | Définissez sur `false` pour exclure l'UUID du compte des attributs de métriques (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage) |

477| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Définissez à `true` pour inclure le point d'entrée de la session dans les attributs de métriques (par défaut : exclu). Ajouté dans v2.1.152. Voir [Surveillance](/docs/fr/monitoring-usage) |484| `OTEL_METRICS_INCLUDE_ENTRYPOINT` | Définissez sur `true` pour inclure le point d'entrée de la session dans les attributs de métriques (par défaut : exclu). Ajouté dans v2.1.152. Voir [Surveillance](/docs/fr/monitoring-usage) |

478| `OTEL_METRICS_INCLUDE_REPOSITORY` | Définissez à `true` pour étiqueter les métriques et événements OpenTelemetry avec les attributs `vcs.*` identifiant le référentiel de la session (par défaut : exclu). Nécessite Claude Code v2.1.269 ou ultérieur. Voir [Attributs du référentiel](/docs/fr/monitoring-usage#repository-attributes) |485| `OTEL_METRICS_INCLUDE_REPOSITORY` | Définissez sur `true` pour étiqueter les métriques et événements OpenTelemetry avec les attributs `vcs.*` identifiant le référentiel de la session (par défaut : exclu). Nécessite Claude Code v2.1.269 ou ultérieur. Voir [Attributs du référentiel](/docs/fr/monitoring-usage#repository-attributes) |

479| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | À partir de v2.1.161, Claude Code attache les clés `OTEL_RESOURCE_ATTRIBUTES` aux étiquettes de point de données de métrique. Définissez à `false` pour les exclure (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage#multi-team-organization-support) |486| `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` | À partir de v2.1.161, Claude Code attache les clés `OTEL_RESOURCE_ATTRIBUTES` aux étiquettes de point de données de métrique. Définissez sur `false` pour les exclure (par défaut : inclus). Voir [Surveillance](/docs/fr/monitoring-usage#multi-team-organization-support) |

480| `OTEL_METRICS_INCLUDE_SESSION_ID` | Définissez à `false` pour exclure l'ID de session des attributs de métriques (par défaut : inclus). 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) |

481| `OTEL_METRICS_INCLUDE_VERSION` | Définissez à `true` pour inclure la version de Claude Code dans les attributs de métriques (par défaut : exclu). 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) |

482| `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 |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 |

483| `TASK_MAX_OUTPUT_LENGTH` | Nombre maximum de caractères de sortie d'une [tâche d'arrière-plan](/docs/fr/tools-reference#background-commands) que l'outil `TaskOutput` garde (par défaut : 32000 ; maximum : 160000). Si vous définissez le paramètre [`taskOutputMaxChars`](/docs/fr/settings-reference#taskoutputmaxchars), Claude Code ignore cette variable |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 |

484| `USE_BUILTIN_RIPGREP` | Définissez à `0` pour utiliser le `rg` installé sur le système au lieu du `rg` inclus avec Claude Code |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 |

485| `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 |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 |

486| `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 |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 |

487| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Remplacez la région pour Claude 3.7 Sonnet lors de l'utilisation de Google Cloud's Agent Platform |494| `VERTEX_REGION_CLAUDE_3_7_SONNET` | Remplacez la région pour Claude 3.7 Sonnet lors de l'utilisation de Google Cloud's Agent Platform |


500| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Remplacez la région pour Claude Fable 5.1 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.257 |507| `VERTEX_REGION_CLAUDE_FABLE_5_1` | Remplacez la région pour Claude Fable 5.1 lors de l'utilisation de Google Cloud's Agent Platform. Ajouté dans v2.1.257 |

501| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Remplacez la région pour Claude Haiku 4.5 lors de l'utilisation de Google Cloud's Agent Platform |508| `VERTEX_REGION_CLAUDE_HAIKU_4_5` | Remplacez la région pour Claude Haiku 4.5 lors de l'utilisation de Google Cloud's Agent Platform |

502 509 

503Les variables d'exportateur OpenTelemetry standard (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` et les variantes spécifiques au signal) sont également supportées. Voir [Surveillance](/docs/fr/monitoring-usage) pour les détails de configuration.510Les variables d'exportateur OpenTelemetry standard (`OTEL_METRICS_EXPORTER`, `OTEL_LOGS_EXPORTER`, `OTEL_EXPORTER_OTLP_ENDPOINT`, `OTEL_EXPORTER_OTLP_PROTOCOL`, `OTEL_EXPORTER_OTLP_HEADERS`, `OTEL_METRIC_EXPORT_INTERVAL`, `OTEL_RESOURCE_ATTRIBUTES` et les variantes spécifiques au signal) sont également prises en charge. Voir [Surveillance](/docs/fr/monitoring-usage) pour les détails de configuration.

504 511 

505<h2 id="features-that-need-feature-flag-fetching">512<h2 id="features-that-need-feature-flag-fetching">

506 Fonctionnalités nécessitant la récupération de feature flags513 Fonctionnalités nécessitant la récupération de feature flags


514 521 

515Avec la récupération désactivée, vous ne pouvez pas :522Avec la récupération désactivée, vous ne pouvez pas :

516 523 

524* Faire en sorte que Claude Code [lise les fichiers `AGENTS.md`](/docs/fr/memory#agents-md) comme instructions de projet ; il charge uniquement les fichiers `CLAUDE.md`

517* [Démarrer les sessions en mode auto par défaut](/docs/fr/permission-modes#which-mode-a-session-starts-in) sur les plans Pro, Max et Team525* [Démarrer les sessions en mode auto par défaut](/docs/fr/permission-modes#which-mode-a-session-starts-in) sur les plans Pro, Max et Team

518* Faire en sorte que l'extension VS Code [lise les fichiers de paramètres pour le mode de permission de démarrage](/docs/fr/permission-modes#switch-permission-modes)526* Faire en sorte que l'extension VS Code [lise les fichiers de paramètres pour le mode de permission de démarrage](/docs/fr/permission-modes#switch-permission-modes)

519* Exécuter [`/auto-mode-setup`](/docs/fr/auto-mode-config#generate-environment-entries) pour rédiger les entrées `autoMode.environment`527* Exécuter [`/auto-mode-setup`](/docs/fr/auto-mode-config#generate-environment-entries) pour rédiger les entrées `autoMode.environment`


521* [Envoyer des messages aux sessions au-delà de cette machine](/docs/fr/cross-session-messaging#message-sessions-on-other-machines) ; la messagerie entre les sessions sur cette machine fonctionne avec la récupération désactivée529* [Envoyer des messages aux sessions au-delà de cette machine](/docs/fr/cross-session-messaging#message-sessions-on-other-machines) ; la messagerie entre les sessions sur cette machine fonctionne avec la récupération désactivée

522* Exécuter [`claude import` ou la commande `/import`](/docs/fr/cli-reference#cli-commands)530* Exécuter [`claude import` ou la commande `/import`](/docs/fr/cli-reference#cli-commands)

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

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

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

525* Lire ou répondre aux [commentaires sur un artifact](/docs/fr/artifacts#collect-comments-on-an-artifact)534* Lire ou répondre aux [commentaires sur un artifact](/docs/fr/artifacts#collect-comments-on-an-artifact)

526* Obtenir le [runtime client MCP v2](/docs/fr/mcp#mcp-client-runtimes) et sa sonde de protocole sans définir `MCP_SDK_GENERATION` et `MCP_PROTOCOL_NEGOTIATION` ; Claude Code utilise le runtime v1 sauf si vous définissez `MCP_SDK_GENERATION=v2`, et ignore la sonde sauf si vous définissez `MCP_PROTOCOL_NEGOTIATION=auto`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`

527* 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é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é

528* 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é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é

529* 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)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)

fast-mode.md +16 −3

Details

32* Tapez `/fast` et appuyez sur Tab pour activer ou désactiver32* Tapez `/fast` et appuyez sur Tab pour activer ou désactiver

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. En [mode non-interactif](/docs/fr/headless), avec le drapeau `-p`, `/fast` fonctionne uniquement dans une session lancée avec le mode rapide dans sa valeur [`--settings`](/docs/fr/cli-reference#cli-flags), par exemple `claude -p --settings '{"fastMode": true}'` ; le basculement s'applique alors uniquement à cette session et n'est pas enregistré comme votre paramètre par défaut, et dans toute autre session non-interactive, la commande signale que le mode rapide n'est pas disponible. 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.

36 

37En dehors d'une [session cloud](#use-fast-mode-in-cloud-sessions), en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`, `/fast` fonctionne uniquement dans une session lancée avec le mode rapide dans sa valeur [`--settings`](/docs/fr/cli-reference#cli-flags), par exemple `claude -p --settings '{"fastMode": true}'` ; le basculement s'applique alors uniquement à cette session et n'est pas enregistré comme votre paramètre par défaut. Le formulaire `-p` nécessite Claude Code v2.1.205 ou ultérieur. Ailleurs en mode non-interactif, la commande signale que le mode rapide n'est pas disponible.

36 38 

37Vous pouvez exécuter `/fast` pendant que Claude travaille, et Claude Code bascule le mode rapide sans attendre la fin du tour. Claude Code termine le tour en cours à sa vitesse d'origine, donc le changement de vitesse prend effet à partir de votre prochain tour. Si votre modèle actuel ne supporte pas le mode rapide, l'activer bascule également votre modèle, et Claude Code utilise le nouveau modèle à partir de sa prochaine requête dans ce tour.39Vous pouvez exécuter `/fast` pendant que Claude travaille, et Claude Code bascule le mode rapide sans attendre la fin du tour. Claude Code termine le tour en cours à sa vitesse d'origine, donc le changement de vitesse prend effet à partir de votre prochain tour. Si votre modèle actuel ne supporte pas le mode rapide, l'activer bascule également votre modèle, et Claude Code utilise le nouveau modèle à partir de sa prochaine requête dans ce tour.

38 40 


62 64 

63Claude Code renvoie l'état du mode rapide de la session aux appareils connectés via Contrôle à distance après un changement de modèle, une reconnexion, ou une [vérification de disponibilité](#use-fast-mode-behind-proxies-and-llm-gateways) échouée.65Claude Code renvoie l'état du mode rapide de la session aux appareils connectés via Contrôle à distance après un changement de modèle, une reconnexion, ou une [vérification de disponibilité](#use-fast-mode-behind-proxies-and-llm-gateways) échouée.

64 66 

67<h3 id="use-fast-mode-in-cloud-sessions">

68 Utiliser le mode rapide dans les sessions cloud

69</h3>

70 

71Le mode rapide fonctionne dans les [sessions cloud](/docs/fr/claude-code-on-the-web) quand il est disponible sur votre compte, que la session s'exécute sur l'infrastructure gérée par Anthropic ou un [exécuteur auto-hébergé](/docs/fr/self-hosted-environments). Nécessite Claude Code v2.1.271 ou ultérieur dans l'environnement de la session.

72 

73Tapez `/fast on` dans la session pour activer le mode rapide. Il reste activé pour cette session uniquement et n'est pas enregistré comme votre paramètre par défaut. Les [exigences](#requirements) s'appliquent également dans les sessions cloud.

74 

65<h2 id="understand-the-cost-tradeoff">75<h2 id="understand-the-cost-tradeoff">

66 Comprendre le compromis de coût76 Comprendre le compromis de coût

67</h2>77</h2>


135* **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.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.

136 146 

137<Note>147<Note>

138 Si le mode rapide n'a pas été activé pour votre organisation, la commande `/fast` affichera « Le mode rapide a été désactivé par votre organisation. » Si la liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) de votre organisation exclut le modèle Opus du mode rapide, `/fast` est refusé avec « n'est pas dans les modèles autorisés de votre organisation ». L'exception est 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.148 Deux paramètres d'organisation peuvent empêcher l'activation du mode rapide avec `/fast` :

149 

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

139</Note>152</Note>

140 153 

141<h3 id="enable-fast-mode-for-your-organization">154<h3 id="enable-fast-mode-for-your-organization">


173 186 

174Dans les deux cas, définissez `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` pour restaurer le mode rapide. `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` ne s'applique à aucun des deux cas, puisqu'il contourne uniquement les vérifications échouées et les deux produisent une réponse désactivée à la place. L'autorisation de la sortie directe n'aide pas le cas du jeton porteur, qui n'envoie jamais la demande.187Dans les deux cas, définissez `CLAUDE_CODE_SKIP_FAST_MODE_ORG_CHECK=1` pour restaurer le mode rapide. `CLAUDE_CODE_SKIP_FAST_MODE_NETWORK_ERRORS` ne s'applique à aucun des deux cas, puisqu'il contourne uniquement les vérifications échouées et les deux produisent une réponse désactivée à la place. L'autorisation de la sortie directe n'aide pas le cas du jeton porteur, qui n'envoie jamais la demande.

175 188 

176Les variables affectent uniquement la vérification côté client. Lorsque votre organisation a désactivé le mode rapide, l'API rejette les demandes de mode rapide qu'elles soient définies ou non.189Les variables affectent uniquement la vérification côté client. Lorsque votre organisation a désactivé le mode rapide, l'API rejette les demandes de mode rapide qu'elles soient définies ou non. Un rejet de l'API persiste même avec une variable de saut définie. Claude Code réessaie la demande rejetée à vitesse standard, désactive le mode rapide, et `/fast` signale que votre organisation a désactivé le mode rapide.

177 190 

178La définition de `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` supprime également la vérification de disponibilité. Sans vérification réussie précédemment en cache, `/fast` signale « Le mode rapide n'est actuellement pas disponible » ; les deux variables de saut restaurent le mode rapide dans cette configuration également.191La définition de `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` supprime également la vérification de disponibilité. Sans vérification réussie précédemment en cache, `/fast` signale « Le mode rapide n'est actuellement pas disponible » ; les deux variables de saut restaurent le mode rapide dans cette configuration également.

179 192 

Details

36* [Checkpoints](/docs/fr/checkpointing), [sandboxing](/docs/fr/sandboxing) et [Workflows](/docs/fr/workflows)36* [Checkpoints](/docs/fr/checkpointing), [sandboxing](/docs/fr/sandboxing) et [Workflows](/docs/fr/workflows)

37* Métriques [OpenTelemetry](/docs/fr/monitoring-usage) et le [fichier de paramètres géré](/docs/fr/managed-settings#delivery-mechanisms)37* Métriques [OpenTelemetry](/docs/fr/monitoring-usage) et le [fichier de paramètres géré](/docs/fr/managed-settings#delivery-mechanisms)

38 38 

39Trois d'entre elles ont des différences spécifiques au fournisseur :39Celles-ci ont des différences spécifiques au fournisseur :

40 40 

41* **Mémoire CLAUDE.md** : les fichiers `CLAUDE.md` se chargent chez chaque fournisseur. La lecture des [fichiers `AGENTS.md`](/docs/fr/memory#agents-md) en tant qu'instructions de projet nécessite également une session qui [récupère les indicateurs de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching)

41* **Serveurs MCP** : les [connecteurs de claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) se chargent uniquement lorsque votre abonnement claude.ai est la méthode d'authentification active. La [recherche d'outils](/docs/fr/mcp#configure-tool-search) est désactivée par défaut lorsque `ANTHROPIC_BASE_URL` pointe vers un hôte non-propriétaire, et n'est pas supportée sur les modèles Google Cloud's Agent Platform antérieurs à la génération Claude 4.5 ou sur les [déploiements Microsoft Foundry hébergés sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)42* **Serveurs MCP** : les [connecteurs de claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) se chargent uniquement lorsque votre abonnement claude.ai est la méthode d'authentification active. La [recherche d'outils](/docs/fr/mcp#configure-tool-search) est désactivée par défaut lorsque `ANTHROPIC_BASE_URL` pointe vers un hôte non-propriétaire, et n'est pas supportée sur les modèles Google Cloud's Agent Platform antérieurs à la génération Claude 4.5 ou sur les [déploiements Microsoft Foundry hébergés sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)

42* **Subagents** : le [Subagent Explore intégré](/docs/fr/sub-agents#built-in-subagents) limite son modèle hérité à Opus sur l'API Claude, et hérite directement du modèle de la conversation principale sur tout autre fournisseur, y compris Claude Platform sur AWS43* **Subagents** : le [Subagent Explore intégré](/docs/fr/sub-agents#built-in-subagents) limite son modèle hérité à Opus sur l'API Claude, et hérite directement du modèle de la conversation principale sur tout autre fournisseur, y compris Claude Platform sur AWS

43* **[Commands](/docs/fr/commands#all-commands)** :44* **[Commands](/docs/fr/commands#all-commands)** :


226 227 

227<Note>228<Note>

228 Si vous vous authentifiez via une [passerelle LLM](/docs/fr/llm-gateway), la disponibilité des fonctionnalités correspond au fournisseur sous-jacent vers lequel la passerelle transfère, sauf pour les fonctionnalités que Claude Code désactive lui-même. Chaque fois que `ANTHROPIC_BASE_URL` pointe vers un hôte autre que `api.anthropic.com`, Claude Code désactive des fonctionnalités telles que [Remote Control](/docs/fr/remote-control#requirements) et [paramètres gérés par le serveur](/docs/fr/server-managed-settings#platform-availability), quelle que soit la passerelle transfère. Certaines fonctionnalités exclusives à Anthropic telles que l'[Advisor](/docs/fr/advisor) ne fonctionnent que si la passerelle transfère les demandes intactes à l'API Anthropic.229 Si vous vous authentifiez via une [passerelle LLM](/docs/fr/llm-gateway), la disponibilité des fonctionnalités correspond au fournisseur sous-jacent vers lequel la passerelle transfère, sauf pour les fonctionnalités que Claude Code désactive lui-même. Chaque fois que `ANTHROPIC_BASE_URL` pointe vers un hôte autre que `api.anthropic.com`, Claude Code désactive des fonctionnalités telles que [Remote Control](/docs/fr/remote-control#requirements) et [paramètres gérés par le serveur](/docs/fr/server-managed-settings#platform-availability), quelle que soit la passerelle transfère. Certaines fonctionnalités exclusives à Anthropic telles que l'[Advisor](/docs/fr/advisor) ne fonctionnent que si la passerelle transfère les demandes intactes à l'API Anthropic.

230 

231 Pour connaître les différences entre les demandes que Claude Code envoie entre une passerelle au format Amazon Bedrock ou Agent Platform, une passerelle `ANTHROPIC_BASE_URL` et une connexion à une passerelle d'applications Claude, consultez [comportement du client par méthode de connexion](/docs/fr/llm-gateway-protocol#how-the-connection-method-changes-client-behavior).

229</Note>232</Note>

230 233 

231<h3 id="summary-by-provider">234<h3 id="summary-by-provider">


303 306 

304| Fonctionnalité | Pro | Max | Team | Enterprise |307| Fonctionnalité | Pro | Max | Team | Enterprise |

305| :-------------------------------------------------------------------------- | :-- | :-- | :------------ | :-------------------------------- |308| :-------------------------------------------------------------------------- | :-- | :-- | :------------ | :-------------------------------- |

306| [Claude Code sur le web](/docs/fr/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |309| [Cloud sessions](/docs/fr/claude-code-on-the-web) | ✓ | ✓ | ✓ | ✓ <sup><a href="#fn6">6</a></sup> |

307| [Routines](/docs/fr/routines) | ✓ | ✓ | ✓ | ✓ |310| [Routines](/docs/fr/routines) | ✓ | ✓ | ✓ | ✓ |

308| [Remote Control](/docs/fr/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |311| [Remote Control](/docs/fr/remote-control) | ✓ | ✓ | Admin-enabled | Admin-enabled |

309| [Channels](/docs/fr/channels) | ✓ | ✓ | Admin-enabled | Admin-enabled |312| [Channels](/docs/fr/channels) | ✓ | ✓ | Admin-enabled | Admin-enabled |


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

320| [Zero Data Retention](/docs/fr/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |323| [Zero Data Retention](/docs/fr/zero-data-retention) | ✗ | ✗ | ✗ | ✓ <sup><a href="#fn7">7</a></sup> |

321 324 

322<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> Sur Enterprise, nécessite un siège premium ou un siège Chat + Claude Code. Consultez [Claude Code sur le web](/docs/fr/claude-code-on-the-web).<br />325<span id="fn6" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>6</sup> Sur Enterprise, nécessite un siège premium ou un siège Chat + Claude Code. Consultez [Cloud sessions](/docs/fr/claude-code-on-the-web).<br />

323<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> Non inclus dans le plan Enterprise standard. Nécessite une activation séparée par Anthropic pour les comptes qualifiés. Consultez [Zero Data Retention](/docs/fr/zero-data-retention).326<span id="fn7" style={{display: 'block', position: 'relative', top: '-120px'}} /><sup>7</sup> Non inclus dans le plan Enterprise standard. Nécessite une activation séparée par Anthropic pour les comptes qualifiés. Consultez [Zero Data Retention](/docs/fr/zero-data-retention).

324 327 

325Pour la tarification et la comparaison complète des plans, consultez [Plans Team](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) et [Plans Enterprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).328Pour la tarification et la comparaison complète des plans, consultez [Plans Team](https://support.claude.com/en/articles/9266767-what-is-the-team-plan) et [Plans Enterprise](https://support.claude.com/en/articles/9797531-what-is-the-enterprise-plan).

Details

294 294 

295 * L'invite système de l'agent, pas l'invite système de Claude Code295 * L'invite système de l'agent, pas l'invite système de Claude Code

296 * Contenu complet des skills listées dans le champ `skills:` de l'agent296 * Contenu complet des skills listées dans le champ `skills:` de l'agent

297 * CLAUDE.md et statut git, sauf les agents Explore et Plan intégrés [qui omettent les deux](/docs/fr/sub-agents#what-loads-at-startup)297 * CLAUDE.md et statut git, sauf les agents Explore et Plan intégrés [qui omettent les deux](/docs/fr/sub-agents#what-loads-at-startup), et un agent dont la définition définit [`omitClaudeMd`](/docs/fr/sub-agents#supported-frontmatter-fields) ignore les fichiers CLAUDE.md utilisateur, projet et local

298 * Quel que soit le contexte que l'agent principal transmet dans l'invite298 * Quel que soit le contexte que l'agent principal transmet dans l'invite

299 299 

300 Pour un [fork](/docs/fr/sub-agents#fork-the-current-conversation), Claude Code charge la conversation parent jusqu'à présent, l'invite système et les outils à la place.300 Pour un [fork](/docs/fr/sub-agents#fork-the-current-conversation), Claude Code charge la conversation parent jusqu'à présent, l'invite système et les outils à la place.

fullscreen.md +1 −0

Details

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

103* **Cliquez sur une option dans un menu de sélection** pour la choisir. Cela couvre les invites de permission, `/model`, `/config` et autres dialogues qui affichent une liste d'options. Le survol affiche un pointeur sur la ligne sous votre curseur. Nécessite Claude Code v2.1.187 ou version ultérieure.103* **Cliquez sur une option dans un menu de sélection** pour la choisir. Cela couvre les invites de permission, `/model`, `/config` et autres dialogues qui affichent une liste d'options. Le survol affiche un pointeur sur la ligne sous votre curseur. Nécessite Claude Code v2.1.187 ou version ultérieure.

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

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

105* **Cliquez sur un résultat d'outil réduit** pour le développer et voir la sortie complète. Cliquez à nouveau pour le réduire. L'appel d'outil et son résultat se développent ensemble. Seuls les messages qui ont plus à afficher sont cliquables.106* **Cliquez sur un résultat d'outil réduit** pour le développer et voir la sortie complète. Cliquez à nouveau pour le réduire. L'appel d'outil et son résultat se développent ensemble. Seuls les messages qui ont plus à afficher sont cliquables.

106 * Cliquer développe également la sortie d'une commande shell `!`, qu'il s'agisse d'un résultat tronqué plus ancien ou de la ligne de progression en direct pendant l'exécution de la commande. Nécessite Claude Code v2.1.257 ou version ultérieure.107 * Cliquer développe également la sortie d'une commande shell `!`, qu'il s'agisse d'un résultat tronqué plus ancien ou de la ligne de progression en direct pendant l'exécution de la commande. Nécessite Claude Code v2.1.257 ou version ultérieure.

107* **Maintenez `Cmd` sur macOS, ou `Ctrl` sur Linux et Windows, et cliquez sur une URL ou un chemin de fichier** pour l'ouvrir. Les URLs simples `http://` et `https://` s'ouvrent dans votre navigateur, et les chemins de fichiers dans la sortie d'outil, comme ceux imprimés après une opération Edit ou Write, s'ouvrent dans votre application par défaut. Un simple clic sans le modificateur n'ouvre pas les liens, ce qui correspond au comportement du terminal natif.108* **Maintenez `Cmd` sur macOS, ou `Ctrl` sur Linux et Windows, et cliquez sur une URL ou un chemin de fichier** pour l'ouvrir. Les URLs simples `http://` et `https://` s'ouvrent dans votre navigateur, et les chemins de fichiers dans la sortie d'outil, comme ceux imprimés après une opération Edit ou Write, s'ouvrent dans votre application par défaut. Un simple clic sans le modificateur n'ouvre pas les liens, ce qui correspond au comportement du terminal natif.

Details

11Plusieurs produits partagent le nom Claude Code. Cette page couvre l'intégration de workflow `claude-code-action`, que vous configurez avec des fichiers de workflow dans votre repository. Pour les produits connexes, consultez :11Plusieurs produits partagent le nom Claude Code. Cette page couvre l'intégration de workflow `claude-code-action`, que vous configurez avec des fichiers de workflow dans votre repository. Pour les produits connexes, consultez :

12 12 

13* [Code Review](/docs/fr/code-review) : révision automatique sur chaque pull request, sans écrire de workflow13* [Code Review](/docs/fr/code-review) : révision automatique sur chaque pull request, sans écrire de workflow

14* [Claude Code sur le web](/docs/fr/claude-code-on-the-web) : sessions Claude Code depuis votre navigateur ou téléphone14* [Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) : sessions Claude Code qui s'exécutent sur une infrastructure cloud au lieu de votre machine

15* [Claude Agent SDK](/docs/fr/agent-sdk/overview) : automatisation personnalisée en dehors de GitHub Actions. La GitHub Action Claude Code est construite sur le SDK15* [Claude Agent SDK](/docs/fr/agent-sdk/overview) : automatisation personnalisée en dehors de GitHub Actions. La GitHub Action Claude Code est construite sur le SDK

16* [GitHub Enterprise Server](/docs/fr/github-enterprise-server) : Claude Code avec GitHub auto-hébergé16* [GitHub Enterprise Server](/docs/fr/github-enterprise-server) : Claude Code avec GitHub auto-hébergé

17 17 


131 Permissions de la GitHub App131 Permissions de la GitHub App

132</h3>132</h3>

133 133 

134La [Claude GitHub App](https://github.com/apps/claude) est partagée par chaque fonctionnalité Claude qui s'intègre à GitHub, y compris la GitHub Action Claude Code, [Code Review](/docs/fr/code-review) et [auto-fix pour les pull requests](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) sur Claude Code sur le web. Une GitHub App a un ensemble de permissions unique couvrant toutes ses fonctionnalités, donc l'ensemble inclut certaines permissions que la GitHub Action Claude Code n'utilise pas.134La [Claude GitHub App](https://github.com/apps/claude) est partagée par chaque fonctionnalité Claude qui s'intègre à GitHub, y compris la GitHub Action Claude Code, [Code Review](/docs/fr/code-review) et [auto-fix pour les pull requests](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) dans les sessions cloud. Une GitHub App a un ensemble de permissions unique couvrant toutes ses fonctionnalités, donc l'ensemble inclut certaines permissions que la GitHub Action Claude Code n'utilise pas.

135 135 

136Lorsque vous installez l'app, vous accordez les permissions suivantes :136Lorsque vous installez l'app, vous accordez les permissions suivantes :

137 137 

Details

41 Configurer l'intégration41 Configurer l'intégration

42</h2>42</h2>

43 43 

44Au-delà des conditions préalables, vous créez quatre choses : une identité GitHub pour Claude Code GitHub Action, la configuration de confiance côté cloud, les secrets du référentiel et le fichier de workflow. Les étapes ci-dessous vous guident à travers chacune d'elles.44Au-delà des conditions préalables, vous créez une identité GitHub pour Claude Code GitHub Action, la configuration de confiance côté cloud, les secrets du référentiel et le fichier de workflow. Les étapes ci-dessous vous guident à travers chacune d'elles.

45 45 

46<Steps>46<Steps>

47 <Step title="Choisir une identité GitHub">47 <Step title="Choisir une identité GitHub">

48 Claude Code GitHub Action pousse les commits et publie les commentaires via une identité GitHub. La [configuration rapide](/docs/fr/github-actions#quick-setup) installe l'application Claude GitHub officielle pour cela. Avec un fournisseur cloud, vous choisissez l'identité vous-même :48 Claude Code GitHub Action pousse les commits et publie les commentaires via une identité GitHub. La [configuration rapide](/docs/fr/github-actions#quick-setup) installe l'application Claude GitHub officielle pour cela. Avec un fournisseur cloud, vous choisissez l'identité vous-même :

49 49 

50 * **[Application Claude GitHub](https://github.com/apps/claude) officielle** : installez-la sur le référentiel, ou passez à l'étape suivante si elle est déjà installée50 * **[Application Claude GitHub](https://github.com/apps/claude) officielle** : installez-la sur le référentiel, ou passez à l'étape suivante si elle est déjà installée

51 * **Application GitHub personnalisée** : créez votre propre application, décrite ci-dessous, lorsque vous souhaitez uniquement les trois permissions que Claude Code GitHub Action utilise plutôt que l'[ensemble complet de l'application officielle](/docs/fr/github-actions#github-app-permissions)51 * **Application GitHub personnalisée** : créez votre propre application lorsque vous souhaitez uniquement les trois permissions que Claude Code GitHub Action utilise plutôt que l'[ensemble complet de l'application officielle](/docs/fr/github-actions#github-app-permissions)

52 * **`GITHUB_TOKEN` automatique de GitHub** : aucune application à créer ou installer, mais GitHub ne déclenche pas vos workflows CI sur les commits effectués avec celui-ci52 * **`GITHUB_TOKEN` automatique de GitHub** : aucune application à créer ou installer, mais GitHub ne déclenche pas vos workflows CI sur les commits effectués avec celui-ci

53 53 

54 Les exemples de workflow à la quatrième étape s'authentifient avec une application personnalisée. Cette étape indique également ce qu'il faut modifier pour les deux autres options.54 Les exemples de workflow à la quatrième étape s'authentifient avec une application personnalisée. Cette étape indique également ce qu'il faut modifier pour les deux autres options.

Details

4 4 

5# Claude Code avec GitHub Enterprise Server5# Claude Code avec GitHub Enterprise Server

6 6 

7> Connectez Claude Code à votre instance GitHub Enterprise Server auto-hébergée pour les sessions web, la révision de code et les marketplaces de plugins.7> Connectez Claude Code à votre instance GitHub Enterprise Server auto-hébergée pour les sessions cloud, la révision de code et les marketplaces de plugins.

8 8 

9<Note>9<Note>

10 Le support de GitHub Enterprise Server est disponible pour les plans Team et Enterprise.10 Le support de GitHub Enterprise Server est disponible pour les plans Team et Enterprise.

11</Note>11</Note>

12 12 

13Le support de GitHub Enterprise Server (GHES) permet à votre organisation d'utiliser Claude Code avec des dépôts hébergés sur votre instance GitHub auto-gérée au lieu de github.com. Une fois qu'un propriétaire connecte votre instance GHES, les développeurs peuvent exécuter des sessions web et obtenir des révisions de code automatisées sans aucune configuration par dépôt. Les marketplaces de plugins hébergées sur votre instance sont également pris en charge ; les exigences en matière d'identifiants varient selon la surface, comme décrit dans [Plugin marketplaces on GHES](#plugin-marketplaces-on-ghes).13Le support de GitHub Enterprise Server (GHES) permet à votre organisation d'utiliser Claude Code avec des dépôts hébergés sur votre instance GitHub auto-gérée au lieu de github.com. Une fois qu'un propriétaire connecte votre instance GHES, les développeurs peuvent exécuter des sessions cloud et obtenir des révisions de code automatisées sans aucune configuration par dépôt. Les marketplaces de plugins hébergées sur votre instance sont également pris en charge ; les exigences en matière d'identifiants varient selon la surface, comme décrit dans [Plugin marketplaces on GHES](#plugin-marketplaces-on-ghes).

14 14 

15Pour les dépôts sur github.com, consultez [Claude Code sur le web](/docs/fr/claude-code-on-the-web) et [Révision de code](/docs/fr/code-review). Pour exécuter Claude dans votre propre infrastructure CI, consultez [GitHub Actions](/docs/fr/github-actions).15Pour les dépôts sur github.com, consultez [Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) et [Révision de code](/docs/fr/code-review). Pour exécuter Claude dans votre propre infrastructure CI, consultez [GitHub Actions](/docs/fr/github-actions).

16 16 

17<h2 id="what-works-with-github-enterprise-server">17<h2 id="what-works-with-github-enterprise-server">

18 Ce qui fonctionne avec GitHub Enterprise Server18 Ce qui fonctionne avec GitHub Enterprise Server


22 22 

23| Fonctionnalité | Support GHES | Notes |23| Fonctionnalité | Support GHES | Notes |

24| :------------------------ | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |24| :------------------------ | :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------- |

25| Claude Code sur le web | ✅ Supporté | Un propriétaire connecte l'instance GHES une fois ; les développeurs utilisent `claude --cloud` ou [claude.ai/code](https://claude.ai/code) comme d'habitude |25| Sessions cloud | ✅ Supporté | Un propriétaire connecte l'instance GHES une fois ; les développeurs utilisent `claude --cloud` ou [claude.ai/code](https://claude.ai/code) comme d'habitude |

26| Révision de code | ✅ Supporté | Mêmes révisions de PR automatisées que github.com |26| Révision de code | ✅ Supporté | Mêmes révisions de PR automatisées que github.com |

27| Claude Security | ✅ Supporté | Disponible en bêta publique pour les plans Enterprise à [claude.ai/security](https://claude.ai/security) |27| Claude Security | ✅ Supporté | Disponible en bêta publique pour les plans Enterprise à [claude.ai/security](https://claude.ai/security) |

28| Sessions Teleport | ✅ Supporté | Déplacez les sessions entre le web et le terminal avec `--teleport` |28| Sessions Teleport | ✅ Supporté | Déplacez les sessions entre le cloud et le terminal avec `--teleport` |

29| Marketplaces de plugins | ✅ Supporté | Les exigences en matière d'identifiants varient selon la surface. Voir [Marketplaces de plugins sur GHES](#plugin-marketplaces-on-ghes) |29| Marketplaces de plugins | ✅ Supporté | Les exigences en matière d'identifiants varient selon la surface. Voir [Marketplaces de plugins sur GHES](#plugin-marketplaces-on-ghes) |

30| Métriques de contribution | ✅ Supporté | Livrées via webhooks au [tableau de bord d'analyse](/docs/fr/analytics) |30| Métriques de contribution | ✅ Supporté | Livrées via webhooks au [tableau de bord d'analyse](/docs/fr/analytics) |

31| GitHub Actions | ✅ Supporté | Nécessite une configuration manuelle du workflow ; `/install-github-app` est github.com uniquement |31| GitHub Actions | ✅ Supporté | Nécessite une configuration manuelle du workflow ; `/install-github-app` est github.com uniquement |


110cd api-service110cd api-service

111```111```

112 112 

113Ensuite, démarrez une session web. Claude détecte l'hôte GHES à partir de votre télécommande git et achemine la session via votre instance configurée de l'organisation :113Ensuite, démarrez une session cloud. Claude détecte l'hôte GHES à partir de votre télécommande git et achemine la session via votre instance configurée de l'organisation :

114 114 

115```bash theme={null}115```bash theme={null}

116claude --cloud "Add retry logic to the payment webhook handler"116claude --cloud "Add retry logic to the payment webhook handler"

117```117```

118 118 

119La session clone votre dépôt à partir de GHES et repousse les modifications vers une branche. Surveillez la progression à [claude.ai/code](https://claude.ai/code). Consultez [Claude Code sur le web](/docs/fr/claude-code-on-the-web) pour le flux de travail complet de la session cloud, y compris la révision des différences, la correction automatique et les routines.119La session clone votre dépôt à partir de GHES et repousse les modifications vers une branche. Surveillez la progression à [claude.ai/code](https://claude.ai/code). Consultez [Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) pour le flux de travail complet de la session cloud, y compris la révision des différences, la correction automatique et les routines.

120 120 

121<h3 id="teleport-sessions-to-your-terminal">121<h3 id="teleport-sessions-to-your-terminal">

122 Téléporter les sessions vers votre terminal122 Téléporter les sessions vers votre terminal

123</h3>123</h3>

124 124 

125Tirez une session web dans votre terminal local avec `claude --teleport`. Teleport vérifie que vous êtes dans une extraction du même dépôt GHES avant de récupérer la branche et de charger l'historique de la session. Consultez [les exigences de téléportation](/docs/fr/claude-code-on-the-web#teleport-requirements) pour plus de détails.125Tirez une session cloud dans votre terminal local avec `claude --teleport`. Teleport vérifie que vous êtes dans une extraction du même dépôt GHES avant de récupérer la branche et de charger l'historique de la session. Consultez [les exigences de téléportation](/docs/fr/claude-code-on-the-web#teleport-requirements) pour plus de détails.

126 126 

127<h2 id="plugin-marketplaces-on-ghes">127<h2 id="plugin-marketplaces-on-ghes">

128 Marketplaces de plugins sur GHES128 Marketplaces de plugins sur GHES


136| Paramètres gérés (`extraKnownMarketplaces`) | Claude Code enregistre l'entrée et clone le dépôt en utilisant les identifiants git existants de la machine | Accès Git à votre hôte GHES depuis leur machine |136| Paramètres gérés (`extraKnownMarketplaces`) | Claude Code enregistre l'entrée et clone le dépôt en utilisant les identifiants git existants de la machine | Accès Git à votre hôte GHES depuis leur machine |

137| Paramètres de plugin de l'organisation claude.ai | Un propriétaire sélectionne l'instance GHES comme source ; le backend d'Anthropic récupère et synchronise le dépôt en utilisant l'application GitHub de la [configuration d'administration](#admin-setup) | Rien par utilisateur une fois ajouté. Le propriétaire qui l'ajoute doit avoir son propre compte GitHub Enterprise connecté comme vérification d'accès, et l'application GitHub doit être installée sur le dépôt de la marketplace |137| Paramètres de plugin de l'organisation claude.ai | Un propriétaire sélectionne l'instance GHES comme source ; le backend d'Anthropic récupère et synchronise le dépôt en utilisant l'application GitHub de la [configuration d'administration](#admin-setup) | Rien par utilisateur une fois ajouté. Le propriétaire qui l'ajoute doit avoir son propre compte GitHub Enterprise connecté comme vérification d'accès, et l'application GitHub doit être installée sur le dépôt de la marketplace |

138| Paramètres utilisateur claude.ai | Le backend d'Anthropic récupère le dépôt en utilisant la connexion GitHub Enterprise de l'utilisateur qui le soumet | Son propre compte GitHub Enterprise connecté à Claude |138| Paramètres utilisateur claude.ai | Le backend d'Anthropic récupère le dépôt en utilisant la connexion GitHub Enterprise de l'utilisateur qui le soumet | Son propre compte GitHub Enterprise connecté à Claude |

139| Claude Code sur le web | Les sessions cloud clonent les marketplaces à l'intérieur du sandbox de la session. Le sandbox ne peut atteindre votre instance GHES que lorsque le dépôt de la session se trouve sur cette même instance, et ses identifiants git sont limités aux dépôts de la session | Non fiable pour les marketplaces hébergées sur GHES : un hôte différent du dépôt de la session n'est pas accessible, et même les installations sur la même instance peuvent échouer. Utilisez plutôt la CLI, les paramètres gérés ou claude.ai |139| Cloud sessions | Les sessions cloud clonent les marketplaces à l'intérieur du sandbox de la session. Le sandbox ne peut atteindre votre instance GHES que lorsque le dépôt de la session se trouve sur cette même instance, et ses identifiants git sont limités aux dépôts de la session | Non fiable pour les marketplaces hébergées sur GHES : un hôte différent du dépôt de la session n'est pas accessible, et même les installations sur la même instance peuvent échouer. Utilisez plutôt la CLI, les paramètres gérés ou claude.ai |

140 140 

141<Warning>141<Warning>

142 Les connexions GitHub Enterprise sur claude.ai sont par utilisateur lorsqu'une marketplace est ajoutée à partir des paramètres utilisateur. La [configuration d'administration](#admin-setup) connecte votre instance GHES à votre organisation, mais elle ne connecte pas les comptes utilisateur individuels : chaque utilisateur qui ajoute une marketplace GHES à partir de ses propres paramètres doit d'abord connecter son propre compte GitHub Enterprise, et la connexion d'un utilisateur, y compris celle du propriétaire, ne couvre personne d'autre. Les marketplaces ajoutées par un propriétaire dans les paramètres de plugin de l'organisation ne mettent pas cette exigence sur les utilisateurs, car les récupérations continues utilisent l'application GitHub de l'organisation. Le propriétaire qui ajoute la marketplace doit toujours avoir son propre compte GitHub Enterprise connecté au moment de l'ajout.142 Les connexions GitHub Enterprise sur claude.ai sont par utilisateur lorsqu'une marketplace est ajoutée à partir des paramètres utilisateur. La [configuration d'administration](#admin-setup) connecte votre instance GHES à votre organisation, mais elle ne connecte pas les comptes utilisateur individuels : chaque utilisateur qui ajoute une marketplace GHES à partir de ses propres paramètres doit d'abord connecter son propre compte GitHub Enterprise, et la connexion d'un utilisateur, y compris celle du propriétaire, ne couvre personne d'autre. Les marketplaces ajoutées par un propriétaire dans les paramètres de plugin de l'organisation ne mettent pas cette exigence sur les utilisateurs, car les récupérations continues utilisent l'application GitHub de l'organisation. Le propriétaire qui ajoute la marketplace doit toujours avoir son propre compte GitHub Enterprise connecté au moment de l'ajout.


220 Dépannage220 Dépannage

221</h2>221</h2>

222 222 

223<h3 id="web-session-fails-to-clone-repository">223<h3 id="cloud-session-fails-to-clone-repository">

224 La session web échoue à cloner le dépôt224 La session web échoue à cloner le dépôt

225</h3>225</h3>

226 226 

glossary.md +22 −5

Details

12 A12 A

13</h2>13</h2>

14 14 

15<h3 id="agents-md">

16 AGENTS.md

17</h3>

18 

19Un fichier markdown d'instructions de projet que vous écrivez pour les agents de codage IA. Si votre référentiel en contient un et aucun [CLAUDE.md](#claude-md), Claude le lit comme vos instructions de projet sans que vous ayez besoin d'ajouter un deuxième fichier. Vous pouvez modifier le paramètre **Project instructions** dans `/config` pour que Claude lise les deux fichiers ou seulement `CLAUDE.md`. La lecture directe de `AGENTS.md` nécessite Claude Code v2.1.277 ou ultérieur dans une session qui récupère les feature flags ; sur les autres versions, importez-le à partir d'un CLAUDE.md.

20 

21En savoir plus : [AGENTS.md](/docs/fr/memory#agents-md)

22 

15<h3 id="agent-teams">23<h3 id="agent-teams">

16 Agent teams24 Agent teams

17</h3>25</h3>


122 130 

123Un fichier markdown d'instructions persistantes que vous écrivez pour Claude, chargé au début de chaque session en tant que message utilisateur après l'invite système. Mettez les conventions de projet, les notes d'architecture et les règles « toujours faire X » ici. Project-root CLAUDE.md survit à [compaction](#compaction) et est relu à nouveau à partir du disque après.131Un fichier markdown d'instructions persistantes que vous écrivez pour Claude, chargé au début de chaque session en tant que message utilisateur après l'invite système. Mettez les conventions de projet, les notes d'architecture et les règles « toujours faire X » ici. Project-root CLAUDE.md survit à [compaction](#compaction) et est relu à nouveau à partir du disque après.

124 132 

125Vous pouvez placer CLAUDE.md au niveau du projet dans `./CLAUDE.md` ou `./.claude/CLAUDE.md`, au niveau utilisateur dans `~/.claude/CLAUDE.md`, ou comme [managed policy](#managed-settings) pour votre organisation. Tous les fichiers découverts sont concaténés dans le contexte plutôt que de se remplacer les uns les autres, ordonnés du champ d'application le plus large au plus spécifique.133Vous pouvez placer CLAUDE.md au niveau du projet dans `./CLAUDE.md` ou `./.claude/CLAUDE.md`, au niveau utilisateur dans `~/.claude/CLAUDE.md`, ou comme [managed policy](#managed-settings) pour votre organisation. Tous les fichiers découverts sont concaténés dans le contexte plutôt que de se remplacer les uns les autres, ordonnés du champ d'application le plus large au plus spécifique. Claude Code peut également charger les fichiers [AGENTS.md](#agents-md) d'un projet, seuls ou aux côtés de CLAUDE.md.

126 134 

127En savoir plus : [CLAUDE.md files](/docs/fr/memory#claude-md-files)135En savoir plus : [CLAUDE.md files](/docs/fr/memory#claude-md-files)

128 136 

137<h3 id="cloud-session">

138 Cloud session

139</h3>

140 

141Une session Claude Code qui continue de s'exécuter après avoir fermé votre ordinateur portable, car elle s'exécute sur une infrastructure cloud au lieu de votre machine : gérée par Anthropic par défaut, ou un [environnement auto-hébergé](/docs/fr/self-hosted-environments) que votre organisation exploite. Vous en démarrez une à partir de claude.ai/code, l'application mobile Claude, l'application Desktop avec **Cloud** sélectionné, `claude --cloud`, ou une [routine](/docs/fr/routines). Une session dans votre terminal, IDE ou l'application Desktop avec **Local** sélectionné est une session locale ; pour accéder à une session locale à partir d'un autre appareil, utilisez [Remote Control](#remote-control).

142 

143En savoir plus : [Use Claude Code in the cloud](/docs/fr/claude-code-on-the-web)

144 

129<h3 id="command">145<h3 id="command">

130 Command146 Command

131</h3>147</h3>


332 Remote Control348 Remote Control

333</h3>349</h3>

334 350 

335Un moyen de continuer une session Claude Code locale depuis votre téléphone ou navigateur via claude.ai. Votre code reste sur votre machine ; seule l'interface utilisateur est distante. Différent de Claude Code sur le web, qui s'exécute dans un sandbox cloud.351Un moyen de continuer une session Claude Code locale depuis votre téléphone ou navigateur via claude.ai. Votre exécution de code et vos fichiers restent sur votre machine ; seule l'interface est distante. Différent d'une [session cloud](/docs/fr/claude-code-on-the-web), qui s'exécute dans un sandbox cloud.

336 352 

337En savoir plus : [Remote Control](/docs/fr/remote-control)353En savoir plus : [Remote Control](/docs/fr/remote-control)

338 354 


408 Teleport424 Teleport

409</h3>425</h3>

410 426 

411Une commande, `/teleport`, qui tire une session Claude Code cloud dans votre terminal local. Claude récupère la branche, charge l'historique des conversations et reprend à partir du dernier état de la session web. La direction inverse est `--cloud`, qui envoie une tâche locale pour s'exécuter sur le web.427Une commande, `/teleport`, qui tire une session Claude Code cloud dans votre terminal local. Claude récupère la branche, charge l'historique des conversations et reprend à partir du dernier état de la session cloud. La direction inverse est `--cloud`, qui envoie une tâche locale pour s'exécuter sur le cloud.

412 428 

413En savoir plus : [From web to terminal](/docs/fr/claude-code-on-the-web#from-web-to-terminal)429En savoir plus : [From cloud to terminal](/docs/fr/claude-code-on-the-web#from-cloud-to-terminal)

414 430 

415<h3 id="tool">431<h3 id="tool">

416 Tool432 Tool


461Ces termes apparaissent dans les documents plus anciens, les articles de blog et le contenu communautaire. Utilisez le nom actuel lors de la recherche sur ce site.477Ces termes apparaissent dans les documents plus anciens, les articles de blog et le contenu communautaire. Utilisez le nom actuel lors de la recherche sur ce site.

462 478 

463| Old term | Now called | Notes |479| Old term | Now called | Notes |

464| --------------- | --------------------------------------------- | ------------------------------------ |480| ----------------------------------------------------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------- |

465| Headless mode | [Non-interactive mode](#non-interactive-mode) | Same `-p` flag, same behavior |481| Headless mode | [Non-interactive mode](#non-interactive-mode) | Same `-p` flag, same behavior |

482| Web session; "Claude Code on the web" as the name for any cloud session | [Cloud session](#cloud-session) | "Claude Code on the web" now names only the browser surface at claude.ai/code |

466| Custom commands | [Skills](#skill) | `.claude/commands/` files still work |483| Custom commands | [Skills](#skill) | `.claude/commands/` files still work |

467| Slash commands | Commands | "Slash" dropped from product copy |484| Slash commands | Commands | "Slash" dropped from product copy |

headless.md +7 −1

Details

343L'indicateur `--allowedTools` utilise la [syntaxe de règle de permission](/docs/fr/settings-reference#permission-rule-syntax). Le ` *` de fin active la correspondance de préfixe, donc `Bash(git diff *)` autorise toute commande commençant par `git diff`. L'espace avant `*` est important : sans lui, `Bash(git diff*)` correspondrait également à `git diff-index`.343L'indicateur `--allowedTools` utilise la [syntaxe de règle de permission](/docs/fr/settings-reference#permission-rule-syntax). Le ` *` de fin active la correspondance de préfixe, donc `Bash(git diff *)` autorise toute commande commençant par `git diff`. L'espace avant `*` est important : sans lui, `Bash(git diff*)` correspondrait également à `git diff-index`.

344 344 

345<Note>345<Note>

346 Les [compétences](/docs/fr/skills) invoquées par l'utilisateur et les commandes personnalisées fonctionnent en mode `-p` : incluez `/skill-name` dans la chaîne d'invite et Claude Code l'étend avant d'exécuter. Les commandes intégrées qui ne s'exécutent que dans l'interface du terminal, telles que `/login`, ne sont pas disponibles en mode `-p`. `/model`, `/effort`, `/fast`, `/color` et `/rename` acceptent la valeur comme argument, par exemple `/model sonnet`, et `/mcp` sans argument imprime un résumé textuel du statut du serveur ; ces formes nécessitent Claude Code v2.1.205 ou ultérieur et suivent les notes de disponibilité de chaque commande]\(/fr/commands#all-commands). Pour modifier un paramètre à partir d'une invocation `-p`, passez `key=value` à `/config`, par exemple `/config thinking=false`.346 Le support des commandes diffère en mode `-p` :

347 

348 * Les [compétences](/docs/fr/skills) invoquées par l'utilisateur et les commandes personnalisées fonctionnent. Incluez `/skill-name` dans la chaîne d'invite et Claude Code l'étend avant d'exécuter.

349 * Les commandes intégrées qui ne s'exécutent que dans l'interface du terminal, telles que `/login`, ne sont pas disponibles.

350 * `/model`, `/effort`, `/fast`, `/color` et `/rename` acceptent la valeur comme argument, par exemple `/model sonnet`, et `/mcp` sans argument imprime un résumé textuel du statut du serveur. Ces formes nécessitent Claude Code v2.1.205 ou ultérieur et suivent les [notes de disponibilité de chaque commande](/docs/fr/commands#all-commands).

351 * Pour modifier un paramètre, passez `key=value` à `/config`, par exemple `/config thinking=false`.

352 * `/output-style <style>` bascule les [styles de sortie](/docs/fr/output-styles) et `/output-style` seul les énumère. Nécessite Claude Code v2.1.269 ou ultérieur.

347</Note>353</Note>

348 354 

349<h3 id="customize-the-system-prompt">355<h3 id="customize-the-system-prompt">

hooks.md +564 −489

Details

34 34 

35Le tableau ci-dessous résume le moment où chaque événement se déclenche. La section [Événements de hook](#hook-events) documente le schéma d'entrée complet et les options de contrôle de décision pour chacun.35Le tableau ci-dessous résume le moment où chaque événement se déclenche. La section [Événements de hook](#hook-events) documente le schéma d'entrée complet et les options de contrôle de décision pour chacun.

36 36 

37| Event | When it fires |37| Événement | Quand il se déclenche |

38| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |38| :-------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

39| `SessionStart` | When a session begins or resumes |39| `SessionStart` | Quand une session commence ou reprend |

40| `Setup` | When you start Claude Code with `--init-only`, or with `--init` or `--maintenance` in `-p` mode. For one-time preparation in CI or scripts |40| `Setup` | Quand vous démarrez Claude Code avec `--init-only`, ou avec `--init` ou `--maintenance` en mode `-p`. Pour une préparation unique en CI ou dans les scripts |

41| `UserPromptSubmit` | When you submit a prompt, before Claude processes it |41| `UserPromptSubmit` | Quand vous soumettez une invite, avant que Claude la traite |

42| `UserPromptExpansion` | When a user-typed command expands into a prompt, before it reaches Claude. Can block the expansion |42| `UserPromptExpansion` | Quand une commande tapée par l'utilisateur se développe en une invite, avant qu'elle n'atteigne Claude. Peut bloquer l'expansion |

43| `PreToolUse` | Before a tool call executes. Can block it |43| `PreToolUse` | Avant qu'un appel d'outil s'exécute. Peut le bloquer |

44| `PermissionRequest` | When a tool call needs a permission decision |44| `PermissionRequest` | Quand un appel d'outil nécessite une décision de permission |

45| `PermissionDenied` | When auto mode denies a tool call, including denials without a classifier verdict. Use JSON `hookSpecificOutput.retry: true` to tell the model it may retry the denied tool call. Claude Code ignores `retry` when the classifier produced no verdict |45| `PermissionDenied` | Quand le mode automatique refuse un appel d'outil, y compris les refus sans verdict du classificateur. Utilisez la sortie JSON `hookSpecificOutput.retry: true` pour indiquer au modèle qu'il peut réessayer l'appel d'outil refusé. Claude Code ignore `retry` quand le classificateur n'a produit aucun verdict |

46| `PostToolUse` | After a tool call succeeds |46| `PostToolUse` | Après qu'un appel d'outil réussisse |

47| `PostToolUseFailure` | After a tool call fails |47| `PostToolUseFailure` | Après qu'un appel d'outil échoue |

48| `PostToolBatch` | After a full batch of parallel tool calls resolves, before the next model call |48| `PostToolBatch` | Après qu'un lot complet d'appels d'outils parallèles se résout, avant l'appel du modèle suivant |

49| `Notification` | When Claude Code sends a notification |49| `Notification` | Quand Claude Code envoie une notification |

50| `MessageDisplay` | While assistant message text is displayed |50| `MessageDisplay` | Pendant que le texte du message assistant s'affiche |

51| `SubagentStart` | When a subagent is spawned |51| `SubagentStart` | Quand un sous-agent est généré |

52| `SubagentStop` | When a subagent finishes |52| `SubagentStop` | Quand un sous-agent se termine |

53| `TaskCreated` | When a task is being created via `TaskCreate` |53| `TaskCreated` | Quand une tâche est en cours de création via `TaskCreate` |

54| `TaskCompleted` | When a task is being marked as completed |54| `TaskCompleted` | Quand une tâche est marquée comme complétée |

55| `Stop` | When Claude finishes responding |55| `Stop` | Quand Claude finit de répondre |

56| `StopFailure` | When the turn ends due to an API error |56| `StopFailure` | Quand le tour se termine en raison d'une erreur API |

57| `TeammateIdle` | When an [agent team](/docs/en/agent-teams) teammate is about to go idle |57| `TeammateIdle` | Quand un coéquipier d'une [équipe d'agents](/docs/fr/agent-teams) est sur le point de devenir inactif |

58| `InstructionsLoaded` | When a CLAUDE.md or `.claude/rules/*.md` file is loaded into context. Fires at session start and when files are lazily loaded during a session |58| `InstructionsLoaded` | Quand un fichier CLAUDE.md ou `.claude/rules/*.md` est chargé dans le contexte. Se déclenche au démarrage de la session et quand les fichiers sont chargés paresseusement pendant une session |

59| `ConfigChange` | When a configuration file changes during a session |59| `ConfigChange` | Quand un fichier de configuration change pendant une session |

60| `CwdChanged` | When the working directory changes, for example when Claude executes a `cd` command. Useful for reactive environment management with tools like direnv |60| `CwdChanged` | Quand le répertoire de travail change, par exemple quand Claude exécute une commande `cd`. Utile pour la gestion réactive de l'environnement avec des outils comme direnv |

61| `DirectoryAdded` | When a working directory is added mid-session via `/add-dir` or the SDK `register_repo_root` control request |61| `DirectoryAdded` | Quand un répertoire de travail est ajouté en milieu de session via `/add-dir` ou la demande de contrôle SDK `register_repo_root` |

62| `FileChanged` | When a watched file changes on disk. The `matcher` field specifies which filenames to watch |62| `FileChanged` | Quand un fichier surveillé change sur le disque. Le champ `matcher` spécifie les noms de fichiers à surveiller |

63| `WorktreeCreate` | When a worktree is being created via `--worktree`, `isolation: "worktree"`, or for a background session. Replaces default git behavior |63| `WorktreeCreate` | Quand un worktree est en cours de création via `--worktree`, `isolation: "worktree"`, ou pour une session en arrière-plan. Remplace le comportement git par défaut |

64| `WorktreeRemove` | When a worktree is being removed at session exit, when a subagent finishes, or when you delete a background session |64| `WorktreeRemove` | Quand un worktree est supprimé à la sortie de la session, quand un sous-agent se termine, ou quand vous supprimez une session en arrière-plan |

65| `PreCompact` | Before context compaction |65| `PreCompact` | Avant la compaction du contexte |

66| `PostCompact` | After context compaction completes |66| `PostCompact` | Après la compaction du contexte est complétée |

67| `PreModelSwitch` | Before Claude Code applies a model switch that you or a client requested. Can block the switch |67| `PreModelSwitch` | Avant que Claude Code applique un changement de modèle que vous ou un client avez demandé. Peut bloquer le changement |

68| `PostModelSwitch` | After the session's model changes, including changes Claude Code makes on its own, such as restoring the model when you resume a session |68| `PostModelSwitch` | Après que le modèle de la session change, y compris les changements que Claude Code effectue de lui-même, comme la restauration du modèle quand vous reprenez une session |

69| `Elicitation` | When an MCP server requests user input during a tool call |69| `Elicitation` | Quand un serveur MCP demande une entrée utilisateur pendant un appel d'outil |

70| `ElicitationResult` | After a user responds to an MCP elicitation, before the response is sent back to the server |70| `ElicitationResult` | Après qu'un utilisateur réponde à une élicitation MCP, avant que la réponse soit renvoyée au serveur |

71| `SessionEnd` | When a session terminates |71| `SessionEnd` | Quand une session se termine |

72 72 

73<h3 id="how-a-hook-resolves">73<h3 id="how-a-hook-resolves">

74 Comment un hook se résout74 Comment un hook se résout


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

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 


329| `CwdChanged` | pas de support de matcher | se déclenche toujours à chaque changement de répertoire |329| `CwdChanged` | pas de support de matcher | se déclenche toujours à chaque changement de répertoire |

330| `DirectoryAdded` | comment le répertoire a été ajouté | `slash_command`, `register_repo_root` |330| `DirectoryAdded` | comment le répertoire a été ajouté | `slash_command`, `register_repo_root` |

331| `FileChanged` | noms de fichiers littéraux à surveiller (consultez [FileChanged](#filechanged)) | `.envrc\|.env` |331| `FileChanged` | noms de fichiers littéraux à surveiller (consultez [FileChanged](#filechanged)) | `.envrc\|.env` |

332| `StopFailure` | 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`, `unknown` |332| `StopFailure` | 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`, `unknown` |

333| `InstructionsLoaded` | raison du chargement | `session_start`, `nested_traversal`, `path_glob_match`, `include`, `compact` |333| `InstructionsLoaded` | raison du chargement | `session_start`, `nested_traversal`, `path_glob_match`, `include`, `compact` |

334| `UserPromptExpansion` | nom de la commande | vos noms de skill ou de commande |334| `UserPromptExpansion` | nom de la commande | vos noms de skill ou de commande |

335| `Elicitation` | nom du serveur MCP | vos noms de serveur MCP configurés |335| `Elicitation` | nom du serveur MCP | vos noms de serveur MCP configurés |

336| `ElicitationResult` | nom du serveur MCP | mêmes valeurs que `Elicitation` |336| `ElicitationResult` | nom du serveur MCP | mêmes valeurs que `Elicitation` |

337| `UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` | pas de support de matcher | se déclenche toujours à chaque occurrence |337| `UserPromptSubmit`, `PostToolBatch`, `Stop`, `TeammateIdle`, `TaskCreated`, `TaskCompleted`, `WorktreeCreate`, `WorktreeRemove`, `MessageDisplay` | pas de support de matcher | se déclenche toujours à chaque occurrence |

338 338 

339Correspondre à `StopFailure` sur `cloud_credential_error` nécessite Claude Code v2.1.267 ou ultérieur, la première version qui signale les échecs de chargement des identifiants sous cette valeur plutôt que `server_error` ou `unknown`.

340 

339Pour la plupart des événements, Claude Code évalue le matcher par rapport à un champ de l'[entrée JSON](#hook-input-and-output) qu'il envoie à votre hook sur stdin. Pour les événements d'outil, ce champ est `tool_name`. Pour `PreModelSwitch` et `PostModelSwitch`, Claude Code évalue le matcher par rapport au nom canonique qu'il dérive de `to_model`, comme décrit sous [PreModelSwitch](#premodelswitch). Chaque section [événement de hook](#hook-events) liste l'ensemble complet des valeurs de matcher et le schéma d'entrée pour cet événement.341Pour la plupart des événements, Claude Code évalue le matcher par rapport à un champ de l'[entrée JSON](#hook-input-and-output) qu'il envoie à votre hook sur stdin. Pour les événements d'outil, ce champ est `tool_name`. Pour `PreModelSwitch` et `PostModelSwitch`, Claude Code évalue le matcher par rapport au nom canonique qu'il dérive de `to_model`, comme décrit sous [PreModelSwitch](#premodelswitch). Chaque section [événement de hook](#hook-events) liste l'ensemble complet des valeurs de matcher et le schéma d'entrée pour cet événement.

340 342 

341Cet exemple exécute un script de linting uniquement lorsque Claude écrit ou édite un fichier :343Cet exemple exécute un script de linting uniquement lorsque Claude écrit ou édite un fichier :


577 579 

578Claude Code lit le contenu textuel de l'outil de la même manière qu'il lit stdout d'un hook de commande, en suivant la [règle d'analyse sous le code de sortie 0](#exit-code-0). Si le serveur nommé n'est pas connecté, ou si l'outil retourne `isError: true`, le hook produit une erreur non-bloquante et l'exécution continue.580Claude Code lit le contenu textuel de l'outil de la même manière qu'il lit stdout d'un hook de commande, en suivant la [règle d'analyse sous le code de sortie 0](#exit-code-0). Si le serveur nommé n'est pas connecté, ou si l'outil retourne `isError: true`, le hook produit une erreur non-bloquante et l'exécution continue.

579 581 

580Les hooks de l'outil MCP sont disponibles sur chaque événement de hook une fois que Claude Code s'est connecté à vos serveurs MCP. `SessionStart` et `Setup` se déclenchent généralement avant que les serveurs ne finissent de se connecter, donc les hooks sur ces événements doivent s'attendre à l'erreur « non connecté » à la première exécution.

581 

582Cet exemple appelle l'outil `security_scan` sur le serveur MCP `my_server` après chaque `Write` ou `Edit`, en passant le chemin du fichier édité :582Cet exemple appelle l'outil `security_scan` sur le serveur MCP `my_server` après chaque `Write` ou `Edit`, en passant le chemin du fichier édité :

583 583 

584```json theme={null}584```json theme={null}


601}601}

602```602```

603 603 

604Un hook `mcp_tool` peut s'exécuter uniquement une fois que Claude Code a rendu les serveurs MCP de la session disponibles aux hooks. `SessionStart` et `Setup` peuvent se déclencher avant ce point :

605 

606* **Au lancement** : `SessionStart` se déclenche avant que les serveurs ne soient disponibles, y compris lorsque vous lancez avec `--continue` ou `--resume`. Claude Code ignore les hooks `mcp_tool` de l'événement sans appeler leurs outils, et le [journal de débogage](#debug-hooks) enregistre `mcp_tool hooks are not available for the 'SessionStart' hook event (no MCP client context)`.

607* **Plus tard dans une session en cours** : après `/clear` ou une compaction, `SessionStart` se déclenche à nouveau avec les serveurs déjà disponibles, et ses hooks `mcp_tool` s'exécutent.

608* **Sur `Setup`** : `Setup` se déclenche toujours avant que les serveurs ne soient disponibles, donc Claude Code ignore ses hooks `mcp_tool` à chaque fois et enregistre le même message nommant `Setup`.

609 

610Par exemple, cette configuration appelle l'outil `load_context` sur le serveur MCP `my_server` à partir d'un hook `SessionStart` sans matcher, donc elle s'applique à chaque source `SessionStart` :

611 

612```json theme={null}

613{

614 "hooks": {

615 "SessionStart": [

616 {

617 "hooks": [

618 {

619 "type": "mcp_tool",

620 "server": "my_server",

621 "tool": "load_context"

622 }

623 ]

624 }

625 ]

626 }

627}

628```

629 

630Lorsque vous exécutez `claude`, Claude Code ignore ce hook, n'appelle jamais `load_context` et écrit le message `no MCP client context` dans le journal de débogage. Exécutez `/clear` dans cette même session et le hook s'exécute et appelle `load_context`. Un hook `type: "command"` sur `SessionStart` s'exécute au lancement, donc utilisez-en un pour tout ce dont la session a besoin dès son premier tour.

631 

604<h4 id="prompt-and-agent-hook-fields">632<h4 id="prompt-and-agent-hook-fields">

605 Champs des hooks de prompt et d'agent633 Champs des hooks de prompt et d'agent

606</h4>634</h4>


619Utilisez ces placeholders pour référencer les scripts de hook par rapport à la racine du projet ou du plugin, indépendamment du répertoire de travail lorsque le hook s'exécute :647Utilisez ces placeholders pour référencer les scripts de hook par rapport à la racine du projet ou du plugin, indépendamment du répertoire de travail lorsque le hook s'exécute :

620 648 

621* `${CLAUDE_PROJECT_DIR}` : la racine du projet où la session a démarré. Claude Code définit également cette variable dans l'environnement des [serveurs MCP stdio](/docs/fr/mcp#option-3-add-a-local-stdio-server) et des serveurs LSP de plugin.649* `${CLAUDE_PROJECT_DIR}` : la racine du projet où la session a démarré. Claude Code définit également cette variable dans l'environnement des [serveurs MCP stdio](/docs/fr/mcp#option-3-add-a-local-stdio-server) et des serveurs LSP de plugin.

622* `${CLAUDE_PLUGIN_ROOT}` : le répertoire d'installation du plugin, pour les scripts fournis avec un [plugin](/docs/fr/plugins). Change à chaque mise à jour du plugin.650* `${CLAUDE_PLUGIN_ROOT}` : le répertoire d'installation du plugin, pour les scripts fournis avec un [plugin](/docs/fr/plugins). Consultez [variables d'environnement du plugin](/docs/fr/plugins-reference#environment-variables) pour savoir comment le chemin se comporte lors des mises à jour.

623* `${CLAUDE_PLUGIN_DATA}` : le [répertoire de données persistantes](/docs/fr/plugins-reference#persistent-data-directory) du plugin, pour les dépendances et l'état qui doivent survivre aux mises à jour du plugin.651* `${CLAUDE_PLUGIN_DATA}` : le [répertoire de données persistantes](/docs/fr/plugins-reference#persistent-data-directory) du plugin, pour les dépendances et l'état qui doivent survivre aux mises à jour du plugin.

624 652 

625<Note>653<Note>


694* **Hooks de subagent** : Claude Code les exécute uniquement pendant que ce subagent s'exécute et les supprime lorsqu'il se termine. Claude Code convertit un hook `Stop` ici en `SubagentStop`, l'événement qu'il déclenche lorsqu'un subagent se termine.722* **Hooks de subagent** : Claude Code les exécute uniquement pendant que ce subagent s'exécute et les supprime lorsqu'il se termine. Claude Code convertit un hook `Stop` ici en `SubagentStop`, l'événement qu'il déclenche lorsqu'un subagent se termine.

695* **Hooks de skill** : Claude Code les enregistre lorsque vous ou Claude invoquez le skill et continue à les exécuter pour le reste de la session, sur les tours après le tour du skill lui-même. Pour que Claude Code supprime un hook après sa première exécution réussie à la place, définissez [`once: true`](#common-fields) sur celui-ci.723* **Hooks de skill** : Claude Code les enregistre lorsque vous ou Claude invoquez le skill et continue à les exécuter pour le reste de la session, sur les tours après le tour du skill lui-même. Pour que Claude Code supprime un hook après sa première exécution réussie à la place, définissez [`once: true`](#common-fields) sur celui-ci.

696 724 

697Tous les événements de hook sont supportés.

698 

699Ce skill définit un hook `PreToolUse` qui exécute un script de validation de sécurité avant chaque commande `Bash` :725Ce skill définit un hook `PreToolUse` qui exécute un script de validation de sécurité avant chaque commande `Bash` :

700 726 

701```yaml theme={null}727```yaml theme={null}


767| `prompt_id` | UUID identifiant le prompt utilisateur actuellement traité. Correspond à l'[attribut `prompt.id` sur les événements OpenTelemetry](/docs/fr/monitoring-usage#event-correlation-attributes), afin que vous puissiez corréler la sortie du hook avec la télémétrie pour un seul prompt. Absent jusqu'à la première entrée utilisateur. Nécessite Claude Code v2.1.196 ou ultérieur |793| `prompt_id` | UUID identifiant le prompt utilisateur actuellement traité. Correspond à l'[attribut `prompt.id` sur les événements OpenTelemetry](/docs/fr/monitoring-usage#event-correlation-attributes), afin que vous puissiez corréler la sortie du hook avec la télémétrie pour un seul prompt. Absent jusqu'à la première entrée utilisateur. Nécessite Claude Code v2.1.196 ou ultérieur |

768| `transcript_path` | Chemin vers le JSON de conversation. Le fichier de transcription est écrit de manière asynchrone et peut être en retard par rapport à la conversation en mémoire, il se peut donc qu'il n'inclue pas encore les messages les plus récents du tour actuel lorsqu'un hook se déclenche. Les hooks qui ont besoin du texte final de l'assistant du tour actuel doivent utiliser `last_assistant_message` sur [Stop](#stop) et [SubagentStop](#subagentstop) au lieu de lire la transcription |794| `transcript_path` | Chemin vers le JSON de conversation. Le fichier de transcription est écrit de manière asynchrone et peut être en retard par rapport à la conversation en mémoire, il se peut donc qu'il n'inclue pas encore les messages les plus récents du tour actuel lorsqu'un hook se déclenche. Les hooks qui ont besoin du texte final de l'assistant du tour actuel doivent utiliser `last_assistant_message` sur [Stop](#stop) et [SubagentStop](#subagentstop) au lieu de lire la transcription |

769| `cwd` | Répertoire de travail courant lorsque le hook est invoqué |795| `cwd` | Répertoire de travail courant lorsque le hook est invoqué |

796| `scratchpad_dir` | Chemin vers le répertoire scratchpad de la session, où Claude conserve les fichiers de travail temporaires. Absent lorsque la session n'a pas de scratchpad ou que le répertoire temporaire n'est pas disponible. Nécessite Claude Code v2.1.257 ou ultérieur |

770| `permission_mode` | [Mode de permission](/docs/fr/permissions#permission-modes) actuel : `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` ou `"bypassPermissions"`. Le mode étiqueté **Manuel** arrive comme `"default"`, jamais comme `"manual"`, afin que les scripts qui correspondent à `"default"` continuent de fonctionner. Tous les événements ne reçoivent pas ce champ. Consultez l'exemple JSON de chaque [événement de hook](#hook-events) |797| `permission_mode` | [Mode de permission](/docs/fr/permissions#permission-modes) actuel : `"default"`, `"plan"`, `"acceptEdits"`, `"auto"`, `"dontAsk"` ou `"bypassPermissions"`. Le mode étiqueté **Manuel** arrive comme `"default"`, jamais comme `"manual"`, afin que les scripts qui correspondent à `"default"` continuent de fonctionner. Tous les événements ne reçoivent pas ce champ. Consultez l'exemple JSON de chaque [événement de hook](#hook-events) |

771| `effort` | Objet avec un champ `level` contenant le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) en vigueur lorsque le hook s'exécute : `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Si vous définissez un niveau que le modèle actif ne supporte pas, `level` rapporte le niveau que Claude Code a exécuté à la place ; [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) explique comment il choisit ce niveau. Ultracode n'est pas un niveau distinct et est signalé comme `"xhigh"`. L'objet correspond au champ `effort` de la [ligne de statut](/docs/fr/statusline#available-data). Présent pour les événements qui se déclenchent dans un contexte d'utilisation d'outil, tels que `PreToolUse`, `PostToolUse`, `Stop` et `SubagentStop`, lorsque le modèle actuel supporte le paramètre d'effort. Le niveau est également disponible pour les commandes de hook et l'outil Bash en tant que variable d'environnement `$CLAUDE_EFFORT`. |798| `effort` | Objet avec un champ `level` contenant le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) en vigueur lorsque le hook s'exécute : `"low"`, `"medium"`, `"high"`, `"xhigh"` ou `"max"`. Si vous définissez un niveau que le modèle actif ne supporte pas, `level` rapporte le niveau que Claude Code a exécuté à la place ; [Ajuster le niveau d'effort](/docs/fr/model-config#adjust-effort-level) explique comment il choisit ce niveau. Ultracode n'est pas un niveau distinct et est signalé comme `"xhigh"`. L'objet correspond au champ `effort` de la [ligne de statut](/docs/fr/statusline#available-data). Présent pour les événements qui se déclenchent dans un contexte d'utilisation d'outil, tels que `PreToolUse`, `PostToolUse`, `Stop` et `SubagentStop`, lorsque le modèle actuel supporte le paramètre d'effort. Le niveau est également disponible pour les commandes de hook et l'outil Bash en tant que variable d'environnement `$CLAUDE_EFFORT`. |

772| `hook_event_name` | Nom de l'événement qui s'est déclenché |799| `hook_event_name` | Nom de l'événement qui s'est déclenché |


792 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",819 "prompt_id": "550e8400-e29b-41d4-a716-446655440000",

793 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",820 "transcript_path": "/home/user/.claude/projects/.../transcript.jsonl",

794 "cwd": "/home/user/my-project",821 "cwd": "/home/user/my-project",

822 "scratchpad_dir": "/tmp/claude-1000/-home-user-my-project/abc123/scratchpad",

795 "permission_mode": "default",823 "permission_mode": "default",

796 "hook_event_name": "PreToolUse",824 "hook_event_name": "PreToolUse",

797 "tool_name": "Bash",825 "tool_name": "Bash",


879Un hook qui ne peut pas démarrer atterrit dans le même bucket non-bloquant. Lorsque le chemin du script n'existe pas ou n'est pas exécutable, le shell quitte avec un code comme 127 et vous voyez le même avis avec le message de l'interpréteur, par exemple `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Pour la plupart des événements de hook, l'action procède. Lorsque vous configurez un hook de politique, regardez cet avis à sa première exécution : un chemin mal orthographié dans `settings.json` laisse la porte silencieusement désactivée.907Un hook qui ne peut pas démarrer atterrit dans le même bucket non-bloquant. Lorsque le chemin du script n'existe pas ou n'est pas exécutable, le shell quitte avec un code comme 127 et vous voyez le même avis avec le message de l'interpréteur, par exemple `Failed with non-blocking status code: /bin/sh: /path/to/hook.sh: No such file or directory`. Pour la plupart des événements de hook, l'action procède. Lorsque vous configurez un hook de politique, regardez cet avis à sa première exécution : un chemin mal orthographié dans `settings.json` laisse la porte silencieusement désactivée.

880 908 

881<Warning>909<Warning>

882 Pour la plupart des événements de hook, exit code 2 est le seul code de sortie qui bloque par le code seul. Sans JSON valide sur stdout, Claude Code traite exit code 1 comme une erreur non-bloquante et procède avec l'action, même si 1 est le code d'échec Unix conventionnel. Si votre hook est destiné à appliquer une politique, utilisez `exit 2`. L'exception est `WorktreeCreate`, où tout code de sortie non-zéro abandonne la création du worktree.910 Pour la plupart des événements de hook, exit code 2 est le seul code de sortie qui bloque par le code seul. Sans JSON valide sur stdout, Claude Code traite exit code 1 comme une erreur non-bloquante et procède avec l'action, même si 1 est le code d'échec Unix conventionnel. Si votre hook est destiné à appliquer une politique, utilisez `exit 2`. Les événements worktree diffèrent : tout code de sortie non-zéro de `WorktreeCreate` abandonne la création du worktree, et tout code de sortie non-zéro de `WorktreeRemove` rend la suppression du worktree échouée si le répertoire existe toujours après.

883</Warning>911</Warning>

884 912 

885<h4 id="timeouts">913<h4 id="timeouts">


931| `Elicitation` | Oui | Refuse l'élicitation |959| `Elicitation` | Oui | Refuse l'élicitation |

932| `ElicitationResult` | Oui | Bloque la réponse (l'action devient decline) |960| `ElicitationResult` | Oui | Bloque la réponse (l'action devient decline) |

933| `WorktreeCreate` | Oui | Tout code de sortie non-zéro provoque l'échec de la création du worktree |961| `WorktreeCreate` | Oui | Tout code de sortie non-zéro provoque l'échec de la création du worktree |

934| `WorktreeRemove` | Non | Les défaillances sont enregistrées en mode debug uniquement |962| `WorktreeRemove` | Oui | Tout code de sortie non-zéro rend la suppression du worktree échouée si le répertoire existe toujours après. Consultez [WorktreeRemove](#worktreeremove) pour ce qui arrive au répertoire |

935| `InstructionsLoaded` | Non | Exit code est ignoré |963| `InstructionsLoaded` | Non | Exit code est ignoré |

936| `MessageDisplay` | Non | Le texte original est affiché |964| `MessageDisplay` | Non | Le texte original est affiché |

937 965 


964 992 

965La sortie stdout de votre hook doit contenir uniquement l'objet JSON. Si votre profil shell imprime du texte au démarrage, cela peut interférer avec l'analyse JSON. Consultez [Hook JSON has no effect](/docs/fr/hooks-guide#hook-json-has-no-effect) dans le guide de dépannage.993La sortie stdout de votre hook doit contenir uniquement l'objet JSON. Si votre profil shell imprime du texte au démarrage, cela peut interférer avec l'analyse JSON. Consultez [Hook JSON has no effect](/docs/fr/hooks-guide#hook-json-has-no-effect) dans le guide de dépannage.

966 994 

967Les chaînes de sortie du hook, y compris `additionalContext`, `systemMessage` et stdout brut, sont plafonnées à 10 000 caractères. La sortie qui dépasse cette limite est enregistrée dans un fichier et remplacée par un aperçu et un chemin de fichier, de la même manière que les grands résultats d'outils valides sont gérés sous [Output limits](/docs/fr/tools-reference#output-limits).995Les chaînes de sortie du hook, y compris `additionalContext`, `systemMessage` et `initialUserMessage`, et son stdout brut, sont plafonnées à 10 000 caractères :

996 

997* **Portée** : Claude Code mesure chaque chaîne seule, même lorsque plusieurs hooks s'exécutent pour le même événement. Pour la sortie JSON, chaque champ est mesuré séparément ; stdout brut est mesuré dans son ensemble.

998* **Au-delà de la limite** : Claude Code enregistre la sortie dans un fichier du répertoire de session et la remplace par le chemin du fichier et un aperçu de jusqu'à 2 000 premiers caractères. Un grand résultat Bash valide est géré de la même manière, décrit sous [Output limits](/docs/fr/tools-reference#output-limits). Contrairement à ce plafond Bash, ce cap n'a pas de paramètre ou de variable d'environnement pour l'augmenter.

999* **Lecture du fichier** : Claude Code ne demande pas à Claude de lire le fichier, donc gardez tout ce que Claude doit toujours voir dans le cap.

968 1000 

969L'objet JSON supporte trois types de champs :1001L'objet JSON supporte trois types de champs :

970 1002 


975| Champ | Par défaut | Description |1007| Champ | Par défaut | Description |

976| :----------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1008| :----------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

977| `continue` | `true` | Si `false`, Claude arrête complètement le traitement après l'exécution du hook. Prend précédence sur tous les champs de décision spécifiques à l'événement |1009| `continue` | `true` | Si `false`, Claude arrête complètement le traitement après l'exécution du hook. Prend précédence sur tous les champs de décision spécifiques à l'événement |

978| `stopReason` | aucun | Message affiché à l'utilisateur lorsque `continue` est `false`. Non affiché à Claude |1010| `stopReason` | aucun | Message affiché à l'utilisateur lorsque `continue` est `false`. Il reste dans la conversation, afin que Claude le voie si la conversation continue |

979| `suppressOutput` | `false` | N'a aucun effet : Claude Code accepte le champ mais n'agit pas dessus. La sortie stdout d'un hook réussi n'est jamais affichée dans la transcription et est enregistrée dans le journal de débogage |1011| `suppressOutput` | `false` | N'a aucun effet : Claude Code accepte le champ mais n'agit pas dessus. La sortie stdout d'un hook réussi n'est jamais affichée dans la transcription et est enregistrée dans le journal de débogage |

980| `systemMessage` | aucun | Message d'avertissement affiché à l'utilisateur. Dans [Agent SDK](/docs/fr/agent-sdk/overview) et [`--output-format stream-json`](/docs/fr/headless) sortie, il peut arriver comme un [`SDKInformationalMessage`](/docs/fr/agent-sdk/typescript#sdkinformationalmessage) |1012| `systemMessage` | aucun | Message d'avertissement affiché à l'utilisateur. Dans [Agent SDK](/docs/fr/agent-sdk/overview) et [`--output-format stream-json`](/docs/fr/headless) sortie, il peut arriver comme un [`SDKInformationalMessage`](/docs/fr/agent-sdk/typescript#sdkinformationalmessage) |

981| `terminalSequence` | aucun | Une séquence d'échappement de terminal pour Claude Code d'émettre en votre nom, comme une notification de bureau, un titre de fenêtre ou une cloche. Restreint aux OSC `0`/`1`/`2`/`9`/`99`/`777` et BEL. Si la valeur contient quelque chose en dehors de la liste blanche, le champ est ignoré. Utilisez ceci au lieu d'écrire sur `/dev/tty`, qui n'est pas disponible pour les hooks |1013| `terminalSequence` | aucun | Une séquence d'échappement de terminal pour Claude Code d'émettre en votre nom, comme une notification de bureau, un titre de fenêtre ou une cloche. Restreint aux OSC `0`/`1`/`2`/`9`/`99`/`777` et BEL. Si la valeur contient quelque chose en dehors de la liste blanche, le champ est ignoré. Utilisez ceci au lieu d'écrire sur `/dev/tty`, qui n'est pas disponible pour les hooks |


1048* [Stop](#stop) et [SubagentStop](#subagentstop) : à la fin du tour. La conversation continue afin que Claude puisse agir sur les commentaires. Consultez [Contrôle de décision Stop](#stop-decision-control)1080* [Stop](#stop) et [SubagentStop](#subagentstop) : à la fin du tour. La conversation continue afin que Claude puisse agir sur les commentaires. Consultez [Contrôle de décision Stop](#stop-decision-control)

1049* [PostModelSwitch](#postmodelswitch) : avec la prochaine demande après le changement. Consultez [Contrôle de décision PostModelSwitch](#postmodelswitch-decision-control) pour le timing1081* [PostModelSwitch](#postmodelswitch) : avec la prochaine demande après le changement. Consultez [Contrôle de décision PostModelSwitch](#postmodelswitch-decision-control) pour le timing

1050 1082 

1051Lorsque plusieurs hooks retournent `additionalContext` pour le même événement, Claude reçoit toutes les valeurs. Si une valeur dépasse 10 000 caractères, Claude Code écrit le texte complet dans un fichier du répertoire de session et transmet à Claude le chemin du fichier avec un court aperçu à la place.1083Lorsque plusieurs hooks retournent `additionalContext` pour le même événement, Claude reçoit toutes les valeurs.

1084 

1085Si une valeur dépasse 10 000 caractères, Claude Code écrit le texte dans un fichier du répertoire de session et transmet à Claude le chemin du fichier avec un aperçu de jusqu'à 2 000 premiers caractères à la place. Claude peut lire le fichier, mais Claude Code ne le demande pas.

1052 1086 

1053Utilisez `additionalContext` pour les informations que Claude devrait connaître sur l'état actuel de votre environnement ou l'opération qui vient de s'exécuter :1087Utilisez `additionalContext` pour les informations que Claude devrait connaître sur l'état actuel de votre environnement ou l'opération qui vient de s'exécuter :

1054 1088 


1069Tous les événements ne supportent pas le blocage ou le contrôle du comportement via JSON. Les événements qui le font utilisent chacun un ensemble différent de champs pour exprimer cette décision. Utilisez ce tableau comme référence rapide avant d'écrire un hook :1103Tous les événements ne supportent pas le blocage ou le contrôle du comportement via JSON. Les événements qui le font utilisent chacun un ensemble différent de champs pour exprimer cette décision. Utilisez ce tableau comme référence rapide avant d'écrire un hook :

1070 1104 

1071| Événements | Modèle de décision | Champs clés |1105| Événements | Modèle de décision | Champs clés |

1072| :------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1106| :---------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1073| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | `decision` au niveau supérieur | `decision: "block"`, `reason`. Stop et SubagentStop acceptent également `hookSpecificOutput.additionalContext` pour [les commentaires non-erreur qui continuent la conversation](#stop-decision-control) |1107| UserPromptSubmit, UserPromptExpansion, PostToolUse, PostToolUseFailure, PostToolBatch, Stop, SubagentStop, ConfigChange, PreCompact | `decision` au niveau supérieur | `decision: "block"`, `reason`. Stop et SubagentStop acceptent également `hookSpecificOutput.additionalContext` pour [les commentaires non-erreur qui continuent la conversation](#stop-decision-control) |

1074| TeammateIdle, TaskCompleted | Exit code ou `continue: false` | Exit code 2 bloque l'action avec commentaires stderr. JSON `{"continue": false, "stopReason": "..."}` arrête également complètement le coéquipier, correspondant au comportement du hook `Stop` ; [TaskCompleted l'ignore lorsque l'outil `TaskUpdate` a déclenché l'événement](#taskcompleted-decision-control) |1108| TeammateIdle, TaskCompleted | Exit code ou `continue: false` | Exit code 2 bloque l'action avec commentaires stderr. JSON `{"continue": false, "stopReason": "..."}` arrête également complètement le coéquipier, correspondant au comportement du hook `Stop` ; [TaskCompleted l'ignore lorsque l'outil `TaskUpdate` a déclenché l'événement](#taskcompleted-decision-control) |

1075| TaskCreated | Exit code ou `decision` au niveau supérieur | Exit code 2 ou `decision: "block"` [annule la tâche](#taskcreated-decision-control) et retourne le message à Claude. `continue: false` est ignoré |1109| TaskCreated | Exit code ou `decision` au niveau supérieur | Exit code 2 ou `decision: "block"` [annule la tâche](#taskcreated-decision-control) et retourne le message à Claude. `continue: false` est ignoré |


1078| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |1112| PermissionRequest | `hookSpecificOutput` | `decision.behavior` (allow/deny) |

1079| PermissionDenied | `hookSpecificOutput` | `retry: true` indique au modèle qu'il peut réessayer l'appel d'outil refusé ; Claude Code l'ignore pour les [refus sans verdict](#permissiondenied-decision-control) |1113| PermissionDenied | `hookSpecificOutput` | `retry: true` indique au modèle qu'il peut réessayer l'appel d'outil refusé ; Claude Code l'ignore pour les [refus sans verdict](#permissiondenied-decision-control) |

1080| WorktreeCreate | retour de chemin | Le hook de commande imprime le chemin sur stdout ; le hook HTTP retourne `hookSpecificOutput.worktreePath`. L'échec du hook ou l'absence de chemin échoue la création |1114| WorktreeCreate | retour de chemin | Le hook de commande imprime le chemin sur stdout ; le hook HTTP retourne `hookSpecificOutput.worktreePath`. L'échec du hook ou l'absence de chemin échoue la création |

1115| WorktreeRemove | Exit code | Tout code de sortie non-zéro rend la suppression échouée si le répertoire existe toujours après. La sortie JSON est rejetée |

1081| Elicitation | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (valeurs des champs de formulaire pour accept) |1116| Elicitation | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (valeurs des champs de formulaire pour accept) |

1082| ElicitationResult | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (valeurs des champs de formulaire override) |1117| ElicitationResult | `hookSpecificOutput` | `action` (accept/decline/cancel), `content` (valeurs des champs de formulaire override) |

1083| MessageDisplay | `hookSpecificOutput` | `displayContent` remplace le texte affiché à l'écran. Affichage uniquement : la transcription et ce que Claude voit conservent l'original |1118| MessageDisplay | `hookSpecificOutput` | `displayContent` remplace le texte affiché à l'écran. Affichage uniquement : la transcription et ce que Claude voit conservent l'original |

1084| SessionStart, SubagentStart, PostModelSwitch | Contexte uniquement | `hookSpecificOutput.additionalContext` ajoute du contexte pour Claude. SessionStart accepte également [`initialUserMessage`, `watchPaths`, `sessionTitle` et `reloadSkills`](#sessionstart-decision-control). Pas de blocage ou de contrôle de décision |1119| SessionStart, SubagentStart, PostModelSwitch | Contexte uniquement | `hookSpecificOutput.additionalContext` ajoute du contexte pour Claude. SessionStart accepte également [`initialUserMessage`, `watchPaths`, `sessionTitle` et `reloadSkills`](#sessionstart-decision-control). Pas de blocage ou de contrôle de décision |

1085| Setup, WorktreeRemove, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, DirectoryAdded, FileChanged | Aucun | Pas de contrôle de décision. Utilisé pour les effets secondaires comme la journalisation ou le nettoyage |1120| Setup, Notification, SessionEnd, PostCompact, InstructionsLoaded, StopFailure, CwdChanged, DirectoryAdded, FileChanged | Aucun | Pas de contrôle de décision. Utilisé pour les effets secondaires comme la journalisation ou le nettoyage |

1086 1121 

1087Quelques événements peuvent également réécrire le contenu plutôt que seulement l'autoriser ou le bloquer :1122Quelques événements peuvent également réécrire le contenu plutôt que seulement l'autoriser ou le bloquer :

1088 1123 


1146 Événements de hook1181 Événements de hook

1147</h2>1182</h2>

1148 1183 

1149Chaque é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 session à travers la boucle agentique jusqu'à la fin de 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 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.

1150 1185 

1151<h3 id="sessionstart">1186<h3 id="sessionstart">

1152 SessionStart1187 SessionStart

1153</h3>1188</h3>

1154 1189 

1155S'exécute lorsque Claude Code démarre une nouvelle session ou reprend une session existante. Utile pour charger le contexte de développement comme les problèmes existants ou les modifications récentes de votre codebase, ou pour configurer les variables d'environnement. Pour le contexte statique qui ne nécessite pas de script, utilisez [CLAUDE.md](/docs/fr/memory) à la place.1190S'exécute quand Claude Code démarre une nouvelle session ou reprend une session existante. Utile pour charger le contexte de développement comme les problèmes existants ou les modifications récentes de votre base de code, ou pour configurer des variables d'environnement. Pour un contexte statique qui ne nécessite pas de script, utilisez plutôt [CLAUDE.md](/docs/fr/memory).

1156 1191 

1157SessionStart s'exécute à chaque session, donc gardez ces hooks rapides. Seuls les hooks `type: "command"` et `type: "mcp_tool"` sont supportés.1192SessionStart s'exécute à chaque session, donc gardez ces hooks rapides. Seuls les hooks `type: "command"` et `type: "mcp_tool"` sont supportés. Voir [Champs de hook MCP tool](#mcp-tool-hook-fields) pour savoir quand les hooks `mcp_tool` s'exécutent.

1158 1193 

1159La valeur du matcher correspond à la façon dont la session a été initiée :1194La valeur du matcher correspond à la façon dont la session a été initiée :

1160 1195 

1161| Matcher | Quand il se déclenche |1196| Matcher | Quand il se déclenche |

1162| :-------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |1197| :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------- |

1163| `startup` | Nouvelle session |1198| `startup` | Nouvelle session |

1164| `resume` | `--resume`, `--continue` ou `/resume` |1199| `resume` | `--resume`, `--continue`, ou `/resume` |

1165| `clear` | `/clear` |1200| `clear` | `/clear` |

1166| `compact` | Compaction automatique ou manuelle |1201| `compact` | Compaction automatique ou manuelle |

1167| `fork` | Une nouvelle session créée à partir d'une session existante : `--fork-session` avec `--resume` ou `--continue`, la copie en arrière-plan `/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` |

1168 1203 

1169Avant v2.1.214, les sessions créées rapportaient la source `"resume"`.1204Avant v2.1.214, les sessions créées rapportaient la source `"resume"`.

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

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.

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.

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.

1213 

1171<h4 id="sessionstart-input">1214<h4 id="sessionstart-input">

1172 Entrée SessionStart1215 Entrée SessionStart

1173</h4>1216</h4>

1174 1217 

1175En plus des [champs d'entrée communs](#common-input-fields), les hooks SessionStart reçoivent `source` et optionnellement `model`, `agent_type` et `session_title` :1218En plus des [champs d'entrée communs](#common-input-fields), les hooks SessionStart reçoivent `source` et optionnellement `model`, `agent_type`, et `session_title` :

1176 1219 

1177| Champ | Description |1220| Champ | Description |

1178| :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1221| :-------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1179| `source` | Comment la session a démarré : `"startup"` pour les nouvelles sessions, `"resume"` pour les sessions reprises, `"clear"` après `/clear`, `"compact"` après compaction ou `"fork"` pour une nouvelle session créée à partir d'une session existante |1222| `source` | Comment la session a démarré : `"startup"` pour les nouvelles sessions, `"resume"` pour les sessions reprises, `"clear"` après `/clear`, `"compact"` après compaction, ou `"fork"` pour une nouvelle session créée à partir d'une session existante |

1180| `model` | L'identifiant du modèle actif. Il peut être omis, par exemple après `/clear` ou lorsqu'une session est restaurée via la récupération de conversation, donc vérifiez le champ avant de le lire |1223| `model` | L'identifiant du modèle actif. Il peut être omis, par exemple après `/clear` ou quand une session est restaurée via la récupération de conversation, donc vérifiez le champ avant de le lire |

1181| `agent_type` | Le nom de l'agent, présent lorsque 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>` |

1182| `session_title` | Le titre de session actuel s'il est déjà défini, par exemple via `--name` ou `/rename`. Un hook qui émet `sessionTitle` peut vérifier `session_title` en premier 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 |

1183 1226 

1184Lorsque `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 la reprise d'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 demande, par exemple dans un [`systemMessage`](#json-output). Ces champs nécessitent Claude Code v2.1.251 ou ultérieur.

1185 1228 

1186| Champ | Description |1229| Champ | Description |

1187| :---------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1230| :---------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1188| `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 |

1189| `context_tokens` | Tokens que la première demande de la session reprise renvoie comme son prompt |1232| `context_tokens` | Tokens que la première demande de la session reprise renvoie comme son invite |

1190| `prompt_cache_likely_expired` | `true` lorsque la dernière réponse est plus ancienne que la [durée de vie du cache de prompt](/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 |

1191| `estimated_cache_write_usd` | Coût estimé en dollars américains de l'écriture de `context_tokens` dans le cache de prompt sur le modèle de la session, excluant la réponse |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 |

1192 1235 

1193Cet 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 :

1194 1237 


1211 Contrôle de décision SessionStart1254 Contrôle de décision SessionStart

1212</h4>1255</h4>

1213 1256 

1214Claude Code ajoute le stdout qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner ces champs spécifiques à l'événement :1257Claude Code ajoute la sortie standard qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner ces champs spécifiques à l'événement :

1215 1258 

1216| Champ | Description |1259| Champ | Description |

1217| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1260| :------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1218| `additionalContext` | Chaîne ajoutée au contexte de Claude au début de la conversation, avant le premier prompt. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) pour savoir comment le texte est livré et ce qu'il faut y mettre |1261| `additionalContext` | Chaîne ajoutée au contexte de Claude au début de la conversation, avant la première invite. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) pour savoir comment le texte est livré et ce qu'il faut y mettre |

1219| `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 aucun prompt n'est fourni. Si un prompt est fourni, il 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 |

1220| `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 lorsque `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"` |

1221| `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 |

1222| `reloadSkills` | Booléen. Lorsque `true`, Claude Code réanalyse les répertoires [skill](/docs/fr/skills) et de commandes après que les hooks SessionStart se terminent, donc les skills que le hook a installées sont disponibles dans la même session, à partir du premier prompt |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 |

1223 1266 

1224```json theme={null}1267```json theme={null}

1225{1268{


1231}1274}

1232```1275```

1233 1276 

1234Puisque le stdout brut atteint déjà Claude pour cet événement, un hook qui charge uniquement du contexte peut imprimer sur stdout directement sans construire JSON. Utilisez le formulaire JSON lorsque vous avez besoin de combiner le contexte avec d'autres champs tels que `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 le contexte avec d'autres champs comme `sessionTitle`.

1235 1278 

1236Utilisez `reloadSkills` lorsqu'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 :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 :

1237 1280 

1238```bash theme={null}1281```bash theme={null}

1239#!/bin/bash1282#!/bin/bash


1252 1295 

1253Les hooks SessionStart ont accès à la variable d'environnement `CLAUDE_ENV_FILE`, qui fournit un chemin de fichier où vous pouvez persister les variables d'environnement pour les commandes Bash suivantes.1296Les hooks SessionStart ont accès à la variable d'environnement `CLAUDE_ENV_FILE`, qui fournit un chemin de fichier où vous pouvez persister les variables d'environnement pour les commandes Bash suivantes.

1254 1297 

1255Pour définir des variables d'environnement individuelles, écrivez des déclarations `export` dans `CLAUDE_ENV_FILE`. Utilisez l'ajout (`>>`) pour préserver les variables définies par d'autres hooks :1298Pour définir des variables d'environnement individuelles, écrivez des instructions `export` dans `CLAUDE_ENV_FILE`. Utilisez l'ajout (`>>`) pour préserver les variables définies par d'autres hooks :

1256 1299 

1257```bash theme={null}1300```bash theme={null}

1258#!/bin/bash1301#!/bin/bash


1273 1316 

1274ENV_BEFORE=$(export -p | sort)1317ENV_BEFORE=$(export -p | sort)

1275 1318 

1276# Exécutez vos commandes de configuration qui modifient l'environnement1319# Run your setup commands that modify the environment

1277source ~/.nvm/nvm.sh1320source ~/.nvm/nvm.sh

1278nvm use 201321nvm use 20

1279 1322 


1286```1329```

1287 1330 

1288<Note>1331<Note>

1289 `CLAUDE_ENV_FILE` est disponible pour les hooks SessionStart, [Setup](#setup), [CwdChanged](#cwdchanged) et [FileChanged](#filechanged). Les autres types de hooks n'ont pas accès à cette variable.1332 `CLAUDE_ENV_FILE` est disponible pour les hooks SessionStart, [Setup](#setup), [CwdChanged](#cwdchanged), et [FileChanged](#filechanged). Les autres types de hooks n'ont pas accès à cette variable.

1290</Note>1333</Note>

1291 1334 

1292<h3 id="setup">1335<h3 id="setup">

1293 Setup1336 Setup

1294</h3>1337</h3>

1295 1338 

1296Se déclenche uniquement lorsque vous lancez Claude Code avec `--init-only`, ou avec `--init` ou `--maintenance` en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Il ne se déclenche pas au démarrage normal. Utilisez-le pour l'installation de dépendances ponctuelles ou le nettoyage programmé que vous déclenchez explicitement à partir de CI ou de scripts, séparé du démarrage normal de session. Pour l'initialisation par session, utilisez [SessionStart](#sessionstart) à la place.1339S'exécute uniquement quand vous lancez Claude Code avec `--init-only`, ou avec `--init` ou `--maintenance` en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Il ne s'exécute pas au démarrage normal. Utilisez-le pour l'installation de dépendances ponctuelles ou le nettoyage programmé que vous déclenchez explicitement à partir de CI ou de scripts, séparé du démarrage normal de la session. Pour l'initialisation par session, utilisez plutôt [SessionStart](#sessionstart).

1297 1340 

1298La valeur du matcher correspond au drapeau CLI qui a déclenché le hook :1341La valeur du matcher correspond au drapeau CLI qui a déclenché le hook :

1299 1342 


1302| `init` | `claude --init-only` ou `claude -p --init` |1345| `init` | `claude --init-only` ou `claude -p --init` |

1303| `maintenance` | `claude -p --maintenance` |1346| `maintenance` | `claude -p --maintenance` |

1304 1347 

1305Lorsque vous exécutez `claude --init-only`, Claude Code exécute les hooks Setup et les hooks SessionStart avec le matcher `startup`, puis quitte sans démarrer une conversation.1348Quand vous exécutez `claude --init-only`, Claude Code exécute les hooks Setup et les hooks `SessionStart` avec le matcher `startup`, puis quitte sans démarrer une conversation.

1306 1349 

1307Lorsque vous démarrez ou continuez une conversation avec `-p`, vous devez également fournir un prompt, en tant qu'argument ou canalisé sur stdin. Vous pouvez ignorer le prompt lorsqu'un hook `SessionStart` fournit [`initialUserMessage`](#sessionstart-decision-control) ou lorsque vous reprenez une session avec un [appel d'outil différé](#defer-a-tool-call-for-later).1350Quand vous démarrez ou continuez une conversation avec `-p`, vous devez également fournir une invite, comme argument ou piped sur stdin. Vous pouvez ignorer l'invite quand un hook `SessionStart` fournit [`initialUserMessage`](#sessionstart-decision-control) ou quand vous reprenez une session avec un [appel d'outil différé](#defer-a-tool-call-for-later).

1308 1351 

1309En cas de succès, `--init-only` n'imprime rien au terminal. Pour confirmer que les hooks se sont exécutés, commencez par `claude --debug-file <path> --init-only`, en remplaçant `<path>` par un emplacement de fichier journal, et vérifiez le journal pour les entrées de hook Setup et SessionStart.1352En cas de succès, `--init-only` n'imprime rien sur le terminal. Pour confirmer que les hooks se sont exécutés, commencez par `claude --debug-file <path> --init-only`, en remplaçant `<path>` par un emplacement de fichier journal, et vérifiez le journal pour les entrées de hook Setup et SessionStart.

1310 1353 

1311Parce que Setup ne se déclenche pas à chaque lancement, un plugin qui a besoin d'une dépendance installée ne peut pas compter sur Setup seul. Le modèle pratique est de vérifier la dépendance à la première utilisation et d'installer en cas d'absence, par exemple un hook ou une skill qui teste `${CLAUDE_PLUGIN_DATA}/node_modules` et exécute `npm install` si absent. Consultez le [répertoire de données persistantes](/docs/fr/plugins-reference#persistent-data-directory) pour savoir où stocker les dépendances installées. Si vous distribuez votre plugin via une marketplace, vous n'aurez peut-être pas besoin de ce modèle : Claude Code [installe automatiquement les dépendances de package Node.js éligibles](/docs/fr/plugins-reference#node-js-package-dependencies) lorsqu'il met en cache le plugin.1354Parce que Setup ne s'exécute pas à chaque lancement, un plugin qui a besoin d'une dépendance installée ne peut pas compter sur Setup seul. Le modèle pratique est de vérifier la dépendance à la première utilisation et d'installer en cas d'absence, par exemple un hook ou skill qui teste `${CLAUDE_PLUGIN_DATA}/node_modules` et exécute `npm install` s'il est absent. Voir le [répertoire de données persistantes](/docs/fr/plugins-reference#persistent-data-directory) pour savoir où stocker les dépendances installées. Si vous distribuez votre plugin via une marketplace, vous n'aurez peut-être pas besoin de ce modèle : Claude Code [installe automatiquement les dépendances de package Node.js éligibles](/docs/fr/plugins-reference#node-js-package-dependencies) quand il met en cache le plugin.

1312 1355 

1313<h4 id="setup-input">1356<h4 id="setup-input">

1314 Entrée Setup1357 Entrée Setup


1330 Contrôle de décision Setup1373 Contrôle de décision Setup

1331</h4>1374</h4>

1332 1375 

1333Les 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, tels que `systemMessage`, `continue` et `hookSpecificOutput.additionalContext`. Avec `-p`, la sortie, l'erreur et le code de sortie d'un hook Setup n'apparaissent dans la sortie de l'exécution que comme des [événements `hook_response`](/docs/fr/headless#read-session-metadata) lorsque 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, 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`.

1334 1377 

1335Les 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"` et `type: "mcp_tool"` sont supportés.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).

1336 1379 

1337<h3 id="instructionsloaded">1380<h3 id="instructionsloaded">

1338 InstructionsLoaded1381 InstructionsLoaded

1339</h3>1382</h3>

1340 1383 

1341Se déclenche lorsqu'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 lorsque les fichiers sont chargés avec paresse, par exemple lorsque Claude accède à un sous-répertoire qui contient un `CLAUDE.md` imbriqué ou lorsque 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é.

1342 1385 

1343Le matcher s'exécute sur `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 paresseux.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`.

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.

1344 1389 

1345<h4 id="instructionsloaded-input">1390<h4 id="instructionsloaded-input">

1346 Entrée InstructionsLoaded1391 Entrée InstructionsLoaded


1349En plus des [champs d'entrée communs](#common-input-fields), les hooks InstructionsLoaded reçoivent ces champs :1394En plus des [champs d'entrée communs](#common-input-fields), les hooks InstructionsLoaded reçoivent ces champs :

1350 1395 

1351| Champ | Description |1396| Champ | Description |

1352| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1397| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1353| `file_path` | Chemin absolu vers le fichier d'instructions qui a été chargé |1398| `file_path` | Chemin absolu du fichier d'instructions qui a été chargé |

1354| `memory_type` | Portée du fichier : `"User"`, `"Project"`, `"Local"` ou `"Managed"` |1399| `memory_type` | Portée du fichier : `"User"`, `"Project"`, `"Local"`, ou `"Managed"` |

1355| `load_reason` | Pourquoi le fichier a été chargé : `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"` ou `"compact"`. La valeur `"compact"` se déclenche lorsque les fichiers d'instructions sont rechargés après un événement de compaction |1400| `load_reason` | Pourquoi le fichier a été chargé : `"session_start"`, `"nested_traversal"`, `"path_glob_match"`, `"include"`, ou `"compact"`. La valeur `"compact"` se déclenche quand les fichiers d'instructions sont rechargés après un événement de compaction |

1356| `globs` | Modèles de glob de chemin du frontmatter `paths:` du fichier, le cas échéant. Présent uniquement pour les chargements `path_glob_match` |1401| `globs` | Modèles de glob de chemin du frontmatter `paths:` du fichier, le cas échéant. Présent uniquement pour les chargements `path_glob_match` |

1357| `trigger_file_path` | Chemin vers le fichier dont l'accès a déclenché ce chargement, pour les chargements paresseux |1402| `trigger_file_path` | Chemin du fichier dont l'accès a déclenché ce chargement, pour les chargements avec paresse |

1358| `parent_file_path` | Chemin vers le fichier d'instructions parent qui a inclus celui-ci, pour les chargements `include` |1403| `parent_file_path` | Chemin du fichier d'instructions parent qui a inclus celui-ci, pour les chargements `include` |

1359 1404 

1360```json theme={null}1405```json theme={null}

1361{1406{


1373 Contrôle de décision InstructionsLoaded1418 Contrôle de décision InstructionsLoaded

1374</h4>1419</h4>

1375 1420 

1376Les hooks InstructionsLoaded n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer ou modifier le chargement des instructions. Claude Code rejette leurs [champs de sortie JSON](#json-output), tels que `systemMessage` et `continue`. Utilisez cet événement pour la journalisation d'audit, le suivi de conformité ou l'observabilité.1421Les hooks InstructionsLoaded n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer ou modifier le chargement des instructions. Claude Code rejette leurs [champs de sortie JSON](#json-output), comme `systemMessage` et `continue`. Utilisez cet événement pour l'audit logging, le suivi de conformité, ou l'observabilité.

1377 1422 

1378<h3 id="userpromptsubmit">1423<h3 id="userpromptsubmit">

1379 UserPromptSubmit1424 UserPromptSubmit

1380</h3>1425</h3>

1381 1426 

1382S'exécute lorsque l'utilisateur soumet un prompt, avant que Claude ne le traite. Cela vous permet d'ajouter du contexte supplémentaire basé sur le prompt/conversation, de valider les prompts ou de bloquer certains types de prompts.1427S'exécute quand l'utilisateur soumet une invite, avant que Claude la traite. Cela vous permet d'ajouter du contexte supplémentaire basé sur l'invite/conversation, de valider les invites, ou de bloquer certains types d'invites.

1383 1428 

1384Les 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élai par défaut de 600 secondes pour ces types sur d'autres événements. Parce que ce hook s'exécute avant chaque prompt et bloque le traitement du modèle jusqu'à son achèvement, 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.

1385 1430 

1386Apart from a command hook you run with [`async: true`](#run-hooks-in-the-background), a `UserPromptSubmit` command, HTTP, or MCP tool hook that reaches its timeout is canceled and its output, including any `additionalContext`, is discarded. The prompt still reaches Claude without that context. The transcript shows a notice naming the hook, the timeout that fired, and that the output was discarded.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.

1387 1432 

1388Un hook de rappel [Agent SDK](/docs/fr/agent-sdk/hooks) sur `UserPromptSubmit` qui atteint son délai d'expiration bloque le prompt avec un message nommant le hook et le délai d'expiration, car 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.

1389 1434 

1390<h4 id="userpromptsubmit-input">1435<h4 id="userpromptsubmit-input">

1391 Entrée UserPromptSubmit1436 Entrée UserPromptSubmit


1408 Contrôle de décision UserPromptSubmit1453 Contrôle de décision UserPromptSubmit

1409</h4>1454</h4>

1410 1455 

1411Les hooks `UserPromptSubmit` peuvent contrôler si un prompt utilisateur est traité 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.

1412 1457 

1413Il y a deux façons d'ajouter du contexte à la conversation sur exit code 0 :1458Il y a deux façons d'ajouter du contexte à la conversation au code de sortie 0 :

1414 1459 

1415* **Stdout en texte brut** : Claude Code ajoute le stdout 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

1416* **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

1417 1462 

1418Aucun canal ne produit une entrée de transcription visible. Le stdout brut et la valeur `additionalContext` sont chacun injectés comme un rappel système qui commence par le nom du hook ; Claude lit les deux. Pour confirmer la livraison, vérifiez le [journal de débogage](#debug-hooks).1463Aucun canal ne produit une entrée de transcription visible. La sortie standard brute et la valeur `additionalContext` sont chacune injectées comme un rappel système qui commence par le nom du hook ; Claude lit les deux. Pour confirmer la livraison, vérifiez le [journal de débogage](#debug-hooks).

1419 1464 

1420Pour bloquer un prompt, retournez un objet JSON avec `decision` défini à `"block"` :1465Pour bloquer une invite, retournez un objet JSON avec `decision` défini à `"block"` :

1421 1466 

1422| Champ | Description |1467| Champ | Description |

1423| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------ |1468| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------- |

1424| `decision` | `"block"` empêche le prompt d'être traité et l'efface du contexte. Omettez pour autoriser le prompt à procéder |1469| `decision` | `"block"` empêche l'invite d'être traitée et l'efface du contexte. Omettez pour permettre à l'invite de procéder |

1425| `reason` | Affiché à l'utilisateur lorsque `decision` est `"block"`. Non ajouté au contexte |1470| `reason` | Montré à l'utilisateur quand `decision` est `"block"`. Non ajouté au contexte |

1426| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du prompt soumis. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |1471| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés de l'invite soumise. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

1427| `sessionTitle` | Définit le titre de la session. Utilisez pour nommer les sessions automatiquement en fonction du contenu du prompt |1472| `sessionTitle` | Définit le titre de la session. Utilisez pour nommer les sessions automatiquement en fonction du contenu de l'invite |

1428| `suppressOriginalPrompt` | Si `true` lorsque `decision` est `"block"`, omet le texte du prompt original du message de blocage affiché à l'utilisateur |1473| `suppressOriginalPrompt` | Si `true` quand `decision` est `"block"`, omet le texte d'invite original du message de blocage montré à l'utilisateur |

1429 1474 

1430Un hook qui bloque en quittant 2 s'achemine de la même manière que `reason` : le message de blocage affiche le texte stderr à l'utilisateur, et il n'est pas ajouté au contexte.1475Un hook qui bloque en quittant 2 s'achemine de la même façon que `reason` : le message de blocage montre le texte stderr à l'utilisateur, et il n'est pas ajouté au contexte.

1431 1476 

1432```json theme={null}1477```json theme={null}

1433{1478{


1445 UserPromptExpansion1490 UserPromptExpansion

1446</h3>1491</h3>

1447 1492 

1448S'exécute lorsqu'une commande slash tapée par l'utilisateur se développe en un prompt avant d'atteindre Claude. Utilisez ceci pour bloquer des commandes spécifiques de l'invocation directe, injecter du contexte pour une skill particulière ou enregistrer quelles commandes les utilisateurs invoquent. Par exemple, un hook correspondant à `deploy` peut bloquer `/deploy` sauf si un fichier d'approbation est présent, ou un hook correspondant à une skill de révision peut ajouter la liste de contrôle de révision de l'équipe comme `additionalContext`.1493S'exécute quand une commande tapée par l'utilisateur se développe en une invite avant d'atteindre Claude. Utilisez ceci pour bloquer des commandes spécifiques de l'invocation directe, injecter du contexte pour une skill particulière, ou enregistrer quelles commandes les utilisateurs invoquent. Par exemple, un hook correspondant à `deploy` peut bloquer `/deploy` sauf si un fichier d'approbation est présent, ou un hook correspondant à une skill de révision peut ajouter la liste de contrôle de révision de l'équipe comme `additionalContext`.

1449 1494 

1450Cet événement couvre le chemin que `PreToolUse` ne couvre pas : un hook `PreToolUse` correspondant à l'outil `Skill` se déclenche uniquement lorsque Claude appelle l'outil, mais taper `/skillname` directement contourne `PreToolUse`. `UserPromptExpansion` se déclenche sur ce chemin direct.1495Cet événement couvre le chemin que `PreToolUse` ne couvre pas : un hook `PreToolUse` correspondant à l'outil `Skill` se déclenche uniquement quand Claude appelle l'outil, mais taper `/skillname` directement contourne `PreToolUse`. `UserPromptExpansion` se déclenche sur ce chemin direct.

1451 1496 

1452Correspond à `command_name`. Laissez le matcher vide pour se déclencher sur chaque commande de type prompt.1497Correspond à `command_name`. Laissez le matcher vide pour se déclencher sur chaque commande de type invite.

1453 1498 

1454<h4 id="userpromptexpansion-input">1499<h4 id="userpromptexpansion-input">

1455 Entrée UserPromptExpansion1500 Entrée UserPromptExpansion

1456</h4>1501</h4>

1457 1502 

1458En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptExpansion reçoivent `expansion_type`, `command_name`, `command_args`, `command_source` et la chaîne `prompt` originale. Le champ `expansion_type` est `slash_command` pour les skills et commandes personnalisées, ou `mcp_prompt` pour les prompts du serveur MCP.1503En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptExpansion reçoivent `expansion_type`, `command_name`, `command_args`, `command_source`, et la chaîne `prompt` originale. Le champ `expansion_type` est `slash_command` pour les skills et commandes personnalisées, ou `mcp_prompt` pour les invites du serveur MCP.

1459 1504 

1460```json theme={null}1505```json theme={null}

1461{1506{


1479Les hooks `UserPromptExpansion` peuvent bloquer l'expansion ou ajouter du contexte. Tous les [champs de sortie JSON](#json-output) sont disponibles.1524Les hooks `UserPromptExpansion` peuvent bloquer l'expansion ou ajouter du contexte. Tous les [champs de sortie JSON](#json-output) sont disponibles.

1480 1525 

1481| Champ | Description |1526| Champ | Description |

1482| :------------------ | :--------------------------------------------------------------------------------------------------------------------------------------- |1527| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------- |

1483| `decision` | `"block"` empêche la slash command de se développer. Omettez pour autoriser sa progression |1528| `decision` | `"block"` empêche la commande de se développer. Omettez pour permettre à la commande de procéder |

1484| `reason` | Affiché à l'utilisateur lorsque `decision` est `"block"` |1529| `reason` | Montré à l'utilisateur quand `decision` est `"block"` |

1485| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du prompt développé. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |1530| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés de l'invite développée. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

1486 1531 

1487Un hook qui bloque en quittant 2 s'achemine de la même manière que `reason` : le message de blocage affiche le texte stderr à l'utilisateur.1532Un hook qui bloque en quittant 2 s'achemine de la même façon que `reason` : le message de blocage montre le texte stderr à l'utilisateur.

1488 1533 

1489```json theme={null}1534```json theme={null}

1490{1535{


1501 MessageDisplay1546 MessageDisplay

1502</h3>1547</h3>

1503 1548 

1504S'exécute pendant qu'un message d'assistant se diffuse à l'écran. Claude Code affiche le message par incréments : chaque fois qu'un lot de lignes nouvellement complétées est prêt à être rendu, le hook s'exécute une fois avec ces lignes et Claude Code rend le texte de remplacement du hook à leur place. Un long message produit plusieurs appels ; un court message peut ne produire qu'un seul.1549S'exécute pendant qu'un message d'assistant s'affiche à l'écran. Claude Code affiche le message par incréments : chaque fois qu'un lot de lignes nouvellement complétées est prêt à être rendu, le hook s'exécute une fois avec ces lignes et Claude Code rend le texte de remplacement du hook à leur place. Un long message produit plusieurs appels ; un court message peut ne produire qu'un seul.

1505 1550 

1506Utilisez MessageDisplay pour :1551Utilisez MessageDisplay pour :

1507 1552 

1508* supprimer le markdown pour un affichage minimal1553* supprimer le markdown pour un affichage minimal

1509* transformer le texte qu'une application Agent SDK affiche à ses utilisateurs1554* transformer le texte qu'une application Agent SDK montre à ses utilisateurs

1510* masquer les clés API ou les noms d'hôtes internes des réponses de Claude1555* masquer les clés API ou les noms d'hôtes internes des réponses de Claude

1511 1556 

1512Claude Code retient 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.

1513 1558 

1514MessageDisplay 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'outil 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 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.

1515 1560 

1516MessageDisplay ne supporte pas les matchers et se déclenche pour chaque message d'assistant qui diffuse du texte ; les messages sans texte, comme les réponses d'appel d'outil uniquement, 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 contenant uniquement des appels d'outils, ne le déclenchent pas.

1517 1562 

1518Dans 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.

1519 1564 

1520<h4 id="messagedisplay-input">1565<h4 id="messagedisplay-input">

1521 Entrée MessageDisplay1566 Entrée MessageDisplay

1522</h4>1567</h4>

1523 1568 

1524En 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 se diffuse, 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.

1525 1570 

1526| Champ | Description |1571| Champ | Description |

1527| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1572| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1528| `turn_id` | UUID du tour actuel |1573| `turn_id` | UUID du tour actuel |

1529| `message_id` | UUID du message d'assistant en cours d'affichage. Stable sur 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 |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 |

1530| `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 |

1531| `final` | `true` sur le dernier lot du message. Chaque message a exactement un dernier lot |1576| `final` | `true` sur le dernier lot du message. Chaque message a exactement un lot final |

1532| `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 dernier lot qui peut se terminer au milieu d'une ligne. Dans les exécutions interactives, le delta du dernier lot est vide lorsque 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 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 |

1533 1578 

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

1535{1580{


1555| :--------------- | :--------------------------------------------------------------------- |1600| :--------------- | :--------------------------------------------------------------------- |

1556| `displayContent` | Texte affiché à la place du delta. Omettez-le pour afficher l'original |1601| `displayContent` | Texte affiché à la place du delta. Omettez-le pour afficher l'original |

1557 1602 

1558Les hooks MessageDisplay n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le message ou modifier ce qui est stocké dans la transcription ou envoyé à Claude. Claude Code agit sur `displayContent` de leur sortie JSON et rejette `systemMessage` et `continue`.1603Les hooks MessageDisplay n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le message ou changer ce qui est stocké dans la transcription ou envoyé à Claude. Claude Code agit sur `displayContent` de leur sortie JSON et rejette `systemMessage` et `continue`.

1559 1604 

1560Cet exemple supprime la mise en forme markdown des réponses de Claude pour un affichage en texte brut. Le script lit chaque lot depuis stdin, supprime les marqueurs gras et les backticks de code en ligne du `delta`, et retourne le résultat comme `displayContent`.1605Cet exemple supprime la mise en forme markdown des réponses de Claude pour un affichage en texte brut. Le script lit chaque lot depuis stdin, supprime les marqueurs gras et les backticks de code en ligne de `delta`, et retourne le résultat comme `displayContent`.

1561 1606 

1562<Tabs>1607<Tabs>

1563 <Tab title="macOS/Linux">1608 <Tab title="macOS/Linux">


1616 }1661 }

1617 ```1662 ```

1618 1663 

1619 Le drapeau `-NoProfile` saute le chargement de votre profil PowerShell afin que le hook démarre rapidement, et `-ExecutionPolicy Bypass` permet à PowerShell d'exécuter le fichier de script local.1664 Le drapeau `-NoProfile` ignore le chargement de votre profil PowerShell pour que le hook démarre rapidement, et `-ExecutionPolicy Bypass` permet à PowerShell d'exécuter le fichier de script local.

1620 1665 

1621 Enregistrez ce script dans `.claude/hooks/plain-display.ps1` dans votre projet :1666 Enregistrez ce script dans `.claude/hooks/plain-display.ps1` dans votre projet :

1622 1667 


1639 PreToolUse1684 PreToolUse

1640</h3>1685</h3>

1641 1686 

1642S'exécute après que Claude crée les paramètres de l'outil et avant le traitement de l'appel d'outil. Correspond au nom de l'outil sauf `EndConversation` : les outils intégrés tels que `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion` et `ExitPlanMode`, et tout [nom d'outil 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).

1643 1688 

1644Pour exécuter un hook lorsqu'un fichier spécifique change sur le disque, quel que soit ce qui l'a écrit, utilisez [FileChanged](#filechanged) à la place de la correspondance des outils d'édition de fichiers par nom. Contrairement à PreToolUse, Claude Code exécute les hooks FileChanged après la modification, 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, 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.

1645 1690 

1646<Warning>1691<Warning>

1647 PreToolUse s'exécute uniquement lorsque Claude appelle un outil. Les fichiers que vous [référencez avec `@` dans votre prompt](/docs/fr/common-workflows#reference-files-and-directories) sont ajoutés sans aucun appel d'outil : Claude Code insère leurs contenus lors de la construction du prompt, 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 une [règle de refus `Read`](/docs/fr/permissions#read-and-edit) à la place.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).

1648 1693 

1649 PreToolUse ne se déclenche pas non plus pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).1694 PreToolUse ne se déclenche pas non plus pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).

1650</Warning>1695</Warning>

1651 1696 

1652Utilisez [Contrôle de décision PreToolUse](#pretooluse-decision-control) pour autoriser, 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.

1653 1698 

1654Un 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 a toujours la priorité.

1655 1700 


1657 Entrée PreToolUse1702 Entrée PreToolUse

1658</h4>1703</h4>

1659 1704 

1660En 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`.

1661 1706 

1662Pour les outils de fichier `Write`, `Edit` et `Read`, `tool_input.file_path` est toujours absolu :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.

1663 1708 

1664* Claude Code développe `~` et les chemins relatifs avant que les hooks ne s'exécutent, donc un hook qui correspond aux chemins ne peut pas être contourné via `~` ou une orthographe relative du même chemin1709Pour les outils de fichier `Write`, `Edit`, et `Read`, `tool_input.file_path` est toujours absolu :

1665* Sur Windows, le chemin arrive avec des séparateurs de barre oblique inverse, même lorsque votre hook s'exécute sous Git Bash où `$PWD` ressemble à `/c/project`1710 

1711* Claude Code développe `~` et les chemins relatifs avant que les hooks s'exécutent, donc un hook qui correspond à des chemins ne peut pas être contourné via `~` ou une orthographe relative du même chemin

1712* Sur Windows, le chemin arrive avec des séparateurs de barre oblique inverse, même quand votre hook s'exécute sous Git Bash où `$PWD` ressemble à `/c/project`

1666* Une comparaison écrite avec des barres obliques avant, comme une vérification `/src/`, ne correspond jamais à un chemin de barre oblique inverse, et l'appel d'outil procède comme si le hook n'avait rien à bloquer1713* Une comparaison écrite avec des barres obliques avant, comme une vérification `/src/`, ne correspond jamais à un chemin de barre oblique inverse, et l'appel d'outil procède comme si le hook n'avait rien à bloquer

1667* Normalisez les séparateurs avant de comparer : `FILE_PATH="${FILE_PATH//\\//}"` en Bash, ou `file_path.replace("\\", "/")` en Python, puis correspondez à un segment de chemin tel que `/src/` plutôt que d'ancrer avec `^`, puisque le chemin est absolu1714* Normalisez les séparateurs avant de comparer : `FILE_PATH="${FILE_PATH//\\//}"` en Bash, ou `file_path.replace("\\", "/")` en Python, puis correspondez à un segment de chemin comme `/src/` plutôt que d'ancrer avec `^`, puisque le chemin est absolu

1668 1715 

1669Un appel `Write` sur Windows livre :1716Un appel `Write` sur Windows livre :

1670 1717 


1682 1729 

1683Les champs `tool_input` dépendent de l'outil :1730Les champs `tool_input` dépendent de l'outil :

1684 1731 

1732<a id="bash" />

1733 

1685<h5 id="bash">1734<h5 id="bash">

1686 Bash1735 Bash

1687</h5>1736</h5>


1691| Champ | Type | Exemple | Description |1740| Champ | Type | Exemple | Description |

1692| :------------------ | :------ | :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1741| :------------------ | :------ | :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1693| `command` | string | `"npm test"` | La commande shell à exécuter |1742| `command` | string | `"npm test"` | La commande shell à exécuter |

1694| `description` | string | `"Run test suite"` | Description optionnelle de ce que fait la commande |1743| `description` | string | `"Run test suite"` | Description optionnelle de ce que la commande fait |

1695| `timeout` | number | `120000` | Délai d'expiration optionnel en millisecondes. Les valeurs au-dessus du [maximum](/docs/fr/tools-reference#bash-tool-behavior) sont réduites au maximum plutôt que rejetées |1744| `timeout` | number | `120000` | Délai d'expiration optionnel en millisecondes. Les valeurs au-dessus du [maximum](/docs/fr/tools-reference#bash-tool-behavior) sont réduites au maximum plutôt que rejetées |

1696| `run_in_background` | boolean | `false` | Si la commande doit s'exécuter en arrière-plan |1745| `run_in_background` | boolean | `false` | Si la commande doit s'exécuter en arrière-plan |

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

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.

1750 

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.

1753</Note>

1754 

1755`changedFiles` et `files` listent ce que la commande a changé ; les champs restants disent à quel point cette liste est complète et fiable.

1756 

1757| Champ | Type | Exemple | Description |

1758| :------------- | :------ | :------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1759| `changedFiles` | array | `["/path/to/src/app.ts"]` | Chemins absolus des fichiers que la commande a changés, au maximum 200. Présent chaque fois que `files` contient un diff ou `moreFiles` est au-dessus de zéro |

1760| `files` | array | `[{"filePath": "/path/to/src/app.ts", "hunks": [...]}]` | Diffs de jusqu'à 5 fichiers modifiés, pour l'affichage. `created` ou `deleted` est `true` pour un fichier que la commande a ajouté ou supprimé |

1761| `moreFiles` | number | `2` | Nombre de fichiers modifiés sans diff dans `files` |

1762| `unavailable` | boolean | `true` | Défini quand le diff est incomplet ou n'a pas pu être pris |

1763| `skipped` | boolean | `true` | Défini pour une commande Git qui déplace l'arborescence de travail, comme `git checkout` ou `git stash`, donc Claude Code ne prend pas de diff |

1764| `shared` | boolean | `true` | Défini quand un autre appel d'outil Bash, comme celui d'un sous-agent, s'exécutait dans le même référentiel au même moment, donc certains changements listés peuvent être celui de cette commande |

1765 

1698<a id="powershell" />1766<a id="powershell" />

1699 1767 

1700<h5 id="powershell">1768<h5 id="powershell">

1701 PowerShell1769 PowerShell

1702</h5>1770</h5>

1703 1771 

1704Exécute les commandes PowerShell. Consultez l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) pour la disponibilité par plateforme.1772Exécute les commandes PowerShell. Voir l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool) pour la disponibilité par plateforme.

1705 1773 

1706Les champs correspondent à l'outil Bash, avec la chaîne de commande dans `command` :1774Les champs correspondent à l'outil Bash, avec la chaîne de commande dans `command` :

1707 1775 

1708| Champ | Type | Exemple | Description |1776| Champ | Type | Exemple | Description |

1709| :------------------ | :------ | :------------------------- | :------------------------------------------------- |1777| :------------------ | :------ | :------------------------- | :------------------------------------------------- |

1710| `command` | string | `"Get-ChildItem -Recurse"` | La commande PowerShell à exécuter |1778| `command` | string | `"Get-ChildItem -Recurse"` | La commande PowerShell à exécuter |

1711| `description` | string | `"List files recursively"` | Description optionnelle de ce que fait la commande |1779| `description` | string | `"List files recursively"` | Description optionnelle de ce que la commande fait |

1712| `timeout` | number | `120000` | Délai d'expiration optionnel en millisecondes |1780| `timeout` | number | `120000` | Délai d'expiration optionnel en millisecondes |

1713| `run_in_background` | boolean | `false` | Si la commande doit s'exécuter en arrière-plan |1781| `run_in_background` | boolean | `false` | Si la commande doit s'exécuter en arrière-plan |

1714 1782 

1715Correspondez à `Bash|PowerShell` dans les hooks qui inspectent les commandes shell, afin qu'ils couvrent les deux outils :1783Correspondez à `Bash|PowerShell` dans les hooks qui inspectent les commandes shell, pour qu'ils couvrent les deux outils :

1716 1784 

1717* Sur Windows, partout où l'outil PowerShell est activé, Claude traite PowerShell comme le shell principal et achemine les commandes shell à travers lui.1785* Sur Windows, partout où l'outil PowerShell est activé, Claude traite PowerShell comme le shell principal et achemine les commandes shell à travers lui.

1718* Sur Windows sans Git Bash, l'outil est activé automatiquement et Claude Code n'enregistre pas du tout l'outil Bash.1786* Sur Windows sans Git Bash, l'outil est activé automatiquement et Claude Code n'enregistre pas l'outil Bash du tout.

1719* Un hook qui correspond uniquement à `Bash` ne se déclenche jamais là.1787* Un hook qui correspond uniquement à `Bash` ne se déclenche jamais là.

1720 1788 

1721<h5 id="write">1789<h5 id="write">

1722 Write1790 Write

1723</h5>1791</h5>

1724 1792 

1725Crée ou écrase un fichier.1793Crée ou remplace un fichier.

1726 1794 

1727| Champ | Type | Exemple | Description |1795| Champ | Type | Exemple | Description |

1728| :---------- | :----- | :-------------------- | :------------------------------------- |1796| :---------- | :----- | :-------------------- | :-------------------------------- |

1729| `file_path` | string | `"/path/to/file.txt"` | Chemin absolu vers le fichier à écrire |1797| `file_path` | string | `"/path/to/file.txt"` | Chemin absolu du fichier à écrire |

1730| `content` | string | `"file content"` | Contenu à écrire dans le fichier |1798| `content` | string | `"file content"` | Contenu à écrire dans le fichier |

1731 1799 

1732<h5 id="edit">1800<h5 id="edit">


1737 1805 

1738| Champ | Type | Exemple | Description |1806| Champ | Type | Exemple | Description |

1739| :------------ | :------ | :-------------------- | :------------------------------------------------ |1807| :------------ | :------ | :-------------------- | :------------------------------------------------ |

1740| `file_path` | string | `"/path/to/file.txt"` | Chemin absolu vers le fichier à éditer |1808| `file_path` | string | `"/path/to/file.txt"` | Chemin absolu du fichier à éditer |

1741| `old_string` | string | `"original text"` | Texte à trouver et remplacer |1809| `old_string` | string | `"original text"` | Texte à trouver et remplacer |

1742| `new_string` | string | `"replacement text"` | Texte de remplacement |1810| `new_string` | string | `"replacement text"` | Texte de remplacement |

1743| `replace_all` | boolean | `false` | Si toutes les occurrences doivent être remplacées |1811| `replace_all` | boolean | `false` | Si toutes les occurrences doivent être remplacées |


1749Lit le contenu des fichiers.1817Lit le contenu des fichiers.

1750 1818 

1751| Champ | Type | Exemple | Description |1819| Champ | Type | Exemple | Description |

1752| :---------- | :----- | :-------------------- | :------------------------------------------------------------- |1820| :---------- | :----- | :-------------------- | :-------------------------------------------------- |

1753| `file_path` | string | `"/path/to/file.txt"` | Chemin absolu vers le fichier à lire |1821| `file_path` | string | `"/path/to/file.txt"` | Chemin absolu du fichier à lire |

1754| `offset` | number | `10` | Numéro de ligne optionnel à partir duquel commencer la lecture |1822| `offset` | number | `10` | Numéro de ligne optionnel pour commencer la lecture |

1755| `limit` | number | `50` | Nombre optionnel de lignes à lire |1823| `limit` | number | `50` | Nombre optionnel de lignes à lire |

1756 1824 

1757<h5 id="glob">1825<h5 id="glob">


1761Trouve les fichiers correspondant à un modèle glob.1829Trouve les fichiers correspondant à un modèle glob.

1762 1830 

1763| Champ | Type | Exemple | Description |1831| Champ | Type | Exemple | Description |

1764| :-------- | :----- | :--------------- | :----------------------------------------------------------------------------- |1832| :-------- | :----- | :--------------- | :---------------------------------------------------------------------------- |

1765| `pattern` | string | `"**/*.ts"` | Modèle glob pour correspondre aux fichiers |1833| `pattern` | string | `"**/*.ts"` | Modèle glob pour correspondre aux fichiers |

1766| `path` | string | `"/path/to/dir"` | Répertoire optionnel à rechercher. Par défaut le répertoire de travail courant |1834| `path` | string | `"/path/to/dir"` | Répertoire optionnel à rechercher. Par défaut le répertoire de travail actuel |

1767 1835 

1768<h5 id="grep">1836<h5 id="grep">

1769 Grep1837 Grep


1772Recherche le contenu des fichiers avec des expressions régulières.1840Recherche le contenu des fichiers avec des expressions régulières.

1773 1841 

1774| Champ | Type | Exemple | Description |1842| Champ | Type | Exemple | Description |

1775| :------------ | :------ | :--------------- | :---------------------------------------------------------------------------------- |1843| :------------ | :------ | :--------------- | :----------------------------------------------------------------------------------- |

1776| `pattern` | string | `"TODO.*fix"` | Modèle d'expression régulière à rechercher |1844| `pattern` | string | `"TODO.*fix"` | Modèle d'expression régulière à rechercher |

1777| `path` | string | `"/path/to/dir"` | Fichier ou répertoire optionnel à rechercher |1845| `path` | string | `"/path/to/dir"` | Fichier ou répertoire optionnel à rechercher |

1778| `glob` | string | `"*.ts"` | Modèle glob optionnel pour filtrer les fichiers |1846| `glob` | string | `"*.ts"` | Modèle glob optionnel pour filtrer les fichiers |

1779| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"` ou `"count"`. Par défaut `"files_with_matches"` |1847| `output_mode` | string | `"content"` | `"content"`, `"files_with_matches"`, ou `"count"`. Par défaut `"files_with_matches"` |

1780| `-i` | boolean | `true` | Recherche insensible à la casse |1848| `-i` | boolean | `true` | Recherche insensible à la casse |

1781| `multiline` | boolean | `false` | Activer la correspondance multiligne |1849| `multiline` | boolean | `false` | Activer la correspondance multiligne |

1782 1850 


1787Récupère et traite le contenu web.1855Récupère et traite le contenu web.

1788 1856 

1789| Champ | Type | Exemple | Description |1857| Champ | Type | Exemple | Description |

1790| :------- | :----- | :---------------------------- | :-------------------------------------------- |1858| :------- | :----- | :---------------------------- | :---------------------------------------- |

1791| `url` | string | `"https://example.com/api"` | URL à partir de laquelle récupérer le contenu |1859| `url` | string | `"https://example.com/api"` | URL pour récupérer le contenu |

1792| `prompt` | string | `"Extract the API endpoints"` | Prompt à exécuter sur le contenu récupéré |1860| `prompt` | string | `"Extract the API endpoints"` | Invite à exécuter sur le contenu récupéré |

1793 1861 

1794<h5 id="websearch">1862<h5 id="websearch">

1795 WebSearch1863 WebSearch

1796</h5>1864</h5>

1797 1865 

1798Recherche sur le web.1866Recherche le web.

1799 1867 

1800| Champ | Type | Exemple | Description |1868| Champ | Type | Exemple | Description |

1801| :---------------- | :----- | :----------------------------- | :----------------------------------------------------------- |1869| :---------------- | :----- | :----------------------------- | :----------------------------------------------------------- |


1807 Agent1875 Agent

1808</h5>1876</h5>

1809 1877 

1810Lance un [subagent](/docs/fr/sub-agents).1878Crée un [sous-agent](/docs/fr/sub-agents).

1811 1879 

1812| Champ | Type | Exemple | Description |1880| Champ | Type | Exemple | Description |

1813| :-------------- | :----- | :------------------------- | :------------------------------------------------------------ |1881| :-------------- | :----- | :------------------------- | :------------------------------------------------- |

1814| `prompt` | string | `"Find all API endpoints"` | La tâche pour l'agent à effectuer |1882| `prompt` | string | `"Find all API endpoints"` | La tâche pour l'agent à effectuer |

1815| `description` | string | `"Find API endpoints"` | Description courte de la tâche |1883| `description` | string | `"Find API endpoints"` | Description courte de la tâche |

1816| `subagent_type` | string | `"Explore"` | Type d'agent spécialisé à utiliser |1884| `subagent_type` | string | `"Explore"` | Type d'agent spécialisé à utiliser |

1817| `model` | string | `"sonnet"` | Alias de modèle optionnel pour remplacer la valeur par défaut |1885| `model` | string | `"sonnet"` | Alias de modèle optionnel pour remplacer le défaut |

1818 1886 

1819Lorsqu'un appel Agent au premier plan se termine, votre hook [PostToolUse](#posttooluse) reçoit le texte final du subagent 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 subagents, utilisez les [compteurs de tokens et de coûts](/docs/fr/monitoring-usage#token-counter) filtrés sur `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 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 :

1820 1888 

1821| Champ | Type | Exemple | Description |1889| Champ | Type | Exemple | Description |

1822| :------------------ | :----- | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1890| :------------------ | :----- | :---------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1823| `status` | string | `"completed"` | `"completed"` pour les subagents au premier plan, `"async_launched"` pour les subagents en arrière-plan. À partir de v2.1.198, les subagents 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"` |

1824| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identifiant pour l'exécution du subagent |1892| `agentId` | string | `"a4d2c8f1e0b3a297"` | Identifiant pour l'exécution du sous-agent |

1825| `content` | array | `[{"type": "text", "text": "Found 12 endpoints..."}]` | Les blocs de texte finaux du subagent |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 |

1826| `resolvedModel` | string | `"claude-sonnet-4-5"` | Modèle sur lequel le subagent a fonctionné, qui peut différer du modèle demandé. Nécessite Claude Code v2.1.174 ou ultérieur |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é |

1827| `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 lorsque le modèle a été échangé en milieu 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 |

1828| `totalTokens` | number | `12450` | Nombre de tokens de la demande API finale du subagent : 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 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 |

1829| `totalDurationMs` | number | `48211` | Durée murale de l'exécution du subagent |1897| `totalDurationMs` | number | `48211` | Durée d'horloge murale de l'exécution du sous-agent |

1830| `totalToolUseCount` | number | `7` | Nombre d'appels d'outil que le subagent a effectués |1898| `totalToolUseCount` | number | `7` | Nombre d'appels d'outils que le sous-agent a effectués |

1831| `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 demande API finale : `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1832 1900 

1833Pour les subagents en arrière-plan, l'outil retourne lorsque la tâche passe en arrière-plan, donc `tool_response` ne porte aucun champ 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 milieu d'exécution retourne à cette transition. Il a `status: "async_launched"`, `agentId`, `description`, `prompt`, `outputFile` et `resolvedModel`.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`.

1834 1902 

1835Sur une réponse `completed`, `resolvedModel` nomme le modèle sur lequel le subagent a commencé, qui peut différer de la valeur `model` dans `tool_input`, comme lorsque `availableModels` ou un autre remplacement s'applique. Il nécessite Claude Code v2.1.174 ou ultérieur. Sur une réponse `async_launched`, `resolvedModel` nomme le modèle en usage lorsque 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.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 

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.

1836 1906 

1837<a id="askuserquestion" />1907<a id="askuserquestion" />

1838 1908 


1843Pose à l'utilisateur une à quatre questions à choix multiples.1913Pose à l'utilisateur une à quatre questions à choix multiples.

1844 1914 

1845| Champ | Type | Exemple | Description |1915| Champ | Type | Exemple | Description |

1846| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1916| :---------- | :----- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1847| `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 optionnel `multiSelect` |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 |

1848| `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 |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 |

1849 1919 

1850<h5 id="exitplanmode">1920<h5 id="exitplanmode">

1851 ExitPlanMode1921 ExitPlanMode

1852</h5>1922</h5>

1853 1923 

1854Présente un plan et demande à l'utilisateur de l'approuver avant que Claude ne 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 transmettre 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 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.

1855 1925 

1856| Champ | Type | Exemple | Description |1926| Champ | Type | Exemple | Description |

1857| :--------------- | :----- | :------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1927| :--------------- | :----- | :------------------------------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1858| `plan` | string | `"## Refactor auth\n1. Extract..."` | Contenu du plan en Markdown. Injecté à partir du fichier de plan sur le disque |1928| `plan` | string | `"## Refactor auth\n1. Extract..."` | Contenu du plan en Markdown. Injecté à partir du fichier de plan sur le disque |

1859| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Chemin vers le fichier de plan. Injecté |1929| `planFilePath` | string | `"/Users/.../plans/refactor-auth.md"` | Chemin du fichier de plan. Injecté |

1860| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Dépréciée. Claude Code accepte le champ mais l'ignore. Avant v2.1.205, il portait les permissions basées sur les prompts que Claude demandait pour implémenter le plan |1930| `allowedPrompts` | array | `[{"tool": "Bash", "prompt": "run tests"}]` | Déprécié. Claude Code accepte le champ mais l'ignore. Avant v2.1.205, il portait les permissions basées sur les invites que Claude a demandées pour implémenter le plan |

1861 1931 

1862Dans `PostToolUse`, `tool_response` est un objet avec les champs `plan` et `filePath` contenant le plan approuvé, plus les drapeaux d'état internes. Lisez `tool_response.plan` pour le contenu du plan plutôt que de relire le fichier depuis le disque.1932Dans `PostToolUse`, `tool_response` est un objet avec les champs `plan` et `filePath` contenant le plan approuvé, plus les drapeaux d'état internes. Lisez `tool_response.plan` pour le contenu du plan plutôt que de relire le fichier depuis le disque.

1863 1933 


1865 Contrôle de décision PreToolUse1935 Contrôle de décision PreToolUse

1866</h4>1936</h4>

1867 1937 

1868Les hooks `PreToolUse` peuvent contrôler si un appel d'outil procède. Contrairement aux autres hooks qui utilisent un champ `decision` au niveau supérieur, PreToolUse retourne sa décision à l'intérieur d'un objet `hookSpecificOutput`. Cela lui donne un contrôle plus riche : quatre résultats (autoriser, refuser, demander ou différer) plus la capacité de modifier l'entrée de l'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.

1869 1939 

1870| Champ | Description |1940| Champ | Description |

1871| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |1941| :------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

1872| `permissionDecision` | `"allow"` contourne le dialogue de permission, sauf pour les [actions que le mode auto n'approuve pas automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) et pour `AskUserQuestion` et `ExitPlanMode`, qui ont besoin de [`updatedInput` associé à lui](#allow-with-updatedinput). `"deny"` empêche l'appel d'outil. `"ask"` demande à l'utilisateur de confirmer. `"defer"` sort gracieusement afin que l'outil puisse être repris plus tard. Les règles [Deny and ask](/docs/fr/permissions#manage-permissions) s'appliquent toujours indépendamment de ce que le hook retourne |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 |

1873| `permissionDecisionReason` | Pour `"allow"` et `"ask"`, affiché à l'utilisateur mais pas à Claude. Pour `"deny"`, affiché à Claude. Pour `"defer"`, ignoré |1943| `permissionDecisionReason` | Pour `"allow"` et `"ask"`, montré à l'utilisateur mais pas à Claude. Pour `"deny"`, montré à Claude. Pour `"defer"`, ignoré |

1874| `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 par rapport à 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é |

1875| `additionalContext` | Chaîne ajoutée au contexte de Claude avant l'exécution de l'outil. Ignoré lorsque `permissionDecision` est `"defer"`. Consultez [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 de l'outil. Ignoré quand `permissionDecision` est `"defer"`. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

1876 1946 

1877Lorsque plusieurs hooks PreToolUse retournent des décisions différentes, la précédence est `deny` > `defer` > `ask` > `allow`.1947Quand plusieurs hooks PreToolUse retournent des décisions différentes, la priorité est `deny` > `defer` > `ask` > `allow`.

1878 1948 

1879Un hook qui bloque en quittant 2 s'achemine de la même manière 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.

1880 1950 

1881Lorsqu'un hook retourne `"ask"`, le dialogue de permission affiché à l'utilisateur inclut un libellé identifiant d'où provient le hook : `[settings]` pour un hook de n'importe quel fichier de paramètres ou du frontmatter de l'agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook du frontmatter de la skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande une confirmation.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.

1882 1952 

1883Un `"ask"` d'un hook force également un dialogue 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 l'approuver silencieusement. Avant v2.1.211, le classificateur pouvait approuver une commande Bash s'exécutant en dehors du [sandbox](/docs/fr/sandboxing) sans afficher le dialogue que le hook demandait ; le classificateur appliquait toujours ses propres règles de sécurité à cette commande, et un refus 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 `"deny"` de hook était toujours honoré.

1884 1954 

1885```json theme={null}1955```json theme={null}

1886{1956{


1898 1968 

1899<span id="allow-with-updatedinput" />1969<span id="allow-with-updatedinput" />

1900 1970 

1901`AskUserQuestion` et `ExitPlanMode` nécessitent une interaction utilisateur et bloquent normalement en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. 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` afin 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` 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.

1902 1972 

1903À 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 dialogue d'approbation avec `"allow"`, avec ou sans `updatedInput`, car Claude Code ne peut pas confirmer que le hook a collecté l'interaction dont l'outil a besoin.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.

1904 1974 

1905<Note>1975<Note>

1906 PreToolUse utilisait auparavant les champs `decision` et `reason` au niveau supérieur, mais ceux-ci sont dépréciés pour cet événement. Utilisez `hookSpecificOutput.permissionDecision` et `hookSpecificOutput.permissionDecisionReason` à la place. Les valeurs dépréciées `"approve"` et `"block"` correspondent à `"allow"` et `"deny"` respectivement. Les autres événements comme PostToolUse et Stop continuent d'utiliser `decision` et `reason` au niveau supérieur comme 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.

1907</Note>1977</Note>

1908 1978 

1909<h4 id="defer-a-tool-call-for-later">1979<h4 id="defer-a-tool-call-for-later">

1910 Différer un appel d'outil pour plus tard1980 Différer un appel d'outil pour plus tard

1911</h4>1981</h4>

1912 1982 

1913`"defer"` est pour les intégrations qui exécutent `claude -p` en tant que sous-processus et lisent sa sortie JSON, comme une application Agent SDK ou une interface utilisateur personnalisée construite sur Claude Code. Il permet à ce processus appelant de mettre en pause Claude à un appel d'outil, de collecter l'entrée via sa propre interface et de reprendre où il s'était arrêté. Claude Code honore cette valeur uniquement en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Dans les sessions interactives, il enregistre un avertissement et ignore le résultat du hook.1983`"defer"` est pour les intégrations qui exécutent `claude -p` comme un sous-processus et lisent sa sortie JSON, comme une application Agent SDK ou une interface utilisateur personnalisée construite au-dessus de Claude Code. Cela permet à ce processus appelant de mettre en pause Claude à un appel d'outil, de collecter l'entrée via sa propre interface, et de reprendre où il s'était arrêté. Claude Code honore cette valeur uniquement en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Dans les sessions interactives, il enregistre un avertissement et ignore le résultat du hook.

1914 1984 

1915L'outil `AskUserQuestion` est le cas typique : Claude veut poser une question à l'utilisateur, mais il n'y a pas de terminal pour répondre. Le cycle aller-retour fonctionne comme ceci :1985L'outil `AskUserQuestion` est le cas typique : Claude veut poser une question à l'utilisateur, mais il n'y a pas de terminal pour répondre. Une exécution `-p` offre `AskUserQuestion` uniquement quand elle a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs), comme un outil MCP que vous passez avec `--permission-prompt-tool`, donc commencez l'exécution avec un. Le aller-retour fonctionne comme ceci :

1916 1986 

19171. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.19871. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.

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

19193. Le processus appelant lit `deferred_tool_use` du résultat 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 du SDK, affiche la question dans sa propre interface utilisateur, et attend une réponse.

19204. Le processus appelant exécute `claude -p --resume <session-id>`. 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.

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

1922 1992 

1923Le champ `deferred_tool_use` porte l'`id`, le `name` et l'`input` de l'outil. L'`input` est les paramètres que Claude a générés pour l'appel d'outil, capturés avant l'exécution :1993Le champ `deferred_tool_use` porte l'`id`, le `name`, et l'`input` de l'outil. L'`input` est les paramètres que Claude a générés pour l'appel d'outil, capturés avant l'exécution :

1924 1994 

1925```json theme={null}1995```json theme={null}

1926{1996{


1936}2006}

1937```2007```

1938 2008 

1939Il 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 [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays) qui supprime les fichiers de session après 30 jours par défaut, 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 lorsque vous reprenez, le hook peut retourner `"defer"` à nouveau et le processus quitte de la même manière. 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 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.

1940 2010 

1941`"defer"` ne fonctionne que lorsque Claude fait un seul appel d'outil dans le tour. Si Claude fait plusieurs appels d'outil à la fois, `"defer"` est ignoré avec un avertissement et l'outil procède à travers le flux de permission normal. La contrainte existe car la reprise ne peut réexécuter qu'un seul outil : il n'y a aucun moyen de différer un appel d'une batch 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'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.

1942 2012 

1943Si l'outil différé n'est plus disponible lorsque vous reprenez, le processus quitte avec `stop_reason: "tool_deferred_unavailable"` et `is_error: true` avant que le hook ne se déclenche. Cela se produit lorsqu'un serveur MCP qui a fourni l'outil n'est pas connecté pour la session reprise. La charge utile `deferred_tool_use` est toujours incluse afin 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.

1944 2014 

1945<Note>2015<Note>

1946 Pour reprendre une session différée en mode plan, passez [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) avec `--resume` afin que Claude Code puisse présenter le plan pour approbation. Sans lui, Claude Code ne restaure pas le mode plan. Nécessite Claude Code v2.1.246 ou ultérieur.2016 Pour reprendre une session différée en mode plan, passez [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) avec `--resume` pour que Claude Code puisse présenter le plan pour approbation. Sans cela, Claude Code ne restaure pas le mode plan. Nécessite Claude Code v2.1.246 ou ultérieur.

1947 2017 

1948 Lorsque vous reprenez avec `-p`, Claude Code ne restaure aucun autre mode de permission stocké. Il démarre l'exécution dans le mode de permission qu'une nouvelle exécution `claude -p` démarrerait, donc passez `--permission-mode` ou `--dangerously-skip-permissions` à nouveau si la session différée en utilisait un. Lorsque vous reprenez avec `claude --resume <session-id>` sans `-p`, Claude Code restaure le mode de permission stocké, avec les exceptions listées dans [mode de permission à la reprise](/docs/fr/sessions#permission-mode-on-resume).2018 Quand vous reprenez avec `-p`, Claude Code ne restaure aucun autre mode de permission stocké. Il démarre l'exécution dans le mode de permission qu'une nouvelle exécution `claude -p` démarrerait, donc passez `--permission-mode` ou `--dangerously-skip-permissions` à nouveau si la session différée en utilisait un. Quand vous reprenez avec `claude --resume <session-id>` sans `-p`, Claude Code restaure le mode de permission stocké, avec les exceptions listées dans [mode de permission à la reprise](/docs/fr/sessions#permission-mode-on-resume).

1949</Note>2019</Note>

1950 2020 

1951<h3 id="permissionrequest">2021<h3 id="permissionrequest">

1952 PermissionRequest2022 PermissionRequest

1953</h3>2023</h3>

1954 2024 

1955S'exécute lorsque Claude Code est sur le point de vous demander la permission d'utiliser un outil. Dans les sessions qui ne peuvent pas afficher un dialogue, comme les subagents en arrière-plan en [mode non-interactif](/docs/fr/headless), Claude Code exécute toujours ces hooks, et si aucun hook ne retourne une décision, il refuse l'appel d'outil.2025S'exécute quand Claude Code est sur le point de vous demander la permission d'utiliser un outil. Dans les sessions qui ne peuvent pas montrer une invite, comme les sous-agents en arrière-plan en [mode non-interactif](/docs/fr/headless), Claude Code exécute toujours ces hooks, et si aucun hook ne retourne une décision, il refuse l'appel d'outil.

1956Utilisez [Contrôle de décision PermissionRequest](#permissionrequest-decision-control) pour autoriser ou refuser au nom de l'utilisateur.2026Utilisez [Contrôle de décision PermissionRequest](#permissionrequest-decision-control) pour permettre ou refuser au nom de l'utilisateur.

1957 2027 

1958Utilisez cet événement lorsque 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 le dialogue 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.

1959 2029 

1960Claude 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 ce dialogue, utilisez le type de notification `permission_prompt`.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`.

1961 2031 

1962Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2032Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

1963 2033 


1965 Entrée PermissionRequest2035 Entrée PermissionRequest

1966</h4>2036</h4>

1967 2037 

1968Les hooks PermissionRequest reçoivent les champs `tool_name` et `tool_input` comme les hooks PreToolUse, mais sans `tool_use_id`. Un tableau optionnel `permission_suggestions` contient les [entrées de mise à jour de permission](#permission-update-entries) que Claude Code suggère pour cette demande, comme l'ajout d'une règle d'autorisation ou la modification du 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 demande, comme ajouter une règle d'autorisation ou changer le mode de permission.

1969 2039 

1970Le dialogue de permission construit ses options « toujours autoriser » à partir de ces suggestions, mais le tableau n'est pas une liste exacte des options que vous voyez. Le dialogue peut retenir une option dont la suggestion reste dans le tableau, par exemple lorsque [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) masque les options d'enregistrement 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 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.

1971 2041 

1972Les 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 lorsque Claude Code est sur le point de vous demander la permission, ou lorsqu'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).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).

1973 2043 

1974```json theme={null}2044```json theme={null}

1975{2045{


1998 Contrôle de décision PermissionRequest2068 Contrôle de décision PermissionRequest

1999</h4>2069</h4>

2000 2070 

2001Les hooks `PermissionRequest` peuvent autoriser ou refuser les demandes de permission. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut retourner un objet `decision` avec ces champs spécifiques à l'événement :2071Les hooks `PermissionRequest` peuvent permettre ou refuser les demandes de permission. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, votre script de hook peut retourner un objet `decision` avec ces champs spécifiques à l'événement :

2002 2072 

2003| Champ | Description |2073| Champ | Description |

2004| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2074| :------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2005| `behavior` | `"allow"` accorde la permission, `"deny"` la refuse. Les règles [Deny and ask](/docs/fr/permissions#manage-permissions) sont toujours évaluées, donc un hook retournant `"allow"` ne remplace pas une règle deny correspondante |2075| `behavior` | `"allow"` accorde la permission, `"deny"` la refuse. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées, donc un hook retournant `"allow"` ne remplace pas une règle de refus correspondante |

2006| `updatedInput` | Pour `"allow"` uniquement : 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. L'entrée modifiée est réévaluée par rapport aux règles deny et ask |2076| `updatedInput` | Pour `"allow"` uniquement : 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. L'entrée modifiée est réévaluée contre les règles de refus et de demande |

2007| `updatedPermissions` | Pour `"allow"` uniquement : tableau d'[entrées de mise à jour de permission](#permission-update-entries) à appliquer, comme l'ajout d'une règle d'autorisation ou la modification du mode de permission de session |2077| `updatedPermissions` | Pour `"allow"` uniquement : tableau des [entrées de mise à jour de permission](#permission-update-entries) à appliquer, comme ajouter une règle d'autorisation ou changer le mode de permission de la session |

2008| `message` | Pour `"deny"` uniquement : indique à Claude pourquoi la permission a été refusée |2078| `message` | Pour `"deny"` uniquement : dit à Claude pourquoi la permission a été refusée |

2009| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |2079| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |

2010 2080 

2011Un 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 demande.


2028 Entrées de mise à jour de permission2098 Entrées de mise à jour de permission

2029</h4>2099</h4>

2030 2100 

2031Le champ de sortie `updatedPermissions` et le champ d'[entrée `permission_suggestions`](#permissionrequest-input) utilisent tous deux le même tableau d'objets d'entrée. Chaque entrée a un `type` qui détermine ses autres champs, et une `destination` qui contrôle où la modification est écrite.2101Le champ de sortie `updatedPermissions` et le champ d'entrée [`permission_suggestions`](#permissionrequest-input) utilisent tous deux le même tableau d'objets d'entrée. Chaque entrée a un `type` qui détermine ses autres champs, et une `destination` qui contrôle où le changement est écrit.

2032 2102 

2033| `type` | Champs | Effet |2103| `type` | Champs | Effet |

2034| :------------------ | :--------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2104| :------------------ | :--------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2035| `addRules` | `rules`, `behavior`, `destination` | Ajoute des règles de permission. `rules` est un tableau d'objets `{toolName, ruleContent?}`. Omettez `ruleContent` pour correspondre à l'outil entier. `behavior` est `"allow"`, `"deny"` ou `"ask"` |2105| `addRules` | `rules`, `behavior`, `destination` | Ajoute des règles de permission. `rules` est un tableau d'objets `{toolName, ruleContent?}`. Omettez `ruleContent` pour correspondre à l'outil entier. `behavior` est `"allow"`, `"deny"`, ou `"ask"` |

2036| `replaceRules` | `rules`, `behavior`, `destination` | Remplace toutes les règles du `behavior` donné à la `destination` par les `rules` fournies |2106| `replaceRules` | `rules`, `behavior`, `destination` | Remplace toutes les règles du `behavior` donné à la `destination` par les `rules` fournies |

2037| `removeRules` | `rules`, `behavior`, `destination` | Supprime les règles correspondantes du `behavior` donné |2107| `removeRules` | `rules`, `behavior`, `destination` | Supprime les règles correspondantes du `behavior` donné |

2038| `setMode` | `mode`, `destination` | Change le mode de permission. Les modes valides sont `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan` et `manual` comme alias pour `default`. L'alias `manual` nécessite Claude Code v2.1.200 ou ultérieur |2108| `setMode` | `mode`, `destination` | Change le mode de permission. Les modes valides sont `default`, `auto`, `acceptEdits`, `dontAsk`, `bypassPermissions`, `plan`, et `manual` comme alias pour `default`. L'alias `manual` nécessite Claude Code v2.1.200 ou ultérieur |

2039| `addDirectories` | `directories`, `destination` | Ajoute des répertoires de travail. `directories` est un tableau de chaînes de chemin |2109| `addDirectories` | `directories`, `destination` | Ajoute des répertoires de travail. `directories` est un tableau de chaînes de chemin |

2040| `removeDirectories` | `directories`, `destination` | Supprime les répertoires de travail |2110| `removeDirectories` | `directories`, `destination` | Supprime les répertoires de travail |

2041 2111 

2042<Note>2112<Note>

2043 `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 lorsque [`permissions.disableBypassPermissionsMode`](/docs/fr/permissions#managed-settings) désactive le mode, ou lorsque 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 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).

2044 2114 

2045 `bypassPermissions` n'est jamais persisté comme `defaultMode` indépendamment de `destination`.2115 `bypassPermissions` n'est jamais persisté comme `defaultMode` indépendamment de `destination`.

2046</Note>2116</Note>

2047 2117 

2048Le champ `destination` sur chaque entrée détermine si la modification reste en mémoire ou persiste dans un fichier de paramètres.2118Le champ `destination` sur chaque entrée détermine si le changement reste en mémoire ou persiste dans un fichier de paramètres.

2049 2119 

2050| `destination` | Écrit dans |2120| `destination` | Écrit dans |

2051| :---------------- | :----------------------------------------------------- |2121| :---------------- | :-------------------------------------------------------- |

2052| `session` | en mémoire uniquement, supprimé à la fin de la session |2122| `session` | en mémoire uniquement, rejeté quand la session se termine |

2053| `localSettings` | `.claude/settings.local.json` |2123| `localSettings` | `.claude/settings.local.json` |

2054| `projectSettings` | `.claude/settings.json` |2124| `projectSettings` | `.claude/settings.json` |

2055| `userSettings` | `~/.claude/settings.json` |2125| `userSettings` | `~/.claude/settings.json` |


2064 2134 

2065Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2135Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2066 2136 

2067Correspondez plus largement lorsque 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 :

2068 2138 

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

2070* Pour exécuter un hook lorsqu'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` lorsqu'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, 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.

2071 2141 

2072<h4 id="posttooluse-input">2142<h4 id="posttooluse-input">

2073 Entrée PostToolUse2143 Entrée PostToolUse

2074</h4>2144</h4>

2075 2145 

2076Les 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 des barres obliques inverses sur Windows.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).

2077 2147 

2078```json theme={null}2148```json theme={null}

2079{2149{


2089 },2159 },

2090 "tool_response": {2160 "tool_response": {

2091 "filePath": "/path/to/file.txt",2161 "filePath": "/path/to/file.txt",

2092 "success": true2162 "type": "create"

2093 },2163 },

2094 "tool_use_id": "toolu_01ABC123...",2164 "tool_use_id": "toolu_01ABC123...",

2095 "duration_ms": 122165 "duration_ms": 12


2097```2167```

2098 2168 

2099| Champ | Description |2169| Champ | Description |

2100| :------------ | :--------------------------------------------------------------------------------------------------------------------------------------- |2170| :------------ | :------------------------------------------------------------------------------------------------------------------------------------- |

2101| `duration_ms` | Optionnel. Temps d'exécution de l'outil en millisecondes. Exclut le temps passé dans les dialogues de permission et les hooks PreToolUse |2171| `duration_ms` | Optionnel. Temps d'exécution de l'outil en millisecondes. Exclut le temps passé dans les invites de permission et les hooks PreToolUse |

2102 2172 

2103<h4 id="posttooluse-decision-control">2173<h4 id="posttooluse-decision-control">

2104 Contrôle de décision PostToolUse2174 Contrôle de décision PostToolUse


2107Les 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 :

2108 2178 

2109| Champ | Description |2179| Champ | Description |

2110| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2180| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2111| `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` |

2112| `reason` | Explication affichée à Claude lorsque `decision` est `"block"` |2182| `reason` | Explication montrée à Claude quand `decision` est `"block"` |

2113| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du résultat de l'outil. Consultez [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) |

2114| `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. Consultez [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` | 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 |

2115| `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 |

2116| `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 |

2117 2187 


2133```2203```

2134 2204 

2135<Warning>2205<Warning>

2136 `updatedToolOutput` change uniquement ce que Claude voit. L'outil a déjà fonctionné 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 telle que les spans d'outils OpenTelemetry et les événements d'analyse capturent également la sortie originale avant l'exécution du hook. Pour empêcher ou modifier un appel d'outil avant son exécution, utilisez un hook [PreToolUse](#pretooluse) à la place.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).

2137 2207 

2138 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 de l'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.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.

2139</Warning>2209</Warning>

2140 2210 

2141<h4 id="annotate-a-result-for-the-auto-mode-classifier">2211<h4 id="annotate-a-result-for-the-auto-mode-classifier">

2142 Annoter un résultat pour le classificateur du mode auto2212 Annoter un résultat pour le classificateur du mode auto

2143</h4>2213</h4>

2144 2214 

2145Retournez `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 des 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 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.

2146 2216 

2147L'exemple ci-dessous indique au classificateur d'où provient la sortie d'une requête :2217L'exemple ci-dessous dit au classificateur d'où la sortie d'une requête provient :

2148 2218 

2149```json theme={null}2219```json theme={null}

2150{2220{


2157 2227 

2158Le 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 :

2159 2229 

2160* **Hooks configurés dans Claude Code** : pour les hooks des fichiers de paramètres, des plugins, des skills et du frontmatter de l'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 par rapport à vos propres messages dans la conversation2230* **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 conversation

2161* **Rappels Agent SDK en processus** : lorsqu'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é. Lorsque 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

2162 2232 

2163Claude Code applique ces limites lors de la livraison de la note :2233Claude Code applique ces limites lors de la livraison de la note :

2164 2234 

2165* **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

2166* **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), car 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

2167* **Appels que le classificateur n'enregistre pas** : la transcription du classificateur omet les recherches en lecture seule telles que 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

2168* **Interaction avec les réécritures** : lorsque la note décrit la sortie que vous remplacez avec `updatedToolOutput`, retournez les deux champs dans la même réponse du 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 lorsqu'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 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 sortie

2169 2239 

2170<Warning>2240<Warning>

2171 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 dans celui-ci. 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 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.

2172</Warning>2242</Warning>

2173 2243 

2174<h3 id="posttoolusefailure">2244<h3 id="posttoolusefailure">

2175 PostToolUseFailure2245 PostToolUseFailure

2176</h3>2246</h3>

2177 2247 

2178S'exécute lorsqu'un outil qui a commencé à s'exécuter échoue : l'outil a levé une erreur ou un outil MCP a retourné un résultat d'erreur. Utilisez ceci pour enregistrer les défaillances, envoyer des alertes ou fournir des commentaires correctifs à Claude.2248S'exécute quand un outil qui a commencé à s'exécuter échoue : l'outil a levé une erreur, ou un outil MCP a retourné un résultat d'erreur. Utilisez ceci pour enregistrer les échecs, envoyer des alertes, ou fournir des commentaires correctifs à Claude.

2179 2249 

2180Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2250Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2181 2251 

2182<Note>2252<Note>

2183 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 résultats `tool_use_error` et se produisent avant que les hooks ne s'exécutent, donc ils ne déclenchent ni `PreToolUse` ni cet événement. Les refus de permission déclenchent `PreToolUse` mais pas cet événement ; consultez [PermissionDenied](#permissiondenied).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).

2184</Note>2254</Note>

2185 2255 

2186<h4 id="posttoolusefailure-input">2256<h4 id="posttoolusefailure-input">

2187 Entrée PostToolUseFailure2257 Entrée PostToolUseFailure

2188</h4>2258</h4>

2189 2259 

2190Les hooks PostToolUseFailure reçoivent les mêmes champs `tool_name` et `tool_input` que PostToolUse, ainsi que les informations d'erreur comme champs au niveau supérieur. Par exemple, une commande `npm test` échouée pourrait livrer :2260Les hooks PostToolUseFailure reçoivent les mêmes champs `tool_name` et `tool_input` que PostToolUse, ainsi que les informations d'erreur comme champs de haut niveau. Pour un outil MCP, ils reçoivent également l'objet [`mcp_server`](#pretooluse-input). Par exemple, une commande `npm test` échouée pourrait livrer :

2191 2261 

2192```json theme={null}2262```json theme={null}

2193{2263{


2209```2279```

2210 2280 

2211| Champ | Description |2281| Champ | Description |

2212| :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2282| :------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2213| `error` | Chaîne décrivant ce qui s'est mal passé. Le format dépend de l'outil qui a échoué |2283| `error` | Chaîne décrivant ce qui s'est mal passé. Le format dépend de l'outil qui a échoué |

2214| `is_interrupt` | Booléen optionnel. True lorsque l'échec a atteint Claude Code en tant qu'abandon plutôt qu'en tant qu'erreur que l'outil a signalée. L'annulation d'un outil en cours d'exécution ne déclenche pas ce hook ; le résultat de l'outil porte le message d'interruption à la place |2284| `is_interrupt` | Booléen optionnel. True quand l'échec a atteint Claude Code comme un abandon plutôt que comme une erreur que l'outil a signalée. L'annulation d'un outil en cours d'exécution ne déclenche pas ce hook ; le résultat de l'outil porte le message d'interruption à la place |

2215| `duration_ms` | Optionnel. Temps d'exécution de l'outil en millisecondes. Exclut le temps passé dans les dialogues de permission et les hooks PreToolUse |2285| `duration_ms` | Optionnel. Temps d'exécution de l'outil en millisecondes. Exclut le temps passé dans les invites de permission et les hooks PreToolUse |

2216 2286 

2217La chaîne `error` est généralement le même texte que Claude reçoit comme résultat échoué de l'outil. Son format varie selon l'outil et l'échec. Basez votre hook sur `tool_name`, `is_interrupt` et la première ligne `Exit code N` ; traitez le reste de la chaîne comme du texte d'affichage, pas un format stable.2287La chaîne `error` est généralement le même texte que Claude reçoit comme résultat de l'outil échoué. Son format varie selon l'outil et l'échec. Clé votre hook sur `tool_name`, `is_interrupt`, et la première ligne `Exit code N` ; traitez le reste de la chaîne comme du texte d'affichage, pas un format stable.

2218 2288 

2219* Pour Bash et PowerShell, une commande qui a fonctionné et s'est terminée produit une première ligne `Exit code N`, puis toute sortie que la commande a produite en tant qu'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

2220* Une charge utile peut également porter un message d'échec brut sans ligne de code de sortie, lorsque 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

2221* Claude Code tronque au milieu les chaînes plus longues que 10 000 caractères 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 ses propres lignes, comme `Command timed out after 2m 0s`

2222 2292 

2223<h4 id="posttoolusefailure-decision-control">2293<h4 id="posttoolusefailure-decision-control">

2224 Contrôle de décision PostToolUseFailure2294 Contrôle de décision PostToolUseFailure

2225</h4>2295</h4>

2226 2296 

2227Les hooks `PostToolUseFailure` peuvent fournir du contexte à Claude après l'échec d'un 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 :2297Les hooks `PostToolUseFailure` peuvent fournir du contexte à Claude après un échec d'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 :

2228 2298 

2229| Champ | Description |2299| Champ | Description |

2230| :------------------ | :------------------------------------------------------------------------------------------------------------------------------- |2300| :------------------ | :-------------------------------------------------------------------------------------------------------------------------- |

2231| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés de l'erreur. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |2301| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés de l'erreur. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

2232 2302 

2233```json theme={null}2303```json theme={null}

2234{2304{


2243 PostToolBatch2313 PostToolBatch

2244</h3>2314</h3>

2245 2315 

2246S'exécute une fois après que chaque appel d'outil dans une batch ait été résolu, avant que Claude Code n'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 lorsque Claude fait des appels d'outil parallèles. `PostToolBatch` se déclenche exactement une fois avec la batch complète, donc c'est le bon endroit pour injecter du contexte qui dépend de l'ensemble des outils qui ont fonctionné plutôt que sur un seul outil. 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 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.

2247 2317 

2248<h4 id="posttoolbatch-input">2318<h4 id="posttoolbatch-input">

2249 Entrée PostToolBatch2319 Entrée PostToolBatch

2250</h4>2320</h4>

2251 2321 

2252En plus des [champs d'entrée communs](#common-input-fields), les hooks PostToolBatch reçoivent `tool_calls`, un tableau décrivant chaque appel d'outil dans la batch :2322En plus des [champs d'entrée communs](#common-input-fields), les hooks PostToolBatch reçoivent `tool_calls`, un tableau décrivant chaque appel d'outil dans le lot :

2253 2323 

2254```json theme={null}2324```json theme={null}

2255{2325{


2275}2345}

2276```2346```

2277 2347 

2278`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 blocs 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 volumineuses, 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 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.

2279 2349 

2280<Note>2350<Note>

2281 La forme `tool_response` diffère de celle de `PostToolUse`. `PostToolUse` transmet l'objet `Output` structuré de l'outil, comme `{filePath: "...", success: true}` pour `Write` ; `PostToolBatch` transmet 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.

2282</Note>2352</Note>

2283 2353 

2284<h4 id="posttoolbatch-decision-control">2354<h4 id="posttoolbatch-decision-control">


2288Les hooks `PostToolBatch` peuvent injecter du contexte pour Claude. 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 :2358Les hooks `PostToolBatch` peuvent injecter du contexte pour Claude. 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 :

2289 2359 

2290| Champ | Description |2360| Champ | Description |

2291| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2361| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2292| `additionalContext` | Chaîne de contexte injectée une fois avant l'appel du modèle suivant. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) pour les détails de livraison, ce qu'il faut y mettre et comment les sessions reprises gèrent les valeurs passées |2362| `additionalContext` | Chaîne de contexte injectée une fois avant l'appel du modèle suivant. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) pour les détails de livraison, ce qu'il faut y mettre, et comment les sessions reprises gèrent les valeurs passées |

2293 2363 

2294```json theme={null}2364```json theme={null}

2295{2365{


2300}2370}

2301```2371```

2302 2372 

2303Retourner `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 sur exit 2. Vous le voyez comme un avertissement dans la transcription, et il reste dans la conversation, donc Claude le voit lorsque la conversation continue.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.

2304 2374 

2305<h3 id="permissiondenied">2375<h3 id="permissiondenied">

2306 PermissionDenied2376 PermissionDenied

2307</h3>2377</h3>

2308 2378 

2309S'exécute lorsque le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) refuse un appel d'outil, y compris lorsqu'il refuse sans un verdict du classificateur parce qu'[une vérification de sécurité séparée du mode auto a refusé la demande 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 lorsque vous refusez manuellement un dialogue de permission, lorsqu'un hook `PreToolUse` bloque un appel ou lorsqu'une règle `deny` correspond. Utilisez-le pour enregistrer les refus, ajuster la configuration ou indiquer 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 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.

2310 2380 

2311Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2381Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2312 2382 


2314 Entrée PermissionDenied2384 Entrée PermissionDenied

2315</h4>2385</h4>

2316 2386 

2317En plus des [champs d'entrée communs](#common-input-fields), les hooks PermissionDenied reçoivent `tool_name`, `tool_input`, `tool_use_id` et `reason`.2387En plus des [champs d'entrée communs](#common-input-fields), les hooks PermissionDenied reçoivent `tool_name`, `tool_input`, `tool_use_id`, et `reason`. Pour un outil MCP, ils reçoivent également l'objet [`mcp_server`](#pretooluse-input).

2318 2388 

2319```json theme={null}2389```json theme={null}

2320{2390{


2329 "description": "Clean build directory"2399 "description": "Clean build directory"

2330 },2400 },

2331 "tool_use_id": "toolu_01ABC123...",2401 "tool_use_id": "toolu_01ABC123...",

2332 "reason": "Blocked by classifier"2402 "reason": "[Irreversible Local Destruction]"

2333}2403}

2334```2404```

2335 2405 

2336| Champ | Description |2406| Champ | Description |

2337| :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2407| :------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2338| `reason` | La raison du refus : le texte fixe `Blocked by classifier` dans la plupart des sessions, ou l'explication écrite du classificateur lorsque le modèle du classificateur de la session en fournit une. Pour un refus où une vérification de sécurité séparée du mode auto a refusé la demande du classificateur ou sa réponse n'a pas analysé, la raison 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, la raison est le texte fixe `Classifier unavailable`. Consultez [Examiner les refus](/docs/fr/auto-mode-config#review-denials) |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` |

2339 2409 

2340<h4 id="permissiondenied-decision-control">2410<h4 id="permissiondenied-decision-control">

2341 Contrôle de décision PermissionDenied2411 Contrôle de décision PermissionDenied

2342</h4>2412</h4>

2343 2413 

2344Les hooks PermissionDenied peuvent indiquer au modèle qu'il peut réessayer l'appel d'outil refusé. Retournez un objet JSON avec `hookSpecificOutput.retry` défini à `true` :2414Les hooks PermissionDenied peuvent dire au modèle qu'il peut réessayer l'appel d'outil refusé. Retournez un objet JSON avec `hookSpecificOutput.retry` défini à `true` :

2345 2415 

2346```json theme={null}2416```json theme={null}

2347{2417{


2352}2422}

2353```2423```

2354 2424 

2355Lorsque `retry` est `true`, Claude Code ajoute un message à la conversation indiquant au modèle qu'il peut réessayer l'appel d'outil. Le refus lui-même n'est pas inversé. 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.

2356 2426 

2357Claude Code ignore `retry: true` lorsque le classificateur n'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 indique 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 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.

2358 2428 

2359<h3 id="notification">2429<h3 id="notification">

2360 Notification2430 Notification

2361</h3>2431</h3>

2362 2432 

2363S'exécute lorsque Claude Code envoie des notifications. Correspond au type de notification. Omettez le matcher pour exécuter les hooks pour tous les types de notification.2433S'exécute quand Claude Code envoie des notifications. Correspond au type de notification. Omettez le matcher pour exécuter les hooks pour tous les types de notification.

2364 2434 

2365Vous recevez ces événements de hook même avec les notifications de bureau désactivées : le paramètre `preferredNotifChannel`, y compris `notifications_disabled`, change uniquement comment vous êtes alerté, pas si votre hook s'exécute.2435Vous recevez ces événements de hook même avec les notifications de bureau désactivées : le paramètre `preferredNotifChannel`, y compris `notifications_disabled`, change uniquement comment vous êtes alerté, pas si votre hook s'exécute.

2366 2436 

2367| Matcher | Quand il se déclenche |2437| Matcher | Quand il se déclenche |

2368| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2438| :--------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2369| `permission_prompt` | Claude a besoin de votre approbation pour un appel d'outil ou la [demande réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox, et le dialogue a attendu environ six secondes |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 |

2370| `idle_prompt` | Claude a terminé 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 |

2371| `auth_success` | L'authentification se termine |2441| `auth_success` | L'authentification se termine |

2372| `elicitation_dialog` | Un serveur MCP ouvre un formulaire d'élicitation et vous n'avez pas tapé depuis environ six secondes |2442| `elicitation_dialog` | Un serveur MCP ouvre un formulaire d'élicitation et vous n'avez pas tapé pendant environ six secondes |

2373| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL de navigateur et vous n'avez pas tapé depuis environ six secondes |2443| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL de navigateur et vous n'avez pas tapé pendant environ six secondes |

2374| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](#elicitation-input) est complète |2444| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](#elicitation-input) est complète |

2375| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |2445| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |

2376| `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 d'agents](/docs/fr/agent-teams#choose-a-display-mode) et vous n'avez pas tapé depuis 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 |

2377| `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 |

2378| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation de claude.ai l'ait mise en pause : à la réinitialisation, ou plus tôt lorsque quelque chose que vous faites dans Claude Code pendant l'attente, comme l'ajout de crédits d'utilisation, la mise à niveau de votre plan ou le changement de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |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) |

2379| `quota_auto_resume_stale` | Une limite d'utilisation de 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 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 `Enter` au lieu de continuer. Après un sommeil plus court, il continue et se déclenche `quota_auto_resume_fired` à la place |

2380| `quota_auto_resume_disabled` | Claude Code termine son attente pour une limite d'utilisation de 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 commencé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 lorsque 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** |

2381 2451 

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

2383 2453 

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

2385 2455 

2386Dans les sessions de terminal, `permission_prompt` pour la [demande réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox nécessite Claude Code v2.1.246 ou ultérieur.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.

2387 2457 

2388`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 une question de configuration de terminal d'un coéquipier nécessite Claude Code v2.1.248 ou ultérieur.

2389 2459 

2390<Note>2460<Note>

2391 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 lorsque 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 

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.

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.

2392 2466 

2393 * Attendez `permission_prompt` une fois que vous n'avez pas tapé depuis environ six secondes. Le minuteur démarre lorsque le dialogue de permission apparaît, et chaque frappe le reporte. Pour exécuter un hook immédiatement lorsque Claude demande la permission d'utiliser un outil, utilisez [PermissionRequest](#permissionrequest) à la place.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.

2394 * Attendez `idle_prompt` environ 60 secondes après que Claude ait terminé 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 de claude.ai se réinitialise. Lorsque l'attente se termine seule, l'un des types `quota_auto_resume_*` se déclenche à la place.

2395 * 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é depuis environ six secondes. Les deux partagent la même porte de six secondes que `permission_prompt` : le minuteur démarre lorsque le dialogue apparaît, et chaque frappe le reporte.

2396</Note>2468</Note>

2397 2469 

2398Claude 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 la façon dont 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 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 :

2399 2471 

2400* 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.

2401* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code n'exécute pas `permission_prompt`.2473* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code ne l'exécute pas.

2402* 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.

2403 2475 

2404Avant 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.

2405 2477 

2406Utilisez des matchers séparés pour exécuter différents gestionnaires selon le type de notification. Cette configuration déclenche un script d'alerte spécifique à la permission lorsque Claude a besoin d'approbation de permission et une notification différente lorsque Claude a été inactif :2478Utilisez des matchers séparés pour exécuter différents gestionnaires selon le type de notification. Cette configuration déclenche un script d'alerte spécifique à la permission quand Claude a besoin d'approbation de permission et une notification différente quand Claude a été inactif :

2407 2479 

2408```json theme={null}2480```json theme={null}

2409{2481{


2436 Entrée Notification2508 Entrée Notification

2437</h4>2509</h4>

2438 2510 

2439En plus des [champs d'entrée communs](#common-input-fields), les hooks Notification reçoivent `message` avec le texte de notification, un `title` optionnel et `notification_type` indiquant quel type s'est déclenché.2511En plus des [champs d'entrée communs](#common-input-fields), les hooks Notification reçoivent `message` avec le texte de notification, un `title` optionnel, et `notification_type` indiquant quel type s'est déclenché.

2440 2512 

2441```json theme={null}2513```json theme={null}

2442{2514{


2450}2522}

2451```2523```

2452 2524 

2453Les hooks Notification ne peuvent pas bloquer ou modifier les notifications. Claude Code rejette leurs `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 tels que le transfert de la notification vers 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 transférer la notification à un service externe.

2454 2526 

2455<h3 id="subagentstart">2527<h3 id="subagentstart">

2456 SubagentStart2528 SubagentStart

2457</h3>2529</h3>

2458 2530 

2459S'exécute lorsqu'un subagent Claude Code est lancé via l'outil Agent. 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 [subagents personnalisés](/docs/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom du 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.

2460 2532 

2461Pour les subagents fournis par un [plugin](/docs/fr/plugins), l'identifiant de type d'agent est l'identifiant limité au plugin comme `my-plugin:reviewer`, pas le nom brut du frontmatter. Le deux-points place un nom limité au 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 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$`.

2462 2534 

2463<h4 id="subagentstart-input">2535<h4 id="subagentstart-input">

2464 Entrée SubagentStart2536 Entrée SubagentStart

2465</h4>2537</h4>

2466 2538 

2467En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStart reçoivent `agent_id` avec l'identifiant unique du subagent 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 que le matcher filtre.

2468 2540 

2469```json theme={null}2541```json theme={null}

2470{2542{


2477}2549}

2478```2550```

2479 2551 

2480Les hooks SubagentStart ne peuvent pas bloquer la création de subagent, mais ils peuvent injecter du contexte dans le subagent. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner :2552Les hooks SubagentStart ne peuvent pas bloquer la création de sous-agent, mais ils peuvent injecter du contexte dans le sous-agent. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner :

2481 2553 

2482| Champ | Description |2554| Champ | Description |

2483| :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------- |2555| :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2484| `additionalContext` | Chaîne ajoutée au contexte du subagent au début de sa conversation, avant son premier prompt. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |2556| `additionalContext` | Chaîne ajoutée au contexte du sous-agent au début de sa conversation, avant sa première invite. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

2485 2557 

2486```json theme={null}2558```json theme={null}

2487{2559{


2492}2564}

2493```2565```

2494 2566 

2567Quand le hook s'exécute à nouveau pour le même sous-agent, Claude Code injecte le contexte retourné uniquement quand le contexte du sous-agent ne contient pas déjà la copie d'une exécution antérieure. La copie injectée au lancement reste en place, laissant le [cache d'invite](/docs/fr/prompt-caching#subagents-and-the-cache) du sous-agent intact. Après que la [compaction automatique](/docs/fr/sub-agents#auto-compaction) rejette cette copie, Claude Code injecte le contexte de la prochaine exécution à nouveau.

2568 

2495<h3 id="subagentstop">2569<h3 id="subagentstop">

2496 SubagentStop2570 SubagentStop

2497</h3>2571</h3>

2498 2572 

2499S'exécute lorsqu'un subagent Claude Code a terminé sa réponse. Correspond au type d'agent, mêmes valeurs que SubagentStart.2573S'exécute quand un sous-agent Claude Code a fini de répondre. Correspond au type d'agent, mêmes valeurs que SubagentStart.

2500 2574 

2501<h4 id="subagentstop-input">2575<h4 id="subagentstop-input">

2502 Entrée SubagentStop2576 Entrée SubagentStop

2503</h4>2577</h4>

2504 2578 

2505En 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 subagent stockée dans un dossier `subagents/` imbriqué. Le champ `last_assistant_message` contient le contenu textuel de la réponse finale du subagent, 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 

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

2506 2582 

2507Les hooks SubagentStop reçoivent également les tableaux `background_tasks` et `session_crons` décrits sous [Entrée Stop](#stop-input). Les deux tableaux sont limités à la session parent, pas au subagent.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.

2508 2584 

2509```json theme={null}2585```json theme={null}

2510{2586{


2523}2599}

2524```2600```

2525 2601 

2526Les hooks SubagentStop utilisent le même format de contrôle de décision que les [hooks Stop](#stop-decision-control), y compris `hookSpecificOutput.additionalContext` avec `hookEventName` défini à `"SubagentStop"`, pour les commentaires sans erreur qui gardent le subagent en cours d'exécution. Retourner `decision: "block"` avec une `reason` garde le subagent en cours d'exécution et livre `reason` au subagent comme sa prochaine instruction. Un hook qui bloque en quittant 2 livre son message stderr de la même manière. Pour injecter du contexte dans la session parent après qu'un subagent retourne, utilisez un hook [`PostToolUse`](#posttooluse) sur l'outil `Agent` à la place.2602Les hooks SubagentStop utilisent le même format de contrôle de décision que les [hooks Stop](#stop-decision-control), y compris `hookSpecificOutput.additionalContext` avec `hookEventName` défini à `"SubagentStop"`, pour les commentaires sans erreur qui gardent le sous-agent en cours d'exécution. Retourner `decision: "block"` avec une `reason` garde le sous-agent en cours d'exécution et livre `reason` au sous-agent comme sa prochaine instruction. Un hook qui bloque en quittant 2 livre son message stderr de la même façon. Pour injecter du contexte dans la session parent après qu'un sous-agent retourne, utilisez plutôt un hook [`PostToolUse`](#posttooluse) sur l'outil `Agent`.

2527 2603 

2528<h3 id="taskcreated">2604<h3 id="taskcreated">

2529 TaskCreated2605 TaskCreated

2530</h3>2606</h3>

2531 2607 

2532S'exécute lorsqu'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.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.

2533 2609 

2534Les hooks TaskCreated ne supportent pas les matchers et se déclenchent à chaque occurrence.2610Les hooks TaskCreated ne supportent pas les matchers et se déclenchent à chaque occurrence.

2535 2611 


2537 Entrée TaskCreated2613 Entrée TaskCreated

2538</h4>2614</h4>

2539 2615 

2540En plus des [champs d'entrée communs](#common-input-fields), les hooks TaskCreated reçoivent `task_id`, `task_subject` et optionnellement `task_description`, `teammate_name` et `team_name`.2616En plus des [champs d'entrée communs](#common-input-fields), les hooks TaskCreated reçoivent `task_id`, `task_subject`, et optionnellement `task_description`, `teammate_name`, et `team_name`.

2541 2617 

2542```json theme={null}2618```json theme={null}

2543{2619{


2554```2630```

2555 2631 

2556| Champ | Description |2632| Champ | Description |

2557| :----------------- | :------------------------------------------------------------------------------------ |2633| :----------------- | :---------------------------------------------------------------------------------- |

2558| `task_id` | Identifiant de la tâche en cours de création |2634| `task_id` | Identifiant de la tâche en cours de création |

2559| `task_subject` | Titre de la tâche |2635| `task_subject` | Titre de la tâche |

2560| `task_description` | Description détaillée de la tâche. Peut être absent |2636| `task_description` | Description détaillée de la tâche. Peut être absent |

2561| `teammate_name` | Nom du coéquipier créant la tâche. Peut être absent |2637| `teammate_name` | Nom du coéquipier créant la tâche. Peut être absent |

2562| `team_name` | Dépréciée. Nom d'équipe dérivé de la session ; sera supprimée dans une version future |2638| `team_name` | Déprécié. Nom d'équipe dérivé de la session ; sera supprimé dans une version future |

2563 2639 

2564<h4 id="taskcreated-decision-control">2640<h4 id="taskcreated-decision-control">

2565 Contrôle de décision TaskCreated2641 Contrôle de décision TaskCreated


2589 TaskCompleted2665 TaskCompleted

2590</h3>2666</h3>

2591 2667 

2592S'exécute lorsqu'une tâche est marquée comme complétée. Cela se déclenche dans deux situations : lorsqu'un agent marque explicitement une tâche comme complétée via l'outil TaskUpdate, ou lorsqu'un coéquipier d'une [équipe d'agents](/docs/fr/agent-teams) termine son tour avec des tâches en cours. Utilisez ceci pour appliquer les critères d'achèvement comme passer les tests ou les vérifications de lint avant qu'une tâche ne puisse se fermer.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.

2593 2669 

2594Les hooks TaskCompleted ne supportent pas les matchers et se déclenchent à chaque occurrence.2670Les hooks TaskCompleted ne supportent pas les matchers et se déclenchent à chaque occurrence.

2595 2671 


2597 Entrée TaskCompleted2673 Entrée TaskCompleted

2598</h4>2674</h4>

2599 2675 

2600En plus des [champs d'entrée communs](#common-input-fields), les hooks TaskCompleted reçoivent `task_id`, `task_subject` et optionnellement `task_description`, `teammate_name` et `team_name`.2676En plus des [champs d'entrée communs](#common-input-fields), les hooks TaskCompleted reçoivent `task_id`, `task_subject`, et optionnellement `task_description`, `teammate_name`, et `team_name`.

2601 2677 

2602```json theme={null}2678```json theme={null}

2603{2679{


2615```2691```

2616 2692 

2617| Champ | Description |2693| Champ | Description |

2618| :----------------- | :------------------------------------------------------------------------------------ |2694| :----------------- | :---------------------------------------------------------------------------------- |

2619| `task_id` | Identifiant de la tâche en cours de réalisation |2695| `task_id` | Identifiant de la tâche en cours de complétion |

2620| `task_subject` | Titre de la tâche |2696| `task_subject` | Titre de la tâche |

2621| `task_description` | Description détaillée de la tâche. Peut être absent |2697| `task_description` | Description détaillée de la tâche. Peut être absent |

2622| `teammate_name` | Nom du coéquipier complétant la tâche. Peut être absent |2698| `teammate_name` | Nom du coéquipier complétant la tâche. Peut être absent |

2623| `team_name` | Dépréciée. Nom d'équipe dérivé de la session ; sera supprimée dans une version future |2699| `team_name` | Déprécié. Nom d'équipe dérivé de la session ; sera supprimé dans une version future |

2624 2700 

2625<h4 id="taskcompleted-decision-control">2701<h4 id="taskcompleted-decision-control">

2626 Contrôle de décision TaskCompleted2702 Contrôle de décision TaskCompleted

2627</h4>2703</h4>

2628 2704 

2629Les hooks TaskCompleted supportent deux façons de contrôler l'achèvement de la tâche :2705Les hooks TaskCompleted supportent deux façons de contrôler la complétion de tâche :

2630 2706 

2631* **Code de sortie 2** : la tâche n'est pas marquée comme complétée et le message stderr est renvoyé au modèle comme commentaire.2707* **Code de sortie 2** : la tâche n'est pas marquée comme complétée et le message stderr est renvoyé au modèle comme commentaire.

2632* **JSON `{"continue": false, "stopReason": "..."}`** : arrête complètement le coéquipier, correspondant au comportement du hook `Stop`. Le `stopReason` est affiché à l'utilisateur.2708* **JSON `{"continue": false, "stopReason": "..."}`** : quand un coéquipier terminant son tour a déclenché l'événement, arrête le coéquipier entièrement, correspondant au comportement du hook `Stop`. Le `stopReason` est montré à l'utilisateur. Quand l'outil `TaskUpdate` a déclenché l'événement, Claude Code ignore `continue: false` ; le code de sortie 2 bloque toujours la complétion.

2633 2709 

2634Cet exemple exécute les tests et bloque l'achèvement de la tâche s'ils échouent :2710Cet exemple exécute les tests et bloque la complétion de tâche s'ils échouent :

2635 2711 

2636```bash theme={null}2712```bash theme={null}

2637#!/bin/bash2713#!/bin/bash

2638INPUT=$(cat)2714INPUT=$(cat)

2639TASK_SUBJECT=$(echo "$INPUT" | jq -r '.task_subject')2715TASK_SUBJECT=$(echo "$INPUT" | jq -r '.task_subject')

2640 2716 

2641# Exécutez la suite de tests2717# Run the test suite

2642if ! npm test 2>&1; then2718if ! npm test 2>&1; then

2643 echo "Tests not passing. Fix failing tests before completing: $TASK_SUBJECT" >&22719 echo "Tests not passing. Fix failing tests before completing: $TASK_SUBJECT" >&2

2644 exit 22720 exit 2


2651 Stop2727 Stop

2652</h3>2728</h3>

2653 2729 

2654S'exécute lorsque l'agent Claude Code principal a terminé sa réponse. 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.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.

2655 2731 

2656<Tip>2732<Tip>

2657 La commande [`/goal`](/docs/fr/goal) est un raccourci intégré pour un hook Stop basé sur un prompt limité à la session. Utilisez-la lorsque vous voulez que Claude continue à travailler jusqu'à ce qu'une condition soit remplie sans écrire de configuration de hook.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.

2658</Tip>2734</Tip>

2659 2735 

2660<h4 id="stop-input">2736<h4 id="stop-input">

2661 Entrée Stop2737 Entrée Stop

2662</h4>2738</h4>

2663 2739 

2664En 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` lorsque Claude Code continue déjà en raison d'un hook stop. Vérifiez cette valeur ou traitez la transcription pour empêcher 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.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.

2665 2741 

2666Le 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 la lecture à haute voix ou les hooks de notification, utilisez ce champ plutôt que de relire `transcript_path` : le fichier de transcription n'est pas garanti d'inclure le message final au moment de Stop sur toutes les versions.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.

2667 2743 

2668Les tableaux `background_tasks` et `session_crons` permettent aux hooks de distinguer « la session est terminée » de « la session est en pause en attente du réveil du travail en arrière-plan ». Les deux tableaux sont présents lorsque le registre des tâches est accessible et sont vides lorsque rien n'est en vol ou programmé.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é.

2669 2745 

2670Chaque entrée dans `background_tasks` décrit une tâche en vol et utilise ces champs :2746Chaque entrée dans `background_tasks` décrit une tâche en vol et utilise ces champs :

2671 2747 

2672| Champ | Description |2748| Champ | Description |

2673| :------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2749| :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2674| `id` | Identifiant de la tâche |2750| `id` | Identifiant de tâche |

2675| `type` | Étiquette de type de tâche conviviale telle que `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 |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 |

2676| `status` | Statut actuel de la tâche |2752| `status` | Statut de tâche actuel |

2677| `description` | Description en texte libre, limitée à 1 000 caractères avec un marqueur `… [+N chars]` en chaîne lorsqu'elle est coupée |2753| `description` | Description en texte libre, plafonnée à 1 000 caractères avec un marqueur `… [+N chars]` en chaîne quand clippée |

2678| `command` | Ligne de commande shell, limitée à 1 000 caractères. Présent uniquement pour les tâches `shell` |2754| `command` | Ligne de commande shell, plafonnée à 1 000 caractères. Présent uniquement pour les tâches `shell` |

2679| `agent_type` | Nom du type de subagent. Présent uniquement pour les tâches `subagent` |2755| `agent_type` | Nom de type de sous-agent. Présent uniquement pour les tâches `subagent` |

2680| `server` | Nom du serveur MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |2756| `server` | Nom du serveur MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |

2681| `tool` | Nom de l'outil 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` |

2682| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |2758| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |

2683 2759 

2684Chaque entrée dans `session_crons` décrit un réveil programmé limité à la session, provenant de `CronCreate`, `ScheduleWakeup` et `/loop` :2760Chaque entrée dans `session_crons` décrit un réveil programmé scoped à la session, provenant de `CronCreate`, `ScheduleWakeup`, et `/loop` :

2685 2761 

2686| Champ | Description |2762| Champ | Description |

2687| :---------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------- |2763| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------ |

2688| `id` | Identifiant de la tâche cron |2764| `id` | Identifiant de tâche cron |

2689| `schedule` | Expression cron, par exemple `0 9 * * 1-5` |2765| `schedule` | Expression cron, par exemple `0 9 * * 1-5` |

2690| `recurring` | `false` pour les réveils ponctuels dont le calendrier encode un seul moment de déclenchement, `true` pour les tâches qui se redéclenchent à chaque correspondance |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 |

2691| `prompt` | Prompt soumis lorsque le cron se déclenche, limité à 1 000 caractères avec le même marqueur `… [+N chars]` |2767| `prompt` | Invite soumise quand le cron se déclenche, plafonnée à 1 000 caractères avec le même marqueur `… [+N chars]` |

2692 2768 

2693Cet exemple montre une entrée Stop avec une tâche shell en vol et un cron récurrent :2769Cet exemple montre une entrée Stop avec une tâche shell en vol et un cron récurrent :

2694 2770 


2728Les 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 :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 :

2729 2805 

2730| Champ | Description |2806| Champ | Description |

2731| :------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |2807| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2732| `decision` | `"block"` empêche Claude de s'arrêter. Omettez pour autoriser Claude à s'arrêter |2808| `decision` | `"block"` empêche Claude de s'arrêter. Omettez pour permettre à Claude de s'arrêter |

2733| `reason` | Requis lorsque `decision` est `"block"`. Indique à Claude pourquoi il doit continuer |2809| `reason` | Requis quand `decision` est `"block"`. Dit à Claude pourquoi il devrait continuer |

2734| `hookSpecificOutput.additionalContext` | Commentaires sans erreur pour Claude. La conversation continue afin que Claude puisse agir dessus, mais contrairement à `decision: "block"`, elle est affichée dans la transcription comme commentaire de hook plutôt qu'une erreur de hook |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 |

2735 2811 

2736Un hook qui bloque en quittant 2 s'achemine de la même manière que `reason` : Claude reçoit le message stderr comme l'explication pour pourquoi il doit continuer.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.

2737 2813 

2738```json theme={null}2814```json theme={null}

2739{2815{


2742}2818}

2743```2819```

2744 2820 

2745Utilisez `additionalContext` lorsque 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 affichée :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 :

2746 2822 

2747```json theme={null}2823```json theme={null}

2748{2824{


2757 StopFailure2833 StopFailure

2758</h3>2834</h3>

2759 2835 

2760S'exécute à la place de [Stop](#stop) lorsque le tour se termine en raison d'une erreur API. Claude Code ignore la sortie du hook et le code de sortie, à part [`terminalSequence`](#emit-terminal-notifications). Utilisez ceci pour enregistrer les défaillances, envoyer des alertes ou prendre des mesures de récupération lorsque Claude ne peut pas terminer une réponse en raison de limites de débit, de problèmes d'authentification ou d'autres erreurs API.2836S'exécute à la place de [Stop](#stop) quand le tour se termine en raison d'une erreur API. Claude Code ignore la sortie et le code de sortie du hook, à part [`terminalSequence`](#emit-terminal-notifications). Utilisez ceci pour enregistrer les échecs, envoyer des alertes, ou prendre des actions de récupération quand Claude ne peut pas terminer une réponse en raison des limites de débit, des problèmes d'authentification, ou d'autres erreurs API.

2761 2837 

2762<h4 id="stopfailure-input">2838<h4 id="stopfailure-input">

2763 Entrée StopFailure2839 Entrée StopFailure

2764</h4>2840</h4>

2765 2841 

2766En plus des [champs d'entrée communs](#common-input-fields), les hooks StopFailure reçoivent `error`, optionnellement `error_details` et optionnellement `last_assistant_message`. Le champ `error` identifie le type d'erreur et est utilisé pour le filtrage du matcher.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.

2767 2843 

2768| Champ | Description |2844| Champ | Description |

2769| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |2845| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

2770| `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` ou `unknown` |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` |

2771| `error_details` | Détails supplémentaires sur l'erreur, le cas échéant |2847| `error_details` | Détails supplémentaires sur l'erreur, quand disponibles |

2772| `last_assistant_message` | Le texte d'erreur rendu affiché 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"` |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"` |

2773 2849 

2774```json theme={null}2850```json theme={null}

2775{2851{


2783}2859}

2784```2860```

2785 2861 

2786Les hooks StopFailure n'ont pas de contrôle de décision. Ils s'exécutent à des fins de notification et de journalisation uniquement.2862Les hooks StopFailure n'ont pas de contrôle de décision. Ils s'exécutent à des fins de notification et de logging uniquement.

2787 2863 

2788<h3 id="teammateidle">2864<h3 id="teammateidle">

2789 TeammateIdle2865 TeammateIdle

2790</h3>2866</h3>

2791 2867 

2792S'exécute lorsqu'un coéquipier d'une [équipe d'agents](/docs/fr/agent-teams) est sur le point de devenir inactif après avoir terminé son tour. Utilisez ceci pour appliquer des portes de qualité avant qu'un coéquipier ne cesse de travailler, comme exiger des vérifications de lint réussies ou vérifier que les fichiers de sortie existent.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.

2793 2869 

2794Les hooks TeammateIdle ne supportent pas les matchers et se déclenchent à chaque occurrence.2870Les hooks TeammateIdle ne supportent pas les matchers et se déclenchent à chaque occurrence.

2795 2871 


2812```2888```

2813 2889 

2814| Champ | Description |2890| Champ | Description |

2815| :-------------- | :------------------------------------------------------------------------------------ |2891| :-------------- | :---------------------------------------------------------------------------------- |

2816| `teammate_name` | Nom du coéquipier qui est sur le point de devenir inactif |2892| `teammate_name` | Nom du coéquipier qui est sur le point de devenir inactif |

2817| `team_name` | Dépréciée. Nom d'équipe dérivé de la session ; sera supprimée dans une version future |2893| `team_name` | Déprécié. Nom d'équipe dérivé de la session ; sera supprimé dans une version future |

2818 2894 

2819<h4 id="teammateidle-decision-control">2895<h4 id="teammateidle-decision-control">

2820 Contrôle de décision TeammateIdle2896 Contrôle de décision TeammateIdle


2823Les hooks TeammateIdle supportent deux façons de contrôler le comportement du coéquipier :2899Les hooks TeammateIdle supportent deux façons de contrôler le comportement du coéquipier :

2824 2900 

2825* **Code de sortie 2** : le coéquipier reçoit le message stderr comme commentaire et continue de travailler au lieu de devenir inactif.2901* **Code de sortie 2** : le coéquipier reçoit le message stderr comme commentaire et continue de travailler au lieu de devenir inactif.

2826* **JSON `{"continue": false, "stopReason": "..."}`** : arrête complètement le coéquipier, correspondant au comportement du hook `Stop`. Le `stopReason` est affiché à l'utilisateur.2902* **JSON `{"continue": false, "stopReason": "..."}`** : arrête le coéquipier entièrement, correspondant au comportement du hook `Stop`. Le `stopReason` est montré à l'utilisateur.

2827 2903 

2828Cet exemple vérifie qu'un artefact de construction existe avant d'autoriser un coéquipier à devenir inactif :2904Cet exemple vérifie qu'un artefact de construction existe avant de permettre à un coéquipier de devenir inactif :

2829 2905 

2830```bash theme={null}2906```bash theme={null}

2831#!/bin/bash2907#!/bin/bash


2842 ConfigChange2918 ConfigChange

2843</h3>2919</h3>

2844 2920 

2845S'exécute lorsqu'un fichier de configuration change pendant une session. Utilisez ceci pour auditer les modifications de paramètres, appliquer les politiques de sécurité ou bloquer les modifications non autorisées aux fichiers de configuration.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.

2846 2922 

2847Claude Code exécute les hooks ConfigChange lorsqu'un fichier de paramètres, un fichier de politique gérée ou un fichier de skill change. Pour la politique gérée, il les exécute uniquement lorsque `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 modifications 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é côté sur son sondage de politique sans les exécuter.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.

2848 2924 

2849Le matcher filtre sur la source de configuration :2925Le matcher filtre sur la source de configuration :

2850 2926 


2856| `policy_settings` | `managed-settings.json` ou un fichier dans `managed-settings.d/` change |2932| `policy_settings` | `managed-settings.json` ou un fichier dans `managed-settings.d/` change |

2857| `skills` | Un fichier de skill dans `.claude/skills/` change |2933| `skills` | Un fichier de skill dans `.claude/skills/` change |

2858 2934 

2859Cet exemple enregistre toutes les modifications de configuration pour l'audit de sécurité :2935Cet exemple enregistre tous les changements de configuration pour l'audit de sécurité :

2860 2936 

2861```json theme={null}2937```json theme={null}

2862{2938{


2880 Entrée ConfigChange2956 Entrée ConfigChange

2881</h4>2957</h4>

2882 2958 

2883En plus des [champs d'entrée communs](#common-input-fields), les hooks ConfigChange reçoivent `source` et optionnellement `file_path`. Le champ `source` indique quel type de configuration a changé, et `file_path` fournit le chemin vers le fichier spécifique qui a été modifié.2959En plus des [champs d'entrée communs](#common-input-fields), les hooks ConfigChange reçoivent `source` et optionnellement `file_path`. Le champ `source` indique quel type de configuration a changé, et `file_path` fournit le chemin du fichier spécifique qui a été modifié.

2884 2960 

2885```json theme={null}2961```json theme={null}

2886{2962{


2897 Contrôle de décision ConfigChange2973 Contrôle de décision ConfigChange

2898</h4>2974</h4>

2899 2975 

2900Les hooks ConfigChange peuvent bloquer les modifications de configuration de prendre effet. Utilisez le code de sortie 2 ou une `decision` JSON pour empêcher la modification. Lorsqu'elle est bloquée, les nouveaux paramètres ne sont pas appliqués à la session en cours d'exécution.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.

2901 2977 

2902| Champ | Description |2978| Champ | Description |

2903| :--------- | :---------------------------------------------------------------------------------------------------------- |2979| :--------- | :----------------------------------------------------------------------------------------------------------------- |

2904| `decision` | `"block"` empêche la modification de configuration d'être appliquée. Omettez pour autoriser la modification |2980| `decision` | `"block"` empêche le changement de configuration d'être appliqué. Omettez pour permettre au changement de procéder |

2905| `reason` | Accepté mais jamais affiché |2981| `reason` | Accepté mais jamais montré |

2906 2982 

2907```json theme={null}2983```json theme={null}

2908{2984{


2911}2987}

2912```2988```

2913 2989 

2914Les modifications `policy_settings` ne peuvent pas être bloquées. Les hooks se déclenchent toujours pour les sources `policy_settings`, vous pouvez donc les utiliser pour la journalisation d'audit, 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 lorsque les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) arrivent ou se rafraîchissent.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.

2915 2991 

2916Claude 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 à vous ou à Claude, que vous bloquez avec `reason` ou avec stderr sur exit 2. Claude Code écrit uniquement une ligne au journal de débogage.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.

2917 2993 

2918<h3 id="cwdchanged">2994<h3 id="cwdchanged">

2919 CwdChanged2995 CwdChanged

2920</h3>2996</h3>

2921 2997 

2922S'exécute lorsque le répertoire de travail change pendant une session, par exemple lorsque 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'associe avec [FileChanged](#filechanged) pour les outils comme [direnv](https://direnv.net/) qui gèrent l'environnement par répertoire.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.

2923 2999 

2924Les hooks CwdChanged 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).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.

2925 3001 

2926CwdChanged ne supporte pas les matchers et se déclenche à chaque changement de répertoire.3002CwdChanged ne supporte pas les matchers et se déclenche à chaque occurrence.

2927 3003 

2928<h4 id="cwdchanged-input">3004<h4 id="cwdchanged-input">

2929 Entrée CwdChanged3005 Entrée CwdChanged


2946 Sortie CwdChanged3022 Sortie CwdChanged

2947</h4>3023</h4>

2948 3024 

2949En 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 fichiers [FileChanged](#filechanged) surveille :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 :

2950 3026 

2951| Champ | Description |3027| Champ | Description |

2952| :----------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3028| :----------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

2953| `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 lors de l'entrée dans un nouveau répertoire |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 |

2954 3030 

2955Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.3031Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.

2956 3032 

2957Claude Code lit `watchPaths` et `systemMessage` de leur sortie JSON et rejette `continue`. Dans les sessions interactives, il affiche le `systemMessage` comme une brève notification de terminal. Le message n'atteint pas le flux de messages SDK.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.

2958 3034 

2959<h3 id="directoryadded">3035<h3 id="directoryadded">

2960 DirectoryAdded3036 DirectoryAdded

2961</h3>3037</h3>

2962 3038 

2963S'exécute après que vous ajoutiez un répertoire de travail en milieu 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.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.

2964 3040 

2965Claude Code ne déclenche pas cet événement lorsque :3041Claude Code ne déclenche pas cet événement quand :

2966 3042 

2967* Vous passez un répertoire avec le drapeau de démarrage `--add-dir` ; [SessionStart](#sessionstart) couvre ces répertoires3043* Vous passez un répertoire avec le drapeau de démarrage `--add-dir` ; [SessionStart](#sessionstart) couvre ces répertoires

2968* Vous ajoutez un répertoire sur l'onglet Workspace `/permissions`3044* Vous ajoutez un répertoire sur l'onglet Workspace `/permissions`

2969* Vous ajoutez un répertoire qui est déjà un répertoire de travail ou à l'intérieur d'un3045* Vous ajoutez un répertoire qui est déjà un répertoire de travail ou à l'intérieur d'un

2970 3046 

2971Claude Code déclenche DirectoryAdded après avoir rafraîchi l'état du sandbox et de la permission, donc les outils en sandbox voient déjà le nouveau répertoire lorsque votre hook s'exécute. Les commandes du hook elles-mêmes s'exécutent sans sandbox.3047Claude Code se déclenche DirectoryAdded après avoir rafraîchi l'état du sandbox et de la permission, donc les outils en sandbox voient déjà le nouveau répertoire quand votre hook s'exécute. Les commandes du hook elles-mêmes s'exécutent sans sandbox.

2972 3048 

2973Claude Code n'attend pas le hook : l'ajout se termine immédiatement, et le hook s'exécute en arrière-plan avec le délai d'expiration par défaut de 600 secondes.3049Claude Code n'attend pas le hook : l'ajout se termine immédiatement, et le hook s'exécute en arrière-plan avec le délai d'expiration par défaut de 600 secondes.

2974 3050 


2986En plus des [champs d'entrée communs](#common-input-fields), les hooks DirectoryAdded reçoivent `directory` et `source`.3062En plus des [champs d'entrée communs](#common-input-fields), les hooks DirectoryAdded reçoivent `directory` et `source`.

2987 3063 

2988| Champ | Description |3064| Champ | Description |

2989| :---------- | :------------------------------------------------------------------------------------------------------------------------------ |3065| :---------- | :--------------------------------------------------------------------------------------------------------------------------------- |

2990| `directory` | Chemin absolu du répertoire qui a été ajouté |3066| `directory` | Chemin absolu du répertoire qui a été ajouté |

2991| `source` | Comment le répertoire a été ajouté, `"slash_command"` pour `/add-dir` ou `"register_repo_root"` pour la demande de contrôle SDK |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 |

2992 3068 

2993```json theme={null}3069```json theme={null}

2994{3070{


3001}3077}

3002```3078```

3003 3079 

3004Les hooks DirectoryAdded n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer l'ajout, qui s'est déjà terminé lorsque le hook s'exécute. Claude Code rejette le champ `continue` de leur sortie JSON et affiche le reste différemment par source :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 :

3005 3081 

3006* `slash_command` : Claude Code livre le `systemMessage` du hook à Claude comme contexte sur le tour de conversation suivant, plutôt que de vous l'afficher. Un nombre de hooks échoués apparaît dans la transcription. La sortie d'échec complète va au journal de débogage3082* `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ébogage

3007* `register_repo_root` : Claude Code écrit la sortie `systemMessage` et la sortie d'échec au journal de débogage uniquement3083* `register_repo_root` : Claude Code écrit la sortie `systemMessage` et la sortie d'échec au journal de débogage uniquement

3008 3084 

3009<h3 id="filechanged">3085<h3 id="filechanged">

3010 FileChanged3086 FileChanged

3011</h3>3087</h3>

3012 3088 

3013S'exécute lorsqu'un fichier surveillé change sur le disque. Claude Code détecte les modifications 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 lorsque les fichiers de configuration du projet changent.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.

3014 3090 

3015Le `matcher` pour cet événement sert deux rôles :3091Le `matcher` pour cet événement sert deux rôles :

3016 3092 

3017* **Construire la liste de surveillance** : la valeur est divisée sur `|` et chaque segment est enregistré comme un nom de fichier littéral dans le répertoire de travail, donc `".envrc|.env"` surveille exactement ces deux fichiers. Les modèles regex ne sont pas utiles ici : une valeur comme `^\.env` surveillerait un fichier littéralement nommé `^\.env`.3093* **Construire la liste de surveillance** : la valeur est divisée sur `|` et chaque segment est enregistré comme un nom de fichier littéral dans le répertoire de travail, donc `".envrc|.env"` surveille exactement ces deux fichiers. Les modèles regex ne sont pas utiles ici : une valeur comme `^\.env` surveillerait un fichier littéralement nommé `^\.env`.

3018* **Filtrer quels hooks s'exécutent** : lorsqu'un fichier surveillé change, la même valeur filtre quels groupes de hook s'exécutent en utilisant les [règles de matcher](#matcher-patterns) standard par rapport au basename du fichier modifié.3094* **Filtrer quels hooks s'exécutent** : quand un fichier surveillé change, la même valeur filtre quels groupes de hook s'exécutent en utilisant les [règles de matcher](#matcher-patterns) standard contre le nom de base du fichier modifié.

3019 3095 

3020Cet exemple normalise les fins de ligne dans `data.csv` après n'importe quel changement, y compris une commande `Bash` ou un script externe réécrivant le fichier :3096Cet exemple normalise les fins de ligne dans `data.csv` après n'importe quel changement, y compris une commande `Bash` ou un script externe réécrivant le fichier :

3021 3097 


3037}3113}

3038```3114```

3039 3115 

3040Le hook lit le chemin absolu du fichier modifié depuis le 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 lorsqu'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 :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 :

3041 3117 

3042```bash theme={null}3118```bash theme={null}

3043#!/bin/bash3119#!/bin/bash


3047fi3123fi

3048```3124```

3049 3125 

3050Pour confirmer que le hook fonctionne, demandez à Claude d'ajouter une ligne CRLF à `data.csv` avec une commande `Bash`. Claude Code exécute le hook et le fichier se termine avec des fins de ligne LF.3126Pour confirmer que le hook fonctionne, demandez à Claude d'ajouter une ligne CRLF à `data.csv` avec une commande `Bash`. Claude Code exécute le hook et le fichier se termine avec les fins de ligne LF.

3051 3127 

3052Pour surveiller les fichiers que vous ne pouvez pas nommer à l'avance, retournez [`watchPaths`](#filechanged-output) d'un hook pour mettre à jour la liste de surveillance dynamiquement. Claude Code démarre l'observateur uniquement lorsque quelque chose nomme un fichier à surveiller, donc semez la liste avec un groupe FileChanged dont le matcher nomme au moins un fichier, ou avec un hook [SessionStart](#sessionstart-decision-control) ou [CwdChanged](#cwdchanged) qui retourne `watchPaths`. Le matcher filtre toujours quels groupes de hook s'exécutent lorsqu'un fichier surveillé change, donc donnez au groupe qui gère les chemins dynamiques un matcher omis, qui correspond à chaque fichier surveillé et n'ajoute rien à la liste de surveillance. Un matcher `"*"` correspond également à chaque fichier, mais Claude Code l'enregistre dans la liste de surveillance comme un nom de fichier littéral `*`.3128Pour surveiller les fichiers que vous ne pouvez pas nommer à l'avance, retournez [`watchPaths`](#filechanged-output) d'un hook pour mettre à jour la liste de surveillance dynamiquement. Claude Code démarre l'observateur uniquement quand quelque chose nomme un fichier à surveiller, donc semez la liste avec un groupe FileChanged dont le matcher nomme au moins un fichier, ou avec un hook [SessionStart](#sessionstart-decision-control) ou [CwdChanged](#cwdchanged) qui retourne `watchPaths`. Le matcher filtre toujours quels groupes de hook s'exécutent quand un fichier surveillé change, donc donnez au groupe qui gère les chemins dynamiques un matcher omis, qui correspond à chaque fichier surveillé et n'ajoute rien à la liste de surveillance. Un matcher `"*"` correspond également à chaque fichier, mais Claude Code l'enregistre dans la liste de surveillance comme n'importe quelle autre valeur, comme un fichier littéralement nommé `*`.

3053 3129 

3054Les hooks FileChanged 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).3130Les hooks FileChanged 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.

3055 3131 

3056<h4 id="filechanged-input">3132<h4 id="filechanged-input">

3057 Entrée FileChanged3133 Entrée FileChanged


3060En plus des [champs d'entrée communs](#common-input-fields), les hooks FileChanged reçoivent `file_path` et `event`.3136En plus des [champs d'entrée communs](#common-input-fields), les hooks FileChanged reçoivent `file_path` et `event`.

3061 3137 

3062| Champ | Description |3138| Champ | Description |

3063| :---------- | :--------------------------------------------------------------------------------------------------------------------------- |3139| :---------- | :---------------------------------------------------------------------------------------------------------------------------- |

3064| `file_path` | Chemin absolu vers le fichier qui a changé |3140| `file_path` | Chemin absolu du fichier qui a changé |

3065| `event` | Ce qui s'est passé : `"change"` pour un fichier modifié, `"add"` pour un fichier créé ou `"unlink"` pour un fichier supprimé |3141| `event` | Ce qui s'est passé : `"change"` pour un fichier modifié, `"add"` pour un fichier créé, ou `"unlink"` pour un fichier supprimé |

3066 3142 

3067```json theme={null}3143```json theme={null}

3068{3144{


3079 Sortie FileChanged3155 Sortie FileChanged

3080</h4>3156</h4>

3081 3157 

3082En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, les hooks FileChanged peuvent retourner `watchPaths` pour mettre à jour dynamiquement quels chemins de fichiers sont surveillés :3158En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, les hooks FileChanged peuvent retourner `watchPaths` pour mettre à jour dynamiquement quels chemins de fichier sont surveillés :

3083 3159 

3084| Champ | Description |3160| Champ | Description |

3085| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |3161| :----------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3086| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins de votre configuration `matcher` sont toujours surveillés. Utilisez ceci lorsque votre script de hook découvre des fichiers supplémentaires à surveiller en fonction du fichier modifié |3162| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins de votre configuration `matcher` sont toujours surveillés. Utilisez ceci quand votre script de hook découvre des fichiers supplémentaires à surveiller en fonction du fichier modifié |

3087 3163 

3088Les hooks FileChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de fichier de se produire.3164Les hooks FileChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de fichier de se produire.

3089 3165 

3090Claude Code lit `watchPaths` et `systemMessage` de leur sortie JSON et rejette `continue`. Dans les sessions interactives, il affiche le `systemMessage` comme une brève notification de terminal. Le message n'atteint pas le flux de messages SDK.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.

3091 3167 

3092<h3 id="worktreecreate">3168<h3 id="worktreecreate">

3093 WorktreeCreate3169 WorktreeCreate

3094</h3>3170</h3>

3095 3171 

3096S'exécute lorsqu'un worktree est en cours de création, soit à partir de `claude --worktree`, soit à partir d'un [subagent utilisant `isolation: "worktree"`](/docs/fr/sub-agents#choose-the-subagent-scope), soit pour une [session en arrière-plan](/docs/fr/agent-view#how-file-edits-are-isolated) que Claude Code isole dans son propre worktree. Par défaut, Claude Code crée la copie de travail isolée avec `git worktree`. Configurer un hook WorktreeCreate remplace ce comportement git par défaut, vous permettant d'utiliser un système de contrôle de version différent comme SVN, Perforce ou Mercurial.3172S'exécute quand un worktree est en cours de création, que ce soit à partir de `claude --worktree`, à partir d'un [sous-agent utilisant `isolation: "worktree"`](/docs/fr/sub-agents#choose-the-subagent-scope), ou pour une [session en arrière-plan](/docs/fr/agent-view#how-file-edits-are-isolated) que Claude Code isole dans son propre worktree. Par défaut, Claude Code crée la copie de travail isolée avec `git worktree`. Configurer un hook WorktreeCreate remplace ce comportement git par défaut, vous permettant d'utiliser un système de contrôle de version différent comme SVN, Perforce, ou Mercurial.

3097 3173 

3098Parce que le hook remplace le comportement par défaut entièrement, [`.worktreeinclude`](/docs/fr/worktrees#copy-gitignored-files-into-worktrees) n'est pas traité. Si vous avez besoin de copier les fichiers de configuration locaux comme `.env` dans le nouveau worktree, faites-le à l'intérieur de votre script de hook.3174Parce que le hook remplace le comportement par défaut entièrement, [`.worktreeinclude`](/docs/fr/worktrees#copy-gitignored-files-into-worktrees) n'est pas traité. Si vous avez besoin de copier les fichiers de configuration locaux comme `.env` dans le nouveau worktree, faites-le à l'intérieur de votre script de hook.

3099 3175 

3100Le hook doit retourner le chemin du répertoire du worktree créé. Claude Code utilise ce chemin comme répertoire de travail pour la session isolée. Consultez [Sortie WorktreeCreate](#worktreecreate-output) pour savoir comment chaque type de hook retourne le chemin.3176Le hook doit retourner le chemin du répertoire worktree créé. Claude Code utilise ce chemin comme le répertoire de travail pour la session isolée. Voir [Sortie WorktreeCreate](#worktreecreate-output) pour savoir comment chaque type de hook retourne le chemin.

3101 3177 

3102Claude Code agit sur le succès du hook et le chemin retourné, et rejette `systemMessage` et `continue`.3178Claude Code agit sur le succès du hook et le chemin retourné, et rejette `systemMessage` et `continue`.

3103 3179 


3120}3196}

3121```3197```

3122 3198 

3123Le hook lit le `name` du worktree depuis l'entrée JSON sur stdin, extrait une copie fraîche dans un nouveau répertoire et imprime le chemin du répertoire. Le `echo` sur la dernière ligne est ce que Claude Code lit comme chemin du worktree. Redirigez toute autre sortie du hook vers stderr afin qu'elle n'interfère pas avec le chemin.3199Le hook lit le `name` du worktree de l'entrée JSON sur stdin, extrait une copie fraîche dans un nouveau répertoire, et imprime le chemin du répertoire. Le `echo` sur la dernière ligne est ce que Claude Code lit comme le chemin du worktree. Redirigez toute autre sortie vers stderr pour qu'elle n'interfère pas avec le chemin.

3124 3200 

3125<h4 id="worktreecreate-input">3201<h4 id="worktreecreate-input">

3126 Entrée WorktreeCreate3202 Entrée WorktreeCreate

3127</h4>3203</h4>

3128 3204 

3129En plus des [champs d'entrée communs](#common-input-fields), les hooks WorktreeCreate reçoivent le champ `name`. C'est un identifiant slug pour le nouveau worktree, soit spécifié par l'utilisateur, soit généré automatiquement, par exemple `bold-oak-a3f2`.3205En plus des [champs d'entrée communs](#common-input-fields), les hooks WorktreeCreate reçoivent le champ `name`. C'est un identifiant slug pour le nouveau worktree, soit spécifié par l'utilisateur, soit auto-généré, par exemple `bold-oak-a3f2`.

3130 3206 

3131```json theme={null}3207```json theme={null}

3132{3208{


3142 Sortie WorktreeCreate3218 Sortie WorktreeCreate

3143</h4>3219</h4>

3144 3220 

3145Les hooks WorktreeCreate n'utilisent pas le modèle de décision autoriser/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 du worktree créé :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éé :

3146 3222 

3147* **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.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.

3148* **Hooks HTTP** (`type: "http"`) : retournez `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` dans le corps de la réponse.3224* **Hooks HTTP** (`type: "http"`) : retournez `{ "hookSpecificOutput": { "hookEventName": "WorktreeCreate", "worktreePath": "/absolute/path" } }` dans le corps de la réponse.

3149 3225 

3150Si le hook échoue ou ne produit aucun chemin, la création du worktree échoue avec une erreur.3226Si le hook échoue ou ne produit pas de chemin, la création du worktree échoue avec une erreur.

3151 3227 

3152Claude Code résout un chemin relatif par rapport au répertoire dans lequel le hook s'est exécuté, en effondrant tout segment `.` ou `..` dans celui-ci. Si le chemin résultant n'est pas un répertoire dans lequel Claude Code peut entrer, la session imprime une erreur nommant le chemin et quitte avec le code 1.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.

3153 3229 

3154Claude Code refuse un chemin absolu qui contient des segments `.` ou `..`, et tout chemin qui passe par un symlink en dessous de la racine du référentiel, parce qu'un symlink engagé au référentiel pourrait rediriger le worktree en dehors de celui-ci. L'erreur nomme le composant rejeté. Retournez un chemin normalisé qui ne passe pas par 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.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.

3155 3231 

3156<h3 id="worktreeremove">3232<h3 id="worktreeremove">

3157 WorktreeRemove3233 WorktreeRemove

3158</h3>3234</h3>

3159 3235 

3160S'exécute lorsqu'un worktree est en cours de suppression. Cela se produit lorsque :3236S'exécute quand un worktree est en cours de suppression. C'est la contrepartie de nettoyage de [WorktreeCreate](#worktreecreate). L'événement se déclenche quand :

3161 3237 

3162* vous quittez une session `--worktree` et choisissez de la supprimer3238* vous quittez une session `--worktree` et choisissez de la supprimer

3163* un subagent avec `isolation: "worktree"` se termine3239* un sous-agent avec `isolation: "worktree"` se termine

3164* 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 hook3240* vous supprimez une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) dont le worktree le hook a créé

3165 3241 

3166Pour 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 lui, le répertoire du worktree est laissé sur le disque.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.

3167 3243 

3168Claude Code rejette les [champs de sortie JSON](#json-output) d'un hook WorktreeRemove, tels que `systemMessage` et `continue`.3244Claude Code rejette les [champs de sortie JSON](#json-output) d'un hook WorktreeRemove, comme `systemMessage` et `continue`.

3169 3245 

3170Pour 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 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 lorsque 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.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.

3171 3247 

3172Claude Code transmet le chemin que WorktreeCreate a retourné comme `worktree_path` dans l'entrée du hook. Cet exemple lit ce chemin et supprime le répertoire :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 :

3173 3249 

3174```json theme={null}3250```json theme={null}

3175{3251{


3204}3280}

3205```3281```

3206 3282 

3207Les hooks WorktreeRemove n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer la suppression du worktree mais peuvent effectuer des tâches de nettoyage comme supprimer l'état du contrôle de version ou archiver les modifications. Les défaillances des hooks sont enregistrées en mode debug uniquement.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 :

3284 

3285* Le worktree reste sur le disque, et la commande du hook et stderr vont au [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.

3208 3287 

3209<h3 id="precompact">3288<h3 id="precompact">

3210 PreCompact3289 PreCompact

3211</h3>3290</h3>

3212 3291 

3213S'exécute avant que Claude Code ne soit sur le point d'exécuter une opération de compaction.3292S'exécute avant que Claude Code soit sur le point d'exécuter une opération de compaction.

3214 3293 

3215La valeur du matcher indique si la compaction a été déclenchée manuellement ou automatiquement :3294La valeur du matcher indique si la compaction a été déclenchée manuellement ou automatiquement :

3216 3295 

3217| Matcher | Quand il se déclenche |3296| Matcher | Quand il se déclenche |

3218| :------- | :--------------------------------------------------------------- |3297| :------- | :---------------------------------------------------------------------------------------------------------------------------------------- |

3219| `manual` | `/compact` |3298| `manual` | `/compact` |

3220| `auto` | Compaction automatique lorsque la fenêtre de contexte est pleine |3299| `auto` | Compaction automatique quand la conversation atteint la [fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) |

3221 3300 

3222Quittez avec le code 2 pour bloquer la compaction. Pour un `/compact` manuel, le message stderr est affiché à l'utilisateur. Vous pouvez également bloquer en retournant JSON avec `"decision": "block"`.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"`.

3223 3302 

3224Le blocage de la compaction automatique a des effets différents selon le moment où il 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 remonte et la demande actuelle échoue.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.

3225 3304 

3226Claude Code rejette les champs `systemMessage` et `continue` d'un hook PreCompact.3305Claude Code rejette les champs `systemMessage` et `continue` d'un hook PreCompact.

3227 3306 


3229 Entrée PreCompact3308 Entrée PreCompact

3230</h4>3309</h4>

3231 3310 

3232En plus des [champs d'entrée communs](#common-input-fields), les hooks PreCompact reçoivent `trigger` et `custom_instructions`. Pour `manual`, `custom_instructions` contient ce que l'utilisateur transmet dans `/compact` et est `null` lorsqu'il ne transmet rien. Pour `auto`, `custom_instructions` est `null`.3311En plus des [champs d'entrée communs](#common-input-fields), les hooks PreCompact reçoivent `trigger` et `custom_instructions`. Pour `manual`, `custom_instructions` contient ce que l'utilisateur passe dans `/compact` et est `null` quand il ne passe rien. Pour `auto`, `custom_instructions` est `null`.

3233 3312 

3234```json theme={null}3313```json theme={null}

3235{3314{


3246 PostCompact3325 PostCompact

3247</h3>3326</h3>

3248 3327 

3249S'exécute après que Claude Code complète une opération de compaction. Utilisez cet événement pour réagir au nouvel état compacté, par exemple pour enregistrer le résumé généré ou mettre à jour l'état externe. Claude Code rejette les champs `systemMessage` et `continue` d'un hook PostCompact.3328S'exécute après que Claude Code termine une opération de compaction. Utilisez cet événement pour réagir à l'état compacté nouveau, par exemple pour enregistrer le résumé généré ou mettre à jour l'état externe. Claude Code rejette les champs `systemMessage` et `continue` d'un hook PostCompact.

3250 3329 

3251Les mêmes valeurs de matcher s'appliquent que pour `PreCompact` :3330Les mêmes valeurs de matcher s'appliquent que pour `PreCompact` :

3252 3331 

3253| Matcher | Quand il se déclenche |3332| Matcher | Quand il se déclenche |

3254| :------- | :--------------------------------------------------------------------- |3333| :------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |

3255| `manual` | Après `/compact` |3334| `manual` | Après `/compact` |

3256| `auto` | Après compaction automatique lorsque la fenêtre de contexte est pleine |3335| `auto` | Après la compaction automatique quand la conversation atteint la [fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) |

3257 3336 

3258<h4 id="postcompact-input">3337<h4 id="postcompact-input">

3259 Entrée PostCompact3338 Entrée PostCompact


3278 PreModelSwitch3357 PreModelSwitch

3279</h3>3358</h3>

3280 3359 

3281S'exécute avant que Claude Code n'applique un changement de modèle que vous ou un client avez demandé. Utilisez-le pour bloquer un changement, exiger une confirmation ou afficher le coût du changement avant qu'il ne se produise.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.

3282 3361 

3283PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour ces demandes :3362PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour ces demandes :

3284 3363 

3285* `/model <name>` et le sélecteur `/model`3364* `/model <name>` et le sélecteur `/model`

3286* Le sélecteur de modèle `Option+P` ou `Alt+P`3365* Le sélecteur de modèle `Option+P` ou `Alt+P`

3287* Le paramètre Model dans `/config`3366* Le paramètre Model dans `/config`

3288* L'activation du [mode rapide](/docs/fr/fast-mode) lorsque cela change le modèle de la session3367* Activer le [mode rapide](/docs/fr/fast-mode) quand cela change le modèle de la session

3289* 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)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)

3290 3369 

3291Claude Code n'exécute pas les hooks PreModelSwitch pour les changements qu'il fait seul, comme un [repli de modèle automatique](/docs/fr/model-config#automatic-model-fallback) ou la restauration du modèle lorsque vous reprenez une session. Ces changements atteignent [PostModelSwitch](#postmodelswitch) uniquement.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.

3292 3371 

3293Claude Code compare le matcher par rapport au 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.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.

3294 3373 

3295Lorsque 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 doit donc vérifier `to_model` de son entrée plutôt que de compter uniquement sur le matcher.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.

3296 3375 

3297É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 :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 :

3298 3377 


3360 </Tab>3439 </Tab>

3361</Tabs>3440</Tabs>

3362 3441 

3363Pour confirmer que le hook fonctionne, exécutez `/model claude-opus-4-6` à partir d'une session exécutant un modèle différent. Claude Code garde le modèle actuel et signale qu'un hook PreModelSwitch a bloqué le changement, avec votre message comme raison.3442Pour confirmer que le hook fonctionne, exécutez `/model claude-opus-4-6` à partir d'une session exécutant un modèle différent. Claude Code garde le modèle actuel et rapporte qu'un hook PreModelSwitch a bloqué le changement, avec votre message comme raison.

3364 3443 

3365<h4 id="premodelswitch-input">3444<h4 id="premodelswitch-input">

3366 Entrée PreModelSwitch3445 Entrée PreModelSwitch

3367</h4>3446</h4>

3368 3447 

3369En 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 le coût de l'envoi de la conversation au nouveau modèle, donc un hook peut afficher ce chiffre avant le changement.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.

3370 3449 

3371| Champ | Type | Description |3450| Champ | Type | Description |

3372| :-------------------------- | :--------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3451| :-------------------------- | :--------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3373| `from_model` | string | ID du modèle à partir duquel le changement s'effectue |3452| `from_model` | string | ID de modèle du changement |

3374| `to_model` | string | ID du modèle vers lequel le changement s'effectue. Le matcher compare par rapport au nom canonique de ce modèle |3453| `to_model` | string | ID de modèle du changement vers. Le matcher compare contre le nom canonique de ce modèle |

3375| `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` lorsque la demande était pour le modèle par défaut |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 |

3376| `source` | string | D'où provient la demande : `"command"` pour `/model <name>`, le paramètre Model dans `/config` ou l'activation du mode rapide ; `"picker"` pour un sélecteur de modèle ; `"sdk"` pour une demande `set_model`, ou un changement de modèle dans une demande `apply_flag_settings`, d'un hôte Agent SDK ou Remote Control |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 |

3377| `context_tokens` | number | Tokens que la demande suivante renvoie comme son prompt : 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 |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 |

3378| `prompt_cache_warm` | boolean | Si le cache de prompt du modèle actuel est probablement toujours chaud, ce qui signifie que le changement le perd |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 |

3379| `cache_ttl` | string | [Durée de vie du cache de prompt](/docs/fr/prompt-caching#cache-lifetime) que Claude Code demande pour cette session : `"5m"` ou `"1h"` |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"` |

3380| `estimated_cache_write_usd` | number | Coût estimé en dollars américains de l'écriture de `context_tokens` dans le cache de prompt sur `to_model` au 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 |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 |

3381| `pricing` | string | Comment Claude Code a tarifé `estimated_cache_write_usd` : `"configured"` à vos propres taux d'organisation lorsqu'elle les a configurés, `"catalog"` au prix catalogue, ou `"default"` lorsque `to_model` n'a pas de prix connu et Claude Code a supposé un taux par défaut |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 |

3382 3461 

3383Cet exemple montre l'entrée pour `/model opus` dans une session exécutant Sonnet 5 :3462Cet exemple montre l'entrée pour `/model opus` dans une session exécutant Sonnet 5 :

3384 3463 


3404 Contrôle de décision PreModelSwitch3483 Contrôle de décision PreModelSwitch

3405</h4>3484</h4>

3406 3485 

3407Les hooks `PreModelSwitch` peuvent annuler le changement, demander à l'utilisateur de le confirmer ou le laisser procéder. Le code de sortie 2 ou un `decision: "block"` au niveau supérieur annule le changement.3486Les hooks `PreModelSwitch` peuvent annuler le changement, demander à l'utilisateur de le confirmer, ou le laisser procéder. Le code de sortie 2 ou un `decision: "block"` de haut niveau annule le changement.

3408 3487 

3409Pour un contrôle plus fin, retournez `permissionDecision` et `permissionDecisionReason` dans un objet `hookSpecificOutput`, comme sur [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` accepte `"allow"`, `"deny"` et `"ask"`. Il n'accepte pas `"defer"`, `updatedInput` ou `additionalContext`. Le tableau ci-dessous décrit les deux champs :3488Pour un contrôle plus fin, retournez `permissionDecision` et `permissionDecisionReason` dans un objet `hookSpecificOutput`, comme sur [PreToolUse](#pretooluse-decision-control). `PreModelSwitch` accepte `"allow"`, `"deny"`, et `"ask"`. Il n'accepte pas `"defer"`, `updatedInput`, ou `additionalContext`. Le tableau ci-dessous décrit les deux champs :

3410 3489 

3411| Champ | Description |3490| Champ | Description |

3412| :------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |3491| :------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

3413| `permissionDecision` | `"allow"` procède et saute la [confirmation que Claude Code affiche pendant que le cache de prompt est chaud](/docs/fr/prompt-caching#switching-models). `"deny"` annule le changement. `"ask"` demande à l'utilisateur de le confirmer |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 |

3414| `permissionDecisionReason` | Pour `"deny"`, affiché à l'utilisateur comme la raison du blocage du changement, ou retourné comme l'erreur pour une demande `set_model`. Pour `"ask"`, affiché dans le dialogue de confirmation. Ignoré pour `"allow"` |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"` |

3415 3494 

3416Seul `/model` dans une session interactive peut afficher le dialogue `"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.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.

3417 3496 

3418Cet exemple demande à l'utilisateur de confirmer et cite le nombre de tokens de `context_tokens` :3497Cet exemple demande à l'utilisateur de confirmer et cite le nombre de tokens de `context_tokens` :

3419 3498 


3427}3506}

3428```3507```

3429 3508 

3430Lorsque plusieurs hooks PreModelSwitch retournent des décisions différentes, la précédence est `deny` > `ask` > `allow`.3509Quand plusieurs hooks PreModelSwitch retournent des décisions différentes, la priorité est `deny` > `ask` > `allow`.

3431 3510 

3432Claude Code affiche tout `systemMessage` que votre hook retourne indépendamment de la décision, donc un hook de rapport de coûts peut retourner `{"systemMessage": "..."}` et quitter 0.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.

3433 3512 

3434Un 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 valeurs par défaut `prompt` et `agent` ne s'appliquent pas.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.

3435 3514 

3436Un hook qui quitte avec un code autre que 0 ou 2 et n'imprime aucune décision JSON ne bloque pas : Claude Code affiche son stderr et applique le changement, comme décrit sous [Autres codes de sortie](#other-exit-codes).3515Un hook qui quitte avec un code autre que 0 ou 2 et n'imprime pas de décision JSON ne bloque pas : Claude Code montre son stderr et applique le changement, comme décrit sous [Autres codes de sortie](#other-exit-codes).

3437 3516 

3438<h3 id="postmodelswitch">3517<h3 id="postmodelswitch">

3439 PostModelSwitch3518 PostModelSwitch


3444PostModelSwitch 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 :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 :

3445 3524 

3446* Un changement que vous ou un client avez demandé3525* Un changement que vous ou un client avez demandé

3447* Un [repli de modèle automatique](/docs/fr/model-config#automatic-model-fallback), qui change le modèle de la session3526* Un [fallback de modèle automatique](/docs/fr/model-config#automatic-model-fallback), qui change le modèle de la session

3448* Un paramètre comme [`opusplan`](/docs/fr/model-config#opusplan-model-setting) entrant ou quittant le mode plan3527* Un paramètre comme [`opusplan`](/docs/fr/model-config#opusplan-model-setting) entrant ou quittant le mode plan

3449* Claude Code restaurant le modèle lorsque vous reprenez une session3528* Claude Code restaurant le modèle quand vous reprenez une session

3450 3529 

3451Claude Code n'exécute pas les hooks PostModelSwitch lorsqu'un modèle d'une [chaîne de modèles 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é.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é.

3452 3531 

3453Le matcher suit les mêmes règles que [PreModelSwitch](#premodelswitch) : Claude Code le compare par rapport au nom canonique du modèle vers lequel la session a basculé.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é.

3454 3533 

3455Cet exemple ajoute des conseils chaque fois que le modèle de la session change vers n'importe quel modèle Opus :3534Cet exemple ajoute des conseils chaque fois que le modèle de la session change vers n'importe quel modèle Opus :

3456 3535 


3478 Entrée PostModelSwitch3557 Entrée PostModelSwitch

3479</h4>3558</h4>

3480 3559 

3481Les 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 seul, et `"resume"` pour le modèle restauré lorsque vous reprenez une session.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.

3482 3561 

3483`requested_model` est `null` lorsque `source` est `"auto"`. Lorsque `source` est `"resume"`, c'est le paramètre de modèle sauvegardé que Claude Code a restauré.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é.

3484 3563 

3485<h4 id="postmodelswitch-decision-control">3564<h4 id="postmodelswitch-decision-control">

3486 Contrôle de décision PostModelSwitch3565 Contrôle de décision PostModelSwitch

3487</h4>3566</h4>

3488 3567 

3489Claude Code prend votre stdout en texte brut du hook [](#exit-code-0) sur exit 0, ou `additionalContext` de la sortie JSON, et le 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 :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 :

3490 3569 

3491| Champ | Description |3570| Champ | Description |

3492| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------- |3571| :------------------ | :----------------------------------------------------------------------------------------------------------------------------- |

3493| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la demande suivante. Consultez [Ajouter du contexte pour Claude](#add-context-for-claude) |3572| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la demande suivante. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

3494 3573 

3495Si le hook n'a pas terminé dans les cinq secondes après que vous ayez envoyé 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 final.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.

3496 3575 

3497<h3 id="sessionend">3576<h3 id="sessionend">

3498 SessionEnd3577 SessionEnd

3499</h3>3578</h3>

3500 3579 

3501S'exécute lorsqu'une session Claude Code se termine. Utile pour les tâches de nettoyage, la journalisation des statistiques de session ou l'enregistrement de l'état de session. Supporte les matchers pour filtrer par raison de sortie.3580S'exécute quand une session Claude Code se termine. Utile pour les tâches de nettoyage, l'enregistrement des statistiques de session, ou la sauvegarde de l'état de la session. Supporte les matchers pour filtrer par raison de sortie.

3502 3581 

3503Le champ `reason` dans l'entrée du hook indique pourquoi la session s'est terminée :3582Le champ `reason` dans l'entrée du hook indique pourquoi la session s'est terminée :

3504 3583 


3507| `clear` | Session effacée avec la commande `/clear` |3586| `clear` | Session effacée avec la commande `/clear` |

3508| `resume` | Session basculée via `/resume` interactif |3587| `resume` | Session basculée via `/resume` interactif |

3509| `logout` | L'utilisateur s'est déconnecté |3588| `logout` | L'utilisateur s'est déconnecté |

3510| `prompt_input_exit` | L'utilisateur a quitté pendant que l'entrée du prompt était visible |3589| `prompt_input_exit` | L'utilisateur a quitté pendant que l'entrée d'invite était visible |

3511| `other` | Autres raisons de sortie |3590| `other` | Autres raisons de sortie |

3512| `bypass_permissions_disabled` | Supprimé dans v2.1.234 ; Claude Code ne l'envoie pas. Supprimez-le de vos matchers `SessionEnd` |3591| `bypass_permissions_disabled` | Supprimé dans v2.1.234 ; Claude Code ne l'envoie pas. Supprimez-le de vos matchers `SessionEnd` |

3513 3592 


3515 Entrée SessionEnd3594 Entrée SessionEnd

3516</h4>3595</h4>

3517 3596 

3518En plus des [champs d'entrée communs](#common-input-fields), les hooks SessionEnd reçoivent un champ `reason` indiquant pourquoi la session s'est terminée. Consultez le [tableau des raisons](#sessionend) ci-dessus pour toutes les valeurs.3597En plus des [champs d'entrée communs](#common-input-fields), les hooks SessionEnd reçoivent un champ `reason` indiquant pourquoi la session s'est terminée. Voir le [tableau de raison](#sessionend) ci-dessus pour toutes les valeurs.

3519 3598 

3520```json theme={null}3599```json theme={null}

3521{3600{


3527}3606}

3528```3607```

3529 3608 

3530Les hooks SessionEnd n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer la terminaison de session mais peuvent effectuer des tâches de nettoyage. Claude Code rejette leurs [champs de sortie JSON](#json-output), tels que `systemMessage`.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`.

3610 

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 :

3612 

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.

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

3531 3615 

3532Les hooks SessionEnd ont un délai d'expiration par défaut de 1,5 secondes. Cela s'applique à la sortie de session, à `/clear` et au basculement de sessions via `/resume` interactif. Si un hook a besoin de plus de temps, définissez un `timeout` par hook dans la configuration du hook. Le budget global est automatiquement augmenté au délai d'expiration par hook le plus élevé configuré dans les fichiers de paramètres, jusqu'à 60 secondes. Les délais d'expiration définis sur les hooks fournis par les plugins ne relèvent pas le budget. Pour remplacer le budget explicitement, définissez la variable d'environnement `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` en millisecondes.3616Cet exemple définit le budget à 5 secondes :

3533 3617 

3534```bash theme={null}3618```bash theme={null}

3535CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude3619CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS=5000 claude

3536```3620```

3537 3621 

3622Avant v2.1.268, `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` levait uniquement le budget global, et un hook sans son propre `timeout` était toujours annulé après 1,5 secondes.

3623 

3538<h3 id="elicitation">3624<h3 id="elicitation">

3539 Elicitation3625 Elicitation

3540</h3>3626</h3>

3541 3627 

3542S'exécute lorsqu'un serveur MCP demande une entrée utilisateur en milieu de tâche. Par défaut, Claude Code affiche un dialogue interactif pour que l'utilisateur réponde. Les hooks peuvent intercepter cette demande et répondre par programmation, en ignorant complètement le dialogue.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.

3543 3629 

3544Le champ matcher correspond au nom du serveur MCP.3630Le champ matcher correspond au nom du serveur MCP.

3545 3631 


3547 Entrée Elicitation3633 Entrée Elicitation

3548</h4>3634</h4>

3549 3635 

3550En plus des [champs d'entrée communs](#common-input-fields), les hooks Elicitation reçoivent `mcp_server_name`, `message` et les champs optionnels `mode`, `url`, `elicitation_id` et `requested_schema`.3636En plus des [champs d'entrée communs](#common-input-fields), les hooks Elicitation reçoivent `mcp_server_name`, `message`, et les champs optionnels `mode`, `url`, `elicitation_id`, et `requested_schema`.

3551 3637 

3552Pour l'élicitation en mode formulaire (le cas le plus courant) :3638Pour l'élicitation en mode formulaire, le cas le plus courant :

3553 3639 

3554```json theme={null}3640```json theme={null}

3555{3641{

3556 "session_id": "abc123",3642 "session_id": "abc123",

3557 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3643 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

3558 "cwd": "/Users/...",3644 "cwd": "/Users/...",

3559 "permission_mode": "default",

3560 "hook_event_name": "Elicitation",3645 "hook_event_name": "Elicitation",

3561 "mcp_server_name": "my-mcp-server",3646 "mcp_server_name": "my-mcp-server",

3562 "message": "Please provide your credentials",3647 "message": "Please provide your credentials",


3570}3655}

3571```3656```

3572 3657 

3573Pour l'élicitation en mode URL (authentification basée sur navigateur) :3658Pour l'élicitation en mode URL, utilisée pour l'authentification basée sur navigateur :

3574 3659 

3575```json theme={null}3660```json theme={null}

3576{3661{

3577 "session_id": "abc123",3662 "session_id": "abc123",

3578 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3663 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

3579 "cwd": "/Users/...",3664 "cwd": "/Users/...",

3580 "permission_mode": "default",

3581 "hook_event_name": "Elicitation",3665 "hook_event_name": "Elicitation",

3582 "mcp_server_name": "my-mcp-server",3666 "mcp_server_name": "my-mcp-server",

3583 "message": "Please authenticate",3667 "message": "Please authenticate",


3590 Sortie Elicitation3674 Sortie Elicitation

3591</h4>3675</h4>

3592 3676 

3593Pour répondre par programmation sans afficher le dialogue, retournez un objet JSON avec `hookSpecificOutput` :3677Pour répondre par programmation sans montrer le dialogue, retournez un objet JSON avec `hookSpecificOutput` :

3594 3678 

3595```json theme={null}3679```json theme={null}

3596{3680{


3605```3689```

3606 3690 

3607| Champ | Valeurs | Description |3691| Champ | Valeurs | Description |

3608| :-------- | :---------------------------- | :--------------------------------------------------------------------------------------------- |3692| :-------- | :---------------------------- | :----------------------------------------------------------------------------------------- |

3609| `action` | `accept`, `decline`, `cancel` | Si accepter, refuser ou annuler la demande |3693| `action` | `accept`, `decline`, `cancel` | Si accepter, refuser, ou annuler la demande |

3610| `content` | object | Valeurs des champs de formulaire à soumettre. Utilisé uniquement lorsque `action` est `accept` |3694| `content` | object | Valeurs de champ de formulaire à soumettre. Utilisé uniquement quand `action` est `accept` |

3611 3695 

3612Le code de sortie 2 refuse l'élicitation. Claude Code n'affiche votre message stderr nulle part.3696Le code de sortie 2 refuse l'élicitation. Claude Code ne montre votre message stderr nulle part.

3613 3697 

3614Claude Code agit sur `hookSpecificOutput` de la sortie JSON d'un hook Elicitation et rejette `systemMessage` et `continue`.3698Claude Code agit sur `hookSpecificOutput` de la sortie JSON d'un hook Elicitation et rejette `systemMessage` et `continue`.

3615 3699 


3617 ElicitationResult3701 ElicitationResult

3618</h3>3702</h3>

3619 3703 

3620S'exécute après qu'un utilisateur répond à une élicitation MCP. Les hooks peuvent observer, modifier ou bloquer la réponse avant qu'elle ne soit renvoyée au serveur MCP.3704S'exécute après qu'un utilisateur réponde à une élicitation MCP. Les hooks peuvent observer, modifier, ou bloquer la réponse avant qu'elle ne soit renvoyée au serveur MCP.

3621 3705 

3622Le champ matcher correspond au nom du serveur MCP.3706Le champ matcher correspond au nom du serveur MCP.

3623 3707 


3625 Entrée ElicitationResult3709 Entrée ElicitationResult

3626</h4>3710</h4>

3627 3711 

3628En plus des [champs d'entrée communs](#common-input-fields), les hooks ElicitationResult reçoivent `mcp_server_name`, `action` et les champs optionnels `mode`, `elicitation_id` et `content`.3712En plus des [champs d'entrée communs](#common-input-fields), les hooks ElicitationResult reçoivent `mcp_server_name`, `action`, et les champs optionnels `mode`, `elicitation_id`, et `content`.

3629 3713 

3630```json theme={null}3714```json theme={null}

3631{3715{

3632 "session_id": "abc123",3716 "session_id": "abc123",

3633 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",3717 "transcript_path": "/Users/.../.claude/projects/.../00893aaf-19fa-41d2-8238-13269b9b3ca0.jsonl",

3634 "cwd": "/Users/...",3718 "cwd": "/Users/...",

3635 "permission_mode": "default",

3636 "hook_event_name": "ElicitationResult",3719 "hook_event_name": "ElicitationResult",

3637 "mcp_server_name": "my-mcp-server",3720 "mcp_server_name": "my-mcp-server",

3638 "action": "accept",3721 "action": "accept",


3659```3742```

3660 3743 

3661| Champ | Valeurs | Description |3744| Champ | Valeurs | Description |

3662| :-------- | :---------------------------- | :--------------------------------------------------------------------------------------------------- |3745| :-------- | :---------------------------- | :----------------------------------------------------------------------------------------------- |

3663| `action` | `accept`, `decline`, `cancel` | Remplace l'action de l'utilisateur |3746| `action` | `accept`, `decline`, `cancel` | Remplace l'action de l'utilisateur |

3664| `content` | object | Remplace les valeurs des champs de formulaire. Significatif uniquement lorsque `action` est `accept` |3747| `content` | object | Remplace les valeurs de champ de formulaire. Significatif uniquement quand `action` est `accept` |

3665 3748 

3666Le code de sortie 2 bloque la réponse, changeant l'action effective en `decline`. Claude Code n'affiche votre message stderr nulle part.3749Le code de sortie 2 bloque la réponse, changeant l'action effective à `decline`. Claude Code ne montre votre message stderr nulle part.

3667 3750 

3668Claude Code agit sur `hookSpecificOutput` de la sortie JSON d'un hook ElicitationResult et rejette `systemMessage` et `continue`.3751Claude Code agit sur `hookSpecificOutput` de la sortie JSON d'un hook ElicitationResult et rejette `systemMessage` et `continue`.

3669 3752 


3710* `WorktreeCreate`3793* `WorktreeCreate`

3711* `WorktreeRemove`3794* `WorktreeRemove`

3712 3795 

3713`SessionStart` et `Setup` supportent les hooks `command` et `mcp_tool`. Ils ne supportent pas les hooks `http`, `prompt` ou `agent`.3796`SessionStart` et `Setup` supportent les hooks `command` et `mcp_tool`, et [les champs des hooks MCP tool](#mcp-tool-hook-fields) décrivent quand leurs hooks `mcp_tool` s'exécutent. Ils ne supportent pas les hooks `http`, `prompt` ou `agent`.

3714 3797 

3715<h3 id="how-prompt-based-hooks-work">3798<h3 id="how-prompt-based-hooks-work">

3716 Comment fonctionnent les hooks basés sur des prompts3799 Comment fonctionnent les hooks basés sur des prompts


3840 Configuration des hooks d'agent3923 Configuration des hooks d'agent

3841</h3>3924</h3>

3842 3925 

3843Définissez `type` à `"agent"` et fournissez une chaîne `prompt`. Les champs de configuration sont les mêmes que les [hooks de prompt](#prompt-hook-configuration), sauf que les hooks d'agent ont un délai d'expiration par défaut plus long et aucun champ `continueOnBlock` :3926Définissez `type` à `"agent"` et fournissez une chaîne `prompt`, en utilisant `$ARGUMENTS` comme placeholder pour l'entrée JSON du hook. Les champs de configuration sont les mêmes que les [hooks de prompt](#prompt-hook-configuration), sauf que les hooks d'agent ont un délai d'expiration par défaut plus long de 60 secondes et aucun champ `continueOnBlock`.

3844 

3845| Champ | Requis | Description |

3846| :-------- | :----- | :------------------------------------------------------------------------------------------------- |

3847| `type` | oui | Doit être `"agent"` |

3848| `prompt` | oui | Prompt décrivant ce à vérifier. Utilisez `$ARGUMENTS` comme placeholder pour l'entrée JSON du hook |

3849| `model` | non | Modèle à utiliser. Par défaut un modèle rapide |

3850| `timeout` | non | Délai d'expiration en secondes. Par défaut : 60 |

3851 3927 

3852Le schéma de réponse est `{ "ok": true }` pour autoriser ou `{ "ok": false, "reason": "..." }` pour bloquer. Sur `ok: false`, Claude Code traite un hook d'agent de la même manière qu'il traite un [hook de prompt avec `continueOnBlock: true`](#response-schema) sur le même événement ; les hooks d'agent n'ont pas de champ `continueOnBlock` et ne supportent pas le champ `impossible` du hook de prompt.3928Le schéma de réponse est `{ "ok": true }` pour autoriser ou `{ "ok": false, "reason": "..." }` pour bloquer. Sur `ok: false`, Claude Code traite un hook d'agent de la même manière qu'il traite un [hook de prompt avec `continueOnBlock: true`](#response-schema) sur le même événement ; les hooks d'agent n'ont pas de champ `continueOnBlock` et ne supportent pas le champ `impossible` du hook de prompt.

3853 3929 


4065 Déboguer les hooks4141 Déboguer les hooks

4066</h2>4142</h2>

4067 4143 

4068Les détails d'exécution des hooks, y compris les hooks qui ont correspondu, leurs codes de sortie et la sortie complète stdout et stderr, sont écrits dans le fichier journal de débogage. Démarrez Claude Code avec `claude --debug-file <path>` pour écrire le journal à un emplacement connu, ou exécutez `claude --debug` et lisez le journal à `~/.claude/debug/<session-id>.txt`. Le drapeau `--debug` n'imprime pas sur le terminal.4144Les détails d'exécution des hooks sont écrits dans le fichier journal de débogage. Démarrez Claude Code avec `claude --debug-file <path>` pour écrire le journal à un emplacement connu, ou exécutez `claude --debug` et lisez le journal à `~/.claude/debug/<session-id>.txt`. Le drapeau `--debug` n'imprime pas sur le terminal.

4069 4145 

4070Par exemple, un hook `PostToolUse` sur `Write` dont la commande affiche `hook-ran` produit des entrées comme :4146Par exemple, un hook `PostToolUse` sur `Write` dont la commande affiche `hook-ran` produit des entrées comme :

4071 4147 

4072```text theme={null}4148```text theme={null}

40732026-07-19T02:03:24.382Z [DEBUG] Hook output does not start with {, treating as plain text41492026-07-19T02:03:24.382Z [DEBUG] Hook output does not start with {, treating as plain text

40742026-07-19T02:03:24.382Z [DEBUG] Hook PostToolUse:Write (PostToolUse) success:41502026-07-19T02:03:24.382Z [DEBUG] "Hook PostToolUse:Write (PostToolUse) success:\nhook-ran"

4075hook-ran

4076```4151```

4077 4152 

4078Pour plus de détails granulaires sur la correspondance des hooks, définissez `CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose` pour voir des lignes de journal supplémentaires telles que les comptes de matcher de hook et la correspondance de requête.4153Pour plus de détails granulaires sur la correspondance des hooks, définissez `CLAUDE_CODE_DEBUG_LOG_LEVEL=verbose` pour voir des lignes de journal supplémentaires telles que les comptes de matcher de hook et la correspondance de requête.

Details

76* **Votre projet.** Les fichiers de votre répertoire et sous-répertoires, plus les fichiers ailleurs avec votre permission.76* **Votre projet.** Les fichiers de votre répertoire et sous-répertoires, plus les fichiers ailleurs avec votre permission.

77* **Votre terminal.** N'importe quelle commande que vous pourriez exécuter : outils de build, git, gestionnaires de paquets, utilitaires système, scripts. Si vous pouvez le faire à partir de la ligne de commande, Claude aussi.77* **Votre terminal.** N'importe quelle commande que vous pourriez exécuter : outils de build, git, gestionnaires de paquets, utilitaires système, scripts. Si vous pouvez le faire à partir de la ligne de commande, Claude aussi.

78* **Votre état git.** La branche actuelle, les modifications non validées, et l'historique récent des commits.78* **Votre état git.** La branche actuelle, les modifications non validées, et l'historique récent des commits.

79* **Votre [CLAUDE.md](/docs/fr/memory).** Un fichier markdown où vous stockez les instructions spécifiques au projet, les conventions, et le contexte que Claude devrait connaître à chaque session.79* **Votre [CLAUDE.md](/docs/fr/memory).** Un fichier markdown où vous stockez les instructions spécifiques au projet, les conventions, et le contexte que Claude devrait connaître à chaque session. Si votre référentiel dispose d'un AGENTS.md pour d'autres agents de codage, Claude [peut le lire](/docs/fr/memory#agents-md) seul ou aux côtés de CLAUDE.md.

80* **[Mémoire automatique](/docs/fr/memory#auto-memory).** Les apprentissages que Claude sauvegarde automatiquement au fur et à mesure que vous travaillez, comme vos préférences. Les 200 premières lignes ou 25 KB de MEMORY.md, selon ce qui vient en premier, se chargent au début de chaque session.80* **[Mémoire automatique](/docs/fr/memory#auto-memory).** Les apprentissages que Claude sauvegarde automatiquement au fur et à mesure que vous travaillez, comme vos préférences. Les 200 premières lignes ou 25 KB de MEMORY.md, selon ce qui vient en premier, se chargent au début de chaque session.

81* **Les extensions que vous configurez.** [Les serveurs MCP](/docs/fr/mcp) pour les services externes, [les skills](/docs/fr/skills) pour les workflows, [les subagents](/docs/fr/sub-agents) pour le travail délégué, et [Claude dans Chrome](/docs/fr/chrome) pour l'interaction avec le navigateur.81* **Les extensions que vous configurez.** [Les serveurs MCP](/docs/fr/mcp) pour les services externes, [les skills](/docs/fr/skills) pour les workflows, [les subagents](/docs/fr/sub-agents) pour le travail délégué, et [Claude dans Chrome](/docs/fr/chrome) pour l'interaction avec le navigateur.

82 82 


86 Environnements et interfaces86 Environnements et interfaces

87</h2>87</h2>

88 88 

89La boucle agentive, les outils, et les capacités décrites ci-dessus sont les mêmes partout où vous utilisez Claude Code. Ce qui change, c'est où le code s'exécute et comment vous interagissez avec lui.89La [boucle agentive](#the-agentic-loop), les [outils](#tools), et les capacités sont les mêmes partout où vous utilisez Claude Code. Ce qui change, c'est où le code s'exécute et comment vous interagissez avec lui.

90 90 

91<h3 id="execution-environments">91<h3 id="execution-environments">

92 Environnements d'exécution92 Environnements d'exécution

Details

615 615 

616* **Accéder à un fichier** : cliquez sur sa ligne dans la liste. Faites défiler le panneau avec la molette de la souris. Lorsque la liste des fichiers elle-même est trop longue pour tenir, faites-la défiler avec `Alt+Haut` et `Alt+Bas`, ou `Ctrl+Haut` et `Ctrl+Bas`.616* **Accéder à un fichier** : cliquez sur sa ligne dans la liste. Faites défiler le panneau avec la molette de la souris. Lorsque la liste des fichiers elle-même est trop longue pour tenir, faites-la défiler avec `Alt+Haut` et `Alt+Bas`, ou `Ctrl+Haut` et `Ctrl+Bas`.

617* **Demander à Claude des lignes spécifiques** : sélectionnez-les dans le panneau avec la souris. Claude Code joint la sélection à votre prochaine invite et affiche un nombre de lignes à côté de l'entrée jusqu'à ce que vous l'envoyiez.617* **Demander à Claude des lignes spécifiques** : sélectionnez-les dans le panneau avec la souris. Claude Code joint la sélection à votre prochaine invite et affiche un nombre de lignes à côté de l'entrée jusqu'à ce que vous l'envoyiez.

618 * Pour envoyer l'invite sans la sélection, déplacez le curseur juste après l'indicateur de nombre de lignes et appuyez sur `Retour arrière` pour le supprimer. Nécessite Claude Code v2.1.271 ou version ultérieure.

618* **Afficher les fichiers que le panneau omet** : la liste ignore les fichiers de test et les fichiers générés, et réduit les modifications antérieures à cette session en une seule ligne en bas. Cliquez sur l'une ou l'autre ligne de comptage pour l'étendre.619* **Afficher les fichiers que le panneau omet** : la liste ignore les fichiers de test et les fichiers générés, et réduit les modifications antérieures à cette session en une seule ligne en bas. Cliquez sur l'une ou l'autre ligne de comptage pour l'étendre.

619* **Modifier ce que le panneau compare** : appuyez sur `Ctrl+X B` pour basculer entre les modifications de cette session, vos modifications non validées sous forme de liste unique, et tout ce qui s'est passé depuis que votre branche s'est séparée de la branche par défaut. Claude Code mémorise le choix pour chaque projet.620* **Modifier ce que le panneau compare** : appuyez sur `Ctrl+X B` pour basculer entre les modifications de cette session, vos modifications non validées sous forme de liste unique, et tout ce qui s'est passé depuis que votre branche s'est séparée de la branche par défaut. Claude Code mémorise le choix pour chaque projet.

620 621 


650Dans le [panneau de chat de l'extension VS Code](/docs/fr/vs-code#use-the-prompt-box), `/btw` ouvre un panneau plutôt que la superposition décrite dans cette section, et vous posez des questions de suivi directement dans le panneau. Le fil du panneau survit aux rechargements de fenêtre, selon le calendrier de rétention que cette page décrit. Vous avez besoin de l'extension à la version 2.1.227 ou ultérieure. Les versions antérieures de l'extension n'offrent pas `/btw`.651Dans le [panneau de chat de l'extension VS Code](/docs/fr/vs-code#use-the-prompt-box), `/btw` ouvre un panneau plutôt que la superposition décrite dans cette section, et vous posez des questions de suivi directement dans le panneau. Le fil du panneau survit aux rechargements de fenêtre, selon le calendrier de rétention que cette page décrit. Vous avez besoin de l'extension à la version 2.1.227 ou ultérieure. Les versions antérieures de l'extension n'offrent pas `/btw`.

651 652 

652* **Disponible pendant que Claude travaille** : vous pouvez exécuter `/btw` même pendant que Claude traite une réponse. La question annexe s'exécute indépendamment et n'interrompt pas le tour principal. Elle voit tout ce qui se trouve dans la conversation jusqu'à présent, sauf la réponse que Claude est encore en train d'écrire.653* **Disponible pendant que Claude travaille** : vous pouvez exécuter `/btw` même pendant que Claude traite une réponse. La question annexe s'exécute indépendamment et n'interrompt pas le tour principal. Elle voit tout ce qui se trouve dans la conversation jusqu'à présent, sauf la réponse que Claude est encore en train d'écrire.

653* **Pas d'accès aux outils** : les questions annexes répondent uniquement à partir de ce qui se trouve déjà en contexte. Claude ne peut pas lire de fichiers, exécuter de commandes ou effectuer de recherches lors de la réponse à une question annexe.654* **Pas d'accès aux outils** : les questions annexes répondent uniquement à partir de ce qui se trouve déjà en contexte. Claude ne peut pas lire de fichiers, exécuter de commandes ou effectuer de recherches lors de la réponse à une question annexe. Si Claude écrit des appels d'outils sous forme de texte de toute façon, la réponse se termine par une note indiquant que rien n'a été exécuté.

654* **Réponse unique** : il n'y a pas de tours de suivi dans la superposition. Pour continuer le fil, posez une autre question `/btw`. Pour continuer avec un accès complet aux outils dans une session locale, appuyez sur `f` pour créer un [sous-agent en arrière-plan](/docs/fr/sub-agents#fork-the-current-conversation) à partir de cette question et réponse.655* **Réponse unique** : il n'y a pas de tours de suivi dans la superposition. Pour continuer le fil, posez une autre question `/btw`. Pour continuer avec un accès complet aux outils dans une session locale, appuyez sur `f` pour créer un [sous-agent en arrière-plan](/docs/fr/sub-agents#fork-the-current-conversation) à partir de cette question et réponse.

655* **Coût faible** : tandis que le [cache de prompt](/docs/fr/prompt-caching) de la conversation est actif, une question annexe coûte peu au-delà de la réponse elle-même.656* **Coût faible** : tandis que le [cache de prompt](/docs/fr/prompt-caching) de la conversation est actif, une question annexe coûte peu au-delà de la réponse elle-même.

656 657 

jetbrains.md +1 −1

Details

231 Considérations de sécurité231 Considérations de sécurité

232</h2>232</h2>

233 233 

234Lorsque Claude Code s'exécute dans un IDE JetBrains en mode de permission [`acceptEdits`](/docs/fr/permission-modes#auto-approve-file-edits-with-acceptedits-mode), il peut être en mesure de modifier les fichiers de configuration de l'IDE qui peuvent être exécutés automatiquement par votre IDE. Cela peut augmenter le risque d'exécution de Claude Code en mode `acceptEdits` et permettre de contourner les invites de permission de Claude Code pour l'exécution bash.234Lorsque Claude Code s'exécute dans un IDE JetBrains en mode de permission [`acceptEdits`](/docs/fr/permission-modes#auto-approve-file-edits-with-acceptedits-mode), il peut être en mesure de modifier les fichiers de configuration de l'IDE qui peuvent être exécutés automatiquement par votre IDE. Cela peut augmenter le risque d'exécution de Claude Code en mode `acceptEdits` et permettre de contourner les invites de permission de Claude Code pour l'exécution Bash.

235 235 

236Lors de l'exécution dans les IDEs JetBrains, considérez :236Lors de l'exécution dans les IDEs JetBrains, considérez :

237 237 

llm-gateway.md +1 −1

Details

28* **Journalisation d'audit** : enregistrez chaque requête de modèle pour la conformité28* **Journalisation d'audit** : enregistrez chaque requête de modèle pour la conformité

29* **Changement de fournisseur** : changez le fournisseur dans la configuration de la passerelle, sans toucher aux machines des développeurs29* **Changement de fournisseur** : changez le fournisseur dans la configuration de la passerelle, sans toucher aux machines des développeurs

30 30 

31Tous ces éléments sauf le changement de fournisseur s'appliquent que le flux amont soit l'API d'Anthropic ou un [fournisseur cloud](/docs/fr/third-party-integrations). Le changement de fournisseur sans reconfiguration des machines des développeurs dépend également de la passerelle exposant un seul [point de terminaison au format Anthropic](/docs/fr/llm-gateway-protocol#api-formats) quel que soit le flux amont ; une passerelle qui expose le propre format d'un fournisseur lie la configuration du client à ce fournisseur.31Tous ces éléments sauf le changement de fournisseur s'appliquent que le flux amont soit l'API d'Anthropic ou un [fournisseur cloud](/docs/fr/third-party-integrations). Le changement de fournisseur sans reconfiguration des machines des développeurs dépend également de la passerelle exposant un seul [point de terminaison au format Anthropic](/docs/fr/llm-gateway-protocol#api-formats) quel que soit le flux amont. Une passerelle qui expose le propre format d'un fournisseur lie la configuration du client à ce fournisseur et change [ce que Claude Code envoie et les valeurs par défaut qu'il applique](/docs/fr/llm-gateway-protocol#how-the-connection-method-changes-client-behavior).

32 32 

33Le compromis est que la passerelle devient une infrastructure que votre organisation exploite. Claude Code ajoute des capacités à chaque version, et une passerelle qui ne les transfère pas casse les fonctionnalités correspondantes, donc le produit de passerelle doit être maintenu à jour à mesure que Claude Code évolue. La [référence du protocole de passerelle](/docs/fr/llm-gateway-protocol) couvre ce qu'il faut transférer.33Le compromis est que la passerelle devient une infrastructure que votre organisation exploite. Claude Code ajoute des capacités à chaque version, et une passerelle qui ne les transfère pas casse les fonctionnalités correspondantes, donc le produit de passerelle doit être maintenu à jour à mesure que Claude Code évolue. La [référence du protocole de passerelle](/docs/fr/llm-gateway-protocol) couvre ce qu'il faut transférer.

34 34 

Details

286 ```286 ```

287</CodeGroup>287</CodeGroup>

288 288 

289<h3 id="slack-web-and-remote-control">289<h3 id="slack-cloud-sessions-and-remote-control">

290 Slack, web et Remote Control290 Slack, sessions cloud et Remote Control

291</h3>291</h3>

292 292 

293[Claude Code dans Slack](/docs/fr/slack) et [Claude Code sur le web](/docs/fr/claude-code-on-the-web) sont des produits hébergés par Anthropic qui utilisent toujours l'API d'Anthropic ; ils ne font pas partie d'un déploiement de passerelle. Les variables de passerelle définies dans la configuration d'environnement d'une session cloud ne sont pas appliquées. Si votre trafic doit rester sur la passerelle, n'activez pas ces surfaces pour ces utilisateurs.293[Claude Code dans Slack](/docs/fr/slack) et [sessions cloud](/docs/fr/claude-code-on-the-web) utilisent toujours l'API d'Anthropic ; ils ne font pas partie d'un déploiement de passerelle. Les variables de passerelle définies dans la configuration d'environnement d'une session cloud ne sont pas appliquées. Si votre trafic doit rester sur la passerelle, n'activez pas ces surfaces pour ces utilisateurs.

294 294 

295[Remote Control](/docs/fr/remote-control) et [la dictée vocale](/docs/fr/voice-dictation) dépendent tous deux d'une identité claude.ai : Remote Control pour appairer une session en direct avec votre compte, et la dictée vocale pour atteindre le point de terminaison de transcription claude.ai. Ils ne sont pas disponibles tandis que `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou un `apiKeyHelper` est actif. Remote Control est également désactivé tandis que `ANTHROPIC_BASE_URL` pointe vers un hôte non-Anthropic, de sorte que la connexion avec claude.ai n'est pas suffisante en soi. Avant la v2.1.196, une URL de base non-Anthropic ne bloquait pas Remote Control.295[Remote Control](/docs/fr/remote-control) et [la dictée vocale](/docs/fr/voice-dictation) dépendent tous deux d'une identité claude.ai : Remote Control pour appairer une session en direct avec votre compte, et la dictée vocale pour atteindre le point de terminaison de transcription claude.ai. Ils ne sont pas disponibles tandis que `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, ou un `apiKeyHelper` est actif. Remote Control est également désactivé tandis que `ANTHROPIC_BASE_URL` pointe vers un hôte non-Anthropic, de sorte que la connexion avec claude.ai n'est pas suffisante en soi. Avant la v2.1.196, une URL de base non-Anthropic ne bloquait pas Remote Control.

296 296 


587| Erreurs `400` nommant `context_management`, `Extra inputs are not permitted`, ou d'autres champs non reconnus | La passerelle transfère les demandes à un amont qui rejette les champs que Claude Code envoie aux points de terminaison au format Anthropic | Définissez `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, qui supprime la plupart des champs de pré-version ; voir [feature pass-through](/docs/fr/llm-gateway-protocol#feature-pass-through). Certaines betas ne sont pas fermées par ce drapeau ; pour celles-ci, définissez la variable de fournisseur `CLAUDE_CODE_USE_*` correspondante de sorte que Claude Code envoie uniquement ce que ce fournisseur accepte |587| Erreurs `400` nommant `context_management`, `Extra inputs are not permitted`, ou d'autres champs non reconnus | La passerelle transfère les demandes à un amont qui rejette les champs que Claude Code envoie aux points de terminaison au format Anthropic | Définissez `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`, qui supprime la plupart des champs de pré-version ; voir [feature pass-through](/docs/fr/llm-gateway-protocol#feature-pass-through). Certaines betas ne sont pas fermées par ce drapeau ; pour celles-ci, définissez la variable de fournisseur `CLAUDE_CODE_USE_*` correspondante de sorte que Claude Code envoie uniquement ce que ce fournisseur accepte |

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

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

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

Details

4 4 

5# Guide de compatibilité de la passerelle Claude Code5# Guide de compatibilité de la passerelle Claude Code

6 6 

7> Maintenir une passerelle LLM compatible avec Claude Code : les points de terminaison qu'elle appelle, les en-têtes et champs de corps à transmettre, et ce qui se casse lorsqu'ils sont supprimés.7> Maintenez une passerelle LLM compatible avec Claude Code : les points de terminaison qu'elle appelle, les en-têtes et champs de corps à transmettre, et ce qui se casse quand ils sont supprimés.

8 8 

9Cette page documente les requêtes que Claude Code envoie à une passerelle, y compris les points de terminaison qu'elle appelle, les en-têtes et champs de corps que la passerelle doit transmettre, et les fonctionnalités qui cessent de fonctionner si elle ne le fait pas. Elle est écrite pour les opérateurs configurant un produit de passerelle pour fonctionner avec Claude Code.9Cette page documente les requêtes que Claude Code envoie à une passerelle, y compris les points de terminaison qu'elle appelle, les en-têtes et champs de corps que la passerelle doit transmettre, et quelles fonctionnalités cessent de fonctionner si elle ne le fait pas. Elle est écrite pour les opérateurs configurant un produit de passerelle pour fonctionner avec Claude Code.

10 10 

11La [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), la passerelle auto-hébergée d'Anthropic, sert sa propre référence de point de terminaison à `GET /protocol`, couvrant les points de terminaison de connexion, d'inférence, de paramètres gérés, de découverte de modèles et de télémétrie de cette passerelle. C'est un document distinct de ce guide.11La [passerelle des applications Claude](/docs/fr/claude-apps-gateway), la passerelle auto-hébergée d'Anthropic, sert sa propre référence de point de terminaison à `GET /protocol`, couvrant les points de terminaison de connexion, d'inférence, de paramètres gérés, de découverte de modèles et de télémétrie de cette passerelle. C'est un document séparé de ce guide.

12 12 

13<Note>13<Note>

14 * Pour déployer une passerelle existante ou tierce pour votre organisation, consultez [Déployer une passerelle LLM](/docs/fr/llm-gateway-rollout)14 * Pour déployer une passerelle existante ou tierce pour votre organisation, consultez [Déployer une passerelle LLM](/docs/fr/llm-gateway-rollout)

15 * Si vous êtes un développeur individuel authentifiant Claude Code à une passerelle avec une identifiant que vous avez reçu, consultez [Connecter Claude Code à une passerelle LLM](/docs/fr/llm-gateway-connect)15 * Si vous êtes un développeur individuel authentifiant Claude Code à une passerelle avec une credential qui vous a été donnée, consultez [Connecter Claude Code à une passerelle LLM](/docs/fr/llm-gateway-connect)

16</Note>16</Note>

17 17 

18Cette page couvre :18Cette page couvre :

19 19 

20* [Formats API](#api-formats) et les points de terminaison à servir pour chacun20* [Formats d'API](#api-formats) et les points de terminaison à servir pour chacun

21* [Comportement du client par méthode de connexion](#how-the-connection-method-changes-client-behavior) : comment les ID de modèle, les valeurs `anthropic-beta`, les champs de requête et les valeurs par défaut diffèrent entre les formats et une connexion de passerelle des applications Claude

21* [En-têtes de requête](#request-headers) : lesquels doivent atteindre l'amont et lesquels votre passerelle peut consommer22* [En-têtes de requête](#request-headers) : lesquels doivent atteindre l'amont et lesquels votre passerelle peut consommer

23* [En-têtes de réponse](#response-headers) : ce qu'il faut retourner pour que la détection de blocage, les tentatives et l'affichage des limites d'utilisation fonctionnent

22* Le [bloc d'attribution du message système](#system-prompt-attribution-block) et comment il interagit avec la mise en cache des invites24* Le [bloc d'attribution du message système](#system-prompt-attribution-block) et comment il interagit avec la mise en cache des invites

23* [Transmission des fonctionnalités](#feature-pass-through) : ce qui se casse lorsque les en-têtes ou champs de corps sont supprimés25* [Passage des fonctionnalités](#feature-pass-through) : ce qui se casse quand les en-têtes ou les champs de corps sont supprimés

24* [Découverte des modèles](#model-discovery)26* [Découverte de modèles](#model-discovery)

25 27 

26Cette page utilise deux termes pour ce que votre passerelle fait avec chaque en-tête et champ de corps :28Cette page utilise deux termes pour ce que votre passerelle fait avec chaque en-tête et champ de corps :

27 29 

28* **Transmettre inchangé** : le passer à l'amont octet par octet30* **Transmettre inchangé** : le passer à l'amont octet par octet

29* **Consommer** : la passerelle peut le lire pour le routage, l'attribution ou le suivi et n'a pas besoin de le transmettre31* **Consommer** : la passerelle peut le lire pour le routage, l'attribution ou le traçage et n'a pas besoin de le transmettre

30 32 

31Tout ce qui n'est pas marqué comme transmis inchangé est à votre disposition pour être consommé ou ignoré.33Tout ce qui n'est pas marqué comme transmettre inchangé est vôtre à consommer ou ignorer.

32 34 

33<h2 id="api-formats">35<h2 id="api-formats">

34 Formats API36 Formats d'API

35</h2>37</h2>

36 38 

37Une passerelle doit exposer au moins l'un des formats API suivants aux clients Claude Code. Un client choisit un format et pointe Claude Code vers votre passerelle avec les variables dans la colonne Sélectionné par du tableau ci-dessous.39Une passerelle doit exposer au moins l'un des formats d'API suivants aux clients Claude Code. Un client choisit un format et pointe Claude Code vers votre passerelle avec les variables dans la colonne Sélectionné par du tableau ci-dessous.

38 40 

39Google Cloud's Agent Platform est le point de terminaison Claude de Google Cloud, anciennement Vertex AI ; ses noms de variables conservent l'orthographe `VERTEX`.41Google Cloud's Agent Platform est le point de terminaison Claude de Google Cloud, anciennement Vertex AI ; ses noms de variables conservent l'orthographe `VERTEX`.

40 42 

41| Format | Sélectionné par | Points de terminaison | Transmettre inchangé |43| Format | Sélectionné par | Points de terminaison | Transférer inchangé |

42| :--------------------------------------- | :------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |44| :--------------------------------------- | :------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |

43| Messages Anthropic | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (optionnel) | En-têtes de requête `anthropic-beta` et `anthropic-version` |45| Anthropic Messages | `ANTHROPIC_BASE_URL` | `/v1/messages`, `/v1/messages/count_tokens` (optionnel) | En-têtes de requête `anthropic-beta` et `anthropic-version` |

44| Amazon Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` avec `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream`, `/model/{model}/count-tokens` (optionnel) | Champs de corps de requête `anthropic_beta` et `anthropic_version` |46| Amazon Bedrock InvokeModel | `ANTHROPIC_BEDROCK_BASE_URL` avec `CLAUDE_CODE_USE_BEDROCK=1` | `/model/{model}/invoke`, `/model/{model}/invoke-with-response-stream`, `/model/{model}/count-tokens` (optionnel) | Champs du corps de requête `anthropic_beta` et `anthropic_version` |

45| Google Cloud's Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` avec `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (optionnel) | En-têtes de requête `anthropic-beta` et `anthropic-version`, et le champ de corps de requête `anthropic_version` |47| Google Cloud's Agent Platform rawPredict | `ANTHROPIC_VERTEX_BASE_URL` avec `CLAUDE_CODE_USE_VERTEX=1` | `:rawPredict`, `:streamRawPredict`, `count-tokens:rawPredict` (optionnel) | En-têtes de requête `anthropic-beta` et `anthropic-version`, et le champ du corps de requête `anthropic_version` |

46 48 

47<h3 id="foundry-and-claude-platform-on-aws">49<h3 id="foundry-and-claude-platform-on-aws">

48 Foundry et Claude Platform on AWS50 Foundry et Claude Platform on AWS

49</h3>51</h3>

50 52 

51Microsoft Foundry et la [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) implémentent le format Messages Anthropic. Claude Code les route via leurs propres variables, `ANTHROPIC_FOUNDRY_BASE_URL` et `ANTHROPIC_AWS_BASE_URL`, mais une passerelle les frontalisant implémente la ligne Messages Anthropic ci-dessus. Une passerelle frontalisant la Claude Platform on AWS doit également transmettre l'en-tête `anthropic-workspace-id`, que [cette plateforme exige sur chaque requête](/docs/fr/claude-platform-on-aws).53Microsoft Foundry et la [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) implémentent le format Anthropic Messages. Claude Code les route via leurs propres variables, `ANTHROPIC_FOUNDRY_BASE_URL` et `ANTHROPIC_AWS_BASE_URL`, mais une passerelle les frontalisant implémente la ligne Anthropic Messages ci-dessus. Une passerelle frontalisant Claude Platform on AWS doit également transférer l'en-tête `anthropic-workspace-id`, que [cette plateforme exige sur chaque requête](/docs/fr/claude-platform-on-aws).

52 54 

53<h3 id="optional-endpoints-and-startup-traffic">55<h3 id="optional-endpoints-and-startup-traffic">

54 Points de terminaison optionnels et trafic de démarrage56 Points de terminaison optionnels et trafic de démarrage

55</h3>57</h3>

56 58 

57Les points de terminaison de comptage de jetons sont les seuls optionnels : lorsqu'ils sont absents, Claude Code revient à une estimation basée sur les caractères de l'utilisation du contexte.59Les points de terminaison de comptage de jetons sont les seuls optionnels : en leur absence, Claude Code revient à une estimation basée sur les caractères de l'utilisation du contexte.

58 60 

59Faites correspondre le chemin, pas l'URL complète :61Faites correspondre le chemin, pas l'URL complète :

60 62 

61* Les requêtes d'inférence sont envoyées à `/v1/messages?beta=true`63* Les requêtes d'inférence sont envoyées à `/v1/messages?beta=true`

62* La méthode Google Cloud's Agent Platform ajoute des suffixes au chemin du modèle de l'éditeur, comme dans `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`64* La méthode Google Cloud's Agent Platform ajoute des suffixes au chemin du modèle de l'éditeur, comme dans `/projects/{project}/locations/{location}/publishers/anthropic/models/{model}:streamRawPredict`

63 65 

64Une passerelle voit également du trafic de démarrage au meilleur effort qu'elle peut rejeter sans rien casser. Une passerelle au format Messages Anthropic reçoit une sonde de réchauffement de connexion `HEAD /api/hello`, que Claude Code ignore lorsqu'un proxy HTTP ou un certificat client est configuré. Une passerelle au format Amazon Bedrock reçoit une requête `GET /inference-profiles?type=SYSTEM_DEFINED` et, lorsque le modèle configuré est un profil d'inférence, des recherches `GET /inference-profiles/{profile}`.66Une passerelle voit également du trafic de démarrage au meilleur effort qu'elle peut rejeter sans rien casser. Une passerelle au format Anthropic Messages reçoit une sonde de préchauffage de connexion `HEAD /api/hello`, que Claude Code ignore quand un proxy HTTP ou un certificat client est configuré. Une passerelle au format Amazon Bedrock reçoit une requête `GET /inference-profiles?type=SYSTEM_DEFINED` et, quand le modèle configuré est un profil d'inférence, des recherches `GET /inference-profiles/{profile}`.

65 67 

66La vérification de disponibilité du [mode rapide](/docs/fr/fast-mode) n'apparaît jamais dans les journaux de passerelle : elle appelle `api.anthropic.com` directement plutôt que de suivre `ANTHROPIC_BASE_URL`, donc sur un réseau qui bloque la sortie directe vers `api.anthropic.com`, le mode rapide peut signaler une erreur de connectivité tandis que l'inférence via la passerelle continue de fonctionner. La [vérification de sécurité du domaine WebFetch](/docs/fr/data-usage#webfetch-domain-safety-check) appelle également `api.anthropic.com` directement. [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 les variables qui le restaurent.68La vérification de disponibilité du [mode rapide](/docs/fr/fast-mode) n'apparaît jamais dans les journaux de passerelle : elle appelle `api.anthropic.com` directement plutôt que de suivre `ANTHROPIC_BASE_URL`, donc sur un réseau qui bloque la sortie directe vers `api.anthropic.com`, le mode rapide peut signaler une erreur de connectivité tandis que l'inférence via la passerelle continue de fonctionner. La [vérification de sécurité du domaine WebFetch](/docs/fr/data-usage#webfetch-domain-safety-check) appelle également `api.anthropic.com` directement. [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 les variables qui le restaurent.

67 69 


69 Streaming71 Streaming

70</h3>72</h3>

71 73 

72Les réponses d'inférence en streaming. Claude Code lit le flux au fur et à mesure qu'il arrive, donc si votre passerelle met en mémoire tampon les réponses complètes avant de les relayer, Claude Code s'arrête.74Diffusez les réponses d'inférence en continu. Claude Code lit le flux au fur et à mesure de son arrivée, donc si votre passerelle met en mémoire tampon les réponses complètes avant de les relayer, Claude Code s'arrête.

73 75 

74Lorsque le client utilise le format Amazon Bedrock, relayez le corps de la réponse `InvokeModelWithResponseStream` et son en-tête `Content-Type: application/vnd.amazon.eventstream` inchangés, et ne convertissez pas le flux en événements envoyés par le serveur. Voir [Erreurs de streaming derrière une passerelle ou un proxy](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).76Quand le client parle le format Amazon Bedrock, relayez le corps de réponse `InvokeModelWithResponseStream` et son en-tête `Content-Type: application/vnd.amazon.eventstream` sans modification, et ne convertissez pas le flux en événements envoyés par le serveur. Voir [Erreurs de streaming derrière une passerelle ou un proxy](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).

75 77 

76Relayez également les pings de maintien de connexion. Sur les connexions via `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`, Claude Code compte chaque octet que votre passerelle relaye, y compris les événements SSE `ping` et les lignes de commentaire, et abandonne un flux qui reste silencieux pendant 300 secondes par défaut. Les pings en amont sont le seul trafic pendant les pauses de réflexion longue, donc si votre passerelle les supprime ou les met en mémoire tampon, Claude Code abandonne le flux pendant ces pauses ; [Tentatives automatiques](/docs/fr/errors#automatic-retries) couvre ce qu'un flux abandonné signale en fonction de la progression de la réponse. Un amont qui n'envoie aucun ping du tout, comme le flux d'événements binaires d'Amazon Bedrock, laisse ces pauses sans rien à relayer. Lors de la traduction à partir d'un tel amont, émettez vos propres événements `ping` pendant les silences. Les passerelles atteintes via `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, ou `ANTHROPIC_FOUNDRY_BASE_URL` ne sont pas enveloppées par ce chien de garde au niveau des octets, même lorsqu'elles relaient le format Messages Anthropic ; là, un [délai d'inactivité de 5 minutes](/docs/fr/env-vars) abandonne un flux silencieux à la place, et sur les connexions `ANTHROPIC_BEDROCK_BASE_URL` vous pouvez ajouter le chien de garde au niveau des octets avec [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/fr/env-vars).78Transférez également les pings de maintien de connexion. Sur les connexions via `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`, Claude Code compte chaque octet que votre passerelle relaye, y compris les événements SSE `ping` et les lignes de commentaire, et abandonne un flux qui reste silencieux pendant 300 secondes par défaut. Les pings en amont sont le seul trafic pendant les pauses de réflexion prolongées, donc si votre passerelle les supprime ou les met en mémoire tampon, Claude Code abandonne le flux pendant ces pauses ; [Tentatives automatiques](/docs/fr/errors#automatic-retries) couvre ce qu'un flux abandonné signale en fonction de la progression de la réponse. Un amont qui n'envoie aucun ping du tout, comme le flux d'événements binaires d'Amazon Bedrock, laisse ces pauses sans rien à relayer. Lors de la traduction à partir d'un tel amont, émettez vos propres événements `ping` pendant les silences. Les passerelles atteintes via `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, ou `ANTHROPIC_FOUNDRY_BASE_URL` ne sont pas enveloppées par ce chien de garde au niveau des octets, même quand elles relaient le format Anthropic Messages ; là, un [délai d'inactivité de 5 minutes](/docs/fr/env-vars) abandonne un flux silencieux à la place, et sur les connexions `ANTHROPIC_BEDROCK_BASE_URL` vous pouvez ajouter le chien de garde au niveau des octets avec [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/fr/env-vars).

77 79 

78<h3 id="format-mismatch-with-the-upstream">80<h3 id="format-mismatch-with-the-upstream">

79 Incompatibilité de format avec l'amont81 Incompatibilité de format avec l'amont

80</h3>82</h3>

81 83 

82Le format que le client utilise détermine ce que votre passerelle reçoit. Le mode de défaillance courant est une incompatibilité entre le format que le client envoie à votre passerelle et le format que le fournisseur amont derrière elle accepte.84Le format que le client parle détermine ce que votre passerelle reçoit. Le mode de défaillance courant est une incompatibilité entre le format que le client envoie à votre passerelle et le format que le fournisseur amont derrière elle accepte.

83 85 

84* Lorsque le client utilise le format Amazon Bedrock ou Google Cloud's Agent Platform, Claude Code envoie uniquement le sous-ensemble de son ensemble de capacités complet que ces fournisseurs acceptent86* Quand le client parle le format Amazon Bedrock ou Google Cloud's Agent Platform, Claude Code envoie uniquement le sous-ensemble de son ensemble complet de capacités que ces fournisseurs acceptent

85* Lorsque le client utilise le format Messages Anthropic, Claude Code envoie l'ensemble complet, même si votre passerelle transmet à un amont Amazon Bedrock ou Google Cloud's Agent Platform87* Quand le client parle le format Anthropic Messages, Claude Code envoie l'ensemble complet, même si votre passerelle relaye vers un amont Amazon Bedrock ou Google Cloud's Agent Platform

86 88 

87Combler cette différence est le travail de votre passerelle. [Transmission des fonctionnalités](#feature-pass-through) décrit ce qui se casse lorsqu'elle ne le fait pas.89Combler cette différence est le travail de votre passerelle. [Passage des fonctionnalités](#feature-pass-through) décrit ce qui se casse quand ce n'est pas le cas.

90 

91Si votre amont est Amazon Bedrock ou Google Cloud's Agent Platform, vous pouvez éviter le pontage en exposant le format de ce fournisseur à la place. [Router vers un fournisseur cloud via une passerelle](/docs/fr/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) montre la configuration du client pour ce format.

92 

93<h2 id="how-the-connection-method-changes-client-behavior">

94 Comment la méthode de connexion modifie le comportement du client

95</h2>

96 

97La façon dont un développeur se connecte à votre passerelle détermine les ID de modèle, les valeurs `anthropic-beta` et les champs de requête que Claude Code envoie, ainsi que les valeurs par défaut qu'il applique. Votre passerelle voit l'un des trois comportements clients suivants :

98 

99* **Format Amazon Bedrock ou Agent Platform** : le développeur définit `CLAUDE_CODE_USE_BEDROCK=1` avec `ANTHROPIC_BEDROCK_BASE_URL`, ou `CLAUDE_CODE_USE_VERTEX=1` avec `ANTHROPIC_VERTEX_BASE_URL`, pointant vers votre passerelle. Claude Code utilise les ID de modèle, les champs de requête et les valeurs par défaut de ce fournisseur.

100* **Format Anthropic Messages** : le développeur définit `ANTHROPIC_BASE_URL` sur votre passerelle. Claude Code traite la passerelle comme l'API Claude et ne peut pas déterminer vers quel upstream vous transférez.

101* **Connexion à la passerelle des applications Claude** : le développeur se connecte à une [passerelle des applications Claude](/docs/fr/claude-apps-gateway). Cette passerelle utilise le format Anthropic Messages mais peut router vers n'importe quel upstream, donc Claude Code envoie uniquement les valeurs `anthropic-beta` et les hypothèses de capacités de modèle qu'Amazon Bedrock et Agent Platform acceptent également.

102 

103<h3 id="requests-and-defaults-by-connection-method">

104 Requêtes et valeurs par défaut selon la méthode de connexion

105</h3>

106 

107Le tableau ci-dessous compare les trois méthodes de connexion, un comportement par ligne. Il omet Microsoft Foundry et Claude Platform sur AWS, qui utilisent également le format Anthropic Messages mais que Claude Code atteint via leurs propres variables. Pour ceux-ci, consultez les pages [Microsoft Foundry](/docs/fr/microsoft-foundry) et [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws).

108 

109| Comportement | Format Amazon Bedrock ou Agent Platform | Format Anthropic Messages | Connexion à la passerelle des applications Claude |

110| :------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------- |

111| ID de modèle dans les requêtes par défaut | Le formulaire du fournisseur, tel que `us.anthropic.claude-opus-4-8` sur Amazon Bedrock | ID Anthropic, tels que `claude-opus-4-8` | ID Anthropic |

112| Valeurs `anthropic-beta` envoyées | Le sous-ensemble qu'Amazon Bedrock et Agent Platform acceptent | L'ensemble complet décrit sous [transmission des fonctionnalités](#feature-pass-through), sauf si le développeur définit [`CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS`](#disable-pre-release-capabilities) | Le sous-ensemble qu'Amazon Bedrock et Agent Platform acceptent |

113| Champs de requête pour un ID de modèle que Claude Code ne reconnaît pas, tel qu'un alias de passerelle | Réflexion avec un budget fixe plutôt que raisonnement adaptatif, et aucun champ de gestion d'effort ou de contexte | Tout ce que les modèles Claude actuels acceptent sur l'API Claude, y compris le raisonnement adaptatif, l'effort et la gestion du contexte, qu'un upstream Amazon Bedrock ou Agent Platform peut rejeter | Identique au format Amazon Bedrock ou Agent Platform |

114| [TTL du cache de prompt](/docs/fr/prompt-caching#choose-the-ttl-yourself) d'une heure lorsqu'un développeur opte pour cette option | Demandé via le champ `ttl` dans `cache_control`, sans valeur bêta | Demandé via le champ `ttl` plus une valeur `extended-cache-ttl` dans `anthropic-beta`, que vous devez transférer | Consultez le tableau [disponibilité et limitations](/docs/fr/claude-apps-gateway#availability-and-limitations) de la passerelle des applications Claude |

115| Modèle pour les [tâches en arrière-plan](/docs/fr/costs#background-token-usage) sauf si `ANTHROPIC_DEFAULT_HAIKU_MODEL` en épingle un | Le modèle Sonnet par défaut, ou le modèle principal une fois qu'un est sélectionné, comme le décrivent les pages [Amazon Bedrock](/docs/fr/amazon-bedrock#4-pin-model-versions) et [Agent Platform](/docs/fr/google-vertex-ai#5-pin-model-versions) | Le modèle principal, ou le modèle Haiku par défaut lorsqu'une clé Anthropic Console est fournie par `ANTHROPIC_API_KEY` ou `apiKeyHelper` et que `ANTHROPIC_AUTH_TOKEN` n'est pas défini | Le modèle principal |

116 

117Pour les fonctionnalités que chaque connexion supporte et la télémétrie qu'elle envoie à Anthropic par défaut, consultez [Disponibilité des fonctionnalités](/docs/fr/feature-availability#availability-by-model-provider) et [Comportements par défaut selon le fournisseur d'API](/docs/fr/data-usage#default-behaviors-by-api-provider).

118 

119<h3 id="settings-for-unrecognized-model-ids">

120 Paramètres pour les ID de modèle non reconnus

121</h3>

122 

123Deux paramètres côté client modifient ce que Claude Code suppose pour un ID de modèle qu'il ne reconnaît pas, quelle que soit la méthode de connexion utilisée par le développeur :

124 

125* **Fenêtre de contexte** : Claude Code suppose 200K, ou 1M lorsque l'ID porte `[1m]`. Pour déclarer la vraie fenêtre, consultez [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id)

126* **Capacités** : pour donner à un alias de passerelle les capacités du modèle derrière lui, mappez l'ID Anthropic de ce modèle à votre alias avec une entrée [`modelOverrides`](/docs/fr/errors#unrecognized-model-id-on-a-request) dans les paramètres que vous distribuez. Pour savoir où les variables `ANTHROPIC_DEFAULT_*_MODEL_SUPPORTED_CAPABILITIES` s'appliquent, consultez [transmission des fonctionnalités](#feature-pass-through)

88 127 

89<h2 id="request-headers">128<h2 id="request-headers">

90 En-têtes de requête129 En-têtes de requête


115 154 

116L'exception est un amont non-Anthropic tel qu'Amazon Bedrock ou Agent Platform de Google Cloud, où combler la différence de schéma est le travail de la passerelle ; consultez [transmission des fonctionnalités](#feature-pass-through).155L'exception est un amont non-Anthropic tel qu'Amazon Bedrock ou Agent Platform de Google Cloud, où combler la différence de schéma est le travail de la passerelle ; consultez [transmission des fonctionnalités](#feature-pass-through).

117 156 

157<h2 id="response-headers">

158 En-têtes de réponse

159</h2>

160 

161Claude Code lit ces en-têtes de réponse pour détecter les flux bloqués, pour décider s'il faut relancer et quand, et pour afficher les limites d'utilisation. Le tableau liste ce qu'il faut retourner pour chacun. Transmettez également les corps de réponse d'erreur sans modification, afin que la [récupération de rejet de capacité](#automatic-retry-and-error-forwarding) de Claude Code puisse correspondre à la formulation d'erreur en amont.

162 

163| En-tête | Ce qu'il faut retourner et pourquoi |

164| :------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

165| `content-type` | Retournez `text/event-stream` sur les réponses au format Messages Anthropic en flux continu, et `application/vnd.amazon.eventstream`, sans modification, sur les réponses au format Amazon Bedrock, où [un type différent échoue la demande](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy). [Streaming](#streaming) liste les connexions qui exécutent la détection de stagnation sur ces flux |

166| `retry-after` | Retournez des secondes entières plutôt qu'une date HTTP. Claude Code attend au moins ce laps de temps avant la prochaine [relance automatique](/docs/fr/errors#automatic-retries), et en dehors des sessions [`CLAUDE_CODE_RETRY_WATCHDOG`](/docs/fr/env-vars) une valeur supérieure à 60 arrête les relances et affiche l'erreur immédiatement |

167| `x-should-retry` | Transmettez la valeur en amont sans modification. Claude Code lit cet en-tête comme une entrée lors de la décision de relancer une demande échouée : `true` marque la réponse comme relançable et `false` la marque comme non relançable. Pour les compteurs de relance, le backoff, et les défaillances que Claude Code relance, voir [relances automatiques](/docs/fr/errors#automatic-retries) |

168| `anthropic-ratelimit-unified-*` | Transmettez les valeurs en amont sans modification sur chaque réponse. Claude Code les lit sur les réponses réussies pour afficher l'utilisation par rapport aux limites du plan aux développeurs connectés avec claude.ai, et sur un `429` pour distinguer une limite de plan ou un plafond de dépenses d'une limitation temporaire ; voir [limites d'utilisation](/docs/fr/errors#usage-limits) |

169 

118<h2 id="system-prompt-attribution-block">170<h2 id="system-prompt-attribution-block">

119 Bloc d'attribution du message système171 Bloc d'attribution du message système

120</h2>172</h2>


168Ce que Claude Code fait après un rejet en amont dépend de ce qui a été rejeté :220Ce que Claude Code fait après un rejet en amont dépend de ce qui a été rejeté :

169 221 

170* 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 conversation222* 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

171* Lorsque l'amont rejette une [signature de pensée](https://platform.claude.com/docs/en/build-with-claude/extended-thinking), Claude Code réessaie la requête sans les blocs de pensée antérieurs de la conversation et les garde hors de chaque requête ultérieure. Les nouvelles réponses incluent toujours la pensée223* 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

172* 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éveloppeur224* 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

173 225 

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

227 

174La logique de nouvelle tentative correspond à la formulation d'erreur de l'amont, donc transmettez les corps de réponse d'erreur inmodifiés. Une passerelle qui enveloppe les erreurs en amont dans sa propre enveloppe casse le chemin de récupération, même lorsqu'elle préserve le code d'état, sauf si le message de l'enveloppe porte un jeton `capability_rejected:` stable. [La passerelle des applications Claude substitue ces jetons à la formulation d'erreur des fournisseurs de cloud](/docs/fr/claude-apps-gateway-config#upstream-error-messages), par exemple `capability_rejected: prompt_too_long`.228La logique de nouvelle tentative correspond à la formulation d'erreur de l'amont, donc transmettez les corps de réponse d'erreur inmodifiés. Une passerelle qui enveloppe les erreurs en amont dans sa propre enveloppe casse le chemin de récupération, même lorsqu'elle préserve le code d'état, sauf si le message de l'enveloppe porte un jeton `capability_rejected:` stable. [La passerelle des applications Claude substitue ces jetons à la formulation d'erreur des fournisseurs de cloud](/docs/fr/claude-apps-gateway-config#upstream-error-messages), par exemple `capability_rejected: prompt_too_long`.

175 229 

176<h3 id="disable-pre-release-capabilities">230<h3 id="disable-pre-release-capabilities">


209 Requête et réponse263 Requête et réponse

210</h3>264</h3>

211 265 

212La requête est `GET /v1/models?limit=1000` avec un délai d'expiration de 3 secondes, et toute redirection est traitée comme un échec afin que l'identifiant ne puisse pas fuir vers une cible de redirection. Une passerelle qui répond lentement ou redirige `/v1/models`, même `http` vers `https`, échoue silencieusement la découverte ; servez le point de terminaison directement à l'URL de base configurée.266La requête est `GET /v1/models?limit=1000` avec un délai d'expiration de 3 secondes par défaut, et toute redirection est traitée comme un échec afin que l'identifiant ne puisse pas fuir vers une cible de redirection. Une passerelle qui répond lentement que le délai d'expiration, ou une qui redirige `/v1/models`, même `http` vers `https`, échoue silencieusement la découverte ; servez le point de terminaison directement à l'URL de base configurée.

267 

268Pour donner à une passerelle lente plus de temps, définissez [`CLAUDE_CODE_GATEWAY_MODEL_DISCOVERY_TIMEOUT_MS`](/docs/fr/env-vars#variables). La variable nécessite Claude Code v2.1.269 ou version ultérieure.

213 269 

214Claude Code envoie la requête de découverte avec les deux en-têtes d'identifiant ci-dessous et omet un en-tête dont la valeur ne se résout pas. L'envoi des deux en-têtes nécessite Claude Code v2.1.248 ou version ultérieure. Les versions antérieures envoient uniquement `Authorization` lorsque `ANTHROPIC_AUTH_TOKEN` est défini et uniquement `x-api-key` sinon.270Claude Code envoie la requête de découverte avec les deux en-têtes d'identifiant ci-dessous et omet un en-tête dont la valeur ne se résout pas. L'envoi des deux en-têtes nécessite Claude Code v2.1.248 ou version ultérieure. Les versions antérieures envoient uniquement `Authorization` lorsque `ANTHROPIC_AUTH_TOKEN` est défini et uniquement `x-api-key` sinon.

215 271 

Details

45 Étapes du déploiement45 Étapes du déploiement

46</h2>46</h2>

47 47 

48Le déploiement prend cinq étapes, chacune avec un point de contrôle :48Le déploiement se fait en cinq étapes, chacune avec un point de contrôle :

49 49 

501. [Confirmer que la passerelle route vos modèles](#confirm-the-gateway-routes-your-models)501. [Confirmer que la passerelle achemine vos modèles](#confirm-the-gateway-routes-your-models)

512. [Émettre une identifiant à chaque développeur](#issue-developer-credentials)512. [Émettre une credential pour chaque développeur](#issue-developer-credentials)

523. [Tester Claude Code contre la passerelle](#test-claude-code-against-the-gateway)523. [Tester Claude Code par rapport à la passerelle](#test-claude-code-against-the-gateway)

534. [Distribuer l'URL de base et les identifiants](#distribute-the-configuration)534. [Distribuer l'URL de base et les credentials](#distribute-the-configuration)

545. [Vérifier à partir d'une machine de développeur](#verify-the-rollout)545. [Vérifier à partir d'une machine développeur](#verify-the-rollout)

55 55 

56Les étapes impliquent trois identifiants différents, et les points de contrôle les nomment par placeholder pour que vous puissiez dire lequel est en cause quand quelque chose échoue :56Les étapes impliquent trois credentials différentes, et les points de contrôle les nomment par placeholder afin que vous puissiez identifier celle qui est en cause en cas d'échec :

57 57 

58| Identifiant | Qui le détient | Placeholder dans les points de contrôle |58| Credential | Qui la détient | Placeholder dans les points de contrôle |

59| :----------------------------------------- | :---------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------ |59| :----------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------- |

60| Identifiant de fournisseur | La passerelle, qui le transfère au fournisseur en amont | Configuré sur la passerelle ; n'apparaît jamais dans les commandes client |60| Credential du fournisseur | La passerelle, qui la transmet au fournisseur en amont | Configurée sur la passerelle ; n'apparaît jamais dans les commandes client |

61| Identifiant administratif de la passerelle | Vous, si votre produit de passerelle en émet un pour son interface d'administration ou de test | `<gateway-key>` |61| Credential administrative de la passerelle | Vous, si votre produit de passerelle en émet une pour son interface d'administration ou de test | `<gateway-key>` |

62| Clé de développeur | Chaque développeur, émis par la passerelle dans [Émettre des identifiants de développeur](#issue-developer-credentials) | `<developer-key>` |62| Clé développeur | Chaque développeur, émise par la passerelle dans [Émettre une credential pour chaque développeur](#issue-developer-credentials) | `<developer-key>` |

63 63 

64<h3 id="confirm-the-gateway-routes-your-models">64<h3 id="confirm-the-gateway-routes-your-models">

65 Confirmer que la passerelle route vos modèles65 Confirmer que la passerelle achemine vos modèles

66</h3>66</h3>

67 67 

68Votre passerelle devrait déjà être configurée avec votre identifiant de fournisseur, écoutant à son URL de base, et transférant les requêtes à l'API de votre fournisseur. Testez que le chemin fonctionne de bout en bout avec une requête minimale, en substituant deux valeurs de votre déploiement :68Votre passerelle devrait déjà être configurée avec votre credential du fournisseur, à l'écoute sur son URL de base, et transmettre les demandes à l'API de votre fournisseur. Testez que le chemin fonctionne de bout en bout avec une demande minimale, en remplaçant deux valeurs de votre déploiement :

69 69 

70* `<gateway-key>` est tout identifiant qui vous permet d'appeler la passerelle en ce moment : une clé administrative, une clé de test, ou votre propre clé de développeur si vous en avez déjà émis une. Pas tous les produits de passerelle ont un identifiant administratif séparé ; si le vôtre n'en a pas, émettez-vous d'abord une clé de développeur dans [Émettre des identifiants de développeur](#issue-developer-credentials)70* `<gateway-key>` est la credential qui vous permet d'appeler la passerelle en ce moment : une clé administrative, une clé de test, ou votre propre clé développeur si vous en avez déjà émis une. Tous les produits de passerelle n'ont pas une credential d'administration séparée ; si le vôtre n'en a pas, émettez-vous d'abord une clé développeur dans [Émettre une credential pour chaque développeur](#issue-developer-credentials)

71* `model` est un nom de modèle Claude que votre passerelle est configurée pour router. L'exemple utilise `claude-sonnet-4-6` ; substituez un nom que vous avez configuré71* `model` est un nom de modèle Claude que votre passerelle est configurée pour acheminer. L'exemple utilise `claude-sonnet-4-6` ; remplacez par un nom que vous avez configuré

72 72 

73<Tabs>73<Tabs>

74 <Tab title="Bash ou Zsh">74 <Tab title="Bash ou Zsh">


91 </Tab>91 </Tab>

92</Tabs>92</Tabs>

93 93 

94**Point de contrôle** : un `200` avec un champ `content` signifie que la passerelle a atteint le fournisseur avec ce nom de modèle. Un `404` signifie que ce nom n'est pas routé à la passerelle ; un `401` du fournisseur signifie que l'identifiant de fournisseur de la passerelle est incorrect.94**Point de contrôle** : un `200` avec un champ `content` signifie que la passerelle a atteint le fournisseur avec ce nom de modèle. Un `404` signifie que ce nom n'est pas acheminé à la passerelle ; un `401` du fournisseur signifie que la credential du fournisseur de la passerelle est incorrecte.

95 95 

96Répétez la requête une fois par nom de modèle Claude dans la configuration de routage de votre passerelle. Un nom que la passerelle ne route pas retourne `404` à tout développeur qui le sélectionne, donc testez chaque nom avant le déploiement.96Répétez la demande une fois par nom de modèle Claude dans la configuration d'acheminement de votre passerelle. Un nom que la passerelle n'achemine pas retourne `404` à tout développeur qui le sélectionne, donc testez chaque nom avant le déploiement.

97 97 

98<Note>98<Note>

99 Évitez de servir la passerelle derrière une redirection. Une redirection peut supprimer le corps de la requête ou supprimer l'en-tête d'identifiant sur les requêtes d'inférence, et la [découverte de modèles](/docs/fr/llm-gateway-protocol#model-discovery) traite toute redirection comme un échec pour que l'identifiant ne puisse pas fuir vers une cible de redirection.99 Évitez de servir la passerelle derrière une redirection. Une redirection peut supprimer le corps de la demande ou retirer l'en-tête de credential sur les demandes d'inférence, et la [découverte de modèles](/docs/fr/llm-gateway-protocol#model-discovery) traite toute redirection comme un échec afin que la credential ne puisse pas fuir vers une cible de redirection.

100</Note>100</Note>

101 101 

102<h3 id="issue-developer-credentials">102<h3 id="issue-developer-credentials">

103 Émettre des identifiants de développeur103 Émettre une credential pour chaque développeur

104</h3>104</h3>

105 105 

106Chaque développeur a besoin de sa propre clé de passerelle pour s'authentifier. Créez un identifiant par développeur à la passerelle, en suivant la documentation de gestion des identifiants de votre produit.106Chaque développeur a besoin de sa propre clé de passerelle pour s'authentifier. Créez une credential par développeur à la passerelle, en suivant la documentation de gestion des credentials de votre produit.

107 107 

108Confirmez qu'une clé fraîchement émise fonctionne contre la passerelle avec la même requête que [Confirmer que la passerelle route vos modèles](#confirm-the-gateway-routes-your-models), en remplaçant `<gateway-key>` par la nouvelle `<developer-key>` :108Confirmez qu'une clé fraîchement émise fonctionne par rapport à la passerelle avec la même demande que [Confirmer que la passerelle achemine vos modèles](#confirm-the-gateway-routes-your-models), en remplaçant `<gateway-key>` par la nouvelle `<developer-key>` :

109 109 

110<Tabs>110<Tabs>

111 <Tab title="Bash ou Zsh">111 <Tab title="Bash ou Zsh">


128 </Tab>128 </Tab>

129</Tabs>129</Tabs>

130 130 

131**Point de contrôle** : un `200` avec un champ `content` signifie que la clé de développeur atteint la passerelle et que la passerelle la transfère. Un `401` ici, quand [l'étape précédente](#confirm-the-gateway-routes-your-models) a réussi, signifie que la clé de développeur est incorrecte ou n'a pas encore pris effet à la passerelle.131**Point de contrôle** : un `200` avec un champ `content` signifie que la clé développeur atteint la passerelle et que la passerelle la transmet. Un `401` ici, quand [l'étape précédente](#confirm-the-gateway-routes-your-models) a réussi, signifie que la clé développeur est incorrecte ou n'a pas encore pris effet à la passerelle.

132 132 

133Émettre une clé par développeur plutôt qu'une clé partagée est ce qui rend l'attribution d'utilisation par développeur et le départ individuel possibles. La variable d'environnement qui contient la clé dépend de quel en-tête la passerelle lit. Pour une passerelle qui vérifie les identifiants dans l'en-tête `Authorization: Bearer`, les développeurs définissent leur clé dans `ANTHROPIC_AUTH_TOKEN`. Pour une passerelle qui lit les clés de l'en-tête `x-api-key`, les développeurs définissent `ANTHROPIC_API_KEY` à la place ; le [tableau des identifiants](/docs/fr/llm-gateway-connect#set-the-credential-variable) couvre le mappage.133Émettre une clé par développeur plutôt qu'une clé partagée est ce qui fait fonctionner l'attribution d'utilisation par développeur et le départ individuel. La variable d'environnement qui contient la clé dépend de l'en-tête que la passerelle lit. Pour une passerelle qui vérifie les credentials dans l'en-tête `Authorization: Bearer`, les développeurs définissent leur clé dans `ANTHROPIC_AUTH_TOKEN`. Pour une passerelle qui lit les clés à partir de l'en-tête `x-api-key`, les développeurs définissent `ANTHROPIC_API_KEY` à la place ; le [tableau des credentials](/docs/fr/llm-gateway-connect#set-the-credential-variable) couvre le mappage.

134 134 

135<h3 id="test-claude-code-against-the-gateway">135<h3 id="test-claude-code-against-the-gateway">

136 Tester Claude Code contre la passerelle136 Tester Claude Code par rapport à la passerelle

137</h3>137</h3>

138 138 

139Exécutez Claude Code via la passerelle vous-même avant de distribuer quoi que ce soit, en utilisant la même configuration que le déploiement livrera à l'échelle de la flotte. Tapez-les directement dans un terminal, pas dans un fichier `.env` ou de paramètres ; ils ne durent que pour cette session de terminal, donc la fermer retourne votre machine à sa configuration normale. Utilisez `ANTHROPIC_API_KEY` au lieu de `ANTHROPIC_AUTH_TOKEN` si votre passerelle lit l'en-tête `x-api-key` :139Exécutez Claude Code par la passerelle vous-même avant de distribuer quoi que ce soit, en utilisant la même configuration que le déploiement livrera à l'échelle de la flotte. Tapez-les directement dans un terminal, pas dans un fichier `.env` ou de paramètres ; ils ne durent que pour cette session de terminal, donc la fermer ramène votre machine à sa configuration normale. Utilisez `ANTHROPIC_API_KEY` au lieu de `ANTHROPIC_AUTH_TOKEN` si votre passerelle lit l'en-tête `x-api-key` :

140 140 

141<Tabs>141<Tabs>

142 <Tab title="Bash ou Zsh">142 <Tab title="Bash ou Zsh">


154 </Tab>154 </Tab>

155</Tabs>155</Tabs>

156 156 

157Ensuite, envoyez une invite unique via la passerelle :157Ensuite, envoyez une demande unique par la passerelle :

158 158 

159```bash theme={null}159```bash theme={null}

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

161```161```

162 162 

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

164 164 

165* `Not logged in` : vérifiez le journal de la passerelle pour distinguer les deux causes. S'il est vide, aucun identifiant n'a atteint la session et aucune requête n'a quitté la machine ; réexécutez les exports dans le shell que vous testez. S'il affiche une requête rejetée avec `x-api-key` dans le corps `401`, la passerelle s'attend à des clés dans cet en-tête à la place ; basculez vers `ANTHROPIC_API_KEY`165* `Not logged in` : vérifiez le journal de la passerelle pour distinguer les deux causes. S'il est vide, aucune credential n'a atteint la session et aucune demande n'a quitté la machine ; réexécutez les exports dans le shell que vous testez. S'il affiche une demande rejetée avec `x-api-key` dans le corps `401`, la passerelle s'attend à des clés dans cet en-tête à la place ; basculez vers `ANTHROPIC_API_KEY`

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

167 167 

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

169 169 

170<h3 id="distribute-the-configuration">170<h3 id="distribute-the-configuration">

171 Distribuer la configuration171 Distribuer la configuration

172</h3>172</h3>

173 173 

174Chaque machine de développeur a besoin de l'adresse de la passerelle et d'un identifiant. Vous pouvez les distribuer de manière centralisée via les [paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), pour que les développeurs ne configurent rien, ou remettre aux développeurs les valeurs à définir eux-mêmes.174Chaque machine développeur a besoin de l'adresse de la passerelle et d'une credential. Vous pouvez les distribuer de manière centralisée par le biais des [paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), afin que les développeurs ne configurent rien, ou donner aux développeurs les valeurs à définir eux-mêmes.

175 175 

176<h4 id="what-to-distribute">176<h4 id="what-to-distribute">

177 Ce qu'il faut distribuer177 Ce qu'il faut distribuer

178</h4>178</h4>

179 179 

180Le même ensemble de variables s'applique quel que soit le chemin que vous choisissez. La plupart des déploiements n'ont besoin que de `ANTHROPIC_BASE_URL` et d'un identifiant ; incluez les lignes conditionnelles quand votre configuration de passerelle l'exige.180Le même ensemble de variables s'applique quel que soit le chemin que vous choisissez. La plupart des déploiements n'ont besoin que de `ANTHROPIC_BASE_URL` et d'une credential ; incluez les lignes conditionnelles quand votre configuration de passerelle l'exige.

181 181 

182| Variable ou paramètre | Ce qu'il fait | Inclure quand |182| Variable ou paramètre | Ce qu'il fait | Inclure quand |

183| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |183| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

184| `ANTHROPIC_BASE_URL` | Envoie les requêtes 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 un identifiant dans `ANTHROPIC_AUTH_TOKEN` ou `ANTHROPIC_API_KEY` | Authentifie chaque requête à 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 requête API | Votre passerelle nécessite un en-tête de locataire ou de routage sur chaque requête |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_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 |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_DISABLE_EXPERIMENTAL_BETAS` | Arrête Claude Code d'envoyer les en-têtes de capacité de pré-version et les champs du corps. [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities) couvre la portée exacte | Votre passerelle transfère à un amont Amazon Bedrock ou Google Cloud's Agent Platform qui rejette les champs bêta. Consultez [Exigences de la passerelle](#gateway-requirements) |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_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'identifiant 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 depuis un `apiKeyHelper`, ou votre réseau bloque ou intercepte les requêtes 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 lequel des deux variables correspond à votre configuration |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| `ANTHROPIC_MODEL` ou [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/fr/model-config) | Définissez quel nom de modèle Claude Code demande pour la session principale et pour le trafic en arrière-plan | Votre passerelle route les noms de modèles qui ne correspondent pas aux valeurs par défaut de Claude Code, ou vous routez la [fonctionnalité en arrière-plan](/docs/fr/costs#background-token-usage) vers un modèle différent. Routez à la fois les noms de remplacement et les noms par défaut de Claude Code à la passerelle, car certains sous-appels peuvent demander le nom par défaut indépendamment du remplacement ; la [configuration des modèles](/docs/fr/model-config) couvre quel modèle chaque partie d'une session utilise |190| `ANTHROPIC_MODEL` ou [`ANTHROPIC_DEFAULT_HAIKU_MODEL`](/docs/fr/model-config) | Définit quel nom de modèle Claude Code demande pour la session principale et pour le trafic en arrière-plan | Votre passerelle achemine des noms de modèles qui ne correspondent pas aux valeurs par défaut de Claude Code, ou vous acheminez la [fonctionnalité en arrière-plan](/docs/fr/costs#background-token-usage) vers un modèle différent. Acheminez à la fois les noms de remplacement et les ID de modèle intégrés que Claude Code demande quand aucun remplacement n'est défini, car certains appels de sous-tâches en arrière-plan demandent un ID intégré indépendamment du remplacement ; la [configuration du modèle](/docs/fr/model-config) couvre quel modèle chaque partie d'une session utilise |

191| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, ou `ANTHROPIC_AWS_BASE_URL` avec les [variables pour ce fournisseur](/docs/fr/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Pointez Claude Code vers la passerelle via une URL de base spécifique au fournisseur. Amazon Bedrock et Google Cloud's Agent Platform basculent également vers le format de requête natif de ces fournisseurs | Votre passerelle fait face à Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, ou la Plateforme Claude sur AWS ; consultez [Formats API](/docs/fr/llm-gateway-protocol#api-formats) |191| `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, `ANTHROPIC_FOUNDRY_BASE_URL`, ou `ANTHROPIC_AWS_BASE_URL` avec les [variables pour ce fournisseur](/docs/fr/llm-gateway-connect#route-to-a-cloud-provider-through-a-gateway) | Pointez Claude Code vers la passerelle par le biais d'une URL de base spécifique au fournisseur. Amazon Bedrock et Google Cloud's Agent Platform basculent également vers le format de demande natif de ces fournisseurs | Votre passerelle fait face à Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry, ou la plateforme Claude sur AWS ; voir [Formats API](/docs/fr/llm-gateway-protocol#api-formats) |

192 192 

193<h4 id="distribute-through-managed-settings">193<h4 id="distribute-through-managed-settings">

194 Distribuer via les paramètres gérés194 Distribuer par le biais des paramètres gérés

195</h4>195</h4>

196 196 

197Livrez les variables via le bloc `env` d'un [fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), poussé par MDM, politique de registre, ou gestion de configuration :197Livrez les variables par le biais du bloc `env` d'un [fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), poussé par MDM, politique de registre, ou gestion de configuration :

198 198 

199```json theme={null}199```json theme={null}

200{200{


205}205}

206```206```

207 207 

208Ajoutez les variables conditionnelles du tableau au même bloc `env`. Un `ANTHROPIC_BASE_URL` géré est appliqué et ne peut pas être remplacé par l'export shell d'un développeur, puisque Claude Code l'applique sur l'environnement du processus et les paramètres de priorité inférieure.208Ajoutez les variables conditionnelles du tableau au même bloc `env`. Un `ANTHROPIC_BASE_URL` géré est appliqué et ne peut pas être remplacé par une exportation de shell d'un développeur, car Claude Code l'applique sur l'environnement de processus et les paramètres de priorité inférieure.

209 209 

210N'incluez pas `forceLoginMethod` ou `forceLoginOrgUUID` dans les paramètres gérés aux côtés d'un identifiant de passerelle. L'une ou l'autre clé, avec n'importe quelle valeur, bloque `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, et `apiKeyHelper` au démarrage, et les développeurs ne peuvent pas continuer. Ils voient `This machine's managed settings require a first-party login`, ou [`Administrator policy requires a Cloud gateway sign-in`](/docs/fr/errors#administrator-policy-requires-a-cloud-gateway-sign-in) sous une valeur `"gateway"`.210N'incluez pas `forceLoginMethod` ou `forceLoginOrgUUID` dans les paramètres gérés aux côtés d'une credential de passerelle. L'une ou l'autre clé, avec n'importe quelle valeur, bloque `ANTHROPIC_API_KEY`, `ANTHROPIC_AUTH_TOKEN`, et `apiKeyHelper` au démarrage, et les développeurs ne peuvent pas continuer. Ils voient `This machine's managed settings require a first-party login`, ou [`Administrator policy requires a Cloud gateway sign-in`](/docs/fr/errors#administrator-policy-requires-a-cloud-gateway-sign-in) sous une valeur `"gateway"`.

211 211 

212La livraison des [paramètres gérés par le serveur](/docs/fr/server-managed-settings#platform-availability) nécessite une connexion directe à `api.anthropic.com`, elle n'atteint donc pas les sessions routées par passerelle. Les déploiements de passerelle utilisent ce chemin de paramètres gérés basé sur fichier, qui applique les mêmes clés.212La livraison des [paramètres gérés par le serveur](/docs/fr/server-managed-settings#platform-availability) nécessite une connexion directe à `api.anthropic.com`, donc elle n'atteint pas les sessions acheminées par la passerelle. Les déploiements de passerelle utilisent ce chemin de paramètres gérés basé sur fichier, qui applique les mêmes clés.

213 213 

214Pour l'identifiant, distribuez une commande [`apiKeyHelper`](/docs/fr/llm-gateway-connect#rotate-credentials-with-apikeyhelper) dans le fichier de paramètres gérés comme indiqué ci-dessus ; la commande s'authentifie auprès de votre magasin de secrets en tant que développeur local, pour que chaque machine reçoive sa propre clé. Alternativement, livrez à chaque développeur sa clé via votre processus de secrets existant et faites-le définir `ANTHROPIC_AUTH_TOKEN` lui-même.214Pour la credential, distribuez une commande [`apiKeyHelper`](/docs/fr/llm-gateway-connect#rotate-credentials-with-apikeyhelper) dans le fichier de paramètres gérés comme indiqué ci-dessus ; la commande s'authentifie auprès de votre magasin de secrets en tant que développeur local, afin que chaque machine reçoive sa propre clé. Alternativement, livrez à chaque développeur sa clé par le biais de votre processus de secrets existant et demandez-leur de définir `ANTHROPIC_AUTH_TOKEN` eux-mêmes.

215 215 

216Certains environnements ont besoin d'une livraison séparée :216Certains environnements ont besoin d'une livraison séparée :

217 217 

218* L'application de bureau lit le routage de la passerelle à partir de sa configuration d'inférence tierce, pas à partir des paramètres gérés ; déployez ce fichier via MDM aux côtés des paramètres gérés pour que les sessions de bureau routent également via la passerelle. Consultez la [documentation de configuration tierce du bureau](https://claude.com/docs/third-party/claude-desktop/configuration) et la [documentation de passerelle du bureau](https://claude.com/docs/third-party/claude-desktop/gateway)218* L'application de bureau lit l'acheminement de la passerelle à partir de sa configuration d'inférence tierce, pas à partir des paramètres gérés ; déployez ce fichier par le biais de MDM aux côtés des paramètres gérés afin que les sessions de bureau acheminent également par la passerelle. Voir la [documentation de configuration tierce du bureau](https://claude.com/docs/third-party/claude-desktop/configuration) et la [documentation de passerelle du bureau](https://claude.com/docs/third-party/claude-desktop/gateway)

219* Les exécuteurs CI ont besoin de `ANTHROPIC_BASE_URL` et de l'identifiant définis dans l'[environnement de l'exécuteur](/docs/fr/llm-gateway-connect#configure-each-surface)219* Les exécuteurs CI ont besoin de `ANTHROPIC_BASE_URL` et de la credential définis dans l'[environnement de l'exécuteur](/docs/fr/llm-gateway-connect#configure-each-surface)

220* WSL sur les machines Windows gérées lit les paramètres gérés Windows uniquement quand [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings) est `true`220* WSL sur les machines Windows gérées lit les paramètres gérés Windows uniquement quand [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings) est `true`

221 221 

222<h4 id="hand-developers-the-values-to-set-themselves">222<h4 id="hand-developers-the-values-to-set-themselves">

223 Remettre aux développeurs les valeurs à définir eux-mêmes223 Donner aux développeurs les valeurs à définir eux-mêmes

224</h4>224</h4>

225 225 

226Si vous n'avez pas de distribution de paramètres gérés en place, envoyez à chaque développeur ce dont il a besoin pour suivre la [page de connexion](/docs/fr/llm-gateway-connect#configure-claude-code-yourself) :226Si vous n'avez pas de distribution de paramètres gérés en place, envoyez à chaque développeur ce dont il a besoin pour suivre la [page de connexion](/docs/fr/llm-gateway-connect#configure-claude-code-yourself) :

227 227 

228* L'URL de la passerelle228* L'URL de la passerelle

229* Leur identifiant personnel229* Leur credential personnelle

230* **Quelle variable mettre l'identifiant dans** : `ANTHROPIC_AUTH_TOKEN` pour une passerelle bearer-token, ou `ANTHROPIC_API_KEY` pour une passerelle `x-api-key`. Dire aux développeurs lequel économise le procès et erreur décrit sur la [page de connexion](/docs/fr/llm-gateway-connect#set-the-credential-variable)230* **Quelle variable mettre la credential dans** : `ANTHROPIC_AUTH_TOKEN` pour une passerelle de jeton porteur, ou `ANTHROPIC_API_KEY` pour une passerelle `x-api-key`. Dire aux développeurs laquelle leur épargne l'essai-erreur décrit sur la [page de connexion](/docs/fr/llm-gateway-connect#set-the-credential-variable)

231* Toutes les variables conditionnelles du [tableau Ce qu'il faut distribuer](#what-to-distribute), avec leurs valeurs231* Toutes les variables conditionnelles du [tableau Ce qu'il faut distribuer](#what-to-distribute), avec leurs valeurs

232 232 

233La [page de connexion](/docs/fr/llm-gateway-connect#configure-claude-code-yourself) guide les développeurs à travers la définition de chacun.233La [page de connexion](/docs/fr/llm-gateway-connect#configure-claude-code-yourself) guide les développeurs à travers la définition de chacune.

234 234 

235**Point de contrôle** : sur une machine de développeur, `claude` démarre une session sans afficher l'écran de connexion, puisque l'identifiant distribué satisfait l'authentification. Ensuite, exécutez `/status` et ouvrez l'onglet **Status** : la ligne `Anthropic base URL` affiche l'adresse de la passerelle, et pour la distribution gérée la ligne `Setting sources` inclut les paramètres gérés. Un écran de connexion, ou une ligne `Anthropic base URL` manquante, signifie que la configuration n'a pas atteint la machine.235**Point de contrôle** : sur une machine développeur, `claude` démarre une session sans afficher l'écran de connexion, car la credential distribuée satisfait l'authentification. Ensuite, exécutez `/status` et ouvrez l'onglet **Status** : la ligne `Anthropic base URL` affiche l'adresse de la passerelle, et pour la distribution gérée la ligne `Setting sources` inclut les paramètres gérés. Un écran de connexion, ou une ligne `Anthropic base URL` manquante, signifie que la configuration n'a pas atteint la machine.

236 236 

237<h3 id="verify-the-rollout">237<h3 id="verify-the-rollout">

238 Vérifier le déploiement238 Vérifier le déploiement

239</h3>239</h3>

240 240 

241Confirmez que tout fonctionne à partir d'une machine de développeur, pas de l'hôte de la passerelle, pour que le test couvre le chemin réseau que les développeurs utilisent. Envoyez une requête en streaming, qui vérifie le point de terminaison, le passage en streaming, et le routage des modèles à la fois :241Confirmez que tout fonctionne à partir d'une machine développeur, pas de l'hôte de la passerelle, afin que le test couvre le chemin réseau que les développeurs utilisent. Envoyez une demande en streaming, qui vérifie le point de terminaison, le passage en streaming, et l'acheminement du modèle à la fois :

242 242 

243<Tabs>243<Tabs>

244 <Tab title="Bash ou Zsh">244 <Tab title="Bash ou Zsh">


263 </Tab>263 </Tab>

264</Tabs>264</Tabs>

265 265 

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

267 267 

268Ensuite, démarrez `claude` et envoyez un message. Chaque symptôme à cette étape a une cause :268Ensuite, démarrez `claude` et envoyez un message. Chaque symptôme à cette étape a une cause :

269 269 

270* Une invite de connexion signifie un écart d'identifiant. Exécutez `/status` et ouvrez l'onglet **Status** : quand la ligne `Setting sources` n'inclut pas les paramètres gérés, la distribution n'a pas atteint la machine ; quand elle le fait, l'identifiant de développeur n'a pas été livré, donc définissez `ANTHROPIC_AUTH_TOKEN` ou le `apiKeyHelper`270* Une invite de connexion signifie une lacune de credential. Exécutez `/status` et ouvrez l'onglet **Status** : quand la ligne `Setting sources` n'inclut pas les paramètres gérés, la distribution n'a pas atteint la machine ; quand elle le fait, la credential développeur n'a pas été livrée, donc définissez `ANTHROPIC_AUTH_TOKEN` ou le `apiKeyHelper`

271* Les erreurs `Failed to authenticate` signifient que la passerelle rejette les requêtes ; son journal dit quel identifiant a échoué. Un rejet que la passerelle enregistre elle-même nomme la clé de développeur, tandis qu'un `401` de `api.anthropic.com` ou du point de terminaison de votre fournisseur signifie que l'identifiant de fournisseur que la passerelle détient a été rejeté271* Les erreurs `Failed to authenticate` signifient que la passerelle rejette les demandes ; son journal dit quelle credential a échoué. Un rejet que la passerelle enregistre elle-même nomme la clé développeur, tandis qu'un `401` de `api.anthropic.com` ou du point de terminaison de votre fournisseur signifie que la credential du fournisseur que la passerelle détient a été rejetée

272* Une invite d'approbation unique pour la clé est attendue à la première utilisation quand la passerelle s'attend à des clés dans l'en-tête `x-api-key`, défini comme `ANTHROPIC_API_KEY`. Avec `ANTHROPIC_AUTH_TOKEN`, aucune invite n'apparaît et la variable prend le relais silencieusement ; une connexion claude.ai précédemment enregistrée est inactive pour cette session272* Une invite d'approbation unique pour la clé est attendue à la première utilisation quand la passerelle s'attend à des clés dans l'en-tête `x-api-key`, défini comme `ANTHROPIC_API_KEY`. Avec `ANTHROPIC_AUTH_TOKEN`, aucune invite n'apparaît et la variable prend le relais silencieusement ; une connexion claude.ai précédemment enregistrée est inactive pour cette session

273 273 

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

275 275 

276Enfin, vérifiez les journaux de la passerelle pour le message que vous avez envoyé : l'identifiant identifie le développeur, et l'[en-tête `x-claude-code-session-id`](/docs/fr/llm-gateway-protocol#request-headers) groupe les requêtes par session. Si les fonctionnalités échouent avec les [symptômes de dépannage](/docs/fr/llm-gateway-connect#troubleshoot-gateway-errors), la passerelle supprime les en-têtes ou réécrit les erreurs ; consultez les [exigences de la passerelle](#gateway-requirements) ci-dessus.276Enfin, vérifiez les journaux de la passerelle pour le message que vous avez envoyé : la credential identifie le développeur, et l'[en-tête `x-claude-code-session-id`](/docs/fr/llm-gateway-protocol#request-headers) groupe les demandes par session. Si les fonctionnalités échouent avec les [symptômes de dépannage](/docs/fr/llm-gateway-connect#troubleshoot-gateway-errors), la passerelle supprime les en-têtes ou réécrit les erreurs ; voir les [exigences de la passerelle](#gateway-requirements) ci-dessus.

277 277 

278<h2 id="maintain-the-gateway">278<h2 id="maintain-the-gateway">

279 Maintenir la passerelle279 Maintenir la passerelle


282Après le déploiement, trois types de changements atteignent la passerelle au fil du temps. Chacun a un symptôme à surveiller et une action à prendre.282Après le déploiement, trois types de changements atteignent la passerelle au fil du temps. Chacun a un symptôme à surveiller et une action à prendre.

283 283 

284| Changement | Symptôme quand la passerelle n'a pas suivi | Action |284| Changement | Symptôme quand la passerelle n'a pas suivi | Action |

285| :--------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |285| :--------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

286| Les nouvelles versions de Claude Code ajoutent des valeurs `anthropic-beta` et des champs du corps de la requête | Les développeurs signalent des erreurs `400` nommant un nouveau champ après la mise à jour de Claude Code ; consultez [passage des fonctionnalités](/docs/fr/llm-gateway-protocol#feature-pass-through) | Transférez les en-têtes `anthropic-*` et les corps de requête verbatim plutôt que de faire une liste blanche ; testez les nouvelles versions de Claude Code contre la passerelle avant qu'elles n'atteignent les développeurs |286| Les nouvelles versions de Claude Code ajoutent des valeurs `anthropic-beta` et des champs du corps de la requête | Les développeurs signalent des erreurs `400` nommant un nouveau champ après la mise à jour de Claude Code ; consultez [passage des fonctionnalités](/docs/fr/llm-gateway-protocol#feature-pass-through) | Transférez les en-têtes `anthropic-*` et les corps de requête verbatim plutôt que de faire une liste blanche ; testez les nouvelles versions de Claude Code contre la passerelle avant qu'elles n'atteignent les développeurs, en vérifiant les domaines dans [Planifier les mises à niveau de version de Claude Code](#plan-claude-code-version-upgrades) |

287| De nouveaux modèles Claude deviennent disponibles | Les développeurs sélectionnant un nouveau nom de modèle obtiennent `404` ; le sélecteur `/model` ne le liste pas | Ajoutez le nom du modèle à la configuration de routage de la passerelle, puis réexécutez la [vérification du routage](#confirm-the-gateway-routes-your-models). Si vous distribuez `ANTHROPIC_MODEL` ou les variables de modèle par défaut, mettez à jour les paramètres gérés |287| De nouveaux modèles Claude deviennent disponibles | Les développeurs sélectionnant un nouveau nom de modèle obtiennent `404` ; le sélecteur `/model` ne le liste pas | Ajoutez le nom du modèle à la configuration de routage de la passerelle, puis réexécutez la [vérification du routage](#confirm-the-gateway-routes-your-models). Si vous distribuez `ANTHROPIC_MODEL` ou les variables de modèle par défaut, mettez à jour les paramètres gérés |

288| Les identifiants expirent ou ont besoin d'une rotation | Toutes les requêtes des développeurs commencent à échouer avec `401` de l'amont | Faites tourner l'identifiant de fournisseur de la passerelle selon son propre calendrier ; les clés de développeur tournent à la passerelle, et un [`apiKeyHelper`](/docs/fr/llm-gateway-connect#rotate-credentials-with-apikeyhelper) gère la rotation par développeur sans redistribuer les paramètres |288| Les identifiants expirent ou ont besoin d'une rotation | Toutes les requêtes des développeurs commencent à échouer avec `401` de l'amont | Faites tourner l'identifiant de fournisseur de la passerelle selon son propre calendrier ; les clés de développeur tournent à la passerelle, et un [`apiKeyHelper`](/docs/fr/llm-gateway-connect#rotate-credentials-with-apikeyhelper) gère la rotation par développeur sans redistribuer les paramètres |

289 289 

290Lors du dimensionnement des limites de débit par clé, tenez compte du client [réessayant les défaillances transitoires](/docs/fr/errors#automatic-retries), y compris les réponses `429`, jusqu'à 10 fois avec backoff, en respectant `Retry-After`. Gardez la [guide de compatibilité](/docs/fr/llm-gateway-protocol) comme référence pour ce que chaque version de Claude Code envoie.290Lors du dimensionnement des limites de débit par clé, tenez compte du client [réessayant les défaillances transitoires](/docs/fr/errors#automatic-retries), y compris les réponses `429`, jusqu'à 10 fois avec backoff, en respectant `Retry-After`. Gardez la [guide de compatibilité](/docs/fr/llm-gateway-protocol) comme référence pour ce que chaque version de Claude Code envoie.

291 291 

292<h3 id="plan-claude-code-version-upgrades">

293 Planifier les mises à niveau de version de Claude Code

294</h3>

295 

296Certains comportements de Claude Code sont intégrés à la version installée plutôt que définis à votre passerelle, donc déplacer les développeurs vers une nouvelle version peut modifier le comportement dans tout votre déploiement même quand la configuration de la passerelle n'a pas changé. Pour contrôler quand cela se produit, épinglez les développeurs à une version testée avec [`requiredMaximumVersion`](/docs/fr/settings-reference#requiredmaximumversion), ou avec [`DISABLE_UPDATES`](/docs/fr/setup#disable-auto-updates) si vous distribuez Claude Code via votre propre canal. Avant de relever l'épingle, lisez l'entrée du [changelog](/docs/en/changelog) de la nouvelle version et [testez-la contre la passerelle](#test-claude-code-against-the-gateway).

297 

298Quand vous testez une version, les nouveaux en-têtes ou champs de requête que la passerelle rejette apparaissent comme les erreurs `400` décrites dans [Maintenir la passerelle](#maintain-the-gateway). Le tableau ci-dessous couvre les changements dépendants de la version qui ne produisent pas d'erreur, avec le paramètre qui garde chacun constant lors des mises à niveau.

299 

300| Domaine | Ce qui peut changer quand les développeurs mettent à niveau | Paramètre qui le garde constant |

301| :------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

302| Valeurs par défaut des drapeaux de fonctionnalité | Les sessions qui [ne récupèrent pas les drapeaux de fonctionnalité auprès d'Anthropic](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme les sessions sur un fournisseur cloud ou avec la télémétrie désactivée, utilisent les valeurs par défaut des drapeaux intégrées à la version installée. Quand une version change l'une de ces valeurs par défaut, le comportement change pour ces développeurs dès qu'ils mettent à niveau | L'épingle de version elle-même, `requiredMaximumVersion` ou `DISABLE_UPDATES` |

303| Hypothèses de capacité du modèle | Un ID de modèle que la version installée ne reconnaît pas, comme l'alias de passerelle `prod-opus`, s'exécute sur les hypothèses par défaut pour [le raisonnement adaptatif](/docs/fr/model-config#adaptive-reasoning-and-fixed-thinking-budgets), le paramètre d'effort, et la [fenêtre de contexte](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) jusqu'à ce qu'une version ultérieure reconnaisse l'ID ou que vous le mappiez | Routez les ID de modèle Anthropic à la passerelle, ou ajoutez une entrée [`modelOverrides`](/docs/fr/model-config#override-model-ids-per-version) qui mappe l'ID de modèle Anthropic à votre alias. Sur une connexion de fournisseur cloud, vous pouvez à la place [déclarer les capacités d'un modèle épinglé](/docs/fr/model-config#customize-pinned-model-display-and-capabilities) |

304| Modèle par défaut et alias | Le modèle sur lequel les nouvelles sessions commencent par défaut, et les modèles que les alias tels que `opus` et `sonnet` résolvent, sont [intégrés à chaque version](/docs/fr/model-config#pin-models-for-third-party-deployments) et peuvent changer quand les développeurs mettent à niveau | [`ANTHROPIC_DEFAULT_MODEL`](/docs/fr/model-config#set-a-default-model-for-new-sessions) pour le modèle sur lequel les nouvelles sessions commencent, et les [variables `ANTHROPIC_DEFAULT_*_MODEL`](/docs/fr/model-config#environment-variables), comme `ANTHROPIC_DEFAULT_OPUS_MODEL`, pour ce que chaque alias résout. `ANTHROPIC_DEFAULT_MODEL` nécessite Claude Code v2.1.236 ou ultérieur |

305 

292<h2 id="related-resources">306<h2 id="related-resources">

293 Ressources connexes307 Ressources connexes

294</h2>308</h2>

managed-mcp.md +26 −12

Details

48 Contrôle exclusif avec managed-mcp.json48 Contrôle exclusif avec managed-mcp.json

49</h2>49</h2>

50 50 

51Si vous déployez un fichier `managed-mcp.json`, Claude Code charge uniquement les serveurs que ce fichier définit, les serveurs que vous [fournissez via `managedMcpServers`](#provide-servers-through-managed-settings), plus tous les serveurs en processus que l'application qui a démarré la session enregistre, comme le serveur propre de l'extension VS Code ou les [connecteurs que l'application de bureau fournit](/docs/fr/mcp#how-connectors-reach-claude-code). Les utilisateurs ne peuvent pas ajouter, modifier ou utiliser d'autres serveurs MCP, y compris les serveurs fournis par les plugins et les serveurs transmis avec le [drapeau CLI `--mcp-config`](/docs/fr/cli-reference#cli-flags). Le fichier supprime également les connecteurs claude.ai que Claude Code récupère lui-même, sauf si vous [les autorisez aux côtés de l'ensemble géré](#allow-claude-ai-connectors-alongside-the-managed-set).51Lorsque vous déployez un fichier `managed-mcp.json`, Claude Code charge uniquement ces serveurs MCP :

52 

53* Les serveurs que le fichier définit

54* Les serveurs que vous [fournissez via `managedMcpServers`](#provide-servers-through-managed-settings)

55* Les serveurs en processus que l'application qui a démarré la session enregistre, comme le serveur propre de l'extension VS Code ou les [connecteurs que l'application de bureau fournit](/docs/fr/mcp#how-connectors-reach-claude-code)

56 

57Les utilisateurs ne peuvent pas ajouter, modifier ou utiliser d'autres serveurs MCP, y compris les serveurs fournis par les plugins et les serveurs transmis avec le [drapeau CLI `--mcp-config`](/docs/fr/cli-reference#cli-flags). Le fichier supprime également les connecteurs claude.ai que Claude Code récupère lui-même, sauf si vous [les autorisez aux côtés de l'ensemble géré](#allow-claude-ai-connectors-alongside-the-managed-set).

52 58 

53<h3 id="deploy-managed-mcp-json">59<h3 id="deploy-managed-mcp-json">

54 Déployer managed-mcp.json60 Déployer managed-mcp.json


103 Serveurs transmis avec `--mcp-config` ou `--strict-mcp-config`109 Serveurs transmis avec `--mcp-config` ou `--strict-mcp-config`

104</h3>110</h3>

105 111 

106Lorsqu'une session reçoit des serveurs via `--mcp-config` tandis que `managed-mcp.json` est déployé, ce que l'utilisateur voit diffère entre une station de travail et une session cloud :112Lorsqu'une session reçoit des serveurs via `--mcp-config` tandis qu'un `managed-mcp.json` que Claude Code peut lire et analyser est déployé, ce que l'utilisateur voit diffère entre une station de travail et une session cloud :

107 113 

108* Sur une station de travail, Claude Code se ferme au démarrage avec `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.114* Sur une station de travail, Claude Code se ferme au démarrage avec `You cannot dynamically configure MCP servers when an enterprise MCP config is present`.

109* Dans les [sessions cloud](/docs/fr/claude-code-on-the-web) sur un hôte où le fichier est déployé, comme un [exécuteur auto-hébergé](/docs/fr/self-hosted-environments-configuration#mcp-servers), Claude Code démarre avec les serveurs gérés uniquement et ignore les connecteurs claude.ai et les autres serveurs que l'hôte cloud fournit via `--mcp-config`. Rien dans la session n'indique à l'utilisateur quels serveurs ont été omis. Claude Code les nomme dans un avertissement sur son stderr, qu'un exécuteur auto-hébergé enregistre au niveau de journal `debug`.115* Dans les [sessions cloud](/docs/fr/claude-code-on-the-web) sur un hôte où le fichier est déployé, comme un [exécuteur auto-hébergé](/docs/fr/self-hosted-environments-configuration#mcp-servers), Claude Code démarre avec les serveurs gérés uniquement et ignore les connecteurs claude.ai et les autres serveurs que l'hôte cloud fournit via `--mcp-config`. Rien dans la session n'indique à l'utilisateur quels serveurs ont été omis. Claude Code les nomme dans un avertissement sur son stderr, qu'un exécuteur auto-hébergé enregistre au niveau de journal `debug`.

110 116 

111Si un utilisateur transmet `--strict-mcp-config`, Claude Code se ferme au démarrage sur une station de travail et dans une session cloud, car ce drapeau demande de remplacer l'ensemble géré.117Le drapeau `--strict-mcp-config` demande de remplacer l'ensemble géré. Si un utilisateur le transmet tandis qu'un tel fichier est déployé, Claude Code se ferme au démarrage sur une station de travail et dans une session cloud.

112 118 

113<h3 id="how-allowlists-and-denylists-apply-to-the-managed-set">119<h3 id="how-allowlists-and-denylists-apply-to-the-managed-set">

114 Comment les listes blanches et les listes noires s'appliquent à l'ensemble géré120 Comment les listes blanches et les listes noires s'appliquent à l'ensemble géré


129 135 

130Pour confirmer que le fichier est en vigueur, exécutez deux vérifications sur une machine gérée :136Pour confirmer que le fichier est en vigueur, exécutez deux vérifications sur une machine gérée :

131 137 

1321. `claude mcp list` affiche uniquement les serveurs dans `managed-mcp.json`, plus tous ceux que vous fournissez via `managedMcpServers`. Si les propres serveurs d'un utilisateur apparaissent toujours, le fichier n'est pas lu ; vérifiez le chemin et les permissions.1381. `claude mcp list` affiche uniquement les serveurs dans `managed-mcp.json`, plus tous ceux que vous fournissez via `managedMcpServers`. Deux autres résultats signifient que quelque chose ne va pas :

139 * Si les propres serveurs d'un utilisateur apparaissent toujours, Claude Code ne lit pas le fichier, donc vérifiez son chemin et les permissions sur ses répertoires parents.

140 * Si les serveurs du fichier n'apparaissent pas et que la section `MCP config diagnostics` marque la configuration d'entreprise comme échouée à l'analyse, Claude Code ne peut pas lire ou analyser le fichier. Corrigez l'erreur que cette section nomme, puis demandez à l'utilisateur de redémarrer Claude Code.

1332. `claude mcp add --transport http test https://example.com/mcp` échoue avec `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers`. L'URL n'a pas besoin d'être un serveur réel, car la vérification de la politique rejette la commande avant que quoi que ce soit ne soit contacté.1412. `claude mcp add --transport http test https://example.com/mcp` échoue avec `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers`. L'URL n'a pas besoin d'être un serveur réel, car la vérification de la politique rejette la commande avant que quoi que ce soit ne soit contacté.

134 142 

135<h3 id="disable-mcp-entirely">143<h3 id="disable-mcp-entirely">


267 275 

268Pour déployer des serveurs aux utilisateurs, utilisez [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json) ou [`managedMcpServers`](#provide-servers-through-managed-settings). Les deux listes filtrent également les serveurs transmis avec l'indicateur CLI [`--mcp-config`](/docs/fr/cli-reference#cli-flags), sauf pour les entrées `type: "sdk"` en processus ; `--strict-mcp-config` limite les fichiers de configuration qui se chargent et ne contourne aucune des deux listes.276Pour déployer des serveurs aux utilisateurs, utilisez [`managed-mcp.json`](#exclusive-control-with-managed-mcp-json) ou [`managedMcpServers`](#provide-servers-through-managed-settings). Les deux listes filtrent également les serveurs transmis avec l'indicateur CLI [`--mcp-config`](/docs/fr/cli-reference#cli-flags), sauf pour les entrées `type: "sdk"` en processus ; `--strict-mcp-config` limite les fichiers de configuration qui se chargent et ne contourne aucune des deux listes.

269 277 

270Pour rendre la liste blanche faisant autorité, définissez `allowedMcpServers` et `allowManagedMcpServersOnly: true` ensemble dans une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices), comme les paramètres gérés par le serveur ou un fichier `managed-settings.json` déployé. [Restreindre la liste blanche aux paramètres gérés uniquement](#restrict-the-allowlist-to-managed-settings-only) montre la configuration. Sans `allowManagedMcpServersOnly`, les listes blanches de chaque portée de paramètres fusionnent, y compris le propre `~/.claude/settings.json` d'un utilisateur, donc un utilisateur peut élargir ce que votre liste blanche permet. Les listes noires fusionnent de chaque portée indépendamment.278Pour rendre la liste blanche faisant autorité, définissez `allowedMcpServers` et `allowManagedMcpServersOnly: true` ensemble dans une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices), comme les paramètres gérés par le serveur ou un fichier `managed-settings.json` déployé.

279 

280Le verrou s'applique à partir de chaque source gérée contrôlée par l'administrateur, donc un verrouillage dans un fichier déployé s'applique toujours quand les paramètres gérés par le serveur qui ne mentionnent pas MCP sont également en cours d'utilisation. Pendant que le verrou est activé, la liste blanche gérée provient de la source d'administrateur la mieux classée qui en définit une. La lecture du verrou et de la liste blanche entre les sources nécessite Claude Code v2.1.273 ou ultérieur.

281 

282[Restreindre la liste blanche aux paramètres gérés uniquement](#restrict-the-allowlist-to-managed-settings-only) montre la configuration.

283 

284Sans `allowManagedMcpServersOnly`, les listes blanches de chaque portée de paramètres fusionnent, y compris le propre `~/.claude/settings.json` d'un utilisateur, donc un utilisateur peut élargir ce que votre liste blanche permet. Les listes noires fusionnent de chaque portée indépendamment.

271 285 

272<Note>286<Note>

273 `allowManagedMcpServersOnly` est distinct de `allowManagedPermissionRulesOnly`, qui verrouille uniquement les [règles de permission](/docs/fr/permissions#managed-settings). La définition de cet indicateur n'applique pas la liste blanche MCP.287 `allowManagedMcpServersOnly` est distinct de `allowManagedPermissionRulesOnly`, qui verrouille uniquement les [règles de permission](/docs/fr/permissions#managed-settings). La définition de cet indicateur n'applique pas la liste blanche MCP.


300 314 

301La validation `serverName` diffère entre les deux listes :315La validation `serverName` diffère entre les deux listes :

302 316 

303* Dans `deniedMcpServers`, `serverName` accepte n'importe quelle chaîne non vide, vous pouvez donc bloquer les [connecteurs claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) par leur nom d'affichage. Par exemple, `{ "serverName": "claude.ai Slack" }` bloque le connecteur Slack. Préférez une entrée `serverUrl` quand vous avez besoin que le refus soit robuste aux renommages, ou quand un nom de connecteur entre en collision et gagne un suffixe ` (N)`.317* Dans `deniedMcpServers`, `serverName` accepte n'importe quelle chaîne non vide sans espaces de début ou de fin, vous pouvez donc bloquer les [connecteurs claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) par leur nom d'affichage. Par exemple, `{ "serverName": "claude.ai Slack" }` bloque le connecteur Slack. Préférez une entrée `serverUrl` quand vous avez besoin que le refus soit robuste aux renommages, ou quand un nom de connecteur entre en collision et gagne un suffixe ` (N)`.

304* Dans `allowedMcpServers`, `serverName` est limité aux lettres, chiffres, traits d'union et traits de soulignement. Utilisez `serverUrl` pour ajouter à la liste blanche un connecteur claude.ai que Claude Code récupère lui-même ; pour les connecteurs qu'un hôte cloud fournit aux sessions auto-hébergées, utilisez plutôt les entrées listées sous [Le trafic des connecteurs quitte votre réseau](/docs/fr/self-hosted-environments-deploy#connector-traffic-leaves-your-network).318* Dans `allowedMcpServers`, `serverName` est limité aux lettres, chiffres, traits d'union et traits de soulignement. Utilisez `serverUrl` pour ajouter à la liste blanche un connecteur claude.ai que Claude Code récupère lui-même ; pour les connecteurs qu'un hôte cloud fournit aux sessions auto-hébergées, utilisez plutôt les entrées listées sous [Le trafic des connecteurs quitte votre réseau](/docs/fr/self-hosted-environments-deploy#connector-traffic-leaves-your-network).

305 319 

306Pour désactiver tous les connecteurs claude.ai que Claude Code récupère lui-même, voir [`disableClaudeAiConnectors`](/docs/fr/mcp#disable-claude-ai-connectors).320Pour désactiver tous les connecteurs claude.ai que Claude Code récupère lui-même, voir [`disableClaudeAiConnectors`](/docs/fr/mcp#disable-claude-ai-connectors).


311 325 

312Avant de charger un serveur, y compris un serveur de `managed-mcp.json`, Claude Code exécute les trois vérifications ci-dessous dans l'ordre. Il les exécute à nouveau quand un utilisateur reconnecte un serveur ou réactive un serveur désactivé dans `/mcp`. Les serveurs `type: "sdk"` en processus, que [l'application qui a démarré la session enregistre](/docs/fr/mcp#how-connectors-reach-claude-code), ignorent les trois.326Avant de charger un serveur, y compris un serveur de `managed-mcp.json`, Claude Code exécute les trois vérifications ci-dessous dans l'ordre. Il les exécute à nouveau quand un utilisateur reconnecte un serveur ou réactive un serveur désactivé dans `/mcp`. Les serveurs `type: "sdk"` en processus, que [l'application qui a démarré la session enregistre](/docs/fr/mcp#how-connectors-reach-claude-code), ignorent les trois.

313 327 

3141. **Fusionner les listes.** Les entrées de liste blanche et de liste noire de chaque portée de paramètres se combinent en une liste blanche et une liste noire, les listes de la portée gérée provenant de la [source ou des sources gérées que Claude Code applique](/docs/fr/managed-settings#how-claude-code-combines-managed-sources). Quand `allowManagedMcpServersOnly` est `true`, seule la liste blanche gérée est conservée ; la liste noire fusionne toujours de chaque portée.3281. **Fusionner les listes.** Les entrées de liste blanche et de liste noire de chaque portée de paramètres se combinent en une liste blanche et une liste noire. Quand `allowManagedMcpServersOnly` est `true`, seule la liste blanche gérée est conservée ; la liste noire fusionne toujours de chaque portée. Quand plus d'une source gérée est présente, [Les clés lues à partir de chaque source d'administrateur](/docs/fr/managed-settings#keys-read-from-every-admin-source) indique lesquelles d'entre elles fournissent les listes de la portée gérée.

3152. **Vérifier la liste noire.** Un serveur qui correspond à n'importe quelle entrée de liste noire, par URL, commande ou nom, est bloqué. Rien ne remplace une correspondance de liste noire.3292. **Vérifier la liste noire.** Un serveur qui correspond à n'importe quelle entrée de liste noire, par URL, commande ou nom, est bloqué. Rien ne remplace une correspondance de liste noire.

3163. **Vérifier la liste blanche.** Si `allowedMcpServers` n'est défini nulle part, tous les serveurs qui ont réussi la liste noire se chargent. S'il est défini, ce que le serveur doit correspondre dépend de son type, montré dans le tableau ci-dessous.3303. **Vérifier la liste blanche.** Si `allowedMcpServers` n'est défini nulle part, tous les serveurs qui ont réussi la liste noire se chargent. S'il est défini, ce que le serveur doit correspondre dépend de son type, montré dans le tableau ci-dessous.

317 331 


503| Le serveur est sur une liste de blocage et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |517| Le serveur est sur une liste de blocage et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

504| Le serveur n'est pas sur la liste d'autorisation et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |518| Le serveur n'est pas sur la liste d'autorisation et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |

505| L'utilisateur exécute `claude mcp remove` sur un serveur de `managedMcpServers` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |519| L'utilisateur exécute `claude mcp remove` sur un serveur de `managedMcpServers` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |

506| Un serveur précédemment configuré est maintenant bloqué par la politique | Le serveur disparaît silencieusement de `/mcp` et `claude mcp list` sans avertissement |520| Un serveur précédemment configuré est maintenant bloqué par la politique | Le serveur disparaît de `/mcp` et `claude mcp list` |

507| Un serveur est bloqué pendant qu'une session est en cours d'exécution, et l'utilisateur sélectionne **Reconnect** ou l'active à nouveau dans `/mcp` | [`MCP server <name> is blocked by enterprise managed policy`](/docs/fr/errors#mcp-server-is-blocked-by-enterprise-managed-policy) |521| Un serveur est bloqué pendant qu'une session est en cours d'exécution, et l'utilisateur sélectionne **Reconnect** ou l'active à nouveau dans `/mcp` | [`MCP server <name> is blocked by enterprise managed policy`](/docs/fr/errors#mcp-server-is-blocked-by-enterprise-managed-policy) |

508 522 

509Quand un serveur disparaît silencieusement, l'utilisateur ne reçoit aucun signal indiquant que la politique en est la raison, alors informez les utilisateurs affectés des serveurs bloqués quand vous déployez une nouvelle restriction.523Quand un serveur disparaît silencieusement, l'utilisateur ne reçoit aucun signal indiquant que la politique en est la raison, alors informez les utilisateurs affectés des serveurs bloqués quand vous déployez une nouvelle restriction.


521Chaque fichier et paramètre couvert par cette page, ce qu'il contrôle et comment le livrer :535Chaque fichier et paramètre couvert par cette page, ce qu'il contrôle et comment le livrer :

522 536 

523| Surface | Ce qu'il contrôle | Où il se trouve | Comment le livrer |537| Surface | Ce qu'il contrôle | Où il se trouve | Comment le livrer |

524| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |538| :--------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

525| `managed-mcp.json` | Ensemble de serveurs fixe, contrôle exclusif | Chemin système : `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, ou `C:\Program Files\ClaudeCode\` | MDM, GPO, gestion de flotte, ou tout processus disposant de privilèges administrateur. Ne peut pas être défini via les paramètres gérés par le serveur |539| `managed-mcp.json` | Ensemble de serveurs fixe, contrôle exclusif | Chemin système : `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, ou `C:\Program Files\ClaudeCode\` | MDM, GPO, gestion de flotte, ou tout processus disposant de privilèges administrateur. Ne peut pas être défini via les paramètres gérés par le serveur |

526| `managedMcpServers` | Serveurs distants fournis à chaque utilisateur aux côtés des leurs | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, une politique de passerelle, `managed-settings.json`, profil MDM, ou registre HKLM |540| `managedMcpServers` | Serveurs distants fournis à chaque utilisateur aux côtés des leurs | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, une politique de passerelle, `managed-settings.json`, profil MDM, ou registre HKLM |

527| `allowedMcpServers` | Liste d'autorisation des serveurs autorisés | N'importe quel [scope de paramètres](/docs/fr/settings#where-settings-live) ; Claude Code fusionne les listes de chaque scope sauf si `allowManagedMcpServersOnly` est défini, et prend la liste du scope géré à partir de la [source gérée qu'il sélectionne](/docs/fr/managed-settings#precedence-within-the-managed-tier) ou [compose](/docs/fr/managed-settings#compose-every-managed-source) | Pour l'application, une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, `managed-settings.json`, profil MDM, ou registre |541| `allowedMcpServers` | Liste d'autorisation des serveurs autorisés | N'importe quel [scope de paramètres](/docs/fr/settings#where-settings-live) ; [Comment un serveur est évalué](#how-a-server-is-evaluated) indique comment les listes de plusieurs scopes et sources gérées se combinent | Pour l'application, une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, `managed-settings.json`, profil MDM, ou registre |

528| `deniedMcpServers` | Liste de refus des serveurs bloqués | N'importe quel scope de paramètres ; Claude Code fusionne les listes de chaque scope, et entre les sources gérées comme [la façon dont Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) le décrit | Identique à `allowedMcpServers` |542| `deniedMcpServers` | Liste de refus des serveurs bloqués | N'importe quel scope de paramètres ; [Comment un serveur est évalué](#how-a-server-is-evaluated) indique comment les listes de plusieurs scopes et sources gérées se combinent | Identique à `allowedMcpServers` |

529| `allowManagedMcpServersOnly` | Verrouille la liste d'autorisation aux sources gérées uniquement | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Identique à `allowedMcpServers` |543| `allowManagedMcpServersOnly` | Verrouille la liste d'autorisation aux sources gérées uniquement | Sources de paramètres gérés uniquement ; [Clés lues à partir de chaque source admin](/docs/fr/managed-settings#keys-read-from-every-admin-source) indique quelles sources gérées peuvent l'activer. Le paramètre n'a aucun effet dans les autres scopes | Identique à `allowedMcpServers` |

530| `allowAllClaudeAiMcps` | Charge les connecteurs claude.ai que Claude Code récupère lui-même aux côtés de `managed-mcp.json`. [Un `managed-mcp.json` sur l'hôte qui exécute une session cloud supprime toujours les connecteurs de cette session](#allow-claude-ai-connectors-alongside-the-managed-set) | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Identique à `allowedMcpServers` |544| `allowAllClaudeAiMcps` | Charge les connecteurs claude.ai que Claude Code récupère lui-même aux côtés de `managed-mcp.json`. [Un `managed-mcp.json` sur l'hôte qui exécute une session cloud supprime toujours les connecteurs de cette session](#allow-claude-ai-connectors-alongside-the-managed-set) | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Identique à `allowedMcpServers` |

531 545 

532<h2 id="related-resources">546<h2 id="related-resources">

Details

60Le fichier dans les étapes ci-dessus est l'un des quatre moyens de mettre les paramètres gérés sur une machine. Chaque mécanisme porte les mêmes clés de politique qu'un fichier `settings.json`, donc la [référence des paramètres](/docs/fr/settings-reference) s'applique à tous. Quelques clés sont liées à des sources particulières, et la ligne Scope de chaque entrée indique lesquelles :60Le fichier dans les étapes ci-dessus est l'un des quatre moyens de mettre les paramètres gérés sur une machine. Chaque mécanisme porte les mêmes clés de politique qu'un fichier `settings.json`, donc la [référence des paramètres](/docs/fr/settings-reference) s'applique à tous. Quelques clés sont liées à des sources particulières, et la ligne Scope de chaque entrée indique lesquelles :

61 61 

62* **Contrôles de livraison** : [`policyHelper`](/docs/fr/settings-reference#policyhelper), [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings), et [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior)62* **Contrôles de livraison** : [`policyHelper`](/docs/fr/settings-reference#policyhelper), [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings), et [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior)

63* **Clés de connexion à la passerelle** : [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl) et la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod)63* **Clés de connexion à la passerelle** : [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/fr/settings-reference#gatewayinternalnetworks), et la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod)

64 64 

65Un fichier de paramètres gérés, un profil MDM, ou la console claude.ai applique une politique à tous ceux qu'il atteint. Pour donner à un groupe de développeurs une politique différente, déployez un fichier ou un profil différent à ce groupe ; la console claude.ai [ne peut pas encore cibler un groupe](/docs/fr/server-managed-settings#current-limitations), tandis qu'une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) auto-hébergée livre les paramètres gérés par groupe IdP.65Un fichier de paramètres gérés, un profil MDM, ou la console claude.ai applique une politique à tous ceux qu'il atteint. Pour donner à un groupe de développeurs une politique différente, déployez un fichier ou un profil différent à ce groupe ; la console claude.ai [ne peut pas encore cibler un groupe](/docs/fr/server-managed-settings#current-limitations), tandis qu'une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) auto-hébergée livre les paramètres gérés par groupe IdP.

66 66 


176 176 

177* `sandbox.network.allowManagedDomainsOnly` et `sandbox.filesystem.allowManagedReadPathsOnly` : un `true` dans n'importe quelle source d'administration active le verrou. Pendant qu'un verrou est actif, Claude Code unit la liste d'autorisation qu'il verrouille, `sandbox.network.allowedDomains` ensemble avec les règles d'autorisation `WebFetch(domain:...)`, ou `sandbox.filesystem.allowRead`, de chaque source d'administration. Sans le verrou, Claude Code traite la liste d'autorisation comme n'importe quelle autre clé, donc sous `"first-wins"` la liste d'autorisation d'une source d'administration non sélectionnée est ignorée177* `sandbox.network.allowManagedDomainsOnly` et `sandbox.filesystem.allowManagedReadPathsOnly` : un `true` dans n'importe quelle source d'administration active le verrou. Pendant qu'un verrou est actif, Claude Code unit la liste d'autorisation qu'il verrouille, `sandbox.network.allowedDomains` ensemble avec les règles d'autorisation `WebFetch(domain:...)`, ou `sandbox.filesystem.allowRead`, de chaque source d'administration. Sans le verrou, Claude Code traite la liste d'autorisation comme n'importe quelle autre clé, donc sous `"first-wins"` la liste d'autorisation d'une source d'administration non sélectionnée est ignorée

178* `allowAllClaudeAiMcps`178* `allowAllClaudeAiMcps`

179* `allowManagedMcpServersOnly` : un `true` dans n'importe quelle source d'administration active le verrou de liste d'autorisation MCP. Pendant que le verrou est actif, la liste `allowedMcpServers` gérée provient de la source d'administration la mieux classée qui en définit une. Une liste gérée par le serveur remplace la liste d'une source inférieure plutôt que de se combiner avec elle.

180 

181 Si aucune source d'administration ne définit une liste, chaque serveur qui passe la liste de refus se charge, à moins que les [paramètres parent](#let-an-embedding-host-add-policy) ne fournissent une liste.

182 

183 Sans le verrou, Claude Code lit `allowedMcpServers` de la source gérée qu'il applique, donc sous `"first-wins"` la liste d'une source d'administration non sélectionnée est ignorée. Nécessite Claude Code v2.1.273 ou ultérieur

184* `deniedMcpServers` et [`disableClaudeAiConnectors`](/docs/fr/settings-reference#disableclaudeaiconnectors) : une entrée ou un `true` dans n'importe quelle source d'administration s'applique. Nécessite Claude Code v2.1.273 ou ultérieur

179* Les chemins binaires sandbox `sandbox.bwrapPath` et `sandbox.socatPath`185* Les chemins binaires sandbox `sandbox.bwrapPath` et `sandbox.socatPath`

180* Le binaire sandbox `ripgrep`, [`sandbox.ripgrep`](/docs/fr/settings-reference#sandbox-ripgrep)186* Le binaire sandbox `ripgrep`, [`sandbox.ripgrep`](/docs/fr/settings-reference#sandbox-ripgrep)

181* `sandbox.filesystem.disabled` et `sandbox.network.strictAllowlist`187* `sandbox.filesystem.disabled` et `sandbox.network.strictAllowlist`

182* [`useAutoModeDuringPlan`](/docs/fr/settings-reference#useautomodeduringplan) et [`syncClaudeAiSkills`](/docs/fr/settings-reference#syncclaudeaiskills), où un `false` de n'importe quelle source d'administration désactive le comportement. Un `false` dans les paramètres utilisateur ou local du développeur le désactive également ; chaque clé ne peut que refuser188* [`useAutoModeDuringPlan`](/docs/fr/settings-reference#useautomodeduringplan), [`syncClaudeAiSkills`](/docs/fr/settings-reference#syncclaudeaiskills), et [`syncClaudeAiPlugins`](/docs/fr/settings-reference#syncclaudeaiplugins), où un `false` de n'importe quelle source d'administration désactive le comportement. Un `false` dans les paramètres utilisateur ou local du développeur le désactive également ; chaque clé ne peut que refuser

183* [`enableArtifact`](/docs/fr/settings-reference#enableartifact), où un `false` de n'importe quelle source d'administration désactive l'[outil Artifact](/docs/fr/artifacts). Un `false` dans les paramètres utilisateur, projet ou local du développeur le désactive également, et aucune source ne le réactive ; consultez [quelles valeurs de niveau inférieur comptent toujours](/docs/fr/settings#exceptions-to-managed-settings-precedence). Nécessite Claude Code v2.1.242 ou ultérieur189* [`enableArtifact`](/docs/fr/settings-reference#enableartifact), où un `false` de n'importe quelle source d'administration désactive l'[outil Artifact](/docs/fr/artifacts). Un `false` dans les paramètres utilisateur, projet ou local du développeur le désactive également, et aucune source ne le réactive ; consultez [quelles valeurs de niveau inférieur comptent toujours](/docs/fr/settings#exceptions-to-managed-settings-precedence). Nécessite Claude Code v2.1.242 ou ultérieur

184* [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel), où le plafond le plus bas dans n'importe quelle source d'administration s'applique. Si un développeur définit un plafond plus bas dans ses propres paramètres ou avec `--settings`, Claude Code applique celui-ci ; aucune source ne peut augmenter le plafond. Nécessite Claude Code v2.1.267 ou ultérieur190* [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel), où le plafond le plus bas dans n'importe quelle source d'administration s'applique. Si un développeur définit un plafond plus bas dans ses propres paramètres ou avec `--settings`, Claude Code applique celui-ci ; aucune source ne peut augmenter le plafond. Nécessite Claude Code v2.1.267 ou ultérieur

185* Une opt-out de commit-trailer dans `attribution`, ou dans le `includeCoAuthoredBy` déprécié, de n'importe quel niveau191* Une opt-out de commit-trailer dans `attribution`, ou dans le `includeCoAuthoredBy` déprécié, de n'importe quel niveau

186* [`forceRemoteSettingsRefresh`](/docs/fr/server-managed-settings)192* [`forceRemoteSettingsRefresh`](/docs/fr/server-managed-settings)

187* `env`, fusionné par variable de chaque source d'administration : chaque variable provient de la source de priorité la plus élevée qui la définit, donc les sources inférieures remplissent les variables que les sources supérieures laissent non définies. Quelques variables suivent leurs propres règles ; [Exceptions par clé de chaque source gérée](/docs/fr/server-managed-settings#per-key-exceptions-across-managed-sources) nomme chacune. Nécessite Claude Code v2.1.223 ou ultérieur. Avant v2.1.223, Claude Code appliquait uniquement le bloc `env` entier de la source sélectionnée193* `env`, fusionné par variable de chaque source d'administration : chaque variable provient de la source de priorité la plus élevée qui la définit, donc les sources inférieures remplissent les variables que les sources supérieures laissent non définies. Quelques variables suivent leurs propres règles ; [Exceptions par clé de chaque source gérée](/docs/fr/server-managed-settings#per-key-exceptions-across-managed-sources) nomme chacune. Nécessite Claude Code v2.1.223 ou ultérieur. Avant v2.1.223, Claude Code appliquait uniquement le bloc `env` entier de la source sélectionnée

188 194 

189Les [clés de connexion à la passerelle](#choose-a-delivery-mechanism), [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl) et la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod), suivent une règle séparée. Claude Code ne les lit jamais à partir des paramètres gérés par le serveur, donc pendant que les paramètres gérés par le serveur sont la source sélectionnée, la source d'administration la mieux classée sur la machine qui porte une clé de politique les fournit toujours. Une valeur dans une source d'administration classée en dessous de celle-ci, ou dans le registre HKCU, est ignorée.195Les [clés de connexion à la passerelle](#choose-a-delivery-mechanism) suivent une règle séparée. Claude Code ne les lit jamais à partir des paramètres gérés par le serveur, donc pendant que les paramètres gérés par le serveur sont la source sélectionnée, la source d'administration la mieux classée sur la machine qui porte une clé de politique les fournit toujours. Une valeur dans une source d'administration classée en dessous de celle-ci, ou dans le registre HKCU, est ignorée.

196 

197Quand une source d'administration définit `allowManagedMcpServersOnly` ou une liste `allowedMcpServers` et que cette valeur n'est pas celle en vigueur, `/status` et `claude doctor` nomment cette source et cette clé.

190 198 

191<h3 id="compose-every-managed-source">199<h3 id="compose-every-managed-source">

192 Composer chaque source gérée200 Composer chaque source gérée


244Claude Code applique également ces vérifications aux valeurs fournies par le parent d'elles-mêmes :252Claude Code applique également ces vérifications aux valeurs fournies par le parent d'elles-mêmes :

245 253 

246* Quand n'importe quelle source d'administration définit `allowManagedPermissionRulesOnly`, Claude Code supprime les [règles d'autorisation de permission fournies par le parent](/docs/fr/claude-apps-gateway#restrict-parent-settings) et `additionalDirectories` au fur et à mesure qu'il les lit, même quand une source de priorité plus élevée laisse la clé non définie. L'effet de la clé sur vos propres règles de permission provient des paramètres gérés que Claude Code applique, ou des paramètres parent que vous avez choisi de fusionner254* Quand n'importe quelle source d'administration définit `allowManagedPermissionRulesOnly`, Claude Code supprime les [règles d'autorisation de permission fournies par le parent](/docs/fr/claude-apps-gateway#restrict-parent-settings) et `additionalDirectories` au fur et à mesure qu'il les lit, même quand une source de priorité plus élevée laisse la clé non définie. L'effet de la clé sur vos propres règles de permission provient des paramètres gérés que Claude Code applique, ou des paramètres parent que vous avez choisi de fusionner

247* Claude Code applique la valeur `forceLoginOrgUUID` ou `allowedMcpServers` dans les paramètres gérés qu'il applique et bloque une valeur fournie par le parent. Une valeur dans une source d'administration inférieure que Claude Code n'applique pas ne s'applique ni ne bloque celle du parent. L'entrée [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) dit quelle source fournit chaque clé sous `"merge"`. Avant v2.1.223, une valeur dans n'importe quelle source d'administration bloquait celle du parent255* Claude Code applique la valeur `forceLoginOrgUUID` ou `allowedMcpServers` dans les paramètres gérés qu'il applique et bloque une valeur fournie par le parent. Une valeur dans une source d'administration inférieure que Claude Code n'applique pas ne s'applique ni ne bloque celle du parent.

248* Une valeur `availableModels` suit la même règle que `allowedMcpServers`256 

257 Sur Claude Code v2.1.273 ou ultérieur, pendant que `allowManagedMcpServersOnly` est actif, la liste `allowedMcpServers` de la source d'administration la mieux classée qui en définit une s'applique et bloque celle du parent, comme une [clé inter-source](#keys-read-from-every-admin-source). La liste du parent s'applique uniquement quand aucune source d'administration n'en définit une. L'entrée [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) dit quelle source fournit chaque clé sous `"merge"`. Avant v2.1.223, une valeur dans n'importe quelle source d'administration bloquait celle du parent

258* Pour `availableModels`, Claude Code applique la valeur dans les paramètres gérés qu'il applique et bloque une liste fournie par le parent

249 259 

250<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">260<h4 id="keep-cowork-folder-access-when-only-managed-rules-apply">

251 Garder l'accès au dossier Cowork quand seules les règles gérées s'appliquent261 Garder l'accès au dossier Cowork quand seules les règles gérées s'appliquent


272 Ce qu'un développeur peut changer282 Ce qu'un développeur peut changer

273</h3>283</h3>

274 284 

275Les fichiers de paramètres propres d'un développeur, les valeurs `--settings`, et les fichiers de projet ne remplacent jamais une valeur gérée ; les [exceptions](/docs/fr/settings#exceptions-to-managed-settings-precedence) permettent uniquement à une valeur plus stricte de niveau inférieur de compter. Quatre choses se situent en dehors de cette règle :285Les fichiers de paramètres propres d'un développeur, les valeurs `--settings`, et les fichiers de projet ne remplacent jamais une valeur gérée ; les [exceptions](/docs/fr/settings#exceptions-to-managed-settings-precedence) permettent uniquement à une valeur plus stricte de niveau inférieur de compter. Ces cas se situent en dehors de cette règle :

276 286 

277* **Le modèle pour une session** : un `model` géré est une valeur par défaut, pas un verrou. `--model` et `ANTHROPIC_MODEL` choisissent toujours le modèle pour cette session, donc déployez [`availableModels`](/docs/fr/settings-reference#availablemodels) pour restreindre le choix.287* **Le modèle pour une session** : un `model` géré est une valeur par défaut, pas un verrou. `--model` et `ANTHROPIC_MODEL` choisissent toujours le modèle pour cette session, donc déployez [`availableModels`](/docs/fr/settings-reference#availablemodels) pour restreindre le choix.

278* **Droits d'administrateur local** : un développeur qui est administrateur sur la machine peut modifier la source gérée elle-même, c'est pourquoi les outils MDM peuvent redéployer le profil ou le fichier selon un calendrier et pourquoi le registre HKLM et le domaine des préférences gérées macOS existent.288* **Droits d'administrateur local** : un développeur qui est administrateur sur la machine peut modifier la source gérée elle-même, c'est pourquoi les outils MDM peuvent redéployer le profil ou le fichier selon un calendrier et pourquoi le registre HKLM et le domaine des préférences gérées macOS existent.


362| `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é. |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é. |

363| `enforceAvailableModels` | Traitée comme `true`. |373| `enforceAvailableModels` | Traitée comme `true`. |

364| `forceLoginOrgUUID` | Aucune organisation n'est autorisée à se connecter 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. |

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

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

366| `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. |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. |

367| `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) |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) |


389| [`allowAllClaudeAiMcps`](/docs/fr/settings-reference#allowallclaudeaimcps) | Charger les connecteurs claude.ai que Claude Code récupère lui-même aux côtés d'un `managed-mcp.json` déployé au lieu de les supprimer |400| [`allowAllClaudeAiMcps`](/docs/fr/settings-reference#allowallclaudeaimcps) | Charger les connecteurs claude.ai que Claude Code récupère lui-même aux côtés d'un `managed-mcp.json` déployé au lieu de les supprimer |

390| [`allowedChannelPlugins`](/docs/fr/settings-reference#allowedchannelplugins) | Liste d'autorisation des plugins de canal qui peuvent pousser des messages. Remplace la liste d'autorisation Anthropic par défaut quand défini. Nécessite `channelsEnabled: true`. Consultez [Restreindre quels plugins de canal peuvent s'exécuter](/docs/fr/channels#restrict-which-channel-plugins-can-run) |401| [`allowedChannelPlugins`](/docs/fr/settings-reference#allowedchannelplugins) | Liste d'autorisation des plugins de canal qui peuvent pousser des messages. Remplace la liste d'autorisation Anthropic par défaut quand défini. Nécessite `channelsEnabled: true`. Consultez [Restreindre quels plugins de canal peuvent s'exécuter](/docs/fr/channels#restrict-which-channel-plugins-can-run) |

391| [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) | Quand `true`, restreint quels hooks s'exécutent ; consultez [ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) pour la liste complète des effets |402| [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) | Quand `true`, restreint quels hooks s'exécutent ; consultez [ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) pour la liste complète des effets |

392| [`allowManagedMcpServersOnly`](/docs/fr/settings-reference#allowmanagedmcpserversonly) | Quand `true`, seul `allowedMcpServers` des paramètres gérés est respecté. `deniedMcpServers` fusionne toujours de toutes les sources. Consultez [Configuration MCP gérée](/docs/fr/managed-mcp) |403| [`allowManagedMcpServersOnly`](/docs/fr/settings-reference#allowmanagedmcpserversonly) | Quand `true`, seul `allowedMcpServers` des paramètres gérés est respecté. `deniedMcpServers` fusionne toujours de toutes les sources. Consultez [Clés lues de chaque source d'administrateur](#keys-read-from-every-admin-source) pour savoir quelles sources gérées peuvent le définir, et [Configuration MCP gérée](/docs/fr/managed-mcp) |

393| [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) | Rend les paramètres gérés la seule source de paramètres des règles de permission. L'entrée énumère chaque source qu'elle ignore |404| [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) | Rend les paramètres gérés la seule source de paramètres des règles de permission. L'entrée énumère chaque source qu'elle ignore |

394| [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) | Liste de blocage des sources de place de marché. Les sources bloquées sont vérifiées avant le téléchargement, donc elles ne touchent jamais le système de fichiers. Consultez [restrictions de place de marché gérée](/docs/fr/plugin-marketplaces#managed-marketplace-restrictions) |405| [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) | Liste de blocage des sources de place de marché. Les sources bloquées sont vérifiées avant le téléchargement, donc elles ne touchent jamais le système de fichiers. Consultez [restrictions de place de marché gérée](/docs/fr/plugin-marketplaces#managed-marketplace-restrictions) |

395| [`channelsEnabled`](/docs/fr/settings-reference#channelsenabled) | Autoriser les [canaux](/docs/fr/channels) pour l'organisation. Consultez [contrôles d'entreprise](/docs/fr/channels#enterprise-controls) pour la valeur par défaut sur chaque plan |406| [`channelsEnabled`](/docs/fr/settings-reference#channelsenabled) | Autoriser les [canaux](/docs/fr/channels) pour l'organisation. Consultez [contrôles d'entreprise](/docs/fr/channels#enterprise-controls) pour la valeur par défaut sur chaque plan |

mcp.md +65 −15

Details

151 151 

152 Sans `--`, Claude Code essaierait d'analyser les drapeaux du serveur, comme `--port` ci-dessus, comme ses propres options.152 Sans `--`, Claude Code essaierait d'analyser les drapeaux du serveur, comme `--port` ci-dessus, comme ses propres options.

153 153 

154 `--env` accepte plusieurs paires `KEY=value`. Si le nom du serveur vient directement après `--env`, la CLI lit le nom comme une autre paire et le rejette, donc placez au moins une autre option entre `--env` et le nom du serveur, comme dans les exemples ci-dessus.154 `--env` accepte plusieurs paires `KEY=value`. Si le nom du serveur vient directement après `--env`, la CLI lit le nom comme une autre paire et le rejette, donc placez au moins une autre option, comme `--transport stdio`, entre `--env` et le nom du serveur.

155</Note>155</Note>

156 156 

157<h3 id="option-4-add-a-remote-websocket-server">157<h3 id="option-4-add-a-remote-websocket-server">


323* **Espaces blancs cachés** : Claude Code avertit lorsqu'une valeur de configuration MCP porte des espaces blancs cachés en début ou en fin, ce qui provient souvent du collage d'un jeton avec une nouvelle ligne de fin. Claude Code vérifie `command`, `url`, chaque entrée `args`, et les valeurs et noms de clés sous `env` et `headers`. Claude Code affiche l'avertissement dans la sortie `claude mcp list` et dans `/mcp`, nommant les champs affectés sans répéter leurs valeurs, par exemple `Leading or trailing whitespace in: headers.Authorization`. Claude Code ne supprime pas les espaces blancs et utilise les valeurs exactement comme écrites, donc modifiez la configuration pour les supprimer.323* **Espaces blancs cachés** : Claude Code avertit lorsqu'une valeur de configuration MCP porte des espaces blancs cachés en début ou en fin, ce qui provient souvent du collage d'un jeton avec une nouvelle ligne de fin. Claude Code vérifie `command`, `url`, chaque entrée `args`, et les valeurs et noms de clés sous `env` et `headers`. Claude Code affiche l'avertissement dans la sortie `claude mcp list` et dans `/mcp`, nommant les champs affectés sans répéter leurs valeurs, par exemple `Leading or trailing whitespace in: headers.Authorization`. Claude Code ne supprime pas les espaces blancs et utilise les valeurs exactement comme écrites, donc modifiez la configuration pour les supprimer.

324* **Même nom dans plus d'une portée** : si vous définissez le même nom de serveur dans plus d'une [portée](#mcp-installation-scopes) avec des points de terminaison différents, Claude Code avertit du conflit dans la sortie `claude mcp list` et dans `/mcp`. Claude Code stocke les connexions OAuth par point de terminaison, donc lorsque vous authentifiez la définition qui se charge dans un projet, vous devez toujours vous connecter séparément dans un projet où une définition différente se charge. Conservez le point de terminaison que vous voulez et supprimez les autres avec `claude mcp remove <name> --scope <scope>`. Dans l'avertissement, Claude Code cite le point de terminaison de chaque portée tel qu'écrit dans votre configuration, avec les références [`${VAR}`](#environment-variable-expansion-in-mcp-json) non développées, donc il n'affiche jamais une valeur résolue telle qu'une clé API.324* **Même nom dans plus d'une portée** : si vous définissez le même nom de serveur dans plus d'une [portée](#mcp-installation-scopes) avec des points de terminaison différents, Claude Code avertit du conflit dans la sortie `claude mcp list` et dans `/mcp`. Claude Code stocke les connexions OAuth par point de terminaison, donc lorsque vous authentifiez la définition qui se charge dans un projet, vous devez toujours vous connecter séparément dans un projet où une définition différente se charge. Conservez le point de terminaison que vous voulez et supprimez les autres avec `claude mcp remove <name> --scope <scope>`. Dans l'avertissement, Claude Code cite le point de terminaison de chaque portée tel qu'écrit dans votre configuration, avec les références [`${VAR}`](#environment-variable-expansion-in-mcp-json) non développées, donc il n'affiche jamais une valeur résolue telle qu'une clé API.

325* **Noms réservés** : Claude Code réserve les noms de ses serveurs intégrés, y compris `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview`, et `Claude Browser`. Si votre configuration définit un serveur avec un nom réservé, Claude Code le saute au moment du chargement et affiche un avertissement vous demandant de le renommer. `claude mcp add` rejette un nom réservé avec une erreur. `Claude Preview` et `Claude Browser` nomment tous deux le serveur intégré que le [volet d'aperçu de l'application de bureau Claude Code](/docs/fr/desktop#preview-your-app) utilise. Avant la v2.1.205, `Claude Browser` n'était pas réservé, donc un serveur configuré par l'utilisateur pouvait s'enregistrer sous ce nom.325* **Noms réservés** : Claude Code réserve les noms de ses serveurs intégrés, y compris `workspace`, `claude-in-chrome`, `computer-use`, `Claude Preview`, et `Claude Browser`. Si votre configuration définit un serveur avec un nom réservé, Claude Code le saute au moment du chargement et affiche un avertissement vous demandant de le renommer. `claude mcp add` rejette un nom réservé avec une erreur. `Claude Preview` et `Claude Browser` nomment tous deux le serveur intégré que le [volet d'aperçu de l'application de bureau Claude Code](/docs/fr/desktop#preview-your-app) utilise. Avant la v2.1.205, `Claude Browser` n'était pas réservé, donc un serveur configuré par l'utilisateur pouvait s'enregistrer sous ce nom.

326* **Variable d'environnement manquante** : si une référence [`${VAR}`](#environment-variable-expansion-in-mcp-json) dans la configuration d'un serveur nomme une variable qui n'est pas définie et n'a pas de `:-default`, Claude Code avertit dans la sortie `claude mcp list` et dans `/mcp`, nommant la variable, et charge toujours le serveur avec le texte `${VAR}` non développé. Définissez la variable ou ajoutez un fallback `${VAR:-default}`.326* **Variable d'environnement manquante** : si une référence [`${VAR}`](#environment-variable-expansion-in-mcp-json) dans la configuration d'un serveur nomme une variable qui n'est pas définie et n'a pas de `:-default`, Claude Code avertit dans la sortie `claude mcp list` et dans `/mcp`, nommant la variable, et charge toujours le serveur avec le texte `${VAR}` non développé. Définissez la variable ou ajoutez un fallback `${VAR:-default}`. Dans l'`url` et les `headers` d'un serveur distant, certaines variables d'identifiants [lisent comme vides](#credential-variables-that-read-as-empty) à la place, sans avertissement.

327 327 

328<h4 id="tool-availability">328<h4 id="tool-availability">

329 Disponibilité des outils329 Disponibilité des outils


360 360 

361Claude Code se connecte aux serveurs MCP via l'un de deux runtimes clients. Le runtime v1 est construit sur MCP TypeScript SDK 1.x. Le runtime v2 est le même code sur [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), qui ajoute la révision du protocole MCP 2026-07-28. Le reste de cette page s'applique aux deux runtimes, sauf où une section nomme le runtime v2.361Claude Code se connecte aux serveurs MCP via l'un de deux runtimes clients. Le runtime v1 est construit sur MCP TypeScript SDK 1.x. Le runtime v2 est le même code sur [MCP TypeScript SDK 2.0](https://ts.sdk.modelcontextprotocol.io/v2/), qui ajoute la révision du protocole MCP 2026-07-28. Le reste de cette page s'applique aux deux runtimes, sauf où une section nomme le runtime v2.

362 362 

363Sur Claude Code v2.1.232 ou ultérieur, Claude Code utilise le runtime v2. Il choisit un runtime chaque fois que vous le démarrez et le conserve jusqu'à ce que vous quittiez. Il utilise v1 lorsque vous l'exécutez :363Claude Code choisit un runtime chaque fois que vous le démarrez et le conserve jusqu'à ce que vous quittiez. Dans les sessions où il [récupère les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), il utilise le runtime v2 sur Claude Code v2.1.232 ou ultérieur.

364 364 

365* Sur Amazon Bedrock, Claude Platform sur AWS, la plateforme Agent de Google Cloud, ou Microsoft Foundry, sauf si une plateforme hôte qui intègre Claude Code définit [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars)365Dans les sessions où il ne récupère pas les drapeaux de fonctionnalité, Claude Code utilise le runtime v2 par défaut sur Claude Code v2.1.274 ou ultérieur :

366* Connecté via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway)366 

367* Avec [récupération de drapeaux de fonctionnalité désactivée](/docs/fr/env-vars#features-that-need-feature-flag-fetching)367* Sessions sur Amazon Bedrock, Claude Platform sur AWS, la plateforme Agent de Google Cloud, ou Microsoft Foundry, sauf si une plateforme hôte qui intègre Claude Code définit [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars)

368* Sessions connectées via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway)

369* Sessions où vous désactivez la télémétrie ou la récupération des drapeaux de fonctionnalité, par exemple avec `DISABLE_TELEMETRY`

368 370 

369Sur v2, Claude Code aussi :371Sur v2, Claude Code aussi :

370 372 

371* Demande aux serveurs HTTP et connecteurs claude.ai s'ils supportent la révision plus récente, et l'utilise avec ceux qui le font. Il demande aux serveurs stdio uniquement si vous définissez [`MCP_PROTOCOL_NEGOTIATION`](/docs/fr/env-vars) sur `auto`, et se connecte à tous les autres serveurs comme v1 le fait.373* Demande aux serveurs HTTP s'ils supportent la révision plus récente, et l'utilise avec ceux qui le font. Il demande également aux serveurs connecteurs claude.ai dans les sessions où il récupère les drapeaux de fonctionnalité. Pour qu'il demande aux serveurs stdio, ou aux serveurs connecteurs dans chaque session, définissez [`MCP_PROTOCOL_NEGOTIATION`](/docs/fr/env-vars) sur `auto`. Il se connecte à tous les autres serveurs comme v1 le fait.

372* Reçoit les notifications `list_changed` des serveurs sur la révision plus récente sur un [flux qu'il maintient ouvert](#notification-streams-on-the-v2-runtime).374* Reçoit les notifications `list_changed` des serveurs sur la révision plus récente sur un [flux qu'il maintient ouvert](#notification-streams-on-the-v2-runtime).

373* N'enregistre pas un serveur de [canal](#push-messages-with-channels) qui se connecte sur la révision plus récente, car cette révision ne peut pas transporter les messages de canal.375* N'enregistre pas un serveur de [canal](#push-messages-with-channels) qui se connecte sur la révision plus récente, car cette révision ne peut pas transporter les messages de canal.

374* Échoue une [connexion OAuth MCP](#authenticate-with-remote-mcp-servers) dont la réponse d'autorisation nomme un émetteur inattendu.376* Échoue une [connexion OAuth MCP](#authenticate-with-remote-mcp-servers) dont la réponse d'autorisation nomme un émetteur inattendu.

375 377 

376Anthropic peut garder un serveur spécifique sur le protocole antérieur, ou hors de ce flux, avec un drapeau de fonctionnalité que Claude Code récupère.378Anthropic peut garder un serveur spécifique sur le protocole antérieur, ou hors de ce flux, avec un drapeau de fonctionnalité que Claude Code récupère.

377 379 

378Pour choisir le runtime vous-même, définissez [`MCP_SDK_GENERATION`](/docs/fr/env-vars) sur `v1` ou `v2`. Pour décider si Claude Code demande, définissez [`MCP_PROTOCOL_NEGOTIATION`](/docs/fr/env-vars) sur `auto` ou `legacy`. Où Claude Code utilise v1 par défaut, épingler `v2` ne le fait pas demander, donc définissez `auto` aussi.380Pour choisir le runtime vous-même, définissez [`MCP_SDK_GENERATION`](/docs/fr/env-vars) sur `v1` ou `v2`. Pour décider si Claude Code demande, définissez [`MCP_PROTOCOL_NEGOTIATION`](/docs/fr/env-vars) sur `auto` ou `legacy`.

379 381 

380<h3 id="dynamic-tool-updates">382<h3 id="dynamic-tool-updates">

381 Mises à jour dynamiques des outils383 Mises à jour dynamiques des outils


679 681 

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

681 683 

682**Syntaxe supportée :**684<h4 id="supported-syntax">

685 Syntaxe supportée

686</h4>

683 687 

684* `${VAR}` : se développe à la valeur de la variable d'environnement `VAR`688* `${VAR}` : se développe à la valeur de la variable d'environnement `VAR`

685* `${VAR:-default}` : se développe à `VAR` si défini, sinon utilise `default`689* `${VAR:-default}` : se développe à `VAR` si défini, sinon utilise `default`

686 690 

687**Emplacements d'expansion :**691<h4 id="expansion-locations">

692 Emplacements d'expansion

693</h4>

694 

688Les variables d'environnement peuvent être développées dans :695Les variables d'environnement peuvent être développées dans :

689 696 

690* `command` : le chemin de l'exécutable du serveur697* `command` : le chemin de l'exécutable du serveur


693* `url` : pour les types de serveur HTTP700* `url` : pour les types de serveur HTTP

694* `headers` : pour l'authentification du serveur HTTP701* `headers` : pour l'authentification du serveur HTTP

695 702 

696**Exemple avec expansion de variable :**703<h4 id="example-with-variable-expansion">

704 Exemple avec expansion de variable

705</h4>

697 706 

698```json theme={null}707```json theme={null}

699{708{


709}718}

710```719```

711 720 

712Si une variable d'environnement requise n'est pas définie et n'a pas de valeur par défaut, la configuration se charge toujours : Claude Code signale un avertissement de variable manquante pour ce serveur dans la sortie `claude mcp list` et utilise le texte non développé `${VAR}` tel quel. Définissez la variable ou ajoutez un fallback `:-default` pour que le serveur démarre avec la valeur que vous avez l'intention d'utiliser.721<h4 id="unset-variables-without-a-default">

722 Variables non définies sans valeur par défaut

723</h4>

724 

725Si une variable d'environnement requise n'est pas définie et n'a pas de valeur par défaut, la configuration se charge toujours : Claude Code signale un avertissement de variable manquante pour ce serveur dans la sortie `claude mcp list` et utilise le texte non développé `${VAR}` tel quel. Définissez la variable ou ajoutez un fallback `:-default` pour que le serveur démarre avec la valeur que vous avez l'intention d'utiliser. Dans l'`url` et les `headers` d'un serveur distant, certaines variables d'identification [se lisent comme vides](#credential-variables-that-read-as-empty) à la place, sans avertissement.

726 

727<h4 id="credential-variables-that-read-as-empty">

728 Variables d'identification qui se lisent comme vides

729</h4>

730 

731Dans l'`url` et les `headers` d'un serveur distant, Claude Code lit les variables d'identification de votre environnement comme vides plutôt que de les développer. Cela empêche le `.mcp.json` d'un projet ou un plugin d'envoyer vos identifiants Claude Code ou de fournisseur cloud à un serveur qu'il nomme. Si vous écrivez `Bearer ${ANTHROPIC_AUTH_TOKEN}`, le serveur reçoit `Bearer ` sans identifiant et rejette la demande, généralement avec un `401`. Claude Code signale cela comme une connexion échouée.

732 

733Les noms couverts sont :

734 

735* Les identifiants propres de Claude Code, tels que `ANTHROPIC_API_KEY` et `ANTHROPIC_AUTH_TOKEN`

736* Les identifiants de votre fournisseur cloud, tels que `AWS_BEARER_TOKEN_BEDROCK`

737* Autres identifiants que votre environnement porte, tels que `HTTPS_PROXY` et `NPM_TOKEN`

738 

739Un nom couvert se lit comme vide que vous ayez défini la variable ou non, et un fallback `:-default` sur celui-ci est ignoré. Une URL de base de fournisseur telle que `ANTHROPIC_BASE_URL` se développe toujours, donc `"url": "${ANTHROPIC_BASE_URL}/mcp"` fonctionne, sauf si la valeur de l'URL elle-même intègre un identifiant tel qu'un nom d'utilisateur et un mot de passe.

740 

741Un nom en dehors de cet ensemble, tel que `API_KEY`, se développe tel qu'écrit. Pour donner au serveur l'un des identifiants couverts, copiez-le dans une variable avec un nom de votre choix et référencez ce nom à la place.

742 

743Lorsque l'`url` ou les `headers` d'un serveur distant référencent une variable couverte que vous avez définie, Claude Code la nomme dans une ligne de journal de débogage. Pour lire la ligne, exécutez `claude --debug-file /tmp/claude-debug.log` et recherchez dans ce fichier `never expanded toward a remote server`.

744 

745<h4 id="how-references-appear-in-/mcp-and-cli-output">

746 Comment les références apparaissent dans `/mcp` et la sortie CLI

747</h4>

748 

749Pour un serveur dans la [portée](#mcp-installation-scopes) locale, de projet ou utilisateur, les surfaces suivantes affichent une référence `${VAR}` par nom plutôt que comme sa valeur résolue :

750 

751* L'URL ou la ligne de commande dans la vue de détail `/mcp` d'un serveur

752* Sortie `claude mcp list` et `claude mcp get`

753 

754La vue de détail `/mcp` affiche les références de cette façon dans Claude Code v2.1.268 ou ultérieur.

755 

756Pour un serveur que votre organisation fournit via le paramètre `managedMcpServers`, ces surfaces affichent [uniquement l'hôte de l'URL](/docs/fr/managed-mcp#what-users-can-see-and-change).

757 

758Pour vérifier ce que `claude mcp list`, `claude mcp get` et `/mcp` affichent lorsqu'une connexion échoue, consultez [Détail du statut du serveur](#server-status-detail).

713 759 

714<h2 id="practical-examples">760<h2 id="practical-examples">

715 Exemples pratiques761 Exemples pratiques


779 825 

780* Pour un serveur auprès duquel vous ne vous êtes pas connecté, l'un ou l'autre code de statut le signale dans `/mcp` afin que vous puissiez compléter le flux OAuth.826* Pour un serveur auprès duquel vous ne vous êtes pas connecté, l'un ou l'autre code de statut le signale dans `/mcp` afin que vous puissiez compléter le flux OAuth.

781* Pour un [connecteur claude.ai](#use-mcp-servers-from-claude-ai), un `401` causé par le rejet de votre jeton de session par claude.ai ne signale pas le connecteur, car la réautorisation du connecteur ne peut pas corriger votre connexion. Claude Code affiche plutôt l'[état de rejet du jeton de session](/docs/fr/errors#claude-ai-rejected-the-session-token).827* Pour un [connecteur claude.ai](#use-mcp-servers-from-claude-ai), un `401` causé par le rejet de votre jeton de session par claude.ai ne signale pas le connecteur, car la réautorisation du connecteur ne peut pas corriger votre connexion. Claude Code affiche plutôt l'[état de rejet du jeton de session](/docs/fr/errors#claude-ai-rejected-the-session-token).

782* Pour un serveur dont vous avez configuré l'en-tête `Authorization`, dans `headers` ou via un [`headersHelper`](#use-dynamic-headers-for-custom-authentication), un `401` ou `403` lors de la connexion ne signale pas le serveur, car l'identifiant à corriger est celui que vous avez configuré. Claude Code signale plutôt la connexion comme échouée.828* Pour un serveur dont vous avez configuré l'en-tête `Authorization`, dans `headers` ou via un [`headersHelper`](#use-dynamic-headers-for-custom-authentication), un `401` ou `403` lors de la connexion ne signale pas le serveur, car l'identifiant à corriger est celui que vous avez configuré. Claude Code signale plutôt la connexion comme échouée. Si vous avez défini cet en-tête à partir d'une référence `${VAR}`, vérifiez si cette variable est l'une que Claude Code [lit comme vide](#credential-variables-that-read-as-empty).

783* Pour un connecteur [livré à une session cloud](#how-connectors-reach-claude-code), Claude Code n'exécute pas de flux de connexion, car le proxy de la session s'authentifie auprès du connecteur avec l'autorisation que vous avez accordée dans claude.ai. Lorsqu'un connecteur là-bas a besoin d'être autorisé à nouveau, reconnectez-le à [claude.ai/customize/connectors](https://claude.ai/customize/connectors) plutôt que depuis la session.829* Pour un connecteur [livré à une session cloud](#how-connectors-reach-claude-code), Claude Code n'exécute pas de flux de connexion, car le proxy de la session s'authentifie auprès du connecteur avec l'autorisation que vous avez accordée dans claude.ai. Lorsqu'un connecteur là-bas a besoin d'être autorisé à nouveau, reconnectez-le à [claude.ai/customize/connectors](https://claude.ai/customize/connectors) plutôt que depuis la session.

784 830 

785Lorsqu'une demande à un serveur OAuth auprès duquel vous vous êtes déjà connecté retourne `401 Unauthorized`, Claude Code actualise le jeton stocké, se reconnecte et réessaie la demande une fois. Il signale le serveur dans `/mcp` uniquement si cette nouvelle tentative échoue également. Avant la v2.1.206, une actualisation de jeton qui échouait pour une raison transitoire, comme une erreur réseau, signalait un serveur OAuth comme nécessitant une authentification pour le reste de la session même si son jeton d'actualisation était toujours valide.831Lorsqu'une demande à un serveur OAuth auprès duquel vous vous êtes déjà connecté retourne `401 Unauthorized`, Claude Code actualise le jeton stocké, se reconnecte et réessaie la demande une fois. Il signale le serveur dans `/mcp` uniquement si cette nouvelle tentative échoue également. Avant la v2.1.206, une actualisation de jeton qui échouait pour une raison transitoire, comme une erreur réseau, signalait un serveur OAuth comme nécessitant une authentification pour le reste de la session même si son jeton d'actualisation était toujours valide.


790 836 

791Claude Code affiche également un avis de démarrage lorsqu'un ou plusieurs serveurs configurés nécessitent une authentification, vous n'avez donc pas besoin d'ouvrir `/mcp` pour découvrir quels serveurs nécessitent une connexion. L'avis nécessite Claude Code v2.1.193 ou ultérieur. Il compte uniquement les serveurs auprès desquels vous pouvez vous connecter à partir de Claude Code. Avant la v2.1.218, il comptait également les [connecteurs claude.ai](#use-mcp-servers-from-claude-ai) qui n'étaient pas connectés dans claude.ai, que vous pouvez connecter uniquement à partir des paramètres claude.ai.837Claude Code affiche également un avis de démarrage lorsqu'un ou plusieurs serveurs configurés nécessitent une authentification, vous n'avez donc pas besoin d'ouvrir `/mcp` pour découvrir quels serveurs nécessitent une connexion. L'avis nécessite Claude Code v2.1.193 ou ultérieur. Il compte uniquement les serveurs auprès desquels vous pouvez vous connecter à partir de Claude Code. Avant la v2.1.218, il comptait également les [connecteurs claude.ai](#use-mcp-servers-from-claude-ai) qui n'étaient pas connectés dans claude.ai, que vous pouvez connecter uniquement à partir des paramètres claude.ai.

792 838 

839L'avis annonce chaque serveur une fois et l'exclut du décompte aux lancements ultérieurs jusqu'à ce que ce serveur se soit connecté et ait besoin d'une connexion à nouveau. `/mcp` liste toujours chaque serveur qui nécessite une connexion.

840 

793En mode non interactif, il n'y a pas de panneau `/mcp`, donc Claude Code ne peut pas exécuter le flux OAuth pour vous. À partir de la v2.1.196, lorsqu'un serveur configuré nécessite une authentification lors d'une exécution `claude -p` ou Agent SDK avec [recherche d'outils](#scale-with-mcp-tool-search) activée, ce qui est la valeur par défaut, Claude Code indique à Claude que les outils du serveur ne sont pas disponibles jusqu'à ce que vous l'autorisiez. Claude peut alors nommer le serveur qui nécessite une connexion au lieu de répondre comme si le serveur n'était pas configuré. Complétez la connexion à partir d'une session interactive avec `/mcp` ou `claude mcp login <name>`.841En mode non interactif, il n'y a pas de panneau `/mcp`, donc Claude Code ne peut pas exécuter le flux OAuth pour vous. À partir de la v2.1.196, lorsqu'un serveur configuré nécessite une authentification lors d'une exécution `claude -p` ou Agent SDK avec [recherche d'outils](#scale-with-mcp-tool-search) activée, ce qui est la valeur par défaut, Claude Code indique à Claude que les outils du serveur ne sont pas disponibles jusqu'à ce que vous l'autorisiez. Claude peut alors nommer le serveur qui nécessite une connexion au lieu de répondre comme si le serveur n'était pas configuré. Complétez la connexion à partir d'une session interactive avec `/mcp` ou `claude mcp login <name>`.

794 842 

795Si vous avez configuré `headers.Authorization` pour le serveur et que le serveur rejette cet en-tête, Claude Code signale la connexion comme échouée au lieu de revenir à OAuth. Vérifiez que le jeton est valide pour le point de terminaison MCP, ou supprimez l'en-tête pour utiliser le flux OAuth.843Si vous avez configuré `headers.Authorization` pour le serveur et que le serveur rejette cet en-tête, Claude Code signale la connexion comme échouée au lieu de revenir à OAuth. Vérifiez que le jeton est valide pour le point de terminaison MCP, ou supprimez l'en-tête pour utiliser le flux OAuth.


983 1031 

984Si le serveur d'autorisation annonce `offline_access` dans `scopes_supported`, Claude Code l'ajoute aux portées épinglées afin que le jeton d'accès puisse être actualisé sans une nouvelle connexion au navigateur.1032Si le serveur d'autorisation annonce `offline_access` dans `scopes_supported`, Claude Code l'ajoute aux portées épinglées afin que le jeton d'accès puisse être actualisé sans une nouvelle connexion au navigateur.

985 1033 

986Si le serveur retourne ultérieurement un 403 `insufficient_scope` pour un appel d'outil, Claude Code se réauthentifie avec les mêmes portées épinglées. Élargissez `oauth.scopes` lorsqu'un outil dont vous avez besoin nécessite une portée en dehors de l'épingle.1034Si le serveur retourne ultérieurement un 403 `insufficient_scope` pour un appel d'outil, l'appel échoue avec un message [`needs additional permissions`](/docs/fr/errors#mcp-server-needs-you-to-sign-in-again) qui nomme la portée que le serveur demande. Le serveur s'affiche comme nécessitant une authentification dans `/mcp`.

1035 

1036Si cette portée ne figure pas dans votre `oauth.scopes` épinglé, ajoutez-la, puis exécutez `/mcp` et authentifiez le serveur à nouveau. Claude Code demande les portées épinglées plutôt que la portée que le serveur a nommée, donc si vous vous authentifiez à nouveau sans l'ajouter, le jeton que vous obtenez ne l'a toujours pas.

987 1037 

988<h3 id="use-dynamic-headers-for-custom-authentication">1038<h3 id="use-dynamic-headers-for-custom-authentication">

989 Utiliser des en-têtes dynamiques pour l'authentification personnalisée1039 Utiliser des en-têtes dynamiques pour l'authentification personnalisée


1198 1248 

1199Si `/mcp` ne liste pas un connecteur que vous avez ajouté, exécutez `/status` pour confirmer quelle méthode d'authentification est active. Désinscrivez cette variable d'environnement, supprimez le paramètre `apiKeyHelper`, ou [désactivez le profil](/docs/fr/authentication#anthropic-profiles-and-federation-credentials), puis exécutez `/login` pour sélectionner votre compte claude.ai.1249Si `/mcp` ne liste pas un connecteur que vous avez ajouté, exécutez `/status` pour confirmer quelle méthode d'authentification est active. Désinscrivez cette variable d'environnement, supprimez le paramètre `apiKeyHelper`, ou [désactivez le profil](/docs/fr/authentication#anthropic-profiles-and-federation-credentials), puis exécutez `/login` pour sélectionner votre compte claude.ai.

1200 1250 

1201Si une temporaire problème réseau empêche la liste des connecteurs de se charger au démarrage de votre session, Claude Code réessaie la récupération jusqu'à trois fois en arrière-plan, et les connecteurs apparaissent une fois qu'une tentative réussit. S'ils n'ont toujours pas apparu, redémarrez Claude Code pour récupérer la liste à nouveau.1251Si un problème réseau temporaire empêche la liste des connecteurs de se charger au démarrage de votre session, Claude Code réessaie la récupération jusqu'à trois fois en arrière-plan, et les connecteurs apparaissent une fois qu'une tentative réussit. S'ils n'ont toujours pas apparu, redémarrez Claude Code pour récupérer la liste à nouveau.

1202 1252 

1203Si `/mcp` affiche un connecteur comme `connected · session token rejected`, ou sa vue détaillée affiche [`claude.ai rejected the session token`](/docs/fr/errors#claude-ai-rejected-the-session-token), claude.ai a rejeté le jeton de votre connexion Claude Code, généralement parce que la connexion a expiré et n'a pas pu être actualisée. Autoriser à nouveau le connecteur n'efface pas cet état, car l'autorisation propre du connecteur dans claude.ai n'est pas ce qui a été rejeté. Pour l'effacer :1253Si `/mcp` affiche un connecteur comme `connected · session token rejected`, ou sa vue détaillée affiche [`claude.ai rejected the session token`](/docs/fr/errors#claude-ai-rejected-the-session-token), claude.ai a rejeté le jeton de votre connexion Claude Code, généralement parce que la connexion a expiré et n'a pas pu être actualisée. Autoriser à nouveau le connecteur n'efface pas cet état, car l'autorisation propre du connecteur dans claude.ai n'est pas ce qui a été rejeté. Pour l'effacer :

1204 1254 

Details

308* **Application de bureau Claude Code** : ajoutez des serveurs via l'[interface utilisateur des connecteurs](/docs/fr/desktop#connect-external-tools).308* **Application de bureau Claude Code** : ajoutez des serveurs via l'[interface utilisateur des connecteurs](/docs/fr/desktop#connect-external-tools).

309* **Application de chat Claude Desktop** : une application distincte de Claude Code. Pour copier les serveurs de son `claude_desktop_config.json` dans l'interface de ligne de commande, exécutez `claude mcp add-from-claude-desktop` sur macOS ou WSL.309* **Application de chat Claude Desktop** : une application distincte de Claude Code. Pour copier les serveurs de son `claude_desktop_config.json` dans l'interface de ligne de commande, exécutez `claude mcp add-from-claude-desktop` sur macOS ou WSL.

310* **VS Code** : voir [Se connecter aux outils externes avec MCP](/docs/fr/vs-code#connect-to-external-tools-with-mcp).310* **VS Code** : voir [Se connecter aux outils externes avec MCP](/docs/fr/vs-code#connect-to-external-tools-with-mcp).

311* **Claude Code sur le web** : lit `.mcp.json` à partir de votre référentiel. Voir [Modifier .mcp.json directement](#edit-mcp-json-directly).311* **Sessions cloud** : validez un `.mcp.json` dans votre référentiel ; une session avec un référentiel le charge. Voir [Modifier .mcp.json directement](#edit-mcp-json-directly) et [Ce qui est conservé de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup).

312* **Claude.ai** : les connecteurs que vous ajoutez à [claude.ai/customize/connectors](https://claude.ai/customize/connectors) se chargent automatiquement dans l'interface de ligne de commande lorsque vous vous connectez avec ce compte. Voir [Utiliser les serveurs MCP de Claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai).312* **Claude.ai** : les connecteurs que vous ajoutez à [claude.ai/customize/connectors](https://claude.ai/customize/connectors) se chargent automatiquement dans l'interface de ligne de commande lorsque vous vous connectez avec ce compte. Voir [Utiliser les serveurs MCP de Claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai).

313 313 

314<h2 id="troubleshooting">314<h2 id="troubleshooting">

memory.md +258 −90

Details

4 4 

5# Comment Claude se souvient de votre projet5# Comment Claude se souvient de votre projet

6 6 

7> Donnez à Claude des instructions persistantes avec les fichiers CLAUDE.md, et laissez Claude accumuler automatiquement les apprentissages avec la mémoire automatique.7> Donnez à Claude des instructions persistantes avec les fichiers CLAUDE.md ou AGENTS.md, et laissez Claude accumuler automatiquement les apprentissages avec la mémoire automatique.

8 8 

9Chaque session Claude Code commence avec une fenêtre de contexte vierge. Deux mécanismes transportent les connaissances d'une session à l'autre :9Chaque session Claude Code commence avec une fenêtre de contexte vierge. Deux mécanismes transportent les connaissances d'une session à l'autre :

10 10 

11* **Fichiers CLAUDE.md** : instructions que vous écrivez pour donner à Claude un contexte persistant11* **Fichiers CLAUDE.md** : instructions que vous écrivez pour donner à Claude un contexte persistant. Claude peut également lire les fichiers [`AGENTS.md`](#agents-md) d'un référentiel, seuls ou aux côtés de CLAUDE.md

12* **Mémoire automatique** : notes que Claude écrit lui-même en fonction de vos corrections et préférences12* **Mémoire automatique** : notes que Claude écrit lui-même en fonction de vos corrections et préférences

13 13 

14Cette page couvre comment :14Cette page couvre comment :

15 15 

16* [Écrire et organiser les fichiers CLAUDE.md](#claude-md-files)16* [Écrire et organiser les fichiers CLAUDE.md](#claude-md-files)

17* [Utiliser un fichier AGENTS.md existant](#agents-md) comme instructions de votre projet, seul ou aux côtés de CLAUDE.md

17* [Limiter les règles à des types de fichiers spécifiques](#organize-rules-with-claude/rules/) avec `.claude/rules/`18* [Limiter les règles à des types de fichiers spécifiques](#organize-rules-with-claude/rules/) avec `.claude/rules/`

18* [Configurer la mémoire automatique](#auto-memory) pour que Claude prenne des notes automatiquement19* [Configurer la mémoire automatique](#auto-memory) pour que Claude prenne des notes automatiquement

19* [Dépanner](#troubleshoot-memory-issues) quand les instructions ne sont pas suivies20* [Dépanner](#troubleshoot-memory-issues) quand les instructions ne sont pas suivies


25Claude Code dispose de deux systèmes de mémoire complémentaires. Les deux sont chargés au début de chaque conversation. Claude les traite comme du contexte, pas comme une configuration appliquée. Pour bloquer une action indépendamment de ce que Claude décide, utilisez un [hook PreToolUse](/docs/fr/hooks-guide) à la place. Plus vos instructions sont spécifiques et concises, plus Claude les suit régulièrement.26Claude Code dispose de deux systèmes de mémoire complémentaires. Les deux sont chargés au début de chaque conversation. Claude les traite comme du contexte, pas comme une configuration appliquée. Pour bloquer une action indépendamment de ce que Claude décide, utilisez un [hook PreToolUse](/docs/fr/hooks-guide) à la place. Plus vos instructions sont spécifiques et concises, plus Claude les suit régulièrement.

26 27 

27| | Fichiers CLAUDE.md | Mémoire automatique |28| | Fichiers CLAUDE.md | Mémoire automatique |

28| :-------------------- | :-------------------------------------------------------- | :------------------------------------------------------------------------------ |29| :-------------------- | :-------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------- |

29| **Qui l'écrit** | Vous | Claude |30| **Qui l'écrit** | Vous | Claude |

30| **Ce qu'il contient** | Instructions et règles | Apprentissages et modèles |31| **Ce qu'il contient** | Instructions et règles | Apprentissages et modèles |

31| **Portée** | Projet, utilisateur ou organisation | Par référentiel, partagé entre les worktrees |32| **Portée** | Projet, utilisateur ou organisation | Par référentiel, partagé entre les worktrees |

32| **Chargé dans** | Chaque session | Chaque session (premières 200 lignes ou 25 KB) |33| **Chargé dans** | Chaque session | Chaque session (premières 200 lignes ou 25 KB) |

33| **À utiliser pour** | Normes de codage, flux de travail, architecture du projet | Commandes de compilation, insights de débogage, préférences que Claude découvre |34| **À utiliser pour** | Normes de codage, flux de travail, architecture du projet | Vos préférences, corrections que vous donnez à Claude, contexte du projet que Claude ne peut pas dériver du code |

34 35 

35Utilisez les fichiers CLAUDE.md quand vous voulez guider le comportement de Claude. La mémoire automatique permet à Claude d'apprendre de vos corrections sans effort manuel.36Utilisez les fichiers CLAUDE.md quand vous voulez guider le comportement de Claude. La mémoire automatique permet à Claude d'apprendre de vos corrections sans effort manuel.

36 37 


40 Fichiers CLAUDE.md41 Fichiers CLAUDE.md

41</h2>42</h2>

42 43 

43Les fichiers CLAUDE.md sont des fichiers markdown qui donnent à Claude des instructions persistantes pour un projet, votre flux de travail personnel ou toute votre organisation. Vous écrivez ces fichiers en texte brut ; Claude les lit au début de chaque session.44Les fichiers CLAUDE.md sont des fichiers markdown qui donnent à Claude des instructions persistantes pour un projet, votre flux de travail personnel ou toute votre organisation. Vous écrivez ces fichiers en texte brut ; Claude les lit au début de chaque session. Si votre référentiel utilise `AGENTS.md` à la place, consultez [AGENTS.md](#agents-md).

44 45 

45<h3 id="when-to-add-to-claude-md">46<h3 id="when-to-add-to-claude-md">

46 Quand ajouter à CLAUDE.md47 Quand ajouter à CLAUDE.md

47</h3>48</h3>

48 49 

49Traitez CLAUDE.md comme l'endroit où vous écrivez ce que vous expliqueriez autrement à nouveau. Ajoutez-y quand :50Traitez CLAUDE.md comme l'endroit où vous écrivez ce que vous auriez autrement dû réexpliquer. Ajoutez-y quand :

50 51 

51* Claude fait la même erreur une deuxième fois52* Claude fait la même erreur une deuxième fois

52* Une revue de code détecte quelque chose que Claude aurait dû savoir sur cette base de code53* Une revue de code détecte quelque chose que Claude aurait dû savoir sur cette base de code

53* Vous tapez la même correction ou clarification dans le chat que vous avez tapée la session précédente54* Vous tapez la même correction ou clarification dans le chat que vous aviez tapée la session précédente

54* Un nouveau coéquipier aurait besoin du même contexte pour être productif55* Un nouveau coéquipier aurait besoin du même contexte pour être productif

55 56 

56Gardez-le aux faits que Claude devrait retenir à chaque session : commandes de compilation, conventions, disposition du projet, règles « toujours faire X ». Si une entrée est une procédure multi-étapes ou ne concerne qu'une partie de la base de code, déplacez-la vers une [skill](/docs/fr/skills) ou une [règle limitée au chemin](#organize-rules-with-claude/rules/) à la place. L'[aperçu des extensions](/docs/fr/features-overview#build-your-setup-over-time) couvre quand utiliser chaque mécanisme.57Limitez-vous aux faits que Claude doit retenir à chaque session : commandes de compilation, conventions, disposition du projet, règles « toujours faire X ». Si une entrée est une procédure multi-étapes ou ne concerne qu'une partie de la base de code, déplacez-la vers une [compétence](/docs/fr/skills) ou une [règle scoped par chemin](#organize-rules-with-claude/rules/) à la place. L'[aperçu des extensions](/docs/fr/features-overview#build-your-setup-over-time) couvre quand utiliser chaque mécanisme.

57 58 

58<h3 id="choose-where-to-put-claude-md-files">59<h3 id="choose-where-to-put-claude-md-files">

59 Choisir où placer les fichiers CLAUDE.md60 Choisir où placer les fichiers CLAUDE.md

60</h3>61</h3>

61 62 

62Les fichiers CLAUDE.md peuvent se trouver à plusieurs endroits, chacun avec une portée différente. Le tableau ci-dessous les énumère dans l'ordre de chargement, de la portée la plus large à la plus spécifique, donc une instruction de projet apparaît en contexte après une instruction utilisateur.63Les fichiers CLAUDE.md peuvent se trouver à plusieurs emplacements, chacun avec une portée différente. Le tableau ci-dessous les énumère dans l'ordre de chargement, de la portée la plus large à la plus spécifique, de sorte qu'une instruction de projet apparaît en contexte après une instruction utilisateur.

63 64 

64| Portée | Emplacement | Objectif | Exemples de cas d'usage | Partagé avec |65| Portée | Emplacement | Objectif | Exemples de cas d'usage | Partagé avec |

65| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------- |66| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------- | --------------------------------------------- |

66| **Politique gérée** | • macOS : `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux et WSL : `/etc/claude-code/CLAUDE.md`<br />• Windows : `C:\Program Files\ClaudeCode\CLAUDE.md` | Instructions à l'échelle de l'organisation gérées par l'informatique/DevOps | Normes de codage de l'entreprise, politiques de sécurité, exigences de conformité | Tous les utilisateurs de l'organisation |67| **Politique gérée** | • macOS : `/Library/Application Support/ClaudeCode/CLAUDE.md`<br />• Linux et WSL : `/etc/claude-code/CLAUDE.md`<br />• Windows : `C:\Program Files\ClaudeCode\CLAUDE.md` | Instructions à l'échelle de l'organisation gérées par l'informatique/DevOps | Normes de codage de l'entreprise, politiques de sécurité, exigences de conformité | Tous les utilisateurs de l'organisation |

67| **Instructions utilisateur** | `~/.claude/CLAUDE.md` | Préférences personnelles pour tous les projets | Préférences de style de code, raccourcis d'outils personnels | Juste vous (tous les projets) |68| **Instructions utilisateur** | `~/.claude/CLAUDE.md` | Préférences personnelles pour tous les projets | Préférences de style de code, raccourcis d'outils personnels | Juste vous (tous les projets) |

68| **Instructions du projet** | `./CLAUDE.md` ou `./.claude/CLAUDE.md` | Instructions partagées par l'équipe pour le projet | Architecture du projet, normes de codage, flux de travail courants | Membres de l'équipe via le contrôle de source |69| **Instructions de projet** | `./CLAUDE.md` ou `./.claude/CLAUDE.md`. Consultez [AGENTS.md](#agents-md) pour savoir quand `./AGENTS.md` se charge à la place ou aux côtés de ceux-ci | Instructions partagées par l'équipe pour le projet | Architecture du projet, normes de codage, flux de travail courants | Membres de l'équipe via le contrôle de source |

69| **Instructions locales** | `./CLAUDE.local.md` | Préférences personnelles spécifiques au projet ; ajouter à `.gitignore` | Vos URL de sandbox, données de test préférées | Juste vous (projet actuel) |70| **Instructions locales** | `./CLAUDE.local.md` | Préférences personnelles spécifiques au projet ; ajouter à `.gitignore` | Vos URL de sandbox, données de test préférées | Juste vous (projet actuel) |

70 71 

71Les fichiers CLAUDE.md et CLAUDE.local.md dans la hiérarchie de répertoires au-dessus du répertoire de travail sont chargés en intégralité au lancement. Les fichiers dans les sous-répertoires se chargent à la demande quand Claude lit les fichiers de ces répertoires. Consultez [Comment les fichiers CLAUDE.md se chargent](#how-claude-md-files-load) pour l'ordre de résolution complet.72Les fichiers CLAUDE.md et CLAUDE.local.md dans la hiérarchie de répertoires au-dessus du répertoire de travail sont chargés au lancement. Les fichiers dans les sous-répertoires se chargent à la demande quand Claude lit les fichiers de ces répertoires. Consultez [Comment les fichiers CLAUDE.md se chargent](#how-claude-md-files-load) pour l'ordre de résolution complet.

72 73 

73Pour les grands projets, vous pouvez diviser les instructions en fichiers spécifiques à un sujet en utilisant les [règles du projet](#organize-rules-with-claude/rules/). Les règles vous permettent de limiter les instructions à des types de fichiers ou des sous-répertoires spécifiques.74Pour les grands projets, vous pouvez diviser les instructions en fichiers spécifiques à un sujet en utilisant [les règles de projet](#organize-rules-with-claude/rules/). Les règles vous permettent de limiter les instructions à des types de fichiers ou des sous-répertoires spécifiques.

74 75 

75<h3 id="set-up-a-project-claude-md">76<h3 id="set-up-a-project-claude-md">

76 Configurer un CLAUDE.md de projet77 Configurer un CLAUDE.md de projet

77</h3>78</h3>

78 79 

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

80 81 

81<Tip>82<Tip>

82 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 les 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.

83 84 

84 Définissez `CLAUDE_CODE_NEW_INIT=1` pour activer un flux interactif multi-phases. `/init` demande quels artefacts configurer : fichiers CLAUDE.md, skills et hooks. Il explore ensuite votre base de code avec un subagent, comble les lacunes via des questions de suivi et présente une proposition vérifiable avant d'écrire des fichiers.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</Tip>86</Tip>

86 87 

87<h3 id="write-effective-instructions">88<h3 id="write-effective-instructions">

88 Écrire des instructions efficaces89 Écrire des instructions efficaces

89</h3>90</h3>

90 91 

91Les fichiers CLAUDE.md sont chargés dans la fenêtre de contexte au début de chaque session, consommant des tokens aux côtés de votre conversation. La [visualisation de la fenêtre de contexte](/docs/fr/context-window) montre où CLAUDE.md se charge par rapport au reste du contexte de démarrage. Parce qu'ils sont du contexte plutôt qu'une configuration appliquée, la façon dont vous écrivez les instructions affecte la fiabilité avec laquelle Claude les suit. Les instructions spécifiques, concises et bien structurées fonctionnent mieux.92Les fichiers CLAUDE.md sont chargés dans la fenêtre de contexte au début de chaque session, consommant des jetons aux côtés de votre conversation. La [visualisation de la fenêtre de contexte](/docs/fr/context-window) montre où CLAUDE.md se charge par rapport au reste du contexte de démarrage. Parce qu'ils sont du contexte plutôt qu'une configuration appliquée, la façon dont vous écrivez les instructions affecte la fiabilité avec laquelle Claude les suit. Les instructions spécifiques, concises et bien structurées fonctionnent mieux.

92 93 

93**Taille** : visez moins de 200 lignes par fichier CLAUDE.md. Les fichiers plus longs consomment plus de contexte et réduisent l'adhérence. Si vos instructions deviennent trop grandes, utilisez les [règles limitées au chemin](#path-specific-rules) pour que les instructions ne se chargent que quand Claude travaille avec des fichiers correspondants, réduisant le bruit et économisant l'espace de contexte. Vous pouvez également diviser le contenu en [imports](#import-additional-files) pour l'organisation, bien que les fichiers importés se chargent toujours et entrent dans la fenêtre de contexte au lancement.94**Taille** : visez moins de 200 lignes par fichier CLAUDE.md. Les fichiers plus longs consomment plus de contexte et réduisent l'adhérence. Si vos instructions deviennent trop volumineuses, utilisez [les règles scoped par chemin](#path-specific-rules) pour que les instructions ne se chargent que quand Claude travaille avec des fichiers correspondants. Vous pouvez également diviser le contenu en [imports](#import-additional-files) pour l'organisation, bien que les fichiers importés se chargent toujours et entrent dans la fenêtre de contexte au lancement.

94 95 

95**Structure** : utilisez les en-têtes markdown et les puces pour regrouper les instructions connexes. Claude scanne la structure de la même manière que les lecteurs : les sections organisées sont plus faciles à suivre que les paragraphes denses.96**Structure** : utilisez les en-têtes markdown et les puces pour regrouper les instructions connexes. Claude scanne la structure de la même manière que les lecteurs : les sections organisées sont plus faciles à suivre que les paragraphes denses.

96 97 


100* « Exécuter `npm test` avant de valider » au lieu de « Testez vos modifications »101* « Exécuter `npm test` avant de valider » au lieu de « Testez vos modifications »

101* « Les gestionnaires d'API se trouvent dans `src/api/handlers/` » au lieu de « Gardez les fichiers organisés »102* « Les gestionnaires d'API se trouvent dans `src/api/handlers/` » au lieu de « Gardez les fichiers organisés »

102 103 

103**Cohérence** : si deux règles se contredisent, Claude peut en choisir une arbitrairement. Examinez régulièrement vos fichiers CLAUDE.md, les fichiers CLAUDE.md imbriqués dans les sous-répertoires et les fichiers [`.claude/rules/`](#organize-rules-with-claude/rules/) pour supprimer les instructions obsolètes ou conflictuelles. Dans les monorepos, utilisez [`claudeMdExcludes`](#exclude-specific-claude-md-files) pour ignorer les fichiers CLAUDE.md d'autres équipes qui ne sont pas pertinents pour votre travail.104**Cohérence** : si deux règles se contredisent, Claude peut en choisir une arbitrairement. Examinez régulièrement vos fichiers CLAUDE.md, les fichiers CLAUDE.md imbriqués dans les sous-répertoires et [`.claude/rules/`](#organize-rules-with-claude/rules/) pour supprimer les instructions obsolètes ou conflictuelles. Dans les monorepos, utilisez [`claudeMdExcludes`](#exclude-specific-claude-md-files) pour ignorer les fichiers CLAUDE.md d'autres équipes qui ne sont pas pertinents pour votre travail.

104 105 

105<h3 id="import-additional-files">106<h3 id="import-additional-files">

106 Importer des fichiers supplémentaires107 Importer des fichiers supplémentaires

107</h3>108</h3>

108 109 

109Les fichiers CLAUDE.md peuvent importer des fichiers supplémentaires en utilisant la syntaxe `@path/to/import`. Les fichiers importés sont développés et chargés dans le contexte au lancement aux côtés du CLAUDE.md qui les référence.110Les fichiers CLAUDE.md peuvent importer des fichiers supplémentaires en utilisant la syntaxe `@path/to/import`. Les fichiers importés sont développés et chargés en contexte au lancement aux côtés du CLAUDE.md qui les référence.

110 111 

111Les chemins relatifs et absolus sont autorisés. Les chemins relatifs se résolvent par rapport au fichier contenant l'import, pas au répertoire de travail. Les fichiers importés peuvent importer récursivement d'autres fichiers, avec une profondeur maximale de quatre sauts.112Les chemins relatifs et absolus sont autorisés. Les chemins relatifs se résolvent par rapport au fichier contenant l'import, pas au répertoire de travail. Les fichiers importés peuvent importer récursivement d'autres fichiers, avec une profondeur maximale de quatre sauts.

112 113 

113L'analyse de l'import ignore les étendues de code Markdown et les blocs de code délimités. Pour mentionner un chemin dans votre CLAUDE.md sans l'importer, enveloppez-le dans des backticks : écrire `` `@README` `` garde le texte littéral, tandis que `@README` en dehors des backticks importe le fichier.114L'analyse d'import ignore les étendues de code Markdown et les blocs de code clôturés. Pour mentionner un chemin dans votre CLAUDE.md sans l'importer, enveloppez-le dans des backticks : écrire `` `@README` `` garde le texte littéral, tandis que `@README` en dehors des backticks importe le fichier.

114 115 

115Pour inclure un README, package.json et un guide de flux de travail, référencez-les avec la syntaxe `@` n'importe où dans votre CLAUDE.md :116Pour intégrer un README, package.json et un guide de flux de travail, référencez-les avec la syntaxe `@` n'importe où dans votre CLAUDE.md :

116 117 

117```text theme={null}118```text theme={null}

118Consultez @README pour un aperçu du projet et @package.json pour les commandes npm disponibles pour ce projet.119Consultez @README pour un aperçu du projet et @package.json pour les commandes npm disponibles pour ce projet.


121- flux de travail git @docs/git-instructions.md122- flux de travail git @docs/git-instructions.md

122```123```

123 124 

124Pour les préférences personnelles privées par projet qui ne doivent pas être validées dans le contrôle de version, créez un `CLAUDE.local.md` à la racine du projet. Il se charge aux côtés de `CLAUDE.md` et est traité de la même manière. Ajoutez `CLAUDE.local.md` à votre `.gitignore` pour qu'il ne soit pas validé ; exécuter `/init` et choisir l'option personnelle le fait pour vous.125Pour les préférences personnelles privées par projet qui ne doivent pas être validées dans le contrôle de source, créez un `CLAUDE.local.md` à la racine du projet. Il se charge aux côtés de `CLAUDE.md` et est traité de la même manière. Ajoutez `CLAUDE.local.md` à votre `.gitignore` pour qu'il ne soit pas validé. Avec `CLAUDE_CODE_NEW_INIT=1` défini, l'exécution de `/init` et le choix de l'option personnelle le font pour vous.

125 126 

126Si vous travaillez sur plusieurs git worktrees du même référentiel, un `CLAUDE.local.md` ignoré par git n'existe que dans le worktree où vous l'avez créé. Pour partager des instructions personnelles entre worktrees, importez plutôt un fichier de votre répertoire personnel :127Si vous travaillez sur plusieurs git worktrees du même référentiel, un `CLAUDE.local.md` ignoré par git n'existe que dans le worktree où vous l'avez créé. Pour partager des instructions personnelles entre worktrees, importez plutôt un fichier de votre répertoire personnel :

127 128 


131```132```

132 133 

133<Warning>134<Warning>

134 La première fois que Claude Code rencontre des imports externes dans un projet, il affiche une boîte de dialogue d'approbation listant les fichiers. Si vous refusez, les imports restent désactivés et la boîte de dialogue n'apparaît plus.135 Un import dans un fichier de mémoire au niveau du projet est externe quand son chemin se résout en dehors de votre répertoire de travail, comme l'import du répertoire personnel ci-dessus. La première fois que Claude Code rencontre des imports externes dans un projet, il affiche une boîte de dialogue d'approbation listant les fichiers. Si vous refusez, les imports restent désactivés et la boîte de dialogue n'apparaît plus.

135</Warning>

136 

137Pour une approche plus structurée de l'organisation des instructions, consultez [`.claude/rules/`](#organize-rules-with-claude/rules/).

138 

139<h3 id="agents-md">

140 AGENTS.md

141</h3>

142 

143Claude Code lit `CLAUDE.md`, pas `AGENTS.md`. Si votre référentiel utilise déjà `AGENTS.md` pour d'autres agents de codage, créez un `CLAUDE.md` qui l'importe pour que les deux outils lisent les mêmes instructions sans les dupliquer. Vous pouvez également ajouter des instructions spécifiques à Claude Code en dessous de l'import. Claude charge le fichier importé au démarrage de la session, puis ajoute le reste :

144 

145```markdown CLAUDE.md theme={null}

146@AGENTS.md

147 

148## Claude Code

149 

150Utilisez le mode plan pour les modifications sous `src/billing/`.

151```

152 136 

153Un lien symbolique fonctionne également si vous n'avez pas besoin d'ajouter du contenu spécifique à Claude Code :137 Claude Code affiche la boîte de dialogue pour vous protéger des fichiers que d'autres personnes valident dans un projet partagé. Les fichiers de mémoire au niveau utilisateur, tels que `~/.claude/CLAUDE.md` et `~/.claude/rules/`, sont des fichiers que vous avez écrit vous-même. Sauf dans les sessions [Cowork](https://claude.com/product/cowork) sur votre bureau, Claude Code charge leurs imports sans la boîte de dialogue et les fait confiance comme le reste de votre configuration personnelle.

154 138 

155```bash theme={null}139 Dans les sessions Cowork sur votre bureau, Claude Code ignore tout import dans un fichier au niveau utilisateur qui se résout en un chemin en dehors du répertoire de travail de la session et charge le reste du fichier. Dans ces sessions, il ignore également un `~/.claude/CLAUDE.md` qui est lui-même un lien symbolique ou un lien physique, et un répertoire `~/.claude/rules/` symlinké ou un fichier de règle qui pointe en dehors du répertoire de travail.

156ln -s AGENTS.md CLAUDE.md140</Warning>

157```

158 

159Sur Windows, créer un lien symbolique nécessite les privilèges d'administrateur ou le mode développeur, donc utilisez plutôt l'import `@AGENTS.md`.

160 

161L'exécution de [`/init`](/docs/fr/commands) dans un référentiel qui a déjà un `AGENTS.md` le lit et incorpore les parties pertinentes dans le `CLAUDE.md` généré. Il lit également d'autres configurations d'outils comme `.cursorrules`, `.devin/rules/` et `.windsurfrules`.

162 141 

163<h3 id="how-claude-md-files-load">142<h3 id="how-claude-md-files-load">

164 Comment les fichiers CLAUDE.md se chargent143 Comment les fichiers CLAUDE.md se chargent

165</h3>144</h3>

166 145 

167Claude Code lit les fichiers CLAUDE.md en remontant l'arborescence des répertoires à partir de votre répertoire de travail actuel, en vérifiant chaque répertoire en chemin pour les fichiers `CLAUDE.md` et `CLAUDE.local.md`. Cela signifie que si vous exécutez Claude Code dans `foo/bar/`, il charge les instructions de `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` et tous les fichiers `CLAUDE.local.md` à côté d'eux.146Claude Code charge `CLAUDE.md` et `CLAUDE.local.md` à partir de votre répertoire de travail actuel et de chaque répertoire au-dessus. Exécutez Claude Code dans `foo/bar/` et il charge les instructions de `foo/bar/CLAUDE.md`, `foo/CLAUDE.md` et tous les fichiers `CLAUDE.local.md` qui les accompagnent.

168 147 

169Tous les fichiers découverts sont concaténés dans le contexte plutôt que de se remplacer les uns les autres. Dans l'arborescence des répertoires, le contenu est ordonné de la racine du système de fichiers jusqu'à votre répertoire de travail. Pour l'exemple `foo/bar/`, `foo/CLAUDE.md` apparaît dans le contexte avant `foo/bar/CLAUDE.md`, donc les instructions plus proches de l'endroit où vous avez lancé Claude sont lues en dernier. Dans chaque répertoire, `CLAUDE.local.md` est ajouté après `CLAUDE.md`, donc vos notes personnelles sont la dernière chose que Claude lit à ce niveau.148Tous les fichiers découverts sont concaténés en contexte plutôt que de se remplacer les uns les autres. Dans l'arborescence des répertoires, le contenu est ordonné de la racine du système de fichiers jusqu'à votre répertoire de travail. Pour l'exemple `foo/bar/`, `foo/CLAUDE.md` apparaît en contexte avant `foo/bar/CLAUDE.md`, de sorte que les instructions plus proches de l'endroit où vous avez lancé Claude sont lues en dernier. Dans chaque répertoire, `CLAUDE.local.md` est ajouté après `CLAUDE.md`, de sorte que vos notes personnelles sont la dernière chose que Claude lit à ce niveau.

170 149 

171Claude découvre également les fichiers `CLAUDE.md` et `CLAUDE.local.md` dans les sous-répertoires sous votre répertoire de travail actuel. Au lieu de les charger au lancement, ils sont inclus quand Claude lit les fichiers de ces sous-répertoires.150Claude découvre également les fichiers `CLAUDE.md` et `CLAUDE.local.md` dans les sous-répertoires sous votre répertoire de travail actuel. Au lieu de les charger au lancement, ils sont inclus quand Claude lit les fichiers de ces sous-répertoires.

172 151 

173Si vous travaillez dans un grand monorepo où les fichiers CLAUDE.md d'autres équipes sont détectés, utilisez [`claudeMdExcludes`](#exclude-specific-claude-md-files) pour les ignorer. Pour la disposition complète des fichiers CLAUDE.md racine et par répertoire et des règles, consultez [Monorepos et grands référentiels](/docs/fr/large-codebases).152Si vous travaillez dans un grand monorepo où les fichiers CLAUDE.md d'autres équipes sont détectés, utilisez [`claudeMdExcludes`](#exclude-specific-claude-md-files) pour les ignorer. Pour la disposition complète des fichiers CLAUDE.md racine et par répertoire et des règles, consultez [Monorepos et grands référentiels](/docs/fr/large-codebases).

174 153 

175Les commentaires HTML au niveau des blocs (`<!-- maintainer notes -->`) dans les fichiers CLAUDE.md sont supprimés avant que le contenu ne soit injecté dans le contexte de Claude. Utilisez-les pour laisser des notes aux responsables humains sans dépenser de tokens de contexte. Les commentaires à l'intérieur des blocs de code sont conservés. Quand vous ouvrez un fichier CLAUDE.md directement avec l'outil Read, les commentaires restent visibles.154Les commentaires HTML au niveau des blocs (`<!-- maintainer notes -->`) dans les fichiers CLAUDE.md sont supprimés avant que le contenu ne soit injecté dans le contexte de Claude. Utilisez-les pour laisser des notes aux responsables humains sans dépenser de jetons de contexte. Les commentaires à l'intérieur des blocs de code sont conservés. Quand vous ouvrez un fichier CLAUDE.md directement avec l'outil Read, les commentaires restent visibles.

176 155 

177<h4 id="load-from-additional-directories">156<h4 id="load-from-additional-directories">

178 Charger à partir de répertoires supplémentaires157 Charger à partir de répertoires supplémentaires


192 Organiser les règles avec `.claude/rules/`171 Organiser les règles avec `.claude/rules/`

193</h3>172</h3>

194 173 

195Pour les projets plus grands, vous pouvez organiser les instructions en plusieurs fichiers en utilisant le répertoire `.claude/rules/`. Cela garde les instructions modulaires et plus faciles à maintenir pour les équipes. Les règles peuvent également être [limitées à des chemins de fichiers spécifiques](#path-specific-rules), donc elles ne se chargent dans le contexte que quand Claude travaille avec des fichiers correspondants, réduisant le bruit et économisant l'espace de contexte.174Pour les projets plus importants, vous pouvez organiser les instructions en plusieurs fichiers en utilisant le répertoire `.claude/rules/`. Cela garde les instructions modulaires et plus faciles à maintenir pour les équipes. Les règles peuvent également être [scoped à des chemins de fichiers spécifiques](#path-specific-rules), de sorte qu'elles ne se chargent en contexte que quand Claude travaille avec des fichiers correspondants, réduisant le bruit et économisant l'espace de contexte.

196 175 

197<Note>176<Note>

198 Les règles se chargent dans le contexte à chaque session ou quand les fichiers correspondants sont ouverts. Pour les instructions spécifiques à une tâche qui n'ont pas besoin d'être dans le contexte tout le temps, utilisez plutôt les [skills](/docs/fr/skills), qui ne se chargent que quand vous les invoquez ou quand Claude détermine qu'elles sont pertinentes pour votre invite.177 Les règles se chargent en contexte à chaque session ou quand des fichiers correspondants sont ouverts. Pour les instructions spécifiques à une tâche qui n'ont pas besoin d'être en contexte tout le temps, utilisez plutôt les [compétences](/docs/fr/skills), qui ne se chargent que quand vous les invoquez ou quand Claude détermine qu'elles sont pertinentes pour votre invite.

199</Note>178</Note>

200 179 

201<h4 id="set-up-rules">180<h4 id="set-up-rules">

202 Configurer les règles181 Configurer les règles

203</h4>182</h4>

204 183 

205Placez les fichiers markdown dans le répertoire `.claude/rules/` de votre projet. Chaque fichier doit couvrir un sujet, avec un nom de fichier descriptif comme `testing.md` ou `api-design.md`. Tous les fichiers `.md` sont découverts récursivement, vous pouvez donc organiser les règles en sous-répertoires comme `frontend/` ou `backend/` :184Placez les fichiers markdown dans le répertoire `.claude/rules/` de votre projet. Chaque fichier doit couvrir un sujet, avec un nom de fichier descriptif comme `testing.md` ou `api-design.md`. Tous les fichiers `.md` sont découverts récursivement, de sorte que vous pouvez organiser les règles en sous-répertoires comme `frontend/` ou `backend/` :

206 185 

207```text theme={null}186```text theme={null}

208your-project/187your-project/


216 195 

217Les règles sans [frontmatter `paths`](#path-specific-rules) sont chargées au lancement avec la même priorité que `.claude/CLAUDE.md`.196Les règles sans [frontmatter `paths`](#path-specific-rules) sont chargées au lancement avec la même priorité que `.claude/CLAUDE.md`.

218 197 

198Les règles de projet sont ignorées si vous excluez `project` de [`--setting-sources`](/docs/fr/cli-reference). Avant v2.1.211, les règles qui se chargent à la demande, y compris les règles scoped par chemin et les règles dans les répertoires `.claude/rules/` imbriqués, se chargeaient même quand `project` était exclu.

199 

219<h4 id="path-specific-rules">200<h4 id="path-specific-rules">

220 Règles spécifiques au chemin201 Règles spécifiques au chemin

221</h4>202</h4>

222 203 

223Les règles peuvent être limitées à des fichiers spécifiques en utilisant le frontmatter YAML avec le champ `paths`. Ces règles conditionnelles ne s'appliquent que quand Claude travaille avec des fichiers correspondant aux modèles spécifiés.204Les règles peuvent être scoped à des fichiers spécifiques en utilisant le frontmatter YAML avec le champ `paths`. Ces règles conditionnelles ne s'appliquent que quand Claude travaille avec des fichiers correspondant aux modèles spécifiés.

224 205 

225```markdown theme={null}206```markdown theme={null}

226---207---


231# Règles de développement d'API212# Règles de développement d'API

232 213 

233- Tous les points de terminaison d'API doivent inclure la validation des entrées214- Tous les points de terminaison d'API doivent inclure la validation des entrées

234- Utilisez le format de réponse d'erreur standard215- Utiliser le format de réponse d'erreur standard

235- Incluez les commentaires de documentation OpenAPI216- Inclure les commentaires de documentation OpenAPI

236```217```

237 218 

238Les règles sans champ `paths` sont chargées sans condition et s'appliquent à tous les fichiers. Les règles limitées au chemin se déclenchent quand Claude lit les fichiers correspondant au modèle, pas à chaque utilisation d'outil. À partir de la v2.1.198, la correspondance fonctionne également quand Claude atteint un fichier via un chemin symlinké vers le répertoire du projet, par exemple dans un checkout symlinké.219Les règles sans champ `paths` sont chargées sans condition et s'appliquent à tous les fichiers. Les règles scoped par chemin se déclenchent quand Claude lit les fichiers correspondant au modèle, pas à chaque utilisation d'outil. À partir de v2.1.198, la correspondance fonctionne également quand Claude atteint un fichier via un chemin symlinké vers le répertoire du projet, par exemple dans un checkout symlinké.

239 220 

240Utilisez les modèles glob dans le champ `paths` pour faire correspondre les fichiers par extension, répertoire ou toute combinaison :221Utilisez les modèles glob dans le champ `paths` pour faire correspondre les fichiers par extension, répertoire ou toute combinaison :

241 222 


246| `*.md` | Fichiers Markdown à la racine du projet |227| `*.md` | Fichiers Markdown à la racine du projet |

247| `src/components/*.tsx` | Composants React dans un répertoire spécifique |228| `src/components/*.tsx` | Composants React dans un répertoire spécifique |

248 229 

249Vous pouvez spécifier plusieurs modèles et utiliser l'expansion entre accolades pour faire correspondre plusieurs extensions dans un seul modèle :230Vous pouvez spécifier plusieurs modèles et utiliser l'expansion entre accolades pour faire correspondre plusieurs extensions dans un modèle :

250 231 

251```markdown theme={null}232```markdown theme={null}

252---233---


257---238---

258```239```

259 240 

260Glob syntax treats `[` as the start of a bracket expression such as `[abc]`. A pattern with a `[` that can't be read as a bracket expression, such as `photos [2024/**`, is invalid: it matches nothing, and the rule's other patterns keep working. To match a literal `[` in a file name, escape it as `photos \[2024/**`. Before v2.1.207, one invalid pattern made the Read tool fail for every file the rule was evaluated against, instead of matching nothing.241Chaque groupe entre accolades multiplie le nombre de modèles développés : `src/*.{ts,tsx}` se développe en deux modèles, et `{a,b}/{c,d}/*.{ts,tsx}` en huit. Pour garder l'expansion limitée, la liste `paths` entière d'une règle partage un budget de 1 000 modèles développés et 4 MiB, et les modèles sans accolades ne comptent pas contre lui.

242 

243Claude Code utilise tout modèle qui dépasserait le budget non développé, et ses accolades littérales ne correspondent à aucun fichier. Avant v2.1.217, une valeur `paths` avec de nombreux groupes entre accolades bloquait ou plantait le CLI au démarrage.

244 

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.

261 246 

262<h4 id="share-rules-across-projects-with-symlinks">247<h4 id="share-rules-across-projects-with-symlinks">

263 Partager les règles entre les projets avec des liens symboliques248 Partager les règles entre les projets avec des symlinks

264</h4>249</h4>

265 250 

266Le répertoire `.claude/rules/` supporte les liens symboliques, vous pouvez donc maintenir un ensemble partagé de règles et les lier dans plusieurs projets. Les liens symboliques sont résolus et chargés normalement, et les liens symboliques circulaires sont détectés et gérés correctement.251Le répertoire `.claude/rules/` supporte les symlinks, de sorte que vous pouvez maintenir un ensemble partagé de règles et les lier dans plusieurs projets. Les symlinks circulaires sont détectés et gérés correctement.

252 

253Claude Code traite un symlink dont la cible se trouve en dehors de votre répertoire de travail comme un [import externe](#import-additional-files). Les règles liées ne se chargent pas jusqu'à ce que vous approuviez les imports externes pour le projet, et après cela seulement celles sans champ [`paths`](#path-specific-rules) se chargent. Claude Code demande cette approbation uniquement quand un fichier de mémoire de projet importe un fichier en dehors du répertoire de travail avec `@path`, pas pour les symlinks seuls. Pour charger les règles partagées sans cette approbation, gardez-les dans [`~/.claude/rules/`](#user-level-rules), où elles s'appliquent à chaque projet sur votre machine.

267 254 

268Cet exemple lie à la fois un répertoire partagé et un fichier individuel :255Cet exemple lie à la fois un répertoire partagé et un fichier individuel :

269 256 


284└── workflows.md # Vos flux de travail préférés271└── workflows.md # Vos flux de travail préférés

285```272```

286 273 

287Les règles au niveau utilisateur sont chargées avant les règles du projet, donnant aux règles du projet une priorité plus élevée.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.

288 275 

289<h3 id="manage-claude-md-for-large-teams">276<h3 id="manage-claude-md-for-large-teams">

290 Gérer CLAUDE.md pour les grandes équipes277 Gérer CLAUDE.md pour les grandes équipes

291</h3>278</h3>

292 279 

293Pour les organisations déployant Claude Code dans les équipes, vous pouvez centraliser les instructions et contrôler quels fichiers CLAUDE.md sont chargés.280Pour les organisations déployant Claude Code sur plusieurs équipes, vous pouvez centraliser les instructions et contrôler quels fichiers CLAUDE.md sont chargés.

294 281 

295<h4 id="deploy-organization-wide-claude-md">282<h4 id="deploy-organization-wide-claude-md">

296 Déployer un CLAUDE.md à l'échelle de l'organisation283 Déployer un CLAUDE.md à l'échelle de l'organisation

297</h4>284</h4>

298 285 

299Les organisations peuvent déployer un CLAUDE.md géré centralement qui s'applique à tous les utilisateurs sur une machine. Ce fichier ne peut pas être exclu par les paramètres individuels.286Les organisations peuvent déployer un CLAUDE.md géré de manière centralisée qui s'applique à tous les utilisateurs sur une machine. Ce fichier ne peut pas être exclu par les paramètres individuels.

300 287 

301<Steps>288<Steps>

302 <Step title="Créer le fichier à l'emplacement de la politique gérée">289 <Step title="Créer le fichier à l'emplacement de la politique gérée">


306 </Step>293 </Step>

307 294 

308 <Step title="Déployer avec votre système de gestion de configuration">295 <Step title="Déployer avec votre système de gestion de configuration">

309 Utilisez MDM, Group Policy, Ansible ou des outils similaires pour distribuer le fichier sur les machines des développeurs. Consultez les [paramètres gérés](/docs/fr/permissions#managed-settings) pour d'autres options de configuration à l'échelle de l'organisation.296 Utilisez MDM, Group Policy, Ansible ou des outils similaires pour distribuer le fichier sur les machines des développeurs. Consultez [paramètres gérés](/docs/fr/managed-settings) pour d'autres options de configuration à l'échelle de l'organisation.

310 </Step>297 </Step>

311</Steps>298</Steps>

312 299 

313La clé `claudeMd` vous permet de placer le contenu CLAUDE.md géré directement dans `managed-settings.json` au lieu de déployer un fichier séparé.300La clé `claudeMd` vous permet de placer le contenu CLAUDE.md géré directement dans `managed-settings.json` au lieu de déployer un fichier séparé.

314 301 

315**Portée** : chaque session Claude Code sur la machine, dans chaque référentiel. Pour des conseils spécifiques au référentiel, validez plutôt un CLAUDE.md de projet.302**Portée** : chaque session Claude Code sur la machine, dans chaque référentiel. Pour des conseils spécifiques au référentiel, validez un CLAUDE.md de projet à la place.

316 303 

317**Précédence** : identique à un fichier CLAUDE.md géré. Se charge avant CLAUDE.md utilisateur et projet.304**Précédence** : identique à un fichier CLAUDE.md géré. Se charge avant CLAUDE.md utilisateur et projet.

318 305 

319**Où c'est respecté** : paramètres gérés et politiques uniquement. Définir `claudeMd` dans les paramètres utilisateur, projet ou locaux n'a aucun effet.306**Où c'est honoré** : paramètres gérés et politiques uniquement. Définir `claudeMd` dans les paramètres utilisateur, projet ou locaux n'a aucun effet.

320 307 

321L'exemple ci-dessous ajoute des instructions comportementales directement dans un fichier de paramètres gérés :308L'exemple ci-dessous ajoute des instructions comportementales directement dans un fichier de paramètres gérés :

322 309 

323```json theme={null}310```json theme={null}

324{311{

325 "claudeMd": "Exécutez toujours `make lint` avant de valider.\nNe poussez jamais directement vers main."312 "claudeMd": "Always run `make lint` before committing.\nNever push directly to main."

326}313}

327```314```

328 315 

329Un CLAUDE.md géré et les [paramètres gérés](/docs/fr/settings#settings-files) servent des objectifs différents. Utilisez les paramètres pour l'application technique et CLAUDE.md pour les conseils comportementaux :316Un CLAUDE.md géré et les [paramètres gérés](/docs/fr/managed-settings) servent des objectifs différents. Utilisez les paramètres pour l'application technique et CLAUDE.md pour les conseils comportementaux :

330 317 

331| Préoccupation | Configurer dans |318| Préoccupation | Configurer dans |

332| :--------------------------------------------------------------- | :--------------------------------------------------------- |319| :--------------------------------------------------------------- | :--------------------------------------------------------- |

333| Bloquer des outils, commandes ou chemins de fichiers spécifiques | Paramètres gérés : `permissions.deny` |320| Bloquer des outils, commandes ou chemins de fichiers spécifiques | Paramètres gérés : `permissions.deny` |

334| Appliquer l'isolation du sandbox | Paramètres gérés : `sandbox.enabled` |321| Appliquer l'isolation du sandbox | Paramètres gérés : `sandbox.enabled` |

335| Variables d'environnement et routage du fournisseur d'API | Paramètres gérés : `env` |322| Variables d'environnement et routage du fournisseur d'API | Paramètres gérés : `env` |

336| Méthode d'authentification et verrouillage de l'organisation | Paramètres gérés : `forceLoginMethod`, `forceLoginOrgUUID` |323| Méthode de connexion et restrictions d'organisation | Paramètres gérés : `forceLoginMethod`, `forceLoginOrgUUID` |

337| Directives de style de code et de qualité | CLAUDE.md géré |324| Directives de style de code et de qualité | CLAUDE.md géré |

338| Rappels de traitement des données et de conformité | CLAUDE.md géré |325| Rappels de gestion des données et de conformité | CLAUDE.md géré |

339| Instructions comportementales pour Claude | CLAUDE.md géré |326| Instructions comportementales pour Claude | CLAUDE.md géré |

340 327 

341Les règles de paramètres sont appliquées par le client indépendamment de ce que Claude décide de faire. Les instructions CLAUDE.md façonnent le comportement de Claude mais ne constituent pas une couche d'application stricte.328Les règles de paramètres sont appliquées par le client indépendamment de ce que Claude décide de faire. Les instructions CLAUDE.md façonnent le comportement de Claude mais ne constituent pas une couche d'application stricte.


357}344}

358```345```

359 346 

360Les modèles sont comparés aux chemins de fichiers absolus en utilisant la syntaxe glob. Vous pouvez configurer `claudeMdExcludes` à n'importe quel [niveau de paramètres](/docs/fr/settings#settings-files) : utilisateur, projet, local ou politique gérée. Les tableaux fusionnent entre les niveaux.347Les modèles sont mis en correspondance avec les chemins de fichiers absolus en utilisant la syntaxe glob. Vous pouvez configurer `claudeMdExcludes` à n'importe quelle [couche de paramètres](/docs/fr/settings#where-settings-live) : utilisateur, projet, local ou politique gérée. Les tableaux fusionnent entre les couches.

348 

349Pour exclure un fichier de règles que vous atteignez via un [symlink](#share-rules-across-projects-with-symlinks), que le fichier ou son répertoire soit le lien, écrivez le modèle par rapport à l'un ou l'autre chemin : le chemin du fichier sous `.claude/rules/` ou sa cible de lien. Un modèle qui correspond à l'un ou l'autre chemin exclut le fichier. Avant v2.1.239, seul un modèle qui correspondait à la cible du lien excluait le fichier.

361 350 

362Les fichiers CLAUDE.md de politique gérée ne peuvent pas être exclus. Cela garantit que les instructions à l'échelle de l'organisation s'appliquent toujours indépendamment des paramètres individuels.351Les fichiers CLAUDE.md de politique gérée ne peuvent pas être exclus. Cela garantit que les instructions à l'échelle de l'organisation s'appliquent toujours indépendamment des paramètres individuels.

363 352 

353<h2 id="agents-md">

354 AGENTS.md

355</h2>

356 

357Claude Code peut lire [`AGENTS.md`](/docs/fr/glossary#agents-md) comme vos instructions de projet, donc un référentiel déjà configuré pour d'autres agents de codage fonctionne sans ajouter un `CLAUDE.md`, une importation ou un paramètre. Ce tableau montre ce que Claude lit par défaut pour chaque combinaison de fichiers d'instructions dans votre référentiel :

358 

359| Votre référentiel contient | Claude lit |

360| :------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------- |

361| Un `AGENTS.md`, et aucun `CLAUDE.md` ou `CLAUDE.local.md` dans votre répertoire de travail ou au-dessus | Votre `AGENTS.md` |

362| Un `AGENTS.md` et un `CLAUDE.md` ou `CLAUDE.local.md` dans votre répertoire de travail ou au-dessus | Vos fichiers `CLAUDE.md` uniquement |

363| Un `CLAUDE.md` qui [importe déjà `AGENTS.md`](#share-one-file-with-other-coding-tools) | Votre `CLAUDE.md`, avec `AGENTS.md` inclus via l'importation |

364 

365Pour modifier le comportement par défaut, par exemple pour que Claude lise toujours les deux fichiers, lise uniquement `CLAUDE.md`, ou lise uniquement les instructions gérées de votre organisation, [modifiez le paramètre **Instructions du projet**](#choose-which-instruction-files-load).

366 

367<Note>

368 La lecture directe de `AGENTS.md` nécessite Claude Code v2.1.277 ou une version ultérieure. Dans certaines sessions, comme celles sur Amazon Bedrock ou avec la télémétrie désactivée, Claude [ne peut pas lire `AGENTS.md`](#when-agents-md-support-is-unavailable), donc [importez-le à partir d'un `CLAUDE.md`](#share-one-file-with-other-coding-tools) à la place.

369</Note>

370 

371<h3 id="when-claude-code-reads-agents-md">

372 Quand Claude Code lit AGENTS.md

373</h3>

374 

375Par défaut, Claude lit `AGENTS.md` uniquement quand vous n'avez pas de `CLAUDE.md` dans votre répertoire de travail ou au-dessus. Voici lesquels de vos fichiers comptent pour cette vérification :

376 

377* **Comptent, donc Claude les lit à la place de `AGENTS.md`** : un `CLAUDE.md`, `.claude/CLAUDE.md`, ou `CLAUDE.local.md` dans votre répertoire de travail ou n'importe quel répertoire au-dessus

378* **Ne comptent pas, et continuent à se charger aux côtés de `AGENTS.md`** : votre `~/.claude/CLAUDE.md`, le `CLAUDE.md` géré de votre organisation, et les fichiers `.claude/rules/`

379 

380Quand aucun ne compte, voici ce que Claude lit et comment vous pouvez le dire :

381 

382* **Au démarrage de la session** : tous les `AGENTS.md` et `.claude/AGENTS.md` dans votre répertoire de travail et les répertoires au-dessus. Dans une session interactive, vous voyez une ligne comme `no CLAUDE.md found; AGENTS.md loaded: /home/you/repo/AGENTS.md` dans la conversation

383* **Quand Claude travaille dans les sous-répertoires** : le `AGENTS.md` d'un sous-répertoire, quand Claude ouvre un fichier là avec l'outil Read et ce sous-répertoire n'a aucun des trois fichiers `CLAUDE.md` qui lui sont propres

384* **À l'intérieur de chaque `AGENTS.md`** : les importations [`@path`](#import-additional-files) sont développées, les motifs [`claudeMdExcludes`](#exclude-specific-claude-md-files) s'appliquent, et les sous-agents qui [ignorent les instructions du projet](/docs/fr/sub-agents#what-loads-at-startup) ignorent aussi ces fichiers

385* **Non lus** : `AGENTS.local.md`, `AGENTS.override.md`, ou n'importe quoi sous un répertoire `.agents/`

386 

387<Note>

388 Parce que `CLAUDE.local.md` compte, en ajouter un pour conserver vos propres instructions non validées dans un projet qui repose sur `AGENTS.md` arrête Claude de lire `AGENTS.md` pour vous. Pour conserver votre `CLAUDE.local.md` et toujours avoir Claude qui lit `AGENTS.md`, définissez **Instructions du projet** sur [`claude-md-and-agents-md`](#choose-which-instruction-files-load).

389</Note>

390 

391<h3 id="choose-which-instruction-files-load">

392 Choisir quels fichiers d'instructions charger

393</h3>

394 

395Pour modifier les fichiers que Claude lit, tapez `/config` dans une session Claude Code pour ouvrir le panneau des paramètres, puis définissez **Instructions du projet** sur l'une de ces valeurs :

396 

397| Valeur | Ce que Claude lit |

398| :------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

399| `claude-md-or-agents-md` | Vos fichiers `CLAUDE.md`, ou vos fichiers `AGENTS.md` quand vous n'avez pas de `CLAUDE.md` ou `CLAUDE.local.md` dans votre répertoire de travail ou au-dessus. C'est la valeur par défaut |

400| `claude-md-and-agents-md` | Vos fichiers `CLAUDE.md` et `AGENTS.md` ensemble, le `CLAUDE.md` de chaque répertoire en premier et son `AGENTS.md` après. Claude Code ignore un `AGENTS.md` qu'il a déjà chargé, donc celui que votre `CLAUDE.md` importe ou crée un lien symbolique vers n'est pas lu deux fois |

401| `claude-md` | Vos fichiers `CLAUDE.md` uniquement |

402| `managed-only` | Uniquement le `CLAUDE.md` géré de votre organisation et la [mémoire automatique](#auto-memory) au lancement. Vos fichiers `CLAUDE.md` de projet, local et utilisateur, vos fichiers `.claude/rules/`, et tous les `AGENTS.md` sont exclus. Le `CLAUDE.md` et les fichiers `.claude/rules/` d'un sous-répertoire, et les [règles délimitées par chemin](#path-specific-rules), se chargent toujours quand Claude lit un fichier là |

403 

404Vous pouvez également définir la valeur dans un fichier de paramètres au lieu de `/config`. Ajoutez-la sous l'ID du plugin `agents-md` intégré dans [`pluginConfigs`](/docs/fr/settings-reference#pluginconfigs), dans `~/.claude/settings.json`, un fichier `--settings`, ou les [paramètres gérés](/docs/fr/managed-settings). Claude Code l'ignore dans les fichiers de paramètres de projet et locaux. Cet exemple fait que Claude lit les deux fichiers :

405 

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

407{

408 "pluginConfigs": {

409 "agents-md@builtin": {

410 "options": { "instructionFiles": "claude-md-and-agents-md" }

411 }

412 }

413}

414```

415 

416Votre modification s'applique à partir du prochain message que vous envoyez et dans chaque nouvelle session.

417 

418<h3 id="when-agents-md-support-is-unavailable">

419 Quand le support de AGENTS.md n'est pas disponible

420</h3>

421 

422Dans ces sessions, Claude lit uniquement les fichiers `CLAUDE.md`, et **Instructions du projet** n'apparaît pas dans le panneau des paramètres `/config` :

423 

424* 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è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 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`

428 

429Pour donner votre `AGENTS.md` à Claude dans ces sessions, [importez-le à partir d'un `CLAUDE.md`](#share-one-file-with-other-coding-tools).

430 

431<h3 id="where-agents-md-differs-from-claude-md">

432 Où AGENTS.md diffère de CLAUDE.md

433</h3>

434 

435Un `AGENTS.md` que Claude lit via le paramètre **Instructions du projet** diffère d'un `CLAUDE.md` à ces endroits :

436 

437| | `CLAUDE.md` | `AGENTS.md` lu via le paramètre |

438| :------------------------------------------------------------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

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 |

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 |

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 |

443 

444<h3 id="remove-an-earlier-agents-md-workaround">

445 Supprimer une ancienne solution de contournement AGENTS.md

446</h3>

447 

448Si vous avez configuré Claude Code pour lire `AGENTS.md` avant qu'il ne le fasse de lui-même, voici ce qu'il faut faire avec chaque configuration courante :

449 

450* **Un `CLAUDE.md` contenant `@AGENTS.md`** : vous pouvez le laisser. Conserver l'importation ne fait jamais que Claude lise `AGENTS.md` deux fois, quelle que soit la valeur **Instructions du projet** que vous utilisez. Supprimez le `CLAUDE.md` s'il ne contient rien d'autre, ou conservez-le si certaines de vos sessions [ne peuvent pas charger `AGENTS.md` directement](#when-agents-md-support-is-unavailable).

451* **Un `CLAUDE.md` qui dit à Claude en mots de lire `AGENTS.md`** : Claude ne voit `AGENTS.md` que s'il décide d'ouvrir le fichier. Supprimez le `CLAUDE.md` pour que Claude lise `AGENTS.md` directement, ou remplacez la phrase par une importation `@AGENTS.md`.

452* **Un `CLAUDE.md` lié symboliquement à `AGENTS.md`** : rien, ou supprimez le lien symbolique. De toute façon, Claude lit le contenu une fois.

453* **Un hook `SessionStart` qui imprime `AGENTS.md`** : supprimez-le. Une fois que Claude lit `AGENTS.md` directement, le hook ajoute une deuxième copie au contexte.

454 

455<h3 id="share-one-file-with-other-coding-tools">

456 Partager un fichier avec d'autres outils de codage

457</h3>

458 

459Quand Claude ne lit pas votre `AGENTS.md` directement, vous pouvez toujours le conserver comme le seul fichier que chaque outil partage en mettant une importation `@AGENTS.md` dans un `CLAUDE.md` à côté. Faites cela quand votre projet a aussi un `CLAUDE.md`, quand vous avez défini **Instructions du projet** sur `claude-md`, ou dans les sessions qui [ne peuvent pas charger `AGENTS.md`](#when-agents-md-support-is-unavailable). Ajoutez toutes les instructions spécifiques à Claude sous l'importation, et Claude lit le fichier importé en premier, puis le reste :

460 

461```markdown CLAUDE.md theme={null}

462@AGENTS.md

463 

464## Claude Code

465 

466Use plan mode for changes under `src/billing/`.

467```

468 

469Si vous n'avez pas besoin de contenu spécifique à Claude, un lien symbolique fonctionne aussi :

470 

471```bash theme={null}

472ln -s AGENTS.md CLAUDE.md

473```

474 

475La commande n'imprime rien en cas de succès. Avant de choisir le lien symbolique plutôt que l'importation, vérifiez ces contraintes :

476 

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

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

479 

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

481 

482<h3 id="migrate-instructions-from-other-tools">

483 Migrer les instructions d'autres outils

484</h3>

485 

486L'exécution de [`/init`](/docs/fr/commands) lit les fichiers d'instructions d'autres outils et incorpore les parties pertinentes dans le `CLAUDE.md` généré :

487 

488* Règles Cursor dans `.cursor/rules/` ou `.cursorrules`

489* Règles Copilot dans `.github/copilot-instructions.md`

490* Avec `CLAUDE_CODE_NEW_INIT=1` défini : `AGENTS.md`, `.devin/rules/`, `.windsurf/rules/` ou `.windsurfrules`, et `.clinerules`

491 

492Vous pouvez également exécuter [`/import`](/docs/fr/commands) pour apporter la configuration d'un agent de codage pris en charge dans Claude Code, qui ajoute une copie unique de fichiers d'instructions tels que `AGENTS.md` au `CLAUDE.md` correspondant et transporte les serveurs MCP, les commandes, les sous-agents et les compétences. Nécessite Claude Code v2.1.213 ou une version ultérieure.

493 

364<h2 id="auto-memory">494<h2 id="auto-memory">

365 Mémoire automatique495 Mémoire automatique

366</h2>496</h2>

367 497 

368La mémoire automatique permet à Claude d'accumuler des connaissances d'une session à l'autre sans que vous n'écriviez rien. Claude enregistre des notes pour lui-même au fur et à mesure qu'il travaille : commandes de compilation, insights de débogage, notes d'architecture, préférences de style de code et habitudes de flux de travail. Claude ne sauvegarde pas quelque chose à chaque session. Il décide ce qui vaut la peine d'être mémorisé en fonction de si l'information serait utile dans une conversation future.498La mémoire automatique permet à Claude d'accumuler des connaissances d'une session à l'autre sans que vous n'écriviez rien. Au fur et à mesure qu'il travaille, Claude enregistre quatre types de notes pour lui-même. Claude enregistre le type sous la forme d'un champ `type` dans le frontmatter du fichier de mémoire :

499 

500* `user` : votre rôle, expertise et préférences de travail

501* `feedback` : les corrections que vous donnez à Claude et les approches que vous confirmez

502* `project` : le travail en cours, les délais et les décisions que Claude ne peut pas déduire du code ou de l'historique git

503* `reference` : où trouver des informations en dehors du projet, comme un suivi de problèmes ou un tableau de bord

504 

505Claude ignore tout ce qu'il peut déduire de la base de code, comme l'architecture, les chemins de fichiers ou les correctifs de débogage. Il ignore également tout ce que vos fichiers CLAUDE.md disent déjà.

506 

507Claude ne sauvegarde pas quelque chose à chaque session. Il décide ce qui vaut la peine d'être mémorisé en fonction de si l'information serait utile dans une conversation future.

369 508 

370<h3 id="enable-or-disable-auto-memory">509<h3 id="enable-or-disable-auto-memory">

371 Activer ou désactiver la mémoire automatique510 Activer ou désactiver la mémoire automatique

372</h3>511</h3>

373 512 

374La mémoire automatique est activée par défaut. Pour la basculer, ouvrez `/memory` dans une session et utilisez le bouton bascule de mémoire automatique, ou définissez `autoMemoryEnabled` dans vos paramètres de projet :513La mémoire automatique est activée par défaut. Pour la basculer, ouvrez `/memory` dans une session et utilisez le bouton bascule de mémoire automatique, qui enregistre `autoMemoryEnabled` dans vos paramètres utilisateur à `~/.claude/settings.json`. Pour la désactiver pour un seul projet, définissez `autoMemoryEnabled` dans les paramètres de ce projet :

375 514 

376```json theme={null}515```json theme={null}

377{516{


387 526 

388Chaque projet obtient son propre répertoire de mémoire à `~/.claude/projects/<project>/memory/`. Le chemin `<project>` est dérivé du référentiel git, donc tous les worktrees et sous-répertoires dans le même référentiel partagent un répertoire de mémoire automatique. En dehors d'un référentiel git, la racine du projet est utilisée à la place.527Chaque projet obtient son propre répertoire de mémoire à `~/.claude/projects/<project>/memory/`. Le chemin `<project>` est dérivé du référentiel git, donc tous les worktrees et sous-répertoires dans le même référentiel partagent un répertoire de mémoire automatique. En dehors d'un référentiel git, la racine du projet est utilisée à la place.

389 528 

529Si vous définissez [`CLAUDE_CODE_PROJECT_DIR_NAME`](/docs/fr/sessions#name-the-project-directory-yourself) à côté de `CLAUDE_CONFIG_DIR`, Claude Code utilise ce nom comme répertoire `<project>` sous `<config dir>/projects/` quel que soit le référentiel dans lequel vous le lancez, donc les projets lancés avec ce répertoire de configuration partagent un répertoire de mémoire automatique. Nécessite Claude Code v2.1.234 ou ultérieur.

530 

390Pour stocker la mémoire automatique dans un emplacement différent, définissez `autoMemoryDirectory` dans votre `settings.json`. Il est lu à partir de n'importe quel [scope de paramètres](/docs/fr/settings#settings-precedence) : utilisateur, projet, local, politique, ou `--settings`.531Pour stocker la mémoire automatique dans un emplacement différent, définissez `autoMemoryDirectory` dans votre `settings.json`. Il est lu à partir de n'importe quel [scope de paramètres](/docs/fr/settings#settings-precedence) : utilisateur, projet, local, politique, ou `--settings`.

391 532 

392```json theme={null}533```json theme={null}


395}536}

396```537```

397 538 

398La valeur doit être un chemin absolu ou commencer par `~/`. Lorsqu'elle est définie dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un projet, la valeur n'est honorée qu'après avoir accepté la boîte de dialogue de confiance de l'espace de travail pour ce dossier, la même barrière qui régit les hooks.539La valeur doit être un chemin absolu ou commencer par `~/`.

540 

541Lorsqu'elle est définie dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un projet, Claude Code l'honore selon la même [règle de confiance de l'espace de travail que les hooks dans les fichiers de paramètres](/docs/fr/permissions#what-runs-before-you-trust-a-folder). Tandis que [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) est activé, Claude Code ne charge aucune mémoire automatique à partir d'un répertoire qu'un [fichier de paramètres fourni par le référentiel](/docs/fr/permissions#when-your-local-settings-file-needs-trust) choisit et n'en sauvegarde aucune, où que ce répertoire se trouve.

399 542 

400Le répertoire contient un point d'entrée `MEMORY.md` et des fichiers de sujet optionnels :543Le répertoire contient un index `MEMORY.md` et un fichier de sujet par mémoire :

401 544 

402```text theme={null}545```text theme={null}

403~/.claude/projects/<project>/memory/546~/.claude/projects/<project>/memory/

404├── MEMORY.md # Index concis, chargé dans chaque session547├── MEMORY.md # Index, une ligne par mémoire, chargé dans chaque session

405├── debugging.md # Notes détaillées sur les modèles de débogage548├── user_role.md # Une mémoire

406├── api-conventions.md # Décisions de conception d'API549├── feedback_testing.md # Une mémoire

407└── ... # Tout autre fichier de sujet que Claude crée550└── ... # Tout autre fichier de sujet que Claude crée

408```551```

409 552 


411 554 

412La mémoire automatique est locale à la machine. Tous les worktrees et sous-répertoires dans le même référentiel git partagent un répertoire de mémoire automatique. Les fichiers ne sont pas partagés entre les machines ou les environnements cloud.555La mémoire automatique est locale à la machine. Tous les worktrees et sous-répertoires dans le même référentiel git partagent un répertoire de mémoire automatique. Les fichiers ne sont pas partagés entre les machines ou les environnements cloud.

413 556 

557Claude Code supprime les anciennes transcriptions de session après la période de rétention [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), mais exclut les fichiers de mémoire du répertoire de mémoire de ce [balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically). `MEMORY.md` et les fichiers de sujet restent jusqu'à ce que vous ou Claude les modifiiez ou les supprimiez.

558 

414<h3 id="how-it-works">559<h3 id="how-it-works">

415 Comment ça marche560 Comment ça marche

416</h3>561</h3>

417 562 

418Les 200 premières lignes de `MEMORY.md`, ou les premiers 25 KB, selon ce qui vient en premier, sont chargés au début de chaque conversation. Le contenu au-delà de ce seuil n'est pas chargé au démarrage de la session. Claude garde `MEMORY.md` concis en déplaçant les notes détaillées dans des fichiers de sujet séparés.563Les 200 premières lignes de `MEMORY.md`, ou les premiers 25 KB, selon ce qui vient en premier, sont chargés au début de chaque conversation. Le contenu au-delà de ce seuil n'est pas chargé au démarrage de la session. Claude garde `MEMORY.md` concis en déplaçant les notes détaillées dans des fichiers de sujet séparés.

419 564 

420Cette limite s'applique uniquement à `MEMORY.md`. Les fichiers CLAUDE.md sont chargés en intégralité indépendamment de la longueur, bien que les fichiers plus courts produisent une meilleure adhérence.565Après que Claude écrive dans `MEMORY.md`, Claude Code mesure le fichier par rapport aux limites de lecture de 200 lignes et 25 KB. Si le fichier est proche d'une limite, Claude Code rappelle à Claude de le raccourcir : garder une ligne par entrée, déplacer les détails dans les fichiers de sujet, et fusionner ou supprimer les entrées obsolètes. Si le fichier dépasse une limite, l'écriture réussit toujours, mais Claude Code retourne une [erreur indiquant à Claude de réécrire l'index](/docs/fr/errors#memory-index-is-over-its-read-limit), car tout ce qui dépasse la limite est supprimé au prochain chargement.

566 

567Cette limite s'applique uniquement à `MEMORY.md`. Claude Code charge un fichier CLAUDE.md de jusqu'à 4 MiB en intégralité et ignore un fichier plus volumineux. Les fichiers plus courts produisent une meilleure adhérence.

421 568 

422Les fichiers de sujet comme `debugging.md` ou `patterns.md` ne sont pas chargés au démarrage. Claude les lit à la demande en utilisant ses outils de fichiers standard quand il a besoin de l'information.569Claude Code ne charge pas les fichiers de sujet tels que `user_role.md` ou `feedback_testing.md` au démarrage. Claude les lit à la demande en utilisant ses outils de fichiers standard quand il a besoin de l'information.

423 570 

424Claude lit et écrit les fichiers de mémoire pendant votre session. Quand vous voyez « Writing memory » ou « Recalled memory » dans l'interface Claude Code, Claude met activement à jour ou lit à partir de `~/.claude/projects/<project>/memory/`.571La mémoire automatique de la conversation principale n'est pas chargée dans les [sous-agents](/docs/fr/sub-agents#what-loads-at-startup) ; l'exception est un [fork](/docs/fr/sub-agents#fork-the-current-conversation), qui hérite de la conversation parent et de l'invite système. La propre mémoire automatique d'un sous-agent, activée avec le champ `memory` du sous-agent, est un répertoire séparé.

572 

573Claude lit et écrit les fichiers de mémoire pendant votre session. Quand vous voyez des messages comme « Saved 2 memories » ou « Recalled 2 memories » dans l'interface Claude Code, Claude met activement à jour ou lit à partir de `~/.claude/projects/<project>/memory/`.

574 

575Quand Claude écrit un fichier de mémoire qui commence par du frontmatter YAML, Claude Code enregistre l'heure d'écriture dans un champ frontmatter `modified` sous la forme d'un horodatage ISO 8601. L'horodatage montre à quel point le fait est actuel, à la fois pour vous et pour Claude quand il relit la mémoire. Tout fichier qui a du frontmatter obtient le champ la prochaine fois que Claude l'écrit, y compris les fichiers créés sur des versions antérieures ; Claude Code n'ajoute jamais de frontmatter à un fichier qui n'en a pas. Le champ `modified` nécessite Claude Code v2.1.214 ou ultérieur.

425 576 

426<h3 id="audit-and-edit-your-memory">577<h3 id="audit-and-edit-your-memory">

427 Auditer et modifier votre mémoire578 Auditer et modifier votre mémoire


433 Afficher et modifier avec `/memory`584 Afficher et modifier avec `/memory`

434</h2>585</h2>

435 586 

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

588 

589Les éditeurs GUI tels que VS Code ouvrent le fichier dans une fenêtre séparée, et vous pouvez continuer à utiliser la session pendant qu'il est ouvert. Avant la v2.1.216, `/memory` attendait que vous fermiez le fichier avant de répondre. Les éditeurs de terminal tels que Vim prennent le contrôle du terminal jusqu'à ce que vous quittiez.

437 590 

438Quand vous demandez à Claude de se souvenir de quelque chose, comme « toujours utiliser pnpm, pas npm » ou « se souvenir que les tests d'API nécessitent une instance Redis locale », Claude l'enregistre dans la mémoire automatique. Pour ajouter des instructions à CLAUDE.md à la place, demandez directement à Claude, comme « ajouter ceci à CLAUDE.md », ou modifiez le fichier vous-même via `/memory`.591Quand vous demandez à Claude de se souvenir de quelque chose, comme « toujours utiliser pnpm, pas npm » ou « se souvenir que les tests d'API nécessitent une instance Redis locale », Claude l'enregistre dans la mémoire automatique. Pour ajouter des instructions à CLAUDE.md à la place, demandez directement à Claude, comme « ajouter ceci à CLAUDE.md », ou modifiez le fichier vous-même via `/memory`.

439 592 


451 604 

452Pour déboguer :605Pour déboguer :

453 606 

454* Exécutez `/memory` pour vérifier que vos fichiers CLAUDE.md et CLAUDE.local.md sont chargés. Si un fichier n'est pas listé, Claude ne peut pas le voir.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.

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

456* Rendez les instructions plus spécifiques. « Utiliser l'indentation à 2 espaces » fonctionne mieux que « formater le code correctement ».609* Rendez les instructions plus spécifiques. « Utiliser l'indentation à 2 espaces » fonctionne mieux que « formater le code correctement ».

457* 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.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.

458 611 

459Si l'instruction est quelque chose qui doit s'exécuter à un moment spécifique, comme avant chaque commit ou après chaque modification de fichier, écrivez-la plutôt comme un [hook](/docs/fr/hooks-guide). Les hooks s'exécutent en tant que commandes shell à des événements de cycle de vie fixes et s'appliquent indépendamment de ce que Claude décide de faire.612Si l'instruction est quelque chose qui doit s'exécuter à un moment spécifique, comme avant chaque commit ou après chaque modification de fichier, écrivez-la plutôt comme un [hook](/docs/fr/hooks-guide). Les hooks s'exécutent en tant que commandes shell à des événements de cycle de vie fixes et s'appliquent indépendamment de ce que Claude décide de faire.

460 613 

461Pour les instructions que vous voulez au niveau de l'invite système, utilisez [`--append-system-prompt`](/docs/fr/cli-reference#system-prompt-flags). Cela doit être passé à chaque invocation, donc c'est mieux adapté aux scripts et à l'automatisation qu'à l'utilisation interactive.614Pour les instructions que vous voulez au niveau de l'invite système, utilisez [`--append-system-prompt`](/docs/fr/cli-reference#system-prompt-flags). Vous le passez au lancement, donc c'est mieux adapté aux scripts et à l'automatisation qu'à l'utilisation interactive. Pour savoir comment il se comporte lorsque vous reprenez une conversation, consultez [Indicateurs d'invite système dans les conversations reprises](/docs/fr/cli-reference#system-prompt-flags-in-resumed-conversations).

462 615 

463<Tip>616<Tip>

464 Utilisez le [hook `InstructionsLoaded`](/docs/fr/hooks#instructionsloaded) pour enregistrer exactement quels fichiers d'instructions sont chargés, quand ils se chargent et pourquoi. C'est utile pour déboguer les règles spécifiques au chemin ou les fichiers chargés tardivement dans les sous-répertoires.617 Utilisez le [hook `InstructionsLoaded`](/docs/fr/hooks#instructionsloaded) pour enregistrer exactement quels fichiers `CLAUDE.md` et fichiers de règles sont chargés, quand ils se chargent et pourquoi. C'est utile pour déboguer les règles spécifiques au chemin ou les fichiers chargés tardivement dans les sous-répertoires.

465</Tip>618</Tip>

466 619 

620<h3 id="my-agents-md-isn’t-loading">

621 Mon AGENTS.md ne se charge pas

622</h3>

623 

624Si votre référentiel a un `AGENTS.md` et que Claude ne semble pas savoir ce qu'il dit, la cause habituelle est un `CLAUDE.md` quelque part sur le chemin du projet. Par défaut, Claude lit `AGENTS.md` uniquement lorsque vous n'avez pas de `CLAUDE.md` ou `CLAUDE.local.md` dans votre répertoire de travail ou au-dessus. Vérifiez ceux-ci dans l'ordre :

625 

6261. Recherchez un `CLAUDE.md`, `.claude/CLAUDE.md`, ou `CLAUDE.local.md` dans votre répertoire de travail ou dans n'importe quel répertoire au-dessus, autre que votre `~/.claude/CLAUDE.md`. Si vous en trouvez un, Claude le lit à la place de `AGENTS.md` sauf si vous définissez **Instructions du projet** sur `claude-md-and-agents-md`.

6272. Exécutez `claude --version` et confirmez v2.1.277 ou ultérieure.

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.

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

630 

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.

632 

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

634 

467<h3 id="i-don’t-know-what-auto-memory-saved">635<h3 id="i-don’t-know-what-auto-memory-saved">

468 Je ne sais pas ce que la mémoire automatique a enregistré636 Je ne sais pas ce que la mémoire automatique a enregistré

469</h3>637</h3>


474 Mon CLAUDE.md est trop volumineux642 Mon CLAUDE.md est trop volumineux

475</h3>643</h3>

476 644 

477Les fichiers de plus de 200 lignes consomment plus de contexte et peuvent réduire l'adhérence. Utilisez les [règles spécifiques au chemin](#path-specific-rules) pour charger les instructions uniquement lorsque Claude travaille avec des fichiers correspondants, ou réduisez le contenu qui n'est pas nécessaire dans chaque session. La division en [imports `@path`](#import-additional-files) aide à l'organisation mais ne réduit pas le contexte, puisque les fichiers importés se chargent au lancement.645Les fichiers de plus de 200 lignes consomment plus de contexte et peuvent réduire l'adhérence. Claude Code ignore un fichier de plus de 4 Mio. Utilisez les [règles spécifiques au chemin](#path-specific-rules) pour charger les instructions uniquement lorsque Claude travaille avec des fichiers correspondants, ou réduisez le contenu qui n'est pas nécessaire dans chaque session. La division en [imports `@path`](#import-additional-files) aide à l'organisation mais ne réduit pas le contexte, puisque les fichiers importés se chargent au lancement.

478 646 

479La vérification [`/doctor`](/docs/fr/commands#all-commands) propose des réductions pour un CLAUDE.md enregistré : elle supprime le contenu que Claude peut dériver de la base de code, comme les dispositions de répertoires, les listes de dépendances et les aperçus d'architecture, et conserve les pièges, la justification et les conventions qui diffèrent des paramètres par défaut des outils. La vérification de réduction nécessite Claude Code v2.1.206 ou version ultérieure.647La vérification [`/doctor`](/docs/fr/commands#all-commands) propose des réductions pour un CLAUDE.md enregistré : elle supprime le contenu que Claude peut dériver de la base de code, comme les dispositions de répertoires, les listes de dépendances et les aperçus d'architecture, et conserve les pièges, la justification et les conventions qui diffèrent des paramètres par défaut des outils. La vérification de réduction nécessite Claude Code v2.1.206 ou version ultérieure.

480 648 


482 Les instructions semblent perdues après `/compact`650 Les instructions semblent perdues après `/compact`

483</h3>651</h3>

484 652 

485CLAUDE.md à la racine du projet survit à la compaction : après `/compact`, Claude relit votre CLAUDE.md à partir du disque et le réinjecte à nouveau dans la session. Les fichiers CLAUDE.md imbriqués dans les sous-répertoires ne sont pas réinjectés automatiquement ; ils se rechargent la prochaine fois que Claude lit un fichier de ce sous-répertoire.653CLAUDE.md à la racine du projet survit à la compaction : après `/compact`, Claude relit votre CLAUDE.md à partir du disque et le réinjecte à nouveau dans la session. Les fichiers CLAUDE.md imbriqués dans les sous-répertoires et les règles avec [frontmatter `paths:`](#path-specific-rules) se rechargent lorsque Claude lit les fichiers auxquels elles s'appliquent.

486 654 

487Si une instruction a disparu après la compaction, elle a été donnée uniquement dans la conversation ou se trouve dans un CLAUDE.md imbriqué qui ne s'est pas encore rechargé. Ajoutez les instructions données uniquement dans la conversation à CLAUDE.md pour les rendre persistantes. Consultez [Ce qui survit à la compaction](/docs/fr/context-window#what-survives-compaction) pour la répartition complète.655Si une instruction a disparu après la compaction, elle a été donnée uniquement dans la conversation, se trouve dans un CLAUDE.md imbriqué qui ne s'est pas encore rechargé, ou est une règle spécifique au chemin qui n'a pas correspondu à un fichier depuis. Ajoutez les instructions données uniquement dans la conversation à CLAUDE.md pour les rendre persistantes. Consultez [Ce qui survit à la compaction](/docs/fr/context-window#what-survives-compaction) pour la répartition complète.

488 656 

489Consultez [Écrire des instructions efficaces](#write-effective-instructions) pour des conseils sur la taille, la structure et la spécificité.657Consultez [Écrire des instructions efficaces](#write-effective-instructions) pour des conseils sur la taille, la structure et la spécificité.

490 658 

mobile.md +10 −9

Details

6 6 

7> Démarrez, surveillez et pilotez les tâches Claude Code depuis votre téléphone avec l'application Claude pour iOS et Android.7> Démarrez, surveillez et pilotez les tâches Claude Code depuis votre téléphone avec l'application Claude pour iOS et Android.

8 8 

9L'application Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) et [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) est un client pour les sessions Claude Code plutôt qu'un endroit où le code s'exécute. Depuis votre téléphone, vous accédez à des [sessions cloud](#start-and-monitor-cloud-sessions) dans le cloud, une session s'exécutant sur votre propre machine via [Remote Control](#continue-a-local-session-with-remote-control), ou l'application Desktop via [Dispatch](/docs/fr/desktop#sessions-from-dispatch).9L'application Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) et [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) est un client pour les sessions Claude Code plutôt qu'un endroit où le code s'exécute. Depuis votre téléphone, vous accédez à des [sessions cloud](#start-and-monitor-cloud-sessions) et des [projets](/docs/fr/claude-projects) dans le cloud, une session s'exécutant sur votre propre machine via [Remote Control](#continue-a-local-session-with-remote-control), ou l'application Desktop via [Dispatch](/docs/fr/desktop#sessions-from-dispatch).

10 10 

11<Note>11<Note>

12 Claude Code n'a pas d'application mobile distincte : les sessions cloud et Remote Control se trouvent tous deux dans l'onglet **Code** de l'application Claude, et Dispatch est une tâche à laquelle vous envoyez des messages dans l'application.12 Claude Code n'a pas d'application mobile distincte : les sessions cloud et Remote Control se trouvent tous deux dans l'onglet **Code** de l'application Claude, et Dispatch est une tâche à laquelle vous envoyez des messages dans l'application.


21 Installez l'application Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) ou [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Sur un iPad, installez la même application iOS.21 Installez l'application Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) ou [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Sur un iPad, installez la même application iOS.

22 22 

23 <Tip>23 <Tip>

24 Exécutez `/mobile` dans une session Claude Code pour afficher un code QR de téléchargement que vous pouvez scanner. `/ios` et `/android` font la même chose.24 Exécutez `/mobile` dans une session Claude Code pour afficher un code QR pour [claude.ai/mobile](https://claude.ai/mobile), qui ouvre le bon app store pour votre téléphone. `/ios` et `/android` font la même chose.

25 </Tip>25 </Tip>

26 </Step>26 </Step>

27 27 


38 Travailler depuis votre téléphone38 Travailler depuis votre téléphone

39</h2>39</h2>

40 40 

41Depuis l'application, vous pouvez démarrer des sessions cloud, piloter une session Claude Code s'exécutant sur votre ordinateur, ou envoyer une tâche à Dispatch. L'application est la même pour les trois ; ils diffèrent par l'endroit où le travail se fait.41Depuis l'application, vous pouvez démarrer des sessions cloud, ouvrir un projet, piloter une session Claude Code s'exécutant sur votre ordinateur, ou envoyer une tâche à Dispatch. L'application est la même pour chacun ; ils diffèrent par l'endroit où le travail se fait.

42 42 

43| Fonctionnalité | Ce à quoi vous vous connectez | Quand l'utiliser |43| Fonctionnalité | Ce à quoi vous vous connectez | Quand l'utiliser |

44| :--------------------------------------------------- | :--------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |44| :--------------------------------------------- | :------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

45| [Claude Code sur le web](/docs/fr/claude-code-on-the-web) | Une session cloud sur l'infrastructure cloud, gérée par Anthropic par défaut | Votre référentiel est sur GitHub et la tâche doit continuer à s'exécuter après avoir rangé votre téléphone. Consultez le [guide de démarrage rapide web](/docs/fr/web-quickstart) pour configurer. |45| [Cloud sessions](/docs/fr/claude-code-on-the-web) | Une session sur l'infrastructure cloud, gérée par Anthropic par défaut | Votre référentiel est sur GitHub et la tâche doit continuer à s'exécuter après avoir rangé votre téléphone. Consultez le [guide de démarrage rapide cloud](/docs/fr/web-quickstart) pour configurer. |

46| [Projects](/docs/fr/claude-projects) | Une conversation où Claude coordonne des sessions cloud parallèles en tant que threads | Vous avez un flux de travail connexe plutôt qu'une seule tâche et vous voulez voir quels threads se sont terminés ou ont besoin de vous. |

46| [Remote Control](/docs/fr/remote-control) | Une session Claude Code s'exécutant sur votre ordinateur | Le travail a besoin de votre système de fichiers local, d'outils ou de serveurs MCP. |47| [Remote Control](/docs/fr/remote-control) | Une session Claude Code s'exécutant sur votre ordinateur | Le travail a besoin de votre système de fichiers local, d'outils ou de serveurs MCP. |

47| [Dispatch](/docs/fr/desktop#sessions-from-dispatch) | L'application Desktop sur votre ordinateur | Vous voulez envoyer une tâche et laisser Dispatch décider comment l'exécuter. Nécessite un plan Pro ou Max. |48| [Dispatch](/docs/fr/desktop#sessions-from-dispatch) | L'application Desktop sur votre ordinateur | Vous voulez envoyer une tâche et laisser Dispatch décider comment l'exécuter. Nécessite un plan Pro ou Max. |

48 49 

49Si votre ordinateur sera éteint, utilisez les sessions cloud, qui s'exécutent sur le cloud et continuent avec votre ordinateur portable fermé. Remote Control et Dispatch pilotent votre propre machine, elle doit donc rester allumée avec Claude Code ou l'application Desktop en cours d'exécution. Si votre machine se met en veille pendant une session Remote Control, Claude Code se reconnecte quand la machine revient en ligne.50Si votre ordinateur sera éteint, utilisez les sessions cloud ou un projet, qui s'exécutent dans le cloud et continuent avec votre ordinateur portable fermé. Remote Control et Dispatch pilotent votre propre machine, elle doit donc rester allumée avec Claude Code ou l'application Desktop en cours d'exécution. Si votre machine se met en veille pendant une session Remote Control, Claude Code se reconnecte quand la machine revient en ligne.

50 51 

51Pour une comparaison plus complète, consultez [travailler quand vous êtes loin de votre terminal](/docs/fr/platforms#work-when-you-are-away-from-your-terminal).52Pour une comparaison plus complète, consultez [travailler quand vous êtes loin de votre terminal](/docs/fr/platforms#work-when-you-are-away-from-your-terminal).

52 53 


56 Démarrer et surveiller les sessions cloud57 Démarrer et surveiller les sessions cloud

57</h3>58</h3>

58 59 

59Claude Code sur le web exécute les tâches sur l'infrastructure cloud, gérée par Anthropic par défaut, donc une session continue après avoir rangé votre téléphone. À partir de l'onglet Code, sélectionnez un référentiel et une branche, décrivez la tâche et soumettez-la. Les sessions persistent sur les appareils : une tâche que vous démarrez sur votre ordinateur portable est prête à être examinée depuis votre téléphone, et une que vous démarrez depuis votre téléphone vous attend quand vous êtes de retour à votre bureau.60Les sessions cloud exécutent les tâches sur l'infrastructure cloud, gérée par Anthropic par défaut, donc une session continue après avoir rangé votre téléphone. À partir de l'onglet Code, sélectionnez un référentiel et une branche, décrivez la tâche et soumettez-la. Les sessions persistent sur les appareils : une tâche que vous démarrez sur votre ordinateur portable est prête à être examinée depuis votre téléphone, et une que vous démarrez depuis votre téléphone vous attend quand vous êtes de retour à votre bureau.

60 61 

61Ouvrez une session dans l'application pour vérifier la progression, répondre aux questions de Claude ou la diriger dans une nouvelle direction. Vous pouvez également dire à Claude de [surveiller une demande de tirage](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) et corriger les défaillances CI ou les commentaires d'examen au fur et à mesure qu'ils arrivent. Pour connecter GitHub et configurer votre environnement, suivez le [guide de démarrage rapide web](/docs/fr/web-quickstart), et consultez [Claude Code sur le web](/docs/fr/claude-code-on-the-web) pour tout ce que les sessions cloud peuvent faire.62Ouvrez une session dans l'application pour vérifier la progression, répondre aux questions de Claude ou la diriger dans une nouvelle direction. Vous pouvez également dire à Claude de [surveiller une demande de tirage](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) et corriger les défaillances CI ou les commentaires d'examen au fur et à mesure qu'ils arrivent. Pour connecter GitHub et configurer votre environnement, suivez le [guide de démarrage rapide cloud](/docs/fr/web-quickstart), et consultez [Utiliser Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) pour tout ce que les sessions cloud peuvent faire.

62 63 

63<h3 id="continue-a-local-session-with-remote-control">64<h3 id="continue-a-local-session-with-remote-control">

64 Continuer une session locale avec Remote Control65 Continuer une session locale avec Remote Control

65</h3>66</h3>

66 67 

67Remote Control connecte l'application Claude à une session Claude Code s'exécutant sur votre machine, de sorte que l'exécution du code et l'accès au système de fichiers restent locaux tandis que vous pilotez la session depuis votre téléphone. Démarrez la session sur votre ordinateur avec `claude remote-control`, ou exécutez `/remote-control` dans une session déjà ouverte. Ensuite, scannez le code QR de la session que le terminal peut afficher, ou ouvrez l'application Claude, appuyez sur **Code**, et choisissez la session dans la liste. Consultez [se connecter depuis un autre appareil](/docs/fr/remote-control#connect-from-another-device) pour chaque option.68Remote Control connecte l'application Claude à une session Claude Code s'exécutant sur votre machine, de sorte que l'exécution du code et l'accès au système de fichiers restent locaux tandis que vous pilotez la session depuis votre téléphone. Démarrez la session sur votre ordinateur avec `claude remote-control`, ou exécutez `/remote-control` dans une session déjà ouverte. Ensuite, scannez le code QR que le terminal peut afficher, ou ouvrez l'application Claude, appuyez sur **Code**, et choisissez la session dans la liste. Consultez [se connecter depuis un autre appareil](/docs/fr/remote-control#connect-from-another-device) pour chaque option.

68 69 

69Quand vous ajoutez une pièce jointe dans l'application Claude, elle atteint également la session locale :70Quand vous ajoutez une pièce jointe dans l'application Claude, elle atteint également la session locale :

70 71 

model-config.md +3 −3

Details

292| [Paramètres gérés par le serveur](/docs/fr/server-managed-settings) depuis la console d'administration | Appliqué | Appliqué | Appliqué | Appliqué | Non livré |292| [Paramètres gérés par le serveur](/docs/fr/server-managed-settings) depuis la console d'administration | Appliqué | Appliqué | Appliqué | Appliqué | Non livré |

293| [Fichiers MDM ou paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) | Appliqué | Appliqué | Non livré dans les environnements hébergés par Anthropic ; dans les [environnements auto-hébergés](/docs/fr/self-hosted-environments), appliqué à partir de l'image du runner selon [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) | Appliqué | Appliqué où déployé |293| [Fichiers MDM ou paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) | Appliqué | Appliqué | Non livré dans les environnements hébergés par Anthropic ; dans les [environnements auto-hébergés](/docs/fr/self-hosted-environments), appliqué à partir de l'image du runner selon [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) | Appliqué | Appliqué où déployé |

294 294 

295* Les sessions cloud, sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ou dans l'application de bureau, s'exécutent sur des machines virtuelles gérées par Anthropic par défaut : les paramètres déployés sur votre appareil ne les atteignent pas, donc livrez la liste d'autorisation via les paramètres gérés par le serveur. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur votre propre calcul et lisent également le fichier de paramètres gérés dans l'image du runner. [Comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) indique quand ce fichier s'applique. Un changement de modèle en milieu de session dans une session cloud est rejeté lorsque le modèle demandé est exclu par la liste d'autorisation. Le rejet côté serveur à la création de session s'applique aux [restrictions de modèle d'organisation](#organization-model-restrictions), pas à la clé de paramètres `availableModels`.295* Les sessions cloud, sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ou dans l'application de bureau, s'exécutent sur des machines virtuelles gérées par Anthropic par défaut : les paramètres déployés sur votre appareil ne les atteignent pas, donc livrez la liste d'autorisation via les paramètres gérés par le serveur. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur votre propre calcul et lisent également le fichier de paramètres gérés dans l'image du runner. [Comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) indique quand ce fichier s'applique. Un changement de modèle en milieu de session dans une session cloud est rejeté lorsque le modèle demandé est exclu par la liste d'autorisation. Lorsque la liste `availableModels` dans vos paramètres gérés par le serveur est non vide, le serveur rejette la demande d'un utilisateur de démarrer une session cloud sur un modèle que la liste exclut.

296* Cowork, l'onglet de travail agentique dans l'application Claude Desktop, exécute ses sessions sur Claude Code mais, par conception, ne reçoit pas les paramètres gérés par le serveur de la console d'administration claude.ai. Un fichier de paramètres gérés s'applique aux sessions Cowork lorsqu'il est présent où la session s'exécute ; les sessions Cowork distantes s'exécutent sur des machines virtuelles gérées par Anthropic, où un fichier déployé sur l'appareil n'est pas présent.296* Cowork, l'onglet de travail agentique dans l'application Claude Desktop, exécute ses sessions sur Claude Code mais, par conception, ne reçoit pas les paramètres gérés par le serveur de la console d'administration claude.ai. Un fichier de paramètres gérés s'applique aux sessions Cowork lorsqu'il est présent où la session s'exécute ; les sessions Cowork distantes s'exécutent sur des machines virtuelles gérées par Anthropic, où un fichier déployé sur l'appareil n'est pas présent.

297* Les sessions sur [fournisseurs tiers](/docs/fr/server-managed-settings#platform-availability) tels qu'Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry, et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) ne reçoivent pas les paramètres gérés par le serveur, donc livrez la liste d'autorisation via MDM ou des fichiers de paramètres gérés là-bas.297* Les sessions sur [fournisseurs tiers](/docs/fr/server-managed-settings#platform-availability) tels qu'Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry, et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) ne reçoivent pas les paramètres gérés par le serveur, donc livrez la liste d'autorisation via MDM ou des fichiers de paramètres gérés là-bas.

298* La livraison gérée par le serveur nécessite également que la session s'authentifie avec une [connexion ou clé éligible](/docs/fr/server-managed-settings#platform-availability). Les flottes qui génèrent des clés uniquement via un script [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) doivent livrer la liste d'autorisation via MDM ou des fichiers de paramètres gérés.298* La livraison gérée par le serveur nécessite également que la session s'authentifie avec une [connexion ou clé éligible](/docs/fr/server-managed-settings#platform-availability). Les flottes qui génèrent des clés uniquement via un script [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) doivent livrer la liste d'autorisation via MDM ou des fichiers de paramètres gérés.

299* L'onglet Code du bureau héberge également les [sessions SSH](/docs/fr/desktop#ssh-sessions), qui lisent le fichier de paramètres gérés à partir de l'hôte distant sur lequel elles s'exécutent. Voir [Paramètres gérés du bureau](/docs/fr/desktop#managed-settings).299* L'onglet Code du bureau héberge également les [sessions SSH](/docs/fr/desktop#ssh-sessions), qui lisent le fichier de paramètres gérés à partir de l'hôte distant sur lequel elles s'exécutent. Voir [Paramètres gérés du bureau](/docs/fr/desktop#managed-settings).

300* Les sélecteurs de modèle sur claude.ai et dans l'application de bureau masquent ou grisent les modèles exclus par la liste d'autorisation de votre organisation. L'état du sélecteur est une commodité pour les utilisateurs ; l'application se fait dans la session.300* Les sélecteurs de modèle sur claude.ai et dans l'application de bureau masquent ou grisent les modèles exclus par la liste d'autorisation de votre organisation. L'état du sélecteur est une commodité pour les utilisateurs ; il n'applique pas la liste d'autorisation.

301 301 

302<h3 id="default-model-behavior">302<h3 id="default-model-behavior">

303 Comportement du modèle par défaut303 Comportement du modèle par défaut


376 376 

377La restriction s'applique lorsqu'un membre se connecte ou utilise sa propre clé API. Les identifiants d'organisation, tels que les clés de service d'organisation, ne sont pas liés à un utilisateur, donc la restriction ne s'applique pas à eux.377La restriction s'applique lorsqu'un membre se connecte ou utilise sa propre clé API. Les identifiants d'organisation, tels que les clés de service d'organisation, ne sont pas liés à un utilisateur, donc la restriction ne s'applique pas à eux.

378 378 

379La console Claude n'a pas de contrôle de restriction de modèle. Les organisations sans plan Claude Enterprise, y compris celles dont les membres s'authentifient via l'API Anthropic, restreignent les modèles avec [`availableModels`](#restrict-model-selection) dans les [paramètres gérés](/docs/fr/managed-settings) à la place, en ajoutant [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) pour couvrir l'option Par défaut. Ces paramètres sont appliqués par Claude Code lui-même, pas par le serveur.379La console Claude n'a pas de contrôle de restriction de modèle. Les organisations sans plan Claude Enterprise, y compris celles dont les membres s'authentifient via l'API Anthropic, restreignent les modèles avec [`availableModels`](#restrict-model-selection) dans les [paramètres gérés](/docs/fr/managed-settings) à la place, en ajoutant [`enforceAvailableModels`](#enforce-the-allowlist-for-the-default-model) pour couvrir l'option Par défaut. [Couverture de surface](#surface-coverage) indique comment chaque surface reçoit et applique ces paramètres.

380 380 

381Un modèle restreint est masqué du sélecteur `/model`. Le sélectionner par nom avec `--model`, la variable d'environnement `ANTHROPIC_MODEL`, ou le paramètre `model` affiche l'avis `Model "<name>" is restricted by your organization's settings. Using <model> instead.` et la session démarre sur un modèle autorisé. Taper `/model <name>` pour un modèle restreint est rejeté avec `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` et la session garde son modèle actuel.381Un modèle restreint est masqué du sélecteur `/model`. Le sélectionner par nom avec `--model`, la variable d'environnement `ANTHROPIC_MODEL`, ou le paramètre `model` affiche l'avis `Model "<name>" is restricted by your organization's settings. Using <model> instead.` et la session démarre sur un modèle autorisé. Taper `/model <name>` pour un modèle restreint est rejeté avec `Model '<name>' is restricted by your organization's settings. Run /model to choose a different model.` et la session garde son modèle actuel.

382 382 

Details

122| `OTEL_LOG_USER_PROMPTS` | Activer la journalisation du contenu des invites utilisateur (par défaut : désactivé) | `1` pour activer |122| `OTEL_LOG_USER_PROMPTS` | Activer la journalisation du contenu des invites utilisateur (par défaut : désactivé) | `1` pour activer |

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'entrée et de sortie d'outil dans les événements d'intervalle (par défaut : désactivé). 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_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 |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| `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` |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| `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` |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` |


284| `skill_name` | Nom de la compétence pour l'outil Skill | `OTEL_LOG_TOOL_DETAILS` |284| `skill_name` | Nom de la compétence pour l'outil Skill | `OTEL_LOG_TOOL_DETAILS` |

285| `subagent_type` | Type de sous-agent pour l'outil Agent ou l'outil Task hérité | `OTEL_LOG_TOOL_DETAILS` |285| `subagent_type` | Type de sous-agent pour l'outil Agent ou l'outil Task hérité | `OTEL_LOG_TOOL_DETAILS` |

286 286 

287Lorsque `OTEL_LOG_TOOL_CONTENT=1`, cet intervalle enregistre également un événement d'intervalle `tool.output` dont les attributs contiennent les corps d'entrée et de sortie de l'outil, tronqués à la limite de contenu (60 Ko par défaut) par attribut.287<span id="tool-output-span-event" />**Événement d'intervalle `tool.output` sur `claude_code.tool`**

288 

289Si vous définissez `OTEL_LOG_TOOL_CONTENT=1`, les appels Read et Bash peuvent enregistrer un événement d'intervalle `tool.output` sur l'intervalle `claude_code.tool`. Les appels Edit et Write enregistrent un événement uniquement lorsque vous définissez également `OTEL_LOG_TOOL_DETAILS=1`. Cette variable n'est pas limitée à ces deux outils, donc vérifiez sa [ligne dans le tableau de configuration](#common-configuration-variables) pour les arguments qu'elle ajoute ailleurs.

290 

291Claude Code écrit cet événement à partir du retour réussi d'un appel d'outil, donc un appel qui lève une erreur n'enregistre rien, quel que soit l'outil. Parmi les appels qui retournent, il n'enregistre pas d'événement `tool.output` pour :

292 

293* Un appel à tout outil autre que Read, Edit, Write et Bash, y compris les outils MCP et WebFetch

294* Un Read qui retourne autre chose que du texte de fichier, tel qu'une image, un PDF ou une relecture d'un fichier dont le contenu n'a pas changé

295* Un appel Edit ou Write, sauf si vous définissez également `OTEL_LOG_TOOL_DETAILS=1`

296 

297L'événement porte ces attributs, chacun tronqué à la limite de contenu (60 Ko par défaut). `Contrôlé par` nomme la variable qu'un attribut nécessite en plus de `OTEL_LOG_TOOL_CONTENT=1`, et pour Edit et Write cette variable contrôle l'événement lui-même plutôt que l'attribut.

298 

299| Attribut | Description | Contrôlé par |

300| -------------- | --------------------------------------------------------------------------------------------------------- | ------------------------------------------ |

301| `content` | Texte que l'outil Read a retourné, ou le texte qu'un appel Write a été demandé d'écrire | `OTEL_LOG_TOOL_DETAILS` pour l'outil Write |

302| `output` | Sortie combinée d'une commande Bash, avec stderr entrelacé dans stdout | |

303| `diff` | Correctif structuré que l'outil Edit a appliqué | `OTEL_LOG_TOOL_DETAILS` |

304| `file_path` | Chemin de fichier cible pour les outils Read, Edit et Write, répétant l'attribut d'intervalle du même nom | `OTEL_LOG_TOOL_DETAILS` |

305| `bash_command` | Chaîne de commande pour l'outil Bash | `OTEL_LOG_TOOL_DETAILS` |

306 

307L'attribut `tool_name` de l'intervalle parent vous indique quel outil un événement provient. Un attribut coupé à la limite de contenu est accompagné de `<attribute>_truncated` et `<attribute>_original_length`.

288 308 

289**`claude_code.tool.blocked_on_user`**309**`claude_code.tool.blocked_on_user`**

290 310 


323| `num_non_blocking_error` | Nombre de hooks qui ont échoué sans bloquer | |343| `num_non_blocking_error` | Nombre de hooks qui ont échoué sans bloquer | |

324| `num_cancelled` | Nombre de hooks annulés avant la fin | |344| `num_cancelled` | Nombre de hooks annulés avant la fin | |

325 345 

346<span id="new-context-gates" />

347 

326<Note>348<Note>

327 Les attributs supplémentaires porteurs de contenu tels que `new_context`, `system_prompt_preview`, `user_system_prompt`, `tool_input` et `response.model_output` sont émis uniquement lorsque le traçage bêta détaillé est actif. Ils ne font pas partie du schéma d'intervalle stable.349 Les attributs supplémentaires porteurs de contenu tels que `new_context`, `system_prompt_preview`, `user_system_prompt`, `tool_input` et `response.model_output` sont émis uniquement lorsque le traçage bêta détaillé est actif. Ils ne font pas partie du schéma d'intervalle stable.

328 350 

351 La porte sur `new_context` dépend de l'intervalle qui le porte, et chaque copie est tronquée à la limite de contenu (60 Ko par défaut). Sur l'intervalle `claude_code.tool` il porte le résultat de cet appel d'outil, quel que soit l'outil, et nécessite `OTEL_LOG_TOOL_CONTENT=1`. Sur l'intervalle `claude_code.interaction` il porte l'invite utilisateur, et sur l'intervalle `claude_code.llm_request` les nouveaux messages utilisateur et résultats d'outils de cette demande. Les deux nécessitent `OTEL_LOG_USER_PROMPTS=1`.

352 

329 `user_system_prompt` nécessite également `OTEL_LOG_USER_PROMPTS=1`. Il porte uniquement le texte du prompt système que vous fournissez via l'option SDK `systemPrompt` ou les drapeaux `--system-prompt` et `--append-system-prompt`, tronqué à la limite de contenu (60 Ko par défaut), et est émis une fois par session plutôt que par demande.353 `user_system_prompt` nécessite également `OTEL_LOG_USER_PROMPTS=1`. Il porte uniquement le texte du prompt système que vous fournissez via l'option SDK `systemPrompt` ou les drapeaux `--system-prompt` et `--append-system-prompt`, tronqué à la limite de contenu (60 Ko par défaut), et est émis une fois par session plutôt que par demande.

330</Note>354</Note>

331 355 


877* `body_truncated` : `"true"` lorsque la troncature en ligne s'est produite. Absent en mode fichier et lorsqu'aucune troncature ne s'est produite.901* `body_truncated` : `"true"` lorsque la troncature en ligne s'est produite. Absent en mode fichier et lorsqu'aucune troncature ne s'est produite.

878* `model` : Identifiant du modèle à partir des paramètres de demande902* `model` : Identifiant du modèle à partir des paramètres de demande

879* `query_source` : Sous-système qui a émis la demande (par exemple, `"compact"`)903* `query_source` : Sous-système qui a émis la demande (par exemple, `"compact"`)

904* `request_body_id` : UUID qui identifie le corps de demande de cette tentative. L'[événement `api_response_body`](#api-response-body-event) pour la tentative qui réussit porte la même valeur, afin que vous puissiez associer une réponse à la demande exacte qui l'a produite. Nécessite Claude Code v2.1.274 ou ultérieur

880 905 

881<h4 id="api-response-body-event">906<h4 id="api-response-body-event">

882 Événement de corps de réponse d'API907 Événement de corps de réponse d'API


884 909 

885Enregistré pour chaque réponse d'API réussie lorsque `OTEL_LOG_RAW_API_BODIES` est défini.910Enregistré pour chaque réponse d'API réussie lorsque `OTEL_LOG_RAW_API_BODIES` est défini.

886 911 

912En mode fichier (`OTEL_LOG_RAW_API_BODIES=file:<dir>`), Claude Code ajoute également une ligne JSON à `<dir>/index.jsonl` pour chaque réponse réussie, avec les champs `timestamp`, `session_id`, `query_source`, `model`, `request_id`, `message_id`, `message_uuid`, `request_file`, et `response_file`. Lisez-le pour trouver les fichiers de demande et de réponse derrière un message de transcription donné sans interroger votre backend de télémétrie. Le fichier d'index nécessite Claude Code v2.1.274 ou ultérieur.

913 

887**Nom de l'événement** : `claude_code.api_response_body`914**Nom de l'événement** : `claude_code.api_response_body`

888 915 

889**Attributs** :916**Attributs** :


899* `model` : Identifiant du modèle926* `model` : Identifiant du modèle

900* `query_source` : Sous-système qui a émis la demande927* `query_source` : Sous-système qui a émis la demande

901* `request_id` : ID de demande d'API Anthropic de l'en-tête `request-id` de la réponse, tel que `"req_011..."`. Présent uniquement lorsque l'API en retourne un.928* `request_id` : ID de demande d'API Anthropic de l'en-tête `request-id` de la réponse, tel que `"req_011..."`. Présent uniquement lorsque l'API en retourne un.

929* `request_body_id` : Le `request_body_id` de l'[événement `api_request_body`](#api-request-body-event) auquel cette réponse répond. Nécessite Claude Code v2.1.274 ou ultérieur

930* `message.id` : ID de message que l'API a attribué à la réponse, le champ `id` du corps de réponse. Nécessite Claude Code v2.1.274 ou ultérieur

931* `message.uuid` : UUID de l'entrée de transcription finale de la réponse. Avec `request_body_id`, il lie un message de transcription aux corps de demande et de réponse derrière lui. Nécessite Claude Code v2.1.274 ou ultérieur

902 932 

903<h4 id="tool-decision-event">933<h4 id="tool-decision-event">

904 Événement de décision d'outil934 Événement de décision d'outil


1525* L'export OpenTelemetry vers votre backend est opt-in et nécessite une configuration explicite. Pour la télémétrie opérationnelle distincte d'Anthropic et comment la désactiver, consultez [Utilisation des données](/docs/fr/data-usage#telemetry-services)1555* L'export OpenTelemetry vers votre backend est opt-in et nécessite une configuration explicite. Pour la télémétrie opérationnelle distincte d'Anthropic et comment la désactiver, consultez [Utilisation des données](/docs/fr/data-usage#telemetry-services)

1526* Les contenus de fichiers bruts et les extraits de code ne sont pas inclus dans les métriques ou les événements. Les intervalles de trace constituent un chemin de données distinct : voir la puce `OTEL_LOG_TOOL_CONTENT` ci-dessous1556* Les contenus de fichiers bruts et les extraits de code ne sont pas inclus dans les métriques ou les événements. Les intervalles de trace constituent un chemin de données distinct : voir la puce `OTEL_LOG_TOOL_CONTENT` ci-dessous

1527* Lorsqu'authentifié via OAuth, `user.email` est inclus dans les attributs de télémétrie, envoyé uniquement au point de terminaison OTel que vous configurez, jamais à Anthropic. Si cela pose un problème pour votre organisation, travaillez avec votre backend de télémétrie pour filtrer ou masquer ce champ1557* Lorsqu'authentifié via OAuth, `user.email` est inclus dans les attributs de télémétrie, envoyé uniquement au point de terminaison OTel que vous configurez, jamais à Anthropic. Si cela pose un problème pour votre organisation, travaillez avec votre backend de télémétrie pour filtrer ou masquer ce champ

1528* Le contenu des invites utilisateur n'est pas collecté par défaut. Seule la longueur de l'invite est enregistrée. Pour inclure le contenu de l'invite, définissez `OTEL_LOG_USER_PROMPTS=1`1558* Le contenu des invites utilisateur n'est pas collecté par défaut. Seule la longueur de l'invite est enregistrée. Pour inclure le contenu de l'invite, définissez `OTEL_LOG_USER_PROMPTS=1`. Sous le traçage bêta détaillé, cette variable s'étend au-delà du texte d'invite : elle contrôle également l'[attribut d'intervalle `new_context`](#new-context-gates), qui porte les résultats d'outil sur l'intervalle `claude_code.llm_request`

1529* Le texte de réponse de l'assistant n'est pas collecté par défaut. Seule la longueur de la réponse est enregistrée. Pour inclure le texte de réponse, définissez `OTEL_LOG_ASSISTANT_RESPONSES=1`. Comme toutes les données OpenTelemetry de Claude Code, le texte de réponse est envoyé uniquement au point de terminaison OTel que vous configurez, jamais à Anthropic. Lorsque cette variable n'est pas définie, `OTEL_LOG_USER_PROMPTS` est utilisé comme solution de secours, donc définissez `OTEL_LOG_ASSISTANT_RESPONSES=0` si vous souhaitez le contenu de l'invite sans contenu de réponse1559* Le texte de réponse de l'assistant n'est pas collecté par défaut. Seule la longueur de la réponse est enregistrée. Pour inclure le texte de réponse, définissez `OTEL_LOG_ASSISTANT_RESPONSES=1`. Comme toutes les données OpenTelemetry de Claude Code, le texte de réponse est envoyé uniquement au point de terminaison OTel que vous configurez, jamais à Anthropic. Lorsque cette variable n'est pas définie, `OTEL_LOG_USER_PROMPTS` est utilisé comme solution de secours, donc définissez `OTEL_LOG_ASSISTANT_RESPONSES=0` si vous souhaitez le contenu de l'invite sans contenu de réponse

1530* Les arguments d'entrée d'outil et les paramètres ne sont pas enregistrés par défaut. Pour les inclure, définissez `OTEL_LOG_TOOL_DETAILS=1`. Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, `tool_decision` et `tool_result` portent la paire `mcp_server_name`/`mcp_tool_name`, des noms créés par l'hôte plutôt que du contenu d'argument, même avec le drapeau désactivé. L'exception nécessite Claude Code v2.1.214 ou version ultérieure. Ces données sont envoyées uniquement au point de terminaison OTEL que vous configurez, jamais à Anthropic. Les arguments peuvent toujours contenir des valeurs sensibles, donc configurez votre backend de télémétrie pour filtrer ou masquer ces attributs selon les besoins. Lorsqu'activé :1560* Les arguments d'entrée d'outil et les paramètres ne sont pas enregistrés par défaut. Pour les inclure, définissez `OTEL_LOG_TOOL_DETAILS=1`. Pour les serveurs intégrés de Claude Desktop, dans les sessions que Claude Desktop possède, `tool_decision` et `tool_result` portent la paire `mcp_server_name`/`mcp_tool_name`, des noms créés par l'hôte plutôt que du contenu d'argument, même avec le drapeau désactivé. L'exception nécessite Claude Code v2.1.214 ou version ultérieure. Ces données sont envoyées uniquement au point de terminaison OTEL que vous configurez, jamais à Anthropic. Les arguments peuvent toujours contenir des valeurs sensibles, donc configurez votre backend de télémétrie pour filtrer ou masquer ces attributs selon les besoins. Lorsqu'activé :

1531 * Les événements `tool_result` et `tool_decision` incluent un attribut `tool_parameters` avec les commandes Bash, les noms de serveur MCP et d'outil, et les noms de compétences. Les champs tels que `full_command` sont émis sans troncature1561 * Les événements `tool_result` et `tool_decision` incluent un attribut `tool_parameters` avec les commandes Bash, les noms de serveur MCP et d'outil, et les noms de compétences. Les champs tels que `full_command` sont émis sans troncature

1532 * Les événements `tool_result` incluent également un attribut `tool_input` avec les chemins de fichiers, les URL, les modèles de recherche et d'autres arguments. Les valeurs individuelles dépassant 512 caractères sont tronquées et le total est limité à environ 4 K caractères1562 * Les événements `tool_result` incluent également un attribut `tool_input` avec les chemins de fichiers, les URL, les modèles de recherche et d'autres arguments. Les valeurs individuelles dépassant 512 caractères sont tronquées et le total est limité à environ 4 K caractères

1533 * Les événements `user_prompt` incluent le `command_name` verbatim pour les commandes personnalisées, de plugin et MCP1563 * Les événements `user_prompt` incluent le `command_name` verbatim pour les commandes personnalisées, de plugin et MCP

1534 * Les intervalles de trace incluent le même attribut `tool_input` et les attributs dérivés de l'entrée tels que `file_path`, avec la même troncature que `tool_input`1564 * Les intervalles de trace incluent le même attribut `tool_input` et les attributs dérivés de l'entrée tels que `file_path`, avec la même troncature que `tool_input`

1535* Le contenu d'entrée et de sortie d'outil n'est pas enregistré dans les intervalles de trace par défaut. Pour l'inclure, définissez `OTEL_LOG_TOOL_CONTENT=1`. Lorsqu'activé, les événements d'intervalle incluent le contenu complet d'entrée et de sortie d'outil tronqué à la limite de contenu (60 Ko par défaut) par attribut. Cela peut inclure les contenus de fichiers bruts des résultats de l'outil Read et la sortie de commande Bash. Configurez votre backend de télémétrie pour filtrer ou masquer ces attributs selon les besoins1565* Le contenu d'outil n'est pas enregistré dans les intervalles de trace par défaut. Pour l'inclure, définissez `OTEL_LOG_TOOL_CONTENT=1`. L'intervalle `claude_code.tool` porte alors un [événement d'intervalle `tool.output`](#tool-output-span-event) avec les contenus de fichiers bruts et la sortie de commande Bash, tronqués à la limite de contenu (60 Ko par défaut) par attribut. Le contenu d'outil atteint également les intervalles via [`new_context`, dont la porte diffère par intervalle](#new-context-gates). Configurez votre backend de télémétrie pour filtrer ou masquer ces attributs selon les besoins

1536* Les corps bruts de la demande et de la réponse de l'API Messages d'Anthropic ne sont pas enregistrés par défaut. Pour les inclure, définissez `OTEL_LOG_RAW_API_BODIES` dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Il est ignoré dans [les paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Les corps contiennent l'historique complet de la conversation, y compris l'invite système, chaque tour d'utilisateur et d'assistant antérieur, et les résultats d'outils, donc l'activation de cette option implique le consentement à tout ce que les autres drapeaux de contenu `OTEL_LOG_*` révèleraient. Claude Code masque toujours le contenu de réflexion étendue de Claude de ces corps, indépendamment des autres paramètres. La valeur que vous définissez détermine comment Claude Code livre les corps :1566* Les corps bruts de la demande et de la réponse de l'API Messages d'Anthropic ne sont pas enregistrés par défaut. Pour les inclure, définissez `OTEL_LOG_RAW_API_BODIES` dans votre shell, vos paramètres utilisateur ou vos paramètres gérés. Il est ignoré dans [les paramètres de projet et locaux](/docs/fr/settings-reference#variables-claude-code-ignores-in-env). Les corps contiennent l'historique complet de la conversation, y compris l'invite système, chaque tour d'utilisateur et d'assistant antérieur, et les résultats d'outils, donc l'activation de cette option implique le consentement à tout ce que les autres drapeaux de contenu `OTEL_LOG_*` révèleraient. Claude Code masque toujours le contenu de réflexion étendue de Claude de ces corps, indépendamment des autres paramètres. La valeur que vous définissez détermine comment Claude Code livre les corps :

1537 * Avec `=1`, Claude Code émet des événements de journaux `api_request_body` et `api_response_body` pour chaque appel d'API. L'attribut `body` des événements porte la charge utile sérialisée en JSON, tronquée à la limite de contenu (60 Ko par défaut)1567 * Avec `=1`, Claude Code émet des événements de journaux `api_request_body` et `api_response_body` pour chaque appel d'API. L'attribut `body` des événements porte la charge utile sérialisée en JSON, tronquée à la limite de contenu (60 Ko par défaut)

1538 * Avec `=file:<dir>`, Claude Code écrit les corps non tronqués dans les fichiers `.request.json` et `.response.json` sous ce répertoire, et les événements portent un chemin `body_ref` à la place du corps en ligne. Livrez le répertoire avec un collecteur de journaux ou un sidecar plutôt que via le flux de télémétrie1568 * Avec `=file:<dir>`, Claude Code écrit les corps non tronqués dans les fichiers `.request.json` et `.response.json` sous ce répertoire, et les événements portent un chemin `body_ref` à la place du corps en ligne. Livrez le répertoire avec un collecteur de journaux ou un sidecar plutôt que via le flux de télémétrie.

1569 

1570 Pour chaque réponse réussie, Claude Code ajoute également une ligne à `index.jsonl` dans ce répertoire, reliant le fichier de réponse au fichier de demande qui l'a produit et au message de transcription qu'il est devenu. Chaque ligne ne contient aucun contenu de message, et la section [événement du corps de réponse API](#api-response-body-event) énumère ses champs. Le fichier d'index nécessite Claude Code v2.1.274 ou version ultérieure

1539 1571 

1540<h2 id="monitor-claude-code-on-amazon-bedrock">1572<h2 id="monitor-claude-code-on-amazon-bedrock">

1541 Surveiller Claude Code sur Amazon Bedrock1573 Surveiller Claude Code sur Amazon Bedrock

Details

34 34 

35Choisissez un style de l'une de ces façons :35Choisissez un style de l'une de ces façons :

36 36 

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

38 

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.

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

38* **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.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.

39* **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.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.

40 43 

41<Note>La commande autonome `/output-style` a été dépréciée dans la v2.1.73 et supprimée dans la v2.1.91. Utilisez `/config` ou modifiez directement le paramètre `outputStyle`.</Note>

42 

43Pour définir un style sans le menu, modifiez directement le champ `outputStyle` dans un fichier de paramètres :44Pour définir un style sans le menu, modifiez directement le champ `outputStyle` dans un fichier de paramètres :

44 45 

45```json theme={null}46```json theme={null}


90 </Step>91 </Step>

91 92 

92 <Step title="Basculer vers votre style">93 <Step title="Basculer vers votre style">

93 Exécutez `/config` dans le terminal et sélectionnez votre style sous **Output style**. Claude utilise le nouveau style à partir de votre message suivant. Dans le terminal, Claude Code lit les fichiers de style au démarrage, donc si vous en créez ou en modifiez un pendant une session en cours, redémarrez Claude Code pour appliquer la modification.94 Exécutez `/output-style <style>` dans le terminal, ou exécutez `/config` et sélectionnez votre style sous **Output style**. Claude utilise le nouveau style à partir de votre message suivant. Dans le terminal, Claude Code lit les fichiers de style au démarrage, donc si vous en créez ou en modifiez un pendant une session en cours, redémarrez Claude Code pour appliquer la modification.

94 </Step>95 </Step>

95</Steps>96</Steps>

96 97 

overview.md +5 −5

Details

117 </Tab>117 </Tab>

118 118 

119 <Tab title="Web">119 <Tab title="Web">

120 Exécutez Claude Code dans votre navigateur sans configuration locale. Lancez des tâches longues et revenez quand elles sont terminées, travaillez sur des dépôts que vous n'avez pas localement ou exécutez plusieurs tâches en parallèle. Disponible sur les navigateurs de bureau et [l'application Claude pour iOS et Android](/docs/fr/mobile).120 Exécutez Claude Code dans votre navigateur sans configuration locale. Lancez des tâches longues et revenez quand elles sont terminées, travaillez sur des dépôts que vous n'avez pas localement ou exécutez plusieurs tâches en parallèle. Pour un travail plus important, créez un [projet](/docs/fr/claude-projects) et laissez Claude coordonner les sessions parallèles pour vous. Disponible sur les navigateurs de bureau et [l'application Claude pour iOS et Android](/docs/fr/mobile).

121 121 

122 Commencez à coder sur [claude.ai/code](https://claude.ai/code).122 Commencez à coder sur [claude.ai/code](https://claude.ai/code).

123 123 

124 [Commencer sur le web →](/docs/fr/web-quickstart)124 [Commencer →](/docs/fr/web-quickstart)

125 </Tab>125 </Tab>

126 126 

127 <Tab title="JetBrains">127 <Tab title="JetBrains">


169 </Accordion>169 </Accordion>

170 170 

171 <Accordion title="Personnaliser avec des instructions, des skills et des hooks" icon="sliders">171 <Accordion title="Personnaliser avec des instructions, des skills et des hooks" icon="sliders">

172 [`CLAUDE.md`](/docs/fr/memory) est un fichier markdown que vous ajoutez à la racine de votre projet que Claude Code lit au début de chaque session. Utilisez-le pour définir les normes de codage, les décisions architecturales, les bibliothèques préférées et les listes de contrôle d'examen. Claude construit également une [mémoire automatique](/docs/fr/memory#auto-memory) au fur et à mesure qu'il travaille, en sauvegardant les apprentissages entre les sessions sans que vous ayez à écrire quoi que ce soit.172 [`CLAUDE.md`](/docs/fr/memory) est un fichier markdown que vous ajoutez à la racine de votre projet que Claude Code lit au début de chaque session. Utilisez-le pour définir les normes de codage, les décisions architecturales, les bibliothèques préférées et les listes de contrôle d'examen. Si votre référentiel possède déjà un `AGENTS.md` pour d'autres agents de codage, Claude Code [peut le lire](/docs/fr/memory#agents-md) seul ou aux côtés de `CLAUDE.md`. Claude construit également une [mémoire automatique](/docs/fr/memory#auto-memory) au fur et à mesure qu'il travaille, en sauvegardant les apprentissages entre les sessions sans que vous ayez à écrire quoi que ce soit.

173 173 

174 Créez des [skills](/docs/fr/skills) pour empaqueter les flux de travail répétables que votre équipe peut partager, comme `/review-pr` ou `/deploy-staging`.174 Créez des [skills](/docs/fr/skills) pour empaqueter les flux de travail répétables que votre équipe peut partager, comme `/review-pr` ou `/deploy-staging`.

175 175 


227Au-delà des environnements [Terminal](/docs/fr/quickstart), [VS Code](/docs/fr/vs-code), [JetBrains](/docs/fr/jetbrains), [Desktop](/docs/fr/desktop) et [Web](/docs/fr/claude-code-on-the-web) ci-dessus, Claude Code s'intègre avec les flux de travail CI/CD, chat et navigateur :227Au-delà des environnements [Terminal](/docs/fr/quickstart), [VS Code](/docs/fr/vs-code), [JetBrains](/docs/fr/jetbrains), [Desktop](/docs/fr/desktop) et [Web](/docs/fr/claude-code-on-the-web) ci-dessus, Claude Code s'intègre avec les flux de travail CI/CD, chat et navigateur :

228 228 

229| Je veux... | Meilleure option |229| Je veux... | Meilleure option |

230| ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |230| ---------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |

231| Continuer une session locale depuis mon téléphone ou un autre appareil | [Contrôle à distance](/docs/fr/remote-control) |231| Continuer une session locale depuis mon téléphone ou un autre appareil | [Contrôle à distance](/docs/fr/remote-control) |

232| Envoyer des événements de Telegram, Discord, iMessage ou mes propres webhooks dans une session | [Canaux](/docs/fr/channels) |232| Envoyer des événements de Telegram, Discord, iMessage ou mes propres webhooks dans une session | [Canaux](/docs/fr/channels) |

233| Démarrer une tâche localement, continuer sur mobile | [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-web), puis l'[application Claude mobile](/docs/fr/mobile) |233| Démarrer une tâche localement, continuer sur mobile | [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud), puis l'[application Claude mobile](/docs/fr/mobile) |

234| Exécuter Claude selon un calendrier récurrent | [Routines](/docs/fr/routines) ou [Tâches planifiées de bureau](/docs/fr/desktop-scheduled-tasks) |234| Exécuter Claude selon un calendrier récurrent | [Routines](/docs/fr/routines) ou [Tâches planifiées de bureau](/docs/fr/desktop-scheduled-tasks) |

235| Automatiser les examens de PR et le triage des problèmes | [GitHub Actions](/docs/fr/github-actions) ou [GitLab CI/CD](/docs/fr/gitlab-ci-cd) |235| Automatiser les examens de PR et le triage des problèmes | [GitHub Actions](/docs/fr/github-actions) ou [GitLab CI/CD](/docs/fr/gitlab-ci-cd) |

236| Obtenir un examen automatique du code sur chaque PR | [Examen du code GitHub](/docs/fr/code-review) |236| Obtenir un examen automatique du code sur chaque PR | [Examen du code GitHub](/docs/fr/code-review) |

Details

42* Outils qui nécessitent une interaction utilisateur : l'outil intégré `AskUserQuestion` et les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool)42* Outils qui nécessitent une interaction utilisateur : l'outil intégré `AskUserQuestion` et les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool)

43* Les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths), qu'aucune règle allow ou hook `PreToolUse` `"allow"` n'approuve43* Les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths), qu'aucune règle allow ou hook `PreToolUse` `"allow"` n'approuve

44* Les [protections de messagerie inter-sessions](#skip-all-checks-with-bypasspermissions-mode)44* Les [protections de messagerie inter-sessions](#skip-all-checks-with-bypasspermissions-mode)

45* Les lectures en dehors des répertoires de travail tandis que [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) est activé : les commandes Bash reconnues de lecture de fichiers et tout [retry non sandboxé](/docs/fr/sandboxing#the-unsandboxed-retry-escape-hatch) qui nécessite une approbation pour s'exécuter en dehors du sandbox même en mode auto et mode `bypassPermissions`. Nécessite Claude Code v2.1.257 ou version ultérieure45* Les lectures en dehors des répertoires de travail tandis que [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) est activé : les commandes Bash reconnues de lecture de fichiers et tout [retry non sandboxé](/docs/fr/sandboxing#the-unsandboxed-retry-escape-hatch) qui nécessite une approbation pour s'exécuter en dehors du sandbox même en mode auto et mode `bypassPermissions`. Nécessite Claude Code v2.1.257 ou version ultérieure.

46 

47 Une commande que l'analyseur de shell ne peut pas tracer, comme une qui change de répertoire plus d'une fois ou exécute un sous-shell, demande de la même manière même quand elle ne nomme aucun chemin extérieur. Cette invite ne s'applique pas quand la commande s'exécute dans le [sandbox](/docs/fr/sandboxing) et le sandbox applique le bloc.

46 48 

47<h2 id="common-setups">49<h2 id="common-setups">

48 Configurations courantes50 Configurations courantes

49</h2>51</h2>

50 52 

51Les modes de permission décident si Claude demande avant une action, et le [sandbox Bash](/docs/fr/sandboxing) et les [limites d'isolation](/docs/fr/sandbox-environments) externes décident ce qu'une action peut atteindre une fois qu'elle s'exécute. Chaque ligne ci-dessous associe un objectif aux drapeaux ou paramètres qui vous y amènent et à l'isolation qu'il nécessite, comme point de départ. [Modes disponibles](#available-modes) énumère ce qui s'exécute sans invite dans chaque mode.53Les modes de permission décident si Claude demande une confirmation avant une action, et le [sandbox Bash](/docs/fr/sandboxing) et les [limites d'isolation](/docs/fr/sandbox-environments) externes décident ce qu'une action peut atteindre une fois qu'elle s'exécute. Chaque ligne ci-dessous associe un objectif aux drapeaux ou paramètres qui vous y mènent et à l'isolation nécessaire, comme point de départ. [Les modes disponibles](#available-modes) énumère ce qui s'exécute sans invite dans chaque mode.

52 54 

53| Vous voulez | Commencez par | Isolation nécessaire | Notes |55| Vous voulez | Commencez par | Isolation nécessaire | Notes |

54| :------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |56| :------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

55| Examiner chaque action vous-même | Mode Manuel : `claude --permission-mode default` | Aucune | Travail sensible, code non familier |57| Examiner chaque action vous-même | Mode manuel : `claude --permission-mode default` | Aucune | Travail sensible, code non familier |

56| Itérer localement avec moins d'invites, sans classificateur | Mode Manuel plus le sandbox Bash en [mode auto-allow](/docs/fr/sandboxing#sandbox-modes) : `claude --permission-mode default`, puis exécutez `/sandbox` et sélectionnez auto-allow | Le sandbox Bash intégré, sur macOS, Linux et WSL2 | Les règles de refus s'appliquent toujours, et les règles ask qui nomment une commande, comme `Bash(git push *)`, invitent toujours. Pour activer le sandbox à partir d'un fichier de paramètres à la place, définissez [`sandbox.enabled`](/docs/fr/settings-reference#sandbox-enabled) sur `true` |58| Itérer localement avec moins d'invites, sans classificateur | Mode manuel plus le sandbox Bash en [mode auto-allow](/docs/fr/sandboxing#sandbox-modes) : `claude --permission-mode default`, puis exécutez `/sandbox` et sélectionnez auto-allow | Le sandbox Bash intégré, sur macOS, Linux et WSL2 | Les règles de refus s'appliquent toujours, et les règles d'ask qui nomment une commande, comme `Bash(git push *)`, invitent toujours. Pour activer le sandbox à partir d'un fichier de paramètres à la place, définissez [`sandbox.enabled`](/docs/fr/settings-reference#sandbox-enabled) sur `true` |

57| Explorer avant de modifier quoi que ce soit | `claude --permission-mode plan` | Aucune | Claude Code bloque les modifications jusqu'à ce que vous [approuviez un plan](#review-and-approve-a-plan) |59| Explorer avant de modifier quoi que ce soit | `claude --permission-mode plan` | Aucune | Claude Code bloque les modifications jusqu'à ce que vous [approuviez un plan](#review-and-approve-a-plan) |

58| Travailler sans intervention en mode auto | `claude --permission-mode auto`, le [mode de permission de démarrage intégré](#which-mode-a-session-starts-in) sur Pro, Max et Team | Aucune ; un sandbox ou conteneur ajoute une défense en profondeur | Nécessite un [modèle supporté](#eliminate-prompts-with-auto-mode), et votre organisation peut [désactiver le mode auto](#eliminate-prompts-with-auto-mode) |60| Travailler en mode automatique sans intervention | `claude --permission-mode auto`, le [mode de permission de démarrage intégré](#which-mode-a-session-starts-in) sur Pro, Max et Team | Aucune ; un sandbox ou un conteneur ajoute une défense en profondeur | Nécessite un [modèle pris en charge](#eliminate-prompts-with-auto-mode), et votre organisation peut [désactiver le mode auto](#eliminate-prompts-with-auto-mode) |

59| Exécuter en CI avec une liste d'autorisation exacte | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Aucune au-delà de ce que votre runner CI fournit | [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ignore `dontAsk` des fichiers de paramètres |61| Exécuter en CI avec une liste d'autorisation exacte | `claude -p "run the test suite" --permission-mode dontAsk --allowedTools "Bash(npm test)" "Read"` | Aucune au-delà de ce que votre exécuteur CI fournit | Les [sessions cloud](/docs/fr/claude-code-on-the-web) ignorent `dontAsk` des fichiers de paramètres |

60| Exécuter complètement sans surveillance à l'intérieur d'un conteneur | `claude -p "<prompt>" --dangerously-skip-permissions` | Requis : un conteneur, une VM, ou le [runtime sandbox](/docs/fr/sandbox-environments#sandbox-runtime) ; sur Linux et macOS, exécutez-le en tant qu'[utilisateur non-root](#skip-all-checks-with-bypasspermissions-mode) | Claude Code sur le web ignore ce mode des fichiers de paramètres. Dans cette exécution `-p`, les [quelques appels qui inviteraient toujours](#skip-all-checks-with-bypasspermissions-mode) sont refusés à la place |62| Exécuter complètement sans surveillance à l'intérieur d'un conteneur | `claude -p "<prompt>" --dangerously-skip-permissions` | Obligatoire : un conteneur, une VM ou le [runtime sandbox](/docs/fr/sandbox-environments#sandbox-runtime) ; sur Linux et macOS, exécutez-le en tant qu'[utilisateur non-root](#skip-all-checks-with-bypasspermissions-mode) | Les sessions cloud ignorent ce mode des fichiers de paramètres. Dans cette exécution `-p`, les [quelques appels qui inviteraient toujours](#skip-all-checks-with-bypasspermissions-mode) sont refusés à la place |

61 63 

62Le sandbox Bash et le mode auto fonctionnent indépendamment et se combinent, sauf en mode plan, où [auto-allow n'élargit pas les approbations](/docs/fr/sandboxing#sandbox-modes). Pour l'interaction complète, voir [Comment le sandboxing se rapporte aux permissions et aux modes de permission](/docs/fr/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes) et [Comment l'isolation se rapporte aux modes de permission](/docs/fr/sandbox-environments#how-isolation-relates-to-permission-modes).64Le sandbox Bash et le mode auto fonctionnent indépendamment et se combinent, avec les exceptions énumérées sous [Sandbox modes](/docs/fr/sandboxing#sandbox-modes). Pour l'interaction complète, consultez [How sandboxing relates to permissions and permission modes](/docs/fr/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes) et [How isolation relates to permission modes](/docs/fr/sandbox-environments#how-isolation-relates-to-permission-modes).

63 65 

64<h2 id="which-mode-a-session-starts-in">66<h2 id="which-mode-a-session-starts-in">

65 Quel mode une session démarre67 Quel mode une session démarre


211 <Tab title="Web and mobile">213 <Tab title="Web and mobile">

212 Utilisez la liste déroulante de mode à côté de la zone de saisie sur [claude.ai/code](https://claude.ai/code) ou dans l'application mobile. Les invites de permission apparaissent dans claude.ai pour approbation. Les modes qui apparaissent dépendent de l'endroit où la session s'exécute :214 Utilisez la liste déroulante de mode à côté de la zone de saisie sur [claude.ai/code](https://claude.ai/code) ou dans l'application mobile. Les invites de permission apparaissent dans claude.ai pour approbation. Les modes qui apparaissent dépendent de l'endroit où la session s'exécute :

213 215 

214 * **Sessions cloud** sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web) : Accept edits, Plan et Auto. Accept edits correspond au mode `default` : les sessions cloud pré-approuvent les modifications de fichiers quel que soit le mode, donc la liste déroulante affiche Accept edits au lieu de Manual. Les sessions cloud honorent toujours `defaultMode: "acceptEdits"` à partir des paramètres. Le mode Auto n'apparaît que quand votre organisation le permet et que le modèle sélectionné le supporte. Bypass permissions n'est pas disponible.216 * **[Sessions cloud](/docs/fr/claude-code-on-the-web)** : Accept edits, Plan et Auto. Accept edits correspond au mode `default` : les sessions cloud pré-approuvent les modifications de fichiers quel que soit le mode, donc la liste déroulante affiche Accept edits au lieu de Manual. Les sessions cloud honorent toujours `defaultMode: "acceptEdits"` à partir des paramètres. Le mode Auto n'apparaît que quand votre organisation le permet et que le modèle sélectionné le supporte. Bypass permissions n'est pas disponible.

215 * **Sessions [Remote Control](/docs/fr/remote-control)** sur votre machine locale : Manual, Accept edits et Plan. Vous ne pouvez pas sélectionner Auto ou Bypass permissions à partir de l'application.217 * **[Sessions Remote Control](/docs/fr/remote-control)** sur votre machine locale : Manual, Accept edits et Plan. Vous ne pouvez pas sélectionner Auto ou Bypass permissions à partir de l'application.

216 * Sauf pour Bypass permissions, la liste déroulante affiche le mode de permission dans lequel se trouve la session locale, y compris un mode défini à partir du terminal. Elle se met à jour quand le mode de permission change dans l'application ou dans le terminal. La session ne signale jamais Bypass permissions à claude.ai, donc basculer vers celui-ci à partir du terminal ne change pas ce que la liste déroulante affiche.218 * Sauf pour Bypass permissions, la liste déroulante affiche le mode de permission dans lequel se trouve la session locale, y compris un mode défini à partir du terminal. Elle se met à jour quand le mode de permission change dans l'application ou dans le terminal. La session ne signale jamais Bypass permissions à claude.ai, donc basculer vers celui-ci à partir du terminal ne change pas ce que la liste déroulante affiche.

217 * Les sessions hébergées par l'[application de bureau](/docs/fr/desktop) ou l'[extension VS Code](/docs/fr/vs-code) signalent les changements de mode de permission à claude.ai au fur et à mesure qu'ils se produisent, de la même manière que les sessions hébergées dans un terminal.219 * Les sessions hébergées par l'[application de bureau](/docs/fr/desktop) ou l'[extension VS Code](/docs/fr/vs-code) signalent les changements de mode de permission à claude.ai au fur et à mesure qu'ils se produisent, de la même manière que les sessions hébergées dans un terminal.

218 * Avant v2.1.202, les sessions connectées avec `/remote-control` ou `claude --remote-control` ne signalaient pas du tout leur mode de permission, donc claude.ai et l'application mobile pouvaient afficher un mode de permission dans lequel la session n'était pas. L'inadéquation affectait uniquement l'étiquette. Claude Code générait des invites de permission à partir du mode de permission réel de la session, et elles apparaissaient toujours dans l'application pour approbation.220 * Avant v2.1.202, les sessions connectées avec `/remote-control` ou `claude --remote-control` ne signalaient pas du tout leur mode de permission, donc claude.ai et l'application mobile pouvaient afficher un mode de permission dans lequel la session n'était pas. L'inadéquation affectait uniquement l'étiquette. Claude Code générait des invites de permission à partir du mode de permission réel de la session, et elles apparaissaient toujours dans l'application pour approbation.


326 328 

327Dans v2.1.158 à v2.1.206, le mode auto était désactivé sur ces fournisseurs jusqu'à ce que vous définissiez `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, et Claude Code ignorait `defaultMode: "auto"` sur ces fournisseurs sauf si la variable était également définie. La variable est toujours acceptée pour la compatibilité et n'a aucun effet à partir de v2.1.207.329Dans v2.1.158 à v2.1.206, le mode auto était désactivé sur ces fournisseurs jusqu'à ce que vous définissiez `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, et Claude Code ignorait `defaultMode: "auto"` sur ces fournisseurs sauf si la variable était également définie. La variable est toujours acceptée pour la compatibilité et n'a aucun effet à partir de v2.1.207.

328 330 

331<h4 id="server-side-classifier-review">

332 Examen du classificateur côté serveur

333</h4>

334 

335Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, Claude Code examine les actions du mode auto avec ses propres demandes de classificateur par défaut. Pour que le classificateur côté serveur de la plateforme examine [les actions qui vont au classificateur](#how-the-classifier-evaluates-actions) dans le cadre des demandes de modèle de la session à la place, définissez [`CLAUDE_CODE_AUTO_MODE_SERVER=1`](/docs/fr/env-vars). Où la plateforme exécute le classificateur, ses verdicts décident ces actions ; où elle ne le fait pas, Claude Code revient à ses propres demandes de classificateur. Dans v2.1.271 et v2.1.272, demander à la plateforme était la valeur par défaut sur ces fournisseurs.

336 

329<h3 id="what-the-classifier-blocks-by-default">337<h3 id="what-the-classifier-blocks-by-default">

330 Ce que le classificateur bloque par défaut338 Ce que le classificateur bloque par défaut

331</h3>339</h3>


419* Envoi de données vers les domaines approuvés, les buckets et les services que vous répertoriez dans [`environment`](/docs/fr/auto-mode-config#define-trusted-infrastructure). Cela couvre le flux de données uniquement, pas les opérations destructrices ou de credentials sur la même infrastructure427* Envoi de données vers les domaines approuvés, les buckets et les services que vous répertoriez dans [`environment`](/docs/fr/auto-mode-config#define-trusted-infrastructure). Cela couvre le flux de données uniquement, pas les opérations destructrices ou de credentials sur la même infrastructure

420* [Claude dans Chrome](/docs/fr/chrome) navigation vers un domaine interne approuvé, localhost, ou une URL que vous avez nommée428* [Claude dans Chrome](/docs/fr/chrome) navigation vers un domaine interne approuvé, localhost, ou une URL que vous avez nommée

421 429 

422Les demandes d'accès réseau du bac à sable sont acheminées via le classificateur plutôt que d'être autorisées par défaut. À partir de v2.1.198, le classificateur réutilise son verdict pour un hôte et un port réseau au lieu de réexécuter à chaque connexion :430Les commandes en bac à sable n'obtiennent pas d'accès réseau par défaut. Claude nomme les hôtes qu'une commande nécessite sur la commande elle-même, le classificateur les examine avec la commande, et une liste approuvée ouvre ces hôtes pour cette seule commande. [Les domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) couvrent ce qu'une liste peut et ne peut pas ouvrir et ce qui se passe lorsqu'une commande atteint un hôte non répertorié.

423 

424* Une autorisation est réutilisée jusqu'à ce que du nouveau contenu entre dans la conversation, moment auquel cet hôte est vérifié à nouveau

425* Claude Code v2.1.234 et ultérieur réutilisent un refus causé par la conversation dépassant la fenêtre de contexte du classificateur jusqu'à ce que du nouveau contenu entre dans la conversation, ou jusqu'à ce que la [compaction](/docs/fr/costs#reduce-token-usage) réduise ce que le classificateur lit. Claude Code vérifie ensuite l'hôte à nouveau

426* Un refus que le classificateur a atteint en évaluant la demande dure pour le tour dans l'interface CLI interactive. En [mode non interactif](/docs/fr/headless) et les sessions Agent SDK, Claude Code réutilise ce refus pour le reste de l'exécution, car ces sessions n'ont pas de limite de tour

427* Changer votre mode de permission ou vos règles supprime tous les verdicts en cache

428 431 

429Exécutez `claude auto-mode defaults` pour imprimer les listes de règles complètes en JSON. Si les actions routinières sont bloquées, un administrateur peut ajouter des dépôts approuvés, des buckets et des services via le paramètre `autoMode.environment` : voir [Configurer le mode auto](/docs/fr/auto-mode-config).432Exécutez `claude auto-mode defaults` pour imprimer les listes de règles complètes en JSON. Si les actions routinières sont bloquées, un administrateur peut ajouter des dépôts approuvés, des buckets et des services via le paramètre `autoMode.environment` : voir [Configurer le mode auto](/docs/fr/auto-mode-config).

430 433 


471 <Accordion title="Comment le classificateur évalue les actions">474 <Accordion title="Comment le classificateur évalue les actions">

472 Chaque action passe par un ordre de décision fixe. La première étape correspondante gagne :475 Chaque action passe par un ordre de décision fixe. La première étape correspondante gagne :

473 476 

474 1. Les actions correspondant à vos [règles allow, ask ou deny](/docs/fr/permissions#manage-permissions) se résolvent immédiatement. Les écritures vers les [chemins protégés](#protected-paths) sont acheminées vers le classificateur même lorsqu'une règle allow correspond, et il en va de même pour les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths) dans Claude Code v2.1.218 et ultérieur. Les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) vous invitent directement même lorsqu'une règle allow correspond, et il en va de même pour les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code. Les règles ask qui correspondent sur le contenu d'une commande, comme `Bash(git push *)`, se replient sur une invite de permission477 1. Les actions correspondant à vos [règles allow, ask ou deny](/docs/fr/permissions#manage-permissions) se résolvent immédiatement, avec ces exceptions :

478 * Les écritures vers les [chemins protégés](#protected-paths) sont acheminées vers le classificateur même lorsqu'une règle allow correspond, et il en va de même pour les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths) dans Claude Code v2.1.218 et ultérieur

479 * Les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) vous invitent directement même lorsqu'une règle allow correspond, et il en va de même pour les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code

480 * Une commande shell qui porte [les domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) est également acheminée vers le classificateur même lorsqu'une règle allow correspond, parce qu'une règle approuve la commande, pas ses hôtes

481 * Les règles ask qui correspondent sur le contenu d'une commande, comme `Bash(git push *)`, se replient sur une invite de permission

475 2. Les actions en lecture seule et les éditions de fichiers dans votre répertoire de travail sont auto-approuvées, sauf les écritures vers les [chemins protégés](#protected-paths) et [la première lecture en dehors des répertoires de travail](#first-read-outside-the-working-directories), qui vous invite482 2. Les actions en lecture seule et les éditions de fichiers dans votre répertoire de travail sont auto-approuvées, sauf les écritures vers les [chemins protégés](#protected-paths) et [la première lecture en dehors des répertoires de travail](#first-read-outside-the-working-directories), qui vous invite

476 3. Tout le reste va au classificateur. Les outils de connecteur et les outils MCP `requiresUserInteraction` qui vous invitent directement à l'étape 1 ne parviennent jamais au classificateur, donc ni une approbation requise par l'organisation ni une étape de consentement n'est auto-approuvée483 3. Tout le reste va au classificateur. Les outils de connecteur et les outils MCP `requiresUserInteraction` qui vous invitent directement à l'étape 1 ne parviennent jamais au classificateur, donc ni une approbation requise par l'organisation ni une étape de consentement n'est auto-approuvée

477 4. Si le classificateur bloque, Claude reçoit la raison et essaie une alternative. Dans la plupart des sessions, la raison nomme la règle que le classificateur a trouvée, comme `[Data Exfiltration]`, plutôt que de donner une explication écrite ; voir [Examiner les refus](/docs/fr/auto-mode-config#review-denials)484 4. Si le classificateur bloque, Claude reçoit la raison et essaie une alternative. Dans la plupart des sessions, la raison nomme la règle que le classificateur a trouvée, comme `[Data Exfiltration]`, plutôt que de donner une explication écrite ; voir [Examiner les refus](/docs/fr/auto-mode-config#review-denials)


488 495 

489 Claude Code exécute également `git status` lui-même avant une commande qui éliminerait le travail non validé, comme `git reset --hard` ou `rm -rf`, et montre au classificateur si un travail préparé, modifié ou non suivi est présent. Claude Code signale les fichiers non suivis dans cette vérification même lorsque la configuration git du dépôt définit `status.showUntrackedFiles=no`.496 Claude Code exécute également `git status` lui-même avant une commande qui éliminerait le travail non validé, comme `git reset --hard` ou `rm -rf`, et montre au classificateur si un travail préparé, modifié ou non suivi est présent. Claude Code signale les fichiers non suivis dans cette vérification même lorsque la configuration git du dépôt définit `status.showUntrackedFiles=no`.

490 497 

491 Le classificateur voit les messages utilisateur, les appels d'outils autres que les recherches en lecture seule comme les lectures de fichiers et les recherches, et votre contenu CLAUDE.md. Les résultats d'outils sont supprimés, donc le contenu hostile dans un fichier ou une page Web ne peut pas le manipuler directement. 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.498 Dans les demandes de classificateur envoyées par Claude Code lui-même, le classificateur voit les messages utilisateur, les appels d'outils autres que les recherches en lecture seule comme les lectures de fichiers et les recherches, et votre contenu CLAUDE.md. Les résultats d'outils sont supprimés, donc le contenu hostile dans un fichier ou une page Web ne peut pas le manipuler directement. 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.

492 499 

493 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 l'[approfondissement technique](https://www.anthropic.com/engineering/claude-code-auto-mode).500 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 l'[approfondissement technique](https://www.anthropic.com/engineering/claude-code-auto-mode).

494 </Accordion>501 </Accordion>


498 505 

499 1. Avant le démarrage d'un sous-agent, 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.506 1. Avant le démarrage d'un sous-agent, 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.

500 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é.507 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é.

501 3. Lorsque le sous-agent se termine, le classificateur examine son historique d'action complet ; si cette vérification de retour signale une préoccupation, un avertissement de sécurité est ajouté au début des résultats du sous-agent. Lorsqu'une vérification de sécurité API distincte refuse la demande d'examen elle-même, Claude Code retourne toujours les résultats du sous-agent, précédés d'un avertissement que le travail n'est pas examiné et doit être traité comme non fiable.508 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.

502 509 

503 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.510 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.

504 </Accordion>511 </Accordion>


508 515 

509 La première demande en mode auto de la session valide la valeur par défaut Sonnet 5 : si la demande réussit, Sonnet 5 reste le modèle de classificateur de la session, et si elle échoue parce que le modèle n'est pas disponible, la session utilise le repli à la place. Après que cette validation se règle, le modèle du classificateur ne change pas pour la session.516 La première demande en mode auto de la session valide la valeur par défaut Sonnet 5 : si la demande réussit, Sonnet 5 reste le modèle de classificateur de la session, et si elle échoue parce que le modèle n'est pas disponible, la session utilise le repli à la place. Après que cette validation se règle, le modèle du classificateur ne change pas pour la session.

510 517 

511 Sur les plans Enterprise et sur les comptes qui utilisent l'API Claude, [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, les appels de classificateur comptent vers votre utilisation de jetons. Chaque vérification envoie une partie de la transcription plus l'action en attente, ajoutant un aller-retour avant l'exécution. Les lectures et les éditions de répertoire de travail en dehors des chemins protégés ignorent le classificateur, donc la surcharge provient principalement des commandes shell et des opérations réseau.518 Sur les plans Enterprise et sur les comptes qui utilisent l'API Claude, [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, les appels de classificateur comptent vers votre utilisation de jetons. Chaque vérification envoie une partie de la transcription plus l'action en attente, ajoutant un aller-retour avant l'exécution. Les lectures et les éditions de répertoire de travail en dehors des chemins protégés ignorent le classificateur, donc la surcharge provient principalement des commandes shell et des opérations réseau. Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, vous pouvez déplacer l'examen dans les demandes de modèle de la session à la place ; voir [Examen du classificateur côté serveur](#server-side-classifier-review).

512 519 

513 Le classificateur réutilise un verdict de réseau de bac à sable pour un hôte et un port, donc les connexions répétées au même hôte n'ajoutent pas chacune une vérification. [Ce que le classificateur bloque par défaut](#what-the-classifier-blocks-by-default) décrit combien de temps une autorisation et un refus durent.520 L'accès réseau en bac à sable n'ajoute pas de demandes de classificateur par connexion. Le classificateur juge [les hôtes qu'une commande nomme](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) ensemble avec la commande dans un examen, et Claude Code vérifie chaque connexion par rapport à la liste approuvée sans appeler le classificateur à nouveau.

514 </Accordion>521 </Accordion>

515</AccordionGroup>522</AccordionGroup>

516 523 


520 527 

521Si vous définissez le mode `dontAsk`, Claude Code refuse automatiquement chaque appel d'outil qui déclencherait autrement une invite. Claude exécute toujours les actions qui ne nécessitent aucune approbation en mode Manual, telles que les lectures de fichiers dans vos répertoires de travail et les [commandes Bash en lecture seule](/docs/fr/permissions#read-only-commands), ainsi que les actions correspondant à vos règles `permissions.allow` et les appels approuvés par un [hook PreToolUse](/docs/fr/permissions#extend-permissions-with-hooks). Utilisez ce mode pour les pipelines CI ou les environnements restreints où vous prédéfinissez ce que Claude peut faire ; la session n'attend jamais d'entrée. La barre d'état affiche `⏵⏵ don't ask on` tandis que ce mode est actif.528Si vous définissez le mode `dontAsk`, Claude Code refuse automatiquement chaque appel d'outil qui déclencherait autrement une invite. Claude exécute toujours les actions qui ne nécessitent aucune approbation en mode Manual, telles que les lectures de fichiers dans vos répertoires de travail et les [commandes Bash en lecture seule](/docs/fr/permissions#read-only-commands), ainsi que les actions correspondant à vos règles `permissions.allow` et les appels approuvés par un [hook PreToolUse](/docs/fr/permissions#extend-permissions-with-hooks). Utilisez ce mode pour les pipelines CI ou les environnements restreints où vous prédéfinissez ce que Claude peut faire ; la session n'attend jamais d'entrée. La barre d'état affiche `⏵⏵ don't ask on` tandis que ce mode est actif.

522 529 

523Claude Code refuse les appels correspondant à vos [règles `ask` explicites](/docs/fr/permissions#manage-permissions) plutôt que de déclencher une invite. Il refuse également l'outil intégré `AskUserQuestion` même si vos règles allow les correspondent, et il en va de même pour les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code. Il refuse les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) de la même manière, car leur carte d'approbation nécessite une réponse que ce mode ne collecte jamais ; cela nécessite Claude Code v2.1.199 ou ultérieur.530Claude Code refuse les appels correspondant à vos [règles `ask` explicites](/docs/fr/permissions#manage-permissions) plutôt que de déclencher une invite. Il refuse également l'outil intégré `AskUserQuestion` même si vos règles allow les correspondent, et il en va de même pour les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code. Il refuse les outils MCP marqués [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool) de la même manière, car leur carte d'approbation nécessite une réponse que ce mode ne collecte jamais ; cela nécessite Claude Code v2.1.199 ou ultérieur.

524 531 

525Les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths), comme `rm -rf /` et `rm -rf ~`, sont refusées même quand une règle allow les correspond ou qu'un hook `PreToolUse` les approuve.532Les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths), comme `rm -rf /` et `rm -rf ~`, sont refusées même quand une règle allow les correspond ou qu'un hook `PreToolUse` les approuve.

526 533 


540 547 

541Les [actions qu'aucun mode n'auto-approuve](#actions-no-mode-auto-approves) invitent toujours dans ce mode.548Les [actions qu'aucun mode n'auto-approuve](#actions-no-mode-auto-approves) invitent toujours dans ce mode.

542 549 

543Deux [protections de messagerie inter-sessions](/docs/fr/cross-session-messaging) s'appliquent toujours dans ce mode, et dans les sessions en mode plan où les permissions de contournement sont disponibles :550Deux [protections de messagerie inter-sessions](/docs/fr/cross-session-messaging) s'appliquent toujours dans ce mode, et dans les sessions en mode plan interactif où les permissions de contournement sont disponibles :

544 551 

545* L'invite d'approbation [`isolatePeerMachines`](/docs/fr/settings-reference#isolatepeermachines) pour les messages vers vos sessions au-delà de cette machine apparaît toujours.552* L'invite d'approbation [`isolatePeerMachines`](/docs/fr/settings-reference#isolatepeermachines) pour les messages vers vos sessions au-delà de cette machine apparaît toujours.

546* Quand aucune valeur [`crossSessionInbound`](/docs/fr/cross-session-messaging#control-inbound-messages) ne s'applique, Claude Code retient un message entrant d'une autre de vos sessions pour votre approbation, et le livre sans demander uniquement quand la session d'envoi s'identifie comme contournant également les invites de permission. Si vous quittez le mode de permission tandis que les messages sont retenus, Claude Code réapplique les règles entrantes et livre tout message retenu qu'elles acceptent maintenant.553* Quand aucune valeur [`crossSessionInbound`](/docs/fr/cross-session-messaging#control-inbound-messages) ne s'applique, Claude Code retient un message entrant d'une autre de vos sessions pour votre approbation, et le livre sans demander uniquement quand la session d'envoi s'identifie comme contournant également les invites de permission. Si vous quittez le mode de permission tandis que les messages sont retenus, Claude Code réapplique les règles entrantes et livre tout message retenu qu'elles acceptent maintenant.

547 554 

548Dans les sessions avec les permissions de contournement disponibles, Claude Code n'applique pas non plus les [blocs du mode plan](#analyze-before-you-edit-with-plan-mode). Claude est toujours instruit de planifier sans modifier, mais une modification de fichier ou une commande shell qu'il tente pendant la planification s'exécute sans inviter. Les [règles ask](/docs/fr/permissions#manage-permissions) explicites et les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths) invitent toujours.555Dans les sessions de terminal interactif avec les permissions de contournement disponibles, Claude Code n'applique pas non plus les [blocs du mode plan](#analyze-before-you-edit-with-plan-mode). Claude est toujours instruit de planifier sans modifier, mais une modification de fichier ou une commande shell qu'il tente pendant la planification s'exécute sans inviter. Les [règles ask](/docs/fr/permissions#manage-permissions) explicites et les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths) invitent toujours.

556 

557Le mode plan conserve ses blocs partout où Claude Code s'exécute sans terminal interactif, y compris les [exécutions non-interactives](/docs/fr/headless) avec `-p`, les sessions du [SDK Agent](/docs/fr/agent-sdk/permissions#plan-mode-plan), et les conversations dans le [panneau de chat](/docs/fr/vs-code) de l'extension VS Code. Là, `--allow-dangerously-skip-permissions` rend `bypassPermissions` sélectionnable ultérieurement.

549 558 

550<Warning>559<Warning>

551 Utilisez ce mode uniquement dans des environnements isolés comme les conteneurs, les machines virtuelles ou les dev containers sans accès à Internet, où Claude Code ne peut pas endommager votre système hôte.560 Utilisez ce mode uniquement dans des environnements isolés comme les conteneurs, les machines virtuelles ou les dev containers sans accès à Internet, où Claude Code ne peut pas endommager votre système hôte.


581 Chemins protégés590 Chemins protégés

582</h2>591</h2>

583 592 

584Les écritures vers un petit ensemble de chemins ne sont jamais auto-approuvées, sauf en mode `bypassPermissions` et dans les sessions en mode plan avec les [permissions de contournement](#skip-all-checks-with-bypasspermissions-mode) disponibles. Cela empêche la corruption accidentelle de l'état du référentiel et de la configuration propre de Claude.593Les écritures vers un petit ensemble de chemins ne sont jamais approuvées automatiquement, sauf en mode `bypassPermissions` et dans les sessions de terminal interactif en mode plan avec les [autorisations de contournement](#skip-all-checks-with-bypasspermissions-mode) disponibles. Cela empêche la corruption accidentelle de l'état du référentiel et de la configuration propre de Claude.

585 594 

586| Mode | Écritures de chemins protégés |595| Mode | Écritures de chemins protégés |

587| :----------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |596| :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

588| `default`, `acceptEdits` | Invité |597| `default`, `acceptEdits` | Demandé |

589| `plan` | Autorisé dans les sessions avec les [permissions de contournement](#skip-all-checks-with-bypasspermissions-mode) disponibles. Sinon, acheminé vers le classificateur quand le [mode auto](#eliminate-prompts-with-auto-mode) est disponible pendant la planification, et invité quand il ne l'est pas |598| `plan` | Autorisé dans les sessions de terminal interactif avec les [autorisations de contournement](#skip-all-checks-with-bypasspermissions-mode) disponibles. Sinon, acheminé vers le classificateur quand le [mode auto](#eliminate-prompts-with-auto-mode) est disponible pendant la planification, et demandé quand il ne l'est pas |

590| `auto` | Acheminé vers le classificateur |599| `auto` | Acheminé vers le classificateur |

591| `dontAsk` | Refusé |600| `dontAsk` | Refusé |

592| `bypassPermissions` | Autorisé |601| `bypassPermissions` | Autorisé |

593 602 

594Dans une session démarrée avec [`--restricted`](/docs/fr/cli-reference#cli-flags), qui nécessite Claude Code v2.1.248 ou ultérieur, le classificateur ne peut pas approuver les écritures de chemins protégés.603Dans une session démarrée avec [`--restricted`](/docs/fr/cli-reference#cli-flags), qui nécessite Claude Code v2.1.248 ou version ultérieure, le classificateur ne peut pas approuver les écritures de chemins protégés.

595 604 

596Les règles [`permissions.allow`](/docs/fr/permissions#manage-permissions) dans les fichiers de paramètres n'approuvent pas préalablement les écritures de chemins protégés. La vérification de sécurité s'exécute avant que Claude Code n'évalue les règles allow des paramètres, donc une entrée telle que `Edit(.claude/**)` dans `~/.claude/settings.json` ou `.claude/settings.json` ne change pas le résultat par mode dans le tableau ci-dessus. Dans les modes qui invitent, l'invite pour une écriture `.claude/` offre **Oui, et autoriser Claude à modifier ses propres paramètres pour cette session**, ce qui approuve les écritures `.claude/` ultérieures dans cette session sans inviter à nouveau.605Les règles [`permissions.allow`](/docs/fr/permissions#manage-permissions) dans les fichiers de paramètres ne pré-approuvent pas les écritures de chemins protégés. La vérification de sécurité s'exécute avant que Claude Code n'évalue les règles d'autorisation des paramètres, donc une entrée telle que `Edit(.claude/**)` dans `~/.claude/settings.json` ou `.claude/settings.json` ne change pas le résultat par mode dans le tableau ci-dessus. Dans les modes qui demandent, l'invite pour une écriture `.claude/` offre **Oui, et autoriser Claude à modifier ses propres paramètres pour cette session**, ce qui approuve les écritures `.claude/` ultérieures dans cette session sans demander à nouveau.

597 606 

598Répertoires protégés :607Répertoires protégés :

599 608 


649 658 

650Claude 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.659Claude 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.

651 660 

652Masquer la suppression à l'intérieur de la substitution de commande avec `$(...)` ou des backticks, ou de la 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 substitution, comme dans `echo "$(rm -rf ~)"`, ou ailleurs dans la même commande.661Masquer 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.

653 662 

654<h3 id="remove-item-in-powershell">663<h3 id="remove-item-in-powershell">

655 Remove-Item dans PowerShell664 Remove-Item dans PowerShell

permissions.md +17 −4

Details

65 65 

66Les règles sont évaluées dans l'ordre : deny, puis ask, puis allow. La première correspondance dans cet ordre détermine le résultat, et la spécificité de la règle ne change pas l'ordre.66Les règles sont évaluées dans l'ordre : deny, puis ask, puis allow. La première correspondance dans cet ordre détermine le résultat, et la spécificité de la règle ne change pas l'ordre.

67 67 

68Une règle deny large comme `Bash(aws *)` bloque chaque appel correspondant, y compris les appels qui correspondent également à une règle allow plus étroite comme `Bash(aws s3 ls)`, donc une règle deny ne peut pas comporter d'exceptions de liste d'autorisation. La même priorité s'applique entre ask et allow : une règle ask correspondante demande une confirmation même lorsqu'une règle allow plus spécifique correspond également au même appel.68Une règle deny large comme `Bash(aws *)` bloque chaque appel correspondant, y compris les appels qui correspondent également à une règle allow plus étroite comme `Bash(aws s3 ls)`. Une règle allow ne peut pas créer une exception à partir d'une règle deny. La même priorité s'applique entre ask et allow : une règle ask correspondante demande une confirmation même lorsqu'une règle allow plus spécifique correspond également au même appel.

69 69 

70Les règles deny se comportent différemment selon qu'elles nomment un outil ou qu'elles délimitent un motif au sein de celui-ci. Un nom d'outil simple comme `Bash` supprime l'outil du contexte de Claude entièrement, donc Claude ne le voit jamais. Si vous ajoutez une telle règle en cours de session, Claude ne peut pas appeler l'outil à partir de son prochain appel d'outil ; [Denying an entire tool](/docs/fr/prompt-caching#denying-an-entire-tool) couvre ce qui se passe avec une définition que Claude a déjà vue. Une règle délimitée comme `Bash(rm *)` laisse l'outil disponible et bloque les appels correspondants lorsque Claude essaie de les utiliser.70Les règles deny se comportent différemment selon qu'elles nomment un outil ou qu'elles délimitent un motif au sein de celui-ci. Un nom d'outil simple comme `Bash` supprime l'outil du contexte de Claude entièrement, donc Claude ne le voit jamais. Si vous ajoutez une telle règle en cours de session, Claude ne peut pas appeler l'outil à partir de son prochain appel d'outil ; [Denying an entire tool](/docs/fr/prompt-caching#denying-an-entire-tool) couvre ce qui se passe avec une définition que Claude a déjà vue. Une règle délimitée comme `Bash(rm *)` laisse l'outil disponible et bloque les appels correspondants lorsque Claude essaie de les utiliser.

71 71 


333 333 

334Les cibles sans fichier derrière elles ne sont pas vérifiées : `/dev/null`, les formes de descripteur de fichier telles que `2>&1` et `<&3`, et les here-docs et here-strings.334Les cibles sans fichier derrière elles ne sont pas vérifiées : `/dev/null`, les formes de descripteur de fichier telles que `2>&1` et `<&3`, et les here-docs et here-strings.

335 335 

336Claude Code vérifie également les fichiers qu'une commande `tee` écrit, y compris dans un pipeline tel que `make | tee build.log`. La vérification couvre vos règles d'autorisation et de refus `Edit`, les [chemins protégés](/docs/fr/permission-modes#protected-paths) et les [répertoires de travail](#working-directories). Une règle d'autorisation telle que `Bash(tee *)` ne couvre pas une destination en dehors des répertoires de travail. Claude Code vérifie les cibles `tee` en v2.1.269 et ultérieur.

337 

336<h3 id="powershell">338<h3 id="powershell">

337 PowerShell339 PowerShell

338</h3>340</h3>


370Claude Code vérifie les autorisations de fichier uniquement par rapport aux règles `Edit(path)` et `Read(path)`. Si vous écrivez une règle de chemin pour `Write`, `NotebookEdit`, `Glob` ou l'outil hérité `MultiEdit` à la place, Claude Code accepte la règle mais ne la consulte jamais, et [avertit au démarrage](/docs/fr/errors#is-not-matched-by-file-permission-checks), sauf pour une règle `Glob` passée dans `--allowedTools`. Utilisez `Edit(docs/**)` à la place de `Write(docs/**)`, `NotebookEdit(docs/**)` ou `MultiEdit(docs/**)`, et `Read(docs/**)` à la place de `Glob(docs/**)`. Claude Code n'avertit pas à propos d'une règle de nom d'outil sans chemin, telle qu'une règle de refus pour `Write` ; elle correspond à cette règle au niveau de l'outil partout. Nécessite Claude Code v2.1.210 ou ultérieur.372Claude Code vérifie les autorisations de fichier uniquement par rapport aux règles `Edit(path)` et `Read(path)`. Si vous écrivez une règle de chemin pour `Write`, `NotebookEdit`, `Glob` ou l'outil hérité `MultiEdit` à la place, Claude Code accepte la règle mais ne la consulte jamais, et [avertit au démarrage](/docs/fr/errors#is-not-matched-by-file-permission-checks), sauf pour une règle `Glob` passée dans `--allowedTools`. Utilisez `Edit(docs/**)` à la place de `Write(docs/**)`, `NotebookEdit(docs/**)` ou `MultiEdit(docs/**)`, et `Read(docs/**)` à la place de `Glob(docs/**)`. Claude Code n'avertit pas à propos d'une règle de nom d'outil sans chemin, telle qu'une règle de refus pour `Write` ; elle correspond à cette règle au niveau de l'outil partout. Nécessite Claude Code v2.1.210 ou ultérieur.

371 373 

372<Warning>374<Warning>

373 Les règles de refus Read et Edit s'appliquent aux outils de fichier intégrés de Claude, aux commandes de fichier que Claude Code reconnaît dans Bash, telles que `cat`, `head`, `tail` et `sed`, et aux cibles des [redirections](#redirections) Bash telles que `> file` et `< file`. Elles ne s'appliquent pas à une commande qui lit les fichiers sans les nommer, telle que `grep -r pattern .` exécutée à partir du répertoire qui contient le fichier, ou aux sous-processus arbitraires qui lisent ou écrivent des fichiers indirectement, comme un script Python ou Node qui ouvre des fichiers lui-même. Pour une application au niveau du système d'exploitation qui bloque tous les processus d'accéder à un chemin, [activez le sandbox](/docs/fr/sandboxing).375 Les règles de refus Read et Edit s'appliquent aux outils de fichier intégrés de Claude, aux commandes de fichier que Claude Code reconnaît dans Bash, telles que `cat`, `head`, `tail`, `sed` et `tee`, et aux cibles des [redirections](#redirections) Bash telles que `> file` et `< file`. Elles ne s'appliquent pas à une commande qui lit les fichiers sans les nommer, telle que `grep -r pattern .` exécutée à partir du répertoire qui contient le fichier, ou aux sous-processus arbitraires qui lisent ou écrivent des fichiers indirectement, comme un script Python ou Node qui ouvre des fichiers lui-même. Pour une application au niveau du système d'exploitation qui bloque tous les processus d'accéder à un chemin, [activez le sandbox](/docs/fr/sandboxing).

374</Warning>376</Warning>

375 377 

376Les règles Read et Edit utilisent toutes deux la syntaxe de modèle [gitignore](https://git-scm.com/docs/gitignore) avec quatre types de modèles distincts ; pour les modèles de répertoire à segment unique, la profondeur de correspondance dépend également du type de règle, décrit plus loin dans cette section :378Les règles Read et Edit utilisent toutes deux la syntaxe de modèle [gitignore](https://git-scm.com/docs/gitignore) avec quatre types de modèles distincts ; pour les modèles de répertoire à segment unique, la profondeur de correspondance dépend également du type de règle, décrit plus loin dans cette section :


454 456 

455Une règle de refus ou de demande dont le chemin n'est pas utilisable comme modèle gitignore protège toujours ce chemin exact. Une règle d'autorisation avec un modèle inutilisable n'approuve rien.457Une règle de refus ou de demande dont le chemin n'est pas utilisable comme modèle gitignore protège toujours ce chemin exact. Une règle d'autorisation avec un modèle inutilisable n'approuve rien.

456 458 

459Une règle de refus ou de demande dont le chemin commence par `!` est une négation gitignore. Elle découpe les chemins qu'elle correspond hors des règles `path` ou `./path` énumérées avant elle. Dans la liste `deny` d'un fichier de paramètres, `Read(*.env)` suivi de `Read(!sample.env)` bloque chaque fichier dont le nom se termine par `.env` à n'importe quelle profondeur, sauf les fichiers nommés `sample.env`. Une règle `!` énumérée en premier ne découpe rien.

460 

461La découpe ne s'étend qu'aux règles de la même source. Un `Read(!.env)` dans les paramètres du projet ou dans `--disallowedTools` n'annule pas un refus `Read(./.env)` des paramètres gérés ou de tout autre fichier de paramètres.

462 

463Deux limites réduisent ce qu'un modèle `!` peut découper :

464 

465* Claude Code lit un modèle `!` relatif au répertoire courant même lorsque `/`, `~/` ou `//` suit le `!`, donc le modèle ne peut pas atteindre une règle ancrée avec l'un de ces préfixes. `Read(!~/notes/public/**)` ne découpe rien hors de `Read(~/notes/**)`.

466* Une découpe ne peut pas rouvrir un fichier à l'intérieur d'un répertoire qu'une règle bloque dans son ensemble. Avec `Read(secrets/**)` et `Read(!secrets/public/**)`, Claude Code bloque toujours `secrets/public` avec le reste de `secrets`.

467 

457Lorsque Claude accède à un lien symbolique, les règles d'autorisation vérifient deux chemins : le lien symbolique lui-même et le fichier vers lequel il se résout. Les règles d'autorisation et de refus traitent cette paire différemment : les règles d'autorisation reviennent à vous inviter, tandis que les règles de refus bloquent carrément.468Lorsque Claude accède à un lien symbolique, les règles d'autorisation vérifient deux chemins : le lien symbolique lui-même et le fichier vers lequel il se résout. Les règles d'autorisation et de refus traitent cette paire différemment : les règles d'autorisation reviennent à vous inviter, tandis que les règles de refus bloquent carrément.

458 469 

459* **Règles d'autorisation** : s'appliquent uniquement lorsque le chemin du lien symbolique et sa cible correspondent tous les deux. Un lien symbolique à l'intérieur d'un répertoire autorisé qui pointe vers l'extérieur vous invite toujours.470* **Règles d'autorisation** : s'appliquent uniquement lorsque le chemin du lien symbolique et sa cible correspondent tous les deux. Un lien symbolique à l'intérieur d'un répertoire autorisé qui pointe vers l'extérieur vous invite toujours.


506}517}

507```518```

508 519 

509Lorsque vous demandez à Claude de fetch une page, il fetch sans invite. Lorsque vous lui demandez d'exécuter un `curl` [en sandbox](/docs/fr/sandboxing) contre un hôte en dehors de la liste d'autorisation du sandbox, Claude Code vous invite toujours pour cet hôte, ou en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) envoie la demande au classificateur, car la règle nu n'a pas ajouté l'hôte à la liste d'autorisation.520Lorsque vous demandez à Claude de fetch une page, il fetch sans invite. Lorsque vous lui demandez d'exécuter un `curl` [en sandbox](/docs/fr/sandboxing) contre un hôte en dehors de la liste d'autorisation du sandbox, Claude Code vous invite toujours pour cet hôte, car la règle nu n'a pas ajouté l'hôte à la liste d'autorisation.

521 

522En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), Claude nomme plutôt l'hôte dans les [domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) de la commande pour que le classificateur examine.

510 523 

511<h3 id="mcp">524<h3 id="mcp">

512 MCP525 MCP


646Les autorisations et le [sandboxing](/docs/fr/sandboxing) sont des couches de sécurité complémentaires :659Les autorisations et le [sandboxing](/docs/fr/sandboxing) sont des couches de sécurité complémentaires :

647 660 

648* **Les autorisations** contrôlent quels outils Claude Code peut utiliser et quels fichiers ou domaines il peut accéder. Elles s'appliquent à Bash, Read, Edit, WebFetch, MCP et tous les autres outils, sauf qu'une règle deny ou ask ne peut pas bloquer [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) tant que tout autre outil reste disponible.661* **Les autorisations** contrôlent quels outils Claude Code peut utiliser et quels fichiers ou domaines il peut accéder. Elles s'appliquent à Bash, Read, Edit, WebFetch, MCP et tous les autres outils, sauf qu'une règle deny ou ask ne peut pas bloquer [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) tant que tout autre outil reste disponible.

649* **Le sandboxing** fournit une application au niveau du système d'exploitation qui restreint l'accès du système de fichiers et du réseau de l'outil Bash. Il s'applique uniquement aux commandes Bash et à leurs processus enfants.662* **Le sandboxing** fournit une application au niveau du système d'exploitation qui restreint l'accès du système de fichiers et du réseau des commandes shell. Il s'applique uniquement à Bash, PowerShell et aux commandes [Monitor](/docs/fr/tools-reference#monitor-tool) et à leurs processus enfants.

650 663 

651Utilisez les deux pour une défense en profondeur, car les restrictions de sandbox s'appliquent toujours même si une injection de prompt contourne la prise de décision de Claude. Les chemins et domaines des paramètres de sandbox et des règles d'autorisation sont [fusionnés dans la configuration finale du sandbox](/docs/fr/sandboxing#permission-rules).664Utilisez les deux pour une défense en profondeur, car les restrictions de sandbox s'appliquent toujours même si une injection de prompt contourne la prise de décision de Claude. Les chemins et domaines des paramètres de sandbox et des règles d'autorisation sont [fusionnés dans la configuration finale du sandbox](/docs/fr/sandboxing#permission-rules).

652 665 

platforms.md +2 −1

Details

73* [Desktop](/docs/fr/desktop) : examen visuel des différences, sessions parallèles, utilisation de l'ordinateur et Dispatch73* [Desktop](/docs/fr/desktop) : examen visuel des différences, sessions parallèles, utilisation de l'ordinateur et Dispatch

74* [VS Code](/docs/fr/vs-code) : l'extension Claude Code dans votre éditeur74* [VS Code](/docs/fr/vs-code) : l'extension Claude Code dans votre éditeur

75* [JetBrains](/docs/fr/jetbrains) : l'extension pour IntelliJ, PyCharm et autres IDE JetBrains75* [JetBrains](/docs/fr/jetbrains) : l'extension pour IntelliJ, PyCharm et autres IDE JetBrains

76* [Claude Code sur le web](/docs/fr/claude-code-on-the-web) : sessions cloud qui continuent à s'exécuter quand vous vous déconnectez76* [Web](/docs/fr/claude-code-on-the-web) : sessions cloud depuis votre navigateur sur claude.ai/code qui continuent à s'exécuter quand vous vous déconnectez

77* [Projects](/docs/fr/claude-projects) : une conversation où Claude coordonne de nombreuses sessions cloud pour un ensemble de travail et vous rend compte

77* [Mobile](/docs/fr/mobile) : l'application Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) et [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) pour démarrer et surveiller les tâches loin de votre ordinateur78* [Mobile](/docs/fr/mobile) : l'application Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) et [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) pour démarrer et surveiller les tâches loin de votre ordinateur

78 79 

79<h3 id="integrations">80<h3 id="integrations">

Details

41}41}

42```42```

43 43 

44Une entrée peut être une simple chaîne avec uniquement le nom du plugin, comme `"audit-logger"` dans l'exemple ci-dessus, qui dépend de la version que le marketplace de ce plugin fournit. Pour plus de contrôle, utilisez un objet avec ces champs :44Une entrée peut être une simple chaîne avec uniquement le nom du plugin, comme `"audit-logger"` dans le manifeste `deploy-kit`, qui dépend de la version que le marketplace de ce plugin fournit. Pour plus de contrôle, utilisez un objet avec ces champs :

45 45 

46| Champ | Type | Description |46| Champ | Type | Description |

47| :------------ | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |47| :------------ | :----- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


75 75 

76L'installation de `backend-standard` résout et installe les quatre dépendances.76L'installation de `backend-standard` résout et installe les quatre dépendances.

77 77 

78Pour ajouter un outil à l'ensemble standard ultérieurement, publiez une nouvelle version de `backend-standard` avec la dépendance supplémentaire. La mise à jour automatique est désactivée par défaut pour les marketplaces non-Anthropic, donc les ingénieurs récupèrent la nouvelle version de l'une des deux façons suivantes :78Pour ajouter un outil à l'ensemble standard ultérieurement, publiez une nouvelle version de `backend-standard` avec la dépendance supplémentaire. À moins que la marketplace ne [mette à jour automatiquement](/docs/fr/discover-plugins#configure-auto-updates), les ingénieurs récupèrent la nouvelle version de l'une des deux façons suivantes :

79 79 

80* Activez la mise à jour automatique pour la marketplace dans `/plugin`. La prochaine mise à jour automatique déplace le bundle vers la nouvelle version et installe les dépendances qu'il ajoute.80* Activez la mise à jour automatique pour la marketplace dans `/plugin`. La prochaine mise à jour automatique déplace le bundle vers la nouvelle version et installe les dépendances qu'il ajoute.

81* Exécutez `claude plugin update backend-standard`, puis `/reload-plugins` pour installer les dépendances nouvellement ajoutées.81* Exécutez `claude plugin update backend-standard`, puis `/reload-plugins` pour installer les dépendances nouvellement ajoutées.

Details

71 ```71 ```

72 72 

73 <Note>73 <Note>

74 La définition de `version` signifie que les utilisateurs ne reçoivent des mises à jour que lorsque vous modifiez ce champ, donc augmentez-le à chaque version. Un plugin avec une [source `command`](#command-sources) n'est pas épinglé par ce champ. Si vous omettez `version`, la version provient de la source suivante dans [gestion des versions](/docs/fr/plugins-reference#version-management).74 La définition de `version` signifie que les utilisateurs ne reçoivent des mises à jour que lorsque vous modifiez ce champ, donc augmentez-le à chaque version. Un plugin avec une [source `command`](#command-sources) n'est pas épinglé par ce champ. Pas plus qu'un plugin [chargé sur place](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) à partir d'une place de marché ajoutée en tant que répertoire local. Si vous omettez `version`, la version provient de la source suivante dans [gestion des versions](/docs/fr/plugins-reference#version-management).

75 </Note>75 </Note>

76 </Step>76 </Step>

77 77 


116Pour en savoir plus sur ce que les plugins peuvent faire, notamment les hooks, les agents, les serveurs MCP et les serveurs LSP, consultez [Plugins](/docs/fr/plugins).116Pour en savoir plus sur ce que les plugins peuvent faire, notamment les hooks, les agents, les serveurs MCP et les serveurs LSP, consultez [Plugins](/docs/fr/plugins).

117 117 

118<Note>118<Note>

119 **Comment les plugins sont installés** : lorsque les utilisateurs installent un plugin, Claude Code copie le répertoire du plugin vers un emplacement de cache, sauf pour une [source `command` en mode lien](#copy-mode-and-link-mode), qui est utilisée à la place. Les plugins copiés ne peuvent pas référencer des fichiers en dehors de leur répertoire en utilisant des chemins comme `../shared-utils`, car ces fichiers ne seront pas copiés.119 **Comment les plugins sont installés** : lorsque les utilisateurs installent un plugin, Claude Code copie le répertoire du plugin vers un emplacement de cache, sauf si le plugin se charge sur place. Une [source `command` en mode lien](#copy-mode-and-link-mode) se charge sur place, tout comme une [source de chemin relatif](#relative-paths) dans une place de marché ajoutée à partir d'un répertoire local. Les plugins copiés ne peuvent pas référencer des fichiers en dehors de leur répertoire en utilisant des chemins comme `../shared-utils`, car ces fichiers ne seront pas copiés.

120 120 

121 Si vous devez partager des fichiers entre les plugins, utilisez des symlinks. Consultez [Plugin caching and file resolution](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) pour plus de détails.121 Si vous devez partager des fichiers entre les plugins, utilisez des symlinks. Consultez [Plugin caching and file resolution](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) pour plus de détails.

122</Note>122</Note>


167</h3>167</h3>

168 168 

169| Champ | Type | Description | Exemple |169| Champ | Type | Description | Exemple |

170| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------- |170| :-------- | :----- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------- |

171| `name` | string | Identifiant de la place de marché en kebab-case, sans espaces, caractères de contrôle ou caractères de formatage bidirectionnel. C'est un élément public : les utilisateurs le voient lors de l'installation de plugins (par exemple, `/plugin install my-tool@your-marketplace`). Chaque utilisateur ne peut enregistrer qu'une seule place de marché par nom : l'ajout d'une deuxième place de marché portant le même nom remplace la première. Pour publier plusieurs plugins sous un seul nom de place de marché, listez-les tous dans un seul [`marketplace.json`](#create-the-marketplace-file). | `"acme-tools"` |171| `name` | string | Identifiant de la place de marché en kebab-case, sans espaces, caractères de contrôle ou caractères de formatage bidirectionnel. C'est un élément public : les utilisateurs le voient lors de l'installation de plugins (par exemple, `/plugin install my-tool@your-marketplace`). Chaque utilisateur ne peut enregistrer qu'une seule place de marché par nom : l'ajout d'une deuxième place de marché portant le même nom remplace la première. Pour publier plusieurs plugins sous un seul nom de place de marché, listez-les tous dans un seul [`marketplace.json`](#create-the-marketplace-file). | `"acme-tools"` |

172| `owner` | object | Informations du responsable de la place de marché ([voir les champs ci-dessous](#owner-fields)) | |172| `owner` | object | Informations du responsable de la place de marché. Voir [Champs du propriétaire](#owner-fields) | |

173| `plugins` | array | Liste des plugins disponibles | Voir ci-dessous |173| `plugins` | array | Liste des plugins disponibles | Voir [Entrées de plugin](#plugin-entries) |

174 174 

175<Note>175<Note>

176 **Noms réservés** : les noms de place de marché suivants sont réservés à l'usage officiel d'Anthropic et ne peuvent pas être utilisés par les places de marché tierces : `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `claude-plugins-community`, `claude-community`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, `claude-tag-plugins`, `healthcare`. Les noms qui usurpent l'identité de places de marché officielles, comme `official-claude-plugins` ou `anthropic-plugins-v2`, sont également bloqués. La réservation de ces noms empêche une place de marché tierce de se présenter comme une source publiée par Anthropic.176 **Noms réservés** : les noms de place de marché suivants sont réservés à l'usage officiel d'Anthropic et ne peuvent pas être utilisés par les places de marché tierces : `claude-code-marketplace`, `claude-code-plugins`, `claude-plugins-official`, `claude-plugins-community`, `claude-community`, `anthropic-marketplace`, `anthropic-plugins`, `agent-skills`, `anthropic-agent-skills`, `knowledge-work-plugins`, `life-sciences`, `claude-for-legal`, `claude-for-financial-services`, `financial-services-plugins`, `first-party-plugins`, `claude-tag-plugins`, `healthcare`. Les noms qui usurpent l'identité de places de marché officielles, comme `official-claude-plugins` ou `anthropic-plugins-v2`, sont également bloqués. La réservation de ces noms empêche une place de marché tierce de se présenter comme une source publiée par Anthropic.

177 177 

178 Claude Code revérifie les noms réservés chaque fois qu'il charge une place de marché, pas seulement lorsque vous en ajoutez une. Une place de marché qui a été enregistrée sous l'un de ces noms avant que le nom ne soit réservé cesse de se charger et signale qu'elle est [enregistrée à partir d'une source non fiable](/docs/fr/errors#marketplace-is-registered-from-an-untrusted-source). Supprimez cette place de marché et rajoutez-la à partir de la source officielle d'Anthropic. Une place de marché tierce affectée par un nom nouvellement réservé se charge à nouveau dès que vous la rajoutez sous un nom différent. Avant la v2.1.205, `first-party-plugins` et `healthcare` n'étaient pas réservés, et une place de marché déjà enregistrée sous un nom réservé continuait à se charger. Avant la v2.1.265, `claude-tag-plugins` n'était pas réservé.178 Claude Code revérifie les noms réservés chaque fois qu'il charge une place de marché, pas seulement lorsque vous en ajoutez une. Une place de marché qui a été enregistrée sous l'un de ces noms avant que le nom ne soit réservé cesse de se charger et signale qu'elle est [enregistrée à partir d'une source non fiable](/docs/fr/errors#marketplace-is-registered-from-an-untrusted-source). Supprimez cette place de marché et rajoutez-la à partir de la source officielle d'Anthropic. Une place de marché tierce affectée par un nom nouvellement réservé se charge à nouveau dès que vous la rajoutez sous un nom différent. Avant la v2.1.205, `first-party-plugins` et `healthcare` n'étaient pas réservés, et une place de marché déjà enregistrée sous un nom réservé continuait à se charger. Avant la v2.1.265, `claude-tag-plugins` n'était pas réservé.

179 

180 Vous ne pouvez pas non plus nommer une place de marché `npm`, `pip`, `uv`, `cargo`, `github`, ou `gh`, quelle que soit la casse. Cette vérification nécessite Claude Code v2.1.275 ou version ultérieure.

179</Note>181</Note>

180 182 

181<h3 id="owner-fields">183<h3 id="owner-fields">


225**Champs de métadonnées standard :**227**Champs de métadonnées standard :**

226 228 

227| Champ | Type | Description |229| Champ | Type | Description |

228| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |230| :--------------- | :------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

229| `displayName` | string | Nom lisible affiché dans les surfaces de l'interface utilisateur. Lorsque ni l'entrée ni le `plugin.json` du plugin n'en définissent un, les utilisateurs voient le `name` du plugin. Peut contenir des espaces et n'importe quelle casse. Non utilisé pour l'espace de noms ou la recherche. |231| `displayName` | string | Nom lisible affiché dans les surfaces de l'interface utilisateur. Lorsque ni l'entrée ni le `plugin.json` du plugin n'en définissent un, les utilisateurs voient le `name` du plugin. Peut contenir des espaces et n'importe quelle casse. Non utilisé pour l'espace de noms ou la recherche. |

230| `description` | string | Brève description du plugin |232| `description` | string | Brève description du plugin |

231| `version` | string | Version du plugin. Si défini (ici ou dans `plugin.json`), le plugin est épinglé à cette chaîne et les utilisateurs ne reçoivent des mises à jour que lorsqu'elle change. Un plugin avec une [source `command`](#command-sources) n'est pas épinglé par l'un ou l'autre champ. Si défini dans aucun des deux endroits, la version provient de la source suivante dans [gestion des versions](/docs/fr/plugins-reference#version-management). |233| `version` | string | Version du plugin. Si défini (ici ou dans `plugin.json`), le plugin est épinglé à cette chaîne et les utilisateurs ne reçoivent des mises à jour que lorsqu'elle change. Un plugin avec une [source `command`](#command-sources) n'est pas épinglé par l'un ou l'autre champ. Ni un plugin [chargé sur place](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) à partir d'une place de marché ajoutée en tant que répertoire local. Si défini dans aucun des deux endroits, la version provient de la source suivante dans [gestion des versions](/docs/fr/plugins-reference#version-management). |

232| `author` | object | Informations sur l'auteur du plugin (`name` obligatoire ; `email` et `url` optionnels) |234| `author` | object | Informations sur l'auteur du plugin (`name` obligatoire ; `email` et `url` optionnels) |

233| `homepage` | string | URL de la page d'accueil ou de la documentation du plugin |235| `homepage` | string | URL de la page d'accueil ou de la documentation du plugin |

234| `repository` | string | URL du dépôt du code source |236| `repository` | string | URL du dépôt du code source |


274 276 

275Les sources de plugin indiquent à Claude Code où récupérer chaque plugin individuel répertorié dans votre place de marché. Elles sont définies dans le champ `source` de chaque entrée de plugin dans `marketplace.json`.277Les sources de plugin indiquent à Claude Code où récupérer chaque plugin individuel répertorié dans votre place de marché. Elles sont définies dans le champ `source` de chaque entrée de plugin dans `marketplace.json`.

276 278 

277Claude Code copie chaque plugin installé dans le cache de plugin local versionné à `~/.claude/plugins/cache`, sauf pour une [source `command` en mode lien](#copy-mode-and-link-mode), que Claude Code utilise à la place. Claude Code [installe également les dépendances de paquet Node.js éligibles du plugin](/docs/fr/plugins-reference#node-js-package-dependencies) dans la copie en cache.279Claude Code copie chaque plugin installé dans le cache de plugin local versionné à `~/.claude/plugins/cache`, sauf si le plugin se charge à la place. Une [source `command` en mode lien](#copy-mode-and-link-mode) se charge à la place, tout comme une [source de chemin relatif](#relative-paths) dans une place de marché ajoutée à partir d'un répertoire local. Claude Code [installe également les dépendances de paquet Node.js éligibles du plugin](/docs/fr/plugins-reference#node-js-package-dependencies) dans la copie en cache. Voir [Mise en cache des plugins et résolution de fichiers](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) pour savoir comment un plugin chargé à la place à partir d'une place de marché de répertoire local récupère vos modifications.

278 280 

279| Source | Type | Champs | Notes |281| Source | Type | Champs | Notes |

280| -------------- | -------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |282| -------------- | -------------------------------------- | ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


282| `github` | object | `repo`, `ref?`, `sha?` | |284| `github` | object | `repo`, `ref?`, `sha?` | |

283| `url` | object | `url`, `ref?`, `sha?` | Source d'URL Git |285| `url` | object | `url`, `ref?`, `sha?` | Source d'URL Git |

284| `git-subdir` | object | `url`, `path`, `ref?`, `sha?` | Sous-répertoire dans un dépôt git. Clone partiellement pour minimiser la bande passante pour les monodépôts |286| `git-subdir` | object | `url`, `path`, `ref?`, `sha?` | Sous-répertoire dans un dépôt git. Clone partiellement pour minimiser la bande passante pour les monodépôts |

285| `npm` | object | `package`, `version?`, `registry?` | Installé via `npm install` |287| `npm` | object | `package`, `version?`, `registry?` | Paquet npm, récupéré avec votre client npm et déballé sans exécuter les scripts d'installation |

286| `archive` | object | `url`, `sha256?` | Archive zip téléchargée via HTTPS. Fonctionne sans git ou npm sur la machine de l'utilisateur. Nécessite Claude Code v2.1.224 ou ultérieur |288| `archive` | object | `url`, `sha256?` | Archive zip téléchargée via HTTPS. Fonctionne sans git ou npm sur la machine de l'utilisateur. Nécessite Claude Code v2.1.224 ou ultérieur |

287| `command` | object | `command`, `timeout?`, `mode?` | Répertoire de plugin produit en exécutant une commande locale, réexécutée une fois par session pour récupérer les modifications. Nécessite Claude Code v2.1.229 ou ultérieur |289| `command` | object | `command`, `timeout?`, `mode?` | Répertoire de plugin produit en exécutant une commande locale, réexécutée une fois par session pour récupérer les modifications. Nécessite Claude Code v2.1.229 ou ultérieur |

288 290 


314}316}

315```317```

316 318 

317Les chemins se résolvent par rapport à la racine de la place de marché, qui est le répertoire contenant `.claude-plugin/`. Dans l'exemple ci-dessus, `./plugins/my-plugin` pointe vers `<repo>/plugins/my-plugin`, même si `marketplace.json` se trouve à `<repo>/.claude-plugin/marketplace.json`. N'utilisez pas `../` pour référencer des chemins en dehors de la racine de la place de marché. Sur macOS et Linux, Claude Code refuse une entrée de chemin avec une barre oblique inverse n'importe où après le `./` initial, donc écrivez les séparateurs comme `/` sur chaque plateforme.319Les chemins se résolvent par rapport à la racine de la place de marché, qui est le répertoire contenant `.claude-plugin/`. La source `./plugins/my-plugin` pointe donc vers `<repo>/plugins/my-plugin`, même si `marketplace.json` se trouve à `<repo>/.claude-plugin/marketplace.json`. N'utilisez pas `../` pour référencer des chemins en dehors de la racine de la place de marché. Sur macOS et Linux, Claude Code refuse une entrée de chemin avec une barre oblique inverse n'importe où après le `./` initial, donc écrivez les séparateurs comme `/` sur chaque plateforme.

318 320 

319Un nom nu est un seul nom de répertoire sans `/`, tel que `"formatter"`. Pour écrire des noms nus au lieu de chemins `./`, définissez [`metadata.pluginRoot`](#optional-fields) sur le répertoire sous lequel ils se résolvent. Avec `"pluginRoot": "./plugins"`, Claude Code résout `"source": "formatter"` en `./plugins/formatter`. Nécessite Claude Code v2.1.239 ou ultérieur.321Un nom nu est un seul nom de répertoire sans `/`, tel que `"formatter"`. Pour écrire des noms nus au lieu de chemins `./`, définissez [`metadata.pluginRoot`](#optional-fields) sur le répertoire sous lequel ils se résolvent. Avec `"pluginRoot": "./plugins"`, Claude Code résout `"source": "formatter"` en `./plugins/formatter`. Nécessite Claude Code v2.1.239 ou ultérieur.

320 322 


437 Paquets npm439 Paquets npm

438</h3>440</h3>

439 441 

440Les plugins distribués en tant que paquets npm sont installés à l'aide de `npm install`. Cela fonctionne avec n'importe quel paquet du registre npm public ou d'un registre privé que votre équipe héberge.442Une source npm peut nommer n'importe quel paquet du registre npm public ou d'un registre privé que votre équipe héberge. Claude Code résout le paquet avec votre client npm, télécharge la tarball et la déplie dans le cache de plugin.

443 

444Les scripts d'installation du paquet, tels que `preinstall` ou `postinstall`, ne s'exécutent jamais, et ses dépendances ne sont pas installées lors de la récupération.

445 

446Si le paquet expédie un fichier de verrouillage pris en charge à côté de son `package.json`, Claude Code installe ces [dépendances de paquet Node.js](/docs/fr/plugins-reference#node-js-package-dependencies) dans une étape séparée, également avec les scripts désactivés. Sinon, publiez le plugin avec tout ce dont il a besoin déjà construit. Un serveur MCP qui a besoin d'autres paquets peut se lancer via `npx`, qui les installe à la première exécution.

441 447 

442```json theme={null}448```json theme={null}

443{449{


612 Comment les utilisateurs acceptent une commande headersHelper618 Comment les utilisateurs acceptent une commande headersHelper

613</h4>619</h4>

614 620 

615Un utilisateur accepte la commande d'une entrée de plugin chaque fois qu'il installe ou met à jour ce seul plugin par lui-même, à partir de la vue propre du plugin dans `/plugin` ou avec `claude plugin install` ou `claude plugin update`. Claude Code montre la commande et l'URL de l'archive, et exécute la commande uniquement après que l'utilisateur accepte. Dans un shell non-interactif, passez [`--yes`](/docs/fr/plugins-reference#plugin-install) pour l'accepter.621Un utilisateur accepte la commande d'une entrée de plugin chaque fois qu'il installe ou met à jour ce seul plugin par lui-même, à partir de la vue propre du plugin dans `/plugin` ou avec `claude plugin install` ou `claude plugin update`. Claude Code montre la commande et l'URL de l'archive, et exécute la commande uniquement après que l'utilisateur accepte.

622 

623Dans un shell non-interactif, passez [`--yes`](/docs/fr/plugins-reference#plugin-install) pour accepter la commande. Pour accepter uniquement la commande qu'une exécution précédente `--json` a affichée, passez [`--accept-command`](/docs/fr/plugins-reference#plugin-install) avec le `sha256` que l'exécution a signalé.

616 624 

617Claude Code exécute uniquement la commande qu'il a montrée, pour l'URL d'archive qu'il a montrée. Si la commande ou l'URL d'archive de l'entrée a changé entre-temps, Claude Code refuse l'installation ou la mise à jour. Un changement dans la chaîne de requête seul ne compte pas.625Claude Code exécute uniquement la commande qu'il a montrée, pour l'URL d'archive qu'il a montrée. Si la commande ou l'URL d'archive de l'entrée a changé entre-temps, Claude Code refuse l'installation ou la mise à jour. Un changement dans la chaîne de requête seul ne compte pas.

618 626 


693 701 

694Claude Code exécute votre commande sur la machine de l'utilisateur, donc il lie chaque exécution à l'acceptation explicite de l'utilisateur :702Claude Code exécute votre commande sur la machine de l'utilisateur, donc il lie chaque exécution à l'acceptation explicite de l'utilisateur :

695 703 

696* Lorsque les utilisateurs installent le plugin à partir de son écran de détails dans `/plugin`, ou l'installent ou le mettent à jour avec `claude plugin install` ou `claude plugin update` dans un terminal interactif, Claude Code leur montre d'abord la chaîne de commande exacte et enregistre la commande acceptée pour cette installation. Une `claude plugin update` qui peut procéder sur l'acceptation enregistrée de la même commande ne montre rien. Dans un shell non-interactif, tel qu'un script de provisionnement, passez `--yes` à `claude plugin install` ou `claude plugin update` pour accepter la commande qu'il imprime.704* Lorsque les utilisateurs installent le plugin à partir de son écran de détails dans `/plugin`, ou l'installent ou le mettent à jour avec `claude plugin install` ou `claude plugin update` dans un terminal interactif, Claude Code leur montre d'abord la chaîne de commande exacte et enregistre la commande acceptée pour cette installation. Une `claude plugin update` qui peut procéder sur l'acceptation enregistrée de la même commande ne montre rien.

705* Dans un shell non-interactif, tel qu'un script de provisionnement, passez `--yes` à `claude plugin install` ou `claude plugin update` pour accepter la commande qu'il imprime. Pour accepter uniquement la commande qu'une exécution précédente `--json` a affichée, passez [`--accept-command`](/docs/fr/plugins-reference#plugin-install) avec le `sha256` que l'exécution a signalé.

697* Chaque autre chemin exécute uniquement la commande que l'utilisateur a déjà acceptée. Cela inclut les mises à jour démarrées à partir de `/plugin` et les exécutions en arrière-plan décrites dans [Quand Claude Code réexécute la commande](#when-claude-code-re-runs-the-command). Lorsqu'aucune n'a été acceptée, Claude Code refuse d'exécuter la commande et dit à l'utilisateur comment l'examiner. Claude Code n'installe jamais un plugin provenant d'une source de commande en tant que dépendance d'un autre plugin, afin que les utilisateurs l'installent eux-mêmes d'abord.706* Chaque autre chemin exécute uniquement la commande que l'utilisateur a déjà acceptée. Cela inclut les mises à jour démarrées à partir de `/plugin` et les exécutions en arrière-plan décrites dans [Quand Claude Code réexécute la commande](#when-claude-code-re-runs-the-command). Lorsqu'aucune n'a été acceptée, Claude Code refuse d'exécuter la commande et dit à l'utilisateur comment l'examiner. Claude Code n'installe jamais un plugin provenant d'une source de commande en tant que dépendance d'un autre plugin, afin que les utilisateurs l'installent eux-mêmes d'abord.

698* Si vous modifiez la `command` de l'entrée, ou basculez son `mode`, les utilisateurs conservent la version qu'ils ont déjà et Claude Code arrête de réexécuter la commande. Dans les sessions interactives, l'onglet `/plugin` Erreurs montre la nouvelle commande jusqu'à ce que l'utilisateur l'examine et l'accepte en exécutant `claude plugin update <plugin>@<marketplace>`.707* Si vous modifiez la `command` de l'entrée, ou basculez son `mode`, les utilisateurs conservent la version qu'ils ont déjà et Claude Code arrête de réexécuter la commande. Dans les sessions interactives, l'onglet `/plugin` Erreurs montre la nouvelle commande jusqu'à ce que l'utilisateur l'examine et l'accepte en exécutant `claude plugin update <plugin>@<marketplace>`.

699 708 


810 Héberger et distribuer les places de marché819 Héberger et distribuer les places de marché

811</h2>820</h2>

812 821 

822Lorsque les utilisateurs ajoutent une place de marché hébergée dans un dépôt git, ou installent un plugin basé sur git qu'elle liste, Claude Code clone ce dépôt de place de marché ou de plugin sur leur machine. Le clone ne télécharge jamais le contenu de [Git LFS](https://git-lfs.com), donc les fichiers suivis par LFS arrivent sous forme de fichiers pointeurs. Gardez les fichiers dont vos plugins ont besoin en dehors de LFS.

823 

813<h3 id="host-on-github-recommended">824<h3 id="host-on-github-recommended">

814 Héberger sur GitHub (recommandé)825 Héberger sur GitHub (recommandé)

815</h3>826</h3>


836 Dépôts privés847 Dépôts privés

837</h3>848</h3>

838 849 

839Claude Code prend en charge l'installation de plugins à partir de dépôts privés. Si vous distribuez votre place de marché via [**Paramètres de l'organisation > Plugins**](https://claude.ai/admin-settings/plugins) à la place, vos credentials git ne sont pas impliqués : la synchronisation de l'organisation lit le dépôt de la place de marché via l'application GitHub Claude ou l'application GitHub Enterprise de votre organisation, et une source de plugin qu'elle ne peut pas authentifier doit être publique. Consultez [Distribuer via les paramètres de l'organisation](#distribute-through-organization-settings) pour les règles complètes.850Claude Code prend en charge l'installation de plugins à partir de dépôts privés. Si vous distribuez votre place de marché via [**Paramètres de l'organisation > Plugins**](https://claude.ai/admin-settings/plugins) à la place, vos credentials git ne sont pas impliqués : la synchronisation de l'organisation lit le dépôt de la place de marché via votre connexion GitHub ou GitLab de l'organisation sur claude.ai. Consultez [Distribuer via les paramètres de l'organisation](#distribute-through-organization-settings) pour les sources de plugins qui peuvent être privées.

840 851 

841<h4 id="commands-you-run">852<h4 id="commands-you-run">

842 Commandes que vous exécutez853 Commandes que vous exécutez


848 Mises à jour automatiques en arrière-plan859 Mises à jour automatiques en arrière-plan

849</h4>860</h4>

850 861 

851Par défaut, l'actualisation en arrière-plan désactive les assistants de credentials git pour son `git pull`, donc le pull ne peut pas s'authentifier auprès des dépôts privés sur HTTPS même lorsqu'un assistant est configuré. Les remotes SSH ne sont pas affectées : une clé chargée dans `ssh-agent` authentifie les pulls en arrière-plan de la même manière que les commandes que vous exécutez. Lorsque le pull en arrière-plan échoue, Claude Code revient à re-cloner la place de marché à partir de zéro. Le re-clone utilise vos credentials git stockés, mais il peut [expirer sur les grands dépôts](#git-operations-time-out), donc les mises à jour automatiques de places de marché privées peuvent échouer par intermittence.862Par défaut, l'actualisation en arrière-plan désactive les assistants de credentials git lorsqu'elle vérifie le dépôt distant de la place de marché pour les nouveaux commits, donc la vérification ne peut pas s'authentifier auprès des dépôts privés sur HTTPS même lorsqu'un assistant est configuré. Les remotes SSH ne sont pas affectées : une clé chargée dans `ssh-agent` authentifie la vérification en arrière-plan de la même manière que les commandes que vous exécutez.

863 

864Lorsque la vérification trouve de nouveaux commits, ou échoue parce qu'elle ne peut pas atteindre ou s'authentifier auprès du dépôt distant, Claude Code clone la place de marché à nouveau et échange le nouveau clone. Si ce clone échoue, le checkout existant reste en place. Le re-clone utilise vos credentials git stockés, mais il peut [expirer sur les grands dépôts](#git-operations-time-out), donc les mises à jour automatiques de places de marché privées peuvent échouer par intermittence.

852 865 

853Deux paramètres rendent les places de marché privées prévisibles :866Deux paramètres rendent les places de marché privées prévisibles :

854 867 

855* Définissez `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` pour conserver le clone existant lorsque le pull en arrière-plan échoue, au lieu de supprimer et re-cloner. Vos plugins continuent de fonctionner à partir du dernier état synchronisé, et les mises à jour manuelles avec `/plugin marketplace update` tirent toujours avec vos credentials.868* Définissez `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` pour conserver le checkout existant sans tenter le re-clone lorsque la vérification en arrière-plan ne peut pas atteindre ou s'authentifier auprès du dépôt distant. Vos plugins continuent de fonctionner à partir du dernier état synchronisé, et les mises à jour manuelles avec `/plugin marketplace update` s'authentifient toujours avec vos credentials.

856* Configurez un assistant de credentials git, par exemple avec `gh auth setup-git` pour GitHub, afin que le fallback re-clone puisse s'authentifier sans inviter.869* Configurez un assistant de credentials git, par exemple avec `gh auth setup-git` pour GitHub, afin que le re-clone puisse s'authentifier sans inviter.

857 870 

858Définir un jeton de fournisseur tel que `GITHUB_TOKEN` dans votre environnement n'active pas par lui-même l'authentification en arrière-plan. Les jetons ne prennent effet que via un assistant de credentials configuré, par exemple l'assistant de l'CLI `gh`, qui lit `GH_TOKEN` et `GITHUB_TOKEN`.871Définir un jeton de fournisseur tel que `GITHUB_TOKEN` dans votre environnement n'active pas par lui-même l'authentification en arrière-plan. Les jetons ne prennent effet que via un assistant de credentials configuré, par exemple l'assistant de l'CLI `gh`, qui lit `GH_TOKEN` et `GITHUB_TOKEN`.

859 872 

860Pour que le pull en arrière-plan lui-même s'authentifie sur HTTPS, configurez une réécriture d'URL git globale. La réécriture intègre un jeton dans l'URL distante, donc elle prend effet même si le pull en arrière-plan désactive les assistants de credentials, et un pull réussi ignore le fallback re-clone. L'exemple suivant réécrit l'URL du dépôt de la place de marché pour inclure un jeton d'accès :873Pour que la vérification en arrière-plan elle-même s'authentifie sur HTTPS, configurez une réécriture d'URL git globale. La réécriture intègre un jeton dans l'URL distante, donc elle prend effet même si la vérification en arrière-plan désactive les assistants de credentials. Lorsque la vérification trouve le checkout à jour, Claude Code ignore le re-clone. L'exemple suivant réécrit l'URL du dépôt de la place de marché pour inclure un jeton d'accès :

861 874 

862```bash theme={null}875```bash theme={null}

863git config --global url."https://x-access-token:YOUR_TOKEN@github.com/acme-corp/plugins".insteadOf "https://github.com/acme-corp/plugins"876git config --global url."https://x-access-token:YOUR_TOKEN@github.com/acme-corp/plugins".insteadOf "https://github.com/acme-corp/plugins"


876La réécriture stocke le jeton en texte brut dans votre gitconfig, donc utilisez un jeton avec accès en lecture seule au dépôt de la place de marché.889La réécriture stocke le jeton en texte brut dans votre gitconfig, donc utilisez un jeton avec accès en lecture seule au dépôt de la place de marché.

877 890 

878<Note>891<Note>

879 Dans les environnements CI/CD, configurez un assistant de credentials git avant d'installer des plugins à partir de dépôts privés. Sur GitHub Actions, exportez un jeton avec accès en lecture au dépôt de la place de marché en tant que `GH_TOKEN`, puis exécutez `gh auth setup-git`. Le jeton de workflow par défaut ne peut accéder qu'au dépôt du workflow lui-même, donc une place de marché privée dans un autre dépôt a besoin d'un jeton d'accès personnel ou d'un jeton d'application. Une réécriture d'URL globale configurée dans le pipeline authentifie également le pull en arrière-plan directement.892 Dans les environnements CI/CD, configurez un assistant de credentials git avant d'installer des plugins à partir de dépôts privés. Sur GitHub Actions, exportez un jeton avec accès en lecture au dépôt de la place de marché en tant que `GH_TOKEN`, puis exécutez `gh auth setup-git`. Le jeton de workflow par défaut ne peut accéder qu'au dépôt du workflow lui-même, donc une place de marché privée dans un autre dépôt a besoin d'un jeton d'accès personnel ou d'un jeton d'application.

893 

894 Si vous configurez une réécriture d'URL globale dans le pipeline, la réécriture authentifie également la vérification en arrière-plan directement.

880</Note>895</Note>

881 896 

882<h3 id="distribute-through-organization-settings">897<h3 id="distribute-through-organization-settings">


885 900 

886Si vous distribuez des plugins via [**Paramètres de l'organisation > Plugins**](https://claude.ai/admin-settings/plugins) sur un plan Team ou Enterprise, ces règles de source s'appliquent :901Si vous distribuez des plugins via [**Paramètres de l'organisation > Plugins**](https://claude.ai/admin-settings/plugins) sur un plan Team ou Enterprise, ces règles de source s'appliquent :

887 902 

888* Le dépôt de la place de marché doit être privé ou interne. La synchronisation de l'organisation le lit via l'application GitHub Claude ou l'application GitHub Enterprise de votre organisation.903* Sur github.com et gitlab.com, le dépôt de la place de marché doit être privé ou interne. La synchronisation de l'organisation le lit via la connexion qui correspond à son hôte :

904 * **github.com** : l'application GitHub Claude

905 * **Votre hôte GitHub Enterprise Server** : votre [application GitHub Enterprise](/docs/fr/github-enterprise-server#admin-setup) de l'organisation

906 * **gitlab.com ou votre instance GitLab auto-gérée** : le jeton d'accès dans votre [configuration GitLab](#sync-a-gitlab-hosted-marketplace) de l'organisation pour cet hôte

889* Chaque source de plugin doit être de type `github`, `url` ou `git-subdir`, ou un [chemin relatif](#relative-paths) qui commence par `./`. Si vous listez un plugin par nom nu sous `metadata.pluginRoot`, la synchronisation de l'organisation le rejette comme source non prise en charge, donc écrivez le chemin, comme `./plugins/deploy-tools`.907* Chaque source de plugin doit être de type `github`, `url` ou `git-subdir`, ou un [chemin relatif](#relative-paths) qui commence par `./`. Si vous listez un plugin par nom nu sous `metadata.pluginRoot`, la synchronisation de l'organisation le rejette comme source non prise en charge, donc écrivez le chemin, comme `./plugins/deploy-tools`.

890* Une source de plugin peut être privée dans deux cas :908* Une source de plugin peut être privée dans trois cas :

891 * Une source github.com qui partage le propriétaire du dépôt de la place de marché909 * Une source github.com qui partage le propriétaire du dépôt de la place de marché

892 * Une source sur l'hôte GitHub Enterprise de votre organisation avec l'application GHE installée sur le dépôt910 * Une source sur l'hôte GitHub Enterprise de votre organisation avec l'application GHE installée sur le dépôt

893* La synchronisation de l'organisation récupère chaque autre source sans credentials, donc les dépôts github.com sous un propriétaire différent et les dépôts sur d'autres hôtes, comme GitLab ou Bitbucket, doivent être publics.911 * Une source `url` ou `git-subdir` sur le même hôte GitLab que le dépôt de la place de marché. Sur gitlab.com, la source doit également être sous le même groupe de niveau supérieur ou espace de noms utilisateur que le dépôt de la place de marché.

912* Toute autre source de plugin doit être un dépôt public sur github.com, gitlab.com ou bitbucket.org, que la synchronisation de l'organisation récupère sans credentials. La synchronisation de l'organisation rejette les sources de plugins sur les hôtes que ces règles ne couvrent pas.

894 913 

895Consultez [Gérer les plugins pour votre organisation](https://support.claude.com/en/articles/13837433) pour le flux de travail administrateur.914Consultez [Gérer les plugins pour votre organisation](https://support.claude.com/en/articles/13837433) pour le flux de travail administrateur.

896 915 


905}924}

906```925```

907 926 

927<h4 id="sync-a-gitlab-hosted-marketplace">

928 Synchroniser une place de marché hébergée sur GitLab

929</h4>

930 

931Pour synchroniser une place de marché à partir de gitlab.com ou d'une instance GitLab auto-gérée, un [Propriétaire](/docs/fr/server-managed-settings#access-control) ajoute d'abord une configuration GitLab pour cet hôte à [**Paramètres de l'organisation > Claude Code**](https://claude.ai/admin-settings/claude-code). Les configurations GitLab sont en bêta publique et s'appliquent uniquement à la synchronisation de la place de marché des plugins. L'ajout d'une ne rend pas les dépôts GitLab disponibles dans [Claude Code sur le web](/docs/fr/claude-code-on-the-web#limitations). Consultez [Gérer les plugins pour votre organisation](https://support.claude.com/en/articles/13837433) pour les étapes de configuration.

932 

933Lorsque vous ajoutez la place de marché, entrez l'URL HTTPS du projet, comme `https://gitlab.example.com/platform/claude-plugins`. Les projets dans les sous-groupes imbriqués fonctionnent. La synchronisation de l'organisation lit la branche par défaut du projet. Si vous activez **Synchroniser automatiquement**, seuls les pushes vers la branche par défaut démarrent une synchronisation.

934 

908<h4 id="keep-executables-out-of-the-top-level-bin-directory">935<h4 id="keep-executables-out-of-the-top-level-bin-directory">

909 Garder les exécutables hors du répertoire bin de niveau supérieur936 Garder les exécutables hors du répertoire bin de niveau supérieur

910</h4>937</h4>


984 1011 

985Détails du comportement :1012Détails du comportement :

986 1013 

987* **Lecture seule** : le répertoire de seed n'est jamais écrit. Les mises à jour automatiques sont désactivées pour les places de marché de seed puisque git pull échouerait sur un système de fichiers en lecture seule.1014* **Lecture seule** : Claude Code n'écrit jamais dans le répertoire de seed.

1015* **Mises à jour automatiques désactivées** : les places de marché de seed ne se mettent pas à jour automatiquement.

988* **Les entrées de seed ont la priorité** : les places de marché déclarées dans le seed remplacent toutes les entrées correspondantes dans la configuration de l'utilisateur à chaque démarrage. Pour refuser un plugin de seed, utilisez `/plugin disable` plutôt que de supprimer la place de marché.1016* **Les entrées de seed ont la priorité** : les places de marché déclarées dans le seed remplacent toutes les entrées correspondantes dans la configuration de l'utilisateur à chaque démarrage. Pour refuser un plugin de seed, utilisez `/plugin disable` plutôt que de supprimer la place de marché.

989* **Résolution des chemins** : Claude Code localise le contenu de la place de marché en sondant `$CLAUDE_CODE_PLUGIN_SEED_DIR/marketplaces/<name>/` au moment de l'exécution, pas en faisant confiance aux chemins stockés dans le JSON du seed. Cela signifie que le seed fonctionne correctement même lorsqu'il est monté à un chemin différent de celui où il a été construit.1017* **Résolution des chemins** : Claude Code localise le contenu de la place de marché en sondant `$CLAUDE_CODE_PLUGIN_SEED_DIR/marketplaces/<name>/` au moment de l'exécution, pas en faisant confiance aux chemins stockés dans le JSON du seed. Cela signifie que le seed fonctionne correctement même lorsqu'il est monté à un chemin différent de celui où il a été construit.

990* **La mutation est bloquée** : l'exécution de `/plugin marketplace remove` ou `/plugin marketplace update` contre une place de marché gérée par seed échoue avec des conseils pour demander à votre administrateur de mettre à jour l'image de seed.1018* **La mutation est bloquée** : l'exécution de `/plugin marketplace remove` ou `/plugin marketplace update` contre une place de marché gérée par seed échoue avec des conseils pour demander à votre administrateur de mettre à jour l'image de seed.


1018}1046}

1019```1047```

1020 1048 

1049Claude Code télécharge les plugins [synchronisés à partir de claude.ai](/docs/fr/plugins-reference#synced-plugins) à partir de votre compte plutôt que d'une place de marché, donc ce verrouillage ne les couvre pas. Pour arrêter ceux-ci également, définissez [`syncClaudeAiPlugins`](/docs/fr/settings-reference#syncclaudeaiplugins) à `false` dans les paramètres gérés, ou désactivez les Skills pour votre organisation sur claude.ai.

1050 

1021Autoriser uniquement la place de marché officielle Anthropic. La correspondance pour une entrée de dépôt unique est exacte, donc cette entrée ne couvre pas les variantes `ref` ou `path` du même dépôt :1051Autoriser uniquement la place de marché officielle Anthropic. La correspondance pour une entrée de dépôt unique est exacte, donc cette entrée ne couvre pas les variantes `ref` ou `path` du même dépôt :

1022 1052 

1023```json theme={null}1053```json theme={null}


1128 1158 

1129La correspondance exacte de la liste d'autorisation traite les URL qui diffèrent uniquement par une barre oblique finale, un suffixe `.git` ou le schéma `ssh://` et `https://` comme des valeurs différentes. Si la place de marché de votre organisation peut être clonée par plus d'une forme d'URL, préférez une entrée `hostPattern` à une URL littérale afin que les formes `https://`, `ssh://` et `user@host:path` correspondent toutes.1159La correspondance exacte de la liste d'autorisation traite les URL qui diffèrent uniquement par une barre oblique finale, un suffixe `.git` ou le schéma `ssh://` et `https://` comme des valeurs différentes. Si la place de marché de votre organisation peut être clonée par plus d'une forme d'URL, préférez une entrée `hostPattern` à une URL littérale afin que les formes `https://`, `ssh://` et `user@host:path` correspondent toutes.

1130 1160 

1161Une [place de marché hébergée sur claude.ai](/docs/fr/discover-plugins#add-from-claude-ai) est appariée par hôte : une entrée `hostPattern` qui correspond à `claude.ai` la gouverne, dans `strictKnownMarketplaces` et dans `blockedMarketplaces`. Sur la liste d'autorisation, une telle entrée n'admet pas les téléchargements personnels claude.ai d'un membre. Nécessite Claude Code v2.1.273 ou ultérieur.

1162 

1131Parce que `strictKnownMarketplaces` est défini dans les [paramètres gérés](/docs/fr/managed-settings), les configurations individuelles des utilisateurs et des projets ne peuvent pas contourner ces restrictions.1163Parce que `strictKnownMarketplaces` est défini dans les [paramètres gérés](/docs/fr/managed-settings), les configurations individuelles des utilisateurs et des projets ne peuvent pas contourner ces restrictions.

1132 1164 

1133Pour les détails de configuration complets, y compris tous les types de sources pris en charge et la comparaison avec `extraKnownMarketplaces`, consultez la [référence strictKnownMarketplaces](/docs/fr/settings-reference#strictknownmarketplaces).1165Pour les détails de configuration complets, y compris tous les types de sources pris en charge et la comparaison avec `extraKnownMarketplaces`, consultez la [référence strictKnownMarketplaces](/docs/fr/settings-reference#strictknownmarketplaces).


1139Les versions des plugins déterminent les chemins du cache et la détection des mises à jour : si la version résolue correspond à ce qu'un utilisateur possède déjà, `/plugin update` et la mise à jour automatique ignorent le plugin. Pour les sources basées sur git, si vous omettez `version`, Claude Code utilise le SHA du commit résolu de la source, donc les utilisateurs obtiennent une mise à jour chaque fois que ce commit change ; c'est la configuration la plus simple pour les plugins internes ou en développement actif. Consultez [Gestion des versions](/docs/fr/plugins-reference#version-management) pour l'ordre de résolution complet, y compris les sources `archive`.1171Les versions des plugins déterminent les chemins du cache et la détection des mises à jour : si la version résolue correspond à ce qu'un utilisateur possède déjà, `/plugin update` et la mise à jour automatique ignorent le plugin. Pour les sources basées sur git, si vous omettez `version`, Claude Code utilise le SHA du commit résolu de la source, donc les utilisateurs obtiennent une mise à jour chaque fois que ce commit change ; c'est la configuration la plus simple pour les plugins internes ou en développement actif. Consultez [Gestion des versions](/docs/fr/plugins-reference#version-management) pour l'ordre de résolution complet, y compris les sources `archive`.

1140 1172 

1141<Warning>1173<Warning>

1142 Définir `version` épingle le plugin pour chaque type de source sauf [`command`](#command-sources), dont la version inclut toujours un hash de ce que la commande a produit. Si vous déclarez `"version": "1.0.0"` dans `plugin.json` et poussez de nouveaux commits sans changer cette chaîne, les utilisateurs existants de ces sources conservent la copie en cache, car Claude Code voit la même version. Augmentez le champ à chaque publication, ou omettez-le pour revenir à la version résolue.1174 Définir `version` épingle le plugin pour chaque type de source sauf [`command`](#command-sources), dont la version inclut toujours un hash de ce que la commande a produit. Un plugin [chargé en place](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) à partir d'une place de marché ajoutée en tant que répertoire local n'est pas épinglé non plus. Si vous déclarez `"version": "1.0.0"` dans `plugin.json` et poussez de nouveaux commits sans changer cette chaîne, les utilisateurs existants de ces sources conservent la copie en cache, car Claude Code voit la même version. Augmentez le champ à chaque publication, ou omettez-le pour revenir à la version résolue.

1143 1175 

1144 Évitez de définir `version` à la fois dans `plugin.json` et dans l'entrée de la place de marché. La valeur `plugin.json` gagne toujours silencieusement, donc une version de manifeste obsolète peut masquer une version que vous avez définie dans `marketplace.json`.1176 Évitez de définir `version` à la fois dans `plugin.json` et dans l'entrée de la place de marché. La valeur `plugin.json` gagne toujours silencieusement, donc une version de manifeste obsolète peut masquer une version que vous avez définie dans `marketplace.json`.

1145</Warning>1177</Warning>


1330**Options :**1362**Options :**

1331 1363 

1332| Option | Description | Par défaut |1364| Option | Description | Par défaut |

1333| :-------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |1365| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |

1334| `--scope <scope>` | Où déclarer la place de marché : `user`, `project` ou `local`. Voir [Portées d'installation des plugins](/docs/fr/plugins-reference#plugin-installation-scopes) | `user` |1366| `--scope <scope>` | Où déclarer la place de marché : `user`, `project` ou `local`. Voir [Portées d'installation des plugins](/docs/fr/plugins-reference#plugin-installation-scopes) | `user` |

1335| `--sparse <paths...>` | Limiter le checkout à des répertoires spécifiques via git sparse-checkout. Utile pour les monodépôts | |1367| `--sparse <paths...>` | Limiter le checkout à des répertoires spécifiques via git sparse-checkout. Utile pour les monodépôts | |

1368| `--claudeai` | Lire l'argument comme le nom d'une [place de marché hébergée sur claude.ai](/docs/fr/discover-plugins#add-from-claude-ai) au lieu d'une source. Nécessite Claude Code v2.1.273 ou ultérieur | |

1336 1369 

1337Ajoutez une place de marché à partir de GitHub en utilisant le raccourci `owner/repo` :1370Ajoutez une place de marché à partir de GitHub en utilisant le raccourci `owner/repo` :

1338 1371 


1376claude plugin marketplace add acme-corp/monorepo --sparse .claude-plugin plugins1409claude plugin marketplace add acme-corp/monorepo --sparse .claude-plugin plugins

1377```1410```

1378 1411 

1412Ajoutez une [place de marché hébergée sur claude.ai](/docs/fr/discover-plugins#add-from-claude-ai) par le nom imprimé dans la section `From claude.ai:` de `claude plugin marketplace list` :

1413 

1414```bash theme={null}

1415claude plugin marketplace add --claudeai claudeai-organization-library

1416```

1417 

1418Avec `--claudeai`, la commande refuse `--scope` et `--sparse`. La place de marché est hébergée pour votre compte, pas déclarée dans un fichier de paramètres, donc vous ne pouvez pas la partager via le `.claude/settings.json` d'un projet.

1419 

1379<h3 id="plugin-marketplace-list">1420<h3 id="plugin-marketplace-list">

1380 Plugin marketplace list1421 Plugin marketplace list

1381</h3>1422</h3>


1394 1435 

1395Avec `--json`, chaque entrée inclut `name`, `source`, un champ `installLocation` avec le chemin du cache local où la place de marché est stockée, et des champs spécifiques à la source : `repo` pour les sources GitHub, `url` pour les sources git et URL, et `path` pour les sources locales. Les sources GitHub et git incluent également un champ `ref` lorsque la place de marché a été ajoutée avec une branche ou un tag épinglé.1436Avec `--json`, chaque entrée inclut `name`, `source`, un champ `installLocation` avec le chemin du cache local où la place de marché est stockée, et des champs spécifiques à la source : `repo` pour les sources GitHub, `url` pour les sources git et URL, et `path` pour les sources locales. Les sources GitHub et git incluent également un champ `ref` lorsque la place de marché a été ajoutée avec une branche ou un tag épinglé.

1396 1437 

1438Une [place de marché claude.ai](/docs/fr/discover-plugins#add-from-claude-ai) ajoutée n'a pas de clone local, donc son entrée porte ses identifiants claude.ai, `marketplaceId` et `organizationUuid`, à la place de `installLocation`.

1439 

1440Dans les sessions de terminal où [les plugins se synchronisent à partir de votre compte claude.ai](/docs/fr/plugins-reference#synced-plugins), la liste textuelle se termine par une section `From claude.ai:` nommant ce que claude.ai liste pour votre compte au-delà des places de marché que vous avez ajoutées. Pour en ajouter une, voir [Ajouter à partir de claude.ai](/docs/fr/discover-plugins#add-from-claude-ai). La sortie `--json` couvre uniquement les places de marché configurées et laisse cette section de côté. Nécessite Claude Code v2.1.273 ou ultérieur.

1441 

1397<h3 id="plugin-marketplace-remove">1442<h3 id="plugin-marketplace-remove">

1398 Plugin marketplace remove1443 Plugin marketplace remove

1399</h3>1444</h3>


1472| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | Le répertoire que vous avez nommé n'a pas de `.claude-plugin/marketplace.json` ou `plugin.json`, et aucun fichier de compétence, agent ou commande à vérifier | Exécutez à partir de la racine de la place de marché, ou créez `.claude-plugin/marketplace.json` avec les champs obligatoires |1517| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | Le répertoire que vous avez nommé n'a pas de `.claude-plugin/marketplace.json` ou `plugin.json`, et aucun fichier de compétence, agent ou commande à vérifier | Exécutez à partir de la racine de la place de marché, ou créez `.claude-plugin/marketplace.json` avec les champs obligatoires |

1473| `Invalid JSON syntax: Unexpected token...` | Erreur de syntaxe JSON dans marketplace.json | Vérifiez les virgules manquantes, les virgules supplémentaires ou les chaînes non citées |1518| `Invalid JSON syntax: Unexpected token...` | Erreur de syntaxe JSON dans marketplace.json | Vérifiez les virgules manquantes, les virgules supplémentaires ou les chaînes non citées |

1474| `Duplicate plugin name "x" found in marketplace` | Deux plugins partagent le même nom | Donnez à chaque plugin une valeur `name` unique |1519| `Duplicate plugin name "x" found in marketplace` | Deux plugins partagent le même nom | Donnez à chaque plugin une valeur `name` unique |

1475| `plugins[0].source: Path contains ".."` | Le chemin source contient `..` | Utilisez des chemins relatifs à la racine de la place de marché sans `..`. Voir [Chemins relatifs](#relative-paths) |1520| `plugins[0].source: Path contains ".."` | Un segment du chemin source est `..` | Utilisez des chemins relatifs à la racine de la place de marché sans segments `..`. Voir [Chemins relatifs](#relative-paths) |

1476| `Marketplace name cannot contain control or bidirectional-formatting characters` | Le nom de la place de marché contient un caractère de formatage bidirectionnel Unicode ou un caractère de contrôle, tel qu'une échappement ou une nouvelle ligne | Supprimez le caractère du nom. Avant v2.1.247, ces caractères produisaient l'erreur `Marketplace name impersonates an official Anthropic/Claude marketplace` |1521| `Marketplace name cannot contain control or bidirectional-formatting characters` | Le nom de la place de marché contient un caractère de formatage bidirectionnel Unicode ou un caractère de contrôle, tel qu'une échappement ou une nouvelle ligne | Supprimez le caractère du nom. Avant v2.1.247, ces caractères produisaient l'erreur `Marketplace name impersonates an official Anthropic/Claude marketplace` |

1477| `Plugin name cannot contain control or bidirectional-formatting characters` | Un nom de plugin contient un caractère de formatage bidirectionnel Unicode ou un caractère de contrôle, tel qu'une échappement ou une nouvelle ligne | Supprimez le caractère du nom. Avant v2.1.247, Claude Code n'exécutait pas cette vérification |1522| `Plugin name cannot contain control or bidirectional-formatting characters` | Un nom de plugin contient un caractère de formatage bidirectionnel Unicode ou un caractère de contrôle, tel qu'une échappement ou une nouvelle ligne | Supprimez le caractère du nom. Avant v2.1.247, Claude Code n'exécutait pas cette vérification |

1478 1523 


1575 1620 

1576Pour les mises à jour automatiques en arrière-plan :1621Pour les mises à jour automatiques en arrière-plan :

1577 1622 

1578* Par défaut, les actualisations en arrière-plan désactivent les assistants de credentials git pour la récupération, de sorte que la récupération ne peut pas s'authentifier via HTTPS. Les dépôts SSH avec une clé chargée dans `ssh-agent` s'authentifient toujours. Un échec de récupération déclenche un re-clonage à partir de zéro, qui utilise vos credentials stockés mais peut expirer sur les grands dépôts1623* Par défaut, les actualisations en arrière-plan désactivent les assistants de credentials git lorsqu'ils vérifient le serveur distant pour les nouveaux commits, de sorte que la vérification ne peut pas s'authentifier via HTTPS. Les dépôts SSH avec une clé chargée dans `ssh-agent` s'authentifient toujours

1579* Définissez `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` pour conserver le clone existant lorsque la récupération en arrière-plan échoue1624* Lorsque la vérification ne peut pas s'authentifier, Claude Code re-clone la place de marché avec vos credentials stockés, mais le re-clone peut expirer sur les grands dépôts

1580* Configurez un assistant de credentials git, par exemple `gh auth setup-git`, de sorte que le re-clonage de secours puisse s'authentifier1625* Définissez `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` pour conserver le clone existant sans tenter le re-clone lorsque la vérification en arrière-plan ne peut pas atteindre ou s'authentifier auprès du serveur distant

1626* Configurez un assistant de credentials git, par exemple `gh auth setup-git`, de sorte que le re-clone puisse s'authentifier

1581* Si le re-clonage expire sur un grand dépôt, augmentez la limite avec [`CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`](#git-operations-time-out)1627* Si le re-clonage expire sur un grand dépôt, augmentez la limite avec [`CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`](#git-operations-time-out)

1582* Configurez une [réécriture d'URL git](#private-repositories) limitée au dépôt de la place de marché de sorte que la récupération en arrière-plan s'authentifie directement1628* Configurez une [réécriture d'URL git](#private-repositories) limitée au dépôt de la place de marché de sorte que la vérification en arrière-plan s'authentifie directement

1583* Ou mettez à jour les places de marché privées manuellement avec `/plugin marketplace update <name>`, qui utilise vos credentials1629* Ou mettez à jour les places de marché privées manuellement avec `/plugin marketplace update <name>`, qui utilise vos credentials

1584 1630 

1585<h3 id="marketplace-updates-fail-in-offline-environments">1631<h3 id="marketplace-updates-fail-in-offline-environments">

1586 Les mises à jour de la place de marché échouent dans les environnements hors ligne1632 Les mises à jour de la place de marché échouent dans les environnements hors ligne

1587</h3>1633</h3>

1588 1634 

1589**Symptômes** : Le `git pull` de la place de marché échoue en arrière-plan et Claude Code tente à plusieurs reprises un re-clonage qui ne peut pas réussir.1635**Symptômes** : Dans un environnement hors ligne ou isolé, la vérification en arrière-plan de la place de marché ne peut pas atteindre le serveur distant et Claude Code tente à plusieurs reprises un re-clone qui ne peut pas réussir.

1636 

1637**Cause** : La vérification en arrière-plan vérifie le serveur distant de la place de marché pour les nouveaux commits, et lorsque la vérification ne peut pas atteindre le serveur distant, Claude Code tente de cloner la place de marché à nouveau. Hors ligne, le clone échoue de la même manière et le clone existant reste en place. Avant v2.1.274, la vérification exécutait `git pull` dans le clone existant, déplaçait le clone de côté pour re-cloner lorsque le pull échouait, et le restaurait ensuite au mieux.

1590 1638 

1591**Cause** : Par défaut, lorsqu'un `git pull` échoue, Claude Code tente un re-clonage à partir de zéro. Dans les environnements hors ligne ou isolés, le re-clonage échoue de la même manière, et la restauration du cache précédent après est au mieux un effort. L'actualisation s'exécute en arrière-plan après le démarrage, de sorte qu'elle ne retarde pas le démarrage, mais chaque session répète les tentatives échouées et chaque opération git peut attendre le [délai d'expiration de 120 secondes](#git-operations-time-out).1639La vérification s'exécute en arrière-plan après le démarrage, de sorte qu'elle ne retarde pas le démarrage. Chaque session répète toujours la tentative échouée, et chaque opération git peut attendre le [délai d'expiration de 120 secondes](#git-operations-time-out).

1592 1640 

1593**Solution** : Définissez `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` pour ignorer la tentative de re-clonage et continuer à utiliser le cache existant lorsque la récupération échoue :1641**Solution** : Définissez `CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1` pour ignorer la tentative de re-clone et continuer à utiliser le clone existant lorsque la vérification ne peut pas atteindre le serveur distant :

1594 1642 

1595```bash theme={null}1643```bash theme={null}

1596export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=11644export CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1


1602 Les opérations Git expirent1650 Les opérations Git expirent

1603</h3>1651</h3>

1604 1652 

1605**Symptômes** : L'installation du plugin ou les mises à jour de la place de marché échouent avec une erreur de délai d'expiration comme « Git clone timed out after 120s » ou « Git pull timed out after 120s ».1653**Symptômes** : L'installation du plugin ou les mises à jour de la place de marché échouent avec une erreur de délai d'expiration comme `Git clone timed out after 120s`.

1606 1654 

1607**Cause** : Claude Code utilise un délai d'expiration de 120 secondes pour toutes les opérations git, y compris le clonage des dépôts de plugins et l'extraction des mises à jour de la place de marché. Les grands dépôts ou les connexions réseau lentes peuvent dépasser cette limite.1655**Cause** : Claude Code utilise un délai d'expiration de 120 secondes pour toutes les opérations git, y compris le clonage des dépôts de plugins et le re-clonage d'une place de marché pour la mettre à jour. Les grands dépôts ou les connexions réseau lentes peuvent dépasser cette limite.

1608 1656 

1609**Solution** : Augmentez le délai d'expiration en utilisant la variable d'environnement `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`. La valeur est en millisecondes :1657**Solution** : Augmentez le délai d'expiration en utilisant la variable d'environnement `CLAUDE_CODE_PLUGIN_GIT_TIMEOUT_MS`. La valeur est en millisecondes :

1610 1658 


1634 1682 

1635**Symptômes** : Le plugin s'installe mais les références aux fichiers échouent, en particulier les fichiers en dehors du répertoire du plugin1683**Symptômes** : Le plugin s'installe mais les références aux fichiers échouent, en particulier les fichiers en dehors du répertoire du plugin

1636 1684 

1637**Cause** : Les plugins sont copiés vers un répertoire de cache plutôt que d'être utilisés sur place, sauf pour une [source `command` en mode lien](#copy-mode-and-link-mode). Les chemins qui référencent des fichiers en dehors du répertoire du plugin copié (comme `../shared-utils`) ne fonctionneront pas car ces fichiers ne sont pas copiés.1685**Cause** : Claude Code copie les plugins installés vers un répertoire de cache, sauf si le plugin se charge sur place. Une [source `command` en mode lien](#copy-mode-and-link-mode) se charge sur place, tout comme une [source de chemin relatif](#relative-paths) dans une place de marché ajoutée à partir d'un répertoire local. Les chemins qui référencent des fichiers en dehors du répertoire du plugin copié (comme `../shared-utils`) ne fonctionneront pas car ces fichiers ne sont pas copiés.

1638 1686 

1639**Solutions** : Consultez [Plugin caching and file resolution](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) pour les solutions de contournement, y compris les symlinks et la restructuration des répertoires.1687**Solutions** : Consultez [Plugin caching and file resolution](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) pour les solutions de contournement, y compris les symlinks et la restructuration des répertoires.

1640 1688 

Details

86| `filesRead` | array of strings | Motifs glob correspondant aux chemins des fichiers que Claude a lus cette session, par exemple `["**/*.tf"]`. Normalisé avec barre oblique avant et insensible à la casse. Maximum 10 motifs de 256 caractères chacun. |86| `filesRead` | array of strings | Motifs glob correspondant aux chemins des fichiers que Claude a lus cette session, par exemple `["**/*.tf"]`. Normalisé avec barre oblique avant et insensible à la casse. Maximum 10 motifs de 256 caractères chacun. |

87| `manifestDeps` | array of objects | Dépendances déclarées dans les manifestes de packages que Claude a lus cette session. Chaque entrée est `{ "file": "...", "pattern": "..." }`, où `file` est une expression régulière correspondant au chemin du fichier manifeste tel qu'enregistré dans l'état de la session, généralement un chemin absolu, et `pattern` est une expression régulière correspondant au contenu de ce fichier. Ancrez `file` à la fin, par exemple `[/\\\\]package\\.json$` sous forme échappée JSON, car un motif ancré au début ne correspond jamais à un chemin absolu. Les chemins ne sont pas normalisés par séparateur pour ce signal, donc les chemins Windows utilisent des barres obliques inverses. Les fichiers manifeste plus grands que 512 Ko sont ignorés. Les deux valeurs sont des chaînes source JavaScript `RegExp` d'au maximum 256 caractères. `file` correspond insensible à la casse. `pattern` est sensible à la casse. Maximum 10 entrées. |87| `manifestDeps` | array of objects | Dépendances déclarées dans les manifestes de packages que Claude a lus cette session. Chaque entrée est `{ "file": "...", "pattern": "..." }`, où `file` est une expression régulière correspondant au chemin du fichier manifeste tel qu'enregistré dans l'état de la session, généralement un chemin absolu, et `pattern` est une expression régulière correspondant au contenu de ce fichier. Ancrez `file` à la fin, par exemple `[/\\\\]package\\.json$` sous forme échappée JSON, car un motif ancré au début ne correspond jamais à un chemin absolu. Les chemins ne sont pas normalisés par séparateur pour ce signal, donc les chemins Windows utilisent des barres obliques inverses. Les fichiers manifeste plus grands que 512 Ko sont ignorés. Les deux valeurs sont des chaînes source JavaScript `RegExp` d'au maximum 256 caractères. `file` correspond insensible à la casse. `pattern` est sensible à la casse. Maximum 10 entrées. |

88 88 

89Les signaux `cli`, `hosts`, `filesRead`, et `manifestDeps` ont besoin de l'historique de la session, donc ils ne peuvent correspondre que sur le conseil du spinner et l'onglet Discover. Le signal `cwd` est le seul qui peut correspondre au démarrage de la session. Les signaux `filesRead` et `manifestDeps` testent l'état du fichier enregistré de la session, qui inclut également les fichiers que Claude a écrits ou modifiés et les fichiers de mémoire `CLAUDE.md` chargés automatiquement.89Les signaux `cli`, `hosts`, `filesRead`, et `manifestDeps` ont besoin de l'historique de la session, donc ils ne peuvent correspondre que sur le conseil du spinner et l'onglet Discover.

90 

91Les signaux `filesRead` et `manifestDeps` testent l'état du fichier enregistré de la session, qui inclut également les fichiers que Claude a écrits ou modifiés et les fichiers de mémoire `CLAUDE.md` chargés automatiquement. Pour ces deux signaux, Claude Code ignore les chemins sous son propre [répertoire de configuration](/docs/fr/claude-directory) et ses répertoires temporaires.

90 92 

91L'exemple suivant utilise `manifestDeps` pour suggérer un plugin Stripe une fois que Claude a lu un `package.json` qui dépend de `stripe`. Le motif `file` utilise `[/\\\\]` pour qu'il corresponde à la fois aux séparateurs de chemin avec barre oblique avant et barre oblique inverse, et `\\.` pour que le point soit littéral. En JSON, chaque barre oblique inverse dans l'expression régulière est écrite deux fois.93L'exemple suivant utilise `manifestDeps` pour suggérer un plugin Stripe une fois que Claude a lu un `package.json` qui dépend de `stripe`. Le motif `file` utilise `[/\\\\]` pour qu'il corresponde à la fois aux séparateurs de chemin avec barre oblique avant et barre oblique inverse, et `\\.` pour que le point soit littéral. En JSON, chaque barre oblique inverse dans l'expression régulière est écrite deux fois.

92 94 

plugins.md +2 −2

Details

75 ```75 ```

76 76 

77 | Champ | Objectif |77 | Champ | Objectif |

78 | :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |78 | :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

79 | `name` | Identifiant unique et espace de noms du skill. Les skills sont préfixés avec ceci (par exemple, `/my-first-plugin:hello`). |79 | `name` | Identifiant unique et espace de noms du skill. Les skills sont préfixés avec ceci (par exemple, `/my-first-plugin:hello`). |

80 | `description` | Affiché dans le gestionnaire de plugins lors de la navigation ou de l'installation de plugins. |80 | `description` | Affiché dans le gestionnaire de plugins lors de la navigation ou de l'installation de plugins. |

81 | `version` | Optionnel. S'il est défini, les utilisateurs ne reçoivent les mises à jour que lorsque vous augmentez ce champ, sauf pour une [source `command`](/docs/fr/plugin-marketplaces#command-sources) ; consultez [gestion des versions](/docs/fr/plugins-reference#version-management). S'il est omis, la version provient de la source suivante dans [gestion des versions](/docs/fr/plugins-reference#version-management). |81 | `version` | Optionnel. S'il est défini, les utilisateurs ne reçoivent les mises à jour que lorsque vous augmentez ce champ, sauf pour une [source `command`](/docs/fr/plugin-marketplaces#command-sources) ou un plugin [chargé sur place](/docs/fr/plugins-reference#plugin-caching-and-file-resolution) ; consultez [gestion des versions](/docs/fr/plugins-reference#version-management). S'il est omis, la version provient de la source suivante dans [gestion des versions](/docs/fr/plugins-reference#version-management). |

82 | `author` | Optionnel. Utile pour l'attribution. |82 | `author` | Optionnel. Utile pour l'attribution. |

83 83 

84 Pour les champs supplémentaires comme `homepage`, `repository` et `license`, consultez le [schéma manifeste complet](/docs/fr/plugins-reference#plugin-manifest-schema).84 Pour les champs supplémentaires comme `homepage`, `repository` et `license`, consultez le [schéma manifeste complet](/docs/fr/plugins-reference#plugin-manifest-schema).

Details

40 40 

41Les skills et les commandes sont automatiquement découverts lors de l'installation du plugin.41Les skills et les commandes sont automatiquement découverts lors de l'installation du plugin.

42 42 

43Si un plugin n'a pas de répertoire `skills/` et pas de champ manifest `skills`, un `SKILL.md` à la racine du plugin est chargé comme un skill unique. Définissez le champ frontmatter `name` pour contrôler le nom d'invocation du skill. Sans cela, Claude Code revient au nom du répertoire d'installation, qui pour les plugins installés depuis la marketplace est une chaîne de version qui change à chaque mise à jour. Pour les plugins qui fournissent plus d'un skill, utilisez la disposition du répertoire `skills/` montrée ci-dessus.43Si un plugin n'a pas de répertoire `skills/` et pas de champ manifest `skills`, un `SKILL.md` à la racine du plugin est chargé comme un skill unique. Définissez le champ frontmatter `name` pour contrôler le nom d'invocation du skill. Sans cela, Claude Code revient au nom du répertoire d'installation. Pour un plugin [copié dans le cache](#plugin-caching-and-file-resolution), ce nom est une chaîne de version qui change à chaque mise à jour. Pour les plugins qui fournissent plus d'un skill, utilisez la disposition du répertoire `skills/` montrée ci-dessus.

44 44 

45Dans les skills et commandes de plugin, les champs frontmatter booléens tels que `disable-model-invocation` 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`.45Dans les skills et commandes de plugin, les champs frontmatter booléens tels que `disable-model-invocation` 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`.

46 46 


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` et `isolation`. La seule valeur `isolation` valide est `"worktree"`. Pour des raisons de sécurité, `hooks`, `mcpServers` et `permissionMode` ne sont pas supportés pour les agents fournis par les plugins.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"`.

75 

76Pour des raisons de sécurité, les agents fournis par les plugins ne supportent pas `hooks`, `mcpServers` ou `permissionMode`.

75 77 

76Claude Code charge un agent de plugin même quand son frontmatter n'a pas de `name` ou ne s'analyse pas :78Claude Code charge un agent de plugin même quand son frontmatter n'a pas de `name` ou ne s'analyse pas :

77 79 


99 101 

100**Format** : Configuration JSON avec des matchers d'événements et des actions102**Format** : Configuration JSON avec des matchers d'événements et des actions

101 103 

104`hooks/hooks.json` peut porter une clé `$schema` de niveau supérieur qui nomme une URL JSON Schema pour l'autocomplétion et la validation de l'éditeur. Claude Code ignore la clé au moment du chargement.

105 

102**Configuration du hook** :106**Configuration du hook** :

103 107 

104```json theme={null}108```json theme={null}


440 Plugins synchronisés depuis claude.ai444 Plugins synchronisés depuis claude.ai

441</h2>445</h2>

442 446 

443Dans [Cowork](https://claude.com/product/cowork) et les [sessions cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup), Claude Code télécharge les plugins activés pour votre compte claude.ai dans `~/.claude/plugins/synced/` dans l'environnement propre de la session et charge chacun d'eux en tant que `<name>@synced`, sans marketplace et sans enregistrement d'installation. Claude Code ne les charge pas dans les sessions que vous démarrez dans votre propre terminal. À l'intérieur de cet environnement Cowork ou cloud, `claude plugin list` affiche les copies téléchargées sous un en-tête `Synced from claude.ai`. Avant la v2.1.239, Claude Code chargeait ces plugins en tant que `<name>@inline`, l'identité que les plugins `--plugin-dir` utilisent.447Claude Code charge les plugins activés pour votre compte claude.ai, y compris les plugins que votre organisation active pour ses membres, aux côtés des plugins que vous installez à partir des marketplaces. Il télécharge chacun d'eux dans `~/.claude/plugins/synced/` et le charge en tant que `<name>@synced`, sans marketplace et sans enregistrement d'installation. Un plugin synchronisé s'exécute avec la même confiance qu'un plugin marketplace que vous avez installé : ses skills, agents, hooks, serveurs MCP et serveurs LSP se chargent tous.

448 

449L'endroit où Claude Code synchronise ces plugins dépend de la session :

450 

451* Dans [Cowork](https://claude.com/product/cowork) et les [sessions cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup), Claude Code les télécharge dans l'environnement propre de la session au démarrage de la session. Avant la v2.1.239, Claude Code chargeait ces plugins en tant que `<name>@inline`, l'identité que les plugins `--plugin-dir` utilisent.

452* Dans les sessions de terminal où vous vous connectez avec votre compte claude.ai, Claude Code vérifie votre compte une fois à chaque démarrage, puis télécharge les nouveaux plugins et les plugins mis à jour et supprime ceux que vous ou votre organisation avez désactivés, le tout en arrière-plan. La synchronisation dans les sessions de terminal nécessite Claude Code v2.1.273 ou version ultérieure.

453 

454La vérification au lancement s'exécute en arrière-plan, elle peut donc se terminer après le démarrage de votre session. Lorsqu'elle ajoute, met à jour ou supprime un plugin synchronisé dans une session interactive, Claude Code affiche `Plugins changed. Run /reload-plugins to activate.` Exécutez [`/reload-plugins`](/docs/fr/discover-plugins#apply-plugin-changes-without-restarting) pour charger la modification dans cette session, ou laissez-la pour la prochaine fois que vous démarrez Claude Code. Si vous activez un plugin sur claude.ai pendant qu'une session est en cours d'exécution, Claude Code le télécharge la prochaine fois qu'il démarre.

444 455 

445Gérez un plugin synchronisé par l'ID `<name>@synced` que `claude plugin list` affiche :456La synchronisation des plugins dans les sessions de terminal s'exécute dans les mêmes conditions de connexion que les [skills synchronisés depuis claude.ai](/docs/fr/skills#where-synced-skills-load). Elle nécessite également une connexion qui accorde à Claude Code l'accès aux plugins de votre compte.

446 457 

447* **Désactiver un plugin** : dans la session synchronisée, exécutez `claude plugin disable <name>@synced`, ou demandez à Claude de l'exécuter. Claude Code enregistre le choix en tant que `"<name>@synced": false` dans le [`enabledPlugins`](/docs/fr/settings-reference#enabledplugins) au niveau utilisateur de cet environnement. Pour réactiver le plugin, exécutez `claude plugin enable <name>@synced` dans la même session. Pour exclure un plugin de chaque session synchronisée, [désactivez-le pour votre compte claude.ai](/docs/fr/desktop#extend-claude-code). Pour l'exclure des sessions synchronisées d'un projet dans chaque environnement, définissez `"<name>@synced": false` sous `enabledPlugins` dans le `.claude/settings.json` engagé de ce projet.458Une connexion à partir d'une version antérieure de Claude Code récupère l'accès aux plugins la prochaine fois que Claude Code renouvelle cette connexion en arrière-plan, dans quelques heures, ou immédiatement si vous exécutez `/login` à nouveau. La synchronisation des plugins commence la prochaine fois que vous démarrez Claude Code après cela.

448* **Gérer le plugin lui-même sur claude.ai** : `claude plugin install`, `update` et `uninstall` ne s'appliquent pas à un plugin synchronisé. Pour en supprimer un, désactivez le plugin pour votre compte claude.ai ; la prochaine session synchronisée démarre sans lui.

449 459 

450Lorsqu'un plugin activé provenant de toute autre source, comme une installation marketplace, un plugin du [répertoire de skills](#skills-directory-plugins), ou un plugin `--plugin-dir`, correspond au nom d'un plugin synchronisé, Claude Code charge ce plugin et signale que la copie synchronisée n'est pas chargée. Pour utiliser la copie claude.ai à la place, désactivez votre propre copie. Avant la v2.1.239, Claude Code chargeait la copie synchronisée à la place d'une installation marketplace portant le même nom.460`claude plugin list` affiche les plugins synchronisés sous un en-tête `Synced from claude.ai`, et l'onglet **Installed** de `/plugin` les répertorie avec `synced` comme source. Gérez un plugin synchronisé par l'ID `<name>@synced` que `claude plugin list` affiche :

461 

462* **Désactiver un plugin** : exécutez `claude plugin disable <name>@synced`, ou désactivez-le à partir de l'onglet **Installed** de `/plugin`. Claude Code enregistre le choix en tant que `"<name>@synced": false` dans votre [`enabledPlugins`](/docs/fr/settings-reference#enabledplugins) au niveau utilisateur. Pour réactiver le plugin, exécutez `claude plugin enable <name>@synced`.

463* **Exclure un plugin partout** : [désactivez le plugin pour votre compte claude.ai](/docs/fr/desktop#extend-claude-code). Pour l'exclure d'un projet dans chaque environnement, définissez `"<name>@synced": false` sous `enabledPlugins` dans le `.claude/settings.json` engagé de ce projet.

464* **Gérer le plugin lui-même sur claude.ai** : `claude plugin install`, `update` et `uninstall` ne s'appliquent pas à un plugin synchronisé. Claude Code télécharge les mises à jour d'un plugin à la prochaine synchronisation. Pour en supprimer un, désactivez le plugin pour votre compte claude.ai, et Claude Code le supprime à la prochaine synchronisation.

465* **Arrêter la synchronisation sur une machine** : définissez [`syncClaudeAiPlugins`](/docs/fr/settings-reference#syncclaudeaiplugins) sur `false` dans vos paramètres utilisateur. Claude Code arrête le téléchargement, et la prochaine fois qu'il démarre, il déplace les plugins qu'il a déjà synchronisés vers `~/.claude/plugins/.trash/` et ne les charge plus. Votre organisation peut définir la même clé dans les [paramètres gérés](/docs/fr/managed-settings), ou désactiver les Skills sur claude.ai, ce qui arrête également la synchronisation des plugins.

466 

467Vous ne pouvez pas désactiver un plugin que votre organisation marque comme requis sur claude.ai. Claude Code le charge même si vous l'avez désactivé précédemment, et `claude plugin disable` refuse avec `Plugin "<name>@synced" is required by your organization and can't be disabled here. Contact your admin to change it.` Dans `claude plugin list`, ces plugins sont marqués `required by your org`.

468 

469Lorsqu'un plugin activé provenant de toute autre source correspond au nom d'un plugin synchronisé, Claude Code charge ce plugin et signale que la copie synchronisée n'est pas chargée. Les autres sources incluent les installations marketplace, les [plugins du répertoire de skills](#skills-directory-plugins), les plugins `--plugin-dir` et les plugins intégrés à Claude Code. Pour utiliser la copie claude.ai à la place, désactivez votre propre copie. Avant la v2.1.239, Claude Code chargeait la copie synchronisée à la place d'une installation marketplace portant le même nom.

451 470 

452***471***

453 472 


534</h3>553</h3>

535 554 

536| Champ | Type | Description | Exemple |555| Champ | Type | Description | Exemple |

537| :--------------- | :------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |556| :--------------- | :------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------- |

538| `$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"` |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"` |

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

540| `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) ; 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"` |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"` |

541| `description` | string | Brève explication de l'objectif du plugin | `"Deployment automation tools"` |560| `description` | string | Brève explication de l'objectif du plugin | `"Deployment automation tools"` |

542| `author` | object | Informations sur l'auteur | `{"name": "Dev Team", "email": "dev@company.com"}` |561| `author` | object | Informations sur l'auteur | `{"name": "Dev Team", "email": "dev@company.com"}` |

543| `homepage` | string | URL de documentation | `"https://docs.example.com"` |562| `homepage` | string | URL de documentation | `"https://docs.example.com"` |


577| `experimental.themes` | string\|array | Fichiers/répertoires de thème de couleur (remplace le défaut `themes/`). Voir [Thèmes](#themes) | `"./themes/"` |596| `experimental.themes` | string\|array | Fichiers/répertoires de thème de couleur (remplace le défaut `themes/`). Voir [Thèmes](#themes) | `"./themes/"` |

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

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

580| `userConfig` | object | Valeurs configurables par l'utilisateur demandées au moment de l'activation. Voir [Configuration utilisateur](#user-configuration) | Voir ci-dessous |599| `userConfig` | object | Valeurs configurables par l'utilisateur demandées au moment de l'activation. Voir [Configuration utilisateur](#user-configuration) | |

581| `channels` | array | Déclarations de canal pour l'injection de messages (style Telegram, Slack, Discord). Voir [Canaux](#channels) | Voir ci-dessous |600| `channels` | array | Déclarations de canal pour l'injection de messages (style Telegram, Slack, Discord). Voir [Canaux](#channels) | |

582| `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" }]` |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" }]` |

583 602 

584<h3 id="experimental-components">603<h3 id="experimental-components">


614Les clés doivent être des identifiants valides. Chaque option prend en charge ces champs :633Les clés doivent être des identifiants valides. Chaque option prend en charge ces champs :

615 634 

616| Champ | Obligatoire | Description |635| Champ | Obligatoire | Description |

617| :------------ | :---------- | :-------------------------------------------------------------------------------------------------- |636| :------------ | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- |

618| `type` | Oui | L'un de `string`, `number`, `boolean`, `directory`, ou `file` |637| `type` | Oui | L'un de `string`, `number`, `boolean`, `directory`, ou `file` |

619| `title` | Oui | Étiquette affichée dans la boîte de dialogue de configuration |638| `title` | Oui | Étiquette affichée dans la boîte de dialogue de configuration |

620| `description` | Oui | Texte d'aide affiché sous le champ |639| `description` | Oui | Texte d'aide affiché sous le champ |

621| `sensitive` | Non | Si `true`, masque l'entrée et stocke la valeur dans le stockage sécurisé au lieu de `settings.json` |640| `sensitive` | Non | Si `true`, masque l'entrée et stocke la valeur dans le stockage sécurisé au lieu de `settings.json` |

622| `required` | Non | Si `true`, la validation échoue lorsque le champ est vide |641| `required` | Non | Si `true`, la validation échoue lorsque le champ est vide |

623| `default` | Non | Valeur utilisée lorsque l'utilisateur ne fournit rien |642| `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 |

624| `multiple` | Non | Pour le type `string`, autoriser un tableau de chaînes |644| `multiple` | Non | Pour le type `string`, autoriser un tableau de chaînes |

625| `min` / `max` | Non | Limites pour le type `number` |645| `min` / `max` | Non | Limites pour le type `number` |

626 646 

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.

648 

627Chaque 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.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.

628 650 

629Les champs qui s'exécutent dans un shell rejettent `${user_config.*}` : substituer une valeur configurée dans une commande shell permettrait au shell d'exécuter tout ce que cette valeur contient, donc le composant échoue avec une [erreur](/docs/fr/errors#plugin-command-references-user-config) à la place. Chaque champ rejeté a une autre façon de passer la valeur :651Les champs qui s'exécutent dans un shell rejettent `${user_config.*}` : substituer une valeur configurée dans une commande shell permettrait au shell d'exécuter tout ce que cette valeur contient, donc le composant échoue avec une [erreur](/docs/fr/errors#plugin-command-references-user-config) à la place. Chaque champ rejeté a une autre façon de passer la valeur :


733| `${CLAUDE_PLUGIN_DATA}` | [Répertoire persistant](#persistent-data-directory) qui survit aux mises à jour du plugin, créé à la première référence | Dépendances installées telles que `node_modules` ou environnements virtuels Python, code généré et caches |755| `${CLAUDE_PLUGIN_DATA}` | [Répertoire persistant](#persistent-data-directory) qui survit aux mises à jour du plugin, créé à la première référence | Dépendances installées telles que `node_modules` ou environnements virtuels Python, code généré et caches |

734| `${CLAUDE_PROJECT_DIR}` | La racine du projet | Scripts et fichiers de configuration locaux au projet |756| `${CLAUDE_PROJECT_DIR}` | La racine du projet | Scripts et fichiers de configuration locaux au projet |

735 757 

736Les trois sont exportés en tant que variables d'environnement vers les processus de hook et vers les sous-processus de serveur MCP et LSP. Les champs qui les substituent en ligne dépendent du composant du plugin :758Les trois sont exportés en tant que variables d'environnement vers les processus de hook et vers les sous-processus de serveur MCP et LSP. Ils ne sont pas présents dans l'environnement des commandes que Claude exécute via l'outil Bash, dans la session principale ou dans un sous-agent. Dans le contenu du plugin, écrivez l'espace réservé à la place, et Claude Code substitue le chemin en ligne lorsqu'il charge le contenu. Les champs qui les substituent en ligne dépendent du composant du plugin :

737 759 

738| Composant du plugin | Champs où les espaces réservés se résolvent |760| Composant du plugin | Champs où les espaces réservés se résolvent |

739| :------------------------------------ | :------------------------------------------ |761| :------------------------------------ | :------------------------------------------ |


762}784}

763```785```

764 786 

765`${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à. Voir [mise en cache du plugin](#plugin-caching-and-file-resolution) pour la sémantique de nettoyage.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.

766 788 

767Lorsqu'un plugin 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. Pour 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).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.

790 

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

768 792 

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

770 794 


823 Mise en cache des plugins et résolution des fichiers847 Mise en cache des plugins et résolution des fichiers

824</h2>848</h2>

825 849 

826Les plugins sont spécifiés de deux façons :850Les plugins sont spécifiés de trois façons :

827 851 

828* Via `claude --plugin-dir` ou `claude --plugin-url`, pour la durée d'une session.852* Via `claude --plugin-dir` ou `claude --plugin-url`, pour la durée d'une session.

829* Via une marketplace, installés pour les sessions futures.853* Via une marketplace, installés pour les sessions futures.

854* Via votre compte claude.ai, [synchronisés](#synced-plugins) dans `~/.claude/plugins/synced/`.

855 

856À des fins de sécurité et de vérification, Claude Code copie les plugins de *marketplace* dans le **cache de plugins** local de l'utilisateur (`~/.claude/plugins/cache`), sauf si le plugin se charge sur place. Une [source `command` en mode lien](/docs/fr/plugin-marketplaces#copy-mode-and-link-mode) se charge sur place via des liens dans l'entrée du cache. Une [source de chemin relatif](/docs/fr/plugin-marketplaces#relative-paths) dans une marketplace ajoutée à partir d'un répertoire local se charge sur place à partir du dossier de la marketplace.

830 857 

831À des fins de sécurité et de vérification, Claude Code copie les plugins de *marketplace* dans le **cache de plugins** local de l'utilisateur (`~/.claude/plugins/cache`) plutôt que de les utiliser sur place, sauf pour les [sources `command` en mode lien](/docs/fr/plugin-marketplaces#copy-mode-and-link-mode), que Claude Code utilise sur place via des liens dans l'entrée du cache.858Pour un plugin chargé sur place à partir d'une marketplace de répertoire local, vos modifications du répertoire source prennent effet au prochain démarrage de session ou `/reload-plugins`. Vous n'avez pas besoin d'une augmentation de version. Les processus de hook du plugin et les serveurs MCP et LSP reçoivent un `CLAUDE_PLUGIN_ROOT` qui pointe vers le répertoire source. Claude Code n'installe pas les [dépendances de packages Node.js](#node-js-package-dependencies) du plugin dans le répertoire source. Installez-les vous-même, ou à partir d'un hook dans le [répertoire de données persistantes](#persistent-data-directory).

832 859 

833Pour les plugins copiés, chaque version installée est un répertoire distinct dans le cache, regroupé par marketplace et plugin et nommé pour la version résolue, avec sa propre copie des fichiers du plugin et des [dépendances de packages Node.js](#node-js-package-dependencies). Une dépendance résolue à partir d'une [balise de version](/docs/fr/plugin-dependencies#tag-plugin-releases-for-version-resolution) obtient un nom de répertoire avec un suffixe de commit-SHA.860Pour les plugins copiés, chaque version installée est un répertoire distinct dans le cache, regroupé par marketplace et plugin et nommé pour la version résolue, avec sa propre copie des fichiers du plugin et des [dépendances de packages Node.js](#node-js-package-dependencies). Une dépendance résolue à partir d'une [balise de version](/docs/fr/plugin-dependencies#tag-plugin-releases-for-version-resolution) obtient un nom de répertoire avec un suffixe de commit-SHA.

834 861 


851| `bun.lock` ou `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |878| `bun.lock` ou `bun.lockb` | `bun install --frozen-lockfile --ignore-scripts` |

852| `npm-shrinkwrap.json` ou `package-lock.json` | `npm ci --ignore-scripts` |879| `npm-shrinkwrap.json` ou `package-lock.json` | `npm ci --ignore-scripts` |

853 880 

854Si un plugin contient plus d'un de ces fichiers de verrouillage, Claude Code utilise la première correspondance, en vérifiant dans l'ordre : `bun.lock`, `bun.lockb`, `npm-shrinkwrap.json`, `package-lock.json`. Claude Code ignore `yarn.lock` et `pnpm-lock.yaml` car Yarn et pnpm prennent en charge les hooks de configuration au moment de la résolution qui contournent `--ignore-scripts`.881Si un plugin contient plus d'un de ces fichiers de verrouillage, Claude Code utilise la première correspondance, en vérifiant dans l'ordre : `bun.lock`, `bun.lockb`, `npm-shrinkwrap.json`, `package-lock.json`.

882 

883Claude Code ignore `yarn.lock` et `pnpm-lock.yaml` car Yarn et pnpm prennent en charge les hooks de configuration au moment de la résolution qui contournent `--ignore-scripts`. Lorsqu'un `bunfig.toml` se trouve à côté du fichier de verrouillage bun correspondant, Claude Code ignore complètement l'installation, car le fichier peut configurer un scanner de sécurité que Bun charge et exécute pendant l'installation. La correspondance du nom de fichier ignore la casse. Supprimez le `bunfig.toml`, ou fournissez un fichier de verrouillage npm à la place du fichier de verrouillage bun.

855 884 

856Livrez un fichier de verrouillage npm pour la plus large portée. Claude Code exécute le gestionnaire de packages du fichier de verrouillage correspondant à partir du PATH de l'utilisateur et ne revient pas au fichier de verrouillage alternatif s'il est manquant. Pour un plugin distribué via une source npm, utilisez `npm-shrinkwrap.json` ; npm exclut `package-lock.json` des packages publiés.885Livrez un fichier de verrouillage npm pour la plus large portée. Claude Code exécute le gestionnaire de packages du fichier de verrouillage correspondant à partir du PATH de l'utilisateur et ne revient pas au fichier de verrouillage alternatif s'il est manquant. Pour un plugin distribué via une source npm, utilisez `npm-shrinkwrap.json` ; npm exclut `package-lock.json` des packages publiés.

857 886 


861* **Pas de scripts de cycle de vie :** `--ignore-scripts` empêche les scripts `preinstall`, `install` et `postinstall` de s'exécuter, de sorte que les dépendances qui construisent des modules natifs dans ces scripts téléchargent mais ne se compilent pas pendant cette installation.890* **Pas de scripts de cycle de vie :** `--ignore-scripts` empêche les scripts `preinstall`, `install` et `postinstall` de s'exécuter, de sorte que les dépendances qui construisent des modules natifs dans ces scripts téléchargent mais ne se compilent pas pendant cette installation.

862* **Délai d'expiration de 60 secondes :** Claude Code arrête une installation qui s'exécute plus longtemps et la traite comme échouée.891* **Délai d'expiration de 60 secondes :** Claude Code arrête une installation qui s'exécute plus longtemps et la traite comme échouée.

863 892 

864L'extraction d'un plugin lui-même à partir d'une source npm exécute `npm install` avec les scripts de cycle de vie activés, avant que cette installation de dépendances ne s'exécute.893Claude Code récupère un plugin de source npm avant cette installation de dépendances, et aucun des scripts d'installation propres du package ne s'exécute pendant la récupération. Voir [packages npm](/docs/fr/plugin-marketplaces#npm-packages).

865 894 

866Une installation échouée ou ignorée ne bloque jamais le plugin. Lorsque l'installation échoue, ou que Claude Code ignore un fichier de verrouillage yarn ou pnpm, il enregistre la raison comme un avertissement dans la [sortie de débogage](#debugging-commands). Un plugin avec un `package.json` et aucun fichier de verrouillage est ignoré sans entrée de journal. Une installation qui expire peut laisser un arbre `node_modules` partiel dans la copie en cache.895Une installation échouée ou ignorée ne bloque jamais le plugin. Lorsque l'installation échoue, ou que Claude Code ignore un fichier de verrouillage yarn ou pnpm ou un fichier de verrouillage bun avec un `bunfig.toml` à côté, il enregistre la raison comme un avertissement dans la [sortie de débogage](#debugging-commands). Un plugin avec un `package.json` et aucun fichier de verrouillage est ignoré sans entrée de journal. Une installation qui expire peut laisser un arbre `node_modules` partiel dans la copie en cache.

867 896 

868Vous ne pouvez pas désactiver l'installation automatique ; aucun paramètre ou variable d'environnement ne la désactive. Dans les réseaux restreints, voir les [exigences d'accès réseau](/docs/fr/network-config#network-access-requirements) pour les hôtes à autoriser.897Vous ne pouvez pas désactiver l'installation automatique ; aucun paramètre ou variable d'environnement ne la désactive. Dans les réseaux restreints, voir les [exigences d'accès réseau](/docs/fr/network-config#network-access-requirements) pour les hôtes à autoriser.

869 898 


1059La commande accepte ces options :1088La commande accepte ces options :

1060 1089 

1061| Option | Description | Par défaut |1090| Option | Description | Par défaut |

1062| :--------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |1091| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------- |

1063| `-s, --scope <scope>` | Portée d'installation : `user`, `project`, ou `local` | `user` |1092| `-s, --scope <scope>` | Portée d'installation : `user`, `project`, ou `local` | `user` |

1064| `--config <key=value>` | Définissez une option [`userConfig`](#user-configuration) déclarée dans le manifeste du plugin. Répétez le drapeau pour définir plusieurs options | |1093| `--config <key=value>` | Définissez une option [`userConfig`](#user-configuration) déclarée dans le manifeste du plugin. Répétez le drapeau pour définir plusieurs options | |

1065| `-y, --yes` | Acceptez une commande que la marketplace du plugin déclare, sans l'invite de confirmation : la commande qui produit un plugin avec une [`command` source](/docs/fr/plugin-marketplaces#command-sources), ou le [`headersHelper`](/docs/fr/plugin-marketplaces#authenticate-archive-downloads) qui authentifie un téléchargement d'archive. Accepter un `headersHelper` nécessite Claude Code v2.1.238 ou ultérieur. Claude Code imprime toujours la commande en premier. Requis lorsque stdin ou stdout n'est pas un TTY. N'a aucun effet dans une session Claude Code, exécutez donc la commande depuis votre propre terminal | |1094| `-y, --yes` | Acceptez une commande que la marketplace du plugin déclare, sans l'invite de confirmation : la commande qui produit un plugin avec une [`command` source](/docs/fr/plugin-marketplaces#command-sources), ou le [`headersHelper`](/docs/fr/plugin-marketplaces#authenticate-archive-downloads) qui authentifie un téléchargement d'archive. Accepter un `headersHelper` nécessite Claude Code v2.1.238 ou ultérieur. Claude Code imprime toujours la commande en premier. Requis lorsque stdin ou stdout n'est pas un TTY, sauf si vous passez `--accept-command`. N'a aucun effet dans une session Claude Code, exécutez donc la commande depuis votre propre terminal | |

1095| `--accept-command <sha256>` | Acceptez la commande déclarée par la marketplace dont le `sha256` qu'une exécution [`--json`](#plugin-json-result) précédente a rapporté dans `shownCommand`, à la place de `-y`. L'acceptation compte pour exactement cette commande, ce plugin, et ce catalogue de marketplace. Si l'un d'eux a changé depuis que la commande a été affichée, y compris par l'actualisation de la marketplace de l'exécution elle-même, Claude Code n'accepte pas le digest et affiche la commande à nouveau. Ne peut pas être combiné avec `-y`. N'a aucun effet dans une session Claude Code, exécutez donc la commande depuis votre propre terminal. Nécessite Claude Code v2.1.271 ou ultérieur | |

1066| `--json` | Imprimez le résultat en tant qu'un objet JSON sur la dernière ligne de stdout au lieu du message lisible par l'homme, pour une utilisation dans les scripts. Consultez [Format de résultat JSON](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur | |1096| `--json` | Imprimez le résultat en tant qu'un objet JSON sur la dernière ligne de stdout au lieu du message lisible par l'homme, pour une utilisation dans les scripts. Consultez [Format de résultat JSON](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur | |

1067| `-h, --help` | Afficher l'aide pour la commande | |1097| `-h, --help` | Afficher l'aide pour la commande | |

1068 1098 


1076 1106 

1077D'autres champs, tels que `pluginId`, `scope`, et `failureCode`, n'apparaissent que lorsqu'ils s'appliquent. L'option `--json` sur `plugin uninstall`, `plugin update`, `plugin enable`, et `plugin disable` imprime le même objet avec les propres champs de cette sous-commande. Une erreur d'utilisation, comme un `--scope` invalide, n'imprime aucune ligne de résultat et quitte 1 avec la raison sur stderr.1107D'autres champs, tels que `pluginId`, `scope`, et `failureCode`, n'apparaissent que lorsqu'ils s'appliquent. L'option `--json` sur `plugin uninstall`, `plugin update`, `plugin enable`, et `plugin disable` imprime le même objet avec les propres champs de cette sous-commande. Une erreur d'utilisation, comme un `--scope` invalide, n'imprime aucune ligne de résultat et quitte 1 avec la raison sur stderr.

1078 1108 

1109Lorsqu'une exécution affiche une commande déclarée par la marketplace et ne l'exécute pas, le résultat `failed` porte également un objet `shownCommand` dont les champs incluent la commande telle qu'affichée, le plugin auquel elle appartient, et le `sha256` de la commande. Pour accepter exactement cette commande, réexécutez avec ce `sha256` en tant que `--accept-command`. Nécessite Claude Code v2.1.271 ou ultérieur.

1110 

1111Si `shownCommand.acceptCommandMatched` est `false`, le digest que vous avez passé ne correspond pas à la commande maintenant affichée. Montrez cette commande à une personne avant de passer son `sha256`.

1112 

1079Ces exemples montrent les invocations courantes :1113Ces exemples montrent les invocations courantes :

1080 1114 

1081```bash theme={null}1115```bash theme={null}


1157 1191 

1158La commande prend ces arguments :1192La commande prend ces arguments :

1159 1193 

1160* `<plugin>` : Nom du plugin ou `plugin-name@marketplace-name`1194* `<plugin>` : Nom du plugin, `plugin-name@marketplace-name`, ou `plugin-name@synced` pour un [plugin synchronisé depuis claude.ai](#synced-plugins)

1161 1195 

1162La commande accepte ces options :1196La commande accepte ces options :

1163 1197 


1171 plugin disable1205 plugin disable

1172</h3>1206</h3>

1173 1207 

1174Désactivez un plugin sans le désinstaller. Lorsque la cible est installée à partir d'une marketplace, la commande échoue si un autre plugin activé [en dépend](/docs/fr/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies). Le message d'erreur inclut une commande chaînée qui désactive d'abord chaque dépendant.1208Désactivez un plugin sans le désinstaller.

1209 

1210Lorsque la cible est installée à partir d'une marketplace, la commande échoue si un autre plugin activé [en dépend](/docs/fr/plugin-dependencies#enable-or-disable-a-plugin-with-dependencies). Le message d'erreur inclut une commande chaînée qui désactive d'abord chaque dépendant.

1211 

1212Pour un [plugin synchronisé](#synced-plugins) que votre organisation exige, la commande échoue et ne sauvegarde rien.

1175 1213 

1176```bash theme={null}1214```bash theme={null}

1177claude plugin disable [plugin] [options]1215claude plugin disable [plugin] [options]


1179 1217 

1180La commande prend ces arguments :1218La commande prend ces arguments :

1181 1219 

1182* `[plugin]` : Nom du plugin ou `plugin-name@marketplace-name`. Optionnel lors de l'utilisation de `--all`1220* `[plugin]` : Nom du plugin, `plugin-name@marketplace-name`, ou `plugin-name@synced` pour un [plugin synchronisé depuis claude.ai](#synced-plugins). Optionnel lors de l'utilisation de `--all`

1183 1221 

1184La commande accepte ces options :1222La commande accepte ces options :

1185 1223 


1207La commande accepte ces options :1245La commande accepte ces options :

1208 1246 

1209| Option | Description | Par défaut |1247| Option | Description | Par défaut |

1210| :-------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------- |1248| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | :--------- |

1211| `-s, --scope <scope>` | Portée à mettre à jour : `user`, `project`, `local`, ou `managed` | `user` |1249| `-s, --scope <scope>` | Portée à mettre à jour : `user`, `project`, `local`, ou `managed` | `user` |

1212| `-y, --yes` | Acceptez une commande que la marketplace du plugin déclare, sans l'invite de confirmation : la commande qui produit un plugin avec une [`command` source](/docs/fr/plugin-marketplaces#command-sources), ou le [`headersHelper`](/docs/fr/plugin-marketplaces#authenticate-archive-downloads) qui authentifie un téléchargement d'archive. Accepter un `headersHelper` nécessite Claude Code v2.1.238 ou ultérieur. Claude Code imprime toujours la commande en premier. Requis lorsque stdin ou stdout n'est pas un TTY. N'a aucun effet dans une session Claude Code, exécutez donc la commande depuis votre propre terminal | |1250| `-y, --yes` | Acceptez une commande que la marketplace du plugin déclare, sans l'invite de confirmation : la commande qui produit un plugin avec une [`command` source](/docs/fr/plugin-marketplaces#command-sources), ou le [`headersHelper`](/docs/fr/plugin-marketplaces#authenticate-archive-downloads) qui authentifie un téléchargement d'archive. Accepter un `headersHelper` nécessite Claude Code v2.1.238 ou ultérieur. Claude Code imprime toujours la commande en premier. Requis lorsque stdin ou stdout n'est pas un TTY, sauf si vous passez `--accept-command`. N'a aucun effet dans une session Claude Code, exécutez donc la commande depuis votre propre terminal | |

1251| `--accept-command <sha256>` | Acceptez la commande déclarée par la marketplace dont le `sha256` qu'une exécution [`--json`](#plugin-json-result) précédente a rapporté dans `shownCommand`, à la place de `-y`. L'acceptation compte pour exactement cette commande, ce plugin, et ce catalogue de marketplace. Si l'un d'eux a changé depuis que la commande a été affichée, y compris par l'actualisation de la marketplace de l'exécution elle-même, Claude Code n'accepte pas le digest et affiche la commande à nouveau. Ne peut pas être combiné avec `-y`. N'a aucun effet dans une session Claude Code, exécutez donc la commande depuis votre propre terminal. Nécessite Claude Code v2.1.271 ou ultérieur | |

1213| `--json` | Imprimez le résultat en tant qu'un objet JSON sur la dernière ligne de stdout, au [même format que `plugin install --json`](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur | |1252| `--json` | Imprimez le résultat en tant qu'un objet JSON sur la dernière ligne de stdout, au [même format que `plugin install --json`](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur | |

1214| `-h, --help` | Afficher l'aide pour la commande | |1253| `-h, --help` | Afficher l'aide pour la commande | |

1215 1254 


1240Dans une session interactive, `/plugin list` imprime un listage similaire en ligne, mais il couvre uniquement les plugins installés depuis une marketplace :1279Dans une session interactive, `/plugin list` imprime un listage similaire en ligne, mais il couvre uniquement les plugins installés depuis une marketplace :

1241 1280 

1242* Les plugins chargés à partir des répertoires de compétences apparaissent dans l'interface `/plugin` et dans `claude plugin list`, mais pas dans la sortie en ligne `/plugin list`.1281* Les plugins chargés à partir des répertoires de compétences apparaissent dans l'interface `/plugin` et dans `claude plugin list`, mais pas dans la sortie en ligne `/plugin list`.

1243* Sur Claude Code v2.1.239 ou ultérieur, les [plugins synchronisés depuis claude.ai](#synced-plugins) apparaissent dans `claude plugin list` lorsque vous l'exécutez dans l'environnement où une session synchronisée les a téléchargés. Ils n'apparaissent pas dans la sortie en ligne `/plugin list`.1282* [Les plugins synchronisés depuis claude.ai](#synced-plugins) apparaissent dans `claude plugin list` sur Claude Code v2.1.239 ou ultérieur et dans l'interface `/plugin`, mais pas dans la sortie en ligne `/plugin list`.

1244* Les plugins chargés pour la session avec `--plugin-dir` ou `--plugin-url` apparaissent dans l'interface `/plugin`, et dans `claude plugin list` uniquement lorsque le même drapeau précède la sous-commande, comme dans `claude --plugin-dir <dir> plugin list`. Seul le nom du drapeau indique leur emplacement, donc un `claude plugin list` nu ne peut pas les trouver, contrairement aux plugins synchronisés et aux plugins du répertoire de compétences, dont les répertoires fixes sont analysés par Claude Code.1283* Les plugins chargés pour la session avec `--plugin-dir` ou `--plugin-url` apparaissent dans l'interface `/plugin`, et dans `claude plugin list` uniquement lorsque le même drapeau précède la sous-commande, comme dans `claude --plugin-dir <dir> plugin list`. Seul le nom du drapeau indique leur emplacement, donc un `claude plugin list` nu ne peut pas les trouver, contrairement aux plugins synchronisés et aux plugins du répertoire de compétences, dont les répertoires fixes sont analysés par Claude Code.

1245 1284 

1246La forme interactive accepte `--enabled` ou `--disabled` pour afficher uniquement les plugins dans cet état, et `ls` comme raccourci pour `list`.1285La forme interactive accepte `--enabled` ou `--disabled` pour afficher uniquement les plugins dans cet état, et `ls` comme raccourci pour `list`.


1518 Gestion des versions1557 Gestion des versions

1519</h3>1558</h3>

1520 1559 

1521Claude Code utilise la version du plugin comme clé de cache qui détermine si une mise à jour est disponible. Lorsque vous exécutez `/plugin update` ou que la mise à jour automatique se déclenche, Claude Code calcule la version actuelle et ignore la mise à jour si elle correspond à celle déjà installée.1560Claude Code utilise la version du plugin comme clé de cache qui détermine si une mise à jour est disponible. Lorsque vous exécutez `/plugin update` ou que la mise à jour automatique se déclenche, Claude Code calcule la version actuelle et ignore la mise à jour si elle correspond à celle déjà installée. Un plugin [chargé sur place](#plugin-caching-and-file-resolution) à partir d'une marketplace de répertoire local charge ses fichiers source actuels à chaque démarrage de session, quelle que soit sa chaîne de version.

1522 1561 

1523Pour chaque type de source sauf `command`, Claude Code résout la version à partir du premier de ces éléments qui est défini :1562Pour chaque type de source sauf `command`, Claude Code résout la version à partir du premier de ces éléments qui est défini :

1524 1563 


15262. Le champ `version` dans l'entrée marketplace du plugin dans `marketplace.json`15652. Le champ `version` dans l'entrée marketplace du plugin dans `marketplace.json`

15273. Le SHA du commit git du plugin, pour les sources `github`, `url`, `git-subdir` et relative-path dans une marketplace hébergée sur git15663. Le SHA du commit git du plugin, pour les sources `github`, `url`, `git-subdir` et relative-path dans une marketplace hébergée sur git

15284. Le digest SHA-256, pour les [sources `archive`](/docs/fr/plugin-marketplaces#zip-archives) : le pin `sha256` dans l'entrée marketplace, ou le digest du fichier téléchargé lorsque vous ne définissez aucun pin. Claude Code le raccourcit aux 12 premiers caractères15674. Le digest SHA-256, pour les [sources `archive`](/docs/fr/plugin-marketplaces#zip-archives) : le pin `sha256` dans l'entrée marketplace, ou le digest du fichier téléchargé lorsque vous ne définissez aucun pin. Claude Code le raccourcit aux 12 premiers caractères

15295. `unknown`, pour les sources `npm` ou les répertoires locaux ne se trouvant pas dans un dépôt git15685. `unknown`, pour les sources `npm` ou les répertoires locaux ne se trouvant pas dans un dépôt git. Claude Code ne prend pas la version à partir d'un référentiel qui enferme le chemin d'installation, comme un `~/.claude` géré par git

1530 1569 

1531Pour une [source `command`](/docs/fr/plugin-marketplaces#command-sources), Claude Code dérive toujours la version à partir de ce que la commande a produit : un hash de contenu de 12 caractères seul, ou ajouté à la version `plugin.json` sous la forme `<version>-<hash>` lorsqu'une version est définie. Claude Code ignore le champ `version` de l'entrée marketplace pour les sources command. Une commande dont la sortie hachée change produit donc une nouvelle version, même lorsque la chaîne de version créée reste la même. En [mode lien](/docs/fr/plugin-marketplaces#copy-mode-and-link-mode), le hash couvre le chemin réel du répertoire imprimé et ses entrées de niveau supérieur plutôt que le contenu des fichiers.1570Pour une [source `command`](/docs/fr/plugin-marketplaces#command-sources), Claude Code dérive toujours la version à partir de ce que la commande a produit : un hash de contenu de 12 caractères seul, ou ajouté à la version `plugin.json` sous la forme `<version>-<hash>` lorsqu'une version est définie. Claude Code ignore le champ `version` de l'entrée marketplace pour les sources command. Une commande dont la sortie hachée change produit donc une nouvelle version, même lorsque la chaîne de version créée reste la même. En [mode lien](/docs/fr/plugin-marketplaces#copy-mode-and-link-mode), le hash couvre le chemin réel du répertoire imprimé et ses entrées de niveau supérieur plutôt que le contenu des fichiers.

1532 1571 

1533Pour ces types de sources, cela vous donne trois façons de versionner un plugin :1572Pour ces types de sources, cela vous donne trois façons de versionner un plugin :

1534 1573 

1535| Approche | Comment | Comportement de mise à jour | Idéal pour |1574| Approche | Comment | Comportement de mise à jour | Idéal pour |

1536| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------- |1575| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------- |

1537| **Version explicite** | Définissez `"version": "2.1.0"` dans `plugin.json` | Les utilisateurs reçoivent les mises à jour uniquement lorsque vous augmentez ce champ. Pousser de nouveaux commits sans l'augmenter n'a aucun effet, et `/plugin update` signale « déjà à la dernière version ». | Plugins publiés avec des cycles de publication stables |1576| **Version explicite** | Définissez `"version": "2.1.0"` dans `plugin.json` | Les utilisateurs reçoivent les mises à jour uniquement lorsque vous augmentez ce champ. Pousser de nouveaux commits sans l'augmenter n'a aucun effet, et `/plugin update` signale « déjà à la dernière version ». Pour un plugin [chargé sur place](#plugin-caching-and-file-resolution), le nouveau contenu se charge de toute façon. | Plugins publiés avec des cycles de publication stables |

1538| **Version SHA du commit** | Omettez `version` à la fois de `plugin.json` et de l'entrée marketplace | Les utilisateurs reçoivent les mises à jour chaque fois que le commit résolu de la source change | Plugins internes ou d'équipe en développement actif |1577| **Version SHA du commit** | Omettez `version` à la fois de `plugin.json` et de l'entrée marketplace | Les utilisateurs reçoivent les mises à jour chaque fois que le commit résolu de la source change | Plugins internes ou d'équipe en développement actif |

1539| **Version du digest** | Utilisez une [source `archive`](/docs/fr/plugin-marketplaces#zip-archives) et omettez `version` à la fois de `plugin.json` et de l'entrée marketplace | Avec un pin `sha256`, les utilisateurs reçoivent les mises à jour lorsque vous modifiez le pin. Sans pin, les utilisateurs reçoivent les mises à jour chaque fois que les octets du fichier zip hébergé changent | Plugins publiés en tant que fichiers zip sur un serveur statique ou un référentiel d'artefacts |1578| **Version du digest** | Utilisez une [source `archive`](/docs/fr/plugin-marketplaces#zip-archives) et omettez `version` à la fois de `plugin.json` et de l'entrée marketplace | Avec un pin `sha256`, les utilisateurs reçoivent les mises à jour lorsque vous modifiez le pin. Sans pin, les utilisateurs reçoivent les mises à jour chaque fois que les octets du fichier zip hébergé changent | Plugins publiés en tant que fichiers zip sur un serveur statique ou un référentiel d'artefacts |

1540 1579 

Details

88 88 

89Chaque modèle a son propre cache. Basculer avec [`/model`](/docs/fr/model-config#setting-your-model) signifie que la prochaine requête lit l'intégralité de l'historique de conversation sans aucun cache hit, même si le contenu est identique.89Chaque modèle a son propre cache. Basculer avec [`/model`](/docs/fr/model-config#setting-your-model) signifie que la prochaine requête lit l'intégralité de l'historique de conversation sans aucun cache hit, même si le contenu est identique.

90 90 

91Lorsque vous exécutez `/model` au terminal, Claude Code vous demande de confirmer le changement uniquement tant que le cache est encore chaud. Le cache reste chaud pendant un [cache TTL](#cache-lifetime) après que Claude Code a envoyé une dernière requête dans cette conversation ou que Claude a répondu. Une fois ce délai écoulé, le cache a expiré, donc Claude Code bascule sans demander.91Lorsque vous exécutez `/model` au terminal, Claude Code vous demande de confirmer le changement uniquement tant que le cache est encore chaud et que le nouveau modèle n'est pas celui qui a produit la dernière réponse. Le cache reste chaud pendant un [cache TTL](#cache-lifetime) après que Claude Code a envoyé une dernière requête dans cette conversation ou que Claude a répondu. Une fois ce délai écoulé, le cache a expiré, donc Claude Code bascule sans demander.

92 92 

93Avant la v2.1.238, Claude Code ne vérifiait pas le cache TTL et demandait même après l'expiration du cache.93Avant la v2.1.238, Claude Code ne vérifiait pas le cache TTL et demandait même après l'expiration du cache.

94 94 


264 Modification du style de sortie264 Modification du style de sortie

265</h3>265</h3>

266 266 

267Lorsque vous changez [les styles de sortie](/docs/fr/output-styles) en cours de session avec `/config` ou le paramètre `outputStyle`, Claude utilise le nouveau style à partir de votre prochain message. Claude Code fournit les instructions du nouveau style sous forme de message dans la conversation, donc cette requête lit toujours l'invite système et la conversation antérieure à partir du cache.267Lorsque vous changez [les styles de sortie](/docs/fr/output-styles) en cours de session avec [`/output-style`](/docs/fr/output-styles#change-your-output-style), `/config`, ou le paramètre `outputStyle`, Claude utilise le nouveau style à partir de votre prochain message. Claude Code fournit les instructions du nouveau style sous forme de message dans la conversation, donc cette requête lit toujours l'invite système et la conversation antérieure à partir du cache.

268 268 

269Avant la v2.1.251, un changement de style en cours de session conservait le cache mais ne s'appliquait pas jusqu'à ce que vous exécutiez `/clear` ou démarriez une nouvelle session.269Avant la v2.1.251, un changement de style en cours de session conservait le cache mais ne s'appliquait pas jusqu'à ce que vous exécutiez `/clear` ou démarriez une nouvelle session.

270 270 


294 294 

295Lorsque vous [reprenez une session](/docs/fr/sessions#resume-a-session), Claude Code renvoie l'intégralité de la conversation, et la demande lit à partir du cache la partie de son préfixe qui n'a pas changé et qui se situe toujours dans la [durée de vie du cache](#cache-lifetime). Le tableau des couches en haut de cette page indique ce qui change à chaque couche.295Lorsque vous [reprenez une session](/docs/fr/sessions#resume-a-session), Claude Code renvoie l'intégralité de la conversation, et la demande lit à partir du cache la partie de son préfixe qui n'a pas changé et qui se situe toujours dans la [durée de vie du cache](#cache-lifetime). Le tableau des couches en haut de cette page indique ce qui change à chaque couche.

296 296 

297L'invite système changerait après une [mise à niveau de Claude Code](#upgrading-claude-code) ou avec un texte [`--append-system-prompt`](/docs/fr/cli-reference#system-prompt-flags) différent lors de la reprise. Par défaut, la conversation reprise conserve l'invite système avec laquelle elle a commencé, de sorte que son historique se situe toujours derrière la même invite, et la modification prend effet une fois que la conversation est compactée ou dans une nouvelle conversation. [Les indicateurs d'invite système dans les conversations reprises](/docs/fr/cli-reference#system-prompt-flags-in-resumed-conversations) couvre `--system-prompt-snapshot off` et le mode nu, où cela ne s'applique pas.297L'invite système changerait après une [mise à niveau de Claude Code](#upgrading-claude-code) ou avec un texte [`--append-system-prompt`](/docs/fr/cli-reference#system-prompt-flags) différent lors de la reprise. Par défaut, la conversation reprise conserve l'invite système avec laquelle elle a commencé, de sorte que son historique se situe toujours derrière la même invite, et la modification prend effet une fois que la conversation est compactée ou dans une nouvelle conversation. [Les indicateurs d'invite système dans les conversations reprises](/docs/fr/cli-reference#system-prompt-flags-in-resumed-conversations) couvre les cas où Claude Code reconstruit l'invite à chaque demande à la place.

298 298 

299<h2 id="cache-lifetime">299<h2 id="cache-lifetime">

300 Durée de vie du cache300 Durée de vie du cache

remote-control.md +45 −48

Details

46 46 

47<Tabs>47<Tabs>

48 <Tab title="Mode serveur">48 <Tab title="Mode serveur">

49 Accédez à votre répertoire de projet et exécutez :49 Dans votre répertoire de projet, exécutez :

50 50 

51 ```bash theme={null}51 ```bash theme={null}

52 claude remote-control52 claude remote-control


132 Vérifier l'état de la connexion132 Vérifier l'état de la connexion

133</h3>133</h3>

134 134 

135Dans une session de terminal interactive, un indicateur `/rc active` s'affiche tandis que la connexion est active, et est masqué si le terminal est trop étroit pour le contenir. Avec le [rendu en plein écran](/docs/fr/fullscreen), il se trouve à la fin de la ligne du répertoire de travail dans l'en-tête de démarrage, et sans lui, dans le pied de page sous la zone de saisie.135Dans une session interactive, tandis que Remote Control est connecté, le terminal affiche un indicateur `/rc active` qui renvoie à la session sur claude.ai. L'indicateur est masqué lorsque le terminal est trop étroit pour le contenir. Pour voir l'URL de la session et un code QR pour [vous connecter depuis un autre appareil](#connect-from-another-device), exécutez `/remote-control` à nouveau pour ouvrir le panneau d'état. Le panneau vous permet également de déconnecter Remote Control tandis que votre session locale continue de s'exécuter.

136 136 

137Le texte de l'indicateur est un lien vers la session sur claude.ai. Exécutez `/remote-control` à nouveau pour ouvrir un panneau d'état avec l'URL de la session et un code QR pour [vous connecter depuis un autre appareil](#connect-from-another-device). Lorsque l'indicateur se trouve dans le pied de page, vous pouvez également ouvrir le panneau en sélectionnant l'indicateur avec la flèche vers le bas et en appuyant sur Entrée. Le panneau offre également une option de déconnexion, qui désactive Remote Control tandis que votre session locale continue de s'exécuter dans le terminal.137<span id="session-ended-elsewhere" />Si la connexion échoue dans une session interactive, l'indicateur change pour afficher l'échec, et Claude Code affiche la raison dans une notification et l'ajoute à la conversation. Exécutez `/remote-control` pour vous reconnecter, sauf si la raison indique que la session a changé ailleurs :

138 138 

139Si la connexion échoue, Claude Code affiche une notification avec la raison de l'échec, ajoute une ligne d'avertissement avec la raison à la conversation, et bascule l'indicateur à un état d'échec qui reste en place. Pour vous reconnecter, exécutez `/remote-control`, sauf si la [raison indique que la session a été reprise ou s'est terminée ailleurs, ou que le serveur ne peut pas la trouver](#session-ended-elsewhere).139* **Une autre connexion a repris cette session** : un autre appareil ou une autre session Claude Code l'a maintenant. Exécutez `/remote-control` uniquement si vous souhaitez la reprendre.

140 140* **Cette session a été terminée ou archivée depuis un autre appareil ou une autre application** : exécutez `/remote-control` uniquement si vous la souhaitez. Claude Code rouvre une session archivée.

141<span id="session-ended-elsewhere" />Lisez la raison avant de vous reconnecter. Lorsque la session a été reprise ou s'est terminée depuis un autre appareil, une autre application ou une autre session Claude Code, ou que le serveur ne peut pas la trouver, la raison indique laquelle, et Claude Code omet ses conseils habituels pour exécuter `/remote-control` :141* **Le serveur ne signale plus cette session** : elle peut avoir été supprimée depuis un autre appareil ou une autre application.

142 

143* **Un autre appareil ou une autre session Claude Code a repris la session** : exécutez `/remote-control` uniquement si vous souhaitez la reprendre à cet appareil.

144* **Vous avez terminé ou archivé la session depuis un autre appareil ou une autre application** : exécutez `/remote-control` uniquement si vous la souhaitez ; Claude Code rouvre une session archivée.

145* **Le serveur ne peut pas trouver la session** : elle peut avoir été supprimée depuis un autre appareil ou une autre application.

146 142 

147<h3 id="session-url-reminders">143<h3 id="session-url-reminders">

148 Rappels d'URL de session144 Rappels d'URL de session


178 174 

179Lorsque vous renommez une session depuis claude.ai ou l'application Claude, Claude Code met également à jour le titre local affiché dans `claude --resume`. Claude Code applique le même renommage au nom de session affiché sur la barre de saisie, et dans la liste `claude agents` lorsque la session [s'exécute en arrière-plan](/docs/fr/agent-view). Avant v2.1.221, renommer depuis la liste des sessions sur claude.ai ou dans l'application Claude mettait à jour uniquement le titre, et la CLI conservait son nom de session précédent ; `/rename`, qui s'exécute dans la CLI elle-même, définissait le nom sur n'importe quelle version.175Lorsque vous renommez une session depuis claude.ai ou l'application Claude, Claude Code met également à jour le titre local affiché dans `claude --resume`. Claude Code applique le même renommage au nom de session affiché sur la barre de saisie, et dans la liste `claude agents` lorsque la session [s'exécute en arrière-plan](/docs/fr/agent-view). Avant v2.1.221, renommer depuis la liste des sessions sur claude.ai ou dans l'application Claude mettait à jour uniquement le titre, et la CLI conservait son nom de session précédent ; `/rename`, qui s'exécute dans la CLI elle-même, définissait le nom sur n'importe quelle version.

180 176 

181Si vous n'avez pas encore l'application Claude, utilisez la commande `/mobile` dans Claude Code pour afficher un code QR de téléchargement pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) ou [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude).177Si vous n'avez pas encore l'application Claude, exécutez `/mobile` dans Claude Code pour afficher un code QR pour [claude.ai/mobile](https://claude.ai/mobile), qui ouvre le bon app store pour votre téléphone.

182 178 

183<h3 id="what-connected-devices-see">179<h3 id="what-connected-devices-see">

184 Ce que les appareils connectés voient180 Ce que les appareils connectés voient


312 308 

313Pour un appareil perdu ou volé, le membre le supprime de cette page. Si le membre ne peut pas se connecter, un administrateur peut utiliser **Sign out everywhere** dans la console d'administration pour révoquer chaque session et appareil inscrit pour ce membre, après quoi le membre réinscrit les appareils qu'il possède toujours.309Pour un appareil perdu ou volé, le membre le supprime de cette page. Si le membre ne peut pas se connecter, un administrateur peut utiliser **Sign out everywhere** dans la console d'administration pour révoquer chaque session et appareil inscrit pour ce membre, après quoi le membre réinscrit les appareils qu'il possède toujours.

314 310 

315<h2 id="remote-control-vs-claude-code-on-the-web">311<h2 id="remote-control-vs-cloud-sessions">

316 Remote Control vs Claude Code sur le web312 Remote Control vs cloud sessions

317</h2>313</h2>

318 314 

319Remote Control et [Claude Code sur le web](/docs/fr/claude-code-on-the-web) utilisent tous deux l'interface claude.ai/code. La différence clé est l'endroit où la session s'exécute : Remote Control s'exécute sur votre machine, donc vos serveurs MCP locaux, outils et configuration de projet restent disponibles. Claude Code sur le web s'exécute dans le cloud.315Remote Control et [cloud sessions](/docs/fr/claude-code-on-the-web) utilisent tous deux l'interface claude.ai/code. La différence clé est l'endroit où la session s'exécute : Remote Control s'exécute sur votre machine, donc vos serveurs MCP locaux, outils et configuration de projet restent disponibles. Une cloud session s'exécute sur l'infrastructure cloud, gérée par défaut par Anthropic.

320 316 

321Utilisez Remote Control lorsque vous êtes au milieu d'un travail local et que vous souhaitez continuer depuis un autre appareil. Utilisez Claude Code sur le web lorsque vous souhaitez lancer une tâche sans aucune configuration locale, travailler sur un référentiel que vous n'avez pas cloné, ou exécuter plusieurs tâches en parallèle.317Utilisez Remote Control lorsque vous êtes au milieu d'un travail local et que vous souhaitez continuer depuis un autre appareil. Utilisez une cloud session lorsque vous souhaitez lancer une tâche sans aucune configuration locale, travailler sur un référentiel que vous n'avez pas cloné, ou exécuter plusieurs tâches en parallèle.

322 318 

323<h2 id="mobile-push-notifications">319<h2 id="mobile-push-notifications">

324 Notifications push mobiles320 Notifications push mobiles


374 * Commandes de sortie textuelle : `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap`, et `/reload-plugins`. `/usage-credits` affiche l'URL de facturation au lieu d'ouvrir un navigateur. `/reload-plugins` fonctionne uniquement lorsque la session s'exécute dans un terminal interactif ; une session sans celui-ci le refuse.370 * Commandes de sortie textuelle : `/compact`, `/clear`, `/context`, `/usage`, `/exit`, `/usage-credits`, `/recap`, et `/reload-plugins`. `/usage-credits` affiche l'URL de facturation au lieu d'ouvrir un navigateur. `/reload-plugins` fonctionne uniquement lorsque la session s'exécute dans un terminal interactif ; une session sans celui-ci le refuse.

375 * `/model`, `/effort`, `/fast`, `/color`, et `/rename` : transmettez la valeur en tant qu'argument, par exemple `/model sonnet` ou `/effort high`. À partir du mobile et du web, `/model` et `/effort` prennent l'argument à la place du sélecteur du terminal ou du curseur.371 * `/model`, `/effort`, `/fast`, `/color`, et `/rename` : transmettez la valeur en tant qu'argument, par exemple `/model sonnet` ou `/effort high`. À partir du mobile et du web, `/model` et `/effort` prennent l'argument à la place du sélecteur du terminal ou du curseur.

376 * `/mcp` : à partir de l'application mobile, retourne un résumé textuel de l'état du serveur au lieu d'ouvrir le sélecteur. Sur le web, `/mcp` seul ouvre un répertoire des [connecteurs claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) au lieu de retourner le résumé. Les sous-commandes `reconnect`, `enable`, et `disable` [](/docs/fr/commands#all-commands) fonctionnent à partir des deux. Contrairement à la CLI locale, `/mcp reconnect` sans nom de serveur reconnecte tous les serveurs qui ont échoué ou nécessitent une authentification.372 * `/mcp` : à partir de l'application mobile, retourne un résumé textuel de l'état du serveur au lieu d'ouvrir le sélecteur. Sur le web, `/mcp` seul ouvre un répertoire des [connecteurs claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) au lieu de retourner le résumé. Les sous-commandes `reconnect`, `enable`, et `disable` [](/docs/fr/commands#all-commands) fonctionnent à partir des deux. Contrairement à la CLI locale, `/mcp reconnect` sans nom de serveur reconnecte tous les serveurs qui ont échoué ou nécessitent une authentification.

377 * `/config`, à partir de la v2.1.181 : à partir de l'application mobile, transmettez `key=value` pour définir un paramètre, ou exécutez-le sans argument pour lister les clés que vous pouvez définir. Sur le web, `/config` ouvre la section Claude Code de vos paramètres à la place, et ignore le texte après la commande.373 * `/config` : à partir de l'application mobile, transmettez `key=value` pour définir un paramètre, ou exécutez-le sans argument pour lister les clés que vous pouvez définir. Sur le web, `/config` ouvre la section Claude Code de vos paramètres à la place, et ignore le texte après la commande.

378 * Sur Team et Enterprise, `/usage-credits` à partir du mobile ou du web n'envoie pas une [demande usage-credits à votre administrateur](/docs/fr/costs#add-usage-credits-to-your-subscription). L'envoi nécessite une confirmation qui n'apparaît que dans la CLI interactive, donc la commande vous dit de l'exécuter là à la place. Avant la v2.1.211, le formulaire textuel envoyait la demande sans confirmation.374 * Sur Team et Enterprise, `/usage-credits` à partir du mobile ou du web n'envoie pas une [demande usage-credits à votre administrateur](/docs/fr/costs#add-usage-credits-to-your-subscription). L'envoi nécessite une confirmation qui n'apparaît que dans la CLI interactive, donc la commande vous dit de l'exécuter là à la place. Avant la v2.1.211, le formulaire textuel envoyait la demande sans confirmation.

379 * `/autocompact`, à partir de la v2.1.221 : transmettez la taille de la fenêtre en tant qu'argument, par exemple `/autocompact 500k`. Sans argument, il affiche la taille de fenêtre actuelle sous forme de texte au lieu d'ouvrir le dialogue que la commande affiche dans une session de terminal.375 * `/autocompact`, à partir de la v2.1.221 : transmettez la taille de la fenêtre en tant qu'argument, par exemple `/autocompact 500k`. Sans argument, il affiche la taille de fenêtre actuelle sous forme de texte au lieu d'ouvrir le dialogue que la commande affiche dans une session de terminal.

380 * `/advisor`, à partir de la v2.1.260 : transmettez le modèle en tant qu'argument, par exemple `/advisor opus`, ou transmettez `off` pour désactiver le conseiller. Les deux formes s'appliquent à la session actuelle uniquement et laissent votre valeur par défaut enregistrée inchangée. Sans argument, il affiche le conseiller actuel sous forme de texte au lieu d'ouvrir le sélecteur.376 * `/advisor`, à partir de la v2.1.260 : transmettez le modèle en tant qu'argument, par exemple `/advisor opus`, ou transmettez `off` pour désactiver le conseiller. Les deux formes s'appliquent à la session actuelle uniquement et laissent votre valeur par défaut enregistrée inchangée. Sans argument, il affiche le conseiller actuel sous forme de texte au lieu d'ouvrir le sélecteur.

377 * `/output-style`, à partir de la v2.1.269 : transmettez le nom du style en tant qu'argument, par exemple `/output-style concise`, ou exécutez-le sans argument pour lister les styles. À partir du mobile et du web, vous pouvez lister et sélectionner uniquement les [styles intégrés](/docs/fr/output-styles#built-in-output-styles). Pour utiliser un [style personnalisé](/docs/fr/output-styles#create-a-custom-output-style), sélectionnez-le dans la session elle-même.

381 378 

382<h2 id="troubleshooting">379<h2 id="troubleshooting">

383 Dépannage380 Dépannage


387 « Remote Control requires a claude.ai subscription »384 « Remote Control requires a claude.ai subscription »

388</h3>385</h3>

389 386 

390Vous n'êtes pas authentifié avec un compte claude.ai, ou une autre accréditation prend le pas sur votre connexion. Le message prend l'une de ces formes :387Vous n'êtes pas connecté avec un compte claude.ai, ou une autre credential prend la priorité sur votre connexion. Le message prend l'une de ces formes :

391 388 

392* Déconnecté, depuis `/remote-control` ou `--remote-control` : `Remote Control requires a claude.ai subscription.`389* Déconnecté, depuis `/remote-control` ou `--remote-control` : « Remote Control requires a claude.ai subscription. » ou « /remote-control requires a claude.ai subscription. »

393* Déconnecté, depuis `claude remote-control` : `You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions.`390* Déconnecté, depuis `claude remote-control` : « You must be logged in to use Remote Control. Remote Control is only available with claude.ai subscriptions. »

394* Connecté, mais une clé API ou un jeton est en cours d'utilisation : `Remote Control requires claude.ai subscription auth.` suivi de l'accréditation en cours d'utilisation, comme `ANTHROPIC_API_KEY is set, so this session is using API-key auth`. Un paramètre `apiKeyHelper` et `ANTHROPIC_AUTH_TOKEN` sont nommés de la même manière.391* Connecté, mais une clé API ou un token est en cours d'utilisation : « Remote Control requires claude.ai subscription auth. » suivi de la credential en cours d'utilisation, comme « ANTHROPIC\_API\_KEY is set, so this session is using API-key auth ». Un paramètre `apiKeyHelper` et `ANTHROPIC_AUTH_TOKEN` sont nommés de la même manière.

395 392 

396Exécutez `claude auth login` et choisissez l'option claude.ai. Si le message nomme `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN`, supprimez-le partout où il est défini : votre environnement shell ou le bloc `env` d'un [fichier de paramètres](/docs/fr/settings-reference#env). S'il nomme `apiKeyHelper`, supprimez ce paramètre.393Exécutez `claude auth login` et choisissez l'option claude.ai. Si le message nomme `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN`, supprimez-le partout où il est défini : votre environnement shell ou le bloc `env` d'un [fichier de paramètres](/docs/fr/settings-reference#env). S'il nomme `apiKeyHelper`, supprimez ce paramètre.

397 394 

398Avant la v2.1.206, l'exécution de `/remote-control` alors que vous étiez déconnecté signalait `Unknown command: /remote-control` au lieu de ce message.395Avant la v2.1.206, l'exécution de `/remote-control` alors que vous étiez déconnecté signalait « Unknown command: /remote-control » au lieu de ce message.

399 396 

400<h3 id="remote-control-requires-a-full-scope-login-token">397<h3 id="remote-control-requires-a-full-scope-login-token">

401 « Remote Control requires a full-scope login token »398 « Remote Control requires a full-scope login token »

402</h3>399</h3>

403 400 

404Vous êtes authentifié avec un jeton de longue durée de `claude setup-token` ou la variable d'environnement `CLAUDE_CODE_OAUTH_TOKEN`. Ces jetons ne peuvent effectuer que des demandes de modèle, ils ne peuvent donc pas établir de sessions Remote Control. Exécutez `claude auth login` pour vous authentifier avec un jeton de session à portée complète à la place.401Vous êtes authentifié avec un token de longue durée depuis `claude setup-token` ou la variable d'environnement `CLAUDE_CODE_OAUTH_TOKEN`. Ces tokens ne peuvent faire que des demandes de modèle, ils ne peuvent donc pas établir de sessions Remote Control. Exécutez `claude auth login` pour vous authentifier avec un token de session à portée complète à la place.

405 402 

406<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">403<h3 id="unable-to-determine-your-organization-for-remote-control-eligibility">

407 « Unable to determine your organization for Remote Control eligibility »404 « Unable to determine your organization for Remote Control eligibility »


413 « Remote Control isn't enabled for this account »410 « Remote Control isn't enabled for this account »

414</h3>411</h3>

415 412 

416Claude Code a vérifié la disponibilité de Remote Control pour le compte avec lequel vous êtes connecté et la vérification a échoué. La cause habituelle est des droits en cache qui sont obsolètes après un changement de plan. Exécutez `claude auth logout` puis `claude auth login` pour les actualiser, et mettez à jour Claude Code si vous utilisez une ancienne version.413Claude Code a vérifié la disponibilité de Remote Control pour le compte auquel vous êtes connecté et la vérification a indiqué que c'était désactivé. La cause habituelle est des droits en cache qui sont obsolètes après un changement de plan. Exécutez `claude auth logout` puis `claude auth login` pour les actualiser, et mettez à jour Claude Code si vous utilisez une ancienne version.

417 414 

418Exécutez `claude doctor` pour voir quel contrôle d'admissibilité individuel a échoué. Les conflits de variables d'environnement, les vérifications inaccessibles et le paramètre Remote Control de votre organisation produisent chacun leur propre message, donc cette erreur signifie que la vérification au niveau du compte elle-même.415Exécutez `claude doctor` pour voir quelle vérification d'éligibilité individuelle a échoué. Les conflits de variables d'environnement, les vérifications inaccessibles et le paramètre Remote Control de votre organisation produisent chacun leur propre message, donc cette erreur signifie que la vérification au niveau du compte elle-même.

419 416 

420Avant la v2.1.239, ce message disait « Remote Control is not yet enabled for your account ». Avant la v2.1.154, une variable qui désactive l'évaluation des drapeaux de fonctionnalité, comme `DISABLE_TELEMETRY` ou `DO_NOT_TRACK`, produisait également ce message ; l'entrée « Remote Control requires feature-flag evaluation » ci-dessous couvre cette configuration.417Avant la v2.1.239, ce message disait « Remote Control is not yet enabled for your account ». Avant la v2.1.154, une variable qui désactive l'évaluation des feature flags, comme `DISABLE_TELEMETRY` ou `DO_NOT_TRACK`, produisait également ce message ; l'entrée « Remote Control requires feature-flag evaluation » ci-dessous couvre cette configuration.

421 418 

422<h3 id="couldn’t-verify-remote-control-eligibility">419<h3 id="couldn’t-verify-remote-control-eligibility">

423 « Couldn't verify Remote Control eligibility »420 « Couldn't verify Remote Control eligibility »

424</h3>421</h3>

425 422 

426Claude Code n'a pas pu atteindre le service de drapeau de fonctionnalité pour vérifier si Remote Control est activé pour votre compte, généralement parce que vous êtes hors ligne ou qu'un proxy bloque la requête. Réessayez une fois que vous avez accès au réseau, ou exécutez `claude doctor` pour plus de détails. Le message associé « Couldn't verify your organization's Remote Control policy » a la même cause et le même correctif. Les deux messages ont été ajoutés dans la v2.1.178.423Claude Code n'a pas pu atteindre le service de feature flags pour vérifier si Remote Control est activé pour votre compte, généralement parce que vous êtes hors ligne ou qu'un proxy bloque la demande. Réessayez une fois que vous avez accès au réseau, ou exécutez `claude doctor` pour plus de détails. Le message connexe « Couldn't verify your organization's Remote Control policy » signifie que Claude Code n'a pas pu lire cette politique, et a la même solution. Les deux messages ont été ajoutés dans la v2.1.178.

427 424 

428<h3 id="remote-control-requires-feature-flag-evaluation">425<h3 id="remote-control-requires-feature-flag-evaluation">

429 « Remote Control requires feature-flag evaluation »426 « Remote Control requires feature-flag evaluation »

430</h3>427</h3>

431 428 

432L'une de ces variables est définie : [`DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, ou `DISABLE_GROWTHBOOK`](/docs/fr/env-vars). Chacune d'elles désactive l'évaluation des drapeaux de fonctionnalité dont dépend la disponibilité de Remote Control, et le message complet nomme la variable que Claude Code a trouvée. Désactivez cette variable partout où elle est définie, dans votre environnement shell ou dans le bloc `env` d'un [fichier `settings.json`](/docs/fr/settings-reference#all-settings). Sur les versions antérieures à 2.1.154, la même configuration produit « Remote Control is not yet enabled for your account » à la place.429L'une de ces variables est définie : [`DISABLE_TELEMETRY`, `DO_NOT_TRACK`, `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`, ou `DISABLE_GROWTHBOOK`](/docs/fr/env-vars). Chacune d'elles désactive l'évaluation des feature flags dont dépend la disponibilité de Remote Control, et le message complet nomme la variable que Claude Code a trouvée. Annulez la définition de cette variable partout où elle est définie, dans votre environnement shell ou dans le bloc `env` d'un [fichier `settings.json`](/docs/fr/settings-reference#all-settings). Sur les versions antérieures à 2.1.154, la même configuration produit « Remote Control is not yet enabled for your account » à la place.

433 430 

434<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">431<h3 id="remote-control-is-only-available-when-using-claude-via-api-anthropic-com">

435 « Remote Control is only available when using Claude via api.anthropic.com »432 « Remote Control is only available when using Claude via api.anthropic.com »


437 434 

438La session ne communique pas directement avec l'API Anthropic, il n'y a donc pas de backend claude.ai pour l'associer. Cela se produit sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry. Cela se produit également lorsque [`ANTHROPIC_BASE_URL`](/docs/fr/env-vars) pointe vers un hôte autre que `api.anthropic.com`, comme une [passerelle LLM](/docs/fr/llm-gateway) ou un proxy, même si vous vous connectez avec claude.ai. Avant la v2.1.196, Claude Code n'affichait pas ce message pour un `ANTHROPIC_BASE_URL` personnalisé. Consultez la [référence des erreurs](/docs/fr/errors#remote-control-requires-the-anthropic-api) pour la liste complète des causes.435La session ne communique pas directement avec l'API Anthropic, il n'y a donc pas de backend claude.ai pour l'associer. Cela se produit sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry. Cela se produit également lorsque [`ANTHROPIC_BASE_URL`](/docs/fr/env-vars) pointe vers un hôte autre que `api.anthropic.com`, comme une [passerelle LLM](/docs/fr/llm-gateway) ou un proxy, même si vous vous connectez avec claude.ai. Avant la v2.1.196, Claude Code n'affichait pas ce message pour un `ANTHROPIC_BASE_URL` personnalisé. Consultez la [référence des erreurs](/docs/fr/errors#remote-control-requires-the-anthropic-api) pour la liste complète des causes.

439 436 

440Le message nomme ce qui a acheminé la session loin de l'API Anthropic, comme `CLAUDE_CODE_USE_BEDROCK` ou un `ANTHROPIC_BASE_URL` personnalisé. Si vous avez une connexion claude.ai éligible, désactivez la variable nommée, supprimez-la de la clé `env` dans [les paramètres](/docs/fr/settings) si vous l'avez définie là, et redémarrez la session. Avant la v2.1.219, le message était uniquement la phrase dans l'en-tête de cette section, donc sur les versions plus anciennes, vérifiez vous-même votre environnement pour les variables de fournisseur telles que `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_VERTEX`, et pour `ANTHROPIC_BASE_URL`.437Le message nomme ce qui a routé la session loin de l'API Anthropic, comme `CLAUDE_CODE_USE_BEDROCK` ou un `ANTHROPIC_BASE_URL` personnalisé. Si vous avez une connexion claude.ai éligible, annulez la définition de la variable nommée, supprimez-la de la clé `env` dans [les paramètres](/docs/fr/settings) si vous l'avez définie là, et redémarrez la session. Avant la v2.1.219, le message était seulement la phrase dans l'en-tête de cette section, donc sur les versions plus anciennes, vérifiez vous-même votre environnement pour les variables de fournisseur comme `CLAUDE_CODE_USE_BEDROCK` et `CLAUDE_CODE_USE_VERTEX`, et pour `ANTHROPIC_BASE_URL`.

441 438 

442<h3 id="remote-control-is-disabled-by-your-organization’s-policy">439<h3 id="remote-control-is-disabled-by-your-organization’s-policy">

443 « Remote Control is disabled by your organization's policy »440 « Remote Control is disabled by your organization's policy »

444</h3>441</h3>

445 442 

446Une politique bloque Remote Control, ou Claude Code n'a pas pu charger la politique de votre organisation sur cette machine et maintient Remote Control désactivé en attendant. Vérifiez ces causes dans l'ordre :443Une politique bloque Remote Control, ou Claude Code n'a pas pu charger la politique de votre organisation sur cette machine et garde Remote Control désactivé en attendant. Vérifiez ces causes dans l'ordre :

447 444 

448* **L'erreur mentionne `disableRemoteControl`** : votre administrateur informatique a désactivé Remote Control sur cet appareil via les [paramètres gérés](/docs/fr/managed-settings), indépendamment du bouton à l'échelle de l'organisation et de la façon dont vous êtes connecté.445* **L'erreur mentionne `disableRemoteControl`** : votre administrateur informatique a désactivé Remote Control sur cet appareil via les [paramètres gérés](/docs/fr/managed-settings), indépendamment du bouton bascule à l'échelle de l'organisation et de la façon dont vous êtes connecté.

449* **Votre plan claude.ai est Pro ou Max** : Claude Code est toujours connecté sous une organisation Team ou Enterprise d'une connexion antérieure, il vérifie donc la politique Remote Control de cette organisation. Exécutez `/status` pour voir quel plan et quelle organisation votre connexion utilise. Exécutez `claude auth logout` puis `claude auth login` pour vous reconnecter sous votre plan actuel.446* **Votre plan claude.ai est Pro ou Max** : Claude Code est toujours connecté sous une organisation Team ou Enterprise d'une connexion antérieure, il vérifie donc la politique Remote Control de cette organisation. Exécutez `/status` pour voir quel plan et quelle organisation votre connexion utilise. Exécutez `claude auth logout` puis `claude auth login` pour vous reconnecter sous votre plan actuel.

450* **La politique organisationnelle n'a pas été chargée sur cette machine** : exécutez `claude doctor` et lisez la ligne `Organization policy`. Si la ligne montre que la politique n'est pas chargée, c'est ce qui maintient Remote Control désactivé. Avant la v2.1.261, `claude doctor` n'affichait pas cette ligne.447* **La politique de l'organisation n'a pas été chargée sur cette machine** : exécutez `claude doctor` et lisez la ligne `Organization policy`. Si la ligne montre que la politique n'est pas chargée, c'est ce qui garde Remote Control désactivé. Avant la v2.1.261, `claude doctor` n'imprimait pas cette ligne.

451* **Le message ne dit pas de contacter votre administrateur d'organisation** : votre organisation a une configuration HIPAA qui est incompatible avec Remote Control, et `/status` liste `HIPAA` dans sa ligne `Compliance`. Dans cet état, le bouton Remote Control du panneau d'administration est grisé, donc un propriétaire ne peut pas le modifier là. Contactez le support Anthropic pour discuter des options. Avant la v2.1.267, ce cas affichait « Remote Control isn't available for your organization due to its compliance policy » à la place.448* **Le message ne dit pas de contacter votre administrateur d'organisation** : votre organisation a une configuration HIPAA qui est incompatible avec Remote Control, et `/status` liste `HIPAA` dans sa ligne `Compliance`. Dans cet état, le bouton bascule Remote Control du panneau d'administration est grisé, donc un Owner ne peut pas le modifier là. Contactez le support Anthropic pour discuter des options. Avant la v2.1.267, ce cas affichait « Remote Control isn't available for your organization due to its compliance policy » à la place.

452* **Sinon, un propriétaire ne l'a pas activé pour votre organisation** : Remote Control est désactivé par défaut sur les plans Team et Enterprise. Un propriétaire peut l'activer sur [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) en activant le bouton **Remote Control**. Ce bouton est un paramètre d'organisation côté serveur.449* **Sinon, un Owner ne l'a pas activé pour votre organisation** : Remote Control est désactivé par défaut sur les plans Team et Enterprise. Un Owner peut l'activer sur [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) en activant le bouton bascule **Remote Control**. Ce bouton bascule est un paramètre d'organisation côté serveur.

453 450 

454<h3 id="remote-credentials-fetch-failed">451<h3 id="remote-credentials-fetch-failed">

455 « Remote credentials fetch failed »452 « Remote credentials fetch failed »

456</h3>453</h3>

457 454 

458Claude Code n'a pas pu obtenir une accréditation de courte durée auprès de l'API Anthropic pour établir la connexion. Réexécutez avec `--verbose` pour voir l'erreur complète :455Claude Code n'a pas pu obtenir une credential de courte durée de l'API Anthropic pour établir la connexion. Réexécutez avec `--verbose` pour voir l'erreur complète :

459 456 

460```bash theme={null}457```bash theme={null}

461claude remote-control --verbose458claude remote-control --verbose


464Causes courantes :461Causes courantes :

465 462 

466* Non connecté : exécutez `claude` et utilisez `/login` pour vous authentifier avec votre compte claude.ai. L'authentification par clé API n'est pas prise en charge pour Remote Control.463* Non connecté : exécutez `claude` et utilisez `/login` pour vous authentifier avec votre compte claude.ai. L'authentification par clé API n'est pas prise en charge pour Remote Control.

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

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

469 466 

470Un jeton de connexion obsolète ne cause pas cette erreur. Lorsque l'API Anthropic rejette le jeton enregistré, par exemple parce qu'un autre processus Claude Code l'a déjà actualisé, Claude Code actualise le jeton et réessaie de lui-même. Avant la v2.1.224, un jeton obsolète échouait au démarrage de Remote Control avec ce message, donc les sessions définies pour [se connecter automatiquement](#enable-remote-control-for-all-sessions) pouvaient échouer par intermittence au lancement.467Un token de connexion obsolète ne cause pas cette erreur. Lorsque l'API Anthropic rejette le token enregistré, par exemple parce qu'un autre processus Claude Code l'a déjà actualisé, Claude Code actualise le token et réessaie de lui-même. Avant la v2.1.224, un token obsolète échouait au démarrage de Remote Control avec ce message, donc les sessions définies pour [se connecter automatiquement](#enable-remote-control-for-all-sessions) pouvaient échouer par intermittence au lancement.

471 468 

472<h3 id="couldn’t-reconnect-to-your-remote-control-session">469<h3 id="couldn’t-reconnect-to-your-remote-control-session">

473 « Couldn't reconnect to your Remote Control session »470 « Couldn't reconnect to your Remote Control session »


479 476 

480<span id="resume-outcomes" />Lorsque vous reprenez, vous pouvez également obtenir l'un de ces résultats au lieu de ce message :477<span id="resume-outcomes" />Lorsque vous reprenez, vous pouvez également obtenir l'un de ces résultats au lieu de ce message :

481 478 

482* **Le serveur signale que la session enregistrée a disparu, ou l'enregistrement de reconnexion nomme un compte différent** : Claude Code se fie à ce que dit l'enregistrement de reconnexion de la conversation :479* **Le serveur signale que la session enregistrée a disparu, ou l'enregistrement de reconnexion nomme un compte différent** : Claude Code se fie à ce que l'enregistrement de reconnexion de la conversation dit :

483 * **L'enregistrement nomme votre compte connecté** : Claude Code démarre une session de remplacement avec un nom généré automatiquement et laisse les messages antérieurs de la conversation en dehors. Vous obtenez ceci après avoir supprimé la session de claude.ai ou de l'application Claude, par exemple.480 * **L'enregistrement nomme votre compte connecté** : Claude Code démarre une session de remplacement avec un nom généré automatiquement et laisse les messages antérieurs de la conversation en dehors. Vous obtenez cela après avoir supprimé la session de claude.ai ou de l'application Claude, par exemple.

484 * **L'enregistrement nomme un compte différent** : Claude Code démarre une nouvelle session sans les messages antérieurs de la conversation et sans afficher de message, que la session enregistrée existe toujours ou non.481 * **L'enregistrement nomme un compte différent** : Claude Code démarre une nouvelle session sans les messages antérieurs de la conversation et sans afficher de message, que la session enregistrée existe toujours ou non.

485 * **L'enregistrement ne dit pas quel compte possédait la session, ou Claude Code ne peut pas lire votre connexion enregistrée** : Claude Code affiche [`Previous session is unavailable — run /remote-control to start a new one`](#previous-session-is-unavailable) au lieu de ce message, ne démarre rien, et supprime l'enregistrement de la conversation.482 * **L'enregistrement ne dit pas quel compte possédait la session, ou Claude Code ne peut pas lire votre connexion enregistrée** : Claude Code affiche [`Previous session is unavailable — run /remote-control to start a new one`](#previous-session-is-unavailable) au lieu de ce message, ne démarre rien, et supprime l'enregistrement de la conversation.

486* **Vous avez désactivé Remote Control avant de reprendre** : sauf si l'application hébergeant Claude Code lui avait dit que l'application possédait la session claude.ai, Claude Code a supprimé l'enregistrement de reconnexion lorsque vous avez désactivé Remote Control à partir du panneau de statut du CLI [status panel](#check-connection-status), de l'extension VS Code, ou d'un hôte construit sur le [Agent SDK](/docs/fr/agent-sdk/overview), donc il ne se reconnecte pas. Lorsqu'une application propriétaire l'a désactivé, Claude Code a conservé l'enregistrement et se reconnecte.483* **Vous avez désactivé Remote Control avant de reprendre** : sauf si l'application hébergeant Claude Code lui avait dit que l'application possédait la session claude.ai, Claude Code a supprimé l'enregistrement de reconnexion lorsque vous avez désactivé Remote Control depuis le [panneau de statut](#check-connection-status) de la CLI, l'extension VS Code, ou un hôte construit sur le [SDK Agent](/docs/fr/agent-sdk/overview), donc il ne se reconnecte pas. Lorsqu'une application propriétaire l'a désactivé, Claude Code a conservé l'enregistrement et se reconnecte.

487* **Un autre Claude Code sur cette machine possède toujours la session** : vous voyez un avis qui commence par `Remote Control not started here`, et Claude Code [laisse Remote Control désactivé dans la session reprise](#resume-sessions-after-stopping-the-server). Exécutez `/remote-control` là pour le déplacer.484* **Un autre Claude Code sur cette machine possède toujours la session** : vous voyez un avis qui commence par « Remote Control not started here », et Claude Code [laisse Remote Control désactivé dans la session reprise](#resume-sessions-after-stopping-the-server). Exécutez `/remote-control` là pour le déplacer.

488 485 

489<span id="reconnect-history" />Avant la v2.1.232, Claude Code réagissait différemment lorsque le serveur signalait que la session enregistrée avait disparu. De la v2.1.227 à la v2.1.231, Claude Code refusait de démarrer un remplacement même lorsque l'enregistrement correspondait à votre compte. Jusqu'à la v2.1.226, Claude Code démarrait un remplacement que l'enregistrement corresponde ou non à votre compte, et dans la v2.1.224 à v2.1.226 le créait sous le compte connecté sur cette machine, jamais un autre compte, sans télécharger les messages antérieurs de la conversation vers celui-ci. Avant la v2.1.200, Claude Code créait une nouvelle session après tout échec de reconnexion.486<span id="reconnect-history" />Avant la v2.1.232, Claude Code répondait différemment lorsque le serveur signalait que la session enregistrée avait disparu. De la v2.1.227 à la v2.1.231, Claude Code refusait de démarrer un remplacement même lorsque l'enregistrement correspondait à votre compte. Jusqu'à la v2.1.226, Claude Code démarrait un remplacement que l'enregistrement corresponde ou non à votre compte, et dans la v2.1.224 à la v2.1.226 le créait sous le compte connecté sur cette machine, jamais un autre compte, sans télécharger les messages antérieurs de la conversation vers celui-ci. Avant la v2.1.200, Claude Code créait une nouvelle session après tout échec de reconnexion.

490 487 

491<h3 id="previous-session-is-unavailable">488<h3 id="previous-session-is-unavailable">

492 « Previous session is unavailable — run /remote-control to start a new one »489 « Previous session is unavailable — run /remote-control to start a new one »


494 491 

495Claude Code n'a pas pu ramener la session Remote Control précédente et s'est arrêté au lieu de démarrer une nouvelle de lui-même. Vous pouvez voir ce message après avoir repris une conversation avec `claude --resume` ou `claude --continue`, ou après que Claude Code [se reconnecte de lui-même suite à une déconnexion](/docs/fr/errors#remote-control-couldnt-refresh-your-login).492Claude Code n'a pas pu ramener la session Remote Control précédente et s'est arrêté au lieu de démarrer une nouvelle de lui-même. Vous pouvez voir ce message après avoir repris une conversation avec `claude --resume` ou `claude --continue`, ou après que Claude Code [se reconnecte de lui-même suite à une déconnexion](/docs/fr/errors#remote-control-couldnt-refresh-your-login).

496 493 

497Exécutez `/remote-control` pour démarrer une nouvelle session Remote Control sous la connexion actuelle ; votre session locale continue de s'exécuter sans Remote Control en attendant. Le message associé `Remote Control could not verify the signed-in account — run /remote-control to reconnect` a le même correctif ; Claude Code l'affiche lorsque le compte connecté a changé ou n'a pas pu être lu entre sa validation et la reconnexion. Si vous exécutez `/remote-control` après `Previous session is unavailable` sans redémarrer Claude Code d'abord, Claude Code laisse les messages antérieurs de la conversation en dehors de la nouvelle session.494Exécutez `/remote-control` pour démarrer une nouvelle session Remote Control sous la connexion actuelle ; votre session locale continue de s'exécuter sans Remote Control en attendant. Le message connexe « Remote Control could not verify the signed-in account — run /remote-control to reconnect » a la même solution ; Claude Code l'affiche lorsque le compte connecté a changé ou n'a pas pu être lu entre sa validation et la reconnexion. Si vous exécutez `/remote-control` après « Previous session is unavailable » sans redémarrer Claude Code d'abord, Claude Code laisse les messages antérieurs de la conversation en dehors de la nouvelle session.

498 495 

499À la reprise, Claude Code [démarre une nouvelle session à sa place](#resume-outcomes) uniquement si l'enregistrement de reconnexion de la conversation nomme le compte qui possédait la session, car le serveur signale une session que vous avez supprimée et une session possédée par un autre compte de la même manière. Claude Code avant la v2.1.227 n'a pas enregistré ce compte, et Claude Code ne peut pas vérifier l'enregistrement lorsqu'il ne peut pas lire votre connexion enregistrée. Claude Code avant la v2.1.232 affichait `Remote Control could not resume the previous session under the current login — run /remote-control to start fresh` à la place, dans [un ensemble différent de cas](#reconnect-history).496À la reprise, Claude Code [démarre une nouvelle session à sa place](#resume-outcomes) seulement si l'enregistrement de reconnexion de la conversation nomme le compte qui possédait la session, parce que le serveur signale une session que vous avez supprimée et une session possédée par un autre compte de la même manière. Claude Code avant la v2.1.227 n'a pas enregistré ce compte, et Claude Code ne peut pas vérifier l'enregistrement lorsqu'il ne peut pas lire votre connexion enregistrée. Claude Code avant la v2.1.232 affichait « Remote Control could not resume the previous session under the current login — run /remote-control to start fresh » à la place, dans [un ensemble différent de cas](#reconnect-history).

500 497 

501<h3 id="remote-control-got-an-unexpected-server-response">498<h3 id="remote-control-got-an-unexpected-server-response">

502 « Remote Control got an unexpected server response »499 « Remote Control got an unexpected server response »

503</h3>500</h3>

504 501 

505Le serveur Remote Control a accepté une requête mais a répondu d'une manière que cette version de Claude Code ne pouvait pas lire, lors de la création de la session distante ou de la récupération de ses accréditations. Réessayer sur la même version échoue de la même manière. Exécutez `claude update`, puis exécutez `/remote-control` pour vous reconnecter. Ce message a été ajouté dans la v2.1.225.502Le serveur Remote Control a accepté une demande mais a répondu d'une forme que cette version de Claude Code ne pouvait pas lire, lors de la création de la session distante ou de la récupération de ses credentials. Réessayer sur la même version échoue de la même manière. Exécutez `claude update`, puis exécutez `/remote-control` pour vous reconnecter. Ce message a été ajouté dans la v2.1.225.

506 503 

507<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">504<h3 id="your-organization-requires-trusted-devices-for-remote-control-but-this-device-is-not-enrolled">

508 « Your organization requires Trusted Devices for Remote Control, but this device is not enrolled »505 « Your organization requires Trusted Devices for Remote Control, but this device is not enrolled »


514 « session expired for trusted-device check »511 « session expired for trusted-device check »

515</h3>512</h3>

516 513 

517Votre connexion a plus de 18 heures. Exécutez `/login` dans Claude Code, ou confirmez avec Face ID, Touch ID, Windows Hello ou une clé d'accès lorsque claude.ai ou l'application mobile vous le demande. Voir [Trusted Devices](#trusted-devices).514Votre connexion a plus de 18 heures. Exécutez `/login` dans Claude Code, ou confirmez avec Face ID, Touch ID, Windows Hello, ou une passkey lorsque claude.ai ou l'application mobile vous le demande. Consultez [Trusted Devices](#trusted-devices).

518 515 

519<h2 id="choose-the-right-approach">516<h2 id="choose-the-right-approach">

520 Choisir la bonne approche517 Choisir la bonne approche


536</h2>533</h2>

537 534 

538* [Claude Code sur le web](/docs/fr/claude-code-on-the-web) : exécutez des sessions dans le cloud au lieu de sur votre machine, configurées via des [environnements cloud](/docs/fr/cloud-environments)535* [Claude Code sur le web](/docs/fr/claude-code-on-the-web) : exécutez des sessions dans le cloud au lieu de sur votre machine, configurées via des [environnements cloud](/docs/fr/cloud-environments)

539* [Messagerie inter-sessions](/docs/fr/cross-session-messaging) : permettez à Claude de envoyer des messages à vos sessions sur d'autres machines ou sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web)536* [Messagerie inter-sessions](/docs/fr/cross-session-messaging) : permettez à Claude d'envoyer des messages à vos sessions sur d'autres machines ou sur vos [sessions cloud](/docs/fr/claude-code-on-the-web)

540* [Canaux](/docs/fr/channels) : transférez Telegram, Discord ou iMessage dans une session afin que Claude réagisse aux messages pendant que vous êtes absent537* [Canaux](/docs/fr/channels) : transférez Telegram, Discord ou iMessage dans une session afin que Claude réagisse aux messages pendant que vous êtes absent

541* [Dispatch](/docs/fr/desktop#sessions-from-dispatch) : envoyez un message avec une tâche depuis votre téléphone et il peut générer une session Desktop pour la gérer538* [Dispatch](/docs/fr/desktop#sessions-from-dispatch) : envoyez un message avec une tâche depuis votre téléphone et il peut générer une session Desktop pour la gérer

542* [Authentification](/docs/fr/authentication) : configurez `/login` et gérez les identifiants pour claude.ai539* [Authentification](/docs/fr/authentication) : configurez `/login` et gérez les identifiants pour claude.ai

543* [Référence CLI](/docs/fr/cli-reference) : liste complète des drapeaux et commandes incluant `claude remote-control`540* [Référence CLI](/docs/fr/cli-reference) : liste complète des drapeaux et commandes incluant `claude remote-control`

544* [Sécurité](/docs/fr/security) : comment les sessions Remote Control s'intègrent dans le modèle de sécurité Claude Code541* [Sécurité](/docs/fr/security) : comment les sessions Remote Control s'intègrent dans le modèle de sécurité Claude Code

545* [Utilisation des données](/docs/fr/data-usage) : quelles données circulent via l'API Anthropic lors des sessions locales et distantes542* [Utilisation des données](/docs/fr/data-usage) : quelles données circulent via l'API Anthropic lors des sessions locales, Remote Control et cloud

routines.md +14 −16

Details

174 174 

175<Steps>175<Steps>

176 <Step title="Ouvrir la routine pour l'édition">176 <Step title="Ouvrir la routine pour l'édition">

177 Allez sur [claude.ai/code/routines](https://claude.ai/code/routines), cliquez sur la routine que vous souhaitez déclencher via API, puis cliquez sur l'icône de crayon pour ouvrir **Edit routine**.177 Allez sur [claude.ai/code/routines](https://claude.ai/code/routines), cliquez sur la routine que vous souhaitez déclencher via API, puis ouvrez le menu à côté du nom de la routine et sélectionnez **Edit**.

178 </Step>178 </Step>

179 179 

180 <Step title="Ajouter un déclencheur API">180 <Step title="Ajouter un déclencheur API">


254 254 

255<Steps>255<Steps>

256 <Step title="Ouvrir la routine pour l'édition">256 <Step title="Ouvrir la routine pour l'édition">

257 Allez sur [claude.ai/code/routines](https://claude.ai/code/routines), cliquez sur la routine, puis cliquez sur l'icône de crayon pour ouvrir **Edit routine**.257 Allez sur [claude.ai/code/routines](https://claude.ai/code/routines), cliquez sur la routine, puis ouvrez le menu à côté du nom de la routine et sélectionnez **Edit**.

258 </Step>258 </Step>

259 259 

260 <Step title="Ajouter un déclencheur d'événement GitHub">260 <Step title="Ajouter un déclencheur d'événement GitHub">


331À partir de la page de détail de la routine, vous pouvez :331À partir de la page de détail de la routine, vous pouvez :

332 332 

333* Cliquer sur **Run now** pour démarrer une exécution immédiatement sans attendre l'heure planifiée suivante. Vous pouvez éventuellement fournir du texte spécifique à l'exécution, qui atteint la routine de la même manière que le champ `text` du déclencheur API.333* Cliquer sur **Run now** pour démarrer une exécution immédiatement sans attendre l'heure planifiée suivante. Vous pouvez éventuellement fournir du texte spécifique à l'exécution, qui atteint la routine de la même manière que le champ `text` du déclencheur API.

334* Utiliser le bouton bascule dans la section **Repeats** pour mettre en pause ou reprendre le calendrier. Les routines en pause conservent leur configuration mais ne s'exécutent pas jusqu'à ce que vous les réactiviez.334* Utiliser le bouton bascule en haut de la page pour mettre en pause ou reprendre le calendrier. Les routines en pause conservent leur configuration mais ne s'exécutent pas jusqu'à ce que vous les réactiviez.

335* Cliquer sur l'icône de crayon pour ouvrir **Edit routine** et modifier le nom, l'invite, les référentiels, l'environnement, les connecteurs ou l'un des déclencheurs de la routine. La section **Select a trigger** est l'endroit où vous ajoutez ou supprimez les calendriers, les jetons API et les déclencheurs d'événements GitHub.335* Ouvrir le menu à côté du nom de la routine et sélectionner **Edit** pour modifier le nom, l'invite, les référentiels, l'environnement, les connecteurs ou l'un des déclencheurs de la routine. La section **Select a trigger** est l'endroit où vous ajoutez ou supprimez les calendriers, les jetons API et les déclencheurs d'événements GitHub.

336* Cliquer sur l'icône de suppression pour supprimer la routine. Les sessions passées créées par la routine restent dans votre liste de sessions.336* Ouvrir le même menu et sélectionner **Delete** pour supprimer la routine.

337 337 

338<h3 id="manage-routines-from-the-cli">338<h3 id="manage-routines-from-the-cli">

339 Gérer les routines à partir de la CLI339 Gérer les routines à partir de la CLI


363 363 

364Les routines peuvent utiliser vos connecteurs MCP connectés pour lire et écrire dans les services externes pendant chaque exécution. Par exemple, une routine qui trie les demandes d'assistance peut lire à partir d'un canal Slack et créer des problèmes dans Linear.364Les routines peuvent utiliser vos connecteurs MCP connectés pour lire et écrire dans les services externes pendant chaque exécution. Par exemple, une routine qui trie les demandes d'assistance peut lire à partir d'un canal Slack et créer des problèmes dans Linear.

365 365 

366Les connecteurs sont les [intégrations claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) sur votre compte. Les serveurs MCP que vous avez ajoutés localement dans la CLI avec `claude mcp add` sont stockés sur votre machine plutôt que sur votre compte claude.ai, donc ils n'apparaissent pas dans la liste des connecteurs. Pour utiliser l'un de ces serveurs dans une routine, ajoutez-le en tant que connecteur sur [claude.ai/customize/connectors](https://claude.ai/customize/connectors), ou déclarez-le dans un [`.mcp.json`](/docs/fr/mcp#project-scope) engagé afin qu'il fasse partie du référentiel cloné.366Les connecteurs sont les [intégrations claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) sur votre compte. Les serveurs MCP que vous avez ajoutés localement dans la CLI avec `claude mcp add` sont stockés sur votre machine plutôt que sur votre compte claude.ai, donc ils n'apparaissent pas dans la liste des connecteurs. Pour utiliser l'un de ces serveurs dans une routine, ajoutez-le en tant que connecteur sur [claude.ai/customize/connectors](https://claude.ai/customize/connectors). Pour une routine avec un référentiel, vous pouvez plutôt le déclarer dans un [`.mcp.json`](/docs/fr/mcp#project-scope) engagé afin qu'il fasse partie du référentiel cloné.

367 367 

368Lorsque vous créez une routine, tous vos connecteurs actuellement connectés sont inclus par défaut. Supprimez tous ceux qui ne sont pas nécessaires pour limiter les outils auxquels Claude a accès pendant l'exécution. Vous pouvez également ajouter des connecteurs directement à partir du formulaire de routine.368Lorsque vous créez une routine, tous vos connecteurs actuellement connectés sont inclus par défaut. Supprimez tous ceux qui ne sont pas nécessaires pour limiter les outils auxquels Claude a accès pendant l'exécution. Vous pouvez également ajouter des connecteurs directement à partir du formulaire de routine.

369 369 


381 381 

382<Steps>382<Steps>

383 <Step title="Ouvrir la routine pour l'édition">383 <Step title="Ouvrir la routine pour l'édition">

384 Sur la page de détail de la routine, cliquez sur l'icône de crayon pour ouvrir **Edit routine**.384 Sur la page de détail de la routine, ouvrez le menu à côté du nom de la routine et sélectionnez **Edit**.

385 </Step>385 </Step>

386 386 

387 <Step title="Ouvrir le sélecteur d'environnement">387 <Step title="Ouvrir le sélecteur d'environnement">


421 `/schedule` retourne « Commande inconnue »421 `/schedule` retourne « Commande inconnue »

422</h3>422</h3>

423 423 

424L'interface de ligne de commande masque `/schedule` lorsque l'une de ses exigences n'est pas satisfaite : le menu de commande affiche `Aucune commande ne correspond à "/schedule"` pendant que vous tapez, et la soumettre retourne `Commande inconnue : /schedule` dans tous les cas ci-dessous sauf avec une clé API Console ou un profil Anthropic avec récupération de drapeaux de fonctionnalités activée. La cause est généralement l'une des suivantes :424L'interface de ligne de commande masque `/schedule` lorsque l'une de ses exigences n'est pas satisfaite : le menu de commande affiche `Aucune commande ne correspond à "/schedule"` pendant que vous tapez. La soumettre retourne `Commande inconnue : /schedule`, sauf dans les cas ci-dessous qui indiquent une réponse différente.

425 425 

426* Vous êtes authentifié avec une clé API Console, un [profil Anthropic ou une credential de fédération](/docs/fr/authentication#anthropic-profiles-and-federation-credentials), ou un fournisseur cloud tel qu'Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry. `/schedule` nécessite une connexion par abonnement claude.ai. Avec une clé API Console ou un profil, soumettre `/schedule` affiche à la place `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access`. Avec une connexion fournisseur cloud, vous voyez toujours `Commande inconnue : /schedule`. Si `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN` est défini dans votre shell, ou si `apiKeyHelper` est défini dans `settings.json`, supprimez-le d'abord, car ces paramètres ont la priorité sur une connexion claude.ai. Un profil ou une credential de fédération a également la priorité, alors désactivez-le aussi426La cause est généralement l'une des suivantes :

427 

428* Vous êtes authentifié avec une clé API Console, un [profil Anthropic ou une credential de fédération](/docs/fr/authentication#anthropic-profiles-and-federation-credentials), ou un fournisseur cloud tel qu'Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry. `/schedule` nécessite une connexion par abonnement claude.ai. Avec une clé API Console ou un profil, et la récupération de drapeaux de fonctionnalités activée, soumettre `/schedule` affiche à la place `/schedule is available with Claude for Enterprise — ask your admin about migrating from API-key access`. Avec une connexion fournisseur cloud, vous voyez toujours `Commande inconnue : /schedule`. Si `ANTHROPIC_API_KEY` ou `ANTHROPIC_AUTH_TOKEN` est défini dans votre shell, ou si `apiKeyHelper` est défini dans `settings.json`, supprimez-le d'abord, car ces paramètres ont la priorité sur une connexion claude.ai. Un profil ou une credential de fédération a également la priorité, alors désactivez-le aussi

429* Vous êtes complètement déconnecté, sans clé API ni autre credential. Avec la récupération de drapeaux de fonctionnalités activée, soumettre `/schedule` affiche `/schedule requires a claude.ai subscription. Run /login to sign in with your claude.ai account.` Avant la v2.1.268, une session déconnectée affichait le même message Claude for Enterprise qu'une clé API Console

427* Vous êtes dans une session Claude Code sur le web. Gérez les routines à partir de l'[interface web](https://claude.ai/code/routines) à la place430* Vous êtes dans une session Claude Code sur le web. Gérez les routines à partir de l'[interface web](https://claude.ai/code/routines) à la place

428* La politique de votre organisation désactive [Claude Code sur le web](/docs/fr/claude-code-on-the-web), sur lequel les routines s'exécutent431* La politique de votre organisation désactive [Claude Code sur le web](/docs/fr/claude-code-on-the-web), sur lequel les routines s'exécutent. Dans ce cas, soumettre `/schedule` répond [`Les sessions cloud sont désactivées par la politique de votre organisation`](/docs/fr/errors#cloud-sessions-are-disabled-by-your-organizations-policy) à la place. Avant la v2.1.268, cela retournait `Commande inconnue : /schedule`

429* Un propriétaire a [désactivé les routines](#routines-are-disabled-by-your-organizations-policy) pour votre organisation Team ou Enterprise. Avant la v2.1.227, la commande apparaissait toujours dans ce cas, et claude.ai rejetait la routine lorsque Claude tentait de la créer ou de l'exécuter432* Un propriétaire a [désactivé les routines](#routines-are-disabled-by-your-organizations-policy) pour votre organisation Team ou Enterprise. Avant la v2.1.227, la commande apparaissait toujours dans ce cas, et claude.ai rejetait la routine lorsque Claude tentait de la créer ou de l'exécuter

430 433 

431À moins que la politique de votre organisation désactive les routines ou Claude Code sur le web, vous pouvez créer et gérer les routines sur [claude.ai/code/routines](https://claude.ai/code/routines) indépendamment de la façon dont l'interface de ligne de commande est configurée.434À moins que la politique de votre organisation désactive les routines ou Claude Code sur le web, vous pouvez créer et gérer les routines sur [claude.ai/code/routines](https://claude.ai/code/routines) indépendamment de la façon dont l'interface de ligne de commande est configurée.

432 435 

433<h3 id="/schedule-asks-you-to-authenticate">

434 `/schedule` vous demande de vous authentifier

435</h3>

436 

437Si `/schedule` s'exécute mais que Claude répond que vous devez d'abord vous authentifier avec un compte claude.ai, l'interface de ligne de commande n'a pas de connexion claude.ai stockée. Les comptes API ne sont pas pris en charge pour les routines. Exécutez `/login`, connectez-vous avec votre compte claude.ai, puis exécutez `/schedule` à nouveau.

438 

439<h3 id="routines-are-disabled-by-your-organizations-policy">436<h3 id="routines-are-disabled-by-your-organizations-policy">

440 « Les routines sont désactivées par la politique de votre organisation »437 « Les routines sont désactivées par la politique de votre organisation »

441</h3>438</h3>


449* [`/loop` et planification en session](/docs/fr/scheduled-tasks) : planifiez les tâches locales dans une session CLI ouverte446* [`/loop` et planification en session](/docs/fr/scheduled-tasks) : planifiez les tâches locales dans une session CLI ouverte

450* [Tâches planifiées de bureau](/docs/fr/desktop-scheduled-tasks) : tâches planifiées locales qui s'exécutent sur votre machine avec accès aux fichiers locaux447* [Tâches planifiées de bureau](/docs/fr/desktop-scheduled-tasks) : tâches planifiées locales qui s'exécutent sur votre machine avec accès aux fichiers locaux

451* [Environnements cloud](/docs/fr/cloud-environments) : configurez l'accès réseau, les variables d'environnement et les scripts de configuration pour les sessions cloud448* [Environnements cloud](/docs/fr/cloud-environments) : configurez l'accès réseau, les variables d'environnement et les scripts de configuration pour les sessions cloud

449* [Projets](/docs/fr/claude-projects) : travail en cours que Claude coordonne sur plusieurs sessions cloud parallèles ; les routines créées à partir d'un projet apparaissent sur son onglet **Routines**

452* [Connecteurs MCP](/docs/fr/mcp) : connectez les services externes comme Slack, Linear et Google Drive450* [Connecteurs MCP](/docs/fr/mcp) : connectez les services externes comme Slack, Linear et Google Drive

453* [GitHub Actions](/docs/fr/github-actions) : exécutez Claude dans votre pipeline CI sur les événements du référentiel451* [GitHub Actions](/docs/fr/github-actions) : exécutez Claude dans votre pipeline CI sur les événements du référentiel

Details

21Les deux premières approches du tableau ci-dessous s'exécutent sur le système d'exploitation hôte sans conteneurs. Les autres placent Claude Code à l'intérieur d'un conteneur ou d'une machine virtuelle.21Les deux premières approches du tableau ci-dessous s'exécutent sur le système d'exploitation hôte sans conteneurs. Les autres placent Claude Code à l'intérieur d'un conteneur ou d'une machine virtuelle.

22 22 

23| Approche | Ce qui est isolé | Nécessite Docker | Effort de configuration |23| Approche | Ce qui est isolé | Nécessite Docker | Effort de configuration |

24| :------------------------------------------------ | :--------------------------------------------------------------------------------------------------- | :--------------- | :----------------------------------------------------------------------------------------------- |24| :-------------------------------------------- | :--------------------------------------------------------------------------------------------------- | :--------------- | :------------------------------------------------------------------------------------------------------------ |

25| [Outil Bash en sandbox](#sandboxed-bash-tool) | Commandes Bash et leurs processus enfants | Non | Minimal sur macOS ; faible sur Linux et WSL2 |25| [Outil Bash en sandbox](#sandboxed-bash-tool) | Commandes Bash, PowerShell et Monitor et leurs processus enfants | Non | Minimal sur macOS ; faible sur Linux et WSL2 |

26| [Runtime sandbox](#sandbox-runtime) | L'ensemble du processus Claude Code, y compris les outils de fichiers, les serveurs MCP et les hooks | Non | Faible |26| [Runtime sandbox](#sandbox-runtime) | L'ensemble du processus Claude Code, y compris les outils de fichiers, les serveurs MCP et les hooks | Non | Faible |

27| [Conteneur de développement](#dev-containers) | Environnement de développement complet | Oui | Moyen |27| [Conteneur de développement](#dev-containers) | Environnement de développement complet | Oui | Moyen |

28| [Conteneur personnalisé](#custom-container) | Environnement de développement complet | Oui | Moyen à élevé |28| [Conteneur personnalisé](#custom-container) | Environnement de développement complet | Oui | Moyen à élevé |

29| [Machine virtuelle](#virtual-machine) | Système d'exploitation complet | Non | Élevé |29| [Machine virtuelle](#virtual-machine) | Système d'exploitation complet | Non | Élevé |

30| [Claude Code sur le web](#claude-code-on-the-web) | Système d'exploitation complet, hébergé par Anthropic | Non | Aucun ; nécessite un abonnement Claude et GitHub lorsque vous lancez à partir de l'interface web |30| [Sessions cloud](#cloud-sessions) | Système d'exploitation complet, hébergé par Anthropic | Non | Aucun ; nécessite un abonnement Claude et un compte GitHub connecté sauf si vous lancez avec `claude --cloud` |

31 31 

32L'[outil Bash en sandbox](/docs/fr/sandboxing) est intégré à Claude Code et restreint les commandes Bash. Les outils de fichiers intégrés, les serveurs MCP et les hooks s'exécutent toujours directement sur votre hôte. Toutes les autres approches du tableau placent l'ensemble du processus Claude Code à l'intérieur de la limite d'isolation, de sorte que les outils de fichiers, les serveurs MCP et les hooks sont également restreints.32L'[outil Bash en sandbox](/docs/fr/sandboxing) est intégré à Claude Code et restreint les commandes Bash. Les outils de fichiers intégrés, les serveurs MCP et les hooks s'exécutent toujours directement sur votre hôte. Toutes les autres approches du tableau placent l'ensemble du processus Claude Code à l'intérieur de la limite d'isolation, de sorte que les outils de fichiers, les serveurs MCP et les hooks sont également restreints.

33 33 


44Faites correspondre votre objectif à une ligne ci-dessous, puis lisez la section de détail qui suit.44Faites correspondre votre objectif à une ligne ci-dessous, puis lisez la section de détail qui suit.

45 45 

46| Vous voulez | Commencez par |46| Vous voulez | Commencez par |

47| :------------------------------------------------------------------------------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |47| :------------------------------------------------------------------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

48| Réduire les invites de permission pendant le travail quotidien sur votre propre machine | L'[outil Bash sandboxé](/docs/fr/sandboxing), configuré avec `/sandbox` |48| Réduire les invites de permission pendant le travail quotidien sur votre propre machine | L'[outil Bash sandboxé](/docs/fr/sandboxing), configuré avec `/sandbox` |

49| Laisser Claude travailler sans surveillance avec `--dangerously-skip-permissions` ou en mode auto | Le [dev container](/docs/fr/devcontainer) préconfiguré, n'importe quel conteneur ou VM, ou le [runtime sandbox](#sandbox-runtime) |49| Laisser Claude travailler sans surveillance avec `--dangerously-skip-permissions` ou en mode auto | Le [dev container](/docs/fr/devcontainer) préconfiguré, n'importe quel conteneur ou VM, ou le [runtime sandbox](#sandbox-runtime) |

50| Isoler les serveurs MCP et les hooks ainsi que Bash, sans Docker | Le runtime sandbox |50| Isoler les serveurs MCP et les hooks ainsi que Bash, sans Docker | Le runtime sandbox |

51| Travailler sur un référentiel non fiable | Une machine virtuelle dédiée, ou [Claude Code sur le web](/docs/fr/claude-code-on-the-web) si vous avez un abonnement Claude ; GitHub est uniquement requis lorsque vous lancez à partir de l'interface web |51| Travailler sur un référentiel non fiable | Une machine virtuelle dédiée, ou une [session cloud](/docs/fr/claude-code-on-the-web) si vous avez un abonnement Claude ; GitHub n'est pas requis lorsque vous lancez avec `claude --cloud` |

52| Standardiser un environnement sandboxé dans une équipe | Le [dev container](/docs/fr/devcontainer) préconfiguré, copié dans votre référentiel |52| Standardiser un environnement sandboxé dans une équipe | Le [dev container](/docs/fr/devcontainer) préconfiguré, copié dans votre référentiel |

53| Utiliser Claude Code à partir d'un appareil sans configuration locale | [Claude Code sur le web](/docs/fr/claude-code-on-the-web), qui nécessite un abonnement Claude et un compte GitHub connecté |53| Utiliser Claude Code à partir d'un appareil sans configuration locale | Une [session cloud](/docs/fr/claude-code-on-the-web), qui nécessite un abonnement Claude et un compte GitHub connecté |

54| Exiger l'isolation pour chaque développeur de votre organisation | [Appliquer l'isolation dans une organisation](#enforce-isolation-across-an-organization) |54| Exiger l'isolation pour chaque développeur de votre organisation | [Appliquer l'isolation dans une organisation](#enforce-isolation-across-an-organization) |

55| Travailler sur un hôte Windows natif | Un conteneur ou une VM, ou exécutez le sandbox Bash à l'intérieur de WSL2 |55| Travailler sur un hôte Windows natif | Un conteneur ou une VM, ou exécutez le sandbox Bash à l'intérieur de WSL2 |

56 56 


66 66 

67Le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) remplace l'invite par un classificateur qui examine les actions. Le classificateur est un contrôle par action, pas une limite d'isolation, donc une limite d'isolation ajoute toujours une défense en profondeur pour les exécutions sans surveillance, et n'est pas requise comme elle l'est pour `--dangerously-skip-permissions`.67Le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) remplace l'invite par un classificateur qui examine les actions. Le classificateur est un contrôle par action, pas une limite d'isolation, donc une limite d'isolation ajoute toujours une défense en profondeur pour les exécutions sans surveillance, et n'est pas requise comme elle l'est pour `--dangerously-skip-permissions`.

68 68 

69L'[outil Bash sandboxé](#sandboxed-bash-tool) seul contraint uniquement Bash, donc il n'est pas suffisant pour les exécutions entièrement sans surveillance dans l'un ou l'autre mode. Vous pouvez superposer les approches : exécuter l'outil Bash sandboxé à l'intérieur d'un conteneur ou d'une VM vous donne des restrictions de commande au niveau du système d'exploitation en plus de la limite d'environnement externe. Pour savoir comment le sandbox Bash lui-même interagit avec les règles de permission et les modes de permission, voir [Comment le sandboxing se rapporte aux permissions et aux modes de permission](/docs/fr/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes).69L'[outil Bash sandboxé](#sandboxed-bash-tool) seul contraint uniquement les commandes shell, donc il n'est pas suffisant pour les exécutions entièrement sans surveillance dans l'un ou l'autre mode. Vous pouvez superposer les approches : exécuter l'outil Bash sandboxé à l'intérieur d'un conteneur ou d'une VM vous donne des restrictions de commande au niveau du système d'exploitation en plus de la limite d'environnement externe. Pour savoir comment le sandbox Bash lui-même interagit avec les règles de permission et les modes de permission, voir [Comment le sandboxing se rapporte aux permissions et aux modes de permission](/docs/fr/sandboxing#how-sandboxing-relates-to-permissions-and-permission-modes).

70 70 

71<h2 id="sandboxed-bash-tool">71<h2 id="sandboxed-bash-tool">

72 Outil Bash sandboxé72 Outil Bash sandboxé


76 Cette option ne supporte pas Windows natif. Sur les hôtes Windows, utilisez WSL2 ou l'une des approches de conteneur ou VM ci-dessous.76 Cette option ne supporte pas Windows natif. Sur les hôtes Windows, utilisez WSL2 ou l'une des approches de conteneur ou VM ci-dessous.

77</Note>77</Note>

78 78 

79L'outil Bash sandboxé est intégré à Claude Code. Il utilise des primitives du système d'exploitation pour restreindre l'accès au système de fichiers et au réseau de chaque commande Bash que Claude exécute.79L'outil Bash sandboxé est intégré à Claude Code. Il utilise des primitives du système d'exploitation pour restreindre l'accès au système de fichiers et au réseau de chaque commande Bash, PowerShell ou Monitor que Claude exécute.

80 80 

81Exécutez la commande `/sandbox` pour ouvrir le panneau sandbox et choisir un mode. Le guide [Sandboxing](/docs/fr/sandboxing) couvre les modes d'approbation, la limite par défaut et comment l'élargir ou la réduire.81Exécutez la commande `/sandbox` pour ouvrir le panneau sandbox et choisir un mode. Le guide [Sandboxing](/docs/fr/sandboxing) couvre les modes d'approbation, la limite par défaut et comment l'élargir ou la réduire.

82 82 


91 Runtime sandbox91 Runtime sandbox

92</h2>92</h2>

93 93 

94Le package [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) enveloppe un processus entier dans la même isolation Seatbelt ou bubblewrap que le sandbox Bash intégré utilise. Exécuter Claude Code à travers le runtime contraint chaque outil, hook et serveur MCP dans la session, pas seulement Bash. Le runtime est un aperçu de recherche bêta, et son format de configuration peut changer à mesure que le package évolue.94Le package [`@anthropic-ai/sandbox-runtime`](https://github.com/anthropic-experimental/sandbox-runtime) enveloppe un processus entier dans la même isolation Seatbelt ou bubblewrap que le sandbox Bash intégré utilise. Exécuter Claude Code à travers le runtime contraint chaque outil, hook et serveur MCP dans la session, pas seulement les commandes shell. Le runtime est un aperçu de recherche bêta, et son format de configuration peut changer à mesure que le package évolue.

95 95 

96Cette section couvre ce que vous configurez et ce que le runtime applique de lui-même. Pour déployer le runtime dans les applications Agent SDK, consultez le [guide de déploiement sécurisé](/docs/fr/agent-sdk/secure-deployment#sandbox-runtime).96Cette section couvre ce que vous configurez et ce que le runtime applique de lui-même. Pour déployer le runtime dans les applications Agent SDK, consultez le [guide de déploiement sécurisé](/docs/fr/agent-sdk/secure-deployment#sandbox-runtime).

97 97 


175 175 

176[Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) fournit une microVM avec son propre daemon Docker et synchronisation d'espace de travail, qui peut exécuter Claude Code sur n'importe quel hôte avec Docker Sandboxes installé. C'est un produit gratuit et autonome de Docker qui ne nécessite pas Docker Desktop.176[Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) fournit une microVM avec son propre daemon Docker et synchronisation d'espace de travail, qui peut exécuter Claude Code sur n'importe quel hôte avec Docker Sandboxes installé. C'est un produit gratuit et autonome de Docker qui ne nécessite pas Docker Desktop.

177 177 

178<h2 id="claude-code-on-the-web">178<h2 id="cloud-sessions">

179 Claude Code sur le web179 Sessions cloud

180</h2>180</h2>

181 181 

182[Claude Code sur le web](/docs/fr/claude-code-on-the-web) exécute chaque session dans une machine virtuelle isolée gérée par Anthropic. Un proxy réseau applique une liste blanche par défaut, et un proxy séparé détient votre token GitHub en dehors du sandbox tout en émettant des credentials limités pour l'accès au référentiel à l'intérieur. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur l'infrastructure que vous provisionnez à la place, où l'isolation, le contrôle de sortie et les credentials git relèvent de la responsabilité de votre déploiement.182Une [session cloud](/docs/fr/claude-code-on-the-web) s'exécute dans une machine virtuelle isolée gérée par Anthropic. Un proxy réseau applique une liste blanche par défaut, et un proxy séparé détient votre token GitHub en dehors du sandbox tout en émettant des credentials limités pour l'accès au référentiel à l'intérieur. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur l'infrastructure que vous provisionnez à la place, où l'isolation, le contrôle de sortie et les credentials git relèvent de la responsabilité de votre déploiement.

183 183 

184Utilisez cette approche lorsque vous voulez une isolation VM complète sans provisionner l'infrastructure vous-même, ou lorsque vous déléguez des tâches à partir d'un appareil qui n'a pas d'environnement de développement local. Cela nécessite un abonnement Claude. Lorsque vous lancez une session à partir de l'interface web, vous avez également besoin d'un compte GitHub connecté pour que le sandbox puisse cloner votre référentiel. Lorsque vous lancez à partir de la CLI avec `--cloud`, Claude Code peut [regrouper et télécharger votre référentiel local](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) à la place. Voir [Claude Code sur le web](/docs/fr/claude-code-on-the-web) pour la disponibilité du plan et les options d'authentification GitHub.184Utilisez cette approche lorsque vous voulez une isolation VM complète sans provisionner l'infrastructure vous-même, ou lorsque vous déléguez des tâches à partir d'un appareil qui n'a pas d'environnement de développement local. Cela nécessite un abonnement Claude. Sauf si vous lancez à partir de la CLI, vous avez également besoin d'un compte GitHub connecté pour que le sandbox puisse cloner votre référentiel. Lorsque vous lancez à partir de la CLI avec `--cloud`, Claude Code peut [regrouper et télécharger votre référentiel local](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) à la place. Voir [Utiliser Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) pour la disponibilité du plan et les options d'authentification GitHub.

185 185 

186<h2 id="enforce-isolation-across-an-organization">186<h2 id="enforce-isolation-across-an-organization">

187 Appliquer l'isolation dans une organisation187 Appliquer l'isolation dans une organisation

sandboxing.md +38 −20

Details

6 6 

7> Découvrez comment l'outil Bash en sandbox de Claude Code fournit une isolation du système de fichiers et du réseau pour une exécution d'agent plus sûre et plus autonome.7> Découvrez comment l'outil Bash en sandbox de Claude Code fournit une isolation du système de fichiers et du réseau pour une exécution d'agent plus sûre et plus autonome.

8 8 

9Le sandbox Bash permet à Claude d'exécuter la plupart des commandes shell sans s'arrêter pour demander une permission. Au lieu d'approuver chaque commande, vous définissez quels fichiers et domaines réseau les commandes peuvent toucher, et le système d'exploitation applique cette limite pour chaque commande Bash et ses processus enfants.9Le sandbox Bash permet à Claude d'exécuter la plupart des commandes shell sans s'arrêter pour demander une permission. Au lieu d'approuver chaque commande, vous définissez quels fichiers et domaines réseau les commandes peuvent toucher, et le système d'exploitation applique cette limite pour chaque commande Bash, PowerShell ou Monitor et ses processus enfants.

10 10 

11<Note>11<Note>

12 Pour comparer d'autres approches d'isolation telles que les dev containers, les conteneurs personnalisés et les machines virtuelles, consultez [Environnements sandbox](/docs/fr/sandbox-environments). Pour réduire les invites de permission pour les outils autres que Bash, consultez [modes de permission](/docs/fr/permission-modes).12 Pour comparer d'autres approches d'isolation telles que les dev containers, les conteneurs personnalisés et les machines virtuelles, consultez [Environnements sandbox](/docs/fr/sandbox-environments). Pour réduire les invites de permission pour les outils autres que Bash, consultez [modes de permission](/docs/fr/permission-modes).


42 </Step>42 </Step>

43 43 

44 <Step title="Exécuter une commande Bash">44 <Step title="Exécuter une commande Bash">

45 Demandez à Claude d'exécuter une commande, comme une compilation ou une suite de tests. Par défaut, les commandes à l'intérieur du sandbox peuvent écrire dans le répertoire de travail, le répertoire temporaire de la session et tout [répertoire que vous avez ajouté](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) avec `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`. La première fois qu'une commande a besoin d'un nouveau domaine réseau, Claude Code demande une approbation, ou en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) envoie la demande au classificateur.45 Demandez à Claude d'exécuter une commande, comme une compilation ou une suite de tests. Par défaut, les commandes à l'intérieur du sandbox peuvent écrire dans le répertoire de travail, le répertoire temporaire de la session et tout [répertoire que vous avez ajouté](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) avec `--add-dir`, `/add-dir` ou `permissions.additionalDirectories`.

46 

47 La première fois qu'une commande a besoin d'un nouveau domaine réseau, Claude Code demande une approbation ; en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), Claude nomme plutôt les hôtes dont une commande a besoin [sur la commande elle-même](#per-command-allowed-domains-in-auto-mode) pour que le classificateur les examine avec elle.

46 48 

47 Les commandes qui ne peuvent pas s'exécuter sandboxées reviennent au flux de permission régulier. Claude Code intitule leur invite de permission « Bash command (unsandboxed) » au lieu de « Bash command », afin que vous puissiez voir quelles commandes se sont exécutées en dehors du sandbox. Pour élargir ou réduire ce que le sandbox autorise, consultez [Configurer le sandboxing](#configure-sandboxing).49 Les commandes qui ne peuvent pas s'exécuter sandboxées reviennent au flux de permission régulier. Claude Code intitule leur invite de permission « Bash command (unsandboxed) » au lieu de « Bash command », afin que vous puissiez voir quelles commandes se sont exécutées en dehors du sandbox. Pour élargir ou réduire ce que le sandbox autorise, consultez [Configurer le sandboxing](#configure-sandboxing).

48 50 


145* Une règle ask `Bash` simple, ou la forme équivalente `Bash(*)`, est ignorée pour les commandes qui s'exécutent sandboxées ; elle s'applique toujours aux commandes qui reviennent au flux de permission régulier. En [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode), la règle n'est pas ignorée : elle invite pour les commandes sandboxées aussi, y compris les commandes en lecture seule. Avant v2.1.212, l'ignorance s'appliquait aussi en mode plan147* Une règle ask `Bash` simple, ou la forme équivalente `Bash(*)`, est ignorée pour les commandes qui s'exécutent sandboxées ; elle s'applique toujours aux commandes qui reviennent au flux de permission régulier. En [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode), la règle n'est pas ignorée : elle invite pour les commandes sandboxées aussi, y compris les commandes en lecture seule. Avant v2.1.212, l'ignorance s'appliquait aussi en mode plan

146 148 

147<Info>149<Info>

148 Le mode auto-allow fonctionne indépendamment de votre paramètre de mode de permission, avec une exception : [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode). Même si vous n'êtes pas en mode « accepter les modifications », les commandes Bash sandboxées s'exécutent automatiquement lorsque l'auto-allow est activé. Cela signifie que les commandes Bash qui modifient les fichiers dans les limites du sandbox s'exécutent sans invite, même en mode Manuel, où les outils de modification de fichiers inviteraient.150 Le mode auto-allow fonctionne indépendamment de votre paramètre de mode de permission, sauf en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) et, en mode auto, pour une commande qui porte des [domaines autorisés par commande](#per-command-allowed-domains-in-auto-mode). Même si vous n'êtes pas en mode « accepter les modifications », les commandes Bash sandboxées s'exécutent automatiquement lorsque l'auto-allow est activé. Cela signifie que les commandes Bash qui modifient les fichiers dans les limites du sandbox s'exécutent sans invite, même en mode Manuel, où les outils de modification de fichiers inviteraient.

149 151 

150 En mode plan, l'auto-allow n'élargit pas les approbations ; consultez [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) pour voir comment Claude Code bloque les commandes pendant que vous planifiez. Avant v2.1.212, l'auto-allow exécutait les commandes sandboxées sans invite en mode plan aussi.152 En mode plan, l'auto-allow n'élargit pas les approbations ; consultez [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) pour voir comment Claude Code bloque les commandes pendant que vous planifiez. Avant v2.1.212, l'auto-allow exécutait les commandes sandboxées sans invite en mode plan aussi.

151</Info>153</Info>


540 542 

541* **Dans votre répertoire de travail et les répertoires au-dessus** : les fichiers de paramètres `.claude`, les répertoires `.claude/skills`, `.claude/agents`, `.claude/commands`, et `.claude/hooks`, `.mcp.json`, et les fichiers que Claude Code exécute de lui-même, tels que `.claude/workflows` et `.claude/scheduled_tasks.json`543* **Dans votre répertoire de travail et les répertoires au-dessus** : les fichiers de paramètres `.claude`, les répertoires `.claude/skills`, `.claude/agents`, `.claude/commands`, et `.claude/hooks`, `.mcp.json`, et les fichiers que Claude Code exécute de lui-même, tels que `.claude/workflows` et `.claude/scheduled_tasks.json`

542* **Dans votre répertoire de travail uniquement** : les fichiers de démarrage shell tels que `.bashrc` et `.zshrc`, `.gitconfig`, les répertoires `.vscode` et `.idea`, et `hooks` et `config` à l'intérieur de `.git`544* **Dans votre répertoire de travail uniquement** : les fichiers de démarrage shell tels que `.bashrc` et `.zshrc`, `.gitconfig`, les répertoires `.vscode` et `.idea`, et `hooks` et `config` à l'intérieur de `.git`

543* **Les fichiers qui transformeraient votre répertoire de travail en référentiel git nu** : `HEAD`, `objects`, et `refs` au niveau supérieur, plus `config` et `hooks` là-bas quand ils existent déjà, même quand le répertoire `config` appartient à votre projet plutôt qu'à git. Sur Linux et WSL2, le sandbox supprime un fichier `HEAD` de niveau supérieur ou un répertoire `objects` ou `refs` qui apparaît pendant qu'une commande en sandbox s'exécute545* **Les fichiers qui transformeraient votre répertoire de travail en référentiel git nu** : `HEAD`, `objects`, et `refs` au niveau supérieur, plus `config` et `hooks` là-bas quand un `HEAD` les accompagne. Un fichier nommé `config` est refusé même sans `HEAD`. Sur Linux et WSL2, le sandbox supprime un fichier `HEAD` de niveau supérieur ou un répertoire `objects` ou `refs` qui apparaît pendant qu'une commande en sandbox s'exécute

544* **Dans `~/.claude`, ou le répertoire vers lequel `CLAUDE_CONFIG_DIR` pointe** : la plupart de son contenu, plus `~/.claude.json` et le magasin d'identifiants `.credentials.json`546* **Dans `~/.claude`, ou le répertoire vers lequel `CLAUDE_CONFIG_DIR` pointe** : la plupart de son contenu, plus `~/.claude.json` et le magasin d'identifiants `.credentials.json`

545 547 

546Si un lien symbolique apparaît au chemin d'un fichier de paramètres protégés pendant la session, le sandbox refuse également les écritures dans le fichier vers lequel il pointe, à partir de la commande suivante.548Si un lien symbolique apparaît au chemin d'un fichier de paramètres protégés pendant la session, le sandbox refuse également les écritures dans le fichier vers lequel il pointe, à partir de la commande suivante.


555 557 

556L'accès réseau est contrôlé via un serveur proxy s'exécutant en dehors du sandbox :558L'accès réseau est contrôlé via un serveur proxy s'exécutant en dehors du sandbox :

557 559 

558* **Restrictions de domaine** : Claude Code ne pré-autorise aucun domaine par défaut. La première fois qu'une commande a besoin d'un nouveau domaine, Claude Code demande une approbation, ou en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) envoie la demande au classificateur. Si vous choisissez Oui quand vous êtes invité, Claude Code autorise l'hôte pour le reste de la session actuelle et ne demande plus pour les connexions ultérieures au même hôte. Si vous choisissez « Oui, et ne me demander plus », Claude Code enregistre une règle d'autorisation `WebFetch(domain:...)` dans vos [paramètres locaux](/docs/fr/permissions#permission-system), afin que l'hôte reste autorisé dans les sessions futures. Pré-autorisez les domaines avec [`allowedDomains`](/docs/fr/settings-reference#sandbox-network-alloweddomains) pour éviter complètement l'invite. Claude Code pré-autorise également les domaines à partir des règles d'autorisation `WebFetch(domain:...)`, comme décrit dans [Règles de permissions](#permission-rules).560* **Restrictions de domaine** : Claude Code ne pré-autorise aucun domaine par défaut. La première fois qu'une commande a besoin d'un nouveau domaine, Claude Code demande une approbation ; en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), Claude nomme plutôt les hôtes qu'une commande nécessite sur la commande elle-même, selon [Domaines autorisés par commande](#per-command-allowed-domains-in-auto-mode).

561* **Choix d'approbation** : si vous choisissez Oui quand vous êtes invité, Claude Code autorise l'hôte pour le reste de la session actuelle et ne demande plus pour les connexions ultérieures au même hôte. Si vous choisissez « Oui, et ne me demander plus », Claude Code enregistre une règle d'autorisation `WebFetch(domain:...)` dans vos [paramètres locaux](/docs/fr/permissions#permission-system), afin que l'hôte reste autorisé dans les sessions futures.

562* **Domaines pré-autorisés** : pré-autorisez les domaines avec [`allowedDomains`](/docs/fr/settings-reference#sandbox-network-alloweddomains) pour éviter complètement l'invite. Claude Code pré-autorise également les domaines à partir des règles d'autorisation `WebFetch(domain:...)`, comme décrit dans [Règles de permissions](#permission-rules).

559* **Liste d'autorisation stricte** : si vous définissez [`strictAllowlist`](/docs/fr/settings-reference#sandbox-network-strictallowlist) à `true` dans les paramètres utilisateur, gérés ou CLI `--settings`, Claude Code refuse aux commandes en sandbox l'accès à tout hôte en dehors de la liste d'autorisation au lieu de demander. La liste d'autorisation est la même contre laquelle le sandbox demande autrement : `allowedDomains` plus les domaines des règles d'autorisation `WebFetch(domain:...)`, ou uniquement les entrées de paramètres gérés quand `allowManagedDomainsOnly` est défini. Claude Code applique cela uniquement aux commandes en sandbox ; les outils en processus tels que `WebFetch` suivent toujours leurs [règles de permissions](#permission-rules). Le définir dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un référentiel n'a aucun effet. Nécessite Claude Code v2.1.219 ou ultérieur.563* **Liste d'autorisation stricte** : si vous définissez [`strictAllowlist`](/docs/fr/settings-reference#sandbox-network-strictallowlist) à `true` dans les paramètres utilisateur, gérés ou CLI `--settings`, Claude Code refuse aux commandes en sandbox l'accès à tout hôte en dehors de la liste d'autorisation au lieu de demander. La liste d'autorisation est la même contre laquelle le sandbox demande autrement : `allowedDomains` plus les domaines des règles d'autorisation `WebFetch(domain:...)`, ou uniquement les entrées de paramètres gérés quand `allowManagedDomainsOnly` est défini. Claude Code applique cela uniquement aux commandes en sandbox ; les outils en processus tels que `WebFetch` suivent toujours leurs [règles de permissions](#permission-rules). Le définir dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un référentiel n'a aucun effet. Nécessite Claude Code v2.1.219 ou ultérieur.

560* **Verrouillage géré** : si [`allowManagedDomainsOnly`](/docs/fr/settings-reference#sandbox-network-allowmanageddomainsonly) est défini dans les paramètres gérés, les domaines non autorisés sont bloqués automatiquement au lieu de demander, et seuls `allowedDomains` et les règles d'autorisation `WebFetch(domain:...)` des paramètres gérés sont honorés.564* **Verrouillage géré** : si [`allowManagedDomainsOnly`](/docs/fr/settings-reference#sandbox-network-allowmanageddomainsonly) est défini dans les paramètres gérés, les domaines non autorisés sont bloqués automatiquement au lieu de demander, et seuls `allowedDomains` et les règles d'autorisation `WebFetch(domain:...)` des paramètres gérés sont honorés.

561* **Proxy d'entreprise** : quand votre réseau nécessite que le trafic sortant passe par un proxy d'entreprise, définissez `HTTPS_PROXY`, `HTTP_PROXY`, et `NO_PROXY` comme [configuration de proxy](/docs/fr/network-config#proxy-configuration) le décrit, dans le bloc `env` de vos paramètres afin que les [agents en arrière-plan](/docs/fr/network-config#set-network-variables-in-settings-not-the-shell) les obtiennent aussi, ou dans l'environnement à partir duquel vous lancez Claude Code. Claude Code applique la liste d'autorisation de domaine et tunnelise ensuite les connexions autorisées via ce proxy en amont.565* **Proxy d'entreprise** : quand votre réseau nécessite que le trafic sortant passe par un proxy d'entreprise, définissez `HTTPS_PROXY`, `HTTP_PROXY`, et `NO_PROXY` comme [configuration de proxy](/docs/fr/network-config#proxy-configuration) le décrit, dans le bloc `env` de vos paramètres afin que les [agents en arrière-plan](/docs/fr/network-config#set-network-variables-in-settings-not-the-shell) les obtiennent aussi, ou dans l'environnement à partir duquel vous lancez Claude Code. Claude Code applique la liste d'autorisation de domaine et tunnelise ensuite les connexions autorisées via ce proxy en amont.


568 Le proxy intégré applique la liste d'autorisation en fonction du nom d'hôte demandé et, par défaut, ne termine pas ou n'inspecte pas le trafic TLS. Le paramètre expérimental [`network.tlsTerminate`](/docs/fr/settings-reference#sandbox-network-tlsterminate), disponible dans Claude Code v2.1.199 et ultérieur, fait que le proxy intégré termine lui-même TLS, ce que les entrées d'identifiants [`mask`](#mask-credentials) nécessitent. Consultez [Limitations de sécurité](#security-limitations) pour les implications de la conception par défaut, et [Configuration de proxy personnalisée](#custom-proxy-configuration) si votre modèle de menace nécessite l'inspection TLS.572 Le proxy intégré applique la liste d'autorisation en fonction du nom d'hôte demandé et, par défaut, ne termine pas ou n'inspecte pas le trafic TLS. Le paramètre expérimental [`network.tlsTerminate`](/docs/fr/settings-reference#sandbox-network-tlsterminate), disponible dans Claude Code v2.1.199 et ultérieur, fait que le proxy intégré termine lui-même TLS, ce que les entrées d'identifiants [`mask`](#mask-credentials) nécessitent. Consultez [Limitations de sécurité](#security-limitations) pour les implications de la conception par défaut, et [Configuration de proxy personnalisée](#custom-proxy-configuration) si votre modèle de menace nécessite l'inspection TLS.

569</Note>573</Note>

570 574 

575<h4 id="per-command-allowed-domains-in-auto-mode">

576 Domaines autorisés par commande en mode auto

577</h4>

578 

579En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) avec sandboxing activé, Claude nomme les hôtes qu'une commande nécessite sur la commande elle-même au lieu de déclencher une approbation réseau pour chaque connexion. Chaque commande Bash, PowerShell, ou [Monitor](/docs/fr/tools-reference#monitor-tool) qui s'exécute dans le sandbox peut porter une liste d'hôtes au-delà de la liste d'autorisation du sandbox : un domaine tel que `registry.npmjs.org`, un caractère générique tel que `*.pythonhosted.org`, ou une adresse IP, chacun avec un `:port` optionnel. Le classificateur examine les hôtes ensemble avec la commande. Nécessite Claude Code v2.1.271 ou ultérieur.

580 

581Une liste approuvée ouvre ces hôtes pour cette seule commande, aussi longtemps qu'elle s'exécute. Rien n'est ajouté aux hôtes autorisés de votre session ou à vos paramètres ; la commande suivante nomme ses propres hôtes.

582 

583Une commande qui porte des hôtes va au classificateur au lieu d'être approuvée par une règle de permission ou le [mode auto-autorisation](#sandbox-modes) du sandbox. Si une [règle ask](/docs/fr/permissions#manage-permissions) force une invite pour la commande, la boîte de dialogue de permission dans votre terminal répertorie les hôtes à côté, et approuver là couvre les deux.

584 

585Une liste par commande élargit uniquement ce que le sandbox refuse par défaut. Les entrées [`deniedDomains`](/docs/fr/settings-reference#sandbox-network-denieddomains) bloquent toujours. Quand [`strictAllowlist`](/docs/fr/settings-reference#sandbox-network-strictallowlist) ou [`allowManagedDomainsOnly`](/docs/fr/settings-reference#sandbox-network-allowmanageddomainsonly) verrouille la liste d'autorisation, Claude Code refuse les listes par commande.

586 

587Pendant que les listes par commande s'appliquent, Claude Code refuse une connexion à un hôte qu'aucune commande approuvée n'a répertorié, sans invite ou vérification du classificateur. Le refus nomme l'hôte dans le résultat de la commande, et Claude réexécute la commande avec l'hôte ajouté.

588 

571<h4 id="ipv6-addresses-in-domain-lists">589<h4 id="ipv6-addresses-in-domain-lists">

572 Adresses IPv6 dans les listes de domaines590 Adresses IPv6 dans les listes de domaines

573</h4>591</h4>


601 Comment le sandboxing se rapporte aux permissions et aux modes de permission619 Comment le sandboxing se rapporte aux permissions et aux modes de permission

602</h2>620</h2>

603 621 

604Le sandboxing, les [règles de permission](/docs/fr/permissions) et les [modes de permission](/docs/fr/permission-modes) sont des couches complémentaires. Les sections ci-dessous couvrent comment le sandbox interagit avec chacun.622Le sandboxing, les [règles de permission](/docs/fr/permissions), et les [modes de permission](/docs/fr/permission-modes) sont des couches complémentaires. Les sections ci-dessous couvrent comment le sandbox interagit avec chacun.

605 623 

606<h3 id="permission-rules">624<h3 id="permission-rules">

607 Règles de permission625 Règles de permission


609 627 

610Les règles de permission et le sandboxing contrôlent des choses différentes :628Les règles de permission et le sandboxing contrôlent des choses différentes :

611 629 

612* **Les règles de permission** contrôlent quels outils Claude Code peut utiliser et sont évaluées avant l'exécution de tout outil. Elles s'appliquent à tous les outils : Bash, Read, Edit, WebFetch, MCP et autres, sauf qu'une règle de refus ou de demande ne peut pas bloquer [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) tant qu'un autre outil reste.630* **Les règles de permission** contrôlent quels outils Claude Code peut utiliser et sont évaluées avant l'exécution de tout outil. Elles s'appliquent à chaque outil : Bash, Read, Edit, WebFetch, MCP, et autres, sauf qu'une règle de refus ou de demande ne peut pas bloquer [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior) tant qu'un autre outil reste.

613* **Le sandboxing** fournit une application au niveau du système d'exploitation qui restreint ce que les commandes Bash peuvent accéder au niveau du système de fichiers et du réseau. Il s'applique uniquement aux commandes Bash et à leurs processus enfants.631* **Le sandboxing** fournit une application au niveau du système d'exploitation qui restreint ce que les commandes shell peuvent accéder au niveau du système de fichiers et du réseau. Il s'applique uniquement aux commandes Bash, PowerShell, et [Monitor](/docs/fr/tools-reference#monitor-tool) et à leurs processus enfants.

614 632 

615Les deux couches diffèrent également dans la façon dont elles sont appliquées. Claude Code évalue les décisions de permission avant l'exécution d'une commande, en fonction de la chaîne de commande et, en mode auto, du jugement d'un classificateur distinct sur la sécurité de la commande. Le système d'exploitation applique la limite du sandbox sur le processus en cours d'exécution, elle tient donc indépendamment de ce que le modèle a choisi d'exécuter et même si une commande autorisée fait plus que son nom ne le suggère.633Les deux couches diffèrent également dans la façon dont elles sont appliquées. Claude Code évalue les décisions de permission avant l'exécution d'une commande, en fonction de la chaîne de commande et, en mode auto, du jugement d'un classificateur distinct sur la sécurité de la commande. Le système d'exploitation applique la limite du sandbox au processus en cours d'exécution, donc elle tient indépendamment de ce que le modèle a choisi d'exécuter et même si une commande autorisée fait plus que son nom ne le suggère.

616 634 

617Les restrictions du système de fichiers et du réseau sont configurées via les paramètres de sandbox et les règles de permission :635Les restrictions du système de fichiers et du réseau sont configurées via les paramètres du sandbox et les règles de permission :

618 636 

619| Paramètre ou règle | Ce qu'il fait |637| Paramètre ou règle | Ce qu'il fait |

620| :-------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------- |638| :-------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ |

621| `sandbox.filesystem.allowWrite` | Accorde l'accès en écriture des sous-processus à des chemins en dehors du répertoire de travail |639| `sandbox.filesystem.allowWrite` | Accorde l'accès en écriture du sous-processus aux chemins en dehors du répertoire de travail |

622| `sandbox.filesystem.denyWrite` et `sandbox.filesystem.denyRead` | Bloque l'accès des sous-processus à des chemins spécifiques |640| `sandbox.filesystem.denyWrite` et `sandbox.filesystem.denyRead` | Bloquent l'accès du sous-processus à des chemins spécifiques |

623| `sandbox.filesystem.allowRead` | Réautorise la lecture de chemins spécifiques dans une région `denyRead` |641| `sandbox.filesystem.allowRead` | Réautorise la lecture de chemins spécifiques dans une région `denyRead` |

624| [`sandbox.filesystem.disabled`](#disable-filesystem-isolation) | Désactive la couche du système de fichiers entièrement tout en conservant l'isolation du réseau |642| [`sandbox.filesystem.disabled`](#disable-filesystem-isolation) | Désactive entièrement la couche du système de fichiers tout en conservant l'isolation du réseau |

625| Règles d'autorisation `Edit` | Accordent l'accès en écriture à des chemins spécifiques, de la même manière que `sandbox.filesystem.allowWrite` |643| Règles d'autorisation `Edit` | Accordent l'accès en écriture à des chemins spécifiques, de la même manière que `sandbox.filesystem.allowWrite` |

626| Règles de refus `Read` et `Edit` | Bloquent l'accès à des fichiers ou répertoires spécifiques |644| Règles de refus `Read` et `Edit` | Bloquent l'accès à des fichiers ou répertoires spécifiques |

627| Règles d'autorisation et de refus `WebFetch(domain:...)` | Contrôlent l'accès au domaine |645| Règles d'autorisation et de refus `WebFetch(domain:...)` | Contrôlent l'accès au domaine |

628| `allowedDomains` du sandbox | Contrôle quels domaines les commandes Bash peuvent atteindre |646| `allowedDomains` du sandbox | Contrôle les domaines que les commandes Bash peuvent atteindre |

629| `deniedDomains` du sandbox | Bloque des domaines spécifiques même lorsqu'un wildcard `allowedDomains` plus large les autoriserait autrement |647| `deniedDomains` du sandbox | Bloque les domaines spécifiques même lorsqu'un caractère générique `allowedDomains` plus large les autoriserait autrement |

630 648 

631Les chemins et domaines des paramètres de sandbox et des règles de permission sont fusionnés dans la configuration finale du sandbox.649Les chemins et domaines des paramètres du sandbox et des règles de permission sont fusionnés dans la configuration finale du sandbox.

632 650 

633Le [répertoire d'exemples du référentiel claude-code](https://github.com/anthropics/claude-code/tree/main/examples/settings) inclut des configurations de paramètres de démarrage pour les scénarios de déploiement courants, y compris des exemples spécifiques au sandbox. Utilisez-les comme points de départ et ajustez-les selon vos besoins.651Le [répertoire d'exemples du référentiel claude-code](https://github.com/anthropics/claude-code/tree/main/examples/settings) inclut des configurations de paramètres de démarrage pour les scénarios de déploiement courants, y compris des exemples spécifiques au sandbox. Utilisez-les comme points de départ et ajustez-les selon vos besoins.

634 652 


636 Modes de permission654 Modes de permission

637</h3>655</h3>

638 656 

639`/sandbox` n'est pas un [mode de permission](/docs/fr/permission-modes). Les modes de permission décident si un appel d'outil s'exécute et si vous êtes invité en premier, tandis que le sandbox restreint ce qu'une commande Bash peut accéder une fois qu'elle s'exécute. Ils diffèrent dans ce qu'ils contrôlent et ce qui remplace l'invite par action :657`/sandbox` n'est pas un [mode de permission](/docs/fr/permission-modes). Les modes de permission décident si un appel d'outil s'exécute et si vous êtes d'abord invité, tandis que le sandbox restreint ce qu'une commande Bash peut accéder une fois qu'elle s'exécute. Ils diffèrent dans ce qu'ils contrôlent et ce qui remplace l'invite par action :

640 658 

641| | Ce qu'il contrôle | Ce qui remplace l'invite |659| | Ce qu'il contrôle | Ce qui remplace l'invite |

642| :----------------------------------------------------------------- | :-------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |660| :----------------------------------------------------------------- | :-------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


644| [Mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) | Si chaque appel d'outil s'exécute | Un classificateur qui examine les actions |662| [Mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) | Si chaque appel d'outil s'exécute | Un classificateur qui examine les actions |

645| `--dangerously-skip-permissions` | Si chaque appel d'outil s'exécute | Rien. Les vérifications de [chemin protégé](/docs/fr/permission-modes#protected-paths) sont également ignorées ; les [actions qu'aucun mode n'auto-approuve](/docs/fr/permission-modes#actions-no-mode-auto-approves) s'appliquent toujours |663| `--dangerously-skip-permissions` | Si chaque appel d'outil s'exécute | Rien. Les vérifications de [chemin protégé](/docs/fr/permission-modes#protected-paths) sont également ignorées ; les [actions qu'aucun mode n'auto-approuve](/docs/fr/permission-modes#actions-no-mode-auto-approves) s'appliquent toujours |

646 664 

647Le [mode auto-allow](#sandbox-modes) du sandbox est distinct du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : l'auto-allow approuve les commandes Bash parce que la limite du sandbox les contient, tandis que le mode auto utilise un classificateur pour examiner les actions. Les deux fonctionnent indépendamment et peuvent être combinés. Pour choisir une limite d'isolation pour les exécutions sans surveillance, consultez [Environnements sandbox](/docs/fr/sandbox-environments#how-isolation-relates-to-permission-modes). Pour un tableau des appairages courants de mode de permission et de sandbox avec les drapeaux qui démarrent chacun, consultez [Configurations courantes](/docs/fr/permission-modes#common-setups).665Le [mode auto-allow](#sandbox-modes) du sandbox est séparé du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : auto-allow approuve les commandes Bash parce que la limite du sandbox les contient, tandis que le mode auto utilise un classificateur pour examiner les actions. Les deux fonctionnent indépendamment et peuvent être combinés, avec les exceptions énumérées sous [Modes du sandbox](#sandbox-modes). Pour choisir une limite d'isolation pour les exécutions sans surveillance, voir [Environnements du sandbox](/docs/fr/sandbox-environments#how-isolation-relates-to-permission-modes). Pour un tableau des appairages courants de mode de permission et de sandbox avec les drapeaux qui démarrent chacun, voir [Configurations courantes](/docs/fr/permission-modes#common-setups).

648 666 

649<h2 id="configure-the-sandbox-for-your-organization">667<h2 id="configure-the-sandbox-for-your-organization">

650 Configurer le sandbox pour votre organisation668 Configurer le sandbox pour votre organisation


656 Appliquer le sandboxing avec les paramètres gérés674 Appliquer le sandboxing avec les paramètres gérés

657</h3>675</h3>

658 676 

659Pour exiger le sandbox pour chaque développeur, livrez les clés `sandbox` via [paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), soit en tant que fichier géré par votre MDM, soit via [paramètres gérés par serveur](/docs/fr/server-managed-settings) sur Claude.ai.677Pour exiger le sandbox pour chaque développeur, livrez les clés `sandbox` via [paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), soit en tant que fichier géré par votre MDM, soit via [paramètres gérés par serveur](/docs/fr/server-managed-settings) sur claude.ai.

660 678 

661La configuration de paramètres gérés suivante active le sandbox, refuse de démarrer Claude Code si le sandbox ne peut pas s'initialiser et empêche le modèle de réessayer les commandes en dehors du sandbox :679La configuration de paramètres gérés suivante active le sandbox, refuse de démarrer Claude Code si le sandbox ne peut pas s'initialiser et empêche le modèle de réessayer les commandes en dehors du sandbox :

662 680 

Details

169cancel the deploy check job169cancel the deploy check job

170```170```

171 171 

172Sous le capot, Claude utilise ces outils :172Voici les outils sous-jacents que Claude utilise :

173 173 

174| Outil | Objectif |174| Outil | Objectif |

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


238* Les tâches ne s'exécutent que pendant que Claude Code s'exécute et est inactif. Fermer le terminal ou laisser la session se terminer arrête leur exécution. [Mettre la session en arrière-plan](/docs/fr/agent-view#from-inside-a-session) transfère les tâches `/loop` vers une session en arrière-plan, qui continue de s'exécuter sans terminal.238* Les tâches ne s'exécutent que pendant que Claude Code s'exécute et est inactif. Fermer le terminal ou laisser la session se terminer arrête leur exécution. [Mettre la session en arrière-plan](/docs/fr/agent-view#from-inside-a-session) transfère les tâches `/loop` vers une session en arrière-plan, qui continue de s'exécuter sans terminal.

239* Pas de rattrapage pour les exécutions manquées. Si l'heure planifiée d'une tâche passe pendant que Claude est occupé par une demande longue, elle s'exécute une fois quand Claude devient inactif, pas une fois par intervalle manqué.239* Pas de rattrapage pour les exécutions manquées. Si l'heure planifiée d'une tâche passe pendant que Claude est occupé par une demande longue, elle s'exécute une fois quand Claude devient inactif, pas une fois par intervalle manqué.

240* Démarrer une nouvelle conversation efface toutes les tâches limitées à la session. Quand vous reprenez une session avec `claude --resume` ou `claude --continue`, Claude Code restaure les tâches planifiées avec `CronCreate`, sauf les tâches récurrentes qui ont [expiré](#seven-day-expiry) et les tâches ponctuelles dont l'heure planifiée a passé. Une [boucle `/loop` à rythme personnel](#let-claude-choose-the-interval) n'est pas restaurée, donc exécutez `/loop` à nouveau pour la redémarrer. Les tâches Bash en arrière-plan et les tâches de surveillance ne sont jamais restaurées à la reprise.240* Démarrer une nouvelle conversation efface toutes les tâches limitées à la session. Quand vous reprenez une session avec `claude --resume` ou `claude --continue`, Claude Code restaure les tâches planifiées avec `CronCreate`, sauf les tâches récurrentes qui ont [expiré](#seven-day-expiry) et les tâches ponctuelles dont l'heure planifiée a passé. Une [boucle `/loop` à rythme personnel](#let-claude-choose-the-interval) n'est pas restaurée, donc exécutez `/loop` à nouveau pour la redémarrer. Les tâches Bash en arrière-plan et les tâches de surveillance ne sont jamais restaurées à la reprise.

241* Avec [la récupération des drapeaux de fonctionnalités désactivée](/docs/fr/env-vars#features-that-need-feature-flag-fetching), Claude Code stocke une tâche que vous avez demandé de conserver entre les sessions dans le répertoire `.claude` du projet. Quand ce répertoire ou le fichier de tâche qu'il contient est un lien symbolique, Claude Code retourne une erreur au lieu de planifier la tâche.241* Avec [la récupération des drapeaux de fonctionnalités désactivée](/docs/fr/env-vars#features-that-need-feature-flag-fetching), Claude Code stocke une tâche que vous avez demandé de conserver entre les sessions dans le fichier `.claude/scheduled_tasks.json` du projet. Quand le répertoire `.claude` ou ce fichier est un lien symbolique, Claude Code retourne une erreur au lieu de planifier la tâche. Une tâche enregistrée s'exécute uniquement dans le dossier du projet où vous l'avez créée. Si vous copiez le fichier dans un autre dossier, comme une nouvelle worktree, les sessions là-bas listent les tâches copiées mais ne les exécutent pas, donc créez la tâche à nouveau dans ce dossier.

242 242 

243Pour l'automatisation pilotée par cron qui doit s'exécuter sans surveillance :243Pour l'automatisation pilotée par cron qui doit s'exécuter sans surveillance :

244 244 

security.md +2 −2

Details

124 Sécurité de l'exécution cloud124 Sécurité de l'exécution cloud

125</h2>125</h2>

126 126 

127Lors de l'utilisation de [Claude Code sur le web](/docs/fr/claude-code-on-the-web), des contrôles de sécurité supplémentaires sont en place. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur votre propre infrastructure, où l'isolation, l'accès réseau sortant et les identifiants git relèvent de la responsabilité de votre déploiement. Dans les environnements hébergés par Anthropic :127Lors de l'utilisation de [sessions cloud](/docs/fr/claude-code-on-the-web), des contrôles de sécurité supplémentaires sont en place. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur votre propre infrastructure, où l'isolation, l'accès réseau sortant et les identifiants git relèvent de la responsabilité de votre déploiement. Dans les environnements hébergés par Anthropic :

128 128 

129* **Machines virtuelles isolées** : Chaque session cloud s'exécute dans une VM isolée gérée par Anthropic129* **Machines virtuelles isolées** : Chaque session cloud s'exécute dans une VM isolée gérée par Anthropic

130* **Contrôles d'accès réseau** : L'accès réseau est limité par défaut et peut être configuré pour être désactivé ou autoriser uniquement des domaines spécifiques130* **Contrôles d'accès réseau** : L'accès réseau est limité par défaut et peut être configuré pour être désactivé ou autoriser uniquement des domaines spécifiques


133* **Journalisation d'audit** : Toutes les opérations dans les sessions cloud sont enregistrées à des fins de conformité et d'audit133* **Journalisation d'audit** : Toutes les opérations dans les sessions cloud sont enregistrées à des fins de conformité et d'audit

134* **Nettoyage automatique** : Les VMs de session sont récupérées après une période d'inactivité134* **Nettoyage automatique** : Les VMs de session sont récupérées après une période d'inactivité

135 135 

136Pour plus de détails sur l'exécution cloud, consultez [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ; pour configurer l'accès réseau pour les sessions cloud, consultez [Configurer les environnements cloud](/docs/fr/cloud-environments#network-access).136Pour plus de détails sur l'exécution cloud, consultez [Utiliser Claude Code dans le cloud](/docs/fr/claude-code-on-the-web) ; pour configurer l'accès réseau pour les sessions cloud, consultez [Configurer les environnements cloud](/docs/fr/cloud-environments#network-access).

137 137 

138Les sessions de [Contrôle à distance](/docs/fr/remote-control) fonctionnent différemment : l'interface web se connecte à un processus Claude Code s'exécutant sur votre machine locale. Toute l'exécution du code et l'accès aux fichiers restent locaux, et le trafic de session transite par l'API Anthropic via TLS ; une fois connecté, la transcription de la session est stockée sur les serveurs Anthropic pour synchroniser la conversation entre les appareils, comme décrit dans [Connexion et sécurité](/docs/fr/remote-control#connection-and-security). Aucune VM cloud ou sandbox n'est impliquée. La connexion utilise plusieurs identifiants de courte durée et à portée étroite, chacun limité à un objectif spécifique et expirant indépendamment, pour limiter le rayon d'explosion de tout identifiant compromis unique.138Les sessions de [Contrôle à distance](/docs/fr/remote-control) fonctionnent différemment : l'interface web se connecte à un processus Claude Code s'exécutant sur votre machine locale. Toute l'exécution du code et l'accès aux fichiers restent locaux, et le trafic de session transite par l'API Anthropic via TLS ; une fois connecté, la transcription de la session est stockée sur les serveurs Anthropic pour synchroniser la conversation entre les appareils, comme décrit dans [Connexion et sécurité](/docs/fr/remote-control#connection-and-security). Aucune VM cloud ou sandbox n'est impliquée. La connexion utilise plusieurs identifiants de courte durée et à portée étroite, chacun limité à un objectif spécifique et expirant indépendamment, pour limiter le rayon d'explosion de tout identifiant compromis unique.

139 139 

Details

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 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 :

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* **Claude Code sur le web ou une session cloud desktop** : déclarez le plugin dans `.claude/settings.json` comme indiqué sous [Activer dans les sessions cloud](#enable-in-cloud-sessions-and-shared-repositories)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)

38 38 

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

40 40 


49 Activer dans les sessions cloud et les référentiels partagés49 Activer dans les sessions cloud et les référentiels partagés

50</h3>50</h3>

51 51 

52Les plugins à portée utilisateur ne sont pas transférés vers [Claude Code sur le web](/docs/fr/claude-code-on-the-web), car ces sessions s'exécutent dans le cloud plutôt que 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 :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 :

53 53 

54```json .claude/settings.json theme={null}54```json .claude/settings.json theme={null}

55{55{

Details

10 Les environnements auto-hébergés sont en bêta publique sur les plans Team et Enterprise et sont désactivés par défaut. Consultez [Disponibilité et limitations](#availability-and-limitations) pour le chemin d'activation et ce qui est exclu.10 Les environnements auto-hébergés sont en bêta publique sur les plans Team et Enterprise et sont désactivés par défaut. Consultez [Disponibilité et limitations](#availability-and-limitations) pour le chemin d'activation et ce qui est exclu.

11</Note>11</Note>

12 12 

13Un environnement auto-hébergé exécute les sessions cloud Claude Code sur l'infrastructure que votre organisation exploite. Une [session cloud](/docs/fr/claude-code-on-the-web) est toute session qui s'exécute ailleurs que sur la machine du développeur : les développeurs les démarrent à partir de claude.ai, des applications mobiles et de bureau, du terminal avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-web), et des [routines planifiées](/docs/fr/routines), et par défaut elles s'exécutent sur l'infrastructure d'Anthropic. Dans un environnement auto-hébergé, ces mêmes sessions s'exécutent à l'intérieur de votre réseau, et l'expérience développeur est par ailleurs la même à part les différences dans [Disponibilité et limitations](#availability-and-limitations) et les [problèmes connus](/docs/fr/self-hosted-environments-deploy#known-issues-and-limitations) de la page de déploiement.13Un environnement auto-hébergé exécute les sessions cloud Claude Code sur l'infrastructure que votre organisation exploite. Une [session cloud](/docs/fr/claude-code-on-the-web) est toute session qui s'exécute ailleurs que sur la machine du développeur : les développeurs les démarrent à partir de claude.ai, des applications mobiles et de bureau, du terminal avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud), et des [routines planifiées](/docs/fr/routines), et par défaut elles s'exécutent sur l'infrastructure d'Anthropic. Dans un environnement auto-hébergé, ces mêmes sessions s'exécutent à l'intérieur de votre réseau, et l'expérience développeur est par ailleurs la même à part les différences dans [Disponibilité et limitations](#availability-and-limitations) et les [problèmes connus](/docs/fr/self-hosted-environments-deploy#known-issues-and-limitations) de la page de déploiement.

14 14 

15Si votre équipe n'utilise pas les sessions cloud, il n'y a rien à configurer ici : les sessions dans un terminal ou un IDE s'exécutent toujours sur la machine du développeur. Si vous voulez exécuter Claude Code sur votre propre machine toujours active et la piloter à partir d'autres appareils, utilisez [Contrôle à distance](/docs/fr/remote-control), qui est également disponible sur les plans Pro et Max. Quand vous êtes prêt à configurer, allez directement au [démarrage rapide](/docs/fr/self-hosted-environments-quickstart) ; pour examiner d'abord la posture de sécurité, commencez par [Déployer en production](/docs/fr/self-hosted-environments-deploy). Le reste de cette page explique comment fonctionne l'auto-hébergement et quand le choisir.15Si votre équipe n'utilise pas les sessions cloud, il n'y a rien à configurer ici : les sessions dans un terminal ou un IDE s'exécutent toujours sur la machine du développeur. Si vous voulez exécuter Claude Code sur votre propre machine toujours active et la piloter à partir d'autres appareils, utilisez [Contrôle à distance](/docs/fr/remote-control), qui est également disponible sur les plans Pro et Max. Quand vous êtes prêt à configurer, allez directement au [démarrage rapide](/docs/fr/self-hosted-environments-quickstart) ; pour examiner d'abord la posture de sécurité, commencez par [Déployer en production](/docs/fr/self-hosted-environments-deploy). Le reste de cette page explique comment fonctionne l'auto-hébergement et quand le choisir.

16 16 


44 44 

45Vérifiez ceci avant de planifier un déploiement :45Vérifiez ceci avant de planifier un déploiement :

46 46 

47* **Plans** : bêta publique pour les organisations Team et Enterprise. Les environnements auto-hébergés sont désactivés par défaut ; un [Propriétaire](/docs/fr/cloud-environments#organization-shared-environments) active **Autoriser les environnements auto-hébergés** sur la [page d'administration **Environnements cloud**](https://claude.ai/admin-settings/cloud-environments), ce qui nécessite que [Claude Code sur le web](/docs/fr/claude-code-on-the-web) soit activé pour l'organisation.47* **Plans** : bêta publique pour les organisations Team et Enterprise. Les environnements auto-hébergés sont désactivés par défaut ; un [Propriétaire](/docs/fr/cloud-environments#organization-shared-environments) active **Autoriser les environnements auto-hébergés** sur la [page d'administration **Environnements cloud**](https://claude.ai/admin-settings/cloud-environments), ce qui nécessite que [les sessions cloud](/docs/fr/claude-code-on-the-web) soient activées pour l'organisation.

48* **Zéro rétention de données** : indisponible pour les organisations avec [Zéro rétention de données](/docs/fr/zero-data-retention) activée.48* **Zéro rétention de données** : indisponible pour les organisations avec [Zéro rétention de données](/docs/fr/zero-data-retention) activée.

49* **Inférence du modèle** : les sessions utilisent l'API Anthropic, et l'inférence ne peut pas être routée via [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/fr/third-party-integrations), ou une [passerelle LLM](/docs/fr/llm-gateway).49* **Inférence du modèle** : les sessions utilisent l'API Anthropic, et l'inférence ne peut pas être routée via [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/fr/third-party-integrations), ou une [passerelle LLM](/docs/fr/llm-gateway).

50* **Surfaces** : les sessions démarrées à partir de [Claude Code sur le web](/docs/fr/claude-code-on-the-web), les applications mobiles et de bureau, les [routines planifiées](/docs/fr/routines), et le terminal, avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-web) ou une [dispatch `--environment`](/docs/fr/self-hosted-environments-testing#run-the-test-loop), peuvent s'exécuter dans des environnements auto-hébergés. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) peuvent aussi s'y exécuter, mais Claude ne peut pas encore utiliser les [Bundles d'accès](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) dans ces sessions. Les sessions [Claude Security](/docs/fr/claude-security) et [Code Review](/docs/fr/code-review) ne les routent pas encore. Le support de ces deux surfaces suit séparément.50* **Surfaces** : les sessions démarrées à partir de [claude.ai/code](https://claude.ai/code), les applications mobiles et de bureau, les [routines planifiées](/docs/fr/routines), et le terminal, avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud) ou une [dispatch `--environment`](/docs/fr/self-hosted-environments-testing#run-the-test-loop), peuvent s'exécuter dans des environnements auto-hébergés. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) peuvent aussi s'y exécuter, mais Claude ne peut pas encore utiliser les [Bundles d'accès](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) dans ces sessions. Les sessions [Claude Security](/docs/fr/claude-security) et [Code Review](/docs/fr/code-review) ne les routent pas encore. Le support de ces deux surfaces suit séparément.

51* **Référentiels** : les sessions extraient les référentiels de GitHub ; consultez [Options d'authentification GitHub](/docs/fr/claude-code-on-the-web#github-authentication-options).51* **Référentiels** : les sessions extraient les référentiels de GitHub ; consultez [Options d'authentification GitHub](/docs/fr/claude-code-on-the-web#github-authentication-options).

52* **Facturation** : les sessions dans un environnement auto-hébergé consomment l'utilisation Claude Code de votre organisation de la même manière que les sessions dans les environnements hébergés par Anthropic.52* **Facturation** : les sessions dans un environnement auto-hébergé consomment l'utilisation Claude Code de votre organisation de la même manière que les sessions dans les environnements hébergés par Anthropic.

53 53 

Details

37| `CLAUDE_CODE_REMOTE_SESSION_ID` | ID de session sous la forme balisée `cse_...`. C'est la même session que les [hooks de cycle de vie](#lifecycle-hooks) voient comme `CLAUDE_RUNNER_SESSION_ID` sous la forme `session_...` ; les variables UUID correspondent entre les deux, et remplacer le préfixe `cse_` par `session_` donne l'ID affiché dans l'URL de la session. |37| `CLAUDE_CODE_REMOTE_SESSION_ID` | ID de session sous la forme balisée `cse_...`. C'est la même session que les [hooks de cycle de vie](#lifecycle-hooks) voient comme `CLAUDE_RUNNER_SESSION_ID` sous la forme `session_...` ; les variables UUID correspondent entre les deux, et remplacer le préfixe `cse_` par `session_` donne l'ID affiché dans l'URL de la session. |

38| `CLAUDE_CODE_REMOTE_SESSION_UUID` | Le même ID de session sous la forme UUID canonique, pour les systèmes qui utilisent des UUIDs comme clé. |38| `CLAUDE_CODE_REMOTE_SESSION_UUID` | Le même ID de session sous la forme UUID canonique, pour les systèmes qui utilisent des UUIDs comme clé. |

39| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | Chemin absolu vers un fichier par session contenant le JWT de session actuel, maintenu à jour lors des actualisations de token. Les sous-processus shell le lisent pour leur en-tête `Authorization` lors du téléchargement des pièces jointes que l'utilisateur a ajoutées à la session. `exec` préserve la variable automatiquement ; un wrapper qui reconstruit l'environnement de l'enfant doit transporter la variable, ou les téléchargements de pièces jointes s'arrêtent silencieusement. |39| `CLAUDE_SESSION_INGRESS_TOKEN_FILE` | Chemin absolu vers un fichier par session contenant le JWT de session actuel, maintenu à jour lors des actualisations de token. Les sous-processus shell le lisent pour leur en-tête `Authorization` lors du téléchargement des pièces jointes que l'utilisateur a ajoutées à la session. `exec` préserve la variable automatiquement ; un wrapper qui reconstruit l'environnement de l'enfant doit transporter la variable, ou les téléchargements de pièces jointes s'arrêtent silencieusement. |

40| `CLAUDE_CONFIG_DIR` | Répertoire de configuration Claude par session, écrit au démarrage de la session à partir de l'instantané de la configuration de l'hôte runner que le runner capture au démarrage ; voir [Permissions et approbation d'outils](#permissions-and-tool-approval). Les écritures ici sont isolées à cette session. |40| `CLAUDE_CONFIG_DIR` | Répertoire de configuration Claude par session, écrit au démarrage de la session à partir de l'instantané de la configuration de l'hôte runner que le runner capture au démarrage ; voir [Permissions et approbation d'outils](#permissions-and-tool-approval). Les écritures ici sont isolées à cette session. Le répertoire reste sous `<base-dir>/_sessions/` après la fin de la session sauf si vous démarrez le runner avec [`--remove-session-state`](/docs/fr/self-hosted-environments-reference#runner-cli-flags) ; voir [Réutiliser un checkout pré-chauffé](/docs/fr/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout). |

41| `ANTHROPIC_BASE_URL` | L'URL de base de l'API que l'enfant utilisera, livrée par le plan de contrôle par session et normalement `https://api.anthropic.com`. Ne la remplacez pas : l'identifiant d'inférence de la session est un token OAuth émis par Anthropic que les autres fournisseurs n'acceptent pas, donc l'inférence dans les environnements auto-hébergés n'est pas routable ailleurs. |41| `ANTHROPIC_BASE_URL` | L'URL de base de l'API que l'enfant utilisera, livrée par le plan de contrôle par session et normalement `https://api.anthropic.com`. Ne la remplacez pas : l'identifiant d'inférence de la session est un token OAuth émis par Anthropic que les autres fournisseurs n'acceptent pas, donc l'inférence dans les environnements auto-hébergés n'est pas routable ailleurs. |

42| `CLAUDE_CODE_OAUTH_TOKEN` | Le token d'accès OAuth de courte durée que l'enfant utilise pour l'inférence du modèle, limité à l'inférence du modèle et au téléchargement de fichiers uniquement, avec une durée de vie d'environ 30 minutes. Le runner le rémet avant l'expiration et livre la rotation sur stdin de l'enfant, donc un wrapper qui ne [garde pas stdin attaché](#keep-stdin-and-file-descriptor-3-attached) ne voit que la valeur initiale. Ne vous fiez pas à la liste d'adresses IP autorisées de votre organisation pour limiter l'utilisation de ce token : traitez-le comme un identifiant bearer qui reste utilisable pendant environ 30 minutes s'il fuit, et ne le consignez pas, ne l'écrivez pas sur le disque et ne le transmettez pas en dehors du conteneur de session. |42| `CLAUDE_CODE_OAUTH_TOKEN` | Le token d'accès OAuth de courte durée que l'enfant utilise pour l'inférence du modèle, limité à l'inférence du modèle et au téléchargement de fichiers uniquement, avec une durée de vie d'environ 30 minutes. Le runner le rémet avant l'expiration et livre la rotation sur stdin de l'enfant, donc un wrapper qui ne [garde pas stdin attaché](#keep-stdin-and-file-descriptor-3-attached) ne voit que la valeur initiale. Ne vous fiez pas à la liste d'adresses IP autorisées de votre organisation pour limiter l'utilisation de ce token : traitez-le comme un identifiant bearer qui reste utilisable pendant environ 30 minutes s'il fuit, et ne le consignez pas, ne l'écrivez pas sur le disque et ne le transmettez pas en dehors du conteneur de session. |

43 43 


414 Comment la configuration de chaque session est assemblée414 Comment la configuration de chaque session est assemblée

415</h3>415</h3>

416 416 

417Le runner donne à chaque session son propre répertoire de configuration, semé à partir d'un instantané en mémoire du `~/.claude/` de l'hôte que le runner capture une fois au démarrage : `settings.json`, `CLAUDE.md`, hooks, agents, commandes et skills dans votre image runner s'appliquent à chaque session comme la ligne de base au niveau utilisateur. Parce que l'instantané est pris au démarrage, les changements de configuration sur un hôte en cours d'exécution ne prennent effet qu'après un redémarrage du runner. Définissez `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` pour semer à partir d'un chemin différent, ou pointez-le vers un répertoire vide pour désactiver le semis.417Le runner donne à chaque session son propre répertoire de configuration, semé à partir d'un instantané du `~/.claude/` de l'hôte que le runner capture une fois au démarrage : `settings.json`, `CLAUDE.md`, hooks, agents, commandes et skills dans votre image runner s'appliquent à chaque session comme la ligne de base au niveau utilisateur. Si vous modifiez la configuration sur un hôte en cours d'exécution, la modification ne prend effet qu'après le redémarrage du runner.

418 

419Définissez `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` pour semer à partir d'un chemin différent, ou pointez-le vers un répertoire vide pour désactiver le semis.

418 420 

419Le `.claude/settings.json` validé dans le référentiel se superpose comme paramètres du projet. Les sessions lisent également [`managed-settings.json`](/docs/fr/settings#where-settings-live) à partir du chemin système standard dans votre image runner. Que ses clés s'appliquent aux côtés des [paramètres gérés par le serveur](/docs/fr/server-managed-settings) suit [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) : par défaut, quand votre organisation livre des clés gérées par le serveur, les sessions ignorent le fichier de l'image runner à part les [clés que Claude Code lit à partir de chaque source d'administration](/docs/fr/managed-settings#keys-read-from-every-admin-source), comme le bloc `env`, les verrous de sandbox, les chemins binaires de sandbox et `forceRemoteSettingsRefresh`. Voir [précédence des paramètres](/docs/fr/settings#settings-precedence).421Le `.claude/settings.json` validé dans le référentiel se superpose comme paramètres du projet. Les sessions lisent également [`managed-settings.json`](/docs/fr/settings#where-settings-live) à partir du chemin système standard dans votre image runner. Que ses clés s'appliquent aux côtés des [paramètres gérés par le serveur](/docs/fr/server-managed-settings) suit [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) : par défaut, quand votre organisation livre des clés gérées par le serveur, les sessions ignorent le fichier de l'image runner à part les [clés que Claude Code lit à partir de chaque source d'administration](/docs/fr/managed-settings#keys-read-from-every-admin-source), comme le bloc `env`, les verrous de sandbox, les chemins binaires de sandbox et `forceRemoteSettingsRefresh`. Voir [précédence des paramètres](/docs/fr/settings#settings-precedence).

420 422 

Details

434 434 

435* **N'importe quelle forme de clone fonctionne** : un clone complet, peu profond, ou à branche unique au chemin est utilisé tel quel. Le runner ne passe jamais `--depth` lors de la récupération dans un clone existant, donc un pré-chauffage complet garde son historique complet et un peu profond reste peu profond. `CLAUDE_RUNNER_FETCH_DEPTH` (`full`, `0`, ou un nombre ; par défaut 50) contrôle uniquement le clone froid que le runner fait quand aucun clone n'existe encore.435* **N'importe quelle forme de clone fonctionne** : un clone complet, peu profond, ou à branche unique au chemin est utilisé tel quel. Le runner ne passe jamais `--depth` lors de la récupération dans un clone existant, donc un pré-chauffage complet garde son historique complet et un peu profond reste peu profond. `CLAUDE_RUNNER_FETCH_DEPTH` (`full`, `0`, ou un nombre ; par défaut 50) contrôle uniquement le clone froid que le runner fait quand aucun clone n'existe encore.

436* **Les changements suivis se réinitialisent, les fichiers non suivis persistent** : chaque session commence à partir d'une réinitialisation dur qui efface les modifications suivies de la session précédente, mais le runner ne lance jamais `git clean`, donc les fichiers non suivis des sessions antérieures du propriétaire verrouillé restent dans l'arbre.436* **Les changements suivis se réinitialisent, les fichiers non suivis persistent** : chaque session commence à partir d'une réinitialisation dur qui efface les modifications suivies de la session précédente, mais le runner ne lance jamais `git clean`, donc les fichiers non suivis des sessions antérieures du propriétaire verrouillé restent dans l'arbre.

437* **Les répertoires par session persistent aussi** : à côté du checkout, le runner crée des entrées par session sous `<base-dir>/_sessions/` pour chaque session qu'il exécute. Le répertoire de configuration Claude de la session contient une copie locale de la transcription de la conversation. À côté se trouvent les fichiers téléchargés de la session, quand la session en a. Le répertoire de session s'y trouve aussi : il contient tous les worktrees par session et les checkouts du hook `checkout` pendant que la session s'exécute, et il conserve tout ce que Claude a écrit dedans.

438 

439 Par défaut, le runner les laisse en place quand la session se termine, donc sur un disque qui survit au processus runner, ils s'accumulent. Chaque session s'exécute en tant qu'utilisateur du runner, donc toute session ultérieure que ce disque sert peut les lire. Si vous conservez un `--base-dir` persistant, dimensionnez le volume pour cette croissance. La même chose s'applique à toute configuration qui redémarre le runner sur le même système de fichiers, y compris la [recette Docker Compose](#docker-compose).

440* **Avec `--remove-session-state`, les répertoires par session ne persistent pas** : démarrez le runner avec [`--remove-session-state`](/docs/fr/self-hosted-environments-reference#runner-cli-flags) pour qu'il supprime les répertoires par session de chaque session à la fin de la session. La suppression est au mieux : les répertoires restent quand le runner est tué avant l'exécution de son nettoyage. Le clone canonique et les fichiers qu'une session a écrits ailleurs sur l'hôte, comme le répertoire temporaire, restent indépendamment.

437* **Avec le proxy git, la réinitialisation devient un checkout** : avec [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), le runner assainit le `.git/` du clone avant chaque session, gardant le magasin d'objets, les refs, et l'état peu profond mais supprimant l'index, donc chaque session paie un checkout complet de l'arbre de travail au lieu d'une réinitialisation quasi-instantanée ; il ne re-clone toujours pas. Les pré-chauffages de sous-module ne sont pas supportés sous le proxy.441* **Avec le proxy git, la réinitialisation devient un checkout** : avec [`--use-anthropic-git-proxy`](#use-the-anthropic-git-proxy), le runner assainit le `.git/` du clone avant chaque session, gardant le magasin d'objets, les refs, et l'état peu profond mais supprimant l'index, donc chaque session paie un checkout complet de l'arbre de travail au lieu d'une réinitialisation quasi-instantanée ; il ne re-clone toujours pas. Les pré-chauffages de sous-module ne sont pas supportés sous le proxy.

438* **Les longs clones n'ont besoin d'aucune solution de contournement** : le runner limite chaque opération git avec un watchdog sans progrès de 120 secondes et un plafond dur de 30 minutes, pas un délai d'expiration plat, donc un clone froid lent qui continue de signaler le progrès se termine.442* **Les longs clones n'ont besoin d'aucune solution de contournement** : le runner limite chaque opération git avec un watchdog sans progrès de 120 secondes et un plafond dur de 30 minutes, pas un délai d'expiration plat, donc un clone froid lent qui continue de signaler le progrès se termine.

439 443 


530* **Les sessions prennent des minutes pour démarrer** : le clone initial domine généralement. Regardez la [métrique](/docs/fr/self-hosted-environments-reference#prometheus-metrics) `claude_code_self_hosted_runner_session_init_duration_seconds` pour confirmer, et coupez le clone avec un [checkout pré-chauffé](#reuse-a-pre-warmed-checkout) ou un `CLAUDE_RUNNER_FETCH_DEPTH` plus petit.534* **Les sessions prennent des minutes pour démarrer** : le clone initial domine généralement. Regardez la [métrique](/docs/fr/self-hosted-environments-reference#prometheus-metrics) `claude_code_self_hosted_runner_session_init_duration_seconds` pour confirmer, et coupez le clone avec un [checkout pré-chauffé](#reuse-a-pre-warmed-checkout) ou un `CLAUDE_RUNNER_FETCH_DEPTH` plus petit.

531* **Le pod est tué en milieu de drainage** : augmentez `terminationGracePeriodSeconds` à au moins la valeur que le runner enregistre au démarrage. Consultez [Timing d'arrêt](#shutdown-timing).535* **Le pod est tué en milieu de drainage** : augmentez `terminationGracePeriodSeconds` à au moins la valeur que le runner enregistre au démarrage. Consultez [Timing d'arrêt](#shutdown-timing).

532 536 

533Une fois que la journalisation est initialisée, le runner écrit son journal de cycle de vie, y compris les lignes `[runner:fatal]`, à stdout, et la sortie de débogage à stderr, tout comme des lignes en texte brut plutôt que JSON. Les échecs de démarrage décrits dans les entrées de dépannage ci-dessus s'impriment à stderr avant ce point. Capturez les deux flux avec `--log-file`, ce qui permet également à `self-hosted-runner doctor` de les suivre, ou avec la collecte de journaux de votre plateforme. Le processus enfant de chaque session écrit un journal de débogage séparé. En cas d'échec, le runner préserve le journal, imprime le chemin du journal dans le journal du runner, et affiche la queue du journal aux côtés de la session dans claude.ai/code.537Une fois que la journalisation est initialisée, le runner écrit son journal de cycle de vie, y compris les lignes `[runner:fatal]`, à stdout, et la sortie de débogage à stderr, tout comme des lignes en texte brut plutôt que JSON. Les échecs de démarrage décrits dans les entrées de dépannage ci-dessus s'impriment à stderr avant ce point. Capturez les deux flux avec `--log-file`, ce qui permet également à `self-hosted-runner doctor` de les suivre, ou avec la collecte de journaux de votre plateforme.

538 

539Le processus enfant de chaque session écrit un journal de débogage séparé. En cas d'échec, le runner affiche la queue du journal aux côtés de la session dans claude.ai/code. À moins que vous n'ayez démarré le runner avec [`--remove-session-state`](/docs/fr/self-hosted-environments-reference#runner-cli-flags), il conserve également le journal d'une session échouée sur le disque et imprime son chemin dans le journal du runner.

534 540 

535<h2 id="what’s-next">541<h2 id="what’s-next">

536 Prochaines étapes542 Prochaines étapes

Details

26| `--base-dir <path>` | `SELF_HOSTED_RUNNER_BASE_DIR` | `/workspace` ; aucune sur Windows | Répertoire pour les clones de dépôts et les répertoires de travail par session. Le runner a besoin d'un accès en écriture à ce chemin ou à son parent. Le runner crée le répertoire au démarrage et se termine avec `cannot create or write to base directory` quand il ne peut pas le créer ou y écrire. Avant v2.1.225, le runner créait le répertoire au démarrage de la première session, donc un chemin inutilisable échouait les sessions plutôt que le démarrage. Sur Windows, qui n'est pas un hôte runner supporté, il n'y a pas de valeur par défaut : le runner se termine au démarrage sauf si vous passez le drapeau ou définissez la variable. Utilisez la même valeur sur chaque runner dans un environnement. Voir [Garder le répertoire de base et la capacité identiques sur tous les runners](/docs/fr/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |26| `--base-dir <path>` | `SELF_HOSTED_RUNNER_BASE_DIR` | `/workspace` ; aucune sur Windows | Répertoire pour les clones de dépôts et les répertoires de travail par session. Le runner a besoin d'un accès en écriture à ce chemin ou à son parent. Le runner crée le répertoire au démarrage et se termine avec `cannot create or write to base directory` quand il ne peut pas le créer ou y écrire. Avant v2.1.225, le runner créait le répertoire au démarrage de la première session, donc un chemin inutilisable échouait les sessions plutôt que le démarrage. Sur Windows, qui n'est pas un hôte runner supporté, il n'y a pas de valeur par défaut : le runner se termine au démarrage sauf si vous passez le drapeau ou définissez la variable. Utilisez la même valeur sur chaque runner dans un environnement. Voir [Garder le répertoire de base et la capacité identiques sur tous les runners](/docs/fr/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |

27| `--capacity <n>` | aucune | `1` | Nombre maximum de sessions simultanées que ce runner gère. Toutes les sessions appartiennent au même [propriétaire](/docs/fr/self-hosted-environments#key-concepts) verrouillé. Utilisez la même valeur sur chaque runner dans un environnement ; voir [Garder le répertoire de base et la capacité identiques sur tous les runners](/docs/fr/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |27| `--capacity <n>` | aucune | `1` | Nombre maximum de sessions simultanées que ce runner gère. Toutes les sessions appartiennent au même [propriétaire](/docs/fr/self-hosted-environments#key-concepts) verrouillé. Utilisez la même valeur sur chaque runner dans un environnement ; voir [Garder le répertoire de base et la capacité identiques sur tous les runners](/docs/fr/self-hosted-environments-deploy#keep-the-base-directory-and-capacity-identical-across-runners). |

28| `--client-label <label>` | `SELF_HOSTED_RUNNER_CLIENT_LABEL` | le nom d'hôte de l'hôte | Étiquette que le runner envoie lors de son enregistrement. Le runner la signale également comme l'étiquette `client_label` de [`claude_code_self_hosted_runner_info`](#prometheus-metrics). Nécessite Claude Code v2.1.248 ou ultérieur. |28| `--client-label <label>` | `SELF_HOSTED_RUNNER_CLIENT_LABEL` | le nom d'hôte de l'hôte | Étiquette que le runner envoie lors de son enregistrement. Le runner la signale également comme l'étiquette `client_label` de [`claude_code_self_hosted_runner_info`](#prometheus-metrics). Nécessite Claude Code v2.1.248 ou ultérieur. |

29| `--configure-git` | `SELF_HOSTED_RUNNER_CONFIGURE_GIT=1` | désactivé | Écrire l'identité git globale et activer la signature de commit Anthropic au démarrage. Voir [Configurer git](/docs/fr/self-hosted-environments-deploy#configure-git). |29| `--configure-git` | `SELF_HOSTED_RUNNER_CONFIGURE_GIT=1` | désactivé | Au démarrage, écrire l'identité git globale, activer la signature de commit Anthropic, activer la négociation de push git, et installer des hooks de commit qui ajoutent une remorque `Co-authored-by:`. La négociation de push nécessite Claude Code v2.1.257 ou ultérieur. Voir [Configurer git](/docs/fr/self-hosted-environments-deploy#configure-git). |

30| `--confine-repo-settings <mode>` | `SELF_HOSTED_RUNNER_CONFINE_REPO_SETTINGS` | `warn` | Définit le mode de la garde qui signale une session quand les paramètres validés d'un dépôt tentent d'accorder un accès en écriture ou en lecture en dehors de l'espace de travail de cette session, de définir des variables d'environnement ou de remplacer la posture sandbox ou hooks de l'opérateur, comme `sandbox.enabled: false` ou `disableAllHooks`. Le `warn` par défaut enregistre la violation et démarre quand même la session, `enforce` refuse la session, et `off` désactive l'analyse. Voir [Renforcer votre déploiement](/docs/fr/self-hosted-environments-deploy#harden-your-deployment). |30| `--confine-repo-settings <mode>` | `SELF_HOSTED_RUNNER_CONFINE_REPO_SETTINGS` | `warn` | Définit le mode de la garde qui signale une session quand les paramètres validés d'un dépôt tentent d'accorder un accès en écriture ou en lecture en dehors de l'espace de travail de cette session, de définir des variables d'environnement ou de remplacer la posture sandbox ou hooks de l'opérateur, comme `sandbox.enabled: false` ou `disableAllHooks`. Le `warn` par défaut enregistre la violation et démarre quand même la session, `enforce` refuse la session, et `off` désactive l'analyse. Voir [Renforcer votre déploiement](/docs/fr/self-hosted-environments-deploy#harden-your-deployment). |

31| `--debug-token-dir <path>` | `SELF_HOSTED_RUNNER_DEBUG_TOKEN_DIR` | non défini | Écrire les tokens en direct sur le disque pour inspection. Débogage uniquement ; ne pas utiliser en production. |31| `--debug-token-dir <path>` | `SELF_HOSTED_RUNNER_DEBUG_TOKEN_DIR` | non défini | Écrire les tokens en direct sur le disque pour inspection. Débogage uniquement ; ne pas utiliser en production. |

32| `--defer-shutdown-max-min <n>` | `SELF_HOSTED_RUNNER_DEFER_SHUTDOWN_MAX_MS` | `0` | Au premier `SIGTERM` ou `SIGINT`, continuer à servir les sessions déjà attachées au lieu de les drainer, puis libérer tout ce qui est encore attaché N minutes plus tard et quitter. Augmentez le délai d'arrêt de votre hôte avant de définir ceci. Voir [Différer le drainage après le premier signal](/docs/fr/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal). `0` désactive. Nécessite Claude Code v2.1.238 ou ultérieur. |32| `--defer-shutdown-max-min <n>` | `SELF_HOSTED_RUNNER_DEFER_SHUTDOWN_MAX_MS` | `0` | Au premier `SIGTERM` ou `SIGINT`, continuer à servir les sessions déjà attachées au lieu de les drainer, puis libérer tout ce qui est encore attaché N minutes plus tard et quitter. Augmentez le délai d'arrêt de votre hôte avant de définir ceci. Voir [Différer le drainage après le premier signal](/docs/fr/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal). `0` désactive. Nécessite Claude Code v2.1.238 ou ultérieur. |

33| `--drain-grace-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_GRACE_MS` | `0` | Jusqu'à ce que le runner reçoive un signal d'arrêt ou atteigne son heure de retraite, contrôle quand le runner se termine après la fin de ses sessions actives : `0` se termine immédiatement sans interrogation supplémentaire, et une valeur positive garde le runner actif et réinterroge la file d'attente du propriétaire verrouillé pendant ce nombre de secondes d'abord, au prix de l'isolation de conteneur par session décrite dans la [section de renforcement](/docs/fr/self-hosted-environments-deploy#harden-your-deployment). Après un premier signal que vous avez différé avec [`--defer-shutdown-max-min`](/docs/fr/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), le runner se termine dès qu'il ne détient aucune session, quelle que soit la valeur que vous définissez ici. |33| `--drain-grace-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_GRACE_MS` | `0` | Jusqu'à ce que le runner reçoive un signal d'arrêt ou atteigne son heure de retraite, contrôle quand le runner se termine après la fin de ses sessions actives : `0` se termine immédiatement sans interrogation supplémentaire, et une valeur positive garde le runner actif et réinterroge la file d'attente du propriétaire verrouillé pendant ce nombre de secondes d'abord, au prix de l'isolation de conteneur par session décrite dans la [section de renforcement](/docs/fr/self-hosted-environments-deploy#harden-your-deployment). Après un premier signal que vous avez différé avec [`--defer-shutdown-max-min`](/docs/fr/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), le runner se termine dès qu'il ne détient aucune session, quelle que soit la valeur que vous définissez ici. |

34| `--drain-marker-file <path>` | `SELF_HOSTED_RUNNER_DRAIN_MARKER_FILE` | non défini | Fichier marqueur que votre hôte écrit pour annoncer un drainage gracieux avant d'envoyer `SIGTERM`. Quand le fichier existe au démarrage du drainage, le runner signale sa sortie à Anthropic comme un drainage d'hôte plutôt qu'un simple signal d'arrêt. Le drainage lui-même, y compris la retenue `--drain-wait-sec`, s'exécute de la même manière que sans le drapeau. Nommez un chemin sur un système de fichiers local que les sessions ne peuvent pas écrire. Nécessite Claude Code v2.1.271 ou ultérieur. |

34| `--drain-wait-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_WAIT_MS` | `0` | Une fois le drainage commencé, qui se fait sur `SIGTERM` sauf si vous définissez [`--defer-shutdown-max-min`](/docs/fr/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), attendez jusqu'à N secondes pour que le tour en vol de chaque session et les tâches de fond se terminent avant de terminer l'enfant. Pendant cette attente, le runner compte une tâche de fond qui vient de se terminer comme toujours en cours d'exécution jusqu'au tour de suivi qui lit son résultat commence, pendant au maximum la fenêtre [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). |35| `--drain-wait-sec <n>` | `SELF_HOSTED_RUNNER_DRAIN_WAIT_MS` | `0` | Une fois le drainage commencé, qui se fait sur `SIGTERM` sauf si vous définissez [`--defer-shutdown-max-min`](/docs/fr/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), attendez jusqu'à N secondes pour que le tour en vol de chaque session et les tâches de fond se terminent avant de terminer l'enfant. Pendant cette attente, le runner compte une tâche de fond qui vient de se terminer comme toujours en cours d'exécution jusqu'au tour de suivi qui lit son résultat commence, pendant au maximum la fenêtre [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). |

35| `--environment-secret-file <path>` | `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` | requis | Chemin vers un fichier contenant le secret d'environnement, ou, pour les runners générés par l'[orchestrateur](/docs/fr/self-hosted-environments-configuration#on-demand-runners), le JWT de bon de travail à usage unique. `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` porte la valeur secrète directement, pas un chemin de fichier. L'ancien drapeau `--pool-secret-file` et la variable `SELF_HOSTED_RUNNER_POOL_SECRET` fonctionnent toujours et impriment un avis de dépréciation sur stderr ; les builds de runner du programme d'aperçu plus anciens que 2.1.216 ne reconnaissent que ces anciens noms. |36| `--environment-secret-file <path>` | `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` | requis | Chemin vers un fichier contenant le secret d'environnement, ou, pour les runners générés par l'[orchestrateur](/docs/fr/self-hosted-environments-configuration#on-demand-runners), le JWT de bon de travail à usage unique. `SELF_HOSTED_RUNNER_ENVIRONMENT_SECRET` porte la valeur secrète directement, pas un chemin de fichier. L'ancien drapeau `--pool-secret-file` et la variable `SELF_HOSTED_RUNNER_POOL_SECRET` fonctionnent toujours et impriment un avis de dépréciation sur stderr ; les builds de runner du programme d'aperçu plus anciens que 2.1.216 ne reconnaissent que ces anciens noms. |

36| `--exec-path <path>` | `SELF_HOSTED_RUNNER_EXEC_PATH` | binaire propre | Binaire ou script wrapper à générer pour chaque session. Voir [Scripts wrapper](/docs/fr/self-hosted-environments-configuration#wrapper-scripts). |37| `--exec-path <path>` | `SELF_HOSTED_RUNNER_EXEC_PATH` | binaire propre | Binaire ou script wrapper à générer pour chaque session. Voir [Scripts wrapper](/docs/fr/self-hosted-environments-configuration#wrapper-scripts). |


39| `--git-ssh-rewrite <host>` | aucune | non défini | Réécrire les URL sources `https://<host>/...` en `git@<host>:...` avant le clonage, pour les hôtes git SSH uniquement. Répétable ; drapeau uniquement. |40| `--git-ssh-rewrite <host>` | aucune | non défini | Réécrire les URL sources `https://<host>/...` en `git@<host>:...` avant le clonage, pour les hôtes git SSH uniquement. Répétable ; drapeau uniquement. |

40| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | Port pour l'écouteur `/healthz` et `/metrics`. Définir `0` pour désactiver. |41| `--health-port <port>` | `SELF_HOSTED_RUNNER_HEALTH_PORT` | `8080` | Port pour l'écouteur `/healthz` et `/metrics`. Définir `0` pour désactiver. |

41| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | non défini | Répertoire des scripts de hook de cycle de vie. Voir [Hooks de cycle de vie](/docs/fr/self-hosted-environments-configuration#lifecycle-hooks). |42| `--hooks-dir <path>` | `SELF_HOSTED_RUNNER_HOOKS_DIR` | non défini | Répertoire des scripts de hook de cycle de vie. Voir [Hooks de cycle de vie](/docs/fr/self-hosted-environments-configuration#lifecycle-hooks). |

42| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | Terminer un enfant de session une fois qu'il a vécu N minutes en temps réel, comme limite de sécurité pour les sessions bloquées. Le runner termine l'arborescence des processus de la session, y compris toutes les commandes que la session a laissées en cours d'exécution. Le runner diffère une suppression qui tombe au milieu d'un tour jusqu'à la fin du tour, pendant au maximum la fenêtre [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings). Pour choisir une valeur, voir [Certaines sessions ne comptent pas comme inactives](/docs/fr/self-hosted-environments-deploy#some-sessions-don't-count-as-idle). `0` désactive. |43| `--host-config-snapshot <mode>` | `SELF_HOSTED_RUNNER_HOST_CONFIG_SNAPSHOT` | `disk` | Où le runner garde l'instantané de démarrage du [répertoire de configuration d'hôte](#environment-variable-only-settings) qu'il amorce chaque session à partir de. `disk` copie l'instantané dans un répertoire appartenant au runner sous `--base-dir` et, à chaque démarrage de session, vérifie chaque fichier par rapport à un digest en mémoire. Si un fichier dans la copie a été modifié, la session échoue et le runner refuse les sessions jusqu'à ce que vous le redémarriez. `memory` garde l'instantané entier sur le tas, limité à 64 MiB ; au-delà de la limite, les sessions démarrent sans configuration d'hôte et affichent un avis le disant. Quand le runner ne peut pas écrire l'instantané disque, il enregistre l'échec et utilise `memory` pour cette exécution. Nécessite Claude Code v2.1.271 ou ultérieur. |

44| `--kill-session-after-min <n>` | `SELF_HOSTED_RUNNER_MAX_LIFETIME_MS` | `0` | Limiter une session à N minutes en temps réel, comme limite de sécurité pour les sessions bloquées. Sur v2.1.260 ou ultérieur, le runner libère une session qui atteint la limite afin qu'elle puisse reprendre au prochain message de son utilisateur, et la termine uniquement si elle est toujours sur le runner quand la fenêtre de grâce [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings) se termine. Avant v2.1.260, le runner terminait la session à la limite. Voir [Certaines sessions ne comptent pas comme inactives](/docs/fr/self-hosted-environments-deploy#some-sessions-don%E2%80%99t-count-as-idle) pour les détails et comment choisir une valeur. `0` désactive. |

43| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | non défini | Pré-verrouiller le runner à un compte spécifique au démarrage au lieu de verrouiller à la première session. Accepte une adresse e-mail ou un ID `user_...` dans l'organisation de l'environnement. Un runner pré-verrouillé ne récupère jamais les sessions du canal Claude Tag, qui n'ont pas de compte. |45| `--lock-to-account <id>` | `SELF_HOSTED_RUNNER_LOCK_TO_ACCOUNT` | non défini | Pré-verrouiller le runner à un compte spécifique au démarrage au lieu de verrouiller à la première session. Accepte une adresse e-mail ou un ID `user_...` dans l'organisation de l'environnement. Un runner pré-verrouillé ne récupère jamais les sessions du canal Claude Tag, qui n'ont pas de compte. |

44| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | non défini | Refléter les logs du runner vers un fichier en plus de stdout et stderr, créé avec les permissions `0600`. Requis pour que `self-hosted-runner doctor` suive les logs localement. |46| `--log-file <path>` | `SELF_HOSTED_RUNNER_LOG_FILE` | non défini | Refléter les logs du runner vers un fichier en plus de stdout et stderr, créé avec les permissions `0600`. Requis pour que `self-hosted-runner doctor` suive les logs localement. |

45| `--log-level <level>` | aucune | `info` | `info` ou `debug` |47| `--log-level <level>` | aucune | `info` | `info` ou `debug` |


48| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | non défini | Fichier que le runner lit pour chaque connexion à votre proxy de sortie, en utilisant son contenu coupé comme valeur d'en-tête `Proxy-Authorization`. Utilisez ce drapeau pour un token qu'un autre processus fait tourner en place. Porte les mêmes exigences que `--proxy-authorization-command`, et ne peut pas être combiné avec lui. Voir [S'authentifier auprès d'un proxy de sortie](/docs/fr/self-hosted-environments-deploy#authenticate-to-an-egress-proxy). Nécessite Claude Code v2.1.238 ou ultérieur. |50| `--proxy-authorization-file <path>` | `SELF_HOSTED_RUNNER_PROXY_AUTHORIZATION_FILE` | non défini | Fichier que le runner lit pour chaque connexion à votre proxy de sortie, en utilisant son contenu coupé comme valeur d'en-tête `Proxy-Authorization`. Utilisez ce drapeau pour un token qu'un autre processus fait tourner en place. Porte les mêmes exigences que `--proxy-authorization-command`, et ne peut pas être combiné avec lui. Voir [S'authentifier auprès d'un proxy de sortie](/docs/fr/self-hosted-environments-deploy#authenticate-to-an-egress-proxy). Nécessite Claude Code v2.1.238 ou ultérieur. |

49| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | désactivé | À la fin d'une session initiée par le runner comme un drainage ou une libération inactive, pousser les branches de résultat suivies vers `origin` avant de supprimer l'espace de travail, afin que les commits en vol survivent à un redémarrage. Meilleur effort ; ajoute 30 secondes au budget d'arrêt, et nécessite git 2.29 ou plus récent pour reprendre à partir de la branche poussée. Restreindre l'accès en push aux refs `claude/*` avant d'activer ; voir [Les sessions reprises perdent le travail non poussé](/docs/fr/self-hosted-environments-deploy#additional-limitations). Les dépôts extraits via un hook de cycle de vie `checkout` ne sont pas poussés ; prenez des snapshots de ceux-ci à partir du hook [`post-session`](/docs/fr/self-hosted-environments-configuration#post-session) à la place. |51| `--push-outcome-on-release` | `SELF_HOSTED_RUNNER_PUSH_OUTCOME_ON_RELEASE` | désactivé | À la fin d'une session initiée par le runner comme un drainage ou une libération inactive, pousser les branches de résultat suivies vers `origin` avant de supprimer l'espace de travail, afin que les commits en vol survivent à un redémarrage. Meilleur effort ; ajoute 30 secondes au budget d'arrêt, et nécessite git 2.29 ou plus récent pour reprendre à partir de la branche poussée. Restreindre l'accès en push aux refs `claude/*` avant d'activer ; voir [Les sessions reprises perdent le travail non poussé](/docs/fr/self-hosted-environments-deploy#additional-limitations). Les dépôts extraits via un hook de cycle de vie `checkout` ne sont pas poussés ; prenez des snapshots de ceux-ci à partir du hook [`post-session`](/docs/fr/self-hosted-environments-configuration#post-session) à la place. |

50| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Libérer un créneau de session après N minutes d'inactivité une fois qu'un tour se termine ou que la session attend l'action de l'utilisateur. Une session qui est toujours au milieu d'un tour, y compris une qui détient une tâche de fond qui ne finit jamais ou une approbation demandée de l'intérieur d'un appel d'outil en cours d'exécution, ne compte pas comme inactive ; associer avec `--kill-session-after-min` comme butée dure. Après la fin de la tâche de fond d'une session, le runner considère la session comme occupée jusqu'au tour de suivi qui lit le résultat commence, pendant au maximum la fenêtre [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Jusqu'à ce que le runner reçoive un signal d'arrêt ou atteigne son heure de retraite, une libération qui laisse le runner sans sessions actives démarre le même chemin de sortie qu'un drainage normal, gouverné par `--drain-grace-sec`. Après un premier signal que vous avez différé avec [`--defer-shutdown-max-min`](/docs/fr/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), le runner se termine dès qu'une libération le laisse sans sessions. `0` désactive. |52| `--release-idle-session-min <n>` | `SELF_HOSTED_RUNNER_SESSION_IDLE_MS` | `0` | Libérer un créneau de session après N minutes d'inactivité une fois qu'un tour se termine ou que la session attend l'action de l'utilisateur. Une session qui est toujours au milieu d'un tour, y compris une qui détient une tâche de fond qui ne finit jamais ou une approbation demandée de l'intérieur d'un appel d'outil en cours d'exécution, ne compte pas comme inactive ; associer avec `--kill-session-after-min` comme butée dure. Après la fin de la tâche de fond d'une session, le runner considère la session comme occupée jusqu'au tour de suivi qui lit le résultat commence, pendant au maximum la fenêtre [`SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS`](#environment-variable-only-settings). Jusqu'à ce que le runner reçoive un signal d'arrêt ou atteigne son heure de retraite, une libération qui laisse le runner sans sessions actives démarre le même chemin de sortie qu'un drainage normal, gouverné par `--drain-grace-sec`. Après un premier signal que vous avez différé avec [`--defer-shutdown-max-min`](/docs/fr/self-hosted-environments-deploy#defer-the-drain-past-the-first-signal), le runner se termine dès qu'une libération le laisse sans sessions. `0` désactive. |

53| `--remove-session-state [bool]` | `SELF_HOSTED_RUNNER_REMOVE_SESSION_STATE` | désactivé | Supprimer les répertoires par session d'une session sous `<base-dir>/_sessions/` quand la session se termine sur ce runner, quel que soit le résultat. [Réutiliser un checkout pré-chauffé](/docs/fr/self-hosted-environments-deploy#reuse-a-pre-warmed-checkout) décrit ce qu'ils contiennent et qui peut les lire quand ils restent. La suppression est meilleur effort : les répertoires par session restent en place quand le runner est tué ou atteint sa date limite de drainage avant que le nettoyage ne s'exécute. Avec le drapeau activé, le log de débogage d'une session échouée ou interrompue n'est pas conservé sur le disque. Nécessite Claude Code v2.1.268 ou ultérieur. |

51| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | non défini | Retirer le runner à un timestamp Unix absolu en secondes, pour l'infrastructure qui tue le runner à un moment connu ; [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle) décrit la séquence de libération et comment dimensionner la marge. Les valeurs avant 2001 ou après l'année 5138 sont rejetées par le drapeau et ignorées par la variable d'environnement. |54| `--retire-at <epoch-seconds>` | `SELF_HOSTED_RUNNER_RETIRE_AT` | non défini | Retirer le runner à un timestamp Unix absolu en secondes, pour l'infrastructure qui tue le runner à un moment connu ; [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle) décrit la séquence de libération et comment dimensionner la marge. Les valeurs avant 2001 ou après l'année 5138 sont rejetées par le drapeau et ignorées par la variable d'environnement. |

52| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | Combien de temps attendre que le processus Claude se termine proprement après la fin d'une session, avant de le tuer de force. Augmentez la valeur si les hooks `SessionEnd` propres de l'enfant ont besoin de plus de temps. |55| `--session-stop-grace-sec <n>` | `SELF_HOSTED_RUNNER_SESSION_STOP_GRACE_MS` | `5` | Combien de temps attendre que le processus Claude se termine proprement après la fin d'une session, avant de le tuer de force. Augmentez la valeur si les hooks `SessionEnd` propres de l'enfant ont besoin de plus de temps. |

53| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | Libérer un créneau de session si l'enfant n'a pas signalé qu'il s'était initialisé dans N minutes après le lancement. Effacé par le signal d'init de l'enfant sur le [canal d'activité](/docs/fr/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached), pas par la sortie ordinaire, après quoi `--release-idle-session-min` prend le relais. `0` désactive. |56| `--startup-timeout-min <n>` | `SELF_HOSTED_RUNNER_STARTUP_TIMEOUT_MS` | `15` | Libérer un créneau de session si l'enfant n'a pas signalé qu'il s'était initialisé dans N minutes après le lancement. Effacé par le signal d'init de l'enfant sur le [canal d'activité](/docs/fr/self-hosted-environments-configuration#keep-stdin-and-file-descriptor-3-attached), pas par la sortie ordinaire, après quoi `--release-idle-session-min` prend le relais. `0` désactive. |

54| `--trust-workspace [bool]` | `SELF_HOSTED_RUNNER_TRUST_WORKSPACE` | activé | Amorcer la confiance persistante pour les chemins de dépôt de chaque session afin que les `permissions.allow` et `additionalDirectories` validés par le dépôt soient honorés. Définir `false` pour supprimer les subventions de permission validées par le dépôt et configurer les règles d'autorisation dans le `settings.json` de la configuration d'hôte à la place ; les paramètres `sandbox.*` validés par le dépôt s'appliquent toujours de toute façon, c'est pourquoi la [garde de paramètres de dépôt](/docs/fr/self-hosted-environments-deploy#harden-your-deployment) les analyse indépendamment de ce drapeau. |57| `--trust-workspace [bool]` | `SELF_HOSTED_RUNNER_TRUST_WORKSPACE` | activé | Amorcer la confiance persistante pour les chemins de dépôt de chaque session afin que les `permissions.allow` et `additionalDirectories` validés par le dépôt soient honorés. Définir `false` pour supprimer les subventions de permission validées par le dépôt et configurer les règles d'autorisation dans le `settings.json` de la configuration d'hôte à la place ; les paramètres `sandbox.*` validés par le dépôt s'appliquent toujours de toute façon, c'est pourquoi la [garde de paramètres de dépôt](/docs/fr/self-hosted-environments-deploy#harden-your-deployment) les analyse indépendamment de ce drapeau. |

55| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | désactivé | Cloner via le proxy git d'Anthropic au lieu de l'authentification git gérée par le client. Nécessite `--capacity 1` et git 2.32 ou plus récent ; le runner refuse de démarrer sinon. Remplace les drapeaux de réécriture. |58| `--use-anthropic-git-proxy` | `CLAUDE_RUNNER_USE_GIT_PROXY=1` | désactivé | Cloner via le [proxy git Anthropic](/docs/fr/self-hosted-environments-deploy#use-the-anthropic-git-proxy) au lieu de l'authentification git gérée par le client. Nécessite `--capacity 1` et git 2.32 ou plus récent ; le runner refuse de démarrer sinon. Remplace les drapeaux de réécriture. |

56 59 

57La plupart des drapeaux de durée ont un maximum, choisi pour garder chaque délai d'attente en dessous du plafond de minuteur 32 bits du runtime d'environ 24,85 jours. Les drapeaux `--*-min` sont plafonnés à 10080 minutes, 7 jours ; `--drain-grace-sec` à 604800 secondes, également 7 jours ; et `--drain-wait-sec` à 86400 secondes, 24 heures. `--session-stop-grace-sec` et `--post-session-hook-timeout-sec` ne sont pas plafonnés. Dépasser un plafond se comporte différemment par surface :60La plupart des drapeaux de durée ont un maximum, choisi pour garder chaque délai d'attente en dessous du plafond de minuteur 32 bits du runtime d'environ 24,85 jours. Les drapeaux `--*-min` sont plafonnés à 10080 minutes, 7 jours ; `--drain-grace-sec` à 604800 secondes, également 7 jours ; et `--drain-wait-sec` à 86400 secondes, 24 heures. `--session-stop-grace-sec` et `--post-session-hook-timeout-sec` ne sont pas plafonnés. Dépasser un plafond se comporte différemment par surface :

58 61 


99| :----------------------------------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |102| :----------------------------------------- | :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

100| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | Combien de temps le runner considère une session comme occupée après la fin d'une tâche de fond tandis que le tour de suivi qui lit le résultat n'a pas commencé. Les lignes [`--drain-wait-sec` et `--release-idle-session-min`](#runner-cli-flags) décrivent où la retenue s'applique au drainage et à la libération inactive, et [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle) décrit où elle s'applique à la retraite `--retire-at`. `0` ou une valeur inutilisable revient à la valeur par défaut, donc la retenue ne peut pas être désactivée. Nécessite Claude Code v2.1.228 ou ultérieur. |103| `SELF_HOSTED_RUNNER_BG_RESULT_GRACE_MS` | `30000` | Combien de temps le runner considère une session comme occupée après la fin d'une tâche de fond tandis que le tour de suivi qui lit le résultat n'a pas commencé. Les lignes [`--drain-wait-sec` et `--release-idle-session-min`](#runner-cli-flags) décrivent où la retenue s'applique au drainage et à la libération inactive, et [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle) décrit où elle s'applique à la retraite `--retire-at`. `0` ou une valeur inutilisable revient à la valeur par défaut, donc la retenue ne peut pas être désactivée. Nécessite Claude Code v2.1.228 ou ultérieur. |

101| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | Répertoire capturé dans le snapshot de démarrage du runner et amorcé dans le `CLAUDE_CONFIG_DIR` de chaque session ; les modifications sur le disque s'appliquent après un redémarrage du runner. Définir la variable déplace également l'endroit où le runner lit `.claude.json` pour l'[amorçage MCP](/docs/fr/self-hosted-environments-configuration#mcp-servers), donc le définir, y compris à sa propre valeur par défaut, relocalise cette recherche ; pointez vers un répertoire vide pour désactiver complètement l'amorçage. |104| `SELF_HOSTED_RUNNER_HOST_CONFIG_DIR` | `~/.claude` | Répertoire capturé dans le snapshot de démarrage du runner et amorcé dans le `CLAUDE_CONFIG_DIR` de chaque session ; les modifications sur le disque s'appliquent après un redémarrage du runner. Définir la variable déplace également l'endroit où le runner lit `.claude.json` pour l'[amorçage MCP](/docs/fr/self-hosted-environments-configuration#mcp-servers), donc le définir, y compris à sa propre valeur par défaut, relocalise cette recherche ; pointez vers un répertoire vide pour désactiver complètement l'amorçage. |

102| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | Limite combien de temps une suppression `--kill-session-after-min` est différée en attendant la fin d'un tour en vol |105| `SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS` | `900000` | Combien de temps le runner attend après qu'une session atteigne sa limite `--kill-session-after-min`, pour qu'un tour en cours se termine ou que la libération se termine, avant de terminer la session |

103| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | Combien de temps le runner attend que le système d'exploitation livre `SIGKILL` à un enfant bloqué dans les E/S non interruptibles avant de se terminer lui-même. Plancher à `--post-session-hook-timeout-sec` plus 15 secondes, et 30 de plus quand `--push-outcome-on-release` est défini, donc le minimum effectif est 75 secondes aux valeurs par défaut. |106| `SELF_HOSTED_RUNNER_SIGKILL_GRACE_MS` | `30000` | Combien de temps le runner attend que le système d'exploitation livre `SIGKILL` à un enfant bloqué dans les E/S non interruptibles avant de se terminer lui-même. Plancher à `--post-session-hook-timeout-sec` plus 15 secondes, et 30 de plus quand `--push-outcome-on-release` est défini, donc le minimum effectif est 75 secondes aux valeurs par défaut. |

104| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | Profondeur de récupération git pour les clones frais. Définir un entier positif, ou `full` ou `0` pour une récupération complète. Les dépôts déjà présents dans l'espace de travail conservent leur profondeur existante. |107| `CLAUDE_RUNNER_FETCH_DEPTH` | `50` | Profondeur de récupération git pour les clones frais. Définir un entier positif, ou `full` ou `0` pour une récupération complète. Les dépôts déjà présents dans l'espace de travail conservent leur profondeur existante. |

105| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | non défini | Quand `1`, ignorer la vérification de présence `.git` après l'exécution d'un hook `checkout`. Définir ceci quand votre hook matérialise une source non-git. |108| `CLAUDE_RUNNER_SKIP_GIT_VERIFY` | non défini | Quand `1`, ignorer la vérification de présence `.git` après l'exécution d'un hook `checkout`. Définir ceci quand votre hook matérialise une source non-git. |


142 Métriques Prometheus145 Métriques Prometheus

143</h2>146</h2>

144 147 

145Chaque runner sert les métriques Prometheus à `GET /metrics` sur le même port que `/healthz`. Séries clés :148Chaque runner expose les métriques Prometheus à `GET /metrics` sur le même port que `/healthz`. Séries clés :

146 149 

147| Série | Notes |150| Série | Notes |

148| :-------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |151| :-------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

149| `claude_code_self_hosted_runner_info{runner_id,version,client_label}` | Toujours `1` ; utile pour l'inventaire de flotte et la détection de dérive de version |152| `claude_code_self_hosted_runner_info{runner_id,version,client_label}` | Toujours `1` ; utile pour l'inventaire de la flotte et la détection de dérive de version |

150| `claude_code_self_hosted_runner_capacity` | `--capacity` configuré |153| `claude_code_self_hosted_runner_capacity` | `--capacity` configurée |

151| `claude_code_self_hosted_runner_active_sessions` | Sessions actuellement en cours d'exécution |154| `claude_code_self_hosted_runner_active_sessions` | Sessions actuellement en cours d'exécution |

152| `claude_code_self_hosted_runner_locked_account{email}` | Présent une fois que le runner s'est verrouillé à un utilisateur et qu'un token de session portant une revendication `act.email` a été émis. La série est absente sur un runner verrouillé à un agent Claude Tag, dont les tokens de session ne portent pas `act.email`. La valeur d'étiquette est l'e-mail du compte ; si votre magasin de métriques est largement lisible, supprimez ou hachez l'étiquette au moment de la récupération, par exemple avec les `metric_relabel_configs` Prometheus. |155| `claude_code_self_hosted_runner_locked_account{email}` | Présente une fois que le runner s'est verrouillé sur un utilisateur et qu'un jeton de session portant une revendication `act.email` a été émis. La série est absente sur un runner verrouillé sur un agent Claude Tag, dont les jetons de session ne portent pas `act.email`. La valeur du label est l'email du compte ; si votre magasin de métriques est largement lisible, supprimez ou hashifiez le label au moment du scrape, par exemple avec les `metric_relabel_configs` de Prometheus. |

153| `claude_code_self_hosted_runner_last_poll_age_seconds` | Secondes depuis la dernière interrogation réussie. Alerter si plus de 60. |156| `claude_code_self_hosted_runner_last_poll_age_seconds` | Secondes depuis le dernier poll réussi. Alertez si plus de 60. |

154| `claude_code_self_hosted_runner_poll_errors_total{error_kind}` | Cumul des défaillances PollWork par type : `transport`, `timeout`, `5xx`, `429` ou `4xx`. Les cinq séries sont présentes depuis le démarrage du processus ; alerter sur `rate(...[5m]) > 0`. |157| `claude_code_self_hosted_runner_poll_errors_total{error_kind}` | Cumul des échecs PollWork par type : `transport`, `timeout`, `5xx`, `429`, ou `4xx`. Les cinq séries sont présentes depuis le démarrage du processus ; alertez sur `rate(...[5m]) > 0`. |

155| `claude_code_self_hosted_runner_sessions_started_total{client_platform}` | Processus enfants de session générés au cours de la durée de vie du runner, une série par origine de session comme `web_claude_ai`, `ios`, `android`, `desktop_app` ou `claude_code_cli`, ou `unknown` quand le serveur n'en a pas envoyé. Les sessions Slack portent soit `claude_in_slack` soit `claude-in-slack` selon l'intégration Slack qui les a créées, donc correspondre aux deux avec un sélecteur regex comme `{client_platform=~"claude[-_]in[-_]slack"}`. Utiliser `sum()` pour le total de la flotte. |158| `claude_code_self_hosted_runner_sessions_started_total{client_platform}` | Processus enfants de session générés au cours de la durée de vie du runner, une série par origine de session telle que `web_claude_ai`, `ios`, `android`, `desktop_app`, ou `claude_code_cli`, ou `unknown` quand le serveur n'en a pas envoyé. Les sessions Slack portent soit `claude_in_slack` soit `claude-in-slack` selon l'intégration Slack qui les a créées, donc faites correspondre les deux avec un sélecteur regex tel que `{client_platform=~"claude[-_]in[-_]slack"}`. Utilisez `sum()` pour le total de la flotte. |

156| `claude_code_self_hosted_runner_sessions_completed_total{client_platform}` | Sessions qui se sont terminées proprement, étiquetées de la même manière. Plus large qu'une simple sortie propre : voir [sémantique du compteur de cycle de vie de session](#session-lifecycle-counter-semantics) pour ce qui compte. |159| `claude_code_self_hosted_runner_sessions_completed_total{client_platform}` | Sessions qui se sont terminées correctement, étiquetées de la même manière. Plus large qu'une simple sortie propre : voir [sémantique des compteurs du cycle de vie de la session](#session-lifecycle-counter-semantics) pour ce qui compte. |

157| `claude_code_self_hosted_runner_sessions_failed_total{client_platform}` | Sessions qui se sont terminées en échec, étiquetées de la même manière. Même mise en garde : voir [sémantique du compteur de cycle de vie de session](#session-lifecycle-counter-semantics). |160| `claude_code_self_hosted_runner_sessions_failed_total{client_platform}` | Sessions qui se sont terminées en échec, étiquetées de la même manière. Même mise en garde : voir [sémantique des compteurs du cycle de vie de la session](#session-lifecycle-counter-semantics). |

158| `claude_code_self_hosted_runner_sessions_interrupted_total{client_platform}` | Sessions que le runner a terminées pour une raison opérationnelle plutôt qu'un résultat de session, étiquetées de la même manière. Voir [sémantique du compteur de cycle de vie de session](#session-lifecycle-counter-semantics). |161| `claude_code_self_hosted_runner_sessions_interrupted_total{client_platform}` | Sessions que le runner a terminées pour une raison opérationnelle plutôt qu'un résultat de session, étiquetées de la même manière. Voir [sémantique des compteurs du cycle de vie de la session](#session-lifecycle-counter-semantics). |

159| `claude_code_self_hosted_runner_initializing_sessions` | Sessions actuellement en phase d'init, de l'assignation jusqu'à l'événement d'init de l'enfant |162| `claude_code_self_hosted_runner_initializing_sessions` | Sessions actuellement en phase d'initialisation, de l'assignation jusqu'à l'événement init de l'enfant |

160| `claude_code_self_hosted_runner_session_init_duration_seconds` | Histogramme des durées d'init de session |163| `claude_code_self_hosted_runner_session_init_duration_seconds` | Histogramme des durées d'initialisation de session |

161| `claude_code_self_hosted_runner_session_init_errors_total` | Sessions qui ont échoué avant d'atteindre l'init : une défaillance du hook checkout, la préparation git, un problème de token ou un crash d'enfant pré-init |164| `claude_code_self_hosted_runner_session_init_errors_total` | Sessions qui ont échoué avant d'atteindre l'initialisation : un échec de hook de checkout, préparation git, problème de jeton, ou un crash enfant pré-init |

162| `claude_code_self_hosted_runner_session_start_hook_errors_total` | Hooks `SessionStart` qui ont signalé un résultat d'erreur, un par exécution de hook échouée |165| `claude_code_self_hosted_runner_session_start_hook_errors_total` | Hooks `SessionStart` qui ont signalé un résultat d'erreur, un par exécution de hook échouée |

163| `claude_code_self_hosted_runner_session_idle_seconds{session_id,client_platform}` | Jauge par session de secondes depuis que la session est devenue inactive. Utile pour terminer les sessions bloquées sur une invite de permission sans réponse. |166| `claude_code_self_hosted_runner_session_idle_seconds{session_id,client_platform}` | Jauge par session de secondes depuis que la session est devenue inactive. Utile pour terminer les sessions bloquées sur une invite de permission sans réponse. |

164 167 

165L'orchestrateur sert ses propres séries à `GET /metrics` sur le même port que son `/healthz` :168L'orchestrateur expose ses propres séries à `GET /metrics` sur le même port que son `/healthz` :

166 169 

167| Série | Notes |170| Série | Notes |

168| :-------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |171| :-------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

169| `claude_code_self_hosted_orchestrator_info{version,pool_id,orchestrator_uuid,hostname}` | Toujours `1` |172| `claude_code_self_hosted_orchestrator_info{version,pool_id,orchestrator_uuid,hostname}` | Toujours `1` |

170| `claude_code_self_hosted_orchestrator_connected` | `1` quand l'interrogation la plus récente a réussi ; tombe à `0` après toute interrogation échouée, quel que soit le type d'échec |173| `claude_code_self_hosted_orchestrator_connected` | `1` quand le poll le plus récent a réussi ; tombe à `0` après tout poll échoué, quel que soit le type d'échec |

171| `claude_code_self_hosted_orchestrator_last_poll_age_seconds` | Secondes depuis la dernière tentative d'interrogation, succès ou échec, contrairement à la métrique identiquement nommée du runner, qui mesure depuis le dernier succès ; associer avec `connected` pour attraper les interrogations échouées. La boucle d'interrogation de l'orchestrateur attend l'exécution du hook, donc alerter au-dessus de `--hook-timeout` plus une marge, autour de 90 secondes aux valeurs par défaut, plutôt qu'un plat 60. |174| `claude_code_self_hosted_orchestrator_last_poll_age_seconds` | Secondes depuis la dernière tentative de poll, succès ou échec, contrairement à la métrique identiquement nommée du runner, qui mesure depuis le dernier succès ; associez avec `connected` pour détecter les polls échouant. La boucle de poll de l'orchestrateur attend l'exécution du hook, donc alertez au-dessus de `--hook-timeout` plus une marge, environ 90 secondes par défaut, plutôt qu'un plat 60. |

172| `claude_code_self_hosted_orchestrator_poll_errors_total{error_kind}` | Cumul des défaillances PollSpawnHints par type : `transport`, `timeout`, `5xx`, `429` ou `4xx`. Les cinq séries sont présentes depuis le démarrage du processus ; alerter sur `rate(...[5m]) > 0`. |175| `claude_code_self_hosted_orchestrator_poll_errors_total{error_kind}` | Cumul des échecs PollSpawnHints par type : `transport`, `timeout`, `5xx`, `429`, ou `4xx`. Les cinq séries sont présentes depuis le démarrage du processus ; alertez sur `rate(...[5m]) > 0`. |

173| `claude_code_self_hosted_orchestrator_queue_pending_sessions` | Demandes de génération réclamables en ce moment |176| `claude_code_self_hosted_orchestrator_queue_pending_sessions` | Demandes de spawn revendicables maintenant |

174| `claude_code_self_hosted_orchestrator_queue_backing_off_sessions` | Demandes de génération en backoff de nouvelle tentative après une défaillance de hook réessayable |177| `claude_code_self_hosted_orchestrator_queue_backing_off_sessions` | Demandes de spawn en retry backoff après un échec de hook réessayable |

175| `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions` | Demandes de génération bloquées jusqu'à ce qu'un Propriétaire les réessaye à partir de l'onglet **Activity** de l'environnement ; alerter si au-dessus de zéro |178| `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions` | Demandes de spawn bloquées jusqu'à ce qu'un Owner les réessaie à partir de l'onglet **Activity** de l'environnement ; alertez si au-dessus de zéro |

176| `claude_code_self_hosted_orchestrator_pool_pending_sessions` | Total des sessions attendant un runner pour cet environnement. Agrégat à l'échelle de l'environnement, identique sur chaque instance d'orchestrateur : utiliser `MAX` plutôt que `SUM` entre les instances. |179| `claude_code_self_hosted_orchestrator_pool_pending_sessions` | Total des sessions attendant un runner pour cet environnement. Agrégat à l'échelle de l'environnement, identique sur chaque instance d'orchestrateur : utilisez `MAX` plutôt que `SUM` entre les instances. |

177| `claude_code_self_hosted_orchestrator_pool_active_sessions` | Sessions actuellement assignées à un runner actif dans cet environnement. Agrégat à l'échelle de l'environnement, identique sur chaque instance d'orchestrateur : utiliser `MAX` plutôt que `SUM` entre les instances. |180| `claude_code_self_hosted_orchestrator_pool_active_sessions` | Sessions actuellement assignées à un runner vivant dans cet environnement. Agrégat à l'échelle de l'environnement, identique sur chaque instance d'orchestrateur : utilisez `MAX` plutôt que `SUM` entre les instances. |

178| `claude_code_self_hosted_orchestrator_spawn_hooks_total{result}` | Cumul des résultats du hook `spawn-runner` : `ok`, `retryable`, `non_retryable`. Compte les invocations de hook d'orchestrateur, pas les enfants de session que les runners génèrent : non comparable à `sessions_started_total`, puisque la capacité au-dessus d'un, les pools chauds et les runners générés à nouveau pour la même session divergent les deux. |181| `claude_code_self_hosted_orchestrator_spawn_hooks_total{result}` | Cumul des résultats du hook `spawn-runner` : `ok`, `retryable`, `non_retryable`. Compte les invocations de hook d'orchestrateur, pas les enfants de session que les runners génèrent : non comparable à `sessions_started_total`, puisque la capacité au-dessus d'un, les pools chauds, et les runners générés à nouveau pour la même session divergent les deux. |

179| `claude_code_self_hosted_orchestrator_spawn_hook_duration_seconds` | Histogramme des durées de hook |182| `claude_code_self_hosted_orchestrator_spawn_hook_duration_seconds` | Histogramme des durées de hook |

180| `claude_code_self_hosted_orchestrator_warm_hints_dispatched_total` | Demandes de génération de secours expédiées depuis le démarrage du processus |183| `claude_code_self_hosted_orchestrator_warm_hints_dispatched_total` | Demandes de spawn en attente dispatched depuis le démarrage du processus |

181| `claude_code_self_hosted_orchestrator_session_queue_wait_seconds` | Histogramme de secondes que chaque session a attendu dans la file d'attente avant que l'orchestrateur la réclame pour la génération, enregistré à partir de l'horodatage d'attente de file d'attente que le plan de contrôle envoie avec la demande de génération de chaque session. Utiliser pour les alertes de temps d'attente p50/p99. Les générations de préchauffage ne sont pas échantillonnées. |184| `claude_code_self_hosted_orchestrator_session_queue_wait_seconds` | Histogramme de secondes que chaque session a attendu dans la queue avant que l'orchestrateur la réclame pour spawn, enregistré à partir du timestamp d'attente en queue que le plan de contrôle envoie avec la demande de spawn de chaque session. Utilisez pour les alertes de temps d'attente en queue p50/p99. Les spawns de pré-warming ne sont pas échantillonnés. |

182| `claude_code_self_hosted_orchestrator_clock_skew_seconds` | Décalage d'horloge local moins serveur ; diagnostic, présent une fois mesuré |185| `claude_code_self_hosted_orchestrator_clock_skew_seconds` | Décalage d'horloge local moins serveur ; diagnostique, présent une fois mesuré |

183| `claude_code_self_hosted_orchestrator_scm_connector_connected` | `1` quand le WebSocket du [connecteur SCM](#scm-connector-flags) est ouvert ; `0` lors de la composition ou du backoff. Absent quand `--scm-connector-host` n'est pas défini. |186| `claude_code_self_hosted_orchestrator_scm_connector_connected` | `1` quand le [connecteur SCM](#scm-connector-flags) WebSocket est ouvert ; `0` pendant la composition ou le backoff. Absent quand `--scm-connector-host` n'est pas défini. |

184| `claude_code_self_hosted_orchestrator_scm_connector_requests_forwarded_total` | Cumul des requêtes HTTP proxifiées vers l'hôte SCM configuré depuis le démarrage du processus. Absent quand `--scm-connector-host` n'est pas défini. |187| `claude_code_self_hosted_orchestrator_scm_connector_requests_forwarded_total` | Cumul des requêtes HTTP proxifiées vers l'hôte SCM configuré depuis le démarrage du processus. Absent quand `--scm-connector-host` n'est pas défini. |

185 188 

186Pour la mise à l'échelle automatique, choisissez la série qui correspond à votre style de mise à l'échelle et gâtez-la avant qu'elle n'alimente le scaler :189Pour l'autoscaling, choisissez la série qui correspond à votre style de scaling et contrôlez-la avant qu'elle n'alimente le scaler :

187 190 

188* **Mise à l'échelle basée sur la profondeur de file d'attente** : alimenter `claude_code_self_hosted_orchestrator_pool_pending_sessions` dans votre HPA ou scaler KEDA, pas `queue_pending_sessions`.191* **Scaling basé sur la profondeur de queue** : alimentez `claude_code_self_hosted_orchestrator_pool_pending_sessions` dans votre scaler HPA ou KEDA, pas `queue_pending_sessions`.

189* **Mise à l'échelle basée sur la capacité** : mettre à l'échelle sur le ratio des `active_sessions` du runner à `capacity`.192* **Scaling basé sur la capacité** : mettez à l'échelle sur le ratio des `active_sessions` du runner à `capacity`.

190* **Gâter sur `connected`** : filtrer la requête avec `claude_code_self_hosted_orchestrator_connected == 1` par instance, afin que la valeur obsolète d'un réplica déconnecté n'alimente pas le scaler.193* **Contrôle sur `connected`** : filtrez la requête avec `claude_code_self_hosted_orchestrator_connected == 1` par instance, afin qu'une valeur obsolète d'un replica déconnecté n'alimente pas le scaler.

191 194 

192Pendant une panne d'interrogation complète, chaque réplica déconnecté, la requête gâtée ne retourne aucune donnée. HPA maintient le nombre de réplicas actuel sur une métrique manquante, mais le scaler Prometheus de KEDA à son `ignoreNullValues: "true"` par défaut lit le résultat vide comme zéro et réduit ; définir `ignoreNullValues: "false"` sur le ScaledObject, éventuellement avec un plancher de réplicas `fallback`.195Pendant une panne complète de poll, chaque replica déconnecté, la requête contrôlée ne retourne aucune donnée. HPA maintient le nombre de replicas actuel sur une métrique manquante, mais le scaler Prometheus de KEDA à son `ignoreNullValues: "true"` par défaut lit le résultat vide comme zéro et réduit ; définissez `ignoreNullValues: "false"` sur le ScaledObject, optionnellement avec un plancher de replicas `fallback`.

193 196 

194Le PodMonitor `Prometheus Operator` suivant couvre les deux processus. Il sélectionne les pods par l'étiquette `app.kubernetes.io/part-of: claude-code-self-hosted-runner` et le port nommé `health` que la [recette Kubernetes](/docs/fr/self-hosted-environments-deploy#kubernetes) définit ; ajustez les espaces de noms pour correspondre à votre déploiement :197Le `PodMonitor` suivant de Prometheus Operator couvre les deux processus. Il sélectionne les pods par le label `app.kubernetes.io/part-of: claude-code-self-hosted-runner` et le port nommé `health` que la [recette Kubernetes](/docs/fr/self-hosted-environments-deploy#kubernetes) définit ; ajustez les namespaces pour correspondre à votre déploiement :

195 198 

196```yaml theme={null}199```yaml theme={null}

197# Exemple PodMonitor Prometheus Operator pour le runner + orchestrateur200# Exemple de PodMonitor Prometheus Operator pour le runner Claude Code

198# Claude Code auto-hébergé. Ajustez les sélecteurs d'espace de noms et201# auto-hébergé + orchestrateur. Ajustez les sélecteurs de namespace et de label

199# d'étiquettes pour correspondre à votre déploiement. À la fois le runner202# pour correspondre à votre déploiement. Le runner et l'orchestrateur servent

200# et l'orchestrateur servent /metrics sur leur --health-port (par défaut 8080).203# /metrics sur leur --health-port (par défaut 8080).

201apiVersion: monitoring.coreos.com/v1204apiVersion: monitoring.coreos.com/v1

202kind: PodMonitor205kind: PodMonitor

203metadata:206metadata:


209 - claude-runners212 - claude-runners

210 selector:213 selector:

211 matchExpressions:214 matchExpressions:

212 # Correspond au Deployment du runner à partir de la recette Kubernetes,215 # Correspond au Deployment du runner de la recette Kubernetes, plus tout

213 # plus tous les Jobs de runner à la demande et pods d'orchestrateur que216 # Job de runner à la demande et pods d'orchestrateur que vous étiquetez

214 # vous étiquetez de la même manière et donnez un containerPort nommé 'health'.217 # de la même manière et donnez un containerPort 'health' nommé.

215 - key: app.kubernetes.io/part-of218 - key: app.kubernetes.io/part-of

216 operator: In219 operator: In

217 values: [claude-code-self-hosted-runner]220 values: [claude-code-self-hosted-runner]


221 interval: 30s224 interval: 30s

222```225```

223 226 

224Ces exemples de règles d'alerte sont un point de départ ; affinez les seuils pour la taille de votre flotte :227Ces règles d'alerte d'exemple sont un point de départ ; ajustez les seuils pour la taille de votre flotte :

225 228 

226```yaml theme={null}229```yaml theme={null}

227# Exemple de règles d'alerte Prometheus pour le runner + orchestrateur230# Exemple de règles d'alerte Prometheus pour le runner Claude Code auto-hébergé

228# Claude Code auto-hébergé. Affinez les seuils pour la taille de votre flotte et vos SLO.231# + orchestrateur. Ajustez les seuils pour la taille de votre flotte et vos SLOs.

229groups:232groups:

230 - name: claude-code-self-hosted-runner233 - name: claude-code-self-hosted-runner

231 rules:234 rules:


234 for: 2m237 for: 2m

235 labels: {severity: warning}238 labels: {severity: warning}

236 annotations:239 annotations:

237 summary: "Runner {{ $labels.pod }} n'a pas interrogé depuis >60s"240 summary: "Runner {{ $labels.pod }} n'a pas pollé depuis >60s"

238 - alert: ClaudeRunnerVersionDrift241 - alert: ClaudeRunnerVersionDrift

239 expr: count(count by (version) (claude_code_self_hosted_runner_info)) > 1242 expr: count(count by (version) (claude_code_self_hosted_runner_info)) > 1

240 for: 30m243 for: 30m


246 for: 5m249 for: 5m

247 labels: {severity: warning}250 labels: {severity: warning}

248 annotations:251 annotations:

249 summary: "Runner {{ $labels.pod }} : >3 défaillances d'init de session en 10m (hook checkout / git / token / crash pré-init)"252 summary: "Runner {{ $labels.pod }} : >3 échecs d'initialisation de session en 10m (hook de checkout / git / jeton / crash pré-init)"

250 - alert: ClaudeRunnerPollErrors253 - alert: ClaudeRunnerPollErrors

251 expr: sum by (pod) (rate(claude_code_self_hosted_runner_poll_errors_total[5m])) > 0254 expr: sum by (pod) (rate(claude_code_self_hosted_runner_poll_errors_total[5m])) > 0

252 for: 2m255 for: 2m


258 for: 5m261 for: 5m

259 labels: {severity: warning}262 labels: {severity: warning}

260 annotations:263 annotations:

261 summary: "Runner {{ $labels.pod }} : >3 défaillances du hook SessionStart en 10m"264 summary: "Runner {{ $labels.pod }} : >3 échecs de hook SessionStart en 10m"

262 265 

263 - name: claude-code-self-hosted-orchestrator266 - name: claude-code-self-hosted-orchestrator

264 rules:267 rules:


273 for: 2m276 for: 2m

274 labels: {severity: warning}277 labels: {severity: warning}

275 annotations:278 annotations:

276 summary: "L'orchestrateur {{ $labels.pod }} n'a pas interrogé depuis >90s (la boucle d'interrogation attend l'exécution du hook)"279 summary: "L'orchestrateur {{ $labels.pod }} n'a pas pollé depuis >90s (la boucle de poll attend l'exécution du hook)"

277 - alert: ClaudeOrchestratorCircuitBroken280 - alert: ClaudeOrchestratorCircuitBroken

278 expr: claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions > 0281 expr: claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions > 0

279 for: 1m282 for: 1m

280 labels: {severity: critical}283 labels: {severity: critical}

281 annotations:284 annotations:

282 summary: "{{ $value }} sessions circuit-broken — le hook spawn-runner est répétitivement non-réessayable ; corriger l'infra puis réessayer à partir de l'onglet Activity"285 summary: "{{ $value }} sessions circuit-broken — le hook spawn-runner est répétitivement non-réessayable ; corrigez l'infra puis réessayez à partir de l'onglet Activity"

283 - alert: ClaudeOrchestratorPollErrors286 - alert: ClaudeOrchestratorPollErrors

284 expr: sum by (pod) (rate(claude_code_self_hosted_orchestrator_poll_errors_total[5m])) > 0287 expr: sum by (pod) (rate(claude_code_self_hosted_orchestrator_poll_errors_total[5m])) > 0

285 for: 2m288 for: 2m

286 labels: {severity: warning}289 labels: {severity: warning}

287 annotations:290 annotations:

288 summary: "L'orchestrateur {{ $labels.pod }} : PollSpawnHints échouant ({{ $value | humanize }}/s sur 5m)"291 summary: "Orchestrateur {{ $labels.pod }} : PollSpawnHints échouant ({{ $value | humanize }}/s sur 5m)"

289 - alert: ClaudeOrchestratorSpawnHookFailing292 - alert: ClaudeOrchestratorSpawnHookFailing

290 expr: sum by (pod) (increase(claude_code_self_hosted_orchestrator_spawn_hooks_total{result!="ok"}[5m])) > 3293 expr: sum by (pod) (increase(claude_code_self_hosted_orchestrator_spawn_hooks_total{result!="ok"}[5m])) > 3

291 for: 5m294 for: 5m

292 labels: {severity: warning}295 labels: {severity: warning}

293 annotations:296 annotations:

294 summary: "L'orchestrateur {{ $labels.pod }} : >3 défaillances du hook spawn-runner en 5m"297 summary: "Orchestrateur {{ $labels.pod }} : >3 échecs de hook spawn-runner en 5m"

295```298```

296 299 

297<h3 id="pass-through-session-child-metrics">300<h3 id="pass-through-session-child-metrics">

298 Transmettre les métriques de l'enfant de session301 Passer les métriques enfants de session

299</h3>302</h3>

300 303 

301Chaque session s'exécute dans son propre processus enfant avec ses propres métriques OpenTelemetry ; à `--capacity` au-dessus d'un, le runner réécrit comment ces métriques enfants sont exposées. Définir `OTEL_METRICS_EXPORTER=prometheus` sur l'hôte du runner et `CLAUDE_CODE_ENABLE_TELEMETRY=1` dans l'environnement de la session, par exemple à partir de votre [script wrapper](/docs/fr/self-hosted-environments-configuration#wrapper-scripts) ou de l'environnement propre du runner, que les sessions héritent, réexpose les instruments de compteur et de jauge de chaque enfant sur le point de terminaison `/metrics` propre du runner, aux côtés de la série du runner. Le runner réécrit l'exporteur de l'enfant pour pousser sur OTLP vers un récepteur loopback uniquement sur le port de santé, étiquette chaque série avec les étiquettes `session_id` et `client_platform`, et expulse la série d'une session quand cette session se termine. Les histogrammes ne passent pas, et une métrique enfant dont le nom entrerait en collision avec le préfixe propre du runner est supprimée.304Chaque session s'exécute dans son propre processus enfant avec ses propres métriques OpenTelemetry ; à `--capacity` au-dessus d'un, le runner réécrit comment ces métriques enfants sont exposées. Définir `OTEL_METRICS_EXPORTER=prometheus` sur l'hôte du runner et `CLAUDE_CODE_ENABLE_TELEMETRY=1` dans l'environnement de la session, par exemple à partir de votre [script wrapper](/docs/fr/self-hosted-environments-configuration#wrapper-scripts) ou l'environnement du runner lui-même, que les sessions héritent, réexpose les instruments de compteur et de jauge de chaque enfant sur le propre endpoint `/metrics` du runner, aux côtés des séries du runner. Le runner réécrit l'exporteur de l'enfant pour pousser sur OTLP vers un récepteur loopback uniquement sur le port de santé, étiquette chaque série avec les labels `session_id` et `client_platform`, et évince les séries d'une session quand cette session se termine. Les histogrammes ne passent pas, et une métrique enfant dont le nom entrerait en collision avec le propre préfixe du runner est supprimée.

302 305 

303À la `--capacity 1` par défaut, la réécriture ne s'applique pas : l'enfant de la session lie son propre point de terminaison Prometheus sur le port 9464 comme d'habitude.306À la `--capacity 1` par défaut, la réécriture ne s'applique pas : l'enfant de la session lie son propre endpoint Prometheus sur le port 9464 comme d'habitude.

304 307 

305<h3 id="session-lifecycle-counter-semantics">308<h3 id="session-lifecycle-counter-semantics">

306 Sémantique du compteur de cycle de vie de session309 Sémantique des compteurs du cycle de vie de la session

307</h3>310</h3>

308 311 

309Les compteurs `sessions_started_total`, `sessions_completed_total`, `sessions_failed_total` et `sessions_interrupted_total` classent chaque session par la façon dont elle s'est terminée. Chaque enfant de session généré incrémente `sessions_started_total` au moment du lancement, et exactement l'un des trois autres incrémente à la sortie, donc `sessions_started_total` moins la somme des trois autres égale le nombre d'enfants de session actuellement en cours d'exécution.312Les compteurs `sessions_started_total`, `sessions_completed_total`, `sessions_failed_total`, et `sessions_interrupted_total` classent chaque session par la façon dont elle s'est terminée. Chaque enfant de session généré incrémente `sessions_started_total` au moment du spawn, et exactement un des trois autres incrémente à la sortie, donc `sessions_started_total` moins la somme des trois autres égale le nombre d'enfants de session actuellement en cours d'exécution.

310 313 

311* `completed` : la session s'est terminée proprement. Cela couvre l'enfant se terminant de lui-même avec le code `0`, la session étant archivée ou supprimée tandis que l'enfant était toujours connecté, et le runner libérant le créneau comme une remise propre : une libération inactive, un délai d'attente de démarrage ou une désassignation côté serveur que la boucle d'interrogation a remarquée avant la sortie de l'enfant. Incrémente `sessions_completed_total`.314* `completed` : la session s'est terminée correctement. Cela couvre l'enfant quittant de lui-même avec le code `0`, la session étant archivée ou supprimée tandis que l'enfant était toujours connecté, et le runner remettant le slot correctement : libérant la session au timeout d'inactivité, au temps de retraite, ou à la limite `--kill-session-after-min` ; un timeout de démarrage ; ou une désassignation côté serveur que la boucle de poll a remarquée avant que l'enfant ne quitte. Incrémente `sessions_completed_total`.

312* `failed` : l'enfant s'est terminé de lui-même avec un code non-zéro, soit un crash soit une défaillance de configuration après le lancement. Incrémente `sessions_failed_total`.315* `failed` : l'enfant a quitté de lui-même avec un code non-zéro, soit un crash soit un échec de configuration après spawn. Incrémente `sessions_failed_total`.

313* `interrupted` : le runner a terminé l'enfant pour une raison opérationnelle qui n'est ni un succès de session ni une faute du runner, comme un drainage ou le watchdog de durée de vie maximale `--kill-session-after-min`. Un redémarrage roulant Kubernetes envoyant `SIGTERM` est un exemple de drainage. Incrémente `sessions_interrupted_total`.316* `interrupted` : le runner a terminé l'enfant pour une raison opérationnelle qui n'est ni un succès de session ni une faute du runner, comme un drain, ou terminer une session qui était toujours sur le runner quand la fenêtre de grâce [`SELF_HOSTED_RUNNER_MAX_LIFETIME_GRACE_MS`](#environment-variable-only-settings) après sa limite `--kill-session-after-min` s'est terminée. Un redémarrage roulant Kubernetes envoyant `SIGTERM` est un exemple de drain. Incrémente `sessions_interrupted_total`.

314 317 

315Le `CLAUDE_RUNNER_EXIT_REASON` du hook [`post-session`](/docs/fr/self-hosted-environments-configuration#post-session) n'utilise pas cette classification pour les remises propres. Le hook signale une libération inactive, un délai d'attente de démarrage et une désassignation serveur comme `interrupted`, puisque du point de vue du hook le runner a tué l'enfant, tandis que les compteurs ci-dessus enregistrent ces mêmes événements comme `completed`, puisque rien n'a mal tourné et le créneau a été remis proprement. Si vous réconciliez les reçus du hook directement contre `sessions_completed_total`, vous sous-comptez les complétions. Utilisez le hook pour les garanties par session et les compteurs pour les taux agrégés.318Avant v2.1.260, le runner terminait chaque session qui atteignait sa limite `--kill-session-after-min` et la comptait dans `sessions_interrupted_total`.

316 319 

317Sur un environnement unique, `--capacity 1` avec le `--drain-grace-sec 0` par défaut, chaque processus runner se termine peu de temps après la fin de sa session unique. `sessions_completed_total`, `sessions_failed_total` et `sessions_interrupted_total` n'incrémentent qu'à la fin de la session, juste avant cette sortie, donc une récupération Prometheus toutes les 15 à 60 secondes attrape rarement l'incrément avant que la série du runner ne disparaisse ; ces trois compteurs de fin de session sont les compteurs terminaux auxquels le reste de cette section se réfère. `sessions_started_total` incrémente au lancement et reste visible pendant la durée de vie de la session, donc il s'affiche de manière fiable, mais sur un environnement unique il se lit plus proche de « sessions actuellement en cours d'exécution » qu'un compte cumulatif.320Le hook [`post-session`](/docs/fr/self-hosted-environments-configuration#post-session) classifie différemment les remises propres avec `CLAUDE_RUNNER_EXIT_REASON`. Le hook signale une libération, un timeout de démarrage, et une désassignation serveur comme `interrupted`, parce que le runner a arrêté l'enfant. Ces compteurs enregistrent les mêmes événements que `completed`, parce que le slot a été remis correctement.

321 

322Si vous réconciliez les reçus de hook directement contre `sessions_completed_total`, vous sous-comptez les complétions. Utilisez le hook pour les garanties par session et les compteurs pour les taux agrégés.

323 

324Sur un environnement one-shot, `--capacity 1` avec le `--drain-grace-sec 0` par défaut, chaque processus runner quitte peu de temps après la fin de sa session. `sessions_completed_total`, `sessions_failed_total`, et `sessions_interrupted_total` incrémentent uniquement à la fin de la session, juste avant cette sortie, donc un scrape Prometheus toutes les 15 à 60 secondes attrape rarement l'incrément avant que les séries du runner ne disparaissent ; ces trois compteurs de fin de session sont les compteurs terminaux auxquels le reste de cette section se réfère. `sessions_started_total` incrémente au spawn et reste visible pour la durée de vie de la session, donc il s'affiche de manière fiable, mais sur un environnement one-shot il se lit plus proche de « sessions actuellement en cours d'exécution » qu'un compte cumulatif.

318 325 

319Utilisez la série dans ce tableau pour l'objectif correspondant au lieu des compteurs terminaux :326Utilisez la série dans ce tableau pour l'objectif correspondant au lieu des compteurs terminaux :

320 327 

321| Objectif | Utiliser |328| Objectif | Utiliser |

322| :----------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |329| :---------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

323| Débit | `claude_code_self_hosted_orchestrator_spawn_hooks_total{result="ok"}`, un compteur sur l'orchestrateur de longue durée qui incrémente une fois par hook `spawn-runner` réussi et reste significatif sous `rate()`. Il compte les invocations de hook plutôt que les sessions, donc le préchauffage et les générations répétées pour la même session divergent de la session compte. |330| Débit | `claude_code_self_hosted_orchestrator_spawn_hooks_total{result="ok"}`, un compteur sur l'orchestrateur de longue durée qui incrémente une fois par hook `spawn-runner` réussi et reste significatif sous `rate()`. Il compte les invocations de hook plutôt que les sessions, donc le pré-warming et les spawns répétés pour la même session le divergent des comptages de session. |

324| Utilisation | `sum(claude_code_self_hosted_runner_active_sessions)` contre `sum(claude_code_self_hosted_runner_capacity)`, les deux jauges valides à chaque récupération indépendamment de la durée de vie du runner |331| Utilisation | `sum(claude_code_self_hosted_runner_active_sessions)` contre `sum(claude_code_self_hosted_runner_capacity)`, les deux jauges valides à chaque scrape indépendamment de la durée de vie du runner |

325| Arriéré | `claude_code_self_hosted_orchestrator_pool_pending_sessions` pour la profondeur de file d'attente, et `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions`, alerter si au-dessus de zéro |332| Arriéré | `claude_code_self_hosted_orchestrator_pool_pending_sessions` pour la profondeur de queue, et `claude_code_self_hosted_orchestrator_queue_circuit_broken_sessions`, alertant si au-dessus de zéro |

326| Défaillances | `claude_code_self_hosted_runner_sessions_failed_total`, meilleur effort : les vrais crashes après le lancement l'incrémentent, et `rate()` est significatif sur les runners qui survivent à leurs sessions avec `--drain-grace-sec` au-dessus de `0`. Un environnement unique a le même problème de fenêtre de récupération que les autres compteurs terminaux, donc traitez toute valeur non-zéro que vous voyez comme valant la peine d'être enquêtée. Les défaillances avant le lancement, comme une défaillance du hook checkout, la préparation git ou un problème de token, n'apparaissent que dans `session_init_errors_total`. |333| Échecs | `claude_code_self_hosted_runner_sessions_failed_total`, meilleur effort : les vrais crashes après spawn l'incrémentent bien, et `rate()` est significatif sur les runners qui survivent à leurs sessions avec `--drain-grace-sec` au-dessus de `0`. Un environnement one-shot a le même problème de fenêtre de scrape que les autres compteurs terminaux, donc traitez toute valeur non-zéro que vous voyez comme valant la peine d'être enquêtée. Les échecs avant spawn, comme un échec de hook de checkout, préparation git, ou un problème de jeton, n'apparaissent que dans `session_init_errors_total`. |

327 334 

328Les lignes `orchestrator_*` n'existent que sur les environnements exécutant l'[orchestrateur à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners). Sur une flotte fixe dont les runners survivent à leurs sessions, avec `--drain-grace-sec` au-dessus de `0`, utilisez `sum(rate(claude_code_self_hosted_runner_sessions_started_total[5m]))` pour le débit ; sur une flotte unique cette série a le même problème de fenêtre de récupération que les compteurs terminaux, donc fiez-vous au compte de sessions en file d'attente à la place. Vérifiez l'arriéré sur l'onglet **Activity** de l'environnement, sur la [page d'administration **Cloud environments**](https://claude.ai/admin-settings/cloud-environments) : les runners n'exportent pas une série de profondeur de file d'attente.335Les lignes `orchestrator_*` n'existent que sur les environnements exécutant l'[orchestrateur à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners). Sur une flotte fixe dont les runners survivent à leurs sessions, avec `--drain-grace-sec` au-dessus de `0`, utilisez `sum(rate(claude_code_self_hosted_runner_sessions_started_total[5m]))` pour le débit ; sur une flotte one-shot cette série a le même problème de fenêtre de scrape que les compteurs terminaux, donc fiez-vous au comptage des sessions en queue à la place. Vérifiez l'arriéré sur l'onglet **Activity** de l'environnement, sur la [page d'administration **Cloud environments**](https://claude.ai/admin-settings/cloud-environments) : les runners n'exportent pas une série de profondeur de queue.

329 336 

330Pour le rapport de résultat par session, utilisez le hook [`post-session`](/docs/fr/self-hosted-environments-configuration#post-session) à la place : il se déclenche à chaque fin de session où un processus enfant a été généré, à part la terminaison abrupte du runner comme une préemption de VM, selon le [contrat propre du hook](/docs/fr/self-hosted-environments-configuration#post-session).337Pour le rapport de résultat par session, utilisez le hook [`post-session`](/docs/fr/self-hosted-environments-configuration#post-session) à la place : il se déclenche à chaque fin de session où un processus enfant a été généré, à part la terminaison abrupte du runner comme une préemption VM, selon le [propre contrat du hook](/docs/fr/self-hosted-environments-configuration#post-session).

331 338 

332<h2 id="what’s-next">339<h2 id="what’s-next">

333 Étapes suivantes340 Étapes suivantes

Details

74 Avant de démarrer le runner74 Avant de démarrer le runner

75</h3>75</h3>

76 76 

77Deux choses sur lesquelles le hook dépend :77Le hook a ces exigences :

78 78 

79* Installez-le avant de démarrer le runner. Le runner prend un instantané de `~/.claude/` une fois au démarrage, donc un hook ajouté à un runner en cours d'exécution ne prend effet qu'après un redémarrage.79* Installez-le avant de démarrer le runner. Le runner prend un instantané de `~/.claude/` une fois au démarrage, donc un hook ajouté à un runner en cours d'exécution ne prend effet qu'après un redémarrage.

80* Exportez `E2E_REPLY_DIR` au processus du runner. Le hook est un no-op quand la variable n'est pas définie ou que le répertoire n'existe pas, donc définissez-la partout où vous démarrez le runner, comme l'unité systemd, la spécification du pod, ou l'étape CI. Le script de test ci-dessous le nécessite aussi.80* Exportez `E2E_REPLY_DIR` au processus du runner. Le hook est un no-op quand la variable n'est pas définie ou que le répertoire n'existe pas, donc définissez-la partout où vous démarrez le runner, comme l'unité systemd, la spécification du pod, ou l'étape CI. Le script de test ci-dessous le nécessite aussi.

Details

33| **Paramètres gérés par le serveur** | Organisations sans MDM, ou utilisateurs sur des appareils non gérés | Paramètres que Claude Code récupère à partir des serveurs d'Anthropic au démarrage et actualise toutes les heures pendant la session |33| **Paramètres gérés par le serveur** | Organisations sans MDM, ou utilisateurs sur des appareils non gérés | Paramètres que Claude Code récupère à partir des serveurs d'Anthropic au démarrage et actualise toutes les heures pendant la session |

34| **[Paramètres gérés par le point de terminaison](/docs/fr/managed-settings#delivery-mechanisms)** | Organisations avec MDM ou gestion des points de terminaison | Paramètres déployés sur les appareils via des profils de configuration MDM, des stratégies de registre ou des fichiers de paramètres gérés |34| **[Paramètres gérés par le point de terminaison](/docs/fr/managed-settings#delivery-mechanisms)** | Organisations avec MDM ou gestion des points de terminaison | Paramètres déployés sur les appareils via des profils de configuration MDM, des stratégies de registre ou des fichiers de paramètres gérés |

35 35 

36Si vos appareils sont inscrits dans une solution MDM ou de gestion des points de terminaison, les paramètres gérés par le point de terminaison offrent des garanties de sécurité plus fortes car le fichier de paramètres peut être protégé contre les modifications de l'utilisateur au niveau du système d'exploitation. Les paramètres gérés par le point de terminaison n'atteignent pas les [sessions cloud](/docs/fr/model-config#surface-coverage) dans les environnements hébergés par Anthropic, donc les organisations utilisant Claude Code sur le web doivent également configurer les paramètres gérés par le serveur. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments) lisent également le fichier de paramètres gérés dans l'image du runner. La [précédence des paramètres](#settings-precedence) ci-dessous indique quand ce fichier s'applique.36Si vos appareils sont inscrits dans une solution MDM ou de gestion des points de terminaison, les paramètres gérés par le point de terminaison offrent des garanties de sécurité plus fortes car le fichier de paramètres peut être protégé contre les modifications de l'utilisateur au niveau du système d'exploitation. Les paramètres gérés par le point de terminaison n'atteignent pas les [sessions cloud](/docs/fr/model-config#surface-coverage) dans les environnements hébergés par Anthropic, donc les organisations dont les développeurs exécutent des sessions cloud doivent également configurer les paramètres gérés par le serveur. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments) lisent également le fichier de paramètres gérés dans l'image du runner. La [précédence des paramètres](#settings-precedence) ci-dessous indique quand ce fichier s'applique.

37 37 

38<h2 id="configure-server-managed-settings">38<h2 id="configure-server-managed-settings">

39 Configurer les paramètres gérés par le serveur39 Configurer les paramètres gérés par le serveur


165 165 

166Trois types de clés sont des exceptions à la règle de non-fusion :166Trois types de clés sont des exceptions à la règle de non-fusion :

167 167 

168* **Clés de verrouillage entre sources** : un petit ensemble de clés, telles que les verrous de liste d'autorisation du sandbox, [listées sur la page des paramètres gérés](/docs/fr/managed-settings#precedence-within-the-managed-tier). Claude Code les honore lorsqu'une source gérée contrôlée par un administrateur les définit ; le niveau de registre HKCU inscriptible par l'utilisateur est exclu. Lorsqu'un [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés, sa sortie est la seule source que ces vérifications lisent, à l'exception de [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh), que Claude Code lit à partir des sources d'administrateur directement au démarrage.168* **Clés de verrouillage entre sources** : un petit ensemble de clés, telles que les verrous de liste d'autorisation du sandbox, [listées sur la page des paramètres gérés](/docs/fr/managed-settings#precedence-within-the-managed-tier). Claude Code les honore lorsqu'une source gérée contrôlée par un administrateur les définit ; le niveau de registre HKCU inscriptible par l'utilisateur est exclu.

169 

170 Lorsqu'un [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés, sa sortie est la seule source que ces vérifications lisent, à l'exception de [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh), que Claude Code lit à partir des sources d'administrateur directement au démarrage.

169* **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.

170 * **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.

171 * **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.

settings.md +6 −5

Details

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-4-8"` dans votre fichier local et seules vos sessions changent.

472 472 

473Trois choses à savoir sur le fichier local :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 

475* **Claude Code l'écrit aussi.** Quand Claude demande la permission d'exécuter une commande Bash et que vous choisissez « Oui, et ne me demande plus », Claude Code enregistre cette [approbation de permission](/docs/fr/permissions#permission-system) ici comme une règle `allow`.475* **Claude Code l'écrit aussi.** Quand Claude demande la permission d'exécuter une commande Bash et que vous choisissez « Oui, et ne me demande plus », Claude Code enregistre cette [approbation de permission](/docs/fr/permissions#permission-system) ici comme une règle `allow`.

476* **Vous n'avez pas besoin de le gitignorer vous-même, sauf si vous l'avez créé à la main.** La première fois que Claude Code écrit le fichier dans un référentiel git qui ne l'ignore pas déjà, il ajoute `**/.claude/settings.local.json` à votre fichier d'exclusions git global, donc le fichier reste hors de vos commits dans chaque référentiel. Ce fichier est `core.excludesFile` quand votre configuration git globale le définit à un chemin absolu ou préfixé par `~` ; sinon c'est `$XDG_CONFIG_HOME/git/ignore`, ou `~/.config/git/ignore` quand `XDG_CONFIG_HOME` n'est pas défini. Si vous avez créé le fichier à la main et que Claude Code ne l'a pas encore écrit, ajoutez-le à `.gitignore` vous-même.476* **Vous n'avez pas besoin de le gitignorer vous-même, sauf si vous l'avez créé à la main.** La première fois que Claude Code écrit le fichier dans un référentiel git qui ne l'ignore pas déjà, il ajoute `**/.claude/settings.local.json` à votre fichier d'exclusions git global, donc le fichier reste hors de vos commits dans chaque référentiel. Ce fichier est `core.excludesFile` quand votre configuration git globale le définit à un chemin absolu ou préfixé par `~` ; sinon c'est `$XDG_CONFIG_HOME/git/ignore`, ou `~/.config/git/ignore` quand `XDG_CONFIG_HOME` n'est pas défini. Si vous avez créé le fichier à la main et que Claude Code ne l'a pas encore écrit, ajoutez-le à `.gitignore` vous-même.


765 765 

766Deux choses empêchent une clé dans `.claude/settings.json` de s'appliquer pour tout le monde qui la clone :766Deux choses empêchent une clé dans `.claude/settings.json` de s'appliquer pour tout le monde qui la clone :

767 767 

768* **Claude Code ignore la clé dans un fichier de référentiel.** Cherchez `User, local, or managed`, `User or managed`, `Managed`, ou `Global config` dans la colonne Scope de l'[index des paramètres](/docs/fr/settings-reference#settings-index) ; ces clés ne s'appliquent jamais à partir du fichier partagé, à part [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit), qu'un fichier de référentiel peut toujours éteindre : tant que le fichier définit la clé et aucune valeur utilisateur, `--settings`, ou gérée ne le fait, Claude Code lit le paramètre comme éteint. Les clés `Global config` s'appliquent uniquement à partir de `~/.claude.json`.768* **Claude Code ignore la clé dans un fichier de référentiel.** Cherchez `User, local, or managed`, `User or managed`, `Managed`, ou `Global config` dans la colonne Scope de l'[index des paramètres](/docs/fr/settings-reference#settings-index). Ces clés ne s'appliquent jamais à partir du fichier partagé, à part quelques-unes qu'un fichier de référentiel peut toujours désactiver. Chacune de ces entrées le dit sur sa ligne Scope. Les clés `Global config` s'appliquent uniquement à partir de `~/.claude.json`.

769* **La clé attend la confiance.** Les règles `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces`, et la plupart des valeurs [`env`](/docs/fr/settings-reference#env) s'appliquent uniquement après que chaque coéquipier [fasse confiance au dossier](/docs/fr/permissions#project-allow-rules-and-workspace-trust). Jusqu'à ce qu'ils le fassent, ils voient toujours des invites et n'obtiennent pas les plugins d'une marketplace que le fichier déclare. Les règles `deny` et `ask` s'appliquent immédiatement.769* **La clé attend la confiance.** Les règles `permissions.allow`, `permissions.additionalDirectories`, `extraKnownMarketplaces`, et la plupart des valeurs [`env`](/docs/fr/settings-reference#env) s'appliquent uniquement après que chaque coéquipier [fasse confiance au dossier](/docs/fr/permissions#project-allow-rules-and-workspace-trust). Jusqu'à ce qu'ils le fassent, ils voient toujours des invites et n'obtiennent pas les plugins d'une marketplace que le fichier déclare. Les règles `deny` et `ask` s'appliquent immédiatement.

770 770 

771<h4 id="permission-rules-combine-differently-than-you-expected">771<h4 id="permission-rules-combine-differently-than-you-expected">


792| [`crossSessionInbound`](/docs/fr/settings-reference#crosssessioninbound) | Une valeur plus stricte à partir de `.claude/settings.json` ou `.claude/settings.local.json`, sur l'échelle `accept` \< `hold` \< `refuse` | Honorée sur les valeurs gérées, `--settings`, et utilisateur ; une valeur de projet ou local qui n'est pas plus stricte est ignorée |792| [`crossSessionInbound`](/docs/fr/settings-reference#crosssessioninbound) | Une valeur plus stricte à partir de `.claude/settings.json` ou `.claude/settings.local.json`, sur l'échelle `accept` \< `hold` \< `refuse` | Honorée sur les valeurs gérées, `--settings`, et utilisateur ; une valeur de projet ou local qui n'est pas plus stricte est ignorée |

793| [`useAutoModeDuringPlan`](/docs/fr/settings-reference#useautomodeduringplan) | `false` à partir de n'importe quelle source gérée, `--settings`, `~/.claude/settings.json`, ou `.claude/settings.local.json` | Honorée même quand la source gérée gagnante définit `true` ; un `false` dans `.claude/settings.json` est ignoré |793| [`useAutoModeDuringPlan`](/docs/fr/settings-reference#useautomodeduringplan) | `false` à partir de n'importe quelle source gérée, `--settings`, `~/.claude/settings.json`, ou `.claude/settings.local.json` | Honorée même quand la source gérée gagnante définit `true` ; un `false` dans `.claude/settings.json` est ignoré |

794| [`syncClaudeAiSkills`](/docs/fr/settings-reference#syncclaudeaiskills) | `false` à partir de n'importe quelle source gérée, `--settings`, `~/.claude/settings.json`, ou `.claude/settings.local.json` | Honorée même quand la source gérée gagnante définit `true` ; un `false` dans `.claude/settings.json` est ignoré |794| [`syncClaudeAiSkills`](/docs/fr/settings-reference#syncclaudeaiskills) | `false` à partir de n'importe quelle source gérée, `--settings`, `~/.claude/settings.json`, ou `.claude/settings.local.json` | Honorée même quand la source gérée gagnante définit `true` ; un `false` dans `.claude/settings.json` est ignoré |

795| [`syncClaudeAiPlugins`](/docs/fr/settings-reference#syncclaudeaiplugins) | `false` à partir de n'importe quelle source gérée, `--settings`, `~/.claude/settings.json`, ou `.claude/settings.local.json` | Honorée même quand la source gérée gagnante définit `true` ; un `false` dans `.claude/settings.json` est ignoré |

795| [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) | Un plafond inférieur à partir de n'importe quelle portée, y compris `--settings` | Honorée même quand les paramètres gérés que Claude Code applique définissent un plafond plus élevé ; le plafond le plus bas s'applique. Nécessite Claude Code v2.1.267 ou ultérieur |796| [`maxEffortLevel`](/docs/fr/settings-reference#maxeffortlevel) | Un plafond inférieur à partir de n'importe quelle portée, y compris `--settings` | Honorée même quand les paramètres gérés que Claude Code applique définissent un plafond plus élevé ; le plafond le plus bas s'applique. Nécessite Claude Code v2.1.267 ou ultérieur |

796 797 

797Une application qui exécute Claude Code à l'intérieur d'elle-même et définit [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars) est aussi une exception. Claude Code prend la configuration de modèle de cette application sur les clés `model`, `fallbackModel`, `modelPicker`, et `modelOverrides` à partir de chaque source gérée, et sur les variables de sélection de modèle dans un bloc `env` géré, comme `ANTHROPIC_MODEL` et la famille `ANTHROPIC_DEFAULT_*_MODEL`. Claude Code garde une liste blanche [`availableModels`](/docs/fr/settings-reference#availablemodels) gérée en vigueur sauf si l'application fournit la sienne.798Une application qui exécute Claude Code à l'intérieur d'elle-même et définit [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars) est aussi une exception. Claude Code prend la configuration de modèle de cette application sur les clés `model`, `fallbackModel`, `modelPicker`, et `modelOverrides` à partir de chaque source gérée, et sur les variables de sélection de modèle dans un bloc `env` géré, comme `ANTHROPIC_MODEL` et la famille `ANTHROPIC_DEFAULT_*_MODEL`. Claude Code garde une liste blanche [`availableModels`](/docs/fr/settings-reference#availablemodels) gérée en vigueur sauf si l'application fournit la sienne.


800 Paramètres dans les sessions cloud801 Paramètres dans les sessions cloud

801</h2>802</h2>

802 803 

803Une session cloud, sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ou à partir de [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-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 :

804 805 

805* **Paramètres de projet partagés** (`.claude/settings.json`) : lus, parce que le fichier fait partie du clone. Validez un paramètre là pour l'appliquer dans les sessions cloud.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 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.

807* **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.

808* **`/config`** : sur le web, 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 validez la clé dans le `.claude/settings.json` du 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.

809 810 

810[Ce qui se transfère de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup) énumère le reste : `CLAUDE.md`, skills, serveurs MCP, plugins, et identifiants.811[Ce qui se transfère de votre configuration](/docs/fr/cloud-environments#what-carries-over-from-your-setup) énumère le reste : `CLAUDE.md`, skills, serveurs MCP, plugins, et identifiants.

811 812 

Details

96 96 

97Les paramètres partagés d'une équipe, validés dans le référentiel afin que tous ceux qui le clonent obtiennent les mêmes permissions, hooks, télémétrie et marketplace de plugins. Enregistrez un fichier comme celui-ci à `.claude/settings.json` en haut du référentiel. Ce qu'il faut savoir avant de valider un :97Les paramètres partagés d'une équipe, validés dans le référentiel afin que tous ceux qui le clonent obtiennent les mêmes permissions, hooks, télémétrie et marketplace de plugins. Enregistrez un fichier comme celui-ci à `.claude/settings.json` en haut du référentiel. Ce qu'il faut savoir avant de valider un :

98 98 

99* **Les sessions cloud le lisent aussi.** Une [session cloud](/docs/fr/settings#settings-in-cloud-sessions) sur Claude Code sur le web démarre à partir d'un clone du référentiel, donc le fichier validé s'applique également là.99* **Les sessions cloud le lisent aussi.** Une [session cloud](/docs/fr/settings#settings-in-cloud-sessions) démarre à partir d'un clone du référentiel, donc le fichier validé s'applique également là.

100* **Les règles d'autorisation attendent la confiance.** Les règles d'autorisation et les entrées `extraKnownMarketplaces` prennent effet après que chaque personne [fasse confiance à ce dossier lui-même](/docs/fr/permissions#project-allow-rules-and-workspace-trust), pas seulement à un dossier parent ; les règles de refus et de demande s'appliquent dans chaque session, de confiance ou non.100* **Les règles d'autorisation attendent la confiance.** Les règles d'autorisation et les entrées `extraKnownMarketplaces` prennent effet après que chaque personne [fasse confiance à ce dossier lui-même](/docs/fr/permissions#project-allow-rules-and-workspace-trust), pas seulement à un dossier parent ; les règles de refus et de demande s'appliquent dans chaque session, de confiance ou non.

101* **Le hook est un script dans le référentiel.** Le hook de ce fichier exécute `.claude/hooks/block-rm.sh` ; [Comment un hook se résout](/docs/fr/hooks#how-a-hook-resolves) explique comment l'écrire.101* **Le hook est un script dans le référentiel.** Le hook de ce fichier exécute `.claude/hooks/block-rm.sh` ; [Comment un hook se résout](/docs/fr/hooks#how-a-hook-resolves) explique comment l'écrire.

102* **Les règles correspondent à la commande et au chemin tels qu'écrits.** `Bash(git push *)` ne correspond pas à [`git -C . push`](/docs/fr/permissions#bash-rule-limits). `Read(./.env)` seul arrête les outils de fichier et les commandes qui nomment le fichier, comme `cat .env`, mais pas [`grep -r` exécuté sur le répertoire](/docs/fr/permissions#read-and-edit) ; le bloc `sandbox` dans ce fichier comble cette lacune, car le sandbox [ajoute vos chemins de refus `Read`](/docs/fr/settings-reference#sandbox-filesystem-denyread) à ce que chaque commande en sandbox ne peut pas lire.102* **Les règles correspondent à la commande et au chemin tels qu'écrits.** `Bash(git push *)` ne correspond pas à [`git -C . push`](/docs/fr/permissions#bash-rule-limits). `Read(./.env)` seul arrête les outils de fichier et les commandes qui nomment le fichier, comme `cat .env`, mais pas [`grep -r` exécuté sur le répertoire](/docs/fr/permissions#read-and-edit) ; le bloc `sandbox` dans ce fichier comble cette lacune, car le sandbox [ajoute vos chemins de refus `Read`](/docs/fr/settings-reference#sandbox-filesystem-denyread) à ce que chaque commande en sandbox ne peut pas lire.

Details

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 | 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 | 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 | Authentification et fournisseurs | 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 compatible avec les lecteurs d'écran](/docs/fr/accessibility) | Interface et 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| [`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 | Mémoire et contexte | Any file |

628| [`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 et compétences | Managed |

629| [`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 | Outils | Managed |


679| [`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) | Authentification et fournisseurs | Any file |

680| [`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 | Authentification et fournisseurs | Any file |

681| [`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 le serveur](/docs/fr/server-managed-settings) soient fraîchement récupérés | Paramètres d'entreprise et gérés | 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 |

682| [`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 | Authentification et fournisseurs | Any file |

683| [`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 et automatisation | Any file |

684| [`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 et automatisation | Any file |


792| [`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 agents et autres demandes en dehors de la conversation principale | Modèle et réponses | Any file |

793| [`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 de l'agent](/docs/fr/sub-agents) avec votre propre commande | Interface et terminal | Any file |

794| [`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 | Modèle et réponses | Any file |

795| [`syncClaudeAiSkills`](#syncclaudeaiskills) | Arrêtez le téléchargement des [compétences activées sur votre compte claude.ai](/docs/fr/skills#how-synced-skills-behave) et masquez celles déjà synchronisées | Plugins et compétences | User, local, or managed |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 |

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 |

796| [`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 et terminal | Any file |

797| [`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) | 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 |

798| [`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 ; 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 |


1152* **Type** : objet avec un `multiplier` optionnel et une carte `overrides` optionnelle1155* **Type** : objet avec un `multiplier` optionnel et une carte `overrides` optionnelle

1153* **Par défaut** : non défini, donc Claude Code signale le prix catalogue sauf si une application hôte fournit une table1156* **Par défaut** : non défini, donc Claude Code signale le prix catalogue sauf si une application hôte fournit une table

1154 1157 

1155Cet exemple définit les tarifs contractuels pour Sonnet 4.6 puis réduit chaque chiffre, la ligne Sonnet incluse, de 15 %. Définissez `multiplier` seul pour une remise forfaitaire, `overrides` seul pour les tarifs par modèle, ou les deux :1158Définissez `multiplier` seul pour une remise forfaitaire ou une majoration, `overrides` seul pour les tarifs par modèle, ou les deux.

1159 

1160Cet exemple définit les tarifs contractuels pour Sonnet 4.6 puis réduit chaque chiffre, la ligne Sonnet incluse, de 15 % :

1156 1161 

1157```json managed-settings.json theme={null}1162```json managed-settings.json theme={null}

1158{1163{


1170}1175}

1171```1176```

1172 1177 

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.

1179 

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

1174 1181 

1175<span id="modelpricing-multiplier" />1182<span id="modelpricing-multiplier" />


1182 1189 

1183| Champ | Type | Ce qu'il fait |1190| Champ | Type | Ce qu'il fait |

1184| :----------- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1191| :----------- | :----------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1185| `multiplier` | nombre supérieur à 0 et au maximum 1 | Redimensionne chaque coût que Claude Code calcule, qu'une ligne `overrides` la couvre ou non |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 |

1186| `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) |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) |

1187 1194 

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


1369 1376 

1370Rendez les paramètres gérés la seule source de règles de permission. Claude Code ignore alors les règles `allow`, `ask` et `deny` dans les fichiers utilisateur, projet, local et `--settings`, ignore `--allowedTools`, masque les choix d'autorisation permanente dans les invites de permission, et arrête d'enregistrer les nouvelles règles.1377Rendez les paramètres gérés la seule source de règles de permission. Claude Code ignore alors les règles `allow`, `ask` et `deny` dans les fichiers utilisateur, projet, local et `--settings`, ignore `--allowedTools`, masque les choix d'autorisation permanente dans les invites de permission, et arrête d'enregistrer les nouvelles règles.

1371 1378 

1372Quand [les paramètres parents d'un hôte d'intégration](/docs/fr/managed-settings#let-an-embedding-host-add-policy) s'appliquent, Claude Code les traite comme faisant partie du niveau géré : il conserve leurs règles `deny` et `ask` et supprime leurs règles `allow` et `additionalDirectories`.1379Quand [les paramètres parents d'un hôte d'intégration](/docs/fr/managed-settings#let-an-embedding-host-add-policy) s'appliquent, Claude Code les traite comme faisant partie du niveau géré. Il supprime leurs règles `allow` et `additionalDirectories`, et conserve leurs règles `deny` et `ask` sauf les règles `Read` et `Edit` dont le motif commence par `!`. Un hôte ne peut pas découper les chemins des règles gérées avec une règle `!`, que vous définissiez cette clé ou non.

1373 1380 

1374Les règles `--disallowedTools` et les règles `deny` et `ask` de la session actuelle s'appliquent toujours, y compris après que Claude Code recharge les paramètres en cours de session. Elles ne font que restreindre, donc elles ne peuvent pas élargir ce que les règles gérées accordent. Avant la v2.1.257, Claude Code supprimait ces règles de ligne de commande et de session au premier rechargement des paramètres.1381Les règles `--disallowedTools` et les règles `deny` et `ask` de la session actuelle s'appliquent toujours, y compris après que Claude Code recharge les paramètres en cours de session. Elles ne font que restreindre, donc elles ne peuvent pas élargir ce que les règles gérées accordent. Avant la v2.1.257, Claude Code supprimait ces règles de ligne de commande et de session au premier rechargement des paramètres.

1375 1382 

1383Pour ce qu'un motif `!` dans une règle `--disallowedTools` ou de session peut découper, consultez [Règles Read et Edit](/docs/fr/permissions#read-and-edit).

1384 

1376* **Portée** : [`Managed`](#scopes)1385* **Portée** : [`Managed`](#scopes)

1377* **Type** : Booléen1386* **Type** : Booléen

1378 * `true` : les paramètres gérés deviennent la seule source de règles de permission1387 * `true` : les paramètres gérés deviennent la seule source de règles de permission


1413 `autoMode.classifyAllShell`1422 `autoMode.classifyAllShell`

1414</h3>1423</h3>

1415 1424 

1416Envoyez chaque commande Bash et PowerShell via le classificateur du mode auto pendant que le mode auto est actif. Par défaut, le mode auto suspend uniquement les règles d'autorisation qui pourraient exécuter du code arbitraire : les règles à l'échelle de l'outil et les règles avec caractères génériques telles que `Bash(*)`, et les préfixes d'interpréteur ou de shell-wrapper tels que `Bash(python *)`. Une commande qui correspond à toute autre règle d'autorisation, telle que `Bash(npm test)`, ignore le classificateur, et un argument destructeur que le préfixe de la règle n'a pas anticipé peut passer inaperçu. La définition de cette clé suspend chaque règle d'autorisation shell pour la session afin que le classificateur voie chaque commande. Nécessite Claude Code v2.1.193 ou ultérieur.1425Envoyez chaque commande Bash et PowerShell via le classificateur du mode auto pendant que le mode auto est actif. Par défaut, le mode auto suspend uniquement les règles d'autorisation qui pourraient exécuter du code arbitraire : les règles à l'échelle de l'outil et les règles avec caractères génériques telles que `Bash(*)`, et les préfixes d'interpréteur ou de shell-wrapper tels que `Bash(python *)`. Une commande qui correspond à toute autre règle d'autorisation, telle que `Bash(npm test)`, ignore le classificateur sauf si elle porte [des domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode). Quand elle ignore, un argument destructeur que le préfixe de la règle n'a pas anticipé peut passer inaperçu. La définition de cette clé suspend chaque règle d'autorisation shell pour la session afin que le classificateur voie chaque commande. Nécessite Claude Code v2.1.193 ou ultérieur.

1417 1426 

1418* **Portée** : [`User or managed`](#scopes). Lue partout où [`autoMode`](#automode) est lu.1427* **Portée** : [`User or managed`](#scopes). Lue partout où [`autoMode`](#automode) est lu.

1419* **Type** : Booléen1428* **Type** : Booléen

1420 * `true` : pendant que le mode auto est actif, Claude Code envoie chaque commande Bash et PowerShell via le classificateur et suspend vos règles d'autorisation shell ; en dehors du mode auto, les règles s'appliquent toujours1429 * `true` : pendant que le mode auto est actif, Claude Code envoie chaque commande Bash et PowerShell via le classificateur et suspend vos règles d'autorisation shell ; en dehors du mode auto, les règles s'appliquent toujours

1421 * `false` : le mode auto suspend uniquement les règles d'autorisation qui pourraient exécuter du code arbitraire, telles que `Bash(*)` et `Bash(python *)` ; une commande qui correspond à toute autre règle d'autorisation ignore le classificateur, et chaque autre commande shell la traverse1430 * `false` : le mode auto suspend uniquement les règles d'autorisation qui pourraient exécuter du code arbitraire, telles que `Bash(*)` et `Bash(python *)` ; une commande qui correspond à toute autre règle d'autorisation ignore le classificateur sauf si elle porte [des domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode), et chaque autre commande shell la traverse

1422* **Défaut** : `false`1431* **Défaut** : `false`

1423 1432 

1424```json settings.json theme={null}1433```json settings.json theme={null}


1554 `permissions.deny`1563 `permissions.deny`

1555</h3>1564</h3>

1556 1565 

1557Listez les utilisations d'outils que Claude Code bloque. Utilisez-le pour les fichiers qui contiennent des clés API, des secrets ou des valeurs d'environnement : Claude Code exclut les fichiers correspondants de la découverte de fichiers et des résultats de recherche, refuse les lectures de ceux-ci, et bloque les outils [Edit et Write](/docs/fr/permissions#read-and-edit) sur les chemins correspondants. Les règles de blocage Read et Edit s'appliquent aux outils de fichiers intégrés de Claude, aux commandes de fichiers que Claude Code reconnaît dans Bash, telles que `cat`, `head`, `tail` et `sed`, et aux cibles des [redirections](/docs/fr/permissions#redirections) Bash telles que `> file` et `< file` ; elles ne s'appliquent pas à une commande qui lit des fichiers sans les nommer, telle que `grep -r pattern .`, ou à des sous-processus arbitraires, donc pour l'application au niveau du système d'exploitation, [activez le sandbox](/docs/fr/sandboxing).1566Listez les utilisations d'outils que Claude Code bloque. Utilisez-le pour les fichiers qui contiennent des clés API, des secrets ou des valeurs d'environnement : Claude Code exclut les fichiers correspondants de la découverte de fichiers et des résultats de recherche, refuse les lectures de ceux-ci, et bloque les outils [Edit et Write](/docs/fr/permissions#read-and-edit) sur les chemins correspondants.

1567 

1568Les règles de blocage Read et Edit s'appliquent aux outils de fichiers intégrés de Claude, aux commandes de fichiers que Claude Code reconnaît dans Bash, telles que `cat`, `head`, `tail`, `sed` et `tee`, et aux cibles des [redirections](/docs/fr/permissions#redirections) Bash telles que `> file` et `< file` ; elles ne s'appliquent pas à une commande qui lit des fichiers sans les nommer, telle que `grep -r pattern .`, ou à des sous-processus arbitraires, donc pour l'application au niveau du système d'exploitation, [activez le sandbox](/docs/fr/sandboxing).

1558 1569 

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

1560* **Type** : tableau de chaînes de règles de permission1571* **Type** : tableau de chaînes de règles de permission


1606 1617 

1607Empêchez Claude de lire les chemins en dehors des [répertoires de travail](/docs/fr/permissions#working-directories) de la session avec les outils Read, Grep, Glob et LSP, dans chaque mode de permission y compris `bypassPermissions`. Une commande Bash qui lit un chemin correspondant via une commande de fichier que Claude Code reconnaît, telle que `cat`, vous invite même en mode auto et en mode `bypassPermissions`. Nécessite Claude Code v2.1.257 ou ultérieur.1618Empêchez Claude de lire les chemins en dehors des [répertoires de travail](/docs/fr/permissions#working-directories) de la session avec les outils Read, Grep, Glob et LSP, dans chaque mode de permission y compris `bypassPermissions`. Une commande Bash qui lit un chemin correspondant via une commande de fichier que Claude Code reconnaît, telle que `cat`, vous invite même en mode auto et en mode `bypassPermissions`. Nécessite Claude Code v2.1.257 ou ultérieur.

1608 1619 

1620Une commande Bash que l'analyseur shell ne peut pas tracer, telle qu'une qui change de répertoire plus d'une fois ou exécute un sous-shell, vous invite même en mode auto et en mode `bypassPermissions`. L'invite apparaît même quand la commande ne nomme aucun chemin en dehors des répertoires de travail. Cette invite ne s'applique pas quand la commande s'exécute dans le [sandbox](/docs/fr/sandboxing) et le sandbox applique le blocage.

1621 

1609Claude Code écrit également `true` ici quand vous choisissez de bloquer ces lectures sur [l'invite du mode auto avant la première lecture en dehors des répertoires de travail](/docs/fr/permission-modes#first-read-outside-the-working-directories).1622Claude Code écrit également `true` ici quand vous choisissez de bloquer ces lectures sur [l'invite du mode auto avant la première lecture en dehors des répertoires de travail](/docs/fr/permission-modes#first-read-outside-the-working-directories).

1610 1623 

1611* **Portée** : [`Any file`](#scopes). Si une source de paramètres définit `true`, le blocage s'applique, donc un fichier enregistré d'un dépôt peut activer le blocage pour un projet mais ne peut pas lever un blocage que vous avez défini.1624* **Portée** : [`Any file`](#scopes). Si une source de paramètres définit `true`, le blocage s'applique, donc un fichier enregistré d'un dépôt peut activer le blocage pour un projet mais ne peut pas lever un blocage que vous avez défini.


1622}1635}

1623```1636```

1624 1637 

1625Si seul le fichier de paramètres enregistré d'un dépôt ajoute un répertoire, le blocage s'applique toujours aux lectures là-bas. Les fichiers dont Claude Code lui-même a besoin restent lisibles, tels que vos skills, plugins, règles, agents, commandes et le fichier de mémoire `CLAUDE.md` sous `~/.claude/`.1638Si seul le fichier de paramètres enregistré d'un dépôt ajoute un répertoire, le blocage s'applique toujours aux lectures là-bas. Quand [`autoMemoryDirectory`](#automemorydirectory) provient du `.claude/settings.json` du projet, ou d'un `.claude/settings.local.json` [traité comme fourni par le dépôt](/docs/fr/permissions#when-your-local-settings-file-needs-trust), Claude Code ne charge aucune [mémoire auto](/docs/fr/memory#storage-location) à partir de ce répertoire et n'en enregistre aucune. Les fichiers dont Claude Code lui-même a besoin restent lisibles, tels que vos skills, plugins, règles, agents, commandes et le fichier de mémoire `CLAUDE.md` sous `~/.claude/`.

1626 1639 

1627Quand le [sandbox](/docs/fr/sandboxing) est activé, le blocage refuse également aux commandes sandboxées l'accès en lecture aux répertoires home et aux racines de volumes montés en dehors des répertoires de travail. Une nouvelle tentative qui a besoin d'approbation pour [s'exécuter en dehors du sandbox](/docs/fr/sandboxing#the-unsandboxed-retry-escape-hatch) vous invite même en mode `bypassPermissions`. Les fichiers qu'un outil lit à partir de votre répertoire home, tels que `~/.gitconfig`, sont refusés avec le reste ; rouvrez un chemin spécifique avec [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) quand un outil en a besoin.1640Quand le [sandbox](/docs/fr/sandboxing) est activé, le blocage refuse également aux commandes sandboxées l'accès en lecture aux répertoires home et aux racines de volumes montés en dehors des répertoires de travail. Une nouvelle tentative qui a besoin d'approbation pour [s'exécuter en dehors du sandbox](/docs/fr/sandboxing#the-unsandboxed-retry-escape-hatch) vous invite même en mode `bypassPermissions`. Les fichiers qu'un outil lit à partir de votre répertoire home, tels que `~/.gitconfig`, sont refusés avec le reste ; rouvrez un chemin spécifique avec [`sandbox.filesystem.allowRead`](#sandbox-filesystem-allowread) quand un outil en a besoin.

1628 1641 


1654}1667}

1655```1668```

1656 1669 

1657Les règles de permission se superposent à chaque mode : les règles `deny` bloquent dans chaque mode, y compris `bypassPermissions`. Consultez [Modes de permission](/docs/fr/permission-modes). `manual` nomme le mode de permission étiqueté Manual dans la CLI et l'extension VS Code ; l'alias nécessite Claude Code v2.1.200 ou ultérieur. Dans Claude Code sur le web, Claude Code honore uniquement `acceptEdits`, `plan`, `default` et `auto` à partir de cette clé. Pour les conversations que l'extension VS Code démarre, consultez [quel paramètre l'extension lit pour le mode de permission de démarrage](/docs/fr/permission-modes#switch-permission-modes).1670Les règles de permission se superposent à chaque mode : les règles `deny` bloquent dans chaque mode, y compris `bypassPermissions`. Consultez [Modes de permission](/docs/fr/permission-modes). `manual` nomme le mode de permission étiqueté Manual dans la CLI et l'extension VS Code ; l'alias nécessite Claude Code v2.1.200 ou ultérieur. Dans les sessions cloud, Claude Code honore uniquement `acceptEdits`, `plan`, `default` et `auto` à partir de cette clé. Pour les conversations que l'extension VS Code démarre, consultez [quel paramètre l'extension lit pour le mode de permission de démarrage](/docs/fr/permission-modes#switch-permission-modes).

1658 1671 

1659<h3 id="permissions-disablebypasspermissionsmode">1672<h3 id="permissions-disablebypasspermissionsmode">

1660 `permissions.disableBypassPermissionsMode`1673 `permissions.disableBypassPermissionsMode`


2670* **Scope** : [`User or managed`](#scopes). Un référentiel ne peut pas l'activer ou le désactiver.2683* **Scope** : [`User or managed`](#scopes). Un référentiel ne peut pas l'activer ou le désactiver.

2671* **Type** : Booléen2684* **Type** : Booléen

2672 * `true` : Claude Code refuse aux commandes en sandbox l'accès aux hôtes en dehors de la liste d'autorisation2685 * `true` : Claude Code refuse aux commandes en sandbox l'accès aux hôtes en dehors de la liste d'autorisation

2673 * `false` : sauf si un autre fichier de paramètres de confiance définit `true`, Claude Code décide un hôte en dehors de la liste d'autorisation par mode de permission au lieu de le refuser directement : il exécute le classificateur en mode auto, refuse en mode `dontAsk`, autorise en mode `bypassPermissions` et en mode plan lorsque le bypass est disponible, et sinon vous demande2686 * `false` : sauf si un autre fichier de paramètres de confiance définit `true`, Claude Code décide un hôte en dehors de la liste d'autorisation par mode de permission au lieu de le refuser directement : en mode auto il vérifie l'hôte par rapport aux [domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode), en mode `dontAsk` il refuse, en mode `bypassPermissions` et en sessions plan-mode de terminal interactif où le bypass est disponible il autorise, et sinon il vous demande

2674* **Default** : `false`2687* **Default** : `false`

2675 2688 

2676```json settings.json theme={null}2689```json settings.json theme={null}


3136 `axScreenReader`3149 `axScreenReader`

3137</h3>3150</h3>

3138 3151 

3139Rendez la sortie compatible avec les lecteurs d'écran : texte plat sans bordures décoratives ni animations. Le mode lecteur d'écran utilise le moteur de rendu classique, donc le paramètre `tui` n'a aucun effet tant qu'il est actif ; les [sessions en arrière-plan](/docs/fr/agent-view) attachées restent rendues en plein écran. Nécessite Claude Code v2.1.181 ou ultérieur.3152Rendez la sortie compatible avec les lecteurs d'écran : texte plat sans bordures décoratives ni animations. Le mode lecteur d'écran utilise le moteur de rendu classique, donc le paramètre `tui` n'a aucun effet tant qu'il est actif ; les [sessions en arrière-plan](/docs/fr/agent-view) attachées restent rendues en plein écran.

3140 3153 

3141* **Portée** : [`N'importe quel fichier`](#scopes)3154* **Portée** : [`N'importe quel fichier`](#scopes)

3142* **Type** : Booléen3155* **Type** : Booléen


3151}3164}

3152```3165```

3153 3166 

3154Nécessite Claude Code v2.1.181 ou ultérieur.3167<h3 id="basheditdiffenabled">

3168 `bashEditDiffEnabled`

3169</h3>

3170 

3171Choisissez si Claude Code enregistre les fichiers qu'une commande Bash modifie dans un référentiel Git. Lorsqu'il les enregistre, vous voyez leur diff dans le terminal après la commande, et vos [hooks Bash PostToolUse](/docs/fr/hooks#bash) reçoivent la liste des fichiers modifiés.

3172 

3173Définissez la clé à `true` pour les enregistrer dans chaque mode de permission. Nécessite Claude Code v2.1.269 ou ultérieur.

3174 

3175* **Portée** : [`Utilisateur ou géré`](#scopes). Un `true` compte uniquement à partir de vos paramètres utilisateur, du JSON transmis avec `--settings`, ou des [paramètres gérés](/docs/fr/managed-settings), donc un `true` dans le `.claude/settings.json` ou `.claude/settings.local.json` d'un référentiel ne peut pas activer l'enregistrement. Un `false` dans l'un ou l'autre fichier de référentiel le désactive toujours à moins qu'un fichier de [priorité supérieure](/docs/fr/settings#settings-precedence) ne définisse `true`.

3176* **Type** : Booléen

3177* **Défaut** : non défini, donc Claude Code enregistre les modifications en mode auto et en mode `bypassPermissions` lorsqu'il dirige Claude à modifier les fichiers via Bash

3178* **Remplacements par session** : [`CLAUDE_CODE_BASH_EDIT_DIFF`](/docs/fr/env-vars) a la priorité sur cette clé pour une session

3179 

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

3181{

3182 "bashEditDiffEnabled": true

3183}

3184```

3155 3185 

3156<h3 id="companyannouncements">3186<h3 id="companyannouncements">

3157 `companyAnnouncements`3187 `companyAnnouncements`


3308 `footerLinksRegexes`3338 `footerLinksRegexes`

3309</h3>3339</h3>

3310 3340 

3311Rendez les badges cliquables supplémentaires dans le pied de page sous la boîte d'entrée lorsqu'une regex correspond à la sortie de tour : résultats d'outils, y compris le contenu des fichiers et les pages récupérées, et les propres réponses de Claude. Utilisez-le pour transformer les ID imprimés par les CLI de projet, tels que les outils d'examen et les suivi de problèmes, en liens de session. Nécessite Claude Code v2.1.176 ou ultérieur.3341Rendez les badges cliquables supplémentaires dans le pied de page sous la boîte d'entrée lorsqu'une regex correspond à la sortie de tour : résultats d'outils, y compris le contenu des fichiers et les pages récupérées, et les propres réponses de Claude. Utilisez-le pour transformer les ID imprimés par les CLI de projet, tels que les outils d'examen et les suivi de problèmes, en liens de session.

3312 3342 

3313* **Portée** : [`Utilisateur ou géré`](#scopes)3343* **Portée** : [`Utilisateur ou géré`](#scopes)

3314* **Type** : tableau d'objets, chacun avec `type` défini à `"regex"`, une regex `pattern`, un modèle `url`, et un `label` optionnel ; les espaces réservés `{name}` dans `url` et `label` sont remplis à partir des groupes de capture nommés dans `pattern`3344* **Type** : tableau d'objets, chacun avec `type` défini à `"regex"`, une regex `pattern`, un modèle `url`, et un `label` optionnel ; les espaces réservés `{name}` dans `url` et `label` sont remplis à partir des groupes de capture nommés dans `pattern`


3329}3359}

3330```3360```

3331 3361 

3332Avec ceci configuré, lorsque `PROJ-1234` apparaît dans un résultat d'outil ou dans la réponse de Claude, un badge `PROJ-1234` apparaît dans le pied de page liant à `https://issues.example.com/browse/PROJ-1234`. Nécessite Claude Code v2.1.176 ou ultérieur.3362Avec ceci configuré, lorsque `PROJ-1234` apparaît dans un résultat d'outil ou dans la réponse de Claude, un badge `PROJ-1234` apparaît dans le pied de page liant à `https://issues.example.com/browse/PROJ-1234`.

3333 3363 

3334<h4 id="badge-constraints">3364<h4 id="badge-constraints">

3335 Contraintes de badge3365 Contraintes de badge


3916 `wheelScrollAccelerationEnabled`3946 `wheelScrollAccelerationEnabled`

3917</h3>3947</h3>

3918 3948 

3919Accélérez la vitesse de défilement à la molette de la souris lors de défilements rapides en [rendu plein écran](/docs/fr/fullscreen#mouse-wheel-scrolling). Définissez-le à `false` pour un taux de défilement constant par cran de molette. Nécessite Claude Code v2.1.174 ou ultérieur.3949Accélérez la vitesse de défilement à la molette de la souris lors de défilements rapides en [rendu plein écran](/docs/fr/fullscreen#mouse-wheel-scrolling). Définissez-le à `false` pour un taux de défilement constant par cran de molette.

3920 3950 

3921* **Portée** : [`N'importe quel fichier`](#scopes)3951* **Portée** : [`N'importe quel fichier`](#scopes)

3922* **Type** : Booléen3952* **Type** : Booléen


3930}3960}

3931```3961```

3932 3962 

3933Nécessite Claude Code v2.1.174 ou ultérieur.

3934 

3935<h2 id="git-and-attribution">3963<h2 id="git-and-attribution">

3936 Git et attribution3964 Git et attribution

3937</h2>3965</h2>


4299 `workflowSizeGuideline`4327 `workflowSizeGuideline`

4300</h3>4328</h3>

4301 4329 

4302Définissez le [nombre d'agents que Claude vise](/docs/fr/workflows#set-a-size-guideline) dans les workflows dynamiques qu'il écrit. Claude Code envoie la valeur à Claude comme conseil, pas une limite appliquée : `"small"` demande moins de 5 agents, `"medium"` moins de 15, et `"large"` moins de 50. Choisissez `"small"` lorsque vous voulez limiter ce qu'un workflow dépense. Nécessite Claude Code v2.1.219 ou ultérieur.4330Définissez le [nombre d'agents que Claude vise](/docs/fr/workflows#set-a-size-guideline) dans les workflows dynamiques qu'il écrit. Claude Code envoie la valeur à Claude comme conseil, pas une limite appliquée : `"small"` demande moins de 5 agents, `"medium"` moins de 10, et `"large"` moins de 50. Choisissez `"small"` lorsque vous voulez limiter ce qu'un workflow dépense. Nécessite Claude Code v2.1.219 ou ultérieur.

4303 4331 

4304* **Portée** : [`Any file`](#scopes). Une valeur là prend la priorité sur le choix **Dynamic workflow size** dans `/config`, que Claude Code stocke dans `~/.claude.json`, et Claude Code masque cette ligne tant qu'un fichier de paramètres définit la clé.4332* **Portée** : [`Any file`](#scopes). Une valeur là prend la priorité sur le choix **Dynamic workflow size** dans `/config`, que Claude Code stocke dans `~/.claude.json`, et Claude Code masque cette ligne tant qu'un fichier de paramètres définit la clé.

4305* **Type** : chaîne, l'une des :4333* **Type** : chaîne, l'une des :

4306 * `"unrestricted"` : pas de directive, donc Claude dimensionne le workflow à la tâche4334 * `"unrestricted"` : pas de directive, donc Claude dimensionne le workflow à la tâche

4307 * `"small"` : Claude vise moins de 5 agents4335 * `"small"` : Claude vise moins de 5 agents

4308 * `"medium"` : Claude vise moins de 15 agents4336 * `"medium"` : Claude vise moins de 10 agents

4309 * `"large"` : Claude vise moins de 50 agents4337 * `"large"` : Claude vise moins de 50 agents

4310* **Valeur par défaut** : `"medium"`4338* **Valeur par défaut** : `"medium"`, ou `"small"` lorsque vous êtes connecté sur un plan Pro avec Claude Code v2.1.271 ou ultérieur

4311 4339 

4312```json settings.json theme={null}4340```json settings.json theme={null}

4313{4341{


4403 `syncClaudeAiSkills`4431 `syncClaudeAiSkills`

4404</h3>4432</h3>

4405 4433 

4406Désactivez le téléchargement des [skills que vous activez sur claude.ai](/docs/fr/skills#how-synced-skills-behave). Claude Code les télécharge dans `~/.claude/skills/synced/` lorsque vous l'exécutez en [mode non interactif](/docs/fr/headless) avec le drapeau `-p` et [`CLAUDE_CODE_SYNC_SKILLS`](/docs/fr/env-vars#variables) défini. Définissez `false` pour arrêter ce téléchargement et masquer les skills qu'il a déjà synchronisés. Claude Code honore uniquement `false` : `true` est identique à unset et n'active pas la synchronisation.4434Désactivez le téléchargement des [skills activés pour votre compte claude.ai](/docs/fr/skills#how-synced-skills-behave). Claude Code les télécharge dans `~/.claude/skills/synced/` dans [les sessions de terminal où vous vous connectez avec votre compte claude.ai](/docs/fr/skills#where-synced-skills-load), interactives ou non interactives, et dans les sessions Cowork et cloud. Définissez `false` pour arrêter ce téléchargement et arrêter le chargement des skills qu'il a déjà synchronisés. Claude Code honore uniquement `false` : `true` est identique à unset et n'active pas la synchronisation où elle est autrement désactivée.

4407 4435 

4408* **Scope** : [`User, local, or managed`](#scopes). Un référentiel ne peut pas le désactiver pour vous.4436* **Scope** : [`User, local, or managed`](#scopes), et fichiers passés avec `--settings`. Un référentiel ne peut pas le désactiver pour vous.

4409* **Type** : Boolean4437* **Type** : Boolean

4410 * `false` : Claude Code arrête de télécharger les skills synchronisés et masque ceux déjà dans `~/.claude/skills/synced/`. Dans les paramètres utilisateur ou gérés, il les déplace également vers `~/.claude/skills/.trash/`4438 * `false` : Claude Code arrête de télécharger les skills synchronisés et arrête de charger ceux déjà dans `~/.claude/skills/synced/`. Dans les paramètres utilisateur ou gérés, il les déplace également vers `~/.claude/skills/.trash/`

4411 * `true` : identique à unset4439 * `true` : identique à unset

4412* **Default** : unset, donc une exécution non interactive avec `CLAUDE_CODE_SYNC_SKILLS` défini télécharge les skills4440* **Default** : unset, donc les sessions connectées avec votre compte claude.ai synchronisent vos skills

4413 4441 

4414Cet exemple empêche une machine de télécharger les skills du compte, quels que soient les paramètres d'une session dans son environnement :4442Cet exemple empêche une machine de télécharger les skills du compte dans n'importe quelle session :

4415 4443 

4416```json settings.json theme={null}4444```json settings.json theme={null}

4417{4445{


4419}4447}

4420```4448```

4421 4449 

4450<h3 id="syncclaudeaiplugins">

4451 `syncClaudeAiPlugins`

4452</h3>

4453 

4454Désactivez le téléchargement des [plugins activés pour votre compte claude.ai](/docs/fr/plugins-reference#synced-plugins). Claude Code les télécharge dans `~/.claude/plugins/synced/` au début des sessions de terminal où vous vous connectez avec votre compte claude.ai, et dans les sessions Cowork et cloud, et charge chacun comme `<name>@synced`. Définissez `false` pour arrêter ce téléchargement et arrêter le chargement des plugins qu'il a déjà synchronisés. Claude Code honore uniquement `false` : `true` est identique à unset et n'active pas la synchronisation où elle est autrement désactivée. Nécessite Claude Code v2.1.273 ou ultérieur.

4455 

4456* **Scope** : [`User, local, or managed`](#scopes), et fichiers passés avec `--settings`. Un référentiel ne peut pas le désactiver pour vous.

4457* **Type** : Boolean

4458 * `false` : Claude Code arrête de télécharger les plugins synchronisés et arrête de charger ceux déjà dans `~/.claude/plugins/synced/`. Dans les paramètres utilisateur ou gérés, il les déplace également vers `~/.claude/plugins/.trash/`

4459 * `true` : identique à unset

4460* **Default** : unset, donc les sessions connectées avec votre compte claude.ai synchronisent vos plugins

4461 

4462Pour désactiver un seul plugin synchronisé plutôt que tous, définissez `"<name>@synced": false` dans [`enabledPlugins`](#enabledplugins).

4463 

4464Cet exemple empêche une machine de télécharger les plugins du compte dans n'importe quelle session :

4465 

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

4467{

4468 "syncClaudeAiPlugins": false

4469}

4470```

4471 

4422<h3 id="allowedchannelplugins">4472<h3 id="allowedchannelplugins">

4423 `allowedChannelPlugins`4473 `allowedChannelPlugins`

4424</h3>4474</h3>


4860 4910 

4861Le type de source `git` fonctionne avec n'importe quel service d'hébergement git, y compris GitLab auto-hébergé et Bitbucket. Claude Code clone le référentiel avec la même authentification que `git clone` utiliserait sur cette machine : assistants d'authentification configurés ou clés SSH. Un jeton de fournisseur tel que `GITHUB_TOKEN` prend effet uniquement via un assistant d'authentification qui le lit. Consultez [Référentiels privés](/docs/fr/plugin-marketplaces#private-repositories) pour les détails de configuration.4911Le type de source `git` fonctionne avec n'importe quel service d'hébergement git, y compris GitLab auto-hébergé et Bitbucket. Claude Code clone le référentiel avec la même authentification que `git clone` utiliserait sur cette machine : assistants d'authentification configurés ou clés SSH. Un jeton de fournisseur tel que `GITHUB_TOKEN` prend effet uniquement via un assistant d'authentification qui le lit. Consultez [Référentiels privés](/docs/fr/plugin-marketplaces#private-repositories) pour les détails de configuration.

4862 4912 

4863Pour les sources `github` et `git`, définissez `"skipLfs": true` à l'intérieur de l'objet `source`, aux côtés de `repo` ou `url`, pour ignorer les téléchargements Git LFS lorsque Claude Code clone ou met à jour le référentiel de marketplace. Les fichiers pointeurs LFS restent comme pointeurs au lieu de télécharger leur contenu. Utilisez ceci lorsque le référentiel contient de grands objets LFS sans rapport avec le contenu du plugin.4913Pour les sources `github` et `git`, Claude Code ne télécharge jamais le contenu de [Git LFS](https://git-lfs.com) lorsqu'il clone le référentiel de marketplace pour l'ajouter ou le mettre à jour. Les fichiers suivis par LFS sont extraits en tant que fichiers pointeurs, et la sortie d'ajout ou de mise à jour signale combien.

4914 

4915Le champ `skipLfs` à l'intérieur de l'objet `source` est accepté et n'a aucun effet. Avant v2.1.274, Claude Code téléchargeait le contenu LFS sauf si vous définissiez `"skipLfs": true`.

4864 4916 

4865Pour une source `url`, définissez `headersHelper` à l'intérieur de l'objet `source` lorsque les identifiants dans `headers` expirent et qu'une commande doit en produire un nouveau. Nécessite Claude Code v2.1.238 ou ultérieur. Pour ce que la commande doit imprimer et où Claude Code l'exécute, consultez [Écrire la commande headersHelper](/docs/fr/plugin-marketplaces#write-the-headershelper-command), et pour les cas où Claude Code ne l'exécute pas, consultez [Quand Claude Code ignore une commande headersHelper](/docs/fr/plugin-marketplaces#when-claude-code-skips-a-headershelper-command-or-drops-its-output). Une fois que vous définissez `headersHelper` sur une URL de marketplace `https://`, Claude Code exécute la commande à deux points, réutilisant la sortie d'une exécution pendant jusqu'à 60 secondes :4917Pour une source `url`, définissez `headersHelper` à l'intérieur de l'objet `source` lorsque les identifiants dans `headers` expirent et qu'une commande doit en produire un nouveau. Nécessite Claude Code v2.1.238 ou ultérieur. Pour ce que la commande doit imprimer et où Claude Code l'exécute, consultez [Écrire la commande headersHelper](/docs/fr/plugin-marketplaces#write-the-headershelper-command), et pour les cas où Claude Code ne l'exécute pas, consultez [Quand Claude Code ignore une commande headersHelper](/docs/fr/plugin-marketplaces#when-claude-code-skips-a-headershelper-command-or-drops-its-output). Une fois que vous définissez `headersHelper` sur une URL de marketplace `https://`, Claude Code exécute la commande à deux points, réutilisant la sortie d'une exécution pendant jusqu'à 60 secondes :

4866 4918 


4936}4988}

4937```4989```

4938 4990 

4991Les plugins intégrés stockent leurs options sous la même clé avec un suffixe `@builtin`. Par exemple, le paramètre [**Project instructions**](/docs/fr/memory#choose-which-instruction-files-load) qui contrôle si Claude Code lit les fichiers `AGENTS.md` est `pluginConfigs["agents-md@builtin"].options.instructionFiles`.

4992 

4939Claude Code ignore les entrées de projet et locales car il substitue ces valeurs dans les configurations de hook, MCP et LSP du plugin, et un référentiel cloné ne doit pas pouvoir les fournir. Avant v2.1.207, les paramètres de projet et locaux étaient également lus.4993Claude Code ignore les entrées de projet et locales car il substitue ces valeurs dans les configurations de hook, MCP et LSP du plugin, et un référentiel cloné ne doit pas pouvoir les fournir. Avant v2.1.207, les paramètres de projet et locaux étaient également lus.

4940 4994 

4941<h2 id="mcp">4995<h2 id="mcp">


5022Bloquez des serveurs MCP spécifiques. Claude Code refuse de charger un serveur correspondant, où qu'il soit défini, y compris les serveurs de plugins, les serveurs passés avec `--mcp-config`, les serveurs de `managed-mcp.json`, les serveurs de [`managedMcpServers`](#managedmcpservers), et les connecteurs claude.ai [qu'il récupère lui-même](/docs/fr/mcp#how-connectors-reach-claude-code). Les serveurs `type: "sdk"` en processus sont exemptés ; l'application qui a démarré la session les enregistre.5076Bloquez des serveurs MCP spécifiques. Claude Code refuse de charger un serveur correspondant, où qu'il soit défini, y compris les serveurs de plugins, les serveurs passés avec `--mcp-config`, les serveurs de `managed-mcp.json`, les serveurs de [`managedMcpServers`](#managedmcpservers), et les connecteurs claude.ai [qu'il récupère lui-même](/docs/fr/mcp#how-connectors-reach-claude-code). Les serveurs `type: "sdk"` en processus sont exemptés ; l'application qui a démarré la session les enregistre.

5023 5077 

5024* **Portée** : [`Any file`](#scopes). Les entrées de chaque fichier fusionnent en une seule liste noire, et [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) ne change pas cela. Déployez-le dans les paramètres gérés pour l'appliquer.5078* **Portée** : [`Any file`](#scopes). Les entrées de chaque fichier fusionnent en une seule liste noire, et [`allowManagedMcpServersOnly`](#allowmanagedmcpserversonly) ne change pas cela. Déployez-le dans les paramètres gérés pour l'appliquer.

5025* **Type** : tableau d'objets, chacun avec exactement une clé : `serverName`, toute chaîne non vide, donc le nom d'affichage d'un connecteur claude.ai comme `"claude.ai Slack"` fonctionne ; `serverCommand`, un tableau de la commande et de ses arguments correspondant exactement ; ou `serverUrl`, un modèle d'URL avec des caractères génériques `*`5079* **Type** : tableau d'objets, chacun avec exactement une clé : `serverName`, une chaîne, donc le nom d'affichage d'un connecteur claude.ai comme `"claude.ai Slack"` fonctionne ; `serverCommand`, un tableau de la commande et de ses arguments correspondant exactement ; ou `serverUrl`, un modèle d'URL avec des caractères génériques `*`

5026* **Défaut** : non défini, donc aucun serveur n'est bloqué ; un tableau vide ne bloque rien non plus5080* **Défaut** : non défini, donc aucun serveur n'est bloqué ; un tableau vide ne bloque rien non plus

5027 5081 

5028```json settings.json theme={null}5082```json settings.json theme={null}


5039 `disableClaudeAiConnectors`5093 `disableClaudeAiConnectors`

5040</h3>5094</h3>

5041 5095 

5042Désactivez les [connecteurs MCP claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) [que Claude Code récupère lui-même](/docs/fr/mcp#how-connectors-reach-claude-code), afin qu'il ne les récupère ni ne les connecte. Un `true` dans n'importe quel fichier de paramètres s'applique : un `.claude/settings.json` de projet enregistré peut exclure un référentiel de ces connecteurs, mais un `false` au niveau du projet ne peut pas remplacer un `true` au niveau utilisateur ou géré. Nécessite Claude Code v2.1.182 ou ultérieur.5096Désactivez les [connecteurs MCP claude.ai](/docs/fr/mcp#use-mcp-servers-from-claude-ai) [que Claude Code récupère lui-même](/docs/fr/mcp#how-connectors-reach-claude-code), afin qu'il ne les récupère ni ne les connecte. Un `true` dans n'importe quel fichier de paramètres s'applique : un `.claude/settings.json` de projet enregistré peut exclure un référentiel de ces connecteurs, mais un `false` au niveau du projet ne peut pas remplacer un `true` au niveau utilisateur ou géré.

5043 5097 

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

5045* **Type** : Booléen5099* **Type** : Booléen


5054}5108}

5055```5109```

5056 5110 

5057Les serveurs que vous passez explicitement avec `--mcp-config` ne sont pas affectés. Pour bloquer des connecteurs individuels au lieu de tous les bloquer, utilisez [`deniedMcpServers`](#deniedmcpservers). Consultez [Désactiver les connecteurs claude.ai](/docs/fr/mcp#disable-claude-ai-connectors). Nécessite Claude Code v2.1.182 ou ultérieur.5111Les serveurs que vous passez explicitement avec `--mcp-config` ne sont pas affectés. Pour bloquer des connecteurs individuels au lieu de tous les bloquer, utilisez [`deniedMcpServers`](#deniedmcpservers). Consultez [Désactiver les connecteurs claude.ai](/docs/fr/mcp#disable-claude-ai-connectors).

5058 5112 

5059<h3 id="disabledmcpjsonservers">5113<h3 id="disabledmcpjsonservers">

5060 `disabledMcpjsonServers`5114 `disabledMcpjsonServers`


5268}5322}

5269```5323```

5270 5324 

5271Avant v2.1.179, la valeur par défaut était `auto`. La valeur `iterm2` nécessite Claude Code v2.1.186 ou ultérieur.5325La valeur `iterm2` nécessite Claude Code v2.1.186 ou ultérieur.

5272 5326 

5273<span id="worktree-settings" />5327<span id="worktree-settings" />

5274 5328 


5793 5847 

5794Voir [Restreindre la connexion à votre organisation](/docs/fr/authentication#restrict-login-to-your-organization) pour savoir comment Claude Code traite les connexions Claude Console, les autres chemins de connexion et les identifiants d'environnement.5848Voir [Restreindre la connexion à votre organisation](/docs/fr/authentication#restrict-login-to-your-organization) pour savoir comment Claude Code traite les connexions Claude Console, les autres chemins de connexion et les identifiants d'environnement.

5795 5849 

5850<h3 id="gatewayinternalnetworks">

5851 `gatewayInternalNetworks`

5852</h3>

5853 

5854Déclarez les blocs IPv4 publics à partir desquels votre organisation numérote son réseau interne, afin que `/login` accepte une [passerelle cloud](/docs/fr/claude-apps-gateway) là-bas. Nécessite Claude Code v2.1.268 ou ultérieur.

5855 

5856Sans cette clé, `/login` se connecte à n'importe quelle passerelle sur une adresse privée et rien d'autre. Avec elle, `/login` accepte également une passerelle à l'intérieur d'un bloc listé, sur une connexion directe uniquement. L'adresse propre de la machine sur cette connexion doit également être à l'intérieur du même bloc.

5857 

5858* **Portée** : [`Managed`](#scopes). Lecture uniquement à partir d'une source sur la machine : `managed-settings.json`, la plist macOS ou le registre Windows HKLM, ou un aide de politique. Claude Code l'ignore dans les paramètres HKCU et gérés par serveur.

5859* **Type** : tableau de chaînes, au maximum quatre blocs IPv4 CIDR, chacun `/8` à `/32`, ne se chevauchant pas les uns les autres, et aucun ne chevauchant l'espace privé.

5860* **Par défaut** : non défini, donc `/login` accepte uniquement les passerelles sur des adresses privées

5861 

5862```json managed-settings.json theme={null}

5863{

5864 "gatewayInternalNetworks": ["203.0.113.0/24"]

5865}

5866```

5867 

5868Remplacez la plage de documentation dans l'exemple par votre propre bloc. Claude Code refuse les plages de documentation, les plages que les clients VPN et NAT64 utilisent localement, et l'espace réservé qu'aucun réseau n'est numéroté à partir de, comme la multidiffusion.

5869 

5870Si une entrée est invalide, ou la valeur n'est pas une liste de chaînes, `/login` nomme le problème et refuse chaque nouvelle connexion à la passerelle sur la machine jusqu'à ce que vous corrigiez la valeur. Les connexions existantes continuent de fonctionner. Voir [Autoriser une passerelle sur l'espace d'adresses publiques que vous possédez](/docs/fr/claude-apps-gateway#allow-a-gateway-on-public-address-space-you-own) pour les règles complètes et ce que les développeurs voient.

5871 

5796<h3 id="gcpauthrefresh">5872<h3 id="gcpauthrefresh">

5797 `gcpAuthRefresh`5873 `gcpAuthRefresh`

5798</h3>5874</h3>


6107 6183 

6108Claude Code accepte toujours un `--mcp-config` dont les serveurs sont tous des entrées `type: "sdk"` en processus, de sorte que le SDK Agent et l'extension VS Code continuent de fonctionner. Les utilisateurs peuvent toujours ajouter des serveurs avec `claude mcp add` ou un fichier `.mcp.json` ; pour un contrôle par serveur, définissez également [`allowedMcpServers`](/docs/fr/managed-mcp). Nécessite Claude Code v2.1.193 ou ultérieur.6184Claude Code accepte toujours un `--mcp-config` dont les serveurs sont tous des entrées `type: "sdk"` en processus, de sorte que le SDK Agent et l'extension VS Code continuent de fonctionner. Les utilisateurs peuvent toujours ajouter des serveurs avec `claude mcp add` ou un fichier `.mcp.json` ; pour un contrôle par serveur, définissez également [`allowedMcpServers`](/docs/fr/managed-mcp). Nécessite Claude Code v2.1.193 ou ultérieur.

6109 6185 

6110Dans les sessions cloud, Claude Code ignore également les mises à jour MCP livrées par le serveur en milieu de session, le chemin derrière la configuration de session cloud et le SDK `setMcpServers()` sur les workers distants. Les entrées `type: "sdk"` en processus restent exemptes là aussi. Avant v2.1.239, un `--mcp-config` livré par le serveur bloquait le démarrage d'une session cloud.6186Dans les sessions cloud, Claude Code ignore également les mises à jour MCP livrées par le serveur en milieu de session, le chemin derrière la configuration de session cloud et les appels SDK `setMcpServers()` qui atteignent ces sessions. Les entrées `type: "sdk"` en processus restent exemptes là aussi. Avant v2.1.239, un `--mcp-config` livré par le serveur bloquait le démarrage d'une session cloud.

6111 6187 

6112<h3 id="forceremotesettingsrefresh">6188<h3 id="forceremotesettingsrefresh">

6113 `forceRemoteSettingsRefresh`6189 `forceRemoteSettingsRefresh`


6172 6248 

6173* **[`policyHelper`](#policyhelper)** : Claude Code ne l'honore que lorsque la source la plus haute qui porte une clé de politique est une politique MDM ou un fichier de paramètres gérés, donc sous les paramètres gérés par le serveur elle ne s'applique pas.6249* **[`policyHelper`](#policyhelper)** : Claude Code ne l'honore que lorsque la source la plus haute qui porte une clé de politique est une politique MDM ou un fichier de paramètres gérés, donc sous les paramètres gérés par le serveur elle ne s'applique pas.

6174* **[`modelOverrides`](#modeloverrides)** : s'associe avec `availableModels`. Claude Code prend `modelOverrides` de la source la plus haute qui la définit, à moins qu'une source plus haute ne définisse `availableModels` sans `modelOverrides`. Dans ce cas, il ignore `modelOverrides` de chaque source.6250* **[`modelOverrides`](#modeloverrides)** : s'associe avec `availableModels`. Claude Code prend `modelOverrides` de la source la plus haute qui la définit, à moins qu'une source plus haute ne définisse `availableModels` sans `modelOverrides`. Dans ce cas, il ignore `modelOverrides` de chaque source.

6175* **[`forceLoginGatewayUrl`](#forcelogingatewayurl) et la valeur `"gateway"` de [`forceLoginMethod`](#forceloginmethod)** : Claude Code ne les lit jamais à partir des paramètres gérés par le serveur, de sorte qu'une valeur là-bas ne s'applique ni ne cache celle définie dans une politique MDM ou un fichier de paramètres gérés. Parmi les sources d'administrateur sur la machine, seule la source la plus haute classée qui porte une clé de politique les fournit, que les paramètres gérés par le serveur soient également présents ou non.6251* **[`forceLoginGatewayUrl`](#forcelogingatewayurl), [`gatewayInternalNetworks`](#gatewayinternalnetworks) et la valeur `"gateway"` de [`forceLoginMethod`](#forceloginmethod)** : Claude Code ne les lit jamais à partir des paramètres gérés par le serveur, de sorte qu'une valeur là-bas ne s'applique ni ne cache celle définie dans une politique MDM ou un fichier de paramètres gérés. Parmi les sources d'administrateur sur la machine, seule la source la plus haute classée qui porte une clé de politique les fournit, que les paramètres gérés par le serveur soient également présents ou non.

6176 6252 

6177Pour confirmer quelles sources se sont combinées sur une machine, exécutez `/status` et [lisez la ligne `Setting sources`](/docs/fr/managed-settings#read-the-source-in-/status).6253Pour confirmer quelles sources se sont combinées sur une machine, exécutez `/status` et [lisez la ligne `Setting sources`](/docs/fr/managed-settings#read-the-source-in-/status).

6178 6254 

skills.md +72 −55

Details

123L'endroit où vous enregistrez une skill détermine quelles sessions la chargent. Enregistrez-la dans votre répertoire personnel pour l'obtenir dans chaque projet, validez-la dans un référentiel pour la partager avec tous ceux qui y travaillent, ou distribuez-la via un plugin ou des paramètres gérés pour atteindre toute une équipe.123L'endroit où vous enregistrez une skill détermine quelles sessions la chargent. Enregistrez-la dans votre répertoire personnel pour l'obtenir dans chaque projet, validez-la dans un référentiel pour la partager avec tous ceux qui y travaillent, ou distribuez-la via un plugin ou des paramètres gérés pour atteindre toute une équipe.

124 124 

125| Emplacement | Chemin | Se charge dans |125| Emplacement | Chemin | Se charge dans |

126| :------------------------ | :------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |126| :------------------------ | :------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

127| Entreprise | `.claude/skills/<skill-name>/SKILL.md` dans le [répertoire des paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) | Tous les utilisateurs sur les machines où votre organisation la déploie |127| Entreprise | `.claude/skills/<skill-name>/SKILL.md` dans le [répertoire des paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) | Tous les utilisateurs sur les machines où votre organisation la déploie |

128| Personnel | `~/.claude/skills/<skill-name>/SKILL.md` | Tous vos projets sur cette machine, mais pas les [sessions Cowork ou cloud](#skills-in-cowork-and-cloud-sessions) |128| Personnel | `~/.claude/skills/<skill-name>/SKILL.md` | Tous vos projets sur cette machine, mais pas les [sessions Cowork ou cloud](#skills-in-cowork-and-cloud-sessions) |

129| Projet | `.claude/skills/<skill-name>/SKILL.md` | Sessions dans ce référentiel. Validez-la pour que votre équipe l'obtienne aussi |129| Projet | `.claude/skills/<skill-name>/SKILL.md` | Sessions dans ce référentiel. Validez-la pour que votre équipe l'obtienne aussi |

130| Imbriquée | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Sessions démarrées dans ou sous `<subdir>`. Une session démarrée au-dessus charge la skill une fois que Claude travaille sur les fichiers là-bas. Voir [monorepos et sous-répertoires](#discovery-from-parent-and-nested-directories) |130| Imbriquée | `<subdir>/.claude/skills/<skill-name>/SKILL.md` | Sessions démarrées dans ou sous `<subdir>`. Une session démarrée au-dessus la charge une fois que Claude travaille sur des fichiers là-bas. Voir [monorepos et sous-répertoires](#discovery-from-parent-and-nested-directories) |

131| Répertoire supplémentaire | `.claude/skills/<skill-name>/SKILL.md` dans un répertoire que vous transmettez avec `--add-dir` | Cette session. Voir [répertoires en dehors du projet](#skills-from-additional-directories) |131| Répertoire supplémentaire | `.claude/skills/<skill-name>/SKILL.md` dans un répertoire que vous transmettez avec `--add-dir` | Cette session. Voir [répertoires en dehors du projet](#skills-from-additional-directories) |

132| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Partout où le [plugin](/docs/fr/plugins) est activé, en tant que `/plugin-name:skill-name` |132| Plugin | `<plugin>/skills/<skill-name>/SKILL.md` | Partout où le [plugin](/docs/fr/plugins) est activé, en tant que `/plugin-name:skill-name` |

133| Compte claude.ai | Skills que vous activez dans vos paramètres claude.ai | Sessions Cowork et cloud. Voir [Skills synchronisées depuis claude.ai](#how-synced-skills-behave) pour les sessions locales |133| Compte claude.ai | Skills activées pour votre compte claude.ai | Sessions Cowork, sessions cloud et sessions de terminal où vous vous connectez avec ce compte. Voir [Skills synchronisées depuis claude.ai](#how-synced-skills-behave) |

134 134 

135Les dossiers de skills suivent également ces règles :135Les dossiers de skills suivent également ces règles :

136 136 

137* **Dossiers liés symboliquement** : une entrée `<skill-name>` dans l'emplacement entreprise, personnel ou projet peut être un lien symbolique vers un répertoire ailleurs sur le disque. Claude Code lit `SKILL.md` à partir de la cible et charge la skill une seule fois même si plusieurs emplacements pointent vers la même cible. Les skills de plugin [gèrent les liens symboliques différemment](/docs/fr/plugins-reference#share-files-within-a-marketplace-with-symlinks).137* **Dossiers avec lien symbolique** : une entrée `<skill-name>` à l'emplacement entreprise, personnel ou projet peut être un lien symbolique vers un répertoire ailleurs sur le disque. Claude Code lit `SKILL.md` depuis la cible et charge la skill une seule fois même si plusieurs emplacements pointent vers la même cible. Les skills de plugin [gèrent les liens symboliques différemment](/docs/fr/plugins-reference#share-files-within-a-marketplace-with-symlinks).

138* **Nom réservé** : ne nommez pas un dossier de skill `synced`, dans n'importe quelle capitalisation. Claude Code utilise `~/.claude/skills/synced/` pour les [skills téléchargées depuis claude.ai](#where-synced-skills-load) et ignore une skill que vous créez à ce nom dans les emplacements entreprise, personnel et projet.138* **Nom réservé** : ne nommez pas un dossier de skill `synced`, quelle que soit la casse. Claude Code utilise `~/.claude/skills/synced/` pour les [skills téléchargées depuis claude.ai](#where-synced-skills-load) et ignore une skill que vous créez à ce nom aux emplacements entreprise, personnel et projet.

139* **Fichiers de commande** : un fichier Markdown dans `.claude/commands/` est le format plus ancien et fonctionne toujours. Il supporte le même [frontmatter](#frontmatter-reference) sauf `name` et `paths`. Pour trouver le nom que vous tapez pour l'invoquer, voir [Comment une skill obtient son nom de commande](#how-a-skill-gets-its-command-name). Préférez une skill pour les nouveaux travaux, car les skills supportent aussi les [fichiers de support](#add-supporting-files).139* **Fichiers de commande** : un fichier Markdown dans `.claude/commands/` est le format plus ancien et fonctionne toujours. Il supporte le même [frontmatter](#frontmatter-reference) sauf `name` et `paths`. Pour trouver le nom que vous tapez pour l'invoquer, voir [Comment une skill obtient son nom de commande](#how-a-skill-gets-its-command-name). Préférez une skill pour les nouveaux travaux, puisque les skills supportent aussi les [fichiers de support](#add-supporting-files).

140* **Dossier de skill en tant que plugin** : ajoutez un `.claude-plugin/plugin.json` à un dossier de skill et il se charge en tant que [plugin](/docs/fr/plugins-reference#skills-directory-plugins) nommé `<name>@skills-dir`, afin qu'il puisse regrouper des agents, des hooks et des serveurs MCP. Dans un `.claude/skills/` de projet, cela nécessite d'accepter d'abord la boîte de dialogue de confiance de l'espace de travail.140* **Dossier de skill en tant que plugin** : ajoutez un `.claude-plugin/plugin.json` à un dossier de skill et il se charge en tant que [plugin](/docs/fr/plugins-reference#skills-directory-plugins) nommé `<name>@skills-dir`, pour qu'il puisse regrouper des agents, des hooks et des serveurs MCP. Dans un `.claude/skills/` de projet, cela nécessite d'accepter d'abord la boîte de dialogue de confiance de l'espace de travail.

141 141 

142<h3 id="discovery-from-parent-and-nested-directories">142<h3 id="discovery-from-parent-and-nested-directories">

143 Charger les skills dans les monorepos et les sous-répertoires143 Charger les skills dans les monorepos et les sous-répertoires


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 

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

149 149 

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

151 151 

152* `/deploy` exécute la skill racine. Claude Code liste aussi les variantes qualifiées par répertoire pour Claude, avec une instruction pour invoquer celle dont le répertoire contient les fichiers sur lesquels il travaille, afin que la skill imbriquée s'applique toujours au travail dans `apps/web/`.152* `/deploy` exécute la skill racine. Claude Code liste aussi les variantes qualifiées par répertoire pour Claude, avec une instruction pour invoquer celle dont le répertoire contient les fichiers sur lesquels il travaille, donc la skill imbriquée s'applique toujours au travail dans `apps/web/`.

153* `/apps/web:deploy` exécute la skill imbriquée seule. Sa description nomme le répertoire auquel elle s'applique.153* `/apps/web:deploy` exécute la skill imbriquée seule. Sa description nomme le répertoire auquel elle s'applique.

154 154 

155<h3 id="skills-from-additional-directories">155<h3 id="skills-from-additional-directories">

156 Charger les skills depuis un répertoire en dehors du projet156 Charger les skills depuis un répertoire en dehors du projet

157</h3>157</h3>

158 158 

159Quand vous ajoutez un répertoire avec `--add-dir` ou `/add-dir`, Claude Code charge les skills dans le `.claude/skills/` de ce répertoire, ainsi que son `.claude/commands/` et `.claude/agents/`. Les répertoires que le SDK Agent ajoute via [`additionalDirectories`](/docs/fr/agent-sdk/typescript#options) en TypeScript ou [`add_dirs`](/docs/fr/agent-sdk/python#claudeagentoptions) en Python se chargent de la même manière, car le SDK les transmet en tant que `--add-dir`. Le paramètre `permissions.additionalDirectories` dans `settings.json` accorde uniquement l'accès aux fichiers et ne charge aucun de ceux-ci.159Quand vous ajoutez un répertoire avec `--add-dir` ou `/add-dir`, Claude Code charge les skills dans le `.claude/skills/` de ce répertoire, ainsi que son `.claude/commands/` et `.claude/agents/`. Les répertoires que le SDK Agent ajoute via [`additionalDirectories`](/docs/fr/agent-sdk/typescript#options) en TypeScript ou [`add_dirs`](/docs/fr/agent-sdk/python#claudeagentoptions) en Python se chargent de la même façon, car le SDK les transmet en tant que `--add-dir`. Le paramètre `permissions.additionalDirectories` dans `settings.json` accorde uniquement l'accès aux fichiers et ne charge aucun de ceux-ci.

160 160 

161Claude Code surveille `.claude/skills/` dans un répertoire que vous transmettez avec `--add-dir` au lancement, comme le décrit [Modifier une skill pendant une session](#live-change-detection). Il ne surveille pas le `.claude/commands/` ou `.claude/agents/` du répertoire ajouté, donc redémarrez la session après avoir modifié un fichier là-bas.161Claude Code surveille `.claude/skills/` dans un répertoire que vous transmettez avec `--add-dir` au lancement, comme le décrit [Éditer une skill pendant une session](#live-change-detection). Il ne surveille pas le `.claude/commands/` ou `.claude/agents/` du répertoire ajouté, donc redémarrez la session après avoir modifié un fichier là-bas.

162 162 

163Ces chargements dépendent de la [source de paramètre](/docs/fr/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources) `project`, qui est activée par défaut. Une politique [`strictPluginOnlyCustomization`](/docs/fr/settings-reference#strictpluginonlycustomization), le [mode bare](/docs/fr/headless#start-faster-with-bare-mode) et [`--safe-mode`](/docs/fr/cli-reference#cli-flags) les restreignent davantage, comme ces pages le décrivent. Voir [Les répertoires supplémentaires accordent l'accès aux fichiers, pas la configuration](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) pour le tableau complet de ce qu'un répertoire ajouté charge, y compris `CLAUDE.md` et les paramètres de plugin.163Ces chargements dépendent de la source de paramètre `project` [setting source](/docs/fr/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources), qui est activée par défaut. Une politique [`strictPluginOnlyCustomization`](/docs/fr/settings-reference#strictpluginonlycustomization), le [mode bare](/docs/fr/headless#start-faster-with-bare-mode) et [`--safe-mode`](/docs/fr/cli-reference#cli-flags) les restreignent davantage, comme ces pages le décrivent. Voir [Les répertoires supplémentaires accordent l'accès aux fichiers, pas la configuration](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) pour le tableau complet de ce qu'un répertoire ajouté charge, y compris `CLAUDE.md` et les paramètres de plugin.

164 164 

165<h3 id="resolve-skills-that-share-a-name">165<h3 id="resolve-skills-that-share-a-name">

166 Résoudre les skills qui partagent un nom166 Résoudre les skills qui partagent un nom


169Quand deux skills partagent un nom, l'endroit d'où chacune provient décide laquelle `/name` exécute. Le tableau couvre les emplacements entreprise, personnel, projet, imbriqué, plugin et claude.ai, les skills regroupées et les fichiers de commande :169Quand deux skills partagent un nom, l'endroit d'où chacune provient décide laquelle `/name` exécute. Le tableau couvre les emplacements entreprise, personnel, projet, imbriqué, plugin et claude.ai, les skills regroupées et les fichiers de commande :

170 170 

171| Même nom dans | Laquelle s'exécute |171| Même nom dans | Laquelle s'exécute |

172| :----------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |172| :---------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

173| Deux parmi entreprise, personnel et projet | Entreprise sur personnel, et personnel sur projet. Avec `deploy` dans `~/.claude/skills/` et le `.claude/skills/` du projet, `/deploy` exécute la personnelle |173| Deux parmi entreprise, personnel et projet | Entreprise sur personnel, et personnel sur projet. Avec `deploy` dans `~/.claude/skills/` et dans le `.claude/skills/` du projet, `/deploy` exécute la personnelle |

174| N'importe lequel de ces emplacements et une [skill regroupée](#bundled-skills) | Votre skill remplace la commande regroupée, mais pas ses alias. Une skill `code-review` de projet remplace `/code-review`, et l'alias regroupé `/review` n'exécute jamais votre skill |174| N'importe lequel de ces emplacements et une [skill regroupée](#bundled-skills) | Votre skill remplace la commande regroupée, mais pas ses alias. Une skill `code-review` de projet remplace `/code-review`, et l'alias regroupé `/review` n'exécute jamais votre skill |

175| Une skill et un fichier dans `.claude/commands/` | La skill |175| Une skill et un fichier dans `.claude/commands/` | La skill |

176| Une skill racine de projet et une skill imbriquée | Les deux se chargent. Voir [monorepos et sous-répertoires](#discovery-from-parent-and-nested-directories) |176| Une skill racine de projet et une skill imbriquée | Les deux se chargent. Voir [monorepos et sous-répertoires](#discovery-from-parent-and-nested-directories) |

177| Une skill de plugin et une skill à n'importe lequel des emplacements ci-dessus | Les deux se chargent, car les skills de plugin sont espacées de noms en tant que `/plugin-name:skill-name` |177| Une skill de plugin et une skill à n'importe lequel des emplacements ci-dessus | Les deux se chargent, car les skills de plugin sont espacées de noms en tant que `/plugin-name:skill-name` |

178| N'importe lequel de ce qui précède et une skill synchronisée depuis claude.ai | L'autre skill ou commande. Voir [Quand un nom de skill synchronisée correspond à une autre commande](#when-a-synced-skill-name-matches-another-command) |178| N'importe lequel de ce qui précède et une skill [synchronisée depuis votre compte claude.ai](#how-synced-skills-behave) | L'autre skill ou commande. La skill synchronisée s'exécute toujours en tant que `/anthropic-skills:<name>`. Voir [Quand un nom de skill synchronisée correspond à une autre commande](#when-a-synced-skill-name-matches-another-command) |

179 179 

180<h3 id="skills-in-cowork-and-cloud-sessions">180<h3 id="skills-in-cowork-and-cloud-sessions">

181 Utiliser les skills dans les sessions Cowork et cloud181 Utiliser les skills dans les sessions Cowork et cloud


183 183 

184Les sessions [Cowork](https://claude.com/product/cowork) et les [sessions cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup), y compris les [routines](/docs/fr/routines), ne lisent pas `~/.claude/skills/` sur votre machine. Les sessions Cowork interactives et planifiées chargent les skills activées pour votre compte claude.ai, synchronisées au démarrage de la session ; gérez-les depuis **Customize** dans la barre latérale de l'application Desktop ou depuis les paramètres de skills sur claude.ai. Les sessions cloud chargent en outre les skills de projet validées dans le `.claude/skills/` du référentiel cloné.184Les sessions [Cowork](https://claude.com/product/cowork) et les [sessions cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup), y compris les [routines](/docs/fr/routines), ne lisent pas `~/.claude/skills/` sur votre machine. Les sessions Cowork interactives et planifiées chargent les skills activées pour votre compte claude.ai, synchronisées au démarrage de la session ; gérez-les depuis **Customize** dans la barre latérale de l'application Desktop ou depuis les paramètres de skills sur claude.ai. Les sessions cloud chargent en outre les skills de projet validées dans le `.claude/skills/` du référentiel cloné.

185 185 

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 session distante nouvelle. Pour rendre une skill personnelle disponible dans ces sessions :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 :

187 187 

188* Pour les sessions Cowork et cloud, activez la skill pour votre compte claude.ai.188* 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 par 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.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.

190 190 

191Les [tâches planifiées Desktop](/docs/fr/desktop-scheduled-tasks) s'exécutent localement sur votre machine, donc elles chargent bien `~/.claude/skills/`.191Les [tâches planifiées Desktop](/docs/fr/desktop-scheduled-tasks) s'exécutent localement sur votre machine, donc elles chargent `~/.claude/skills/`.

192 192 

193<h3 id="how-synced-skills-behave">193<h3 id="how-synced-skills-behave">

194 Skills synchronisées depuis claude.ai194 Skills synchronisées depuis claude.ai

195</h3>195</h3>

196 196 

197Cette section s'applique à vous si vous avez activé les skills pour votre compte claude.ai. Dans les sessions Cowork et cloud, Claude Code charge ces skills sans aucune configuration sur votre machine. Dans n'importe quelle autre session sur votre machine, Claude Code les charge uniquement après que vous activiez la synchronisation avec [`CLAUDE_CODE_SYNC_SKILLS`](/docs/fr/env-vars#variables) dans une exécution non-interactive, comme le décrit [Où les skills synchronisées se chargent](#where-synced-skills-load).197Cette section s'applique à vous si vous utilisez les sessions Cowork ou cloud, ou si vous vous connectez à Claude Code dans votre terminal avec un compte claude.ai. Dans ces sessions, Claude Code charge les skills activées pour votre compte claude.ai, sans configuration de votre part, comme le décrit [Où les skills synchronisées se chargent](#where-synced-skills-load). Ces skills incluent celles que vous créez ou activez dans vos paramètres claude.ai, les skills que votre organisation fournit là-bas, et les skills intégrées d'Anthropic telles que `pdf` et `xlsx`.

198 198 

199Claude Code télécharge une skill synchronisée depuis votre compte plutôt que de lire un fichier que vous avez écrit sur la machine où la session s'exécute, donc il applique des règles aux skills synchronisées qui ne s'appliquent pas aux skills que vous stockez dans les [emplacements de skills](#where-skills-live).199Claude Code télécharge une skill synchronisée depuis votre compte plutôt que de lire un fichier que vous avez écrit sur la machine où la session s'exécute, donc il applique des règles aux skills synchronisées qui ne s'appliquent pas aux skills que vous stockez dans les [emplacements de skills](#where-skills-live).

200 200 


204 204 

205Dans une session Cowork ou cloud, Claude Code charge les skills activées pour votre compte claude.ai, et [Skills dans les sessions Cowork et cloud](#skills-in-cowork-and-cloud-sessions) dit comment choisir quelles skills ces sessions obtiennent.205Dans une session Cowork ou cloud, Claude Code charge les skills activées pour votre compte claude.ai, et [Skills dans les sessions Cowork et cloud](#skills-in-cowork-and-cloud-sessions) dit comment choisir quelles skills ces sessions obtiennent.

206 206 

207Dans n'importe quelle autre session sur votre machine, Claude Code les charge uniquement après que vous les téléchargiez une fois dans une exécution non-interactive :207Dans votre terminal, Claude Code synchronise ces skills dans les sessions où vous vous connectez avec votre compte claude.ai. Quand la session démarre, Claude Code télécharge les skills de votre compte dans `~/.claude/skills/synced/` en arrière-plan, puis vérifie claude.ai pour les modifications environ toutes les 10 minutes pendant que la session s'exécute. Quand une vérification découvre qu'une skill a été ajoutée, éditée ou désactivée sur claude.ai, Claude Code l'ajoute, la met à jour ou la supprime dans la session en cours sans redémarrage. La synchronisation dans les sessions de terminal nécessite Claude Code v2.1.273 ou ultérieur.

208 208 

209<Steps>209La synchronisation ne retarde jamais le démarrage, car Claude attend le téléchargement d'une skill uniquement quand il invoque cette skill. Une exécution courte [non-interactive](/docs/fr/headless) peut donc se terminer avant qu'une skill nouvellement ajoutée ne se télécharge, auquel cas une session ultérieure la télécharge. Pour faire en sorte qu'une exécution non-interactive télécharge vos skills et attende la liste avant de répondre à l'invite, définissez [`CLAUDE_CODE_SYNC_SKILLS`](/docs/fr/env-vars#variables) sur `1`.

210 <Step title="Activez les skills pour votre compte claude.ai">

211 Activez chaque skill que vous voulez pour votre compte claude.ai, comme le décrit [Skills dans les sessions Cowork et cloud](#skills-in-cowork-and-cloud-sessions). Claude Code télécharge uniquement les skills que vous avez activées, et il a besoin de votre connexion claude.ai pour les télécharger.

212 </Step>

213 210 

214 <Step title="Exécutez Claude Code en mode non-interactif avec la synchronisation activée">211Claude Code ne synchronise que dans une session qui se connecte avec votre compte claude.ai et [récupère les drapeaux de fonctionnalités depuis Anthropic](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Il ne synchronise pas dans ces sessions :

215 Claude Code télécharge les skills synchronisées uniquement quand vous l'exécutez en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p` et définissez [`CLAUDE_CODE_SYNC_SKILLS`](/docs/fr/env-vars#variables) à `1`. L'invite que vous transmettez n'affecte pas le téléchargement.

216 212 

217 ```bash theme={null}213* Une session qui n'utilise pas une connexion stockée par `/login`, comme une qui s'authentifie avec une clé API, ou une où `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN` ou un script `apiKeyHelper` fournit les identifiants

218 CLAUDE_CODE_SYNC_SKILLS=1 claude -p "List the skills you have available"214* Une session qui ne récupère pas les drapeaux de fonctionnalités, comme une sur Amazon Bedrock ou une où vous définissez `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

219 ```215* Une session en [mode bare](/docs/fr/headless#start-faster-with-bare-mode) ou une que vous démarrez avec `--safe-mode`

216* Une session où les paramètres gérés de votre organisation [verrouillent les skills aux sources de plugin](/docs/fr/settings-reference#strictpluginonlycustomization-skills), ou une que vous démarrez avec une liste [`--setting-sources`](/docs/fr/cli-reference#cli-flags) qui omet `user`

220 217 

221 Claude Code télécharge les skills dans `~/.claude/skills/synced/`, répond à l'invite et se termine comme n'importe quelle autre exécution non-interactive. Les skills téléchargées restent sur le disque après sa sortie, donc vous n'avez pas besoin de garder l'exécution ouverte. Claude Code télécharge les skills uniquement lors d'une exécution avec `CLAUDE_CODE_SYNC_SKILLS` défini, donc après que vous activiez ou changiez une skill sur claude.ai, exécutez la commande à nouveau. Pour modifier le temps que l'exécution attend la synchronisation avant de répondre à l'invite, définissez [`CLAUDE_CODE_SYNC_SKILLS_WAIT_TIMEOUT_MS`](/docs/fr/env-vars#variables).218Si vous vous connectez avec `/login` pendant une session, redémarrez Claude Code pour commencer la synchronisation.

222 </Step>

223 219 

224 <Step title="Confirmez que les skills se chargent dans une session locale">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.

225 Démarrez une session interactive, sans `CLAUDE_CODE_SYNC_SKILLS` défini, et exécutez `/skills`. Le menu liste les skills téléchargées sous `claude.ai sync`. Chaque session locale que vous démarrez ensuite avec la même connexion claude.ai les charge depuis `~/.claude/skills/synced/` aussi.221 

226 </Step>222Pour voir quelles skills se sont synchronisées, exécutez `/skills`. Le menu les liste sous `claude.ai sync`.

227</Steps>223 

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.

225 

226Pour arrêter la synchronisation sur une machine, définissez [`syncClaudeAiSkills`](/docs/fr/settings-reference#syncclaudeaiskills) sur `false` dans vos paramètres utilisateur. Claude Code arrête le téléchargement, et la prochaine fois qu'il démarre, il déplace les skills qu'il a déjà synchronisées vers `~/.claude/skills/.trash/` et ne les charge plus. Votre organisation peut désactiver la synchronisation pour tout le monde en désactivant Skills sur claude.ai. Pour arrêter la synchronisation tout en laissant Skills activé, elle peut définir la même clé dans les [paramètres gérés](/docs/fr/managed-settings).

227 

228Si votre organisation désactive Skills sur claude.ai, Claude Code supprime les skills téléchargées et elles cessent de se charger. Les skills supprimées se déplacent vers `~/.claude/skills/.trash/`, où vous pouvez récupérer les fichiers jusqu'à ce que le [balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically) les supprime. Une fois que votre organisation réactive Skills, Claude Code télécharge les skills que vous avez activées à la prochaine synchronisation.

228 229 

229<h4 id="when-a-synced-skill-name-matches-another-command">230<h4 id="when-a-synced-skill-name-matches-another-command">

230 Quand un nom de skill synchronisée correspond à une autre commande231 Quand un nom de skill synchronisée correspond à une autre commande

231</h4>232</h4>

232 233 

233Claude Code ignore une skill synchronisée dont le nom correspond à n'importe quelle autre commande, et cette autre commande s'exécute. L'autre commande peut être une commande intégrée, une [skill regroupée](#bundled-skills), une skill à n'importe quel [niveau local](#where-skills-live), une skill de plugin, un fichier dans `.claude/commands/`, ou une [invite MCP](/docs/fr/mcp#use-mcp-prompts-as-commands). Claude Code réserve aussi les noms de ses propres commandes intégrées et skills regroupées même quand elles ne sont pas disponibles dans votre session, par exemple après que vous ayez désactivé les skills regroupées, donc il ignore une skill synchronisée avec l'un de ces noms aussi.234Vous pouvez invoquer une skill synchronisée par son nom complet, `/anthropic-skills:<name>`, ou par son nom court, `/<name>`. Quand une autre commande utilise ce nom court, `/<name>` exécute l'autre commande, et la skill synchronisée s'exécute uniquement en tant que `/anthropic-skills:<name>`. Avec une skill `deploy` locale et une `deploy` synchronisée, `/deploy` exécute la skill locale et `/anthropic-skills:deploy` exécute la synchronisée. Avant v2.1.269, une skill synchronisée n'avait que son nom court.

235 

236L'autre commande peut être n'importe laquelle de celles-ci :

237 

238* Une commande intégrée ou une [skill regroupée](#bundled-skills), y compris une qui n'est pas disponible dans votre session, par exemple après avoir désactivé les skills regroupées

239* Une skill à n'importe quel [niveau local](#where-skills-live) ou un fichier dans `.claude/commands/`

240* Une skill de plugin

241* Une [invite MCP](/docs/fr/mcp#use-mcp-prompts-as-commands)

234 242 

235Claude Code étiquette les skills synchronisées pour que vous puissiez dire d'où elles proviennent. Le menu `/skills` et `/context` regroupent les skills synchronisées sous `claude.ai sync`, et le menu de commande `/` les marque comme provenant de claude.ai.243Claude Code étiquette les skills synchronisées pour que vous puissiez dire d'où elles proviennent. Le menu `/skills` et `/context` groupent les skills synchronisées sous `claude.ai sync`, et le menu de commande `/` les marque comme provenant de claude.ai.

236 244 

237Quand il compare les noms, Claude Code ignore la casse, l'espacement et les caractères invisibles, et traite les formes de compatibilité telles que les lettres pleine largeur et les variantes de tiret comme leurs équivalents simples, donc une `Commit` synchronisée ne peut pas se charger à côté d'une `commit` locale. Un nom qui diffère uniquement par une lettre ressemblante d'un autre alphabet compte comme un nom différent, et l'étiquette `claude.ai sync` est comment vous distinguez les deux. Ces vérifications et étiquettes nécessitent Claude Code v2.1.228 ou ultérieur.245Quand il compare les noms, Claude Code ignore la casse, l'espacement et les caractères invisibles, et traite les formes de compatibilité telles que les lettres pleine largeur et les variantes de tiret comme leurs équivalents simples. Par exemple, une skill synchronisée nommée `Commit` et une skill locale nommée `commit` comptent comme le même nom, donc `/commit` continue d'exécuter votre skill locale.

246 

247Un nom qui diffère uniquement par une lettre ressemblante d'un autre alphabet compte comme un nom différent, et l'étiquette `claude.ai sync` est comment vous distinguez les deux. Ces vérifications et étiquettes nécessitent Claude Code v2.1.228 ou ultérieur.

238 248 

239<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">249<h4 id="how-claude-code-handles-the-frontmatter-of-a-synced-skill">

240 Comment Claude Code gère le frontmatter d'une skill synchronisée250 Comment Claude Code gère le frontmatter d'une skill synchronisée


243Claude Code applique deux règles au frontmatter d'une skill synchronisée :253Claude Code applique deux règles au frontmatter d'une skill synchronisée :

244 254 

245* Claude Code honore le frontmatter dans chaque type de session, donc une concession `allowed-tools` passe par le [flux de permission](/docs/fr/permissions) normal.255* Claude Code honore le frontmatter dans chaque type de session, donc une concession `allowed-tools` passe par le [flux de permission](/docs/fr/permissions) normal.

246* Claude Code assainit le texte d'affichage que la skill fournit, comme sa description. Il supprime les caractères de contrôle, et dans le texte qui atteint Claude, comme la description, il échappe aussi les crochets d'angle pour que le texte ne puisse pas imiter le formatage interne de Claude Code. Cet assainissement nécessite Claude Code v2.1.228 ou ultérieur.256* Claude Code assainit le texte d'affichage que la skill fournit, comme sa description. Il supprime les caractères de contrôle, et dans le texte qui atteint Claude, comme la description, il échappe aussi les crochets pointus pour que le texte ne puisse pas imiter le formatage interne de Claude Code. Cet assainissement nécessite Claude Code v2.1.228 ou ultérieur.

247 257 

248<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">258<h4 id="how-claude-code-handles-the-body-of-a-synced-skill">

249 Comment Claude Code gère le corps d'une skill synchronisée259 Comment Claude Code gère le corps d'une skill synchronisée


253 263 

254* Dans une session cloud, le corps conserve le comportement qu'une skill locale a, car la session s'exécute dans un conteneur isolé.264* Dans une session cloud, le corps conserve le comportement qu'une skill locale a, car la session s'exécute dans un conteneur isolé.

255* Dans une session Cowork sur votre bureau, le corps conserve le comportement qu'une skill locale a, sauf que Claude Code remplace chaque ligne de commande `!` par l'espace réservé [`disableSkillShellExecution`](#inject-dynamic-context), comme il le fait pour chaque skill que vous fournissez là-bas.265* Dans une session Cowork sur votre bureau, le corps conserve le comportement qu'une skill locale a, sauf que Claude Code remplace chaque ligne de commande `!` par l'espace réservé [`disableSkillShellExecution`](#inject-dynamic-context), comme il le fait pour chaque skill que vous fournissez là-bas.

256* Dans n'importe quelle autre session sur votre machine, Claude Code n'exécute pas les [commandes `!`](#inject-dynamic-context), n'attache pas les fichiers que les références `@` nomment de la manière qu'il le fait pour une skill locale, et ne substitue pas les espaces réservés `${CLAUDE_PROJECT_DIR}` et `${CLAUDE_SESSION_ID}`, donc les références `@` et les deux espaces réservés atteignent Claude en tant que texte littéral. Une ligne de commande `!` atteint aussi Claude en tant que texte littéral, ou en tant que cet espace réservé quand `disableSkillShellExecution` est activé. Cette gestion nécessite Claude Code v2.1.228 ou ultérieur.266* Dans toute autre session sur votre machine, Claude Code n'exécute pas les commandes [`!`](#inject-dynamic-context), n'attache pas les fichiers que les références `@` nomment de la façon qu'il le fait pour une skill locale, et ne substitue pas les espaces réservés `${CLAUDE_PROJECT_DIR}` et `${CLAUDE_SESSION_ID}`, donc les références `@` et les deux espaces réservés atteignent Claude en tant que texte littéral. Une ligne de commande `!` atteint aussi Claude en tant que texte littéral, ou en tant que cet espace réservé quand `disableSkillShellExecution` est activé. Cette gestion nécessite Claude Code v2.1.228 ou ultérieur.

257 267 

258<h3 id="live-change-detection">268<h3 id="live-change-detection">

259 Modifier une skill pendant une session269 Éditer une skill pendant une session

260</h3>270</h3>

261 271 

262Claude Code surveille les répertoires de skills pour les changements de fichiers, sauf en [mode bare](/docs/fr/headless#start-faster-with-bare-mode). Quand vous ajoutez, modifiez ou supprimez une skill sous `~/.claude/skills/`, le `.claude/skills/` du projet, ou un `.claude/skills/` à l'intérieur d'un répertoire `--add-dir`, Claude Code récupère le changement dans la session actuelle, sans redémarrage. Si vous créez un répertoire de skills de niveau supérieur qui n'existait pas quand la session a démarré, redémarrez Claude Code pour qu'il puisse surveiller le nouveau répertoire.272Claude Code surveille les répertoires de skills pour les modifications de fichiers, sauf en [mode bare](/docs/fr/headless#start-faster-with-bare-mode). Quand vous ajoutez, éditez ou supprimez une skill sous `~/.claude/skills/`, le `.claude/skills/` du projet, ou un `.claude/skills/` à l'intérieur d'un répertoire `--add-dir`, Claude Code récupère la modification dans la session actuelle, sans redémarrage. Si vous créez un répertoire de skills de niveau supérieur qui n'existait pas quand la session a démarré, redémarrez Claude Code pour qu'il puisse surveiller le nouveau répertoire.

263 273 

264La détection de changement en direct couvre uniquement le texte `SKILL.md`. Pour un dossier de skill qui est aussi un [plugin](/docs/fr/plugins-reference#skills-directory-plugins), les changements à `hooks/`, `.mcp.json`, `agents/` et `output-styles/` nécessitent `/reload-plugins` pour prendre effet.274La détection de changement en direct couvre uniquement le texte `SKILL.md`. Pour un dossier de skill qui est aussi un [plugin](/docs/fr/plugins-reference#skills-directory-plugins), les modifications apportées à `hooks/`, `.mcp.json`, `agents/` et `output-styles/` nécessitent `/reload-plugins` pour prendre effet.

265 275 

266<h3 id="remove-a-skill">276<h3 id="remove-a-skill">

267 Supprimer une skill277 Supprimer une skill

268</h3>278</h3>

269 279 

270Comment vous supprimez une skill dépend de l'endroit d'où elle provient :280La façon dont vous supprimez une skill dépend de l'endroit d'où elle provient :

271 281 

272* **Skill personnelle ou de projet** : supprimez le répertoire de la skill, `~/.claude/skills/<skill-name>/` ou `.claude/skills/<skill-name>/`. Claude Code la [supprime de `/skills` dans la session actuelle](#live-change-detection) ; le contenu que Claude Code a déjà chargé depuis elle suit le [cycle de vie du contenu de skill](#skill-content-lifecycle).282* **Skill personnelle ou de projet** : supprimez le répertoire de la skill, `~/.claude/skills/<skill-name>/` ou `.claude/skills/<skill-name>/`. Claude Code la [supprime de `/skills` dans la session actuelle](#live-change-detection) ; le contenu que Claude Code a déjà chargé depuis elle suit le [cycle de vie du contenu de skill](#skill-content-lifecycle).

273* **Skill d'entreprise** : un administrateur supprime le répertoire de la skill depuis `.claude/skills/` à l'intérieur du [répertoire des paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), par exemple `/etc/claude-code/.claude/skills/<skill-name>/` sur Linux.283* **Skill d'entreprise** : un administrateur supprime le répertoire de la skill depuis `.claude/skills/` à l'intérieur du [répertoire des paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms), par exemple `/etc/claude-code/.claude/skills/<skill-name>/` sur Linux.

274* **Skill de plugin** : désactivez ou désinstallez le plugin qui la fournit, depuis le menu `/plugin` ou avec `/plugin uninstall <plugin-name>@<marketplace-name>`. Claude Code décharge les skills du plugin quand [le changement s'applique](/docs/fr/discover-plugins#apply-plugin-changes-without-restarting) ou quand vous redémarrez.284* **Skill de plugin** : désactivez ou désinstallez le plugin qui la fournit, depuis le menu `/plugin` ou avec `/plugin uninstall <plugin-name>@<marketplace-name>`. Claude Code décharge les skills du plugin quand [le changement s'applique](/docs/fr/discover-plugins#apply-plugin-changes-without-restarting) ou quand vous redémarrez.

275* **Skill synchronisée depuis claude.ai** : désactivez la skill pour votre compte claude.ai, au même endroit où vous l'[avez activée](#skills-in-cowork-and-cloud-sessions). Claude Code la supprime de `~/.claude/skills/synced/` la prochaine fois qu'elle [synchronise vos skills](#where-synced-skills-load). Si vous supprimez le répertoire à la main à la place, la prochaine synchronisation le télécharge à nouveau tandis que la skill reste activée sur claude.ai.285* **Skill synchronisée depuis claude.ai** : désactivez la skill pour votre compte claude.ai, au même endroit où vous l'[avez activée](#skills-in-cowork-and-cloud-sessions). Claude Code la supprime de `~/.claude/skills/synced/` la prochaine fois qu'elle [synchronise vos skills](#where-synced-skills-load). Si vous supprimez le répertoire à la main à la place, la prochaine synchronisation le télécharge à nouveau pendant que la skill reste activée sur claude.ai.

276* **Skill regroupée** : définissez [`disableBundledSkills`](#bundled-skills) à `true` pour désactiver les skills regroupées, ou définissez une skill à `"off"` dans [`skillOverrides`](#override-skill-visibility-from-settings) pour la masquer.286* **Skill regroupée** : définissez [`disableBundledSkills`](#bundled-skills) sur `true` pour désactiver les skills regroupées, ou définissez une skill sur `"off"` dans [`skillOverrides`](#override-skill-visibility-from-settings) pour la masquer.

277 287 

278Pour garder une skill personnelle ou de projet mais empêcher Claude de l'invoquer de lui-même, définissez [`disable-model-invocation: true`](#control-who-invokes-a-skill) dans son frontmatter, ou `"user-invocable-only"` dans [`skillOverrides`](#override-skill-visibility-from-settings) quand vous ne voulez pas modifier le fichier.288Pour conserver une skill personnelle ou de projet mais empêcher Claude de l'invoquer de lui-même, définissez [`disable-model-invocation: true`](#control-who-invokes-a-skill) dans son frontmatter, ou `"user-invocable-only"` dans [`skillOverrides`](#override-skill-visibility-from-settings) quand vous ne voulez pas éditer le fichier.

279 289 

280<h2 id="configure-skills">290<h2 id="configure-skills">

281 Configurer les compétences291 Configurer les compétences


378| Compétences Claude Code à [n'importe quel niveau](#where-skills-live), y compris les compétences [plugin](/docs/fr/plugins) | Tous les champs du tableau ci-dessus |388| Compétences Claude Code à [n'importe quel niveau](#where-skills-live), y compris les compétences [plugin](/docs/fr/plugins) | Tous les champs du tableau ci-dessus |

379| Téléchargements de compétences claude.ai, l'API Skills et l'empaquetage avec `package_skill.py` de [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |389| Téléchargements de compétences claude.ai, l'API Skills et l'empaquetage avec `package_skill.py` de [anthropics/skills](https://github.com/anthropics/skills) | `name`, `description`, `license`, `compatibility`, `metadata`, `allowed-tools` |

380 390 

381Lorsque vous activez une compétence personnelle pour [les sessions Cowork et cloud](#skills-in-cowork-and-cloud-sessions), y compris les routines, vous la téléchargez sur claude.ai, donc les mêmes règles s'appliquent.391Lorsque vous activez une compétence personnelle pour votre compte claude.ai, par exemple pour l'utiliser dans [les sessions Cowork et cloud](#skills-in-cowork-and-cloud-sessions) et les routines, vous la téléchargez sur claude.ai, donc les mêmes règles s'appliquent.

382 392 

383Si vous incluez un champ que la spécification ne permet pas, l'empaquetage ou le téléchargement échoue avec une erreur matérielle au lieu d'ignorer le champ :393Si vous incluez un champ que la spécification ne permet pas, l'empaquetage ou le téléchargement échoue avec une erreur matérielle au lieu d'ignorer le champ :

384 394 


404| Fichier dans un sous-répertoire de `.claude/commands/` | Chemin du sous-répertoire relatif à `commands/` avec chaque `/` remplacé par `:`, puis le nom du fichier sans extension | `.claude/commands/frontend/component.md` → `/frontend:component` |414| Fichier dans un sous-répertoire de `.claude/commands/` | Chemin du sous-répertoire relatif à `commands/` avec chaque `/` remplacé par `:`, puis le nom du fichier sans extension | `.claude/commands/frontend/component.md` → `/frontend:component` |

405| Sous-répertoire `skills/` du plugin | Frontmatter `name` ou le nom du répertoire, préfixé par le plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, ou `/my-plugin:fancy` avec `name: fancy` |415| Sous-répertoire `skills/` du plugin | Frontmatter `name` ou le nom du répertoire, préfixé par le plugin | `my-plugin/skills/review/SKILL.md` → `/my-plugin:review`, ou `/my-plugin:fancy` avec `name: fancy` |

406| `SKILL.md` racine du plugin | Frontmatter `name`, avec le nom du répertoire du plugin comme secours | `my-plugin/SKILL.md` avec `name: review` → `/my-plugin:review`. Voir [Règles de comportement du chemin](/docs/fr/plugins-reference#path-behavior-rules) |416| `SKILL.md` racine du plugin | Frontmatter `name`, avec le nom du répertoire du plugin comme secours | `my-plugin/SKILL.md` avec `name: review` → `/my-plugin:review`. Voir [Règles de comportement du chemin](/docs/fr/plugins-reference#path-behavior-rules) |

417| Compétence [synchronisée depuis claude.ai](#how-synced-skills-behave) | Le nom de la compétence sur votre compte claude.ai, préfixé avec `anthropic-skills:` | Compétence de compte `deploy` → `/anthropic-skills:deploy`, ou `/deploy` si aucune autre commande n'utilise ce nom |

407 418 

408Dans une compétence de plugin, le frontmatter `name` remplace le nom du répertoire dans le dernier segment de la commande, donc `my-plugin/skills/review/SKILL.md` avec `name: fancy` devient `/my-plugin:fancy`. Le `/fancy` nu invoque également la compétence à moins qu'une autre commande n'utilise déjà ce nom. Si le `name` que vous écrivez commence déjà par le propre préfixe du plugin, Claude Code n'ajoute pas le préfixe à nouveau sur v2.1.246 ou ultérieur. Par exemple, `name: my-plugin:fancy` devient toujours `/my-plugin:fancy`. De v2.1.216 à v2.1.245, Claude Code doublait le préfixe lorsque le `name` le portait déjà.419Dans une compétence de plugin, le frontmatter `name` remplace le nom du répertoire dans le dernier segment de la commande, donc `my-plugin/skills/review/SKILL.md` avec `name: fancy` devient `/my-plugin:fancy`. Le `/fancy` nu invoque également la compétence à moins qu'une autre commande n'utilise déjà ce nom. Si le `name` que vous écrivez commence déjà par le propre préfixe du plugin, Claude Code n'ajoute pas le préfixe à nouveau sur v2.1.246 ou ultérieur. Par exemple, `name: my-plugin:fancy` devient toujours `/my-plugin:fancy`. De v2.1.216 à v2.1.245, Claude Code doublait le préfixe lorsque le `name` le portait déjà.

409 420 

410Dans [les sessions non interactives](/docs/fr/headless), les noms `help` et `feedback` ne sont pas réservés à leurs commandes intégrées terminales uniquement, donc une compétence de plugin avec l'un de ces noms conserve sa commande nue là. Tous les autres noms de commandes intégrées terminales, comme `/login`, restent réservés même si la commande ne peut pas s'exécuter dans ces sessions. Une compétence synchronisée nommée `help` ou `feedback` est toujours ignorée là, car Claude Code [ignore une compétence synchronisée](#when-a-synced-skill-name-matches-another-command) dont le nom correspond à n'importe quelle commande intégrée, que cette commande puisse s'exécuter ou non.421Dans [les sessions non interactives](/docs/fr/headless), les noms `help` et `feedback` ne sont pas réservés à leurs commandes intégrées terminales uniquement, donc une compétence de plugin avec l'un de ces noms conserve sa commande nue là. Tous les autres noms de commandes intégrées terminales, comme `/login`, restent réservés même si la commande ne peut pas s'exécuter dans ces sessions.

411 422 

412Pour un `SKILL.md` racine de plugin, il n'y a pas de répertoire de compétence d'où prendre le nom, donc `name` fournit le segment final entier. Sans un champ `name`, Claude Code revient au nom du répertoire du plugin.423Pour un `SKILL.md` racine de plugin, il n'y a pas de répertoire de compétence d'où prendre le nom, donc `name` fournit le segment final entier. Sans un champ `name`, Claude Code revient au nom du répertoire du plugin.

413 424 


709 720 

710Avec le shell `bash` par défaut, ajoutez `|| true` à toute autre commande que vous vous attendez à quitter non-zéro. Un script de vérification qui quitte 1 lorsqu'il trouve des problèmes en est un exemple.721Avec le shell `bash` par défaut, ajoutez `|| true` à toute autre commande que vous vous attendez à quitter non-zéro. Un script de vérification qui quitte 1 lorsqu'il trouve des problèmes en est un exemple.

711 722 

712Les commandes injectées ne demandent jamais la permission. Lorsque la vérification des permissions d'une commande retourne autre chose que l'autorisation, Claude Code abandonne l'invocation. Cela inclut une règle qui vous demanderait normalement. L'abandon affiche `Shell command permission check failed for pattern "..."`.723<h4 id="permission-checks-on-injected-commands">

724 Vérifications des permissions sur les commandes injectées

725</h4>

726 

727Les commandes injectées ne demandent jamais la permission pendant que la compétence s'affiche. Claude Code vérifie chacune d'elles par rapport à vos [règles de permission](/docs/fr/permissions) en premier. Une commande qu'une règle de refus correspond abandonne l'invocation avec `Shell command permission check failed for pattern "..."`.

728 

729En dehors du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), lorsque la vérification des permissions d'une commande retourne autre chose que l'autorisation, Claude Code abandonne l'invocation avec la même erreur. Cela inclut une règle qui vous demanderait normalement. Pour empêcher une commande non appariée d'abandonner ici, pré-approuvez-la avec [`allowed-tools`](#pre-approve-tools-for-a-skill). Les règles de refus et d'ask remplacent toujours `allowed-tools`. Voir [Manage permissions](/docs/fr/permissions#manage-permissions).

713 730 

714Pour empêcher une commande non appariée d'abandonner ici, pré-approuvez-la avec [`allowed-tools`](#pre-approve-tools-for-a-skill). Une règle d'ask ou de deny correspondante abandonne toujours l'invocation quel que soit `allowed-tools`. Voir [Manage permissions](/docs/fr/permissions#manage-permissions).731En mode auto, une commande qui aurait autrement besoin de votre approbation n'abandonne pas l'invocation. La compétence se charge avec une instruction indiquant à Claude d'exécuter d'abord la commande, et l'appel propre de Claude passe ensuite par les [vérifications habituelles du mode auto](/docs/fr/permission-modes#how-the-classifier-evaluates-actions). L'invocation abandonne toujours dans une [compétence forkée](#run-skills-in-a-subagent) qui définit `agent`, et dans une session où Claude n'a pas l'[outil shell qui exécute les commandes injectées](#how-injected-commands-run).

715 732 

716<h3 id="run-skills-in-a-subagent">733<h3 id="run-skills-in-a-subagent">

717 Exécuter les compétences dans un sous-agent734 Exécuter les compétences dans un sous-agent


743Les compétences et les [sous-agents](/docs/fr/sub-agents) travaillent ensemble dans deux directions :760Les compétences et les [sous-agents](/docs/fr/sub-agents) travaillent ensemble dans deux directions :

744 761 

745| Approche | Invite système | Tâche | Charge également |762| Approche | Invite système | Tâche | Charge également |

746| :------------------------------ | :--------------------------- | :------------------------------ | :-------------------------------------------------- |763| :------------------------------ | :--------------------------- | :------------------------------ | :------------------------------------------------------------------------------------------------------------------------ |

747| Compétence avec `context: fork` | Du type d'agent | Contenu SKILL.md | CLAUDE.md, sauf lorsque l'agent est Explore ou Plan |764| Compétence avec `context: fork` | Du type d'agent | Contenu SKILL.md | CLAUDE.md, selon le [contexte de démarrage](/docs/fr/sub-agents#what-loads-at-startup) de l'agent |

748| Sous-agent avec champ `skills` | Corps markdown du sous-agent | Message de délégation de Claude | Compétences préchargées + CLAUDE.md |765| Sous-agent avec champ `skills` | Corps markdown du sous-agent | Message de délégation de Claude | Compétences préchargées + CLAUDE.md, selon le [contexte de démarrage](/docs/fr/sub-agents#what-loads-at-startup) du sous-agent |

749 766 

750Avec `context: fork`, vous écrivez la tâche dans votre compétence et choisissez un type d'agent pour l'exécuter. Les agents Explore et Plan intégrés [ignorent CLAUDE.md et l'état git](/docs/fr/sub-agents#what-loads-at-startup) pour garder leur contexte petit, de sorte qu'une compétence forkée utilisant `agent: Explore` ne voit que le contenu SKILL.md et l'invite système propre de l'agent. Pour l'inverse, où vous définissez un sous-agent personnalisé qui utilise les compétences comme matériel de référence, voir [Subagents](/docs/fr/sub-agents#preload-skills-into-subagents).767Avec `context: fork`, vous écrivez la tâche dans votre compétence et choisissez un type d'agent pour l'exécuter. Les agents Explore et Plan intégrés [ignorent CLAUDE.md et l'état git](/docs/fr/sub-agents#what-loads-at-startup) pour garder leur contexte petit, de sorte qu'une compétence forkée utilisant `agent: Explore` ne voit que le contenu SKILL.md et l'invite système propre de l'agent. Pour l'inverse, où vous définissez un sous-agent personnalisé qui utilise les compétences comme matériel de référence, voir [Subagents](/docs/fr/sub-agents#preload-skills-into-subagents).

751 768 


867 Évaluer et itérer sur une compétence884 Évaluer et itérer sur une compétence

868</h2>885</h2>

869 886 

870Voir une compétence se déclencher vous indique que Claude l'a trouvée, pas qu'elle a fait ce que vous aviez l'intention. Pour savoir qu'une compétence fonctionne, mesurez deux choses séparément : si Claude l'invoque sur les invites qu'elle devrait, et si la sortie correspond à ce que vous attendez quand elle le fait.887Voir une compétence se déclencher vous indique que Claude l'a trouvée, pas qu'elle a fait ce que vous aviez l'intention. Pour savoir qu'une compétence fonctionne, mesurez séparément si Claude l'invoque sur les invites qu'elle devrait, et si la sortie correspond à ce que vous attendez quand elle le fait.

871 888 

872La vérification des deux est une comparaison de base. Collectez quelques invites réalistes, exécutez chacune dans une session nouvelle avec la compétence disponible et à nouveau avec elle [désactivée](#override-skill-visibility-from-settings), et comparez les résultats. Une session nouvelle est importante car le contexte restant de la création de la compétence masquera les lacunes dans les instructions écrites.889La vérification des deux est une comparaison de base. Collectez quelques invites réalistes, exécutez chacune dans une session nouvelle avec la compétence disponible et à nouveau avec elle [désactivée](#override-skill-visibility-from-settings), et comparez les résultats. Une session nouvelle est importante car le contexte restant de la création de la compétence masquera les lacunes dans les instructions écrites.

873 890 

slack.md +24 −24

Details

35| Condition | Détails |35| Condition | Détails |

36| :--------------------- | :-------------------------------------------------------------------------------------------------- |36| :--------------------- | :-------------------------------------------------------------------------------------------------- |

37| Plan Claude | Pro, Max, Team ou Enterprise avec accès à Claude Code (sièges premium ou sièges Chat + Claude Code) |37| Plan Claude | Pro, Max, Team ou Enterprise avec accès à Claude Code (sièges premium ou sièges Chat + Claude Code) |

38| Claude Code sur le web | L'accès à [Claude Code sur le web](/docs/fr/claude-code-on-the-web) doit être activé |38| Sessions cloud | Les [sessions cloud](/docs/fr/claude-code-on-the-web) sont activées pour votre compte |

39| Compte GitHub | Connecté à Claude Code sur le web avec au moins un référentiel authentifié |39| Compte GitHub | Connecté à [claude.ai/code](https://claude.ai/code) avec au moins un référentiel authentifié |

40| Authentification Slack | Votre compte Slack lié à votre compte Claude via l'application Claude |40| Authentification Slack | Votre compte Slack lié à votre compte Claude via l'application Claude |

41 41 

42<h2 id="setting-up-claude-code-in-slack">42<h2 id="setting-up-claude-code-in-slack">


45 45 

46<Steps>46<Steps>

47 <Step title="Installer l'application Claude dans Slack">47 <Step title="Installer l'application Claude dans Slack">

48 Un administrateur de l'espace de travail doit installer l'application Claude à partir de la Slack App Marketplace. Visitez la [Slack App Marketplace](https://slack.com/marketplace/A08SF47R6P4) et cliquez sur ' Ajouter à Slack ' pour commencer le processus d'installation.48 Un administrateur de l'espace de travail doit installer l'application Claude à partir de la Slack App Marketplace. Visitez la [Slack App Marketplace](https://slack.com/marketplace/A08SF47R6P4) et cliquez sur « Ajouter à Slack » pour commencer le processus d'installation.

49 </Step>49 </Step>

50 50 

51 <Step title="Connectez votre compte Claude">51 <Step title="Connectez votre compte Claude">

52 Une fois l'application installée, authentifiez votre compte Claude individuel :52 Une fois l'application installée, authentifiez votre compte Claude individuel :

53 53 

54 1. Ouvrez l'application Claude dans Slack en cliquant sur « Claude » dans votre section Applications54 1. Ouvrez l'application Claude dans Slack en cliquant sur « Claude » dans votre section Applications

55 2. Accédez à l'onglet Accueil de l'application55 2. Ouvrez l'onglet Accueil de l'application

56 3. Cliquez sur « Connecter » pour lier votre compte Slack à votre compte Claude56 3. Cliquez sur « Connecter » pour lier votre compte Slack à votre compte Claude

57 4. Complétez le flux d'authentification dans votre navigateur57 4. Complétez le flux d'authentification dans votre navigateur

58 </Step>58 </Step>

59 59 

60 <Step title="Configurez Claude Code sur le web">60 <Step title="Configurez les sessions cloud">

61 Assurez-vous que votre Claude Code sur le web est correctement configuré :61 Assurez-vous que les sessions cloud sont correctement configurées pour votre compte :

62 62 

63 * Visitez [claude.ai/code](https://claude.ai/code) et connectez-vous avec le même compte que celui que vous avez connecté à Slack63 * Visitez [claude.ai/code](https://claude.ai/code) et connectez-vous avec le même compte que celui que vous avez connecté à Slack

64 * Connectez votre compte GitHub s'il n'est pas déjà connecté64 * Connectez votre compte GitHub s'il n'est pas déjà connecté


66 </Step>66 </Step>

67 67 

68 <Step title="Choisissez votre mode de routage">68 <Step title="Choisissez votre mode de routage">

69 Après avoir connecté vos comptes, configurez la façon dont Claude gère vos messages dans Slack. Accédez à l'Accueil de l'application Claude dans Slack pour trouver le paramètre **Mode de routage**.69 Après avoir connecté vos comptes, configurez la façon dont Claude gère vos messages dans Slack. Ouvrez l'Accueil de l'application Claude dans Slack pour trouver le paramètre **Mode de routage**.

70 70 

71 | Mode | Comportement |71 | Mode | Comportement |

72 | :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |72 | :------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |


91 Détection automatique91 Détection automatique

92</h3>92</h3>

93 93 

94En mode routage Code + Chat, lorsque vous mentionnez @Claude dans un canal ou un fil Slack, Claude détecte automatiquement si votre message est une tâche de codage. Les tâches de codage sont acheminées vers Claude Code sur le web. Tout le reste reçoit une réponse de chat ordinaire. En mode Code uniquement, chaque @mention est acheminée vers Claude Code.94En mode routage Code + Chat, lorsque vous mentionnez @Claude dans un canal ou un fil Slack, Claude détecte automatiquement si votre message est une tâche de codage. Les tâches de codage sont acheminées vers une session Claude Code sur le cloud. Tout le reste reçoit une réponse de chat ordinaire. En mode Code uniquement, chaque @mention est acheminée vers Claude Code.

95 95 

96Vous pouvez également dire explicitement à Claude de traiter une demande en tant que tâche de codage, même s'il ne la détecte pas automatiquement.96Vous pouvez également dire explicitement à Claude de traiter une demande en tant que tâche de codage, même s'il ne la détecte pas automatiquement.

97 97 


1223. **Création de session** : Une nouvelle session Claude Code est créée sur claude.ai/code1223. **Création de session** : Une nouvelle session Claude Code est créée sur claude.ai/code

1234. **Mises à jour de progression** : Claude publie des mises à jour de statut dans votre fil Slack au fur et à mesure de la progression du travail1234. **Mises à jour de progression** : Claude publie des mises à jour de statut dans votre fil Slack au fur et à mesure de la progression du travail

1245. **Achèvement** : Une fois terminé, Claude vous @mentionne avec un résumé et des boutons d'action1245. **Achèvement** : Une fois terminé, Claude vous @mentionne avec un résumé et des boutons d'action

1256. **Révision** : Cliquez sur ' Afficher la session ' pour voir la transcription complète, ou ' Créer une PR ' pour ouvrir une demande de tirage1256. **Révision** : Cliquez sur « Afficher la session » pour voir la transcription complète, ou « Créer une PR » pour ouvrir une demande de tirage

126 126 

127<h2 id="user-interface-elements">127<h2 id="user-interface-elements">

128 Éléments de l'interface utilisateur128 Éléments de l'interface utilisateur


182 182 

183**Dans Slack** : Vous verrez les mises à jour de statut, les résumés d'achèvement et les boutons d'action. La transcription complète est préservée et toujours accessible.183**Dans Slack** : Vous verrez les mises à jour de statut, les résumés d'achèvement et les boutons d'action. La transcription complète est préservée et toujours accessible.

184 184 

185**Sur le web** : La session Claude Code complète avec l'historique complet de la conversation, tous les changements de code et les opérations de fichiers. Les sessions restent dans votre historique Claude Code sur [claude.ai/code](https://claude.ai/code), où vous pouvez continuer les sessions passées, les référencer ou créer des demandes de tirage.185**Sur claude.ai/code** : La session Claude Code complète avec l'historique complet de la conversation, tous les changements de code et les opérations de fichiers. Les sessions restent dans votre historique Claude Code sur [claude.ai/code](https://claude.ai/code), où vous pouvez continuer les sessions passées, les référencer ou créer des demandes de tirage.

186 186 

187Pour les comptes Enterprise et Team, les sessions créées à partir de Claude dans Slack sont automatiquement visibles pour l'organisation. Consultez [Partage de sessions Claude Code sur le web](/docs/fr/claude-code-on-the-web#share-sessions) pour plus de détails.187Pour les comptes Enterprise et Team, les sessions créées à partir de Claude dans Slack sont automatiquement visibles pour l'organisation. Consultez [partage de sessions cloud](/docs/fr/claude-code-on-the-web#share-sessions) pour plus de détails.

188 188 

189<h2 id="best-practices">189<h2 id="best-practices">

190 Meilleures pratiques190 Meilleures pratiques


196 196 

197* **Soyez précis** : Incluez les noms de fichiers, les noms de fonctions ou les messages d'erreur si pertinent.197* **Soyez précis** : Incluez les noms de fichiers, les noms de fonctions ou les messages d'erreur si pertinent.

198* **Fournissez du contexte** : Mentionnez le référentiel ou le projet s'il n'est pas clair à partir de la conversation.198* **Fournissez du contexte** : Mentionnez le référentiel ou le projet s'il n'est pas clair à partir de la conversation.

199* **Définissez le succès** : Expliquez à quoi ressemble ' terminé ' — Claude devrait-il écrire des tests ? Mettre à jour la documentation ? Créer une PR ?199* **Définissez le succès** : Expliquez à quoi ressemble « terminé ». Claude devrait-il écrire des tests ? Mettre à jour la documentation ? Créer une PR ?

200* **Utilisez les fils** : Répondez dans les fils lors de la discussion de bugs ou de fonctionnalités afin que Claude puisse recueillir le contexte complet.200* **Utilisez les fils** : Répondez dans les fils lors de la discussion de bugs ou de fonctionnalités afin que Claude puisse recueillir le contexte complet.

201 201 

202<h3 id="when-to-use-slack-vs-web">202<h3 id="when-to-use-slack-vs-web">


212</h2>212</h2>

213 213 

214<h3 id="claude-code-is-not-enabled-for-your-account">214<h3 id="claude-code-is-not-enabled-for-your-account">

215 ' Claude Code n'est pas activé pour votre compte '215 « Claude Code n'est pas activé pour votre compte »

216</h3>216</h3>

217 217 

218Cette erreur signifie que votre compte Claude n'a pas encore d'environnement cloud. Connectez-vous à [claude.ai/code](https://claude.ai/code) une fois avec le même compte que celui que vous avez connecté à Slack et terminez l'[intégration web](/docs/fr/web-quickstart#connect-github), qui crée votre environnement cloud par défaut ou vous demande de le créer. L'erreur disparaît lors de votre prochaine mention. Chaque utilisateur doit faire cela individuellement.218Cette erreur signifie que votre compte Claude n'a pas encore d'environnement cloud. Connectez-vous à [claude.ai/code](https://claude.ai/code) une fois avec le même compte que celui que vous avez connecté à Slack et terminez l'[intégration web](/docs/fr/web-quickstart#connect-github), qui crée votre environnement cloud par défaut ou vous demande de le créer. L'erreur disparaît lors de votre prochaine mention. Chaque utilisateur doit faire cela individuellement.

219 219 

220<h3 id="sessions-not-starting">220<h3 id="sessions-not-starting">

221 Les sessions ne démarrent pas221 Sessions not starting

222</h3>222</h3>

223 223 

2241. Vérifiez que votre compte Claude est connecté dans l'Accueil de l'application Claude2241. Vérifiez que votre compte Claude est connecté dans l'Accueil de l'application Claude

2252. Vérifiez que vous avez accès à Claude Code sur le web activé2252. Vérifiez que les sessions cloud sont activées pour votre compte

2263. Assurez-vous que vous avez au moins un référentiel GitHub connecté à Claude Code2263. Assurez-vous que vous avez au moins un référentiel GitHub connecté à Claude Code

227 227 

228<h3 id="sessions-from-a-claude-tag-channel-fail-to-start">228<h3 id="sessions-from-a-claude-tag-channel-fail-to-start">

229 Les sessions d'un canal Claude Tag ne démarrent pas229 Sessions from a Claude Tag channel fail to start

230</h3>230</h3>

231 231 

232Cette entrée s'applique aux espaces de travail utilisant [Claude Tag](https://claude.com/docs/claude-tag/overview), où Claude fonctionne dans les canaux en tant qu'identité partagée de votre organisation, et non en tant que compte d'un membre. Si vous avez créé l'environnement cloud du canal à [claude.ai/code](https://claude.ai/code), il appartient à votre compte personnel, et Claude ne peut pas démarrer les sessions de canal dans un environnement personnel. Claude Code échoue immédiatement la session, et réessayer n'aide pas.232Cette entrée s'applique aux espaces de travail utilisant [Claude Tag](https://claude.com/docs/claude-tag/overview), où Claude fonctionne dans les canaux en tant qu'identité partagée de votre organisation, et non en tant que compte d'un membre. Si vous avez créé l'environnement cloud du canal à [claude.ai/code](https://claude.ai/code), il appartient à votre compte personnel, et Claude ne peut pas démarrer les sessions de canal dans un environnement personnel. Claude Code échoue immédiatement la session, et réessayer n'aide pas.


239Si vous n'êtes pas propriétaire, envoyez cette entrée à un propriétaire.239Si vous n'êtes pas propriétaire, envoyez cette entrée à un propriétaire.

240 240 

241<h3 id="repository-not-showing">241<h3 id="repository-not-showing">

242 Le référentiel ne s'affiche pas242 Repository not showing

243</h3>243</h3>

244 244 

2451. Connectez le référentiel dans Claude Code sur le web à [claude.ai/code](https://claude.ai/code)2451. Connectez le référentiel à [claude.ai/code](https://claude.ai/code)

2462. Vérifiez vos permissions GitHub pour ce référentiel2462. Vérifiez vos permissions GitHub pour ce référentiel

2473. Essayez de déconnecter et de reconnecter votre compte GitHub2473. Essayez de déconnecter et de reconnecter votre compte GitHub

248 248 

249<h3 id="wrong-repository-selected">249<h3 id="wrong-repository-selected">

250 Mauvais référentiel sélectionné250 Wrong repository selected

251</h3>251</h3>

252 252 

2531. Cliquez sur le bouton ' Changer de référentiel ' pour sélectionner un référentiel différent2531. Cliquez sur le bouton « Changer de référentiel » pour sélectionner un référentiel différent

2542. Incluez le nom du référentiel dans votre demande pour une sélection plus précise2542. Incluez le nom du référentiel dans votre demande pour une sélection plus précise

255 255 

256<h3 id="authentication-errors">256<h3 id="authentication-errors">

257 Erreurs d'authentification257 Authentication errors

258</h3>258</h3>

259 259 

2601. Déconnectez et reconnectez votre compte Claude dans l'Accueil de l'application2601. Déconnectez et reconnectez votre compte Claude dans l'Accueil de l'application


267 267 

268* **GitHub uniquement** : les référentiels doivent être sur GitHub.268* **GitHub uniquement** : les référentiels doivent être sur GitHub.

269* **Une PR à la fois** : chaque session peut créer une demande de tirage.269* **Une PR à la fois** : chaque session peut créer une demande de tirage.

270* **Accès web requis** : les utilisateurs doivent avoir accès à Claude Code sur le web ; sans cela, Claude répond avec des réponses de chat standard.270* **Accès aux sessions cloud requis** : les utilisateurs doivent avoir accès aux [sessions cloud](/docs/fr/claude-code-on-the-web) ; sans cela, Claude répond avec des réponses de chat standard.

271 271 

272<h2 id="related-resources">272<h2 id="related-resources">

273 Ressources connexes273 Ressources connexes

274</h2>274</h2>

275 275 

276<CardGroup>276<CardGroup>

277 <Card title="Claude Code sur le web" icon="globe" href="/docs/fr/claude-code-on-the-web">277 <Card title="Claude Code dans le cloud" icon="cloud" href="/docs/fr/claude-code-on-the-web">

278 En savoir plus sur Claude Code sur le web278 En savoir plus sur les sessions cloud

279 </Card>279 </Card>

280 280 

281 <Card title="Claude pour Slack" icon="slack" href="https://claude.com/claude-and-slack">281 <Card title="Claude pour Slack" icon="slack" href="https://claude.com/claude-and-slack">

statusline.md +1 −1

Details

86 Construire une barre de statut étape par étape86 Construire une barre de statut étape par étape

87</h2>87</h2>

88 88 

89Cette procédure montre ce qui se passe sous le capot en créant manuellement une barre de statut qui affiche le modèle actuel, le répertoire de travail et le pourcentage d'utilisation de la fenêtre de contexte.89Cette procédure montre ce que `/statusline` configure pour vous en créant manuellement une barre de statut qui affiche le modèle actuel, le répertoire de travail et le pourcentage d'utilisation de la fenêtre de contexte.

90 90 

91<Note>L'exécution de [`/statusline`](#use-the-%2Fstatusline-command) avec une description de ce que vous voulez configure tout cela automatiquement pour vous.</Note>91<Note>L'exécution de [`/statusline`](#use-the-%2Fstatusline-command) avec une description de ce que vous voulez configure tout cela automatiquement pour vous.</Note>

92 92 

sub-agents.md +15 −10

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

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` et `isolation`. Utilisez `prompt` pour l'invite système, équivalent au corps markdown dans les sous-agents basés sur fichier. Chaque clé de niveau supérieur dans le JSON est le nom de l'agent. Ne commencez pas un nom par `-`.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.

234 

235Chaque clé de niveau supérieur dans le JSON est le nom de l'agent. Ne commencez pas un nom par `-`.

234 236 

235Pour savoir ce que Claude Code fait avec une valeur qu'il ne peut pas charger, et les drapeaux et variables d'environnement qui ignorent cette vérification, consultez [`Invalid --agents configuration`](/docs/fr/errors#invalid-agents-configuration).237Pour savoir ce que Claude Code fait avec une valeur qu'il ne peut pas charger, et les drapeaux et variables d'environnement qui ignorent cette vérification, consultez [`Invalid --agents configuration`](/docs/fr/errors#invalid-agents-configuration).

236 238 


313| `hooks` | Non | [Hooks de cycle de vie](#define-hooks-for-subagents) limités à ce sous-agent. Ignoré pour les [sous-agents de plugin](#choose-the-subagent-scope) |315| `hooks` | Non | [Hooks de cycle de vie](#define-hooks-for-subagents) limités à ce sous-agent. Ignoré pour les [sous-agents de plugin](#choose-the-subagent-scope) |

314| `memory` | Non | [Portée de la mémoire persistante](#enable-persistent-memory) : `user`, `project` ou `local`. Active l'apprentissage entre sessions |316| `memory` | Non | [Portée de la mémoire persistante](#enable-persistent-memory) : `user`, `project` ou `local`. Active l'apprentissage entre sessions |

315| `background` | Non | Définir sur `true` pour garder ce sous-agent en arrière-plan même lorsque Claude demande de l'exécuter au premier plan. Lorsque le [mode fork](#turn-fork-mode-on-or-off) est activé, Claude Code exécute déjà les sous-agents que Claude génère [en arrière-plan](#run-subagents-in-foreground-or-background) |317| `background` | Non | Définir sur `true` pour garder ce sous-agent en arrière-plan même lorsque Claude demande de l'exécuter au premier plan. Lorsque le [mode fork](#turn-fork-mode-on-or-off) est activé, Claude Code exécute déjà les sous-agents que Claude génère [en arrière-plan](#run-subagents-in-foreground-or-background) |

318| `omitClaudeMd` | Non | Définir sur `true` pour lancer ce sous-agent sans les fichiers CLAUDE.md utilisateur, projet et local ; les [fichiers de politique gérée](/docs/fr/memory#how-claude-md-files-load) se chargent toujours, sauf pour les [sous-agents gérés](#choose-the-subagent-scope). Utilisez-le pour les sous-agents qui prennent tout ce dont ils ont besoin de l'[invite de délégation](#what-loads-at-startup). Ignoré lorsque l'agent s'exécute en tant qu'agent de session principal via `--agent` ou le paramètre `agent`. Nécessite Claude Code v2.1.271 ou ultérieur |

316| `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 |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 |

317| `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 |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 |

318| `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` |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` |


439* `WaitForMcpServers`442* `WaitForMcpServers`

440* `Workflow`443* `Workflow`

441 444 

442Le 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`. 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).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).

443 446 

444[`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.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.

445 448 


578 581 

579Le mode de permission de la conversation principale décide si Claude Code utilise la valeur que vous définissez :582Le mode de permission de la conversation principale décide si Claude Code utilise la valeur que vous définissez :

580 583 

581* Lorsque la conversation principale est en `bypassPermissions`, `acceptEdits` ou [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), le sous-agent s'exécute dans ce même mode et Claude Code ignore le `permissionMode` que vous définissez. En mode auto, le classificateur évalue les appels d'outils du sous-agent avec les règles de blocage et d'autorisation de la conversation principale.584* Lorsque la conversation principale est en `bypassPermissions`, `acceptEdits` ou [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), le sous-agent s'exécute dans ce même mode et Claude Code ignore le `permissionMode` que vous définissez. En mode auto, le classificateur évalue les appels d'outils du sous-agent avec les règles de blocage et d'autorisation de la conversation principale. Lorsque le sous-agent se termine, le classificateur examine également son travail et son rapport final avant que le rapport soit livré, comme [Comment le mode auto gère les sous-agents](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) le décrit.

582* Lorsque la conversation principale est en mode `default`, `dontAsk` ou `plan`, le sous-agent s'exécute dans le mode de permission que vous définissez, sauf `bypassPermissions`. Un sous-agent qui déclare `bypassPermissions` conserve le mode de la conversation principale à la place. L'exception `bypassPermissions` nécessite Claude Code v2.1.267 ou ultérieur.585* Lorsque la conversation principale est en mode `default`, `dontAsk` ou `plan`, le sous-agent s'exécute dans le mode de permission que vous définissez, sauf `bypassPermissions`. Un sous-agent qui déclare `bypassPermissions` conserve le mode de la conversation principale à la place. L'exception `bypassPermissions` nécessite Claude Code v2.1.267 ou ultérieur.

583 586 

584`permissionMode` accepte ces valeurs, et `manual` comme alias pour `default` :587`permissionMode` accepte ces valeurs, et `manual` comme alias pour `default` :


882claude --agent code-reviewer885claude --agent code-reviewer

883```886```

884 887 

885L'invite système du sous-agent remplace complètement l'invite système par défaut de Claude Code, de la même manière que [`--system-prompt`](/docs/fr/cli-reference) le fait. Les fichiers `CLAUDE.md` et la mémoire du projet se chargent toujours via le flux de messages normal. Le nom de l'agent apparaît comme `@<name>` dans l'en-tête de démarrage pour que vous puissiez confirmer qu'il est actif.888L'invite système du sous-agent remplace complètement l'invite système par défaut de Claude Code, de la même manière que [`--system-prompt`](/docs/fr/cli-reference) le fait. Les fichiers `CLAUDE.md` et la mémoire du projet se chargent toujours via le flux de messages normal, même lorsque la définition de l'agent définit [`omitClaudeMd`](#supported-frontmatter-fields). Le nom de l'agent apparaît comme `@<name>` dans l'en-tête de démarrage pour que vous puissiez confirmer qu'il est actif.

886 889 

887Cela fonctionne avec les sous-agents intégrés et personnalisés, et le choix persiste lorsque vous reprenez la session : Claude Code restaure l'invite système, les restrictions d'outils et le modèle de l'agent ainsi que la conversation. Si l'agent n'existe plus lorsque vous reprenez, la session continue avec les outils par défaut et affiche un [avertissement nommant l'agent](/docs/fr/errors#session-agent-no-longer-available). Pour l'invite système dans l'un ou l'autre cas, voir [Drapeaux d'invite système dans les conversations reprises](/docs/fr/cli-reference#system-prompt-flags-in-resumed-conversations).890Cela fonctionne avec les sous-agents intégrés et personnalisés, et le choix persiste lorsque vous reprenez la session : Claude Code restaure les restrictions d'outils et le modèle de l'agent ainsi que la conversation. Si l'agent n'existe plus lorsque vous reprenez, la session continue avec les outils par défaut et affiche un [avertissement nommant l'agent](/docs/fr/errors#session-agent-no-longer-available). Pour l'invite système dans l'un ou l'autre cas, voir [Drapeaux d'invite système dans les conversations reprises](/docs/fr/cli-reference#system-prompt-flags-in-resumed-conversations).

888 891 

889Pour un sous-agent fourni par un plugin, vous pouvez passer simplement le nom de l'agent et Claude Code le trouvera :892Pour un sous-agent fourni par un plugin, vous pouvez passer simplement le nom de l'agent et Claude Code le trouvera :

890 893 


1055 1058 

1056Par défaut, un sous-agent peut générer ses propres sous-agents, jusqu'à trois niveaux en dessous de la conversation principale. À la limite de profondeur, Claude Code retient l'outil `Agent` de chaque sous-agent sauf un [fork](#fork-the-current-conversation), de sorte qu'un sous-agent à la limite fait son travail délégué lui-même et retourne un résumé. Un fork à la limite garde `Agent` dans sa liste d'outils héritée, mais l'outil retourne une erreur au lieu de générer.1059Par défaut, un sous-agent peut générer ses propres sous-agents, jusqu'à trois niveaux en dessous de la conversation principale. À la limite de profondeur, Claude Code retient l'outil `Agent` de chaque sous-agent sauf un [fork](#fork-the-current-conversation), de sorte qu'un sous-agent à la limite fait son travail délégué lui-même et retourne un résumé. Un fork à la limite garde `Agent` dans sa liste d'outils héritée, mais l'outil retourne une erreur au lieu de générer.

1057 1060 

1058Les sous-agents imbriqués conviennent à une tâche déléguée qui se divise elle-même en sous-tâches parallèles, comme un sous-agent examinateur qui envoie un vérificateur par résultat, de sorte que la sortie intermédiaire n'atteint jamais votre conversation principale. Seul le résumé du sous-agent de niveau supérieur vous revient.1061Les sous-agents imbriqués conviennent à une tâche déléguée qui se divise elle-même en sous-tâches parallèles, comme un sous-agent examinateur qui envoie un vérificateur par résultat. Dans une session interactive, seul le résumé du sous-agent de niveau supérieur vous revient et la sortie intermédiaire reste en dehors de votre conversation principale : un sous-agent qui lance des sous-agents en arrière-plan attend leurs résultats avant de se terminer. En [mode non-interactif](/docs/fr/headless) et dans le SDK Agent, le sous-agent de lancement n'attend pas, de sorte qu'un sous-agent en arrière-plan imbriqué qui se termine après la fin de son lanceur signale à votre conversation principale à la place.

1059 1062 

1060Pour modifier la limite, définissez [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/fr/env-vars) au nombre de niveaux de sous-agent que vous souhaitez en dessous de votre conversation principale. Par exemple, cette entrée dans [`settings.json`](/docs/fr/settings) limite l'imbrication à deux niveaux :1063Pour modifier la limite, définissez [`CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH`](/docs/fr/env-vars) au nombre de niveaux de sous-agent que vous souhaitez en dessous de votre conversation principale. Par exemple, cette entrée dans [`settings.json`](/docs/fr/settings) limite l'imbrication à deux niveaux :

1061 1064 


1109 1112 

1110* **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.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.

1111* **Message de tâche** : l'invite de délégation que Claude écrit lorsqu'il confie le travail.1114* **Message de tâche** : l'invite de délégation que Claude écrit lorsqu'il confie le travail.

1112* **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`, et les fichiers de politique gérés. Les agents Explore et Plan intégrés ignorent cela.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).

1113* **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.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.

1114* **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.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.

1115* **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.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.

1116 1119 

1117Explore et Plan sont les seuls sous-agents qui omettent CLAUDE.md et le statut git. Il n'y a pas de champ frontmatter ou de paramètre par agent pour modifier les agents qui les ignorent.1120Pour lancer l'un de vos propres sous-agents sans les fichiers CLAUDE.md de l'utilisateur, du projet et locaux, définissez [`omitClaudeMd: true`](#supported-frontmatter-fields) dans son frontmatter ou `--agents` JSON.

1121 

1122La conversation principale a toujours votre CLAUDE.md complet lorsqu'elle lit les résultats de ces sous-agents, de sorte que la plupart des règles n'ont pas besoin d'atteindre le sous-agent lui-même. Si une règle doit le faire, comme « ignorer le répertoire `vendor/` », reformulez-la dans l'invite que vous donnez à Claude lors de la délégation.

1118 1123 

1119La conversation principale lit les résultats d'Explore et Plan avec le contexte CLAUDE.md complet, donc la plupart des règles n'ont pas besoin d'atteindre le sous-agent lui-même. Si une règle doit le faire, comme « ignorer le répertoire `vendor/` », reformulez-la dans l'invite que vous donnez à Claude lors de la délégation.1124Vous ne pouvez pas modifier les sous-agents qui reçoivent le statut git. Seuls Explore et Plan l'ignorent.

1120 1125 

1121Certains états de la conversation principale n'atteignent jamais un sous-agent non-fork :1126Certains états de la conversation principale n'atteignent jamais un sous-agent non-fork :

1122 1127 

Details

126 Configurer tmux126 Configurer tmux

127</h2>127</h2>

128 128 

129Quand Claude Code s'exécute dans tmux, deux choses ne fonctionnent pas par défaut : Shift+Entrée soumet au lieu d'insérer une nouvelle ligne, et les notifications de bureau et la [barre de progression](/docs/fr/settings-reference#terminalprogressbarenabled) n'atteignent jamais le terminal externe. Ajoutez ces lignes à `~/.tmux.conf`, puis exécutez `tmux source-file ~/.tmux.conf` pour les appliquer au serveur en cours d'exécution :129Quand Claude Code s'exécute dans tmux, par défaut Shift+Entrée soumet au lieu d'insérer une nouvelle ligne, et les notifications de bureau et la [barre de progression](/docs/fr/settings-reference#terminalprogressbarenabled) n'atteignent jamais le terminal externe. Ajoutez ces lignes à `~/.tmux.conf`, puis exécutez `tmux source-file ~/.tmux.conf` pour les appliquer au serveur en cours d'exécution :

130 130 

131```bash ~/.tmux.conf theme={null}131```bash ~/.tmux.conf theme={null}

132set -g allow-passthrough on132set -g allow-passthrough on

Details

47| `ScheduleWakeup` | Reprogramme la prochaine itération d'une [`/loop` auto-rythmée](/docs/fr/scheduled-tasks#let-claude-choose-the-interval). Claude l'appelle à la fin de chaque itération pour choisir quand la prochaine s'exécute, entre une minute et une heure ; vous ne l'appelez pas directement. Pour terminer la boucle à la place, Claude l'appelle avec `stop: true`, ce qui annule le réveil en attente. Le champ `stop` nécessite Claude Code v2.1.202 ou ultérieur. Le réveil en attente apparaît dans `session_crons` dans [Entrée du hook Stop](/docs/fr/hooks#stop-input) | Non |47| `ScheduleWakeup` | Reprogramme la prochaine itération d'une [`/loop` auto-rythmée](/docs/fr/scheduled-tasks#let-claude-choose-the-interval). Claude l'appelle à la fin de chaque itération pour choisir quand la prochaine s'exécute, entre une minute et une heure ; vous ne l'appelez pas directement. Pour terminer la boucle à la place, Claude l'appelle avec `stop: true`, ce qui annule le réveil en attente. Le champ `stop` nécessite Claude Code v2.1.202 ou ultérieur. Le réveil en attente apparaît dans `session_crons` dans [Entrée du hook Stop](/docs/fr/hooks#stop-input) | Non |

48| `SendFeedback` | Rédige un rapport de rétroaction sur Claude Code, couvrant un problème de produit ou le comportement de Claude lui-même dans la session, et le met en file d'attente sur votre machine pour que vous le révisiez. Claude Code n'envoie rien jusqu'à ce que vous choisissiez d'envoyer le brouillon. Consultez [Comportement de l'outil SendFeedback](#sendfeedback-tool-behavior). Nécessite Claude Code v2.1.238 ou ultérieur | Non |48| `SendFeedback` | Rédige un rapport de rétroaction sur Claude Code, couvrant un problème de produit ou le comportement de Claude lui-même dans la session, et le met en file d'attente sur votre machine pour que vous le révisiez. Claude Code n'envoie rien jusqu'à ce que vous choisissiez d'envoyer le brouillon. Consultez [Comportement de l'outil SendFeedback](#sendfeedback-tool-behavior). Nécessite Claude Code v2.1.238 ou ultérieur | Non |

49| `SendMessage` | Envoie un message à un autre agent : un [coéquipier d'équipe d'agents](/docs/fr/agent-teams), un [sous-agent qu'il reprend](/docs/fr/sub-agents#resume-subagents) par ID ou nom d'agent, ou l'une de vos autres sessions Claude Code, sur cette machine ou au-delà. La messagerie d'autres sessions nécessite Claude Code v2.1.224 ou ultérieur. La [messagerie inter-sessions](/docs/fr/cross-session-messaging) couvre les sessions que Claude peut atteindre, [à quoi ressemble un message quand il arrive](/docs/fr/cross-session-messaging#what-a-message-looks-like), et [comment Claude reçoit un avis quand une autre session devient inactive](/docs/fr/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude peut inclure une entrée `summary` optionnelle, généralement 5-10 mots, que Claude Code affiche comme un aperçu d'une ligne. Quand Claude l'omet sur un [message en texte brut](/docs/fr/cross-session-messaging#limitations), Claude Code utilise la première ligne du message comme résumé. Claude Code tronque un résumé plus long que 200 caractères avec des points de suspension | Non |49| `SendMessage` | Envoie un message à un autre agent : un [coéquipier d'équipe d'agents](/docs/fr/agent-teams), un [sous-agent qu'il reprend](/docs/fr/sub-agents#resume-subagents) par ID ou nom d'agent, ou l'une de vos autres sessions Claude Code, sur cette machine ou au-delà. La messagerie d'autres sessions nécessite Claude Code v2.1.224 ou ultérieur. La [messagerie inter-sessions](/docs/fr/cross-session-messaging) couvre les sessions que Claude peut atteindre, [à quoi ressemble un message quand il arrive](/docs/fr/cross-session-messaging#what-a-message-looks-like), et [comment Claude reçoit un avis quand une autre session devient inactive](/docs/fr/cross-session-messaging#get-a-notice-when-another-session-goes-idle). Claude peut inclure une entrée `summary` optionnelle, généralement 5-10 mots, que Claude Code affiche comme un aperçu d'une ligne. Quand Claude l'omet sur un [message en texte brut](/docs/fr/cross-session-messaging#limitations), Claude Code utilise la première ligne du message comme résumé. Claude Code tronque un résumé plus long que 200 caractères avec des points de suspension | Non |

50| `SendUserFile` | Envoie les fichiers de la session vers vous avec une légende optionnelle, afin qu'un rapport généré, un diagramme, une capture d'écran ou un artefact construit atteigne votre appareil au lieu d'être seulement mentionné dans la transcription. À partir de v2.1.196, l'entrée `display` optionnelle contrôle la présentation : `render` ouvre le fichier en ligne dans le client, `attach` affiche une carte de téléchargement uniquement, et quand elle n'est pas définie, le client décide par type de fichier. Disponible quand un client [Remote Control](/docs/fr/remote-control) est connecté ou la session s'exécute dans un environnement cloud géré tel que [Claude Code sur le web](/docs/fr/claude-code-on-the-web). La livraison s'effectue via l'infrastructure hébergée par Anthropic, donc l'outil n'est pas disponible sur Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry | Non |50| `SendUserFile` | Envoie les fichiers de la session vers vous avec une légende optionnelle, afin qu'un rapport généré, un diagramme, une capture d'écran ou un artefact construit atteigne votre appareil au lieu d'être seulement mentionné dans la transcription. À partir de v2.1.196, l'entrée `display` optionnelle contrôle la présentation : `render` ouvre le fichier en ligne dans le client, `attach` affiche une carte de téléchargement uniquement, et quand elle n'est pas définie, le client décide par type de fichier. Disponible quand un client [Remote Control](/docs/fr/remote-control) est connecté ou dans une [session cloud](/docs/fr/claude-code-on-the-web). La livraison s'effectue via l'infrastructure hébergée par Anthropic, donc l'outil n'est pas disponible sur Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry | Non |

51| `ShareOnboardingGuide` | Télécharge `ONBOARDING.md` et retourne un lien de partage que les coéquipiers peuvent ouvrir dans Claude Code. Appelé depuis `/team-onboarding` après que le guide soit écrit. Disponible pour les abonnés claude.ai sur les plans Pro, Max, Team et Enterprise | Oui |51| `ShareOnboardingGuide` | Télécharge `ONBOARDING.md` et retourne un lien de partage que les coéquipiers peuvent ouvrir dans Claude Code. Appelé depuis `/team-onboarding` après que le guide soit écrit. Disponible pour les abonnés claude.ai sur les plans Pro, Max, Team et Enterprise | Oui |

52| `Skill` | Exécute une [skill](/docs/fr/skills#control-who-invokes-a-skill) dans la conversation principale | Oui |52| `Skill` | Exécute une [skill](/docs/fr/skills#control-who-invokes-a-skill) dans la conversation principale | Oui |

53| `SubagentHandback` | Livre le rapport final d'un sous-agent à la conversation qui reçoit le résultat de ce sous-agent. Fourni uniquement en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), aux sous-agents que l'outil Agent exécute localement autres que les [forks](/docs/fr/sub-agents#fork-the-current-conversation), et disponible dans le CLI terminal, les extensions IDE, les sessions cloud et le SDK Agent ; le classificateur examine le rapport avant qu'il soit livré. Nécessite Claude Code v2.1.271 ou ultérieur | Non |

53| `TaskCreate` | Crée une nouvelle tâche dans la liste des tâches. Fourni par défaut uniquement sur les modèles listés sous [Disponibilité de l'outil Task](#task-tool-availability), et sur d'autres modèles quand vous acceptez | Non |54| `TaskCreate` | Crée une nouvelle tâche dans la liste des tâches. Fourni par défaut uniquement sur les modèles listés sous [Disponibilité de l'outil Task](#task-tool-availability), et sur d'autres modèles quand vous acceptez | Non |

54| `TaskGet` | Récupère les détails complets d'une tâche spécifique. Fourni par défaut uniquement sur les modèles listés sous [Disponibilité de l'outil Task](#task-tool-availability), et sur d'autres modèles quand vous acceptez | Non |55| `TaskGet` | Récupère les détails complets d'une tâche spécifique. Fourni par défaut uniquement sur les modèles listés sous [Disponibilité de l'outil Task](#task-tool-availability), et sur d'autres modèles quand vous acceptez | Non |

55| `TaskList` | Liste toutes les tâches avec leur statut actuel. Fourni par défaut uniquement sur les modèles listés sous [Disponibilité de l'outil Task](#task-tool-availability), et sur d'autres modèles quand vous acceptez | Non |56| `TaskList` | Liste toutes les tâches avec leur statut actuel. Fourni par défaut uniquement sur les modèles listés sous [Disponibilité de l'outil Task](#task-tool-availability), et sur d'autres modèles quand vous acceptez | Non |


99 Comportement de l'outil Agent100 Comportement de l'outil Agent

100</h2>101</h2>

101 102 

102L'outil Agent lance un sous-agent dans une fenêtre de contexte séparée. Le sous-agent travaille de manière autonome sur sa tâche, puis retourne un seul résultat textuel à la conversation parent. Le parent ne voit pas les appels d'outils intermédiaires ou les résultats du sous-agent, seulement ce résultat final. Avec les [équipes d'agents](/docs/fr/agent-teams) activées, un appel qui porte un `name` peut lancer un [coéquipier](/docs/fr/agent-teams#how-claude-starts-agent-teams) à la place, qui rend compte via des messages d'équipe plutôt que de retourner un résultat.103L'outil Agent lance un sous-agent dans une fenêtre de contexte séparée. Le sous-agent travaille de manière autonome sur sa tâche, puis retourne son résultat à la conversation parent. Le parent ne voit pas les appels d'outils intermédiaires ou les résultats du sous-agent, seulement ce résultat final. Avec les [équipes d'agents](/docs/fr/agent-teams) activées, un appel qui porte un `name` peut lancer un [coéquipier](/docs/fr/agent-teams#how-claude-starts-agent-teams) à la place, qui rend compte via des messages d'équipe plutôt que de retourner un résultat.

103 104 

104Pour limiter le nombre de tours qu'un sous-agent exécute, définissez `maxTurns` dans la [définition du sous-agent](/docs/fr/sub-agents#supported-frontmatter-fields). Lorsque le sous-agent atteint la limite, Claude Code marque le résultat retourné comme résultat partiel, et Claude peut [reprendre le sous-agent](/docs/fr/sub-agents#resume-subagents) pour continuer.105Pour limiter le nombre de tours qu'un sous-agent exécute, définissez `maxTurns` dans la [définition du sous-agent](/docs/fr/sub-agents#supported-frontmatter-fields). Lorsque le sous-agent atteint la limite, Claude Code marque le résultat retourné comme résultat partiel, et Claude peut [reprendre le sous-agent](/docs/fr/sub-agents#resume-subagents) pour continuer.

105 106 


112* **`disallowedTools` uniquement** : le sous-agent obtient chaque outil parent sauf ceux listés.113* **`disallowedTools` uniquement** : le sous-agent obtient chaque outil parent sauf ceux listés.

113* **Les deux définis** : `disallowedTools` a la priorité. Un outil listé dans les deux est supprimé.114* **Les deux définis** : `disallowedTools` a la priorité. Un outil listé dans les deux est supprimé.

114 115 

115Dans tous les cas, l'ensemble résolu est limité aux [outils disponibles pour les sous-agents](/docs/fr/sub-agents#available-tools) : un outil qui n'est pas disponible pour les sous-agents n'est jamais accordé, même s'il est listé dans `tools`.116Dans tous les cas, l'ensemble résolu est limité aux [outils disponibles pour les sous-agents](/docs/fr/sub-agents#available-tools) : un outil qui n'est pas disponible pour les sous-agents n'est jamais accordé, même s'il est listé dans `tools`. Lorsque les conditions dans l'entrée de la table d'outils `SubagentHandback` sont remplies, Claude Code donne également au sous-agent cet outil, même si vous l'omettez de `tools` ou le listez dans `disallowedTools`.

116 117 

117Si chaque entrée dans la liste `tools` d'un sous-agent ne correspond pas à un outil utilisable, l'outil Agent retourne généralement une erreur nommant les entrées au lieu de lancer le sous-agent ; voir [Agent would be spawned with zero tools](/docs/fr/errors#agent-would-be-spawned-with-zero-tools) pour le message et comment corriger chaque entrée.118Si chaque entrée dans la liste `tools` d'un sous-agent ne correspond pas à un outil utilisable, l'outil Agent retourne généralement une erreur nommant les entrées au lieu de lancer le sous-agent ; voir [Agent would be spawned with zero tools](/docs/fr/errors#agent-would-be-spawned-with-zero-tools) pour le message et comment corriger chaque entrée.

118 119 


363 364 

364Vous continuez à travailler dans la même session et Claude intervient quand un événement arrive.365Vous continuez à travailler dans la même session et Claude intervient quand un événement arrive.

365 366 

367Chaque surveillance que Claude démarre a une échéance : 5 minutes par défaut, au maximum 30 minutes, et au maximum 10 minutes dans une exécution [non-interactive](/docs/fr/headless) donnée avec un seul prompt avec `-p`.

368 

369À l'échéance, la surveillance se termine. Claude reçoit un avis, il peut donc redémarrer la surveillance si elle est toujours nécessaire.

370 

366Arrêtez une surveillance en demandant à Claude de l'annuler ou en terminant la session. Quand vous arrêtez un [sous-agent](/docs/fr/sub-agents) qui a démarré des moniteurs, par exemple à partir de `/tasks`, ces moniteurs s'arrêtent avec lui.371Arrêtez une surveillance en demandant à Claude de l'annuler ou en terminant la session. Quand vous arrêtez un [sous-agent](/docs/fr/sub-agents) qui a démarré des moniteurs, par exemple à partir de `/tasks`, ces moniteurs s'arrêtent avec lui.

367 372 

368Quand Monitor exécute une commande, il utilise les mêmes [règles de permission que Bash](/docs/fr/permissions#tool-specific-permission-rules), donc les motifs `allow` et `deny` que vous avez définis pour Bash s'appliquent ici aussi. Tandis que le [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) est actif, Claude Code met de côté les règles d'autorisation qui nomment `Monitor` lui-même, ainsi que les autres [règles d'autorisation larges qu'il abandonne](/docs/fr/permission-modes#how-the-classifier-evaluates-actions), donc le classificateur examine les commandes Monitor de la même manière qu'il examine les commandes Bash.373Quand Monitor exécute une commande, il utilise les mêmes [règles de permission que Bash](/docs/fr/permissions#tool-specific-permission-rules), donc les motifs `allow` et `deny` que vous avez définis pour Bash s'appliquent ici aussi. Tandis que le [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) est actif, Claude Code met de côté les règles d'autorisation qui nomment `Monitor` lui-même, ainsi que les autres [règles d'autorisation larges qu'il abandonne](/docs/fr/permission-modes#how-the-classifier-evaluates-actions), donc le classificateur examine les commandes Monitor de la même manière qu'il examine les commandes Bash.


395| `url` | Oui | Le point de terminaison auquel se connecter. Doit être une URL `ws://` ou `wss://` sans identifiants ou espaces intégrés, utilisant uniquement des caractères ASCII |400| `url` | Oui | Le point de terminaison auquel se connecter. Doit être une URL `ws://` ou `wss://` sans identifiants ou espaces intégrés, utilisant uniquement des caractères ASCII |

396| `protocols` | Non | Noms de sous-protocole WebSocket à proposer lors de la poignée de main. Chaque entrée doit être un jeton de sous-protocole valide, et la liste ne peut pas contenir de doublons |401| `protocols` | Non | Noms de sous-protocole WebSocket à proposer lors de la poignée de main. Chaque entrée doit être un jeton de sous-protocole valide, et la liste ne peut pas contenir de doublons |

397 402 

398Les entrées `timeout_ms` et `persistent` se comportent de la même manière que pour une commande : la surveillance se termine à l'échéance sauf si `persistent` est défini, et `TaskStop` l'annule plus tôt.403L'échéance `timeout_ms` s'applique également à une surveillance WebSocket : la surveillance se termine à l'échéance, et `TaskStop` l'annule plus tôt.

399 404 

400L'ouverture d'un WebSocket demande une approbation ; en [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) le classificateur décide à la place. L'invite n'offre pas d'option pour ignorer les futures invites pour le même hôte.405L'ouverture d'un WebSocket demande une approbation ; en [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) le classificateur décide à la place. L'invite n'offre pas d'option pour ignorer les futures invites pour le même hôte.

401 406 


609 614 

610Quelques comportements façonnent la réponse que Claude reçoit :615Quelques comportements façonnent la réponse que Claude reçoit :

611 616 

617* WebFetch refuse `localhost` et tout autre nom d'hôte sans point, comme un nom d'intranet nu, avant de faire une demande. L'[erreur qu'il retourne](/docs/fr/errors#webfetch-cannot-fetch-localhost) dit à Claude d'atteindre les serveurs locaux avec `curl` via Bash à la place.

612* Les URL HTTP sont automatiquement mises à niveau vers HTTPS.618* Les URL HTTP sont automatiquement mises à niveau vers HTTPS.

613* Les grandes pages sont tronquées à une limite de caractères fixe avant le traitement.619* Les grandes pages sont tronquées à une limite de caractères fixe avant le traitement.

614* WebFetch met en cache chaque réponse pendant 15 minutes par défaut, donc les récupérations répétées de la même URL reviennent rapidement. Sur Claude Code v2.1.233 ou ultérieur, définissez [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/fr/env-vars#variables) pour modifier la durée pendant laquelle WebFetch conserve chaque réponse.620* WebFetch met en cache chaque réponse pendant 15 minutes par défaut, donc les récupérations répétées de la même URL reviennent rapidement. Sur Claude Code v2.1.233 ou ultérieur, définissez [`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/fr/env-vars#variables) pour modifier la durée pendant laquelle WebFetch conserve chaque réponse.

ultrareview.md +14 −7

Details

10 Ultrareview est une fonctionnalité en aperçu de recherche. La fonctionnalité, la tarification et la disponibilité peuvent changer en fonction des commentaires. La commande est `/code-review ultra`. Lorsque ultrareview est disponible pour votre compte, `/ultrareview` est un alias.10 Ultrareview est une fonctionnalité en aperçu de recherche. La fonctionnalité, la tarification et la disponibilité peuvent changer en fonction des commentaires. La commande est `/code-review ultra`. Lorsque ultrareview est disponible pour votre compte, `/ultrareview` est un alias.

11</Note>11</Note>

12 12 

13Ultrareview est une révision de code approfondie qui s'exécute sur Claude Code sur l'infrastructure web. Lorsque vous exécutez `/code-review ultra`, Claude Code lance une flotte d'agents examinateurs dans un sandbox distant pour trouver des bugs dans votre branche ou votre demande de fusion.13Ultrareview est une révision de code approfondie qui s'exécute en tant que [session cloud](/docs/fr/claude-code-on-the-web) sur l'infrastructure d'Anthropic. Lorsque vous exécutez `/code-review ultra`, Claude Code lance une flotte d'agents examinateurs dans un sandbox cloud pour trouver des bugs dans votre branche ou votre demande de fusion.

14 14 

15Comparé à un `/code-review` local, ultrareview offre :15Comparé à un `/code-review` local, ultrareview offre :

16 16 

17* **Signal plus élevé** : chaque constatation signalée est indépendamment reproduite et vérifiée, de sorte que les résultats se concentrent sur les bugs réels plutôt que sur les suggestions de style17* **Signal plus élevé** : chaque constatation signalée est indépendamment reproduite et vérifiée, de sorte que les résultats se concentrent sur les bugs réels plutôt que sur les suggestions de style

18* **Couverture plus large** : une flotte plus importante d'agents examinateurs explore le changement en parallèle, ce qui met en évidence les problèmes qu'une révision locale pourrait manquer18* **Couverture plus large** : une flotte plus importante d'agents examinateurs explore le changement en parallèle, ce qui met en évidence les problèmes qu'une révision locale pourrait manquer

19* **Aucune utilisation de ressources locales** : la révision s'exécute entièrement dans un sandbox distant, de sorte que votre terminal reste libre pour d'autres travaux pendant qu'elle s'exécute19* **Aucune utilisation de ressources locales** : la révision s'exécute entièrement dans un sandbox cloud, de sorte que votre terminal reste libre pour d'autres travaux pendant qu'elle s'exécute

20 20 

21Ultrareview nécessite une authentification avec un compte claude.ai car il s'exécute sur Claude Code sur l'infrastructure web. 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 à partir de la CLI


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

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

81 81 

82Claude Code ne publie pas depuis votre machine. Il envoie les résultats à une session sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web), qui publie le 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. Parce que la publication s'exécute via Claude Code sur le web, elle n'est pas disponible sur les fournisseurs tiers ou lorsque vous définissez [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars).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).

83 83 

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

85 85 

86Lorsque la publication ne peut pas démarrer pendant que votre session est ouverte, Claude vous dit que rien n'a été envoyé à la PR et pourquoi, et les résultats restent dans votre terminal afin que vous puissiez les publier à la main.86Lorsque la publication se termine, Claude vous indique le résultat :

87 

88* **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.

90* **Échoué** : Claude vous indique pourquoi, et les résultats restent dans votre terminal afin que vous puissiez les publier à la main.

87 91 

88<h3 id="pass-a-request-in-plain-words">92<h3 id="pass-a-request-in-plain-words">

89 Transmettre une demande en langage simple93 Transmettre une demande en langage simple


185 189 

186Si vous interrompez la sous-commande, la révision distante continue de s'exécuter ; suivez l'URL de session imprimée sur stderr pour la regarder dans le navigateur.190Si vous interrompez la sous-commande, la révision distante continue de s'exécuter ; suivez l'URL de session imprimée sur stderr pour la regarder dans le navigateur.

187 191 

188Avec `--post`, la sous-commande démarre la publication immédiatement après avoir imprimé les constatations. Si l'exécution échoue, expire ou que vous l'interrompez, la sous-commande ne publie rien. Si la révision se termine mais que la publication ne peut pas démarrer, Claude Code imprime la raison sur stderr, et les constatations restent sur stdout afin que vous puissiez les publier manuellement.192Avec `--post`, la sous-commande démarre la publication immédiatement après avoir imprimé les constatations, et imprime le lien sur stderr.

193 

194* Si l'exécution échoue, expire ou que vous l'interrompez, la sous-commande ne publie rien.

195* Si la révision se termine mais que le commentaire n'est pas publié, Claude Code imprime la raison sur stderr, et les constatations restent sur stdout afin que vous puissiez les publier manuellement.

189 196 

190Pour les révisions automatiques sur les demandes de fusion GitHub, [Code Review](/docs/fr/code-review) s'intègre directement à votre référentiel et publie les constatations sous forme de commentaires PR en ligne sans étape CLI.197Pour les révisions automatiques sur les demandes de fusion GitHub, [Code Review](/docs/fr/code-review) s'intègre directement à votre référentiel et publie les constatations sous forme de commentaires PR en ligne sans étape CLI.

191 198 


198| | `/code-review` | `/code-review ultra` |205| | `/code-review` | `/code-review ultra` |

199| ---------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |206| ---------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ |

200| Cible | votre diff de travail, une pull request, une branche ou un chemin | votre diff de travail ou une pull request |207| Cible | votre diff de travail, une pull request, une branche ou un chemin | votre diff de travail ou une pull request |

201| S'exécute | localement dans votre session | à distance dans un sandbox cloud |208| S'exécute | localement dans votre session | dans un sandbox cloud |

202| Profondeur | s'adapte à l'argument effort | flotte multi-agents avec vérification indépendante |209| Profondeur | s'adapte à l'argument effort | flotte multi-agents avec vérification indépendante |

203| Durée | secondes à quelques minutes | environ 5 à 10 minutes |210| Durée | secondes à quelques minutes | environ 5 à 10 minutes |

204| Coût | compte vers l'utilisation normale | exécutions gratuites, puis environ 5 à 25 dollars par révision en tant que crédits d'utilisation |211| Coût | compte vers l'utilisation normale | exécutions gratuites, puis environ 5 à 25 dollars par révision en tant que crédits d'utilisation |

Details

17La dictée vocale envoie votre audio enregistré aux serveurs d'Anthropic pour la transcription. L'audio n'est pas traité localement. Elle nécessite tous les éléments suivants :17La dictée vocale envoie votre audio enregistré aux serveurs d'Anthropic pour la transcription. L'audio n'est pas traité localement. Elle nécessite tous les éléments suivants :

18 18 

19* **Un compte Claude.ai** : le service de reconnaissance vocale n'est disponible que lorsque vous vous authentifiez avec un compte, et n'est pas disponible lorsque Claude Code est configuré pour utiliser directement une clé API Anthropic, Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.19* **Un compte Claude.ai** : le service de reconnaissance vocale n'est disponible que lorsque vous vous authentifiez avec un compte, et n'est pas disponible lorsque Claude Code est configuré pour utiliser directement une clé API Anthropic, Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry.

20* **Un microphone local** : la dictée vocale ne fonctionne pas dans les environnements distants tels que [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ou les sessions SSH.20* **Un microphone local** : la dictée vocale ne fonctionne pas dans les [sessions cloud](/docs/fr/claude-code-on-the-web) ou les sessions SSH.

21* **WSLg, si vous exécutez Claude Code dans WSL** : WSLg est inclus avec WSL2 lorsqu'il est installé à partir du Microsoft Store sur Windows 10 ou 11. Si WSLg n'est pas disponible, par exemple sur WSL1, exécutez Claude Code en Windows natif à la place.21* **WSLg, si vous exécutez Claude Code dans WSL** : WSLg est inclus avec WSL2 lorsqu'il est installé à partir du Microsoft Store sur Windows 10 ou 11. Si WSLg n'est pas disponible, par exemple sur WSL1, exécutez Claude Code en Windows natif à la place.

22 22 

23La transcription ne consomme pas de messages Claude ni de jetons et ne compte pas vers les limites affichées dans `/usage`. Consultez [utilisation des données](/docs/fr/data-usage) pour savoir comment Anthropic traite vos données.23La transcription ne consomme pas de messages Claude ni de jetons et ne compte pas vers les limites affichées dans `/usage`. Consultez [utilisation des données](/docs/fr/data-usage) pour savoir comment Anthropic traite vos données.

vs-code.md +16 −3

Details

125 125 

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

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

128 

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.

128* **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.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.

129* **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.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.

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.

133 * Jusqu'à ce que le compte à rebours s'épuise, 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).

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.

130* **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.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.

131 137 

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


146 152 

147Pour les grands PDF, vous pouvez demander à Claude de lire des pages spécifiques au lieu du fichier entier : une seule page, une plage comme les pages 1-10, ou une plage ouverte comme la page 3 et au-delà.153Pour les grands PDF, vous pouvez demander à Claude de lire des pages spécifiques au lieu du fichier entier : une seule page, une plage comme les pages 1-10, ou une plage ouverte comme la page 3 et au-delà.

148 154 

149Lorsque 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 ou basculez vers un fichier différent.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.

156 

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.

150 158 

151Pour 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.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.

152 160 


191</Steps>199</Steps>

192 200 

193<Note>201<Note>

194 Only web 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.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.

195</Note>203</Note>

196 204 

197<h3 id="check-account-and-usage">205<h3 id="check-account-and-usage">


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

451| `preferredLocation` | `panel` | Où Claude s'ouvre : `sidebar` (droite) ou `panel` (nouvel onglet) |459| `preferredLocation` | `panel` | Où Claude s'ouvre : `sidebar` (droite) ou `panel` (nouvel onglet) |

452| `autosave` | `true` | Enregistrement automatique des fichiers avant que Claude les lise ou les écrive |460| `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 |

453| `useCtrlEnterToSend` | `false` | Utilisez Ctrl/Cmd+Entrée au lieu d'Entrée pour envoyer les invites |462| `useCtrlEnterToSend` | `false` | Utilisez Ctrl/Cmd+Entrée au lieu d'Entrée pour envoyer les invites |

454| `enableNewConversationShortcut` | `false` | Activez Cmd/Ctrl+N pour démarrer une nouvelle conversation |463| `enableNewConversationShortcut` | `false` | Activez Cmd/Ctrl+N pour démarrer une nouvelle conversation |

455| `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. |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. |


623 632 

624Le serveur est nommé `ide` et est masqué de `/mcp` car il n'y a rien à configurer. Si votre organisation utilise un hook `PreToolUse` pour créer une liste d'autorisation des outils MCP, vous devrez cependant savoir qu'il existe.633Le serveur est nommé `ide` et est masqué de `/mcp` car il n'y a rien à configurer. Si votre organisation utilise un hook `PreToolUse` pour créer une liste d'autorisation des outils MCP, vous devrez cependant savoir qu'il existe.

625 634 

626**Contexte de sélection et de fichier ouvert.** Lors de la connexion, le CLI inclut votre sélection d'éditeur actuelle et le chemin du fichier actif comme contexte sur chaque invite que vous envoyez. La transcription affiche une ligne `⧉ Selected N lines from <file>` lorsque cela se produit. Pour exclure un fichier sensible tel que `.env`, ajoutez une [règle de refus `Read`](/docs/fr/permissions#read-and-edit) pour son chemin. Une règle de refus correspondante empêche à la fois le texte sélectionné et l'avis de fichier ouvert pour ce fichier d'atteindre Claude.635**Contexte de sélection et de fichier ouvert.** Lors de la connexion, le CLI inclut votre sélection d'éditeur actuelle et le chemin du fichier actif comme contexte sur chaque invite que vous envoyez. La transcription affiche une ligne `⧉ Selected N lines from <file>` lorsque cela se produit.

636 

637Pour exclure un fichier sensible tel que `.env`, ajoutez une [règle de refus `Read`](/docs/fr/permissions#read-and-edit) pour son chemin. Une règle de refus correspondante empêche à la fois le texte sélectionné et l'avis de fichier ouvert pour ce fichier d'atteindre Claude.

638 

639Si vous désactivez le [paramètre Attacher le fichier ouvert](#extension-settings), le CLI reçoit le chemin du fichier actif uniquement lorsque vous avez du texte sélectionné dedans.

627 640 

628**Transport et authentification.** Le serveur se lie à `127.0.0.1` sur un port aléatoire dans la plage 10000–65535, et le port n'est pas configurable. Le transport est un `ws://` non chiffré ; comme la socket est en boucle locale uniquement, tout processus qui pourrait capturer le trafic peut également lire le jeton du fichier de verrouillage, donc TLS n'ajouterait pas de protection. Chaque activation d'extension génère un jeton d'authentification aléatoire frais, l'écrit dans un fichier de verrouillage à `~/.claude/ide/<port>.lock`, et le CLI doit le présenter comme l'en-tête `X-Claude-Code-Ide-Authorization` pour se connecter. Le fichier de verrouillage a des autorisations `0600` dans un répertoire `0700`, donc seul l'utilisateur exécutant VS Code peut le lire. Si `CLAUDE_CONFIG_DIR` est défini, le fichier de verrouillage est écrit dans `$CLAUDE_CONFIG_DIR/ide/` à la place.641**Transport et authentification.** Le serveur se lie à `127.0.0.1` sur un port aléatoire dans la plage 10000–65535, et le port n'est pas configurable. Le transport est un `ws://` non chiffré ; comme la socket est en boucle locale uniquement, tout processus qui pourrait capturer le trafic peut également lire le jeton du fichier de verrouillage, donc TLS n'ajouterait pas de protection. Chaque activation d'extension génère un jeton d'authentification aléatoire frais, l'écrit dans un fichier de verrouillage à `~/.claude/ide/<port>.lock`, et le CLI doit le présenter comme l'en-tête `X-Claude-Code-Ide-Authorization` pour se connecter. Le fichier de verrouillage a des autorisations `0600` dans un répertoire `0700`, donc seul l'utilisateur exécutant VS Code peut le lire. Si `CLAUDE_CONFIG_DIR` est défini, le fichier de verrouillage est écrit dans `$CLAUDE_CONFIG_DIR/ide/` à la place.

629 642 

web-quickstart.md +33 −27

Details

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

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

4 4 

5# Démarrer avec Claude Code sur le web5# Démarrer avec Claude Code dans le cloud

6 6 

7> Exécutez Claude Code dans le cloud depuis votre navigateur ou téléphone. Connectez un référentiel GitHub, soumettez une tâche et examinez la PR sans configuration locale.7> Exécutez Claude Code dans le cloud depuis votre navigateur ou téléphone. Connectez un référentiel GitHub, soumettez une tâche et examinez la PR sans configuration locale.

8 8 

9<Note>9<Note>

10 Claude Code sur le web est en aperçu de recherche pour les utilisateurs Pro, Max et Team, ainsi que pour les utilisateurs Enterprise disposant de sièges premium ou de sièges Chat + Claude Code.10 Les sessions cloud sont en aperçu de recherche pour les utilisateurs Pro, Max et Team, ainsi que pour les utilisateurs Enterprise disposant de sièges premium ou de sièges Chat + Claude Code.

11</Note>11</Note>

12 12 

13Claude Code sur le web s'exécute sur l'infrastructure cloud gérée par Anthropic au lieu de votre machine. Soumettez des tâches depuis [claude.ai/code](https://claude.ai/code) dans votre navigateur ou l'application mobile Claude.13Une session cloud exécute Claude Code sur l'infrastructure cloud au lieu de votre machine, gérée par Anthropic par défaut. Ce guide de démarrage rapide en lance une depuis [claude.ai/code](https://claude.ai/code) dans votre navigateur. Vous pouvez également en lancer une depuis l'application mobile Claude, l'application Desktop, ou votre terminal avec `claude --cloud`.

14 14 

15Vous aurez besoin d'un référentiel GitHub pour [démarrer](#connect-github). Claude le clone dans une machine virtuelle isolée, effectue des modifications et pousse une branche pour que vous la révisiez. Les sessions persistent sur les appareils, donc une tâche que vous commencez sur votre ordinateur portable est prête à être examinée depuis votre téléphone plus tard.15Vous aurez besoin d'un référentiel GitHub pour [démarrer](#connect-github). Claude le clone dans une machine virtuelle isolée, effectue des modifications et pousse une branche pour que vous la révisiez. Les sessions persistent sur les appareils, donc une tâche que vous commencez sur votre ordinateur portable est prête à être examinée depuis votre téléphone plus tard.

16 16 

17Claude Code sur le web fonctionne bien pour :17Les sessions cloud fonctionnent bien pour :

18 18 

19* **Tâches parallèles** : exécutez plusieurs tâches indépendantes à la fois, chacune dans sa propre session et branche, sans gérer plusieurs worktrees19* **Tâches parallèles** : exécutez plusieurs tâches indépendantes à la fois, chacune dans sa propre session et branche, sans gérer plusieurs worktrees

20* **Référentiels que vous n'avez pas localement** : Claude clone le référentiel à nouveau à chaque session, vous n'avez donc pas besoin de l'avoir extrait20* **Référentiels que vous n'avez pas localement** : Claude clone le référentiel à nouveau à chaque session, vous n'avez donc pas besoin de l'avoir extrait


40 Comparer les façons d'exécuter Claude Code40 Comparer les façons d'exécuter Claude Code

41</h2>41</h2>

42 42 

43Claude Code se comporte de la même manière partout. Ce qui change, c'est où le code s'exécute et si votre configuration locale est disponible. L'application Desktop offre à la fois des sessions locales et cloud, donc ses réponses ci-dessous dépendent de celle que vous choisissez :43Claude Code se comporte de la même manière partout. Ce qui change, c'est où la session s'exécute et si votre configuration locale est disponible :

44 44 

45| | Sur le web | Remote Control | Terminal CLI | Application Desktop |45| | Session cloud | Session locale | Session locale avec [Remote Control](/docs/fr/remote-control) |

46| :-------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ | :--------------------------------------------------------- | :---------------------- | :--------------------------------- |46| :-------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------- |

47| **Le code s'exécute sur** | VM cloud, gérée par Anthropic par défaut | Votre machine | Votre machine | Votre machine ou VM cloud |47| **Le code s'exécute sur** | VM cloud, gérée par Anthropic par défaut | Votre machine | Votre machine |

48| **Vous discutez depuis** | claude.ai ou application mobile | claude.ai ou application mobile | Votre terminal | L'interface utilisateur Desktop |48| **Vous la démarrez depuis** | claude.ai/code, l'application mobile Claude, l'application Desktop avec **Cloud** sélectionné, ou `claude --cloud` | Votre terminal, votre IDE, ou l'application Desktop avec **Local** sélectionné | Votre terminal, l'extension VS Code, ou l'application Desktop |

49| **Utilise votre configuration locale** | Non, référentiel uniquement | Oui | Oui | Oui pour local, non pour cloud |49| **Vous discutez depuis** | claude.ai, l'application mobile, ou l'application Desktop | Où vous l'avez démarrée | claude.ai ou l'application mobile, ainsi que d'où vous l'avez démarrée |

50| **Nécessite GitHub** | Oui, ou [regroupez un référentiel local](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) via `--cloud` | Non | Non | Uniquement pour les sessions cloud |50| **Utilise votre configuration locale** | Non, référentiel uniquement | Oui | Oui |

51| **Continue de s'exécuter si vous vous déconnectez** | Oui | Tant que le terminal reste ouvert | Non | Dépend du type de session |51| **Nécessite GitHub** | Oui, ou [regroupez un référentiel local](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github) via `--cloud` | Non | Non |

52| **[Modes de permission](/docs/fr/permission-modes)** | Accepter les modifications, Plan, Auto | Demander, Accepter automatiquement les modifications, Plan | Tous les modes | Dépend du type de session |52| **Continue de s'exécuter si vous vous déconnectez** | Oui | Non | Tant que la session reste ouverte sur votre machine |

53| **Accès réseau** | Configurable par environnement | Réseau de votre machine | Réseau de votre machine | Dépend du type de session |53| **[Modes de permission](/docs/fr/permission-modes)** | Accepter les modifications, Plan, Auto | Tous les modes dans le terminal ; consultez [Changer les modes de permission](/docs/fr/permission-modes#switch-permission-modes) pour l'IDE et l'application Desktop | Manuel, Accepter les modifications, ou Plan depuis claude.ai et l'application mobile |

54| **Accès réseau** | Configurable par environnement | Réseau de votre machine | Réseau de votre machine |

54 55 

55Consultez la [documentation du démarrage rapide du terminal](/docs/fr/quickstart), [Application Desktop](/docs/fr/desktop) ou [Remote Control](/docs/fr/remote-control) pour les configurer.56Consultez la [documentation du démarrage rapide du terminal](/docs/fr/quickstart), [Application Desktop](/docs/fr/desktop), ou [Remote Control](/docs/fr/remote-control) pour configurer les sessions locales.

56 57 

57<h2 id="connect-github">58<h2 id="connect-github">

58 Connecter GitHub59 Connecter GitHub


66 67 

67<Steps>68<Steps>

68 <Step title="Visitez claude.ai/code">69 <Step title="Visitez claude.ai/code">

69 Allez à [claude.ai/code](https://claude.ai/code) et connectez-vous avec votre compte claude.ai. Sur macOS ou Windows, le premier écran propose l'application de bureau Claude Code et d'autres façons d'installer Claude Code. Pour rester dans le navigateur, cliquez sur **Continuer sur le web** en bas de la page.70 Allez à [claude.ai/code](https://claude.ai/code) et connectez-vous avec votre compte claude.ai.

70 </Step>71 </Step>

71 72 

72 <Step title="Se connecter avec GitHub">73 <Step title="Se connecter avec GitHub">

73 Après vous être connecté, claude.ai/code vous invite à connecter GitHub. Suivez l'invite, et claude.ai/code vous envoie à la page d'autorisation de GitHub. Approuvez la demande d'autorisation, et GitHub vous renvoie à claude.ai/code. Les sessions cloud fonctionnent avec les référentiels GitHub existants. Pour démarrer un nouveau projet, [créez d'abord un référentiel vide sur GitHub](https://github.com/new).74 Après vous être connecté, claude.ai/code vous invite à connecter GitHub. Suivez l'invite, et claude.ai/code vous envoie à la page d'autorisation de GitHub. Approuvez la demande d'autorisation, et GitHub vous renvoie à claude.ai/code. Les sessions cloud fonctionnent avec les référentiels GitHub existants. Pour démarrer un nouveau projet, [créez d'abord un référentiel vide sur GitHub](https://github.com/new).

74 75 

75 Avec cette connexion, une session peut cloner n'importe quel référentiel public, mais ne peut travailler dans un référentiel privé que lorsque l'application Claude GitHub est installée dessus. [Installez l'application](https://github.com/apps/claude/installations/new) sur chaque compte GitHub ou organisation dont vous souhaitez utiliser les référentiels privés. Sur une organisation GitHub, un propriétaire d'organisation peut avoir besoin d'approuver l'installation. L'installation de l'application active également [Correction automatique](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests), qui permet à Claude de répondre aux défaillances CI et aux commentaires d'examen sur les demandes de tirage dans ces référentiels.76 Avec cette connexion, une session peut cloner n'importe quel référentiel public, mais ne peut travailler dans un référentiel privé que lorsque l'application Claude GitHub est installée dessus. [Installez l'application Claude GitHub](https://github.com/apps/claude/installations/new) sur chaque compte GitHub ou organisation dont vous souhaitez utiliser les référentiels privés. Sur une organisation GitHub, un propriétaire d'organisation peut avoir besoin d'approuver l'installation. L'installation de l'application active également [Correction automatique](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests), qui permet à Claude de répondre aux défaillances CI et aux commentaires d'examen sur les demandes de tirage dans ces référentiels.

76 77 

77 Si l'intégration vous invite à installer l'application à ce stade et que vous préférez le faire plus tard, cliquez sur **Ignorer**.78 Si l'intégration vous invite à installer l'application Claude GitHub à ce stade et que vous préférez le faire plus tard, cliquez sur **Ignorer**.

78 </Step>79 </Step>

79 80 

80 <Step title="Configurez votre environnement par défaut">81 <Step title="Configurez votre environnement par défaut">


93 Connecter depuis votre terminal94 Connecter depuis votre terminal

94</h3>95</h3>

95 96 

96Si vous utilisez déjà la CLI GitHub (`gh`), vous pouvez configurer Claude Code sur le web depuis votre terminal. Cela nécessite la [CLI Claude Code](/docs/fr/quickstart). Sur les plans Team et Enterprise, `/web-setup` n'est disponible qu'après qu'un Propriétaire active [Configuration web rapide](/docs/fr/claude-code-on-the-web#github-authentication-options).97Si vous utilisez déjà la CLI GitHub (`gh`), vous pouvez connecter GitHub pour les sessions cloud depuis votre terminal. Cela nécessite la [CLI Claude Code](/docs/fr/quickstart). Sur les plans Team et Enterprise, `/web-setup` n'est disponible qu'après qu'un Propriétaire active [Configuration web rapide](/docs/fr/claude-code-on-the-web#github-authentication-options).

97 98 

98Lorsque vous exécutez `/web-setup`, Claude Code lit le jeton que `gh auth token` affiche, vous demande de confirmer, et envoie le jeton à Anthropic. Anthropic le stocke chiffré avec votre compte claude.ai, et vos sessions cloud l'utilisent pour l'accès GitHub jusqu'à ce que vous [le supprimiez](#remove-the-web-setup-token). Une session cloud peut alors accéder à n'importe quel référentiel que ce jeton peut accéder, sans installation de l'application Claude GitHub.99Lorsque vous exécutez `/web-setup`, Claude Code lit le jeton que `gh auth token` affiche, vous demande de confirmer, et envoie le jeton à Anthropic. Anthropic le stocke chiffré avec votre compte claude.ai, et vos sessions cloud l'utilisent pour l'accès GitHub jusqu'à ce que vous [le supprimiez](#remove-the-web-setup-token). Une session cloud que vous démarrez vous-même peut alors accéder à n'importe quel référentiel que ce jeton peut accéder, sans installation de l'application Claude GitHub. Les threads dans un [projet](/docs/fr/claude-projects#set-up-github-access) ont toujours besoin de l'application Claude GitHub.

99 100 

100Si vous avez déjà connecté GitHub dans le navigateur, `/web-setup` vous avertit que continuer remplace cette connexion pour vos sessions cloud.101Si vous avez déjà connecté GitHub dans le navigateur, `/web-setup` vous avertit que continuer remplace cette connexion pour vos sessions cloud.

101 102 


123 /web-setup124 /web-setup

124 ```125 ```

125 126 

126 Confirmez l'invite pour envoyer votre jeton `gh` à votre compte Claude. En cas de succès, Claude Code affiche `Connected as <your-github-username>` et ouvre [claude.ai/code](https://claude.ai/code) dans votre navigateur. Si vous n'avez pas encore d'environnement cloud, `/web-setup` en crée un avec accès réseau Trusted et aucun script de configuration. Vous pouvez [modifier l'environnement ou ajouter des variables](/docs/fr/cloud-environments#configure-your-environment) après. Une fois que `/web-setup` est terminé, vous pouvez démarrer des sessions cloud depuis votre terminal avec [`--cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-web) ou configurer des tâches récurrentes avec [`/schedule`](/docs/fr/routines).127 Confirmez l'invite pour envoyer votre jeton `gh` à votre compte Claude. En cas de succès, Claude Code affiche `Connected as <your-github-username>` et ouvre [claude.ai/code](https://claude.ai/code) dans votre navigateur. Si vous n'avez pas encore d'environnement cloud, `/web-setup` en crée un avec accès réseau Trusted et aucun script de configuration. Vous pouvez [modifier l'environnement ou ajouter des variables](/docs/fr/cloud-environments#configure-your-environment) après. Une fois que `/web-setup` est terminé, vous pouvez démarrer des sessions cloud depuis votre terminal avec [`--cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud) ou configurer des tâches récurrentes avec [`/schedule`](/docs/fr/routines).

127 </Step>128 </Step>

128</Steps>129</Steps>

129 130 


226 La page affiche uniquement un bouton de connexion GitHub227 La page affiche uniquement un bouton de connexion GitHub

227</h3>228</h3>

228 229 

229Les sessions cloud nécessitent un compte GitHub connecté. Connectez-vous via le flux du navigateur ci-dessus, ou exécutez `/web-setup` depuis votre terminal si vous utilisez la CLI GitHub. Si vous préférez ne pas connecter GitHub du tout, consultez [Remote Control](/docs/fr/remote-control) pour exécuter Claude Code sur votre propre machine et le surveiller depuis le web.230Les sessions cloud nécessitent un compte GitHub connecté. Connectez-vous via le flux du navigateur ci-dessus, ou exécutez `/web-setup` depuis votre terminal si vous utilisez la CLI GitHub. Si vous préférez ne pas connecter GitHub du tout, consultez [Remote Control](/docs/fr/remote-control) pour exécuter Claude Code sur votre propre machine et le surveiller depuis votre navigateur ou votre téléphone.

230 231 

231<h3 id="not-available-for-the-selected-organization">232<h3 id="not-available-for-the-selected-organization">

232 « Non disponible pour l'organisation sélectionnée »233 « Non disponible pour l'organisation sélectionnée »

233</h3>234</h3>

234 235 

235Les organisations Enterprise peuvent avoir besoin qu'un propriétaire active Claude Code sur le web. Contactez votre équipe de compte Anthropic.236Les organisations Enterprise peuvent avoir besoin qu'un propriétaire active les sessions cloud. Contactez votre équipe de compte Anthropic.

236 237 

237<h3 id="/web-setup-says-not-signed-in-to-claude">238<h3 id="/web-setup-says-not-signed-in-to-claude">

238 `/web-setup` indique « Non connecté à Claude »239 `/web-setup` indique « Non connecté à Claude »


252 253 

253`/web-setup` s'exécute à l'intérieur de la CLI Claude Code, pas votre shell. Lancez `claude` d'abord, puis tapez `/web-setup` à l'invite.254`/web-setup` s'exécute à l'intérieur de la CLI Claude Code, pas votre shell. Lancez `claude` d'abord, puis tapez `/web-setup` à l'invite.

254 255 

255Si vous l'avez tapé à l'intérieur de Claude Code et le menu de commandes affiche `Aucune commande ne correspond à "/web-setup"`, ou que le soumettre retourne `Commande inconnue : /web-setup`, la commande est masquée parce qu'une exigence n'est pas satisfaite. La cause est généralement que vous êtes authentifié avec une clé API ou un fournisseur tiers au lieu d'un abonnement claude.ai. Exécutez `/login` pour vous connecter avec votre compte claude.ai.256Si vous l'avez tapé à l'intérieur de Claude Code et le menu de commandes affiche `No commands match "/web-setup"`, ou que le soumettre retourne `Unknown command: /web-setup`, la commande est masquée parce qu'une exigence n'est pas satisfaite. La cause est généralement que vous êtes authentifié avec une clé API ou un fournisseur tiers au lieu d'un abonnement claude.ai. Exécutez `/login` pour vous connecter avec votre compte claude.ai.

256 257 

257Sur les plans Team et Enterprise, la commande est masquée par défaut : le [commutateur de configuration web rapide](/docs/fr/claude-code-on-the-web#github-authentication-options) est désactivé jusqu'à ce qu'un propriétaire l'active. Pendant qu'il est désactivé, [connectez GitHub depuis le navigateur](#connect-github) à la place. La commande est également masquée quand un administrateur a désactivé Claude Code sur le web pour votre organisation, ou quand votre organisation Enterprise a [Zero Data Retention](/docs/fr/zero-data-retention) activé, ce qui rend Claude Code sur le web indisponible.258Sur les plans Team et Enterprise, la commande est masquée par défaut : le [commutateur de configuration web rapide](/docs/fr/claude-code-on-the-web#github-authentication-options) est désactivé jusqu'à ce qu'un propriétaire l'active. Pendant qu'il est désactivé, [connectez GitHub depuis le navigateur](#connect-github) à la place.

259 

260La commande est également masquée dans deux autres cas :

261 

262* Un administrateur a désactivé les sessions cloud pour votre organisation. Dans ce cas, soumettre `/web-setup` retourne [`Cloud sessions are disabled by your organization's policy`](/docs/fr/errors#cloud-sessions-are-disabled-by-your-organizations-policy). Avant la v2.1.268, ce cas retournait également `Unknown command: /web-setup`.

263* Votre organisation Enterprise a [Zero Data Retention](/docs/fr/zero-data-retention) activé, ce qui rend les sessions cloud indisponibles.

258 264 

259<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-cloud">265<h3 id="could-not-create-a-cloud-environment-or-no-cloud-environment-available-when-using-cloud">

260 « Impossible de créer un environnement cloud » ou « Aucun environnement cloud disponible » lors de l'utilisation de `--cloud`266 « Impossible de créer un environnement cloud » ou « Aucun environnement cloud disponible » lors de l'utilisation de `--cloud`

261</h3>267</h3>

262 268 

263Les fonctionnalités de session à distance créent automatiquement un environnement cloud par défaut si vous n'en avez pas. Si vous voyez « Impossible de créer un environnement cloud », la création automatique a échoué. Si vous voyez « Aucun environnement cloud disponible », votre CLI est antérieur à la création automatique. Dans les deux cas, exécutez `/web-setup` dans la CLI Claude Code, ou ajoutez un environnement à partir du [sélecteur d'environnement](/docs/fr/cloud-environments#configure-your-environment) sur [claude.ai/code](https://claude.ai/code).269Les fonctionnalités de session cloud créent automatiquement un environnement cloud par défaut si vous n'en avez pas. Si vous voyez « Impossible de créer un environnement cloud », la création automatique a échoué. Si vous voyez « Aucun environnement cloud disponible », votre CLI est antérieur à la création automatique. Dans les deux cas, exécutez `/web-setup` dans la CLI Claude Code, ou ajoutez un environnement à partir du [sélecteur d'environnement](/docs/fr/cloud-environments#configure-your-environment) sur [claude.ai/code](https://claude.ai/code).

264 270 

265<h3 id="setup-script-failed">271<h3 id="setup-script-failed">

266 Le script de configuration a échoué272 Le script de configuration a échoué


302* [Configurer les environnements cloud](/docs/fr/cloud-environments) : niveaux d'accès réseau, variables d'environnement et scripts de configuration pour les sessions cloud308* [Configurer les environnements cloud](/docs/fr/cloud-environments) : niveaux d'accès réseau, variables d'environnement et scripts de configuration pour les sessions cloud

303* [Routines](/docs/fr/routines) : automatisez le travail selon un calendrier, via un appel API ou en réponse aux événements GitHub309* [Routines](/docs/fr/routines) : automatisez le travail selon un calendrier, via un appel API ou en réponse aux événements GitHub

304* [CLAUDE.md](/docs/fr/memory) : donnez à Claude des instructions et un contexte persistants qui se chargent au début de chaque session310* [CLAUDE.md](/docs/fr/memory) : donnez à Claude des instructions et un contexte persistants qui se chargent au début de chaque session

305* Installez l'application mobile Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) ou [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) pour surveiller les sessions depuis votre téléphone. Depuis la CLI Claude Code, `/mobile` affiche un code QR.311* Installez l'application mobile Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) ou [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude) pour surveiller les sessions depuis votre téléphone. Depuis la CLI Claude Code, `/mobile` affiche un code QR pour [claude.ai/mobile](https://claude.ai/mobile) qui ouvre le bon app store pour votre téléphone.

whats-new.md +24 −0

Details

8 8 

9Le digest hebdomadaire pour développeurs met en évidence les fonctionnalités les plus susceptibles de changer votre façon de travailler. Chaque entrée inclut du code exécutable, une courte démo et un lien vers la documentation complète. Pour chaque correction de bug et amélioration mineure, consultez le [changelog](/docs/en/changelog).9Le digest hebdomadaire pour développeurs met en évidence les fonctionnalités les plus susceptibles de changer votre façon de travailler. Chaque entrée inclut du code exécutable, une courte démo et un lien vers la documentation complète. Pour chaque correction de bug et amélioration mineure, consultez le [changelog](/docs/en/changelog).

10 10 

11<Update label="Week 37" description="7–11 septembre 2026" tags={["v2.1.263–v2.1.269"]}>

12 **`claude plugin eval`** : exécutez votre plugin par rapport à une suite de cas de test, notez les résultats et comparez par rapport à une ligne de base sans plugin. `claude plugin eval init` rédige les cas et les évaluateurs pour vous.

13 

14 Également cette semaine : extrayez n'importe quel **volet Claude Code Desktop** dans sa propre fenêtre et redockez-le plus tard ; le paramètre **`maxEffortLevel`** limite le niveau d'effort sur chaque fournisseur ; et une page que **WebFetch** n'a pas terminé de télécharger dans les cinq minutes échoue au lieu de rester bloquée.

15 

16 [Lire le digest de la Week 37 →](/docs/fr/whats-new/2026-w37)

17</Update>

18 

19<Update label="Week 36" description="31 août – 4 septembre 2026" tags={["v2.1.251–v2.1.261"]}>

20 **Claude Fable 5.1** : disponible dans Claude Code avec une fenêtre de contexte de 1M de tokens.

21 

22 Également cette semaine : sur les plans Pro et Max, **l'utilisation d'ordinateur dans l'application Desktop** fonctionne en arrière-plan sur macOS pendant que vous continuez à travailler ; dans le rendu en plein écran, **`/diff`** ouvre un panneau en direct à côté de la conversation qui se rafraîchit au fur et à mesure que Claude effectue des modifications ; et **`/skill-doctor`** affiche ce que chacune de vos compétences coûte en contexte et à quelle fréquence elle est utilisée.

23 

24 [Lire le digest de la Week 36 →](/docs/fr/whats-new/2026-w36)

25</Update>

26 

27<Update label="Week 35" description="24–28 août 2026" tags={["v2.1.240–v2.1.250"]}>

28 **Reprendre les sessions de terminal dans l'application Desktop** : tapez `/resume` dans la boîte d'invite Claude Code Desktop pour reprendre n'importe quelle session que vous avez démarrée à partir de la CLI, avec la conversation complète et le contexte intacts.

29 

30 Également cette semaine : **les commentaires rédigés par Claude** font que Claude rédige un rapport de commentaires quand quelque chose se passe mal dans une session, que vous examinez et envoyez depuis `/feedback` ; **`--restricted`** démarre une session sans les outils d'exécution de commandes ou vos paramètres utilisateur et projet, pour les harnais d'évaluation sur les machines partagées ; et le paramètre **`modelPicker`** contrôle les modèles que le sélecteur `/model` répertorie.

31 

32 [Lire le digest de la Week 35 →](/docs/fr/whats-new/2026-w35)

33</Update>

34 

11<Update label="Week 34" description="17–21 août 2026" tags={["v2.1.234–v2.1.239"]}>35<Update label="Week 34" description="17–21 août 2026" tags={["v2.1.234–v2.1.239"]}>

12 **`/design`** : un aperçu de recherche qui apporte le flux de travail de l'artboard de Claude Design dans la CLI et Claude Code Desktop, construit sur des artifacts, afin que Claude rédige des artboards modifiables pour votre interface utilisateur et implémente celui que vous choisissez.36 **`/design`** : un aperçu de recherche qui apporte le flux de travail de l'artboard de Claude Design dans la CLI et Claude Code Desktop, construit sur des artifacts, afin que Claude rédige des artboards modifiables pour votre interface utilisateur et implémente celui que vous choisissez.

13 37 

Details

4 4 

5# Semaine 14 · 30 mars – 3 avril 20265# Semaine 14 · 30 mars – 3 avril 2026

6 6 

7> Computer use dans la CLI, leçons interactives intégrées au produit, rendu sans scintillement, remplacements de taille de résultat MCP par outil, et exécutables de plugin sur PATH.7> Computer use dans la CLI, leçons interactives intégrées, rendu sans scintillement, remplacements de taille de résultat MCP par outil, et exécutables de plugin sur PATH.

8 8 

9<div className="digest-meta">9<div className="digest-meta">

10 <span>Versions <a href="/docs/en/changelog#2-1-86">v2.1.86 → v2.1.91</a></span>10 <span>Versions <a href="/docs/en/changelog#2-1-86">v2.1.86 → v2.1.91</a></span>


38 <span className="digest-feature-pill">v2.1.90</span>38 <span className="digest-feature-pill">v2.1.90</span>

39 </div>39 </div>

40 40 

41 <p className="digest-feature-lede">Des leçons interactives qui enseignent les fonctionnalités de Claude Code à travers des démonstrations animées, directement dans votre terminal. Claude Code se met à jour fréquemment, et les fonctionnalités qui auraient changé votre façon de travailler le mois dernier peuvent passer inaperçues. Exécutez <code>/powerup</code> une fois et vous saurez ce qui est disponible.</p>41 <p className="digest-feature-lede">Des leçons interactives qui enseignent les fonctionnalités de Claude Code par le biais de démonstrations animées, directement dans votre terminal. Claude Code sort des versions fréquemment, et les fonctionnalités qui auraient changé votre façon de travailler le mois dernier peuvent passer inaperçues. Exécutez <code>/powerup</code> une fois et vous saurez ce qui est disponible.</p>

42 42 

43 <Frame>43 <Frame>

44 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/powerup.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=fb88beddc0ecc8029da5ab029e4b28f1" data-path="images/whats-new/powerup.mp4" />44 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/powerup.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=fb88beddc0ecc8029da5ab029e4b28f1" data-path="images/whats-new/powerup.mp4" />


59 <span className="digest-feature-pill">v2.1.89</span>59 <span className="digest-feature-pill">v2.1.89</span>

60 </div>60 </div>

61 61 

62 <p className="digest-feature-lede">Optez pour un nouveau moteur de rendu alt-screen avec défilement virtualisé. L'entrée du prompt reste épinglée au bas, la sélection à la souris fonctionne sur les longues conversations, et le scintillement lors du redessinage a disparu. Désactivez <code>CLAUDE\_CODE\_NO\_FLICKER</code> pour revenir en arrière.</p>62 <p className="digest-feature-lede">Optez pour un nouveau moteur de rendu alt-screen avec scrollback virtualisé. L'entrée du prompt reste épinglée au bas, la sélection à la souris fonctionne sur les longues conversations, et le scintillement au redessinage a disparu. Désactivez <code>CLAUDE\_CODE\_NO\_FLICKER</code> pour revenir en arrière.</p>

63 63 

64 <Frame>64 <Frame>

65 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/flicker-free.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=7719e35e52a3f9734b0cf69edac333ad" data-path="images/whats-new/flicker-free.mp4" />65 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/CfffsX01JHFnIKvD/images/whats-new/flicker-free.mp4?fit=max&auto=format&n=CfffsX01JHFnIKvD&q=85&s=7719e35e52a3f9734b0cf69edac333ad" data-path="images/whats-new/flicker-free.mp4" />


81 <span className="digest-feature-pill">v2.1.91</span>81 <span className="digest-feature-pill">v2.1.91</span>

82 </div>82 </div>

83 83 

84 <p className="digest-feature-lede">Les auteurs de serveurs MCP peuvent maintenant augmenter le plafond de troncature sur un outil spécifique en définissant <code>anthropic/maxResultSizeChars</code> dans l'entrée <code>tools/list</code> de l'outil, jusqu'à un plafond maximal de 500 000 caractères. Le plafond était autrefois global, donc les outils qui retournaient occasionnellement des charges utiles intrinsèquement grandes comme des schémas de base de données ou des arbres de fichiers complets atteignaient la limite par défaut et étaient persistés sur le disque avec une référence de fichier. Les remplacements par outil gardent ces résultats en ligne quand l'outil en a vraiment besoin.</p>84 <p className="digest-feature-lede">Les auteurs de serveurs MCP peuvent maintenant augmenter le plafond de troncature sur un outil spécifique en définissant <code>anthropic/maxResultSizeChars</code> dans l'entrée <code>tools/list</code> de l'outil, jusqu'à un plafond maximal de 500 K caractères. Le plafond était autrefois global, donc les outils qui retournaient occasionnellement des charges utiles intrinsèquement grandes comme des schémas de base de données ou des arbres de fichiers complets atteignaient la limite par défaut et étaient persistés sur le disque avec une référence de fichier. Les remplacements par outil gardent ces résultats en ligne quand l'outil en a vraiment besoin.</p>

85 85 

86 <p className="digest-feature-try">Annotez l'outil dans la réponse <code>tools/list</code> de votre serveur :</p>86 <p className="digest-feature-try">Annotez l'outil dans la réponse <code>tools/list</code> de votre serveur :</p>

87 87 


123 <p className="digest-wins-title">Autres améliorations</p>123 <p className="digest-wins-title">Autres améliorations</p>

124 124 

125 <div className="digest-wins-grid">125 <div className="digest-wins-grid">

126 <div>Suites en mode Auto : nouveau hook <code>PermissionDenied</code> qui se déclenche sur les refus du classificateur (retournez <code>retry: true</code> pour laisser Claude essayer une approche différente), et <code>/permissions</code> → Récemment refusé vous permet de réessayer manuellement avec <code>r</code></div>126 <div>Suites en mode auto : nouveau hook <code>PermissionDenied</code> qui se déclenche sur les refus du classificateur (retournez <code>retry: true</code> pour laisser Claude essayer une approche différente), et <code>/permissions</code> → Recently denied vous permet de réessayer manuellement avec <code>r</code></div>

127 <div>Nouvelle valeur <code>defer</code> pour <code>permissionDecision</code> dans les hooks <code>PreToolUse</code> : les sessions <code>-p</code> s'arrêtent à un appel d'outil et se terminent avec une charge utile <code>deferred\_tool\_use</code> pour qu'une application SDK ou une interface utilisateur personnalisée puisse la présenter, puis reprendre avec <code>--resume</code></div>127 <div>Nouvelle valeur <code>defer</code> pour <code>permissionDecision</code> dans les hooks <code>PreToolUse</code> : les sessions <code>-p</code> s'arrêtent à un appel d'outil et se terminent avec une charge utile <code>deferred\_tool\_use</code> pour qu'une application SDK ou une interface utilisateur personnalisée puisse la présenter, puis reprendre avec <code>--resume</code></div>

128 <div><code>/buddy</code> : éclosez une petite créature qui vous regarde coder. Une blague du 1er avril, plus disponible</div>128 <div><code>/buddy</code> : éclosez une petite créature qui vous regarde coder. Une blague du Poisson d'avril, n'est plus disponible</div>

129 <div>Le paramètre <code>disableSkillShellExecution</code> bloque l'exécution de shell en ligne à partir des skills, des slash commands et des commandes de plugin</div>129 <div>Le paramètre <code>disableSkillShellExecution</code> bloque l'exécution de shell en ligne à partir des skills, des commandes personnalisées et des commandes de plugin</div>

130 <div>L'outil Edit fonctionne maintenant sur les fichiers visualisés via <code>cat</code> ou <code>sed -n</code> sans une lecture séparée</div>130 <div>L'outil Edit fonctionne maintenant sur les fichiers consultés via <code>cat</code> ou <code>sed -n</code> sans une lecture séparée</div>

131 <div>La sortie du hook supérieure à 50 K est sauvegardée sur le disque avec un chemin + aperçu au lieu d'être injectée dans le contexte</div>131 <div>La sortie du hook supérieure à 50 K est enregistrée sur le disque avec un chemin + aperçu au lieu d'être injectée dans le contexte</div>

132 <div>Les résumés de réflexion sont désactivés par défaut dans les sessions interactives (<code>showThinkingSummaries: true</code> pour restaurer)</div>132 <div>Les résumés de réflexion sont désactivés par défaut dans les sessions interactives (<code>showThinkingSummaries: true</code> pour restaurer)</div>

133 <div>Mode voix : combinaisons de modificateurs push-to-talk, WebSocket Windows, permission du microphone Apple Silicon macOS</div>133 <div>Mode voix : combinaisons de modificateurs push-to-talk, WebSocket Windows, permission du microphone Apple Silicon macOS</div>

134 <div>Les liens profonds <code>claude-cli://</code> acceptent les prompts multi-lignes (encodés <code>%0A</code>)</div>134 <div>Les liens profonds <code>claude-cli://</code> acceptent les prompts multi-lignes (encodés <code>%0A</code>)</div>

Details

38 <span className="digest-feature-pill">v2.1.139</span>38 <span className="digest-feature-pill">v2.1.139</span>

39 </div>39 </div>

40 40 

41 <p className="digest-feature-lede">Définissez une condition d'achèvement et Claude continue à travailler vers elle à travers les tours sans que vous deviez inviter chaque étape. Après chaque tour, un modèle rapide vérifie si la condition est remplie ; si ce n'est pas le cas, Claude commence un autre tour au lieu de vous rendre le contrôle. Utile pour un travail substantiel avec un état final vérifiable, comme migrer un module jusqu'à ce que chaque site d'appel se compile et que les tests réussissent. L'objectif s'efface une fois la condition remplie, et fonctionne en mode interactif, <code>-p</code>, et Contrôle à distance.</p>41 <p className="digest-feature-lede">Définissez une condition d'achèvement et Claude continue de travailler vers elle à travers les tours sans que vous deviez inviter chaque étape. Après chaque tour, un modèle rapide vérifie si la condition est remplie ; si ce n'est pas le cas, Claude commence un autre tour au lieu de rendre le contrôle. Utile pour un travail substantiel avec un état final vérifiable, comme migrer un module jusqu'à ce que chaque site d'appel se compile et que les tests réussissent. L'objectif s'efface une fois la condition remplie, et fonctionne en mode interactif, <code>-p</code>, et Contrôle à distance.</p>

42 42 

43 <Frame>43 <Frame>

44 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/ITvjicPxe1SM3GX7/images/whats-new/goal.mp4?fit=max&auto=format&n=ITvjicPxe1SM3GX7&q=85&s=6806df3780c548b93a02d6fa71da276b" data-path="images/whats-new/goal.mp4" />44 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/ITvjicPxe1SM3GX7/images/whats-new/goal.mp4?fit=max&auto=format&n=ITvjicPxe1SM3GX7&q=85&s=6806df3780c548b93a02d6fa71da276b" data-path="images/whats-new/goal.mp4" />


65 <img className="w-full" src="https://mintcdn.com/claude-code/ITvjicPxe1SM3GX7/images/whats-new/fast-mode-opus-47.png?fit=max&auto=format&n=ITvjicPxe1SM3GX7&q=85&s=6b6d92f7748ce5328a1ee9a269fb1a87" alt="Le sélecteur de modèle Claude Code montrant Opus 4.7 Fast 1M comme valeur par défaut avec le basculement Fast activé" width="3840" height="2160" data-path="images/whats-new/fast-mode-opus-47.png" />65 <img className="w-full" src="https://mintcdn.com/claude-code/ITvjicPxe1SM3GX7/images/whats-new/fast-mode-opus-47.png?fit=max&auto=format&n=ITvjicPxe1SM3GX7&q=85&s=6b6d92f7748ce5328a1ee9a269fb1a87" alt="Le sélecteur de modèle Claude Code montrant Opus 4.7 Fast 1M comme valeur par défaut avec le basculement Fast activé" width="3840" height="2160" data-path="images/whats-new/fast-mode-opus-47.png" />

66 </Frame>66 </Frame>

67 67 

68 <p className="digest-feature-try">Basculez le mode rapide, maintenant en cours d'exécution sur Opus 4.7 :</p>68 <p className="digest-feature-try">Basculez le mode rapide, maintenant exécuté sur Opus 4.7 :</p>

69 69 

70 ```text Claude Code theme={null}70 ```text Claude Code theme={null}

71 > /fast71 > /fast


83 <div>Nouvelle option de configuration <code>continueOnBlock</code> pour les hooks <code>PostToolUse</code> renvoie la raison du rejet du hook à Claude et continue le tour au lieu de le terminer</div>83 <div>Nouvelle option de configuration <code>continueOnBlock</code> pour les hooks <code>PostToolUse</code> renvoie la raison du rejet du hook à Claude et continue le tour au lieu de le terminer</div>

84 <div>Nouveau champ <code>terminalSequence</code> dans la sortie JSON du hook permet aux hooks d'émettre des notifications de bureau, des titres de fenêtre, et des cloches sans terminal de contrôle</div>84 <div>Nouveau champ <code>terminalSequence</code> dans la sortie JSON du hook permet aux hooks d'émettre des notifications de bureau, des titres de fenêtre, et des cloches sans terminal de contrôle</div>

85 <div>Le menu Rewind a ajouté « Résumer jusqu'ici » pour compresser le contexte antérieur tout en gardant les tours récents intacts</div>85 <div>Le menu Rewind a ajouté « Résumer jusqu'ici » pour compresser le contexte antérieur tout en gardant les tours récents intacts</div>

86 <div>Contrôle à distance, <code>/schedule</code>, les connecteurs MCP Claude.ai, et les préférences de notification sont maintenant désactivés quand <code>ANTHROPIC\_API\_KEY</code>, <code>apiKeyHelper</code>, ou <code>ANTHROPIC\_AUTH\_TOKEN</code> est défini, même aux côtés d'une connexion Claude.ai ; défiez la clé API pour utiliser ces fonctionnalités</div>86 <div>Contrôle à distance, <code>/schedule</code>, les connecteurs MCP claude.ai, et les préférences de notification sont maintenant désactivés quand <code>ANTHROPIC\_API\_KEY</code>, <code>apiKeyHelper</code>, ou <code>ANTHROPIC\_AUTH\_TOKEN</code> est défini, même aux côtés d'une connexion claude.ai ; annulez la définition de la clé API pour utiliser ces fonctionnalités</div>

87 <div>Les serveurs stdio MCP reçoivent maintenant <code>CLAUDE\_PROJECT\_DIR</code> dans leur environnement, correspondant aux hooks, et les configurations de plugin peuvent référencer <code>\${"{"}CLAUDE\_PROJECT\_DIR{"}"}</code> dans les commandes</div>87 <div>Les serveurs MCP stdio reçoivent maintenant <code>CLAUDE\_PROJECT\_DIR</code> dans leur environnement, correspondant aux hooks, et les configurations de plugin peuvent référencer <code>\${"{"}CLAUDE\_PROJECT\_DIR{"}"}</code> dans les commandes</div>

88 <div><code>claude plugin details \<name></code> affiche l'inventaire des composants d'un plugin et le coût estimé des tokens par session, et le volet de détails <code>/plugin</code> liste maintenant aussi les serveurs LSP qu'un plugin fournit</div>88 <div><code>claude plugin details \<name></code> affiche l'inventaire des composants d'un plugin et le coût en tokens par session projeté, et le volet de détails <code>/plugin</code> liste maintenant aussi les serveurs LSP qu'un plugin fournit</div>

89 <div>Les plugins avec un <code>SKILL.md</code> au niveau racine et aucun sous-répertoire <code>skills/</code> sont maintenant surfacés en tant que compétence</div>89 <div>Les plugins avec un <code>SKILL.md</code> au niveau racine et aucun sous-répertoire <code>skills/</code> sont maintenant surfacés comme une skill</div>

90 <div><code>/feedback</code> peut maintenant inclure les sessions récentes des 24 dernières heures ou 7 jours pour les problèmes s'étendant au-delà de la session actuelle</div>90 <div><code>/feedback</code> peut maintenant inclure les sessions récentes des 24 dernières heures ou 7 jours pour les problèmes s'étendant au-delà de la session actuelle</div>

91 <div>L'outil agent <code>subagent\_type</code> correspond maintenant de manière insensible à la casse et au séparateur, donc <code>"Code Reviewer"</code> se résout en <code>code-reviewer</code></div>91 <div>L'outil agent <code>subagent\_type</code> correspond maintenant de manière insensible à la casse et au séparateur, donc <code>"Code Reviewer"</code> se résout en <code>code-reviewer</code></div>

92 </div>92 </div>

whats-new/2026-w35.md +98 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Semaine 35 · 24-28 août 2026

6 

7> Reprenez les sessions de terminal dans l'application Claude Code Desktop, examinez les rapports de commentaires que Claude rédige pour vous, et démarrez une session en mode restreint.

8 

9<div className="digest-meta">

10 <span>Versions <a href="/docs/en/changelog#2-1-240">v2.1.240 → v2.1.250</a></span>

11 <span>3 fonctionnalités · 24-28 août</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Reprendre les sessions de terminal dans l'application Desktop</span>

17 <span className="digest-feature-pill">Desktop</span>

18 </div>

19 

20 <p className="digest-feature-lede">Tapez <code>/resume</code> dans la zone de saisie de Claude Code Desktop pour reprendre n'importe quelle session que vous avez démarrée à partir de la CLI et la continuer dans l'application avec la conversation complète et le contexte intacts. Recherchez vos sessions par titre, dossier ou branche, et prévisualisez où vous vous étiez arrêté avant de reprendre.</p>

21 

22 <Frame>

23 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/desktop-resume-cli-session.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=41e4a5fda6b9d63280589f2cbdabf44f" data-path="images/whats-new/desktop-resume-cli-session.mp4" />

24 </Frame>

25 

26 <p className="digest-feature-try">Dans une session Desktop, exécutez la commande pour lister vos sessions de terminal :</p>

27 

28 ```text Claude Code theme={null}

29 > /resume

30 ```

31 

32 <p className="digest-feature-try">Sélectionnez une session et appuyez sur <code>Entrée</code>. La conversation s'ouvre dans l'application où vous l'aviez laissée.</p>

33 

34 <a className="digest-feature-link" href="/docs/fr/desktop#coming-from-the-cli">Passer entre la CLI et Desktop</a>

35</div>

36 

37<div className="digest-feature">

38 <div className="digest-feature-header">

39 <span className="digest-feature-title">Commentaires rédigés par Claude</span>

40 <span className="digest-feature-pill">CLI</span>

41 </div>

42 

43 <p className="digest-feature-lede">Lorsqu'un outil continue d'échouer, que Claude ne peut pas vous aider avec une demande, ou que vous signalez une erreur, Claude rédige maintenant un rapport de commentaires pour vous avec l'outil <code>SendFeedback</code>. Une carte au-dessus de votre saisie affiche le brouillon, et vous pouvez l'examiner, l'envoyer ou le rejeter à partir de là. Rien ne parvient à Anthropic tant que vous ne l'envoyez pas. Nécessite v2.1.238 ou ultérieur.</p>

44 

45 <Frame>

46 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/claude-drafted-feedback.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=5cacb3be0dffd1cbd417381f3721637e" alt="Une session Claude Code où Claude a rédigé un rapport de bogue intitulé Sandbox image pull fails behind proxy, affiché sous forme de carte au-dessus de la saisie avec des options pour examiner, envoyer ou rejeter" width="1440" height="756" data-path="images/whats-new/claude-drafted-feedback.jpg" />

47 </Frame>

48 

49 <p className="digest-feature-try">Exécutez <code>/feedback</code> sans argument pour ouvrir votre file d'attente de brouillons de chaque session :</p>

50 

51 ```text Claude Code theme={null}

52 > /feedback

53 ```

54 

55 <p className="digest-feature-try">Sélectionnez un brouillon, puis modifiez-le, envoyez-le ou supprimez-le. Pour désactiver la rédaction, définissez <strong>Commentaires rédigés par Claude</strong> sur <code>off</code> dans <code>/config</code>.</p>

56 

57 <a className="digest-feature-link" href="/docs/fr/tools-reference#sendfeedback-tool-behavior">Comportement de l'outil SendFeedback</a>

58</div>

59 

60<div className="digest-feature">

61 <div className="digest-feature-header">

62 <span className="digest-feature-title">Mode restreint</span>

63 <span className="digest-feature-pill">v2.1.248</span>

64 </div>

65 

66 <p className="digest-feature-lede">Le mode restreint démarre Claude Code sans les outils intégrés qui exécutent des commandes ou du code. Utilisez-le lorsqu'un harnais d'évaluation pilote <code>claude</code> sur une machine partagée. Démarrez-le avec `--restricted` ou définissez <code>CLAUDE\_CODE\_RESTRICTED=1</code>. Claude Code supprime également <code>WebFetch</code>, confine les outils de fichiers aux répertoires de travail, charge uniquement les paramètres gérés et `--settings`, et refuse le mode de permission <code>bypassPermissions</code>.</p>

67 

68 <p className="digest-feature-try">Exécutez une requête non-interactive sans les outils d'exécution de commandes :</p>

69 

70 ```bash terminal theme={null}

71 claude --restricted -p "review src/ for SQL injection risks"

72 ```

73 

74 <p className="digest-feature-try">Pour donner à Claude l'un des outils supprimés, listez-le dans `--tools` avec les autres outils intégrés que vous souhaitez, par exemple `--tools "Bash,Read,Edit"`. `--tools` est une liste d'autorisation, et son préréglage <code>default</code> ne restaure pas les outils supprimés.</p>

75 

76 <a className="digest-feature-link" href="/docs/fr/cli-reference#cli-flags">Drapeaux CLI</a>

77</div>

78 

79<div className="digest-wins">

80 <p className="digest-wins-title">Autres améliorations</p>

81 

82 <div className="digest-wins-grid">

83 <div>Définissez le nouveau paramètre <a href="/docs/fr/settings-reference#modelpicker"><code>modelPicker</code></a> pour étendre ou remplacer la liste intégrée du sélecteur <code>/model</code> par vos propres entrées ordonnées et étiquetées, y compris les identifiants de modèle Amazon Bedrock ou Google Cloud's Agent Platform</div>

84 <div>Définissez <a href="/docs/fr/prompt-caching#choose-the-ttl-yourself"><code>promptCacheTtl</code></a> sur <code>1h</code> pour conserver un cache de saisie d'une heure sur la conversation principale lorsque vous utilisez une clé API ou un fournisseur cloud ; <code>subagentPromptCacheTtl</code> définit la TTL pour les sous-agents et toutes les autres demandes en dehors de la conversation principale</div>

85 <div>Sur les plans Pro, Max, Team et Enterprise, <a href="/docs/fr/costs#plan-usage-breakdown"><code>/usage</code></a> ajoute une ventilation des boucles : nombre d'exécutions, tokens totaux, tokens par exécution et dernière exécution pour les <code>/loop</code> et les tâches planifiées qui ont utilisé le plus de tokens</div>

86 <div>Les organisations avec des tarifs contractuels peuvent définir le paramètre géré <a href="/docs/fr/costs#report-spend-at-your-contracted-rates"><code>modelPricing</code></a> afin que <code>/usage</code>, la ligne d'état et OpenTelemetry rapportent le coût à ces tarifs au lieu du prix catalogue</div>

87 <div><code>/login</code> propose <strong>Se connecter avec votre compte Console</strong> sous l'option <strong>Compte Anthropic Console</strong>, afin que les membres des organisations Console qui n'autorisent pas les clés API puissent se connecter sans en créer une</div>

88 <div>Exécutez <code>/permissions</code> et ouvrez le nouvel onglet <a href="/docs/fr/auto-mode-config#edit-rules-from-permissions"><strong>Mode automatique</strong></a> pour afficher et modifier les règles du classificateur de mode automatique sans ouvrir un fichier de paramètres</div>

89 <div>Lorsque le mode automatique est disponible, les invites de permission Bash dans les modes Manual et <code>acceptEdits</code> offrent une option <a href="/docs/fr/permission-modes#switch-permission-modes"><strong>Oui, et passer au mode automatique</strong></a> ; sélectionnez-la pour approuver la commande et basculer la session en mode automatique</div>

90 <div>Après avoir <a href="/docs/fr/permissions#move-the-session-to-another-directory">déplacé une session avec <code>/cd</code></a>, les paramètres du projet du nouveau répertoire, les hooks, les serveurs <code>.mcp.json</code>, les compétences et les sous-agents prennent effet immédiatement au lieu de lors du prochain `--resume`</div>

91 <div>Dans les sessions non-interactives, y compris les exécutions `-p`, les exécutions Agent SDK et les sessions cloud, Claude Code <a href="/docs/fr/errors#the-response-above-may-be-incomplete">continue une réponse</a> qu'une erreur serveur, une connexion interrompue ou un blocage a coupée en cours de flux, lorsque la réponse partielle contient du texte et aucun appel d'outil</div>

92 <div>Un sous-agent qui s'arrête à sa limite <code>maxTurns</code> retourne sa sortie marquée comme partielle, avec un indice que Claude peut <a href="/docs/fr/sub-agents#resume-subagents">la continuer avec <code>SendMessage</code></a>, au lieu d'apparaître terminée</div>

93 <div>Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, les sessions sur la même machine peuvent maintenant <a href="/docs/fr/cross-session-messaging#availability">se communiquer entre elles</a>, <code>/loop</code> peut <a href="/docs/fr/scheduled-tasks#let-claude-choose-the-interval">choisir son propre intervalle</a>, et <code>/model</code> et <code>/effort</code> s'appliquent immédiatement au lieu d'après la fin du tour</div>

94 <div>L'installateur natif et la mise à jour automatique téléchargent une version compressée zstd, environ 75 Mo au lieu de 340 Mo sur Linux x64, et les versions natives chargent le code à la demande, utilisant environ 40 à 70 Mo de mémoire en moins par session</div>

95 </div>

96</div>

97 

98[Journal des modifications complet pour v2.1.240–v2.1.250 →](/docs/en/changelog#2-1-240)

whats-new/2026-w36.md +109 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Semaine 36 · 31 août – 4 septembre 2026

6 

7> Basculez vers Claude Fable 5.1, laissez l'utilisation de l'ordinateur s'exécuter en arrière-plan sur Desktop, et regardez les modifications de Claude dans un panneau /diff en direct.

8 

9<div className="digest-meta">

10 <span>Versions <a href="/docs/en/changelog#2-1-251">v2.1.251 → v2.1.261</a></span>

11 <span>4 fonctionnalités · 31 août – 4 septembre</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Claude Fable 5.1</span>

17 <span className="digest-feature-pill">nouveau modèle</span>

18 </div>

19 

20 <p className="digest-feature-lede">Claude Fable 5.1 est disponible dans Claude Code avec une fenêtre de contexte de 1 M de jetons, et l'alias <code>fable</code> le sélectionne maintenant. Dans les sessions de passerelle des applications Claude, <code>fable</code> sélectionne toujours Fable 5. Si votre passerelle sert Fable 5.1, exécutez <code>/model claude-fable-5-1</code>. Nécessite v2.1.257 ou ultérieure.</p>

21 

22 <p className="digest-feature-try">Basculez la session actuelle vers Fable 5.1 et enregistrez-la comme valeur par défaut :</p>

23 

24 ```text Claude Code theme={null}

25 > /model fable

26 ```

27 

28 <p className="digest-feature-try">Sur l'API Anthropic, le sélecteur répertorie Fable uniquement une fois que le serveur signale qu'il est disponible pour votre organisation, mais en tapant <code>/model fable</code>, vous vérifiez directement auprès du serveur.</p>

29 

30 <a className="digest-feature-link" href="/docs/fr/model-config#work-with-fable">Travailler avec Fable</a>

31</div>

32 

33<div className="digest-feature">

34 <div className="digest-feature-header">

35 <span className="digest-feature-title">L'utilisation de l'ordinateur s'exécute en arrière-plan sur Desktop</span>

36 <span className="digest-feature-pill">Desktop</span>

37 </div>

38 

39 <p className="digest-feature-lede">Sur macOS, l'utilisation de l'ordinateur dans l'application Claude Code Desktop fonctionne maintenant en arrière-plan : Claude voit et agit dans les applications que vous avez approuvées pendant que vous continuez à travailler. L'utilisation de l'ordinateur en arrière-plan est en version bêta sur les plans Pro et Max.</p>

40 

41 <Frame>

42 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/background-computer-use.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=a599a6c6fa544cb8d1b426b93706caf4" alt="Une session Claude Code Desktop où Claude demande à utiliser Xcode, avec une carte de permission d'utilisation de l'ordinateur qui lit Laisser Claude voir et agir dans les applications que vous approuvez, en arrière-plan ou avec contrôle total de votre écran, à côté d'un bouton Activer" width="1440" height="810" data-path="images/whats-new/background-computer-use.jpg" />

43 </Frame>

44 

45 <a className="digest-feature-link" href="/docs/fr/desktop#let-claude-use-your-computer">Laisser Claude utiliser votre ordinateur</a>

46</div>

47 

48<div className="digest-feature">

49 <div className="digest-feature-header">

50 <span className="digest-feature-title">Panneau diff en direct dans le rendu en plein écran</span>

51 <span className="digest-feature-pill">v2.1.260</span>

52 </div>

53 

54 <p className="digest-feature-lede">Dans le rendu en plein écran, <code>/diff</code> ouvre maintenant un panneau à côté de la conversation au lieu d'une visionneuse que vous devez fermer. Le panneau répertorie les fichiers modifiés avec leurs nombres de lignes ajoutées et supprimées et s'actualise chaque fois que Claude modifie un fichier ou exécute une commande shell. Sélectionnez les lignes du panneau avec la souris pour les joindre à votre prochain message.</p>

55 

56 <Frame>

57 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/diff-panel.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=9d7553c19e7f227891cd95f1f59d796d" data-path="images/whats-new/diff-panel.mp4" />

58 </Frame>

59 

60 <p className="digest-feature-try">Avec le rendu en plein écran activé, à l'intérieur d'un référentiel git, et dans un terminal d'au moins 110 colonnes de large, basculez le panneau :</p>

61 

62 ```text Claude Code theme={null}

63 > /diff

64 ```

65 

66 <p className="digest-feature-try">Exécutez <code>/diff</code> à nouveau ou cliquez sur le <code>✕</code> dans son en-tête pour le fermer.</p>

67 

68 <a className="digest-feature-link" href="/docs/fr/interactive-mode#diff-panel">Panneau diff</a>

69</div>

70 

71<div className="digest-feature">

72 <div className="digest-feature-header">

73 <span className="digest-feature-title">Trouvez les compétences inutilisées avec /skill-doctor</span>

74 <span className="digest-feature-pill">CLI</span>

75 </div>

76 

77 <p className="digest-feature-lede"><code>/skill-doctor</code> montre ce que chacune de vos compétences coûte en contexte et à quelle fréquence elle est utilisée, afin que vous puissiez décider lesquelles désactiver. Chaque compétence dans la <a href="/docs/fr/skills#skill-descriptions-are-cut-short">liste des compétences</a> s'ajoute à votre contexte à chaque tour, que Claude l'utilise ou non. Nécessite v2.1.252 ou ultérieure et n'est pas disponible dans les sessions qui ignorent la <a href="/docs/fr/env-vars#features-that-need-feature-flag-fetching">récupération des drapeaux de fonctionnalité</a>.</p>

78 

79 <p className="digest-feature-try">Exécutez-le dans une session interactive pour ouvrir le rapport dans l'onglet <strong>Stats</strong> du gestionnaire <code>/plugin</code> :</p>

80 

81 ```text Claude Code theme={null}

82 > /skill-doctor

83 ```

84 

85 <p className="digest-feature-try">En mode non interactif avec <code>-p</code>, Claude Code imprime le rapport sous forme de texte à la place.</p>

86 

87 <a className="digest-feature-link" href="/docs/fr/skills#find-unused-skills">Trouvez les compétences inutilisées</a>

88</div>

89 

90<div className="digest-wins">

91 <p className="digest-wins-title">Autres améliorations</p>

92 

93 <div className="digest-wins-grid">

94 <div>Un crochet <a href="/docs/fr/hooks#premodelswitch"><code>PreModelSwitch</code></a> peut bloquer un changement de modèle que vous demandez, et un crochet <a href="/docs/fr/hooks#postmodelswitch"><code>PostModelSwitch</code></a> peut ajouter du contexte pour Claude après le changement de modèle de la session</div>

95 <div><a href="/docs/fr/costs#prompt-cache-statistics"><code>/cost</code></a> ajoute une ligne <code>Prompt cache (main)</code> : la part des jetons d'entrée servis à partir du cache, les défauts de cache, si le cache est chaud, et une cause probable du dernier défaut quand Claude Code peut en nommer une. Les scripts de ligne d'état reçoivent un objet <code>prompt\_cache</code> correspondant</div>

96 <div>Les organisations peuvent répertorier les serveurs MCP HTTP et SSE sous le paramètre géré <a href="/docs/fr/managed-mcp#provide-servers-through-managed-settings"><code>managedMcpServers</code></a> pour les donner à chaque utilisateur, en plus des serveurs que les utilisateurs ajoutent eux-mêmes</div>

97 <div><code>/effort</code> et le sélecteur <code>/model</code> enregistrent maintenant <a href="/docs/fr/model-config#adjust-effort-level">un niveau d'effort séparé pour chaque modèle</a> ; appuyez sur <code>s</code> au lieu de <code>Entrée</code> pour appliquer un niveau à la session actuelle uniquement</div>

98 <div>Par défaut, le classificateur du mode automatique <a href="/docs/fr/permission-modes#what-the-classifier-blocks-by-default">bloque maintenant aussi</a> les actions telles que la demande d'identifiants auprès du point de terminaison des métadonnées d'instance cloud ou la connexion à des conteneurs frères que Claude n'a pas démarrés</div>

99 <div>En mode automatique, Claude Code vous demande avant que Claude <a href="/docs/fr/permission-modes#first-read-outside-the-working-directories">lise d'abord un fichier en dehors de vos répertoires de travail</a>, avec une option pour bloquer ces lectures à partir de ce moment</div>

100 <div>Augmentez <a href="/docs/fr/settings-reference#bashoutputmaxchars"><code>bashOutputMaxChars</code></a> et <a href="/docs/fr/settings-reference#taskoutputmaxchars"><code>taskOutputMaxChars</code></a>, jusqu'à 128 000 caractères, afin que Claude reçoive plus de la sortie d'une commande réussie ou d'une tâche en arrière-plan en ligne</div>

101 <div>Les raccourcis d'édition de mots du message <a href="/docs/fr/interactive-mode#make-ctrl-w-delete-back-to-whitespace">suivent readline</a> pour tout le monde, et le paramètre <code>keybindingFlavor</code> n'a plus aucun effet. <code>Ctrl+W</code> supprime jusqu'à l'espace blanc précédent, et <code>Alt+B</code>, <code>Alt+F</code>, et <code>Alt+D</code> traitent la ponctuation telle que <code>/</code> et <code>.</code> comme des séparateurs de mots</div>

102 <div>Si vous définissez <code>defaultMode</code> sur <code>"bypassPermissions"</code> dans le <code>.claude/settings.json</code> ou <code>.claude/settings.local.json</code> d'un projet, cela <a href="/docs/fr/permission-modes#which-mode-a-session-starts-in">n'a plus d'effet</a> et la session démarre en mode Manuel ; définissez <code>"bypassPermissions"</code> dans les paramètres utilisateur ou gérés à la place, ou passez `--permission-mode`</div>

103 <div>Les plans Enterprise basés sur les sièges <a href="/docs/fr/model-config#default-model-setting">utilisent maintenant Opus 5 par défaut</a></div>

104 <div>Dans l'extension VS Code, cliquez sur le nom du modèle en bas de la boîte de message pour <a href="/docs/fr/vs-code#use-the-prompt-box">ouvrir le sélecteur de modèle</a></div>

105 <div>Dans l'extension VS Code, sélectionnez <strong>Styles de sortie</strong> dans la section Personnaliser du menu de commande pour <a href="/docs/fr/vs-code#use-the-prompt-box">choisir un style de sortie</a>, y compris les vôtres personnalisés</div>

106 </div>

107</div>

108 

109[Journal des modifications complet pour v2.1.251–v2.1.261 →](/docs/en/changelog#2-1-251)

whats-new/2026-w37.md +69 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Semaine 37 · 7–11 septembre 2026

6 

7> Testez vos plugins avec claude plugin eval et détachez les volets de Claude Code Desktop dans leurs propres fenêtres.

8 

9<div className="digest-meta">

10 <span>Versions <a href="/docs/en/changelog#2-1-263">v2.1.263 → v2.1.269</a></span>

11 <span>2 fonctionnalités · 7–11 septembre</span>

12</div>

13 

14<div className="digest-feature">

15 <div className="digest-feature-header">

16 <span className="digest-feature-title">Testez les plugins avec claude plugin eval</span>

17 <span className="digest-feature-pill">v2.1.269</span>

18 </div>

19 

20 <p className="digest-feature-lede"><code>claude plugin eval</code> exécute votre plugin par rapport à une suite de cas de test, évalue les résultats, et par défaut exécute chaque cas à nouveau sans le plugin afin que vous puissiez voir sa contribution. <code>claude plugin eval init</code> vous demande à quoi ressemble un bon résultat, puis propose des cas de test et les vérifications qui les évaluent, essaie la suite une fois, et écrit les fichiers. Chaque exécution, et chaque vérification qui a un deuxième modèle pour juger la réponse, est un vrai appel de modèle sur votre compte.</p>

21 

22 <Frame>

23 <img className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/plugin-eval.jpg?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=913066f6d4a2a15426e98a627802f47f" alt="Sortie du terminal de claude plugin eval : un tableau de sept cas avec le score de chaque cas avec et sans le plugin, la différence entre eux, le nombre d'exécutions, et le coût, suivi d'une ligne de résumé avec la différence moyenne, la durée totale, et le coût total" width="1600" height="900" data-path="images/whats-new/plugin-eval.jpg" />

24 </Frame>

25 

26 <p className="digest-feature-try">À partir du répertoire racine de votre plugin, demandez à Claude de rédiger la suite :</p>

27 

28 ```bash terminal theme={null}

29 claude plugin eval init

30 ```

31 

32 <p className="digest-feature-try">Quand Claude vous dit que la suite est prête, quittez la session que <code>claude plugin eval init</code> a ouverte et exécutez <code>claude plugin eval .</code> pour évaluer chaque cas. Le tableau de résumé s'affiche dans votre terminal, et <code>report.html</code> sous <code>evals/results/</code> contient le détail par exécution.</p>

33 

34 <a className="digest-feature-link" href="/docs/fr/plugin-evals">Testez les plugins avec des évaluations</a>

35</div>

36 

37<div className="digest-feature">

38 <div className="digest-feature-header">

39 <span className="digest-feature-title">Détachez les volets Desktop dans leurs propres fenêtres</span>

40 <span className="digest-feature-pill">Desktop</span>

41 </div>

42 

43 <p className="digest-feature-lede">Dans l'application Claude Code Desktop, vous pouvez détacher n'importe quel volet dans sa propre fenêtre. Faites glisser le diff ou le terminal vers un deuxième écran tandis que Claude continue de travailler dans la fenêtre principale, puis réancrez le volet quand vous avez terminé.</p>

44 

45 <Frame>

46 <video autoPlay muted loop playsInline className="w-full" src="https://mintcdn.com/claude-code/f9HTZGyMtxIFOUgt/images/whats-new/desktop-pop-out-panes.mp4?fit=max&auto=format&n=f9HTZGyMtxIFOUgt&q=85&s=ff3770dd09bb15ed9cf17a460f3d1e23" data-path="images/whats-new/desktop-pop-out-panes.mp4" />

47 </Frame>

48 

49 <a className="digest-feature-link" href="/docs/fr/desktop#arrange-your-workspace">Organisez votre espace de travail</a>

50</div>

51 

52<div className="digest-wins">

53 <p className="digest-wins-title">Autres améliorations</p>

54 

55 <div className="digest-wins-grid">

56 <div>Définissez <a href="/docs/fr/settings-reference#maxeffortlevel"><code>maxEffortLevel</code></a> au niveau supérieur ou par modèle sous <code>modelSettings</code> pour limiter le niveau d'effort sur chaque fournisseur, y compris Amazon Bedrock, la plateforme Agent de Google Cloud, et Microsoft Foundry ; tout niveau supérieur s'exécute à la limite</div>

57 <div>Pointez `--plugin-dir` vers un dossier de plugins pour <a href="/docs/fr/plugins#test-your-plugins-locally">charger chaque sous-dossier immédiat qui a un manifeste</a></div>

58 <div>Si WebFetch n'a pas terminé le téléchargement d'une page dans les cinq minutes, <a href="/docs/fr/tools-reference#webfetch-tool-behavior">la récupération échoue avec une erreur de délai</a> au lieu de rester bloquée ; définissez `CLAUDE_CODE_WEBFETCH_DEADLINE_MS` pour modifier le délai, ou à `0` pour supprimer la limite</div>

59 <div>Passez `--json` à <code>claude plugin install</code>, <code>uninstall</code>, <code>update</code>, <code>enable</code>, ou <code>disable</code> pour imprimer le résultat sous la forme <a href="/docs/fr/plugins-reference#plugin-json-result">d'un objet JSON sur la dernière ligne de stdout</a></div>

60 <div>Quand le classificateur du mode auto bloque une action, la raison que Claude reçoit <a href="/docs/fr/auto-mode-config#fix-a-denial-with-an-allow-rule-an-environment-entry-or-a-retry">nomme généralement la règle qui a correspondu</a>, comme <code>\[Data Exfiltration]</code></div>

61 <div>Quand vous tapez <code>/</code> au milieu d'une invite, vous pouvez maintenant choisir parmi <a href="/docs/fr/interactive-mode#complete-a-command-mid-prompt">une liste de commandes correspondantes</a> au lieu d'une seule suggestion. La liste s'ouvre au fur et à mesure que vous tapez en rendu plein écran. Une compétence de plugin correspond également sur son nom sans le préfixe du plugin</div>

62 <div>Dans l'extension VS Code, cliquez sur le nombre d'agents en bas de la zone d'invite pour ouvrir la <a href="/docs/fr/vs-code#use-the-prompt-box">carte des agents</a>, où vous pouvez ouvrir la transcription en lecture seule d'un sous-agent ou l'arrêter</div>

63 <div>Dans l'extension VS Code, sélectionnez <strong>Hooks</strong> ou <strong>Permissions</strong> dans la section Personnaliser du menu de commande pour <a href="/docs/fr/vs-code#use-the-prompt-box">ajouter ou supprimer des hooks et des règles de permission</a> dans vos paramètres utilisateur, projet et locaux</div>

64 <div>Claude peut choisir une <a href="/docs/fr/artifacts#create-an-artifact">icône d'onglet de navigateur</a> pour correspondre à chaque artefact qu'il publie</div>

65 <div>Dans Claude Code sur le web, reprenez un message en attente dans une session cloud avant que Claude le lise : supprimez-le de la file d'attente, ou appuyez sur <code>Esc</code> ou <code>Up</code>, et le texte revient à la zone de message</div>

66 </div>

67</div>

68 

69[Journal des modifications complet pour v2.1.263–v2.1.269 →](/docs/en/changelog#2-1-263)

workflows.md +21 −6

Details

400Le runtime applique les contraintes suivantes :400Le runtime applique les contraintes suivantes :

401 401 

402| Contrainte | Pourquoi |402| Contrainte | Pourquoi |

403| :------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------- |403| :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

404| Pas d'entrée utilisateur en cours d'exécution | Seules les invites de permission d'agent peuvent mettre en pause une exécution. Pour l'approbation entre les étapes, exécutez chaque étape comme son propre workflow |404| Pas d'entrée utilisateur en cours d'exécution | Une exécution se met en pause uniquement pour les invites de permission d'agent et une [attente de limite d'utilisation](#when-a-run-hits-your-usage-limit). Pour l'approbation entre les étapes, exécutez chaque étape comme son propre workflow |

405| Pas d'accès direct au système de fichiers ou au shell à partir du workflow lui-même | Les agents lisent, écrivent et exécutent des commandes. Le script coordonne les agents |405| Pas d'accès direct au système de fichiers ou au shell à partir du workflow lui-même | Les agents lisent, écrivent et exécutent des commandes. Le script coordonne les agents |

406| Pas de chargement de module : un script qui contient `import()` échoue avant le démarrage de l'exécution | Le corps du script est du JavaScript pur. Mettez le travail qui nécessite une bibliothèque dans la tâche d'un agent |406| Pas de chargement de module : un script qui contient `import()` échoue avant le démarrage de l'exécution | Le corps du script est du JavaScript pur. Mettez le travail qui nécessite une bibliothèque dans la tâche d'un agent |

407| Jusqu'à 16 agents concurrents, moins lorsque Claude Code dispose de moins de CPU disponibles, y compris à l'intérieur d'un conteneur limité en CPU | Limite l'utilisation des ressources locales |407| Jusqu'à 16 agents concurrents par défaut, moins lorsque Claude Code dispose de moins de CPU disponibles, y compris à l'intérieur d'un conteneur limité en CPU. Pour modifier la limite, définissez [`CLAUDE_CODE_WORKFLOW_MAX_CONCURRENT_AGENTS`](/docs/fr/env-vars#variables) sur une valeur de 1 à 256, ce qui nécessite Claude Code v2.1.269 ou version ultérieure | Limite l'utilisation des ressources locales |

408| Dans un fan-out, les agents qui partagent le préfixe du prompt-cache du premier agent démarrent jusqu'à 5 secondes après par défaut | Tous sauf le premier lisent le [préfixe que le premier agent a mis en cache](#prompt-caching-in-a-fan-out) au lieu que chacun le traite sans cache |408| Dans un fan-out, les agents qui partagent le préfixe du prompt-cache du premier agent démarrent jusqu'à 5 secondes après par défaut | Tous sauf le premier lisent le [préfixe que le premier agent a mis en cache](#prompt-caching-in-a-fan-out) au lieu que chacun le traite sans cache |

409| Jusqu'à 4 096 éléments dans un seul appel `parallel()` ou `pipeline()` : le runtime rejette une liste plus longue avec une erreur | Un plafond silencieux supprimerait une partie de la charge de travail sans le dire au script |409| Jusqu'à 4 096 éléments dans un seul appel `parallel()` ou `pipeline()` : le runtime rejette une liste plus longue avec une erreur | Un plafond silencieux supprimerait une partie de la charge de travail sans le dire au script |

410| 1 000 agents au total par exécution | Empêche les boucles incontrôlées |410| 1 000 agents au total par exécution | Empêche les boucles incontrôlées |


440 440 

441Dans les sessions locales et cloud, quand Claude relance une exécution antérieure et que Claude Code ne peut pas trouver du tout les résultats sauvegardés de cette exécution, le relancement échoue avec une erreur `nothing to resume` au lieu de démarrer l'exécution à nouveau de son propre chef. Demandez à Claude de démarrer le workflow à nouveau en tant que nouvelle exécution.441Dans les sessions locales et cloud, quand Claude relance une exécution antérieure et que Claude Code ne peut pas trouver du tout les résultats sauvegardés de cette exécution, le relancement échoue avec une erreur `nothing to resume` au lieu de démarrer l'exécution à nouveau de son propre chef. Demandez à Claude de démarrer le workflow à nouveau en tant que nouvelle exécution.

442 442 

443<h3 id="when-a-run-hits-your-usage-limit">

444 Quand une exécution atteint votre limite d'utilisation

445</h3>

446 

447Quand un agent atteint votre limite d'utilisation [claude.ai](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset), l'exécution se met en pause plutôt que de faire échouer cet agent : les agents qui ont atteint la limite attendent la réinitialisation, et aucun nouvel agent ne démarre. Peu de temps après la réinitialisation de la limite, les agents en attente s'exécutent à nouveau et l'exécution continue d'elle-même. Nécessite Claude Code v2.1.271 ou ultérieur ; sur les versions antérieures, les agents affectés échouent.

448 

449Pendant que l'exécution attend, sa ligne de progression dans le panneau des tâches et l'en-tête [`/workflows`](#watch-the-run) affichent quand la limite se réinitialise.

450 

451L'exécution se met en pause uniquement quand tous ces éléments sont vrais ; quand l'un d'eux ne l'est pas, l'agent affecté échoue à la place :

452 

453* La session est interactive et connectée avec un abonnement claude.ai. Une exécution ne se met pas en pause en [mode non-interactif](/docs/fr/headless) avec `claude -p` ou l'[Agent SDK](/docs/fr/agent-sdk/overview), dans une [session en arrière-plan](/docs/fr/agent-view), ou dans une session coéquipier [Remote Control](/docs/fr/remote-control) ou [équipe d'agents](/docs/fr/agent-teams).

454* [`autoContinueAtUsageLimit`](/docs/fr/settings-reference#autocontinueatusagelimit) est activé, le même paramètre qui permet à la session elle-même d'[attendre la réinitialisation d'une limite d'utilisation](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset). Si vous le désactivez pendant une attente, l'attente se termine et les agents en attente échouent.

455* La limite se réinitialise dans les 24 heures. Une limite hebdomadaire peut se réinitialiser plus loin.

456* L'exécution n'a pas déjà attendu deux fois. Quand elle atteint la limite une troisième fois, l'agent échoue.

457 

443<h3 id="cost">458<h3 id="cost">

444 Coût459 Coût

445</h3>460</h3>

446 461 

447Un workflow génère de nombreux agents, donc une seule exécution peut utiliser significativement plus de tokens que de travailler à travers la même tâche en conversation. Les exécutions comptent vers l'utilisation de votre plan et les limites de débit comme toute autre session.462Un workflow génère de nombreux agents, donc une seule exécution peut utiliser significativement plus de tokens que de travailler à travers la même tâche en conversation. Les exécutions comptent vers l'utilisation de votre plan et les limites de débit.

448 463 

449Pour évaluer les dépenses avant de vous engager dans une tâche importante, exécutez d'abord le workflow sur un petit échantillon : un répertoire au lieu de l'ensemble du dépôt, ou une question étroite au lieu d'une question large. La vue `/workflows` affiche l'utilisation des tokens de chaque agent au fur et à mesure que l'exécution progresse, et vous pouvez arrêter l'exécution à tout moment, généralement sans perdre le travail terminé. [Reprendre après une pause](#resume-after-a-pause) couvre ce qu'une exécution arrêtée conserve. Les [limites d'agents](#behavior-and-limits) du runtime limitent le nombre d'agents qu'une seule exécution peut générer, ce qui limite le coût d'un script qui s'échappe. Pour garder les exécutions à moins d'agents, choisissez la directive de taille `small` [](#set-a-size-guideline).464Pour évaluer les dépenses avant de vous engager dans une tâche importante, exécutez d'abord le workflow sur un petit échantillon : un répertoire au lieu de l'ensemble du dépôt, ou une question étroite au lieu d'une question large. La vue `/workflows` affiche l'utilisation des tokens de chaque agent au fur et à mesure que l'exécution progresse, et vous pouvez arrêter l'exécution à tout moment, généralement sans perdre le travail terminé. [Reprendre après une pause](#resume-after-a-pause) couvre ce qu'une exécution arrêtée conserve. Les [limites d'agents](#behavior-and-limits) du runtime limitent le nombre d'agents qu'une seule exécution peut générer, ce qui limite le coût d'un script qui s'échappe. Pour garder les exécutions à moins d'agents, choisissez la directive de taille `small` [](#set-a-size-guideline).

450 465 


476| :------------- | :----------------------------------------------------------- |491| :------------- | :----------------------------------------------------------- |

477| `unrestricted` | Aucune directive : Claude dimensionne le workflow à la tâche |492| `unrestricted` | Aucune directive : Claude dimensionne le workflow à la tâche |

478| `small` | Moins de 5 agents |493| `small` | Moins de 5 agents |

479| `medium` | Moins de 15 agents |494| `medium` | Moins de 10 agents |

480| `large` | Moins de 50 agents |495| `large` | Moins de 50 agents |

481 496 

482La valeur par défaut est `medium`. Jusqu'à ce que vous choisissiez une valeur, la ligne `/config` affiche `medium (default)` et la ligne `Running in background` du workflow affiche `medium size (/config)`. Nécessite Claude Code v2.1.219 ou ultérieur ; les versions antérieures utilisent par défaut `unrestricted`.497La valeur par défaut est `medium`, ou `small` quand vous êtes connecté sur un plan Pro avec Claude Code v2.1.271 ou ultérieur. Jusqu'à ce que vous choisissiez une valeur, la ligne `/config` affiche la valeur comme par défaut, et la ligne `Running in background` du workflow affiche la taille en vigueur. Nécessite Claude Code v2.1.219 ou ultérieur ; les versions antérieures utilisent par défaut `unrestricted`.

483 498 

484Pour modifier la directive, choisissez une valeur pour le paramètre Dynamic workflow size dans `/config`, ou exécutez `/config workflowSizeGuideline=small`. Sur v2.1.219 et ultérieur, vous pouvez également définir la clé [`workflowSizeGuideline`](/docs/fr/settings-reference#workflowsizeguideline) dans n'importe quel fichier de paramètres ; cette valeur a la priorité sur `/config`, et Claude Code masque la ligne `/config` tandis qu'un fichier de paramètres en fournit une.499Pour modifier la directive, choisissez une valeur pour le paramètre Dynamic workflow size dans `/config`, ou exécutez `/config workflowSizeGuideline=small`. Sur v2.1.219 et ultérieur, vous pouvez également définir la clé [`workflowSizeGuideline`](/docs/fr/settings-reference#workflowsizeguideline) dans n'importe quel fichier de paramètres ; cette valeur a la priorité sur `/config`, et Claude Code masque la ligne `/config` tandis qu'un fichier de paramètres en fournit une.

485 500 

worktrees.md +5 −2

Details

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 :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 :

140 140 

141* Le worktree contient toujours du travail : fichiers modifiés ou non suivis, ou commits non poussés.141* Le worktree contient toujours du travail : fichiers modifiés ou non suivis, ou commits non poussés.

142* Claude Code ne peut pas déterminer quels pilotes de filtre la configuration du dépôt définit, dans l'un des [trois cas qui bloquent également la création de worktree](#git-lfs-content-is-missing-from-a-worktree-claude-code-created).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.

143* Le worktree appartient à une session `--worktree` que vous n'avez pas mise en arrière-plan, quel que soit son âge.143* 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.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.

145 145 


353 353 

354Pour obtenir les vrais fichiers, exécutez `git lfs pull` à l'intérieur du worktree.354Pour obtenir les vrais fichiers, exécutez `git lfs pull` à l'intérieur du worktree.

355 355 

356Dans trois cas rares, Claude Code ne peut pas dire quels pilotes de filtre la config du dépôt définit, et ne crée aucun worktree du tout. Faites correspondre l'erreur à sa correction :356Dans quatre cas rares, Claude Code crée aucun worktree du tout : il ne peut pas dire quels pilotes de filtre la config du dépôt définit, ou il trouve un paramètre là qu'il ne peut pas désactiver. Faites correspondre l'erreur à sa correction :

357 357 

358* **`Could not read the repository git config to neutralize filter drivers`** : Claude Code n'a pas pu lire le `.git/config` du dépôt, par exemple à cause de ses permissions. Corrigez cela et réessayez.358* **`Could not read the repository git config to neutralize filter drivers`** : Claude Code n'a pas pu lire le `.git/config` du dépôt, par exemple à cause de ses permissions. Corrigez cela et réessayez.

359* **`The repository git config defines a filter driver whose name cannot be neutralized (contains "=" or a newline)`** : renommez ou supprimez ce pilote de filtre dans `.git/config` et réessayez.359* **`The repository git config defines a filter driver whose name cannot be neutralized (contains "=" or a newline)`** : renommez ou supprimez ce pilote de filtre dans `.git/config` et réessayez.

360* **`The repository git config has a conditional include (includeIf)`** : déplacez les paramètres que l'`includeIf` dans `.git/config` récupère directement dans ce fichier, supprimez l'`includeIf`, et réessayez. Un `includeIf` dans votre config git global ne déclenche pas ceci.360* **`The repository git config has a conditional include (includeIf)`** : déplacez les paramètres que l'`includeIf` dans `.git/config` récupère directement dans ce fichier, supprimez l'`includeIf`, et réessayez. Un `includeIf` dans votre config git global ne déclenche pas ceci.

361* **`Git was not run: the repository's own git config sets <key>`** : le message nomme une clé qui pointe Git LFS vers un programme à exécuter, comme `lfs.customtransfer.<name>.path` ou `lfs.standalonetransferagent`. Si ce paramètre est le vôtre, déplacez-le vers votre config git global. Si vous ne le reconnaissez pas, supprimez-le du config git du dépôt, puisqu'un outil ou checkout auquel vous ne faites pas confiance peut l'avoir écrit. Réessayez une fois que la clé est partie du config du dépôt.

361 362 

362<h3 id="claude-code-refuses-to-use-a-worktree">363<h3 id="claude-code-refuses-to-use-a-worktree">

363 Claude Code refuse d'utiliser un worktree364 Claude Code refuse d'utiliser un worktree


406 407 

407La fin du refus intégrée dans chaque erreur est partagée avec les avis interactifs, donc elle correspond toujours à son entrée sous [Claude Code refuse d'utiliser un worktree](#claude-code-refuses-to-use-a-worktree).408La fin du refus intégrée dans chaque erreur est partagée avec les avis interactifs, donc elle correspond toujours à son entrée sous [Claude Code refuse d'utiliser un worktree](#claude-code-refuses-to-use-a-worktree).

408 409 

410Dans le résultat stream-json, [`startup_failure_reason`](/docs/fr/agent-sdk/typescript#startup_failure_reason) est `worktree_unverified` pour l'erreur `could not verify worktree` et `worktree_resume_refused` pour les erreurs `cannot resume into worktree` et `The worktree binding is kept`. Une application peut se brancher dessus au lieu de faire correspondre le texte d'erreur. Avant la v2.1.274, le résultat ne portait aucun champ `startup_failure_reason`.

411 

409<h2 id="see-also">412<h2 id="see-also">

410 Voir aussi413 Voir aussi

411</h2>414</h2>

Details

64Lorsque ZDR est activée pour une organisation Claude Code sur Claude for Enterprise, certaines fonctionnalités qui nécessitent de stocker les invites ou les complétions sont automatiquement désactivées au niveau du backend :64Lorsque ZDR est activée pour une organisation Claude Code sur Claude for Enterprise, certaines fonctionnalités qui nécessitent de stocker les invites ou les complétions sont automatiquement désactivées au niveau du backend :

65 65 

66| Fonctionnalité | Raison |66| Fonctionnalité | Raison |

67| ------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |67| --------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |

68| [Claude Code sur le Web](/docs/fr/claude-code-on-the-web) | Nécessite le stockage côté serveur de l'historique des conversations. |68| [Sessions cloud](/docs/fr/claude-code-on-the-web), y compris celles lancées depuis l'[application Desktop](/docs/fr/desktop#cloud-sessions) | Nécessite le stockage côté serveur des données de session, y compris l'historique des conversations avec les invites et les complétions. |

69| [Sessions distantes](/docs/fr/desktop#cloud-sessions) de l'application Desktop | Nécessite des données de session persistantes qui incluent les invites et les complétions. |

70| [Claude Tag](/docs/fr/claude-tag) | Conserve la mémoire du canal et les transcriptions de session. |69| [Claude Tag](/docs/fr/claude-tag) | Conserve la mémoire du canal et les transcriptions de session. |

71| [Artifacts](/docs/fr/artifacts) | Nécessite de stocker le contenu de la page publiée sur l'infrastructure exploitée par Anthropic. |70| [Artifacts](/docs/fr/artifacts) | Nécessite de stocker le contenu de la page publiée sur l'infrastructure exploitée par Anthropic. |

72| Soumission de commentaires (`/feedback`, `/bug`, `/share`) | La soumission de commentaires envoie les données de conversation à Anthropic. |71| Soumission de commentaires (`/feedback`, `/bug`, `/share`) | La soumission de commentaires envoie les données de conversation à Anthropic. |