SpyBara
Go Premium

Documentation 2026-05-05 23:00 UTC to 2026-05-07 22:59 UTC

32 files changed +1,501 −204. View all changes and history on the product overview
2026
Sun 31 06:39 Sat 30 06:23 Fri 29 06:38 Thu 28 06:37 Wed 27 06:42 Tue 26 06:33 Sun 24 06:25 Sat 23 06:18 Fri 22 06:33 Thu 21 06:36 Wed 20 06:35 Tue 19 06:34 Mon 18 23:59 Sun 17 01:01 Fri 15 22:58 Thu 14 17:02 Wed 13 23:01 Tue 12 22:57 Mon 11 23:00 Sun 10 23:03 Sat 9 04:57 Fri 8 22:00 Thu 7 22:59 Tue 5 23:00 Mon 4 22:58 Sat 2 18:14 Fri 1 18:19

agent-sdk/custom-tools.md +833 −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# Donner à Claude des outils personnalisés

6 

7> Définissez des outils personnalisés avec le serveur MCP en processus du SDK Agent pour que Claude puisse appeler vos fonctions, accéder à vos API et effectuer des opérations spécifiques au domaine.

8 

9Les outils personnalisés étendent le SDK Agent en vous permettant de définir vos propres fonctions que Claude peut appeler lors d'une conversation. En utilisant le serveur MCP en processus du SDK, vous pouvez donner à Claude accès aux bases de données, aux API externes, à la logique spécifique au domaine ou à toute autre capacité dont votre application a besoin.

10 

11Ce guide couvre comment définir des outils avec des schémas d'entrée et des gestionnaires, les regrouper dans un serveur MCP, les transmettre à `query`, et contrôler les outils auxquels Claude peut accéder. Il couvre également la gestion des erreurs, les annotations d'outils et le retour de contenu non textuel comme les images.

12 

13## Référence rapide

14 

15| Si vous voulez... | Faites ceci |

16| :----------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

17| Définir un outil | Utilisez [`@tool`](/fr/agent-sdk/python#tool) (Python) ou [`tool()`](/fr/agent-sdk/typescript#tool) (TypeScript) avec un nom, une description, un schéma et un gestionnaire. Voir [Créer un outil personnalisé](#create-a-custom-tool). |

18| Enregistrer un outil auprès de Claude | Enveloppez dans `create_sdk_mcp_server` / `createSdkMcpServer` et transmettez à `mcpServers` dans `query()`. Voir [Appeler un outil personnalisé](#call-a-custom-tool). |

19| Pré-approuver un outil | Ajoutez à vos outils autorisés. Voir [Configurer les outils autorisés](#configure-allowed-tools). |

20| Supprimer un outil intégré du contexte de Claude | Transmettez un tableau `tools` listant uniquement les outils intégrés que vous souhaitez. Voir [Configurer les outils autorisés](#configure-allowed-tools). |

21| Laisser Claude appeler les outils en parallèle | Définissez `readOnlyHint: true` sur les outils sans effets secondaires. Voir [Ajouter des annotations d'outils](#add-tool-annotations). |

22| Gérer les erreurs sans arrêter la boucle | Retournez `isError: true` au lieu de lever une exception. Voir [Gérer les erreurs](#handle-errors). |

23| Retourner des images ou des fichiers | Utilisez des blocs `image` ou `resource` dans le tableau de contenu. Voir [Retourner des images et des ressources](#return-images-and-resources). |

24| Retourner un résultat JSON lisible par machine | Définissez `structuredContent` sur le résultat. Voir [Retourner des données structurées](#return-structured-data). |

25| Adapter à de nombreux outils | Utilisez [la recherche d'outils](/fr/agent-sdk/tool-search) pour charger les outils à la demande. |

26 

27## Créer un outil personnalisé

28 

29Un outil est défini par quatre parties, transmises comme arguments à l'assistant [`tool()`](/fr/agent-sdk/typescript#tool) en TypeScript ou au décorateur [`@tool`](/fr/agent-sdk/python#tool) en Python :

30 

31* **Nom :** un identifiant unique que Claude utilise pour appeler l'outil.

32* **Description :** ce que fait l'outil. Claude lit ceci pour décider quand l'appeler.

33* **Schéma d'entrée :** les arguments que Claude doit fournir. En TypeScript, c'est toujours un [schéma Zod](https://zod.dev/), et les `args` du gestionnaire sont typés automatiquement à partir de celui-ci. En Python, c'est un dictionnaire mappant les noms aux types, comme `{"latitude": float}`, que le SDK convertit en JSON Schema pour vous. Le décorateur Python accepte également un dictionnaire [JSON Schema](https://json-schema.org/understanding-json-schema/about) complet directement quand vous avez besoin d'énumérations, de plages, de champs optionnels ou d'objets imbriqués.

34* **Gestionnaire :** la fonction asynchrone qui s'exécute quand Claude appelle l'outil. Elle reçoit les arguments validés et doit retourner un objet avec :

35 * `content` (obligatoire) : un tableau de blocs de résultats, chacun avec un `type` de `"text"`, `"image"` ou `"resource"`. Voir [Retourner des images et des ressources](#return-images-and-resources) pour les blocs non textuels.

36 * `structuredContent` (optionnel) : un objet JSON contenant le résultat sous forme de données lisibles par machine, retourné aux côtés de `content`. Voir [Retourner des données structurées](#return-structured-data).

37 * `isError` (optionnel) : définissez sur `true` pour signaler un échec d'outil afin que Claude puisse y réagir. Voir [Gérer les erreurs](#handle-errors).

38 

39Après avoir défini un outil, enveloppez-le dans un serveur avec [`createSdkMcpServer`](/fr/agent-sdk/typescript#createsdkmcpserver) (TypeScript) ou [`create_sdk_mcp_server`](/fr/agent-sdk/python#create_sdk_mcp_server) (Python). Le serveur s'exécute en processus à l'intérieur de votre application, pas comme un processus séparé.

40 

41### Exemple d'outil météo

42 

43Cet exemple définit un outil `get_temperature` et l'enveloppe dans un serveur MCP. Il configure uniquement l'outil ; pour le transmettre à `query` et l'exécuter, voir [Appeler un outil personnalisé](#call-a-custom-tool) ci-dessous.

44 

45<CodeGroup>

46 ```python Python theme={null}

47 from typing import Any

48 import httpx

49 from claude_agent_sdk import tool, create_sdk_mcp_server

50 

51 

52 # Define a tool: name, description, input schema, handler

53 @tool(

54 "get_temperature",

55 "Get the current temperature at a location",

56 {"latitude": float, "longitude": float},

57 )

58 async def get_temperature(args: dict[str, Any]) -> dict[str, Any]:

59 async with httpx.AsyncClient() as client:

60 response = await client.get(

61 "https://api.open-meteo.com/v1/forecast",

62 params={

63 "latitude": args["latitude"],

64 "longitude": args["longitude"],

65 "current": "temperature_2m",

66 "temperature_unit": "fahrenheit",

67 },

68 )

69 data = response.json()

70 

71 # Return a content array - Claude sees this as the tool result

72 return {

73 "content": [

74 {

75 "type": "text",

76 "text": f"Temperature: {data['current']['temperature_2m']}°F",

77 }

78 ]

79 }

80 

81 

82 # Wrap the tool in an in-process MCP server

83 weather_server = create_sdk_mcp_server(

84 name="weather",

85 version="1.0.0",

86 tools=[get_temperature],

87 )

88 ```

89 

90 ```typescript TypeScript theme={null}

91 import { tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";

92 import { z } from "zod";

93 

94 // Define a tool: name, description, input schema, handler

95 const getTemperature = tool(

96 "get_temperature",

97 "Get the current temperature at a location",

98 {

99 latitude: z.number().describe("Latitude coordinate"), // .describe() adds a field description Claude sees

100 longitude: z.number().describe("Longitude coordinate")

101 },

102 async (args) => {

103 // args is typed from the schema: { latitude: number; longitude: number }

104 const response = await fetch(

105 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&current=temperature_2m&temperature_unit=fahrenheit`

106 );

107 const data: any = await response.json();

108 

109 // Return a content array - Claude sees this as the tool result

110 return {

111 content: [{ type: "text", text: `Temperature: ${data.current.temperature_2m}°F` }]

112 };

113 }

114 );

115 

116 // Wrap the tool in an in-process MCP server

117 const weatherServer = createSdkMcpServer({

118 name: "weather",

119 version: "1.0.0",

120 tools: [getTemperature]

121 });

122 ```

123</CodeGroup>

124 

125Voir la référence TypeScript [`tool()`](/fr/agent-sdk/typescript#tool) ou la référence Python [`@tool`](/fr/agent-sdk/python#tool) pour les détails complets des paramètres, y compris les formats de schéma JSON et la structure des valeurs de retour.

126 

127<Tip>

128 Pour rendre un paramètre optionnel : en TypeScript, ajoutez `.default()` au champ Zod. En Python, le schéma dict traite chaque clé comme obligatoire, donc omettez le paramètre du schéma, mentionnez-le dans la chaîne de description, et lisez-le avec `args.get()` dans le gestionnaire. L'outil [`get_precipitation_chance` ci-dessous](#add-more-tools) montre les deux modèles.

129</Tip>

130 

131### Appeler un outil personnalisé

132 

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

134 

135Ces extraits réutilisent le `weatherServer` de l'[exemple ci-dessus](#weather-tool-example) pour demander à Claude quel est le temps dans un endroit spécifique.

136 

137<CodeGroup>

138 ```python Python theme={null}

139 import asyncio

140 from claude_agent_sdk import query, ClaudeAgentOptions, ResultMessage

141 

142 

143 async def main():

144 options = ClaudeAgentOptions(

145 mcp_servers={"weather": weather_server},

146 allowed_tools=["mcp__weather__get_temperature"],

147 )

148 

149 async for message in query(

150 prompt="What's the temperature in San Francisco?",

151 options=options,

152 ):

153 # ResultMessage is the final message after all tool calls complete

154 if isinstance(message, ResultMessage) and message.subtype == "success":

155 print(message.result)

156 

157 

158 asyncio.run(main())

159 ```

160 

161 ```typescript TypeScript theme={null}

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

163 

164 for await (const message of query({

165 prompt: "What's the temperature in San Francisco?",

166 options: {

167 mcpServers: { weather: weatherServer },

168 allowedTools: ["mcp__weather__get_temperature"]

169 }

170 })) {

171 // "result" is the final message after all tool calls complete

172 if (message.type === "result" && message.subtype === "success") {

173 console.log(message.result);

174 }

175 }

176 ```

177</CodeGroup>

178 

179### Ajouter plus d'outils

180 

181Un serveur contient autant d'outils que vous en listez dans son tableau `tools`. Avec plus d'un outil sur un serveur, vous pouvez lister chacun dans `allowedTools` individuellement ou utiliser le caractère générique `mcp__weather__*` pour couvrir tous les outils que le serveur expose.

182 

183L'exemple ci-dessous ajoute un deuxième outil, `get_precipitation_chance`, au `weatherServer` de l'[exemple d'outil météo](#weather-tool-example) et le reconstruit avec les deux outils dans le tableau.

184 

185<CodeGroup>

186 ```python Python theme={null}

187 # Define a second tool for the same server

188 @tool(

189 "get_precipitation_chance",

190 "Get the hourly precipitation probability for a location. "

191 "Optionally pass 'hours' (1-24) to control how many hours to return.",

192 {"latitude": float, "longitude": float},

193 )

194 async def get_precipitation_chance(args: dict[str, Any]) -> dict[str, Any]:

195 # 'hours' isn't in the schema - read it with .get() to make it optional

196 hours = args.get("hours", 12)

197 async with httpx.AsyncClient() as client:

198 response = await client.get(

199 "https://api.open-meteo.com/v1/forecast",

200 params={

201 "latitude": args["latitude"],

202 "longitude": args["longitude"],

203 "hourly": "precipitation_probability",

204 "forecast_days": 1,

205 },

206 )

207 data = response.json()

208 chances = data["hourly"]["precipitation_probability"][:hours]

209 

210 return {

211 "content": [

212 {

213 "type": "text",

214 "text": f"Next {hours} hours: {'%, '.join(map(str, chances))}%",

215 }

216 ]

217 }

218 

219 

220 # Rebuild the server with both tools in the array

221 weather_server = create_sdk_mcp_server(

222 name="weather",

223 version="1.0.0",

224 tools=[get_temperature, get_precipitation_chance],

225 )

226 ```

227 

228 ```typescript TypeScript theme={null}

229 // Define a second tool for the same server

230 const getPrecipitationChance = tool(

231 "get_precipitation_chance",

232 "Get the hourly precipitation probability for a location",

233 {

234 latitude: z.number(),

235 longitude: z.number(),

236 hours: z

237 .number()

238 .int()

239 .min(1)

240 .max(24)

241 .default(12) // .default() makes the parameter optional

242 .describe("How many hours of forecast to return")

243 },

244 async (args) => {

245 const response = await fetch(

246 `https://api.open-meteo.com/v1/forecast?latitude=${args.latitude}&longitude=${args.longitude}&hourly=precipitation_probability&forecast_days=1`

247 );

248 const data: any = await response.json();

249 const chances = data.hourly.precipitation_probability.slice(0, args.hours);

250 

251 return {

252 content: [{ type: "text", text: `Next ${args.hours} hours: ${chances.join("%, ")}%` }]

253 };

254 }

255 );

256 

257 // Rebuild the server with both tools in the array

258 const weatherServer = createSdkMcpServer({

259 name: "weather",

260 version: "1.0.0",

261 tools: [getTemperature, getPrecipitationChance]

262 });

263 ```

264</CodeGroup>

265 

266Chaque outil dans ce tableau consomme de l'espace de fenêtre de contexte à chaque tour. Si vous définissez des dizaines d'outils, voir [la recherche d'outils](/fr/agent-sdk/tool-search) pour les charger à la demande à la place.

267 

268### Ajouter des annotations d'outils

269 

270Les [annotations d'outils](https://modelcontextprotocol.io/docs/concepts/tools#tool-annotations) sont des métadonnées optionnelles décrivant le comportement d'un outil. Transmettez-les comme cinquième argument à l'assistant `tool()` en TypeScript ou via l'argument de mot-clé `annotations` pour le décorateur `@tool` en Python. Tous les champs d'indice sont des booléens.

271 

272| Champ | Par défaut | Signification |

273| :---------------- | :--------- | :--------------------------------------------------------------------------------------------------------------------------------- |

274| `readOnlyHint` | `false` | L'outil ne modifie pas son environnement. Contrôle si l'outil peut être appelé en parallèle avec d'autres outils en lecture seule. |

275| `destructiveHint` | `true` | L'outil peut effectuer des mises à jour destructrices. Informatif uniquement. |

276| `idempotentHint` | `false` | Les appels répétés avec les mêmes arguments n'ont aucun effet supplémentaire. Informatif uniquement. |

277| `openWorldHint` | `true` | L'outil atteint les systèmes en dehors de votre processus. Informatif uniquement. |

278 

279Les annotations sont des métadonnées, pas une application. Un outil marqué `readOnlyHint: true` peut toujours écrire sur le disque si c'est ce que fait le gestionnaire. Gardez l'annotation exacte par rapport au gestionnaire.

280 

281Cet exemple ajoute `readOnlyHint` à l'outil `get_temperature` de l'[exemple d'outil météo](#weather-tool-example).

282 

283<CodeGroup>

284 ```python Python theme={null}

285 from claude_agent_sdk import tool, ToolAnnotations

286 

287 

288 @tool(

289 "get_temperature",

290 "Get the current temperature at a location",

291 {"latitude": float, "longitude": float},

292 annotations=ToolAnnotations(

293 readOnlyHint=True

294 ), # Lets Claude batch this with other read-only calls

295 )

296 async def get_temperature(args):

297 return {"content": [{"type": "text", "text": "..."}]}

298 ```

299 

300 ```typescript TypeScript theme={null}

301 tool(

302 "get_temperature",

303 "Get the current temperature at a location",

304 { latitude: z.number(), longitude: z.number() },

305 async (args) => ({ content: [{ type: "text", text: `...` }] }),

306 { annotations: { readOnlyHint: true } } // Lets Claude batch this with other read-only calls

307 );

308 ```

309</CodeGroup>

310 

311Voir `ToolAnnotations` dans la référence [TypeScript](/fr/agent-sdk/typescript#toolannotations) ou [Python](/fr/agent-sdk/python#toolannotations).

312 

313## Contrôler l'accès aux outils

314 

315L'[exemple d'outil météo](#weather-tool-example) a enregistré un serveur et listé les outils dans `allowedTools`. Cette section couvre comment les noms d'outils sont construits et comment limiter l'accès quand vous avez plusieurs outils ou que vous souhaitez restreindre les outils intégrés.

316 

317### Format du nom d'outil

318 

319Quand les outils MCP sont exposés à Claude, leurs noms suivent un format spécifique :

320 

321* Modèle : `mcp__{server_name}__{tool_name}`

322* Exemple : Un outil nommé `get_temperature` dans le serveur `weather` devient `mcp__weather__get_temperature`

323 

324### Configurer les outils autorisés

325 

326L'option `tools` et les listes autorisées/interdites opèrent sur des couches séparées. `tools` contrôle quels outils intégrés apparaissent dans le contexte de Claude. Les listes d'outils autorisés et interdits contrôlent si les appels sont approuvés ou refusés une fois que Claude tente de les faire.

327 

328| Option | Couche | Effet |

329| :------------------------ | :------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

330| `tools: ["Read", "Grep"]` | Disponibilité | Seuls les outils intégrés listés sont dans le contexte de Claude. Les outils intégrés non listés sont supprimés. Les outils MCP ne sont pas affectés. |

331| `tools: []` | Disponibilité | Tous les outils intégrés sont supprimés. Claude ne peut utiliser que vos outils MCP. |

332| outils autorisés | Permission | Les outils listés s'exécutent sans invite de permission. Les outils non listés restent disponibles ; les appels passent par le [flux de permission](/fr/agent-sdk/permissions). |

333| outils interdits | Permission | Chaque appel à un outil listé est refusé. L'outil reste dans le contexte de Claude, donc Claude peut toujours tenter de l'utiliser avant que l'appel soit rejeté. |

334 

335Pour limiter les outils intégrés que Claude peut utiliser, préférez `tools` aux outils interdits. Omettre un outil de `tools` le supprime du contexte afin que Claude ne le tente jamais ; le lister dans `disallowedTools` (Python : `disallowed_tools`) bloque l'appel mais laisse l'outil visible, donc Claude peut gaspiller un tour en le tentant. Voir [Configurer les permissions](/fr/agent-sdk/permissions) pour l'ordre d'évaluation complet.

336 

337## Gérer les erreurs

338 

339La façon dont votre gestionnaire signale les erreurs détermine si la boucle d'agent continue ou s'arrête :

340 

341| Ce qui se passe | Résultat |

342| :---------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------- |

343| Le gestionnaire lève une exception non capturée | La boucle d'agent s'arrête. Claude ne voit jamais l'erreur, et l'appel `query` échoue. |

344| Le gestionnaire capture l'erreur et retourne `isError: true` (TS) / `"is_error": True` (Python) | La boucle d'agent continue. Claude voit l'erreur comme des données et peut réessayer, essayer un outil différent ou expliquer l'échec. |

345 

346L'exemple ci-dessous capture deux types d'échecs à l'intérieur du gestionnaire au lieu de les laisser lever. Un statut HTTP non-200 est capturé de la réponse et retourné comme un résultat d'erreur. Une erreur réseau ou un JSON invalide est capturé par le `try/except` (Python) ou `try/catch` (TypeScript) environnant et est également retourné comme un résultat d'erreur. Dans les deux cas, le gestionnaire retourne normalement et la boucle d'agent continue.

347 

348<CodeGroup>

349 ```python Python theme={null}

350 import json

351 import httpx

352 from typing import Any

353 

354 

355 @tool(

356 "fetch_data",

357 "Fetch data from an API",

358 {"endpoint": str}, # Simple schema

359 )

360 async def fetch_data(args: dict[str, Any]) -> dict[str, Any]:

361 try:

362 async with httpx.AsyncClient() as client:

363 response = await client.get(args["endpoint"])

364 if response.status_code != 200:

365 # Return the failure as a tool result so Claude can react to it.

366 # is_error marks this as a failed call rather than odd-looking data.

367 return {

368 "content": [

369 {

370 "type": "text",

371 "text": f"API error: {response.status_code} {response.reason_phrase}",

372 }

373 ],

374 "is_error": True,

375 }

376 

377 data = response.json()

378 return {"content": [{"type": "text", "text": json.dumps(data, indent=2)}]}

379 except Exception as e:

380 # Catching here keeps the agent loop alive. An uncaught exception

381 # would end the whole query() call.

382 return {

383 "content": [{"type": "text", "text": f"Failed to fetch data: {str(e)}"}],

384 "is_error": True,

385 }

386 ```

387 

388 ```typescript TypeScript theme={null}

389 tool(

390 "fetch_data",

391 "Fetch data from an API",

392 {

393 endpoint: z.string().url().describe("API endpoint URL")

394 },

395 async (args) => {

396 try {

397 const response = await fetch(args.endpoint);

398 

399 if (!response.ok) {

400 // Return the failure as a tool result so Claude can react to it.

401 // isError marks this as a failed call rather than odd-looking data.

402 return {

403 content: [

404 {

405 type: "text",

406 text: `API error: ${response.status} ${response.statusText}`

407 }

408 ],

409 isError: true

410 };

411 }

412 

413 const data = await response.json();

414 return {

415 content: [

416 {

417 type: "text",

418 text: JSON.stringify(data, null, 2)

419 }

420 ]

421 };

422 } catch (error) {

423 // Catching here keeps the agent loop alive. An uncaught throw

424 // would end the whole query() call.

425 return {

426 content: [

427 {

428 type: "text",

429 text: `Failed to fetch data: ${error instanceof Error ? error.message : String(error)}`

430 }

431 ],

432 isError: true

433 };

434 }

435 }

436 );

437 ```

438</CodeGroup>

439 

440## Retourner des images et des ressources

441 

442Le tableau `content` dans un résultat d'outil accepte les blocs `text`, `image` et `resource`. Vous pouvez les mélanger dans la même réponse.

443 

444### Images

445 

446Un bloc image porte les octets d'image en ligne, codés en base64. Il n'y a pas de champ URL. Pour retourner une image qui se trouve à une URL, récupérez-la dans le gestionnaire, lisez les octets de réponse et encodez-les en base64 avant de les retourner. Le résultat est traité comme une entrée visuelle.

447 

448| Champ | Type | Notes |

449| :--------- | :-------- | :-------------------------------------------------------------------------------------- |

450| `type` | `"image"` | |

451| `data` | `string` | Octets codés en base64. Base64 brut uniquement, pas de préfixe `data:image/...;base64,` |

452| `mimeType` | `string` | Obligatoire. Par exemple `image/png`, `image/jpeg`, `image/webp`, `image/gif` |

453 

454<CodeGroup>

455 ```python Python theme={null}

456 import base64

457 import httpx

458 

459 

460 # Define a tool that fetches an image from a URL and returns it to Claude

461 @tool("fetch_image", "Fetch an image from a URL and return it to Claude", {"url": str})

462 async def fetch_image(args):

463 async with httpx.AsyncClient() as client: # Fetch the image bytes

464 response = await client.get(args["url"])

465 

466 return {

467 "content": [

468 {

469 "type": "image",

470 "data": base64.b64encode(response.content).decode(

471 "ascii"

472 ), # Base64-encode the raw bytes

473 "mimeType": response.headers.get(

474 "content-type", "image/png"

475 ), # Read MIME type from the response

476 }

477 ]

478 }

479 ```

480 

481 ```typescript TypeScript theme={null}

482 tool(

483 "fetch_image",

484 "Fetch an image from a URL and return it to Claude",

485 {

486 url: z.string().url()

487 },

488 async (args) => {

489 const response = await fetch(args.url); // Fetch the image bytes

490 const buffer = Buffer.from(await response.arrayBuffer()); // Read into a Buffer for base64 encoding

491 const mimeType = response.headers.get("content-type") ?? "image/png";

492 

493 return {

494 content: [

495 {

496 type: "image",

497 data: buffer.toString("base64"), // Base64-encode the raw bytes

498 mimeType

499 }

500 ]

501 };

502 }

503 );

504 ```

505</CodeGroup>

506 

507### Ressources

508 

509Un bloc ressource intègre un morceau de contenu identifié par un URI. L'URI est un libellé pour que Claude le référence ; le contenu réel se trouve dans le champ `text` ou `blob` du bloc. Utilisez ceci quand votre outil produit quelque chose qui a du sens à adresser par nom plus tard, comme un fichier généré ou un enregistrement d'un système externe.

510 

511| Champ | Type | Notes |

512| :------------------ | :----------- | :-------------------------------------------------------------------- |

513| `type` | `"resource"` | |

514| `resource.uri` | `string` | Identifiant du contenu. N'importe quel schéma URI |

515| `resource.text` | `string` | Le contenu, s'il est textuel. Fournissez ceci ou `blob`, pas les deux |

516| `resource.blob` | `string` | Le contenu codé en base64, s'il est binaire |

517| `resource.mimeType` | `string` | Optionnel |

518 

519Cet exemple montre un bloc ressource retourné de l'intérieur d'un gestionnaire d'outil. L'URI `file:///tmp/report.md` est un libellé que Claude peut référencer plus tard ; le SDK ne lit pas à partir de ce chemin.

520 

521<CodeGroup>

522 ```typescript TypeScript theme={null}

523 return {

524 content: [

525 {

526 type: "resource",

527 resource: {

528 uri: "file:///tmp/report.md", // Label for Claude to reference, not a path the SDK reads

529 mimeType: "text/markdown",

530 text: "# Report\n..." // The actual content, inline

531 }

532 }

533 ]

534 };

535 ```

536 

537 ```python Python theme={null}

538 return {

539 "content": [

540 {

541 "type": "resource",

542 "resource": {

543 "uri": "file:///tmp/report.md", # Label for Claude to reference, not a path the SDK reads

544 "mimeType": "text/markdown",

545 "text": "# Report\n...", # The actual content, inline

546 },

547 }

548 ]

549 }

550 ```

551</CodeGroup>

552 

553Ces formes de bloc proviennent du type MCP `CallToolResult`. Voir la [spécification MCP](https://modelcontextprotocol.io/specification/2025-06-18/server/tools#tool-result) pour la définition complète.

554 

555## Retourner des données structurées

556 

557`structuredContent` est un objet JSON optionnel sur le résultat, séparé du tableau `content`. Utilisez-le pour retourner des valeurs brutes que Claude peut lire comme des champs exacts au lieu de les analyser à partir d'une chaîne de texte ou d'une image.

558 

559Quand `structuredContent` est défini, Claude reçoit le JSON plus tous les blocs image ou ressource de `content`. Les blocs de texte dans `content` ne sont pas transmis, car on suppose qu'ils dupliquent les données structurées. L'exemple ci-dessous rend un graphique sous forme de bloc image et retourne les points de données derrière lui dans `structuredContent` du même gestionnaire.

560 

561```typescript TypeScript theme={null}

562return {

563 content: [

564 {

565 type: "image",

566 data: chartPngBuffer.toString("base64"),

567 mimeType: "image/png"

568 }

569 ],

570 structuredContent: {

571 series: "temperature_2m",

572 unit: "fahrenheit",

573 points: [62.1, 63.4, 65.0, 64.2]

574 }

575};

576```

577 

578<Note>

579 Le décorateur Python `@tool` transmet uniquement `content` et `is_error` du dictionnaire de retour du gestionnaire. Pour retourner `structuredContent` de Python, exécutez un [serveur MCP autonome](/fr/agent-sdk/mcp) à la place d'un serveur SDK en processus.

580</Note>

581 

582## Exemple : convertisseur d'unités

583 

584Cet outil convertit les valeurs entre les unités de longueur, température et poids. Un utilisateur peut demander « convertir 100 kilomètres en miles » ou « qu'est-ce que 72°F en Celsius », et Claude choisit le bon type d'unité et les unités de la demande.

585 

586Il démontre deux modèles :

587 

588* **Schémas d'énumération :** `unit_type` est limité à un ensemble fixe de valeurs. En TypeScript, utilisez `z.enum()`. En Python, le schéma dict ne supporte pas les énumérations, donc le dictionnaire JSON Schema complet est requis.

589* **Gestion des entrées non supportées :** quand une paire de conversion n'est pas trouvée, le gestionnaire retourne `isError: true` afin que Claude puisse dire à l'utilisateur ce qui s'est mal passé au lieu de traiter un échec comme un résultat normal.

590 

591<CodeGroup>

592 ```python Python theme={null}

593 from typing import Any

594 from claude_agent_sdk import tool, create_sdk_mcp_server

595 

596 

597 # z.enum() in TypeScript becomes an "enum" constraint in JSON Schema.

598 # The dict schema has no equivalent, so full JSON Schema is required.

599 @tool(

600 "convert_units",

601 "Convert a value from one unit to another",

602 {

603 "type": "object",

604 "properties": {

605 "unit_type": {

606 "type": "string",

607 "enum": ["length", "temperature", "weight"],

608 "description": "Category of unit",

609 },

610 "from_unit": {

611 "type": "string",

612 "description": "Unit to convert from, e.g. kilometers, fahrenheit, pounds",

613 },

614 "to_unit": {"type": "string", "description": "Unit to convert to"},

615 "value": {"type": "number", "description": "Value to convert"},

616 },

617 "required": ["unit_type", "from_unit", "to_unit", "value"],

618 },

619 )

620 async def convert_units(args: dict[str, Any]) -> dict[str, Any]:

621 conversions = {

622 "length": {

623 "kilometers_to_miles": lambda v: v * 0.621371,

624 "miles_to_kilometers": lambda v: v * 1.60934,

625 "meters_to_feet": lambda v: v * 3.28084,

626 "feet_to_meters": lambda v: v * 0.3048,

627 },

628 "temperature": {

629 "celsius_to_fahrenheit": lambda v: (v * 9) / 5 + 32,

630 "fahrenheit_to_celsius": lambda v: (v - 32) * 5 / 9,

631 "celsius_to_kelvin": lambda v: v + 273.15,

632 "kelvin_to_celsius": lambda v: v - 273.15,

633 },

634 "weight": {

635 "kilograms_to_pounds": lambda v: v * 2.20462,

636 "pounds_to_kilograms": lambda v: v * 0.453592,

637 "grams_to_ounces": lambda v: v * 0.035274,

638 "ounces_to_grams": lambda v: v * 28.3495,

639 },

640 }

641 

642 key = f"{args['from_unit']}_to_{args['to_unit']}"

643 fn = conversions.get(args["unit_type"], {}).get(key)

644 

645 if not fn:

646 return {

647 "content": [

648 {

649 "type": "text",

650 "text": f"Unsupported conversion: {args['from_unit']} to {args['to_unit']}",

651 }

652 ],

653 "is_error": True,

654 }

655 

656 result = fn(args["value"])

657 return {

658 "content": [

659 {

660 "type": "text",

661 "text": f"{args['value']} {args['from_unit']} = {result:.4f} {args['to_unit']}",

662 }

663 ]

664 }

665 

666 

667 converter_server = create_sdk_mcp_server(

668 name="converter",

669 version="1.0.0",

670 tools=[convert_units],

671 )

672 ```

673 

674 ```typescript TypeScript theme={null}

675 import { tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";

676 import { z } from "zod";

677 

678 const convert = tool(

679 "convert_units",

680 "Convert a value from one unit to another",

681 {

682 unit_type: z.enum(["length", "temperature", "weight"]).describe("Category of unit"),

683 from_unit: z

684 .string()

685 .describe("Unit to convert from, e.g. kilometers, fahrenheit, pounds"),

686 to_unit: z.string().describe("Unit to convert to"),

687 value: z.number().describe("Value to convert")

688 },

689 async (args) => {

690 type Conversions = Record<string, Record<string, (v: number) => number>>;

691 

692 const conversions: Conversions = {

693 length: {

694 kilometers_to_miles: (v) => v * 0.621371,

695 miles_to_kilometers: (v) => v * 1.60934,

696 meters_to_feet: (v) => v * 3.28084,

697 feet_to_meters: (v) => v * 0.3048

698 },

699 temperature: {

700 celsius_to_fahrenheit: (v) => (v * 9) / 5 + 32,

701 fahrenheit_to_celsius: (v) => ((v - 32) * 5) / 9,

702 celsius_to_kelvin: (v) => v + 273.15,

703 kelvin_to_celsius: (v) => v - 273.15

704 },

705 weight: {

706 kilograms_to_pounds: (v) => v * 2.20462,

707 pounds_to_kilograms: (v) => v * 0.453592,

708 grams_to_ounces: (v) => v * 0.035274,

709 ounces_to_grams: (v) => v * 28.3495

710 }

711 };

712 

713 const key = `${args.from_unit}_to_${args.to_unit}`;

714 const fn = conversions[args.unit_type]?.[key];

715 

716 if (!fn) {

717 return {

718 content: [

719 {

720 type: "text",

721 text: `Unsupported conversion: ${args.from_unit} to ${args.to_unit}`

722 }

723 ],

724 isError: true

725 };

726 }

727 

728 const result = fn(args.value);

729 return {

730 content: [

731 {

732 type: "text",

733 text: `${args.value} ${args.from_unit} = ${result.toFixed(4)} ${args.to_unit}`

734 }

735 ]

736 };

737 }

738 );

739 

740 const converterServer = createSdkMcpServer({

741 name: "converter",

742 version: "1.0.0",

743 tools: [convert]

744 });

745 ```

746</CodeGroup>

747 

748Une fois le serveur défini, transmettez-le à `query` de la même manière que l'exemple météo. Cet exemple envoie trois invites différentes dans une boucle pour montrer le même outil gérant différents types d'unités. Pour chaque réponse, il inspecte les objets `AssistantMessage` (qui contiennent les appels d'outils que Claude a effectués pendant ce tour) et imprime chaque `ToolUseBlock` avant d'imprimer le texte final de `ResultMessage`. Cela vous permet de voir quand Claude utilise l'outil par rapport à répondre à partir de ses propres connaissances.

749 

750<CodeGroup>

751 ```python Python theme={null}

752 import asyncio

753 from claude_agent_sdk import (

754 query,

755 ClaudeAgentOptions,

756 ResultMessage,

757 AssistantMessage,

758 ToolUseBlock,

759 )

760 

761 

762 async def main():

763 options = ClaudeAgentOptions(

764 mcp_servers={"converter": converter_server},

765 allowed_tools=["mcp__converter__convert_units"],

766 )

767 

768 prompts = [

769 "Convert 100 kilometers to miles.",

770 "What is 72°F in Celsius?",

771 "How many pounds is 5 kilograms?",

772 ]

773 

774 for prompt in prompts:

775 async for message in query(prompt=prompt, options=options):

776 if isinstance(message, AssistantMessage):

777 for block in message.content:

778 if isinstance(block, ToolUseBlock):

779 print(f"[tool call] {block.name}({block.input})")

780 elif isinstance(message, ResultMessage) and message.subtype == "success":

781 print(f"Q: {prompt}\nA: {message.result}\n")

782 

783 

784 asyncio.run(main())

785 ```

786 

787 ```typescript TypeScript theme={null}

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

789 

790 const prompts = [

791 "Convert 100 kilometers to miles.",

792 "What is 72°F in Celsius?",

793 "How many pounds is 5 kilograms?"

794 ];

795 

796 for (const prompt of prompts) {

797 for await (const message of query({

798 prompt,

799 options: {

800 mcpServers: { converter: converterServer },

801 allowedTools: ["mcp__converter__convert_units"]

802 }

803 })) {

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

805 for (const block of message.message.content) {

806 if (block.type === "tool_use") {

807 console.log(`[tool call] ${block.name}`, block.input);

808 }

809 }

810 } else if (message.type === "result" && message.subtype === "success") {

811 console.log(`Q: ${prompt}\nA: ${message.result}\n`);

812 }

813 }

814 }

815 ```

816</CodeGroup>

817 

818## Étapes suivantes

819 

820Les outils personnalisés enveloppent les fonctions asynchrones dans une interface standard. Vous pouvez mélanger les modèles de cette page dans le même serveur : un seul serveur peut contenir un outil de base de données, un outil de passerelle API et un moteur de rendu d'image côte à côte.

821 

822À partir d'ici :

823 

824* Si votre serveur grandit à des dizaines d'outils, voir [la recherche d'outils](/fr/agent-sdk/tool-search) pour différer le chargement jusqu'à ce que Claude en ait besoin.

825* Pour vous connecter à des serveurs MCP externes (système de fichiers, GitHub, Slack) au lieu de construire les vôtres, voir [Connecter les serveurs MCP](/fr/agent-sdk/mcp).

826* Pour contrôler quels outils s'exécutent automatiquement par rapport à ceux nécessitant une approbation, voir [Configurer les permissions](/fr/agent-sdk/permissions).

827 

828## Documentation connexe

829 

830* [Référence du SDK TypeScript](/fr/agent-sdk/typescript)

831* [Référence du SDK Python](/fr/agent-sdk/python)

832* [Documentation MCP](https://modelcontextprotocol.io)

833* [Aperçu du SDK](/fr/agent-sdk/overview)

Details

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

758 system_prompt: str | SystemPromptPreset | None = None758 system_prompt: str | SystemPromptPreset | None = None

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

760 strict_mcp_config: bool = False

760 permission_mode: PermissionMode | None = None761 permission_mode: PermissionMode | None = None

761 continue_conversation: bool = False762 continue_conversation: bool = False

762 resume: str | None = None763 resume: str | None = None


781 hooks: dict[HookEvent, list[HookMatcher]] | None = None782 hooks: dict[HookEvent, list[HookMatcher]] | None = None

782 user: str | None = None783 user: str | None = None

783 include_partial_messages: bool = False784 include_partial_messages: bool = False

785 include_hook_events: bool = False

784 fork_session: bool = False786 fork_session: bool = False

785 agents: dict[str, AgentDefinition] | None = None787 agents: dict[str, AgentDefinition] | None = None

786 setting_sources: list[SettingSource] | None = None788 setting_sources: list[SettingSource] | None = None


788 plugins: list[SdkPluginConfig] = field(default_factory=list)790 plugins: list[SdkPluginConfig] = field(default_factory=list)

789 max_thinking_tokens: int | None = None # Deprecated: use thinking instead791 max_thinking_tokens: int | None = None # Deprecated: use thinking instead

790 thinking: ThinkingConfig | None = None792 thinking: ThinkingConfig | None = None

791 effort: Literal["low", "medium", "high", "max"] | None = None793 effort: Literal["low", "medium", "high", "xhigh", "max"] | None = None

792 enable_file_checkpointing: bool = False794 enable_file_checkpointing: bool = False

793 session_store: SessionStore | None = None795 session_store: SessionStore | None = None

794 session_store_flush: SessionStoreFlushMode = "batched"796 session_store_flush: SessionStoreFlushMode = "batched"


800| `allowed_tools` | `list[str]` | `[]` | Outils à approuver automatiquement sans demander. Ceci ne restreint pas Claude à seulement ces outils ; les outils non listés passent par `permission_mode` et `can_use_tool`. Utilisez `disallowed_tools` pour bloquer les outils. Voir [Permissions](/fr/agent-sdk/permissions#allow-and-deny-rules) |802| `allowed_tools` | `list[str]` | `[]` | Outils à approuver automatiquement sans demander. Ceci ne restreint pas Claude à seulement ces outils ; les outils non listés passent par `permission_mode` et `can_use_tool`. Utilisez `disallowed_tools` pour bloquer les outils. Voir [Permissions](/fr/agent-sdk/permissions#allow-and-deny-rules) |

801| `system_prompt` | `str \| SystemPromptPreset \| None` | `None` | Configuration du prompt système. Passez une chaîne pour un prompt personnalisé, ou utilisez `{"type": "preset", "preset": "claude_code"}` pour le prompt système de Claude Code. Ajoutez `"append"` pour étendre le preset |803| `system_prompt` | `str \| SystemPromptPreset \| None` | `None` | Configuration du prompt système. Passez une chaîne pour un prompt personnalisé, ou utilisez `{"type": "preset", "preset": "claude_code"}` pour le prompt système de Claude Code. Ajoutez `"append"` pour étendre le preset |

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

805| `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 et les serveurs MCP fournis par les plugins. Correspond à l'indicateur CLI `--strict-mcp-config` |

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

804| `continue_conversation` | `bool` | `False` | Continuer la conversation la plus récente |807| `continue_conversation` | `bool` | `False` | Continuer la conversation la plus récente |

805| `resume` | `str \| None` | `None` | ID de session à reprendre |808| `resume` | `str \| None` | `None` | ID de session à reprendre |


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

817| `settings` | `str \| None` | `None` | Chemin vers le fichier de paramètres |820| `settings` | `str \| None` | `None` | Chemin vers le fichier de paramètres |

818| `add_dirs` | `list[str \| Path]` | `[]` | Répertoires supplémentaires auxquels Claude peut accéder |821| `add_dirs` | `list[str \| Path]` | `[]` | Répertoires supplémentaires auxquels Claude peut accéder |

819| `env` | `dict[str, str]` | `{}` | Variables d'environnement fusionnées au-dessus de l'environnement de processus hérité. Voir [Variables d'environnement](/fr/env-vars) pour les variables que le CLI sous-jacent lit |822| `env` | `dict[str, str]` | `{}` | Variables d'environnement fusionnées au-dessus de l'environnement de processus hérité. Voir [Variables d'environnement](/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 |

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

821| `max_buffer_size` | `int \| None` | `None` | Octets maximum lors de la mise en buffer de la sortie standard du CLI |824| `max_buffer_size` | `int \| None` | `None` | Octets maximum lors de la mise en buffer de la sortie standard du CLI |

822| `debug_stderr` | `Any` | `sys.stderr` | *Déprécié* - Objet de type fichier pour la sortie de débogage. Utilisez plutôt le callback `stderr` |825| `debug_stderr` | `Any` | `sys.stderr` | *Déprécié* - Objet de type fichier pour la sortie de débogage. Utilisez plutôt le callback `stderr` |


825| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Configurations de hook pour intercepter les événements |828| `hooks` | `dict[HookEvent, list[HookMatcher]] \| None` | `None` | Configurations de hook pour intercepter les événements |

826| `user` | `str \| None` | `None` | Identifiant utilisateur |829| `user` | `str \| None` | `None` | Identifiant utilisateur |

827| `include_partial_messages` | `bool` | `False` | Inclure les événements de streaming de messages partiels. Quand activé, les messages [`StreamEvent`](#streamevent) sont produits |830| `include_partial_messages` | `bool` | `False` | Inclure les événements de streaming de messages partiels. Quand activé, les messages [`StreamEvent`](#streamevent) sont produits |

831| `include_hook_events` | `bool` | `False` | Inclure les événements du cycle de vie des hooks dans le flux de messages en tant qu'objets `HookEventMessage` |

828| `fork_session` | `bool` | `False` | Quand reprendre avec `resume`, bifurquer vers un nouvel ID de session au lieu de continuer la session originale |832| `fork_session` | `bool` | `False` | Quand reprendre avec `resume`, bifurquer vers un nouvel ID de session au lieu de continuer la session originale |

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

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


832| `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. Voir [Utiliser les fonctionnalités de Claude Code](/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) |836| `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. Voir [Utiliser les fonctionnalités de Claude Code](/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

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

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

835| `effort` | `Literal["low", "medium", "high", "max"] \| None` | `None` | Niveau d'effort pour la profondeur de réflexion |839| `effort` | `Literal["low", "medium", "high", "xhigh", "max"] \| None` | `None` | Niveau d'effort pour la profondeur de réflexion |

836| `session_store` | [`SessionStore`](/fr/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Miroir les transcriptions de session vers un backend externe pour que n'importe quel hôte puisse les reprendre. Voir [Persister les sessions vers un stockage externe](/fr/agent-sdk/session-storage) |840| `session_store` | [`SessionStore`](/fr/agent-sdk/session-storage#the-sessionstore-interface) ` \| None` | `None` | Miroir les transcriptions de session vers un backend externe pour que n'importe quel hôte puisse les reprendre. Voir [Persister les sessions vers un stockage externe](/fr/agent-sdk/session-storage) |

837| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Quand vider les entrées de transcription en miroir vers `session_store`. `"batched"` vide une fois par tour ou quand le buffer se remplit ; `"eager"` déclenche un vidage en arrière-plan après chaque frame. Ignoré quand `session_store` est `None` |841| `session_store_flush` | `Literal["batched", "eager"]` | `"batched"` | Quand vider les entrées de transcription en miroir vers `session_store`. `"batched"` vide une fois par tour ou quand le buffer se remplit ; `"eager"` déclenche un vidage en arrière-plan après chaque frame. Ignoré quand `session_store` est `None` |

838 842 

843#### Gérer les réponses API lentes ou bloquées

844 

845Le sous-processus CLI lit plusieurs variables d'environnement qui contrôlent les délais d'expiration de l'API et la détection de blocage. Passez-les via `ClaudeAgentOptions.env` :

846 

847```python theme={null}

848options = ClaudeAgentOptions(

849 env={

850 "API_TIMEOUT_MS": "120000",

851 "CLAUDE_CODE_MAX_RETRIES": "2",

852 "CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS": "120000",

853 },

854)

855```

856 

857* `API_TIMEOUT_MS` : délai d'expiration par requête sur le client Anthropic, en millisecondes. Par défaut `600000`. S'applique à la boucle principale et à tous les sous-agents.

858* `CLAUDE_CODE_MAX_RETRIES` : nombre maximum de tentatives API. Par défaut `10`. Chaque tentative obtient sa propre fenêtre `API_TIMEOUT_MS`, donc le pire temps mural est approximativement `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus le backoff.

859* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` : chien de garde de blocage pour les sous-agents lancés avec `run_in_background`. Par défaut `600000`. Réinitialise à chaque événement de flux ; en cas de blocage, il abandonne le sous-agent, marque la tâche comme échouée et expose l'erreur au parent avec tout résultat partiel. Ne s'applique pas aux sous-agents synchrones.

860* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` : abandonne la requête quand les en-têtes sont arrivés mais le corps de la réponse cesse de faire du streaming. Désactivé par défaut. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` par défaut à `300000` et est limité à ce minimum. La requête abandonnée passe par le chemin de tentative normal.

861 

839### `OutputFormat`862### `OutputFormat`

840 863 

841Configuration pour la validation de sortie structurée. Passez ceci comme un `dict` au champ `output_format` sur `ClaudeAgentOptions` :864Configuration pour la validation de sortie structurée. Passez ceci comme un `dict` au champ `output_format` sur `ClaudeAgentOptions` :


1015 initialPrompt: str | None = None1038 initialPrompt: str | None = None

1016 maxTurns: int | None = None1039 maxTurns: int | None = None

1017 background: bool | None = None1040 background: bool | None = None

1018 effort: Literal["low", "medium", "high", "max"] | int | None = None1041 effort: Literal["low", "medium", "high", "xhigh", "max"] | int | None = None

1019 permissionMode: PermissionMode | None = None1042 permissionMode: PermissionMode | None = None

1020```1043```

1021 1044 


1080class ToolPermissionContext:1103class ToolPermissionContext:

1081 signal: Any | None = None # Future: abort signal support1104 signal: Any | None = None # Future: abort signal support

1082 suggestions: list[PermissionUpdate] = field(default_factory=list)1105 suggestions: list[PermissionUpdate] = field(default_factory=list)

1106 blocked_path: str | None = None

1107 decision_reason: str | None = None

1108 title: str | None = None

1109 display_name: str | None = None

1110 description: str | None = None

1083```1111```

1084 1112 

1085| Champ | Type | Description |1113| Champ | Type | Description |

1086| :------------ | :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |1114| :---------------- | :----------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

1087| `signal` | `Any \| None` | Réservé pour le support futur du signal d'abandon |1115| `signal` | `Any \| None` | Réservé pour le support futur du signal d'abandon |

1088| `suggestions` | `list[PermissionUpdate]` | Suggestions de mise à jour de permission du CLI. Les prompts Bash incluent une suggestion avec la destination `localSettings`, donc la retourner dans `updated_permissions` écrit la règle dans `.claude/settings.local.json` et persiste entre les sessions. |1116| `suggestions` | `list[PermissionUpdate]` | Suggestions de mise à jour de permission du CLI. Les prompts Bash incluent une suggestion avec la destination `localSettings`, donc la retourner dans `updated_permissions` écrit la règle dans `.claude/settings.local.json` et persiste entre les sessions. |

1117| `blocked_path` | `str \| None` | Chemin de fichier qui a déclenché la demande de permission, le cas échéant. Par exemple, quand une commande Bash essaie d'accéder à un chemin en dehors des répertoires autorisés |

1118| `decision_reason` | `str \| None` | Raison pour laquelle cette demande de permission a été déclenchée. Transférée depuis le `permissionDecisionReason` d'un hook PreToolUse quand le hook a retourné `"ask"` |

1119| `title` | `str \| None` | Phrase complète du prompt de permission, telle que `Claude wants to read foo.txt`. Utilisez comme texte du prompt principal quand présent |

1120| `display_name` | `str \| None` | Phrase nominale courte pour l'action de l'outil, telle que `Read file`, appropriée pour les étiquettes de bouton |

1121| `description` | `str \| None` | Sous-titre lisible pour l'interface utilisateur de permission |

1089 1122 

1090### `PermissionResult`1123### `PermissionResult`

1091 1124 


1466 is_error: bool1499 is_error: bool

1467 num_turns: int1500 num_turns: int

1468 session_id: str1501 session_id: str

1502 stop_reason: str | None = None

1469 total_cost_usd: float | None = None1503 total_cost_usd: float | None = None

1470 usage: dict[str, Any] | None = None1504 usage: dict[str, Any] | None = None

1471 result: str | None = None1505 result: str | None = None

1472 stop_reason: str | None = None

1473 structured_output: Any = None1506 structured_output: Any = None

1474 model_usage: dict[str, Any] | None = None1507 model_usage: dict[str, Any] | None = None

1508 permission_denials: list[Any] | None = None

1509 deferred_tool_use: DeferredToolUse | None = None

1510 errors: list[str] | None = None

1511 api_error_status: int | None = None

1512 uuid: str | None = None

1475```1513```

1476 1514 

1477Le dict `usage` contient les clés suivantes quand présentes :1515Le dict `usage` contient les clés suivantes quand présentes :


2128```python theme={null}2166```python theme={null}

2129class PreToolUseHookSpecificOutput(TypedDict):2167class PreToolUseHookSpecificOutput(TypedDict):

2130 hookEventName: Literal["PreToolUse"]2168 hookEventName: Literal["PreToolUse"]

2131 permissionDecision: NotRequired[Literal["allow", "deny", "ask"]]2169 permissionDecision: NotRequired[Literal["allow", "deny", "ask", "defer"]]

2132 permissionDecisionReason: NotRequired[str]2170 permissionDecisionReason: NotRequired[str]

2133 updatedInput: NotRequired[dict[str, Any]]2171 updatedInput: NotRequired[dict[str, Any]]

2134 additionalContext: NotRequired[str]2172 additionalContext: NotRequired[str]


2137class PostToolUseHookSpecificOutput(TypedDict):2175class PostToolUseHookSpecificOutput(TypedDict):

2138 hookEventName: Literal["PostToolUse"]2176 hookEventName: Literal["PostToolUse"]

2139 additionalContext: NotRequired[str]2177 additionalContext: NotRequired[str]

2178 updatedToolOutput: NotRequired[Any]

2140 updatedMCPToolOutput: NotRequired[Any]2179 updatedMCPToolOutput: NotRequired[Any]

2141 2180 

2142 2181 

Details

8 8 

9<script src="/components/typescript-sdk-type-links.js" defer />9<script src="/components/typescript-sdk-type-links.js" defer />

10 10 

11<Note>

12 **Essayez la nouvelle interface V2 (aperçu) :** Une interface simplifiée avec les modèles `send()` et `stream()` est maintenant disponible, ce qui facilite les conversations multi-tours. [En savoir plus sur l'aperçu TypeScript V2](/fr/agent-sdk/typescript-v2-preview)

13</Note>

14 

15## Installation11## Installation

16 12 

17```bash theme={null}13```bash theme={null}


335| `disallowedTools` | `string[]` | `[]` | Outils à toujours refuser. Les règles de refus sont vérifiées en premier et remplacent `allowedTools` et `permissionMode` (y compris `bypassPermissions`) |331| `disallowedTools` | `string[]` | `[]` | Outils à toujours refuser. Les règles de refus sont vérifiées en premier et remplacent `allowedTools` et `permissionMode` (y compris `bypassPermissions`) |

336| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `'high'` | Contrôle l'effort que Claude met dans sa réponse. Fonctionne avec la réflexion adaptative pour guider la profondeur de réflexion |332| `effort` | `'low' \| 'medium' \| 'high' \| 'xhigh' \| 'max'` | `'high'` | Contrôle l'effort que Claude met dans sa réponse. Fonctionne avec la réflexion adaptative pour guider la profondeur de réflexion |

337| `enableFileCheckpointing` | `boolean` | `false` | Activer le suivi des modifications de fichiers pour le rembobinage. Voir [Sauvegarde de fichiers](/fr/agent-sdk/file-checkpointing) |333| `enableFileCheckpointing` | `boolean` | `false` | Activer le suivi des modifications de fichiers pour le rembobinage. Voir [Sauvegarde de fichiers](/fr/agent-sdk/file-checkpointing) |

338| `env` | `Record<string, string \| undefined>` | `process.env` | Variables d'environnement. Voir [Variables d'environnement](/fr/env-vars) pour les variables que la CLI sous-jacente lit. Définissez `CLAUDE_AGENT_SDK_CLIENT_APP` pour identifier votre application dans l'en-tête User-Agent |334| `env` | `Record<string, string \| undefined>` | `process.env` | Variables d'environnement. Voir [Variables d'environnement](/fr/env-vars) pour les variables que la CLI sous-jacente 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. Définissez `CLAUDE_AGENT_SDK_CLIENT_APP` pour identifier votre application dans l'en-tête User-Agent |

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

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

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


360| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Configurer le comportement du sandbox par programmation. Voir [Paramètres du sandbox](#sandboxsettings) pour les détails |356| `sandbox` | [`SandboxSettings`](#sandboxsettings) | `undefined` | Configurer le comportement du sandbox par programmation. Voir [Paramètres du sandbox](#sandboxsettings) pour les détails |

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

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

359| `settings` | `string \| Settings` | `undefined` | Objet [paramètres](/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](/fr/settings#settings-precedence). Modifiez à l'exécution avec [`applyFlagSettings()`](#applyflagsettings) |

363| `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. Les paramètres de politique gérée se chargent indépendamment. Voir [Utiliser les fonctionnalités Claude Code](/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) |360| `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. Les paramètres de politique gérée se chargent indépendamment. Voir [Utiliser les fonctionnalités Claude Code](/fr/agent-sdk/claude-code-features#what-settingsources-does-not-control) |

364| `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 |361| `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 |

365| `stderr` | `(data: string) => void` | `undefined` | Rappel pour la sortie stderr |362| `stderr` | `(data: string) => void` | `undefined` | Rappel pour la sortie stderr |


369| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Configuration pour le comportement des outils intégrés. Voir [`ToolConfig`](#toolconfig) pour les détails |366| `toolConfig` | [`ToolConfig`](#toolconfig) | `undefined` | Configuration pour le comportement des outils intégrés. Voir [`ToolConfig`](#toolconfig) pour les détails |

370| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Configuration des outils. Passez un tableau de noms d'outils ou utilisez le prédéfini pour obtenir les outils par défaut de Claude Code |367| `tools` | `string[] \| { type: 'preset'; preset: 'claude_code' }` | `undefined` | Configuration des outils. Passez un tableau de noms d'outils ou utilisez le prédéfini pour obtenir les outils par défaut de Claude Code |

371 368 

369#### Gérer les réponses API lentes ou bloquées

370 

371Le sous-processus CLI lit plusieurs variables d'environnement qui contrôlent les délais d'expiration de l'API et la détection de blocage. Transmettez-les via l'option `env` :

372 

373```typescript theme={null}

374const result = query({

375 prompt: "Analyze this code",

376 options: {

377 env: {

378 ...process.env,

379 API_TIMEOUT_MS: "120000",

380 CLAUDE_CODE_MAX_RETRIES: "2",

381 CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS: "120000",

382 },

383 },

384});

385```

386 

387* `API_TIMEOUT_MS` : délai d'expiration par requête sur le client Anthropic, en millisecondes. Par défaut `600000`. S'applique à la boucle principale et à tous les sous-agents.

388* `CLAUDE_CODE_MAX_RETRIES` : tentatives API maximales. Par défaut `10`. Chaque tentative obtient sa propre fenêtre `API_TIMEOUT_MS`, donc le pire cas de temps mural est approximativement `API_TIMEOUT_MS × (CLAUDE_CODE_MAX_RETRIES + 1)` plus le backoff.

389* `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` : chien de garde de blocage pour les sous-agents lancés avec `run_in_background`. Par défaut `600000`. Réinitialise à chaque événement de flux ; en cas de blocage, il abandonne le sous-agent, marque la tâche comme échouée et expose l'erreur au parent avec tout résultat partiel. Ne s'applique pas aux sous-agents synchrones.

390* `CLAUDE_ENABLE_STREAM_WATCHDOG=1` avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` : abandonne la requête quand les en-têtes sont arrivés mais que le corps de la réponse cesse de diffuser. Désactivé par défaut. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` par défaut à `300000` et est limité à ce minimum. La requête abandonnée passe par le chemin de tentative normal.

391 

372### Objet `Query`392### Objet `Query`

373 393 

374Interface retournée par la fonction `query()`.394Interface retournée par la fonction `query()`.


383 setPermissionMode(mode: PermissionMode): Promise<void>;403 setPermissionMode(mode: PermissionMode): Promise<void>;

384 setModel(model?: string): Promise<void>;404 setModel(model?: string): Promise<void>;

385 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;405 setMaxThinkingTokens(maxThinkingTokens: number | null): Promise<void>;

406 applyFlagSettings(settings: { [K in keyof Settings]?: Settings[K] | null }): Promise<void>;

386 initializationResult(): Promise<SDKControlInitializeResponse>;407 initializationResult(): Promise<SDKControlInitializeResponse>;

387 supportedCommands(): Promise<SlashCommand[]>;408 supportedCommands(): Promise<SlashCommand[]>;

388 supportedModels(): Promise<ModelInfo[]>;409 supportedModels(): Promise<ModelInfo[]>;


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

408| `setModel()` | Change le modèle (disponible uniquement en mode d'entrée en diffusion) |429| `setModel()` | Change le modèle (disponible uniquement en mode d'entrée en diffusion) |

409| `setMaxThinkingTokens()` | *Déprécié :* Utilisez l'option `thinking` à la place. Change les tokens de réflexion maximum |430| `setMaxThinkingTokens()` | *Déprécié :* Utilisez l'option `thinking` à la place. Change les tokens de réflexion maximum |

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

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

411| `supportedCommands()` | Retourne les commandes slash disponibles |433| `supportedCommands()` | Retourne les commandes slash disponibles |

412| `supportedModels()` | Retourne les modèles disponibles avec les informations d'affichage |434| `supportedModels()` | Retourne les modèles disponibles avec les informations d'affichage |


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

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

422 444 

445#### `applyFlagSettings()`

446 

447Change n'importe quel [paramètre](/fr/settings) sur une session en cours d'exécution sans redémarrer la requête. Utilisez-le quand un paramètre qui n'a pas de setter dédié doit changer en milieu de session, comme resserrer `permissions` après que l'agent ait lu une entrée non fiable. `setModel()` et `setPermissionMode()` sont des setters dédiés pour ces deux clés ; `applyFlagSettings()` est la forme générale qui accepte n'importe quel sous-ensemble des clés de paramètres, et passer `model` ici se comporte de la même manière que `setModel()`.

448 

449Les 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. Les paramètres d'indicateur se situent près du haut de l'[ordre de précédence des paramètres](/fr/settings#settings-precedence) : ils remplacent les paramètres utilisateur, projet et locaux, et seuls les paramètres de politique gérée peuvent les remplacer. C'est le même niveau que la [section de précédence sur la page](#settings-precedence) appelle les options programmatiques.

450 

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

452 

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

454 

455L'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.

456 

457```typescript theme={null}

458const q = query({ prompt: messageStream });

459 

460// Remplacer le modèle pour le reste de la session

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

462 

463// Plus tard : effacer le remplacement et revenir aux paramètres de précédence inférieure

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

465```

466 

467<Note>

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

469</Note>

470 

423### `WarmQuery`471### `WarmQuery`

424 472 

425Handle retourné par [`startup()`](#startup). Le sous-processus est déjà généré et initialisé, donc appeler `query()` sur ce handle écrit l'invite directement dans un processus prêt sans latence de démarrage.473Handle retourné par [`startup()`](#startup). Le sous-processus est déjà généré et initialisé, donc appeler `query()` sur ce handle écrit l'invite directement dans un processus prêt sans latence de démarrage.


6172. Paramètres de projet (`.claude/settings.json`)6652. Paramètres de projet (`.claude/settings.json`)

6183. Paramètres utilisateur (`~/.claude/settings.json`)6663. Paramètres utilisateur (`~/.claude/settings.json`)

619 667 

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

621 669 

622### `PermissionMode`670### `PermissionMode`

623 671 


2443 2491 

2444### `CallToolResult`2492### `CallToolResult`

2445 2493 

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

2447 2495 

2448```typescript theme={null}2496```typescript theme={null}

2449type CallToolResult = {2497type CallToolResult = {


2451 type: "text" | "image" | "resource";2499 type: "text" | "image" | "resource";

2452 // Les champs supplémentaires varient selon le type2500 // Les champs supplémentaires varient selon le type

2453 }>;2501 }>;

2502 structuredContent?: Record<string, unknown>;

2454 isError?: boolean;2503 isError?: boolean;

2455};2504};

2456```2505```

Details

361 361 

362```bash theme={null}362```bash theme={null}

363# Using inference profile ID363# Using inference profile ID

364export ANTHROPIC_MODEL='global.anthropic.claude-sonnet-4-6'364export ANTHROPIC_MODEL='us.anthropic.claude-sonnet-4-6'

365export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'365export ANTHROPIC_DEFAULT_HAIKU_MODEL='us.anthropic.claude-haiku-4-5-20251001-v1:0'

366 366 

367# Using application inference profile ARN367# Using application inference profile ARN


462 462 

463L'[assistant de configuration](#sign-in-with-bedrock) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Voir [Épingler les modèles pour les déploiements tiers](/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails.463L'[assistant de configuration](#sign-in-with-bedrock) offre une option de contexte 1M lorsqu'il épingle les modèles. Pour l'activer pour un modèle épinglé manuellement à la place, ajoutez `[1m]` à l'ID du modèle. Voir [Épingler les modèles pour les déploiements tiers](/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails.

464 464 

465## Niveaux de service

466 

467[Les niveaux de service Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/service-tiers-inference.html) vous permettent de faire un compromis entre le coût et la latence. Définissez `ANTHROPIC_BEDROCK_SERVICE_TIER` sur `default`, `flex` ou `priority` :

468 

469```bash theme={null}

470export ANTHROPIC_BEDROCK_SERVICE_TIER=priority

471```

472 

473Claude Code envoie ceci comme en-tête `X-Amzn-Bedrock-Service-Tier` sur chaque demande. La disponibilité des niveaux varie selon le modèle et la région. La capacité réservée utilise un ARN de [débit provisionné](https://docs.aws.amazon.com/bedrock/latest/userguide/prov-throughput.html) comme ID de modèle au lieu de ce paramètre.

474 

465## Garde-fous AWS475## Garde-fous AWS

466 476 

467[Les garde-fous Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) vous permettent de mettre en œuvre le filtrage du contenu pour Claude Code. Créez un garde-fou dans la [console Amazon Bedrock](https://console.aws.amazon.com/bedrock/), publiez une version, puis ajoutez les en-têtes du garde-fou à votre [fichier de paramètres](/fr/settings). Activez l'inférence inter-régions sur votre garde-fou si vous utilisez des profils d'inférence inter-régions.477[Les garde-fous Amazon Bedrock](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails.html) vous permettent de mettre en œuvre le filtrage du contenu pour Claude Code. Créez un garde-fou dans la [console Amazon Bedrock](https://console.aws.amazon.com/bedrock/), publiez une version, puis ajoutez les en-têtes du garde-fou à votre [fichier de paramètres](/fr/settings). Activez l'inférence inter-régions sur votre garde-fou si vous utilisez des profils d'inférence inter-régions.

Details

113 113 

114Claude Code gère de manière sécurisée vos identifiants d'authentification :114Claude Code gère de manière sécurisée vos identifiants d'authentification :

115 115 

116* **Emplacement de stockage** : sur macOS, les identifiants sont stockés dans le Keychain macOS chiffré. Sur Linux et Windows, les identifiants sont stockés dans `~/.claude/.credentials.json`, ou sous `$CLAUDE_CONFIG_DIR` si cette variable est définie. Sur Linux, le fichier est écrit avec le mode `0600` ; sur Windows, il hérite des contrôles d'accès de votre répertoire de profil utilisateur.116* **Emplacement de stockage** :

117 * Sur macOS, les identifiants sont stockés dans le Keychain macOS chiffré.

118 * Sur Linux, les identifiants sont stockés dans `~/.claude/.credentials.json` avec le mode fichier `0600`.

119 * Sur Windows, les identifiants sont stockés dans `%USERPROFILE%\.claude\.credentials.json` et héritent des contrôles d'accès de votre répertoire de profil utilisateur, ce qui restreint le fichier à votre compte utilisateur par défaut.

120 * Si vous avez défini la variable d'environnement `CLAUDE_CONFIG_DIR` sur Linux ou Windows, le fichier `.credentials.json` se trouve sous ce répertoire à la place.

121 * Claude Code gère `.credentials.json` via `/login` et `/logout`. Pour router les requêtes via un point de terminaison API personnalisé, définissez plutôt la variable d'environnement [`ANTHROPIC_BASE_URL`](/fr/env-vars).

117* **Types d'authentification pris en charge** : identifiants Claude.ai, identifiants API Claude, Azure Auth, Bedrock Auth et Vertex Auth.122* **Types d'authentification pris en charge** : identifiants Claude.ai, identifiants API Claude, Azure Auth, Bedrock Auth et Vertex Auth.

118* **Scripts d'identifiants personnalisés** : le paramètre [`apiKeyHelper`](/fr/settings#available-settings) peut être configuré pour exécuter un script shell qui retourne une clé API.123* **Scripts d'identifiants personnalisés** : le paramètre [`apiKeyHelper`](/fr/settings#available-settings) peut être configuré pour exécuter un script shell qui retourne une clé API.

119* **Intervalles d'actualisation** : par défaut, `apiKeyHelper` est appelé après 5 minutes ou en réponse HTTP 401. Définissez la variable d'environnement `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` pour les intervalles d'actualisation personnalisés.124* **Intervalles d'actualisation** : par défaut, `apiKeyHelper` est appelé après 5 minutes ou en réponse HTTP 401. Définissez la variable d'environnement `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` pour les intervalles d'actualisation personnalisés.

Details

113 113 

114Chaque 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 commit, les publications Slack ou les rapports générés afin qu'un examinateur puisse ouvrir l'exécution qui les a produits.114Chaque 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 commit, les publications Slack ou les rapports générés afin qu'un examinateur puisse ouvrir l'exécution qui les a produits.

115 115 

116Demandez à Claude de construire le lien à partir de la variable d'environnement. La commande suivante imprime l'URL :116La valeur de la variable utilise un préfixe `cse_`, tandis que le chemin de l'URL de transcription prend le même ID avec un préfixe `session_`. Substituez le préfixe lors de la construction du lien. La commande suivante imprime l'URL :

117 117 

118```bash theme={null}118```bash theme={null}

119echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID}"119echo "https://claude.ai/code/${CLAUDE_CODE_REMOTE_SESSION_ID/#cse_/session_}"

120```120```

121 121 

122### Exécuter les tests, démarrer les services et ajouter des paquets122### Exécuter les tests, démarrer les services et ajouter des paquets


156| Action | Comment |156| Action | Comment |

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

158| Ajouter un environnement | Sélectionnez l'environnement actuel pour ouvrir le sélecteur, puis sélectionnez **Ajouter un environnement**. La boîte de dialogue inclut le nom, le niveau d'accès réseau, les variables d'environnement et le script de configuration. |158| Ajouter un environnement | Sélectionnez l'environnement actuel pour ouvrir le sélecteur, puis sélectionnez **Ajouter un environnement**. La boîte de dialogue inclut le nom, le niveau d'accès réseau, les variables d'environnement et le script de configuration. |

159| Modifier un environnement | Sélectionnez l'icône des paramètres à droite du nom de l'environnement. |159| Modifier un environnement | Sélectionnez l'icône cloud affichant le nom de l'environnement actuel pour ouvrir le sélecteur, survolez un environnement et cliquez sur l'icône des paramètres qui apparaît à droite. |

160| Archiver un environnement | Ouvrez l'environnement pour le modifier et sélectionnez **Archiver**. Les environnements archivés sont masqués du sélecteur mais les sessions existantes continuent de s'exécuter. |160| Archiver un environnement | Ouvrez l'environnement pour le modifier et sélectionnez **Archiver**. Les environnements archivés sont masqués du sélecteur mais les sessions existantes continuent de s'exécuter. |

161| Définir la valeur par défaut pour `--remote` | Exécutez `/remote-env` dans votre terminal. Si vous avez un seul environnement, cette commande affiche votre configuration actuelle. `/remote-env` sélectionne uniquement la valeur par défaut ; ajoutez, modifiez et archivez les environnements à partir de l'interface web. |161| Définir la valeur par défaut pour `--remote` | Exécutez `/remote-env` dans votre terminal. Si vous avez un seul environnement, cette commande affiche votre configuration actuelle. `/remote-env` sélectionne uniquement la valeur par défaut ; ajoutez, modifiez et archivez les environnements à partir de l'interface web. |

162 162 


185 185 

186Si le script se termine avec un code non nul, la session ne démarre pas. Ajoutez `|| true` aux commandes non critiques pour éviter de bloquer la session sur une défaillance d'installation intermittente.186Si le script se termine avec un code non nul, la session ne démarre pas. Ajoutez `|| true` aux commandes non critiques pour éviter de bloquer la session sur une défaillance d'installation intermittente.

187 187 

188Gardez le temps d'exécution total du script en dessous d'environ cinq minutes afin que le [cache d'environnement](#environment-caching) puisse être construit. Exécutez les installations indépendantes en parallèle avec `&` et `wait`. Si un seul téléchargement ne rentre pas dans la limite de cinq minutes, déplacez-le vers un [hook SessionStart](#setup-scripts-vs-sessionstart-hooks) qui le lance en arrière-plan.

189 

188<Note>190<Note>

189 Les scripts de configuration qui installent des paquets ont besoin d'un accès réseau pour atteindre les registres. L'accès réseau **Trusted** par défaut permet les connexions aux [domaines de paquets courants](#default-allowed-domains) y compris npm, PyPI, RubyGems et crates.io. Les scripts échoueront à installer les paquets si votre environnement utilise l'accès réseau **None**.191 Les scripts de configuration qui installent des paquets ont besoin d'un accès réseau pour atteindre les registres. L'accès réseau **Trusted** par défaut permet les connexions aux [domaines de paquets courants](#default-allowed-domains) y compris npm, PyPI, RubyGems et crates.io. Les scripts échoueront à installer les paquets si votre environnement utilise l'accès réseau **None**.

190</Note>192</Note>


265 267 

266L'accès réseau contrôle les connexions sortantes de l'environnement cloud. Chaque environnement spécifie un niveau d'accès, et vous pouvez l'étendre avec des domaines autorisés personnalisés. La valeur par défaut est **Trusted**, qui permet les registres de paquets et autres [domaines autorisés](#default-allowed-domains).268L'accès réseau contrôle les connexions sortantes de l'environnement cloud. Chaque environnement spécifie un niveau d'accès, et vous pouvez l'étendre avec des domaines autorisés personnalisés. La valeur par défaut est **Trusted**, qui permet les registres de paquets et autres [domaines autorisés](#default-allowed-domains).

267 269 

270Pour modifier l'accès réseau d'un environnement, [ouvrez-le pour le modifier](#configure-your-environment) et utilisez le sélecteur **Accès réseau** dans la boîte de dialogue. Il n'y a pas de page Environnements séparée. L'icône cloud apparaît partout où vous démarrez une session cloud ou configurez une [routine](/fr/routines#environments-and-network-access).

271 

272<Note>

273 Le trafic du connecteur MCP est acheminé via les serveurs d'Anthropic, donc les connecteurs que vous activez sur une session ou une routine fonctionnent sans ajouter leurs hôtes aux **Domaines autorisés**. Les connecteurs sont configurés par session ou par routine ; supprimez ceux que vous n'avez pas besoin pour limiter les outils que Claude peut atteindre. Cela repose sur le même canal lié à Anthropic noté sous [Sécurité et isolation](#security-and-isolation).

274</Note>

275 

268### Niveaux d'accès276### Niveaux d'accès

269 277 

270Choisissez un niveau d'accès lorsque vous créez ou modifiez un environnement :278Choisissez un niveau d'accès lorsque vous créez ou modifiez un environnement :


280 288 

281### Autoriser des domaines spécifiques289### Autoriser des domaines spécifiques

282 290 

283Pour autoriser les domaines qui ne figurent pas dans la liste Trusted, sélectionnez **Custom** dans les paramètres d'accès réseau de l'environnement. Un champ **Allowed domains** apparaît. Entrez un domaine par ligne :291Pour autoriser les domaines qui ne figurent pas dans la liste Trusted, sélectionnez **Custom** dans les paramètres d'accès réseau de l'environnement. Un champ **Domaines autorisés** apparaît. Entrez un domaine par ligne :

284 292 

285```text theme={null}293```text theme={null}

286api.example.com294api.example.com


288registry.example.com296registry.example.com

289```297```

290 298 

291Utilisez `*.` pour la correspondance de sous-domaine générique. Cochez **Also include default list of common package managers** pour conserver les [domaines Trusted](#default-allowed-domains) aux côtés de vos entrées personnalisées, ou laissez-le décoché pour autoriser uniquement ce que vous listez.299Utilisez `*.` pour la correspondance de sous-domaine générique. Cochez **Inclure également la liste par défaut des gestionnaires de paquets courants** pour conserver les [domaines Trusted](#default-allowed-domains) aux côtés de vos entrées personnalisées, ou laissez-le décoché pour autoriser uniquement ce que vous listez.

292 300 

293### Proxy GitHub301### Proxy GitHub

294 302 


640* **Utilisation de `--teleport`** : à partir de 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.648* **Utilisation de `--teleport`** : à partir de 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.

641* **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.649* **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.

642* **À partir de `/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'elles650* **À partir de `/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

643* **À partir de l'interface web** : sélectionnez **Open in CLI** pour copier une commande que vous pouvez coller dans votre terminal651* **À partir de l'interface web** : sélectionnez **Ouvrir dans CLI** pour copier une commande que vous pouvez coller dans votre terminal

644 652 

645Lorsque vous téléportez une session, Claude vérifie que vous êtes dans le bon référentiel, récupère et extrait la branche de la session cloud, et charge l'historique complet de la conversation dans votre terminal.653Lorsque vous téléportez une session, Claude vérifie que vous êtes dans le bon référentiel, récupère et extrait la branche de la session cloud, et charge l'historique complet de la conversation dans votre terminal.

646 654 


712La suppression d'une session supprime définitivement la session et ses données. Cette action ne peut pas être annulée. Vous pouvez supprimer une session de deux façons :720La suppression d'une session supprime définitivement la session et ses données. Cette action ne peut pas être annulée. Vous pouvez supprimer une session de deux façons :

713 721 

714* **À partir de la barre latérale** : filtrez les sessions archivées, puis survolez la session que vous souhaitez supprimer et sélectionnez l'icône de suppression722* **À partir de la barre latérale** : filtrez les sessions archivées, puis survolez la session que vous souhaitez supprimer et sélectionnez l'icône de suppression

715* **À partir du menu de session** : ouvrez une session, sélectionnez la liste déroulante à côté du titre de la session et sélectionnez **Delete**723* **À partir du menu de session** : ouvrez une session, sélectionnez la liste déroulante à côté du titre de la session et sélectionnez **Supprimer**

716 724 

717Vous serez invité à confirmer avant la suppression d'une session.725Vous serez invité à confirmer avant la suppression d'une session.

718 726 


754* **Protection des identifiants** : les identifiants sensibles tels que les identifiants git ou les clés de signature ne sont jamais à l'intérieur du sandbox avec Claude Code. L'authentification est gérée via un proxy sécurisé utilisant des identifiants limités.762* **Protection des identifiants** : les identifiants sensibles tels que les identifiants git ou les clés de signature ne sont jamais à l'intérieur du sandbox avec Claude Code. L'authentification est gérée via un proxy sécurisé utilisant des identifiants limités.

755* **Analyse sécurisée** : le code est analysé et modifié dans des VM isolées avant la création de PR763* **Analyse sécurisée** : le code est analysé et modifié dans des VM isolées avant la création de PR

756 764 

765## Dépannage

766 

767Pour les erreurs d'API d'exécution qui apparaissent dans la conversation comme `API Error : 500`, `529 Overloaded`, `429` ou `Prompt is too long`, consultez la [référence des erreurs](/fr/errors). Ces erreurs et leurs corrections sont partagées avec le CLI et l'application Desktop. Les sections ci-dessous couvrent les problèmes spécifiques aux sessions cloud.

768 

769### Échec de la création de session

770 

771Si une nouvelle session ne démarre pas avec `Session creation failed` ou stagne à la mise en service, Claude Code n'a pas pu allouer un environnement cloud.

772 

773* Vérifiez [status.claude.com](https://status.claude.com) pour les incidents de session cloud

774* Réessayez après une minute, car la capacité est mise en service à la demande

775* Confirmez que votre référentiel est accessible. Les référentiels privés nécessitent soit l'application GitHub installée avec accès à ce référentiel, soit un jeton `gh` synchronisé via `/web-setup`. Consultez [Options d'authentification GitHub](#github-authentication-options).

776 

777### Session Remote Control expirée ou accès refusé

778 

779`--teleport` se connecte via la même infrastructure de session Remote Control que les sessions cloud, donc les erreurs d'authentification et d'expiration de session apparaissent avec la terminologie Remote Control. Vous pouvez voir `Remote Control session has expired` ou `Access denied`. Le jeton de connexion est de courte durée et limité à votre compte.

780 

781* Exécutez `/login` localement pour actualiser vos identifiants, puis reconnectez-vous

782* Confirmez que vous êtes connecté au même compte qui possède la session

783* Si vous voyez `Remote Control may not be available for this organization`, votre administrateur n'a pas activé les sessions distantes pour votre plan

784 

785### Environnement expiré

786 

787Les sessions cloud s'arrêtent après une période d'inactivité et l'environnement sous-jacent est réclamé. À partir d'un terminal local, cela apparaît comme `Could not resume session ... its environment has expired. Creating a fresh session instead.` Sur le web, la session est marquée comme expirée dans la liste des sessions.

788 

789Rouvrez la session à partir de [claude.ai/code](https://claude.ai/code) pour mettre en service un environnement frais avec votre historique de conversation restauré.

790 

757## Limitations791## Limitations

758 792 

759Avant de compter sur les sessions cloud pour un flux de travail, tenez compte de ces contraintes :793Avant de compter sur les sessions cloud pour un flux de travail, tenez compte de ces contraintes :


761* **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.795* **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.

762* **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 compte796* **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 compte

763* **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](/fr/github-enterprise-server) auto-hébergées sont prises en charge pour les plans Team et Enterprise. GitLab, Bitbucket et les autres référentiels non-GitHub peuvent être envoyés aux sessions cloud en tant que [paquet local](#send-local-repositories-without-github), mais la session ne peut pas pousser les résultats vers le serveur distant797* **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](/fr/github-enterprise-server) auto-hébergées sont prises en charge pour les plans Team et Enterprise. GitLab, Bitbucket et les autres référentiels non-GitHub peuvent être envoyés aux sessions cloud en tant que [paquet local](#send-local-repositories-without-github), mais la session ne peut pas pousser les résultats vers le serveur distant

798* **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. Si votre organisation a [l'autorisation IP](/fr/articles/13200993-restrict-access-to-claude-with-ip-allowlisting) activée, chaque session cloud échoue avec une erreur d'authentification. Il en va de même pour [Code Review](/fr/code-review) et [Routines](/fr/routines). 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.

764 799 

765## Ressources connexes800## Ressources connexes

766 801 

cli-reference.md +11 −10

Details

40Personnalisez le comportement de Claude Code avec ces drapeaux de ligne de commande. `claude --help` ne répertorie pas tous les drapeaux, donc l'absence d'un drapeau dans `--help` ne signifie pas qu'il n'est pas disponible.40Personnalisez le comportement de Claude Code avec ces drapeaux de ligne de commande. `claude --help` ne répertorie pas tous les drapeaux, donc l'absence d'un drapeau dans `--help` ne signifie pas qu'il n'est pas disponible.

41 41 

42| Drapeau | Description | Exemple |42| Drapeau | Description | Exemple |

43| :---------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |43| :---------------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------- |

44| `--add-dir` | Ajouter des répertoires de travail supplémentaires pour que Claude y accède et modifie les fichiers. Accorde l'accès aux fichiers ; la plupart de la configuration `.claude/` est [non découverte](/fr/permissions#additional-directories-grant-file-access-not-configuration) à partir de ces répertoires. Valide que chaque chemin existe en tant que répertoire | `claude --add-dir ../apps ../lib` |44| `--add-dir` | Ajouter des répertoires de travail supplémentaires pour que Claude y accède et modifie les fichiers. Accorde l'accès aux fichiers ; la plupart de la configuration `.claude/` est [non découverte](/fr/permissions#additional-directories-grant-file-access-not-configuration) à partir de ces répertoires. Valide que chaque chemin existe en tant que répertoire. Pour conserver ces répertoires entre les sessions, définissez [`permissions.additionalDirectories`](/fr/settings#permission-settings) dans les paramètres | `claude --add-dir ../apps ../lib` |

45| `--agent` | Spécifier un agent pour la session actuelle (remplace le paramètre `agent`) | `claude --agent my-custom-agent` |45| `--agent` | Spécifier un agent pour la session actuelle (remplace le paramètre `agent`) | `claude --agent my-custom-agent` |

46| `--agents` | Définir des subagents personnalisés dynamiquement via JSON. Utilise les mêmes noms de champs que le [frontmatter](/fr/sub-agents#supported-frontmatter-fields) des subagents, plus un champ `prompt` pour les instructions de l'agent | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |46| `--agents` | Définir des subagents personnalisés dynamiquement via JSON. Utilise les mêmes noms de champs que le [frontmatter](/fr/sub-agents#supported-frontmatter-fields) des subagents, plus un champ `prompt` pour les instructions de l'agent | `claude --agents '{"reviewer":{"description":"Reviews code","prompt":"You are a code reviewer"}}'` |

47| `--allow-dangerously-skip-permissions` | Ajouter `bypassPermissions` au cycle du mode `Shift+Tab` sans commencer dedans. Permet de commencer dans un mode différent comme `plan` et de basculer vers `bypassPermissions` plus tard. Voir [modes de permission](/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |47| `--allow-dangerously-skip-permissions` | Ajouter `bypassPermissions` au cycle du mode `Shift+Tab` sans commencer dedans. Permet de commencer dans un mode différent comme `plan` et de basculer vers `bypassPermissions` plus tard. Voir [modes de permission](/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode) | `claude --permission-mode plan --allow-dangerously-skip-permissions` |


59| `--debug-file <path>` | Écrire les journaux de débogage dans un chemin de fichier spécifique. Active implicitement le mode débogage. Prend la priorité sur `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |59| `--debug-file <path>` | Écrire les journaux de débogage dans un chemin de fichier spécifique. Active implicitement le mode débogage. Prend la priorité sur `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |

60| `--disable-slash-commands` | Désactiver tous les skills et commandes pour cette session | `claude --disable-slash-commands` |60| `--disable-slash-commands` | Désactiver tous les skills et commandes pour cette session | `claude --disable-slash-commands` |

61| `--disallowedTools` | Outils qui sont supprimés du contexte du modèle et ne peuvent pas être utilisés | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |61| `--disallowedTools` | Outils qui sont supprimés du contexte du modèle et ne peuvent pas être utilisés | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |

62| `--effort` | Définir le [niveau d'effort](/fr/model-config#adjust-effort-level) pour la session actuelle. Options : `low`, `medium`, `high`, `xhigh`, `max` ; les niveaux disponibles dépendent du modèle. Limité à la session et ne persiste pas dans les paramètres | `claude --effort high` |62| `--effort` | Définir le [niveau d'effort](/fr/model-config#adjust-effort-level) pour la session actuelle. Options : `low`, `medium`, `high`, `xhigh`, `max` ; les niveaux disponibles dépendent du modèle. Remplace le paramètre [`effortLevel`](/fr/settings#available-settings) pour cette session et ne persiste pas | `claude --effort high` |

63| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Supprimé dans v2.1.111. Le mode auto est maintenant dans le cycle `Shift+Tab` par défaut ; utilisez `--permission-mode auto` pour commencer dedans | `claude --permission-mode auto` |63| `--enable-auto-mode` | {/* max-version: 2.1.110 */}Supprimé dans v2.1.111. Le mode auto est maintenant dans le cycle `Shift+Tab` par défaut ; utilisez `--permission-mode auto` pour commencer dedans | `claude --permission-mode auto` |

64| `--exclude-dynamic-system-prompt-sections` | Déplacer les sections par machine de l'invite système (répertoire de travail, informations d'environnement, chemins de mémoire, statut git) dans le premier message utilisateur. Améliore la réutilisation du cache d'invite sur différents utilisateurs et machines exécutant la même tâche. S'applique uniquement avec l'invite système par défaut ; ignoré lorsque `--system-prompt` ou `--system-prompt-file` est défini. À utiliser avec `-p` pour les charges de travail scriptées multi-utilisateurs | `claude -p --exclude-dynamic-system-prompt-sections "query"` |64| `--exclude-dynamic-system-prompt-sections` | Déplacer les sections par machine de l'invite système (répertoire de travail, informations d'environnement, chemins de mémoire, statut git) dans le premier message utilisateur. Améliore la réutilisation du cache d'invite sur différents utilisateurs et machines exécutant la même tâche. S'applique uniquement avec l'invite système par défaut ; ignoré lorsque `--system-prompt` ou `--system-prompt-file` est défini. À utiliser avec `-p` pour les charges de travail scriptées multi-utilisateurs | `claude -p --exclude-dynamic-system-prompt-sections "query"` |

65| `--fallback-model` | Activer le basculement automatique vers le modèle spécifié lorsque le modèle par défaut est surchargé (mode impression uniquement) | `claude -p --fallback-model sonnet "query"` |65| `--fallback-model` | Activer le basculement automatique vers le modèle spécifié lorsque le modèle par défaut est surchargé (mode impression uniquement) | `claude -p --fallback-model sonnet "query"` |


76| `--max-budget-usd` | Montant en dollars maximum à dépenser pour les appels API avant d'arrêter (mode impression uniquement) | `claude -p --max-budget-usd 5.00 "query"` |76| `--max-budget-usd` | Montant en dollars maximum à dépenser pour les appels API avant d'arrêter (mode impression uniquement) | `claude -p --max-budget-usd 5.00 "query"` |

77| `--max-turns` | Limiter le nombre de tours d'agent (mode impression uniquement). Quitte avec une erreur lorsque la limite est atteinte. Pas de limite par défaut | `claude -p --max-turns 3 "query"` |77| `--max-turns` | Limiter le nombre de tours d'agent (mode impression uniquement). Quitte avec une erreur lorsque la limite est atteinte. Pas de limite par défaut | `claude -p --max-turns 3 "query"` |

78| `--mcp-config` | Charger les serveurs MCP à partir de fichiers ou de chaînes JSON (séparés par des espaces) | `claude --mcp-config ./mcp.json` |78| `--mcp-config` | Charger les serveurs MCP à partir de fichiers ou de chaînes JSON (séparés par des espaces) | `claude --mcp-config ./mcp.json` |

79| `--model` | Définit le modèle pour la session actuelle avec un alias pour le dernier modèle (`sonnet` ou `opus`) ou le nom complet d'un modèle | `claude --model claude-sonnet-4-6` |79| `--model` | Définit le modèle pour la session actuelle avec un alias pour le dernier modèle (`sonnet` ou `opus`) ou le nom complet d'un modèle. Remplace le paramètre [`model`](/fr/settings#available-settings) et [`ANTHROPIC_MODEL`](/fr/model-config#environment-variables) | `claude --model claude-sonnet-4-6` |

80| `--name`, `-n` | Définir un nom d'affichage pour la session, affiché dans `/resume` et le titre du terminal. Vous pouvez reprendre une session nommée avec `claude --resume <name>`. <br /><br />[`/rename`](/fr/commands) change le nom en cours de session et l'affiche également dans la barre d'invite | `claude -n "my-feature-work"` |80| `--name`, `-n` | Définir un nom d'affichage pour la session, affiché dans `/resume` et le titre du terminal. Vous pouvez reprendre une session nommée avec `claude --resume <name>`. <br /><br />[`/rename`](/fr/commands) change le nom en cours de session et l'affiche également dans la barre d'invite | `claude -n "my-feature-work"` |

81| `--no-chrome` | Désactiver l'[intégration du navigateur Chrome](/fr/chrome) pour cette session | `claude --no-chrome` |81| `--no-chrome` | Désactiver l'[intégration du navigateur Chrome](/fr/chrome) pour cette session | `claude --no-chrome` |

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

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

84| `--permission-mode` | Commencer dans un [mode de permission](/fr/permission-modes) spécifié. Accepte `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, ou `bypassPermissions`. Remplace `defaultMode` des fichiers de paramètres | `claude --permission-mode plan` |84| `--permission-mode` | Commencer dans un [mode de permission](/fr/permission-modes) spécifié. Accepte `default`, `acceptEdits`, `plan`, `auto`, `dontAsk`, ou `bypassPermissions`. Remplace `defaultMode` des fichiers de paramètres | `claude --permission-mode plan` |

85| `--permission-prompt-tool` | Spécifier un outil MCP pour gérer les invites de permission en mode non interactif | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |85| `--permission-prompt-tool` | Spécifier un outil MCP pour gérer les invites de permission en mode non interactif | `claude -p --permission-prompt-tool mcp_auth_tool "query"` |

86| `--plugin-dir` | Charger les plugins à partir d'un répertoire pour cette session uniquement. Chaque drapeau prend un chemin. Répétez le drapeau pour plusieurs répertoires : `--plugin-dir A --plugin-dir B` | `claude --plugin-dir ./my-plugins` |86| `--plugin-dir` | Charger un plugin à partir d'un répertoire ou d'une archive `.zip` pour cette session uniquement. Chaque drapeau prend un chemin. Répétez le drapeau pour plusieurs plugins : `--plugin-dir A --plugin-dir B.zip` | `claude --plugin-dir ./my-plugin` |

87| `--plugin-url` | Récupérer une archive `.zip` de plugin à partir d'une URL pour cette session uniquement. Chaque drapeau prend une URL. Répétez le drapeau pour plusieurs plugins | `claude --plugin-url https://example.com/plugin.zip` |

87| `--print`, `-p` | Imprimer la réponse sans mode interactif (voir la [documentation du SDK Agent](/fr/agent-sdk/overview) pour les détails d'utilisation programmatique) | `claude -p "query"` |88| `--print`, `-p` | Imprimer la réponse sans mode interactif (voir la [documentation du SDK Agent](/fr/agent-sdk/overview) pour les détails d'utilisation programmatique) | `claude -p "query"` |

88| `--remote` | Créer une nouvelle [session web](/fr/claude-code-on-the-web) sur claude.ai avec la description de tâche fournie | `claude --remote "Fix the login bug"` |89| `--remote` | Créer une nouvelle [session web](/fr/claude-code-on-the-web) sur claude.ai avec la description de tâche fournie | `claude --remote "Fix the login bug"` |

89| `--remote-control`, `--rc` | Démarrer une session interactive avec [Remote Control](/fr/remote-control#start-a-remote-control-session) activé afin que vous puissiez également le contrôler depuis claude.ai ou l'application Claude. Optionnellement, passez un nom pour la session | `claude --remote-control "My Project"` |90| `--remote-control`, `--rc` | Démarrer une session interactive avec [Remote Control](/fr/remote-control#start-a-remote-control-session) activé afin que vous puissiez également le contrôler depuis claude.ai ou l'application Claude. Optionnellement, passez un nom pour la session | `claude --remote-control "My Project"` |


92| `--resume`, `-r` | Reprendre une session spécifique par ID ou nom, ou afficher un sélecteur interactif pour choisir une session. Inclut les sessions qui ont ajouté ce répertoire avec `/add-dir` | `claude --resume auth-refactor` |93| `--resume`, `-r` | Reprendre une session spécifique par ID ou nom, ou afficher un sélecteur interactif pour choisir une session. Inclut les sessions qui ont ajouté ce répertoire avec `/add-dir` | `claude --resume auth-refactor` |

93| `--session-id` | Utiliser un ID de session spécifique pour la conversation (doit être un UUID valide) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |94| `--session-id` | Utiliser un ID de session spécifique pour la conversation (doit être un UUID valide) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

94| `--setting-sources` | Liste séparée par des virgules des sources de paramètres à charger (`user`, `project`, `local`) | `claude --setting-sources user,project` |95| `--setting-sources` | Liste séparée par des virgules des sources de paramètres à charger (`user`, `project`, `local`) | `claude --setting-sources user,project` |

95| `--settings` | Chemin vers un fichier JSON de paramètres ou une chaîne JSON pour charger des paramètres supplémentaires | `claude --settings ./settings.json` |96| `--settings` | Chemin vers un fichier JSON de paramètres ou une chaîne JSON en ligne. Les valeurs que vous définissez ici remplacent les mêmes clés dans vos fichiers `settings.json` pour cette session. Les clés que vous omettez conservent leurs valeurs basées sur les fichiers. Voir [précédence des paramètres](/fr/settings#settings-precedence) | `claude --settings ./settings.json` |

96| `--strict-mcp-config` | Utiliser uniquement les serveurs MCP de `--mcp-config`, en ignorant toutes les autres configurations MCP | `claude --strict-mcp-config --mcp-config ./mcp.json` |97| `--strict-mcp-config` | Utiliser uniquement les serveurs MCP de `--mcp-config`, en ignorant toutes les autres configurations MCP | `claude --strict-mcp-config --mcp-config ./mcp.json` |

97| `--system-prompt` | Remplacer l'invite système entière par du texte personnalisé | `claude --system-prompt "You are a Python expert"` |98| `--system-prompt` | Remplacer l'invite système entière par du texte personnalisé | `claude --system-prompt "You are a Python expert"` |

98| `--system-prompt-file` | Charger l'invite système à partir d'un fichier, en remplaçant l'invite par défaut | `claude --system-prompt-file ./custom-prompt.txt` |99| `--system-prompt-file` | Charger l'invite système à partir d'un fichier, en remplaçant l'invite par défaut | `claude --system-prompt-file ./custom-prompt.txt` |

99| `--teleport` | Reprendre une [session web](/fr/claude-code-on-the-web) dans votre terminal local | `claude --teleport` |100| `--teleport` | Reprendre une [session web](/fr/claude-code-on-the-web) dans votre terminal local | `claude --teleport` |

100| `--teammate-mode` | Définir comment les coéquipiers de l'[équipe d'agents](/fr/agent-teams) s'affichent : `auto` (par défaut), `in-process`, ou `tmux`. Voir [Choisir un mode d'affichage](/fr/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |101| `--teammate-mode` | Définir comment les coéquipiers de l'[équipe d'agents](/fr/agent-teams) s'affichent : `auto` (par défaut), `in-process`, ou `tmux`. Remplace le paramètre [`teammateMode`](/fr/settings#available-settings) pour cette session. Voir [Choisir un mode d'affichage](/fr/agent-teams#choose-a-display-mode) | `claude --teammate-mode in-process` |

101| `--tmux` | Créer une session tmux pour le worktree. Nécessite `--worktree`. Utilise les volets natifs iTerm2 lorsqu'ils sont disponibles ; passez `--tmux=classic` pour le tmux traditionnel | `claude -w feature-auth --tmux` |102| `--tmux` | Créer une session tmux pour le worktree. Nécessite `--worktree`. Utilise les volets natifs iTerm2 lorsqu'ils sont disponibles ; passez `--tmux=classic` pour le tmux traditionnel | `claude -w feature-auth --tmux` |

102| `--tools` | Restreindre les outils intégrés que Claude peut utiliser. Utilisez `""` pour désactiver tous, `"default"` pour tous, ou des noms d'outils comme `"Bash,Edit,Read"` | `claude --tools "Bash,Edit,Read"` |103| `--tools` | Restreindre les outils intégrés que Claude peut utiliser. Utilisez `""` pour désactiver tous, `"default"` pour tous, ou des noms d'outils comme `"Bash,Edit,Read"` | `claude --tools "Bash,Edit,Read"` |

103| `--verbose` | Activer la journalisation détaillée, affiche la sortie complète tour par tour | `claude --verbose` |104| `--verbose` | Activer la journalisation détaillée, affiche la sortie complète tour par tour. Remplace le paramètre [`viewMode`](/fr/settings#available-settings) pour cette session | `claude --verbose` |

104| `--version`, `-v` | Afficher le numéro de version | `claude -v` |105| `--version`, `-v` | Afficher le numéro de version | `claude -v` |

105| `--worktree`, `-w` | Démarrer Claude dans un [git worktree](/fr/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees) isolé à `<repo>/.claude/worktrees/<name>`. Si aucun nom n'est donné, un est généré automatiquement | `claude -w feature-auth` |106| `--worktree`, `-w` | Démarrer Claude dans un [git worktree](/fr/worktrees) isolé à `<repo>/.claude/worktrees/<name>`. Si aucun nom n'est donné, un est généré automatiquement | `claude -w feature-auth` |

106 107 

107### Drapeaux d'invite système108### Drapeaux d'invite système

108 109 

commands.md +7 −5

Details

10 10 

11Tapez `/` pour voir toutes les commandes disponibles pour vous, ou tapez `/` suivi de lettres pour filtrer.11Tapez `/` pour voir toutes les commandes disponibles pour vous, ou tapez `/` suivi de lettres pour filtrer.

12 12 

13Une commande n'est reconnue qu'au début de votre message. Le texte qui suit le nom de la commande lui est transmis en tant qu'arguments.

14 

13Le tableau ci-dessous répertorie toutes les commandes incluses dans Claude Code. Les entrées marquées **[Skill](/fr/skills#bundled-skills)** sont des skills fournis. Ils utilisent le même mécanisme que les skills que vous écrivez vous-même : une invite remise à Claude, que Claude peut également invoquer automatiquement si pertinent. Tout le reste est une commande intégrée dont le comportement est codé dans le CLI. Pour ajouter vos propres commandes, consultez [skills](/fr/skills).15Le tableau ci-dessous répertorie toutes les commandes incluses dans Claude Code. Les entrées marquées **[Skill](/fr/skills#bundled-skills)** sont des skills fournis. Ils utilisent le même mécanisme que les skills que vous écrivez vous-même : une invite remise à Claude, que Claude peut également invoquer automatiquement si pertinent. Tout le reste est une commande intégrée dont le comportement est codé dans le CLI. Pour ajouter vos propres commandes, consultez [skills](/fr/skills).

14 16 

15Toutes les commandes ne s'affichent pas pour tous les utilisateurs. La disponibilité dépend de votre plateforme, de votre plan et de votre environnement. Par exemple, `/desktop` ne s'affiche que sur macOS et Windows, et `/upgrade` ne s'affiche que sur les plans Pro et Max.17Toutes les commandes ne s'affichent pas pour tous les utilisateurs. La disponibilité dépend de votre plateforme, de votre plan et de votre environnement. Par exemple, `/desktop` ne s'affiche que sur macOS et Windows, et `/upgrade` ne s'affiche que sur les plans Pro et Max.


21| `/add-dir <path>` | Ajouter un répertoire de travail pour l'accès aux fichiers pendant la session actuelle. La plupart de la configuration `.claude/` [n'est pas découverte](/fr/permissions#additional-directories-grant-file-access-not-configuration) à partir du répertoire ajouté. Vous pouvez ensuite reprendre la session à partir du répertoire ajouté avec `--continue` ou `--resume` |23| `/add-dir <path>` | Ajouter un répertoire de travail pour l'accès aux fichiers pendant la session actuelle. La plupart de la configuration `.claude/` [n'est pas découverte](/fr/permissions#additional-directories-grant-file-access-not-configuration) à partir du répertoire ajouté. Vous pouvez ensuite reprendre la session à partir du répertoire ajouté avec `--continue` ou `--resume` |

22| `/agents` | Gérer les configurations des [agents](/fr/sub-agents) |24| `/agents` | Gérer les configurations des [agents](/fr/sub-agents) |

23| `/autofix-pr [prompt]` | Générer une session [Claude Code sur le web](/fr/claude-code-on-the-web#auto-fix-pull-requests) qui surveille la PR de la branche actuelle et pousse les corrections lorsque la CI échoue ou que les relecteurs laissent des commentaires. Détecte la PR ouverte de votre branche extraite avec `gh pr view` ; pour surveiller une PR différente, extrayez d'abord sa branche. Par défaut, la session distante est invitée à corriger chaque échec de CI et commentaire de révision ; passez une invite pour lui donner des instructions différentes, par exemple `/autofix-pr only fix lint and type errors`. Nécessite le CLI `gh` et l'accès à [Claude Code sur le web](/fr/claude-code-on-the-web#who-can-use-claude-code-on-the-web) |25| `/autofix-pr [prompt]` | Générer une session [Claude Code sur le web](/fr/claude-code-on-the-web#auto-fix-pull-requests) qui surveille la PR de la branche actuelle et pousse les corrections lorsque la CI échoue ou que les relecteurs laissent des commentaires. Détecte la PR ouverte de votre branche extraite avec `gh pr view` ; pour surveiller une PR différente, extrayez d'abord sa branche. Par défaut, la session distante est invitée à corriger chaque échec de CI et commentaire de révision ; passez une invite pour lui donner des instructions différentes, par exemple `/autofix-pr only fix lint and type errors`. Nécessite le CLI `gh` et l'accès à [Claude Code sur le web](/fr/claude-code-on-the-web#who-can-use-claude-code-on-the-web) |

24| `/batch <instruction>` | **[Skill](/fr/skills#bundled-skills).** Orchestrer des changements à grande échelle dans une base de code en parallèle. Recherche la base de code, décompose le travail en 5 à 30 unités indépendantes et présente un plan. Une fois approuvé, génère un agent d'arrière-plan par unité dans un [git worktree](/fr/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees) isolé. Chaque agent implémente son unité, exécute les tests et ouvre une demande de tirage. Nécessite un référentiel git. Exemple : `/batch migrate src/ from Solid to React` |26| `/batch <instruction>` | **[Skill](/fr/skills#bundled-skills).** Orchestrer des changements à grande échelle dans une base de code en parallèle. Recherche la base de code, décompose le travail en 5 à 30 unités indépendantes et présente un plan. Une fois approuvé, génère un agent d'arrière-plan par unité dans un [git worktree](/fr/worktrees) isolé. Chaque agent implémente son unité, exécute les tests et ouvre une demande de tirage. Nécessite un référentiel git. Exemple : `/batch migrate src/ from Solid to React` |

25| `/branch [name]` | Créer une branche de la conversation actuelle à ce stade. Vous bascule dans la branche et préserve l'original, auquel vous pouvez revenir avec `/resume`. Alias : `/fork`. Lorsque [`CLAUDE_CODE_FORK_SUBAGENT`](/fr/env-vars) est défini, `/fork` génère à la place un [sous-agent forké](/fr/sub-agents#fork-the-current-conversation) et n'est plus un alias pour cette commande |27| `/branch [name]` | Créer une branche de la conversation actuelle à ce stade. Vous bascule dans la branche et préserve l'original, auquel vous pouvez revenir avec `/resume`. Alias : `/fork`. Lorsque [`CLAUDE_CODE_FORK_SUBAGENT`](/fr/env-vars) est défini, `/fork` génère à la place un [sous-agent forké](/fr/sub-agents#fork-the-current-conversation) et n'est plus un alias pour cette commande |

26| `/btw <question>` | Poser une [question rapide](/fr/interactive-mode#side-questions-with-%2Fbtw) sans l'ajouter à la conversation |28| `/btw <question>` | Poser une [question rapide](/fr/interactive-mode#side-questions-with-%2Fbtw) sans l'ajouter à la conversation |

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

28| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/fr/skills#bundled-skills).** Charger le matériel de référence de l'API Claude pour le langage de votre projet (Python, TypeScript, Java, Go, Ruby, C#, PHP, ou cURL) et la référence des Agents gérés. Couvre l'utilisation d'outils, le streaming, les lots, les sorties structurées et les pièges courants. S'active également automatiquement lorsque votre code importe `anthropic` ou `@anthropic-ai/sdk`. Exécutez `/claude-api migrate` pour mettre à niveau le code existant de l'API Claude vers un modèle plus récent : Claude vous demande quels fichiers analyser et quel modèle cibler, puis met à jour les ID de modèle, la configuration de la réflexion et d'autres paramètres qui ont changé entre les versions. Exécutez `/claude-api managed-agents-onboard` pour une procédure pas à pas interactive qui crée un nouvel Agent géré à partir de zéro |30| `/claude-api [migrate\|managed-agents-onboard]` | **[Skill](/fr/skills#bundled-skills).** Charger le matériel de référence de l'API Claude pour le langage de votre projet (Python, TypeScript, Java, Go, Ruby, C#, PHP, ou cURL) et la référence des Agents gérés. Couvre l'utilisation d'outils, le streaming, les lots, les sorties structurées et les pièges courants. S'active également automatiquement lorsque votre code importe `anthropic` ou `@anthropic-ai/sdk`. Exécutez `/claude-api migrate` pour mettre à niveau le code existant de l'API Claude vers un modèle plus récent : Claude vous demande quels fichiers analyser et quel modèle cibler, puis met à jour les ID de modèle, la configuration de la réflexion et d'autres paramètres qui ont changé entre les versions. Exécutez `/claude-api managed-agents-onboard` pour une procédure pas à pas interactive qui crée un nouvel Agent géré à partir de zéro |

29| `/clear` | Démarrer une nouvelle conversation avec un contexte vide. La conversation précédente reste disponible dans `/resume`. Pour libérer du contexte tout en continuant la même conversation, utilisez `/compact` à la place. Alias : `/reset`, `/new` |31| `/clear` | Démarrer une nouvelle conversation avec un contexte vide. La conversation précédente reste disponible dans `/resume`. Pour libérer du contexte tout en continuant la même conversation, utilisez `/compact` à la place. Alias : `/reset`, `/new` |

30| `/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. Lorsque [Remote Control](/fr/remote-control) est connecté, la couleur se synchronise avec claude.ai/code |32| `/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](/fr/remote-control) est connecté, la couleur se synchronise avec claude.ai/code |

31| `/compact [instructions]` | Libérer du contexte en résumant la conversation jusqu'à présent. Passez optionnellement des instructions de focus pour le résumé. Consultez [comment la compaction gère les règles, les skills et les fichiers de mémoire](/fr/context-window#what-survives-compaction) |33| `/compact [instructions]` | Libérer du contexte en résumant la conversation jusqu'à présent. Passez optionnellement des instructions de focus pour le résumé. Consultez [comment la compaction gère les règles, les skills et les fichiers de mémoire](/fr/context-window#what-survives-compaction) |

32| `/config` | Ouvrir l'interface des [Paramètres](/fr/settings) pour ajuster le thème, le modèle, le [style de sortie](/fr/output-styles) et d'autres préférences. Alias : `/settings` |34| `/config` | Ouvrir l'interface des [Paramètres](/fr/settings) pour ajuster le thème, le modèle, le [style de sortie](/fr/output-styles) et d'autres préférences. Alias : `/settings` |

33| `/context` | Visualiser l'utilisation actuelle du contexte sous forme de grille colorée. Affiche les suggestions d'optimisation pour les outils gourmands en contexte, le surpoids de la mémoire et les avertissements de capacité |35| `/context` | Visualiser l'utilisation actuelle du contexte sous forme de grille colorée. Affiche les suggestions d'optimisation pour les outils gourmands en contexte, le surpoids de la mémoire et les avertissements de capacité |


44| `/fast [on\|off]` | Activer ou désactiver le [mode rapide](/fr/fast-mode) |46| `/fast [on\|off]` | Activer ou désactiver le [mode rapide](/fr/fast-mode) |

45| `/feedback [report]` | Soumettre des commentaires sur Claude Code. Alias : `/bug` |47| `/feedback [report]` | Soumettre des commentaires sur Claude Code. Alias : `/bug` |

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

47| `/focus` | Activer/désactiver la vue de focus, qui affiche uniquement votre dernière invite, un résumé d'appel d'outil d'une ligne avec les statistiques de diff d'édition, et la réponse finale. La sélection persiste entre les sessions. Disponible uniquement dans le [rendu en plein écran](/fr/fullscreen) |49| `/focus` | Activer/désactiver la vue de focus, qui affiche uniquement votre dernière invite, un résumé d'appel d'outil d'une ligne avec les statistiques de diff d'édition, et la réponse finale. La sélection persiste entre les sessions ; définissez [`viewMode`](/fr/settings#available-settings) dans les paramètres pour la remplacer. Disponible uniquement dans le [rendu en plein écran](/fr/fullscreen) |

48| `/heapdump` | Écrire un snapshot de tas JavaScript et une ventilation de la mémoire vers `~/Desktop`, ou votre répertoire personnel sur Linux sans dossier Desktop, pour diagnostiquer une utilisation élevée de la mémoire. Consultez le [dépannage](/fr/troubleshooting#high-cpu-or-memory-usage) |50| `/heapdump` | Écrire un snapshot de tas JavaScript et une ventilation de la mémoire vers `~/Desktop`, ou votre répertoire personnel sur Linux sans dossier Desktop, pour diagnostiquer une utilisation élevée de la mémoire. Consultez le [dépannage](/fr/troubleshooting#high-cpu-or-memory-usage) |

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

50| `/hooks` | Afficher les configurations des [hooks](/fr/hooks) pour les événements d'outils |52| `/hooks` | Afficher les configurations des [hooks](/fr/hooks) pour les événements d'outils |


83| `/setup-bedrock` | Configurer l'authentification [Amazon Bedrock](/fr/amazon-bedrock), la région et les épingles de modèle via un assistant interactif. Visible uniquement lorsque `CLAUDE_CODE_USE_BEDROCK=1` est défini. Les utilisateurs de Bedrock pour la première fois peuvent également accéder à cet assistant à partir de l'écran de connexion |85| `/setup-bedrock` | Configurer l'authentification [Amazon Bedrock](/fr/amazon-bedrock), la région et les épingles de modèle via un assistant interactif. Visible uniquement lorsque `CLAUDE_CODE_USE_BEDROCK=1` est défini. Les utilisateurs de Bedrock pour la première fois peuvent également accéder à cet assistant à partir de l'écran de connexion |

84| `/setup-vertex` | Configurer l'authentification [Google Vertex AI](/fr/google-vertex-ai), le projet, la région et les épingles de modèle via un assistant interactif. Visible uniquement lorsque `CLAUDE_CODE_USE_VERTEX=1` est défini. Les utilisateurs de Vertex AI pour la première fois peuvent également accéder à cet assistant à partir de l'écran de connexion |86| `/setup-vertex` | Configurer l'authentification [Google Vertex AI](/fr/google-vertex-ai), le projet, la région et les épingles de modèle via un assistant interactif. Visible uniquement lorsque `CLAUDE_CODE_USE_VERTEX=1` est défini. Les utilisateurs de Vertex AI pour la première fois peuvent également accéder à cet assistant à partir de l'écran de connexion |

85| `/simplify [focus]` | **[Skill](/fr/skills#bundled-skills).** Examiner vos fichiers récemment modifiés pour les problèmes de réutilisation de code, de qualité et d'efficacité, puis les corriger. Génère trois agents d'examen en parallèle, agrège leurs conclusions et applique les corrections. Passez du texte pour vous concentrer sur des préoccupations spécifiques : `/simplify focus on memory efficiency` |87| `/simplify [focus]` | **[Skill](/fr/skills#bundled-skills).** Examiner vos fichiers récemment modifiés pour les problèmes de réutilisation de code, de qualité et d'efficacité, puis les corriger. Génère trois agents d'examen en parallèle, agrège leurs conclusions et applique les corrections. Passez du texte pour vous concentrer sur des préoccupations spécifiques : `/simplify focus on memory efficiency` |

86| `/skills` | Lister les [skills](/fr/skills) disponibles. Appuyez sur `t` pour trier par nombre de tokens |88| `/skills` | Lister les [skills](/fr/skills) disponibles. Appuyez sur `t` pour trier par nombre de tokens. Appuyez sur `Espace` pour [masquer un skill à Claude ou au menu `/`](/fr/skills#override-skill-visibility-from-settings), puis `Entrée` pour enregistrer |

87| `/stats` | Alias pour `/usage`. Ouvre l'onglet Stats |89| `/stats` | Alias pour `/usage`. Ouvre l'onglet Stats |

88| `/status` | Ouvrir l'interface des Paramètres (onglet Statut) affichant la version, le modèle, le compte et la connectivité. Fonctionne pendant que Claude répond, sans attendre la fin de la réponse actuelle |90| `/status` | Ouvrir l'interface des Paramètres (onglet Statut) affichant la version, le modèle, le compte et la connectivité. Fonctionne pendant que Claude répond, sans attendre la fin de la réponse actuelle |

89| `/statusline` | Configurer la [ligne de statut](/fr/statusline) de Claude Code. Décrivez ce que vous voulez, ou exécutez sans arguments pour auto-configurer à partir de votre invite shell |91| `/statusline` | Configurer la [ligne de statut](/fr/statusline) de Claude Code. Décrivez ce que vous voulez, ou exécutez sans arguments pour auto-configurer à partir de votre invite shell |

90| `/stickers` | Commander des autocollants Claude Code |92| `/stickers` | Commander des autocollants Claude Code |

91| `/tasks` | Lister et gérer les tâches en arrière-plan. Également disponible sous `/bashes` |93| `/tasks` | Lister et gérer les tâches en arrière-plan. Également disponible sous `/bashes` |

92| `/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 comme premier message pour se configurer rapidement |94| `/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 comme premier message pour se configurer rapidement. Pour les abonnés claude.ai aux plans Pro, Max, Team et Enterprise, retourne également un lien de partage que les coéquipiers peuvent ouvrir directement dans Claude Code |

93| `/teleport` | Extraire une session [Claude Code sur le web](/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 sous `/tp`. Nécessite un abonnement claude.ai |95| `/teleport` | Extraire une session [Claude Code sur le web](/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 sous `/tp`. Nécessite un abonnement claude.ai |

94| `/terminal-setup` | Configurer les raccourcis clavier du terminal pour Shift+Entrée et d'autres raccourcis. Visible uniquement dans les terminaux qui en ont besoin, comme VS Code, Cursor, Windsurf, Alacritty, ou Zed |96| `/terminal-setup` | Configurer les raccourcis clavier du terminal pour Shift+Entrée et d'autres raccourcis. Visible uniquement dans les terminaux qui en ont besoin, comme VS Code, Cursor, Windsurf, Alacritty, ou Zed |

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

Details

8 8 

9Quand Claude ignore une instruction ou qu'une fonctionnalité que vous avez configurée n'apparaît pas, la cause est généralement que le fichier n'a pas été chargé, qu'il a été chargé depuis un emplacement différent de celui que vous attendiez, ou qu'un autre fichier l'a remplacé. Ce guide montre comment inspecter ce que Claude Code a réellement chargé afin que vous puissiez déterminer lequel de ces cas s'applique.9Quand Claude ignore une instruction ou qu'une fonctionnalité que vous avez configurée n'apparaît pas, la cause est généralement que le fichier n'a pas été chargé, qu'il a été chargé depuis un emplacement différent de celui que vous attendiez, ou qu'un autre fichier l'a remplacé. Ce guide montre comment inspecter ce que Claude Code a réellement chargé afin que vous puissiez déterminer lequel de ces cas s'applique.

10 10 

11Pour les problèmes d'installation, d'authentification et de connectivité, consultez plutôt [Troubleshooting](/fr/troubleshoot-install) à la place.11Pour les problèmes d'installation, d'authentification et de connectivité, consultez plutôt [Troubleshooting installation and login](/fr/troubleshoot-install) à la place.

12 12 

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

14 14 


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

18 18 

19| Commande | Affiche |19| Commande | Affiche |

20| :------------- | :-------------------------------------------------------------------------------------------- |20| :--------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------- |

21| `/memory` | Quels fichiers `CLAUDE.md` et règles ont été chargés, plus les entrées de mémoire automatique |21| `/memory` | Quels fichiers `CLAUDE.md` et règles ont été chargés, plus les entrées de mémoire automatique |

22| `/skills` | Les skills disponibles provenant des sources de projet, utilisateur et plugin |22| `/skills` | Les skills disponibles provenant des sources de projet, utilisateur et plugin |

23| `/agents` | Les sous-agents configurés et leurs paramètres |23| `/agents` | Les sous-agents configurés et leurs paramètres |


25| `/mcp` | Les serveurs MCP connectés et leur statut |25| `/mcp` | Les serveurs MCP connectés et leur statut |

26| `/permissions` | Les règles d'autorisation et de refus résolues actuellement en vigueur |26| `/permissions` | Les règles d'autorisation et de refus résolues actuellement en vigueur |

27| `/doctor` | Diagnostics de configuration : clés invalides, erreurs de schéma, santé de l'installation |27| `/doctor` | Diagnostics de configuration : clés invalides, erreurs de schéma, santé de l'installation |

28| `/debug [issue]` | Active la journalisation de débogage pour la session et invite Claude à diagnostiquer en utilisant la sortie du journal et les chemins de paramètres |

28| `/status` | Les sources de paramètres actives, y compris si les paramètres gérés sont en vigueur |29| `/status` | Les sources de paramètres actives, y compris si les paramètres gérés sont en vigueur |

29 30 

30Si un fichier de mémoire est absent de `/memory`, vérifiez son emplacement par rapport à [comment les fichiers CLAUDE.md se chargent](/fr/memory#how-claude-md-files-load). Les fichiers `CLAUDE.md` des sous-répertoires se chargent à la demande quand Claude lit un fichier dans ce répertoire avec l'outil Read, pas au démarrage de la session.31Si un fichier de mémoire est absent de `/memory`, vérifiez son emplacement par rapport à [comment les fichiers CLAUDE.md se chargent](/fr/memory#how-claude-md-files-load). Les fichiers `CLAUDE.md` des sous-répertoires se chargent à la demande quand Claude lit un fichier dans ce répertoire avec l'outil Read, pas au démarrage de la session.


41 42 

42Les paramètres fusionnent entre les portées gérées, utilisateur, projet et locale. Les paramètres gérés gagnent toujours quand ils sont présents. Parmi le reste, la portée plus proche remplace la plus large dans l'ordre local, puis projet, puis utilisateur. Certains paramètres peuvent également être définis par des drapeaux de ligne de commande ou des [variables d'environnement](/fr/env-vars), qui agissent comme une autre couche de remplacement. Quand un paramètre ne semble pas s'appliquer, la valeur que vous avez définie est généralement remplacée par une autre portée ou une variable d'environnement.43Les paramètres fusionnent entre les portées gérées, utilisateur, projet et locale. Les paramètres gérés gagnent toujours quand ils sont présents. Parmi le reste, la portée plus proche remplace la plus large dans l'ordre local, puis projet, puis utilisateur. Certains paramètres peuvent également être définis par des drapeaux de ligne de commande ou des [variables d'environnement](/fr/env-vars), qui agissent comme une autre couche de remplacement. Quand un paramètre ne semble pas s'appliquer, la valeur que vous avez définie est généralement remplacée par une autre portée ou une variable d'environnement.

43 44 

44Exécutez `/doctor` pour valider vos fichiers de configuration et mettre en évidence les clés invalides ou les erreurs de schéma. Exécutez `/status` pour voir quelles sources de paramètres sont actives, y compris si les paramètres gérés sont en vigueur. Pour comprendre quelle portée gagne pour une clé donnée, consultez [Comment les portées interagissent](/fr/settings#how-scopes-interact).45Exécutez `/doctor` pour valider vos fichiers de configuration et mettre en évidence les clés invalides ou les erreurs de schéma. Quand `/doctor` signale des problèmes, appuyez sur `f` pour envoyer le rapport de diagnostic à Claude et le laisser vous guider à travers les corrections.

46 

47Exécutez `/status` pour voir quelles sources de paramètres sont actives, y compris si les paramètres gérés sont en vigueur. Pour comprendre quelle portée gagne pour une clé donnée, consultez [Comment les portées interagissent](/fr/settings#how-scopes-interact).

45 48 

46## Vérifier les serveurs MCP49## Vérifier les serveurs MCP

47 50 


63 66 

64Si `/hooks` affiche le hook mais qu'il ne se déclenche toujours pas, l'étape suivante consiste à regarder l'évaluation du hook en direct. Démarrez une session avec `claude --debug hooks` et déclenchez l'appel d'outil. Le journal de débogage enregistre chaque événement, quels matchers ont été vérifiés et le code de sortie et la sortie du hook. Consultez [Debug hooks](/fr/hooks#debug-hooks) pour le format du journal et [hooks troubleshooting](/fr/hooks-guide#limitations-and-troubleshooting) pour les modèles d'échec courants.67Si `/hooks` affiche le hook mais qu'il ne se déclenche toujours pas, l'étape suivante consiste à regarder l'évaluation du hook en direct. Démarrez une session avec `claude --debug hooks` et déclenchez l'appel d'outil. Le journal de débogage enregistre chaque événement, quels matchers ont été vérifiés et le code de sortie et la sortie du hook. Consultez [Debug hooks](/fr/hooks#debug-hooks) pour le format du journal et [hooks troubleshooting](/fr/hooks-guide#limitations-and-troubleshooting) pour les modèles d'échec courants.

65 68 

66## Causes courantes69## Tester avec une configuration propre

70 

71Si les vérifications ciblées n'isolent pas la cause, ou si votre configuration est dans un état inconnu, comparez avec une session qui ne charge rien de votre configuration habituelle. Pointez [`CLAUDE_CONFIG_DIR`](/fr/env-vars) vers un répertoire vide pour contourner tout ce qui se trouve sous `~/.claude`, et lancez depuis un répertoire qui n'a pas de dossier `.claude`, `.mcp.json` ou `CLAUDE.md` afin que la configuration du projet soit également ignorée.

72 

73```bash theme={null}

74cd /tmp && CLAUDE_CONFIG_DIR=/tmp/claude-clean claude

75```

76 

77La session propre n'a aucun paramètre utilisateur ou projet, hooks, serveurs MCP, plugins ou mémoire.

78 

79* Les paramètres gérés s'appliquent toujours si votre organisation les déploie, car ils se trouvent à un chemin système en dehors de `~/.claude`

80* Sur Linux et Windows, vous serez invité à vous connecter à nouveau car les identifiants sont stockés sous le répertoire de configuration

81* Sur macOS, les identifiants se trouvent dans le Keychain et sont reportés à la session propre

82 

83Si le problème disparaît ici, la cause se trouve quelque part dans vos fichiers réels `~/.claude` ou `.claude` du projet. Réintroduisez-les un à la fois, en copiant les fichiers dans le répertoire temporaire ou en lançant depuis votre projet, pour trouver lequel. S'il persiste dans la session propre, la cause se trouve en dehors de votre configuration utilisateur et projet. Exécutez `/status` pour vérifier si les paramètres gérés sont en vigueur, recherchez les [variables d'environnement](/fr/env-vars) qui affectent Claude Code, puis consultez [Troubleshooting](/fr/troubleshooting).

84 

85## Vérifier les causes courantes

67 86 

68La 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 :87La 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 :

69 88 

70| Symptôme | Cause | Correction |89| Symptôme | Cause | Correction |

71| :----------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |90| :------------------------------------------------------------------------------------ | :--------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

72| 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](/fr/hooks#matcher-patterns). |91| 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](/fr/hooks#matcher-patterns). |

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

74| Le hook ne se déclenche jamais | Les hooks sont dans un fichier `.claude/hooks.json` autonome | Il n'y a pas de fichier hooks autonome. Définissez les hooks sous la clé `"hooks"` dans `settings.json`. Consultez [hook configuration](/fr/hooks). |93| Le hook ne se déclenche jamais | Les hooks sont dans un fichier `.claude/hooks.json` autonome | Il n'y a pas de fichier hooks autonome. Définissez les hooks sous la clé `"hooks"` dans `settings.json`. Consultez [hook configuration](/fr/hooks). |


80| Le sous-agent ignore les instructions `CLAUDE.md` | Les sous-agents n'héritent pas toujours de la mémoire du projet | Mettez les règles critiques dans le corps du fichier agent, qui devient l'invite système du sous-agent. Consultez [subagent configuration](/fr/sub-agents). |99| Le sous-agent ignore les instructions `CLAUDE.md` | Les sous-agents n'héritent pas toujours de la mémoire du projet | Mettez les règles critiques dans le corps du fichier agent, qui devient l'invite système du sous-agent. Consultez [subagent configuration](/fr/sub-agents). |

81| 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](/fr/hooks#hook-events). |100| 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](/fr/hooks#hook-events). |

82| Les serveurs MCP dans `.mcp.json` ne se chargent jamais | Le fichier est sous `.claude/` ou utilise le format de configuration de Claude Desktop | La configuration MCP du projet va à la racine du référentiel sous `.mcp.json`, pas à l'intérieur de `.claude/`. Consultez [MCP configuration](/fr/mcp). |101| Les serveurs MCP dans `.mcp.json` ne se chargent jamais | Le fichier est sous `.claude/` ou utilise le format de configuration de Claude Desktop | La configuration MCP du projet va à la racine du référentiel sous `.mcp.json`, pas à l'intérieur de `.claude/`. Consultez [MCP configuration](/fr/mcp). |

102| 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](/fr/mcp). |

83| Le serveur MCP du projet ajouté n'apparaît pas | L'invite d'approbation unique a été rejetée | Les serveurs à portée de projet nécessitent une approbation. Exécutez `/mcp` pour voir le statut et approuver. |103| Le serveur MCP du projet ajouté n'apparaît pas | L'invite d'approbation unique a été rejetée | Les serveurs à portée de projet nécessitent une approbation. Exécutez `/mcp` pour voir le statut et approuver. |

84| Le serveur MCP échoue au démarrage depuis certains répertoires | `command` ou `args` utilise un chemin de fichier relatif | Utilisez des chemins absolus pour les scripts locaux. Les exécutables sur votre `PATH` comme `npx` ou `uvx` fonctionnent tels quels. |104| Le serveur MCP échoue au démarrage depuis certains répertoires | `command` ou `args` utilise un chemin de fichier relatif | Utilisez des chemins absolus pour les scripts locaux. Les exécutables sur votre `PATH` comme `npx` ou `uvx` fonctionnent tels quels. |

85| Le serveur MCP démarre sans les variables d'environnement attendues | Les variables sont dans `settings.json` `env`, qui ne se propage pas aux processus enfants MCP | Définissez plutôt `env` par serveur à l'intérieur de `.mcp.json`. |105| Le serveur MCP démarre sans les variables d'environnement attendues | Les variables sont dans `settings.json` `env`, qui ne se propage pas aux processus enfants MCP | Définissez plutôt `env` par serveur à l'intérieur de `.mcp.json`. |


93* **[Paramètres](/fr/settings)** : ordre de précédence et liste complète des clés113* **[Paramètres](/fr/settings)** : ordre de précédence et liste complète des clés

94* **[Référence des hooks](/fr/hooks)** : noms d'événements, charges utiles et format de sortie `--debug hooks`114* **[Référence des hooks](/fr/hooks)** : noms d'événements, charges utiles et format de sortie `--debug hooks`

95* **[MCP](/fr/mcp)** : configuration du serveur, approbation et sortie `/mcp`115* **[MCP](/fr/mcp)** : configuration du serveur, approbation et sortie `/mcp`

96* **[Dépannage de l'installation et de la connexion](/fr/troubleshoot-install)** : `command not found`, PATH et problèmes d'authentification116* **[Troubleshoot installation and login](/fr/troubleshoot-install)** : `command not found`, PATH et problèmes d'authentification

97* **[Dépannage](/fr/troubleshooting)** : performance, blocages et problèmes de recherche117* **[Troubleshooting](/fr/troubleshooting)** : performance, blocages et problèmes de recherche

Details

4 4 

5# Découvrir et installer des plugins prédéfinis via les marketplaces5# Découvrir et installer des plugins prédéfinis via les marketplaces

6 6 

7> Trouvez et installez des plugins depuis les marketplaces pour étendre Claude Code avec de nouvelles commandes, agents et capacités.7> Trouvez et installez des plugins depuis les marketplaces pour étendre Claude Code avec de nouvelles compétences, agents et capacités.

8 8 

9Les plugins étendent Claude Code avec des skills, des agents, des hooks et des MCP servers. 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 cherchez à créer et distribuer votre propre marketplace ? Consultez [Créer et distribuer une marketplace de plugins](/fr/plugin-marketplaces).11Vous cherchez à créer et distribuer votre propre marketplace ? Consultez [Créer et distribuer une marketplace de plugins](/fr/plugin-marketplaces).

12 12 


36/plugin install github@claude-plugins-official36/plugin install github@claude-plugins-official

37```37```

38 38 

39Si Claude Code signale que le plugin n'est pas trouvé dans une marketplace, votre marketplace est soit manquante soit obsolète. Exécutez `/plugin marketplace update claude-plugins-official` pour l'actualiser, ou `/plugin marketplace add anthropics/claude-plugins-official` si vous ne l'avez pas encore ajoutée. Ensuite, réessayez l'installation.

40 

39<Note>41<Note>

40 La marketplace officielle est maintenue par Anthropic. Pour soumettre un plugin à la marketplace officielle, utilisez l'un des formulaires de soumission intégrés à l'application :42 La marketplace officielle est maintenue par Anthropic. Pour soumettre un plugin à la marketplace officielle, utilisez l'un des formulaires de soumission intégrés à l'application :

41 43 


70Vous pouvez également [créer votre propre plugin LSP](/fr/plugins-reference#lsp-servers) pour d'autres langages.72Vous pouvez également [créer votre propre plugin LSP](/fr/plugins-reference#lsp-servers) pour d'autres langages.

71 73 

72<Note>74<Note>

73 Si vous voyez `Executable not found in $PATH` dans l'onglet `/plugin` Errors après avoir installé un plugin, installez le binaire requis du tableau ci-dessus.75 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.

74</Note>76</Note>

75 77 

76#### Ce que Claude gagne des plugins de code intelligence78#### Ce que Claude gagne des plugins de code intelligence


84 86 

85### Intégrations externes87### Intégrations externes

86 88 

87Ces plugins regroupent des [MCP servers](/fr/mcp) préconfigurés pour que vous puissiez connecter Claude à des services externes sans configuration manuelle :89Ces plugins regroupent des [serveurs MCP](/fr/mcp) préconfigurés pour que vous puissiez connecter Claude à des services externes sans configuration manuelle :

88 90 

89* **Contrôle de source** : `github`, `gitlab`91* **Contrôle de source** : `github`, `gitlab`

90* **Gestion de projet** : `atlassian` (Jira/Confluence), `asana`, `linear`, `notion`92* **Gestion de projet** : `atlassian` (Jira/Confluence), `asana`, `linear`, `notion`


95 97 

96### Workflows de développement98### Workflows de développement

97 99 

98Plugins qui ajoutent des commandes et des agents pour les tâches de développement courantes :100Plugins qui ajoutent des skills et des agents pour les tâches de développement courantes :

99 101 

100* **commit-commands** : Workflows de commit Git incluant commit, push et création de PR102* **commit-commands** : Workflows de commit Git incluant commit, push et création de PR

101* **pr-review-toolkit** : Agents spécialisés pour examiner les pull requests103* **pr-review-toolkit** : Agents spécialisés pour examiner les pull requests


142 * **Project scope** : installez pour tous les collaborateurs sur ce référentiel144 * **Project scope** : installez pour tous les collaborateurs sur ce référentiel

143 * **Local scope** : installez pour vous-même dans ce référentiel uniquement145 * **Local scope** : installez pour vous-même dans ce référentiel uniquement

144 146 

145 Par exemple, sélectionnez **commit-commands** (un plugin qui ajoute des commandes de workflow git) et installez-le à votre portée utilisateur.147 Par exemple, sélectionnez **commit-commands** (un plugin qui ajoute des skills de workflow git) et installez-le à votre portée utilisateur.

146 148 

147 Vous pouvez également installer directement depuis la ligne de commande :149 Vous pouvez également installer directement depuis la ligne de commande :

148 150 


154 </Step>156 </Step>

155 157 

156 <Step title="Utiliser votre nouveau plugin">158 <Step title="Utiliser votre nouveau plugin">

157 Après l'installation, exécutez `/reload-plugins` pour activer le plugin. Les commandes de plugin sont espacées par le nom du plugin, donc **commit-commands** fournit des commandes comme `/commit-commands:commit`.159 Après l'installation, exécutez `/reload-plugins` pour activer le plugin. Les skills de plugin sont espacés par le nom du plugin, donc **commit-commands** fournit des skills comme `/commit-commands:commit`.

158 160 

159 Essayez en effectuant une modification à un fichier et en exécutant :161 Essayez en effectuant une modification à un fichier et en exécutant :

160 162 


164 166 

165 Cela prépare vos modifications, génère un message de commit et crée le commit.167 Cela prépare vos modifications, génère un message de commit et crée le commit.

166 168 

167 Chaque plugin fonctionne différemment. Consultez la description du plugin dans l'onglet **Discover** ou sa page d'accueil pour apprendre quelles commandes et capacités il fournit.169 Chaque plugin fonctionne différemment. Consultez la description du plugin dans l'onglet **Discover** ou sa page d'accueil pour apprendre quels skills et capacités il fournit.

168 </Step>170 </Step>

169</Steps>171</Steps>

170 172 


195 197 

196### Ajouter depuis d'autres hôtes Git198### Ajouter depuis d'autres hôtes Git

197 199 

198Ajoutez n'importe quel référentiel git en fournissant l'URL complète. Cela fonctionne avec n'importe quel hôte Git, y compris GitLab, Bitbucket et les serveurs auto-hébergés :200Ajoutez n'importe quel référentiel git en fournissant l'URL complète. Cela fonctionne avec n'importe quel hôte Git, y compris GitLab, Bitbucket et les serveurs auto-hébergés. Incluez le suffixe `.git` pour que Claude Code clone le référentiel plutôt que de traiter l'URL comme un lien direct vers un fichier `marketplace.json` hébergé.

199 201 

200Utilisation de HTTPS :202Utilisation de HTTPS :

201 203 


257 259 

258Vous pouvez également voir des plugins avec la portée **managed**—ceux-ci sont installés par les administrateurs via [managed settings](/fr/settings#settings-files) et ne peuvent pas être modifiés.260Vous pouvez également voir des plugins avec la portée **managed**—ceux-ci sont installés par les administrateurs via [managed settings](/fr/settings#settings-files) et ne peuvent pas être modifiés.

259 261 

260Exécutez `/plugin` et allez à l'onglet **Installed** pour voir vos plugins groupés par portée.

261 

262<Warning>262<Warning>

263 Assurez-vous de faire confiance à un plugin avant de l'installer. Anthropic ne contrôle pas quels MCP servers, 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.263 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.

264</Warning>264</Warning>

265 265 

266## Gérer les plugins installés266## Gérer les plugins installés

267 267 

268Exécutez `/plugin` et allez à l'onglet **Installed** pour visualiser, activer, désactiver ou désinstaller vos plugins. Tapez pour filtrer la liste par nom ou description du plugin.268Exécutez `/plugin` et allez à l'onglet **Installed** pour visualiser, activer, désactiver ou désinstaller vos plugins. La liste est groupée par portée et triée pour que vous voyiez d'abord les problèmes : les plugins avec des erreurs de chargement ou des dépendances non résolues apparaissent en haut, suivis de vos favoris, avec les plugins désactivés repliés derrière un en-tête réduit en bas.

269 

270Depuis la liste, vous pouvez :

271 

272* appuyer sur `f` pour ajouter ou retirer le plugin sélectionné de vos favoris

273* taper pour filtrer par nom ou description du plugin

274* appuyer sur Enter pour ouvrir la vue détaillée d'un plugin et l'activer, le désactiver ou le désinstaller

275 

276Quand vous installez un plugin qui déclare des dépendances, la sortie d'installation liste quelles dépendances ont été auto-installées avec lui.

269 277 

270Vous pouvez également gérer les plugins avec des commandes directes.278Vous pouvez également gérer les plugins avec des commandes directes.

271 279 


302/reload-plugins310/reload-plugins

303```311```

304 312 

305Claude Code recharge tous les plugins actifs et affiche les comptages pour les plugins, les skills, les agents, les hooks, les MCP servers de plugin et les serveurs LSP de plugin.313Claude Code recharge tous les plugins actifs et affiche les comptages pour les plugins, les skills, les agents, les hooks, les serveurs MCP de plugin et les serveurs LSP de plugin.

306 314 

307## Gérer les marketplaces315## Gérer les marketplaces

308 316 


400 408 

4011. **Vérifiez votre version** : Exécutez `claude --version` pour voir ce qui est installé.4091. **Vérifiez votre version** : Exécutez `claude --version` pour voir ce qui est installé.

4022. **Mettez à jour Claude Code** :4102. **Mettez à jour Claude Code** :

403 * **Homebrew** : `brew upgrade claude-code`411 * **Homebrew** : `brew upgrade claude-code` (ou `brew upgrade claude-code@latest` si vous avez installé ce cask)

404 * **npm** : `npm update -g @anthropic-ai/claude-code`412 * **npm** : `npm install -g @anthropic-ai/claude-code@latest`

405 * **Native installer** : Réexécutez la commande d'installation depuis [Setup](/fr/setup)413 * **Native installer** : Réexécutez la commande d'installation depuis [Setup](/fr/setup)

4063. **Redémarrez Claude Code** : Après la mise à jour, redémarrez votre terminal et exécutez `claude` à nouveau.4143. **Redémarrez Claude Code** : Après la mise à jour, redémarrez votre terminal et exécutez `claude` à nouveau.

407 415 


416 424 

417### Problèmes de code intelligence425### Problèmes de code intelligence

418 426 

419* **Le serveur de langage ne démarre pas** : vérifiez que le binaire est installé et disponible dans votre `$PATH`. Consultez l'onglet `/plugin` Errors pour plus de détails.427* **Le serveur de langage ne démarre pas** : vérifiez que le binaire est installé et disponible dans votre `$PATH`. Consultez l'onglet Errors de `/plugin` pour plus de détails.

420* **Utilisation élevée de la mémoire** : les serveurs de langage comme `rust-analyzer` et `pyright` peuvent consommer une mémoire importante sur les grands projets. Si vous rencontrez des problèmes de mémoire, désactivez le plugin avec `/plugin disable <plugin-name>` et fiez-vous aux outils de recherche intégrés de Claude à la place.428* **Utilisation élevée de la mémoire** : les serveurs de langage comme `rust-analyzer` et `pyright` peuvent consommer une mémoire importante sur les grands projets. Si vous rencontrez des problèmes de mémoire, désactivez le plugin avec `/plugin disable <plugin-name>` et fiez-vous aux outils de recherche intégrés de Claude à la place.

421* **Diagnostics faux positifs dans les monorepos** : les serveurs de langage peuvent signaler des erreurs d'import non résolues pour les packages internes si l'espace de travail n'est pas configuré correctement. Ceux-ci n'affectent pas la capacité de Claude à modifier le code.429* **Diagnostics faux positifs dans les monorepos** : les serveurs de langage peuvent signaler des erreurs d'import non résolues pour les packages internes si l'espace de travail n'est pas configuré correctement. Ceux-ci n'affectent pas la capacité de Claude à modifier le code.

422 430 

env-vars.md +17 −11

Details

41| `ANTHROPIC_SMALL_FAST_MODEL` | \[DÉPRÉCIÉ] Nom du [modèle de classe Haiku pour les tâches en arrière-plan](/fr/costs) |41| `ANTHROPIC_SMALL_FAST_MODEL` | \[DÉPRÉCIÉ] Nom du [modèle de classe Haiku pour les tâches en arrière-plan](/fr/costs) |

42| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Remplacer la région AWS pour le modèle de classe Haiku lors de l'utilisation de Bedrock ou Bedrock Mantle |42| `ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION` | Remplacer la région AWS pour le modèle de classe Haiku lors de l'utilisation de Bedrock ou Bedrock Mantle |

43| `ANTHROPIC_VERTEX_BASE_URL` | Remplacer l'URL du point de terminaison Vertex AI. À utiliser pour les points de terminaison Vertex personnalisés ou lors du routage via une [passerelle LLM](/fr/llm-gateway). Voir [Google Vertex AI](/fr/google-vertex-ai) |43| `ANTHROPIC_VERTEX_BASE_URL` | Remplacer l'URL du point de terminaison Vertex AI. À utiliser pour les points de terminaison Vertex personnalisés ou lors du routage via une [passerelle LLM](/fr/llm-gateway). Voir [Google Vertex AI](/fr/google-vertex-ai) |

44| `ANTHROPIC_VERTEX_PROJECT_ID` | ID de projet GCP pour Vertex AI. Requis lors de l'utilisation de [Google Vertex AI](/fr/google-vertex-ai) |44| `ANTHROPIC_VERTEX_PROJECT_ID` | ID de projet GCP pour les requêtes Vertex AI. Remplacé par `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` ou le projet dans votre fichier d'identifiants `GOOGLE_APPLICATION_CREDENTIALS`. Voir [Google Vertex AI](/fr/google-vertex-ai) |

45| `API_TIMEOUT_MS` | Délai d'expiration pour les requêtes API en millisecondes (par défaut : 600 000, ou 10 minutes ; maximum : 2 147 483 647). 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épassent le minuteur sous-jacent et provoquent l'échec immédiat des requêtes |45| `API_TIMEOUT_MS` | Délai d'expiration pour les requêtes API en millisecondes (par défaut : 600 000, ou 10 minutes ; maximum : 2 147 483 647). 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épassent le minuteur sous-jacent et provoquent l'échec immédiat des requêtes |

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

47| `BASH_DEFAULT_TIMEOUT_MS` | Délai d'expiration par défaut pour les commandes bash longues (par défaut : 120 000, ou 2 minutes) |47| `BASH_DEFAULT_TIMEOUT_MS` | Délai d'expiration par défaut pour les commandes bash longues (par défaut : 120 000, ou 2 minutes) |


51| `CLAUDECODE` | Défini sur `1` dans les environnements shell que Claude Code génère (outil Bash, sessions tmux). Non défini dans les [hooks](/fr/hooks) ou les commandes de [ligne d'état](/fr/statusline). Utilisez pour détecter quand un script s'exécute à l'intérieur d'un shell généré par Claude Code |51| `CLAUDECODE` | Défini sur `1` dans les environnements shell que Claude Code génère (outil Bash, sessions tmux). Non défini dans les [hooks](/fr/hooks) ou les commandes de [ligne d'état](/fr/statusline). Utilisez pour détecter quand un script s'exécute à l'intérieur d'un shell généré par Claude Code |

52| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Définissez sur `1` pour désactiver tous les types de [subagent](/fr/sub-agents) intégrés tels que Explore et Plan. S'applique uniquement en mode non interactif (l'indicateur `-p`). Utile pour les utilisateurs du SDK qui veulent une ardoise vierge |52| `CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS` | Définissez sur `1` pour désactiver tous les types de [subagent](/fr/sub-agents) intégrés tels que Explore et Plan. S'applique uniquement en mode non interactif (l'indicateur `-p`). Utile pour les utilisateurs du SDK qui veulent une ardoise vierge |

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

54| `CLAUDE_ASYNC_AGENT_STALL_TIMEOUT_MS` | Délai d'expiration de blocage en millisecondes pour les subagents en arrière-plan. Par défaut `600000` (10 minutes). Le minuteur se réinitialise à chaque événement de progression en continu ; si aucune progression n'arrive dans la fenêtre, le subagent est interrompu et la tâche est marquée comme échouée, exposant tout résultat partiel au parent |

54| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Définissez le pourcentage de capacité de contexte (1-100) auquel le compactage automatique se déclenche. Par défaut, le compactage automatique se déclenche à environ 95 % de capacité. Utilisez des valeurs plus basses comme `50` pour compacter plus tôt. Les valeurs au-dessus du seuil par défaut n'ont aucun effet. S'applique aux conversations principales et aux subagents. Ce pourcentage s'aligne avec le champ `context_window.used_percentage` disponible dans la [ligne d'état](/fr/statusline) |55| `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` | Définissez le pourcentage de capacité de contexte (1-100) auquel le compactage automatique se déclenche. Par défaut, le compactage automatique se déclenche à environ 95 % de capacité. Utilisez des valeurs plus basses comme `50` pour compacter plus tôt. Les valeurs au-dessus du seuil par défaut n'ont aucun effet. S'applique aux conversations principales et aux subagents. Ce pourcentage s'aligne avec le champ `context_window.used_percentage` disponible dans la [ligne d'état](/fr/statusline) |

55| `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 subagents sont déplacés en arrière-plan après environ deux minutes d'exécution |56| `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 subagents sont déplacés en arrière-plan après environ deux minutes d'exécution |

56| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Retourner au répertoire de travail d'origine après chaque commande Bash ou PowerShell dans la session principale |57| `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` | Retourner au répertoire de travail d'origine après chaque commande Bash ou PowerShell dans la session principale |


59| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalle en millisecondes auquel les identifiants doivent être actualisés (lors de l'utilisation de [`apiKeyHelper`](/fr/settings#available-settings)) |60| `CLAUDE_CODE_API_KEY_HELPER_TTL_MS` | Intervalle en millisecondes auquel les identifiants doivent être actualisés (lors de l'utilisation de [`apiKeyHelper`](/fr/settings#available-settings)) |

60| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez sur `0` pour omettre le bloc d'attribution (version client et empreinte digitale d'invite) du début de l'invite système. La désactiver améliore les taux de succès du cache d'invite lors du routage via une [passerelle LLM](/fr/llm-gateway). La mise en cache de l'API Anthropic n'est pas affectée |61| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez sur `0` pour omettre le bloc d'attribution (version client et empreinte digitale d'invite) du début de l'invite système. La désactiver améliore les taux de succès du cache d'invite lors du routage via une [passerelle LLM](/fr/llm-gateway). La mise en cache de l'API Anthropic n'est pas affectée |

61| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Définissez la capacité de contexte en tokens utilisée pour les calculs de compactage automatique. Par défaut, la fenêtre de contexte du modèle : 200 K pour les modèles standard ou 1 M pour les modèles de [contexte étendu](/fr/model-config#extended-context). Utilisez une valeur inférieure comme `500000` sur un modèle 1 M pour traiter la fenêtre comme 500 K à des fins de compactage. La valeur est plafonnée à la fenêtre de contexte réelle du modèle. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` est appliqué en pourcentage de cette valeur. La définition de cette variable découple le seuil de compactage du `used_percentage` de la ligne d'état, qui utilise toujours la fenêtre de contexte complète du modèle |62| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Définissez la capacité de contexte en tokens utilisée pour les calculs de compactage automatique. Par défaut, la fenêtre de contexte du modèle : 200 K pour les modèles standard ou 1 M pour les modèles de [contexte étendu](/fr/model-config#extended-context). Utilisez une valeur inférieure comme `500000` sur un modèle 1 M pour traiter la fenêtre comme 500 K à des fins de compactage. La valeur est plafonnée à la fenêtre de contexte réelle du modèle. `CLAUDE_AUTOCOMPACT_PCT_OVERRIDE` est appliqué en pourcentage de cette valeur. La définition de cette variable découple le seuil de compactage du `used_percentage` de la ligne d'état, qui utilise toujours la fenêtre de contexte complète du modèle |

62| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Remplacer la [connexion IDE](/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 masque le terminal parent |63| `CLAUDE_CODE_AUTO_CONNECT_IDE` | Remplacer la [connexion IDE](/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 masque le terminal parent. Prend la priorité sur le paramètre de configuration globale [`autoConnectIde`](/fr/settings#global-config-settings) |

63| `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 fourni avec Claude Code. `system` est le magasin de confiance du système d'exploitation. Par défaut `bundled,system`. La distribution binaire native est requise pour l'intégration du magasin système. Sur le runtime Node.js, seul l'ensemble fourni est utilisé indépendamment de cette valeur |64| `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 fourni avec Claude Code. `system` est le magasin de confiance du système d'exploitation. Par défaut `bundled,system` |

64| `CLAUDE_CODE_CLIENT_CERT` | Chemin d'accès au fichier de certificat client pour l'authentification mTLS |65| `CLAUDE_CODE_CLIENT_CERT` | Chemin d'accès au fichier de certificat client pour l'authentification mTLS |

65| `CLAUDE_CODE_CLIENT_KEY` | Chemin d'accès au fichier de clé privée client pour l'authentification mTLS |66| `CLAUDE_CODE_CLIENT_KEY` | Chemin d'accès au fichier de clé privée client pour l'authentification mTLS |

66| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Phrase de passe pour CLAUDE\_CODE\_CLIENT\_KEY chiffré (facultatif) |67| `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE` | Phrase de passe pour CLAUDE\_CODE\_CLIENT\_KEY chiffré (facultatif) |


68| `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 |69| `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 |

69| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez sur `1` pour désactiver la prise en charge de la [fenêtre de contexte 1 M](/fr/model-config#extended-context). Lorsqu'elle est définie, les variantes de modèle 1 M ne sont pas disponibles dans le sélecteur de modèle. Utile pour les environnements d'entreprise avec des exigences de conformité |70| `CLAUDE_CODE_DISABLE_1M_CONTEXT` | Définissez sur `1` pour désactiver la prise en charge de la [fenêtre de contexte 1 M](/fr/model-config#extended-context). Lorsqu'elle est définie, les variantes de modèle 1 M ne sont pas disponibles dans le sélecteur de modèle. Utile pour les environnements d'entreprise avec des exigences de conformité |

70| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Définissez sur `1` pour désactiver le [raisonnement adaptatif](/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`. {/* min-version: 2.1.111 */}N'a aucun effet sur Opus 4.7, qui utilise toujours le raisonnement adaptatif |71| `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` | Définissez sur `1` pour désactiver le [raisonnement adaptatif](/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`. {/* min-version: 2.1.111 */}N'a aucun effet sur Opus 4.7, qui utilise toujours le raisonnement adaptatif |

72| `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN` | Définissez sur `1` pour désactiver le [rendu en plein écran](/fr/fullscreen) et utiliser le rendu classique de l'écran principal. La conversation reste dans le défilement natif de votre terminal pour 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`](/fr/settings#available-settings). Vous pouvez également basculer avec `/tui default` |

71| `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 brut au lieu d'être développées dans le contenu du fichier |73| `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 brut au lieu d'être développées dans le contenu du fichier |

72| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Définissez sur `1` pour désactiver la [mémoire automatique](/fr/memory#auto-memory). Définissez sur `0` pour forcer la mémoire automatique pendant le déploiement progressif. Lorsqu'elle est désactivée, Claude ne crée ni ne charge les fichiers de mémoire automatique |74| `CLAUDE_CODE_DISABLE_AUTO_MEMORY` | Définissez sur `1` pour désactiver la [mémoire automatique](/fr/memory#auto-memory). Définissez sur `0` pour forcer la mémoire automatique même lorsque le mode `--bare` ou [`autoMemoryEnabled: false`](/fr/settings#available-settings) la désactiverait autrement. Lorsqu'elle est désactivée, Claude ne crée ni ne charge les fichiers de mémoire automatique |

73| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Définissez sur `1` pour désactiver toutes les fonctionnalités de tâche en arrière-plan, y compris le paramètre `run_in_background` sur les outils Bash et subagent, l'arrière-plan automatique et le raccourci Ctrl+B |75| `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` | Définissez sur `1` pour désactiver toutes les fonctionnalités de tâche en arrière-plan, y compris le paramètre `run_in_background` sur les outils Bash et subagent, l'arrière-plan automatique et le raccourci Ctrl+B |

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

75| `CLAUDE_CODE_DISABLE_CRON` | Définissez sur `1` pour désactiver les [tâches planifiées](/fr/scheduled-tasks). Le skill `/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 |77| `CLAUDE_CODE_DISABLE_CRON` | Définissez sur `1` pour désactiver les [tâches planifiées](/fr/scheduled-tasks). Le skill `/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 |

76| `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 (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 conservés. |78| `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 (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 conservés. |

77| `CLAUDE_CODE_DISABLE_FAST_MODE` | Définissez sur `1` pour désactiver le [mode rapide](/fr/fast-mode) |79| `CLAUDE_CODE_DISABLE_FAST_MODE` | Définissez sur `1` pour désactiver le [mode rapide](/fr/fast-mode) |

78| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Définissez sur `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` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est défini. Voir [Sondages de qualité de session](/fr/data-usage#session-quality-surveys) |80| `CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY` | Définissez sur `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` ou `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` est défini. Pour définir un taux d'échantillonnage au lieu de désactiver complètement, utilisez le paramètre [`feedbackSurveyRate`](/fr/settings#available-settings). Voir [Sondages de qualité de session](/fr/data-usage#session-quality-surveys) |

79| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Définissez sur `1` pour désactiver le [checkpointing](/fr/checkpointing) de fichier. La commande `/rewind` ne pourra pas restaurer les modifications de code |81| `CLAUDE_CODE_DISABLE_FILE_CHECKPOINTING` | Définissez sur `1` pour désactiver le [checkpointing](/fr/checkpointing) de fichier. La commande `/rewind` ne pourra pas restaurer les modifications de code |

80| `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é du statut git de l'invite système de Claude. Utile lors de l'utilisation de vos propres skills de flux de travail git. Prend la priorité sur le paramètre [`includeGitInstructions`](/fr/settings#available-settings) lorsqu'il est défini |82| `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é du statut git de l'invite système de Claude. Utile lors de l'utilisation de vos propres skills de flux de travail git. Prend la priorité sur le paramètre [`includeGitInstructions`](/fr/settings#available-settings) lorsqu'il est défini |

81| `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. À utiliser lorsque vous souhaitez intentionnellement épingler une version plus ancienne du modèle. Le remappage ne s'exécute pas sur Bedrock, Vertex ou Foundry |83| `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. À utiliser lorsque vous souhaitez intentionnellement épingler une version plus ancienne du modèle. Le remappage ne s'exécute pas sur Bedrock, Vertex ou Foundry |


90| `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 le niveau par défaut du modèle. Les niveaux disponibles dépendent du modèle. Prend la priorité sur `/effort` et le paramètre `effortLevel`. Voir [Ajuster le niveau d'effort](/fr/model-config#adjust-effort-level) |92| `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 le niveau par défaut du modèle. Les niveaux disponibles dépendent du modèle. Prend la priorité sur `/effort` et le paramètre `effortLevel`. Voir [Ajuster le niveau d'effort](/fr/model-config#adjust-effort-level) |

91| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplacer la disponibilité du [récapitulatif de session](/fr/interactive-mode#session-recap). Définissez sur `0` pour forcer les récapitulatifs désactivés indépendamment du bouton bascule `/config`. Définissez sur `1` pour forcer les récapitulatifs activés lorsque [`awaySummaryEnabled`](/fr/settings#available-settings) est `false`. Prend la priorité sur le paramètre et le bouton bascule `/config` |93| `CLAUDE_CODE_ENABLE_AWAY_SUMMARY` | Remplacer la disponibilité du [récapitulatif de session](/fr/interactive-mode#session-recap). Définissez sur `0` pour forcer les récapitulatifs désactivés indépendamment du bouton bascule `/config`. Définissez sur `1` pour forcer les récapitulatifs activés lorsque [`awaySummaryEnabled`](/fr/settings#available-settings) est `false`. Prend la priorité sur le paramètre et le bouton bascule `/config` |

92| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Définissez sur `1` pour actualiser l'état du plugin aux limites de tour en [mode non interactif](/fr/headless) après la fin d'une installation en arrière-plan. Désactivé par défaut car l'actualisation modifie l'invite système en milieu de session, ce qui invalide la [mise en cache des invites](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) pour ce tour |94| `CLAUDE_CODE_ENABLE_BACKGROUND_PLUGIN_REFRESH` | Définissez sur `1` pour actualiser l'état du plugin aux limites de tour en [mode non interactif](/fr/headless) après la fin d'une installation en arrière-plan. Désactivé par défaut car l'actualisation modifie l'invite système en milieu de session, ce qui invalide la [mise en cache des invites](https://platform.claude.com/docs/en/build-with-claude/prompt-caching) pour ce tour |

93| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Définissez sur `1` pour forcer l'activation du streaming d'entrée d'outil à granularité fine. Sans cela, l'API met en mémoire tampon les paramètres d'entrée d'outil complètement avant d'envoyer les événements delta, ce qui peut retarder l'affichage sur les grandes entrées d'outil. API Anthropic uniquement : n'a aucun effet sur Bedrock, Vertex ou Foundry |95| `CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING` | Contrôle si les entrées d'appel d'outil se transmettent en continu depuis l'API au fur et à mesure que Claude les génère. Avec ceci désactivé, une grande entrée d'outil telle qu'une longue écriture de fichier n'arrive qu'après que Claude ait terminé de la générer, ce qui peut sembler qu'il se bloque. Activé par défaut pour les connexions API Anthropic directes. Définissez sur `0` pour refuser. Définissez sur `1` pour forcer l'activation même lorsque la valeur par défaut côté serveur est désactivée. N'a aucun effet sur les connexions Bedrock, Vertex, Foundry ou [gateway](/fr/llm-gateway) |

96| `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 telle que 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 la liste d'autorisation [`availableModels`](/fr/settings#available-settings) |

94| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définissez sur `false` pour désactiver les suggestions d'invite (le bouton bascule « Suggestions d'invite » dans `/config`). Ce sont les prédictions grisées qui apparaissent dans votre entrée d'invite après que Claude répond. Voir [Suggestions d'invite](/fr/interactive-mode#prompt-suggestions) |97| `CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION` | Définissez sur `false` pour désactiver les suggestions d'invite (le bouton bascule « Suggestions d'invite » dans `/config`). Ce sont les prédictions grisées qui apparaissent dans votre entrée d'invite après que Claude répond. Voir [Suggestions d'invite](/fr/interactive-mode#prompt-suggestions) |

95| `CLAUDE_CODE_ENABLE_TASKS` | Définissez sur `1` pour activer le système de suivi des tâches en mode non interactif (l'indicateur `-p`). Les tâches sont activées par défaut en mode interactif. Voir [Liste des tâches](/fr/interactive-mode#task-list) |98| `CLAUDE_CODE_ENABLE_TASKS` | Définissez sur `1` pour activer le système de suivi des tâches en mode non interactif (l'indicateur `-p`). Les tâches sont activées par défaut en mode interactif. Voir [Liste des tâches](/fr/interactive-mode#task-list) |

96| `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](/fr/monitoring-usage) |99| `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](/fr/monitoring-usage) |


98| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définissez sur `1` pour activer les [équipes d'agents](/fr/agent-teams). Les équipes d'agents sont expérimentales et désactivées par défaut |101| `CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS` | Définissez sur `1` pour activer les [équipes d'agents](/fr/agent-teams). Les équipes d'agents sont expérimentales et désactivées par défaut |

99| `CLAUDE_CODE_EXTRA_BODY` | Objet JSON à fusionner dans le niveau supérieur de chaque corps de requête API. Utile pour transmettre des paramètres spécifiques au fournisseur que Claude Code n'expose pas directement |102| `CLAUDE_CODE_EXTRA_BODY` | Objet JSON à fusionner dans le niveau supérieur de chaque corps de requête API. Utile pour transmettre des paramètres spécifiques au fournisseur que Claude Code n'expose pas directement |

100| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Remplacer la limite de tokens par défaut pour les lectures de fichiers. Utile lorsque vous devez lire des fichiers plus volumineux en intégralité |103| `CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS` | Remplacer la limite de tokens par défaut pour les lectures de fichiers. Utile lorsque vous devez lire des fichiers plus volumineux en intégralité |

104| `CLAUDE_CODE_FORCE_SYNC_OUTPUT` | Définissez sur `1` pour forcer l'activation du mode privé DEC 2026 [synchronized output](https://gist.github.com/christianparpart/d8a62cc1ab659194337d73e399004036) lorsque votre terminal le prend en charge mais n'est pas détecté automatiquement. Utile pour les émulateurs tels que Emacs `eat` qui implémentent BSU/ESU mais ne répondent pas à la sonde de capacité. N'a aucun effet sous tmux |

101| `CLAUDE_CODE_FORK_SUBAGENT` | Définissez sur `1` pour activer les [subagents forked](/fr/sub-agents#fork-the-current-conversation). Un subagent forked hérite du contexte de conversation complet de la session principale au lieu de commencer à zéro. Lorsqu'elle est activée, `/fork` génère un subagent forked plutôt que d'agir comme un alias pour [`/branch`](/fr/commands), et tous les spawns de subagent s'exécutent en arrière-plan. Fonctionne en mode interactif et via le SDK ou `claude -p` |105| `CLAUDE_CODE_FORK_SUBAGENT` | Définissez sur `1` pour activer les [subagents forked](/fr/sub-agents#fork-the-current-conversation). Un subagent forked hérite du contexte de conversation complet de la session principale au lieu de commencer à zéro. Lorsqu'elle est activée, `/fork` génère un subagent forked plutôt que d'agir comme un alias pour [`/branch`](/fr/commands), et tous les spawns de subagent s'exécutent en arrière-plan. Fonctionne en mode interactif et via le SDK ou `claude -p` |

102| `CLAUDE_CODE_GIT_BASH_PATH` | Windows uniquement : chemin d'accès à l'exécutable Git Bash (`bash.exe`). À utiliser lorsque Git Bash est installé mais pas dans votre PATH. Voir [Configuration Windows](/fr/setup#set-up-on-windows) |106| `CLAUDE_CODE_GIT_BASH_PATH` | Windows uniquement : chemin d'accès à l'exécutable Git Bash (`bash.exe`). À utiliser lorsque Git Bash est installé mais pas dans votre PATH. Voir [Configuration Windows](/fr/setup#set-up-on-windows) |

103| `CLAUDE_CODE_GLOB_HIDDEN` | Définissez sur `false` pour exclure les fichiers pointés des résultats lorsque Claude appelle l'[outil Glob](/fr/tools-reference). Inclus par défaut. N'affecte pas l'autocomplétion de fichier `@`, `ls`, Grep ou Read |107| `CLAUDE_CODE_GLOB_HIDDEN` | Définissez sur `false` pour exclure les fichiers pointés des résultats lorsque Claude appelle l'[outil Glob](/fr/tools-reference). Inclus par défaut. N'affecte pas l'autocomplétion de fichier `@`, `ls`, Grep ou Read |


120| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour vider les spans OpenTelemetry en attente (par défaut : 5 000). Voir [Surveillance](/fr/monitoring-usage) |124| `CLAUDE_CODE_OTEL_FLUSH_TIMEOUT_MS` | Délai d'expiration en millisecondes pour vider les spans OpenTelemetry en attente (par défaut : 5 000). Voir [Surveillance](/fr/monitoring-usage) |

121| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle pour actualiser les en-têtes OpenTelemetry dynamiques en millisecondes (par défaut : 1 740 000 / 29 minutes). Voir [En-têtes dynamiques](/fr/monitoring-usage#dynamic-headers) |125| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle pour actualiser les en-têtes OpenTelemetry dynamiques en millisecondes (par défaut : 1 740 000 / 29 minutes). Voir [En-têtes dynamiques](/fr/monitoring-usage#dynamic-headers) |

122| `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 : 2 000). Augmentez si les métriques sont supprimées à la sortie. Voir [Surveillance](/fr/monitoring-usage) |126| `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 : 2 000). Augmentez si les métriques sont supprimées à la sortie. Voir [Surveillance](/fr/monitoring-usage) |

127| `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 packages en arrière-plan lorsqu'une nouvelle version est disponible. S'applique aux installations Homebrew et WinGet. Les autres gestionnaires de packages continuent à afficher la commande de mise à niveau sans l'exécuter. Voir [Mises à jour automatiques](/fr/setup#auto-updates) |

123| `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 propriétaire-écriture, 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 |128| `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 propriétaire-écriture, 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 |

124| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Remplacer le répertoire racine des plugins. Malgré le nom, ceci définit le répertoire parent, pas le cache lui-même : les places de marché et le cache des plugins se trouvent dans des sous-répertoires sous ce chemin. Par défaut `~/.claude/plugins` |129| `CLAUDE_CODE_PLUGIN_CACHE_DIR` | Remplacer le répertoire racine des plugins. Malgré le nom, ceci définit le répertoire parent, pas le cache lui-même : les places de marché et le cache des plugins se trouvent dans des sous-répertoires sous ce chemin. Par défaut `~/.claude/plugins` |

125| `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 : 120 000). Augmentez cette valeur pour les grands référentiels ou les connexions réseau lentes. Voir [Les opérations Git expirent](/fr/plugin-marketplaces#git-operations-time-out) |130| `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 : 120 000). Augmentez cette valeur pour les grands référentiels ou les connexions réseau lentes. Voir [Les opérations Git expirent](/fr/plugin-marketplaces#git-operations-time-out) |


131| `CLAUDE_CODE_REMOTE_SESSION_ID` | Défini automatiquement dans les [sessions cloud](/fr/claude-code-on-the-web) à l'ID de session actuel. Lisez ceci pour construire un lien vers la transcription de session. Voir [Lier les artefacts à la session](/fr/claude-code-on-the-web#link-artifacts-back-to-the-session) |136| `CLAUDE_CODE_REMOTE_SESSION_ID` | Défini automatiquement dans les [sessions cloud](/fr/claude-code-on-the-web) à l'ID de session actuel. Lisez ceci pour construire un lien vers la transcription de session. Voir [Lier les artefacts à la session](/fr/claude-code-on-the-web#link-artifacts-back-to-the-session) |

132| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Définissez sur `1` pour reprendre automatiquement si la session précédente s'est terminée en milieu de tour. Utilisé en mode SDK pour que le modèle continue sans que le SDK ait besoin de renvoyer l'invite |137| `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` | Définissez sur `1` pour reprendre automatiquement si la session précédente s'est terminée en milieu de tour. Utilisé en mode SDK pour que le modèle continue sans que le SDK ait besoin de renvoyer l'invite |

133| `CLAUDE_CODE_SCRIPT_CAPS` | Objet JSON limitant le nombre de fois que des scripts spécifiques peuvent être appelé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'appels entiers. 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, donc les astuces d'expansion de shell comme `./scripts/deploy.sh $(evil)` comptent toujours contre le plafond. L'expansion en fan-out au runtime via `xargs` ou `find -exec` n'est pas détectée ; il s'agit d'un contrôle de défense en profondeur |138| `CLAUDE_CODE_SCRIPT_CAPS` | Objet JSON limitant le nombre de fois que des scripts spécifiques peuvent être appelé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'appels entiers. 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, donc les astuces d'expansion de shell comme `./scripts/deploy.sh $(evil)` comptent toujours contre le plafond. L'expansion en fan-out au runtime via `xargs` ou `find -exec` n'est pas détectée ; il s'agit d'un contrôle de défense en profondeur |

134| `CLAUDE_CODE_SCROLL_SPEED` | Définissez le multiplicateur de défilement de la molette de la souris dans le [rendu en plein écran](/fr/fullscreen#mouse-wheel-scrolling). Accepte les valeurs de 1 à 20. Définissez sur `3` pour correspondre à `vim` si votre terminal envoie un événement de molette par cran sans amplification |139| `CLAUDE_CODE_SCROLL_SPEED` | Définissez le multiplicateur de défilement de la molette de la souris dans le [rendu en plein écran](/fr/fullscreen#mouse-wheel-scrolling). Accepte les valeurs de 1 à 20. 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 |

135| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Remplacer le budget de temps en millisecondes pour les hooks [SessionEnd](/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, automatiquement augmenté au `timeout` par hook le plus élevé configuré dans les fichiers de paramètres, jusqu'à 60 secondes. Les délais d'expiration sur les hooks fournis par les plugins ne relèvent pas du budget |140| `CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS` | Remplacer le budget de temps en millisecondes pour les hooks [SessionEnd](/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, automatiquement augmenté au `timeout` par hook le plus élevé configuré dans les fichiers de paramètres, jusqu'à 60 secondes. Les délais d'expiration sur les hooks fournis par les plugins ne relèvent pas du budget |

141| `CLAUDE_CODE_SESSION_ID` | Défini automatiquement dans les sous-processus des outils Bash et PowerShell à l'ID de session actuel. Correspond au champ `session_id` passé aux [hooks](/fr/hooks). Mis à jour sur `/clear`. À utiliser pour corréler les scripts et les outils externes avec la session Claude Code qui les a lancés |

136| `CLAUDE_CODE_SHELL` | Remplacer la détection automatique du shell. Utile lorsque votre shell de connexion diffère de votre shell de travail préféré (par exemple, `bash` vs `zsh`) |142| `CLAUDE_CODE_SHELL` | Remplacer la détection automatique du shell. Utile lorsque votre shell de connexion diffère de votre shell de travail préféré (par exemple, `bash` vs `zsh`) |

137| `CLAUDE_CODE_SHELL_PREFIX` | Préfixe de commande pour envelopper les commandes shell que Claude Code génère : appels d'outil Bash, commandes [hook](/fr/hooks) et commandes de démarrage du serveur MCP [stdio](/fr/mcp). Utile pour la journalisation ou l'audit. Exemple : la définition de `/path/to/logger.sh` exécute chaque commande en tant que `/path/to/logger.sh <command>` |143| `CLAUDE_CODE_SHELL_PREFIX` | Préfixe de commande pour envelopper les commandes shell que Claude Code génère : appels d'outil Bash, commandes [hook](/fr/hooks) et commandes de démarrage du serveur MCP [stdio](/fr/mcp). Utile pour la journalisation ou l'audit. Exemple : la définition de `/path/to/logger.sh` exécute chaque commande en tant que `/path/to/logger.sh <command>` |

138| `CLAUDE_CODE_SIMPLE` | Définissez sur `1` pour exécuter avec une invite système minimale 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, skills, plugins, serveurs MCP, mémoire automatique et CLAUDE.md. L'indicateur CLI [`--bare`](/fr/headless#start-faster-with-bare-mode) définit ceci |144| `CLAUDE_CODE_SIMPLE` | Définissez sur `1` pour exécuter avec une invite système minimale 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, skills, plugins, serveurs MCP, mémoire automatique et CLAUDE.md. L'indicateur CLI [`--bare`](/fr/headless#start-faster-with-bare-mode) définit ceci |


146| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définissez sur `1` pour supprimer les identifiants Anthropic et des fournisseurs de cloud des environnements de sous-processus (outil Bash, hooks, serveurs MCP stdio). Le processus Claude parent conserve 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 du shell. Sur Linux, cela exécute également les sous-processus Bash dans un espace de noms PID isolé pour 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é |152| `CLAUDE_CODE_SUBPROCESS_ENV_SCRUB` | Définissez sur `1` pour supprimer les identifiants Anthropic et des fournisseurs de cloud des environnements de sous-processus (outil Bash, hooks, serveurs MCP stdio). Le processus Claude parent conserve 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 du shell. Sur Linux, cela exécute également les sous-processus Bash dans un espace de noms PID isolé pour 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é |

147| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définissez sur `1` en mode non interactif (l'indicateur `-p`) pour attendre que l'installation du plugin se termine 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 |153| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL` | Définissez sur `1` en mode non interactif (l'indicateur `-p`) pour attendre que l'installation du plugin se termine 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 |

148| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour l'installation synchrone des plugins. Lorsqu'il est dépassé, Claude Code continue sans plugins et enregistre une erreur. Pas de défaut : sans cette variable, l'installation synchrone attend jusqu'à la fin |154| `CLAUDE_CODE_SYNC_PLUGIN_INSTALL_TIMEOUT_MS` | Délai d'expiration en millisecondes pour l'installation synchrone des plugins. Lorsqu'il est dépassé, Claude Code continue sans plugins et enregistre une erreur. Pas de défaut : sans cette variable, l'installation synchrone attend jusqu'à la fin |

149| `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 |155| `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`](/fr/settings) |

150| `CLAUDE_CODE_TASK_LIST_ID` | Partager une liste de tâches entre les sessions. Définissez le même ID dans plusieurs instances de Claude Code pour coordonner une liste de tâches partagée. Voir [Liste des tâches](/fr/interactive-mode#task-list) |156| `CLAUDE_CODE_TASK_LIST_ID` | Partager une liste de tâches entre les sessions. Définissez le même ID dans plusieurs instances de Claude Code pour coordonner une liste de tâches partagée. Voir [Liste des tâches](/fr/interactive-mode#task-list) |

151| `CLAUDE_CODE_TEAM_NAME` | Nom de l'équipe d'agents à laquelle appartient ce coéquipier. Défini automatiquement sur les membres de l'[équipe d'agents](/fr/agent-teams) |157| `CLAUDE_CODE_TEAM_NAME` | Nom de l'équipe d'agents à laquelle appartient ce coéquipier. Défini automatiquement sur les membres de l'[équipe d'agents](/fr/agent-teams) |

152| `CLAUDE_CODE_TMPDIR` | Remplacer le répertoire temporaire utilisé pour les fichiers temporaires internes. Claude Code ajoute `/claude-{uid}/` (Unix) ou `/claude/` (Windows) à ce chemin. Par défaut : `/tmp` sur macOS, `os.tmpdir()` sur Linux/Windows |158| `CLAUDE_CODE_TMPDIR` | Remplacer le répertoire temporaire utilisé pour les fichiers temporaires internes. Claude Code ajoute `/claude-{uid}/` (Unix) ou `/claude/` (Windows) à ce chemin. Par défaut : `/tmp` sur macOS, `os.tmpdir()` sur Linux/Windows |


162| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez sur `1` pour activer le chien de garde d'inactivité de streaming au niveau des événements. Désactivé par défaut. Pour Bedrock, Vertex et Foundry, c'est le seul chien de garde d'inactivité disponible. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |168| `CLAUDE_ENABLE_STREAM_WATCHDOG` | Définissez sur `1` pour activer le chien de garde d'inactivité de streaming au niveau des événements. Désactivé par défaut. Pour Bedrock, Vertex et Foundry, c'est le seul chien de garde d'inactivité disponible. Configurez le délai d'expiration avec `CLAUDE_STREAM_IDLE_TIMEOUT_MS` |

163| `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, de sorte que les exports du fichier sont visibles pour la commande. À utiliser pour persister l'activation de virtualenv ou conda entre les commandes. Également rempli dynamiquement par les hooks [SessionStart](/fr/hooks#persist-environment-variables), [Setup](/fr/hooks#setup), [CwdChanged](/fr/hooks#cwdchanged) et [FileChanged](/fr/hooks#filechanged) |169| `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, de sorte que les exports du fichier sont visibles pour la commande. À utiliser pour persister l'activation de virtualenv ou conda entre les commandes. Également rempli dynamiquement par les hooks [SessionStart](/fr/hooks#persist-environment-variables), [Setup](/fr/hooks#setup), [CwdChanged](/fr/hooks#cwdchanged) et [FileChanged](/fr/hooks#filechanged) |

164| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Préfixe pour les noms de session [Contrôle à distance](/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`. L'indicateur CLI `--remote-control-session-name-prefix` définit la même valeur pour une seule invocation |170| `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` | Préfixe pour les noms de session [Contrôle à distance](/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`. L'indicateur CLI `--remote-control-session-name-prefix` définit la même valeur pour une seule invocation |

165| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes avant que le chien de garde d'inactivité de streaming ferme une connexion bloquée. Par défaut et minimum `300000` (5 minutes) pour le chien de garde au niveau des octets sur l'API Anthropic ; les valeurs inférieures sont silencieusement limitées pour absorber les pauses de réflexion étendue et la mise en mémoire tampon du proxy. Pour les fournisseurs tiers, nécessite `CLAUDE_ENABLE_STREAM_WATCHDOG=1` |171| `CLAUDE_STREAM_IDLE_TIMEOUT_MS` | Délai d'expiration en millisecondes avant que le chien de garde d'inactivité de streaming ferme une connexion bloquée. Par défaut et minimum `300000` (5 minutes) pour les deux chiens de garde au niveau des octets et au niveau des événements ; les valeurs inférieures sont silencieusement limitées pour absorber les pauses de réflexion étendue et la mise en mémoire tampon du proxy. Pour les fournisseurs tiers, nécessite `CLAUDE_ENABLE_STREAM_WATCHDOG=1` |

166| `DISABLE_AUTOUPDATER` | Définissez sur `1` pour désactiver les mises à jour automatiques en arrière-plan. La commande manuelle `claude update` fonctionne toujours. Utilisez `DISABLE_UPDATES` pour bloquer les deux |172| `DISABLE_AUTOUPDATER` | Définissez sur `1` pour désactiver les mises à jour automatiques en arrière-plan. La commande manuelle `claude update` fonctionne toujours. Utilisez `DISABLE_UPDATES` pour bloquer les deux |

167| `DISABLE_AUTO_COMPACT` | Définissez sur `1` pour désactiver le compactage automatique lorsque vous approchez de la limite de contexte. La commande manuelle `/compact` reste disponible. À utiliser lorsque vous souhaitez un contrôle explicite sur le moment du compactage |173| `DISABLE_AUTO_COMPACT` | Définissez sur `1` pour désactiver le compactage automatique lorsque vous approchez de la limite de contexte. La commande manuelle `/compact` reste disponible. À utiliser lorsque vous souhaitez un contrôle explicite sur le moment du compactage |

168| `DISABLE_COMPACT` | Définissez sur `1` pour désactiver tout compactage : à la fois le compactage automatique et la commande manuelle `/compact` |174| `DISABLE_COMPACT` | Définissez sur `1` pour désactiver tout compactage : à la fois le compactage automatique et la commande manuelle `/compact` |


181| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Haiku |187| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Haiku |

182| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Opus |188| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Opus |

183| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Sonnet |189| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Sonnet |

184| `DISABLE_TELEMETRY` | Définissez sur `1` pour refuser la télémétrie Statsig (notez que les événements Statsig n'incluent pas les données utilisateur comme le code, les chemins de fichiers ou les commandes bash) |190| `DISABLE_TELEMETRY` | Définissez sur `1` pour refuser 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 |

185| `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`. À utiliser lors de la distribution de Claude Code via vos propres canaux et les utilisateurs ne doivent pas se mettre à jour automatiquement |191| `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`. À utiliser lors de la distribution de Claude Code via vos propres canaux et les utilisateurs ne doivent pas se mettre à jour automatiquement |

186| `DISABLE_UPGRADE_COMMAND` | Définissez sur `1` pour masquer la commande `/upgrade` |192| `DISABLE_UPGRADE_COMMAND` | Définissez sur `1` pour masquer la commande `/upgrade` |

187| `ENABLE_CLAUDEAI_MCP_SERVERS` | Définissez sur `false` pour désactiver les [serveurs MCP claude.ai](/fr/mcp#use-mcp-servers-from-claude-ai) dans Claude Code. Activé par défaut pour les utilisateurs connectés |193| `ENABLE_CLAUDEAI_MCP_SERVERS` | Définissez sur `false` pour désactiver les [serveurs MCP claude.ai](/fr/mcp#use-mcp-servers-from-claude-ai) dans Claude Code. Activé par défaut pour les utilisateurs connectés |


198| `MAX_STRUCTURED_OUTPUT_RETRIES` | Nombre de fois pour réessayer lorsque la réponse du modèle échoue la validation par rapport au [`--json-schema`](/fr/cli-reference#cli-flags) en mode non interactif (l'indicateur `-p`). Par défaut 5 |204| `MAX_STRUCTURED_OUTPUT_RETRIES` | Nombre de fois pour réessayer lorsque la réponse du modèle échoue la validation par rapport au [`--json-schema`](/fr/cli-reference#cli-flags) en mode non interactif (l'indicateur `-p`). Par défaut 5 |

199| `MAX_THINKING_TOKENS` | Remplacer le budget de tokens de [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Le plafond est le [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) du modèle moins un. Définissez sur `0` pour désactiver complètement la réflexion. Sur les modèles avec [raisonnement adaptatif](/fr/model-config#adjust-effort-level), le budget est ignoré sauf si le raisonnement adaptatif est désactivé via `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` |205| `MAX_THINKING_TOKENS` | Remplacer le budget de tokens de [réflexion étendue](https://platform.claude.com/docs/en/build-with-claude/extended-thinking). Le plafond est le [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison) du modèle moins un. Définissez sur `0` pour désactiver complètement la réflexion. Sur les modèles avec [raisonnement adaptatif](/fr/model-config#adjust-effort-level), le budget est ignoré sauf si le raisonnement adaptatif est désactivé via `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING` |

200| `MCP_CLIENT_SECRET` | Secret client OAuth pour les serveurs MCP qui nécessitent des [identifiants préconfigurés](/fr/mcp#use-pre-configured-oauth-credentials). Évite l'invite interactive lors de l'ajout d'un serveur avec `--client-secret` |206| `MCP_CLIENT_SECRET` | Secret client OAuth pour les serveurs MCP qui nécessitent des [identifiants préconfigurés](/fr/mcp#use-pre-configured-oauth-credentials). Évite l'invite interactive lors de l'ajout d'un serveur avec `--client-secret` |

201| `MCP_CONNECTION_NONBLOCKING` | Définissez sur `true` en mode non interactif (`-p`) pour ignorer complètement l'attente de connexion MCP. Utile pour les pipelines scriptés où les outils MCP ne sont pas nécessaires. Sans cette variable, la première requête attend jusqu'à 5 secondes pour les connexions du serveur `--mcp-config` |207| `MCP_CONNECTION_NONBLOCKING` | Définissez sur `true` en mode non interactif (`-p`) pour ignorer complètement l'attente de connexion MCP. Utile pour les pipelines scriptés où les outils MCP ne sont pas nécessaires. Sans cette variable, la première requête attend jusqu'à 5 secondes pour les connexions du serveur `--mcp-config`. Les serveurs configurés avec [`alwaysLoad: true`](/fr/mcp#exempt-a-server-from-deferral) bloquent toujours le démarrage indépendamment de cette variable, car leurs outils doivent être présents lorsque la première invite est construite |

202| `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](/fr/mcp#use-pre-configured-oauth-credentials) |208| `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](/fr/mcp#use-pre-configured-oauth-credentials) |

203| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximal de serveurs MCP distants (HTTP/SSE) à connecter en parallèle au démarrage (par défaut : 20) |209| `MCP_REMOTE_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximal de serveurs MCP distants (HTTP/SSE) à connecter en parallèle au démarrage (par défaut : 20) |

204| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximal de serveurs MCP locaux (stdio) à connecter en parallèle au démarrage (par défaut : 3) |210| `MCP_SERVER_CONNECTION_BATCH_SIZE` | Nombre maximal de serveurs MCP locaux (stdio) à connecter en parallèle au démarrage (par défaut : 3) |

errors.md +27 −5

Details

35| `does not meet scope requirement user:profile` | [Authentification](#oauth-scope-requirement) |35| `does not meet scope requirement user:profile` | [Authentification](#oauth-scope-requirement) |

36| `Unable to connect to API` | [Réseau](#unable-to-connect-to-api) |36| `Unable to connect to API` | [Réseau](#unable-to-connect-to-api) |

37| `SSL certificate verification failed` | [Réseau](#ssl-certificate-errors) |37| `SSL certificate verification failed` | [Réseau](#ssl-certificate-errors) |

38| `403` with `x-deny-reason: host_not_allowed` in a cloud or routine session | [Réseau](#host-not-allowed-in-a-cloud-session) |

38| `Prompt is too long` | [Erreurs de requête](#prompt-is-too-long) |39| `Prompt is too long` | [Erreurs de requête](#prompt-is-too-long) |

39| `Error during compaction: Conversation too long` | [Erreurs de requête](#error-during-compaction-conversation-too-long) |40| `Error during compaction: Conversation too long` | [Erreurs de requête](#error-during-compaction-conversation-too-long) |

40| `Request too large` | [Erreurs de requête](#request-too-large) |41| `Request too large` | [Erreurs de requête](#request-too-large) |


282 283 

283## Erreurs réseau et de connexion284## Erreurs réseau et de connexion

284 285 

285Ces erreurs signifient que Claude Code n'a pas pu atteindre l'API du tout. Elles proviennent presque toujours de votre réseau local, proxy ou pare-feu plutôt que de l'infrastructure Anthropic.286Ces erreurs signifient qu'une demande réseau de Claude Code n'a pas pu atteindre sa destination. Elles proviennent généralement de votre réseau local, proxy ou pare-feu, ou de la politique réseau de l'environnement cloud.

286 287 

287### Unable to connect to API288### Unable to connect to API

288 289 


307* Assurez-vous que votre pare-feu autorise les hôtes répertoriés dans [Network access requirements](/fr/network-config#network-access-requirements)308* Assurez-vous que votre pare-feu autorise les hôtes répertoriés dans [Network access requirements](/fr/network-config#network-access-requirements)

308* Les défaillances intermittentes sont [réessayées automatiquement](#automatic-retries) ; les défaillances persistantes pointent vers un problème de réseau local309* Les défaillances intermittentes sont [réessayées automatiquement](#automatic-retries) ; les défaillances persistantes pointent vers un problème de réseau local

309 310 

310Si `curl` réussit mais que Claude Code échoue toujours, la cause est généralement quelque chose entre Node.js et le réseau plutôt que le réseau lui-même :311Si `curl` réussit mais que Claude Code échoue toujours, la cause est généralement quelque chose entre le runtime et le réseau plutôt que le réseau lui-même :

311 312 

312* Sur Linux et WSL, vérifiez `/etc/resolv.conf` pour un serveur de noms inaccessible. WSL en particulier peut hériter d'un résolveur cassé de l'hôte.313* Sur Linux et WSL, vérifiez `/etc/resolv.conf` pour un serveur de noms inaccessible. WSL en particulier peut hériter d'un résolveur cassé de l'hôte.

313* Sur macOS, un client VPN qui a été déconnecté ou désinstallé peut laisser une interface de tunnel ou une règle de routage. Vérifiez `ifconfig` pour les interfaces `utun` obsolètes et supprimez l'extension réseau du VPN dans les Paramètres système.314* Sur macOS, un client VPN qui a été déconnecté ou désinstallé peut laisser une interface de tunnel ou une règle de routage. Vérifiez `ifconfig` pour les interfaces `utun` obsolètes et supprimez l'extension réseau du VPN dans les Paramètres système.


315 316 

316### SSL certificate errors317### SSL certificate errors

317 318 

318Un proxy ou un appareil de sécurité sur votre réseau intercepte le trafic TLS avec son propre certificat, et Node.js ne le fait pas confiance.319Un proxy ou un appareil de sécurité sur votre réseau intercepte le trafic TLS avec son propre certificat, et Claude Code ne lui fait pas confiance.

319 320 

320```text theme={null}321```text theme={null}

321Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates322Unable to connect to API: SSL certificate verification failed. Check your proxy or corporate SSL certificates


324 325 

325**Que faire :**326**Que faire :**

326 327 

327* Exportez le bundle CA de votre organisation et pointez Node dessus avec `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem`328* Exportez le bundle CA de votre organisation et pointez Claude Code dessus avec `NODE_EXTRA_CA_CERTS=/path/to/ca-bundle.pem`

328* Consultez [Network configuration](/fr/network-config#custom-ca-certificates) pour les instructions de configuration complètes329* Consultez [Network configuration](/fr/network-config#custom-ca-certificates) pour les instructions de configuration complètes

329* Ne définissez pas `NODE_TLS_REJECT_UNAUTHORIZED=0`, qui désactive complètement la validation des certificats330* Ne définissez pas `NODE_TLS_REJECT_UNAUTHORIZED=0`, qui désactive complètement la validation des certificats

330 331 

332### Host not allowed in a cloud session

333 

334Une demande HTTP sortante d'une session cloud ou d'une routine a été bloquée par la politique réseau de l'environnement.

335 

336```text theme={null}

337HTTP 403

338x-deny-reason: host_not_allowed

339```

340 

341Vous pouvez également voir un certificat TLS qui ne correspond pas au certificat réel de la destination. L'environnement cloud achemine le trafic sortant via un proxy qui applique la politique réseau, donc un certificat non correspondant signifie que le proxy a terminé la connexion, pas la destination.

342 

343Ce n'est pas un problème réseau côté client. Les sessions cloud et les [routines](/fr/routines) s'exécutent à l'intérieur d'un environnement en sandbox dont le trafic sortant est filtré selon la liste d'autorisation de l'environnement. L'environnement **Default** utilise l'accès **Trusted**, qui autorise la [liste d'autorisation par défaut](/fr/claude-code-on-the-web#default-allowed-domains) des registres de paquets, des API de fournisseurs cloud, des registres de conteneurs et des domaines de développement courants, mais bloque tout le reste.

344 

345**Que faire :**

346 

347* Ouvrez la routine pour la modifier, ou démarrez une session cloud. Sélectionnez l'icône cloud affichant le nom de votre environnement, tel que **Default**, pour ouvrir le sélecteur. Survolez votre environnement et cliquez sur l'icône des paramètres.

348* Dans la boîte de dialogue **Update cloud environment**, changez **Network access** de **Trusted** à **Custom**, puis ajoutez le domaine bloqué à **Allowed domains**. Entrez un domaine par ligne. Cochez **Also include default list of common package managers** pour conserver la [liste d'autorisation par défaut](/fr/claude-code-on-the-web#default-allowed-domains) aux côtés de vos domaines personnalisés. Sélectionnez **Full** à la place si vous souhaitez un accès sans restriction.

349* Cliquez sur **Save changes**. La prochaine exécution utilise la liste d'autorisation mise à jour.

350 

351Consultez [Network access](/fr/claude-code-on-the-web#network-access) pour les niveaux d'accès et la liste d'autorisation par défaut. Les sessions CLI locales ne sont pas affectées par cette politique.

352 

331## Erreurs de requête353## Erreurs de requête

332 354 

333Ces erreurs signifient que l'API a reçu votre requête mais a rejeté son contenu.355Ces erreurs signifient que l'API a reçu votre requête mais a rejeté son contenu.


487**Que faire :**509**Que faire :**

488 510 

489* Réduisez `MAX_THINKING_TOKENS`, ou augmentez [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/fr/env-vars) au-dessus du budget de réflexion511* Réduisez `MAX_THINKING_TOKENS`, ou augmentez [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/fr/env-vars) au-dessus du budget de réflexion

490* Consultez [Extended thinking](/fr/common-workflows#use-extended-thinking-thinking-mode) pour savoir comment le budget interagit avec la longueur de sortie512* Consultez [Extended thinking](/fr/model-config#extended-thinking) pour savoir comment le budget interagit avec la longueur de sortie

491 513 

492### Tool use or thinking block mismatch514### Tool use or thinking block mismatch

493 515 

Details

219| **Subagents** | Quand généré | Contexte frais avec les skills spécifiées | Isolé de la session principale |219| **Subagents** | Quand généré | Contexte frais avec les skills spécifiées | Isolé de la session principale |

220| **Hooks** | Au déclenchement | Rien (s'exécute en externe) | Zéro, sauf si le hook retourne du contexte supplémentaire |220| **Hooks** | Au déclenchement | Rien (s'exécute en externe) | Zéro, sauf si le hook retourne du contexte supplémentaire |

221 221 

222\*Par défaut, les descriptions de skills se chargent au début de la session afin que Claude puisse décider quand les utiliser. Définissez `disable-model-invocation: true` dans le frontmatter d'une skill pour la masquer complètement à Claude jusqu'à ce que vous l'invoquiez manuellement. Cela réduit le coût du contexte à zéro pour les skills que vous ne déclenchez que vous-même.222\*Par défaut, les descriptions de skills se chargent au début de la session afin que Claude puisse décider quand les utiliser. Définissez `disable-model-invocation: true` dans le frontmatter d'une skill pour la masquer complètement à Claude jusqu'à ce que vous l'invoquiez manuellement. Cela réduit le coût du contexte à zéro pour les skills que vous ne déclenchez que vous-même. Pour une skill que vous n'avez pas écrite, définissez [`skillOverrides`](/fr/skills#override-skill-visibility-from-settings) dans les paramètres pour faire la même chose sans modifier son fichier.

223 223 

224### Comprendre comment les fonctionnalités se chargent224### Comprendre comment les fonctionnalités se chargent

225 225 


282 </Tab>282 </Tab>

283 283 

284 <Tab title="Hooks">284 <Tab title="Hooks">

285 **Quand :** Au déclenchement. Les hooks se déclenchent à des événements de cycle de vie spécifiques comme l'exécution d'outils, les limites de session, la soumission d'invite, les demandes de permission et la compaction. Consultez [Hooks](/fr/hooks-guide) pour la liste complète.285 **Quand :** Au déclenchement. Les hooks se déclenchent à des événements de cycle de vie spécifiques comme l'exécution d'outils, les limites de session, la soumission d'invite, les demandes de permission et la compaction. Consultez [Hooks](/fr/hooks) pour la liste complète.

286 286 

287 **Ce qui se charge :** Rien par défaut. Les hooks s'exécutent en dehors de la conversation principale.287 **Ce qui se charge :** Rien par défaut. Les hooks s'exécutent en dehors de la conversation principale.

288 288 

fullscreen.md +10 −2

Details

93 93 

94Une valeur de `3` correspond à la valeur par défaut dans `vim` et les applications similaires. Le paramètre accepte les valeurs de 1 à 20.94Une valeur de `3` correspond à la valeur par défaut dans `vim` et les applications similaires. Le paramètre accepte les valeurs de 1 à 20.

95 95 

96### Défilement dans le terminal de l'IDE JetBrains

97 

98Dans le terminal de l'IDE JetBrains, Claude Code applique sa propre gestion du défilement et ignore `CLAUDE_CODE_SCROLL_SPEED`. Le terminal envoie les événements de défilement à un taux beaucoup plus élevé que les autres émulateurs, donc un multiplicateur accordé ailleurs dépasse la limite ici.

99 

100En 2025.2, le terminal a également des bogues de défilement à la molette qui produisent des touches fléchées parasites et des événements de mauvaise direction. Claude Code détecte ces bogues à l'exécution et les atténue automatiquement, donc le défilement au trackpad et à la molette de la souris fonctionnent sans configuration. Pour la meilleure expérience de défilement, mettez à niveau vers 2025.3 ou une version ultérieure. Claude Code affiche un indice la première fois que vous faites défiler si le bogue est détecté.

101 

96## Rechercher et examiner la conversation102## Rechercher et examiner la conversation

97 103 

98`Ctrl+o` bascule entre l'invite normale et le mode transcription. Pour une vue plus calme qui affiche uniquement votre dernière invite, un résumé d'une ligne des appels d'outil avec les statistiques de diff de modification, et la réponse finale, exécutez `/focus`. Le paramètre persiste entre les sessions. Exécutez `/focus` à nouveau pour le désactiver.104`Ctrl+o` bascule entre l'invite normale et le mode transcription. Pour une vue plus calme qui affiche uniquement votre dernière invite, un résumé d'une ligne des appels d'outil avec les statistiques de diff de modification, et la réponse finale, exécutez `/focus`. Le paramètre persiste entre les sessions. Exécutez `/focus` à nouveau pour le désactiver.


122 128 

123## Utiliser avec tmux129## Utiliser avec tmux

124 130 

125Le rendu en plein écran fonctionne à l'intérieur de tmux, avec deux mises en garde.131Le rendu en plein écran fonctionne à l'intérieur de tmux, avec trois mises en garde.

126 132 

127Le défilement à la molette de la souris nécessite le mode souris de tmux. Si votre `~/.tmux.conf` ne l'active pas déjà, ajoutez cette ligne et rechargez votre configuration :133Le défilement à la molette de la souris nécessite le mode souris de tmux. Si votre `~/.tmux.conf` ne l'active pas déjà, ajoutez cette ligne et rechargez votre configuration :

128 134 


134 140 

135Le rendu en plein écran est incompatible avec le mode d'intégration tmux d'iTerm2, qui est le mode dans lequel vous entrez avec `tmux -CC`. En mode intégration, iTerm2 rend chaque volet tmux comme une division native plutôt que de laisser tmux dessiner sur le terminal. Le tampon d'écran alternatif et le suivi de la souris ne fonctionnent pas correctement là : la molette de la souris ne fait rien, et le double-clic peut corrompre l'état du terminal. N'activez pas le rendu en plein écran dans les sessions `tmux -CC`. Le tmux régulier à l'intérieur d'iTerm2, sans `-CC`, fonctionne bien.141Le rendu en plein écran est incompatible avec le mode d'intégration tmux d'iTerm2, qui est le mode dans lequel vous entrez avec `tmux -CC`. En mode intégration, iTerm2 rend chaque volet tmux comme une division native plutôt que de laisser tmux dessiner sur le terminal. Le tampon d'écran alternatif et le suivi de la souris ne fonctionnent pas correctement là : la molette de la souris ne fait rien, et le double-clic peut corrompre l'état du terminal. N'activez pas le rendu en plein écran dans les sessions `tmux -CC`. Le tmux régulier à l'intérieur d'iTerm2, sans `-CC`, fonctionne bien.

136 142 

143tmux ne supporte pas la sortie synchronisée, donc vous pouvez voir plus de scintillement lors des redessins que lors de l'exécution de Claude Code directement dans votre terminal. Si le scintillement est notable, en particulier sur SSH, exécutez Claude Code dans son propre onglet de terminal en dehors de tmux.

144 

137## Conserver la sélection de texte natif145## Conserver la sélection de texte natif

138 146 

139La capture de souris est le point de friction le plus courant, surtout sur SSH ou à l'intérieur de tmux. Lorsque Claude Code capture les événements de souris, la copie à la sélection natif de votre terminal cesse de fonctionner. La sélection que vous faites avec clic et glissement existe à l'intérieur de Claude Code, pas dans le tampon de sélection de votre terminal, donc le mode copie tmux, les indices Kitty et les outils similaires ne la voient pas.147La capture de souris est le point de friction le plus courant, surtout sur SSH ou à l'intérieur de tmux. Lorsque Claude Code capture les événements de souris, la copie à la sélection natif de votre terminal cesse de fonctionner. La sélection que vous faites avec clic et glissement existe à l'intérieur de Claude Code, pas dans le tampon de sélection de votre terminal, donc le mode copie tmux, les indices Kitty et les outils similaires ne la voient pas.


156 164 

157Si vous rencontrez un problème, exécutez `/feedback` à l'intérieur de Claude Code pour le signaler, ou ouvrez un problème sur le [référentiel GitHub claude-code](https://github.com/anthropics/claude-code/issues). Incluez le nom et la version de votre émulateur de terminal.165Si vous rencontrez un problème, exécutez `/feedback` à l'intérieur de Claude Code pour le signaler, ou ouvrez un problème sur le [référentiel GitHub claude-code](https://github.com/anthropics/claude-code/issues). Incluez le nom et la version de votre émulateur de terminal.

158 166 

159Pour désactiver le rendu en plein écran, exécutez `/tui default`, ou déconfigurez la variable d'environnement si vous l'avez activée de cette façon.167Pour désactiver le rendu en plein écran, exécutez `/tui default`, ou déconfigurez `CLAUDE_CODE_NO_FLICKER` si vous l'avez activée de cette façon. Pour forcer le moteur de rendu classique indépendamment du paramètre `tui` enregistré, définissez `CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN=1`. Le moteur de rendu classique conserve la conversation dans le défilement natif de votre terminal afin que `Cmd+f` et le mode copie tmux fonctionnent comme d'habitude.

Details

253Demandez l'accès aux modèles Claude dans Vertex AI :253Demandez l'accès aux modèles Claude dans Vertex AI :

254 254 

2551. Accédez au [Vertex AI Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)2551. Accédez au [Vertex AI Model Garden](https://console.cloud.google.com/vertex-ai/model-garden)

2562. Recherchez les modèles « Claude »2562. Recherchez les modèles ' Claude '

2573. Demandez l'accès aux modèles Claude souhaités (par exemple, Claude Sonnet 4.6)2573. Demandez l'accès aux modèles Claude souhaités (par exemple, Claude Sonnet 4.6)

2584. Attendez l'approbation (peut prendre 24 à 48 heures)2584. Attendez l'approbation (peut prendre 24 à 48 heures)

259 259 


266Claude Code v2.1.121 ou version ultérieure prend en charge la [Fédération d'identité de charge de travail basée sur certificat X.509](https://cloud.google.com/iam/docs/workload-identity-federation-with-x509-certificates) via la même chaîne Application Default Credentials. Définissez `GOOGLE_APPLICATION_CREDENTIALS` sur le chemin de votre fichier de configuration des identifiants.266Claude Code v2.1.121 ou version ultérieure prend en charge la [Fédération d'identité de charge de travail basée sur certificat X.509](https://cloud.google.com/iam/docs/workload-identity-federation-with-x509-certificates) via la même chaîne Application Default Credentials. Définissez `GOOGLE_APPLICATION_CREDENTIALS` sur le chemin de votre fichier de configuration des identifiants.

267 267 

268<Note>268<Note>

269 Lors de l'authentification, Claude Code utilisera automatiquement l'ID de projet de la variable d'environnement `ANTHROPIC_VERTEX_PROJECT_ID`. Pour remplacer cela, définissez l'une de ces variables d'environnement : `GCLOUD_PROJECT`, `GOOGLE_CLOUD_PROJECT` ou `GOOGLE_APPLICATION_CREDENTIALS`.269 Claude Code utilise `ANTHROPIC_VERTEX_PROJECT_ID` comme ID de projet pour les demandes Vertex AI. Les variables d'environnement `GCLOUD_PROJECT` et `GOOGLE_CLOUD_PROJECT` et le fichier d'identifiants référencé par `GOOGLE_APPLICATION_CREDENTIALS` ont la priorité sur celui-ci. Si aucun de ces éléments n'est défini, l'ID de projet est résolu à partir de votre configuration `gcloud` ou du compte de service attaché.

270</Note>270</Note>

271 271 

272#### Configuration avancée des identifiants

273 

274Claude Code prend en charge l'actualisation automatique des identifiants GCP via le paramètre `gcpAuthRefresh`. Lorsque Claude Code détecte que vos identifiants GCP ont expiré ou ne peuvent pas être chargés, il exécute la commande configurée pour obtenir de nouveaux identifiants avant de réessayer la demande.

275 

276```json theme={null}

277{

278 "gcpAuthRefresh": "gcloud auth application-default login",

279 "env": {

280 "ANTHROPIC_VERTEX_PROJECT_ID": "your-project-id"

281 }

282}

283```

284 

285La sortie de la commande s'affiche à l'utilisateur, mais l'entrée interactive n'est pas prise en charge. Cela fonctionne bien pour les flux d'authentification basés sur navigateur où l'interface de ligne de commande affiche une URL et vous complétez l'authentification dans le navigateur. La commande d'actualisation expire après trois minutes si l'authentification ne se termine pas. Si vous définissez `gcpAuthRefresh` dans les paramètres du projet tels que `.claude/settings.json`, la commande s'exécute uniquement après que vous ayez accepté l'invite de confiance de l'espace de travail.

286 

272### 4. Configurer Claude Code287### 4. Configurer Claude Code

273 288 

274Définissez les variables d'environnement suivantes :289Définissez les variables d'environnement suivantes :


363 378 

364## Résolution des problèmes379## Résolution des problèmes

365 380 

381Si vous rencontrez des erreurs « Impossible de charger les identifiants par défaut » :

382 

383* Exécutez `gcloud auth application-default login` pour configurer les identifiants par défaut de l'application

384* Définissez `GOOGLE_APPLICATION_CREDENTIALS` sur le chemin d'un fichier de clé de compte de service

385* Consultez [Configurer les identifiants GCP](#3-configure-gcp-credentials) pour toutes les options

386 

366Si vous rencontrez des problèmes de quota :387Si vous rencontrez des problèmes de quota :

367 388 

368* Vérifiez les quotas actuels ou demandez une augmentation de quota via la [Console Cloud](https://cloud.google.com/docs/quotas/view-manage)389* Vérifiez les quotas actuels ou demandez une augmentation de quota via la [Console Cloud](https://cloud.google.com/docs/quotas/view-manage)

headless.md +33 −3

Details

54| Paramètres | `--settings <file-or-json>` |54| Paramètres | `--settings <file-or-json>` |

55| Serveurs MCP | `--mcp-config <file-or-json>` |55| Serveurs MCP | `--mcp-config <file-or-json>` |

56| Agents personnalisés | `--agents <json>` |56| Agents personnalisés | `--agents <json>` |

57| Un répertoire de plugin | `--plugin-dir <path>` |57| Un plugin | `--plugin-dir <path>`, `--plugin-url <url>` |

58 58 

59Le mode bare ignore OAuth et les lectures du trousseau. L'authentification Anthropic doit provenir de `ANTHROPIC_API_KEY` ou d'un `apiKeyHelper` dans le JSON passé à `--settings`. Bedrock, Vertex et Foundry utilisent leurs identifiants de fournisseur habituels.59Le mode bare ignore OAuth et les lectures du trousseau. L'authentification Anthropic doit provenir de `ANTHROPIC_API_KEY` ou d'un `apiKeyHelper` dans le JSON passé à `--settings`. Bedrock, Vertex et Foundry utilisent leurs identifiants de fournisseur habituels.

60 60 


66 66 

67Ces exemples mettent en évidence les modèles CLI courants. Pour CI et autres appels scriptés, ajoutez [`--bare`](#start-faster-with-bare-mode) pour qu'ils ne reprennent pas ce qui se trouve configuré localement.67Ces exemples mettent en évidence les modèles CLI courants. Pour CI et autres appels scriptés, ajoutez [`--bare`](#start-faster-with-bare-mode) pour qu'ils ne reprennent pas ce qui se trouve configuré localement.

68 68 

69### Transmettre des données via Claude

70 

71Le mode non-interactif lit stdin, vous pouvez donc transmettre des données et rediriger la réponse comme n'importe quel autre outil en ligne de commande.

72 

73Cet exemple transmet un journal de compilation à Claude et écrit l'explication dans un fichier :

74 

75```bash theme={null}

76cat build-error.txt | claude -p 'concisely explain the root cause of this build error' > output.txt

77```

78 

79Avec `--output-format json`, la charge utile de réponse inclut `total_cost_usd` et une ventilation des coûts par modèle, afin que les appelants scriptés puissent suivre les dépenses par invocation sans consulter le [tableau de bord d'utilisation](/fr/costs).

80 

81<Note>

82 À partir de Claude Code v2.1.128, stdin transmis est limité à 10 Mo. Si vous dépassez la limite, Claude Code se ferme avec une erreur claire et un statut non nul. Pour travailler avec des entrées plus grandes, écrivez le contenu dans un fichier et référencez le chemin du fichier dans votre prompt au lieu de le transmettre.

83</Note>

84 

85### Ajouter Claude à un script de compilation

86 

87Vous pouvez envelopper un appel non-interactif dans un script pour utiliser Claude comme linter ou examinateur spécifique au projet.

88 

89Ce script `package.json` transmet le diff par rapport à `main` à Claude et lui demande de signaler les fautes de frappe. Transmettre le diff signifie que Claude n'a pas besoin de permission Bash pour le lire, et les guillemets échappés gardent le script portable vers Windows :

90 

91```json theme={null}

92{

93 "scripts": {

94 "lint:claude": "git diff main | claude -p \"you are a typo linter. for each typo in this diff, report filename:line on one line and the issue on the next. return nothing else.\""

95 }

96}

97```

98 

69### Obtenir une sortie structurée99### Obtenir une sortie structurée

70 100 

71Utilisez `--output-format` pour contrôler la façon dont les réponses sont retournées :101Utilisez `--output-format` pour contrôler la façon dont les réponses sont retournées :


137L'événement `system/init` rapporte les métadonnées de session, y compris le modèle, les outils, les serveurs MCP et les plugins chargés. C'est le premier événement du flux sauf si [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/fr/env-vars) est défini, auquel cas les événements `plugin_install` le précèdent. Utilisez les champs de plugin pour échouer CI quand un plugin n'a pas pu être chargé :167L'événement `system/init` rapporte les métadonnées de session, y compris le modèle, les outils, les serveurs MCP et les plugins chargés. C'est le premier événement du flux sauf si [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/fr/env-vars) est défini, auquel cas les événements `plugin_install` le précèdent. Utilisez les champs de plugin pour échouer CI quand un plugin n'a pas pu être chargé :

138 168 

139| Champ | Type | Description |169| Champ | Type | Description |

140| --------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |170| --------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

141| `plugins` | tableau | plugins qui se sont chargés avec succès, chacun avec `name` et `path` |171| `plugins` | tableau | plugins qui se sont chargés avec succès, chacun avec `name` et `path` |

142| `plugin_errors` | tableau | erreurs de chargement de plugin telles qu'une version de dépendance non satisfaite, chacune avec `plugin`, `type` et `message`. Les plugins affectés sont rétrogradés et absents de `plugins`. La clé est omise quand il n'y a pas d'erreurs |172| `plugin_errors` | tableau | erreurs de chargement de plugin, chacune avec `plugin`, `type` et `message`. Inclut les versions de dépendance non satisfaites et les défaillances de chargement `--plugin-dir` telles qu'un chemin manquant ou une archive invalide. Les plugins affectés sont rétrogradés et absents de `plugins`. La clé est omise quand il n'y a pas d'erreurs |

143 173 

144Quand [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/fr/env-vars) est défini, Claude Code émet des événements `system/plugin_install` pendant que les plugins de marketplace s'installent avant le premier tour. Utilisez-les pour afficher la progression de l'installation dans votre propre interface utilisateur.174Quand [`CLAUDE_CODE_SYNC_PLUGIN_INSTALL`](/fr/env-vars) est défini, Claude Code émet des événements `system/plugin_install` pendant que les plugins de marketplace s'installent avant le premier tour. Utilisez-les pour afficher la progression de l'installation dans votre propre interface utilisateur.

145 175 

Details

94 94 

95## Travailler avec les sessions95## Travailler avec les sessions

96 96 

97Claude Code sauvegarde votre conversation localement au fur et à mesure que vous travaillez. Chaque message, utilisation d'outil, et résultat est stocké, ce qui permet [de revenir en arrière](#undo-changes-with-checkpoints), [de reprendre et de forker](#resume-or-fork-sessions) les sessions. Avant que Claude ne fasse des modifications de code, il prend également un snapshot des fichiers affectés afin que vous puissiez revenir en arrière si nécessaire.97Claude Code sauvegarde votre conversation localement au fur et à mesure que vous travaillez. Chaque message, utilisation d'outil, et résultat est écrit dans un fichier JSONL en texte brut sous `~/.claude/projects/`, ce qui permet [de revenir en arrière](#undo-changes-with-checkpoints), [de reprendre et de forker](#resume-or-fork-sessions) les sessions. Avant que Claude ne fasse des modifications de code, il prend également un snapshot des fichiers affectés afin que vous puissiez revenir en arrière si nécessaire. Pour les chemins, la rétention, et comment effacer ces données, consultez [les données d'application dans `~/.claude`](/fr/claude-directory#application-data).

98 98 

99**Les sessions sont indépendantes.** Chaque nouvelle session commence avec une fenêtre de contexte fraîche, sans l'historique de conversation des sessions précédentes. Claude peut persister les apprentissages à travers les sessions en utilisant [la mémoire automatique](/fr/memory#auto-memory), et vous pouvez ajouter vos propres instructions persistantes dans [CLAUDE.md](/fr/memory).99**Les sessions sont indépendantes.** Chaque nouvelle session commence avec une fenêtre de contexte fraîche, sans l'historique de conversation des sessions précédentes. Claude peut persister les apprentissages à travers les sessions en utilisant [la mémoire automatique](/fr/memory#auto-memory), et vous pouvez ajouter vos propres instructions persistantes dans [CLAUDE.md](/fr/memory).

100 100 

101### Travailler à travers les branches101### Travailler à travers les branches

102 102 

103Chaque conversation Claude Code est une session liée à votre répertoire actuel. Lorsque vous reprenez, vous ne voyez que les sessions de ce répertoire.103Chaque conversation Claude Code est une session liée à votre répertoire actuel. Le sélecteur `/resume` affiche les sessions du worktree actuel par défaut, avec des raccourcis clavier pour élargir la liste à d'autres worktrees ou projets. Consultez [Gérer les sessions](/fr/sessions#use-the-session-picker) pour la liste complète des raccourcis du sélecteur et comment fonctionne la résolution des noms.

104 104 

105Claude voit les fichiers de votre branche actuelle. Lorsque vous changez de branche, Claude voit les fichiers de la nouvelle branche, mais votre historique de conversation reste le même. Claude se souvient de ce que vous avez discuté même après avoir changé de branche.105Claude voit les fichiers de votre branche actuelle. Lorsque vous changez de branche, Claude voit les fichiers de la nouvelle branche, mais votre historique de conversation reste le même. Claude se souvient de ce que vous avez discuté même après avoir changé de branche.

106 106 

107Puisque les sessions sont liées aux répertoires, vous pouvez exécuter des sessions Claude parallèles en utilisant [git worktrees](/fr/common-workflows#run-parallel-claude-code-sessions-with-git-worktrees), qui créent des répertoires séparés pour les branches individuelles.107Puisque les sessions sont liées aux répertoires, vous pouvez exécuter des sessions Claude parallèles en utilisant [git worktrees](/fr/worktrees), qui créent des répertoires séparés pour les branches individuelles.

108 108 

109### Reprendre ou forker les sessions109### Reprendre ou forker les sessions

110 110 

111Lorsque vous reprenez une session avec `claude --continue` ou `claude --resume`, vous reprenez là où vous vous étiez arrêté en utilisant le même ID de session. Les nouveaux messages s'ajoutent à la conversation existante. Votre historique de conversation complet est restauré, mais les permissions scoped à la session ne le sont pas. Vous devrez les réapprouver.111Reprendre une session avec `claude --continue` ou `claude --resume` la rouvre sous le même ID de session et ajoute de nouveaux messages à la conversation existante. Forker avec `--fork-session` ou `/branch` copie l'historique dans un nouvel ID de session, laissant l'original inchangé.

112 112 

113<img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/session-continuity.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=fa41d12bfb57579cabfeece907151d30" alt="Continuité de session : reprendre continue la même session, forker crée une nouvelle branche avec un nouvel ID." width="560" height="280" data-path="images/session-continuity.svg" />113<img src="https://mintcdn.com/claude-code/c5r9_6tjPMzFdDDT/images/session-continuity.svg?fit=max&auto=format&n=c5r9_6tjPMzFdDDT&q=85&s=fa41d12bfb57579cabfeece907151d30" alt="Continuité de session : reprendre continue la même session, forker crée une nouvelle branche avec un nouvel ID." width="560" height="280" data-path="images/session-continuity.svg" />

114 114 

115Pour créer une branche et essayer une approche différente sans affecter la session d'origine, utilisez le flag `--fork-session` :115Pour les flags de reprise, le sélecteur `/resume`, le nommage, et ce qui se passe lorsque la même session est ouverte dans deux terminaux, consultez [Gérer les sessions](/fr/sessions).

116 

117```bash theme={null}

118claude --continue --fork-session

119```

120 

121Cela crée un nouvel ID de session tout en préservant l'historique de conversation jusqu'à ce point. La session d'origine reste inchangée. Comme pour reprendre, les sessions forkées n'héritent pas des permissions scoped à la session.

122 

123**Même session dans plusieurs terminaux** : Si vous reprenez la même session dans plusieurs terminaux, les deux terminaux écrivent dans le même fichier de session. Les messages des deux sont entrelacés, comme deux personnes écrivant dans le même carnet. Rien ne se corrompt, mais la conversation devient confuse. Chaque terminal ne voit que ses propres messages pendant la session, mais si vous reprenez cette session plus tard, vous verrez tout entrelacé. Pour le travail parallèle à partir du même point de départ, utilisez `--fork-session` pour donner à chaque terminal sa propre session propre.

124 116 

125### La fenêtre de contexte117### La fenêtre de contexte

126 118 


134 126 

135Pour contrôler ce qui est préservé pendant la compaction, ajoutez une section « Compact Instructions » à CLAUDE.md ou exécutez `/compact` avec un focus (comme `/compact focus on the API changes`).127Pour contrôler ce qui est préservé pendant la compaction, ajoutez une section « Compact Instructions » à CLAUDE.md ou exécutez `/compact` avec un focus (comme `/compact focus on the API changes`).

136 128 

129Si un seul fichier ou une sortie d'outil est si volumineux que le contexte se remplit immédiatement après chaque résumé, Claude Code arrête la compaction automatique après quelques tentatives et affiche une erreur à la place de boucler. Consultez [La compaction automatique s'arrête avec une erreur de thrashing](/fr/troubleshooting#auto-compaction-stops-with-a-thrashing-error) pour les étapes de récupération.

130 

137Exécutez `/context` pour voir ce qui utilise l'espace. Les définitions d'outils MCP sont différées par défaut et chargées à la demande via [la recherche d'outils](/fr/mcp#scale-with-mcp-tool-search), donc seuls les noms d'outils consomment du contexte jusqu'à ce que Claude utilise un outil spécifique. Exécutez `/mcp` pour vérifier les coûts par serveur.131Exécutez `/context` pour voir ce qui utilise l'espace. Les définitions d'outils MCP sont différées par défaut et chargées à la demande via [la recherche d'outils](/fr/mcp#scale-with-mcp-tool-search), donc seuls les noms d'outils consomment du contexte jusqu'à ce que Claude utilise un outil spécifique. Exécutez `/mcp` pour vérifier les coûts par serveur.

138 132 

139#### Gérer le contexte avec les skills et les subagents133#### Gérer le contexte avec les skills et les subagents

140 134 

141Au-delà de la compaction, vous pouvez utiliser d'autres fonctionnalités pour contrôler ce qui se charge dans le contexte.135Au-delà de la compaction, vous pouvez utiliser d'autres fonctionnalités pour contrôler ce qui se charge dans le contexte.

142 136 

143[Les skills](/fr/skills) se chargent à la demande. Claude voit les descriptions des skills au démarrage de la session, mais le contenu complet ne se charge que lorsqu'un skill est utilisé. Pour les skills que vous invoquez manuellement, définissez `disable-model-invocation: true` pour garder les descriptions hors du contexte jusqu'à ce que vous en ayez besoin.137[Les skills](/fr/skills) se chargent à la demande. Claude voit les descriptions des skills au démarrage de la session, mais le contenu complet ne se charge que lorsqu'un skill est utilisé. Pour les skills que vous invoquez manuellement, définissez `disable-model-invocation: true` pour garder les descriptions hors du contexte jusqu'à ce que vous en ayez besoin. Pour les skills que vous n'avez pas écrits, utilisez [`skillOverrides`](/fr/skills#override-skill-visibility-from-settings) pour faire la même chose à partir des paramètres.

144 138 

145[Les subagents](/fr/sub-agents) obtiennent leur propre contexte frais, complètement séparé de votre conversation principale. Leur travail ne gonfle pas votre contexte. Une fois terminés, ils retournent un résumé. Cet isolement est pourquoi les subagents aident avec les sessions longues.139[Les subagents](/fr/sub-agents) obtiennent leur propre contexte frais, complètement séparé de votre conversation principale. Leur travail ne gonfle pas votre contexte. Une fois terminés, ils retournent un résumé. Cet isolement est pourquoi les subagents aident avec les sessions longues.

146 140 


161Appuyez sur `Shift+Tab` pour parcourir les modes de permission :155Appuyez sur `Shift+Tab` pour parcourir les modes de permission :

162 156 

163* **Par défaut** : Claude demande avant les éditions de fichiers et les commandes shell157* **Par défaut** : Claude demande avant les éditions de fichiers et les commandes shell

164* **Auto-accepter les éditions** : Claude édite les fichiers sans demander, demande toujours pour les commandes158* **Auto-accepter les éditions** : Claude édite les fichiers et exécute les commandes courantes du système de fichiers comme `mkdir` et `mv` sans demander, demande toujours pour les autres commandes

165* **Plan Mode** : Claude utilise uniquement les outils en lecture seule, créant un plan que vous pouvez approuver avant l'exécution159* **Plan Mode** : Claude utilise uniquement les outils en lecture seule, créant un plan que vous pouvez approuver avant l'exécution

166* **Mode Auto** : Claude évalue toutes les actions avec des vérifications de sécurité en arrière-plan. Actuellement une préversion de recherche160* **Mode Auto** : Claude évalue toutes les actions avec des vérifications de sécurité en arrière-plan. Actuellement une préversion de recherche

167 161 

Details

11<Note>11<Note>

12 Les raccourcis clavier peuvent varier selon la plateforme et le terminal. Appuyez sur `?` pour voir les raccourcis disponibles pour votre environnement.12 Les raccourcis clavier peuvent varier selon la plateforme et le terminal. Appuyez sur `?` pour voir les raccourcis disponibles pour votre environnement.

13 13 

14 **Utilisateurs macOS** : Les raccourcis de la touche Option/Alt (`Alt+B`, `Alt+F`, `Alt+Y`, `Alt+M`, `Alt+P`, `Alt+T`) nécessitent de configurer Option en tant que Meta dans votre terminal :14 **Utilisateurs macOS** : Les raccourcis de la touche Option/Alt (`Alt+B`, `Alt+F`, `Alt+Y`, `Alt+M`, `Alt+P`) nécessitent de configurer Option en tant que Meta dans votre terminal :

15 15 

16 * **iTerm2** : Paramètres → Profils → Touches → Général → définir la touche Option gauche/droite sur « Esc+ »16 * **iTerm2** : Paramètres → Profils → Touches → Général → définir la touche Option gauche/droite sur « Esc+ »

17 * **Terminal Apple** : Paramètres → Profils → Clavier → cocher « Utiliser Option comme touche Meta »17 * **Terminal Apple** : Paramètres → Profils → Clavier → cocher « Utiliser Option comme touche Meta »


39| `Esc` + `Esc` | Rembobiner ou résumer | Restaurer le code et/ou la conversation à un point antérieur, ou résumer à partir d'un message sélectionné |39| `Esc` + `Esc` | Rembobiner ou résumer | Restaurer le code et/ou la conversation à un point antérieur, ou résumer à partir d'un message sélectionné |

40| `Shift+Tab` ou `Alt+M` (certaines configurations) | Basculer les modes de permission | Basculer entre `default`, `acceptEdits`, `plan` et tous les modes que vous avez activés, comme `auto` ou `bypassPermissions`. Consultez [modes de permission](/fr/permission-modes). |40| `Shift+Tab` ou `Alt+M` (certaines configurations) | Basculer les modes de permission | Basculer entre `default`, `acceptEdits`, `plan` et tous les modes que vous avez activés, comme `auto` ou `bypassPermissions`. Consultez [modes de permission](/fr/permission-modes). |

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

42| `Option+T` (macOS) ou `Alt+T` (Windows/Linux) | Basculer la réflexion étendue | Activez ou désactivez le mode de réflexion étendue. Sur macOS, configurez votre terminal pour envoyer Option en tant que Meta pour que ce raccourci fonctionne |42| `Option+T` (macOS) ou `Alt+T` (Windows/Linux) | Basculer la réflexion étendue | Activez ou désactivez le mode de réflexion étendue. {/* min-version: 2.1.132 */}À partir de la v2.1.132, ce raccourci fonctionne sur macOS sans configurer Option en tant que Meta |

43| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Basculer le mode rapide | Activez ou désactivez le [mode rapide](/fr/fast-mode) |43| `Option+O` (macOS) ou `Alt+O` (Windows/Linux) | Basculer le mode rapide | Activez ou désactivez le [mode rapide](/fr/fast-mode) |

44 44 

45### Édition de texte45### Édition de texte


68| :------------------- | :----------------- | :---------------------------------------------------------------------------------------------------------- |68| :------------------- | :----------------- | :---------------------------------------------------------------------------------------------------------- |

69| Échappement rapide | `\` + `Entrée` | Fonctionne dans tous les terminaux |69| Échappement rapide | `\` + `Entrée` | Fonctionne dans tous les terminaux |

70| Touche Option | `Option+Entrée` | Après activation de [Option comme Meta](/fr/terminal-config#enable-option-key-shortcuts-on-macos) sur macOS |70| Touche Option | `Option+Entrée` | Après activation de [Option comme Meta](/fr/terminal-config#enable-option-key-shortcuts-on-macos) sur macOS |

71| Shift+Entrée | `Shift+Entrée` | Natif dans iTerm2, WezTerm, Ghostty, Kitty, Warp, Terminal Apple |71| Shift+Entrée | `Shift+Entrée` | Natif dans iTerm2, WezTerm, Ghostty, Kitty, Warp, Terminal Apple, Windows Terminal |

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

73| Mode collage | Coller directement | Pour les blocs de code, les journaux |73| Mode collage | Coller directement | Pour les blocs de code, les journaux |

74 74 

75<Tip>75<Tip>

76 Shift+Entrée fonctionne sans configuration dans iTerm2, WezTerm, Ghostty, Kitty, Warp et Terminal Apple. Pour VS Code, Cursor, Windsurf, Alacritty et Zed, exécutez `/terminal-setup` pour installer la liaison.76 Shift+Entrée fonctionne sans configuration dans iTerm2, WezTerm, Ghostty, Kitty, Warp, Terminal Apple et Windows Terminal. Pour VS Code, Cursor, Windsurf, Alacritty et Zed, exécutez `/terminal-setup` pour installer la liaison.

77</Tip>77</Tip>

78 78 

79### Commandes rapides79### Commandes rapides


130| Commande | Action |130| Commande | Action |

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

132| `h`/`j`/`k`/`l` | Déplacer gauche/bas/haut/droite |132| `h`/`j`/`k`/`l` | Déplacer gauche/bas/haut/droite |

133| `Space` | Déplacer à droite |

133| `w` | Mot suivant |134| `w` | Mot suivant |

134| `e` | Fin du mot |135| `e` | Fin du mot |

135| `b` | Mot précédent |136| `b` | Mot précédent |


2201. **Démarrer la recherche** : appuyez sur `Ctrl+R` pour activer la recherche d'historique inversée2211. **Démarrer la recherche** : appuyez sur `Ctrl+R` pour activer la recherche d'historique inversée

2212. **Tapez la requête** : entrez le texte à rechercher dans les commandes précédentes. Le terme de recherche est mis en évidence dans les résultats correspondants2222. **Tapez la requête** : entrez le texte à rechercher dans les commandes précédentes. Le terme de recherche est mis en évidence dans les résultats correspondants

2223. **Naviguer dans les correspondances** : appuyez à nouveau sur `Ctrl+R` pour parcourir les correspondances plus anciennes2233. **Naviguer dans les correspondances** : appuyez à nouveau sur `Ctrl+R` pour parcourir les correspondances plus anciennes

2234. **Changer la portée** : appuyez sur `Ctrl+S` pour basculer entre cette session, ce projet et tous les projets2244. **Changer la portée** : la recherche s'applique par défaut aux invites de tous les projets. Appuyez sur `Ctrl+S` pour basculer la portée entre cette session, ce projet et tous les projets

2245. **Accepter la correspondance** :2255. **Accepter la correspondance** :

225 * Appuyez sur `Tab` ou `Esc` pour accepter la correspondance actuelle et continuer l'édition226 * Appuyez sur `Tab` ou `Esc` pour accepter la correspondance actuelle et continuer l'édition

226 * Appuyez sur `Entrée` pour accepter et exécuter la commande immédiatement227 * Appuyez sur `Entrée` pour accepter et exécuter la commande immédiatement

llm-gateway.md +1 −1

Details

53 53 

54Par défaut, Claude Code utilise les noms de modèles standard pour le format API sélectionné.54Par défaut, Claude Code utilise les noms de modèles standard pour le format API sélectionné.

55 55 

56Lorsque `ANTHROPIC_BASE_URL` pointe vers une passerelle qui expose le format Messages d'Anthropic, Claude Code interroge le point de terminaison `/v1/models` de la passerelle au démarrage et ajoute les modèles retournés au sélecteur `/model`. Chaque entrée découverte est étiquetée « From gateway » et utilise le champ `display_name` de la réponse lorsqu'un est fourni. Cela nécessite Claude Code v2.1.126 ou version ultérieure.56Lorsque `ANTHROPIC_BASE_URL` pointe vers une passerelle qui expose le format Messages d'Anthropic, Claude Code interroge le point de terminaison `/v1/models` de la passerelle au démarrage et ajoute les modèles retournés au sélecteur `/model`. Définissez `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` pour activer cette fonctionnalité. La découverte est désactivée par défaut afin que les passerelles soutenues par une clé API partagée ne révèlent pas tous les modèles auxquels la clé peut accéder à chaque utilisateur. Chaque entrée découverte est étiquetée « From gateway » et utilise le champ `display_name` de la réponse lorsqu'un est fourni. Cela nécessite Claude Code v2.1.129 ou version ultérieure.

57 57 

58La découverte s'applique uniquement au format Messages d'Anthropic. Elle ne s'exécute pas pour les points de terminaison de passage Bedrock ou Vertex, et elle ne s'exécute pas lorsque `ANTHROPIC_BASE_URL` n'est pas défini ou pointe vers `api.anthropic.com`.58La découverte s'applique uniquement au format Messages d'Anthropic. Elle ne s'exécute pas pour les points de terminaison de passage Bedrock ou Vertex, et elle ne s'exécute pas lorsque `ANTHROPIC_BASE_URL` n'est pas défini ou pointe vers `api.anthropic.com`.

59 59 

mcp.md +11 −1

Details

327/mcp327/mcp

328```328```

329 329 

330Le panneau `/mcp` affiche le nombre d'outils à côté de chaque serveur connecté et signale les serveurs qui annoncent la capacité des outils mais n'exposent aucun outil.

331 

332Le nom du serveur `workspace` est réservé à un usage interne. Si votre configuration définit un serveur avec ce nom, Claude Code le saute au chargement et affiche un avertissement vous demandant de le renommer.

333 

330### Mises à jour dynamiques des outils334### Mises à jour dynamiques des outils

331 335 

332Claude Code supporte les notifications MCP `list_changed`, permettant aux serveurs MCP de mettre à jour dynamiquement leurs outils, prompts et ressources disponibles sans vous obliger à vous déconnecter et reconnecter. Lorsqu'un serveur MCP envoie une notification `list_changed`, Claude Code actualise automatiquement les capacités disponibles de ce serveur.336Claude Code supporte les notifications MCP `list_changed`, permettant aux serveurs MCP de mettre à jour dynamiquement leurs outils, prompts et ressources disponibles sans vous obliger à vous déconnecter et reconnecter. Lorsqu'un serveur MCP envoie une notification `list_changed`, Claude Code actualise automatiquement les capacités disponibles de ce serveur.


423 427 

424## Portées d'installation MCP428## Portées d'installation MCP

425 429 

426Les serveurs MCP peuvent être configurés à trois portées différentes. La portée que vous choisissez contrôle les projets dans lesquels le serveur se charge et si la configuration est partagée avec votre équipe.430Les serveurs MCP peuvent être configurés à trois portées différentes. La portée que vous choisissez contrôle les projets dans lesquels le serveur se charge et si la configuration est partagée avec votre équipe. Les administrateurs peuvent également déployer des serveurs au niveau de l'entreprise via la [configuration gérée](#managed-mcp-configuration).

427 431 

428| Portée | Se charge dans | Partagé avec l'équipe | Stocké dans |432| Portée | Se charge dans | Partagé avec l'équipe | Stocké dans |

429| -------------------------- | ------------------------ | ------------------------------- | --------------------------------- |433| -------------------------- | ------------------------ | ------------------------------- | --------------------------------- |


944 </Step>948 </Step>

945</Steps>949</Steps>

946 950 

951Un serveur que vous avez ajouté dans Claude Code prend [précédence](#scope-hierarchy-and-precedence) sur un connecteur claude.ai qui pointe vers la même URL. Quand cela se produit, `/mcp` répertorie le connecteur comme masqué et montre comment supprimer le doublon si vous préférez utiliser le connecteur.

952 

947Pour désactiver les serveurs MCP de Claude.ai dans Claude Code, définissez la variable d'environnement `ENABLE_CLAUDEAI_MCP_SERVERS` sur `false` :953Pour désactiver les serveurs MCP de Claude.ai dans Claude Code, définissez la variable d'environnement `ENABLE_CLAUDEAI_MCP_SERVERS` sur `false` :

948 954 

949```bash theme={null}955```bash theme={null}


1183 1189 

1184Le champ `alwaysLoad` est disponible sur tous les types de serveurs et nécessite Claude Code v2.1.121 ou ultérieur. Un serveur MCP peut également marquer les outils individuels comme toujours chargés en incluant `"anthropic/alwaysLoad": true` dans l'objet `_meta` de l'outil, ce qui a le même effet pour cet outil uniquement.1190Le champ `alwaysLoad` est disponible sur tous les types de serveurs et nécessite Claude Code v2.1.121 ou ultérieur. Un serveur MCP peut également marquer les outils individuels comme toujours chargés en incluant `"anthropic/alwaysLoad": true` dans l'objet `_meta` de l'outil, ce qui a le même effet pour cet outil uniquement.

1185 1191 

1192La définition de `alwaysLoad: true` bloque également le démarrage jusqu'à ce que le serveur se connecte, limité au délai d'expiration de connexion standard de 5 secondes. Cela s'applique même lorsque [`MCP_CONNECTION_NONBLOCKING=1`](/fr/env-vars) est défini, car les outils doivent être présents lors de la construction de la première invite. Les autres serveurs se connectent toujours en arrière-plan lorsque le mode non-bloquant est activé.

1193 

1186## Utiliser les prompts MCP comme commandes1194## Utiliser les prompts MCP comme commandes

1187 1195 

1188Les serveurs MCP peuvent exposer des prompts qui deviennent disponibles en tant que commandes dans Claude Code.1196Les serveurs MCP peuvent exposer des prompts qui deviennent disponibles en tant que commandes dans Claude Code.


1351* `https://*.example.com/*` - Autoriser n'importe quel sous-domaine de example.com1359* `https://*.example.com/*` - Autoriser n'importe quel sous-domaine de example.com

1352* `http://localhost:*/*` - Autoriser n'importe quel port sur localhost1360* `http://localhost:*/*` - Autoriser n'importe quel port sur localhost

1353 1361 

1362La correspondance du nom d'hôte est insensible à la casse et ignore un point FQDN final, en correspondant à la sémantique DNS. Un modèle comme `*://Mcp.Example.com/*` correspond à `https://mcp.example.com/api`, et `https://mcp.example.com.` est traité de la même manière que `https://mcp.example.com`. Les schémas et les chemins restent sensibles à la casse.

1363 

1354**Comportement du serveur distant** :1364**Comportement du serveur distant** :

1355 1365 

1356* Lorsque la liste blanche contient **n'importe quelle** entrée `serverUrl`, les serveurs distants **doivent** correspondre à l'un de ces modèles d'URL1366* Lorsque la liste blanche contient **n'importe quelle** entrée `serverUrl`, les serveurs distants **doivent** correspondre à l'un de ces modèles d'URL

memory.md +2 −0

Details

378* Rendez les instructions plus spécifiques. « Utiliser l'indentation à 2 espaces » fonctionne mieux que « formater le code correctement ».378* Rendez les instructions plus spécifiques. « Utiliser l'indentation à 2 espaces » fonctionne mieux que « formater le code correctement ».

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

380 380 

381Si 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](/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.

382 

381Pour les instructions que vous voulez au niveau de l'invite système, utilisez [`--append-system-prompt`](/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.383Pour les instructions que vous voulez au niveau de l'invite système, utilisez [`--append-system-prompt`](/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.

382 384 

383<Tip>385<Tip>

model-config.md +18 −4

Details

184 184 

185L'échelle d'effort est calibrée par modèle, donc le même nom de niveau ne représente pas la même valeur sous-jacente entre les modèles.185L'échelle d'effort est calibrée par modèle, donc le même nom de niveau ne représente pas la même valeur sous-jacente entre les modèles.

186 186 

187Pour un raisonnement profond ponctuel sans modifier votre paramètre de session, incluez « ultrathink » dans votre invite. Cela ajoute une instruction en contexte indiquant au modèle de réfléchir davantage à ce tour ; cela ne change pas le niveau d'effort envoyé à l'API.187#### Utiliser ultrathink pour un raisonnement profond ponctuel

188 

189Incluez `ultrathink` n'importe où dans votre invite pour demander un raisonnement plus profond à ce tour sans modifier votre paramètre d'effort de session. Claude Code reconnaît le mot-clé et ajoute une instruction en contexte. Le niveau d'effort envoyé à l'API reste inchangé. D'autres phrases telles que « think », « think hard » et « think more » sont transmises comme du texte d'invite ordinaire et ne sont pas reconnues comme des mots-clés.

188 190 

189#### Définir le niveau d'effort191#### Définir le niveau d'effort

190 192 


209 211 

210Sur Opus 4.6 et Sonnet 4.6, vous pouvez définir `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` pour revenir au budget de réflexion fixe précédent contrôlé par `MAX_THINKING_TOKENS`. Voir [variables d'environnement](/fr/env-vars).212Sur Opus 4.6 et Sonnet 4.6, vous pouvez définir `CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1` pour revenir au budget de réflexion fixe précédent contrôlé par `MAX_THINKING_TOKENS`. Voir [variables d'environnement](/fr/env-vars).

211 213 

214### Réflexion étendue

215 

216La réflexion étendue est le raisonnement que Claude émet avant de répondre. Sur les modèles qui prennent en charge le [raisonnement adaptatif](#adjust-effort-level), le niveau d'effort est le contrôle principal de la quantité de réflexion qui se produit ; les paramètres ci-dessous activent ou désactivent la réflexion et contrôlent son affichage.

217 

218| Contrôle | Comment le définir |

219| :------------------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |

220| Basculer pour la session actuelle | Appuyez sur `Option+T` sur macOS ou `Alt+T` sur Windows et Linux |

221| Définir la valeur par défaut globale | Exécutez `/config` et basculez le mode de réflexion. Enregistré en tant que `alwaysThinkingEnabled` dans `~/.claude/settings.json` |

222| Désactiver indépendamment de l'effort | Définissez [`MAX_THINKING_TOKENS=0`](/fr/env-vars). D'autres valeurs s'appliquent uniquement avec un [budget de réflexion fixe](#adaptive-reasoning-and-fixed-thinking-budgets) |

223 

224La sortie de réflexion est réduite par défaut. Appuyez sur `Ctrl+O` pour basculer le mode verbeux et voir le raisonnement en tant que texte gris en italique. Les sessions interactives sur l'API Anthropic reçoivent des blocs de réflexion masqués par défaut, donc définissez `showThinkingSummaries: true` dans les [paramètres](/fr/settings) si vous souhaitez que les résumés complets soient disponibles lorsque vous développez. Vous êtes facturé pour tous les tokens de réflexion générés, même lorsqu'ils sont réduits ou masqués.

225 

212### Contexte étendu226### Contexte étendu

213 227 

214Opus 4.7, Opus 4.6 et Sonnet 4.6 prennent en charge une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/fr/build-with-claude/context-windows#1m-token-context-window) pour les sessions longues avec de grandes bases de code.228Opus 4.7, Opus 4.6 et Sonnet 4.6 prennent en charge une [fenêtre de contexte de 1 million de tokens](https://platform.claude.com/docs/fr/build-with-claude/context-windows#1m-token-context-window) pour les sessions longues avec de grandes bases de code.


247 261 

248## Ajouter une option de modèle personnalisé262## Ajouter une option de modèle personnalisé

249 263 

250Utilisez `ANTHROPIC_CUSTOM_MODEL_OPTION` pour ajouter une seule entrée personnalisée au sélecteur `/model` sans remplacer les alias intégrés. Ceci est utile pour tester les ID de modèle que Claude Code ne répertorie pas par défaut. Pour les déploiements de passerelle LLM, Claude Code remplit automatiquement le sélecteur à partir du point de terminaison `/v1/models` de la passerelle, donc cette variable n'est nécessaire que lorsque la découverte ne retourne pas le modèle que vous souhaitez. Voir [Sélection du modèle de passerelle LLM](/fr/llm-gateway#model-selection).264Utilisez `ANTHROPIC_CUSTOM_MODEL_OPTION` pour ajouter une seule entrée personnalisée au sélecteur `/model` sans remplacer les alias intégrés. Ceci est utile pour tester les ID de modèle que Claude Code ne répertorie pas par défaut. Pour les déploiements de passerelle LLM, Claude Code peut remplir le sélecteur à partir du point de terminaison `/v1/models` de la passerelle lorsque `CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1` est défini, donc cette variable n'est nécessaire que lorsque la découverte est désactivée ou ne retourne pas le modèle que vous souhaitez. Voir [Sélection du modèle de passerelle LLM](/fr/llm-gateway#model-selection).

251 265 

252Cet exemple définit les trois variables pour rendre un déploiement Opus acheminé par passerelle sélectionnable :266Cet exemple définit les trois variables pour rendre un déploiement Opus acheminé par passerelle sélectionnable :

253 267 


320 334 

321Les mêmes suffixes `_NAME`, `_DESCRIPTION` et `_SUPPORTED_CAPABILITIES` sont disponibles pour `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` et `ANTHROPIC_CUSTOM_MODEL_OPTION`.335Les mêmes suffixes `_NAME`, `_DESCRIPTION` et `_SUPPORTED_CAPABILITIES` sont disponibles pour `ANTHROPIC_DEFAULT_SONNET_MODEL`, `ANTHROPIC_DEFAULT_HAIKU_MODEL` et `ANTHROPIC_CUSTOM_MODEL_OPTION`.

322 336 

323Claude Code active les fonctionnalités comme les [niveaux d'effort](#adjust-effort-level) et la [réflexion étendue](/fr/common-workflows#use-extended-thinking-thinking-mode) en faisant correspondre l'ID du modèle à des modèles connus. Les ID spécifiques au fournisseur tels que les ARN Bedrock ou les noms de déploiement personnalisés ne correspondent souvent pas à ces modèles, laissant les fonctionnalités prises en charge désactivées. Définissez `_SUPPORTED_CAPABILITIES` pour indiquer à Claude Code les fonctionnalités que le modèle prend réellement en charge :337Claude Code active les fonctionnalités comme les [niveaux d'effort](#adjust-effort-level) et la [réflexion étendue](#extended-thinking) en faisant correspondre l'ID du modèle à des modèles connus. Les ID spécifiques au fournisseur tels que les ARN Bedrock ou les noms de déploiement personnalisés ne correspondent souvent pas à ces modèles, laissant les fonctionnalités prises en charge désactivées. Définissez `_SUPPORTED_CAPABILITIES` pour indiquer à Claude Code les fonctionnalités que le modèle prend réellement en charge :

324 338 

325| Valeur de capacité | Active |339| Valeur de capacité | Active |

326| ---------------------- | ----------------------------------------------------------------------------------------------------- |340| ---------------------- | ----------------------------------------------------------------------------------------------------- |

327| `effort` | [Niveaux d'effort](#adjust-effort-level) et la commande `/effort` |341| `effort` | [Niveaux d'effort](#adjust-effort-level) et la commande `/effort` |

328| `xhigh_effort` | {/* min-version: 2.1.111 */}Le niveau d'effort `xhigh` |342| `xhigh_effort` | {/* min-version: 2.1.111 */}Le niveau d'effort `xhigh` |

329| `max_effort` | Le niveau d'effort `max` |343| `max_effort` | Le niveau d'effort `max` |

330| `thinking` | [Réflexion étendue](/fr/common-workflows#use-extended-thinking-thinking-mode) |344| `thinking` | [Réflexion étendue](#extended-thinking) |

331| `adaptive_thinking` | Raisonnement adaptatif qui alloue dynamiquement la réflexion en fonction de la complexité de la tâche |345| `adaptive_thinking` | Raisonnement adaptatif qui alloue dynamiquement la réflexion en fonction de la complexité de la tâche |

332| `interleaved_thinking` | Réflexion entre les appels d'outils |346| `interleaved_thinking` | Réflexion entre les appels d'outils |

333 347 

Details

64 Les paramètres gérés peuvent être distribués via MDM (Mobile Device Management) ou d'autres solutions de gestion d'appareils. Les variables d'environnement définies dans le fichier de paramètres gérés ont une haute priorité et ne peuvent pas être remplacées par les utilisateurs.64 Les paramètres gérés peuvent être distribués via MDM (Mobile Device Management) ou d'autres solutions de gestion d'appareils. Les variables d'environnement définies dans le fichier de paramètres gérés ont une haute priorité et ne peuvent pas être remplacées par les utilisateurs.

65</Note>65</Note>

66 66 

67Claude Code ne transmet pas les variables d'environnement `OTEL_*` aux sous-processus qu'il génère, y compris l'outil Bash, les hooks, les serveurs MCP et les serveurs de langage. Une application instrumentée par OpenTelemetry que vous exécutez via l'outil Bash n'hérite pas du point de terminaison de l'exportateur ou des en-têtes de Claude Code, donc définissez ces variables directement dans la commande si cette application doit exporter sa propre télémétrie.

68 

67## Détails de la configuration69## Détails de la configuration

68 70 

69### Variables de configuration courantes71### Variables de configuration courantes


80| `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` | Protocole pour les journaux, remplace le paramètre général | `grpc`, `http/json`, `http/protobuf` |82| `OTEL_EXPORTER_OTLP_LOGS_PROTOCOL` | Protocole pour les journaux, remplace le paramètre général | `grpc`, `http/json`, `http/protobuf` |

81| `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` | Point de terminaison des journaux OTLP, remplace le paramètre général | `http://localhost:4318/v1/logs` |83| `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` | Point de terminaison des journaux OTLP, remplace le paramètre général | `http://localhost:4318/v1/logs` |

82| `OTEL_EXPORTER_OTLP_HEADERS` | En-têtes d'authentification pour OTLP | `Authorization=Bearer token` |84| `OTEL_EXPORTER_OTLP_HEADERS` | En-têtes d'authentification pour OTLP | `Authorization=Bearer token` |

83| `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` | Clé client pour l'authentification mTLS | Chemin vers le fichier de clé client |

84| `OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE` | Certificat client pour l'authentification mTLS | Chemin vers le fichier de certificat client |

85| `OTEL_METRIC_EXPORT_INTERVAL` | Intervalle d'export en millisecondes (par défaut : 60000) | `5000`, `60000` |85| `OTEL_METRIC_EXPORT_INTERVAL` | Intervalle d'export en millisecondes (par défaut : 60000) | `5000`, `60000` |

86| `OTEL_LOGS_EXPORT_INTERVAL` | Intervalle d'export des journaux en millisecondes (par défaut : 5000) | `1000`, `10000` |86| `OTEL_LOGS_EXPORT_INTERVAL` | Intervalle d'export des journaux en millisecondes (par défaut : 5000) | `1000`, `10000` |

87| `OTEL_LOG_USER_PROMPTS` | Activer la journalisation du contenu des invites utilisateur (par défaut : désactivé) | `1` pour activer |87| `OTEL_LOG_USER_PROMPTS` | Activer la journalisation du contenu des invites utilisateur (par défaut : désactivé) | `1` pour activer |


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

92| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle d'actualisation des en-têtes dynamiques (par défaut : 1740000ms / 29 minutes) | `900000` |92| `CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS` | Intervalle d'actualisation des en-têtes dynamiques (par défaut : 1740000ms / 29 minutes) | `900000` |

93 93 

94### Authentification mTLS

95 

96La façon dont vous configurez les certificats clients pour l'exportateur OTLP dépend du protocole OTLP utilisé pour ce signal, défini via `OTEL_EXPORTER_OTLP_PROTOCOL` ou le remplacement par signal. La même configuration s'applique aux métriques, journaux et traces.

97 

98| Protocole | Variables de certificat client | Faire confiance au CA du collecteur avec |

99| :--------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------- |

100| `http/protobuf`, `http/json` | `CLAUDE_CODE_CLIENT_CERT`, `CLAUDE_CODE_CLIENT_KEY`, et optionnellement `CLAUDE_CODE_CLIENT_KEY_PASSPHRASE`. Voir [Configuration réseau](/fr/network-config#mtls-authentication) | `NODE_EXTRA_CA_CERTS` |

101| `grpc` | `OTEL_EXPORTER_OTLP_CLIENT_KEY` et `OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE`, ou les variantes par signal telles que `OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY` pour utiliser un certificat différent par signal | `OTEL_EXPORTER_OTLP_CERTIFICATE` |

102 

103Pour `grpc`, le SDK OpenTelemetry lit les variables OTLP standard directement, donc les configurations existantes qui définissent les variables de métriques par signal continuent de fonctionner.

104 

94### Contrôle de la cardinalité des métriques105### Contrôle de la cardinalité des métriques

95 106 

96Les variables d'environnement suivantes contrôlent les attributs inclus dans les métriques pour gérer la cardinalité :107Les variables d'environnement suivantes contrôlent les attributs inclus dans les métriques pour gérer la cardinalité :


107 118 

108Le traçage distribué exporte des intervalles qui lient chaque invite utilisateur aux demandes d'API et aux exécutions d'outils qu'elle déclenche, afin que vous puissiez afficher une demande complète sous forme de trace unique dans votre backend de traçage.119Le traçage distribué exporte des intervalles qui lient chaque invite utilisateur aux demandes d'API et aux exécutions d'outils qu'elle déclenche, afin que vous puissiez afficher une demande complète sous forme de trace unique dans votre backend de traçage.

109 120 

110Le traçage est désactivé par défaut. Pour l'activer, définissez à la fois `CLAUDE_CODE_ENABLE_TELEMETRY=1` et `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, puis définissez `OTEL_TRACES_EXPORTER` pour choisir où les intervalles sont envoyés. Les traces réutilisent la [configuration OTLP courante](#common-configuration-variables) pour le point de terminaison, le protocole et les en-têtes.121Le traçage est désactivé par défaut. Pour l'activer, définissez à la fois `CLAUDE_CODE_ENABLE_TELEMETRY=1` et `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1`, puis définissez `OTEL_TRACES_EXPORTER` pour choisir où les intervalles sont envoyés. Les traces réutilisent la [configuration OTLP courante](#common-configuration-variables) pour le point de terminaison, le protocole, les en-têtes et [mTLS](#mtls-authentication).

111 122 

112| Variable d'environnement | Description | Exemples de valeurs |123| Variable d'environnement | Description | Exemples de valeurs |

113| ------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------ |124| ------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------ |


233 244 

234### En-têtes dynamiques245### En-têtes dynamiques

235 246 

236Pour les environnements d'entreprise qui nécessitent une authentification dynamique, vous pouvez configurer un script pour générer des en-têtes dynamiquement :247Pour les environnements d'entreprise qui nécessitent une authentification dynamique, vous pouvez configurer un script pour générer des en-têtes dynamiquement. Les en-têtes dynamiques s'appliquent uniquement aux protocoles `http/protobuf` et `http/json`. L'exportateur `grpc` utilise uniquement la valeur statique `OTEL_EXPORTER_OTLP_HEADERS`.

237 248 

238#### Configuration des paramètres249#### Configuration des paramètres

239 250 


899 910 

900**Surveillance des performances** : suivre les durées des demandes d'API et les temps d'exécution des outils pour identifier les goulots d'étranglement de performance.911**Surveillance des performances** : suivre les durées des demandes d'API et les temps d'exécution des outils pour identifier les goulots d'étranglement de performance.

901 912 

913## Audit des événements de sécurité

914 

915Les événements OpenTelemetry sont la source de données d'audit pour l'activité de Claude Code. Chaque événement porte des attributs d'identité qui lient les appels d'outils, l'activité MCP et les décisions de permission à l'utilisateur qui les a déclenchés, et l'exportateur de journaux OTLP peut livrer ces événements à n'importe quelle plateforme SIEM (Security Information and Event Management) avec un récepteur OTLP ou à un collecteur OpenTelemetry qui transfère vers votre SIEM.

916 

917### Attribuer les actions aux utilisateurs

918 

919Les [attributs standard](#standard-attributes) sur chaque événement incluent l'identité de l'utilisateur authentifié : `user.email`, `user.account_uuid`, `user.account_id`, et `organization.id` lorsqu'il est connecté avec un compte Claude, plus l'installation-scoped `user.id` et le per-session `session.id`.

920 

921Les appels d'outils MCP, les commandes Bash et les éditions de fichiers sont donc attribués au développeur qui a démarré la session. Claude Code n'agit pas sous un compte de service distinct ; l'identité enregistrée sur chaque événement est le propre compte Claude du développeur.

922 

923Lorsque Claude Code s'authentifie avec une clé API directe, ou contre Bedrock, Vertex AI ou Microsoft Foundry, il n'y a pas de compte Claude dans la session et seuls `user.id` et `session.id` sont remplis. Dans ces déploiements, attachez l'identité utilisateur vous-même avec `OTEL_RESOURCE_ATTRIBUTES`, défini par utilisateur via le fichier [paramètres gérés](#administrator-configuration) ou un wrapper de lancement :

924 

925```bash theme={null}

926export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."

927```

928 

929### Audit de l'activité MCP

930 

931Pour capturer l'activité du serveur MCP avec tous les détails d'appel, activez l'exportateur de journaux et définissez `OTEL_LOG_TOOL_DETAILS=1`. Chaque opération MCP produit alors des événements structurés qui portent le nom du serveur, le nom de l'outil et les arguments d'appel aux côtés des attributs d'identité standard :

932 

933| Événement | Ce qu'il enregistre pour MCP |

934| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

935| `mcp_server_connection` | Connexion du serveur, déconnexion et défaillance de connexion avec `server_name`, `transport_type`, `server_scope`, et détail d'erreur |

936| `tool_result` | Chaque appel d'outil MCP avec `tool_name` et `mcp_server_scope`, une charge utile `tool_parameters` contenant `mcp_server_name` et `mcp_tool_name`, et une charge utile `tool_input` contenant les arguments d'appel |

937| `tool_decision` | Si l'appel a été autorisé ou refusé, et si la décision provenait de la configuration, d'un hook ou de l'utilisateur |

938 

939Sans `OTEL_LOG_TOOL_DETAILS`, les événements `tool_result` portent toujours `tool_name` et `mcp_server_scope` mais omettent la ventilation `mcp_server_name`/`mcp_tool_name` et les arguments, et les événements `mcp_server_connection` omettent `server_name` et le message d'erreur.

940 

941### Mapper les questions de sécurité aux événements

942 

943Lors de la création de règles de détection, recherchez le signal que vous souhaitez surveiller et interrogez votre backend pour l'événement correspondant et les attributs :

944 

945| Signal | Événement | Attributs clés |

946| -------------------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------ |

947| Appel d'outil autorisé ou refusé, et par quoi | `tool_decision` | `decision`, `source`, `tool_name` |

948| Escalade du mode de permission | `permission_mode_changed` | `from_mode`, `to_mode`, `trigger` |

949| Hook de politique a bloqué une action | `hook_execution_complete` | `hook_event`, `num_blocking` |

950| Connexion, déconnexion et défaillance d'authentification | `auth` | `action`, `success`, `error_category` |

951| Connexion du serveur MCP ou défaillance | `mcp_server_connection` | `status`, `server_name`, `error_code` |

952| Plugin installé et sa source | `plugin_installed` | `plugin.name`, `marketplace.name`, `marketplace.is_official` |

953| Commandes exécutées et fichiers touchés | `tool_result` avec `OTEL_LOG_TOOL_DETAILS=1` | `tool_parameters`, `tool_input` |

954 

955Claude Code émet uniquement le flux d'événements brut. La détection d'anomalies, l'établissement de lignes de base, la corrélation entre les sessions et les alertes sont la responsabilité de votre SIEM ou backend d'observabilité.

956 

957### Envoyer les événements à un SIEM

958 

959Pointez `OTEL_EXPORTER_OTLP_LOGS_ENDPOINT` vers le récepteur OTLP de votre SIEM, ou vers un collecteur OpenTelemetry qui transfère vers l'API d'ingestion native de votre SIEM. L'exemple de paramètres gérés suivant exporte uniquement les événements, avec tous les détails d'outil activés pour l'audit MCP et Bash :

960 

961```json theme={null}

962{

963 "env": {

964 "CLAUDE_CODE_ENABLE_TELEMETRY": "1",

965 "OTEL_LOGS_EXPORTER": "otlp",

966 "OTEL_LOG_TOOL_DETAILS": "1",

967 "OTEL_EXPORTER_OTLP_LOGS_PROTOCOL": "http/protobuf",

968 "OTEL_EXPORTER_OTLP_LOGS_ENDPOINT": "https://siem.example.com:4318/v1/logs",

969 "OTEL_EXPORTER_OTLP_HEADERS": "Authorization=Bearer your-siem-token"

970 }

971}

972```

973 

902## Considérations relatives aux backends974## Considérations relatives aux backends

903 975 

904Votre choix de backends de métriques, de journaux et de traces détermine les types d'analyses que vous pouvez effectuer :976Votre choix de backends de métriques, de journaux et de traces détermine les types d'analyses que vous pouvez effectuer :

output-styles.md +12 −3

Details

6 6 

7> Adaptez Claude Code pour des usages au-delà de l'ingénierie logicielle7> Adaptez Claude Code pour des usages au-delà de l'ingénierie logicielle

8 8 

9Les styles de sortie vous permettent d'utiliser Claude Code comme n'importe quel type d'agent tout en conservant ses capacités principales, telles que l'exécution de scripts locaux, la lecture/écriture de fichiers et le suivi des TODOs.9Les styles de sortie modifient la façon dont Claude répond, non ce que Claude sait. Ils modifient l'invite système pour définir le rôle, le ton et le format de sortie tout en conservant les capacités principales comme l'exécution de scripts, la lecture et l'écriture de fichiers, et le suivi des TODOs. Utilisez-en un lorsque vous continuez à relancer avec la même voix ou le même format à chaque tour, ou lorsque vous voulez que Claude agisse comme quelque chose d'autre qu'un ingénieur logiciel.

10 

11Pour les instructions concernant votre projet, les conventions ou votre base de code, utilisez [CLAUDE.md](/fr/memory) à la place.

10 12 

11## Styles de sortie intégrés13## Styles de sortie intégrés

12 14 


63[Define how the assistant should behave in this style...]65[Define how the assistant should behave in this style...]

64```66```

65 67 

66Vous pouvez enregistrer ces fichiers au niveau utilisateur (`~/.claude/output-styles`) ou au niveau projet (`.claude/output-styles`).68Vous pouvez enregistrer ces fichiers à trois niveaux :

69 

70* Utilisateur : `~/.claude/output-styles`

71* Projet : `.claude/output-styles`

72* Politique gérée : `.claude/output-styles` à l'intérieur du [répertoire des paramètres gérés](/fr/settings#settings-files)

73 

74Les [Plugins](/fr/plugins-reference) peuvent également fournir des styles de sortie dans un répertoire `output-styles/`.

67 75 

68### Frontmatter76### Frontmatter

69 77 

70Les fichiers de style de sortie prennent en charge frontmatter pour spécifier les métadonnées :78Les fichiers de style de sortie prennent en charge frontmatter pour spécifier les métadonnées :

71 79 

72| Frontmatter | Objectif | Par défaut |80| Frontmatter | Objectif | Par défaut |

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

74| `name` | Nom du style de sortie, s'il ne s'agit pas du nom du fichier | Hérité du nom du fichier |82| `name` | Nom du style de sortie, s'il ne s'agit pas du nom du fichier | Hérité du nom du fichier |

75| `description` | Description du style de sortie, affichée dans le sélecteur `/config` | Aucun |83| `description` | Description du style de sortie, affichée dans le sélecteur `/config` | Aucun |

76| `keep-coding-instructions` | Indique s'il faut conserver les parties de l'invite système de Claude Code liées au codage. | false |84| `keep-coding-instructions` | Indique s'il faut conserver les parties de l'invite système de Claude Code liées au codage. | false |

85| `force-for-plugin` | Styles de sortie de plugin uniquement : appliquez ce style automatiquement chaque fois que le plugin est activé, sans nécessiter une sélection de l'utilisateur. Remplace le paramètre `outputStyle` de l'utilisateur. Si plusieurs plugins activés définissent ceci, le premier chargé gagne. | false |

77 86 

78## Comparaisons avec les fonctionnalités connexes87## Comparaisons avec les fonctionnalités connexes

79 88 

plugins.md +6 −0

Details

315 ```315 ```

316</Tip>316</Tip>

317 317 

318Pour tester un plugin qui est déjà empaqueté en tant qu'archive `.zip` et hébergé à une URL, comme un artefact de build CI, utilisez `--plugin-url` à la place. Claude Code récupère l'archive au démarrage et la charge pour cette session uniquement. Si la récupération échoue ou que l'archive est invalide, Claude Code signale une erreur de chargement de plugin et démarre sans elle. Les mêmes [considérations de confiance](/fr/discover-plugins#security) s'appliquent que pour toute source de plugin : pointez uniquement ce drapeau vers des archives que vous contrôlez ou en lesquelles vous avez confiance.

319 

320```bash theme={null}

321claude --plugin-url https://example.com/my-plugin.zip

322```

323 

318### Déboguez les problèmes de plugin324### Déboguez les problèmes de plugin

319 325 

320Si votre plugin ne fonctionne pas comme prévu :326Si votre plugin ne fonctionne pas comme prévu :

Details

301]301]

302```302```

303 303 

304Pour déclarer les moniteurs en ligne, définissez la clé `monitors` dans `plugin.json` sur le même tableau. Pour charger à partir d'un chemin non par défaut, définissez `monitors` sur une chaîne de chemin relatif telle que `"./config/monitors.json"`.304Pour déclarer les moniteurs en ligne, définissez `experimental.monitors` dans `plugin.json` sur le même tableau. Pour charger à partir d'un chemin non par défaut, définissez `experimental.monitors` sur une chaîne de chemin relatif telle que `"./config/monitors.json"`. Les moniteurs sont un [composant expérimental](#experimental-components).

305 305 

306**Champs obligatoires :**306**Champs obligatoires :**

307 307 


323 323 

324### Thèmes324### Thèmes

325 325 

326Les plugins peuvent livrer des thèmes de couleur qui apparaissent dans `/theme` aux côtés des présets intégrés et des thèmes locaux de l'utilisateur. Un thème est un fichier JSON dans `themes/` avec un préset `base` et une carte `overrides` clairsemée de jetons de couleur.326Les plugins peuvent livrer des thèmes de couleur qui apparaissent dans `/theme` aux côtés des présets intégrés et des thèmes locaux de l'utilisateur. Un thème est un fichier JSON dans `themes/` avec un préset `base` et une carte `overrides` clairsemée de jetons de couleur. Les thèmes sont un [composant expérimental](#experimental-components).

327 327 

328```json theme={null}328```json theme={null}

329{329{


384 "hooks": "./config/hooks.json",384 "hooks": "./config/hooks.json",

385 "mcpServers": "./mcp-config.json",385 "mcpServers": "./mcp-config.json",

386 "outputStyles": "./styles/",386 "outputStyles": "./styles/",

387 "themes": "./themes/",

388 "lspServers": "./.lsp.json",387 "lspServers": "./.lsp.json",

389 "monitors": "./monitors.json",388 "experimental": {

389 "themes": "./themes/",

390 "monitors": "./monitors.json"

391 },

390 "dependencies": [392 "dependencies": [

391 "helper-lib",393 "helper-lib",

392 { "name": "secrets-vault", "version": "~2.1.0" }394 { "name": "secrets-vault", "version": "~2.1.0" }


420### Champs de chemin de composant422### Champs de chemin de composant

421 423 

422| Champ | Type | Description | Exemple |424| Champ | Type | Description | Exemple |

423| :------------- | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |425| :---------------------- | :-------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------- |

424| `skills` | string\|array | Répertoires de skills personnalisés contenant `<name>/SKILL.md` (remplace le répertoire par défaut `skills/`) | `"./custom/skills/"` |426| `skills` | string\|array | Répertoires de skills personnalisés contenant `<name>/SKILL.md` (remplace le répertoire par défaut `skills/`) | `"./custom/skills/"` |

425| `commands` | string\|array | Fichiers de skill markdown plats personnalisés ou répertoires (remplace le répertoire par défaut `commands/`) | `"./custom/cmd.md"` ou `["./cmd1.md"]` |427| `commands` | string\|array | Fichiers de skill markdown plats personnalisés ou répertoires (remplace le répertoire par défaut `commands/`) | `"./custom/cmd.md"` ou `["./cmd1.md"]` |

426| `agents` | string\|array | Fichiers d'agents personnalisés (remplace le répertoire par défaut `agents/`) | `"./custom/agents/reviewer.md"` |428| `agents` | string\|array | Fichiers d'agents personnalisés (remplace le répertoire par défaut `agents/`) | `"./custom/agents/reviewer.md"` |

427| `hooks` | string\|array\|object | Chemins de configuration des hooks ou configuration en ligne | `"./my-extra-hooks.json"` |429| `hooks` | string\|array\|object | Chemins de configuration des hooks ou configuration en ligne | `"./my-extra-hooks.json"` |

428| `mcpServers` | string\|array\|object | Chemins de configuration MCP ou configuration en ligne | `"./my-extra-mcp-config.json"` |430| `mcpServers` | string\|array\|object | Chemins de configuration MCP ou configuration en ligne | `"./my-extra-mcp-config.json"` |

429| `outputStyles` | string\|array | Fichiers/répertoires de styles de sortie personnalisés (remplace le répertoire par défaut `output-styles/`) | `"./styles/"` |431| `outputStyles` | string\|array | Fichiers/répertoires de styles de sortie personnalisés (remplace le répertoire par défaut `output-styles/`) | `"./styles/"` |

430| `themes` | string\|array | Fichiers/répertoires de thèmes de couleur (remplace le répertoire par défaut `themes/`). Consultez [Thèmes](#themes) | `"./themes/"` |

431| `lspServers` | string\|array\|object | Configurations [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) pour l'intelligence de code (aller à la définition, trouver les références, etc.) | `"./.lsp.json"` |432| `lspServers` | string\|array\|object | Configurations [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) pour l'intelligence de code (aller à la définition, trouver les références, etc.) | `"./.lsp.json"` |

432| `monitors` | string\|array | Configurations de [Monitor](/fr/tools-reference#monitor-tool) en arrière-plan qui démarrent automatiquement quand le plugin est actif. Consultez [Moniteurs](#monitors) | `"./monitors.json"` |433| `experimental.themes` | string\|array | Fichiers/répertoires de thèmes de couleur (remplace le répertoire par défaut `themes/`). Consultez [Thèmes](#themes) | `"./themes/"` |

434| `experimental.monitors` | string\|array | Configurations de [Monitor](/fr/tools-reference#monitor-tool) en arrière-plan qui démarrent automatiquement quand le plugin est actif. Consultez [Moniteurs](#monitors) | `"./monitors.json"` |

433| `userConfig` | object | Valeurs configurables par l'utilisateur demandées au moment de l'activation. Consultez [Configuration utilisateur](#user-configuration) | Voir ci-dessous |435| `userConfig` | object | Valeurs configurables par l'utilisateur demandées au moment de l'activation. Consultez [Configuration utilisateur](#user-configuration) | Voir ci-dessous |

434| `channels` | array | Déclarations de canaux pour l'injection de messages (style Telegram, Slack, Discord). Consultez [Canaux](#channels) | Voir ci-dessous |436| `channels` | array | Déclarations de canaux pour l'injection de messages (style Telegram, Slack, Discord). Consultez [Canaux](#channels) | Voir ci-dessous |

435| `dependencies` | array | Autres plugins que ce plugin nécessite, optionnellement avec des contraintes de version semver. Consultez [Contraindre les versions de dépendance des plugins](/fr/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |437| `dependencies` | array | Autres plugins que ce plugin nécessite, optionnellement avec des contraintes de version semver. Consultez [Contraindre les versions de dépendance des plugins](/fr/plugin-dependencies) | `[{ "name": "secrets-vault", "version": "~2.1.0" }]` |

436 438 

439### Composants expérimentaux

440 

441Les composants sous la clé `experimental`, `themes` et `monitors`, ont un schéma de manifeste qui peut changer entre les versions pendant qu'ils se stabilisent. L'endroit où vous les déclarez est une migration distincte : le niveau supérieur fonctionne toujours, `claude plugin validate` avertit, et une version future exigera `experimental.*`.

442 

437### Configuration utilisateur443### Configuration utilisateur

438 444 

439Le champ `userConfig` déclare les valeurs que Claude Code demande à l'utilisateur lors de l'activation du plugin. Utilisez ceci au lieu d'exiger que les utilisateurs modifient manuellement `settings.json`.445Le champ `userConfig` déclare les valeurs que Claude Code demande à l'utilisateur lors de l'activation du plugin. Utilisez ceci au lieu d'exiger que les utilisateurs modifient manuellement `settings.json`.


469| `multiple` | Non | Pour le type `string`, autoriser un tableau de chaînes |475| `multiple` | Non | Pour le type `string`, autoriser un tableau de chaînes |

470| `min` / `max` | Non | Limites pour le type `number` |476| `min` / `max` | Non | Limites pour le type `number` |

471 477 

472Chaque valeur est disponible pour la substitution en tant que `${user_config.KEY}` dans les configurations de serveurs MCP et LSP, les commandes de hook, les commandes de moniteur, et (pour les valeurs non sensibles uniquement) le contenu des skills et des agents. Toutes les valeurs sont exportées vers les sous-processus du plugin en tant que variables d'environnement `CLAUDE_PLUGIN_OPTION_<KEY>`.478Chaque valeur est disponible pour la substitution en tant que `${user_config.KEY}` dans les configurations de serveurs MCP et LSP, les commandes de hook, et les commandes de moniteur. Les valeurs non sensibles peuvent également être substituées dans le contenu des skills et des agents. Toutes les valeurs sont exportées vers les sous-processus du plugin en tant que variables d'environnement `CLAUDE_PLUGIN_OPTION_<KEY>`.

473 479 

474Les valeurs non sensibles sont stockées dans `settings.json` sous `pluginConfigs[<plugin-id>].options`. Les valeurs sensibles vont au trousseau système (ou `~/.claude/.credentials.json` où le trousseau n'est pas disponible). Le stockage du trousseau est partagé avec les jetons OAuth et a une limite totale d'environ 2 KB, donc gardez les valeurs sensibles petites.480Les valeurs non sensibles sont stockées dans `settings.json` sous `pluginConfigs[<plugin-id>].options`. Les valeurs sensibles vont au trousseau système (ou `~/.claude/.credentials.json` où le trousseau n'est pas disponible). Le stockage du trousseau est partagé avec les jetons OAuth et a une limite totale d'environ 2 KB, donc gardez les valeurs sensibles petites.

475 481 


504 510 

505### Règles de comportement des chemins511### Règles de comportement des chemins

506 512 

507Pour `skills`, `commands`, `agents`, `outputStyles`, `themes` et `monitors`, un chemin personnalisé remplace le répertoire par défaut. Si le manifeste spécifie `skills`, le répertoire par défaut `skills/` n'est pas analysé ; si il spécifie `monitors`, le fichier par défaut `monitors/monitors.json` n'est pas chargé. Les [Hooks](#hooks), les [Serveurs MCP](#mcp-servers) et les [Serveurs LSP](#lsp-servers) ont une sémantique différente pour gérer plusieurs sources.513Pour `skills`, `commands`, `agents`, `outputStyles`, `experimental.themes` et `experimental.monitors`, un chemin personnalisé remplace le répertoire par défaut. Si le manifeste spécifie `skills`, le répertoire par défaut `skills/` n'est pas analysé ; si il spécifie `experimental.monitors`, le fichier par défaut `monitors/monitors.json` n'est pas chargé. Les [Hooks](#hooks), les [Serveurs MCP](#mcp-servers) et les [Serveurs LSP](#lsp-servers) ont une sémantique différente pour gérer plusieurs sources.

508 514 

509* Tous les chemins doivent être relatifs à la racine du plugin et commencer par `./`515* Tous les chemins doivent être relatifs à la racine du plugin et commencer par `./`

510* Les composants des chemins personnalisés utilisent les mêmes règles de nommage et d'espace de noms516* Les composants des chemins personnalisés utilisent les mêmes règles de nommage et d'espace de noms


605 611 

606Les plugins sont spécifiés de deux façons :612Les plugins sont spécifiés de deux façons :

607 613 

608* Via `claude --plugin-dir`, pour la durée d'une session.614* Via `claude --plugin-dir` ou `claude --plugin-url`, pour la durée d'une session.

609* Via une marketplace, installés pour les sessions futures.615* Via une marketplace, installés pour les sessions futures.

610 616 

611À 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. Comprendre ce comportement est important lors du développement de plugins qui référencent des fichiers externes.617À 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. Comprendre ce comportement est important lors du développement de plugins qui référencent des fichiers externes.

routines.md +68 −16

Details

14 14 

15Chaque routine peut avoir un ou plusieurs déclencheurs attachés :15Chaque routine peut avoir un ou plusieurs déclencheurs attachés :

16 16 

17* **Planifiée** : s'exécute selon une cadence récurrente comme toutes les heures, chaque nuit ou chaque semaine17* **Planifiée** : s'exécute selon une cadence récurrente comme toutes les heures, chaque nuit ou chaque semaine, ou une seule fois à un moment futur spécifique

18* **API** : se déclenche à la demande en envoyant une requête HTTP POST à un point de terminaison par routine avec un jeton porteur18* **API** : se déclenche à la demande en envoyant une requête HTTP POST à un point de terminaison par routine avec un jeton porteur

19* **GitHub** : s'exécute automatiquement en réponse aux événements du référentiel tels que les demandes de tirage ou les versions19* **GitHub** : s'exécute automatiquement en réponse aux événements du référentiel tels que les demandes de tirage ou les versions

20 20 


44 44 

45## Créer une routine45## Créer une routine

46 46 

47Créez une routine à partir du web, de l'application de bureau ou de la CLI. Les trois surfaces écrivent dans le même compte cloud, de sorte qu'une routine que vous créez dans la CLI apparaît immédiatement sur claude.ai/code/routines. Dans l'application de bureau, cliquez sur **New task** et choisissez **New remote task** ; choisir **New local task** à la place crée une [tâche planifiée locale de bureau](/fr/desktop-scheduled-tasks), qui s'exécute sur votre machine et n'est pas une routine.47Créez une routine à partir du web sur [claude.ai/code/routines](https://claude.ai/code/routines), à partir de l'application de bureau, ou à partir de la CLI. Les trois surfaces écrivent dans le même compte cloud, de sorte qu'une routine que vous créez dans l'une d'elles apparaît immédiatement dans les autres. Dans l'application de bureau, cliquez sur **Routines** dans la barre latérale, puis sur **New routine**, et choisissez **Remote** ; choisir **Local** à la place crée une [tâche planifiée de bureau](/fr/desktop-scheduled-tasks), qui s'exécute sur votre machine plutôt que dans le cloud.

48 48 

49Le formulaire de création configure l'invite de la routine, les référentiels, l'environnement, les connecteurs et les déclencheurs.49Le formulaire de création configure l'invite de la routine, les référentiels, l'environnement, les connecteurs et les déclencheurs.

50 50 


66 </Step>66 </Step>

67 67 

68 <Step title="Sélectionner les référentiels">68 <Step title="Sélectionner les référentiels">

69 Ajoutez un ou plusieurs référentiels GitHub pour que Claude y travaille. Chaque référentiel est cloné au début d'une exécution, en commençant par la branche par défaut. Claude crée des branches préfixées par `claude/` pour ses modifications. Pour autoriser les poussées vers n'importe quelle branche, activez **Allow unrestricted branch pushes** pour ce référentiel.69 Ajoutez un ou plusieurs référentiels GitHub pour que Claude y travaille. Chaque référentiel est cloné au début d'une exécution, en commençant par la branche par défaut. Claude crée des branches préfixées par `claude/` pour ses modifications.

70 </Step>70 </Step>

71 71 

72 <Step title="Sélectionner un environnement">72 <Step title="Sélectionner un environnement">


76 * **Environment variables** : fournissez des clés API, des jetons ou d'autres secrets que Claude peut utiliser76 * **Environment variables** : fournissez des clés API, des jetons ou d'autres secrets que Claude peut utiliser

77 * **Setup script** : installez les dépendances et les outils dont la routine a besoin. Le résultat est [mis en cache](/fr/claude-code-on-the-web#environment-caching), de sorte que le script ne se réexécute pas à chaque session77 * **Setup script** : installez les dépendances et les outils dont la routine a besoin. Le résultat est [mis en cache](/fr/claude-code-on-the-web#environment-caching), de sorte que le script ne se réexécute pas à chaque session

78 78 

79 Un environnement **Default** est fourni. Pour utiliser un environnement personnalisé, [créez-en un](/fr/claude-code-on-the-web#the-cloud-environment) avant de créer la routine.79 Un environnement **Default** est fourni avec un accès réseau **Trusted**, qui permet l'[ensemble par défaut](/fr/claude-code-on-the-web#default-allowed-domains) des registres de paquets, des API de fournisseurs cloud, des registres de conteneurs et des domaines de développement courants, mais bloque tout le reste. Si votre routine doit atteindre vos propres services ou un domaine en dehors de cette liste, modifiez l'[accès réseau](/fr/claude-code-on-the-web#network-access) de l'environnement avant d'exécuter. Pour utiliser un environnement séparé, [créez-en un](/fr/claude-code-on-the-web#configure-your-environment) d'abord.

80 </Step>80 </Step>

81 81 

82 <Step title="Sélectionner un déclencheur">82 <Step title="Sélectionner un déclencheur">


84 84 

85 <Tabs>85 <Tabs>

86 <Tab title="Schedule">86 <Tab title="Schedule">

87 Choisissez une fréquence prédéfinie : toutes les heures, quotidienne, les jours de semaine ou hebdomadaire. Consultez [Add a schedule trigger](#add-a-schedule-trigger) pour la gestion des fuseaux horaires, l'échelonnement et les intervalles cron personnalisés.87 Choisissez une fréquence prédéfinie pour une exécution récurrente, ou planifiez une exécution unique à un moment précis. Consultez [Add a schedule trigger](#add-a-schedule-trigger) pour la gestion des fuseaux horaires, l'échelonnement, les intervalles cron personnalisés et les exécutions uniques.

88 </Tab>88 </Tab>

89 89 

90 <Tab title="GitHub event">90 <Tab title="GitHub event">


97 </Tabs>97 </Tabs>

98 </Step>98 </Step>

99 99 

100 <Step title="Examiner les connecteurs">100 <Step title="Examiner les connecteurs et les permissions">

101 Tous vos [connecteurs MCP](/fr/mcp) connectés sont inclus par défaut. Supprimez tous ceux dont la routine n'a pas besoin. Les connecteurs donnent à Claude accès aux services externes comme Slack, Linear ou Google Drive pendant chaque exécution.101 Les onglets **Connectors** et **Permissions** en bas du formulaire contrôlent ce que la routine peut atteindre.

102 

103 Sous Connectors, tous vos [connecteurs MCP](/fr/mcp) connectés sont inclus par défaut. Supprimez tous ceux dont la routine n'a pas besoin. Claude peut utiliser tous les outils d'un connecteur inclus, y compris les écritures, sans demander de permission pendant une exécution.

104 

105 Sous Permissions, activez **Allow unrestricted branch pushes** pour tout référentiel où Claude devrait pouvoir pousser vers des branches existantes au lieu de seulement des branches préfixées par `claude/`.

102 </Step>106 </Step>

103 107 

104 <Step title="Créer la routine">108 <Step title="Créer la routine">


110 114 

111### Créer à partir de la CLI115### Créer à partir de la CLI

112 116 

113Exécutez `/schedule` dans n'importe quelle session pour créer une routine planifiée de manière conversationnelle. Vous pouvez également transmettre une description directement, comme dans `/schedule daily PR review at 9am`. Claude parcourt les mêmes informations que le formulaire web collecte, puis enregistre la routine sur votre compte.117Exécutez `/schedule` dans n'importe quelle session pour créer une routine planifiée de manière conversationnelle. Vous pouvez également transmettre une description directement, pour une routine récurrente comme `/schedule daily PR review at 9am` ou une exécution unique comme `/schedule clean up feature flag in one week`. Claude parcourt les mêmes informations que le formulaire web collecte, puis enregistre la routine sur votre compte.

114 118 

115`/schedule` dans la CLI crée uniquement des routines planifiées. Pour ajouter un déclencheur API ou GitHub, modifiez la routine sur le web sur [claude.ai/code/routines](https://claude.ai/code/routines).119`/schedule` dans la CLI crée uniquement des routines planifiées. Pour ajouter un déclencheur API ou GitHub, modifiez la routine sur le web sur [claude.ai/code/routines](https://claude.ai/code/routines).

116 120 

117La CLI prend également en charge la gestion des routines existantes. Exécutez `/schedule list` pour voir toutes les routines, `/schedule update` pour en modifier une, ou `/schedule run` pour la déclencher immédiatement.121La CLI prend également en charge la gestion des routines existantes. Exécutez `/schedule list` pour voir toutes les routines, `/schedule update` pour en modifier une, ou `/schedule run` pour la déclencher immédiatement.

118 122 

119### Créer à partir de l'application de bureau

120 

121Ouvrez la page **Schedule** dans l'application de bureau, cliquez sur **New task**, et choisissez **New remote task**. L'application de bureau affiche à la fois les tâches planifiées locales et les routines dans la même grille. Consultez [Desktop scheduled tasks](/fr/desktop-scheduled-tasks) pour plus de détails sur l'option locale.

122 

123## Configurer les déclencheurs123## Configurer les déclencheurs

124 124 

125Une routine démarre lorsque l'un de ses déclencheurs correspond. Vous pouvez attacher n'importe quelle combinaison de déclencheurs de calendrier, API et GitHub à la même routine, et les ajouter ou les supprimer à tout moment à partir de la section **Select a trigger** du formulaire d'édition de la routine.125Une routine démarre lorsque l'un de ses déclencheurs correspond. Vous pouvez attacher n'importe quelle combinaison de déclencheurs de calendrier, API et GitHub à la même routine, et les ajouter ou les supprimer à tout moment à partir de la section **Select a trigger** du formulaire d'édition de la routine.

126 126 

127### Ajouter un déclencheur de calendrier127### Ajouter un déclencheur de calendrier

128 128 

129Un déclencheur de calendrier exécute la routine selon une cadence récurrente. Choisissez une fréquence prédéfinie dans la section **Select a trigger** : toutes les heures, quotidienne, les jours de semaine ou hebdomadaire. Les heures sont entrées dans votre fuseau horaire local et converties automatiquement, de sorte que la routine s'exécute à cette heure murale indépendamment de l'endroit où se trouve l'infrastructure cloud.129Un déclencheur de calendrier exécute la routine selon une cadence récurrente, ou une seule fois à un moment futur spécifique. Choisissez une fréquence prédéfinie dans la section **Select a trigger** : toutes les heures, quotidienne, les jours de semaine ou hebdomadaire. Les heures sont entrées dans votre fuseau horaire local et converties automatiquement, de sorte que la routine s'exécute à cette heure murale indépendamment de l'endroit où se trouve l'infrastructure cloud.

130 130 

131Les exécutions peuvent démarrer quelques minutes après l'heure planifiée en raison de l'échelonnement. Le décalage est cohérent pour chaque routine.131Les exécutions peuvent démarrer quelques minutes après l'heure planifiée en raison de l'échelonnement. Le décalage est cohérent pour chaque routine.

132 132 

133Pour un intervalle personnalisé tel que toutes les deux heures ou le premier de chaque mois, choisissez la prédéfinie la plus proche dans le formulaire, puis exécutez `/schedule update` dans la CLI pour définir une expression cron spécifique. L'intervalle minimum est d'une heure ; les expressions qui s'exécutent plus fréquemment sont rejetées.133Pour un intervalle personnalisé tel que toutes les deux heures ou le premier de chaque mois, choisissez la prédéfinie la plus proche dans le formulaire, puis exécutez `/schedule update` dans la CLI pour définir une expression cron spécifique. L'intervalle minimum est d'une heure ; les expressions qui s'exécutent plus fréquemment sont rejetées.

134 134 

135#### Planifier une exécution unique

136 

137Une exécution unique planifiée déclenche la routine une seule fois à un horodatage spécifique. Utilisez-la pour vous rappeler plus tard dans la semaine, pour ouvrir une PR de nettoyage après la fin d'un déploiement, ou pour lancer une tâche de suivi lorsqu'une modification en amont arrive. Après le déclenchement de la routine, elle se désactive automatiquement et l'interface utilisateur web la marque comme **Ran**. Pour l'exécuter à nouveau, modifiez la routine et définissez une nouvelle heure unique.

138 

139Créez une exécution unique à partir de la CLI en décrivant l'heure en langage naturel. Claude résout la phrase par rapport à l'heure actuelle et confirme l'horodatage absolu avant d'enregistrer.

140 

141```text theme={null}

142/schedule tomorrow at 9am, summarize yesterday's merged PRs

143```

144 

145```text theme={null}

146/schedule in 2 weeks, open a cleanup PR that removes the feature flag

147```

148 

149La même conversion locale-UTC que pour les calendriers récurrents s'applique aux horodatages uniques.

150 

151Les exécutions uniques ne comptent pas par rapport au plafond quotidien d'exécution de routine. Elles consomment l'utilisation d'abonnement régulière de votre plan comme n'importe quelle autre session. Consultez [Usage and limits](#usage-and-limits) pour plus de détails.

152 

135### Ajouter un déclencheur API153### Ajouter un déclencheur API

136 154 

137Un déclencheur API donne à une routine un point de terminaison HTTP dédié. POSTer sur le point de terminaison avec le jeton porteur de la routine démarre une nouvelle session et retourne une URL de session. Utilisez ceci pour intégrer Claude Code dans les systèmes d'alerte, les pipelines de déploiement, les outils internes ou n'importe où vous pouvez faire une requête HTTP authentifiée.155Un déclencheur API donne à une routine un point de terminaison HTTP dédié. POSTer sur le point de terminaison avec le jeton porteur de la routine démarre une nouvelle session et retourne une URL de session. Utilisez ceci pour intégrer Claude Code dans les systèmes d'alerte, les pipelines de déploiement, les outils internes ou n'importe où vous pouvez faire une requête HTTP authentifiée.


144 </Step>162 </Step>

145 163 

146 <Step title="Ajouter un déclencheur API">164 <Step title="Ajouter un déclencheur API">

147 Faites défiler jusqu'à la section **Select a trigger** sous l'invite, cliquez sur **Add another trigger**, et choisissez **API**.165 Faites défiler jusqu'à la section **Select a trigger** sous la boîte **Instructions**, cliquez sur **Add another trigger**, et choisissez **API**.

148 </Step>166 </Step>

149 167 

150 <Step title="Copier l'URL et générer un jeton">168 <Step title="Copier l'URL et générer un jeton">


273 291 

274Cliquez sur n'importe quelle exécution pour l'ouvrir en tant que session complète. À partir de là, vous pouvez voir ce que Claude a fait, examiner les modifications, créer une demande de tirage ou continuer la conversation. Chaque session d'exécution fonctionne comme n'importe quelle autre session : utilisez le menu déroulant à côté du titre de la session pour la renommer, l'archiver ou la supprimer.292Cliquez sur n'importe quelle exécution pour l'ouvrir en tant que session complète. À partir de là, vous pouvez voir ce que Claude a fait, examiner les modifications, créer une demande de tirage ou continuer la conversation. Chaque session d'exécution fonctionne comme n'importe quelle autre session : utilisez le menu déroulant à côté du titre de la session pour la renommer, l'archiver ou la supprimer.

275 293 

294<Note>

295 Un statut vert dans la liste des exécutions signifie que la session a démarré et s'est terminée sans erreur d'infrastructure. Cela ne signifie pas que la tâche dans votre invite a réussi. Ouvrez l'exécution pour lire la transcription et confirmer ce que Claude a réellement fait. Les demandes réseau bloquées, les outils de connecteur manquants et les défaillances au niveau des tâches s'affichent là plutôt que dans l'indicateur de statut.

296</Note>

297 

276### Éditer et contrôler les routines298### Éditer et contrôler les routines

277 299 

278À partir de la page de détail de la routine, vous pouvez :300À partir de la page de détail de la routine, vous pouvez :


298 320 

299Pour gérer ou ajouter des connecteurs en dehors du formulaire de routine, visitez **Settings > Connectors** sur claude.ai ou utilisez `/schedule update` dans la CLI.321Pour gérer ou ajouter des connecteurs en dehors du formulaire de routine, visitez **Settings > Connectors** sur claude.ai ou utilisez `/schedule update` dans la CLI.

300 322 

301### Environnements323### Environnements et accès réseau

324 

325Chaque routine s'exécute dans un [environnement cloud](/fr/claude-code-on-the-web#the-cloud-environment) qui contrôle l'accès réseau, les variables d'environnement et les scripts de configuration. La routine hérite de la politique réseau de l'environnement à chaque exécution.

302 326 

303Chaque routine s'exécute dans un [environnement cloud](/fr/claude-code-on-the-web#the-cloud-environment) qui contrôle l'accès réseau, les variables d'environnement et les scripts de configuration. Configurez les environnements avant de créer une routine pour donner à Claude accès aux API, installer les dépendances ou restreindre la portée du réseau. Consultez [cloud environment](/fr/claude-code-on-the-web#the-cloud-environment) pour le guide de configuration complet.327L'environnement **Default** utilise l'accès réseau **Trusted** : la [liste d'autorisation par défaut](/fr/claude-code-on-the-web#default-allowed-domains) des registres de paquets, des API des fournisseurs de cloud, des registres de conteneurs et des domaines de développement courants est accessible, mais les domaines arbitraires ne le sont pas. Les demandes sortantes vers d'autres hôtes échouent avec `403` et `x-deny-reason: host_not_allowed`. Le trafic des connecteurs MCP est acheminé via les serveurs d'Anthropic, donc les connecteurs que vous ajoutez à la routine fonctionnent sans ajouter leurs hôtes aux **Allowed domains**. Supprimez tous les connecteurs dont vous n'avez pas besoin sous [Connecteurs](#connecteurs).

328 

329Pour autoriser des domaines supplémentaires :

330 

331<Steps>

332 <Step title="Ouvrir la routine pour l'édition">

333 Sur la page de détail de la routine, cliquez sur l'icône de crayon pour ouvrir **Edit routine**.

334 </Step>

335 

336 <Step title="Ouvrir le sélecteur d'environnement">

337 Sous la zone **Instructions**, sélectionnez l'icône cloud affichant le nom de votre environnement, tel que **Default**.

338 </Step>

339 

340 <Step title="Ouvrir les paramètres d'environnement">

341 Survolez l'environnement dans la liste et cliquez sur l'icône de paramètres qui apparaît à droite.

342 </Step>

343 

344 <Step title="Modifier le niveau d'accès réseau">

345 Dans la boîte de dialogue **Update cloud environment**, modifiez **Network access** en **Custom** et entrez vos domaines dans **Allowed domains**. Cochez **Also include default list of common package managers** pour conserver la [liste d'autorisation par défaut](/fr/claude-code-on-the-web#default-allowed-domains) aux côtés de vos domaines personnalisés. Sélectionnez **Full** à la place pour un accès sans restriction.

346 </Step>

347 

348 <Step title="Enregistrer">

349 Cliquez sur **Save changes**. La nouvelle politique s'applique à partir de la prochaine exécution.

350 </Step>

351</Steps>

352 

353Consultez [Network access](/fr/claude-code-on-the-web#network-access) pour plus de détails sur les niveaux d'accès et la liste d'autorisation par défaut.

304 354 

305## Utilisation et limites355## Utilisation et limites

306 356 


308 358 

309Lorsqu'une routine atteint le plafond quotidien ou votre limite d'utilisation d'abonnement, les organisations avec utilisation supplémentaire activée peuvent continuer à exécuter les routines sur dépassement mesuré. Sans utilisation supplémentaire, les exécutions supplémentaires sont rejetées jusqu'à la réinitialisation de la fenêtre. Activez l'utilisation supplémentaire à partir de **Settings > Billing** sur claude.ai.359Lorsqu'une routine atteint le plafond quotidien ou votre limite d'utilisation d'abonnement, les organisations avec utilisation supplémentaire activée peuvent continuer à exécuter les routines sur dépassement mesuré. Sans utilisation supplémentaire, les exécutions supplémentaires sont rejetées jusqu'à la réinitialisation de la fenêtre. Activez l'utilisation supplémentaire à partir de **Settings > Billing** sur claude.ai.

310 360 

361Les exécutions ponctuelles ne comptent pas par rapport au plafond quotidien des routines. Elles réduisent votre utilisation d'abonnement régulière comme toute autre session, mais elles sont exemptes de l'allocation quotidienne d'exécutions de routine par compte.

362 

311## Ressources connexes363## Ressources connexes

312 364 

313* [`/loop` et planification en session](/fr/scheduled-tasks) : planifiez les tâches locales dans une session CLI ouverte365* [`/loop` et planification en session](/fr/scheduled-tasks) : planifiez les tâches locales dans une session CLI ouverte

settings.md +19 −15

Details

164| `allowManagedHooksOnly` | (Paramètres gérés uniquement) Seuls les hooks gérés, les hooks SDK, et les hooks des plugins force-activés dans les paramètres gérés `enabledPlugins` sont chargés. Les hooks utilisateur, projet et tous les autres hooks de plugin sont bloqués. Voir [Configuration des hooks](#hook-configuration) | `true` |164| `allowManagedHooksOnly` | (Paramètres gérés uniquement) Seuls les hooks gérés, les hooks SDK, et les hooks des plugins force-activés dans les paramètres gérés `enabledPlugins` sont chargés. Les hooks utilisateur, projet et tous les autres hooks de plugin sont bloqués. Voir [Configuration des hooks](#hook-configuration) | `true` |

165| `allowManagedMcpServersOnly` | (Paramètres gérés uniquement) Seul `allowedMcpServers` à partir des paramètres gérés est respecté. `deniedMcpServers` fusionne toujours à partir de toutes les sources. Les utilisateurs peuvent toujours ajouter des MCP servers, mais seule la liste blanche définie par l'administrateur s'applique. Voir [Configuration MCP gérée](/fr/mcp#managed-mcp-configuration) | `true` |165| `allowManagedMcpServersOnly` | (Paramètres gérés uniquement) Seul `allowedMcpServers` à partir des paramètres gérés est respecté. `deniedMcpServers` fusionne toujours à partir de toutes les sources. Les utilisateurs peuvent toujours ajouter des MCP servers, mais seule la liste blanche définie par l'administrateur s'applique. Voir [Configuration MCP gérée](/fr/mcp#managed-mcp-configuration) | `true` |

166| `allowManagedPermissionRulesOnly` | (Paramètres gérés uniquement) Empêcher les paramètres utilisateur et projet de définir les règles de permission `allow`, `ask`, ou `deny`. Seules les règles dans les paramètres gérés s'appliquent. Voir [Paramètres gérés uniquement](/fr/permissions#managed-only-settings) | `true` |166| `allowManagedPermissionRulesOnly` | (Paramètres gérés uniquement) Empêcher les paramètres utilisateur et projet de définir les règles de permission `allow`, `ask`, ou `deny`. Seules les règles dans les paramètres gérés s'appliquent. Voir [Paramètres gérés uniquement](/fr/permissions#managed-only-settings) | `true` |

167| `alwaysThinkingEnabled` | Activer la [réflexion étendue](/fr/model-config#extended-thinking) par défaut pour toutes les sessions. Généralement configuré via la commande `/config` plutôt que d'éditer directement | `true` |167| `alwaysThinkingEnabled` | Activer la [réflexion étendue](/fr/model-config#extended-thinking) par défaut pour toutes les sessions. Généralement configuré via la commande `/config` plutôt que d'éditer directement. Pour forcer la réflexion désactivée indépendamment de ce paramètre, définissez [`CLAUDE_CODE_DISABLE_THINKING`](/fr/env-vars) dans `env` | `true` |

168| `apiKeyHelper` | Script personnalisé, à exécuter dans `/bin/sh`, pour générer une valeur d'authentification. Cette valeur sera envoyée comme en-têtes `X-Api-Key` et `Authorization: Bearer` pour les demandes de modèle | `/bin/generate_temp_api_key.sh` |168| `apiKeyHelper` | Script personnalisé, à exécuter dans `/bin/sh`, pour générer une valeur d'authentification. Cette valeur sera envoyée comme en-têtes `X-Api-Key` et `Authorization: Bearer` pour les demandes de modèle. Définissez l'intervalle d'actualisation avec [`CLAUDE_CODE_API_KEY_HELPER_TTL_MS`](/fr/env-vars) | `/bin/generate_temp_api_key.sh` |

169| `attribution` | Personnalisez l'attribution pour les commits git et les pull requests. Voir [Paramètres d'attribution](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |169| `attribution` | Personnalisez l'attribution pour les commits git et les pull requests. Voir [Paramètres d'attribution](#attribution-settings) | `{"commit": "🤖 Generated with Claude Code", "pr": ""}` |

170| `autoMemoryDirectory` | Répertoire personnalisé pour le stockage de la [mémoire automatique](/fr/memory#storage-location). Accepte un chemin absolu ou un chemin préfixé par `~/`. Accepté à partir des paramètres de politique et utilisateur, et à partir de l'indicateur `--settings`. Non accepté à partir des paramètres de projet ou locaux, car un référentiel cloné pourrait fournir l'un ou l'autre fichier pour rediriger les écritures de mémoire vers des emplacements sensibles | `"~/my-memory-dir"` |170| `autoMemoryDirectory` | Répertoire personnalisé pour le stockage de la [mémoire automatique](/fr/memory#storage-location). Accepte un chemin absolu ou un chemin préfixé par `~/`. Accepté à partir des paramètres de politique et utilisateur, et à partir de l'indicateur `--settings`. Non accepté à partir des paramètres de projet ou locaux, car un référentiel cloné pourrait fournir l'un ou l'autre fichier pour rediriger les écritures de mémoire vers des emplacements sensibles | `"~/my-memory-dir"` |

171| `autoMemoryEnabled` | Activer la [mémoire automatique](/fr/memory#enable-or-disable-auto-memory). Quand `false`, Claude ne lit pas et n'écrit pas dans le répertoire de mémoire automatique. Par défaut : `true`. Vous pouvez également basculer ceci avec `/memory` pendant une session | `false` |171| `autoMemoryEnabled` | Activer la [mémoire automatique](/fr/memory#enable-or-disable-auto-memory). Quand `false`, Claude ne lit pas et n'écrit pas dans le répertoire de mémoire automatique. Par défaut : `true`. Vous pouvez également basculer ceci avec `/memory` pendant une session. Pour désactiver via une variable d'environnement, définissez [`CLAUDE_CODE_DISABLE_AUTO_MEMORY`](/fr/env-vars) dans `env` | `false` |

172| `autoMode` | Personnalisez ce que le classificateur du [mode auto](/fr/permission-modes#eliminate-prompts-with-auto-mode) bloque et autorise. Contient les tableaux `environment`, `allow`, et `soft_deny` de règles en prose. Incluez la chaîne littérale `"$defaults"` dans un tableau pour hériter des règles intégrées à cette position. Voir [Configurer le mode auto](/fr/auto-mode-config). Non lu à partir des paramètres de projet partagés | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |172| `autoMode` | Personnalisez ce que le classificateur du [mode auto](/fr/permission-modes#eliminate-prompts-with-auto-mode) bloque et autorise. Contient les tableaux `environment`, `allow`, et `soft_deny` de règles en prose. Incluez la chaîne littérale `"$defaults"` dans un tableau pour hériter des règles intégrées à cette position. Voir [Configurer le mode auto](/fr/auto-mode-config). Non lu à partir des paramètres de projet partagés | `{"soft_deny": ["$defaults", "Never run terraform apply"]}` |

173| `autoScrollEnabled` | Dans le [rendu fullscreen](/fr/fullscreen), suivre la nouvelle sortie vers le bas de la conversation. Par défaut : `true`. Apparaît dans `/config` comme **Auto-scroll**. Les invites de permission font toujours défiler dans la vue quand ceci est désactivé | `false` |173| `autoScrollEnabled` | Dans le [rendu fullscreen](/fr/fullscreen), suivre la nouvelle sortie vers le bas de la conversation. Par défaut : `true`. Apparaît dans `/config` comme **Auto-scroll**. Les invites de permission font toujours défiler dans la vue quand ceci est désactivé | `false` |

174| `autoUpdatesChannel` | Canal de version à suivre pour les mises à jour. Utilisez `"stable"` pour une version généralement une semaine ancienne et qui ignore les versions avec des régressions majeures, ou `"latest"` (par défaut) pour la version la plus récente | `"stable"` |174| `autoUpdatesChannel` | Canal de version à suivre pour les mises à jour. Utilisez `"stable"` pour une version généralement une semaine ancienne et qui ignore les versions avec des régressions majeures, ou `"latest"` (par défaut) pour la version la plus récente. Pour désactiver complètement les auto-mises à jour, définissez [`DISABLE_AUTOUPDATER`](/fr/setup#disable-auto-updates) dans `env` | `"stable"` |

175| `availableModels` | Restreindre les modèles que les utilisateurs peuvent sélectionner via `/model`, `--model`, ou `ANTHROPIC_MODEL`. N'affecte pas l'option Par défaut. Voir [Restreindre la sélection de modèle](/fr/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |175| `availableModels` | Restreindre les modèles que les utilisateurs peuvent sélectionner via `/model`, `--model`, ou `ANTHROPIC_MODEL`. N'affecte pas l'option Par défaut. Voir [Restreindre la sélection de modèle](/fr/model-config#restrict-model-selection) | `["sonnet", "haiku"]` |

176| `awaySummaryEnabled` | Afficher un récapitulatif de session d'une ligne quand vous revenez au terminal après quelques minutes d'absence. Définir à `false` ou désactiver le récapitulatif de session dans `/config` pour désactiver. Identique à [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/fr/env-vars) | `true` |176| `awaySummaryEnabled` | Afficher un récapitulatif de session d'une ligne quand vous revenez au terminal après quelques minutes d'absence. Définir à `false` ou désactiver le récapitulatif de session dans `/config` pour désactiver. Identique à [`CLAUDE_CODE_ENABLE_AWAY_SUMMARY`](/fr/env-vars) | `true` |

177| `awsAuthRefresh` | Script personnalisé qui modifie le répertoire `.aws` (voir [configuration avancée des identifiants](/fr/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |177| `awsAuthRefresh` | Script personnalisé qui modifie le répertoire `.aws` (voir [configuration avancée des identifiants](/fr/amazon-bedrock#advanced-credential-configuration)) | `aws sso login --profile myprofile` |

178| `awsCredentialExport` | Script personnalisé qui génère du JSON avec les identifiants AWS (voir [configuration avancée des identifiants](/fr/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |178| `awsCredentialExport` | Script personnalisé qui génère du JSON avec les identifiants AWS (voir [configuration avancée des identifiants](/fr/amazon-bedrock#advanced-credential-configuration)) | `/bin/generate_aws_grant.sh` |

179| `blockedMarketplaces` | (Paramètres gérés uniquement) Liste noire des sources de marketplace. Appliquée lors de l'ajout de marketplace et lors de l'installation, la mise à jour, l'actualisation et la mise à jour automatique du plugin, donc une marketplace ajoutée avant que la politique soit définie ne peut pas être utilisée pour récupérer les plugins. Les sources bloquées sont vérifiées avant le téléchargement, donc elles ne touchent jamais le système de fichiers. Voir [Restrictions de marketplace gérées](/fr/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |179| `blockedMarketplaces` | (Paramètres gérés uniquement) Liste noire des sources de marketplace. Appliquée lors de l'ajout de marketplace et lors de l'installation, la mise à jour, l'actualisation et la mise à jour automatique du plugin, donc une marketplace ajoutée avant que la politique soit définie ne peut pas être utilisée pour récupérer les plugins. Les sources bloquées sont vérifiées avant le téléchargement, donc elles ne touchent jamais le système de fichiers. Voir [Restrictions de marketplace gérées](/fr/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "untrusted/plugins" }]` |

180| `channelsEnabled` | (Paramètres gérés uniquement) Autoriser les [channels](/fr/channels) pour l'organisation. Sur les plans Claude.ai Team et Enterprise, les channels sont bloqués quand ceci est non défini ou `false`. Pour les comptes [Anthropic Console](/fr/authentication#claude-console-authentication) utilisant l'authentification par clé API, les channels sont autorisés par défaut sauf si votre organisation déploie des paramètres gérés, auquel cas cette clé doit être définie à `true` | `true` |180| `channelsEnabled` | (Paramètres gérés uniquement) Autoriser les [channels](/fr/channels) pour l'organisation. Sur les plans Claude.ai Team et Enterprise, les channels sont bloqués quand ceci est non défini ou `false`. Pour les comptes [Anthropic Console](/fr/authentication#claude-console-authentication) utilisant l'authentification par clé API, les channels sont autorisés par défaut sauf si votre organisation déploie des paramètres gérés, auquel cas cette clé doit être définie à `true` | `true` |

181| `claudeMdExcludes` | Modèles Glob ou chemins absolus des fichiers `CLAUDE.md` à ignorer lors du chargement de la [mémoire](/fr/memory). Les modèles correspondent aux chemins de fichier absolus. S'applique uniquement à la mémoire utilisateur, projet et locale ; les fichiers de politique gérée ne peuvent pas être exclus | `["**/vendor/**/CLAUDE.md"]` |

181| `cleanupPeriodDays` | Les sessions inactives pendant plus longtemps que cette période sont supprimées au démarrage (par défaut : 30 jours, minimum 1). Définir à `0` est rejeté avec une erreur de validation. Contrôle également le seuil d'âge pour la suppression automatique des [worktrees de subagent orphelins](/fr/worktrees#clean-up-worktrees) au démarrage. Pour désactiver complètement les écritures de transcript, définissez la variable d'environnement [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/fr/env-vars), ou en mode non interactif (`-p`) utilisez l'indicateur `--no-session-persistence` ou l'option SDK `persistSession: false`. | `20` |182| `cleanupPeriodDays` | Les sessions inactives pendant plus longtemps que cette période sont supprimées au démarrage (par défaut : 30 jours, minimum 1). Définir à `0` est rejeté avec une erreur de validation. Contrôle également le seuil d'âge pour la suppression automatique des [worktrees de subagent orphelins](/fr/worktrees#clean-up-worktrees) au démarrage. Pour désactiver complètement les écritures de transcript, définissez la variable d'environnement [`CLAUDE_CODE_SKIP_PROMPT_HISTORY`](/fr/env-vars), ou en mode non interactif (`-p`) utilisez l'indicateur `--no-session-persistence` ou l'option SDK `persistSession: false`. | `20` |

182| `companyAnnouncements` | Annonce à afficher aux utilisateurs au démarrage. Si plusieurs annonces sont fournies, elles seront affichées aléatoirement. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |183| `companyAnnouncements` | Annonce à afficher aux utilisateurs au démarrage. Si plusieurs annonces sont fournies, elles seront affichées aléatoirement. | `["Welcome to Acme Corp! Review our code guidelines at docs.acme.com"]` |

183| `defaultShell` | Shell par défaut pour les commandes `!` de la boîte d'entrée. Accepte `"bash"` (par défaut) ou `"powershell"`. Définir à `"powershell"` achemine les commandes `!` interactives via PowerShell sur Windows. Nécessite `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Voir [Outil PowerShell](/fr/tools-reference#powershell-tool) | `"powershell"` |184| `defaultShell` | Shell par défaut pour les commandes `!` de la boîte d'entrée. Accepte `"bash"` (par défaut) ou `"powershell"`. Définir à `"powershell"` achemine les commandes `!` interactives via PowerShell sur Windows. Nécessite `CLAUDE_CODE_USE_POWERSHELL_TOOL=1`. Voir [Outil PowerShell](/fr/tools-reference#powershell-tool) | `"powershell"` |


189| `disableRemoteControl` | {/* min-version: 2.1.128 */}Désactiver le [Contrôle à distance](/fr/remote-control) : bloque `claude remote-control`, l'indicateur `--remote-control`, le démarrage automatique, et le basculement en session. Généralement placé dans les [paramètres gérés](/fr/permissions#managed-settings) pour l'application par appareil MDM, mais fonctionne à partir de n'importe quelle portée. Nécessite Claude Code v2.1.128 ou ultérieur | `true` |190| `disableRemoteControl` | {/* min-version: 2.1.128 */}Désactiver le [Contrôle à distance](/fr/remote-control) : bloque `claude remote-control`, l'indicateur `--remote-control`, le démarrage automatique, et le basculement en session. Généralement placé dans les [paramètres gérés](/fr/permissions#managed-settings) pour l'application par appareil MDM, mais fonctionne à partir de n'importe quelle portée. Nécessite Claude Code v2.1.128 ou ultérieur | `true` |

190| `disableSkillShellExecution` | Désactiver l'exécution de shell en ligne pour `` !`...` `` et ` ```! ` blocs dans les [skills](/fr/skills) et les commandes personnalisées à partir des sources utilisateur, projet, plugin ou répertoire supplémentaire. Les commandes sont remplacées par `[shell command execution disabled by policy]` au lieu d'être exécutées. Les skills bundlés et gérés ne sont pas affectés. Très utile dans les [paramètres gérés](/fr/permissions#managed-settings) où les utilisateurs ne peuvent pas le contourner | `true` |191| `disableSkillShellExecution` | Désactiver l'exécution de shell en ligne pour `` !`...` `` et ` ```! ` blocs dans les [skills](/fr/skills) et les commandes personnalisées à partir des sources utilisateur, projet, plugin ou répertoire supplémentaire. Les commandes sont remplacées par `[shell command execution disabled by policy]` au lieu d'être exécutées. Les skills bundlés et gérés ne sont pas affectés. Très utile dans les [paramètres gérés](/fr/permissions#managed-settings) où les utilisateurs ne peuvent pas le contourner | `true` |

191| `editorMode` | Mode de liaison de touches pour l'invite d'entrée : `"normal"` ou `"vim"`. Par défaut : `"normal"`. Apparaît dans `/config` comme **Editor mode** | `"vim"` |192| `editorMode` | Mode de liaison de touches pour l'invite d'entrée : `"normal"` ou `"vim"`. Par défaut : `"normal"`. Apparaît dans `/config` comme **Editor mode** | `"vim"` |

192| `effortLevel` | Persister le [niveau d'effort](/fr/model-config#adjust-effort-level) entre les sessions. Accepte `"low"`, `"medium"`, `"high"`, ou `"xhigh"`. Écrit automatiquement quand vous exécutez `/effort` avec l'une de ces valeurs. Voir [Ajuster le niveau d'effort](/fr/model-config#adjust-effort-level) pour les modèles supportés | `"xhigh"` |193| `effortLevel` | Persister le [niveau d'effort](/fr/model-config#adjust-effort-level) entre les sessions. Accepte `"low"`, `"medium"`, `"high"`, ou `"xhigh"`. Écrit automatiquement quand vous exécutez `/effort` avec l'une de ces valeurs. `--effort` et [`CLAUDE_CODE_EFFORT_LEVEL`](/fr/env-vars) remplacent ceci pour une session. Voir [Ajuster le niveau d'effort](/fr/model-config#adjust-effort-level) pour les modèles supportés | `"xhigh"` |

193| `enableAllProjectMcpServers` | Approuver automatiquement tous les MCP servers définis dans les fichiers `.mcp.json` du projet | `true` |194| `enableAllProjectMcpServers` | Approuver automatiquement tous les MCP servers définis dans les fichiers `.mcp.json` du projet | `true` |

194| `enabledMcpjsonServers` | Liste des MCP servers spécifiques à partir des fichiers `.mcp.json` à approuver | `["memory", "github"]` |195| `enabledMcpjsonServers` | Liste des MCP servers spécifiques à partir des fichiers `.mcp.json` à approuver | `["memory", "github"]` |

195| `env` | Variables d'environnement qui seront appliquées à chaque session | `{"FOO": "bar"}` |196| `env` | Variables d'environnement qui seront appliquées à chaque session | `{"FOO": "bar"}` |

196| `fastModePerSessionOptIn` | Quand `true`, le mode rapide ne persiste pas entre les sessions. Chaque session commence avec le mode rapide désactivé, nécessitant que les utilisateurs l'activent avec `/fast`. La préférence de mode rapide de l'utilisateur est toujours enregistrée. Voir [Exiger l'opt-in par session](/fr/fast-mode#require-per-session-opt-in) | `true` |197| `fastModePerSessionOptIn` | Quand `true`, le mode rapide ne persiste pas entre les sessions. Chaque session commence avec le mode rapide désactivé, nécessitant que les utilisateurs l'activent avec `/fast`. La préférence de mode rapide de l'utilisateur est toujours enregistrée. Voir [Exiger l'opt-in par session](/fr/fast-mode#require-per-session-opt-in) | `true` |

197| `feedbackSurveyRate` | Probabilité (0–1) que l'[enquête de qualité de session](/fr/data-usage#session-quality-surveys) apparaisse quand elle est admissible. Définir à `0` pour supprimer complètement. Utile lors de l'utilisation de Bedrock, Vertex, ou Foundry où le taux d'échantillonnage par défaut ne s'applique pas | `0.05` |198| `feedbackSurveyRate` | Probabilité (0–1) que l'[enquête de qualité de session](/fr/data-usage#session-quality-surveys) apparaisse quand elle est admissible. Définir à `0` pour supprimer complètement, ou définissez [`CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY`](/fr/env-vars) dans `env`. Utile lors de l'utilisation de Bedrock, Vertex, ou Foundry où le taux d'échantillonnage par défaut ne s'applique pas | `0.05` |

198| `fileSuggestion` | Configurez un script personnalisé pour l'autocomplétion de fichier `@`. Voir [Paramètres de suggestion de fichier](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |199| `fileSuggestion` | Configurez un script personnalisé pour l'autocomplétion de fichier `@`. Voir [Paramètres de suggestion de fichier](#file-suggestion-settings) | `{"type": "command", "command": "~/.claude/file-suggestion.sh"}` |

199| `forceLoginMethod` | Utilisez `claudeai` pour restreindre la connexion aux comptes Claude.ai, `console` pour restreindre la connexion aux comptes Claude Console (facturation d'utilisation d'API) | `claudeai` |200| `forceLoginMethod` | Utilisez `claudeai` pour restreindre la connexion aux comptes Claude.ai, `console` pour restreindre la connexion aux comptes Claude Console (facturation d'utilisation d'API) | `claudeai` |

200| `forceLoginOrgUUID` | Exiger que la connexion appartienne à une organisation spécifique. Accepte une seule chaîne UUID, qui pré-sélectionne également cette organisation lors de la connexion, ou un tableau d'UUID où n'importe quelle organisation listée est acceptée sans pré-sélection. Quand défini dans les paramètres gérés, la connexion échoue si le compte authentifié n'appartient pas à une organisation listée ; un tableau vide échoue fermé et bloque la connexion avec un message de mauvaise configuration | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` ou `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |201| `forceLoginOrgUUID` | Exiger que la connexion appartienne à une organisation spécifique. Accepte une seule chaîne UUID, qui pré-sélectionne également cette organisation lors de la connexion, ou un tableau d'UUID où n'importe quelle organisation listée est acceptée sans pré-sélection. Quand défini dans les paramètres gérés, la connexion échoue si le compte authentifié n'appartient pas à une organisation listée ; un tableau vide échoue fermé et bloque la connexion avec un message de mauvaise configuration | `"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"` ou `["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy"]` |

201| `forceRemoteSettingsRefresh` | (Paramètres gérés uniquement) Bloquer le démarrage de la CLI jusqu'à ce que les paramètres gérés distants soient fraîchement récupérés du serveur. Si la récupération échoue, la CLI se termine plutôt que de continuer avec les paramètres en cache ou aucun paramètre. Quand non défini, le démarrage continue sans attendre les paramètres distants. Voir [application fail-closed](/fr/server-managed-settings#enforce-fail-closed-startup) | `true` |202| `forceRemoteSettingsRefresh` | (Paramètres gérés uniquement) Bloquer le démarrage de la CLI jusqu'à ce que les paramètres gérés distants soient fraîchement récupérés du serveur. Si la récupération échoue, la CLI se termine plutôt que de continuer avec les paramètres en cache ou aucun paramètre. Quand non défini, le démarrage continue sans attendre les paramètres distants. Voir [application fail-closed](/fr/server-managed-settings#enforce-fail-closed-startup) | `true` |

203| `gcpAuthRefresh` | Script personnalisé qui actualise les identifiants GCP Application Default quand ils expirent ou ne peuvent pas être chargés. Voir [configuration avancée des identifiants](/fr/google-vertex-ai#advanced-credential-configuration) | `gcloud auth application-default login` |

202| `hooks` | Configurez des commandes personnalisées à exécuter lors d'événements du cycle de vie. Voir [documentation des hooks](/fr/hooks) pour le format | Voir [hooks](/fr/hooks) |204| `hooks` | Configurez des commandes personnalisées à exécuter lors d'événements du cycle de vie. Voir [documentation des hooks](/fr/hooks) pour le format | Voir [hooks](/fr/hooks) |

203| `httpHookAllowedEnvVars` | Liste blanche des noms de variables d'environnement que les hooks HTTP peuvent interpoler dans les en-têtes. Quand défini, le `allowedEnvVars` effectif de chaque hook est l'intersection avec cette liste. Non défini = pas de restriction. Les tableaux fusionnent entre les sources de paramètres. Voir [Configuration des hooks](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |205| `httpHookAllowedEnvVars` | Liste blanche des noms de variables d'environnement que les hooks HTTP peuvent interpoler dans les en-têtes. Quand défini, le `allowedEnvVars` effectif de chaque hook est l'intersection avec cette liste. Non défini = pas de restriction. Les tableaux fusionnent entre les sources de paramètres. Voir [Configuration des hooks](#hook-configuration) | `["MY_TOKEN", "HOOK_SECRET"]` |

204| `includeCoAuthoredBy` | **Déprécié** : Utilisez `attribution` à la place. S'il faut inclure la ligne `co-authored-by Claude` dans les commits git et les pull requests (par défaut : `true`) | `false` |206| `includeCoAuthoredBy` | **Déprécié** : Utilisez `attribution` à la place. S'il faut inclure la ligne `co-authored-by Claude` dans les commits git et les pull requests (par défaut : `true`) | `false` |

205| `includeGitInstructions` | Inclure les instructions de workflow de commit et PR intégrées et l'instantané du statut git dans l'invite système de Claude (par défaut : `true`). Définir à `false` pour supprimer les deux, par exemple lors de l'utilisation de vos propres skills de workflow git. La variable d'environnement `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` a la priorité sur ce paramètre quand elle est définie | `false` |207| `includeGitInstructions` | Inclure les instructions de workflow de commit et PR intégrées et l'instantané du statut git dans l'invite système de Claude (par défaut : `true`). Définir à `false` pour supprimer les deux, par exemple lors de l'utilisation de vos propres skills de workflow git. La variable d'environnement `CLAUDE_CODE_DISABLE_GIT_INSTRUCTIONS` a la priorité sur ce paramètre quand elle est définie | `false` |

206| `language` | Configurez la langue de réponse préférée de Claude (par exemple, `"japanese"`, `"spanish"`, `"french"`). Claude répondra dans cette langue par défaut. Définit également la langue de la [dictée vocale](/fr/voice-dictation#change-the-dictation-language) | `"japanese"` |208| `language` | Configurez la langue de réponse préférée de Claude (par exemple, `"japanese"`, `"spanish"`, `"french"`). Claude répondra dans cette langue par défaut. Définit également la langue de la [dictée vocale](/fr/voice-dictation#change-the-dictation-language) | `"japanese"` |

207| `minimumVersion` | Plancher qui empêche les auto-mises à jour de fond et `claude update` d'installer une version inférieure à celle-ci. Passer du canal `"latest"` à `"stable"` via `/config` vous invite à rester sur la version actuelle ou à autoriser la rétrogradation. Choisir de rester définit cette valeur. Également utile dans les [paramètres gérés](/fr/permissions#managed-settings) pour épingler une version minimale à l'échelle de l'organisation | `"2.1.100"` |209| `minimumVersion` | Plancher qui empêche les auto-mises à jour de fond et `claude update` d'installer une version inférieure à celle-ci. Passer du canal `"latest"` à `"stable"` via `/config` vous invite à rester sur la version actuelle ou à autoriser la rétrogradation. Choisir de rester définit cette valeur. Également utile dans les [paramètres gérés](/fr/permissions#managed-settings) pour épingler une version minimale à l'échelle de l'organisation | `"2.1.100"` |

208| `model` | Remplacer le modèle par défaut à utiliser pour Claude Code | `"claude-sonnet-4-6"` |210| `model` | Remplacer le modèle par défaut à utiliser pour Claude Code. `--model` et [`ANTHROPIC_MODEL`](/fr/model-config#environment-variables) remplacent ceci pour une session | `"claude-sonnet-4-6"` |

209| `modelOverrides` | Mapper les ID de modèle Anthropic aux ID de modèle spécifiques au fournisseur tels que les ARN de profil d'inférence Bedrock. Chaque entrée du sélecteur de modèle utilise sa valeur mappée lors de l'appel de l'API du fournisseur. Voir [Remplacer les ID de modèle par version](/fr/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |211| `modelOverrides` | Mapper les ID de modèle Anthropic aux ID de modèle spécifiques au fournisseur tels que les ARN de profil d'inférence Bedrock. Chaque entrée du sélecteur de modèle utilise sa valeur mappée lors de l'appel de l'API du fournisseur. Voir [Remplacer les ID de modèle par version](/fr/model-config#override-model-ids-per-version) | `{"claude-opus-4-6": "arn:aws:bedrock:..."}` |

210| `otelHeadersHelper` | Script pour générer des en-têtes OpenTelemetry dynamiques. S'exécute au démarrage et périodiquement (voir [En-têtes dynamiques](/fr/monitoring-usage#dynamic-headers)) | `/bin/generate_otel_headers.sh` |212| `otelHeadersHelper` | Script pour générer des en-têtes OpenTelemetry dynamiques. S'exécute au démarrage et périodiquement. Définissez l'intervalle d'actualisation avec [`CLAUDE_CODE_OTEL_HEADERS_HELPER_DEBOUNCE_MS`](/fr/env-vars). Voir [En-têtes dynamiques](/fr/monitoring-usage#dynamic-headers) | `/bin/generate_otel_headers.sh` |

211| `outputStyle` | Configurez un style de sortie pour ajuster l'invite système. Voir [documentation des styles de sortie](/fr/output-styles) | `"Explanatory"` |213| `outputStyle` | Configurez un style de sortie pour ajuster l'invite système. Voir [documentation des styles de sortie](/fr/output-styles) | `"Explanatory"` |

212| `permissions` | Voir le tableau ci-dessous pour la structure des permissions. | |214| `permissions` | Voir le tableau ci-dessous pour la structure des permissions. | |

213| `plansDirectory` | Personnalisez où les fichiers de plan sont stockés. Le chemin est relatif à la racine du projet. Par défaut : `~/.claude/plans` | `"./plans"` |215| `plansDirectory` | Personnalisez où les fichiers de plan sont stockés. Le chemin est relatif à la racine du projet. Par défaut : `~/.claude/plans` | `"./plans"` |


219| `showClearContextOnPlanAccept` | Afficher l'option « effacer le contexte » sur l'écran d'acceptation du plan. Par défaut : `false`. Définir à `true` pour restaurer l'option | `true` |221| `showClearContextOnPlanAccept` | Afficher l'option « effacer le contexte » sur l'écran d'acceptation du plan. Par défaut : `false`. Définir à `true` pour restaurer l'option | `true` |

220| `showThinkingSummaries` | Afficher les résumés de [réflexion étendue](/fr/model-config#extended-thinking) dans les sessions interactives. Quand non défini ou `false` (par défaut en mode interactif), les blocs de réflexion sont redactés par l'API et affichés comme un stub réduit. La redaction change uniquement ce que vous voyez, pas ce que le modèle génère : pour réduire les dépenses de réflexion, [réduisez le budget ou désactivez la réflexion](/fr/model-config#extended-thinking) à la place. Le mode non interactif (`-p`) et les appelants SDK reçoivent toujours les résumés indépendamment de ce paramètre | `true` |222| `showThinkingSummaries` | Afficher les résumés de [réflexion étendue](/fr/model-config#extended-thinking) dans les sessions interactives. Quand non défini ou `false` (par défaut en mode interactif), les blocs de réflexion sont redactés par l'API et affichés comme un stub réduit. La redaction change uniquement ce que vous voyez, pas ce que le modèle génère : pour réduire les dépenses de réflexion, [réduisez le budget ou désactivez la réflexion](/fr/model-config#extended-thinking) à la place. Le mode non interactif (`-p`) et les appelants SDK reçoivent toujours les résumés indépendamment de ce paramètre | `true` |

221| `showTurnDuration` | Afficher les messages de durée de tour après les réponses, par exemple « Cooked for 1m 6s ». Par défaut : `true`. Apparaît dans `/config` comme **Show turn duration** | `false` |223| `showTurnDuration` | Afficher les messages de durée de tour après les réponses, par exemple « Cooked for 1m 6s ». Par défaut : `true`. Apparaît dans `/config` comme **Show turn duration** | `false` |

224| `skillOverrides` | {/* min-version: 2.1.129 */}Remplacements de visibilité par skill indexés par nom de skill. La valeur est `"on"`, `"name-only"`, `"user-invocable-only"`, ou `"off"`. Vous permet de masquer ou de réduire un skill sans éditer son SKILL.md. Ne s'applique pas aux skills de plugin, qui sont gérés via `/plugin`. Le menu `/skills` écrit ceux-ci dans `.claude/settings.local.json`. Voir [Remplacer la visibilité du skill à partir des paramètres](/fr/skills#override-skill-visibility-from-settings). Nécessite Claude Code v2.1.129 ou ultérieur | `{"legacy-context": "name-only", "deploy": "off"}` |

222| `skipWebFetchPreflight` | Ignorer la [vérification de sécurité du domaine WebFetch](/fr/data-usage#webfetch-domain-safety-check) qui envoie chaque nom d'hôte demandé à `api.anthropic.com` avant la récupération. Définir à `true` dans les environnements qui bloquent le trafic vers Anthropic, tels que les déploiements Bedrock, Vertex AI, ou Foundry avec une sortie restrictive. Quand ignorée, WebFetch tente n'importe quelle URL sans consulter la liste de blocage | `true` |225| `skipWebFetchPreflight` | Ignorer la [vérification de sécurité du domaine WebFetch](/fr/data-usage#webfetch-domain-safety-check) qui envoie chaque nom d'hôte demandé à `api.anthropic.com` avant la récupération. Définir à `true` dans les environnements qui bloquent le trafic vers Anthropic, tels que les déploiements Bedrock, Vertex AI, ou Foundry avec une sortie restrictive. Quand ignorée, WebFetch tente n'importe quelle URL sans consulter la liste de blocage | `true` |

223| `spinnerTipsEnabled` | Afficher les conseils dans le spinner pendant que Claude travaille. Définir à `false` pour désactiver les conseils (par défaut : `true`) | `false` |226| `spinnerTipsEnabled` | Afficher les conseils dans le spinner pendant que Claude travaille. Définir à `false` pour désactiver les conseils (par défaut : `true`) | `false` |

224| `spinnerTipsOverride` | Remplacer les conseils du spinner par des chaînes personnalisées. `tips` : tableau de chaînes de conseil. `excludeDefault` : si `true`, afficher uniquement les conseils personnalisés ; si `false` ou absent, les conseils personnalisés sont fusionnés avec les conseils intégrés | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |227| `spinnerTipsOverride` | Remplacer les conseils du spinner par des chaînes personnalisées. `tips` : tableau de chaînes de conseil. `excludeDefault` : si `true`, afficher uniquement les conseils personnalisés ; si `false` ou absent, les conseils personnalisés sont fusionnés avec les conseils intégrés | `{ "excludeDefault": true, "tips": ["Use our internal tool X"] }` |


226| `sshConfigs` | Connexions SSH à afficher dans la liste déroulante de l'environnement [Desktop](/fr/desktop#pre-configure-ssh-connections-for-your-team). Chaque entrée nécessite `id`, `name`, et `sshHost` ; `sshPort`, `sshIdentityFile`, et `startDirectory` sont optionnels. Quand défini dans les paramètres gérés, les connexions sont en lecture seule pour les utilisateurs. Lus à partir des paramètres gérés et utilisateur uniquement | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |229| `sshConfigs` | Connexions SSH à afficher dans la liste déroulante de l'environnement [Desktop](/fr/desktop#pre-configure-ssh-connections-for-your-team). Chaque entrée nécessite `id`, `name`, et `sshHost` ; `sshPort`, `sshIdentityFile`, et `startDirectory` sont optionnels. Quand défini dans les paramètres gérés, les connexions sont en lecture seule pour les utilisateurs. Lus à partir des paramètres gérés et utilisateur uniquement | `[{"id": "dev-vm", "name": "Dev VM", "sshHost": "user@dev.example.com"}]` |

227| `statusLine` | Configurez une ligne d'état personnalisée pour afficher le contexte. Voir [documentation `statusLine`](/fr/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |230| `statusLine` | Configurez une ligne d'état personnalisée pour afficher le contexte. Voir [documentation `statusLine`](/fr/statusline) | `{"type": "command", "command": "~/.claude/statusline.sh"}` |

228| `strictKnownMarketplaces` | (Paramètres gérés uniquement) Liste blanche des sources de marketplace de plugins. Non défini = pas de restrictions, tableau vide = verrouillage. Appliquée lors de l'ajout de marketplace et lors de l'installation, la mise à jour, l'actualisation et la mise à jour automatique du plugin, donc une marketplace ajoutée avant que la politique soit définie ne peut pas être utilisée pour récupérer les plugins. Voir [Restrictions de marketplace gérées](/fr/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |231| `strictKnownMarketplaces` | (Paramètres gérés uniquement) Liste blanche des sources de marketplace de plugins. Non défini = pas de restrictions, tableau vide = verrouillage. Appliquée lors de l'ajout de marketplace et lors de l'installation, la mise à jour, l'actualisation et la mise à jour automatique du plugin, donc une marketplace ajoutée avant que la politique soit définie ne peut pas être utilisée pour récupérer les plugins. Voir [Restrictions de marketplace gérées](/fr/plugin-marketplaces#managed-marketplace-restrictions) | `[{ "source": "github", "repo": "acme-corp/plugins" }]` |

229| `teammateMode` | Comment les coéquipiers de l'[équipe d'agents](/fr/agent-teams) s'affichent : `auto` (choisit les volets divisés dans tmux ou iTerm2, en processus sinon), `in-process`, ou `tmux`. Voir [configurer un mode d'affichage](/fr/agent-teams#choose-a-display-mode) | `"in-process"` |232| `syntaxHighlightingDisabled` | Désactiver la coloration syntaxique dans les diffs, les blocs de code, et les aperçus de fichiers | `true` |

233| `teammateMode` | Comment les coéquipiers de l'[équipe d'agents](/fr/agent-teams) s'affichent : `auto` (choisit les volets divisés dans tmux ou iTerm2, en processus sinon), `in-process`, ou `tmux`. `--teammate-mode` remplace ceci pour une session. Voir [choisir un mode d'affichage](/fr/agent-teams#choose-a-display-mode) | `"in-process"` |

230| `terminalProgressBarEnabled` | Afficher la barre de progression du terminal dans les terminaux supportés : ConEmu, Ghostty 1.2.0+, et iTerm2 3.6.6+. Par défaut : `true`. Apparaît dans `/config` comme **Terminal progress bar** | `false` |234| `terminalProgressBarEnabled` | Afficher la barre de progression du terminal dans les terminaux supportés : ConEmu, Ghostty 1.2.0+, et iTerm2 3.6.6+. Par défaut : `true`. Apparaît dans `/config` comme **Terminal progress bar** | `false` |

231| `tui` | Moteur de rendu de l'interface utilisateur du terminal. Utilisez `"fullscreen"` pour le moteur de rendu [alt-screen](/fr/fullscreen) sans scintillement avec défilement virtualisé. Utilisez `"default"` pour le moteur de rendu classique d'écran principal. Définir via `/tui` | `"fullscreen"` |235| `tui` | Moteur de rendu de l'interface utilisateur du terminal. Utilisez `"fullscreen"` pour le moteur de rendu [alt-screen](/fr/fullscreen) sans scintillement avec défilement virtualisé. Utilisez `"default"` pour le moteur de rendu classique d'écran principal. Définir via `/tui`. Vous pouvez également définir la variable d'environnement [`CLAUDE_CODE_NO_FLICKER`](/fr/env-vars) | `"fullscreen"` |

232| `useAutoModeDuringPlan` | Si le mode plan utilise la sémantique du mode auto quand le mode auto est disponible. Par défaut : `true`. Non lu à partir des paramètres de projet partagés. Apparaît dans `/config` comme « Utiliser le mode auto pendant le plan » | `false` |236| `useAutoModeDuringPlan` | Si le mode plan utilise la sémantique du mode auto quand le mode auto est disponible. Par défaut : `true`. Non lu à partir des paramètres de projet partagés. Apparaît dans `/config` comme « Utiliser le mode auto pendant le plan » | `false` |

233| `viewMode` | Mode d'affichage de transcript par défaut au démarrage : `"default"`, `"verbose"`, ou `"focus"`. Remplace la sélection sticky `/focus` quand défini | `"verbose"` |237| `viewMode` | Mode d'affichage de transcript par défaut au démarrage : `"default"`, `"verbose"`, ou `"focus"`. Remplace la sélection sticky `/focus` quand défini. L'indicateur `--verbose` remplace ceci pour une session | `"verbose"` |

234| `voice` | Paramètres de [dictée vocale](/fr/voice-dictation) : `enabled` active la dictée, `mode` sélectionne `"hold"` ou `"tap"`, et `autoSubmit` envoie l'invite à la libération de la touche en mode hold. Écrit automatiquement quand vous exécutez `/voice`. Nécessite un compte Claude.ai | `{ "enabled": true, "mode": "tap" }` |238| `voice` | Paramètres de [dictée vocale](/fr/voice-dictation) : `enabled` active la dictée, `mode` sélectionne `"hold"` ou `"tap"`, et `autoSubmit` envoie l'invite à la libération de la touche en mode hold. Écrit automatiquement quand vous exécutez `/voice`. Nécessite un compte Claude.ai | `{ "enabled": true, "mode": "tap" }` |

235| `voiceEnabled` | Alias hérité pour `voice.enabled`. Préférez l'objet `voice` | `true` |239| `voiceEnabled` | Alias hérité pour `voice.enabled`. Préférez l'objet `voice` | `true` |

236| `wslInheritsWindowsSettings` | (Paramètres gérés Windows uniquement) Quand `true`, Claude Code sur WSL lit les paramètres gérés à partir de la chaîne de politique Windows en plus de `/etc/claude-code`, avec les sources Windows ayant la priorité. Honoré uniquement quand défini dans la clé de registre HKLM ou `C:\Program Files\ClaudeCode\managed-settings.json`, qui nécessitent tous deux l'administrateur Windows pour écrire. Pour que la politique HKCU s'applique également sur WSL, l'indicateur doit également être défini dans HKCU lui-même. N'a aucun effet sur Windows natif | `true` |240| `wslInheritsWindowsSettings` | (Paramètres gérés Windows uniquement) Quand `true`, Claude Code sur WSL lit les paramètres gérés à partir de la chaîne de politique Windows en plus de `/etc/claude-code`, avec les sources Windows ayant la priorité. Honoré uniquement quand défini dans la clé de registre HKLM ou `C:\Program Files\ClaudeCode\managed-settings.json`, qui nécessitent tous deux l'administrateur Windows pour écrire. Pour que la politique HKCU s'applique également sur WSL, l'indicateur doit également être défini dans HKCU lui-même. N'a aucun effet sur Windows natif | `true` |


244</Note>248</Note>

245 249 

246| Clé | Description | Exemple |250| Clé | Description | Exemple |

247| :------------------------ | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |251| :------------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------ |

248| `autoConnectIde` | Se connecter automatiquement à un IDE en cours d'exécution quand Claude Code démarre à partir d'un terminal externe. Par défaut : `false`. Apparaît dans `/config` comme **Auto-connect to IDE (external terminal)** lors de l'exécution en dehors d'un terminal VS Code ou JetBrains | `true` |252| `autoConnectIde` | Se connecter automatiquement à un IDE en cours d'exécution quand Claude Code démarre à partir d'un terminal externe. Par défaut : `false`. Apparaît dans `/config` comme **Auto-connect to IDE (external terminal)** lors de l'exécution en dehors d'un terminal VS Code ou JetBrains. La variable d'environnement [`CLAUDE_CODE_AUTO_CONNECT_IDE`](/fr/env-vars) remplace ceci quand elle est définie | `true` |

249| `autoInstallIdeExtension` | Installer automatiquement l'extension Claude Code IDE lors de l'exécution à partir d'un terminal VS Code. Par défaut : `true`. Apparaît dans `/config` comme **Auto-install IDE extension** lors de l'exécution dans un terminal VS Code ou JetBrains. Vous pouvez également définir la variable d'environnement [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/fr/env-vars) | `false` |253| `autoInstallIdeExtension` | Installer automatiquement l'extension Claude Code IDE lors de l'exécution à partir d'un terminal VS Code. Par défaut : `true`. Apparaît dans `/config` comme **Auto-install IDE extension** lors de l'exécution dans un terminal VS Code ou JetBrains. Vous pouvez également définir la variable d'environnement [`CLAUDE_CODE_IDE_SKIP_AUTO_INSTALL`](/fr/env-vars) | `false` |

250| `externalEditorContext` | Ajouter la réponse précédente de Claude comme contexte commenté avec `#` quand vous ouvrez l'éditeur externe avec `Ctrl+G`. Par défaut : `false`. Apparaît dans `/config` comme **Show last response in external editor** | `true` |254| `externalEditorContext` | Ajouter la réponse précédente de Claude comme contexte commenté avec `#` quand vous ouvrez l'éditeur externe avec `Ctrl+G`. Par défaut : `false`. Apparaît dans `/config` comme **Show last response in external editor** | `true` |

251 255 


444 448 

445**Restreindre les URL des hooks HTTP :**449**Restreindre les URL des hooks HTTP :**

446 450 

447Limitez les URL que les hooks HTTP peuvent cibler. Supporte `*` comme caractère générique pour la correspondance. Quand le tableau est défini, les hooks HTTP ciblant des URL non correspondantes sont silencieusement bloqués.451Limitez les URL que les hooks HTTP peuvent cibler. Supporte `*` comme caractère générique pour la correspondance. Quand le tableau est défini, les hooks HTTP ciblant des URL non correspondantes sont silencieusement bloqués. La correspondance du nom d'hôte est insensible à la casse et ignore un point FQDN de fin, correspondant à la sémantique DNS.

448 452 

449```json theme={null}453```json theme={null}

450{454{


472 * Au sein du niveau géré, la précédence est : gérés par le serveur > politiques MDM/au niveau du système d'exploitation > fichiers (`managed-settings.d/*.json` + `managed-settings.json`) > registre HKCU (Windows uniquement). Une seule source gérée est utilisée ; les sources ne fusionnent pas entre les niveaux. Au sein du niveau basé sur fichier, les fichiers drop-in et le fichier de base sont fusionnés ensemble.476 * Au sein du niveau géré, la précédence est : gérés par le serveur > politiques MDM/au niveau du système d'exploitation > fichiers (`managed-settings.d/*.json` + `managed-settings.json`) > registre HKCU (Windows uniquement). Une seule source gérée est utilisée ; les sources ne fusionnent pas entre les niveaux. Au sein du niveau basé sur fichier, les fichiers drop-in et le fichier de base sont fusionnés ensemble.

473 477 

4742. **Arguments de ligne de commande**4782. **Arguments de ligne de commande**

475 * Remplacements temporaires pour une session spécifique479 * Remplacements temporaires pour une session spécifique. JSON passé via `--settings <file-or-json>` fusionne avec les paramètres basés sur fichier en utilisant les mêmes règles que les autres couches : une clé définie ici remplace la même clé dans les paramètres locaux, de projet ou utilisateur, et omettre une clé laisse la valeur de couche inférieure en place

476 480 

4773. **Paramètres de projet local** (`.claude/settings.local.json`)4813. **Paramètres de projet local** (`.claude/settings.local.json`)

478 * Paramètres personnels spécifiques au projet482 * Paramètres personnels spécifiques au projet

setup.md +7 −3

Details

175 175 

176## Mettre à jour Claude Code176## Mettre à jour Claude Code

177 177 

178Les installations natives se mettent à jour automatiquement en arrière-plan. Vous pouvez [configurer le canal de version](#configure-release-channel) pour contrôler si vous recevez les mises à jour immédiatement ou selon un calendrier stable retardé, ou [désactiver les mises à jour automatiques](#disable-auto-updates) entièrement. Les installations Homebrew, WinGet et [gestionnaire de paquets Linux](#install-with-linux-package-managers) nécessitent des mises à jour manuelles.178Les installations natives se mettent à jour automatiquement en arrière-plan. Vous pouvez [configurer le canal de version](#configure-release-channel) pour contrôler si vous recevez les mises à jour immédiatement ou selon un calendrier stable retardé, ou [désactiver les mises à jour automatiques](#disable-auto-updates) entièrement. Les installations Homebrew, WinGet et [gestionnaire de paquets Linux](#install-with-linux-package-managers) nécessitent des mises à jour manuelles par défaut.

179 179 

180### Mises à jour automatiques180### Mises à jour automatiques

181 181 

182Claude Code vérifie les mises à jour au démarrage et périodiquement pendant l'exécution. Les mises à jour se téléchargent et s'installent en arrière-plan, puis prennent effet la prochaine fois que vous démarrez Claude Code.182Claude Code vérifie les mises à jour au démarrage et périodiquement pendant l'exécution. Les mises à jour se téléchargent et s'installent en arrière-plan, puis prennent effet la prochaine fois que vous démarrez Claude Code.

183 183 

184<Note>184<Note>

185 Les installations Homebrew, WinGet, apt, dnf et apk ne se mettent pas à jour automatiquement. Pour Homebrew, exécutez `brew upgrade claude-code` ou `brew upgrade claude-code@latest`, selon le cask que vous avez installé. Pour WinGet, exécutez `winget upgrade Anthropic.ClaudeCode`. Pour les gestionnaires de paquets Linux, consultez les commandes de mise à niveau dans [Installer avec les gestionnaires de paquets Linux](#install-with-linux-package-managers).185 Les installations Homebrew, WinGet, apt, dnf et apk ne se mettent pas à jour automatiquement par défaut ; consultez ci-dessous pour opter pour Homebrew et WinGet. Pour mettre à niveau Homebrew manuellement, exécutez `brew upgrade claude-code` ou `brew upgrade claude-code@latest`, selon le cask que vous avez installé. Pour WinGet, exécutez `winget upgrade Anthropic.ClaudeCode`. Pour les gestionnaires de paquets Linux, consultez les commandes de mise à niveau dans [Installer avec les gestionnaires de paquets Linux](#install-with-linux-package-managers).

186 

187 Pour que Claude Code exécute la commande de mise à niveau pour vous sur Homebrew ou WinGet, définissez [`CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE`](/fr/env-vars) à `1`. Claude Code exécute ensuite la mise à niveau en arrière-plan lorsqu'une nouvelle version est disponible et affiche une invite de redémarrage en cas de succès. La mise à niveau cible uniquement le paquet Claude Code et n'affecte pas les autres logiciels que vous avez installés.

188 

189 Sur WinGet, la mise à niveau peut échouer pendant que Claude Code s'exécute car Windows verrouille l'exécutable. Dans ce cas, Claude Code affiche la commande manuelle à la place. apt, dnf et apk continuent à nécessiter une mise à niveau manuelle car ces commandes ont besoin de privilèges élevés.

186 190 

187 **Problème connu :** Claude Code peut vous notifier des mises à jour avant que la nouvelle version soit disponible dans ces gestionnaires de paquets. Si une mise à niveau échoue, attendez et réessayez plus tard.191 **Problème connu :** Claude Code peut vous notifier des mises à jour avant que la nouvelle version soit disponible dans ces gestionnaires de paquets. Si une mise à niveau échoue, attendez et réessayez plus tard.

188 192 


489 493 

490## Désinstaller Claude Code494## Désinstaller Claude Code

491 495 

492Pour supprimer Claude Code, suivez les instructions correspondant à votre méthode d'installation.496Pour supprimer Claude Code, suivez les instructions correspondant à votre méthode d'installation. Si `claude` s'exécute toujours après cela, vous avez probablement une deuxième installation ou un alias shell résiduel d'un ancien installateur. Consultez [Vérifier les installations en conflit](/fr/troubleshoot-install#check-for-conflicting-installations) pour le trouver et le supprimer.

493 497 

494### Installation native498### Installation native

495 499 

skills.md +59 −26

Details

20 20 

21## Skills groupées21## Skills groupées

22 22 

23Claude Code inclut un ensemble de skills groupées qui sont disponibles dans chaque session, notamment `/simplify`, `/batch`, `/debug`, `/loop` et `/claude-api`. Contrairement à la plupart des commandes intégrées, qui exécutent une logique fixe directement, les skills groupées sont basées sur des prompts : elles donnent à Claude un playbook détaillé et le laissent orchestrer le travail en utilisant ses outils. Vous les invoquez de la même manière que n'importe quelle autre skill, en tapant `/` suivi du nom de la skill.23Claude Code inclut un ensemble de skills groupées qui sont disponibles dans chaque session, notamment `/simplify`, `/batch`, `/debug`, `/loop` et `/claude-api`. Contrairement à la plupart des commandes intégrées, qui exécutent une logique fixe directement, les skills groupées sont basées sur des prompts : elles donnent à Claude des instructions détaillées et le laissent orchestrer le travail en utilisant ses outils. Vous les invoquez de la même manière que n'importe quelle autre skill, en tapant `/` suivi du nom de la skill.

24 24 

25Les skills groupées sont listées aux côtés des commandes intégrées dans la [référence des commandes](/fr/commands), marquées **Skill** dans la colonne Objectif.25Les skills groupées sont listées aux côtés des commandes intégrées dans la [référence des commandes](/fr/commands), marquées **Skill** dans la colonne Objectif.

26 26 


28 28 

29### Créer votre première skill29### Créer votre première skill

30 30 

31Cet exemple crée une skill qui enseigne à Claude comment expliquer le code en utilisant des diagrammes visuels et des analogies. Puisqu'elle utilise le frontmatter par défaut, Claude peut la charger automatiquement quand vous demandez comment quelque chose fonctionne, ou vous pouvez l'invoquer directement avec `/explain-code`.31Cet exemple crée une skill qui résume les modifications non validées dans votre référentiel git et signale tout ce qui est risqué. Elle extrait le diff en direct dans l'invite avant que Claude ne le lise, de sorte que la réponse est ancrée dans votre arborescence de travail réelle plutôt que dans ce que Claude peut deviner à partir des fichiers ouverts. Claude charge la skill automatiquement quand vous demandez des informations sur vos modifications, ou vous pouvez l'invoquer directement avec `/summarize-changes`.

32 32 

33<Steps>33<Steps>

34 <Step title="Créer le répertoire de la skill">34 <Step title="Créer le répertoire de la skill">

35 Créez un répertoire pour la skill dans votre dossier de skills personnelles. Les skills personnelles sont disponibles dans tous vos projets.35 Créez un répertoire pour la skill dans votre dossier de skills personnelles. Les skills personnelles sont disponibles dans tous vos projets.

36 36 

37 ```bash theme={null}37 ```bash theme={null}

38 mkdir -p ~/.claude/skills/explain-code38 mkdir -p ~/.claude/skills/summarize-changes

39 ```39 ```

40 </Step>40 </Step>

41 41 

42 <Step title="Écrire SKILL.md">42 <Step title="Écrire SKILL.md">

43 Chaque skill a besoin d'un fichier `SKILL.md` avec deux parties : un frontmatter YAML (entre les marqueurs `---`) qui dit à Claude quand utiliser la skill, et du contenu markdown avec les instructions que Claude suit quand la skill est invoquée. Le nom du répertoire devient la `/slash-command`, et la `description` aide Claude à décider quand la charger automatiquement.43 Chaque skill a besoin d'un fichier `SKILL.md` avec deux parties : un frontmatter YAML entre les marqueurs `---` qui dit à Claude quand utiliser la skill, et du contenu markdown avec les instructions que Claude suit quand la skill s'exécute. Le nom du répertoire devient la commande que vous tapez, et la `description` aide Claude à décider quand charger la skill automatiquement.

44 44 

45 Créez `~/.claude/skills/explain-code/SKILL.md` :45 Enregistrez ceci dans `~/.claude/skills/summarize-changes/SKILL.md` :

46 46 

47 ```yaml theme={null}47 ```yaml theme={null}

48 ---48 ---

49 description: Explains code with visual diagrams and analogies. Use when explaining how code works, teaching about a codebase, or when the user asks "how does this work?"49 description: Résume les modifications non validées et signale tout ce qui est risqué. À utiliser quand l'utilisateur demande ce qui a changé, veut un message de commit, ou demande d'examiner son diff.

50 ---50 ---

51 51 

52 When explaining code, always include:52 ## Modifications actuelles

53 53 

54 1. **Start with an analogy**: Compare the code to something from everyday life54 !`git diff HEAD`

55 2. **Draw a diagram**: Use ASCII art to show the flow, structure, or relationships

56 3. **Walk through the code**: Explain step-by-step what happens

57 4. **Highlight a gotcha**: What's a common mistake or misconception?

58 55 

59 Keep explanations conversational. For complex concepts, use multiple analogies.56 ## Instructions

57 

58 Résumez les modifications ci-dessus en deux ou trois points, puis listez tous les risques que vous remarquez tels que la gestion des erreurs manquante, les valeurs codées en dur, ou les tests qui doivent être mis à jour. Si le diff est vide, dites qu'il n'y a pas de modifications non validées.

60 ```59 ```

60 

61 La ligne `` !`git diff HEAD` `` utilise [l'injection de contexte dynamique](#inject-dynamic-context) : Claude Code exécute la commande et remplace la ligne par sa sortie avant que Claude ne voie le contenu de la skill, de sorte que les instructions arrivent avec le diff actuel déjà intégré.

61 </Step>62 </Step>

62 63 

63 <Step title="Tester la skill">64 <Step title="Tester la skill">

64 Vous pouvez la tester de deux façons :65 Ouvrez un projet git, apportez une petite modification à n'importe quel fichier, et démarrez Claude Code en exécutant `claude`. Vous pouvez tester la skill de deux façons.

65 66 

66 **Laisser Claude l'invoquer automatiquement** en posant une question qui correspond à la description :67 **Laisser Claude l'invoquer automatiquement** en posant une question qui correspond à la description :

67 68 

68 ```text theme={null}69 ```text theme={null}

69 How does this code work?70 What did I change?

70 ```71 ```

71 72 

72 **Ou l'invoquer directement** avec le nom de la skill :73 **Ou l'invoquer directement** avec le nom de la skill :

73 74 

74 ```text theme={null}75 ```text theme={null}

75 /explain-code src/auth/login.ts76 /summarize-changes

76 ```77 ```

77 78 

78 De l'une ou l'autre façon, Claude devrait inclure une analogie et un diagramme ASCII dans son explication.79 De l'une ou l'autre façon, Claude devrait répondre avec un court résumé de votre modification et une liste de risques.

79 </Step>80 </Step>

80</Steps>81</Steps>

81 82 


168 169 

169Votre `SKILL.md` peut contenir n'importe quoi, mais réfléchir à la façon dont vous voulez que la skill soit invoquée (par vous, par Claude, ou les deux) et où vous voulez qu'elle s'exécute (en ligne ou dans un subagent) aide à guider ce qu'il faut inclure. Pour les skills complexes, vous pouvez également [ajouter des fichiers de support](#add-supporting-files) pour garder la skill principale concentrée.170Votre `SKILL.md` peut contenir n'importe quoi, mais réfléchir à la façon dont vous voulez que la skill soit invoquée (par vous, par Claude, ou les deux) et où vous voulez qu'elle s'exécute (en ligne ou dans un subagent) aide à guider ce qu'il faut inclure. Pour les skills complexes, vous pouvez également [ajouter des fichiers de support](#add-supporting-files) pour garder la skill principale concentrée.

170 171 

172Gardez le corps lui-même concis. Une fois qu'une skill se charge, son contenu [reste dans le contexte d'un tour à l'autre](#skill-content-lifecycle), donc chaque ligne a un coût de token récurrent. Énoncez ce qu'il faut faire plutôt que de narrer comment ou pourquoi, et appliquez le même test de concision que vous feriez pour le [contenu de CLAUDE.md](/fr/best-practices#write-an-effective-claude-md).

173 

171### Référence du frontmatter174### Référence du frontmatter

172 175 

173Au-delà du contenu markdown, vous pouvez configurer le comportement de la skill en utilisant les champs du frontmatter YAML entre les marqueurs `---` en haut de votre fichier `SKILL.md` :176Au-delà du contenu markdown, vous pouvez configurer le comportement de la skill en utilisant les champs du frontmatter YAML entre les marqueurs `---` en haut de votre fichier `SKILL.md` :


305 308 

306Le champ `allowed-tools` accorde la permission pour les outils listés tandis que la skill est active, pour que Claude puisse les utiliser sans vous demander l'approbation par utilisation. Il ne restreint pas quels outils sont disponibles : chaque outil reste appelable, et vos [paramètres de permission](/fr/permissions) gouvernent toujours les outils qui ne sont pas listés.309Le champ `allowed-tools` accorde la permission pour les outils listés tandis que la skill est active, pour que Claude puisse les utiliser sans vous demander l'approbation par utilisation. Il ne restreint pas quels outils sont disponibles : chaque outil reste appelable, et vos [paramètres de permission](/fr/permissions) gouvernent toujours les outils qui ne sont pas listés.

307 310 

311Pour les skills vérifiées dans le répertoire `.claude/skills/` d'un projet, `allowed-tools` prend effet après que vous acceptiez la boîte de dialogue de confiance de l'espace de travail pour ce dossier, de la même manière que les règles de permission dans `.claude/settings.json`. Examinez les skills du projet avant de faire confiance à un référentiel, car une skill peut s'accorder un accès large aux outils.

312 

308Cette skill permet à Claude d'exécuter les commandes git sans approbation par utilisation chaque fois que vous l'invoquez :313Cette skill permet à Claude d'exécuter les commandes git sans approbation par utilisation chaque fois que vous l'invoquez :

309 314 

310```yaml theme={null}315```yaml theme={null}


416Pour désactiver ce comportement pour les skills et les commandes personnalisées des sources utilisateur, projet, plugin ou [répertoire supplémentaire](#skills-from-additional-directories), définissez `"disableSkillShellExecution": true` dans [paramètres](/fr/settings). Chaque commande est remplacée par `[shell command execution disabled by policy]` au lieu d'être exécutée. Les skills groupées et gérées ne sont pas affectées. Ce paramètre est très utile dans les [paramètres gérés](/fr/permissions#managed-settings), où les utilisateurs ne peuvent pas le remplacer.421Pour désactiver ce comportement pour les skills et les commandes personnalisées des sources utilisateur, projet, plugin ou [répertoire supplémentaire](#skills-from-additional-directories), définissez `"disableSkillShellExecution": true` dans [paramètres](/fr/settings). Chaque commande est remplacée par `[shell command execution disabled by policy]` au lieu d'être exécutée. Les skills groupées et gérées ne sont pas affectées. Ce paramètre est très utile dans les [paramètres gérés](/fr/permissions#managed-settings), où les utilisateurs ne peuvent pas le remplacer.

417 422 

418<Tip>423<Tip>

419 Pour activer la [réflexion étendue](/fr/common-workflows#use-extended-thinking-thinking-mode) dans une skill, incluez le mot « ultrathink » n'importe où dans le contenu de votre skill.424 Pour demander un raisonnement plus approfondi quand une skill s'exécute, incluez `ultrathink` n'importe où dans le contenu de la skill. Voir [Utiliser ultrathink pour un raisonnement approfondi ponctuel](/fr/model-config#use-ultrathink-for-one-off-deep-reasoning).

420</Tip>425</Tip>

421 426 

422### Exécuter les skills dans un subagent427### Exécuter les skills dans un subagent


496 Le champ `user-invocable` contrôle uniquement la visibilité du menu, pas l'accès à l'outil Skill. Utilisez `disable-model-invocation: true` pour bloquer l'invocation programmatique.501 Le champ `user-invocable` contrôle uniquement la visibilité du menu, pas l'accès à l'outil Skill. Utilisez `disable-model-invocation: true` pour bloquer l'invocation programmatique.

497</Note>502</Note>

498 503 

504### Remplacer la visibilité des skills à partir des paramètres

505 

506Le paramètre `skillOverrides` contrôle la visibilité des skills à partir de vos [paramètres](/fr/settings) au lieu du frontmatter de la skill elle-même. Utilisez-le pour les skills dont le SKILL.md vous ne voulez pas modifier, comme celles archivées dans un référentiel de projet partagé ou fournies par un serveur MCP. Le menu `/skills` l'écrit pour vous : mettez en surbrillance une skill et appuyez sur `Space` pour parcourir les états, puis `Enter` pour enregistrer dans `.claude/settings.local.json`.

507 

508Chaque clé est un nom de skill et chaque valeur est l'un des quatre états :

509 

510| Valeur | Listée à Claude | Dans le menu `/` |

511| :---------------------- | :----------------- | :--------------- |

512| `"on"` | Nom et description | Oui |

513| `"name-only"` | Nom uniquement | Oui |

514| `"user-invocable-only"` | Masqué | Oui |

515| `"off"` | Masqué | Masqué |

516 

517Une skill absente de `skillOverrides` est traitée comme `"on"`. L'exemple ci-dessous réduit une skill à son nom et désactive une autre entièrement :

518 

519```json theme={null}

520{

521 "skillOverrides": {

522 "legacy-context": "name-only",

523 "deploy": "off"

524 }

525}

526```

527 

528Les skills de plugin ne sont pas affectées par `skillOverrides`. Gérez-les via `/plugin` à la place.

529 

499## Partager les skills530## Partager les skills

500 531 

501Les skills peuvent être distribuées à différentes portées selon votre audience :532Les skills peuvent être distribuées à différentes portées selon votre audience :


516mkdir -p ~/.claude/skills/codebase-visualizer/scripts547mkdir -p ~/.claude/skills/codebase-visualizer/scripts

517```548```

518 549 

519Créez `~/.claude/skills/codebase-visualizer/SKILL.md`. La description dit à Claude quand activer cette Skill, et les instructions disent à Claude d'exécuter le script groupé :550Enregistrez ceci dans `~/.claude/skills/codebase-visualizer/SKILL.md`. La description indique à Claude quand activer cette Skill, et les instructions indiquent à Claude d'exécuter le script groupé. Le chemin du script utilise [`${CLAUDE_SKILL_DIR}`](#available-string-substitutions) pour qu'il se résolve correctement que la skill soit installée au niveau personnel, projet ou plugin :

520 551 

521````yaml theme={null}552````yaml theme={null}

522---553---

523name: codebase-visualizer554name: codebase-visualizer

524description: Generate an interactive collapsible tree visualization of your codebase. Use when exploring a new repo, understanding project structure, or identifying large files.555description: Generate an interactive collapsible tree visualization of your codebase. Use when exploring a new repo, understanding project structure, or identifying large files.

525allowed-tools: Bash(python *)556allowed-tools: Bash(python3 *)

526---557---

527 558 

528# Codebase Visualizer559# Codebase Visualizer


534Run the visualization script from your project root:565Run the visualization script from your project root:

535 566 

536```bash567```bash

537python ~/.claude/skills/codebase-visualizer/scripts/visualize.py .568python3 ${CLAUDE_SKILL_DIR}/scripts/visualize.py .

538```569```

539 570 

540This creates `codebase-map.html` in the current directory and opens it in your default browser.571This creates `codebase-map.html` in the current directory and opens it in your default browser.


547- **Directory totals**: Shows aggregate size of each folder578- **Directory totals**: Shows aggregate size of each folder

548````579````

549 580 

550Créez `~/.claude/skills/codebase-visualizer/scripts/visualize.py`. Ce script analyse une arborescence de répertoires et génère un fichier HTML autonome avec :581Enregistrez ceci dans `~/.claude/skills/codebase-visualizer/scripts/visualize.py`. Ce script analyse une arborescence de répertoires et génère un fichier HTML autonome avec :

551 582 

552* Une **barre latérale de résumé** montrant le nombre de fichiers, le nombre de répertoires, la taille totale et le nombre de types de fichiers583* Une **barre latérale de résumé** montrant le nombre de fichiers, le nombre de répertoires, la taille totale et le nombre de types de fichiers

553* Un **graphique en barres** décomposant la base de code par type de fichier (top 8 par taille)584* Un **graphique en barres** décomposant la base de code par type de fichier (top 8 par taille)

554* Un **arbre réductible** où vous pouvez développer et réduire les répertoires, avec des indicateurs de type de fichier codés par couleur585* Un **arbre réductible** où vous pouvez développer et réduire les répertoires, avec des indicateurs de type de fichier codés par couleur

555 586 

556Le script nécessite Python mais utilise uniquement les bibliothèques intégrées, donc il n'y a pas de packages à installer :587Le script nécessite Python 3 mais utilise uniquement les bibliothèques intégrées, donc il n'y a pas de packages à installer :

557 588 

558```python expandable theme={null}589```python expandable theme={null}

559#!/usr/bin/env python3590#!/usr/bin/env python3


562import json593import json

563import sys594import sys

564import webbrowser595import webbrowser

596from html import escape

565from pathlib import Path597from pathlib import Path

566from collections import Counter598from collections import Counter

567 599 


650 {lang_bars}682 {lang_bars}

651 </div>683 </div>

652 <div class="main">684 <div class="main">

653 <h1>📁 {data["name"]}</h1>685 <h1>📁 {escape(data["name"])}</h1>

654 <ul class="tree" id="root"></ul>686 <ul class="tree" id="root"></ul>

655 </div>687 </div>

656 </div>688 </div>


658 const data = {json.dumps(data)};690 const data = {json.dumps(data)};

659 const colors = {json.dumps(colors)};691 const colors = {json.dumps(colors)};

660 function fmt(b) {{ if (b < 1024) return b + ' B'; if (b < 1048576) return (b/1024).toFixed(1) + ' KB'; return (b/1048576).toFixed(1) + ' MB'; }}692 function fmt(b) {{ if (b < 1024) return b + ' B'; if (b < 1048576) return (b/1024).toFixed(1) + ' KB'; return (b/1048576).toFixed(1) + ' MB'; }}

693 function esc(s) {{ return s.replace(/[&<>"']/g, c => ({{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"}}[c])); }}

661 function render(node, parent) {{694 function render(node, parent) {{

662 if (node.children) {{695 if (node.children) {{

663 const det = document.createElement('details');696 const det = document.createElement('details');

664 det.open = parent === document.getElementById('root');697 det.open = parent === document.getElementById('root');

665 det.innerHTML = `<summary><span class="folder">📁 ${{node.name}}</span><span class="size">${{fmt(node.size)}}</span></summary>`;698 det.innerHTML = `<summary><span class="folder">📁 ${{esc(node.name)}}</span><span class="size">${{fmt(node.size)}}</span></summary>`;

666 const ul = document.createElement('ul'); ul.className = 'tree';699 const ul = document.createElement('ul'); ul.className = 'tree';

667 node.children.sort((a,b) => (b.children?1:0)-(a.children?1:0) || a.name.localeCompare(b.name));700 node.children.sort((a,b) => (b.children?1:0)-(a.children?1:0) || a.name.localeCompare(b.name));

668 node.children.forEach(c => render(c, ul));701 node.children.forEach(c => render(c, ul));


670 const li = document.createElement('li'); li.appendChild(det); parent.appendChild(li);703 const li = document.createElement('li'); li.appendChild(det); parent.appendChild(li);

671 }} else {{704 }} else {{

672 const li = document.createElement('li'); li.className = 'file';705 const li = document.createElement('li'); li.className = 'file';

673 li.innerHTML = `<span class="dot" style="background:${{colors[node.ext]||'#6b7280'}}"></span>${{node.name}}<span class="size">${{fmt(node.size)}}</span>`;706 li.innerHTML = `<span class="dot" style="background:${{colors[node.ext]||'#6b7280'}}"></span>${{esc(node.name)}}<span class="size">${{fmt(node.size)}}</span>`;

674 parent.appendChild(li);707 parent.appendChild(li);

675 }}708 }}

676 }}709 }}


715 748 

716Les descriptions de skills sont chargées dans le contexte pour que Claude sache ce qui est disponible. Tous les noms de skills sont toujours inclus, mais si vous avez beaucoup de skills, les descriptions sont raccourcies pour tenir dans le budget de caractères, ce qui peut supprimer les mots-clés dont Claude a besoin pour correspondre à votre demande. Le budget s'adapte dynamiquement à 1 % de la fenêtre de contexte, avec un repli de 8 000 caractères.749Les descriptions de skills sont chargées dans le contexte pour que Claude sache ce qui est disponible. Tous les noms de skills sont toujours inclus, mais si vous avez beaucoup de skills, les descriptions sont raccourcies pour tenir dans le budget de caractères, ce qui peut supprimer les mots-clés dont Claude a besoin pour correspondre à votre demande. Le budget s'adapte dynamiquement à 1 % de la fenêtre de contexte, avec un repli de 8 000 caractères.

717 750 

718Pour augmenter la limite, définissez la variable d'environnement `SLASH_COMMAND_TOOL_CHAR_BUDGET`. Ou raccourcissez les descriptions à la source : mettez en avant le cas d'utilisation clé, puisque chaque entrée est limitée à 1 536 caractères indépendamment du budget.751Pour augmenter la limite, définissez la variable d'environnement `SLASH_COMMAND_TOOL_CHAR_BUDGET`. Pour libérer du budget pour d'autres skills, définissez les entrées de faible priorité sur `"name-only"` dans [`skillOverrides`](#override-skill-visibility-from-settings) afin qu'elles s'affichent sans description. Vous pouvez également réduire le texte `description` et `when_to_use` à la source : mettez en avant le cas d'utilisation clé, puisque le texte combiné de chaque entrée est limité à 1 536 caractères indépendamment du budget.

719 752 

720## Ressources connexes753## Ressources connexes

721 754 

statusline.md +12 −11

Details

134 134 

135**Quand elle se met à jour**135**Quand elle se met à jour**

136 136 

137Votre script s'exécute après chaque nouveau message d'assistant, quand le mode de permission change, ou quand le mode vim bascule. Les mises à jour sont débogées à 300 ms, ce qui signifie que les changements rapides se regroupent et votre script s'exécute une fois que les choses se stabilisent. Si une nouvelle mise à jour se déclenche pendant que votre script s'exécute encore, l'exécution en cours est annulée. Si vous modifiez votre script, les modifications n'apparaîtront pas avant que votre prochaine interaction avec Claude Code ne déclenche une mise à jour.137Votre script s'exécute après chaque nouveau message d'assistant, après que `/compact` se termine, quand le mode de permission change, ou quand le mode vim bascule. Les mises à jour sont débogées à 300 ms, ce qui signifie que les changements rapides se regroupent et votre script s'exécute une fois que les choses se stabilisent. Si une nouvelle mise à jour se déclenche pendant que votre script s'exécute encore, l'exécution en cours est annulée. Si vous modifiez votre script, les modifications n'apparaîtront pas avant que votre prochaine interaction avec Claude Code ne déclenche une mise à jour.

138 138 

139Ces déclencheurs peuvent devenir silencieux quand la session principale est inactive, par exemple pendant qu'un coordinateur attend les sous-agents en arrière-plan. Pour garder les segments basés sur le temps ou provenant de sources externes à jour pendant les périodes inactives, définissez [`refreshInterval`](#manually-configure-a-status-line) pour aussi réexécuter la commande sur un minuteur fixe.139Ces déclencheurs peuvent devenir silencieux quand la session principale est inactive, par exemple pendant qu'un coordinateur attend les sous-agents en arrière-plan. Pour garder les segments basés sur le temps ou provenant de sources externes à jour pendant les périodes inactives, définissez [`refreshInterval`](#manually-configure-a-status-line) pour aussi réexécuter la commande sur un minuteur fixe.

140 140 


161| `cost.total_duration_ms` | Temps écoulé total depuis le début de la session, en millisecondes |161| `cost.total_duration_ms` | Temps écoulé total depuis le début de la session, en millisecondes |

162| `cost.total_api_duration_ms` | Temps total passé à attendre les réponses API en millisecondes |162| `cost.total_api_duration_ms` | Temps total passé à attendre les réponses API en millisecondes |

163| `cost.total_lines_added`, `cost.total_lines_removed` | Lignes de code modifiées |163| `cost.total_lines_added`, `cost.total_lines_removed` | Lignes de code modifiées |

164| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Comptages de jetons cumulatifs dans la session |164| `context_window.total_input_tokens`, `context_window.total_output_tokens` | Comptages de jetons actuellement dans la fenêtre de contexte, à partir de la réponse API la plus récente. L'entrée inclut les lectures et écritures du cache. Avant v2.1.132, il s'agissait de totaux cumulatifs de session |

165| `context_window.context_window_size` | Taille maximale de la fenêtre de contexte en jetons. 200 000 par défaut, ou 1 000 000 pour les modèles avec contexte étendu. |165| `context_window.context_window_size` | Taille maximale de la fenêtre de contexte en jetons. 200 000 par défaut, ou 1 000 000 pour les modèles avec contexte étendu. |

166| `context_window.used_percentage` | Pourcentage pré-calculé de fenêtre de contexte utilisée |166| `context_window.used_percentage` | Pourcentage pré-calculé de fenêtre de contexte utilisée |

167| `context_window.remaining_percentage` | Pourcentage pré-calculé de fenêtre de contexte restante |167| `context_window.remaining_percentage` | Pourcentage pré-calculé de fenêtre de contexte restante |

168| `context_window.current_usage` | Comptages de jetons du dernier appel API, décrits dans [champs de fenêtre de contexte](#context-window-fields) |168| `context_window.current_usage` | Comptages de jetons du dernier appel API, décrits dans [champs de fenêtre de contexte](#context-window-fields) |

169| `exceeds_200k_tokens` | Si le comptage total de jetons (jetons d'entrée, de cache et de sortie combinés) de la réponse API la plus récente dépasse 200 k. C'est un seuil fixe indépendamment de la taille réelle de la fenêtre de contexte. |169| `exceeds_200k_tokens` | Si le comptage total de jetons (jetons d'entrée, de cache et de sortie combinés) de la réponse API la plus récente dépasse 200 k. C'est un seuil fixe indépendamment de la taille réelle de la fenêtre de contexte. |

170| `effort.level` | Effort de raisonnement actuel (`low`, `medium`, `high`, `xhigh`, ou `max`). Reflète la valeur de session en direct, y compris les changements `/effort` en cours de session. Absent quand le modèle actuel ne supporte pas le paramètre d'effort |

171| `thinking.enabled` | Si la réflexion étendue est activée pour la session |

170| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Pourcentage de la limite de débit de 5 heures ou 7 jours consommée, de 0 à 100 |172| `rate_limits.five_hour.used_percentage`, `rate_limits.seven_day.used_percentage` | Pourcentage de la limite de débit de 5 heures ou 7 jours consommée, de 0 à 100 |

171| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Secondes d'époque Unix quand la fenêtre de limite de débit de 5 heures ou 7 jours se réinitialise |173| `rate_limits.five_hour.resets_at`, `rate_limits.seven_day.resets_at` | Secondes d'époque Unix quand la fenêtre de limite de débit de 5 heures ou 7 jours se réinitialise |

172| `session_id` | Identifiant de session unique |174| `session_id` | Identifiant de session unique |


213 "total_lines_removed": 23215 "total_lines_removed": 23

214 },216 },

215 "context_window": {217 "context_window": {

216 "total_input_tokens": 15234,218 "total_input_tokens": 15500,

217 "total_output_tokens": 4521,219 "total_output_tokens": 1200,

218 "context_window_size": 200000,220 "context_window_size": 200000,

219 "used_percentage": 8,221 "used_percentage": 8,

220 "remaining_percentage": 92,222 "remaining_percentage": 92,


270 272 

271 **Champs qui peuvent être `null`** :273 **Champs qui peuvent être `null`** :

272 274 

273 * `context_window.current_usage` : `null` avant le premier appel API dans une session275 * `context_window.current_usage` : `null` avant le premier appel API dans une session, et à nouveau après `/compact` jusqu'à ce que le prochain appel API le remplisse à nouveau

274 * `context_window.used_percentage`, `context_window.remaining_percentage` : peuvent être `null` au début de la session276 * `context_window.used_percentage`, `context_window.remaining_percentage` : peuvent être `null` au début de la session

275 277 

276 Gérez les champs manquants avec un accès conditionnel et les valeurs null avec des valeurs par défaut de secours dans vos scripts.278 Gérez les champs manquants avec un accès conditionnel et les valeurs null avec des valeurs par défaut de secours dans vos scripts.


278 280 

279### Champs de fenêtre de contexte281### Champs de fenêtre de contexte

280 282 

281L'objet `context_window` fournit deux façons de suivre l'utilisation du contexte :283L'objet `context_window` décrit la fenêtre de contexte en direct à partir de la réponse API la plus récente. À partir de v2.1.132, `total_input_tokens` et `total_output_tokens` reflètent l'utilisation du contexte actuel, et non les totaux cumulatifs de session.

282 284 

283* **Totaux cumulatifs** (`total_input_tokens`, `total_output_tokens`) : somme de tous les jetons dans toute la session, utile pour suivre la consommation totale285* **Totaux combinés** (`total_input_tokens`, `total_output_tokens`) : jetons actuellement dans la fenêtre de contexte. `total_input_tokens` est la somme de `input_tokens`, `cache_creation_input_tokens`, et `cache_read_input_tokens` ; `total_output_tokens` est les jetons de sortie de la réponse la plus récente. Les deux sont `0` avant la première réponse API.

284* **Utilisation actuelle** (`current_usage`) : comptages de jetons du dernier appel API, utilisez ceci pour un pourcentage de contexte précis car il reflète l'état réel du contexte286* **Utilisation par composant** (`current_usage`) : les mêmes comptages de jetons ventilés par catégorie. Utilisez ceci quand vous avez besoin des accès au cache séparés de l'entrée fraîche.

285 287 

286L'objet `current_usage` contient :288L'objet `current_usage` contient :

287 289 


294 296 

295Si vous calculez le pourcentage de contexte manuellement à partir de `current_usage`, utilisez la même formule d'entrée uniquement pour correspondre à `used_percentage`.297Si vous calculez le pourcentage de contexte manuellement à partir de `current_usage`, utilisez la même formule d'entrée uniquement pour correspondre à `used_percentage`.

296 298 

297L'objet `current_usage` est `null` avant le premier appel API dans une session.299L'objet `current_usage` est `null` avant le premier appel API dans une session, et à nouveau immédiatement après `/compact` jusqu'à ce que le prochain appel API le remplisse à nouveau.

298 300 

299## Exemples301## Exemples

300 302 


1009 1011 

1010**Le pourcentage de contexte affiche des valeurs inattendues**1012**Le pourcentage de contexte affiche des valeurs inattendues**

1011 1013 

1012* Utilisez `used_percentage` pour un état de contexte précis plutôt que les totaux cumulatifs1014* Utilisez `used_percentage` pour l'état de contexte le plus simple et précis

1013* Les `total_input_tokens` et `total_output_tokens` sont cumulatifs dans la session et peuvent dépasser la taille de la fenêtre de contexte

1014* Le pourcentage de contexte peut différer de la sortie `/context` en raison du moment où chacun est calculé1015* Le pourcentage de contexte peut différer de la sortie `/context` en raison du moment où chacun est calculé

1015 1016 

1016**Les liens OSC 8 ne sont pas cliquables**1017**Les liens OSC 8 ne sont pas cliquables**

Details

24Dans la plupart des terminaux, vous pouvez également appuyer sur Maj+Entrée, mais le support varie selon l'émulateur de terminal :24Dans la plupart des terminaux, vous pouvez également appuyer sur Maj+Entrée, mais le support varie selon l'émulateur de terminal :

25 25 

26| Terminal | Maj+Entrée pour saut de ligne |26| Terminal | Maj+Entrée pour saut de ligne |

27| :---------------------------------------------------------------------------------- | :-------------------------------------------------- |27| :---------------------------------------------------------------------- | :-------------------------------------------------- |

28| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal | Fonctionne sans configuration |28| Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal | Fonctionne sans configuration |

29| VS Code, Cursor, Windsurf, Alacritty, Zed | Exécutez `/terminal-setup` une fois |29| VS Code, Cursor, Windsurf, Alacritty, Zed | Exécutez `/terminal-setup` une fois |

30| Windows Terminal, gnome-terminal, JetBrains IDEs tels que PyCharm et Android Studio | Non disponible ; utilisez Ctrl+J ou `\` puis Entrée |30| gnome-terminal, JetBrains IDEs tels que PyCharm et Android Studio | Non disponible ; utilisez Ctrl+J ou `\` puis Entrée |

31 31 

32Pour VS Code, Cursor, Windsurf, Alacritty et Zed, `/terminal-setup` écrit Maj+Entrée et d'autres liaisons de clavier dans le fichier de configuration du terminal. Dans VS Code, Cursor et Windsurf, il définit également `terminal.integrated.mouseWheelScrollSensitivity` dans les paramètres de l'éditeur pour un défilement plus fluide en [mode plein écran](/fr/fullscreen). Les liaisons et paramètres existants sont conservés ; si vous voyez un message tel que `VSCode terminal Shift+Enter key binding already configured`, aucune modification n'a été apportée. Exécutez `/terminal-setup` directement dans le terminal hôte plutôt qu'à l'intérieur de tmux ou screen, car il doit écrire dans la configuration du terminal hôte.32Pour VS Code, Cursor, Windsurf, Alacritty et Zed, `/terminal-setup` écrit Maj+Entrée et d'autres liaisons de clavier dans le fichier de configuration du terminal. Dans VS Code, Cursor et Windsurf, il définit également `terminal.integrated.mouseWheelScrollSensitivity` dans les paramètres de l'éditeur pour un défilement plus fluide en [mode plein écran](/fr/fullscreen). Les liaisons et paramètres existants sont conservés ; si vous voyez un message tel que `VSCode terminal Shift+Enter key binding already configured`, aucune modification n'a été apportée. Exécutez `/terminal-setup` directement dans le terminal hôte plutôt qu'à l'intérieur de tmux ou screen, car il doit écrire dans la configuration du terminal hôte.

33 33