SpyBara
Go Premium

Documentation 2026-09-29 23:58 UTC to 2026-09-30 08:58 UTC

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

agent-view.md +28 −2

Details

64 </Step>64 </Step>

65</Steps>65</Steps>

66 66 

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

68 

69À l'intérieur d'une session `claude` régulière, l'indice `←` du pied de page de l'invite compte les agents en arrière-plan qui attendent votre intervention, comme `← 2 agents`, et revient à `← for agents` quand aucun n'a besoin d'entrée. Les comptages supérieurs à 99 s'affichent comme `99+`. Le comptage se rafraîchit environ toutes les dix secondes lorsque le terminal est actif et immédiatement quand le focus revient. Il change brièvement de couleur quand il se déplace et quand un agent se termine, et quand une session en arrière-plan se termine alors qu'aucune n'a besoin de votre intervention, elle affiche brièvement le nombre complété, comme `← 2 done`. Les deux flashs sont désactivés quand le paramètre [`prefersReducedMotion`](/docs/fr/settings-reference#prefersreducedmotion) est activé, et l'indice est masqué en [mode lecteur d'écran](/docs/fr/accessibility).67À l'intérieur d'une session `claude` régulière, l'indice `←` du pied de page de l'invite compte les agents en arrière-plan qui attendent votre intervention, comme `← 2 agents`, et revient à `← for agents` quand aucun n'a besoin d'entrée. Les comptages supérieurs à 99 s'affichent comme `99+`. Le comptage se rafraîchit environ toutes les dix secondes lorsque le terminal est actif et immédiatement quand le focus revient. Il change brièvement de couleur quand il se déplace et quand un agent se termine, et quand une session en arrière-plan se termine alors qu'aucune n'a besoin de votre intervention, elle affiche brièvement le nombre complété, comme `← 2 done`. Les deux flashs sont désactivés quand le paramètre [`prefersReducedMotion`](/docs/fr/settings-reference#prefersreducedmotion) est activé, et l'indice est masqué en [mode lecteur d'écran](/docs/fr/accessibility).

70 68 

69<h3 id="open-agent-view-by-default">

70 Ouvrir la vue agent par défaut

71</h3>

72 

73Pour que `claude` sans arguments ouvre la vue agent au lieu d'une nouvelle conversation, activez un paramètre `/config`.

74 

75<Steps>

76 <Step title="Activer le paramètre">

77 Dans une session `claude` régulière, exécutez `/config` et activez **Ouvrir la vue agents par défaut**. Pour ignorer le menu, définissez directement la clé [`defaultToAgentsView`](/docs/fr/settings-reference#defaulttoagentsview) :

78 

79 ```text theme={null}

80 /config defaultToAgentsView=true

81 ```

82 </Step>

83 

84 <Step title="Démarrer Claude Code">

85 Quittez la session, puis exécutez `claude` sans arguments :

86 

87 ```bash theme={null}

88 claude

89 ```

90 

91 La vue agent s'ouvre à la place d'une nouvelle conversation.

92 </Step>

93</Steps>

94 

95Pour démarrer une session régulière tandis que le paramètre est activé, passez une invite : `claude "fix the login test"`. Pour désactiver le paramètre, exécutez `/config defaultToAgentsView=false` dans une session régulière ou dans une session à laquelle vous vous attachez à partir de la vue agent.

96 

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

72 Surveiller les sessions avec la vue agent98 Surveiller les sessions avec la vue agent

73</h2>99</h2>

Details

482 482 

483Claude Sonnet 5, Opus 4.6 et versions ultérieures, ainsi que Sonnet 4.6, prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/fr/build-with-claude/context-windows#context-window-sizes-by-model) sur Amazon Bedrock. Sonnet 5 s'exécute toujours avec la fenêtre 1M sur l'API Invoke et le [point de terminaison Mantle](#use-the-mantle-endpoint), sans variante `[1m]` à sélectionner. Pour les autres modèles sur l'API Invoke, Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.483Claude Sonnet 5, Opus 4.6 et versions ultérieures, ainsi que Sonnet 4.6, prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/fr/build-with-claude/context-windows#context-window-sizes-by-model) sur Amazon Bedrock. Sonnet 5 s'exécute toujours avec la fenêtre 1M sur l'API Invoke et le [point de terminaison Mantle](#use-the-mantle-endpoint), sans variante `[1m]` à sélectionner. Pour les autres modèles sur l'API Invoke, Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.

484 484 

485L'[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](/docs/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails.485L'[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](/docs/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails, notamment comment utiliser la fenêtre 1M sans modifier l'épingle.

486 486 

487<h2 id="service-tiers">487<h2 id="service-tiers">

488 Niveaux de service488 Niveaux de service

artifacts.md +11 −11

Details

100Les personnes avec lesquelles vous pouvez partager dépendent de votre plan :100Les personnes avec lesquelles vous pouvez partager dépendent de votre plan :

101 101 

102* **Au sein de votre organisation** : sur les plans Team et Enterprise, accordez l'accès à des personnes spécifiques de votre organisation, ou à tous les membres. Les spectateurs se connectent à claude.ai en tant que membres de votre organisation pour voir la page.102* **Au sein de votre organisation** : sur les plans Team et Enterprise, accordez l'accès à des personnes spécifiques de votre organisation, ou à tous les membres. Les spectateurs se connectent à claude.ai en tant que membres de votre organisation pour voir la page.

103* **Publiquement** : partagez un lien que n'importe qui sur Internet peut ouvrir, sans connexion à claude.ai requise. Sur les plans Pro et Max, un lien public est le seul moyen de partager un artifact. Sur les plans Team et Enterprise, le partage public est désactivé jusqu'à ce qu'un propriétaire [l'active pour l'organisation](#control-public-sharing).103* **Publiquement** : partagez un lien que n'importe qui sur Internet peut ouvrir, sans connexion à claude.ai requise. Sur les plans Team et Enterprise, le partage public est désactivé jusqu'à ce qu'un propriétaire [l'active pour l'organisation](#control-public-sharing).

104 104 

105<h3 id="let-someone-edit-with-you">105<h3 id="let-someone-edit-with-you">

106 Laisser quelqu'un modifier avec vous106 Laisser quelqu'un modifier avec vous


122 Collecter les commentaires sur un artifact122 Collecter les commentaires sur un artifact

123</h2>123</h2>

124 124 

125Lorsque vous partagez un artifact au sein de votre organisation, les personnes avec lesquelles vous le partagez peuvent laisser des commentaires sur la page, et vous pouvez demander à Claude de lire ces commentaires et d'y répondre. Vous avez besoin de Claude Code v2.1.221 ou version ultérieure et d'un plan Team ou Enterprise, car seul un artifact que vous [partagez au sein de votre organisation](#share-an-artifact) accepte les commentaires. Claude lit les commentaires dans deux cas :125Lorsque vous partagez un artifact au sein de votre organisation, les personnes avec lesquelles vous le partagez peuvent laisser des commentaires sur la page, et vous pouvez demander à Claude de lire ces commentaires et d'y répondre. Vous avez besoin de Claude Code v2.1.221 ou version ultérieure. Claude lit les commentaires dans deux cas :

126 126 

127* **Vous demandez à Claude de les lire** : donnez à Claude l'URL de l'artifact et demandez les commentaires. Claude énumère chaque fil de discussion et marque les commentaires envoyés par quelqu'un qui peut modifier l'artifact.127* **Vous demandez à Claude de les lire** : donnez à Claude l'URL de l'artifact et demandez les commentaires. Claude énumère chaque fil de discussion et marque les commentaires envoyés par quelqu'un qui peut modifier l'artifact.

128* **Quelqu'un qui peut modifier l'artifact envoie un commentaire à Claude** : dans un fil de discussion sur la page, il envoie un commentaire avec **Send to Claude**, ou mentionne `@claude` dans celui-ci. De l'une ou l'autre façon, il active le fil de discussion.128* **Quelqu'un qui peut modifier l'artifact envoie un commentaire à Claude** : dans un fil de discussion sur la page, il envoie un commentaire avec **Send to Claude**, ou mentionne `@claude` dans celui-ci. De l'une ou l'autre façon, il active le fil de discussion.

129 129 

130Claude ne peut répondre à ou résoudre que les fils de discussion activés. Les autres fils restent ouverts jusqu'à ce qu'une personne les résolve sur la page. Les lecteurs voient chaque réponse attribuée à Claude, via vous.130Claude ne peut répondre à ou résoudre que les fils de discussion activés. Les autres fils restent ouverts jusqu'à ce qu'une personne les résolve sur la page. Les lecteurs voient chaque réponse attribuée à Claude, via vous.

131 131 

132Si vous partagez un artifact publiquement, les lecteurs ne peuvent pas commenter : la page affiche `Comments aren't available while this Artifact is shared publicly.` Pour basculer un artifact qui a déjà des fils de commentaires vers un lien public, supprimez d'abord les fils.132Si vous partagez un artifact publiquement, les personnes dont le seul accès est le lien public ne voient pas ses commentaires et ne peuvent pas en ajouter. Les fils de commentaires existants restent sur l'artifact, et vous et ses éditeurs pouvez toujours les lire et y répondre.

133 133 

134Pour demander les commentaires vous-même, donnez à Claude l'URL :134Pour demander les commentaires vous-même, donnez à Claude l'URL :

135 135 


195 195 

196Lorsque vous prévoyez de partager une page alimentée par un connecteur, demandez à Claude d'inclure un message de secours dans chaque section en direct qui nomme le connecteur dont elle a besoin. Un lecteur qui manque la connexion voit alors ce qu'il faut connecter au lieu d'une section vide.196Lorsque vous prévoyez de partager une page alimentée par un connecteur, demandez à Claude d'inclure un message de secours dans chaque section en direct qui nomme le connecteur dont elle a besoin. Un lecteur qui manque la connexion voit alors ce qu'il faut connecter au lieu d'une section vide.

197 197 

198Un artifact qui appelle des connecteurs ne peut pas être partagé via un lien public sur aucun plan. Sur les plans Team et Enterprise, vous pouvez le garder privé ou [le partager au sein de votre organisation](#share-an-artifact). Sur les plans Pro et Max, où un lien public est le seul moyen de partager, un artifact alimenté par un connecteur reste privé pour vous.198Vous pouvez [partager une page alimentée par un connecteur](#share-an-artifact) au sein de votre organisation ou publiquement, selon votre plan et vos paramètres d'organisation. Les appels de connecteur ne s'exécutent pas pour un lecteur qui ouvre le lien public sans se connecter à claude.ai, ou depuis l'extérieur de votre organisation. Ce lecteur voit la page sans ses sections en direct.

199 199 

200<h3 id="the-page-shows-no-live-data-for-a-viewer">200<h3 id="the-page-shows-no-live-data-for-a-viewer">

201 La page n'affiche aucune donnée en direct pour un lecteur201 La page n'affiche aucune donnée en direct pour un lecteur

202</h3>202</h3>

203 203 

204Lorsqu'une page alimentée par un connecteur s'affiche mais que ses sections en direct restent vides pour quelqu'un avec qui vous l'avez partagée, travaillez à travers ces causes :204Lorsqu'une page alimentée par un connecteur s'affiche mais que ses sections en direct restent vides pour un lecteur de votre organisation, travaillez à travers ces causes :

205 205 

206* **Le lecteur n'a pas connecté le connecteur** : les connecteurs sont par compte, de sorte que chaque lecteur a besoin de sa propre connexion à chaque connecteur que la page appelle. Il peut en ajouter un sous **Paramètres > Connecteurs** sur claude.ai, puis recharger la page.206* **Le lecteur n'a pas connecté le connecteur** : les connecteurs sont par compte, de sorte que chaque lecteur a besoin de sa propre connexion à chaque connecteur que la page appelle. Il peut en ajouter un sous **Paramètres > Connecteurs** sur claude.ai, puis recharger la page.

207* **Le lecteur a refusé la demande de permission** : un refus dure pour le reste de ce chargement de page. Recharger la page ramène la demande de permission.207* **Le lecteur a refusé la demande de permission** : un refus dure pour le reste de ce chargement de page. Recharger la page ramène la demande de permission.


375 375 

376| Exigence | Disponible quand |376| Exigence | Disponible quand |

377| :- | :- |377| :- | :- |

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

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

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

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


408 Gérer les artefacts pour votre organisation408 Gérer les artefacts pour votre organisation

409</h2>409</h2>

410 410 

411Les propriétaires sur les plans Team et Enterprise contrôlent les artefacts à partir des [paramètres d'administration de claude.ai](https://claude.ai/admin-settings/claude-code). Le contenu des artefacts est stocké sur l'infrastructure exploitée par Anthropic et n'est visible que pour les membres authentifiés de l'organisation de publication, sauf si l'artefact est [partagé publiquement](#control-public-sharing).411Les propriétaires sur les plans Team et Enterprise contrôlent les artefacts à partir des [paramètres d'administration de claude.ai](https://claude.ai/admin-settings/artifacts). Le contenu des artefacts est stocké sur l'infrastructure exploitée par Anthropic et n'est visible que pour les membres authentifiés de l'organisation de publication et les personnes avec lesquelles ils le partagent, sauf si l'artefact est [partagé publiquement](#control-public-sharing).

412 412 

413<h3 id="enable-or-disable-artifacts">413<h3 id="enable-or-disable-artifacts">

414 Activer ou désactiver les artefacts414 Activer ou désactiver les artefacts

415</h3>415</h3>

416 416 

417Pour activer ou désactiver les artefacts pour l'ensemble de l'organisation, allez à [**Paramètres > Claude Code > Capacités**](https://claude.ai/admin-settings/claude-code) et utilisez le bouton bascule **Artefacts**. Sur les plans Enterprise avec contrôle d'accès basé sur les rôles, vous pouvez également limiter les artefacts à des rôles spécifiques : allez à [**Paramètres > Rôles**](https://claude.ai/admin-settings/roles), modifiez un rôle et définissez la permission **Artefacts** sous le groupe **Claude Code**.417Pour activer ou désactiver les artefacts pour l'ensemble de l'organisation, allez à [**Paramètres de l'organisation > Artefacts**](https://claude.ai/admin-settings/artifacts) et utilisez le bouton bascule **Artefacts**. Sur les plans Enterprise avec contrôle d'accès basé sur les rôles, vous pouvez également limiter les artefacts à des rôles spécifiques : allez à [**Paramètres de l'organisation > Rôles**](https://claude.ai/admin-settings/roles), modifiez un rôle et définissez la permission **Artefacts**.

418 418 

419<h3 id="control-connector-calls-from-artifacts">419<h3 id="control-connector-calls-from-artifacts">

420 Contrôler les appels de connecteur à partir des artefacts420 Contrôler les appels de connecteur à partir des artefacts

421</h3>421</h3>

422 422 

423Les [appels de connecteur à partir des artefacts](#pull-live-data-with-mcp-connectors) disposent de leur propre bouton bascule, distinct du bouton bascule **Artefacts** qui active ou désactive les artefacts. Allez à [**Paramètres > Capacités**](https://claude.ai/admin-settings/capabilities) et utilisez le bouton bascule **Activer les connecteurs d'artefacts**. Le même bouton bascule régit les appels de connecteur à partir des artefacts créés dans les conversations de claude.ai, c'est pourquoi il se trouve sous **Paramètres > Capacités** plutôt que sous **Paramètres > Claude Code**.423Les [appels de connecteur à partir des artefacts](#pull-live-data-with-mcp-connectors) disposent de leur propre bouton bascule, distinct du bouton bascule **Artefacts** qui active ou désactive les artefacts. Allez à [**Paramètres de l'organisation > Capacités**](https://claude.ai/admin-settings/capabilities) et utilisez le bouton bascule **Activer les connecteurs d'artefacts**. Le même bouton bascule régit les appels de connecteur à partir des artefacts créés dans les conversations de claude.ai.

424 424 

425<h3 id="control-public-sharing">425<h3 id="control-public-sharing">

426 Contrôler le partage public426 Contrôler le partage public

427</h3>427</h3>

428 428 

429Le partage public est désactivé par défaut sur les plans Team et Enterprise, de sorte que les membres ne peuvent partager les artefacts que dans l'organisation jusqu'à ce qu'un propriétaire l'active. Pour permettre aux membres de publier des artefacts vers des liens publics que n'importe qui peut consulter sans se connecter, allez à **Paramètres > Claude Code > Capacités** et activez **Partage externe** sous le bouton bascule **Artefacts**. Le désactiver à nouveau bloque l'accès via les liens publics existants sans modifier l'audience de chaque artefact ; l'accès reprend si vous le réactivez.429Le partage public est désactivé par défaut sur les plans Team et Enterprise. Pour permettre aux membres de publier des artefacts vers des liens publics que n'importe qui peut consulter sans se connecter, allez à [**Paramètres de l'organisation > Artefacts**](https://claude.ai/admin-settings/artifacts) et activez **Partage externe** sous le bouton bascule **Artefacts**. Le désactiver à nouveau bloque l'accès via les liens publics existants sans modifier l'audience de chaque artefact ; l'accès reprend si vous le réactivez.

430 430 

431<h3 id="set-a-retention-policy">431<h3 id="set-a-retention-policy">

432 Définir une politique de rétention432 Définir une politique de rétention

433</h3>433</h3>

434 434 

435Pour définir la durée pendant laquelle les artefacts sont conservés avant suppression automatique, allez à [**Paramètres > Contrôles de données et de confidentialité**](https://claude.ai/admin-settings/data-privacy-controls). Vous pouvez définir des périodes de rétention distinctes pour les artefacts qui sont encore privés pour leur auteur et les artefacts qui ont été partagés.435Pour définir la durée pendant laquelle les artefacts sont conservés avant suppression automatique, allez à [**Paramètres de l'organisation > Données et confidentialité**](https://claude.ai/admin-settings/data-privacy-controls). Vous pouvez définir des périodes de rétention distinctes pour les artefacts qui sont encore privés pour leur auteur et les artefacts qui ont été partagés.

436 436 

437<h3 id="review-the-audit-log">437<h3 id="review-the-audit-log">

438 Examiner le journal d'audit438 Examiner le journal d'audit

Details

32 32 

33Pour vous déconnecter et vous réauthentifier, tapez `/logout` à l'invite Claude Code. La déconnexion réinitialise également votre état de configuration au premier lancement, de sorte que la prochaine fois que vous exécutez `claude`, il vous guide à nouveau à travers la connexion et la configuration.33Pour vous déconnecter et vous réauthentifier, tapez `/logout` à l'invite Claude Code. La déconnexion réinitialise également votre état de configuration au premier lancement, de sorte que la prochaine fois que vous exécutez `claude`, il vous guide à nouveau à travers la connexion et la configuration.

34 34 

35Si vous avez des difficultés à vous connecter, consultez [dépannage de l'authentification](/docs/fr/troubleshoot-install#login-and-authentication).

36 

37<h3 id="log-in-with-multiple-accounts">

38 Se connecter avec plusieurs comptes

39</h3>

40 

35Pour rester connecté à plusieurs comptes à la fois, comme des comptes professionnels et personnels, attribuez à chaque compte son propre répertoire de configuration. Lorsque vous démarrez `claude`, définissez la variable d'environnement [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars#variables) sur le répertoire du compte que vous souhaitez utiliser. Chaque répertoire possède ses propres paramètres, historique de session et connexion claude.ai ou clé API. Par exemple, dans Bash ou Zsh, ajoutez cet alias à `~/.bashrc` ou `~/.zshrc` pour que `claude-work` utilise votre compte professionnel tandis que `claude` conserve votre compte personnel :41Pour rester connecté à plusieurs comptes à la fois, comme des comptes professionnels et personnels, attribuez à chaque compte son propre répertoire de configuration. Lorsque vous démarrez `claude`, définissez la variable d'environnement [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars#variables) sur le répertoire du compte que vous souhaitez utiliser. Chaque répertoire possède ses propres paramètres, historique de session et connexion claude.ai ou clé API. Par exemple, dans Bash ou Zsh, ajoutez cet alias à `~/.bashrc` ou `~/.zshrc` pour que `claude-work` utilise votre compte professionnel tandis que `claude` conserve votre compte personnel :

36 42 

37```bash theme={null}43```bash theme={null}


40 46 

41Après avoir ouvert un nouveau terminal et exécuté `claude-work` pour la première fois, Claude Code vous guide à travers la connexion et la configuration du nouveau répertoire. Les répertoires séparés ne conservent pas deux connexions Claude Console [sans clé API](#sign-in-without-an-api-key) séparées, car Claude Code stocke ce type de connexion en dehors du répertoire de configuration.47Après avoir ouvert un nouveau terminal et exécuté `claude-work` pour la première fois, Claude Code vous guide à travers la connexion et la configuration du nouveau répertoire. Les répertoires séparés ne conservent pas deux connexions Claude Console [sans clé API](#sign-in-without-an-api-key) séparées, car Claude Code stocke ce type de connexion en dehors du répertoire de configuration.

42 48 

43Si vous avez des difficultés à vous connecter, consultez [dépannage de l'authentification](/docs/fr/troubleshoot-install#login-and-authentication).

44 

45<h2 id="set-up-team-authentication">49<h2 id="set-up-team-authentication">

46 Configurer l'authentification d'équipe50 Configurer l'authentification d'équipe

47</h2>51</h2>

Details

163 La charge utile arrive dans le contexte de Claude en tant que balise `<channel>` :163 La charge utile arrive dans le contexte de Claude en tant que balise `<channel>` :

164 164 

165 ```text theme={null}165 ```text theme={null}

166 <channel source="webhook" path="/" method="POST">build failed on main: https://ci.example.com/run/1234</channel>166 <channel source="webhook" path="/" method="POST">

167 build failed on main: https://ci.example.com/run/1234

168 </channel>

167 ```169 ```

168 170 

169 Votre terminal affiche l'événement sous la forme d'un résumé d'une ligne, `← webhook: build failed on main: https://ci.example.com/run/1234`, plutôt que la balise brute. Vous verrez ensuite Claude commencer à répondre : lire des fichiers, exécuter des commandes, ou tout ce que le message demande. C'est un canal unidirectionnel, donc Claude agit dans votre session mais ne renvoie rien via le webhook. Pour ajouter des réponses, consultez [Exposer un outil de réponse](#expose-a-reply-tool).171 Votre terminal affiche l'événement sous la forme d'un résumé d'une ligne, `← webhook: build failed on main: https://ci.example.com/run/1234`, plutôt que la balise brute. Vous verrez ensuite Claude commencer à répondre : lire des fichiers, exécuter des commandes, ou tout ce que le message demande. C'est un canal unidirectionnel, donc Claude agit dans votre session mais ne renvoie rien via le webhook. Pour ajouter des réponses, consultez [Exposer un outil de réponse](#expose-a-reply-tool).

chrome.md +5 −2

Details

97* **Not now** : continue la tâche sans outils du navigateur. Claude Code peut demander à nouveau dans une session ultérieure.97* **Not now** : continue la tâche sans outils du navigateur. Claude Code peut demander à nouveau dans une session ultérieure.

98* **Don't ask again** : arrête l'invite dans les sessions futures. Vous pouvez toujours configurer l'intégration à tout moment avec `/chrome`.98* **Don't ask again** : arrête l'invite dans les sessions futures. Vous pouvez toujours configurer l'intégration à tout moment avec `/chrome`.

99 99 

100Si votre organisation bloque le serveur MCP `claude-in-chrome` avec le [paramètre géré `deniedMcpServers`](/docs/fr/managed-mcp#policy-based-control-with-allowlists-and-denylists), Claude Code n'affiche pas l'invite d'installation.100Deux politiques MCP gérées désactivent l'invite :

101 

102* Si votre organisation bloque le serveur MCP `claude-in-chrome` avec le [paramètre géré `deniedMcpServers`](/docs/fr/managed-mcp#policy-based-control-with-allowlists-and-denylists), Claude Code n'affiche pas l'invite d'installation.

103* Si votre organisation déploie un fichier [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) sans [autoriser Claude in Chrome aux côtés de l'ensemble géré](/docs/fr/managed-mcp#allow-claude-in-chrome-alongside-the-managed-set), Claude Code n'affiche pas l'invite d'installation.

101 104 

102<h3 id="enable-chrome-by-default">105<h3 id="enable-chrome-by-default">

103 Activer Chrome par défaut106 Activer Chrome par défaut


117 Gérer les autorisations du site120 Gérer les autorisations du site

118</h3>121</h3>

119 122 

120Les autorisations au niveau du site sont héritées de l'extension Chrome. Gérez les autorisations dans les paramètres de l'extension Chrome pour contrôler les sites que Claude peut parcourir, cliquer et taper.123Les autorisations au niveau du site sont héritées de l'extension Chrome. Gérez les autorisations dans les paramètres de l'extension Chrome pour contrôler les sites que Claude peut parcourir, cliquer et taper. En [mode automatique](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), lorsque le classificateur du mode automatique lui-même approuve un appel de navigateur à un site, l'extension ignore sa propre vérification par site pour cet appel, sauf si vos règles de permission refusent tout site à Claude in Chrome.

121 124 

122<h3 id="browser-tools-in-plan-mode">125<h3 id="browser-tools-in-plan-mode">

123 Outils du navigateur en mode plan126 Outils du navigateur en mode plan

Details

362 362 

363Les machines qui exécutent uniquement Claude Desktop en ont besoin. Claude Desktop applique la liste des modèles et la liste des outils désactivés aux sessions intégrées elle-même, mais la liste d'autorisation de sortie ne les atteint que comme paramètres parents, sous la forme de règles de domaine `WebFetch` et de règles de réseau sandbox. Sans l'opt-in, ces sessions s'exécutent sans la restriction de sortie, et rien ne vous avertit. La passerelle rejette toujours les demandes d'inférence pour les modèles que la politique n'accorde pas.363Les machines qui exécutent uniquement Claude Desktop en ont besoin. Claude Desktop applique la liste des modèles et la liste des outils désactivés aux sessions intégrées elle-même, mais la liste d'autorisation de sortie ne les atteint que comme paramètres parents, sous la forme de règles de domaine `WebFetch` et de règles de réseau sandbox. Sans l'opt-in, ces sessions s'exécutent sans la restriction de sortie, et rien ne vous avertit. La passerelle rejette toujours les demandes d'inférence pour les modèles que la politique n'accorde pas.

364 364 

365Une liste d'autorisation de marché de plugins atteint également les sessions intégrées uniquement comme paramètres parents. Quand vous désactivez les marchés de plugins ajoutés par l'utilisateur dans la configuration gérée de Claude Desktop, Claude Desktop 2.16120.0 ou ultérieur masque les marchés que votre organisation n'a pas provisionné et refuse les installations à partir d'eux. Pour empêcher les sessions intégrées de charger les plugins déjà installés à partir de ces marchés, il leur envoie une liste `strictKnownMarketplaces` comme paramètres parents. Sans l'opt-in, Claude Code ignore cette liste, et ces plugins continuent de charger.

366 

365Les machines où les développeurs se connectent via `/login` n'en ont pas besoin ; chaque session Claude Code récupère sa politique auprès de la passerelle.367Les machines où les développeurs se connectent via `/login` n'en ont pas besoin ; chaque session Claude Code récupère sa politique auprès de la passerelle.

366 368 

367Les flottes dont [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés ne peuvent pas l'utiliser : Claude Code ne fusionne jamais les paramètres parents sur ces flottes, car il lit les paramètres gérés à partir de la sortie du helper seule.369Les flottes dont [`policyHelper`](/docs/fr/settings-reference#policyhelper) fournit des paramètres gérés ne peuvent pas l'utiliser : Claude Code ne fusionne jamais les paramètres parents sur ces flottes, car il lit les paramètres gérés à partir de la sortie du helper seule.


457* **`forceLoginOrgUUID`** : Claude Code honore une valeur fournie par le parent quand la source d'administrateur de plus haute priorité ne définit pas un UUID d'organisation. La connexion à la passerelle ne vérifie pas cette clé. Un UUID d'organisation dans la source d'administrateur de plus haute priorité bloque la valeur du parent et est celui que Claude Code applique.459* **`forceLoginOrgUUID`** : Claude Code honore une valeur fournie par le parent quand la source d'administrateur de plus haute priorité ne définit pas un UUID d'organisation. La connexion à la passerelle ne vérifie pas cette clé. Un UUID d'organisation dans la source d'administrateur de plus haute priorité bloque la valeur du parent et est celui que Claude Code applique.

458* **`allowedMcpServers`** : Claude Code honore une liste d'autorisation fournie par le parent quand aucune liste d'administrateur n'est en vigueur. `allowManagedMcpServersOnly` ne la bloque pas, car le verrou applique quelle que soit la liste qui gagne comme valeur gérée, y compris une liste fournie par le parent quand aucune source d'administrateur n'en fournit une. Une liste dans la source d'administrateur de plus haute priorité bloque celle du parent et est la liste que Claude Code applique, donc définissez `allowedMcpServers` là, à côté du verrou. Avant v2.1.223, une valeur pour l'une ou l'autre clé dans toute source d'administrateur bloquait celle du parent.460* **`allowedMcpServers`** : Claude Code honore une liste d'autorisation fournie par le parent quand aucune liste d'administrateur n'est en vigueur. `allowManagedMcpServersOnly` ne la bloque pas, car le verrou applique quelle que soit la liste qui gagne comme valeur gérée, y compris une liste fournie par le parent quand aucune source d'administrateur n'en fournit une. Une liste dans la source d'administrateur de plus haute priorité bloque celle du parent et est la liste que Claude Code applique, donc définissez `allowedMcpServers` là, à côté du verrou. Avant v2.1.223, une valeur pour l'une ou l'autre clé dans toute source d'administrateur bloquait celle du parent.

459* **`availableModels`** : Claude Code honore une liste de modèles fournie par le parent quand la source gérée gagnante n'en définit pas. Si votre flotte restreint les modèles, définissez `availableModels` dans la source gagnante.461* **`availableModels`** : Claude Code honore une liste de modèles fournie par le parent quand la source gérée gagnante n'en définit pas. Si votre flotte restreint les modèles, définissez `availableModels` dans la source gagnante.

460* **`strictKnownMarketplaces`** : Claude Code honore une liste d'autorisation de marché de plugins fournie par le parent quand la source gérée gagnante n'en définit pas. Si votre flotte restreint les marchés, définissez `strictKnownMarketplaces` dans la source gagnante. Nécessite Claude Code v2.1.282 ou ultérieur.462* **`strictKnownMarketplaces`** : Claude Code honore une liste d'autorisation de marché de plugins fournie par le parent quand la source gérée gagnante n'en définit pas. Claude Desktop 2.16120.0 ou ultérieur envoie une quand sa configuration gérée désactive les marchés de plugins ajoutés par l'utilisateur. Si votre flotte restreint les marchés, définissez `strictKnownMarketplaces` dans la source gagnante. Nécessite Claude Code v2.1.282 ou ultérieur.

461* **`blockedMarketplaces`** : une liste de blocage de marché fournie par le parent passe et s'ajoute à toute liste de blocage qu'une source gérée définit, puisqu'une liste de blocage ne peut que restreindre davantage. Nécessite Claude Code v2.1.282 ou ultérieur.463* **`blockedMarketplaces`** : une liste de blocage de marché fournie par le parent passe et s'ajoute à toute liste de blocage qu'une source gérée définit, puisqu'une liste de blocage ne peut que restreindre davantage. Nécessite Claude Code v2.1.282 ou ultérieur.

462* **`strictPluginOnlyCustomization`** : cette clé passe le filtre indépendamment de tout verrou, et elle fait que Claude Code ignore la personnalisation propre du développeur, y compris les hooks protecteurs. Aucun verrou ne la bloque.464* **`strictPluginOnlyCustomization`** : cette clé passe le filtre indépendamment de tout verrou, et elle fait que Claude Code ignore la personnalisation propre du développeur, y compris les hooks protecteurs. Aucun verrou ne la bloque.

463 465 

Details

170| `password` | Non | Identifiant de base de données. Définissez-le ici plutôt que dans `postgres_url` pour que l'identifiant reste hors de l'URL. Accepte n'importe quel caractère et prend la priorité sur les identifiants d'URL. |170| `password` | Non | Identifiant de base de données. Définissez-le ici plutôt que dans `postgres_url` pour que l'identifiant reste hors de l'URL. Accepte n'importe quel caractère et prend la priorité sur les identifiants d'URL. |

171| `max_connections` | Non | Taille du pool de connexions Postgres par réplique. Par défaut `5`, ce qui est conservateur et convivial pour les bases de données partagées. Avec les [limites de dépenses](#admin) activées, le chemin chaud effectue quelques opérations par demande d'inférence, donc augmentez-le pour une base de données dédiée sous charge, et gardez les répliques × ceci en dessous du `max_connections` de la base de données. |171| `max_connections` | Non | Taille du pool de connexions Postgres par réplique. Par défaut `5`, ce qui est conservateur et convivial pour les bases de données partagées. Avec les [limites de dépenses](#admin) activées, le chemin chaud effectue quelques opérations par demande d'inférence, donc augmentez-le pour une base de données dédiée sous charge, et gardez les répliques × ceci en dessous du `max_connections` de la base de données. |

172| `connect_timeout_seconds` | Non | Secondes que la passerelle attend lorsqu'elle ouvre une connexion Postgres. Un nombre entier de `1` à `60`, par défaut `5`. Augmentez-le si les tentatives de connexion expirent lorsqu'une nouvelle instance de passerelle démarre. Nécessite Claude Code v2.1.274 ou ultérieur sur le serveur de la passerelle. Les versions antérieures refusent de démarrer lorsque la clé est définie. |172| `connect_timeout_seconds` | Non | Secondes que la passerelle attend lorsqu'elle ouvre une connexion Postgres. Un nombre entier de `1` à `60`, par défaut `5`. Augmentez-le si les tentatives de connexion expirent lorsqu'une nouvelle instance de passerelle démarre. Nécessite Claude Code v2.1.274 ou ultérieur sur le serveur de la passerelle. Les versions antérieures refusent de démarrer lorsque la clé est définie. |

173| `readiness_grace_seconds` | Non | Combien de secondes `/readyz` continue de signaler prêt après que Postgres cesse de répondre. Un nombre entier de `0` à `3600`, par défaut `0`. Voir [Comportement en cas de panne](/docs/fr/claude-apps-gateway-deploy#outage-behavior) pour savoir comment choisir une valeur. Nécessite Claude Code v2.1.282 ou ultérieur sur le serveur de la passerelle. Les versions antérieures refusent de démarrer lorsque la clé est définie. |

173 174 

174Pour le développement local, pointez `postgres_url` sur un conteneur Postgres jetable, par exemple `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.175Pour le développement local, pointez `postgres_url` sur un conteneur Postgres jetable, par exemple `docker run --rm -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres`.

175 176 


313| N'importe où ailleurs | Passez les identifiants via les variables env `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` et `AWS_SESSION_TOKEN`, ou définissez-les explicitement dans `auth:` avec expansion `${VAR}` |314| N'importe où ailleurs | Passez les identifiants via les variables env `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` et `AWS_SESSION_TOKEN`, ou définissez-les explicitement dans `auth:` avec expansion `${VAR}` |

314| Région | `region:` est la région du point de terminaison API. Les profils d'inférence inter-régions routent à travers la géographie (US, EU, APAC) indépendamment de celui que vous choisissez. Pour les régions non-US ou les ARNs de débit provisionné, ajoutez un bloc [`models:`](#models) avec les bons IDs par upstream. |315| Région | `region:` est la région du point de terminaison API. Les profils d'inférence inter-régions routent à travers la géographie (US, EU, APAC) indépendamment de celui que vous choisissez. Pour les régions non-US ou les ARNs de débit provisionné, ajoutez un bloc [`models:`](#models) avec les bons IDs par upstream. |

315 316 

317<h5 id="apply-an-amazon-bedrock-guardrail">

318 Appliquer une barrière de sécurité Amazon Bedrock

319</h5>

320 

321Pour appliquer une barrière de sécurité Amazon Bedrock à chaque demande d'inférence que la passerelle envoie via un upstream Bedrock, ajoutez un bloc `guardrail` à cet upstream. Nécessite Claude Code v2.1.281 ou ultérieur sur le serveur de la passerelle.

322 

323```yaml theme={null}

324upstreams:

325 - provider: bedrock

326 region: us-east-1

327 auth: {}

328 guardrail:

329 id: gr-abc123 # ID de barrière de sécurité ou ARN complet

330 version: "1" # un numéro de version publié, ou DRAFT

331 # gardez les guillemets : un 1 nu échoue au démarrage

332```

333 

334<Warning>

335 La passerelle ne supporte pas les balises d'entrée de barrière de sécurité. Elle n'ajoute pas de balises de contenu de garde aux invites, donc un filtre de barrière de sécurité qu'Amazon Bedrock applique uniquement à l'entrée balisée ne s'exécute pas sur le trafic via la passerelle. Pour savoir quels filtres dépendent des balises d'entrée, voir [balises d'entrée](https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-tagging.html) dans la documentation Amazon Bedrock.

336</Warning>

337 

338Accordez également au principal AWS de la passerelle `bedrock:ApplyGuardrail` sur la barrière de sécurité.

339 

340Définissez `guardrail` sur chaque upstream `bedrock` ou sur aucun. La passerelle refuse de démarrer sur un mélange, car le [basculement](#multiple-upstreams) pourrait autrement envoyer une demande à un upstream Bedrock qui n'a pas de barrière de sécurité.

341 

342La barrière de sécurité couvre les upstreams Bedrock uniquement. Si vous listez un autre fournisseur dans `upstreams`, la passerelle envoie les demandes à ce fournisseur sans la barrière de sécurité.

343 

344Lorsqu'une demande `/v1/messages` dont le corps porte un champ `amazon-bedrock-*`, tel que `amazon-bedrock-guardrailConfig`, atteint un upstream Bedrock qui a `guardrail` défini, la passerelle répond 400 au lieu de le transférer.

345 

316<h4 id="claude-platform-on-aws">346<h4 id="claude-platform-on-aws">

317 Claude Platform on AWS347 Claude Platform on AWS

318</h4>348</h4>


529 `admin`559 `admin`

530</h3>560</h3>

531 561 

532Optionnel. Active `/v1/organizations/spend_limits`, qui reflète l'API Admin publique d'Anthropic, et l'application des limites de dépenses par développeur sur `/v1/messages`. Consultez [Limites de dépenses](/docs/fr/claude-apps-gateway-spend-limits) pour savoir comment les plafonds sont définis et appliqués ; cette section couvre les clés `gateway.yaml` qui activent la fonctionnalité et l'ajustent.562Optionnel. Active `/v1/organizations/spend_limits`, qui reflète l'API Admin publique d'Anthropic, et l'application des dépenses par développeur sur `/v1/messages`. Consultez [Limites de dépenses](/docs/fr/claude-apps-gateway-spend-limits) pour savoir comment les plafonds sont définis et appliqués ; cette section couvre les clés `gateway.yaml` qui activent la fonctionnalité et l'ajustent.

533 563 

534```yaml theme={null}564```yaml theme={null}

535admin:565admin:


551| - | - | - |581| - | - | - |

552| `write_keys` | Non | Tableau de `{id, key}`. Une `x-api-key` correspondant à l'une de ces clés peut lister, définir et supprimer les limites de dépenses. Les valeurs de clé doivent comporter au moins 32 caractères ; les `id` doivent être uniques dans `read_keys` et `write_keys`. |582| `write_keys` | Non | Tableau de `{id, key}`. Une `x-api-key` correspondant à l'une de ces clés peut lister, définir et supprimer les limites de dépenses. Les valeurs de clé doivent comporter au moins 32 caractères ; les `id` doivent être uniques dans `read_keys` et `write_keys`. |

553| `read_keys` | Non | Tableau de `{id, key}`. Lecture seule : tous les points de terminaison `GET`, y compris la liste des plafonds, la récupération d'un par ID, et la lecture de [`/effective`](/docs/fr/claude-apps-gateway-spend-limits#%2Feffective) et [`/audit`](/docs/fr/claude-apps-gateway-spend-limits#%2Faudit). |583| `read_keys` | Non | Tableau de `{id, key}`. Lecture seule : tous les points de terminaison `GET`, y compris la liste des plafonds, la récupération d'un par ID, et la lecture de [`/effective`](/docs/fr/claude-apps-gateway-spend-limits#%2Feffective) et [`/audit`](/docs/fr/claude-apps-gateway-spend-limits#%2Faudit). |

554| `admin_groups` | Non | Noms de groupes IdP. Un JWT de passerelle dont la revendication `groups` inclut l'un de ces groupes dispose d'un accès admin complet, lecture et écriture, et effectue un audit en tant que `oidc:<sub>`. Utilisez ceci pour les administrateurs humains ; utilisez les clés API pour les machines. Une entrée vide dans cette liste arrête la passerelle au démarrage. Consultez [Valeurs de correspondance qui arrêtent la passerelle au démarrage](#matcher-values-that-stop-the-gateway-at-boot). |584| `admin_groups` | Non | Noms de groupes IdP. Un JWT de passerelle dont la revendication `groups` inclut l'un de ces groupes dispose d'un accès admin complet, lecture et écriture, et audite en tant que `oidc:<sub>`. Utilisez ceci pour les administrateurs humains ; utilisez les clés API pour les machines. Une entrée vide dans cette liste arrête la passerelle au démarrage. Consultez [Valeurs de correspondance qui arrêtent la passerelle au démarrage](#matcher-values-that-stop-the-gateway-at-boot). |

555| `blocked_message` | Non | Ajouté textuellement à l'erreur `429 billing_error` qu'un développeur bloqué voit. Écrivez l'instruction complète, comme une URL ou un canal Slack. Lorsqu'il n'est pas défini, la passerelle envoie uniquement le message par défaut. Consultez [Comment l'application fonctionne](/docs/fr/claude-apps-gateway-spend-limits#how-enforcement-works). |585| `blocked_message` | Non | Ajouté textuellement à l'erreur `429 billing_error` qu'un développeur bloqué voit. Écrivez l'instruction complète, comme une URL ou un canal Slack. Lorsqu'il n'est pas défini, la passerelle envoie uniquement le message par défaut. Consultez [Comment l'application fonctionne](/docs/fr/claude-apps-gateway-spend-limits#how-enforcement-works). |

556| `audit_retention_days` | Non | Par défaut `365`. Les lignes `admin_audit` plus anciennes sont supprimées. |586| `audit_retention_days` | Non | Par défaut `365`. Les lignes `admin_audit` plus anciennes sont supprimées. |

557| `spend_retention_months` | Non | Par défaut `13`. Les lignes du compteur `spend` plus anciennes que cela sont supprimées. La valeur par défaut conserve une année complète plus le mois partiel actuel pour les rapports d'une année sur l'autre. |587| `spend_retention_months` | Non | Par défaut `13`. Les lignes du compteur `spend` plus anciennes que cela sont supprimées. La valeur par défaut conserve une année complète plus le mois partiel actuel pour les rapports d'une année sur l'autre. |

558| `identity_retention_days` | Non | Par défaut `90`. TTL de dernière consultation pour les lignes `principal_emails`, qui contiennent l'e-mail, le nom d'affichage et les groupes de chaque développeur (données personnelles). Délibérément plus court que la rétention des dépenses afin qu'une identité déprovisionée expire tandis que ses compteurs de dépenses anonymes restent. |588| `identity_retention_days` | Non | Par défaut `90`. TTL de dernière consultation pour les lignes `principal_emails`, qui contiennent l'e-mail, le nom d'affichage et les groupes de chaque développeur (PII). Délibérément plus court que la rétention des dépenses afin qu'une identité déprovisionée expire tandis que ses compteurs de dépenses anonymes restent. |

559| `group_limit_mode` | Non | `min` (par défaut) ou `max`. Lorsqu'un développeur se trouve dans plusieurs groupes avec des plafonds, `min` applique le plus restrictif et `max` le moins restrictif. Utilisé à la fois par l'application et par `/effective`. |589| `group_limit_mode` | Non | `min` (par défaut) ou `max`. Lorsqu'un développeur se trouve dans plusieurs groupes avec des plafonds, `min` applique le plus restrictif et `max` le moins restrictif. Utilisé à la fois par l'application et par `/effective`. |

560 590 

561<h3 id="enforcement">591<h3 id="enforcement">


566 596 

567| Champ | Requis | Description |597| Champ | Requis | Description |

568| - | - | - |598| - | - | - |

569| `fail_closed_on_error` | Non | Par défaut `false`. L'application des limites de dépenses échoue de manière permissive en cas de panne Postgres, afin que l'inférence reste opérationnelle. Définissez `true` pour échouer de manière restrictive : les développeurs au-delà du plafond sont bloqués, mais tout le monde l'est aussi si le magasin est inaccessible. Nécessite un bloc [`admin:`](#admin) : l'application des limites de dépenses ne s'exécute que lorsque `admin` est configuré, et la passerelle refuse de démarrer si vous définissez ceci à `true` sans bloc. |599| `fail_closed_on_error` | Non | Par défaut `false`. L'application des dépenses échoue ouvertement en cas de panne Postgres, afin que l'inférence reste active. Définissez `true` pour échouer fermé : les développeurs au-delà du plafond sont bloqués, mais tout le monde l'est aussi si le magasin est inaccessible. Nécessite un bloc [`admin:`](#admin) : l'application des dépenses ne s'exécute que lorsque `admin` est configuré, et la passerelle refuse de démarrer si vous définissez ceci `true` sans un. |

570 600 

571<h3 id="pricing">601<h3 id="pricing">

572 `pricing`602 `pricing`


592| Champ | Requis | Description |622| Champ | Requis | Description |

593| - | - | - |623| - | - | - |

594| `multiplier` | Non | Par défaut `1`. Le compteur multiplie chaque montant mesuré par ceci, qu'il soit au prix catalogue ou remplacé, donc `0.85` facture 85 % du prix. Doit être supérieur à 0 et au maximum 10, et une valeur supérieure à 1 est une [majoration](#mark-prices-up). |624| `multiplier` | Non | Par défaut `1`. Le compteur multiplie chaque montant mesuré par ceci, qu'il soit au prix catalogue ou remplacé, donc `0.85` facture 85 % du prix. Doit être supérieur à 0 et au maximum 10, et une valeur supérieure à 1 est une [majoration](#mark-prices-up). |

595| `overrides` | Non | Lignes de `{upstream, model, input, output, cache_read, cache_write}` en USD par million de jetons. Les quatre tarifs sont obligatoires. Chacun doit être supérieur à 0 et au maximum 10 000. |625| `overrides` | Non | Lignes de `{upstream, model, input, output, cache_read, cache_write}` en USD par million de jetons. Les quatre tarifs sont requis. Chacun doit être supérieur à 0 et au maximum 10000. |

596 626 

597Comment le compteur correspond à une ligne de remplacement :627Comment le compteur correspond à une ligne de remplacement :

598 628 

599* Une ligne remplace le prix catalogue pour les demandes que `upstream`, un [`upstreams[].name`](#upstreams), traite pour `model`. Cela inclut le tarif [mode rapide](/docs/fr/fast-mode#understand-the-cost-tradeoff) plus élevé, afin que les demandes en mode rapide et standard soient mesurées aux mêmes quatre tarifs.629* Une ligne remplace le prix catalogue pour les demandes que `upstream`, un [`upstreams[].name`](#upstreams), traite pour `model`. Cela inclut le tarif [mode rapide](/docs/fr/fast-mode#understand-the-cost-tradeoff) plus élevé, donc les demandes en mode rapide et standard sont mesurées aux mêmes quatre tarifs.

600* Un ID intégré tel que `claude-sonnet-4-6`, correspondant comme [`models[].id`](#models), couvre chaque forme datée, forme régionale Amazon Bedrock, ou forme Google Cloud Agent Platform que le compteur évalue comme ce modèle. Toute autre chaîne, comme un alias ou un ARN de profil d'inférence, correspond à l'ID que le client a envoyé ou à la chaîne envoyée en amont, insensible à la casse.630* Un ID intégré tel que `claude-sonnet-4-6`, correspondant comme [`models[].id`](#models), couvre chaque forme datée, forme Amazon Bedrock régionale, ou forme Google Cloud Agent Platform que le compteur évalue comme ce modèle. Toute autre chaîne, comme un alias ou un ARN de profil d'inférence, correspond à l'ID que le client a envoyé ou à la chaîne envoyée en amont, insensible à la casse.

601* Lorsque les lignes se chevauchent, le compteur choisit la ligne la plus spécifique plutôt que la première ligne : une ligne dont `model` est la chaîne de modèle exacte envoyée en amont, puis une ligne correspondant à l'ID exact que le client a envoyé, puis une ligne nommant le modèle intégré.631* Lorsque les lignes se chevauchent, le compteur choisit la ligne la plus spécifique plutôt que la première ligne : une ligne dont `model` est la chaîne de modèle exacte envoyée en amont, puis une ligne correspondant à l'ID exact que le client a envoyé, puis une ligne nommant le modèle intégré.

602* Un nom d'amont inconnu échoue au démarrage, tout comme deux lignes pour un amont qui nomment le même modèle, y compris deux orthographes d'un modèle intégré. La passerelle avertit au démarrage à propos d'une ligne qu'aucun modèle demandable ne peut utiliser.632* Un nom d'upstream inconnu échoue au démarrage, tout comme deux lignes pour un upstream qui nomment le même modèle, y compris deux orthographes d'un modèle intégré. La passerelle avertit au démarrage à propos d'une ligne qu'aucun modèle demandable ne peut utiliser.

603* Les demandes de recherche Web restent au prix catalogue de \$0,01 ; le multiplicateur s'y applique toujours.633* Les demandes de recherche Web restent au prix catalogue de \$0,01 ; le multiplicateur s'y applique toujours.

604 634 

605Pour les tarifs par région, donnez à chaque région son propre amont nommé et une ligne par amont.635Pour les tarifs par région, donnez à chaque région son propre upstream nommé et une ligne par upstream.

606 636 

607<h4 id="mark-prices-up">637<h4 id="mark-prices-up">

608 Majorer les prix638 Majorer les prix


627 Envoyer les tarifs aux clients connectés657 Envoyer les tarifs aux clients connectés

628</h4>658</h4>

629 659 

630Avec v2.1.268 ou ultérieur sur le serveur de passerelle, la passerelle place également les tarifs de `pricing` dans les politiques [`managed`](#managed) qu'elle sert, en tant que paramètre géré [`modelPricing`](/docs/fr/settings-reference#modelpricing). Les développeurs correspondant à une politique voient alors les tarifs `pricing` pour le premier amont qui sert chaque ID de modèle dans `/usage`, la ligne d'état et OpenTelemetry. Un développeur qui ne correspond à aucune politique ne reçoit aucun paramètre géré, afin que ses chiffres restent au prix catalogue. Les clients appliquent le paramètre dans Claude Code v2.1.242 ou ultérieur.660Avec v2.1.268 ou ultérieur sur le serveur de passerelle, la passerelle place également les tarifs de `pricing` dans les politiques [`managed`](#managed) qu'elle sert, en tant que paramètre géré [`modelPricing`](/docs/fr/settings-reference#modelpricing). Les développeurs correspondant à une politique voient alors les tarifs `pricing` pour le premier upstream qui sert chaque ID de modèle dans `/usage`, la ligne d'état et OpenTelemetry. Un développeur qui ne correspond à aucune politique ne reçoit aucun paramètre géré, afin que ses chiffres restent au prix catalogue. Les clients appliquent le paramètre dans Claude Code v2.1.242 ou ultérieur.

631 661 

632* Ce que la passerelle ajoute : à moins que le bloc `cli` d'une politique ne définisse déjà `modelPricing`, la passerelle ajoute le `multiplier` et, pour chaque ID de modèle qu'un client peut demander, la ligne de remplacement du premier amont qui sert cet ID. Un tarif que seul un amont de basculement facture reste sur la passerelle.662* Ce que la passerelle ajoute : à moins que le bloc `cli` d'une politique ne définisse déjà `modelPricing`, la passerelle ajoute le `multiplier` et, pour chaque ID de modèle qu'un client peut demander, la ligne de remplacement du premier upstream qui sert cet ID. Un tarif que seul un upstream de basculement facture reste sur la passerelle.

633* Exclure une politique : définissez `modelPricing` à `{}` dans le bloc `cli` de cette politique, et ses développeurs restent au prix catalogue.663* Exclure une politique : définissez `modelPricing` à `{}` dans le bloc `cli` de cette politique, et ses développeurs restent au prix catalogue.

634* Conserver les tarifs propres d'une politique : une politique dont le bloc `cli` définit `modelPricing` avec son propre `multiplier` ou `overrides` conserve ce `modelPricing` entièrement, et la passerelle n'ajoute aucun de ses propres tarifs à celui-ci.664* Conserver les tarifs propres d'une politique : une politique dont le bloc `cli` définit `modelPricing` avec son propre `multiplier` ou `overrides` conserve ce `modelPricing` entièrement, et la passerelle n'ajoute aucun de ses propres tarifs.

635 665 

636<h3 id="models">666<h3 id="models">

637 `models`667 `models`

638</h3>668</h3>

639 669 

640Le bloc `models` est une liste de modèles optionnelle organisée par l'administrateur, servie à `/v1/models` et utilisée pour traduire les ID de modèles par amont. Elle est obligatoire pour les régions Amazon Bedrock non-US, les ARN de débit provisionné Amazon Bedrock et les noms de déploiement Microsoft Foundry.670Le bloc `models` est une liste de modèles optionnelle organisée par l'administrateur, servie à `/v1/models` et utilisée pour traduire les ID de modèles par upstream. Elle est requise pour les régions Amazon Bedrock non-US, les ARN de débit provisionné Amazon Bedrock et les noms de déploiement Microsoft Foundry.

641 671 

642```yaml theme={null}672```yaml theme={null}

643auto_include_builtin_models: true # false: expose only the list below673auto_include_builtin_models: true # false: expose only the list below


651 foundry: your-opus-deployment-name681 foundry: your-opus-deployment-name

652```682```

653 683 

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

655 685 

656<h3 id="managed">686<h3 id="managed">

657 `managed`687 `managed`

658</h3>688</h3>

659 689 

660Le bloc `managed` définit les politiques d'accès basées sur les rôles basées sur les groupes IdP ou le domaine de messagerie. Les politiques sont évaluées dans l'ordre ; la première correspondance est sélectionnée, puis fusionnée sur la base de capture-tout `match: {}`. Elles sont servies par utilisateur à `GET /managed/settings` avec mise en cache ETag/304.690Le bloc `managed` définit les politiques d'accès basées sur les rôles basées sur les groupes IdP ou le domaine de courrier électronique. Les politiques sont évaluées dans l'ordre ; la première correspondance est sélectionnée, puis fusionnée sur la base de capture-tout `match: {}`. Elles sont servies par utilisateur à `GET /managed/settings` avec mise en cache ETag/304.

661 691 

662```yaml theme={null}692```yaml theme={null}

663managed:693managed:


675 705 

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

677 707 

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

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

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

681 711 

682`availableModels` est également appliqué côté serveur à `/v1/messages`, afin qu'un modèle refusé retourne `400` indépendamment de ce que le client envoie.712`availableModels` est également appliqué côté serveur à `/v1/messages`, afin qu'un modèle refusé retourne `400` indépendamment de ce que le client envoie.

683 713 

684La passerelle valide la valeur `model` elle-même avant de relayer une demande, afin qu'une valeur mal formée n'atteigne jamais un amont. Elle rejette la demande avec un `400` dans deux cas :714La passerelle valide la valeur `model` elle-même avant de relayer une demande, afin qu'une valeur mal formée n'atteigne jamais un upstream. Elle rejette la demande avec un `400` dans deux cas :

685 715 

686* Lorsque la valeur est manquante ou vide, la passerelle rejette la demande avec le message `model is required`. Cette vérification nécessite une passerelle exécutant Claude Code v2.1.228 ou ultérieur.716* Lorsque la valeur est manquante ou vide, la passerelle rejette la demande avec le message `model is required`. Cette vérification nécessite une passerelle exécutant Claude Code v2.1.228 ou ultérieur.

687* Lorsque la valeur est présente mais n'est pas une chaîne, la passerelle rejette la demande avec le message `model must be a string`. Nécessite une passerelle exécutant Claude Code v2.1.221 ou ultérieur.717* Lorsque la valeur est présente mais n'est pas une chaîne, la passerelle rejette la demande avec le message `model must be a string`. Nécessite une passerelle exécutant Claude Code v2.1.221 ou ultérieur.


698<Note>728<Note>

699 La passerelle ne conserve aucun répertoire d'utilisateurs propre. Elle autorise chaque demande à partir du jeton IdP de l'utilisateur, en lisant l'appartenance au groupe à partir de la revendication `groups` du jeton et en évaluant les politiques par rapport à celui-ci. Il n'y a pas de liste à énumérer et aucun compte à pré-créer, et donc aucun point de terminaison SCIM, car il n'y a rien pour que SCIM se synchronise.729 La passerelle ne conserve aucun répertoire d'utilisateurs propre. Elle autorise chaque demande à partir du jeton IdP de l'utilisateur, en lisant l'appartenance au groupe à partir de la revendication `groups` du jeton et en évaluant les politiques par rapport à celui-ci. Il n'y a pas de liste à énumérer et aucun compte à pré-créer, et donc aucun point de terminaison SCIM, car il n'y a rien pour que SCIM se synchronise.

700 730 

701 Exécutez la gestion du cycle de vie des utilisateurs et des groupes à la source de vérité, qui est le provisionnement SCIM natif de votre IdP ou une plateforme de gouvernance des identités dédiée. L'appartenance et la déprovision gouvernées là-bas s'écoulent dans la passerelle automatiquement via le jeton. Si vous voulez le provisionnement SCIM des comptes Claude eux-mêmes, c'est une capacité de [Claude for Enterprise](/docs/fr/admin-setup).731 Exécutez la gestion du cycle de vie des utilisateurs et des groupes à la source de vérité, qui est l'approvisionnement SCIM natif de votre IdP ou une plateforme de gouvernance des identités dédiée. L'appartenance et la déprovision gouvernées là-bas s'écoulent dans la passerelle automatiquement via le jeton. Si vous voulez l'approvisionnement SCIM des comptes Claude eux-mêmes, c'est une capacité [Claude for Enterprise](/docs/fr/admin-setup).

702 732 

703 Deux horloges de propagation s'appliquent :733 Deux horloges de propagation s'appliquent :

704 734 

705 * **Contenu de la politique** : modifier une politique et redéployer atteint les clients connectés lors de leur prochain sondage de paramètres gérés, dans l'heure, à l'exception des [modifications qui s'appliquent uniquement au prochain lancement](/docs/fr/server-managed-settings#fetch-and-caching-behavior)735 * **Contenu de la politique** : modifier une politique et redéployer atteint les clients connectés lors de leur prochain sondage de paramètres gérés, dans une heure, à part les [modifications qui s'appliquent uniquement au prochain lancement](/docs/fr/server-managed-settings#fetch-and-caching-behavior)

706 * **Appartenance au groupe** : modifier l'appartenance au groupe d'un utilisateur change la politique qui le correspond. Cela prend effet lors de la prochaine réémission de session, ce qui signifie le prochain renouvellement silencieux, limité par `session.ttl_hours`.736 * **Appartenance au groupe** : modifier l'appartenance au groupe d'un utilisateur change la politique qui le correspond. Cela prend effet lors de la prochaine remise en session, ce qui signifie le prochain renouvellement silencieux, limité par `session.ttl_hours`.

707</Note>737</Note>

708 738 

709<h4 id="matcher-values-that-stop-the-gateway-at-boot">739<h4 id="matcher-values-that-stop-the-gateway-at-boot">


715* Une liste `groups` vide745* Une liste `groups` vide

716* Une entrée vide dans `groups` ou dans `admin_groups`746* Une entrée vide dans `groups` ou dans `admin_groups`

717* Un `email_domain` vide747* Un `email_domain` vide

718* Un `email_domain` qui contient `@`, un espace ou une virgule. La passerelle supprime la valeur et enlève un `@` initial avant cette vérification. Écrivez un domaine nu, comme `example.com`.748* Un `email_domain` qui contient `@`, un espace ou une virgule. La passerelle supprime la valeur et supprime un `@` initial avant cette vérification. Écrivez un domaine nu, comme `example.com`.

719 749 

720Avant v2.1.232, la passerelle démarrait avec ces valeurs. Chaque valeur avait cet effet :750Avant v2.1.232, la passerelle a démarré avec ces valeurs. Chaque valeur avait cet effet :

721 751 

722* Un `email_domain` vide : la passerelle a ignoré la vérification du domaine, afin qu'une politique avec un `email_domain` vide et aucune liste `groups` corresponde à chaque utilisateur authentifié752* Un `email_domain` vide : la passerelle a ignoré la vérification du domaine, afin qu'une politique avec un `email_domain` vide et aucune liste `groups` corresponde à chaque utilisateur authentifié

723* Une liste `groups` vide : la politique ne correspondait à personne753* Une liste `groups` vide : la politique ne correspondait à personne


775| `permissions.disableBypassPermissionsMode` | CLI | Définissez à `disable` pour bloquer [`bypassPermissions`](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode), le mode qui ignore les invites de permission, et l'indicateur `--dangerously-skip-permissions` |805| `permissions.disableBypassPermissionsMode` | CLI | Définissez à `disable` pour bloquer [`bypassPermissions`](/docs/fr/permission-modes#skip-all-checks-with-bypasspermissions-mode), le mode qui ignore les invites de permission, et l'indicateur `--dangerously-skip-permissions` |

776| `allowManagedPermissionRulesOnly` | CLI | Lorsque `true`, les paramètres gérés deviennent la seule source de paramètres des règles de permission. L'entrée [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) liste chaque source que Claude Code ignore ensuite. |806| `allowManagedPermissionRulesOnly` | CLI | Lorsque `true`, les paramètres gérés deviennent la seule source de paramètres des règles de permission. L'entrée [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) liste chaque source que Claude Code ignore ensuite. |

777| `env` | CLI | Variables d'environnement fusionnées dans le processus CLI. Utilisez pour la télémétrie, la mise à jour automatique et les remplacements de noms de modèles. |807| `env` | CLI | Variables d'environnement fusionnées dans le processus CLI. Utilisez pour la télémétrie, la mise à jour automatique et les remplacements de noms de modèles. |

778| `hooks` | CLI | [Hooks](/docs/fr/hooks) à l'échelle de l'organisation |808| `hooks` | CLI | Hooks à l'échelle de l'organisation [hooks](/docs/fr/hooks) |

779| `managedMcpServers` | CLI | Serveurs MCP distants [fournis à chaque développeur correspondant](/docs/fr/managed-mcp#provide-servers-through-managed-settings) aux côtés des serveurs qu'ils ajoutent eux-mêmes, `http` et `sse` uniquement. Consultez [Serveurs MCP dans une politique](#mcp-servers-in-a-policy). Nécessite Claude Code v2.1.259 ou ultérieur sur le serveur de passerelle et sur les clients. Les clients antérieurs ignorent la clé. |809| `managedMcpServers` | CLI | Serveurs MCP distants [fournis à chaque développeur correspondant](/docs/fr/managed-mcp#provide-servers-through-managed-settings) aux côtés des serveurs qu'ils ajoutent eux-mêmes, `http` et `sse` uniquement. Consultez [Serveurs MCP dans une politique](#mcp-servers-in-a-policy). Nécessite Claude Code v2.1.259 ou ultérieur sur le serveur de passerelle et sur les clients. Les clients antérieurs ignorent la clé. |

780 810 

781Parce que ces paramètres arrivent sur le réseau, le CLI affiche à chaque développeur une boîte de dialogue d'approbation de sécurité avant d'appliquer les paramètres listés ci-dessous :811Parce que ces paramètres arrivent sur le réseau, le CLI affiche à chaque développeur une boîte de dialogue d'approbation de sécurité avant d'appliquer les paramètres listés ci-dessous :


783* `hooks`813* `hooks`

784* Variables `env` qui nécessitent l'approbation du développeur, comme les variables de proxy et d'URL de base814* Variables `env` qui nécessitent l'approbation du développeur, comme les variables de proxy et d'URL de base

785* Paramètres d'exécution de shell comme `apiKeyHelper` et `statusLine`815* Paramètres d'exécution de shell comme `apiKeyHelper` et `statusLine`

786* Les paramètres binaires du bac à sable `sandbox.bwrapPath`, `sandbox.socatPath` et `sandbox.ripgrep`816* Les paramètres binaires du sandbox `sandbox.bwrapPath`, `sandbox.socatPath` et `sandbox.ripgrep`

787* Les paramètres du bac à sable qui interceptent le trafic, injectent des identifiants ou affaiblissent l'isolation, comme `sandbox.network.tlsTerminate` et les paramètres du port proxy. [Boîtes de dialogue d'approbation de sécurité](/docs/fr/server-managed-settings#security-approval-dialogs) les liste tous.817* Les paramètres du sandbox qui interceptent le trafic, injectent des identifiants ou affaiblissent l'isolation, comme `sandbox.network.tlsTerminate` et les paramètres du port proxy. [Boîtes de dialogue d'approbation de sécurité](/docs/fr/server-managed-settings#security-approval-dialogs) les liste tous.

788 818 

789[Mémoire d'approbation](/docs/fr/server-managed-settings#approval-memory) couvre la durée d'une approbation et quand la boîte de dialogue apparaît à nouveau.819[Mémoire d'approbation](/docs/fr/server-managed-settings#approval-memory) couvre la durée d'une approbation et quand la boîte de dialogue réapparaît.

790 820 

791Claude Code applique certaines variables `env` livrées sans afficher la boîte de dialogue d'approbation au développeur, comme les paramètres de sélection de modèle et les limites numériques. D'autres variables livrées peuvent nécessiter l'approbation du développeur avant de prendre effet ; une valeur de proxy, d'URL de base ou `OTEL_EXPORTER_OTLP_ENDPOINT` non vide le fait toujours. Lorsqu'une variable livrée a besoin d'approbation, la boîte de dialogue la nomme.821Claude Code applique certaines variables `env` livrées sans afficher la boîte de dialogue d'approbation au développeur, comme les paramètres de sélection de modèle et les limites numériques. D'autres variables livrées peuvent nécessiter l'approbation du développeur avant de prendre effet ; une valeur de proxy, d'URL de base ou `OTEL_EXPORTER_OTLP_ENDPOINT` non vide le fait toujours. Lorsqu'une variable livrée a besoin d'approbation, la boîte de dialogue la nomme.

792 822 

793[Variables d'environnement et boîte de dialogue d'approbation](/docs/fr/server-managed-settings#environment-variables-and-the-approval-dialog) a les détails, y compris quatre bascules de confidentialité dont la valeur livrée décide si elles ont besoin d'approbation. Avant v2.1.218, Claude Code appliquait moins de variables sans demander au développeur, afin que plus de variables livrées déclenchent la boîte de dialogue.823[Variables d'environnement et boîte de dialogue d'approbation](/docs/fr/server-managed-settings#environment-variables-and-the-approval-dialog) a les détails, y compris quatre bascules de confidentialité dont la valeur livrée décide si elles ont besoin d'approbation. Avant v2.1.218, Claude Code appliquait moins de variables sans demander au développeur, afin que plus de variables livrées déclenchent la boîte de dialogue.

794 824 

795La configuration de [télémétrie](#telemetry) de la passerelle pousse `OTEL_EXPORTER_OTLP_ENDPOINT`, afin que la définition de `telemetry.forward_to` déclenche la boîte de dialogue sur chaque client interactif. La boîte de dialogue protège la machine du développeur d'une passerelle compromise ou hostile, pas l'organisation du développeur.825La configuration [télémétrie](#telemetry) de la passerelle pousse `OTEL_EXPORTER_OTLP_ENDPOINT`, afin que la définition de `telemetry.forward_to` déclenche la boîte de dialogue sur chaque client interactif. La boîte de dialogue protège la machine du développeur d'une passerelle compromise ou hostile, pas l'organisation du développeur.

796 826 

797Une exécution non interactive avec l'indicateur `-p` ne peut pas afficher la boîte de dialogue. Elle applique les paramètres poussés pour cette exécution uniquement et ne les enregistre pas comme approuvés, afin que la prochaine session interactive du développeur affiche toujours la boîte de dialogue pour eux. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés et aucune session interactive ultérieure n'affichait la boîte de dialogue pour eux.827Une [exécution non interactive](/docs/fr/server-managed-settings#security-approval-dialogs), comme `claude -p` ou une session Agent SDK, ne peut pas afficher la boîte de dialogue. Elle applique les paramètres poussés pour cette exécution uniquement et ne les enregistre pas comme approuvés, afin que la prochaine session interactive du développeur affiche toujours la boîte de dialogue pour eux. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés et aucune session interactive ultérieure n'affichait la boîte de dialogue pour eux.

798 828 

799Si un développeur refuse, Claude Code quitte cette session plutôt que d'appliquer la politique. Lorsque vous poussez un nouveau hook, ou toute variable env qui déclenche la boîte de dialogue, à une politique large, Claude Code affiche donc la boîte de dialogue à chaque développeur correspondant. Il affiche la boîte de dialogue dans une session en cours lors du prochain sondage horaire, et sinon au prochain démarrage du développeur.829Si un développeur refuse, Claude Code quitte cette session plutôt que d'appliquer la politique. Lorsque vous poussez un nouveau hook, ou toute variable env qui déclenche la boîte de dialogue, à une politique large, chaque développeur correspondant voit donc la boîte de dialogue dans ses sessions interactives. Une session interactive en cours l'affiche lors du prochain sondage horaire, et sinon elle apparaît au prochain démarrage interactif du développeur.

800 830 

801La clé `cli` s'appelait `settings` dans les versions antérieures. Cette orthographe est toujours acceptée comme alias, mais les nouveaux déploiements doivent utiliser `cli`.831La clé `cli` s'appelait `settings` dans les versions antérieures. Cette orthographe est toujours acceptée comme alias, mais les nouveaux déploiements doivent utiliser `cli`.

802 832 


808 838 

809La passerelle vérifie chaque entrée au démarrage avec [les mêmes règles que Claude Code applique sur le client](/docs/fr/managed-mcp#what-an-entry-can-contain), et si une entrée échoue une vérification, la passerelle refuse de démarrer et nomme l'entrée.839La passerelle vérifie chaque entrée au démarrage avec [les mêmes règles que Claude Code applique sur le client](/docs/fr/managed-mcp#what-an-entry-can-contain), et si une entrée échoue une vérification, la passerelle refuse de démarrer et nomme l'entrée.

810 840 

811Si vous écrivez une référence `${VAR}` dans `gateway.yaml`, la passerelle la résout à partir de son environnement au démarrage via [expansion de secret](#secret-expansion) avant d'exécuter les vérifications d'entrée, afin que chaque client correspondant reçoive la valeur littérale et puisse la lire. L'[orientation d'en-tête pour les serveurs fournis](/docs/fr/managed-mcp#provide-servers-through-managed-settings) s'applique à la valeur étendue.841Si vous écrivez une référence `${VAR}` dans `gateway.yaml`, la passerelle la résout à partir de son environnement au démarrage via [expansion de secret](#secret-expansion) avant d'exécuter les vérifications d'entrée, afin que chaque client correspondant reçoive la valeur littérale et puisse la lire. L'[orientation d'en-tête pour les serveurs fournis](/docs/fr/managed-mcp#provide-servers-through-managed-settings) s'applique à la valeur développée.

812 842 

813La passerelle rejette l'orthographe `.mcp.json` `mcpServers` dans un bloc `cli`, et son erreur de démarrage nomme `managedMcpServers` comme clé à utiliser. Avant v2.1.259, la passerelle rejetait toute définition de serveur MCP dans un bloc `cli`.843La passerelle rejette l'orthographe `.mcp.json` `mcpServers` dans un bloc `cli`, et son erreur de démarrage nomme `managedMcpServers` comme clé à utiliser. Avant v2.1.259, la passerelle rejetait toute définition de serveur MCP dans un bloc `cli`.

814 844 


829* La liste d'autorisation de sortie, de `sandbox.network.allowedDomains`. Si vous définissez `coworkEgressAllowedHosts` dans le bloc `desktop` de la politique, la passerelle utilise cette valeur à la place de la liste dérivée859* La liste d'autorisation de sortie, de `sandbox.network.allowedDomains`. Si vous définissez `coworkEgressAllowedHosts` dans le bloc `desktop` de la politique, la passerelle utilise cette valeur à la place de la liste dérivée

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

831 861 

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

833 863 

834Pour définir `disabledBuiltinTools`, `coworkEgressAllowedHosts` ou le paramètre `managedMcpServers` propre de Claude Desktop dans le bloc `desktop` d'une politique, vous avez besoin de Claude Code v2.1.232 ou ultérieur sur le serveur de passerelle. Le `managedMcpServers` de Claude Desktop prend une valeur de tableau plutôt qu'un objet.864Pour définir `disabledBuiltinTools`, `coworkEgressAllowedHosts` ou le paramètre `managedMcpServers` propre de Claude Desktop dans le bloc `desktop` d'une politique, vous avez besoin de Claude Code v2.1.232 ou ultérieur sur le serveur de passerelle. Le `managedMcpServers` de Claude Desktop prend une valeur de tableau plutôt qu'un objet.

835 865 

836La passerelle omet les clés sans équivalent Claude Desktop, comme `hooks` et les règles de permission limitées comme `Bash(npm *)`, de la réponse d'amorçage.866La passerelle omet les clés sans équivalent Claude Desktop, comme `hooks` et les règles de permission limitées comme `Bash(npm *)`, de la réponse d'amorçage.

837 867 

838Ajoutez le bloc `desktop` optionnel aux côtés de `cli` pour définir les paramètres Claude Desktop directement. Écrivez les paramètres de la [référence de configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop en tant que noms de clés plats. Laissez de côté les clés que Claude Desktop lit uniquement à partir de MDM ou de fichiers locaux, comme `bootstrapUrl` ; la passerelle les rejette au démarrage. Avant v2.1.232, la passerelle acceptait une liste fixe de 11 clés de porte de fonctionnalité, comme `chatTabEnabled` et `disableAutoUpdates`, et rejetait chaque autre clé au démarrage. Avant v2.1.227, la passerelle rejetait également `chatTabEnabled` et `chatAdvancedFileAnalysisEnabled` au démarrage.868Ajoutez le bloc `desktop` optionnel aux côtés de `cli` pour définir les paramètres de Claude Desktop directement. Écrivez les paramètres de la [référence de configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop en tant que noms de clés plats. Laissez de côté les clés que Claude Desktop lit uniquement à partir de fichiers MDM ou locaux, comme `bootstrapUrl` ; la passerelle les rejette au démarrage. Avant v2.1.232, la passerelle acceptait une liste fixe de 11 clés de porte de fonctionnalité, comme `chatTabEnabled` et `disableAutoUpdates`, et rejetait chaque autre clé au démarrage. Avant v2.1.227, la passerelle rejetait également `chatTabEnabled` et `chatAdvancedFileAnalysisEnabled` au démarrage.

839 869 

840```yaml theme={null}870```yaml theme={null}

841managed:871managed:


860 890 

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

862 892 

863Si vous définissez `orgPluginSettings` dans le bloc `desktop` d'une politique, la passerelle le sert sous la forme de tableau que Claude Desktop 1.15200.0 et ultérieur lit. Les anciens bureaux ignorent le tableau et n'appliquent aucune politique d'outil de plugin, afin de mettre à jour les membres vers 1.15200.0 ou ultérieur avant de vous y fier.893`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` et `sshClientPath` nécessitent Claude Code v2.1.281 ou ultérieur sur le serveur de passerelle. Tout comme la valeur `required` de `microsoftAuthBroker` et le champ `continuousAccessEvaluation` d'une entrée Microsoft 365 `managedMcpServers`. Les versions de Claude Desktop qui précèdent la valeur `required` la lisent comme `disabled`, donc définissez `required` uniquement après que chaque membre's Claude Desktop la supporte. La [référence de configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop liste la version qui lit en premier chaque clé.

894 

895Si vous définissez `orgPluginSettings` dans le bloc `desktop` d'une politique, la passerelle la sert sous la forme de tableau que Claude Desktop 1.15200.0 et ultérieur lit. Les anciens bureaux ignorent le tableau et n'appliquent aucune politique d'outil de plugin, donc mettez à jour les membres à 1.15200.0 ou ultérieur avant de vous y fier.

864 896 

865La passerelle remplit les clés qu'un bloc `desktop` d'une politique ne définit pas à partir du bloc `desktop` de la capture-tout `match: {}`, de la même manière qu'elle remplit le bloc `cli` d'une politique à partir de la base. Si vous définissez `disabledBuiltinTools` ou `builtinToolPolicy` à la fois dans la base et dans une politique par rôle, la passerelle conserve la restriction de la base :897La passerelle remplit les clés qu'un bloc `desktop` d'une politique ne définit pas à partir du bloc `desktop` de la capture-tout `match: {}`, de la même manière qu'elle remplit le bloc `cli` d'une politique à partir de la base. Si vous définissez `disabledBuiltinTools` ou `builtinToolPolicy` à la fois dans la base et dans une politique par rôle, la passerelle conserve la restriction de la base :

866 898 


875 Précédence avec d'autres sources gérées907 Précédence avec d'autres sources gérées

876</h4>908</h4>

877 909 

878Si un appareil a également une politique livrée par MDM ou un `managed-settings.json` local, les paramètres livrés par la passerelle sont prioritaires. [Précédence au sein du niveau géré](/docs/fr/managed-settings#precedence-within-the-managed-tier) sur la page des paramètres gérés dit quand les sources locales s'appliquent, et a les [clés que Claude Code lit à partir de chaque source admin](/docs/fr/managed-settings#keys-read-from-every-admin-source) indépendamment de la source qu'il a sélectionnée, comme les clés de verrouillage du bac à sable, `forceRemoteSettingsRefresh` et la fusion `env` par variable. Un [`policyHelper`](/docs/fr/settings-reference#policyhelper) configuré dans un profil MDM ou le fichier de paramètres gérés s'exécute uniquement lorsque la passerelle ne livre aucun paramètre ; l'entrée dit ce que sa sortie remplace.910Si un appareil a également une politique livrée par MDM ou un `managed-settings.json` local, les paramètres livrés par la passerelle sont classés en premier. [Précédence au sein du niveau géré](/docs/fr/managed-settings#precedence-within-the-managed-tier) sur la page des paramètres gérés dit quand les sources locales s'appliquent, et a les [clés que Claude Code lit à partir de chaque source admin](/docs/fr/managed-settings#keys-read-from-every-admin-source) indépendamment de la source qu'il a sélectionnée, comme les clés de verrouillage du sandbox, `forceRemoteSettingsRefresh` et le `env` par variable fusionner. Un [`policyHelper`](/docs/fr/settings-reference#policyhelper) configuré dans un profil MDM ou le fichier de paramètres gérés s'exécute uniquement lorsque la passerelle ne livre aucun paramètre ; l'entrée dit ce que sa sortie remplace.

879 911 

880Les hôtes d'intégration comme [Claude Desktop](/docs/fr/desktop) peuvent fournir une politique via l'option SDK `managedSettings`. [Paramètres parents à partir d'hôtes d'intégration](/docs/fr/managed-settings#parent-settings-from-embedding-hosts) dit quand Claude Code l'applique, et [Restreindre les paramètres parents](/docs/fr/claude-apps-gateway#restrict-parent-settings) liste les paramètres de direction d'autorisation qui s'appliquent toujours sans les verrous `allowManaged*Only`.912Les hôtes d'intégration tels que [Claude Desktop](/docs/fr/desktop) peuvent fournir une politique via l'option SDK `managedSettings`. [Paramètres parents à partir d'hôtes d'intégration](/docs/fr/managed-settings#parent-settings-from-embedding-hosts) dit quand Claude Code l'applique, et [Restreindre les paramètres parents](/docs/fr/claude-apps-gateway#restrict-parent-settings) liste les paramètres de direction d'autorisation qui s'appliquent toujours sans les verrous `allowManaged*Only`.

881 913 

882Les politiques de passerelle s'appliquent à chaque invocation de Claude Code sur la machine, y compris les exécutions non interactives `claude -p` et les sessions générées par le SDK Agent. Si la passerelle est inaccessible au démarrage, les sessions connectées quittent avec une erreur plutôt que de s'exécuter sans leur politique.914Les politiques de passerelle s'appliquent à chaque invocation de Claude Code sur la machine, y compris les exécutions non interactives `claude -p` et les sessions générées par le SDK Agent. Si la passerelle est inaccessible au démarrage, les sessions connectées quittent avec une erreur plutôt que de s'exécuter sans leur politique.

883 915 


887 919 

888Le CLI envoie des métriques, des journaux et, lorsqu'ils sont activés, des traces à la passerelle, qui les relaie textuellement à chaque destination configurée. Les exportations utilisent OpenTelemetry Protocol (OTLP) sur HTTP. Pour ignorer le relais et faire exporter les sessions directement à votre collecteur, [nommez le collecteur dans une politique](#export-directly-to-your-collector). Consultez [Surveillance de l'utilisation](/docs/fr/monitoring-usage) pour les métriques et événements que le CLI émet.920Le CLI envoie des métriques, des journaux et, lorsqu'ils sont activés, des traces à la passerelle, qui les relaie textuellement à chaque destination configurée. Les exportations utilisent OpenTelemetry Protocol (OTLP) sur HTTP. Pour ignorer le relais et faire exporter les sessions directement à votre collecteur, [nommez le collecteur dans une politique](#export-directly-to-your-collector). Consultez [Surveillance de l'utilisation](/docs/fr/monitoring-usage) pour les métriques et événements que le CLI émet.

889 921 

890Le CLI horodate chaque exportation avec l'identité de l'utilisateur authentifié, lue à partir du JWT émis par la passerelle : les attributs `user.id`, `user.email` et `user.groups`. L'attribution du coût et de l'utilisation par développeur fonctionne donc sans configuration côté développeur.922Dans les sessions connectées via `/login`, le CLI horodate chaque exportation avec l'identité de l'utilisateur authentifié, lue à partir du JWT émis par la passerelle : les attributs `user.id`, `user.email` et `user.groups`. L'attribution des coûts et de l'utilisation par développeur fonctionne donc sans configuration côté développeur.

891 923 

892[Claude Desktop](#claude-desktop-overlay) et les sessions Cowork connectées via la passerelle horodatent leur télémétrie avec `user.email` et `user.groups` aux côtés de `enduser.id`, afin que vous puissiez couvrir l'utilisation du terminal, du bureau et de Cowork avec une requête sur `user.email` ou `user.groups`. `user.groups` est la liste des groupes IdP séparée par des virgules.924[Claude Desktop](#claude-desktop-overlay) et les sessions Cowork connectées via la passerelle horodatent leur télémétrie avec `user.email` et `user.groups` aux côtés de `enduser.id`, afin que vous puissiez couvrir l'utilisation du terminal, du bureau et de Cowork avec une requête sur `user.email` ou `user.groups`. `user.groups` est la liste des groupes IdP séparés par des virgules.

893 925 

894La télémétrie du bureau et de Cowork porte également `enduser.sub`, la revendication `sub` que votre fournisseur d'identité émet pour l'utilisateur, qui reste la même lorsque l'e-mail d'un utilisateur change. Les sessions de terminal horodatent la même valeur sous `user.id`, afin qu'une requête qui correspond à `enduser.sub` par rapport à `user.id` du terminal couvre l'utilisation du terminal, du bureau et de Cowork d'un utilisateur ensemble. Sur les exportations du bureau et de Cowork, `user.id` est un identifiant anonyme, pas le sujet.926La télémétrie du bureau et de Cowork porte également `enduser.sub`, la revendication `sub` que votre fournisseur d'identité émet pour l'utilisateur, qui reste la même lorsque l'e-mail d'un utilisateur change. Les sessions de terminal horodatent la même valeur sous `user.id`, afin qu'une requête qui correspond à `enduser.sub` par rapport au terminal `user.id` couvre l'utilisation du terminal, du bureau et de Cowork d'un utilisateur ensemble. Sur les exportations du bureau et de Cowork, `user.id` est un identifiant anonyme, pas le sujet.

895 927 

896Comme toutes les données OpenTelemetry de Claude Code, ces attributs vont uniquement aux destinations que votre organisation configure, jamais à Anthropic.928Comme toutes les données OpenTelemetry de Claude Code, ces attributs vont uniquement aux destinations que votre organisation configure, jamais à Anthropic.

897 929 

898Si la liste des groupes d'un utilisateur est plus longue que 255 caractères une fois codée en pourcentage, ou si un nom de groupe contient une virgule ou un signe égal, la passerelle laisse `user.groups` hors de la télémétrie du bureau et de Cowork de cet utilisateur plutôt que de la tronquer. Les sessions de terminal de cet utilisateur portent toujours la liste complète.930Si la liste de groupes d'un utilisateur est plus longue que 255 caractères une fois codée en pourcentage, ou si un nom de groupe contient une virgule ou un signe égal, la passerelle laisse `user.groups` hors de la télémétrie du bureau et de Cowork de cet utilisateur plutôt que de la tronquer. Les sessions de terminal de cet utilisateur portent toujours la liste complète.

899 931 

900La passerelle laisse `enduser.sub` hors quand le sujet est plus long que 255 caractères une fois codé en pourcentage, ou contient un espace, un caractère en dehors de l'ASCII imprimable, ou l'un de `,` `;` `=` `\` `"` `%`. La télémétrie du bureau et de Cowork de cet utilisateur conserve ses autres attributs.932La passerelle laisse `enduser.sub` hors quand le sujet est plus long que 255 caractères une fois codé en pourcentage, ou contient un espace, un caractère en dehors de l'ASCII imprimable, ou l'un de `,` `;` `=` `\` `"` `%`. La télémétrie du bureau et de Cowork de cet utilisateur conserve ses autres attributs.

901 933 


921<Warning>953<Warning>

922 Chaque destination opte pour `metrics`, `logs` et `traces` indépendamment, et la valeur par défaut est les métriques uniquement. Les signaux diffèrent en sensibilité :954 Chaque destination opte pour `metrics`, `logs` et `traces` indépendamment, et la valeur par défaut est les métriques uniquement. Les signaux diffèrent en sensibilité :

923 955 

924 * **Métriques** : compteurs agrégés comme les comptages de jetons, les comptages de demandes et la latence956 * **Métriques** : compteurs agrégés tels que les comptages de jetons, les comptages de demandes et la latence

925 * **Journaux et traces** : peuvent porter des commandes Bash complètes, des entrées d'outils et des chemins de fichiers, couvrant tout ce que Claude Code fait sur la machine d'un développeur957 * **Journaux et traces** : peuvent porter des commandes Bash complètes, des entrées d'outils et des chemins de fichiers, couvrant tout ce que Claude Code fait sur la machine d'un développeur

926 958 

927 Activez les journaux et les traces uniquement sur les destinations avec les contrôles d'accès et la politique de rétention que les données justifient.959 Activez les journaux et les traces uniquement sur les destinations avec les contrôles d'accès et la politique de rétention que les données justifient.

928</Warning>960</Warning>

929 961 

930Chaque URL `forward_to` doit utiliser `https://`, avec une exception pour un collecteur sur l'interface de bouclage propre de la passerelle :962Chaque URL `forward_to` doit utiliser `https://`, avec une exception pour un collecteur sur l'interface de bouclage de la passerelle elle-même :

931 963 

932* `http://localhost:<port>` passe la validation de configuration, mais la [garde SSRF](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) bloque chaque exportation avec `ECONNREFUSED_SSRF` à moins que vous ne définissiez `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` dans l'environnement de la passerelle964* `http://localhost:<port>` passe la validation de configuration, mais le [garde SSRF](/docs/fr/claude-apps-gateway-deploy#threat-model-summary) bloque chaque exportation avec `ECONNREFUSED_SSRF` à moins que vous ne définissiez `CLAUDE_GATEWAY_ALLOW_LOOPBACK=1` dans l'environnement de la passerelle

933* `http://127.0.0.1:<port>` ou `http://[::1]:<port>` échoue au démarrage à moins que cette variable ne soit définie965* `http://127.0.0.1:<port>` ou `http://[::1]:<port>` échoue au démarrage à moins que cette variable ne soit définie

934 966 

935Pour un collecteur en cluster, exposez-le sur HTTPS à sa propre adresse interne, ou exécutez-le en tant que sidecar avec la variable définie.967Pour un collecteur en cluster, exposez-le sur HTTPS à sa propre adresse interne, ou exécutez-le en tant que sidecar avec la variable définie.


956Les développeurs connectés via `/login` ne peuvent pas rediriger les exportations avec leur propre configuration OTEL :988Les développeurs connectés via `/login` ne peuvent pas rediriger les exportations avec leur propre configuration OTEL :

957 989 

958* **Variables définies localement** : Claude Code applique les variables poussées au niveau géré, afin que chacune remplace la valeur qu'un développeur définit pour elle localement.990* **Variables définies localement** : Claude Code applique les variables poussées au niveau géré, afin que chacune remplace la valeur qu'un développeur définit pour elle localement.

959* **Points de terminaison configurés localement** : avec l'exportation OTLP/HTTP activée, le CLI ignore tout point de terminaison configuré localement, que la passerelle ait poussé les variables de télémétrie ou non. Ses exportations vont à la passerelle à moins qu'une politique [nomme votre collecteur comme point de terminaison](#export-directly-to-your-collector).991* **Points de terminaison configurés localement** : avec l'exportation OTLP/HTTP activée, le CLI ignore tout point de terminaison configuré localement, que la passerelle ait poussé ou non les variables de télémétrie. Ses exportations vont à la passerelle à moins qu'une politique [nomme votre collecteur comme point de terminaison](#export-directly-to-your-collector).

960 992 

961Sans destination `forward_to` pour un signal, la passerelle l'accepte et le rejette. Si les développeurs exportent déjà la télémétrie Claude Code vers l'un de vos collecteurs, ajoutez-le en tant que destination `forward_to`, avec les journaux ou les traces activés s'ils les exportent, afin qu'il continue à recevoir leurs données après qu'ils se connectent. Pour ignorer le relais à la place, [nommez le collecteur dans une politique](#export-directly-to-your-collector).993Sans destination `forward_to` pour un signal, la passerelle l'accepte et le rejette. Si les développeurs exportent déjà la télémétrie Claude Code vers l'un de vos collecteurs, ajoutez-le en tant que destination `forward_to`, avec les journaux ou les traces activés s'ils les exportent, afin qu'il continue à recevoir leurs données après qu'ils se connectent. Pour ignorer le relais à la place, [nommez le collecteur dans une politique](#export-directly-to-your-collector).

962 994 

963[Les traces](/docs/fr/monitoring-usage#traces-beta) nécessitent également `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` sur chaque client. Définissez-le dans le bloc `env` d'une politique gérée, car la passerelle ne le pousse pas. Les développeurs l'approuvent dans la même [boîte de dialogue d'approbation de sécurité](#managed) que le point de terminaison poussé déclenche déjà.995[Traces](/docs/fr/monitoring-usage#traces-beta) nécessitent également `CLAUDE_CODE_ENHANCED_TELEMETRY_BETA=1` sur chaque client. Définissez-le dans le bloc `env` d'une politique gérée, car la passerelle ne le pousse pas. Les développeurs l'approuvent dans la même [boîte de dialogue d'approbation de sécurité](#managed) que le point de terminaison poussé déclenche déjà.

964 996 

965Définissez-le à `1` uniquement dans les politiques dont vous voulez que les groupes soient tracés. Une politique qui ne le définit pas hérite de la valeur de votre politique de capture-tout `match: {}` si cette politique en définit une, selon les [règles de fusion](#managed). Pour empêcher les clients d'un groupe d'envoyer des traces même lorsqu'un développeur définit la variable localement, définissez-la à `0` dans la politique de ce groupe.997Définissez-le à `1` uniquement dans les politiques dont vous voulez que les groupes soient tracés. Une politique qui ne le définit pas hérite de la valeur de votre politique de capture-tout `match: {}` si cette politique en définit une, selon les [règles de fusion](#managed). Pour empêcher les clients d'un groupe d'envoyer des traces même lorsqu'un développeur définit la variable localement, définissez-la à `0` dans la politique de ce groupe.

966 998 

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

968 1000 

969<h4 id="add-your-own-labels">1001<h4 id="add-your-own-labels">

970 Ajouter vos propres étiquettes1002 Ajouter vos propres étiquettes

971</h4>1003</h4>

972 1004 

973Pour mettre des étiquettes fixes comme `service.namespace` ou `deployment.environment.name` sur la télémétrie des sessions connectées via la passerelle, définissez `telemetry.resource_attributes`. Chaque étiquette est un attribut de ressource OpenTelemetry, et chaque destination reçoit les mêmes étiquettes.1005Pour placer des étiquettes fixes comme `service.namespace` ou `deployment.environment.name` sur la télémétrie des sessions connectées via la passerelle, définissez `telemetry.resource_attributes`. Chaque étiquette est un attribut de ressource OpenTelemetry, et chaque destination reçoit les mêmes étiquettes.

974 1006 

975Les sessions obtiennent les étiquettes uniquement lorsque vous définissez également `telemetry.forward_to` et `listen.public_url`. Cet exemple ajoute deux étiquettes :1007Les sessions obtiennent les étiquettes uniquement lorsque vous définissez également `telemetry.forward_to` et `listen.public_url`. Cet exemple ajoute deux étiquettes :

976 1008 


991* Les valeurs sont au maximum 255 caractères tels que la passerelle les compte après codage en pourcentage, donc `/`, `:` et `@` comptent chacun comme trois1023* Les valeurs sont au maximum 255 caractères tels que la passerelle les compte après codage en pourcentage, donc `/`, `:` et `@` comptent chacun comme trois

992* Les valeurs sont du texte, donc citez un nombre, `true` ou `false`1024* Les valeurs sont du texte, donc citez un nombre, `true` ou `false`

993 1025 

994Vous avez besoin de Claude Code v2.1.281 ou ultérieur sur le serveur de passerelle pour définir `telemetry.resource_attributes`. Une passerelle antérieure refuse de démarrer lorsqu'elle trouve la clé. Mettez à niveau chaque réplica avant d'ajouter la clé, et supprimez la clé avant de revenir en arrière vers une version antérieure.1026Vous avez besoin de Claude Code v2.1.281 ou ultérieur sur le serveur de passerelle pour définir `telemetry.resource_attributes`. Une passerelle antérieure refuse de démarrer lorsqu'elle trouve la clé. Mettez à niveau chaque réplica avant d'ajouter la clé, et supprimez la clé avant de revenir à une version antérieure.

995 1027 

996Les sessions de terminal connectées via `/login` reçoivent les étiquettes en tant que `OTEL_RESOURCE_ATTRIBUTES`, poussées avec les autres [variables de télémétrie](#telemetry). Si vous définissez `OTEL_RESOURCE_ATTRIBUTES` dans le bloc `env` d'une politique, les sessions de terminal que cette politique correspond obtiennent cette valeur à la place des étiquettes. Claude Desktop reçoit les étiquettes de la passerelle aux côtés de `user.email` et des autres attributs d'identité.1028Les sessions de terminal connectées via `/login` reçoivent les étiquettes en tant que `OTEL_RESOURCE_ATTRIBUTES`, poussées avec les autres [variables de télémétrie](#telemetry). Si vous définissez `OTEL_RESOURCE_ATTRIBUTES` dans le bloc `env` d'une politique, les sessions de terminal que cette politique correspond obtiennent cette valeur à la place des étiquettes. Claude Desktop reçoit les étiquettes de la passerelle aux côtés de `user.email` et des autres attributs d'identité.

997 1029 


1001 Exporter directement vers votre collecteur1033 Exporter directement vers votre collecteur

1002</h4>1034</h4>

1003 1035 

1004Pour que les sessions connectées via `/login` envoient la télémétrie directement à votre collecteur au lieu de passer par le relais, définissez `OTEL_EXPORTER_OTLP_ENDPOINT` à l'URL de base `https://` du collecteur dans le bloc `env` d'une [politique gérée](#managed). Claude Code ajoute `/v1/metrics`, `/v1/logs` ou `/v1/traces` à l'URL que vous définissez, comme `https://otel-collector.example.com:4318`, et exporte chaque signal là-bas sur OTLP/HTTP. Nécessite Claude Code v2.1.265 ou ultérieur sur la machine de chaque développeur. Les clients antérieurs exportent via le relais.1036Pour faire envoyer les sessions connectées via `/login` la télémétrie directement à votre collecteur au lieu de passer par le relais, définissez `OTEL_EXPORTER_OTLP_ENDPOINT` à l'URL de base `https://` du collecteur dans le bloc `env` d'une [politique gérée](#managed). Claude Code ajoute `/v1/metrics`, `/v1/logs` ou `/v1/traces` à l'URL que vous définissez, comme `https://otel-collector.example.com:4318`, et exporte chaque signal là-bas sur OTLP/HTTP. Nécessite Claude Code v2.1.265 ou ultérieur sur la machine de chaque développeur. Les clients antérieurs exportent via le relais.

1005 1037 

1006Pour vous authentifier auprès du collecteur, définissez `OTEL_EXPORTER_OTLP_HEADERS` dans le même bloc `env`. Les sessions n'envoient jamais le jeton de session de passerelle du développeur à un collecteur nommé de cette façon.1038Pour vous authentifier auprès du collecteur, définissez `OTEL_EXPORTER_OTLP_HEADERS` dans le même bloc `env`. Les sessions n'envoient jamais le jeton de session de passerelle du développeur à un collecteur nommé de cette façon.

1007 1039 

1008Lorsque vous ajoutez ou modifiez ce point de terminaison dans une politique, Claude Code demande à chaque développeur de l'approuver dans la [boîte de dialogue d'approbation de sécurité](#managed) avant de l'appliquer dans une session interactive.1040Lorsque vous ajoutez ou modifiez ce point de terminaison dans une politique, Claude Code demande à chaque développeur de l'approuver dans la [boîte de dialogue d'approbation de sécurité](#managed) avant de l'appliquer dans une session interactive.

1009 1041 

1010Claude Code vérifie le point de terminaison avant d'exporter un signal directement, et garde ce signal sur le relais lorsqu'une vérification échoue. Les vérifications incluent :1042Claude Code vérifie le point de terminaison avant d'exporter un signal directement, et conserve ce signal sur le relais lorsqu'une vérification échoue. Les vérifications incluent :

1011 1043 

1012* Le point de terminaison provient de la passerelle elle-même. Si vous définissez la même variable dans un profil MDM ou un `managed-settings.json` local, les exportations restent sur le relais.1044* Le point de terminaison provient de la passerelle elle-même. Si vous définissez la même variable dans un profil MDM ou un `managed-settings.json` local, les exportations restent sur le relais.

1013* L'URL utilise `https://`, ou `http://` à une adresse de bouclage1045* L'URL utilise `https://`, ou `http://` à une adresse de bouclage

1014* L'URL se résout en un chemin se terminant par `/v1/<signal>`, sans requête ni fragment. Claude Code construit ce chemin lui-même à partir de la variable générique. Il utilise une variable par signal comme `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` telle qu'écrite, afin d'inclure le chemin complet là-bas.1046* L'URL se résout en un chemin se terminant par `/v1/<signal>`, sans requête ni fragment. Claude Code construit ce chemin lui-même à partir de la variable générique. Il utilise une variable par signal comme `OTEL_EXPORTER_OTLP_METRICS_ENDPOINT` telle qu'écrite, donc incluez le chemin complet là-bas.

1015* L'URL n'est pas l'hôte propre de la passerelle. Un point de terminaison adressé à la passerelle conserve le chemin du relais et son jeton de session.1047* L'URL n'est pas l'hôte propre de la passerelle. Un point de terminaison adressé à la passerelle conserve le chemin du relais et son jeton de session.

1016* Ni vous ni le développeur n'avez configuré [`otelHeadersHelper`](/docs/fr/settings-reference#otelheadershelper) dans aucune source de paramètres. Avec un helper configuré, chaque signal reste sur le relais.1048* Ni vous ni le développeur n'avez configuré [`otelHeadersHelper`](/docs/fr/settings-reference#otelheadershelper) dans aucune source de paramètres. Avec un helper configuré, chaque signal reste sur le relais.

1017 1049 

1018Le point de terminaison que vous nommez change uniquement où les exportations vont. Vous choisissez toujours quels signaux exportent du tout avec les sélecteurs `OTEL_*_EXPORTER`.1050Le point de terminaison que vous nommez change uniquement où les exportations vont. Vous choisissez toujours quels signaux exportent du tout avec les sélecteurs `OTEL_*_EXPORTER`.

1019 1051 

1020Le point de terminaison seul n'active pas l'exportation, afin de définir également les variables qui le font, à moins que la passerelle ne les pousse déjà :1052Le point de terminaison seul n'active pas l'exportation, donc définissez également les variables qui le font, à moins que la passerelle ne les pousse déjà :

1021 1053 

1022* Si la passerelle [pousse déjà les variables de télémétrie](#telemetry), elles couvrent l'activation, les sélecteurs et le protocole, et votre point de terminaison explicite remplace la valeur `<public_url>` poussée. Définissez un sélecteur `OTEL_*_EXPORTER` à `otlp` vous-même uniquement pour un signal qu'aucune destination `forward_to` n'active.1054* Si la passerelle [pousse déjà les variables de télémétrie](#telemetry), elles couvrent l'activation, les sélecteurs et le protocole, et votre point de terminaison explicite remplace la valeur `<public_url>` poussée. Définissez un sélecteur `OTEL_*_EXPORTER` à `otlp` vous-même uniquement pour un signal qu'aucune destination `forward_to` n'active.

1023* Si ce n'est pas le cas, définissez également `CLAUDE_CODE_ENABLE_TELEMETRY=1`, les sélecteurs `OTEL_*_EXPORTER` et `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`.1055* Si ce n'est pas le cas, définissez également `CLAUDE_CODE_ENABLE_TELEMETRY=1`, les sélecteurs `OTEL_*_EXPORTER` et `OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf`.

1024 1056 

1025Lorsque le développeur se déconnecte, ou se connecte à une passerelle différente, les exportations vers le collecteur s'arrêtent et Claude Code supprime chaque lot restant plutôt que de l'envoyer.1057Lorsque le développeur se déconnecte, ou se connecte à une passerelle différente, les exportations vers le collecteur s'arrêtent et Claude Code rejette chaque lot restant plutôt que de l'envoyer.

1026 1058 

1027<h4 id="when-a-destination-fails">1059<h4 id="when-a-destination-fails">

1028 Lorsqu'une destination échoue1060 Quand une destination échoue

1029</h4>1061</h4>

1030 1062 

1031La passerelle ne met pas en mémoire tampon, ne réessaie pas ou ne stocke pas la télémétrie, afin qu'elle rejette une exportation qui n'atteint pas une destination plutôt que de la livrer tard. Chaque destination réussit ou échoue par elle-même, et le client exportateur reçoit une réponse de succès de toute façon, afin qu'une livraison échouée n'apparaisse que dans le journal de la passerelle.1063La passerelle ne met pas en mémoire tampon, ne réessaie pas ou ne stocke pas la télémétrie, afin qu'elle rejette une exportation qui n'atteint pas une destination plutôt que de la livrer tard. Chaque destination réussit ou échoue par elle-même, et le client exportateur reçoit une réponse de succès de toute façon, afin qu'une livraison échouée n'apparaisse que dans le journal de la passerelle.

1032 1064 

1033Après cinq livraisons consécutives échouées à une destination, la passerelle met en pause le transfert vers elle en étirements de 30 secondes, enregistrant chaque pause, jusqu'à ce qu'une livraison réussisse. Toute réponse d'erreur, délai d'attente ou erreur de connexion compte comme une livraison échouée, sauf `400`, `413`, `415`, `422` et `431`, qui signifient que le collecteur a refusé la charge utile de cette exportation comme mal formée ou trop grande.1065Après cinq livraisons consécutives échouées à une destination, la passerelle met en pause le transfert vers elle en étirements de 30 secondes, enregistrant chaque pause, jusqu'à ce qu'une livraison réussisse. Toute réponse d'erreur, délai d'attente ou erreur de connexion compte comme une livraison échouée, sauf `400`, `413`, `415`, `422` et `431`, qui signifient que le collecteur a refusé la charge utile de cette exportation comme mal formée ou trop grande.

1034 1066 

1035Une charge utile refusée n'avance ni ne réinitialise le compteur d'échecs : la passerelle continue de transférer vers la destination et enregistre un avertissement la nommant et le statut, au premier refus de la destination et tous les centièmes après.1067Une charge utile refusée n'avance ni ne réinitialise le compteur d'échecs : la passerelle continue de transférer vers la destination et enregistre un avertissement nommant celle-ci et le statut, au premier refus de la destination et tous les centièmes après.

1036 1068 

1037<h3 id="http-tuning">1069<h3 id="http-tuning">

1038 Réglage HTTP1070 Réglage HTTP


1042 1074 

1043| Bloc | Clé | Par défaut | Description |1075| Bloc | Clé | Par défaut | Description |

1044| - | - | - | - |1076| - | - | - | - |

1045| `access_control` | `allow_cidrs` / `deny_cidrs` | vide | Autorisation/refus IP entrant par adresse client, après résolution `trusted_proxies`. `deny_cidrs` est vérifié en premier ; un client qu'il correspond est rejeté même si `allow_cidrs` correspond également. Si `allow_cidrs` est non vide, la passerelle est par défaut refusée. `/healthz` et `/readyz` sont exempts de `allow_cidrs`. Lorsqu'un proxy de confiance envoie une entrée `X-Forwarded-For` qui n'est pas une adresse IP, le vrai client est inconnu et la passerelle enregistre un avertissement une fois nommant ce qu'il faut vérifier. Où l'une ou l'autre liste s'applique à la demande, elle la refuse avec `403` et la raison d'audit `xff_unparseable`. Où aucune ne le fait, elle sert la demande et utilise l'adresse propre du proxy comme adresse IP client pour les limites de débit par IP et l'audit. |1077| `access_control` | `allow_cidrs` / `deny_cidrs` | vide | Inbound IP allow/deny par adresse client, après résolution `trusted_proxies`. `deny_cidrs` est vérifié en premier ; un client qu'il correspond est rejeté même si `allow_cidrs` correspond également. Si `allow_cidrs` est non vide, la passerelle est par défaut refusée. `/healthz` et `/readyz` sont exempts de `allow_cidrs`. Lorsqu'un proxy de confiance envoie une entrée `X-Forwarded-For` qui n'est pas une adresse IP, le client réel est inconnu et la passerelle enregistre un avertissement une fois nommant ce qu'il faut vérifier. Lorsque l'une ou l'autre liste s'applique à la demande, elle la refuse avec `403` et la raison d'audit `xff_unparseable`. Lorsqu'aucune ne s'applique, elle sert la demande et utilise l'adresse propre du proxy comme adresse IP client pour les limites de débit par IP et l'audit. |

1046| `limits` | `max_request_bytes` | 32 MiB | Corps de demande entrant max ; les demandes surdimensionnées obtiennent `413` avant que le corps ne soit mis en mémoire tampon. Augmentez pour les demandes de fichiers ou d'images volumineux. |1078| `limits` | `max_request_bytes` | 32 MiB | Corps de demande entrante max ; les demandes surdimensionnées obtiennent `413` avant que le corps ne soit mis en mémoire tampon. Augmentez pour les demandes de fichiers ou d'images volumineux. |

1047| `limits` | `max_request_header_bytes` | non défini | Lorsqu'il est défini, les en-têtes surdimensionnés retournent `431` |1079| `limits` | `max_request_header_bytes` | non défini | Lorsqu'il est défini, les en-têtes surdimensionnés retournent `431` |

1048| `limits` | `max_url_length` | non défini | Lorsqu'il est défini, une URL trop longue retourne `414` |1080| `limits` | `max_url_length` | non défini | Lorsqu'il est défini, une URL trop longue retourne `414` |

1049| `timeouts` | `upstream_ttfb_ms` | 120000 | Attente max pour les en-têtes de réponse en amont (temps jusqu'au premier octet). Le corps de la réponse s'écoule ensuite sans plafond mural. S'applique au chemin d'amont Anthropic direct ; sur tous les autres fournisseurs, la passerelle attend jusqu'à une heure pour que la réponse commence. |1081| `timeouts` | `upstream_ttfb_ms` | 120000 | Attente max pour les en-têtes de réponse en amont (temps jusqu'au premier octet). Le corps de la réponse s'écoule ensuite sans plafond mural. S'applique au chemin d'amont Anthropic direct ; sur tous les autres fournisseurs, la passerelle attend jusqu'à une heure pour que la réponse commence. |

1050| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Limite de débit par IP sur le point de terminaison d'autorisation d'appareil non authentifié. Augmentez pour une grande organisation derrière une adresse IP de sortie partagée ou NAT. [Déploiements à grande échelle](/docs/fr/claude-apps-gateway-deploy#large-rollouts) montre comment le dimensionner. Ces limites s'appliquent uniquement au flux de connexion par octroi d'appareil, pas à l'inférence `/v1/messages`. Consultez [Résistance à la force brute du code utilisateur](/docs/fr/claude-apps-gateway-deploy#user-code-brute-force-resistance). |1082| `rate_limits` | `device_authorization.max` / `.window_seconds` | 30 / 600 | Limite de débit par IP sur le point de terminaison d'autorisation d'appareil non authentifié. Augmentez pour une grande organisation derrière une adresse IP de sortie partagée ou NAT. [Déploiements à grande échelle](/docs/fr/claude-apps-gateway-deploy#large-rollouts) montre comment le dimensionner. Ces limites s'appliquent uniquement au flux de connexion par octroi d'appareil, pas à l'inférence `/v1/messages`. Consultez [Résistance à la force brute du code utilisateur](/docs/fr/claude-apps-gateway-deploy#user-code-brute-force-resistance). |

1051| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite de débit par IP sur les soumissions `user_code` à `/device`. C'est ce qui empêche quelqu'un de deviner le code d'un autre développeur. [Déploiements à grande échelle](/docs/fr/claude-apps-gateway-deploy#large-rollouts) montre jusqu'où l'augmenter. |1083| `rate_limits` | `device_verify.max` / `.window_seconds` | 10 / 600 | Limite de débit par IP sur les soumissions `user_code` à `/device`. C'est ce qui empêche quelqu'un de deviner le code d'un autre développeur. [Déploiements à grande échelle](/docs/fr/claude-apps-gateway-deploy#large-rollouts) montre jusqu'où l'augmenter. |

1052 1084 

1053Si vous laissez les deux listes `access_control` vides, ce qui est la valeur par défaut, la passerelle sert toute adresse client, afin que seul votre réseau restreigne qui peut l'atteindre. C'est important car une passerelle peut pousser des [paramètres gérés](#managed) qui exécutent des commandes sur les machines des développeurs.1085Si vous laissez les deux listes `access_control` vides, ce qui est la valeur par défaut, la passerelle sert n'importe quelle adresse client, afin que seul votre réseau restreigne qui peut l'atteindre. C'est important car une passerelle peut pousser [des paramètres gérés](#managed) qui exécutent des commandes sur les machines des développeurs.

1054 1086 

1055Tandis que `allow_cidrs` est vide, la passerelle avertit à deux endroits, sans changer la façon dont elle répond à toute demande :1087Tandis que `allow_cidrs` est vide, la passerelle avertit à deux endroits, sans changer la façon dont elle répond à aucune demande :

1056 1088 

1057* **Au démarrage** : un avertissement dans le journal opérationnel recommande d'autoriser uniquement les plages privées `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` et `fc00::/7`, plus toute autre plage interne à partir de laquelle vos développeurs se connectent. Si vous liez la passerelle à une adresse de bouclage et ne définissez ni `trusted_proxies` ni `public_url`, comme dans le développement local, l'avertissement n'apparaît pas.1089* **Au démarrage** : un avertissement dans le journal opérationnel recommande d'autoriser uniquement les plages privées `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`, `100.64.0.0/10`, `127.0.0.0/8`, `::1/128` et `fc00::/7`, plus toute autre plage interne à partir de laquelle vos développeurs se connectent. Si vous liez la passerelle à une adresse de bouclage et ne définissez ni `trusted_proxies` ni `public_url`, comme dans le développement local, l'avertissement n'apparaît pas.

1058* **À l'exécution** : la première fois qu'une demande arrive d'une adresse en dehors de ces plages privées, la passerelle enregistre un avertissement et émet un événement d'audit [`access.public_client`](/docs/fr/claude-apps-gateway-deploy#logs) portant l'adresse IP du client. Les deux se déclenchent une fois par processus. Les adresses lien-local, `169.254.0.0/16` et `fe80::/10`, ne comptent pas comme publiques. La passerelle répond à `/healthz` et `/readyz` avant cette vérification, afin que les sondes de santé à partir de plages publiques ne la déclenchent pas.1090* **À l'exécution** : la première fois qu'une demande arrive d'une adresse en dehors de ces plages privées, la passerelle enregistre un avertissement et émet un événement d'audit [`access.public_client`](/docs/fr/claude-apps-gateway-deploy#logs) portant l'adresse IP du client. Les deux se déclenchent une fois par processus. Les adresses lien-local, `169.254.0.0/16` et `fe80::/10`, ne comptent pas comme publiques. La passerelle répond à `/healthz` et `/readyz` avant cette vérification, afin que les sondes de santé à partir de plages publiques ne la déclenchent pas.

1059 1091 

1060Les deux signaux utilisent l'adresse client telle que la passerelle la résout. Si un équilibreur de charge, un port-forward ou un tunnel relaie le trafic et n'est pas listé dans `listen.trusted_proxies`, la passerelle voit l'adresse du relais, qui est généralement privée, afin que ni l'avertissement d'exécution ni une liste d'autorisation privée ne l'attrape.1092Les deux signaux utilisent l'adresse client telle que la passerelle la résout. Si un équilibreur de charge, un port-forward ou un tunnel relaie le trafic et n'est pas listé dans `listen.trusted_proxies`, la passerelle voit l'adresse du relais, qui est généralement privée, afin que ni l'avertissement à l'exécution ni une liste d'autorisation privée ne l'attrape.

1061 1093 

1062Derrière un tel front-end, définissez [`listen.trusted_proxies`](#listen) en premier afin que la passerelle voie les vraies adresses client, et gardez la passerelle et tout ce qui se trouve devant elle inaccessible à partir d'Internet public indépendamment.1094Derrière un tel front-end, définissez [`listen.trusted_proxies`](#listen) en premier afin que la passerelle voie les adresses client réelles, et gardez la passerelle et tout ce qui se trouve devant elle inaccessible à partir d'Internet public indépendamment.

1063 1095 

1064<h3 id="load_test_mode">1096<h3 id="load_test_mode">

1065 `load_test_mode`1097 `load_test_mode`

1066</h3>1098</h3>

1067 1099 

1068Le bloc `load_test_mode` vous permet de tester la charge d'une passerelle sans appeler un fournisseur de modèles. Tandis qu'il est activé, la passerelle construit et signe chaque demande de fournisseur comme d'habitude, la rejette au lieu de l'envoyer, et diffuse une réponse en conserve via son chemin de réponse normal. La réponse est un texte de remplissage qui commence par une phrase disant qu'elle est en conserve.1100Le bloc `load_test_mode` vous permet de tester la charge d'une passerelle sans appeler un fournisseur de modèles. Pendant qu'il est activé, la passerelle construit et signe chaque demande de fournisseur comme d'habitude, la rejette au lieu de l'envoyer, et diffuse une réponse en conserve via son chemin de réponse normal. La réponse est du texte de remplissage qui commence par une phrase disant qu'elle est en conserve.

1069 1101 

1070Nécessite Claude Code v2.1.282 ou ultérieur sur le serveur de passerelle. Les versions antérieures refusent de démarrer lorsque la clé est trouvée. Mettez à niveau chaque réplica avant d'ajouter le bloc, et supprimez le bloc avant de revenir en arrière.1102Nécessite Claude Code v2.1.282 ou ultérieur sur le serveur de passerelle. Une passerelle antérieure refuse de démarrer lorsqu'elle trouve la clé. Mettez à niveau chaque réplica avant d'ajouter le bloc, et supprimez le bloc avant de revenir à une version antérieure.

1071 1103 

1072L'exemple ci-dessous active le mode avec les valeurs par défaut, une réponse d'environ 750 jetons de texte diffusée sur environ 10 secondes :1104L'exemple ci-dessous active le mode avec les valeurs par défaut, une réponse d'environ 750 jetons de texte diffusée sur environ 10 secondes :

1073 1105 


1081| Champ | Requis | Description |1113| Champ | Requis | Description |

1082| - | - | - |1114| - | - | - |

1083| `enabled` | Oui | `true` active le mode. `false` conserve vos nombres dans le fichier avec le mode désactivé. La passerelle refuse de démarrer si le bloc est présent sans lui. |1115| `enabled` | Oui | `true` active le mode. `false` conserve vos nombres dans le fichier avec le mode désactivé. La passerelle refuse de démarrer si le bloc est présent sans lui. |

1084| `reply_tokens` | Non | Par défaut `750`. Environ combien de jetons de texte chaque réponse en conserve porte, un nombre entier de 1 à 100 000. |1116| `reply_tokens` | Non | Par défaut `750`. Environ combien de jetons de texte chaque réponse en conserve porte, un nombre entier de 1 à 100000. |

1085| `reply_seconds` | Non | Par défaut `9.5`. Combien de temps une réponse diffusée prend, de 0 à 600. `0` envoie la réponse entière à la fois. Une réponse à une demande non diffusée revient toujours à la fois. |1117| `reply_seconds` | Non | Par défaut `9.5`. Combien de temps une réponse diffusée prend, de 0 à 600. `0` envoie la réponse entière à la fois. Une réponse à une demande non diffusée revient toujours à la fois. |

1086 1118 

1087Un test de charge dans ce mode couvre la passerelle, votre Postgres et tout ce qui se trouve devant la passerelle. Il ne couvre pas les limites, la vitesse ou le chemin réseau du fournisseur.1119Un test de charge dans ce mode couvre la passerelle, votre Postgres et tout ce qui se trouve devant la passerelle. Il ne couvre pas les limites, la vitesse ou le chemin réseau du fournisseur.

1088 1120 

1089Aucune demande de modèle n'est envoyée au fournisseur, afin que le CPU d'une réplica par demande soit une estimation et se lit plus bas qu'en production, qui chiffre également son trafic vers le fournisseur. Confirmez un nombre de réplicas avec un petit pilote contre le vrai fournisseur. Avant v2.1.283, l'estimation se lit beaucoup plus bas.1121Aucune demande de modèle n'est envoyée au fournisseur, afin que le CPU d'une réplica par demande soit une estimation et se lit plus bas que la production, qui chiffre également son trafic vers le fournisseur. Confirmez un nombre de réplicas avec un petit pilote contre le vrai fournisseur. Avant v2.1.283, l'estimation se lit beaucoup plus bas.

1090 1122 

1091Tandis que le mode est activé, une demande peut porter un en-tête `x-load-test-user` contenant un nombre entier de jusqu'à sept chiffres. La passerelle compte chaque nombre comme un développeur distinct avec l'e-mail et les groupes du développeur dont le jeton est venu avec la demande.1123Tandis que le mode est activé, une demande peut porter un en-tête `x-load-test-user` contenant un nombre entier de jusqu'à sept chiffres. La passerelle compte chaque nombre comme un développeur séparé, avec l'e-mail et les groupes du développeur dont le jeton est venu avec la demande.

1092 1124 

1093Donnez au déploiement de test de charge sa propre base de données vide, car la passerelle refuse de démarrer avec le mode activé par rapport à une base de données dans laquelle un développeur a déjà dépensé quelque chose.1125Donnez au déploiement de test de charge sa propre base de données vide, car la passerelle refuse de démarrer avec le mode activé par rapport à une base de données dans laquelle un développeur a déjà dépensé quelque chose.

1094 1126 


1149 postgres_url: ${GATEWAY_POSTGRES_URL}1181 postgres_url: ${GATEWAY_POSTGRES_URL}

1150 # max_connections: 51182 # max_connections: 5

1151 # connect_timeout_seconds: 51183 # connect_timeout_seconds: 5

1184 # readiness_grace_seconds: 300 # continuez à passer le contrôle de disponibilité lors d'un basculement de base de données

1152 1185 

1153# Active /v1/organizations/spend_limits (reflète l'API Admin Anthropic)1186# Active /v1/organizations/spend_limits (reflète l'API Admin Anthropic)

1154# et l'application des limites de dépenses par développeur sur /v1/messages. Omettez pour désactiver.1187# et l'application des limites de dépenses par développeur sur /v1/messages. Omettez pour désactiver.


1276 1309 

1277Pour Claude Desktop, définissez la clé `bootstrapUrl` dans la propre [configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop sur `<listen.public_url>/user/bootstrap`. Le flux de connexion et la stratégie par groupe correspondent alors à ceux du CLI une fois qu'une stratégie opte pour le serveur avec une clé `desktop` ; sans l'opt-in, `/user/bootstrap` retourne 404. Voir [Claude Desktop overlay](#claude-desktop-overlay) pour la moitié côté serveur.1310Pour Claude Desktop, définissez la clé `bootstrapUrl` dans la propre [configuration gérée](https://claude.com/docs/third-party/claude-desktop/configuration) de Claude Desktop sur `<listen.public_url>/user/bootstrap`. Le flux de connexion et la stratégie par groupe correspondent alors à ceux du CLI une fois qu'une stratégie opte pour le serveur avec une clé `desktop` ; sans l'opt-in, `/user/bootstrap` retourne 404. Voir [Claude Desktop overlay](#claude-desktop-overlay) pour la moitié côté serveur.

1278 1311 

1279Claude Code honore [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/fr/settings-reference#gatewayinternalnetworks), et la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod) uniquement à partir d'une source gérée sur la machine : `managed-settings.json`, le plist macOS ou le registre HKLM Windows, ou un assistant de stratégie. Un développeur les définissant dans son propre `~/.claude/settings.json` n'a aucun effet, et il en va de même pour les définir dans la charge utile de la passerelle.1312Claude Code honore [`forceLoginGatewayUrl`](/docs/fr/settings-reference#forcelogingatewayurl), [`gatewayInternalNetworks`](/docs/fr/settings-reference#gatewayinternalnetworks), et la valeur `"gateway"` de [`forceLoginMethod`](/docs/fr/settings-reference#forceloginmethod) uniquement à partir d'une source gérée sur la machine : `managed-settings.json`, le plist macOS ou le registre HKLM Windows, ou un assistant de stratégie. Les définir dans le `~/.claude/settings.json` personnel d'un développeur ou dans la charge utile de la passerelle ne configure pas la connexion à la passerelle.

1313 

1314Omettez `forceLoginMethod` et `forceLoginOrgUUID` de la charge utile. Claude Code lit toujours les deux clés à partir de la charge utile pour sa vérification des identifiants au démarrage, donc un développeur qui conserve une identifiant émis par Anthropic sur la machine obtient la sortie au démarrage décrite sous [Administrator policy requires a Cloud gateway sign-in](/docs/fr/errors#administrator-policy-requires-a-cloud-gateway-sign-in) même après sa connexion.

1280 1315 

1281<h2 id="related">1316<h2 id="related">

1282 Connexes1317 Connexes

Details

303| - | - | - |303| - | - | - |

304| Inférence (invites, complétions) | CLI → passerelle → votre amont | Uniquement si l'API Anthropic est un amont configuré |304| Inférence (invites, complétions) | CLI → passerelle → votre amont | Uniquement si l'API Anthropic est un amont configuré |

305| Télémétrie (métriques OTLP, plus [journaux et traces opt-in](/docs/fr/claude-apps-gateway-config#telemetry)) | CLI → passerelle → votre collecteur | Jamais |305| Télémétrie (métriques OTLP, plus [journaux et traces opt-in](/docs/fr/claude-apps-gateway-config#telemetry)) | CLI → passerelle → votre collecteur | Jamais |

306| Identité (email, groupes, sub) | IdP → passerelle → JWT → CLI ; le CLI l'estampille sur les exports OTLP. Si vous activez [`forward_user_identity`](/docs/fr/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run), la passerelle envoie également l'email du développeur et le sujet IdP en tant qu'en-têtes à votre proxy | Jamais |306| Identité (email, groupes, sub) | IdP → passerelle → CLI ; le CLI l'estampille sur les exports OTLP. Si vous activez [`forward_user_identity`](/docs/fr/claude-apps-gateway-config#per-user-identity-headers-for-a-proxy-you-run), la passerelle envoie également l'email du développeur et le sujet IdP en tant qu'en-têtes à votre proxy | Jamais |

307| Paramètres gérés | Votre YAML de passerelle → CLI | Jamais |307| Paramètres gérés | Votre YAML de passerelle → CLI | Jamais |

308| Journal d'audit | Stderr de passerelle → votre agrégateur | Jamais |308| Journal d'audit | Stderr de passerelle → votre agrégateur | Jamais |

309 309 

Details

514 Télémétrie514 Télémétrie

515</h2>515</h2>

516 516 

517La passerelle vous donne des métriques d'utilisation par développeur sans aucune configuration OTEL par machine. Claude Code émet des métriques, des journaux et des traces OpenTelemetry (OTLP) optionnels ; [Surveillance de l'utilisation](/docs/fr/monitoring-usage) couvre tout ce que le CLI rapporte. Sur les sessions de passerelle, le CLI marque chaque export avec les attributs d'identité IdP authentifiés `user.id`, `user.email` et `user.groups`, donc l'utilisation s'accumule par développeur sans plomberie `OTEL_RESOURCE_ATTRIBUTES`.517La passerelle vous donne des métriques d'utilisation par développeur sans aucune configuration OTEL par machine. Claude Code émet des métriques, des journaux et des traces OpenTelemetry (OTLP) optionnels ; [Surveillance de l'utilisation](/docs/fr/monitoring-usage) couvre tout ce que le CLI rapporte. Dans les sessions signées via `/login`, le CLI marque chaque export avec les attributs d'identité IdP authentifiés `user.id`, `user.email` et `user.groups`, donc l'utilisation s'accumule par développeur.

518 518 

519La passerelle elle-même est un relais OTLP authentifié. Définissez [`telemetry.forward_to`](/docs/fr/claude-apps-gateway-config#telemetry) avec `listen.public_url`, et elle pousse les paramètres d'exportateur OTEL à chaque client connecté et transfère leur trafic OTLP verbatim à chaque destination que vous listez. Chaque destination opte pour les métriques, les journaux et les traces indépendamment, et la valeur par défaut est les métriques uniquement ; consultez la [référence `telemetry`](/docs/fr/claude-apps-gateway-config#telemetry) pour les champs par signal et leurs compromis de sensibilité. La passerelle ne met pas en mémoire tampon, n'agrège pas ou ne stocke pas la télémétrie, donc l'endroit où les données arrivent est entièrement la configuration d'exportateur du collecteur.519La passerelle elle-même est un relais OTLP authentifié. Définissez [`telemetry.forward_to`](/docs/fr/claude-apps-gateway-config#telemetry) avec `listen.public_url`, et elle pousse les paramètres d'exportateur OTEL à chaque client connecté et transfère leur trafic OTLP verbatim à chaque destination que vous listez. Chaque destination opte pour les métriques, les journaux et les traces indépendamment, et la valeur par défaut est les métriques uniquement ; consultez la [référence `telemetry`](/docs/fr/claude-apps-gateway-config#telemetry) pour les champs par signal et leurs compromis de sensibilité. La passerelle ne met pas en mémoire tampon, n'agrège pas ou ne stocke pas la télémétrie, donc l'endroit où les données arrivent est entièrement la configuration d'exportateur du collecteur.

520 520 

Details

150* Le répertoire doit être un référentiel git avec au moins un commit150* Le répertoire doit être un référentiel git avec au moins un commit

151* Le référentiel regroupé doit être inférieur à 100 MB. Les référentiels plus grands reviennent à regrouper uniquement la branche actuelle, puis à un seul snapshot aplati de l'arborescence de travail, et échouent uniquement si le snapshot est toujours trop volumineux151* Le référentiel regroupé doit être inférieur à 100 MB. Les référentiels plus grands reviennent à regrouper uniquement la branche actuelle, puis à un seul snapshot aplati de l'arborescence de travail, et échouent uniquement si le snapshot est toujours trop volumineux

152* Les fichiers non suivis ne sont pas inclus ; exécutez `git add` sur les fichiers que vous voulez que la session cloud voie152* Les fichiers non suivis ne sont pas inclus ; exécutez `git add` sur les fichiers que vous voulez que la session cloud voie

153* Sur macOS, Linux et WSL, Claude Code refuse l'upload quand il ne peut pas suivre un paramètre git qui affecte les règles d'attributs qui s'appliquent à vos fichiers, comme `core.attributesFile` défini dans un fichier config inclus. Le [message de refus](/docs/fr/errors#the-repository-upload-cant-follow-a-git-setting) nomme le paramètre et la correction

153* Les sessions créées à partir d'un bundle ne peuvent repousser vers un remote GitHub que si votre [connexion GitHub](#github-authentication-options) a accès en push à ce référentiel154* Les sessions créées à partir d'un bundle ne peuvent repousser vers un remote GitHub que si votre [connexion GitHub](#github-authentication-options) a accès en push à ce référentiel

154 155 

155<h3 id="send-follow-ups-from-the-cli">156<h3 id="send-follow-ups-from-the-cli">

Details

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

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

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

1572| `plugins/installed_plugins.set-aside.<date>.<hash>.json`, `plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Copies datées que Claude Code crée avant de réécrire [`installed_plugins.json`](/docs/fr/plugins/loading#find-plugins-on-disk) : enregistrements d'installation qu'il a supprimés, et le contenu d'un fichier qu'il n'a pas pu lire. |

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

1573 1574 

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


1715| `~/.claude/policy-limits.json` | Rien. Actualisé automatiquement. |1716| `~/.claude/policy-limits.json` | Rien. Actualisé automatiquement. |

1716| `~/.claude/tasks/` | Listes de tâches qu'une session reprise récupérerait |1717| `~/.claude/tasks/` | Listes de tâches qu'une session reprise récupérerait |

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

1719| `~/.claude/plugins/installed_plugins.set-aside.<date>.<hash>.json`, `~/.claude/plugins/installed_plugins.unreadable.<date>.<hash>.kept` | Les copies des enregistrements d'installation de plugins que Claude Code a supprimés ou n'a pas pu lire. Rien ne les relit |

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

1719| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Rien. Répertoires hérités non écrits par les versions actuelles. |1721| `~/.claude/todos/`, `~/.claude/statsig/`, `~/.claude/logs/`, `~/.claude/image-cache/` | Rien. Répertoires hérités non écrits par les versions actuelles. |

1720 1722 

claude-projects.md +62 −48

Details

80Vous créez et utilisez des projets à [claude.ai/code](https://claude.ai/code), dans l'onglet Code de l'application de bureau, ou dans l'application mobile Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) et [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Dans le navigateur et l'application de bureau, il y a deux façons de démarrer un projet :80Vous créez et utilisez des projets à [claude.ai/code](https://claude.ai/code), dans l'onglet Code de l'application de bureau, ou dans l'application mobile Claude pour [iOS](https://apps.apple.com/us/app/claude-by-anthropic/id6473753684) et [Android](https://play.google.com/store/apps/details?id=com.anthropic.claude). Dans le navigateur et l'application de bureau, il y a deux façons de démarrer un projet :

81 81 

82* **À partir de zéro**, quand vous connaissez le flux de travail que vous voulez que Claude exécute : ouvrez la boîte de dialogue **New project** et nommez-la. [Démarrer un nouveau projet à partir de zéro](#start-a-new-project-from-scratch) parcourt la boîte de dialogue.82* **À partir de zéro**, quand vous connaissez le flux de travail que vous voulez que Claude exécute : ouvrez la boîte de dialogue **New project** et nommez-la. [Démarrer un nouveau projet à partir de zéro](#start-a-new-project-from-scratch) parcourt la boîte de dialogue.

83* **À partir d'une session cloud qui fait déjà le travail** : choisissez **Continue as a project** dans le menu de cette session, et Claude propose la configuration du projet à partir de ce que la session faisait. Voir [Démarrer à partir d'une session cloud existante](#start-from-an-existing-cloud-session).83* **À partir d'une session cloud qui fait déjà le travail** : choisissez **Continue as project** dans le menu de cette session, et Claude propose la configuration du projet à partir de ce que la session faisait. Voir [Démarrer à partir d'une session cloud existante](#start-from-an-existing-cloud-session).

84 84 

85De toute façon, [vérifiez d'abord les prérequis](#check-the-prerequisites).85De toute façon, [vérifiez d'abord les prérequis](#check-the-prerequisites).

86 86 


131 Démarrer à partir d'une session cloud existante131 Démarrer à partir d'une session cloud existante

132</h3>132</h3>

133 133 

134Si vous avez déjà une session cloud qui fait du travail qui appartient à un projet, ouvrez le menu de la session dans la barre latérale et choisissez **Continue as a project** ou **Move to project** :134Si vous avez déjà une session cloud qui fait du travail qui appartient à un projet, ouvrez le menu de la session dans la barre latérale et choisissez **Continue as project** ou **Move to project** :

135 135 

136* **Continue as a project** crée un nouveau projet nommé d'après la session et l'ouvre. Claude lit la session et publie **Setup recommendations** dans la conversation pour que vous confirmiez. La session d'origine reste dans votre liste de sessions, et si elle était au milieu d'un tour, elle continue à s'exécuter, donc arrêtez-la vous-même si vous ne voulez pas que les deux fonctionnent à la fois. Si vous utilisez la bannière **Set up project** qui peut apparaître au-dessus de la boîte de message de la session cloud à la place, le résultat est le même, sauf que le tour en cours de la session s'arrête une fois que le projet s'ouvre.136* **Continue as project** crée un nouveau projet nommé d'après la session et l'ouvre. Claude lit la session et publie **Setup recommendations** dans la conversation pour que vous confirmiez. La session d'origine reste dans votre liste de sessions, et si elle était au milieu d'un tour, elle continue à s'exécuter, donc arrêtez-la vous-même si vous ne voulez pas que les deux fonctionnent à la fois. Si vous utilisez la bannière **Set up project** qui peut apparaître au-dessus de la boîte de message de la session cloud à la place, le résultat est le même, sauf que le tour en cours de la session s'arrête une fois que le projet s'ouvre.

137* **Move to project** apporte le travail de la session dans un projet existant. Il publie un message dans la conversation de ce projet demandant à Claude de lire la session et de continuer là où elle s'était arrêtée, et le nouveau travail continue dans les propres threads du projet. La session d'origine reste dans votre liste de sessions, inchangée.137* **Move to project** apporte le travail de la session dans un projet existant. Il publie un message dans la conversation de ce projet demandant à Claude de lire la session et de continuer là où elle s'était arrêtée, et le nouveau travail continue dans les propres threads du projet. La session d'origine reste dans votre liste de sessions, inchangée.

138 138 

139Une session locale n'a pas ces options. Pour continuer son travail dans un projet, décrivez le travail dans la conversation du projet, ou poussez sa branche, ajoutez ce référentiel au projet et nommez la branche dans la tâche.

140 

139<h3 id="set-up-github-access">141<h3 id="set-up-github-access">

140 Configurer l'accès GitHub142 Configurer l'accès GitHub

141</h3>143</h3>


162 Travailler dans un projet164 Travailler dans un projet

163</h2>165</h2>

164 166 

165Donnez du travail à Claude à travers la conversation du projet : des tâches une à la fois ou plusieurs à la fois, plus des mises à jour et des pensées vagues au fur et à mesure qu'elles arrivent. Claude achemine chaque message, et les threads font le travail et rapportent.167Donnez du travail à Claude via la conversation du projet : des tâches une à la fois ou plusieurs à la fois, plus des mises à jour et des pensées informelles au fur et à mesure. Claude achemine chaque message, et les threads font le travail et rendent compte.

166 168 

167<h3 id="your-first-batch">169<h3 id="your-first-batch">

168 Votre premier lot170 Votre premier lot

169</h3>171</h3>

170 172 

171Avant d'envoyer à un nouveau projet un lot de travail, configurez-le pour que les premiers threads reviennent comme vous le souhaitez :173Avant d'envoyer un nouveau lot de travail à un projet, configurez-le pour que les premiers threads reviennent comme vous le souhaitez :

172 174 

1731. [Écrire les instructions du projet](#write-project-instructions) : le brief que chaque thread commence, comme la branche à cibler, comment un thread vérifie son travail et ce qui a besoin de votre approbation.1751. [Écrire les instructions du projet](#write-project-instructions) : le brief que chaque thread commence, par exemple quelle branche cibler, comment un thread vérifie son travail, et ce qui a besoin de votre approbation.

1742. Envoyez un petit morceau du vrai travail, ou démarrez l'un des threads que Claude a suggérés, et ouvrez le thread quand il termine pour voir comment il rapporte et ce qu'il a fait sur sa branche. S'il a supposé quelque chose de mal ou ne pouvait pas atteindre ce dont il avait besoin, [Les threads ont deviné ou se sont arrêtés au lieu de demander](#threads-guessed-or-stalled-instead-of-asking) couvre où corriger cela.1762. Envoyez un petit morceau du vrai travail, ou démarrez l'un des threads que Claude a suggérés s'il en a proposé, et ouvrez le thread quand il se termine pour voir comment il rend compte et ce qu'il a fait sur sa branche. S'il a supposé quelque chose de mal ou n'a pas pu atteindre ce dont il avait besoin, [Les threads ont deviné ou se sont bloqués au lieu de demander](#threads-guessed-or-stalled-instead-of-asking) couvre où corriger cela.

1753. Vérifiez **Thread model** et **Thread effort** dans **Project settings > General**. Un nouveau projet exécute chaque thread sur Opus à effort élevé, ce qui utilise votre plan le plus rapidement ; [Choisir des modèles et laisser Claude gérer le contexte](#choose-models-and-let-claude-manage-context) couvre les alternatives.1773. Vérifiez **Thread model** et **Thread effort** dans **Project settings > General**. Un nouveau projet exécute chaque thread sur Opus à effort élevé, ce qui consomme votre plan le plus rapidement ; [Choisir les modèles et laisser Claude gérer le contexte](#choose-models-and-let-claude-manage-context) couvre les alternatives.

1764. Demandez à Claude de [proposer des threads avant de les démarrer et d'en exécuter quelques-uns à la fois](#tune-how-claude-runs-a-project), et abandonnez ces limites une fois que quelques threads reviennent comme vous le souhaitez.1784. Demandez à Claude de [proposer les threads avant de les démarrer et d'en exécuter quelques-uns à la fois](#tune-how-claude-runs-a-project), et supprimez ces limites une fois que quelques threads reviennent comme vous le souhaitez.

177 179 

178<h3 id="send-work-and-read-results">180<h3 id="send-work-and-read-results">

179 Envoyer du travail et lire les résultats181 Envoyer du travail et lire les résultats

180</h3>182</h3>

181 183 

182Claude décide où va chaque message que vous envoyez dans la conversation :184Claude décide où chaque message que vous envoyez dans la conversation va :

183 185 

184* Une question rapide obtient généralement une réponse dans la conversation.186* Une question rapide reçoit généralement une réponse dans la conversation.

185* Le nouveau travail va à un nouveau thread ou à un thread qui travaille déjà dans ce domaine, et Claude vous dit lequel. Chaque nouveau thread s'affiche sous votre message sous forme de carte : une boîte avec le titre et l'état du thread, que vous cliquez pour ouvrir le thread.187* Le nouveau travail va à un nouveau thread ou à un thread déjà en train de travailler dans ce domaine, et Claude vous dit lequel. Chaque nouveau thread s'affiche sous votre message sous forme de carte : une boîte avec le titre et l'état du thread, que vous cliquez pour ouvrir le thread.

186* Plusieurs tâches non liées dans un message deviennent des threads séparés.188* Plusieurs tâches non liées dans un message deviennent des threads séparés.

187 189 

188Si Claude achemine quelque chose différemment de ce que vous vouliez, dites-le. [Affiner la façon dont Claude exécute un projet](#tune-how-claude-runs-a-project) énumère les choses que vous pouvez lui dire, comme réutiliser un thread existant pour les suites ou répondre sur place au lieu de démarrer un thread.190Si Claude achemine quelque chose différemment de ce que vous vouliez, dites-le. [Affiner comment Claude exécute un projet](#tune-how-claude-runs-a-project) énumère les choses que vous pouvez lui dire, comme réutiliser un thread existant pour les suites ou répondre sur place au lieu de démarrer un thread.

189 191 

190Les résultats complets d'un thread restent dans le thread, et vous ouvrez sa carte dans la conversation pour les lire. Les fichiers qu'un thread a produits sont également sur l'onglet **Library** dans **Overview**.192Les résultats complets d'un thread restent dans le thread, et vous ouvrez sa carte dans la conversation pour les lire. Les fichiers qu'un thread a produits sont également sur l'onglet **Library** dans **Overview**.

191 193 


195 Examiner la pull request d'un thread197 Examiner la pull request d'un thread

196</h3>198</h3>

197 199 

198Quand un thread change du code, voici ce qu'il fait sauf si vous lui dites autrement :200Quand un thread cloud change le code, voici ce qu'il fait sauf si vous lui dites le contraire :

199 201 

200* **Branch** : travaille sur une nouvelle branche, commencée à partir de la branche par défaut du référentiel.202* **Branch** : travaille sur une nouvelle branche, démarrée à partir de la branche par défaut du référentiel.

201* **Pull request** : en ouvre une quand vous le demandez, et peut en ouvrir une seule pour une correction de bug ou un autre changement concret.203* **Pull request** : en ouvre une quand vous le demandez, et peut en ouvrir une de sa propre initiative pour un correctif de bug ou un autre changement concret.

202* **Après l'ouverture** : surveille la pull request avec [auto-fix](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) activé, que auto-fix soit activé ou non pour vos autres sessions cloud. Il pousse des corrections quand CI échoue, traite les commentaires d'examen, et répond dans le thread quand les vérifications réussissent et la pull request est prête pour vous.204* **Après l'ouverture** : surveille la pull request avec [auto-fix](/docs/fr/claude-code-on-the-web#auto-fix-pull-requests) activé, que l'auto-fix soit activé ou non pour vos autres sessions cloud. Il pousse les correctifs quand CI échoue, traite les commentaires d'examen, et répond dans le thread quand les vérifications réussissent et la pull request est prête pour vous.

203 205 

204Quand un thread a poussé une branche ou ouvert une pull request, sa carte dans la conversation peut afficher un bouton pour l'étape suivante :206Quand un thread a poussé une branche ou ouvert une pull request, sa carte dans la conversation peut afficher un bouton pour l'étape suivante :

205 207 

206* **Resolve conflicts**, **Fix CI**, **Address comments**, et **Merge it** envoient cette instruction au thread en tant que message de vous, vous pouvez donc inviter le thread vous-même au lieu d'attendre qu'il réagisse à la pull request.208* **Resolve conflicts**, **Fix CI**, **Address comments**, et **Merge it** envoient cette instruction au thread comme un message de votre part, pour que vous puissiez inviter le thread vous-même au lieu d'attendre qu'il réagisse à la pull request.

207* **Review PR** ouvre la pull request sur GitHub.209* **Review PR** ouvre la pull request sur GitHub.

208* **Create PR** apparaît quand un thread inactif a poussé une branche mais n'a pas ouvert de pull request. Le cliquer crée la pull request à partir de cette branche directement plutôt que d'envoyer au thread une instruction pour en ouvrir une.210* **Create PR** apparaît quand un thread inactif a poussé une branche mais n'a pas ouvert de pull request. Cliquer dessus crée la pull request à partir de cette branche directement plutôt que d'envoyer au thread une instruction pour en ouvrir une.

209 211 

210Pour changer quand les threads ouvrent les pull requests, par exemple seulement quand vous le demandez, ou quelle branche ils commencent, dites-le dans la tâche ou dans [les instructions du projet](#write-project-instructions).212Pour changer quand les threads ouvrent les pull requests, par exemple seulement quand vous le demandez, ou quelle branche ils commencent, dites-le dans la tâche ou dans [les instructions du projet](#write-project-instructions).

211 213 


215 217 

216Le volet **Overview** à côté de la conversation suit les threads du projet. Il est déjà ouvert la première fois que vous ouvrez un nouveau projet. Le bouton **Overview** dans l'en-tête du projet le ferme et le rouvre, et affiche un point quand un thread vous attend.218Le volet **Overview** à côté de la conversation suit les threads du projet. Il est déjà ouvert la première fois que vous ouvrez un nouveau projet. Le bouton **Overview** dans l'en-tête du projet le ferme et le rouvre, et affiche un point quand un thread vous attend.

217 219 

218Dans l'application de bureau, vous obtenez également une notification de bureau quand Claude publie dans la conversation, un thread atteint une erreur ou un thread a besoin de votre entrée, vous n'avez donc pas besoin de garder le projet ouvert pour le découvrir. Pour obtenir également une notification chaque fois qu'un thread termine un tour, ou pour les désactiver pour un projet, choisissez **Notifications** dans le menu de la barre latérale du projet. Ces notifications sont uniquement de bureau : dans un navigateur, vérifiez le point sur le bouton **Overview**.220Dans l'application de bureau, vous recevez également une notification de bureau quand Claude poste dans la conversation, qu'un thread rencontre une erreur, ou qu'un thread a besoin de votre entrée, pour que vous n'ayez pas à garder le projet ouvert pour le découvrir. Pour en recevoir une aussi chaque fois qu'un thread termine un tour, ou pour les désactiver pour un projet, choisissez **Notifications** dans le menu de la barre latérale du projet. Ces notifications sont uniquement de bureau : dans un navigateur, vérifiez le point sur le bouton **Overview**.

219 221 

220L'onglet **Threads** du volet groupe les threads par état :222L'onglet **Threads** du volet groupe les threads par état :

221 223 

222| Groupe | Ce qui s'y trouve |224| Groupe | Ce qu'il contient |

223| :- | :- |225| :- | :- |

224| **Ready for review** | Threads dont la pull request est ouverte et en attente d'examen |226| **Ready for review** | Threads dont la pull request est ouverte et en attente d'examen |

225| **Waiting on you** | Threads qui ont besoin de votre réponse ou approbation, ou qui ont échoué |227| **Waiting on you** | Threads qui ont besoin de votre réponse ou approbation, ou qui ont échoué |


237Cliquez sur la carte d'un thread dans la conversation ou sa ligne dans **Overview** pour ouvrir sa transcription dans le volet Overview. De là, vous pouvez :239Cliquez sur la carte d'un thread dans la conversation ou sa ligne dans **Overview** pour ouvrir sa transcription dans le volet Overview. De là, vous pouvez :

238 240 

239* Lire ce que Claude a fait, étape par étape.241* Lire ce que Claude a fait, étape par étape.

240* Diriger la tâche en écrivant dans la boîte de message propre du thread. Un message là va directement à ce thread, tandis qu'une suite dans la conversation du projet ne l'atteint que quand Claude correspond la suite à ce thread.242* Diriger la tâche en écrivant dans la boîte de message propre du thread. Un message là va directement à ce thread, tandis qu'une suite dans la conversation du projet ne l'atteint que quand Claude fait correspondre la suite à ce thread.

241* Répondre à une invite de permission que le thread attend.243* Répondre à une invite de permission que le thread attend.

242* Interrompre le thread avec **Stop**, qui remplace le bouton d'envoi pendant que le thread fonctionne, ou en appuyant sur Échap.244* Interrompre le thread avec **Stop**, qui remplace le bouton d'envoi pendant que le thread fonctionne, ou en appuyant sur Échap.

243 245 

244<h3 id="choose-models-and-let-claude-manage-context">246<h3 id="choose-models-and-let-claude-manage-context">

245 Choisir des modèles et laisser Claude gérer le contexte247 Choisir les modèles et laisser Claude gérer le contexte

246</h3>248</h3>

247 249 

248Définissez les modèles et l'effort dans **Project settings > General**. Un nouveau projet exécute Opus partout, avec un [effort](/docs/fr/model-config#adjust-effort-level) élevé pour les threads et un effort faible pour la conversation :250Définissez les modèles et l'effort dans **Project settings > General**. Un nouveau projet exécute Opus partout, avec un [effort](/docs/fr/model-config#adjust-effort-level) élevé pour les threads et un effort faible pour la conversation :


250* **Thread model** et **Thread effort** s'appliquent aux threads. Pour utiliser un modèle différent pour une tâche, demandez-le dans la tâche ; pour un thread déjà en cours d'exécution, utilisez le sélecteur de modèle de ce thread.252* **Thread model** et **Thread effort** s'appliquent aux threads. Pour utiliser un modèle différent pour une tâche, demandez-le dans la tâche ; pour un thread déjà en cours d'exécution, utilisez le sélecteur de modèle de ce thread.

251* **Coordinator model** et **Coordinator effort** s'appliquent à Claude dans la conversation du projet.253* **Coordinator model** et **Coordinator effort** s'appliquent à Claude dans la conversation du projet.

252 254 

253Vous ne gérez pas les fenêtres de contexte dans un projet. Les threads se compactent automatiquement, et la conversation fonctionne à partir des messages récents, des threads récents et de la mémoire du projet plutôt que de son historique complet, elle continue donc aussi longtemps que le projet s'exécute. Mettez tout ce qui ne doit jamais être supprimé dans la [mémoire du projet](#give-a-project-standing-context). Si un thread dépasse sa fenêtre de contexte, il affiche [Claude a manqué de contexte à ce tour](#context-limit).255Vous ne gérez pas les fenêtres de contexte dans un projet. Les threads se compactent automatiquement, et la conversation fonctionne à partir des messages récents, des threads récents, et de la mémoire du projet plutôt que de son historique complet, pour qu'elle continue aussi longtemps que le projet s'exécute. Mettez tout ce qui ne doit jamais être supprimé dans [la mémoire du projet](#give-a-project-standing-context). Si un thread dépasse sa fenêtre de contexte, il affiche [Claude a manqué de contexte à ce tour](#context-limit).

254 256 

255<h3 id="tune-how-claude-runs-a-project">257<h3 id="tune-how-claude-runs-a-project">

256 Affiner la façon dont Claude exécute un projet258 Affiner comment Claude exécute un projet

257</h3>259</h3>

258 260 

259Dites à Claude dans la conversation combien de threads exécuter à la fois, quand publier des mises à jour et quand ouvrir des pull requests. Si Claude coordonne d'une manière que vous ne voulez pas, dites-le. Par exemple, vous pouvez dire :261Dites à Claude dans la conversation combien de threads exécuter à la fois, quand poster les mises à jour, et quand ouvrir les pull requests. Si Claude coordonne d'une manière que vous ne voulez pas, dites-le. Par exemple, vous pouvez dire :

260 262 

261* « Proposer des threads et attendre mon approbation avant de les démarrer » ou « Démarrer ceux-ci maintenant sans me demander de confirmer »263* « Propose les threads et attends mon approbation avant de les démarrer » ou « Démarre ceux-ci maintenant sans me demander de confirmer »

262* « Exécuter au maximum deux threads à la fois » ou « Réutiliser un thread existant pour les suites dans le même domaine »264* « Exécute au maximum deux threads à la fois » ou « Réutilise un thread existant pour les suites dans le même domaine »

263* « Publier des mises à jour plus courtes » ou « Publier seulement quand quelque chose se termine ou est bloqué »265* « Poste des mises à jour plus courtes » ou « Poste seulement quand quelque chose se termine ou se bloque »

264* « Donnez-moi une mise à jour d'état sur chaque thread »266* « Donne-moi une mise à jour de statut sur chaque thread »

265* « Faire cette tâche avec un modèle plus petit »267* « Fais cette tâche avec un modèle plus petit »

266* « N'ouvrez pas de pull request jusqu'à ce que j'aie vu le plan »268* « N'ouvre pas de pull request jusqu'à ce que j'aie vu le plan »

267* « Dites-moi ce qui ne va pas dans ces référentiels et ne corrigez rien pour l'instant », quand vous voulez examiner les résultats avant qu'aucun d'eux ne devienne un thread269* « Dis-moi ce qui ne va pas dans ces référentiels et ne corrige rien pour l'instant », quand vous voulez examiner les résultats avant qu'aucun d'eux ne devienne un thread

268* « Répondre à cela ici au lieu de démarrer un thread », quand Claude démarre un thread pour quelque chose que vous aviez l'intention comme une question rapide270* « Réponds à cela ici au lieu de démarrer un thread », quand Claude démarre un thread pour quelque chose que vous aviez l'intention comme une question rapide

269 271 

270Claude enregistre les préférences comme celles-ci dans la [mémoire du projet](#give-a-project-standing-context) de lui-même et les suit dans les threads ultérieurs. Ce sont des instructions que Claude respecte, pas des paramètres appliqués, donc une limite de thread que vous donnez de cette façon n'est pas un plafond dur. Ajoutez-en une aux instructions du projet quand vous voulez qu'elle soit formulée exactement et appliquée à chaque thread dès le départ.272Claude enregistre les préférences comme celles-ci dans [la mémoire du projet](#give-a-project-standing-context) de sa propre initiative et les suit dans les threads cloud ultérieurs. Ce sont des instructions que Claude respecte, pas des paramètres appliqués, donc une limite de thread que vous donnez de cette manière n'est pas un plafond strict. Ajoutez-en une aux instructions du projet quand vous voulez qu'elle soit formulée exactement et appliquée à chaque thread dès le départ.

271 273 

272<h3 id="unblock-a-thread-waiting-on-approval">274<h3 id="unblock-a-thread-waiting-on-approval">

273 Débloquer un thread en attente d'approbation275 Débloquer un thread en attente d'approbation


275 277 

276Les threads s'exécutent en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) quand le modèle du thread le supporte, donc la plupart des appels d'outils s'exécutent sans vous demander. Quand un thread a besoin de votre approbation, l'invite est à l'intérieur de ce thread et le thread attend jusqu'à ce que vous y répondiez. Dire à Claude dans la conversation du projet d'aller de l'avant ne l'atteint pas.278Les threads s'exécutent en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) quand le modèle du thread le supporte, donc la plupart des appels d'outils s'exécutent sans vous demander. Quand un thread a besoin de votre approbation, l'invite est à l'intérieur de ce thread et le thread attend jusqu'à ce que vous y répondiez. Dire à Claude dans la conversation du projet d'aller de l'avant ne l'atteint pas.

277 279 

278Chaque approbation couvre cette invite, ou le reste de ce thread si vous choisissez l'option plus large. Pour laisser chaque thread exécuter certaines commandes sans demander, ou pour en bloquer certaines, ajoutez des [règles de permission](/docs/fr/permissions) au `.claude/settings.json` du référentiel. Les threads ne les appliquent que dans un projet avec un référentiel ; voir [Ce que les threads reprennent de vos référentiels](#what-threads-pick-up-from-your-repositories).280Chaque approbation couvre cette invite, ou le reste de ce thread si vous choisissez l'option plus large. Pour laisser chaque thread exécuter certaines commandes sans demander, ou pour en bloquer certaines, ajoutez des [règles de permission](/docs/fr/permissions) au `.claude/settings.json` du référentiel. Les threads cloud ne les appliquent que dans un projet avec un référentiel ; voir [Ce que les threads récupèrent de vos référentiels](#what-threads-pick-up-from-your-repositories). Dans un projet avec plusieurs référentiels, aucune règle de permission du référentiel n'atteint un thread cloud, donc vous comptez sur le mode auto et sur les approbations que vous donnez à l'intérieur de chaque thread.

279 281 

280<h3 id="run-a-thread-on-your-own-computer">282<h3 id="run-a-thread-on-your-own-computer">

281 Exécuter un thread sur votre propre ordinateur283 Exécuter un thread sur votre propre ordinateur

282</h3>284</h3>

283 285 

284Quand une tâche a besoin de quelque chose que seul votre ordinateur possède, comme une base de données locale, un émulateur d'appareil ou une API derrière votre VPN, demandez à Claude d'exécuter le thread pour cette tâche sur votre ordinateur au lieu du cloud. Quand vous demandez dans la conversation du projet, le thread est une session Claude Code dans un dossier sur votre machine, connectée via [Remote Control](/docs/fr/remote-control). Les autres threads du projet continuent de s'exécuter dans le cloud. Comparé à un thread cloud, un thread sur votre ordinateur :286Quand une tâche a besoin de quelque chose que seul votre ordinateur a, comme une base de données locale, un émulateur d'appareil, ou une API derrière votre VPN, demandez à Claude d'exécuter le thread pour cette tâche sur votre ordinateur au lieu du cloud. Quand vous demandez dans la conversation du projet, le thread est une session Claude Code dans un dossier sur votre machine, connectée via [Remote Control](/docs/fr/remote-control). Les autres threads du projet continuent à s'exécuter dans le cloud. Comparé à un thread cloud, un thread sur votre ordinateur :

285 287 

286* Fonctionne avec les fichiers, les outils, les serveurs MCP et les paramètres Claude Code sur cette machine au lieu de l'environnement cloud du projet288* Fonctionne avec les fichiers, les outils, les serveurs MCP, et les paramètres Claude Code sur cette machine, y compris ses hooks et règles de permission, au lieu de l'environnement cloud du projet

287* Commence avec les instructions du projet, mais pas avec ses fichiers de mémoire chargés289* Commence avec les instructions du projet, mais pas avec ses fichiers de mémoire chargés

288* S'exécute uniquement tant que cet ordinateur est éveillé avec Remote Control activé290* S'exécute seulement tant que cet ordinateur est éveillé avec Remote Control activé

289 291 

290<Steps>292<Steps>

291 <Step title="Connecter le dossier">293 <Step title="Connecter le dossier">

292 Sur l'ordinateur qui a le dossier dont la tâche a besoin, rendez-le disponible via Remote Control de l'une des deux façons. Les deux ont besoin de Claude Code v2.1.280 ou ultérieur sur cet ordinateur.294 Sur l'ordinateur qui a le dossier dont la tâche a besoin, rendez-le disponible via Remote Control de l'une des deux façons. Les deux ont besoin de Claude Code v2.1.280 ou plus tard sur cet ordinateur.

293 295 

294 * **Dans l'application de bureau Claude** : ouvrez **Settings > Claude Code**, activez **Use this computer from your phone and claude.ai**, et ajoutez le dossier à la liste sous ce commutateur. Les threads peuvent s'exécuter sur cet ordinateur pendant que l'application est ouverte.296 * **Dans l'application de bureau Claude** : ouvrez **Settings > Claude Code**, activez **Use this computer from your phone and claude.ai**, et ajoutez le dossier à la liste sous ce commutateur. Les threads peuvent s'exécuter sur cet ordinateur pendant que l'application est ouverte.

295 * **Dans un terminal** : exécutez `claude remote-control` dans le dossier et laissez-le s'exécuter.297 * **Dans un terminal** : exécutez `claude remote-control` dans le dossier et laissez-le s'exécuter. Dans un référentiel git, ajoutez `--spawn worktree` pour donner à chaque thread là son propre [worktree](/docs/fr/worktrees) au lieu du dossier lui-même.

296 </Step>298 </Step>

297 299 

298 <Step title="Demander la tâche avec Work locally">300 <Step title="Demander la tâche avec Work locally">


300 </Step>302 </Step>

301 303 

302 <Step title="L'autoriser sur la carte">304 <Step title="L'autoriser sur la carte">

303 Claude répond avec une carte **Allow Claude to work in a folder on your device**. Choisissez le dossier si vous en avez connecté plusieurs. Puis cliquez sur **Allow once**.305 Claude répond avec une carte **Allow Claude to work in a folder on your device**. Choisissez le dossier si vous en avez connecté plusieurs. Deux threads travaillant dans un dossier en même temps peuvent écraser les changements l'un de l'autre, donc si le dossier est un référentiel git, vous pouvez activer **Worktree** dans les options du dossier pour donner à ce thread son propre worktree à la place. Puis cliquez sur **Allow once**.

304 </Step>306 </Step>

305</Steps>307</Steps>

306 308 

307Le thread s'exécute en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), donc Claude exécute les commandes et édite les fichiers dans ce dossier sans vous demander à chaque fois. Si le mode auto n'est pas disponible ou désactivé dans Claude Code sur cet ordinateur, le thread s'exécute sans lui, et toute invite de permission qu'il lève attend votre réponse dans le thread, comme [Débloquer un thread en attente d'approbation](#unblock-a-thread-waiting-on-approval) le décrit.309Le thread s'exécute en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), donc Claude exécute les commandes et édite les fichiers dans ce dossier sans vous demander à chaque fois. Si le mode auto n'est pas disponible ou est désactivé dans Claude Code de cet ordinateur, le thread s'exécute sans lui, et toute invite de permission qu'il lève attend votre réponse dans le thread, comme [Débloquer un thread en attente d'approbation](#unblock-a-thread-waiting-on-approval) le décrit.

308 310 

309Pendant que le thread s'exécute, une icône d'ordinateur portable dans son en-tête montre si votre ordinateur est connecté. Cliquez dessus pour voir quel dossier le thread utilise ou pour désactiver la connexion. Le thread s'interrompt pendant que cet ordinateur dort, et s'arrête si l'application de bureau ou `claude remote-control` quitte. [Perte de contact avec votre dossier](#lost-contact-with-your-folder) couvre comment le remettre en marche. Dans l'application de bureau, activez **Keep this computer awake for Remote Control** sous **Settings > Claude Code** pour empêcher l'ordinateur de s'endormir de lui-même.311Pendant que le thread s'exécute, une icône d'ordinateur portable dans son en-tête montre si votre ordinateur est connecté. Cliquez dessus pour voir quel dossier le thread utilise ou pour désactiver la connexion. Le thread se met en pause pendant que cet ordinateur dort, et s'arrête si l'application de bureau ou `claude remote-control` se ferme. [Perte de contact avec votre dossier](#lost-contact-with-your-folder) couvre comment le remettre en marche. Dans l'application de bureau, activez **Keep this computer awake for Remote Control** sous **Settings > Claude Code** pour empêcher l'ordinateur de s'endormir de sa propre initiative.

310 312 

311Un projet ne peut pas exécuter un thread sur votre ordinateur pendant que [**Require trusted devices**](/docs/fr/remote-control#trusted-devices) est activé pour votre compte.313Un projet ne peut pas exécuter un thread sur votre ordinateur pendant que [**Require trusted devices**](/docs/fr/remote-control#trusted-devices) est activé pour votre compte.

312 314 


320| :- | :- | :- |322| :- | :- | :- |

321| Mémoire du projet | Notes que Claude garde sur le projet, comme les exigences, les décisions et les pièges, stockées sous forme de fichiers. Chaque thread cloud lit le fichier d'index `MEMORY.md` au démarrage et ouvre les autres fichiers quand il en a besoin | Demandez à Claude dans la conversation du projet ou n'importe quel thread cloud de mémoriser une exigence, une décision ou un piège, ou d'en oublier un. Lisez, modifiez et supprimez les fichiers dans **Project settings > Memory** |323| Mémoire du projet | Notes que Claude garde sur le projet, comme les exigences, les décisions et les pièges, stockées sous forme de fichiers. Chaque thread cloud lit le fichier d'index `MEMORY.md` au démarrage et ouvre les autres fichiers quand il en a besoin | Demandez à Claude dans la conversation du projet ou n'importe quel thread cloud de mémoriser une exigence, une décision ou un piège, ou d'en oublier un. Lisez, modifiez et supprimez les fichiers dans **Project settings > Memory** |

322| Instructions du projet | Texte envoyé à chaque nouveau thread et à Claude dans la conversation du projet, jusqu'à 16 000 caractères. [Écrire les instructions du projet](#write-project-instructions) couvre ce qu'il faut y mettre | **Project settings > Memory > Project instructions**, ou demandez à Claude de changer les instructions |324| Instructions du projet | Texte envoyé à chaque nouveau thread et à Claude dans la conversation du projet, jusqu'à 16 000 caractères. [Écrire les instructions du projet](#write-project-instructions) couvre ce qu'il faut y mettre | **Project settings > Memory > Project instructions**, ou demandez à Claude de changer les instructions |

323| Référentiels, fichiers et environnement | Les référentiels que chaque thread cloud clone, les dossiers et fichiers qu'il peut lire sous `/mnt/project-files`, et l'environnement cloud dans lequel il s'exécute | Référentiels et environnement dans **Project settings > Environment**, ou demandez à Claude dans la conversation d'ajouter un référentiel au projet. Fichiers et dossiers depuis **Add** sur l'onglet **Library** dans **Overview** |325| Référentiels, fichiers et environnement | Les référentiels que chaque thread cloud clone, les dossiers et fichiers qu'il peut lire sous `/mnt/project-files`, et l'environnement cloud dans lequel il s'exécute | Référentiels et environnement dans **Project settings > Environment**, ou demandez à Claude dans la conversation d'ajouter un référentiel au projet. [Fichiers et dossiers](#add-files-and-folders) depuis **Add** sur l'onglet **Library** dans **Overview** |

324 326 

325**Project settings > Memory** énumère ces fichiers sous **Auto memory**, car Claude les écrit lui-même en travaillant dans le projet. Ils sont distincts de la [mémoire automatique](/docs/fr/memory) que Claude Code garde sur votre machine, même si les deux utilisent un index `MEMORY.md`. La mémoire du projet est également distincte des fichiers `CLAUDE.md` dans les référentiels du projet. Chaque thread cloud lit toujours ces fichiers `CLAUDE.md` à partir de son clone au démarrage, donc mettez les instructions sur un référentiel dans son `CLAUDE.md` et les notes sur le projet dans la mémoire du projet.327**Project settings > Memory** énumère ces fichiers sous **Auto memory**, car Claude les écrit lui-même en travaillant dans le projet. Ils sont distincts de la [mémoire automatique](/docs/fr/memory) que Claude Code garde sur votre machine, même si les deux utilisent un index `MEMORY.md`. La mémoire du projet est également distincte des fichiers `CLAUDE.md` dans les référentiels du projet. Chaque thread cloud lit toujours ces fichiers `CLAUDE.md` à partir de son clone au démarrage, donc mettez les instructions sur un référentiel dans son `CLAUDE.md` et les notes sur le projet dans la mémoire du projet.

326 328 


364 366 

365Pour un projet qui s'étend sur plusieurs référentiels, comme une fonctionnalité avec du code serveur, web, mobile et de bureau, ajoutez le ou les deux référentiels que presque chaque tâche touche et nommez les autres dans [les instructions du projet](#write-project-instructions) pour que Claude sache où le reste du code vit. Les threads cloud commencent alors petit et tirent les autres référentiels seulement pour les tâches qui en ont besoin.367Pour un projet qui s'étend sur plusieurs référentiels, comme une fonctionnalité avec du code serveur, web, mobile et de bureau, ajoutez le ou les deux référentiels que presque chaque tâche touche et nommez les autres dans [les instructions du projet](#write-project-instructions) pour que Claude sache où le reste du code vit. Les threads cloud commencent alors petit et tirent les autres référentiels seulement pour les tâches qui en ont besoin.

366 368 

369<h3 id="add-files-and-folders">

370 Ajouter des fichiers et des dossiers

371</h3>

372 

373Ajoutez les fichiers et dossiers que vous voulez que les threads lisent dans le champ **Context** de la boîte de dialogue **New project**, ou après avec **Add** sur l'onglet **Library** dans **Overview**. Ces limites s'appliquent à ce que vous ajoutez :

374 

375* **Library tab** : jusqu'à 100 fichiers et 2 GB en un seul choix, avec un seul fichier jusqu'à 480 MB.

376* **New project dialog** : les fichiers de plus de 30 MB sont ignorés, donc ajoutez les fichiers plus volumineux à partir de l'onglet **Library** après avoir créé le projet.

377* **Folders** : quand vous ajoutez un dossier à partir de l'un ou l'autre endroit, le projet reçoit une copie de ses 100 premiers fichiers jusqu'à 200 MB, sans aucun fichier de plus de 30 MB, fichiers cachés ou `node_modules`. Un projet contient jusqu'à 10 dossiers et dossiers Google Drive combinés, et les fichiers uniques ne comptent pas vers cette limite.

378* **Changes after upload** : les uploads sont des copies, donc une modification que vous apportez sur votre ordinateur après ne parvient au projet que si vous téléchargez le fichier à nouveau et choisissez **Replace** quand on vous demande le nom existant.

379 

367<h3 id="what-threads-pick-up-from-your-repositories">380<h3 id="what-threads-pick-up-from-your-repositories">

368 Ce que les threads reprennent de vos référentiels381 Ce que les threads reprennent de vos référentiels

369</h3>382</h3>


472Plusieurs fonctionnalités de Claude Code permettent à plus d'une session de fonctionner en même temps, donc exécuter du travail en parallèle n'est pas en soi à quoi sert un projet. Dans un projet, Claude démarre et suit les sessions au lieu de vous, et chacun commence à partir des mêmes instructions. Voici comment chaque fonctionnalité voisine se connecte à un projet :485Plusieurs fonctionnalités de Claude Code permettent à plus d'une session de fonctionner en même temps, donc exécuter du travail en parallèle n'est pas en soi à quoi sert un projet. Dans un projet, Claude démarre et suit les sessions au lieu de vous, et chacun commence à partir des mêmes instructions. Voici comment chaque fonctionnalité voisine se connecte à un projet :

473 486 

474* **Claude Tag** : [Claude Tag](https://claude.com/docs/claude-tag/overview) est Claude dans les canaux Slack de votre équipe, sur les plans Team et Enterprise. N'importe qui dans un canal peut lui donner du travail, tout le monde dans le canal le voit et le dirige, et il utilise les connexions qu'un administrateur a configurées pour ce canal. Un projet est le vôtre seul : vous êtes le seul à lui envoyer du travail ou à voir ses threads, il utilise votre propre accès GitHub et vos connecteurs, et il est sur Pro et Max. [Comment Claude Tag diffère de Cowork et Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) a le côté à côté.487* **Claude Tag** : [Claude Tag](https://claude.com/docs/claude-tag/overview) est Claude dans les canaux Slack de votre équipe, sur les plans Team et Enterprise. N'importe qui dans un canal peut lui donner du travail, tout le monde dans le canal le voit et le dirige, et il utilise les connexions qu'un administrateur a configurées pour ce canal. Un projet est le vôtre seul : vous êtes le seul à lui envoyer du travail ou à voir ses threads, il utilise votre propre accès GitHub et vos connecteurs, et il est sur Pro et Max. [Comment Claude Tag diffère de Cowork et Claude Code](https://claude.com/docs/claude-tag/concepts/how-it-works#how-claude-tag-differs-from-cowork-and-claude-code) a le côté à côté.

475* **Sessions cloud** : chaque thread est une [session cloud](/docs/fr/claude-code-on-the-web) sauf si vous demandez à Claude de l'exécuter sur votre machine. De toute façon, Claude la démarre et la suit au lieu de vous. Une session cloud que vous avez démarrée vous-même peut devenir un projet ou en alimenter un via [**Continue as a project** ou **Move to project**](#start-from-an-existing-cloud-session).488* **Sessions cloud** : chaque thread est une [session cloud](/docs/fr/claude-code-on-the-web) sauf si vous demandez à Claude de l'exécuter sur votre machine. De toute façon, Claude la démarre et la suit au lieu de vous. Une session cloud que vous avez démarrée vous-même peut devenir un projet ou en alimenter un via [**Continue as project** ou **Move to project**](#start-from-an-existing-cloud-session).

476* **Routines** : quand vous demandez du travail programmé dans un projet, Claude crée une [routine](/docs/fr/routines) qui s'exécute en tant que threads dans ce projet et apparaît sur son onglet **Routines**. Les routines que vous créez en dehors d'un projet continuent à fonctionner seules.489* **Routines** : quand vous demandez du travail programmé dans un projet, Claude crée une [routine](/docs/fr/routines) qui s'exécute en tant que threads dans ce projet et apparaît sur son onglet **Routines**. Les routines que vous créez en dehors d'un projet continuent à fonctionner seules.

477* **Remote Control** : [Remote Control](/docs/fr/remote-control) connecte claude.ai à une session Claude Code s'exécutant sur votre machine. Quand vous demandez à Claude dans un projet d'exécuter un thread sur votre ordinateur, le projet [utilise Remote Control pour le faire](#run-a-thread-on-your-own-computer).490* **Remote Control** : [Remote Control](/docs/fr/remote-control) connecte claude.ai à une session Claude Code s'exécutant sur votre machine. Quand vous demandez à Claude dans un projet d'exécuter un thread sur votre ordinateur, le projet [utilise Remote Control pour le faire](#run-a-thread-on-your-own-computer).

478* **Sessions locales et agent view** : une session que vous démarrez vous-même dans votre terminal, IDE ou l'environnement local de l'application de bureau ne peut pas être ajoutée à un projet. [Agent view](/docs/fr/agent-view) est un écran pour suivre plusieurs sessions locales côte à côte, et vous démarrez toujours chacune et lui donnez sa tâche vous-même.491* **Sessions locales et agent view** : une session que vous démarrez vous-même dans votre terminal, IDE ou l'environnement local de l'application de bureau ne peut pas être ajoutée à un projet. [Agent view](/docs/fr/agent-view) est un écran pour suivre plusieurs sessions locales côte à côte, et vous démarrez toujours chacune et lui donnez sa tâche vous-même.

479* **Worktrees** : un [worktree](/docs/fr/worktrees) donne à chaque session locale sa propre copie de travail d'un référentiel pour que les sessions parallèles sur votre machine ne s'écrasent pas mutuellement. Les threads cloud n'en ont pas besoin : chacun clone ses référentiels dans son propre sandbox cloud et travaille sur sa propre branche.492* **Worktrees** : un [worktree](/docs/fr/worktrees) donne à chaque session locale sa propre copie de travail d'un référentiel pour que les sessions parallèles sur votre machine ne s'écrasent pas mutuellement. Les threads cloud n'en ont pas besoin : chacun clone ses référentiels dans son propre sandbox cloud et travaille sur sa propre branche.

480* **Équipes d'agents** : une [équipe d'agents](/docs/fr/agent-teams) est une session qui démarre des sessions de coéquipiers pour une seule tâche, sur votre machine ou à l'intérieur d'une session cloud, et se termine avec cette tâche.493* **Équipes d'agents** : une [équipe d'agents](/docs/fr/agent-teams) est une session qui démarre des sessions de coéquipiers pour une seule tâche, sur votre machine ou à l'intérieur d'une session cloud, et se termine avec cette tâche.

494* **Subagents** : un [subagent](/docs/fr/sub-agents) s'exécute à l'intérieur d'une session, effectue une tâche secondaire dans sa propre fenêtre de contexte, et retourne un résumé à cette session. Les threads d'un projet sont des sessions complètes que Claude démarre et qui rendent compte à la conversation du projet, et un thread peut toujours utiliser des subagents pour ses propres tâches secondaires.

481* **Projects dans le chat claude.ai et Cowork** : l'[expérience Projects antérieure](https://support.claude.com/en/articles/9517075-what-are-projects), qui groupe les conversations et les fichiers de référence sans threads ni coordinateur. Ces projets continuent à fonctionner comme ils le font aujourd'hui jusqu'à ce que l'expérience repensée les atteigne.495* **Projects dans le chat claude.ai et Cowork** : l'[expérience Projects antérieure](https://support.claude.com/en/articles/9517075-what-are-projects), qui groupe les conversations et les fichiers de référence sans threads ni coordinateur. Ces projets continuent à fonctionner comme ils le font aujourd'hui jusqu'à ce que l'expérience repensée les atteigne.

482 496 

483[Exécuter des agents en parallèle](/docs/fr/agents) compare ces options côte à côte.497[Exécuter des agents en parallèle](/docs/fr/agents) compare ces options côte à côte.


486 Limitations500 Limitations

487</h2>501</h2>

488 502 

489* Les projets sont disponibles à claude.ai/code, dans l'application de bureau et dans l'application mobile Claude, pas dans le CLI du terminal ou via Amazon Bedrock, la plateforme d'agents de Google Cloud ou Microsoft Foundry. La commande [`claude project`](/docs/fr/cli-reference) du CLI, qui gère l'état local de Claude Code pour un répertoire, n'est pas liée.503* Les projets sont disponibles à claude.ai/code, dans l'application de bureau et dans l'application mobile Claude, pas dans le CLI du terminal, l'extension VS Code ou le plugin JetBrains, et pas via Amazon Bedrock, la plateforme d'agents de Google Cloud ou Microsoft Foundry. La commande [`claude project`](/docs/fr/cli-reference) du CLI, qui gère l'état local de Claude Code pour un répertoire, n'est pas liée.

490* Les threads du projet sont des [sessions cloud](/docs/fr/claude-code-on-the-web), ou des sessions sur votre propre machine via [Remote Control](/docs/fr/remote-control), avec Anthropic comme fournisseur de modèle dans les deux cas. [Sécurité](/docs/fr/security) et [Utilisation des données](/docs/fr/data-usage) couvrent comment les sessions cloud sont isolées et ce qui est conservé, et [Connexion et sécurité](/docs/fr/remote-control#connection-and-security) couvre comment un thread sur votre machine se connecte et ce qui est stocké.504* Les threads du projet sont des [sessions cloud](/docs/fr/claude-code-on-the-web), ou des sessions sur votre propre machine via [Remote Control](/docs/fr/remote-control), avec Anthropic comme fournisseur de modèle dans les deux cas. [Sécurité](/docs/fr/security) et [Utilisation des données](/docs/fr/data-usage) couvrent comment les sessions cloud sont isolées et ce qui est conservé, et [Connexion et sécurité](/docs/fr/remote-control#connection-and-security) couvre comment un thread sur votre machine se connecte et ce qui est stocké.

491* Vous ne pouvez pas ajouter une session que vous avez démarrée vous-même sur votre machine à un projet. Un projet atteint votre machine uniquement en [exécutant un thread là-bas via Remote Control](#run-a-thread-on-your-own-computer), et cette section énumère ce dont il a besoin.505* Vous ne pouvez pas ajouter une session que vous avez démarrée vous-même sur votre machine à un projet. Un projet atteint votre machine uniquement en [exécutant un thread là-bas via Remote Control](#run-a-thread-on-your-own-computer), et cette section énumère ce dont il a besoin.

492* Le sandbox d'un thread cloud se met en pause entre les tours et reprend quand le thread continue. Si le sandbox ne peut pas être repris, le thread continue à partir d'un clone frais, donc les modifications non validées peuvent être perdues. Sur les tâches longues, demandez à Claude de valider et de pousser le travail en cours.506* Le sandbox d'un thread cloud se met en pause entre les tours et reprend quand le thread continue. Si le sandbox ne peut pas être repris, le thread continue à partir d'un clone frais, donc les modifications non validées peuvent être perdues. Sur les tâches longues, demandez à Claude de valider et de pousser le travail en cours.

493* Un projet appartient à un utilisateur. Vous ne pouvez pas partager un projet ou ses threads avec un autre utilisateur, et les transcriptions de threads n'ont pas l'option de partage que les autres sessions cloud ont. Il n'y a pas de contrôles au niveau de l'organisation pour les projets pendant la bêta.507* Un projet appartient à un utilisateur. Vous ne pouvez pas partager un projet ou ses threads avec un autre utilisateur, et les transcriptions de threads n'ont pas l'option de partage que les autres sessions cloud ont. Il n'y a pas de contrôles au niveau de l'organisation pour les projets pendant la bêta.

494* Un thread appartient au seul projet qui l'a démarré. Vous ne pouvez pas déplacer ou copier un thread vers un autre projet, ou le déplacer pour qu'il soit seul. [**Move to project**](#start-from-an-existing-cloud-session) va seulement dans l'autre sens : il apporte le travail d'une session cloud dans un projet.508* Un thread appartient au seul projet qui l'a démarré. Vous ne pouvez pas déplacer ou copier un thread vers un autre projet, ou le déplacer pour qu'il soit seul. [**Move to project**](#start-from-an-existing-cloud-session) va seulement dans l'autre sens : il apporte le travail d'une session cloud dans un projet. Vous ne pouvez pas fusionner deux projets en un.

495 509 

496<h2 id="troubleshooting">510<h2 id="troubleshooting">

497 Dépannage511 Dépannage

Details

8 8 

9Le plugin Claude Security exécute une analyse multi-agents des vulnérabilités de votre base de code dans une session Claude Code. Une équipe d'agents Claude cartographie votre architecture, construit un modèle de menace, recherche les vulnérabilités et examine indépendamment chaque résultat avant de rédiger le rapport. Utilisez le plugin pour analyser un référentiel entier ou [uniquement un ensemble de modifications](#scan-only-your-changes), comme le diff d'une branche, le diff d'une demande de tirage ou un seul commit, puis transformez les résultats que vous choisissez en correctifs que vous examinez et appliquez vous-même.9Le plugin Claude Security exécute une analyse multi-agents des vulnérabilités de votre base de code dans une session Claude Code. Une équipe d'agents Claude cartographie votre architecture, construit un modèle de menace, recherche les vulnérabilités et examine indépendamment chaque résultat avant de rédiger le rapport. Utilisez le plugin pour analyser un référentiel entier ou [uniquement un ensemble de modifications](#scan-only-your-changes), comme le diff d'une branche, le diff d'une demande de tirage ou un seul commit, puis transformez les résultats que vous choisissez en correctifs que vous examinez et appliquez vous-même.

10 10 

11Le plugin s'exécute localement dans votre session, utilise les modèles auxquels vous avez accès dans Claude Code, et chaque analyse compte par rapport aux limites d'utilisation de votre plan. Si vous souhaitez un service géré qui surveille vos référentiels, ou si vous souhaitez exécuter des analyses sur [Claude Mythos 5](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5), consultez le produit [Claude Security](https://claude.com/product/claude-security), disponible sur le plan Enterprise. Le plugin accède au code que le produit géré ne peut pas atteindre, comme les référentiels hébergés sur GitLab ou Bitbucket, ou sur des réseaux qui n'autorisent pas les connexions entrantes.11Le plugin s'exécute localement dans votre session, utilise [les modèles auxquels vous avez accès dans Claude Code](#models-and-providers), et chaque analyse compte dans votre [utilisation](/docs/fr/costs). Si vous souhaitez un service géré qui surveille vos référentiels, ou si vous souhaitez exécuter des analyses sur [Claude Mythos](https://platform.claude.com/docs/en/about-claude/models/introducing-claude-fable-5-and-claude-mythos-5), consultez le produit [Claude Security](https://claude.com/product/claude-security), disponible sur le plan Enterprise. Le plugin accède au code que le produit géré ne peut pas atteindre, comme les référentiels hébergés sur GitLab ou Bitbucket, ou sur des réseaux qui n'autorisent pas les connexions entrantes.

12 12 

13Le plugin est également distinct des outils d'examen déjà présents dans Claude Code : le [plugin de conseils en sécurité](/docs/fr/security-guidance) examine le code au fur et à mesure que Claude l'écrit, [`/security-review`](/docs/fr/commands#all-commands) exécute une seule passe sur votre branche, et [Code Review](/docs/fr/code-review) examine les demandes de tirage. Pour comprendre comment les couches s'empilent, consultez [Comment le plugin s'intègre avec les autres outils de sécurité](#how-the-plugin-fits-with-other-security-tools).13Le plugin est également distinct des outils d'examen déjà présents dans Claude Code : le [plugin de conseils en sécurité](/docs/fr/security-guidance) examine le code au fur et à mesure que Claude l'écrit, [`/security-review`](/docs/fr/commands#all-commands) exécute une seule analyse de votre branche, et [Code Review](/docs/fr/code-review) examine les demandes de tirage. Pour comprendre comment les couches s'empilent, consultez [Comment le plugin s'intègre avec les autres outils de sécurité](#how-the-plugin-fits-with-other-security-tools).

14 14 

15<h2 id="prerequisites">15<h2 id="prerequisites">

16 Conditions préalables16 Prérequis

17</h2>17</h2>

18 18 

19Pour exécuter le plugin, vous avez besoin de :19Pour exécuter le plugin, vous avez besoin de :

20 20 

21* Un plan payant, pour les [flux de travail dynamiques](/docs/fr/workflows) que l'analyse utilise pour orchestrer ses agents. Sur Pro, activez-les à partir de la ligne Dynamic workflows dans `/config`.21* Un plan payant, un accès à l'API Anthropic, ou un [fournisseur tiers](#models-and-providers), pour les [flux de travail dynamiques](/docs/fr/workflows) que l'analyse utilise pour orchestrer ses agents. Sur Pro, activez-les à partir de la ligne Dynamic workflows dans `/config`.

22* Python 3.9 ou version ultérieure disponible sur votre `PATH` en tant que `python3`. Vérifiez avec `python3 --version`. L'outillage du plugin utilise uniquement la bibliothèque standard Python, donc rien n'est installé.22* Python 3.9 ou version ultérieure disponible sur votre `PATH` en tant que `python3`. Vérifiez avec `python3 --version`. L'outillage du plugin utilise uniquement la bibliothèque standard Python, donc rien n'est installé.

23* Linux, macOS ou Windows.23* Linux, macOS ou Windows.

24* Git, pour les analyses de modifications et pour transformer les résultats en correctifs ; ces tâches ne supportent pas les autres systèmes de contrôle de version. Une analyse complète fonctionne dans n'importe quel répertoire, avec ou sans contrôle de version.24* Git, pour les analyses de modifications et pour transformer les résultats en correctifs ; ces tâches ne supportent pas les autres systèmes de contrôle de version. Une analyse complète fonctionne dans n'importe quel répertoire, avec ou sans contrôle de version.

25 25 

26<h2 id="models-and-providers">

27 Modèles et fournisseurs

28</h2>

29 

30Une analyse s'exécute dans votre session Claude Code. Le plugin n'effectue aucun appel de modèle en lui-même, il n'y a donc pas de clé API distincte ou de paramètre de fournisseur à configurer.

31 

32* **Modèle** : les agents qui recherchent les vulnérabilités, vérifient les résultats et écrivent et examinent les correctifs s'exécutent sur [le modèle de votre session](/docs/fr/sub-agents#choose-a-model). Pour le modifier, exécutez [`/model`](/docs/fr/model-config#setting-your-model) dans votre session avant de démarrer une analyse. Quelques étapes de support, comme le mappage du référentiel, utilisent plutôt l'[alias `sonnet`](/docs/fr/model-config#model-aliases).

33* **Fournisseur** : les analyses s'exécutent sur un plan payant, avec accès à l'API Anthropic, ou sur un [fournisseur tiers](/docs/fr/third-party-integrations) tel que [Amazon Bedrock](/docs/fr/amazon-bedrock), [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) ou [Microsoft Foundry](/docs/fr/microsoft-foundry).

34 

35Sur un fournisseur tiers, l'alias `sonnet` peut se résoudre en une version différente de celle sur l'API Anthropic. Si votre compte ne peut pas utiliser cette version, [épinglez vos versions de modèle](/docs/fr/model-config#pin-models-for-third-party-deployments), y compris `ANTHROPIC_DEFAULT_SONNET_MODEL`.

36 

37[Le basculement automatique du modèle](/docs/fr/model-config#automatic-model-fallback) réexécute une demande que les protections d'un modèle signalent. Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, la demande peut se terminer par un message de refus à la place, selon [la façon dont votre déploiement est configuré](/docs/fr/model-config#enable-fallback-on-bedrock-agent-platform-and-foundry).

38 

26<h2 id="install-the-plugin">39<h2 id="install-the-plugin">

27 Installez le plugin40 Installez le plugin

28</h2>41</h2>


156 169 

157**Le menu `/claude-security` s'ouvre avec un avertissement Python.** Le plugin a besoin de `python3` 3.9 ou version ultérieure sur votre `PATH`. Lorsqu'il ne peut pas trouver `python3` du tout, le menu avertit que Claude Security ne fonctionnera pas jusqu'à ce qu'un soit installé ; lorsque le premier `python3` sur votre `PATH` est plus ancien, l'avertissement nomme la version qu'il a trouvée. Installez Python 3, ou mettez un `python3` plus récent en premier sur votre `PATH`, puis démarrez une nouvelle session.170**Le menu `/claude-security` s'ouvre avec un avertissement Python.** Le plugin a besoin de `python3` 3.9 ou version ultérieure sur votre `PATH`. Lorsqu'il ne peut pas trouver `python3` du tout, le menu avertit que Claude Security ne fonctionnera pas jusqu'à ce qu'un soit installé ; lorsque le premier `python3` sur votre `PATH` est plus ancien, l'avertissement nomme la version qu'il a trouvée. Installez Python 3, ou mettez un `python3` plus récent en premier sur votre `PATH`, puis démarrez une nouvelle session.

158 171 

159**Vous pouvez voir un avis « safeguards flagged this message » lors de l'analyse sur un modèle Fable.** Le message nomme le modèle, par exemple « Fable 5.1's safeguards flagged this message ». Les classificateurs de sécurité de cybersécurité de Fable signalent certaines demandes, et Claude Code réexécute une demande signalée sur un modèle Opus via [automatic model fallback](/docs/fr/model-config#automatic-model-fallback). C'est attendu, et l'analyse devrait toujours se terminer avec succès.172**Vous pouvez voir un avis « safeguards flagged this message » lors de l'analyse sur un modèle Fable.** Le message nomme le modèle que vous exécutez. Les classificateurs de sécurité de cybersécurité de Fable signalent certaines demandes, et Claude Code réexécute une demande signalée sur un modèle Opus via [automatic model fallback](/docs/fr/model-config#automatic-model-fallback). C'est attendu. Lorsque la demande est réexécutée, l'analyse devrait toujours se terminer avec succès.

160 173 

161<h2 id="related-resources">174<h2 id="related-resources">

162 Ressources connexes175 Ressources connexes

Details

22| `claude -c -p "query"` | Continuer via SDK | `claude -c -p "Check for type errors"` |22| `claude -c -p "query"` | Continuer via SDK | `claude -c -p "Check for type errors"` |

23| `claude -r "<session>" "query"` | Reprendre une session par ID ou nom | `claude -r "auth-refactor" "Finish this PR"` |23| `claude -r "<session>" "query"` | Reprendre une session par ID ou nom | `claude -r "auth-refactor" "Finish this PR"` |

24| `claude update` | Mettre à jour vers la dernière version | `claude update` |24| `claude update` | Mettre à jour vers la dernière version | `claude update` |

25| `claude gateway` | Démarrer le serveur [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) auto-hébergé, pour les administrateurs déployant SSO et la politique devant Claude Code sur Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry. Nécessite `--config` pointant vers un [`gateway.yaml`](/docs/fr/claude-apps-gateway-config). Disponible dans Claude Code v2.1.195 et ultérieur. | `claude gateway --config gateway.yaml` |25| `claude gateway` | Démarrer le serveur [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) auto-hébergé, pour les administrateurs déployant SSO et la politique devant Claude Code sur Amazon Bedrock, Google Cloud's Agent Platform, ou Microsoft Foundry. Nécessite `--config` pointant vers un [`gateway.yaml`](/docs/fr/claude-apps-gateway-config). | `claude gateway --config gateway.yaml` |

26| `claude install [version]` | Installer ou réinstaller le binaire natif. Accepte une version comme `2.1.118`, ou `stable` ou `latest`. Voir [Installer une version spécifique](/docs/fr/setup#install-a-specific-version) | `claude install stable` |26| `claude install [version]` | Installer ou réinstaller le binaire natif. Accepte une version comme `2.1.118`, ou `stable` ou `latest`. Voir [Installer une version spécifique](/docs/fr/setup#install-a-specific-version) | `claude install stable` |

27| `claude auth login` | Se connecter à votre compte Anthropic. Utilisez `--email` pour pré-remplir votre adresse e-mail, `--sso` pour forcer l'authentification SSO, et `--console` pour vous connecter avec Anthropic Console pour la facturation de l'utilisation de l'API au lieu d'un abonnement Claude | `claude auth login --console` |27| `claude auth login` | Se connecter à votre compte Anthropic. Utilisez `--email` pour pré-remplir votre adresse e-mail, `--sso` pour forcer l'authentification SSO, et `--console` pour vous connecter avec Anthropic Console pour la facturation de l'utilisation de l'API au lieu d'un abonnement Claude | `claude auth login --console` |

28| `claude auth logout` | Se déconnecter de votre compte Anthropic | `claude auth logout` |28| `claude auth logout` | Se déconnecter de votre compte Anthropic | `claude auth logout` |

Details

566 * platform.claude.com566 * platform.claude.com

567 * code.claude.com567 * code.claude.com

568 * claude.ai568 * claude.ai

569 * claude.com

570 * support.claude.com

571 * anthropic.com

572 * [www.anthropic.com](http://www.anthropic.com)

569 </Accordion>573 </Accordion>

570 574 

571 <Accordion title="Contrôle de version">575 <Accordion title="Contrôle de version">


596 * hub.docker.com600 * hub.docker.com

597 * [www.docker.com](http://www.docker.com)601 * [www.docker.com](http://www.docker.com)

598 * production.cloudflare.docker.com602 * production.cloudflare.docker.com

603 * production.cloudfront.docker.com

599 * download.docker.com604 * download.docker.com

600 * gcr.io605 * gcr.io

601 * \*.gcr.io606 * \*.gcr.io

commands.md +7 −4

Details

56| `/add-dir <path>` | Ajouter un répertoire de travail pour l'accès aux fichiers pendant la session actuelle. Tapez un chemin partiel pour voir les suggestions de répertoires correspondants ; appuyez sur `Tab` pour en accepter un. La plupart de la configuration `.claude/` [n'est pas découverte](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) à partir du répertoire ajouté. Vous ne pouvez pas ajouter la plupart des [chemins réseau](/docs/fr/errors#working-directory-is-a-network-path), tels que `\\server\share`. Après un ajout réussi, vos [hooks `DirectoryAdded`](/docs/fr/hooks#directoryadded) s'exécutent. Lorsque vous l'exécutez pendant que Claude répond, Claude Code vous demande de confirmer le répertoire immédiatement, et une fois que vous confirmez, l'appel d'outil suivant de Claude dans le même tour peut y accéder. Avant la v2.1.234, Claude Code mettait la commande en file d'attente jusqu'à la fin du tour |56| `/add-dir <path>` | Ajouter un répertoire de travail pour l'accès aux fichiers pendant la session actuelle. Tapez un chemin partiel pour voir les suggestions de répertoires correspondants ; appuyez sur `Tab` pour en accepter un. La plupart de la configuration `.claude/` [n'est pas découverte](/docs/fr/permissions#additional-directories-grant-file-access-not-configuration) à partir du répertoire ajouté. Vous ne pouvez pas ajouter la plupart des [chemins réseau](/docs/fr/errors#working-directory-is-a-network-path), tels que `\\server\share`. Après un ajout réussi, vos [hooks `DirectoryAdded`](/docs/fr/hooks#directoryadded) s'exécutent. Lorsque vous l'exécutez pendant que Claude répond, Claude Code vous demande de confirmer le répertoire immédiatement, et une fois que vous confirmez, l'appel d'outil suivant de Claude dans le même tour peut y accéder. Avant la v2.1.234, Claude Code mettait la commande en file d'attente jusqu'à la fin du tour |

57| `/advisor [model\|off]` | Activer ou désactiver l'[outil conseiller](/docs/fr/advisor), qui consulte un deuxième modèle pour obtenir des conseils à des moments clés lors d'une tâche. Accepte `fable`, `opus`, `sonnet`, ou un ID de modèle complet. `fable` nécessite un [accès à Fable](/docs/fr/advisor#choose-an-advisor-model). Sans argument, ouvre un sélecteur. Dans une session sans terminal interactif, ou via [Remote Control](/docs/fr/remote-control#limitations), passez le modèle ou `off` en tant qu'argument ; sans argument là-bas, la commande affiche le conseiller actuel sous forme de texte. Ces formes nécessitent Claude Code v2.1.260 ou ultérieur |57| `/advisor [model\|off]` | Activer ou désactiver l'[outil conseiller](/docs/fr/advisor), qui consulte un deuxième modèle pour obtenir des conseils à des moments clés lors d'une tâche. Accepte `fable`, `opus`, `sonnet`, ou un ID de modèle complet. `fable` nécessite un [accès à Fable](/docs/fr/advisor#choose-an-advisor-model). Sans argument, ouvre un sélecteur. Dans une session sans terminal interactif, ou via [Remote Control](/docs/fr/remote-control#limitations), passez le modèle ou `off` en tant qu'argument ; sans argument là-bas, la commande affiche le conseiller actuel sous forme de texte. Ces formes nécessitent Claude Code v2.1.260 ou ultérieur |

58| `/agents` | À partir de la v2.1.198, l'exécution de `/agents` affiche un rappel pour demander à Claude de créer ou de gérer des [sous-agents](/docs/fr/sub-agents), ou pour modifier `.claude/agents/` ou `~/.claude/agents/` directement. Sur la v2.1.197 et antérieures, ouvre une interface interactive pour créer et gérer les configurations de sous-agents |58| `/agents` | À partir de la v2.1.198, l'exécution de `/agents` affiche un rappel pour demander à Claude de créer ou de gérer des [sous-agents](/docs/fr/sub-agents), ou pour modifier `.claude/agents/` ou `~/.claude/agents/` directement. Sur la v2.1.197 et antérieures, ouvre une interface interactive pour créer et gérer les configurations de sous-agents |

59| `/artifact-capabilities` | **[Skill](/docs/fr/skills#bundled-skills).** Charger la référence pour les capacités d'exécution qu'un [artefact](/docs/fr/artifacts) publié peut utiliser, telles que [l'appel de vos connecteurs](/docs/fr/artifacts#pull-live-data-with-mcp-connectors) ou [l'offre d'un téléchargement de fichier](/docs/fr/artifacts#offer-a-file-download), y compris celles que votre compte possède. Claude le charge normalement de lui-même avant de construire une page qui en utilise une. Disponible où les [artefacts](/docs/fr/artifacts#availability) le sont |

60| `/artifact-diagramming` | **[Skill](/docs/fr/skills#bundled-skills).** Charger les conseils de diagramme pour que Claude suive dans les [artefacts](/docs/fr/artifacts) : quand un diagramme aide, quoi dessiner, et comment écrire du SVG en ligne qui reste lisible dans les thèmes clairs et foncés. Nécessite Claude Code v2.1.221 ou ultérieur |

59| `/artifacts` | Répertorier les [artefacts](/docs/fr/artifacts#find-an-artifact-again) que vous possédez ou qui sont partagés avec vous, puis en joindre un à la session, l'ouvrir dans votre navigateur, ou copier son lien. Disponible où les [artefacts](/docs/fr/artifacts#availability) le sont. Nécessite Claude Code v2.1.208 ou ultérieur ; l'attachement avec `Enter` nécessite la v2.1.216 |61| `/artifacts` | Répertorier les [artefacts](/docs/fr/artifacts#find-an-artifact-again) que vous possédez ou qui sont partagés avec vous, puis en joindre un à la session, l'ouvrir dans votre navigateur, ou copier son lien. Disponible où les [artefacts](/docs/fr/artifacts#availability) le sont. Nécessite Claude Code v2.1.208 ou ultérieur ; l'attachement avec `Enter` nécessite la v2.1.216 |

60| `/auto-mode-setup` | [Rédiger les entrées `autoMode.environment`](/docs/fr/auto-mode-config#generate-environment-entries) à partir de votre projet et des sessions récentes, puis examiner le brouillon et l'enregistrer dans vos paramètres utilisateur. Nécessite un plan Pro, Max ou Team et Claude Code v2.1.228 ou ultérieur. Sur Windows natif, nécessite la v2.1.233 ou ultérieur |62| `/auto-mode-setup` | [Rédiger les entrées `autoMode.environment`](/docs/fr/auto-mode-config#generate-environment-entries) à partir de votre projet et des sessions récentes, puis examiner le brouillon et l'enregistrer dans vos paramètres utilisateur. Nécessite un plan Pro, Max ou Team et Claude Code v2.1.228 ou ultérieur. Sur Windows natif, nécessite la v2.1.233 ou ultérieur |

61| `/autocompact [auto\|<tokens>]` | Définir la fenêtre de compaction automatique : le degré de remplissage de la fenêtre de contexte avant que Claude Code ne compacte automatiquement. Passez une taille telle que `500k`, ou `auto` pour revenir à la fenêtre ajustée pour votre modèle. Claude Code enregistre la valeur dans les paramètres utilisateur et l'applique à la session actuelle. Consultez [Définir la fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) pour les valeurs acceptées et ce qui la remplace. Sans argument, ouvre une boîte de dialogue qui affiche la fenêtre actuelle. Nécessite Claude Code v2.1.221 ou ultérieur |63| `/autocompact [auto\|<tokens>]` | Définir la fenêtre de compaction automatique : le degré de remplissage de la fenêtre de contexte avant que Claude Code ne compacte automatiquement. Passez une taille telle que `500k`, ou `auto` pour revenir à la fenêtre ajustée pour votre modèle. Claude Code enregistre la valeur dans les paramètres utilisateur et l'applique à la session actuelle. Consultez [Définir la fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) pour les valeurs acceptées et ce qui la remplace. Sans argument, ouvre une boîte de dialogue qui affiche la fenêtre actuelle. Nécessite Claude Code v2.1.221 ou ultérieur |


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

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

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

70| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb]` | **[Skill](/docs/fr/skills#bundled-skills).** Charger la documentation de référence de [Claude API](https://platform.claude.com/docs/en/api/overview) et [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) pour le langage de votre projet. S'active également automatiquement lorsque votre code importe `anthropic` ou `@anthropic-ai/sdk`. Exécutez `migrate` pour mettre à jour le code Claude API existant vers un modèle plus récent. Exécutez `upgrade` pour déplacer la dépendance du SDK Anthropic de votre projet sur une version majeure, actuellement le package Python `anthropic` de 0.x à 1.x. Exécutez `managed-agents-onboard` pour une procédure pas à pas qui crée un nouvel agent géré. Exécutez `prompt-audit` pour signaler les instructions écrites pour les anciens modèles dans vos invites, compétences et descriptions d'outils et proposer des corrections sous forme de diff. Exécutez `cost-optimize` pour profiler où va la dépense Claude API de votre projet et proposer des économies à partir d'options telles que la mise en cache des invites, la réduction des jetons d'entrée et de sortie inutiles, le traitement par lots, l'effort et le choix du modèle, un changement à la fois. Exécutez `build-eval` pour créer un ensemble d'évaluation pour votre application alimentée par Claude, et `hillclimb` pour améliorer itérativement l'application par rapport à une évaluation existante. La sous-commande `prompt-audit` nécessite Claude Code v2.1.221 ou ultérieur, `upgrade` nécessite la v2.1.236 ou ultérieur, `cost-optimize` nécessite la v2.1.247 ou ultérieur, et `build-eval` et `hillclimb` nécessitent la v2.1.259 ou ultérieur |72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/fr/skills#bundled-skills).** Charger la documentation de référence de [Claude API](https://platform.claude.com/docs/en/api/overview) et [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) pour le langage de votre projet. S'active également automatiquement lorsque votre code importe `anthropic` ou `@anthropic-ai/sdk`. Pour ce que chaque sous-commande fait et la version qu'elle nécessite, consultez [Travailler sur les projets Claude API](/docs/fr/skills#work-on-claude-api-projects) |

73| `/claude-in-chrome [task]` | **[Skill](/docs/fr/skills#bundled-skills).** Faire en sorte que Claude accomplisse une tâche dans votre navigateur, telle que tester une page, remplir un formulaire ou lire les journaux de la console, via [Claude dans Chrome](/docs/fr/chrome). Disponible lorsque l'intégration Chrome est activée pour la session, par exemple avec `claude --chrome`, ou lorsque Claude Code peut proposer d'[installer l'extension](/docs/fr/chrome#install-the-extension-when-claude-asks) |

71| `/clear [name]` | Démarrer une nouvelle conversation avec un contexte vide. Passez un nom pour étiqueter la conversation précédente dans le sélecteur `/resume`. Pour libérer du contexte tout en continuant la même conversation, utilisez `/compact` à la place. Reprendre la conversation précédente avec `/resume`, ou, dans le même processus Claude Code, la restaurer à partir de [l'entrée de session précédente du menu de rembobinage](/docs/fr/checkpointing#rewind-past-a-cleared-conversation). Alias : `/reset`, `/new` |74| `/clear [name]` | Démarrer une nouvelle conversation avec un contexte vide. Passez un nom pour étiqueter la conversation précédente dans le sélecteur `/resume`. Pour libérer du contexte tout en continuant la même conversation, utilisez `/compact` à la place. Reprendre la conversation précédente avec `/resume`, ou, dans le même processus Claude Code, la restaurer à partir de [l'entrée de session précédente du menu de rembobinage](/docs/fr/checkpointing#rewind-past-a-cleared-conversation). Alias : `/reset`, `/new` |

72| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/fr/skills#bundled-skills).** Examiner le diff actuel, ou un numéro de demande de fusion, une branche ou un chemin que vous passez, pour les bogues de correction. Selon votre modèle et votre niveau d'effort, l'examen couvre également les opportunités de nettoyage. Passez `--fix` pour appliquer les résultats, `--comment` pour les publier en tant que commentaires GitHub PR ou GitLab merge request, ou `ultra` pour exécuter un [examen cloud](/docs/fr/ultrareview) approfondi. La publication sur une GitLab merge request nécessite Claude Code v2.1.257 ou ultérieur. Avec `ultra` sur une cible de demande de fusion `github.com`, passez `--post` pour présélectionner [la publication des résultats terminés à la demande de fusion](/docs/fr/ultrareview#post-findings-to-the-pull-request) dans la boîte de dialogue de lancement ; `--post` nécessite Claude Code v2.1.227 ou ultérieur. Consultez [Examiner un diff localement](/docs/fr/code-review#review-a-diff-locally) pour les niveaux d'effort, le ciblage et la relation avec `/simplify`. Alias : `/review` |75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | **[Skill](/docs/fr/skills#bundled-skills).** Examiner le diff actuel, ou un numéro de demande de fusion, une branche ou un chemin que vous passez, pour les bogues de correction. Selon votre modèle et votre niveau d'effort, l'examen couvre également les opportunités de nettoyage. Passez `--fix` pour appliquer les résultats, `--comment` pour les publier en tant que commentaires GitHub PR ou GitLab merge request, ou `ultra` pour exécuter un [examen cloud](/docs/fr/ultrareview) approfondi. La publication sur une GitLab merge request nécessite Claude Code v2.1.257 ou ultérieur. Avec `ultra` sur une cible de demande de fusion `github.com`, passez `--post` pour présélectionner [la publication des résultats terminés à la demande de fusion](/docs/fr/ultrareview#post-findings-to-the-pull-request) dans la boîte de dialogue de lancement ; `--post` nécessite Claude Code v2.1.227 ou ultérieur. Consultez [Examiner un diff localement](/docs/fr/code-review#review-a-diff-locally) pour les niveaux d'effort, le ciblage et la relation avec `/simplify`. Alias : `/review` |

73| `/color [color\|default]` | Définir la couleur de la barre d'invite pour la session actuelle. Couleurs disponibles : `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Utilisez `default` pour réinitialiser, ou exécutez sans argument pour choisir une couleur aléatoire. Lorsque [Remote Control](/docs/fr/remote-control) est connecté, la couleur se synchronise avec claude.ai/code. Également disponible en mode non interactif (`-p`) ; nécessite Claude Code v2.1.205 ou ultérieur |76| `/color [color\|default]` | Définir la couleur de la barre d'invite pour la session actuelle. Couleurs disponibles : `red`, `blue`, `green`, `yellow`, `purple`, `orange`, `pink`, `cyan`. Utilisez `default` pour réinitialiser, ou exécutez sans argument pour choisir une couleur aléatoire. Lorsque [Remote Control](/docs/fr/remote-control) est connecté, la couleur se synchronise avec claude.ai/code. Également disponible en mode non interactif (`-p`) ; nécessite Claude Code v2.1.205 ou ultérieur |


84| `/design-sync [hint]` | **[Skill](/docs/fr/skills#bundled-skills).** Convertir le système de conception React de votre référentiel et le télécharger vers [Claude Design](https://claude.ai/design), afin que les conceptions qu'il produit utilisent vos vrais composants. Nommez éventuellement le système de conception, par exemple `/design-sync Acme DS`. Une première synchronisation vérifie chaque composant et peut prendre quelques heures sur un grand référentiel. Disponible sur l'API Anthropic. Il a besoin de claude.ai, que l'interface de ligne de commande ne contacte pas sur Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry ou Claude Platform sur AWS, ou via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway#availability-and-limitations), donc la commande n'est pas disponible là-bas |87| `/design-sync [hint]` | **[Skill](/docs/fr/skills#bundled-skills).** Convertir le système de conception React de votre référentiel et le télécharger vers [Claude Design](https://claude.ai/design), afin que les conceptions qu'il produit utilisent vos vrais composants. Nommez éventuellement le système de conception, par exemple `/design-sync Acme DS`. Une première synchronisation vérifie chaque composant et peut prendre quelques heures sur un grand référentiel. Disponible sur l'API Anthropic. Il a besoin de claude.ai, que l'interface de ligne de commande ne contacte pas sur Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry ou Claude Platform sur AWS, ou via une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway#availability-and-limitations), donc la commande n'est pas disponible là-bas |

85| `/desktop` | Continuer la session actuelle dans l'application Claude Code Desktop. Nécessite macOS ou Windows x64 et un abonnement Claude. Alias : `/app` |88| `/desktop` | Continuer la session actuelle dans l'application Claude Code Desktop. Nécessite macOS ou Windows x64 et un abonnement Claude. Alias : `/app` |

86| `/diff` | Examiner les modifications dans votre arborescence de travail, y compris les modifications que Claude a apportées jusqu'à présent. Consultez [Examiner les modifications avec /diff](/docs/fr/interactive-mode#review-changes-with-%2Fdiff) |89| `/diff` | Examiner les modifications dans votre arborescence de travail, y compris les modifications que Claude a apportées jusqu'à présent. Consultez [Examiner les modifications avec /diff](/docs/fr/interactive-mode#review-changes-with-%2Fdiff) |

87| `/doctor [prompt-audit [path]]` | **[Skill](/docs/fr/skills#bundled-skills).** Exécuter une vérification de configuration qui diagnostique les problèmes et peut les corriger. Vérifie la santé de l'installation, y compris les installations en double ou résiduelles, les problèmes de `PATH`, et les fichiers de paramètres non analysables. Trouve les compétences, serveurs MCP et plugins inutilisés par rapport à leur coût de contexte, signale les [hooks](/docs/fr/hooks) lents, et vérifie une version plus récente sur votre [canal de version](/docs/fr/setup#configure-release-channel). Déduplique les fichiers `CLAUDE.md` locaux par rapport aux fichiers archivés, réduit les fichiers [`CLAUDE.md`](/docs/fr/memory#my-claude-md-is-too-large) archivés en coupant le contenu que Claude pourrait dériver de la base de code, et migre les conseils toujours chargés qui restent dans les [compétences](/docs/fr/skills) et les fichiers `CLAUDE.md` imbriqués qui se chargent à la demande. Offre également de faire du [mode auto](/docs/fr/permissions#permission-modes) votre défaut et de [pré-approuver](/docs/fr/permissions) les commandes en lecture seule fréquemment refusées. Signale d'abord les résultats et demande une confirmation avant de modifier quoi que ce soit. À partir du terminal, `claude doctor` affiche les diagnostics d'installation en lecture seule sans démarrer une session. Alias : `/checkup`. Exécutez `/doctor prompt-audit` pour que Claude [audite vos fichiers `CLAUDE.md`, compétences et autres configurations](/docs/fr/memory#write-effective-instructions) pour les instructions obsolètes ou conflictuelles au lieu d'exécuter la vérification. La sous-commande `prompt-audit` nécessite Claude Code v2.1.283 ou ultérieur. La vérification de réduction `CLAUDE.md` nécessite Claude Code v2.1.206 ou ultérieur. Avant la v2.1.205, `/doctor` ouvrait un écran de diagnostics en lecture seule et appuyer sur `f` envoyait le rapport à Claude |90| `/doctor [prompt-audit [path]]` | **[Skill](/docs/fr/skills#bundled-skills).** Exécuter une vérification de configuration qui diagnostique les problèmes et peut les corriger. Vérifie la santé de l'installation, y compris les installations en double ou résiduelles, les problèmes de `PATH`, et les fichiers de paramètres non analysables. Trouve les compétences, serveurs MCP et plugins inutilisés par rapport à leur coût de contexte, signale les [hooks](/docs/fr/hooks) lents, et vérifie une version plus récente sur votre [canal de version](/docs/fr/setup#configure-release-channel). Déduplique les fichiers `CLAUDE.md` locaux par rapport aux fichiers archivés, réduit les fichiers [`CLAUDE.md`](/docs/fr/memory#my-claude-md-is-too-large) archivés en coupant le contenu que Claude pourrait dériver de la base de code, et migre les conseils toujours chargés qui restent dans les [compétences](/docs/fr/skills) et les fichiers `CLAUDE.md` imbriqués qui se chargent à la demande. Offre également de faire du [mode auto](/docs/fr/permissions#permission-modes) votre défaut et de [pré-approuver](/docs/fr/permissions) les commandes en lecture seule fréquemment refusées. Signale d'abord les résultats et demande une confirmation avant de modifier quoi que ce soit. À partir du terminal, `claude doctor` affiche les diagnostics d'installation en lecture seule sans démarrer une session. Alias : `/checkup`. Exécutez `/doctor prompt-audit` pour que Claude [audite vos fichiers `CLAUDE.md`, compétences et autres configurations](/docs/fr/memory#audit-your-instruction-files) pour les instructions obsolètes ou conflictuelles au lieu d'exécuter la vérification. La sous-commande `prompt-audit` nécessite Claude Code v2.1.283 ou ultérieur. La vérification de réduction `CLAUDE.md` nécessite Claude Code v2.1.206 ou ultérieur. Avant la v2.1.205, `/doctor` ouvrait un écran de diagnostics en lecture seule et appuyer sur `f` envoyait le rapport à Claude |

88| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Définir le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) : `low` à `xhigh`, `max`, ou `auto` ; `status` l'affiche. `ultracode` ou `ultracode on` active [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode) pour la session au niveau actuel, et `ultracode off` le désactive ; la clé [`ultracode`](/docs/fr/settings-reference#ultracode) persiste. `max` est réservé à la session. Les arguments `on` et `off` et le maintien du niveau actuel nécessitent Claude Code v2.1.284 ou ultérieur. Avant la v2.1.284, `/effort ultracode` définissait la session à `xhigh`, et `/effort ultracode off` échouait avec `Invalid argument`. L'exécuter pendant que Claude répond et, une fois que vous confirmez l'[avertissement de cache](/docs/fr/prompt-caching#changing-effort-level), si Claude Code en affiche un, Claude Code applique le nouveau niveau à la demande suivante dans ce tour. Avant la v2.1.242, Claude Code a décidé à partir d'un drapeau de fonctionnalité qu'il a récupéré d'Anthropic s'il fallait exécuter la commande en milieu de tour ou la mettre en file d'attente jusqu'à la fin du tour, et l'a toujours mise en file d'attente dans une session qui ne [récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme sur un [fournisseur tiers](/docs/fr/third-party-integrations). Fonctionne en `-p` |91| `/effort [level\|auto\|status\|ultracode [on\|off]]` | Définir le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) : `low` à `xhigh`, `max`, ou `auto` ; `status` l'affiche. `ultracode` ou `ultracode on` active [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode) pour la session au niveau actuel, et `ultracode off` le désactive ; la clé [`ultracode`](/docs/fr/settings-reference#ultracode) persiste. `max` est réservé à la session. Les arguments `on` et `off` et le maintien du niveau actuel nécessitent Claude Code v2.1.284 ou ultérieur. Avant la v2.1.284, `/effort ultracode` définissait la session à `xhigh`, et `/effort ultracode off` échouait avec `Invalid argument`. L'exécuter pendant que Claude répond et, une fois que vous confirmez l'[avertissement de cache](/docs/fr/prompt-caching#changing-effort-level), si Claude Code en affiche un, Claude Code applique le nouveau niveau à la demande suivante dans ce tour. Avant la v2.1.242, Claude Code a décidé à partir d'un drapeau de fonctionnalité qu'il a récupéré d'Anthropic s'il fallait exécuter la commande en milieu de tour ou la mettre en file d'attente jusqu'à la fin du tour, et l'a toujours mise en file d'attente dans une session qui ne [récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme sur un [fournisseur tiers](/docs/fr/third-party-integrations). Fonctionne en `-p` |

89| `/exit` | Quitter l'interface de ligne de commande. Dans une [session en arrière-plan](/docs/fr/agent-view#attach-to-a-session) attachée, cela se détache et la session continue de s'exécuter. Alias : `/quit` |92| `/exit` | Quitter l'interface de ligne de commande. Dans une [session en arrière-plan](/docs/fr/agent-view#attach-to-a-session) attachée, cela se détache et la session continue de s'exécuter. Alias : `/quit` |

90| `/export [filename]` | Exporter la conversation actuelle en texte brut. Avec un nom de fichier, écrit directement dans ce fichier. Sans, ouvre une boîte de dialogue pour copier dans le presse-papiers ou enregistrer dans un fichier |93| `/export [filename]` | Exporter la conversation actuelle en texte brut. Avec un nom de fichier, écrit directement dans ce fichier. Sans, ouvre une boîte de dialogue pour copier dans le presse-papiers ou enregistrer dans un fichier |

91| `/fast [on\|off]` | Basculer le [mode rapide](/docs/fr/fast-mode) activé ou désactivé. L'exécuter pendant que Claude répond et Claude Code bascule le mode rapide sans attendre la fin du tour, bien que le tour en cours se termine à sa vitesse d'origine. Avant la v2.1.242, Claude Code a décidé à partir d'un drapeau de fonctionnalité qu'il a récupéré d'Anthropic s'il fallait exécuter la commande en milieu de tour ou la mettre en file d'attente jusqu'à la fin du tour, et l'a toujours mise en file d'attente dans une session qui ne [récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching). La disponibilité en mode non interactif avec `-p` est limitée ; consultez [Basculer le mode rapide](/docs/fr/fast-mode#toggle-fast-mode). Nécessite Claude Code v2.1.205 ou ultérieur |94| `/fast [on\|off]` | Basculer le [mode rapide](/docs/fr/fast-mode) activé ou désactivé. L'exécuter pendant que Claude répond et Claude Code bascule le mode rapide sans attendre la fin du tour, bien que le tour en cours se termine à sa vitesse d'origine. Avant la v2.1.242, Claude Code a décidé à partir d'un drapeau de fonctionnalité qu'il a récupéré d'Anthropic s'il fallait exécuter la commande en milieu de tour ou la mettre en file d'attente jusqu'à la fin du tour, et l'a toujours mise en file d'attente dans une session qui ne [récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching). La disponibilité en mode non interactif avec `-p` est limitée ; consultez [Basculer le mode rapide](/docs/fr/fast-mode#toggle-fast-mode). Nécessite Claude Code v2.1.205 ou ultérieur |

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

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

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

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

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

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


121| `/pr-comments [PR]` | Supprimé dans la v2.1.91. Demandez à Claude directement d'afficher les commentaires de la demande de fusion à la place. Sur les versions antérieures, récupère et affiche les commentaires d'une demande de fusion GitHub ; détecte automatiquement la demande de fusion pour la branche actuelle, ou passez une URL ou un numéro de demande de fusion. Nécessite l'interface de ligne de commande `gh` |124| `/pr-comments [PR]` | Supprimé dans la v2.1.91. Demandez à Claude directement d'afficher les commentaires de la demande de fusion à la place. Sur les versions antérieures, récupère et affiche les commentaires d'une demande de fusion GitHub ; détecte automatiquement la demande de fusion pour la branche actuelle, ou passez une URL ou un numéro de demande de fusion. Nécessite l'interface de ligne de commande `gh` |

122| `/privacy-settings` | Afficher et mettre à jour vos paramètres de confidentialité. Disponible uniquement pour les abonnés aux plans Pro et Max |125| `/privacy-settings` | Afficher et mettre à jour vos paramètres de confidentialité. Disponible uniquement pour les abonnés aux plans Pro et Max |

123| `/radio` | Ouvrir Claude FM lo-fi radio dans votre navigateur. Affiche l'URL du flux lorsqu'aucun navigateur n'est disponible |126| `/radio` | Ouvrir Claude FM lo-fi radio dans votre navigateur. Affiche l'URL du flux lorsqu'aucun navigateur n'est disponible |

124| `/rate-limit-options` | Afficher les façons de continuer à travailler lorsqu'une limite d'utilisation claude.ai bloque une demande : attendre et [continuer automatiquement lorsque la limite se réinitialise](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset), ajouter des [crédits d'utilisation](/docs/fr/costs#add-usage-credits-to-your-subscription), ou mettre à niveau votre plan. Claude Code peut également ouvrir ce menu de lui-même lorsque vous atteignez une limite à votre propre terminal. Consultez [Désactiver la continuation automatique](/docs/fr/interactive-mode#turn-automatic-continue-off). Nécessite un abonnement claude.ai. N'apparaît pas dans le menu de commande ; tapez-le en entier. Les lignes d'attente et de continuation nécessitent Claude Code v2.1.234 ou ultérieur |127| `/rate-limit-options` | Afficher les façons de continuer à travailler lorsqu'une limite d'utilisation claude.ai bloque une demande : attendre et [continuer automatiquement lorsque la limite se réinitialise](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset), ajouter des [crédits d'utilisation](/docs/fr/costs#add-usage-credits-to-your-subscription), ou mettre à niveau votre plan. Claude Code peut également ouvrir ce menu de lui-même lorsque vous atteignez une limite à votre propre terminal. Consultez [Désactiver la continuation automatique](/docs/fr/interactive-mode#turn-automatic-continue-off). Nécessite un abonnement claude.ai. Les lignes d'attente et de continuation nécessitent Claude Code v2.1.234 ou ultérieur |

125| `/recap` | Générer un résumé d'une ligne de la session actuelle à la demande. Consultez [Récapitulatif de session](/docs/fr/interactive-mode#session-recap) pour le récapitulatif automatique qui apparaît après votre absence |128| `/recap` | Générer un résumé d'une ligne de la session actuelle à la demande. Consultez [Récapitulatif de session](/docs/fr/interactive-mode#session-recap) pour le récapitulatif automatique qui apparaît après votre absence |

126| `/release-notes` | Afficher le journal des modifications dans un sélecteur de version interactif. Sélectionnez une version spécifique pour voir ses notes de version, ou choisissez d'afficher toutes les versions. Les notes apparaissent dans votre transcription sans entrer dans la conversation que Claude voit |129| `/release-notes` | Afficher le journal des modifications dans un sélecteur de version interactif. Sélectionnez une version spécifique pour voir ses notes de version, ou choisissez d'afficher toutes les versions. Les notes apparaissent dans votre transcription sans entrer dans la conversation que Claude voit |

127| `/reload-plugins [--force]` | Recharger tous les [plugins](/docs/fr/plugins/overview) actifs pour appliquer les modifications en attente sans redémarrer. Signale les décomptes pour chaque composant rechargé et signale les erreurs de chargement. Lorsque le rechargement changerait les outils MCP chargés et invaliderait le cache d'invite, la commande avertit et ignore sauf si vous passez `--force`. Également disponible en mode non interactif (`-p`), le SDK Agent et l'application de bureau, où il s'exécute uniquement sur l'entrée tapée directement dans la session et n'applique pas les modifications du serveur MCP du plugin ; nécessite Claude Code v2.1.260 ou ultérieur. Consultez [Appliquer les modifications du plugin sans redémarrer](/docs/fr/plugins/cli-reference#reload-plugins) |130| `/reload-plugins [--force]` | Recharger tous les [plugins](/docs/fr/plugins/overview) actifs pour appliquer les modifications en attente sans redémarrer. Signale les décomptes pour chaque composant rechargé et signale les erreurs de chargement. Lorsque le rechargement changerait les outils MCP chargés et invaliderait le cache d'invite, la commande avertit et ignore sauf si vous passez `--force`. Également disponible en mode non interactif (`-p`), le SDK Agent et l'application de bureau, où il s'exécute uniquement sur l'entrée tapée directement dans la session et n'applique pas les modifications du serveur MCP du plugin ; nécessite Claude Code v2.1.260 ou ultérieur. Consultez [Appliquer les modifications du plugin sans redémarrer](/docs/fr/plugins/cli-reference#reload-plugins) |

costs.md +2 −0

Details

96 96 

97Exécutez [`/insights`](/docs/fr/commands#all-commands) pour un rapport sur votre façon de travailler plutôt que sur le nombre de tokens que vous avez utilisés. Il analyse vos sessions récentes sur cette machine et écrit un rapport HTML couvrant ce sur quoi vous travaillez, les points de friction tels que les demandes mal comprises ou le code bogué, et les suggestions pour utiliser Claude Code plus efficacement. Une seule exécution analyse jusqu'à 200 sessions qu'il n'a pas vues auparavant et ignore les très courtes. Quand des sessions sont omises, l'en-tête du rapport affiche le nombre analysé avec le total entre parenthèses, par exemple `200 sessions (412 total)`.97Exécutez [`/insights`](/docs/fr/commands#all-commands) pour un rapport sur votre façon de travailler plutôt que sur le nombre de tokens que vous avez utilisés. Il analyse vos sessions récentes sur cette machine et écrit un rapport HTML couvrant ce sur quoi vous travaillez, les points de friction tels que les demandes mal comprises ou le code bogué, et les suggestions pour utiliser Claude Code plus efficacement. Une seule exécution analyse jusqu'à 200 sessions qu'il n'a pas vues auparavant et ignore les très courtes. Quand des sessions sont omises, l'en-tête du rapport affiche le nombre analysé avec le total entre parenthèses, par exemple `200 sessions (412 total)`.

98 98 

99Quand le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) est disponible pour la session et que vos sessions récentes se sont exécutées principalement sans lui, le rapport peut également inclure une estimation du nombre de demandes de permission que le mode auto aurait pu gérer dans ces sessions.

100 

99Claude Code écrit le dernier rapport dans `~/.claude/usage-data/report.html` et enregistre une copie horodatée de chaque exécution dans le même répertoire, donc les rapports antérieurs ne sont pas écrasés. Claude Code supprime les rapports selon le même calendrier que le reste de vos données de session : au démarrage, il supprime les fichiers plus anciens que [`cleanupPeriodDays`](/docs/fr/claude-directory#cleaned-up-automatically), 30 jours par défaut.101Claude Code écrit le dernier rapport dans `~/.claude/usage-data/report.html` et enregistre une copie horodatée de chaque exécution dans le même répertoire, donc les rapports antérieurs ne sont pas écrasés. Claude Code supprime les rapports selon le même calendrier que le reste de vos données de session : au démarrage, il supprime les fichiers plus anciens que [`cleanupPeriodDays`](/docs/fr/claude-directory#cleaned-up-automatically), 30 jours par défaut.

100 102 

101Vous pouvez exécuter `/insights` sur n'importe quel plan et avec n'importe quel fournisseur. L'analyse s'exécute via le même fournisseur et le même compte que vos sessions régulières, et les tokens comptent par rapport à votre utilisation de plan ou d'API. Les sessions d'autres appareils et de claude.ai ne sont pas incluses.103Vous pouvez exécuter `/insights` sur n'importe quel plan et avec n'importe quel fournisseur. L'analyse s'exécute via le même fournisseur et le même compte que vos sessions régulières, et les tokens comptent par rapport à votre utilisation de plan ou d'API. Les sessions d'autres appareils et de claude.ai ne sont pas incluses.

desktop.md +6 −0

Details

834* **Remote Control** : activez ou désactivez [Remote Control](/docs/fr/remote-control) pour votre organisation834* **Remote Control** : activez ou désactivez [Remote Control](/docs/fr/remote-control) pour votre organisation

835* **Désactiver le mode Contourner les permissions** : empêchez les utilisateurs de votre organisation d'activer le mode de contournement des permissions835* **Désactiver le mode Contourner les permissions** : empêchez les utilisateurs de votre organisation d'activer le mode de contournement des permissions

836 836 

837<Note>

838 Le formulaire OpenTelemetry pour Cowork sous **Monitoring** dans les [paramètres de données et de confidentialité](https://claude.ai/admin-settings/data-privacy-controls) de la console d'administration s'applique uniquement aux sessions Cowork. Dans une session Cowork sur cette machine, l'application de bureau transmet ce collecteur à Claude Code en tant que variables d'environnement `OTEL_*`, de sorte que le formulaire prend effet même si Claude Code dans cette session [ne récupère jamais les paramètres de la console d'administration](#managed-settings).

839 

840 Pour exporter la télémétrie à partir des sessions de l'onglet Code, définissez `CLAUDE_CODE_ENABLE_TELEMETRY` et les variables `OTEL_*` dans le bloc `env` de vos paramètres gérés Claude Code, comme indiqué dans [configuration de l'administrateur pour la surveillance](/docs/fr/monitoring-usage#administrator-configuration). Les sessions locales, cloud et SSH lisent chacune les [paramètres gérés à partir de sources différentes](#managed-settings). Pour les hôtes qu'une session cloud peut atteindre, voir [accès réseau](/docs/fr/cloud-environments#network-access). Pour le `service.name` que les sessions de l'onglet Code signalent, voir [informations de service](/docs/fr/monitoring-usage#service-information).

841</Note>

842 

837<h3 id="managed-settings">843<h3 id="managed-settings">

838 Paramètres gérés844 Paramètres gérés

839</h3>845</h3>

env-vars.md +4 −4

Details

110 110 

111Certains comportements ont à la fois une variable d'environnement et une clé de paramètres dédiée, et celle que Claude Code lit en premier diffère selon la clé. Pour `ANTHROPIC_MODEL` et `CLAUDE_CODE_AUTO_CONNECT_IDE`, Claude Code lit d'abord la variable et utilise le paramètre `model` ou `autoConnectIde` uniquement lorsque la variable n'est pas définie. Pour la paire que vous définissez, vérifiez la ligne de la variable ci-dessous et l'entrée de la clé sur la [référence des paramètres](/docs/fr/settings-reference).111Certains comportements ont à la fois une variable d'environnement et une clé de paramètres dédiée, et celle que Claude Code lit en premier diffère selon la clé. Pour `ANTHROPIC_MODEL` et `CLAUDE_CODE_AUTO_CONNECT_IDE`, Claude Code lit d'abord la variable et utilise le paramètre `model` ou `autoConnectIde` uniquement lorsque la variable n'est pas définie. Pour la paire que vous définissez, vérifiez la ligne de la variable ci-dessous et l'entrée de la clé sur la [référence des paramètres](/docs/fr/settings-reference).

112 112 

113Lorsque la même variable est définie à la fois dans votre shell et dans un bloc `env` du fichier de paramètres, la valeur du fichier de paramètres s'applique. Claude Code écrit chaque entrée `env` dans l'environnement du processus, en remplaçant la valeur héritée du shell. Le [paramètre `env`](/docs/fr/settings-reference#when-claude-code-applies-env-values) indique quand il les applique. Quelques variables sont traitées de manière spéciale ; le [paramètre `env`](/docs/fr/settings-reference#env) énumère les exceptions.113Lorsque la même variable est définie à la fois dans votre shell et dans un bloc `env` du fichier de paramètres, la valeur du fichier de paramètres s'applique dans la plupart des sessions. Claude Code écrit chaque entrée `env` dans l'environnement du processus, en remplaçant la valeur héritée du shell. [Comment les valeurs `env` interagissent avec votre shell](/docs/fr/settings-reference#how-env-values-interact-with-your-shell) couvre les sessions qui conservent la valeur héritée à la place, et le [paramètre `env`](/docs/fr/settings-reference#when-claude-code-applies-env-values) indique quand il les applique. Quelques variables sont traitées de manière spéciale ; le [paramètre `env`](/docs/fr/settings-reference#env) énumère les exceptions.

114 114 

115Dans un fichier de paramètres, vous pouvez définir une variable mais vous ne pouvez pas en retirer une. Pour remplacer une variable que vous ne pouvez pas supprimer, comme une `CLAUDE_CODE_USE_VERTEX` obsolète exportée par un profil de shell que vous ne contrôlez pas, définissez-la sur une chaîne vide dans le bloc `env` : `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code traite la valeur vide comme non définie pour la sélection du fournisseur. Les sous-processus héritent toujours de la valeur vide.115Dans un fichier de paramètres, vous pouvez définir une variable mais vous ne pouvez pas en retirer une. Pour remplacer une variable que vous ne pouvez pas supprimer, comme une `CLAUDE_CODE_USE_VERTEX` obsolète exportée par un profil de shell que vous ne contrôlez pas, définissez-la sur une chaîne vide dans le bloc `env` : `"CLAUDE_CODE_USE_VERTEX": ""`. Claude Code traite la valeur vide comme non définie pour la sélection du fournisseur. Les sous-processus héritent toujours de la valeur vide.

116 116 


189| `ANTHROPIC_VERTEX_BASE_URL` | Remplacez l'URL du point de terminaison Google Cloud's Agent Platform. Utilisez pour les points de terminaison Google Cloud's Agent Platform personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |189| `ANTHROPIC_VERTEX_BASE_URL` | Remplacez l'URL du point de terminaison Google Cloud's Agent Platform. Utilisez pour les points de terminaison Google Cloud's Agent Platform personnalisés ou lors du routage via une [passerelle LLM](/docs/fr/llm-gateway). Voir [Google Cloud's Agent Platform](/docs/fr/google-vertex-ai) |

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

191| `ANTHROPIC_WORKSPACE_ID` | ID d'espace de travail pour [la fédération d'identité de charge de travail](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez ceci lorsque votre règle de fédération est limitée à plus d'un espace de travail afin que l'échange de jetons sache quel espace de travail cibler |191| `ANTHROPIC_WORKSPACE_ID` | ID d'espace de travail pour [la fédération d'identité de charge de travail](https://platform.claude.com/docs/en/manage-claude/workload-identity-federation). Définissez ceci lorsque votre règle de fédération est limitée à plus d'un espace de travail afin que l'échange de jetons sache quel espace de travail cibler |

192| `API_FORCE_IDLE_TIMEOUT` | Remplacez le délai d'inactivité du corps de 5 minutes qui interrompt une réponse de modèle en continu lorsqu'aucun octet n'arrive. Définissez sur `0` pour désactiver le délai d'expiration, par exemple lorsqu'une [passerelle](/docs/fr/llm-gateway) lente ou un modèle local fait une pause plus longue que 5 minutes entre les chunks, ou `1` pour le maintenir activé pour chaque fournisseur. Lorsqu'il n'est pas défini, le délai d'expiration est actif sur les fournisseurs autres que l'API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws). Les [chiens de garde de flux](/docs/fr/network-config#streaming-idle-watchdogs) s'exécutent indépendamment et interrompent une longue pause silencieuse même lorsque vous définissez `0` ici |192| `API_FORCE_IDLE_TIMEOUT` | Remplacez le délai d'inactivité du corps de 5 minutes qui interrompt une réponse de modèle en continu lorsqu'aucun octet n'arrive. Définissez sur `0` pour désactiver le délai d'expiration, par exemple lorsqu'une [passerelle](/docs/fr/llm-gateway) lente ou un modèle local fait une pause plus longue que 5 minutes entre les chunks, ou `1` pour le maintenir activé pour chaque fournisseur. Lorsqu'il n'est pas défini, le délai d'expiration est actif sur les fournisseurs autres que l'API Anthropic directe, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) et Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` défini. Les [chiens de garde de flux](/docs/fr/network-config#streaming-idle-watchdogs) s'exécutent indépendamment et interrompent une longue pause silencieuse même lorsque vous définissez `0` ici |

193| `API_TIMEOUT_MS` | Délai d'expiration pour les requêtes API en millisecondes (par défaut : 600000, ou 10 minutes ; maximum : 2147483647). Augmentez ceci lorsque les requêtes expirent sur les réseaux lents ou lors du routage via un proxy. Les valeurs au-dessus du maximum débordent du minuteur sous-jacent et causent l'échec immédiat des requêtes |193| `API_TIMEOUT_MS` | Délai d'expiration pour les requêtes API en millisecondes (par défaut : 600000, ou 10 minutes ; maximum : 2147483647). Augmentez ceci lorsque les requêtes expirent sur les réseaux lents ou lors du routage via un proxy. Les valeurs au-dessus du maximum débordent du minuteur sous-jacent et causent l'échec immédiat des requêtes |

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

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


444| `DISABLE_PROMPT_CACHING` | Définissez sur `1` pour désactiver la [mise en cache des invites](/docs/fr/prompt-caching#disable-prompt-caching) pour tous les modèles (a la priorité sur les paramètres par modèle) |444| `DISABLE_PROMPT_CACHING` | Définissez sur `1` pour désactiver la [mise en cache des invites](/docs/fr/prompt-caching#disable-prompt-caching) pour tous les modèles (a la priorité sur les paramètres par modèle) |

445| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Fable |445| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Fable |

446| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Haiku par défaut](/docs/fr/prompt-caching#disable-prompt-caching), où qu'il s'exécute |446| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Haiku par défaut](/docs/fr/prompt-caching#disable-prompt-caching), où qu'il s'exécute |

447| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Opus |447| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Opus par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |

448| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Sonnet |448| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Sonnet par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |

449| `DISABLE_TELEMETRY` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour refuser la télémétrie. **Définir sur `0` ou `false` refuse toujours**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour réactiver la télémétrie. Les événements de télémétrie n'incluent pas les données utilisateur comme le code, les chemins de fichiers ou les commandes Bash. Désactive également la [récupération des drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching). Voir [Désactiver la télémétrie pour votre organisation](/docs/fr/managed-settings#turn-telemetry-off-for-your-organization) |449| `DISABLE_TELEMETRY` | Définissez sur n'importe quelle valeur non vide, comme `1`, pour refuser la télémétrie. **Définir sur `0` ou `false` refuse toujours**, contrairement à la plupart des variables activées/désactivées ; supprimez la variable pour réactiver la télémétrie. Les événements de télémétrie n'incluent pas les données utilisateur comme le code, les chemins de fichiers ou les commandes Bash. Désactive également la [récupération des drapeaux de fonctionnalité](#features-that-need-feature-flag-fetching). Voir [Désactiver la télémétrie pour votre organisation](/docs/fr/managed-settings#turn-telemetry-off-for-your-organization) |

450| `DISABLE_UPDATES` | Définissez sur `1` pour bloquer toutes les mises à jour, y compris la commande manuelle `claude update` et `claude install`. Plus strict que `DISABLE_AUTOUPDATER`. Utilisez lorsque vous distribuez Claude Code via vos propres canaux et que les utilisateurs ne doivent pas se mettre à jour eux-mêmes |450| `DISABLE_UPDATES` | Définissez sur `1` pour bloquer toutes les mises à jour, y compris la commande manuelle `claude update` et `claude install`. Plus strict que `DISABLE_AUTOUPDATER`. Utilisez lorsque vous distribuez Claude Code via vos propres canaux et que les utilisateurs ne doivent pas se mettre à jour eux-mêmes |

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

errors.md +90 −14

Details

152| `There's an issue with the selected model` | [Erreurs de requête](#theres-an-issue-with-the-selected-model) |152| `There's an issue with the selected model` | [Erreurs de requête](#theres-an-issue-with-the-selected-model) |

153| `Model ... is not a recognized model id` | [Erreurs de requête](#model-is-not-a-recognized-model-id) |153| `Model ... is not a recognized model id` | [Erreurs de requête](#model-is-not-a-recognized-model-id) |

154| `Model ... not found` | [Erreurs de requête](#model-not-found) |154| `Model ... not found` | [Erreurs de requête](#model-not-found) |

155| `Couldn't confirm model ... with the API` | [Erreurs de requête](#couldnt-confirm-model-with-the-api) |

155| `API error: ... · model not changed` | [Erreurs de requête](#api-error-model-not-changed) |156| `API error: ... · model not changed` | [Erreurs de requête](#api-error-model-not-changed) |

156| `Claude Opus is not available with the Claude Pro plan` | [Erreurs de requête](#claude-opus-is-not-available-with-the-claude-pro-plan) |157| `Claude Opus is not available with the Claude Pro plan` | [Erreurs de requête](#claude-opus-is-not-available-with-the-claude-pro-plan) |

157| `Claude Code ... does not support this model; version ... or newer is required` | [Erreurs de requête](#claude-code-does-not-support-this-model) |158| `Claude Code ... does not support this model; version ... or newer is required` | [Erreurs de requête](#claude-code-does-not-support-this-model) |

158| `Claude Code ... is older than the minimum version required by your organization's policy` | [Erreurs de requête](#claude-code-does-not-support-this-model) |159| `Claude Code ... is older than the minimum version required by your organization's policy` | [Erreurs de requête](#claude-code-does-not-support-this-model) |

159| `Model ... is restricted by your organization's settings` | [Erreurs de requête](#model-is-restricted-by-your-organizations-settings) |160| `Model ... is restricted by your organization's settings` | [Erreurs de requête](#model-is-restricted-by-your-organizations-settings) |

160| `Model ... is not available. Your organization restricts model selection.` | [Erreurs de requête](#model-is-restricted-by-your-organizations-settings) |161| `Model ... is not available. Your organization restricts model selection.` | [Erreurs de requête](#model-is-restricted-by-your-organizations-settings) |

162| `Can't switch to the default model` | [Erreurs de requête](#cant-switch-to-the-default-model) |

161| `Model switch ... blocked by a PreModelSwitch hook` | [Erreurs de requête](#model-switch-was-blocked-by-a-premodelswitch-hook) |163| `Model switch ... blocked by a PreModelSwitch hook` | [Erreurs de requête](#model-switch-was-blocked-by-a-premodelswitch-hook) |

162| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Erreurs de requête](#couldnt-save-it-as-your-default) |164| `couldn't save it as your default` / `couldn't confirm it was saved as your default` | [Erreurs de requête](#couldnt-save-it-as-your-default) |

163| `thinking.type.enabled is not supported for this model` | [Erreurs de requête](#thinking-type-enabled-is-not-supported-for-this-model) |165| `thinking.type.enabled is not supported for this model` | [Erreurs de requête](#thinking-type-enabled-is-not-supported-for-this-model) |


219| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Erreurs de ligne de commande](#no-github-account-is-connected-to-your-claude-account) |221| `Ultrareview clones <owner>/<repo> in the cloud with the GitHub account connected to your Claude account, and none is connected` | [Erreurs de ligne de commande](#no-github-account-is-connected-to-your-claude-account) |

220| `Your connected GitHub account can't see <owner>/<repo>` | [Erreurs de ligne de commande](#your-connected-github-account-cant-see-the-repository) |222| `Your connected GitHub account can't see <owner>/<repo>` | [Erreurs de ligne de commande](#your-connected-github-account-cant-see-the-repository) |

221| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Erreurs de ligne de commande](#the-github-app-preflight-failed-transiently) |223| `The GitHub App preflight failed transiently (network or service hiccup) — retry in a moment to start from GitHub instead` | [Erreurs de ligne de commande](#the-github-app-preflight-failed-transiently) |

224| `Not uploading this working tree` with `the upload cannot follow that setting` | [Erreurs de ligne de commande](#the-repository-upload-cant-follow-a-git-setting) |

222| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Erreurs de ligne de commande](#github-isnt-connected-to-your-claude-account) |225| `GitHub isn't connected to your Claude account, so this repository can't be cloned in the cloud` | [Erreurs de ligne de commande](#github-isnt-connected-to-your-claude-account) |

223| `Single sign-on authorization needed` | [Erreurs de ligne de commande](#single-sign-on-authorization-needed) |226| `Single sign-on authorization needed` | [Erreurs de ligne de commande](#single-sign-on-authorization-needed) |

224| `Failed to resume the conversation` | [Erreurs de ligne de commande](#failed-to-resume-the-conversation) |227| `Failed to resume the conversation` | [Erreurs de ligne de commande](#failed-to-resume-the-conversation) |


252| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Erreurs de plugin](#plugin-is-required-by-your-organization) |255| `Plugin "<name>@synced" is required by your organization and can't be disabled here` | [Erreurs de plugin](#plugin-is-required-by-your-organization) |

253| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Erreurs de plugin](#plugin-was-not-uninstalled) |256| `"<plugin>" was not uninstalled: it is still switched on in <file>` | [Erreurs de plugin](#plugin-was-not-uninstalled) |

254| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Erreurs de plugin](#plugin-was-not-uninstalled) |257| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Erreurs de plugin](#plugin-was-not-uninstalled) |

258| `Plugin "<plugin>" was not uninstalled: installed_plugins.json` | [Dépannage des plugins](/docs/fr/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read) |

255| `would be spawned with zero tools — refusing` | [Erreurs d'outil](#agent-would-be-spawned-with-zero-tools) |259| `would be spawned with zero tools — refusing` | [Erreurs d'outil](#agent-would-be-spawned-with-zero-tools) |

256| `File is covered by a Read deny rule in your permission settings` | [Erreurs d'outil](#file-is-covered-by-a-read-deny-rule) |260| `File is covered by a Read deny rule in your permission settings` | [Erreurs d'outil](#file-is-covered-by-a-read-deny-rule) |

257| `cannot contain null bytes (\0)` | [Erreurs d'outil](#path-cannot-contain-null-bytes) |261| `cannot contain null bytes (\0)` | [Erreurs d'outil](#path-cannot-contain-null-bytes) |


727 The prompt to confirm went unanswered731 The prompt to confirm went unanswered

728</h3>732</h3>

729 733 

730Si votre compte nécessite le [consentement des crédits d'utilisation Fable](/docs/fr/model-config#fable-and-usage-credits), Claude Code vous demande de confirmer avant qu'une demande Fable ne facture les crédits d'utilisation. Quand personne ne répond à cette invite de consentement dans une session qui peut ne pas avoir quelqu'un à son terminal, Claude Code ferme l'invite et termine le tour avec l'un de ces messages :734Si votre compte nécessite le [consentement des crédits d'utilisation Fable](/docs/fr/model-config#fable-and-usage-credits), Claude Code vous demande de confirmer avant qu'une demande Fable ne facture les crédits d'utilisation. Quand l'invite de consentement se ferme sans que personne ne la réponde, Claude Code termine le tour avec l'un de ces messages :

731 735 

732```text theme={null}736```text theme={null}

733Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change737Fable limit reached · continuing on Fable 5.1 uses usage credits, and the prompt to confirm went unanswered — nothing was sent · answer it where this session is running, or /model to change


736 740 

737Les messages nomment le modèle Fable de la session, donc sur Fable 5, ils lisent `continuing on Fable 5` et `Fable 5 now uses usage credits`. Avant v2.1.257, le premier message commençait par `Fable 5 limit reached`.741Les messages nomment le modèle Fable de la session, donc sur Fable 5, ils lisent `continuing on Fable 5` et `Fable 5 now uses usage credits`. Avant v2.1.257, le premier message commençait par `Fable 5 limit reached`.

738 742 

739Cela se produit dans les sessions [Remote Control](/docs/fr/remote-control), les [sessions en arrière-plan](/docs/fr/agent-view), et les sessions de coéquipiers [agent team](/docs/fr/agent-teams). Claude Code affiche l'invite de consentement uniquement dans la vue interactive de la session : le terminal où elle s'exécute, ou, pour une session en arrière-plan, la [vue des agents](/docs/fr/agent-view) une fois que vous vous attachez. Un client Remote Control ne peut pas l'afficher. Claude Code ferme l'invite à la date limite [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry), cinq minutes par défaut, ou dès qu'une nouvelle invite arrive alors que personne n'a tapé à ce terminal, comme une invite envoyée par un client Remote Control. Taper au terminal où la session s'exécute annule la date limite, et Claude Code attend votre réponse. Dans la vue attachée d'une session en arrière-plan, taper n'annule pas la date limite, et une nouvelle invite ferme toujours l'invite de consentement, donc répondez avant que l'un ou l'autre ne se produise. Claude Code n'envoie rien et conserve votre modèle, donc quand vous envoyez votre prochaine invite, Claude Code affiche à nouveau l'invite de consentement.743Cela se produit dans les sessions [Remote Control](/docs/fr/remote-control), les [sessions en arrière-plan](/docs/fr/agent-view), les sessions de coéquipiers [agent team](/docs/fr/agent-teams), et les sessions qu'une autre application héberge via l'Agent SDK. Pour savoir quand Claude Code ferme l'invite, consultez [Fable and usage credits](/docs/fr/model-config#fable-and-usage-credits).

740 744 

741**Ce qu'il faut faire :**745**Ce qu'il faut faire :**

742 746 

743* Au terminal où la session s'exécute, envoyez une autre invite et répondez à l'invite de consentement quand elle réapparaît. Pour une session en arrière-plan, attachez-vous d'abord à partir de la [vue des agents](/docs/fr/agent-view). Renvoyer depuis un client Remote Control affiche ce message à nouveau, car le client ne peut pas afficher l'invite.747* Où la session s'exécute, au terminal ou dans l'application qui l'héberge, envoyez une autre invite et répondez à l'invite de consentement quand elle réapparaît. Pour une session en arrière-plan, attachez-vous d'abord à partir de la [vue des agents](/docs/fr/agent-view). Renvoyer depuis un client Remote Control affiche ce message à nouveau, car le client ne peut pas afficher l'invite.

744* Exécutez `/model` pour basculer vers un modèle qui ne facture pas les crédits d'utilisation748* Exécutez `/model` pour basculer vers un modèle qui ne facture pas les crédits d'utilisation

745* Pour vous donner plus de temps pour atteindre ce terminal, définissez [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry) sur une valeur plus longue ou `"never"`749* Pour vous donner plus de temps, définissez [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry) sur une valeur plus longue ou `"never"`

746 750 

747Avant v2.1.236, ce message n'apparaissait pas : pendant qu'un client Remote Control était connecté, Claude Code attendait 60 secondes une réponse, puis continuait le tour sur votre modèle par défaut.751Avant v2.1.236, ce message n'apparaissait pas : pendant qu'un client Remote Control était connecté, Claude Code attendait 60 secondes une réponse, puis continuait le tour sur votre modèle par défaut.

748 752 


2346 Le modèle n'est pas un ID de modèle reconnu2350 Le modèle n'est pas un ID de modèle reconnu

2347</h3>2351</h3>

2348 2352 

2349La chaîne de modèle que vous avez passée à un changement de modèle n'est pas un alias de modèle, un ID de modèle que cette version de Claude Code connaît, ou un ID qui commence par `claude-`. Les causes habituelles sont une faute de frappe dans l'ID, un nom d'affichage comme `Sonnet 5` où l'ID `claude-sonnet-5` est attendu, ou un alias que seules les versions plus récentes de Claude Code reconnaissent. Claude Code rejette le changement immédiatement. Avant v2.1.200, Claude Code enregistrait la chaîne et échouait à la requête suivante avec [Il y a un problème avec le modèle sélectionné](#theres-an-issue-with-the-selected-model).2353La chaîne que vous avez passée à un changement de modèle n'est pas un alias de modèle, un ID de modèle que Claude Code peut utiliser, donc il a refusé le changement sans envoyer de requête et la session garde son modèle actuel. Vous pouvez obtenir cette erreur quand un modèle est défini via la méthode [Agent SDK](/docs/fr/agent-sdk/typescript) `setModel()`, par une application qui exécute le CLI Claude Code pour vous, comme l'[application de bureau](/docs/fr/desktop), ou quand vous choisissez un modèle à partir d'un appareil connecté via [Contrôle à distance](/docs/fr/remote-control). Avant v2.1.200, Claude Code enregistrait la chaîne et échouait à la requête suivante avec [Il y a un problème avec le modèle sélectionné](#theres-an-issue-with-the-selected-model).

2350 2354 

2351```text theme={null}2355```text theme={null}

2352Model "claud-sonnet-5" is not a recognized model id. Did you mean 'claude-sonnet-5'?2356Model "Sonnet5" is not a recognized model id. Did you mean 'claude-sonnet-5'?

2353```2357```

2354 2358 

2355L'indice de fin nomme l'alias ou l'ID de modèle le plus proche. Quand rien n'est assez proche, il se lit `Run /model to see available models.` à la place. Dans une session que l'[application de bureau](/docs/fr/desktop) démarre pour vous, l'indice sans correspondance se lit `Switch to a different model.`2359Dans cet exemple, une application a envoyé le nom d'affichage `Sonnet 5`, que le message répète sans son espace. L'indice de fin nomme l'alias ou l'ID de modèle le plus proche. Quand rien n'est assez proche, il se lit `Run /model to see available models.` à la place. Dans une session que l'[application de bureau](/docs/fr/desktop) démarre pour vous, l'indice sans correspondance se lit `Switch to a different model.`

2356 2360 

2357Claude Code produit cette erreur localement au moment où le changement est demandé, avant toute requête API. Elle s'applique quand un modèle est défini via la méthode [Agent SDK](/docs/fr/agent-sdk/typescript) `setModel()`, par une application comme l'[application de bureau](/docs/fr/desktop) qui exécute le CLI Claude Code pour vous, ou quand vous choisissez un modèle à partir d'un appareil connecté via [Contrôle à distance](/docs/fr/remote-control). Avant v2.1.260, la vérification ne couvrait pas les choix de contrôle à distance, donc Claude Code appliquait le choix et la requête suivante échouait avec [Il y a un problème avec le modèle sélectionné](#theres-an-issue-with-the-selected-model).2361Quand vous basculez via l'Agent SDK ou une application sur l'API Anthropic, seule une chaîne qui ne peut pas être un ID de modèle obtient cette erreur, comme un nom d'affichage ou une chaîne vide.

2362 

2363Quand vous choisissez un modèle à partir d'un appareil de contrôle à distance, Claude Code vérifie la chaîne localement. Toute chaîne qui n'est pas un alias de modèle, un modèle que Claude Code liste ou que vous avez configuré, ou un ID qui commence par `claude-` obtient cette erreur, un ID mal tapé comme `claud-sonnet-5` inclus. Avant v2.1.260, cette vérification ne couvrait pas les choix de contrôle à distance, donc une chaîne non reconnue était appliquée et échouait à la requête suivante.

2358 2364 

2359**Que faire :**2365**Que faire :**

2360 2366 

2361* Exécutez `/model` sans argument pour ouvrir le sélecteur et choisir parmi les modèles disponibles pour votre compte, puis passez l'alias ou l'ID affiché là2367* Exécutez `/model` sans argument pour ouvrir le sélecteur et choisir parmi les modèles disponibles pour votre compte, puis passez l'alias ou l'ID affiché là

2362* Si vous avez utilisé un alias qu'une version plus récente de Claude Code supporte, exécutez `claude update`. Un ID complet qui commence par `claude-` passe cette vérification locale même quand le modèle est plus récent que votre version de Claude Code. Le serveur peut toujours exiger une version minimale pour ce modèle ; voir [Claude Code ne supporte pas ce modèle](#claude-code-does-not-support-this-model).2368* Si vous avez utilisé un alias qu'une version plus récente de Claude Code supporte, exécutez `claude update`, ou passez l'ID complet du modèle à la place. Le serveur peut toujours exiger une version minimale de Claude Code pour ce modèle ; voir [Claude Code ne supporte pas ce modèle](#claude-code-does-not-support-this-model).

2363* Un modèle enregistré avant v2.1.200 n'est pas réparé par cette vérification. Si une valeur obsolète continue de revenir, supprimez-la des emplacements listés sous [Définir votre modèle](/docs/fr/model-config#setting-your-model).2369* Un modèle enregistré avant v2.1.200 n'est pas réparé par cette vérification. Si une valeur obsolète continue de revenir, supprimez-la des emplacements listés sous [Définir votre modèle](/docs/fr/model-config#setting-your-model).

2364* La vérification s'exécute uniquement sur l'API Anthropic. Sur tout autre fournisseur ou passerelle, y compris un `ANTHROPIC_BASE_URL` personnalisé, le fournisseur définit les noms de modèles, donc Claude Code accepte n'importe quelle chaîne et la transmet. Claude Code peut toujours écrire la [ligne de diagnostic de modèle non reconnu](#unrecognized-model-id-on-a-request) au moment de la requête, sur chaque fournisseur.2370* Sur tout fournisseur autre que l'API Anthropic, ou derrière une passerelle ou un `ANTHROPIC_BASE_URL` personnalisé, seule une chaîne vide obtient cette erreur. Claude Code peut toujours écrire la [ligne de diagnostic de modèle non reconnu](#unrecognized-model-id-on-a-request) au moment de la requête, sur chaque fournisseur.

2365 2371 

2366<h3 id="model-not-found">2372<h3 id="model-not-found">

2367 Modèle non trouvé2373 Modèle non trouvé

2368</h3>2374</h3>

2369 2375 

2370Vous avez choisi un modèle avec `/model <name>` et Claude Code n'a pas pu confirmer qu'un modèle avec ce nom existe. Quand le nom n'est pas un [alias de modèle](/docs/fr/model-config#model-aliases) ou une autre orthographe que Claude Code accepte localement, `/model` le vérifie avec une requête API minimale, et cette erreur est généralement la réponse de votre point de terminaison API. Un nom qui ne peut pas du tout être un ID de modèle, comme un contenant des espaces, obtient le même message.2376Vous avez choisi un modèle par nom et Claude Code n'a pas pu confirmer qu'un modèle avec ce nom existe. Quand le nom n'est pas un [alias de modèle](/docs/fr/model-config#model-aliases) ou une autre orthographe que Claude Code accepte localement, Claude Code le vérifie avec une requête API minimale, et cette erreur est généralement la réponse de votre point de terminaison API. Avec `/model <name>`, un nom qui ne peut pas du tout être un ID de modèle, comme un contenant des espaces, obtient le même message.

2371 2377 

2372```text theme={null}2378```text theme={null}

2373Model 'claude-opus-9' not found2379Model 'claude-opus-9' not found


2379 2385 

2380* Exécutez `/model` sans argument et choisissez parmi les modèles disponibles pour votre compte, ou utilisez un [alias de modèle](/docs/fr/model-config#model-aliases) comme `sonnet`, qui se résout à une valeur par défaut maintenue2386* Exécutez `/model` sans argument et choisissez parmi les modèles disponibles pour votre compte, ou utilisez un [alias de modèle](/docs/fr/model-config#model-aliases) comme `sonnet`, qui se résout à une valeur par défaut maintenue

2381* Si vous avez tapé un ID complet, vérifiez-le par rapport au catalogue de modèles de votre fournisseur. Un modèle nouvellement lancé peut être disponible sur l'API Anthropic avant que votre fournisseur ou région ne l'offre.2387* Si vous avez tapé un ID complet, vérifiez-le par rapport au catalogue de modèles de votre fournisseur. Un modèle nouvellement lancé peut être disponible sur l'API Anthropic avant que votre fournisseur ou région ne l'offre.

2388* Dans l'Agent SDK, `setModel()` échoue avec ce message et la session continue de s'exécuter sur son modèle précédent. Dans le SDK TypeScript, appelez [`supportedModels()`](/docs/fr/agent-sdk/typescript#query-object) pour lister les modèles vers lesquels vous pouvez basculer.

2382* Avant v2.1.265, `/model` rejetait aussi l'orthographe d'alias `opusplan[1m]` avec cette erreur. Sur ces versions, mettez à jour Claude Code, ou définissez le modèle dans [paramètres](/docs/fr/model-config#setting-your-model) ou avec `--model` à la place.2389* Avant v2.1.265, `/model` rejetait aussi l'orthographe d'alias `opusplan[1m]` avec cette erreur. Sur ces versions, mettez à jour Claude Code, ou définissez le modèle dans [paramètres](/docs/fr/model-config#setting-your-model) ou avec `--model` à la place.

2383 2390 

2391<h3 id="couldnt-confirm-model-with-the-api">

2392 Impossible de confirmer le modèle avec l'API

2393</h3>

2394 

2395Vous avez basculé les modèles via la méthode [Agent SDK](/docs/fr/agent-sdk/typescript) `setModel()` ou une application qui exécute le CLI Claude Code pour vous, comme l'[application de bureau](/docs/fr/desktop), et la requête qui confirme l'ID du modèle avec votre point de terminaison API n'a pas reçu de réponse dans les cinq secondes. La session garde son modèle actuel.

2396 

2397```text theme={null}

2398Couldn't confirm model "claude-sonnet-5" with the API. Try again, or run /model to see available models.

2399```

2400 

2401Dans une session que l'[application de bureau](/docs/fr/desktop) démarre pour vous, le message se termine à `Try again.`

2402 

2403**Que faire :**

2404 

2405* Basculez vers le modèle à nouveau

2406* Si le basculement continue d'échouer, vérifiez que Claude Code peut atteindre votre point de terminaison API ; voir [Erreurs de réseau et de connexion](#network-and-connection-errors)

2407 

2384<h3 id="api-error-model-not-changed">2408<h3 id="api-error-model-not-changed">

2385 Erreur API lors de la vérification du modèle choisi2409 Erreur API lors de la vérification du modèle choisi

2386</h3>2410</h3>


2432API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.2456API Error: 400 Claude Code 2.1.240 is older than the minimum version required by your organization's policy. Run 'claude update', or update the Claude desktop app, to continue.

2433```2457```

2434 2458 

2459La version que l'API vérifie est celle signalée par le binaire Claude Code qui a fait la requête.

2460 

2435**Que faire :**2461**Que faire :**

2436 2462 

2437* Exécutez `claude update`, ou mettez à jour l'application de bureau Claude, puis démarrez une nouvelle session2463Mettez à jour ce binaire, puis démarrez une nouvelle session. D'où le binaire provient décide comment, sauf dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#pin-the-version) :

2438* Pour le libellé par modèle, vous pouvez continuer à travailler dans la session actuelle en basculant vers un autre modèle avec `/model`2464 

2465| Le binaire qui a fait la requête | Comment le mettre à jour |

2466| :- | :- |

2467| Un Claude Code que vous avez installé | Exécutez `claude update` |

2468| L'application de bureau Claude | Mettez à jour l'application |

2469| Le binaire que l'[extension VS Code](/docs/fr/vs-code) regroupe | Mettez à jour l'extension |

2470| Le binaire qu'un package Agent SDK regroupe | [Mettez à niveau le package SDK](/docs/fr/agent-sdk/hosting#runtime-dependencies), puis redémarrez votre application. Dans un [exécutable monofichier compilé](/docs/fr/agent-sdk/typescript#compile-to-a-single-executable), reconstruisez-le |

2471 

2472* Pour le libellé par modèle, vous pouvez continuer à travailler dans la session actuelle en basculant vers un autre modèle : exécutez `/model` dans le CLI, appelez [`setModel()`](/docs/fr/agent-sdk/typescript#query-object) sur l'objet `Query` du SDK TypeScript en mode d'entrée en continu, ou appelez [`set_model()`](/docs/fr/agent-sdk/python#claudesdkclient) sur le `ClaudeSDKClient` du SDK Python

2439* Pour le libellé de la politique organisationnelle, mettez à jour avant de continuer2473* Pour le libellé de la politique organisationnelle, mettez à jour avant de continuer

2440 2474 

2441<h3 id="model-is-restricted-by-your-organizations-settings">2475<h3 id="model-is-restricted-by-your-organizations-settings">


2460* Si le modèle restreint a été défini dans `--model`, `ANTHROPIC_MODEL`, le champ `model` d'un fichier de paramètres, ou le frontmatter `model` d'un [sous-agent](/docs/fr/sub-agents#choose-a-model), d'une compétence ou d'une commande, supprimez ou mettez à jour cette valeur afin que l'avis ne se reproduise pas2494* Si le modèle restreint a été défini dans `--model`, `ANTHROPIC_MODEL`, le champ `model` d'un fichier de paramètres, ou le frontmatter `model` d'un [sous-agent](/docs/fr/sub-agents#choose-a-model), d'une compétence ou d'une commande, supprimez ou mettez à jour cette valeur afin que l'avis ne se reproduise pas

2461* Si vous avez besoin d'accès au modèle restreint, demandez à votre administrateur d'organisation de l'activer. Voir [Restrictions de modèle organisationnel](/docs/fr/model-config#organization-model-restrictions).2495* Si vous avez besoin d'accès au modèle restreint, demandez à votre administrateur d'organisation de l'activer. Voir [Restrictions de modèle organisationnel](/docs/fr/model-config#organization-model-restrictions).

2462 2496 

2497<h3 id="cant-switch-to-the-default-model">

2498 Impossible de basculer vers le modèle par défaut

2499</h3>

2500 

2501Vous avez choisi le modèle par défaut, par exemple en sélectionnant la ligne Par défaut dans le sélecteur `/model` ou en tapant `/model default`. Claude Code a refusé le changement, donc la session garde son modèle actuel.

2502 

2503```text theme={null}

2504Can't switch to the default model: your organization's managed settings block it (claude-opus-4-6) in "deniedModels", and none of the models they allow can be used as the default instead. Ask your administrator to update "deniedModels" or "availableModels".

2505```

2506 

2507Le libellé après le deux-points nomme ce qui a bloqué le changement :

2508 

2509* **`your organization's managed settings block it ... in "deniedModels"`** : une liste de refus gérée bloque le modèle auquel l'option Par défaut se résout

2510* **`your organization allows only the models listed in "availableModels"`** : une liste d'autorisation [`availableModels`](/docs/fr/model-config#restrict-model-selection) gérée avec [`availableModelsMatch`](/docs/fr/settings-reference#availablemodelsmatch) défini à `"exact"` laisse de côté le modèle auquel l'option Par défaut se résout

2511* **`Claude Code couldn't read your organization's managed settings to check which models they allow`** : les [paramètres gérés](/docs/fr/managed-settings) n'ont pas pu être lus, et Claude Code refuse le changement plutôt que de l'appliquer non vérifié

2512 

2513**Que faire :**

2514 

2515* Pour les libellés [`deniedModels`](/docs/fr/settings-reference#deniedmodels) et `availableModels`, exécutez `/model` et choisissez un modèle que votre organisation autorise par nom

2516* Demandez à votre administrateur de mettre à jour le paramètre géré que le message nomme

2517* Pour le libellé `couldn't read`, redémarrez Claude Code ; si cela continue de se produire, demandez à votre administrateur de vérifier les paramètres gérés

2518 

2519Si une session échoue plutôt à démarrer avec un message `Claude Code can't start` sous ces paramètres gérés, voir [Les paramètres gérés bloquent le modèle par défaut](#managed-settings-block-the-default-model).

2520 

2463<h3 id="model-switch-was-blocked-by-a-premodelswitch-hook">2521<h3 id="model-switch-was-blocked-by-a-premodelswitch-hook">

2464 Le changement de modèle a été bloqué par un hook PreModelSwitch2522 Le changement de modèle a été bloqué par un hook PreModelSwitch

2465</h3>2523</h3>


3376 3434 

3377Avant la v2.1.251, Claude Code terminait le message avec `Please set up GitHub on https://claude.ai/code` même lorsque la vérification GitHub a échoué uniquement de manière transitoire, et les conseils de configuration ne peuvent pas clarifier un échec transitoire.3435Avant la v2.1.251, Claude Code terminait le message avec `Please set up GitHub on https://claude.ai/code` même lorsque la vérification GitHub a échoué uniquement de manière transitoire, et les conseils de configuration ne peuvent pas clarifier un échec transitoire.

3378 3436 

3437<h3 id="the-repository-upload-cant-follow-a-git-setting">

3438 Le téléchargement du référentiel ne peut pas suivre un paramètre git

3439</h3>

3440 

3441Vous avez démarré une [session cloud qui télécharge votre référentiel local](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github), ou un [ultrareview](/docs/fr/ultrareview) d'une branche, et le téléchargement ne peut pas suivre l'un des paramètres git qui décident quelles règles d'attribut s'appliquent à vos fichiers. Si le téléchargement s'était poursuivi et avait manqué une règle, un fichier que git transforme avant de le stocker, tel qu'un fichier qu'un filtre clean chiffre, pourrait atteindre le cloud tel qu'il est sur le disque. Claude Code refuse le téléchargement à la place, et rien n'est téléchargé :

3442 

3443```text theme={null}

3444Not uploading this working tree: core.ignoreCase (which decides whether .gitattributes patterns match file names regardless of letter case) is set in <file>, and the upload cannot follow that setting, so a file git would change before storing it (to encrypt it, for example) could be uploaded as it is on disk. Move the core.ignoreCase line into this repository's .git/config or directly into your ~/.gitconfig, then retry.

3445```

3446 

3447Le message nomme le paramètre et où il est défini, et se termine par la correction pour le cas que vous avez rencontré. Le même refus apparaît pour `core.attributesFile` et `attr.tree`, chacun avec sa propre correction.

3448 

3449Le message peut nommer un fichier de configuration que votre configuration git tire via une directive `include` ou `includeIf`, même lorsque la condition de cette directive ne s'applique pas à ce référentiel.

3450 

3451**Que faire :**

3452 

3453* Appliquez la correction dans la phrase finale du message

3454 

3379<h3 id="github-isnt-connected-to-your-claude-account">3455<h3 id="github-isnt-connected-to-your-claude-account">

3380 GitHub n'est pas connecté à votre compte Claude3456 GitHub n'est pas connecté à votre compte Claude

3381</h3>3457</h3>


3888 Plugin was not uninstalled3964 Plugin was not uninstalled

3889</h3>3965</h3>

3890 3966 

3891Vous avez exécuté [`claude plugin uninstall`](/docs/fr/plugins/cli-reference#plugin-uninstall), ou choisi **Uninstall** dans l'onglet **Installed** de `/plugin`, et la désinstallation s'est arrêtée avec un message commençant par `"<plugin>" was not uninstalled:`.3967Vous avez exécuté [`claude plugin uninstall`](/docs/fr/plugins/cli-reference#plugin-uninstall), ou choisi **Uninstall** dans l'onglet **Installed** de `/plugin`, et la désinstallation s'est arrêtée avec un message commençant par `"<plugin>" was not uninstalled:`. Si le texte après ce deux-points commence par `installed_plugins.json` au lieu de nommer un fichier de paramètres, la cause est du contenu dans `installed_plugins.json` que cette version de Claude Code ne peut pas lire. Pour cette forme, consultez [`installed_plugins.json` holds a record this version can't read](/docs/fr/plugins/troubleshooting#installed-plugins-json-holds-a-record-this-version-cannot-read).

3892 3968 

3893Quand Claude Code a supprimé l'entrée du plugin de `enabledPlugins` et a relancé les fichiers de paramètres de cette portée, soit le plugin était toujours activé là, soit un fichier qui pourrait l'activer ne pouvait pas être lu ou vérifié. Supprimer les options sauvegardées du plugin, les secrets et les données tandis qu'une entrée de paramètres pourrait le réactiver les perdrait, donc la désinstallation s'arrête à la place : le plugin reste installé et rien qu'il a sauvegardé n'est supprimé.3969Quand Claude Code a supprimé l'entrée du plugin de `enabledPlugins` et a relancé les fichiers de paramètres de cette portée, soit le plugin était toujours activé là, soit un fichier qui pourrait l'activer ne pouvait pas être lu ou vérifié. Supprimer les options sauvegardées du plugin, les secrets et les données tandis qu'une entrée de paramètres pourrait le réactiver les perdrait, donc la désinstallation s'arrête à la place : le plugin reste installé et rien qu'il a sauvegardé n'est supprimé.

3894 3970 

fast-mode.md +2 −0

Details

72 72 

73Tapez `/fast on` dans la session pour activer le mode rapide. Il reste activé pour cette session uniquement et n'est pas enregistré comme votre paramètre par défaut. Les [exigences](#requirements) s'appliquent également dans les sessions cloud.73Tapez `/fast on` dans la session pour activer le mode rapide. Il reste activé pour cette session uniquement et n'est pas enregistré comme votre paramètre par défaut. Les [exigences](#requirements) s'appliquent également dans les sessions cloud.

74 74 

75Dans le navigateur sur [claude.ai/code](https://claude.ai/code), vous pouvez également activer et désactiver le mode rapide à partir du menu des modèles sur la boîte de message. Le menu affiche le commutateur quand votre plan inclut le mode rapide et que le modèle sélectionné le supporte.

76 

75<h2 id="understand-the-cost-tradeoff">77<h2 id="understand-the-cost-tradeoff">

76 Comprendre le compromis de coût78 Comprendre le compromis de coût

77</h2>79</h2>

Details

312| [Computer use](/docs/fr/computer-use) | ✓ | ✓ | ✗ | ✗ |312| [Computer use](/docs/fr/computer-use) | ✓ | ✓ | ✗ | ✗ |

313| Dispatch ([Desktop](/docs/fr/desktop#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |313| Dispatch ([Desktop](/docs/fr/desktop#sessions-from-dispatch)) | ✓ | ✓ | ✗ | ✗ |

314| [Code Review](/docs/fr/code-review) | ✗ | ✗ | ✓ | ✓ |314| [Code Review](/docs/fr/code-review) | ✗ | ✗ | ✓ | ✓ |

315| [Artifacts](/docs/fr/artifacts) | ✓ | ✓ | ✓ | Admin-enabled |315| [Artifacts](/docs/fr/artifacts) | ✓ | ✓ | ✓ | ✓ |

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

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

318| [Server-managed settings](/docs/fr/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |318| [Server-managed settings](/docs/fr/server-managed-settings) | ✗ | ✗ | ✓ | ✓ |

fullscreen.md +1 −1

Details

294 294 

295Avec la capture de souris désactivée, le défilement au clavier avec `PgUp`, `PgDn`, `Ctrl+Home` et `Ctrl+End` fonctionne toujours, et votre terminal gère la sélection nativement. Vous perdez le clic pour positionner le curseur, le clic pour développer, le clic sur URL et le défilement à la roulette à l'intérieur de Claude Code.295Avec la capture de souris désactivée, le défilement au clavier avec `PgUp`, `PgDn`, `Ctrl+Home` et `Ctrl+End` fonctionne toujours, et votre terminal gère la sélection nativement. Vous perdez le clic pour positionner le curseur, le clic pour développer, le clic sur URL et le défilement à la roulette à l'intérieur de Claude Code.

296 296 

297Pour conserver le défilement à la roulette mais désactiver le clic, le glisser et la gestion du survol, définissez plutôt `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1`. Nécessite Claude Code v2.1.195 ou ultérieur. `CLAUDE_CODE_DISABLE_MOUSE` a la priorité quand les deux variables sont définies.297Pour conserver le défilement à la roulette mais désactiver le clic, le glisser et la gestion du survol, définissez plutôt `CLAUDE_CODE_DISABLE_MOUSE_CLICKS=1`. `CLAUDE_CODE_DISABLE_MOUSE` a la priorité quand les deux variables sont définies.

298 298 

299Avec les clics désactivés, Claude Code capture toujours la souris, donc la roulette et le pavé tactile font défiler la conversation mais les clics gauches ne font rien à l'intérieur de Claude Code. Vous devez toujours maintenir la touche de votre terminal pour la sélection native au clic-glisser. Le clic droit et le collage au clic du milieu continuent de fonctionner sur les terminaux qui les supportent.299Avec les clics désactivés, Claude Code capture toujours la souris, donc la roulette et le pavé tactile font défiler la conversation mais les clics gauches ne font rien à l'intérieur de Claude Code. Vous devez toujours maintenir la touche de votre terminal pour la sélection native au clic-glisser. Le clic droit et le collage au clic du milieu continuent de fonctionner sur les terminaux qui les supportent.

300 300 

Details

43 43 

44Claude Code pousse ensuite une branche avec les fichiers de workflow que vous sélectionnez, déjà configurés pour utiliser ce secret, et ouvre GitHub dans votre navigateur avec une pull request prête à créer. Créez et fusionnez cette pull request, et `@claude` fonctionne dans le repository.44Claude Code pousse ensuite une branche avec les fichiers de workflow que vous sélectionnez, déjà configurés pour utiliser ce secret, et ouvre GitHub dans votre navigateur avec une pull request prête à créer. Créez et fusionnez cette pull request, et `@claude` fonctionne dans le repository.

45 45 

46Pour arrêter la configuration à mi-chemin, appuyez sur Échap. Une étape déjà en cours se termine et aucune étape ultérieure ne démarre. Le message de fermeture énumère ce qui s'est déjà passé dans le repository, comme une branche poussée ou un secret enregistré.

47 

46Si vous sélectionnez le workflow de révision, Claude publie chaque révision sur la pull request elle-même, en tant que commentaire en ligne sur chaque problème qu'il trouve ou en tant qu'un commentaire de résumé lorsqu'il n'en trouve aucun. Claude ignore certaines pull requests, comme les brouillons. L'[exemple de workflow de révision](#run-a-skill) utilise la même skill et les énumère. Avant v2.1.229, Claude écrivait sa révision uniquement dans le journal d'exécution du workflow.48Si vous sélectionnez le workflow de révision, Claude publie chaque révision sur la pull request elle-même, en tant que commentaire en ligne sur chaque problème qu'il trouve ou en tant qu'un commentaire de résumé lorsqu'il n'en trouve aucun. Claude ignore certaines pull requests, comme les brouillons. L'[exemple de workflow de révision](#run-a-skill) utilise la même skill et les énumère. Avant v2.1.229, Claude écrivait sa révision uniquement dans le journal d'exécution du workflow.

47 49 

48Pour mettre à jour un workflow de révision qu'une version antérieure a généré, faites l'une des choses suivantes :50Pour mettre à jour un workflow de révision qu'une version antérieure a généré, faites l'une des choses suivantes :

Details

95 Exigences réseau95 Exigences réseau

96</h3>96</h3>

97 97 

98Pour les sessions hébergées par Anthropic, votre instance GHES doit être accessible à partir de l'infrastructure Anthropic pour que Claude puisse cloner les dépôts et publier des commentaires de révision. Si votre instance GHES est derrière un pare-feu, mettez en liste blanche les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#configure-git) clonent depuis l'intérieur de votre réseau à la place, sauf si le runner opte pour le [proxy git Anthropic](/docs/fr/self-hosted-environments-deploy#use-the-anthropic-git-proxy), qui récupère du côté d'Anthropic et nécessite la même accessibilité ; le [connecteur SCM](/docs/fr/self-hosted-environments-reference#scm-connector-flags) couvre les flux de pré-session hébergés, tels que le sélecteur de dépôt, pour un hôte GHES qui n'est routable qu'en interne.98Pour les sessions hébergées par Anthropic, votre instance GHES doit être accessible à partir de l'infrastructure Anthropic pour que Claude puisse cloner les dépôts et publier des commentaires de révision. Si votre instance GHES est derrière un pare-feu, mettez en liste blanche les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#configure-git) clonent depuis l'intérieur de votre réseau à la place, sauf si le runner opte pour le [proxy git Anthropic](/docs/fr/self-hosted-environments-deploy#use-the-anthropic-git-proxy), qui récupère du côté d'Anthropic et nécessite la même accessibilité. Les flux de pré-session hébergés, tels que le sélecteur de dépôt, s'exécutent du côté d'Anthropic avant le démarrage d'une session. Ils nécessitent que votre instance GHES soit accessible à partir de l'infrastructure Anthropic même lorsque la session s'exécute dans un environnement auto-hébergé. Le [connecteur SCM](/docs/fr/self-hosted-environments-reference#scm-connector-flags) n'est pas disponible, donc ces flux ne peuvent pas atteindre un hôte GHES qui n'est routable qu'en interne.

99 99 

100<h2 id="developer-workflow">100<h2 id="developer-workflow">

101 Flux de travail des développeurs101 Flux de travail des développeurs


246 Instance GHES non accessible246 Instance GHES non accessible

247</h3>247</h3>

248 248 

249Si les révisions ou les sessions web expirent, votre instance GHES peut ne pas être accessible à partir de l'infrastructure Anthropic. Confirmez que votre pare-feu autorise les connexions entrantes à partir des [adresses IP sortantes](https://platform.claude.com/docs/fr/api/ip-addresses#outbound-ip-addresses) d'Anthropic. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments) accèdent à GHES depuis l'intérieur de votre réseau, donc pour celles-ci, vérifiez le chemin réseau propre du runner et le [connecteur SCM](/docs/fr/self-hosted-environments-reference#scm-connector-flags) à la place.249Si les révisions ou les sessions web expirent, votre instance GHES peut ne pas être accessible à partir de l'infrastructure Anthropic. Confirmez que votre pare-feu autorise les connexions entrantes à partir des [adresses IP sortantes](https://platform.claude.com/docs/fr/api/ip-addresses#outbound-ip-addresses) d'Anthropic. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments) accèdent à GHES depuis l'intérieur de votre réseau, donc lorsque l'une d'elles ne peut pas cloner, vérifiez le chemin réseau propre du runner à la place. Pour le sélecteur de dépôt et les autres flux pré-session hébergés, consultez [Exigences réseau](#network-requirements).

250 250 

251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">251<h3 id="session-start-fails-with-unable-to-get-organization-uuid">

252 Le démarrage de la session échoue avec `Unable to get organization UUID`252 Le démarrage de la session échoue avec `Unable to get organization UUID`

glossary.md +1 −1

Details

56 Artifact56 Artifact

57</h3>57</h3>

58 58 

59Une page web en direct et interactive que Claude Code publie à partir de votre session vers une URL privée sur claude.ai, afin que vous puissiez voir la sortie visuellement ou la partager au lieu de lire du texte de terminal. La page se met à jour sur place lorsque la session est republié. Les artifacts que vous créez à partir de Claude Code apparaissent dans la même galerie que les artifacts créés dans les conversations claude.ai. Le partage dépend de votre plan : sur Pro et Max, un lien public que n'importe qui peut ouvrir ; sur Team et Enterprise, le partage au sein de votre organisation, plus les liens publics une fois qu'un propriétaire les active.59Une page web en direct et interactive que Claude Code publie à partir de votre session vers une URL privée sur claude.ai, afin que vous puissiez voir la sortie visuellement ou la partager au lieu de lire du texte de terminal. La page se met à jour sur place lorsque la session est republié. Les artifacts que vous créez à partir de Claude Code apparaissent dans la même galerie que les artifacts créés dans les conversations claude.ai. Les options de partage dépendent de votre plan : voir [Share an artifact](/docs/fr/artifacts#share-an-artifact).

60 60 

61En savoir plus : [Share session output as artifacts](/docs/fr/artifacts)61En savoir plus : [Share session output as artifacts](/docs/fr/artifacts)

62 62 

Details

315 315 

316Claude Sonnet 5, Opus 4.6 et versions ultérieures, ainsi que Sonnet 4.6, prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/fr/build-with-claude/context-windows#context-window-sizes-by-model) sur la plateforme Agent de Google Cloud. Sonnet 5 s'exécute toujours avec la fenêtre 1M, sans variante `[1m]` à sélectionner. Pour les autres modèles, Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.316Claude Sonnet 5, Opus 4.6 et versions ultérieures, ainsi que Sonnet 4.6, prennent en charge la [fenêtre de contexte de 1M de jetons](https://platform.claude.com/docs/fr/build-with-claude/context-windows#context-window-sizes-by-model) sur la plateforme Agent de Google Cloud. Sonnet 5 s'exécute toujours avec la fenêtre 1M, sans variante `[1m]` à sélectionner. Pour les autres modèles, Claude Code active automatiquement la fenêtre de contexte étendue lorsque vous sélectionnez une variante de modèle 1M.

317 317 

318L'[assistant de configuration](#sign-in-with-agent-platform) 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. Consultez [Épingler les modèles pour les déploiements tiers](/docs/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails.318L'[assistant de configuration](#sign-in-with-agent-platform) 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. Consultez [Épingler les modèles pour les déploiements tiers](/docs/fr/model-config#pin-models-for-third-party-deployments) pour plus de détails, notamment comment utiliser la fenêtre 1M sans modifier l'épingle.

319 319 

320<h2 id="troubleshooting">320<h2 id="troubleshooting">

321 Résolution des problèmes321 Résolution des problèmes

hooks.md +117 −112

Details

274 274 

275Les hooks des fichiers de paramètres, des paramètres de politique gérée et des plugins s'exécutent également à l'intérieur des [subagents](/docs/fr/sub-agents). Lorsqu'un subagent appelle un outil, les événements d'outil tels que `PreToolUse` et `PostToolUse` déclenchent les mêmes hooks configurés que dans la conversation principale, et l'entrée porte les champs d'entrée communs `agent_id` et `agent_type` [](#common-input-fields) qui identifient le subagent.275Les hooks des fichiers de paramètres, des paramètres de politique gérée et des plugins s'exécutent également à l'intérieur des [subagents](/docs/fr/sub-agents). Lorsqu'un subagent appelle un outil, les événements d'outil tels que `PreToolUse` et `PostToolUse` déclenchent les mêmes hooks configurés que dans la conversation principale, et l'entrée porte les champs d'entrée communs `agent_id` et `agent_type` [](#common-input-fields) qui identifient le subagent.

276 276 

277Les administrateurs d'entreprise peuvent utiliser `allowManagedHooksOnly` pour restreindre les hooks qui s'exécutent :277Les administrateurs peuvent utiliser [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) dans les [paramètres gérés](/docs/fr/managed-settings) pour restreindre les hooks qui s'exécutent :

278 278 

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

280* Claude Code restreint également votre [`statusLine`](/docs/fr/statusline), [`fileSuggestion`](/docs/fr/settings-reference#filesuggestion) et [`subagentStatusLine`](/docs/fr/statusline#subagent-status-lines) aux paramètres gérés280* Claude Code restreint également votre [`statusLine`](/docs/fr/statusline), [`fileSuggestion`](/docs/fr/settings-reference#filesuggestion) et [`subagentStatusLine`](/docs/fr/statusline#subagent-status-lines) aux paramètres gérés


304 304 

305Un matcher sur le chemin de l'expression régulière est testé avec `RegExp.prototype.test` de JavaScript, qui réussit sur une correspondance n'importe où dans la valeur. `Edit.*` correspond à la fois à `Edit` et à `NotebookEdit` ; enveloppez le modèle dans `^` et `$`, comme dans `^Edit$`, lorsque vous avez besoin d'une correspondance de chaîne entière.305Un matcher sur le chemin de l'expression régulière est testé avec `RegExp.prototype.test` de JavaScript, qui réussit sur une correspondance n'importe où dans la valeur. `Edit.*` correspond à la fois à `Edit` et à `NotebookEdit` ; enveloppez le modèle dans `^` et `$`, comme dans `^Edit$`, lorsque vous avez besoin d'une correspondance de chaîne entière.

306 306 

307Les traits d'union dans l'ensemble de correspondance exacte nécessitent Claude Code v2.1.195 ou ultérieur. Sur les versions antérieures, un nom avec trait d'union comme `code-reviewer` est évalué comme une expression régulière non ancrée, donc il se déclenche également pour `senior-code-reviewer` ; ancrez-le comme `^code-reviewer$` sur ces versions pour correspondre uniquement à ce nom.

308 

309`FileChanged` et `StopFailure` utilisent un ensemble de correspondance exacte plus étroit contenant uniquement des lettres, des chiffres, `_` et `|`. Un trait d'union, un espace ou une virgule dans un matcher pour ces deux événements le maintient sur le chemin de l'expression régulière, et seul `|` sépare les alternatives. Tous les autres événements avec support de matcher dans le tableau qui suit acceptent `|` ou `,`.307`FileChanged` et `StopFailure` utilisent un ensemble de correspondance exacte plus étroit contenant uniquement des lettres, des chiffres, `_` et `|`. Un trait d'union, un espace ou une virgule dans un matcher pour ces deux événements le maintient sur le chemin de l'expression régulière, et seul `|` sépare les alternatives. Tous les autres événements avec support de matcher dans le tableau qui suit acceptent `|` ou `,`.

310 308 

311L'événement `FileChanged` ne suit pas ces règles lors de la construction de sa liste de surveillance. Consultez [FileChanged](#filechanged).309L'événement `FileChanged` ne suit pas ces règles lors de la construction de sa liste de surveillance. Consultez [FileChanged](#filechanged).


380* `mcp__brave-search__.*` correspond à tous les outils d'un serveur dont le nom contient un trait d'union378* `mcp__brave-search__.*` correspond à tous les outils d'un serveur dont le nom contient un trait d'union

381* `mcp__.*__write.*` correspond à tout outil dont le nom commence par `write` de n'importe quel serveur379* `mcp__.*__write.*` correspond à tout outil dont le nom commence par `write` de n'importe quel serveur

382 380 

383Les traits d'union dans l'ensemble de correspondance exacte nécessitent Claude Code v2.1.195 ou ultérieur. Sur les versions antérieures, un préfixe nu avec trait d'union comme `mcp__brave-search` est évalué comme une expression régulière non ancrée et correspond à chaque outil de ce serveur. La forme `mcp__brave-search__.*` fonctionne sur chaque version.

384 

385Les outils d'un [serveur MCP fourni par un plugin](/docs/fr/mcp#plugin-provided-mcp-servers) utilisent un segment de serveur limité qui inclut le nom du plugin : `mcp__plugin_<plugin-name>_<server-name>__<tool>`. Un matcher écrit contre la clé de serveur nue ne se déclenche jamais pour ces outils. Pour un plugin nommé `my-plugin` qui regroupe un serveur sous la clé `db`, un outil `query` apparaît comme `mcp__plugin_my-plugin_db__query`, donc le matcher pour chaque outil de ce serveur est `mcp__plugin_my-plugin_db__.*`. Utilisez le même nom d'outil limité dans le champ [`if`](#common-fields) d'un gestionnaire. Consultez [Serveurs MCP fournis par un plugin](/docs/fr/mcp#plugin-provided-mcp-servers) pour savoir comment le nom limité est construit.381Les outils d'un [serveur MCP fourni par un plugin](/docs/fr/mcp#plugin-provided-mcp-servers) utilisent un segment de serveur limité qui inclut le nom du plugin : `mcp__plugin_<plugin-name>_<server-name>__<tool>`. Un matcher écrit contre la clé de serveur nue ne se déclenche jamais pour ces outils. Pour un plugin nommé `my-plugin` qui regroupe un serveur sous la clé `db`, un outil `query` apparaît comme `mcp__plugin_my-plugin_db__query`, donc le matcher pour chaque outil de ce serveur est `mcp__plugin_my-plugin_db__.*`. Utilisez le même nom d'outil limité dans le champ [`if`](#common-fields) d'un gestionnaire. Consultez [Serveurs MCP fournis par un plugin](/docs/fr/mcp#plugin-provided-mcp-servers) pour savoir comment le nom limité est construit.

386 382 

387Cet exemple enregistre toutes les opérations du serveur memory et valide les opérations d'écriture de n'importe quel serveur MCP :383Cet exemple enregistre toutes les opérations du serveur memory et valide les opérations d'écriture de n'importe quel serveur MCP :


919| :- | :- | :- |915| :- | :- | :- |

920| `PreToolUse` | Oui | Bloque l'appel d'outil |916| `PreToolUse` | Oui | Bloque l'appel d'outil |

921| `PermissionRequest` | Non | Exit code 2 n'est pas honoré pour cet événement et le flux de permission procède inchangé. Refusez via l'objet [`decision`](#permissionrequest-decision-control) à la place |917| `PermissionRequest` | Non | Exit code 2 n'est pas honoré pour cet événement et le flux de permission procède inchangé. Refusez via l'objet [`decision`](#permissionrequest-decision-control) à la place |

922| `UserPromptSubmit` | Oui | Bloque le traitement du prompt et efface le prompt |918| `UserPromptSubmit` | Oui | Bloque le prompt, il ne parvient jamais à Claude. Consultez [Ce qu'un prompt bloqué laisse derrière](#what-a-blocked-prompt-leaves-behind) |

923| `UserPromptExpansion` | Oui | Bloque l'expansion |919| `UserPromptExpansion` | Oui | Bloque l'expansion |

924| `Stop` | Oui | Empêche Claude de s'arrêter, continue la conversation |920| `Stop` | Oui | Empêche Claude de s'arrêter, continue la conversation |

925| `SubagentStop` | Oui | Empêche le subagent de s'arrêter |921| `SubagentStop` | Oui | Empêche le subagent de s'arrêter |


1187| `resume` | `--resume`, `--continue`, ou `/resume` |1183| `resume` | `--resume`, `--continue`, ou `/resume` |

1188| `clear` | `/clear` |1184| `clear` | `/clear` |

1189| `compact` | Compaction automatique ou manuelle |1185| `compact` | Compaction automatique ou manuelle |

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

1191 1187 

1192Avant v2.1.214, les sessions créées rapportaient la source `"resume"`.1188Avant v2.1.214, les sessions créées rapportaient la source `"resume"`.

1193 1189 

1194Quand vous démarrez une session interactive, reprenez une conversation au lancement avec `--continue` ou `--resume`, ou exécutez `/clear`, les hooks SessionStart s'exécutent en arrière-plan. Vous pouvez taper immédiatement, et une conversation que vous avez reprise apparaît sans attendre les hooks. La première réponse de Claude attend toujours que les hooks se terminent, donc leur contexte atteint Claude.1190Quand vous démarrez une session interactive, reprenez une conversation au lancement avec `--continue` ou `--resume`, ou exécutez `/clear`, les hooks SessionStart s'exécutent en arrière-plan. Vous pouvez taper immédiatement, et une conversation que vous avez reprise apparaît sans attendre les hooks. La première réponse de Claude attend toujours que les hooks se terminent, donc leur contexte atteint Claude.

1195 1191 

1196Quand vous changez de conversation avec `/resume` dans une session, le changement attend que les hooks se terminent. Si vous exécutez `/clear` ou basculez vers une autre conversation pendant que les hooks en arrière-plan s'exécutent toujours, rien de ce qu'ils retournent ne s'applique à la session.1192Quand vous changez de conversation avec `/resume` dans une session, le changement attend que les hooks se terminent. Si vous exécutez `/clear` ou changez vers une autre conversation pendant que les hooks en arrière-plan s'exécutent toujours, rien de ce qu'ils retournent ne s'applique à la session.

1197 1193 

1198La même attente s'applique au lancement, y compris une session reprise : une invite que vous envoyez pendant que les hooks SessionStart s'exécutent toujours n'atteint Claude que lorsqu'ils se terminent.1194La même attente s'applique au lancement, y compris une session reprise : une invite que vous envoyez pendant que les hooks SessionStart s'exécutent toujours n'atteint Claude que lorsqu'ils se terminent.

1199 1195 


1212| `agent_type` | Le nom de l'agent, présent quand vous démarrez Claude Code avec `claude --agent <name>` |1208| `agent_type` | Le nom de l'agent, présent quand vous démarrez Claude Code avec `claude --agent <name>` |

1213| `session_title` | Le titre de la session actuelle s'il est déjà défini, par exemple via `--name` ou `/rename`. Un hook qui émet `sessionTitle` peut vérifier `session_title` d'abord pour éviter de remplacer un titre que l'utilisateur a défini explicitement |1209| `session_title` | Le titre de la session actuelle s'il est déjà défini, par exemple via `--name` ou `/rename`. Un hook qui émet `sessionTitle` peut vérifier `session_title` d'abord pour éviter de remplacer un titre que l'utilisateur a défini explicitement |

1214 1210 

1215Quand `source` est `"resume"` ou `"fork"` et que la transcription contient au moins une réponse de Claude, les hooks SessionStart reçoivent également les quatre champs ci-dessous. Votre hook peut les utiliser pour signaler le coût de reprendre une conversation obsolète avant la première demande, par exemple dans un [`systemMessage`](#json-output). Ces champs nécessitent Claude Code v2.1.251 ou ultérieur.1211Quand `source` est `"resume"` ou `"fork"` et que la transcription contient au moins une réponse de Claude, les hooks SessionStart reçoivent également les quatre champs ci-dessous. Votre hook peut les utiliser pour signaler le coût de reprendre une conversation obsolète avant la première requête, par exemple dans un [`systemMessage`](#json-output). Ces champs nécessitent Claude Code v2.1.251 ou ultérieur.

1216 1212 

1217| Champ | Description |1213| Champ | Description |

1218| :- | :- |1214| :- | :- |

1219| `seconds_since_last_response` | Secondes d'horloge murale depuis la dernière réponse dans la transcription reprise |1215| `seconds_since_last_response` | Secondes d'horloge murale depuis la dernière réponse dans la transcription reprise |

1220| `context_tokens` | Tokens que la première demande de la session reprise renvoie comme son invite |1216| `context_tokens` | Tokens que la première requête de la session reprise renvoie comme son invite |

1221| `prompt_cache_likely_expired` | `true` quand la dernière réponse est plus ancienne que la [durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) de la session ou qu'une compaction ultérieure a remplacé la conversation en cache |1217| `prompt_cache_likely_expired` | `true` quand la dernière réponse est plus ancienne que la [durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) de la session ou qu'une compaction ultérieure a remplacé la conversation en cache |

1222| `estimated_cache_write_usd` | Coût estimé en dollars US de l'écriture de `context_tokens` dans le cache d'invite sur le modèle de la session, excluant la réponse |1218| `estimated_cache_write_usd` | Coût estimé en dollars US de l'écriture de `context_tokens` dans le cache d'invite sur le modèle de la session, excluant la réponse |

1223 1219 


1242 Contrôle de décision SessionStart1238 Contrôle de décision SessionStart

1243</h4>1239</h4>

1244 1240 

1245Claude Code ajoute stdout qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner ces champs spécifiques à l'événement :1241Claude Code ajoute la sortie standard qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner ces champs spécifiques à l'événement :

1246 1242 

1247| Champ | Description |1243| Champ | Description |

1248| :- | :- |1244| :- | :- |


1262}1258}

1263```1259```

1264 1260 

1265Puisque stdout brut atteint déjà Claude pour cet événement, un hook qui charge uniquement du contexte peut imprimer sur stdout directement sans construire JSON. Utilisez la forme JSON quand vous devez combiner du contexte avec d'autres champs comme `sessionTitle`.1261Puisque la sortie standard brute atteint déjà Claude pour cet événement, un hook qui charge uniquement du contexte peut imprimer sur la sortie standard directement sans construire JSON. Utilisez la forme JSON quand vous devez combiner le contexte avec d'autres champs comme `sessionTitle`.

1266 1262 

1267Utilisez `reloadSkills` quand un hook SessionStart installe ou met à jour des skills. La découverte de skills s'exécute normalement avant que les hooks SessionStart se terminent, donc les fichiers que le hook écrit dans `~/.claude/skills/` ou `.claude/skills/` n'apparaîtraient autrement que dans la session suivante. Cet exemple synchronise un référentiel de skills partagé et demande la réanalyse :1263Utilisez `reloadSkills` quand un hook SessionStart installe ou met à jour des skills. La découverte de skills s'exécute normalement avant que les hooks SessionStart se terminent, donc les fichiers que le hook écrit dans `~/.claude/skills/` ou `.claude/skills/` n'apparaîtraient autrement que dans la session suivante. Cet exemple synchronise un référentiel de skills partagé et demande la réanalyse :

1268 1264 


1361 Contrôle de décision Setup1357 Contrôle de décision Setup

1362</h4>1358</h4>

1363 1359 

1364Les hooks Setup ne peuvent pas bloquer ; l'exécution continue sur n'importe quel code de sortie. Sur chaque code de sortie, Claude Code rejette les [champs de sortie JSON](#json-output) d'un hook Setup, comme `systemMessage`, `continue`, et `hookSpecificOutput.additionalContext`. Avec `-p`, stdout, stderr, et le code de sortie d'un hook Setup n'apparaissent dans la sortie de la session que comme des événements [`hook_response`](/docs/fr/headless#read-session-metadata) quand vous lancez avec `--output-format stream-json --verbose`.1360Les hooks Setup ne peuvent pas bloquer ; l'exécution continue sur n'importe quel code de sortie. Sur chaque code de sortie, Claude Code rejette les [champs de sortie JSON](#json-output) d'un hook Setup, comme `systemMessage`, `continue`, et `hookSpecificOutput.additionalContext`. Avec `-p`, la sortie standard, stderr, et le code de sortie d'un hook Setup n'apparaissent dans la sortie de la session que comme des événements [`hook_response`](/docs/fr/headless#read-session-metadata) quand vous lancez avec `--output-format stream-json --verbose`.

1365 1361 

1366Les hooks Setup ont accès à `CLAUDE_ENV_FILE`. Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes pour la session, tout comme dans les [hooks SessionStart](#persist-environment-variables). Seuls les hooks `type: "command"` s'exécutent sur `Setup`. Un hook `type: "mcp_tool"` sur `Setup` est toujours ignoré, comme décrit sous [Champs de hook MCP tool](#mcp-tool-hook-fields).1362Les hooks Setup ont accès à `CLAUDE_ENV_FILE`. Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes pour la session, tout comme dans les [hooks SessionStart](#persist-environment-variables). Seuls les hooks `type: "command"` s'exécutent sur `Setup`. Un hook `type: "mcp_tool"` sur `Setup` est toujours ignoré, comme décrit sous [Champs de hook MCP tool](#mcp-tool-hook-fields).

1367 1363 


1445 1441 

1446Il y a deux façons d'ajouter du contexte à la conversation en cas de code de sortie 0 :1442Il y a deux façons d'ajouter du contexte à la conversation en cas de code de sortie 0 :

1447 1443 

1448* **Stdout en texte brut** : Claude Code ajoute stdout qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude1444* **Sortie standard en texte brut** : Claude Code ajoute la sortie standard qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude

1449* **JSON avec `additionalContext`** : utilisez le format JSON ci-dessous pour plus de contrôle. Le champ `additionalContext` est ajouté comme contexte1445* **JSON avec `additionalContext`** : utilisez le format JSON ci-dessous pour plus de contrôle. Le champ `additionalContext` est ajouté comme contexte

1450 1446 

1451Aucun canal ne produit une entrée de transcription visible. Le stdout brut et la valeur `additionalContext` sont chacun injectés comme un rappel système qui commence par le nom du hook ; Claude lit les deux. Pour confirmer la livraison, vérifiez le [journal de débogage](#debug-hooks).1447Aucun canal ne produit une entrée de transcription visible. La sortie standard brute et la valeur `additionalContext` sont chacune injectées comme un rappel système qui commence par le nom du hook ; Claude lit les deux. Pour confirmer la livraison, vérifiez le [journal de débogage](#debug-hooks).

1452 1448 

1453Pour bloquer une invite, retournez un objet JSON avec `decision` défini à `"block"` :1449Pour bloquer une invite, retournez un objet JSON avec `decision` défini à `"block"` :

1454 1450 

1455| Champ | Description |1451| Champ | Description |

1456| :- | :- |1452| :- | :- |

1457| `decision` | `"block"` empêche l'invite d'être traitée et l'efface du contexte. Omettez pour permettre à l'invite de procéder |1453| `decision` | `"block"` empêche l'invite d'être traitée. Omettez pour permettre à l'invite de procéder |

1458| `reason` | Montré à l'utilisateur quand `decision` est `"block"`. Non ajouté au contexte |1454| `reason` | Montré à l'utilisateur quand `decision` est `"block"`. Non ajouté au contexte |

1459| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés de l'invite soumise. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |1455| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés de l'invite soumise. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

1460| `sessionTitle` | Définit le titre de la session. Utilisez pour nommer les sessions automatiquement en fonction du contenu de l'invite |1456| `sessionTitle` | Définit le titre de la session. Utilisez pour nommer les sessions automatiquement en fonction du contenu de l'invite |

1461| `suppressOriginalPrompt` | Si `true` quand `decision` est `"block"`, omet le texte d'invite original du message de blocage montré à l'utilisateur |1457| `suppressOriginalPrompt` | Si `true` quand `decision` est `"block"`, omet le texte d'invite original du message de blocage montré à l'utilisateur. Voir [Ce qu'une invite bloquée laisse derrière](#what-a-blocked-prompt-leaves-behind) |

1462 1458 

1463Un hook qui bloque en quittant 2 s'achemine de la même façon que `reason` : le message de blocage montre le texte stderr à l'utilisateur, et il n'est pas ajouté au contexte.1459Un hook qui bloque en quittant 2 s'achemine de la même façon que `reason` : le message de blocage montre le texte stderr à l'utilisateur, et il n'est pas ajouté au contexte.

1464 1460 


1469 "hookSpecificOutput": {1465 "hookSpecificOutput": {

1470 "hookEventName": "UserPromptSubmit",1466 "hookEventName": "UserPromptSubmit",

1471 "additionalContext": "My additional context here",1467 "additionalContext": "My additional context here",

1472 "sessionTitle": "My session title"1468 "sessionTitle": "My session title",

1469 "suppressOriginalPrompt": true

1473 }1470 }

1474}1471}

1475```1472```

1476 1473 

1474<h4 id="what-a-blocked-prompt-leaves-behind">

1475 Ce qu'une invite bloquée laisse derrière

1476</h4>

1477 

1478Une invite bloquée n'atteint jamais Claude, mais son texte n'est pas supprimé partout. Par défaut, le message de blocage montré à l'utilisateur se termine par `Original prompt:` suivi du texte soumis, et Claude Code écrit ce message dans le fichier de transcription de la session sur le disque. Pour laisser le texte hors du message, imprimez JSON avec `"suppressOriginalPrompt": true` à l'intérieur de `hookSpecificOutput`. Cela fonctionne que le hook bloque avec `decision: "block"` ou en quittant 2. Un hook de sortie 2 qui n'imprime pas JSON obtient toujours le texte d'invite dans son message de blocage.

1479 

1480`suppressOriginalPrompt` change uniquement le message de blocage. Le texte soumis peut toujours apparaître dans les fichiers locaux comme la transcription de session et votre historique d'invite, donc un hook de blocage n'est pas un moyen de garder un secret hors du disque. Pour limiter ou supprimer ces fichiers, voir [Stockage en texte brut](/docs/fr/claude-directory#plaintext-storage) et [Effacer les données locales](/docs/fr/claude-directory#clear-local-data).

1481 

1477<h3 id="userpromptexpansion">1482<h3 id="userpromptexpansion">

1478 UserPromptExpansion1483 UserPromptExpansion

1479</h3>1484</h3>


1488 Entrée UserPromptExpansion1493 Entrée UserPromptExpansion

1489</h4>1494</h4>

1490 1495 

1491En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptExpansion reçoivent `expansion_type`, `command_name`, `command_args`, `command_source`, et la chaîne `prompt` originale. Le champ `expansion_type` est `slash_command` pour les skills et commandes personnalisées, ou `mcp_prompt` pour les invites du serveur MCP.1496En plus des [champs d'entrée communs](#common-input-fields), les hooks UserPromptExpansion reçoivent `expansion_type`, `command_name`, `command_args`, `command_source`, et la chaîne `prompt` originale. Le champ `expansion_type` est `slash_command` pour les skills et commandes personnalisées, ou `mcp_prompt` pour les prompts du serveur MCP.

1492 1497 

1493```json theme={null}1498```json theme={null}

1494{1499{


1544 1549 

1545Claude Code retient chaque lot jusqu'à ce que votre hook retourne, donc gardez le hook rapide. Si le hook échoue ou expire, Claude Code affiche le texte original. Le délai d'expiration par défaut pour cet événement est 10 secondes ; si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.1550Claude Code retient chaque lot jusqu'à ce que votre hook retourne, donc gardez le hook rapide. Si le hook échoue ou expire, Claude Code affiche le texte original. Le délai d'expiration par défaut pour cet événement est 10 secondes ; si votre hook a besoin de plus de temps, définissez le champ `timeout` dans l'entrée du hook.

1546 1551 

1547MessageDisplay est affichage uniquement : le texte de remplacement change uniquement ce qui est rendu à l'écran. La transcription et ce que Claude voit conservent le texte original, donc Claude ne voit jamais le remplacement, et le mode verbeux montre l'original. Le hook reçoit uniquement le texte du message d'assistant, donc les résultats d'outils et le texte que vous tapez s'affichent inchangés.1552MessageDisplay est affichage uniquement : le texte de remplacement change uniquement ce qui est rendu à l'écran. La transcription et ce que Claude voit conservent le texte original, donc Claude ne voit jamais le remplacement, et le mode verbeux affiche l'original. Le hook reçoit uniquement le texte du message d'assistant, donc les résultats d'outils et le texte que vous tapez s'affichent inchangés.

1548 1553 

1549MessageDisplay ne supporte pas les matchers et se déclenche pour chaque message d'assistant qui affiche du texte ; les messages sans texte, comme les réponses contenant uniquement des appels d'outils, ne le déclenchent pas.1554MessageDisplay ne supporte pas les matchers et se déclenche pour chaque message d'assistant qui affiche du texte ; les messages sans texte, comme les réponses contenant uniquement des appels d'outils, ne le déclenchent pas.

1550 1555 


1554 Entrée MessageDisplay1559 Entrée MessageDisplay

1555</h4>1560</h4>

1556 1561 

1557En plus des [champs d'entrée communs](#common-input-fields), les hooks MessageDisplay reçoivent des identifiants pour le tour et le message, la position de cet appel dans le message, et le nouveau texte dans `delta`. Les limites de lot dépendent de la façon dont le texte s'affiche, donc utilisez `index` et `final` pour suivre la progression dans un message plutôt que de vous attendre à ce que les lignes soient groupées d'une manière particulière.1562En plus des [champs d'entrée communs](#common-input-fields), les hooks MessageDisplay reçoivent des identifiants pour le tour et le message, la position de cet appel dans le message, et le nouveau texte dans `delta`. Les limites de lot dépendent de la façon dont le texte s'affiche, donc utilisez `index` et `final` pour suivre la progression à travers un message plutôt que de vous attendre à ce que les lignes soient groupées d'une manière particulière.

1558 1563 

1559| Champ | Description |1564| Champ | Description |

1560| :- | :- |1565| :- | :- |


1674 1679 

1675S'exécute après que Claude crée les paramètres d'outil et avant de traiter l'appel d'outil. Correspond à n'importe quel nom d'outil sauf `EndConversation` : les outils intégrés comme `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion`, et `ExitPlanMode`, et n'importe quels [noms d'outils MCP](#match-mcp-tools).1680S'exécute après que Claude crée les paramètres d'outil et avant de traiter l'appel d'outil. Correspond à n'importe quel nom d'outil sauf `EndConversation` : les outils intégrés comme `Bash`, `PowerShell`, `Edit`, `Write`, `Read`, `Glob`, `Grep`, `Agent`, `Workflow`, `WebFetch`, `WebSearch`, `AskUserQuestion`, et `ExitPlanMode`, et n'importe quels [noms d'outils MCP](#match-mcp-tools).

1676 1681 

1677Pour exécuter un hook quand un fichier spécifique change sur le disque, peu importe ce qui l'a écrit, utilisez [FileChanged](#filechanged) au lieu de correspondre aux outils d'édition de fichiers par nom. Contrairement à PreToolUse, Claude Code exécute les hooks FileChanged après le changement, et ils n'ont pas de contrôle de décision, donc ils ne peuvent pas bloquer l'écriture.1682Pour exécuter un hook quand un fichier spécifique change sur le disque, peu importe ce qui l'a écrit, utilisez [FileChanged](#filechanged) au lieu de faire correspondre les outils d'édition de fichiers par nom. Contrairement à PreToolUse, Claude Code exécute les hooks FileChanged après le changement, et ils n'ont pas de contrôle de décision, donc ils ne peuvent pas bloquer l'écriture.

1678 1683 

1679<Warning>1684<Warning>

1680 PreToolUse s'exécute uniquement quand Claude appelle un outil. Les fichiers que vous [référencez avec `@` dans votre invite](/docs/fr/common-workflows#reference-files-and-directories) sont ajoutés sans aucun appel d'outil : Claude Code insère leur contenu lors de la construction de l'invite, donc aucun hook PreToolUse ne se déclenche pour eux, y compris les hooks correspondant à `Read`. Pour bloquer des chemins spécifiques des références `@`, utilisez plutôt une [règle de refus `Read`](/docs/fr/permissions#read-and-edit).1685 PreToolUse s'exécute uniquement quand Claude appelle un outil. Les fichiers que vous [référencez avec `@` dans votre invite](/docs/fr/common-workflows#reference-files-and-directories) sont ajoutés sans aucun appel d'outil : Claude Code insère leur contenu lors de la construction de l'invite, donc aucun hook PreToolUse ne se déclenche pour eux, y compris les hooks correspondant à `Read`. Pour bloquer des chemins spécifiques des références `@`, utilisez plutôt une [règle de refus `Read`](/docs/fr/permissions#read-and-edit).


1692 1697 

1693En plus des [champs d'entrée communs](#common-input-fields), les hooks PreToolUse reçoivent `tool_name`, `tool_input`, et `tool_use_id`.1698En plus des [champs d'entrée communs](#common-input-fields), les hooks PreToolUse reçoivent `tool_name`, `tool_input`, et `tool_use_id`.

1694 1699 

1695Pour un [outil MCP](#match-mcp-tools), l'entrée porte également `mcp_server`, un objet avec le `name` du serveur et une `source` qui dit d'où vient la définition du serveur. Les valeurs `source` incluent `plugin`, `sdk`, et les portées de configuration comme `user` et `project`. [`McpServerProvenance`](/docs/fr/agent-sdk/typescript#mcpserverprovenance) dans la référence Agent SDK les énumère toutes et dit comment traiter une que vous ne reconnaissez pas. Basez les décisions de confiance sur `source` plutôt que sur `name` ou le préfixe de nom d'outil `mcp__<server>__`. Le champ `mcp_server` nécessite Claude Code v2.1.274 ou ultérieur.1700Pour un [outil MCP](#match-mcp-tools), l'entrée porte également `mcp_server`, un objet avec le `name` du serveur et une `source` qui dit d'où vient la définition du serveur. Les valeurs `source` incluent `plugin`, `sdk`, et les portées de configuration comme `user` et `project`. [`McpServerProvenance`](/docs/fr/agent-sdk/typescript#mcpserverprovenance) dans la référence Agent SDK les énumère toutes et dit comment traiter une que vous ne reconnaissez pas. Basez les décisions de confiance sur `source` plutôt que sur `name` ou le préfixe du nom d'outil `mcp__<server>__`. Le champ `mcp_server` nécessite Claude Code v2.1.274 ou ultérieur.

1696 1701 

1697Pour les outils de fichier `Write`, `Edit`, et `Read`, `tool_input.file_path` est toujours absolu :1702Pour les outils de fichier `Write`, `Edit`, et `Read`, `tool_input.file_path` est toujours absolu :

1698 1703 


1732| `timeout` | number | `120000` | Délai d'expiration optionnel en millisecondes. Les valeurs au-dessus du [maximum](/docs/fr/tools-reference#bash-tool-behavior) sont réduites au maximum plutôt que rejetées |1737| `timeout` | number | `120000` | Délai d'expiration optionnel en millisecondes. Les valeurs au-dessus du [maximum](/docs/fr/tools-reference#bash-tool-behavior) sont réduites au maximum plutôt que rejetées |

1733| `run_in_background` | boolean | `false` | Si la commande doit s'exécuter en arrière-plan |1738| `run_in_background` | boolean | `false` | Si la commande doit s'exécuter en arrière-plan |

1734 1739 

1735Quand une commande Bash change des fichiers dans un référentiel Git, Claude Code peut enregistrer ce qui a changé. Il enregistre les changements dans chaque mode de permission quand le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled) active l'enregistrement ; l'entrée de ce paramètre dit quels fichiers peuvent le définir. Sinon, il les enregistre uniquement en mode auto et en mode `bypassPermissions`, et uniquement quand Claude Code dirige Claude à éditer des fichiers via Bash. Définissez `bashEditDiffEnabled` à `false` pour désactiver l'enregistrement. Les commandes en arrière-plan et les commandes en lecture seule ne portent pas de diff.1740Quand une commande Bash change des fichiers dans un référentiel Git, Claude Code peut enregistrer ce qui a changé. Il enregistre les changements dans chaque mode de permission quand le paramètre [`bashEditDiffEnabled`](/docs/fr/settings-reference#basheditdiffenabled) active l'enregistrement ; l'entrée de ce paramètre dit quels fichiers peuvent le définir. Sinon, il les enregistre uniquement en mode auto et mode `bypassPermissions`, et uniquement quand Claude Code dirige Claude à éditer des fichiers via Bash. Définissez `bashEditDiffEnabled` à `false` pour désactiver l'enregistrement. Les commandes en arrière-plan et les commandes en lecture seule ne portent pas de diff.

1736 1741 

1737Votre hook [PostToolUse](#posttooluse) reçoit alors les fichiers modifiés dans `tool_response.bashEditDiff`. La liste couvre ce qui a changé sous le référentiel pendant que la commande s'exécutait. Les fichiers que Git ignore et les fichiers dans les sous-modules ne sont pas listés. Nécessite Claude Code v2.1.269 ou ultérieur.1742Votre hook [PostToolUse](#posttooluse) reçoit alors les fichiers modifiés dans `tool_response.bashEditDiff`. La liste couvre ce qui a changé sous le référentiel pendant que la commande s'exécutait. Les fichiers que Git ignore et les fichiers dans les sous-modules ne sont pas listés. Nécessite Claude Code v2.1.269 ou ultérieur.

1738 1743 


1749| `moreFiles` | number | `2` | Nombre de fichiers modifiés sans diff dans `files` |1754| `moreFiles` | number | `2` | Nombre de fichiers modifiés sans diff dans `files` |

1750| `unavailable` | boolean | `true` | Défini quand le diff est incomplet ou n'a pas pu être pris |1755| `unavailable` | boolean | `true` | Défini quand le diff est incomplet ou n'a pas pu être pris |

1751| `skipped` | boolean | `true` | Défini pour une commande Git qui déplace l'arborescence de travail, comme `git checkout` ou `git stash`, donc Claude Code ne prend pas de diff |1756| `skipped` | boolean | `true` | Défini pour une commande Git qui déplace l'arborescence de travail, comme `git checkout` ou `git stash`, donc Claude Code ne prend pas de diff |

1752| `shared` | boolean | `true` | Défini quand un autre appel d'outil Bash, comme celui d'un sous-agent, s'est exécuté dans le même référentiel au même moment, donc certains changements listés peuvent être celui de cette commande |1757| `shared` | boolean | `true` | Défini quand un autre appel d'outil Bash, comme celui d'un sous-agent, s'exécutait dans le même référentiel au même moment, donc certains changements listés peuvent être celui de cette commande |

1753 1758 

1754<a id="powershell" />1759<a id="powershell" />

1755 1760 


1872| `subagent_type` | string | `"Explore"` | Type d'agent spécialisé à utiliser |1877| `subagent_type` | string | `"Explore"` | Type d'agent spécialisé à utiliser |

1873| `model` | string | `"sonnet"` | Alias de modèle optionnel pour remplacer le défaut |1878| `model` | string | `"sonnet"` | Alias de modèle optionnel pour remplacer le défaut |

1874 1879 

1875Quand un appel Agent au premier plan se termine, votre hook [PostToolUse](#posttooluse) reçoit le résultat du sous-agent et la télémétrie d'exécution dans `tool_response`. Lisez ces champs pour inspecter l'exécution ; pour les cumuls de tokens et de coûts entre les sous-agents, utilisez les [compteurs de tokens et de coûts](/docs/fr/monitoring-usage#token-counter) filtrés à `query_source` `"subagent"`, puisque `totalTokens` et `usage` couvrent uniquement la demande finale :1880Quand un appel Agent au premier plan se termine, votre hook [PostToolUse](#posttooluse) reçoit le résultat du sous-agent et la télémétrie d'exécution dans `tool_response`. Lisez ces champs pour inspecter l'exécution ; pour les cumuls de tokens et de coûts entre les sous-agents, utilisez les [compteurs de tokens et de coûts](/docs/fr/monitoring-usage#token-counter) filtrés à `query_source` `"subagent"`, puisque `totalTokens` et `usage` couvrent uniquement la requête finale :

1876 1881 

1877| Champ | Type | Exemple | Description |1882| Champ | Type | Exemple | Description |

1878| :- | :- | :- | :- |1883| :- | :- | :- | :- |


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

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

1883| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modèles utilisés dans l'ordre, avec les répétitions consécutives effondrées ; défini uniquement quand le modèle a été échangé en cours d'exécution. Nécessite Claude Code v2.1.212 ou ultérieur |1888| `modelsUsed` | array | `["claude-sonnet-4-5", "claude-haiku-4-5"]` | Modèles utilisés dans l'ordre, avec les répétitions consécutives effondrées ; défini uniquement quand le modèle a été échangé en cours d'exécution. Nécessite Claude Code v2.1.212 ou ultérieur |

1884| `totalTokens` | number | `12450` | Nombre de tokens de la demande API finale du sous-agent : tokens d'entrée, de sortie, et de cache combinés. Ce n'est pas un total sur toute l'exécution |1889| `totalTokens` | number | `12450` | Nombre de tokens de la requête API finale du sous-agent : tokens d'entrée, de sortie, et de cache combinés. Ce n'est pas un total sur toute l'exécution |

1885| `totalDurationMs` | number | `48211` | Durée d'horloge murale de l'exécution du sous-agent |1890| `totalDurationMs` | number | `48211` | Durée d'horloge murale de l'exécution du sous-agent |

1886| `totalToolUseCount` | number | `7` | Nombre d'appels d'outils que le sous-agent a effectués |1891| `totalToolUseCount` | number | `7` | Nombre d'appels d'outils que le sous-agent a effectués |

1887| `usage` | object | `{"input_tokens": 8320, ...}` | Ventilation des tokens par type de la demande API finale : `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |1892| `usage` | object | `{"input_tokens": 8320, ...}` | Ventilation des tokens par type de la requête API finale : `input_tokens`, `output_tokens`, `cache_creation_input_tokens`, `cache_read_input_tokens` |

1888 1893 

1889Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference), que Claude Code fournit en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), livre son rapport via cet outil plutôt que de le retourner comme texte. Le champ `content` de son résultat `completed` porte alors une brève note à ce sujet plutôt que le rapport lui-même. Pour lire le rapport, correspondez à un hook `PreToolUse` ou `PostToolUse` sur `SubagentHandback` et lisez `tool_input.message`.1894Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference), que Claude Code fournit en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), livre son rapport via cet outil plutôt que de le retourner comme texte. Le champ `content` de son résultat `completed` porte alors une brève note à ce sujet plutôt que le rapport lui-même. Pour lire le rapport, correspondez à un hook `PreToolUse` ou `PostToolUse` sur `SubagentHandback` et lisez `tool_input.message`.

1890 1895 


1927 1932 

1928| Champ | Description |1933| Champ | Description |

1929| :- | :- |1934| :- | :- |

1930| `permissionDecision` | `"allow"` ignore l'invite de permission, sauf pour les [actions que aucun mode n'auto-approuve](/docs/fr/permission-modes#actions-no-mode-auto-approves) et pour `AskUserQuestion` et `ExitPlanMode`, qui ont besoin de [`updatedInput` associé à lui](#allow-with-updatedinput). `"deny"` empêche l'appel d'outil. `"ask"` invite l'utilisateur à confirmer. `"defer"` quitte proprement pour que l'outil puisse être repris plus tard. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées indépendamment de ce que le hook retourne |1935| `permissionDecision` | `"allow"` ignore l'invite de permission, sauf pour les [actions qu'aucun mode n'approuve automatiquement](/docs/fr/permission-modes#actions-no-mode-auto-approves) et pour `AskUserQuestion` et `ExitPlanMode`, qui ont besoin de [`updatedInput` associé](#allow-with-updatedinput). `"deny"` empêche l'appel d'outil. `"ask"` demande à l'utilisateur de confirmer. `"defer"` quitte proprement pour que l'outil puisse être repris plus tard. Les [règles de refus et de demande](/docs/fr/permissions#manage-permissions) sont toujours évaluées indépendamment de ce que le hook retourne |

1931| `permissionDecisionReason` | Pour `"ask"`, montré à l'utilisateur mais pas Claude. Pour `"deny"`, montré à Claude. Pour `"allow"` et `"defer"`, écrit au [journal de débogage](#debug-hooks) uniquement |1936| `permissionDecisionReason` | Pour `"ask"`, montré à l'utilisateur mais pas Claude. Pour `"deny"`, montré à Claude. Pour `"allow"` et `"defer"`, écrit au [journal de débogage](#debug-hooks) uniquement |

1932| `updatedInput` | Modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'objet d'entrée entier, donc incluez les champs inchangés aux côtés des champs modifiés. Claude Code évalue les règles de permission et l'[éligibilité de mise en arrière-plan automatique](/docs/fr/tools-reference#background-commands) d'une commande Bash contre l'entrée que votre hook retourne, pas l'entrée que Claude a envoyée. Combinez avec `"allow"` pour auto-approuver, ou `"ask"` pour montrer l'entrée modifiée à l'utilisateur. Pour `"defer"`, ignoré |1937| `updatedInput` | Modifie les paramètres d'entrée de l'outil avant l'exécution. Remplace l'objet d'entrée entier, donc incluez les champs inchangés aux côtés des champs modifiés. Claude Code évalue les règles de permission et l'[éligibilité de mise en arrière-plan automatique](/docs/fr/tools-reference#background-commands) d'une commande Bash contre l'entrée que votre hook retourne, pas l'entrée que Claude a envoyée. Combinez avec `"allow"` pour approuver automatiquement, ou `"ask"` pour montrer l'entrée modifiée à l'utilisateur. Pour `"defer"`, ignoré |

1933| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du résultat d'outil. Ignoré quand `permissionDecision` est `"defer"`. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |1938| `additionalContext` | Chaîne ajoutée au contexte de Claude aux côtés du résultat d'outil. Ignoré quand `permissionDecision` est `"defer"`. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

1934 1939 

1935Quand plusieurs hooks PreToolUse retournent des décisions différentes, la priorité est `deny` > `defer` > `ask` > `allow`.1940Quand plusieurs hooks PreToolUse retournent des décisions différentes, la priorité est `deny` > `defer` > `ask` > `allow`.

1936 1941 

1937Un hook qui bloque en quittant 2 s'achemine de la même façon que `"deny"` : Claude voit le message stderr comme la raison du refus.1942Un hook qui bloque en quittant 2 s'achemine de la même façon que `"deny"` : Claude voit le message stderr comme la raison du refus.

1938 1943 

1939Quand un hook retourne `"ask"`, l'invite de permission affichée à l'utilisateur inclut une étiquette identifiant d'où vient le hook : `[settings]` pour un hook de n'importe quel fichier de paramètres ou du frontmatter d'agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook du frontmatter de skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande une confirmation.1944Quand un hook retourne `"ask"`, l'invite de permission affichée à l'utilisateur inclut une étiquette identifiant d'où vient le hook : `[settings]` pour un hook de n'importe quel fichier de paramètres ou du frontmatter d'agent, `[plugin:<name>]` pour le hook d'un plugin, ou `[skill]` pour un hook du frontmatter de skill. Cela aide les utilisateurs à comprendre quelle source de configuration demande la confirmation.

1940 1945 

1941Un `"ask"` d'un hook force également une invite de permission en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : le classificateur peut toujours refuser l'appel d'outil, mais il ne peut pas approuver l'appel silencieusement. Avant v2.1.211, le classificateur pouvait approuver une commande Bash s'exécutant en dehors du [sandbox](/docs/fr/sandboxing) sans montrer l'invite que le hook a demandée ; le classificateur appliquait toujours ses propres règles de sécurité à cette commande, et un refus de hook `"deny"` était toujours honoré.1946Un `"ask"` d'un hook force également une invite de permission en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) : le classificateur peut toujours refuser l'appel d'outil, mais il ne peut pas approuver l'appel silencieusement. Avant v2.1.211, le classificateur pouvait approuver une commande Bash s'exécutant en dehors du [sandbox](/docs/fr/sandboxing) sans montrer l'invite que le hook a demandée ; le classificateur appliquait toujours ses propres règles de sécurité à cette commande, et un refus de hook `"deny"` était toujours honoré.

1942 1947 


1956 1961 

1957<span id="allow-with-updatedinput" />1962<span id="allow-with-updatedinput" />

1958 1963 

1959En [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`, Claude Code offre `AskUserQuestion` et `ExitPlanMode` uniquement quand l'exécution a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs) pour recevoir l'invite, comme un rappel `canUseTool` d'Agent SDK. Ces outils nécessitent l'interaction de l'utilisateur. Retourner `permissionDecision: "allow"` avec `updatedInput` satisfait cette exigence : le hook lit l'entrée de l'outil depuis stdin, collecte la réponse via votre propre UI, et la retourne dans `updatedInput` pour que l'outil s'exécute sans inviter. Retourner `"allow"` seul n'est pas suffisant pour ces outils. Pour `AskUserQuestion`, renvoyez le tableau `questions` original et ajoutez un objet [`answers`](#askuserquestion) mappant le texte de chaque question à la réponse choisie.1964En [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`, Claude Code offre `AskUserQuestion` et `ExitPlanMode` uniquement quand l'exécution a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs) pour recevoir l'invite, comme un rappel `canUseTool` d'Agent SDK. Ces outils nécessitent l'interaction de l'utilisateur. Retourner `permissionDecision: "allow"` avec `updatedInput` satisfait cette exigence : le hook lit l'entrée de l'outil depuis stdin, collecte la réponse via votre propre interface utilisateur, et la retourne dans `updatedInput` pour que l'outil s'exécute sans demander. Retourner `"allow"` seul n'est pas suffisant pour ces outils. Pour `AskUserQuestion`, renvoyez le tableau `questions` original et ajoutez un objet [`answers`](#askuserquestion) mappant le texte de chaque question à la réponse choisie.

1960 1965 

1961À partir de v2.1.199, un outil MCP dont le serveur le marque avec [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool) est plus strict : un hook ne peut pas ignorer son invite d'approbation avec `"allow"`, avec ou sans `updatedInput`, parce que Claude Code ne peut pas confirmer que le hook a collecté l'interaction que l'outil nécessite.1966À partir de v2.1.199, un outil MCP dont le serveur le marque avec [`_meta["anthropic/requiresUserInteraction"]`](/docs/fr/mcp#require-approval-for-a-specific-tool) est plus strict : un hook ne peut pas ignorer son invite d'approbation avec `"allow"`, avec ou sans `updatedInput`, parce que Claude Code ne peut pas confirmer que le hook a collecté l'interaction que l'outil nécessite.

1962 1967 


1968 Différer un appel d'outil pour plus tard1973 Différer un appel d'outil pour plus tard

1969</h4>1974</h4>

1970 1975 

1971`"defer"` est pour les intégrations qui exécutent `claude -p` comme un sous-processus et lisent sa sortie JSON, comme une application Agent SDK ou une UI personnalisée construite au-dessus de Claude Code. Cela permet à ce processus appelant de mettre en pause Claude à un appel d'outil, de collecter l'entrée via sa propre interface, et de reprendre où il s'était arrêté. Claude Code honore cette valeur uniquement en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Dans les sessions interactives, il enregistre un avertissement et ignore le résultat du hook.1976`"defer"` est pour les intégrations qui exécutent `claude -p` comme un sous-processus et lisent sa sortie JSON, comme une application Agent SDK ou une interface utilisateur personnalisée construite au-dessus de Claude Code. Cela permet à ce processus appelant de mettre en pause Claude à un appel d'outil, de collecter l'entrée via sa propre interface, et de reprendre où il s'était arrêté. Claude Code honore cette valeur uniquement en [mode non-interactif](/docs/fr/headless) avec le drapeau `-p`. Dans les sessions interactives, il enregistre un avertissement et ignore le résultat du hook.

1972 1977 

1973L'outil `AskUserQuestion` est le cas typique : Claude veut poser quelque chose à l'utilisateur, mais il n'y a pas de terminal pour répondre. Une exécution `-p` offre `AskUserQuestion` uniquement quand elle a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs), comme un outil MCP que vous passez avec `--permission-prompt-tool`, donc commencez l'exécution avec un. Le aller-retour fonctionne comme ceci :1978L'outil `AskUserQuestion` est le cas typique : Claude veut poser quelque chose à l'utilisateur, mais il n'y a pas de terminal pour répondre. Une exécution `-p` offre `AskUserQuestion` uniquement quand elle a un [hôte de permission](/docs/fr/headless#turn-off-permission-prompts-in-unattended-runs), comme un outil MCP que vous passez avec `--permission-prompt-tool`, donc commencez l'exécution avec un. Le aller-retour fonctionne comme ceci :

1974 1979 

19751. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.19801. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.

19762. Le hook retourne `permissionDecision: "defer"`. L'outil ne s'exécute pas. Le processus quitte avec `stop_reason: "tool_deferred"` et l'appel d'outil en attente préservé dans la transcription.19812. Le hook retourne `permissionDecision: "defer"`. L'outil ne s'exécute pas. Le processus quitte avec `stop_reason: "tool_deferred"` et l'appel d'outil en attente préservé dans la transcription.

19773. Le processus appelant lit `deferred_tool_use` du résultat SDK, affiche la question dans sa propre UI, et attend une réponse.19823. Le processus appelant lit `deferred_tool_use` du résultat SDK, affiche la question dans sa propre interface utilisateur, et attend une réponse.

19784. Le processus appelant exécute `claude -p --resume <session-id>` avec le même hôte de permission. Le même appel d'outil déclenche `PreToolUse` à nouveau.19834. Le processus appelant exécute `claude -p --resume <session-id>` avec le même hôte de permission. Le même appel d'outil déclenche `PreToolUse` à nouveau.

19795. Le hook retourne `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.19845. Le hook retourne `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.

1980 1985 

1981Le champ `deferred_tool_use` porte l'`id` de l'outil, le `name`, et l'`input`. L'`input` est les paramètres que Claude a générés pour l'appel d'outil, capturés avant l'exécution :1986Le champ `deferred_tool_use` porte l'`id`, le `name`, et l'`input` de l'outil. L'`input` est les paramètres que Claude a générés pour l'appel d'outil, capturés avant l'exécution :

1982 1987 

1983```json theme={null}1988```json theme={null}

1984{1989{


1994}1999}

1995```2000```

1996 2001 

1997Il n'y a pas de délai d'expiration ou de limite de tentatives. La session reste sur le disque jusqu'à ce que vous la repreniez, soumise aux [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically) de [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), qui supprime les fichiers de session après 30 jours par défaut. Si la réponse n'est pas prête quand vous reprenez, le hook peut retourner `"defer"` à nouveau et le processus quitte de la même façon. Le processus appelant contrôle quand casser la boucle en retournant finalement `"allow"` ou `"deny"` du hook.2002Il n'y a pas de délai d'expiration ou de limite de tentatives. La session reste sur le disque jusqu'à ce que vous la repreniez, soumise aux règles de balayage de rétention [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays), qui supprime les fichiers de session après 30 jours par défaut, en suivant les [règles de balayage de rétention](/docs/fr/claude-directory#cleaned-up-automatically). Si la réponse n'est pas prête quand vous reprenez, le hook peut retourner `"defer"` à nouveau et le processus quitte de la même façon. Le processus appelant contrôle quand casser la boucle en retournant finalement `"allow"` ou `"deny"` du hook.

1998 2003 

1999`"defer"` fonctionne uniquement quand Claude effectue un seul appel d'outil dans le tour. Si Claude effectue plusieurs appels d'outils à la fois, `"defer"` est ignoré avec un avertissement et l'outil procède via le flux de permission normal. La contrainte existe parce que la reprise ne peut réexécuter qu'un seul outil : il n'y a aucun moyen de différer un appel d'un lot sans laisser les autres non résolus.2004`"defer"` fonctionne uniquement quand Claude effectue un seul appel d'outil dans le tour. Si Claude effectue plusieurs appels d'outils à la fois, `"defer"` est ignoré avec un avertissement et l'outil procède par le flux de permission normal. La contrainte existe parce que la reprise ne peut relancer qu'un seul outil : il n'y a aucun moyen de différer un appel d'un lot sans laisser les autres non résolus.

2000 2005 

2001Si l'outil différé n'est plus disponible quand vous reprenez, le processus quitte avec `stop_reason: "tool_deferred_unavailable"` et `is_error: true` avant que le hook se déclenche. Cela se produit quand un serveur MCP qui a fourni l'outil n'est pas connecté pour la session reprise. La charge utile `deferred_tool_use` est toujours incluse pour que vous puissiez identifier quel outil a disparu.2006Si l'outil différé n'est plus disponible quand vous reprenez, le processus quitte avec `stop_reason: "tool_deferred_unavailable"` et `is_error: true` avant que le hook se déclenche. Cela se produit quand un serveur MCP qui a fourni l'outil n'est pas connecté pour la session reprise. La charge utile `deferred_tool_use` est toujours incluse pour que vous puissiez identifier quel outil a disparu.

2002 2007 


2015 2020 

2016Utilisez cet événement quand vous avez besoin d'un signal au moment où Claude demande la permission d'utiliser un outil. Claude Code exécute un hook [Notification](#notification) avec le type `permission_prompt` uniquement après que l'invite ait attendu environ six secondes.2021Utilisez cet événement quand vous avez besoin d'un signal au moment où Claude demande la permission d'utiliser un outil. Claude Code exécute un hook [Notification](#notification) avec le type `permission_prompt` uniquement après que l'invite ait attendu environ six secondes.

2017 2022 

2018Claude Code n'exécute pas les hooks PermissionRequest pour la [demande réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox. Pour obtenir un signal pour cette invite, utilisez le type de notification `permission_prompt`.2023Claude Code n'exécute pas les hooks PermissionRequest pour la [requête réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox. Pour obtenir un signal pour cette invite, utilisez le type de notification `permission_prompt`.

2019 2024 

2020Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2025Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2021 2026 


2023 Entrée PermissionRequest2028 Entrée PermissionRequest

2024</h4>2029</h4>

2025 2030 

2026Les hooks PermissionRequest reçoivent les champs `tool_name` et `tool_input` comme les hooks PreToolUse, mais sans `tool_use_id`. Pour un outil MCP, ils reçoivent également l'objet [`mcp_server`](#pretooluse-input). Un tableau optionnel `permission_suggestions` contient les [mises à jour de permission](#permission-update-entries) que Claude Code suggère pour cette demande, comme ajouter une règle d'autorisation ou changer le mode de permission.2031Les hooks PermissionRequest reçoivent les champs `tool_name` et `tool_input` comme les hooks PreToolUse, mais sans `tool_use_id`. Pour un outil MCP, ils reçoivent également l'objet [`mcp_server`](#pretooluse-input). Un tableau optionnel `permission_suggestions` contient les [mises à jour de permission](#permission-update-entries) que Claude Code suggère pour cette requête, comme ajouter une règle d'autorisation ou changer le mode de permission.

2027 2032 

2028Le tableau `permission_suggestions` n'est pas une liste exacte des options que vous voyez, parce que chaque dialogue de permission construit ses propres options. Certains dialogues, comme celui pour les éditions de fichiers, ne lisent pas du tout le tableau et dérivent leurs options de la demande elle-même. Un dialogue qui le lit peut toujours retenir une option dont la suggestion reste dans le tableau, par exemple quand [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) cache les options de sauvegarde de règles. Il peut également offrir des options qui n'ont pas d'entrée de suggestion, comme [**Oui, et basculer en mode auto**](/docs/fr/permission-modes#switch-permission-modes), qui change le mode de permission directement plutôt que via une mise à jour de permission.2033Le tableau `permission_suggestions` n'est pas une liste exacte des options que vous voyez, parce que chaque dialogue de permission construit ses propres options. Certains dialogues, comme celui pour les éditions de fichiers, ne lisent pas du tout le tableau et dérivent leurs options de la requête elle-même. Un dialogue qui le lit peut toujours retenir une option dont la suggestion reste dans le tableau, par exemple quand [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) cache les options de sauvegarde de règles. Il peut également offrir des options qui n'ont pas d'entrée de suggestion, comme [**Oui, et passer en mode auto**](/docs/fr/permission-modes#switch-permission-modes), qui change le mode de permission directement plutôt que via une mise à jour de permission.

2029 2034 

2030Les hooks PreToolUse s'exécutent avant chaque appel d'outil, qu'il ait besoin de permission ou non. Les hooks PermissionRequest s'exécutent uniquement quand Claude Code est sur le point de vous demander la permission, ou quand il refuserait autrement un appel qui ne peut pas inviter. Aucun événement ne se déclenche pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).2035Les hooks PreToolUse s'exécutent avant chaque appel d'outil, qu'il ait besoin de permission ou non. Les hooks PermissionRequest s'exécutent uniquement quand Claude Code est sur le point de vous demander la permission, ou quand il refuserait autrement un appel qui ne peut pas demander. Aucun événement ne se déclenche pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).

2031 2036 

2032```json theme={null}2037```json theme={null}

2033{2038{


2066| `message` | Pour `"deny"` uniquement : dit à Claude pourquoi la permission a été refusée |2071| `message` | Pour `"deny"` uniquement : dit à Claude pourquoi la permission a été refusée |

2067| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |2072| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |

2068 2073 

2069Un hook qui quitte 2 sans un objet `decision` laisse le flux de permission inchangé, et son stderr est rejeté. Seul l'objet `decision` peut accorder ou refuser la demande.2074Un hook qui quitte 2 sans un objet `decision` laisse le flux de permission inchangé, et son stderr est rejeté. Seul l'objet `decision` peut accorder ou refuser la requête.

2070 2075 

2071```json theme={null}2076```json theme={null}

2072{2077{


2191```2196```

2192 2197 

2193<Warning>2198<Warning>

2194 `updatedToolOutput` change uniquement ce que Claude voit. L'outil s'est déjà exécuté au moment où le hook se déclenche, donc tous les fichiers écrits, commandes exécutées, ou demandes réseau envoyées ont déjà pris effet. La télémétrie comme les spans d'outils OpenTelemetry et les événements d'analyse capturent également la sortie originale avant que le hook s'exécute. Pour empêcher ou modifier un appel d'outil avant qu'il s'exécute, utilisez plutôt un hook [PreToolUse](#pretooluse).2199 `updatedToolOutput` change uniquement ce que Claude voit. L'outil s'est déjà exécuté au moment où le hook se déclenche, donc tous les fichiers écrits, commandes exécutées, ou requêtes réseau envoyées ont déjà pris effet. La télémétrie comme les spans d'outils OpenTelemetry et les événements d'analyse capturent également la sortie originale avant que le hook s'exécute. Pour empêcher ou modifier un appel d'outil avant qu'il s'exécute, utilisez plutôt un hook [PreToolUse](#pretooluse).

2195 2200 

2196 La valeur de remplacement doit correspondre à la forme de sortie de l'outil. Les outils intégrés retournent des objets structurés plutôt que des chaînes brutes. Par exemple, `Bash` retourne un objet avec les champs `stdout`, `stderr`, `interrupted`, et `isImage`. Pour les outils intégrés, une valeur qui ne correspond pas au schéma de sortie de l'outil est ignorée et la sortie originale est utilisée. La sortie d'outil MCP est transmise sans validation de schéma. Supprimer les détails d'erreur que Claude a besoin peut le faire procéder sur une fausse hypothèse.2201 La valeur de remplacement doit correspondre à la forme de sortie de l'outil. Les outils intégrés retournent des objets structurés plutôt que des chaînes brutes. Par exemple, `Bash` retourne un objet avec les champs `stdout`, `stderr`, `interrupted`, et `isImage`. Pour les outils intégrés, une valeur qui ne correspond pas au schéma de sortie de l'outil est ignorée et la sortie originale est utilisée. La sortie d'outil MCP est transmise sans validation de schéma. Supprimer les détails d'erreur dont Claude a besoin peut le faire procéder sur une fausse hypothèse.

2197</Warning>2202</Warning>

2198 2203 

2199<h4 id="annotate-a-result-for-the-auto-mode-classifier">2204<h4 id="annotate-a-result-for-the-auto-mode-classifier">


2238Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2243Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2239 2244 

2240<Note>2245<Note>

2241 Cet événement ne se déclenche pas pour les appels d'outils rejetés avant l'exécution : un nom d'outil inconnu, une entrée qui échoue la validation de schéma ou spécifique à l'outil, ou un refus de permission. Les rejets de validation sont retournés comme des résultats `tool_use_error` et se produisent avant que les hooks s'exécutent, donc ils ne déclenchent ni `PreToolUse` ni `PostToolUseFailure`. Les refus de permission déclenchent `PreToolUse` mais pas cet événement ; voir [PermissionDenied](#permissiondenied).2246 Cet événement ne se déclenche pas pour les appels d'outils rejetés avant l'exécution : un nom d'outil inconnu, une entrée qui échoue la validation de schéma ou spécifique à l'outil, ou un refus de permission. Les rejets de validation sont retournés comme résultats `tool_use_error` et se produisent avant que les hooks s'exécutent, donc ils ne déclenchent ni `PreToolUse` ni `PostToolUseFailure`. Les refus de permission déclenchent `PreToolUse` mais pas cet événement ; voir [PermissionDenied](#permissiondenied).

2242</Note>2247</Note>

2243 2248 

2244<h4 id="posttoolusefailure-input">2249<h4 id="posttoolusefailure-input">


2276 2281 

2277* Pour Bash et PowerShell, une commande qui s'est exécutée et a quitté produit une première ligne `Exit code N`, puis toute sortie que la commande a produite comme un bloc avec stdout et stderr entrelacés2282* Pour Bash et PowerShell, une commande qui s'est exécutée et a quitté produit une première ligne `Exit code N`, puis toute sortie que la commande a produite comme un bloc avec stdout et stderr entrelacés

2278* Une charge utile peut également porter un message d'échec nu sans ligne de code de sortie, quand Claude Code n'a pas pu démarrer le processus shell lui-même2283* Une charge utile peut également porter un message d'échec nu sans ligne de code de sortie, quand Claude Code n'a pas pu démarrer le processus shell lui-même

2279* Claude Code tronque au milieu les longues chaînes autour d'un marqueur `... [N characters truncated] ...`, et peut insérer des lignes de son propre, comme `Command timed out after 2m 0s`2284* Claude Code tronque au milieu les longues chaînes autour d'un marqueur `... [N characters truncated] ...`, et peut insérer ses propres lignes, comme `Command timed out after 2m 0s`

2280 2285 

2281<h4 id="posttoolusefailure-decision-control">2286<h4 id="posttoolusefailure-decision-control">

2282 Contrôle de décision PostToolUseFailure2287 Contrôle de décision PostToolUseFailure


2301 PostToolBatch2306 PostToolBatch

2302</h3>2307</h3>

2303 2308 

2304S'exécute une fois après que chaque appel d'outil dans un lot se soit résolu, avant que Claude Code envoie la demande suivante au modèle. `PostToolUse` se déclenche une fois par outil, ce qui signifie qu'il se déclenche simultanément quand Claude effectue des appels d'outils parallèles. `PostToolBatch` se déclenche exactement une fois avec le lot complet, donc c'est le bon endroit pour injecter du contexte qui dépend de l'ensemble des outils qui se sont exécutés plutôt que de n'importe quel outil unique. Il n'y a pas de matcher pour cet événement.2309S'exécute une fois après que chaque appel d'outil dans un lot se soit résolu, avant que Claude Code envoie la requête suivante au modèle. `PostToolUse` se déclenche une fois par outil, ce qui signifie qu'il se déclenche simultanément quand Claude effectue des appels d'outils parallèles. `PostToolBatch` se déclenche exactement une fois avec le lot complet, donc c'est le bon endroit pour injecter du contexte qui dépend de l'ensemble des outils qui se sont exécutés plutôt que de n'importe quel outil unique. Il n'y a pas de matcher pour cet événement.

2305 2310 

2306<h4 id="posttoolbatch-input">2311<h4 id="posttoolbatch-input">

2307 Entrée PostToolBatch2312 Entrée PostToolBatch


2364 PermissionDenied2369 PermissionDenied

2365</h3>2370</h3>

2366 2371 

2367S'exécute quand le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) refuse un appel d'outil, y compris quand il refuse sans un verdict du classificateur parce qu'une [vérification de sécurité séparée du mode auto a refusé la demande du classificateur lui-même](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou sa réponse n'a pas analysé. Ce hook ne se déclenche que en mode auto : il ne s'exécute pas quand vous refusez manuellement un dialogue de permission, quand un hook `PreToolUse` bloque un appel, ou quand une règle `deny` correspond. Utilisez-le pour enregistrer les refus, ajuster la configuration, ou dire au modèle qu'il peut réessayer l'appel d'outil.2372S'exécute quand le [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) refuse un appel d'outil, y compris quand il refuse sans verdict du classificateur parce qu'une [vérification de sécurité séparée du mode auto a refusé la propre requête du classificateur](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) ou sa réponse n'a pas analysé. Ce hook ne se déclenche que en mode auto : il ne s'exécute pas quand vous refusez manuellement un dialogue de permission, quand un hook `PreToolUse` bloque un appel, ou quand une règle `deny` correspond. Utilisez-le pour enregistrer les refus, ajuster la configuration, ou dire au modèle qu'il peut réessayer l'appel d'outil.

2368 2373 

2369Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2374Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2370 2375 


2412 2417 

2413Quand `retry` est `true`, Claude Code ajoute un message à la conversation disant au modèle qu'il peut réessayer l'appel d'outil. Claude Code ne renverse pas le refus lui-même. Si votre hook ne retourne pas JSON, ou retourne `retry: false`, le refus tient et le modèle reçoit le message de rejet original.2418Quand `retry` est `true`, Claude Code ajoute un message à la conversation disant au modèle qu'il peut réessayer l'appel d'outil. Claude Code ne renverse pas le refus lui-même. Si votre hook ne retourne pas JSON, ou retourne `retry: false`, le refus tient et le modèle reçoit le message de rejet original.

2414 2419 

2415Claude Code ignore `retry: true` quand le classificateur a produit [aucun verdict sur l'action](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) : sa réponse n'a pas analysé, ou une vérification de sécurité séparée du mode auto a refusé la demande du classificateur. Pour ces refus, Claude Code dit déjà au modèle dans le message de rejet s'il faut réessayer plus tard ou continuer.2420Claude Code ignore `retry: true` quand le classificateur a produit [aucun verdict sur l'action](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) : sa réponse n'a pas analysé, ou une vérification de sécurité séparée du mode auto a refusé la requête du classificateur. Pour ces refus, Claude Code dit déjà au modèle dans le message de rejet s'il faut réessayer plus tard ou continuer.

2416 2421 

2417<h3 id="notification">2422<h3 id="notification">

2418 Notification2423 Notification


2424 2429 

2425| Matcher | Quand il se déclenche |2430| Matcher | Quand il se déclenche |

2426| :- | :- |2431| :- | :- |

2427| `permission_prompt` | Claude a besoin de votre permission pour utiliser un outil ou la [demande réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox, et l'invite a attendu environ six secondes |2432| `permission_prompt` | Claude a besoin de votre permission pour utiliser un outil ou la [requête réseau](/docs/fr/sandboxing#network-isolation) d'une commande en sandbox, et l'invite a attendu environ six secondes |

2428| `idle_prompt` | Claude a fini de répondre il y a environ 60 secondes et vous n'avez pas tapé depuis |2433| `idle_prompt` | Claude a fini de répondre il y a environ 60 secondes et vous n'avez pas tapé depuis |

2429| `auth_success` | L'authentification se termine |2434| `auth_success` | L'authentification se termine |

2430| `elicitation_dialog` | Un serveur MCP ouvre un formulaire d'élicitation et vous n'avez pas tapé depuis environ six secondes |2435| `elicitation_dialog` | Un serveur MCP ouvre un formulaire d'élicitation et vous n'avez pas tapé pendant environ six secondes |

2431| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL de navigateur et vous n'avez pas tapé depuis environ six secondes |2436| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL de navigateur et vous n'avez pas tapé pendant environ six secondes |

2432| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](#elicitation-input) est complète |2437| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](#elicitation-input) est complète |

2433| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |2438| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |

2434| `agent_needs_input` | Une session en arrière-plan commence à attendre votre entrée pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal, ou la session actuelle vous pose une [question de configuration de terminal d'un coéquipier d'équipe agent](/docs/fr/agent-teams#choose-a-display-mode) et vous n'avez pas tapé depuis environ six secondes |2439| `agent_needs_input` | Une session en arrière-plan commence à attendre votre entrée pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal. Se déclenche également quand une session de terminal vous montre une [question de configuration de terminal du coéquipier d'une équipe d'agents](/docs/fr/agent-teams#choose-a-display-mode) ou l'avis du mode auto sur les [frais de requête du classificateur](/docs/fr/auto-mode-classifier-billing) et vous n'avez pas tapé pendant environ six secondes |

2435| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal |2440| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement pendant que la [vue agent](/docs/fr/agent-view) est ouverte dans un terminal |

2436| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation claude.ai l'ait mise en pause : à la réinitialisation, ou plus tôt quand quelque chose que vous faites dans Claude Code pendant l'attente, comme ajouter des crédits d'utilisation, mettre à niveau votre plan, ou changer de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |2441| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation claude.ai l'ait mise en pause : à la réinitialisation, ou plus tôt quand quelque chose que vous faites dans Claude Code pendant l'attente, comme ajouter des crédits d'utilisation, mettre à niveau votre plan, ou changer de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |

2437| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai s'est réinitialisée pendant que votre ordinateur dormait pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Enter` au lieu de continuer. Après un sommeil plus court, il continue et se déclenche `quota_auto_resume_fired` à la place |2442| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai s'est réinitialisée pendant que votre ordinateur dormait pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Enter` au lieu de continuer. Après un sommeil plus court, il continue et se déclenche `quota_auto_resume_fired` à la place |


2441 2446 

2442Les types `quota_auto_resume_fired`, `quota_auto_resume_stale`, et `quota_auto_resume_disabled` nécessitent Claude Code v2.1.234 ou ultérieur.2447Les types `quota_auto_resume_fired`, `quota_auto_resume_stale`, et `quota_auto_resume_disabled` nécessitent Claude Code v2.1.234 ou ultérieur.

2443 2448 

2444En sessions de terminal, `permission_prompt` pour la demande réseau d'une commande en sandbox nécessite Claude Code v2.1.246 ou ultérieur.2449En sessions de terminal, `permission_prompt` pour la requête réseau d'une commande en sandbox nécessite Claude Code v2.1.246 ou ultérieur.

2445 2450 

2446`agent_needs_input` pour une question de configuration de terminal d'un coéquipier nécessite Claude Code v2.1.248 ou ultérieur.2451`agent_needs_input` pour la question de configuration de terminal d'un coéquipier nécessite Claude Code v2.1.248 ou ultérieur.

2447 2452 

2448<Note>2453<Note>

2449 Les types `permission_prompt`, `idle_prompt`, `elicitation_dialog`, et `elicitation_url_dialog` partagent leur timing avec les notifications de bureau, donc en sessions de terminal vous ne les voyez que quand vous semblez être loin du terminal :2454 Les types `permission_prompt`, `idle_prompt`, `elicitation_dialog`, et `elicitation_url_dialog` partagent leur timing avec les notifications de bureau, donc en sessions de terminal vous ne les voyez que quand vous semblez être loin du terminal :

2450 2455 

2451 * Attendez `permission_prompt` une fois que vous n'avez pas tapé pendant environ six secondes. Le minuteur démarre quand l'invite de permission apparaît, et chaque frappe le reporte. Pour exécuter un hook immédiatement quand Claude demande la permission d'utiliser un outil, utilisez plutôt [PermissionRequest](#permissionrequest).2456 * Attendez `permission_prompt` une fois que vous n'avez pas tapé pendant environ six secondes. Le minuteur démarre quand l'invite de permission apparaît, et chaque frappe le reporte. Pour exécuter un hook immédiatement quand Claude demande la permission d'utiliser un outil, utilisez plutôt [PermissionRequest](#permissionrequest).

2452 * Attendez `idle_prompt` environ 60 secondes après que Claude finisse de répondre, et uniquement si vous n'avez pas tapé depuis. Claude Code n'envoie pas `idle_prompt` pendant qu'il attend qu'une limite d'utilisation claude.ai se réinitialise. Quand l'attente se termine seule, l'un des types `quota_auto_resume_*` se déclenche à la place.2457 * Attendez `idle_prompt` environ 60 secondes après que Claude finisse de répondre, et uniquement si vous n'avez pas tapé depuis. Claude Code n'envoie pas `idle_prompt` pendant qu'il attend qu'une limite d'utilisation claude.ai se réinitialise. Quand l'attente se termine d'elle-même, l'un des types `quota_auto_resume_*` se déclenche à la place.

2453 * Attendez `elicitation_dialog` pour un formulaire d'élicitation, ou `elicitation_url_dialog` pour une demande d'URL de navigateur, une fois que vous n'avez pas tapé pendant environ six secondes. Les deux partagent la même porte de six secondes que `permission_prompt` : le minuteur démarre quand le dialogue apparaît, et chaque frappe le reporte.2458 * Attendez `elicitation_dialog` pour un formulaire d'élicitation, ou `elicitation_url_dialog` pour une requête d'URL de navigateur, une fois que vous n'avez pas tapé pendant environ six secondes. Les deux partagent la même porte de six secondes que `permission_prompt` : le minuteur démarre quand le dialogue apparaît, et chaque frappe le reporte.

2454 2459 

2455 Une demande de permission ou d'élicitation qui arrive pendant qu'un autre dialogue est à l'écran garde la même porte de six secondes, chronométrée à partir de quand la demande arrive. Sa notification peut vous atteindre pendant que la demande attend toujours derrière le dialogue ouvert.2460 Une requête de permission ou d'élicitation qui arrive pendant qu'un autre dialogue est à l'écran garde la même porte de six secondes, chronométrée à partir de quand la requête arrive. Sa notification peut vous atteindre pendant que la requête attend toujours derrière le dialogue ouvert.

2456</Note>2461</Note>

2457 2462 

2458Claude Code chronométre `permission_prompt` différemment dans les sessions où il envoie les demandes de permission au rappel [`canUseTool`](/docs/fr/agent-sdk/user-input) d'Agent SDK, ce qui est comment Claude Desktop et l'extension VS Code hébergent Claude Code :2463Claude Code chronomètre `permission_prompt` différemment dans les sessions où il envoie les requêtes de permission au rappel [`canUseTool`](/docs/fr/agent-sdk/user-input) d'Agent SDK, ce qui est comment Claude Desktop et l'extension VS Code hébergent Claude Code :

2459 2464 

2460* Attendez `permission_prompt` environ six secondes après que Claude demande la permission. Claude Code ne le reporte pas pendant que vous tapez.2465* Attendez `permission_prompt` environ six secondes après que Claude demande la permission. Claude Code ne le reporte pas pendant que vous tapez.

2461* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code n'exécute pas `permission_prompt`.2466* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code n'exécute pas `permission_prompt`.


2516 SubagentStart2521 SubagentStart

2517</h3>2522</h3>

2518 2523 

2519S'exécute quand Claude crée un sous-agent avec l'outil Agent, quand Claude [reprend un sous-agent](/docs/fr/sub-agents#resume-subagents), et chaque fois qu'un coéquipier d'[équipe agent](/docs/fr/agent-teams) en processus gère un nouveau message. Supporte les matchers pour filtrer par nom de type d'agent. Pour les agents intégrés, c'est le nom de l'agent comme `general-purpose`, `Explore`, ou `Plan`. Pour les [sous-agents personnalisés](/docs/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom du fichier.2524S'exécute quand Claude crée un sous-agent avec l'outil Agent, quand Claude [reprend un sous-agent](/docs/fr/sub-agents#resume-subagents), et chaque fois qu'un coéquipier d'[équipe d'agents](/docs/fr/agent-teams) en processus gère un nouveau message. Supporte les matchers pour filtrer par nom de type d'agent. Pour les agents intégrés, c'est le nom de l'agent comme `general-purpose`, `Explore`, ou `Plan`. Pour les [sous-agents personnalisés](/docs/fr/sub-agents), c'est le champ `name` du frontmatter de l'agent, pas le nom du fichier.

2520 2525 

2521Pour les sous-agents fournis par un [plugin](/docs/fr/plugins/overview), le type d'agent est l'identifiant scoped du plugin comme `my-plugin:reviewer`, pas le nom du frontmatter nu. Le deux-points place un nom scoped du plugin sur le chemin d'expression régulière, donc ancrez le matcher avec `^` et `$` pour une correspondance exacte : `^my-plugin:reviewer$`.2526Pour les sous-agents expédiés par un [plugin](/docs/fr/plugins/overview), le type d'agent est l'identifiant délimité par plugin comme `my-plugin:reviewer`, pas le nom du frontmatter nu. Le deux-points place un nom délimité par plugin sur le chemin d'expression régulière, donc ancrez le matcher avec `^` et `$` pour une correspondance exacte : `^my-plugin:reviewer$`.

2522 2527 

2523<h4 id="subagentstart-input">2528<h4 id="subagentstart-input">

2524 Entrée SubagentStart2529 Entrée SubagentStart

2525</h4>2530</h4>

2526 2531 

2527En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStart reçoivent `agent_id` avec l'identifiant unique du sous-agent et `agent_type` avec le nom de l'agent que le matcher filtre.2532En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStart reçoivent `agent_id` avec l'identifiant unique du sous-agent et `agent_type` avec le nom de l'agent sur lequel le matcher filtre.

2528 2533 

2529```json theme={null}2534```json theme={null}

2530{2535{


2566 2571 

2567En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStop reçoivent `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path`, et `last_assistant_message`. Le champ `agent_type` est la valeur utilisée pour le filtrage du matcher. Le `transcript_path` est la transcription de la session principale, tandis que `agent_transcript_path` est la propre transcription du sous-agent stockée dans un dossier `subagents/` imbriqué. Le champ `last_assistant_message` contient le contenu textuel de la réponse finale du sous-agent, donc les hooks peuvent y accéder sans analyser le fichier de transcription.2572En plus des [champs d'entrée communs](#common-input-fields), les hooks SubagentStop reçoivent `stop_hook_active`, `agent_id`, `agent_type`, `agent_transcript_path`, et `last_assistant_message`. Le champ `agent_type` est la valeur utilisée pour le filtrage du matcher. Le `transcript_path` est la transcription de la session principale, tandis que `agent_transcript_path` est la propre transcription du sous-agent stockée dans un dossier `subagents/` imbriqué. Le champ `last_assistant_message` contient le contenu textuel de la réponse finale du sous-agent, donc les hooks peuvent y accéder sans analyser le fichier de transcription.

2568 2573 

2569Pas chaque événement SubagentStop provient d'un sous-agent que Claude a créé. Claude Code exécute également des agents internes pour certaines de ses propres fonctionnalités, comme les [suggestions d'invite](/docs/fr/interactive-mode#prompt-suggestions) et les [questions latérales `/btw`](/docs/fr/interactive-mode#side-questions-with-%2Fbtw), et SubagentStop se déclenche quand l'un de ceux-ci se termine aussi. Pour ces événements, `agent_type` est le nom de l'agent que la session elle-même exécute, comme celui défini avec [`--agent`](/docs/fr/cli-reference#cli-flags) ou le paramètre [`agent`](/docs/fr/settings-reference#agent), et une chaîne vide quand la session s'exécute sans un.2574Pas chaque événement SubagentStop provient d'un sous-agent que Claude a créé. Claude Code exécute également des agents internes pour certaines de ses propres fonctionnalités, comme les [suggestions d'invite](/docs/fr/interactive-mode#prompt-suggestions) et les [questions latérales `/btw`](/docs/fr/interactive-mode#side-questions-with-%2Fbtw), et SubagentStop se déclenche quand l'un d'eux se termine aussi. Pour ces événements, `agent_type` est le nom de l'agent que la session elle-même exécute, comme celui défini avec [`--agent`](/docs/fr/cli-reference#cli-flags) ou le paramètre [`agent`](/docs/fr/settings-reference#agent), et une chaîne vide quand la session s'exécute sans un.

2570 2575 

2571Un `matcher` qui nomme les types d'agent ne correspond pas à un `agent_type` vide. Un hook dont le matcher est omis, `""`, ou `"*"`, ou est une expression régulière qui correspond à une chaîne vide, s'exécute pour les événements avec un `agent_type` vide aussi.2576Un `matcher` qui nomme les types d'agent ne correspond pas à un `agent_type` vide. Un hook dont le matcher est omis, `""`, ou `"*"`, ou est une expression régulière qui correspond à une chaîne vide, s'exécute pour les événements avec un `agent_type` vide aussi.

2572 2577 

2573Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference) livre son rapport via cet outil avant qu'il ne s'arrête. Le champ `last_assistant_message` contient alors le texte de fermeture du sous-agent, le cas échéant, qui n'est pas le rapport livré. Le rapport est l'entrée `message` de cet appel, qu'un hook `PreToolUse` ou `PostToolUse` correspondant à `SubagentHandback` reçoit comme `tool_input.message`.2578Sur Claude Code v2.1.271 ou ultérieur, un sous-agent qui s'exécute avec l'outil [`SubagentHandback`](/docs/fr/tools-reference) livre son rapport via cet outil avant qu'il ne s'arrête. Le champ `last_assistant_message` contient alors le texte de fermeture du sous-agent, le cas échéant, qui n'est pas le rapport livré. Le rapport est l'entrée `message` de cet appel, qu'un hook `PreToolUse` ou `PostToolUse` correspondant à `SubagentHandback` reçoit comme `tool_input.message`.

2574 2579 

2575Les hooks SubagentStop reçoivent également les tableaux `background_tasks` et `session_crons` décrits sous [Entrée Stop](#stop-input). Les deux tableaux sont scoped à la session parent, pas au sous-agent.2580Les hooks SubagentStop reçoivent également les tableaux `background_tasks` et `session_crons` décrits sous [Entrée Stop](#stop-input). Les deux tableaux sont délimités à la session parent, pas au sous-agent.

2576 2581 

2577```json theme={null}2582```json theme={null}

2578{2583{


2657 TaskCompleted2662 TaskCompleted

2658</h3>2663</h3>

2659 2664 

2660S'exécute quand une tâche est en cours de marquage comme complétée. Cela se déclenche dans deux situations : quand n'importe quel agent mar explicitement une tâche comme complétée via l'outil TaskUpdate, ou quand un coéquipier d'[équipe agent](/docs/fr/agent-teams) termine son tour avec des tâches en cours. Utilisez ceci pour appliquer les critères de complétion comme passer les tests ou les vérifications lint avant qu'une tâche puisse se fermer.2665S'exécute quand une tâche est en cours de marquage comme complétée. Cela se déclenche dans deux situations : quand n'importe quel agent marque explicitement une tâche comme complétée via l'outil TaskUpdate, ou quand un coéquipier d'[équipe d'agents](/docs/fr/agent-teams) termine son tour avec des tâches en cours. Utilisez ceci pour appliquer les critères de complétion comme passer les tests ou les vérifications de lint avant qu'une tâche puisse se fermer.

2661 2666 

2662Les hooks TaskCompleted ne supportent pas les matchers et se déclenchent à chaque occurrence.2667Les hooks TaskCompleted ne supportent pas les matchers et se déclenchent à chaque occurrence.

2663 2668 


2722S'exécute quand l'agent Claude Code principal a fini de répondre. Ne s'exécute pas si l'arrêt s'est produit en raison d'une interruption utilisateur. Les erreurs API déclenchent plutôt [StopFailure](#stopfailure).2727S'exécute quand l'agent Claude Code principal a fini de répondre. Ne s'exécute pas si l'arrêt s'est produit en raison d'une interruption utilisateur. Les erreurs API déclenchent plutôt [StopFailure](#stopfailure).

2723 2728 

2724<Tip>2729<Tip>

2725 La commande [`/goal`](/docs/fr/goal) est un raccourci intégré pour un hook Stop basé sur les invites scoped à la session. Utilisez-le quand vous voulez que Claude continue à travailler vers une condition sans écrire la configuration du hook.2730 La commande [`/goal`](/docs/fr/goal) est un raccourci intégré pour un hook Stop basé sur les invites délimité à la session. Utilisez-le quand vous voulez que Claude continue à travailler vers une condition sans écrire la configuration du hook.

2726</Tip>2731</Tip>

2727 2732 

2728<h4 id="stop-input">2733<h4 id="stop-input">


2731 2736 

2732En plus des [champs d'entrée communs](#common-input-fields), les hooks Stop reçoivent `stop_hook_active`, `last_assistant_message`, `background_tasks`, et `session_crons`. Le champ `stop_hook_active` est `true` quand Claude Code continue déjà en raison d'un hook stop. Vérifiez cette valeur ou traitez la transcription pour éviter de bloquer sur une condition qui ne se résoudra jamais. Claude Code applique un plafond de 8 continuations consécutives : après que les hooks stop aient continué le tour huit fois de suite, Claude Code remplace le bloc suivant et termine le tour. Pour augmenter le plafond, définissez [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/fr/env-vars).2737En plus des [champs d'entrée communs](#common-input-fields), les hooks Stop reçoivent `stop_hook_active`, `last_assistant_message`, `background_tasks`, et `session_crons`. Le champ `stop_hook_active` est `true` quand Claude Code continue déjà en raison d'un hook stop. Vérifiez cette valeur ou traitez la transcription pour éviter de bloquer sur une condition qui ne se résoudra jamais. Claude Code applique un plafond de 8 continuations consécutives : après que les hooks stop aient continué le tour huit fois de suite, Claude Code remplace le bloc suivant et termine le tour. Pour augmenter le plafond, définissez [`CLAUDE_CODE_STOP_HOOK_BLOCK_CAP`](/docs/fr/env-vars).

2733 2738 

2734Le champ `last_assistant_message` contient le contenu textuel de la réponse finale de Claude, donc les hooks peuvent y accéder sans analyser le fichier de transcription. Pour les hooks qui agissent sur le tour qui vient de se terminer, comme les hooks de lecture à haute voix ou de notification, utilisez ce champ plutôt que de lire `transcript_path` : le fichier de transcription n'est pas garanti d'inclure le message final au moment de Stop sur toutes les versions.2739Le champ `last_assistant_message` contient le contenu textuel de la réponse finale de Claude, donc les hooks peuvent y accéder sans analyser le fichier de transcription. Pour les hooks qui agissent sur le tour qui vient de se terminer, comme les hooks de lecture à haute voix ou de notification, utilisez ce champ plutôt que de lire `transcript_path` : le fichier de transcription n'est pas garanti d'inclure le message final au moment du Stop sur toutes les versions.

2735 2740 

2736Les tableaux `background_tasks` et `session_crons` permettent aux hooks de distinguer « la session est terminée » de « la session est mise en pause en attente que le travail en arrière-plan la réveille ». Les deux tableaux sont présents quand le registre de tâches est accessible et sont vides quand rien n'est en vol ou programmé.2741Les tableaux `background_tasks` et `session_crons` permettent aux hooks de distinguer « la session est terminée » de « la session est en pause en attente que le travail en arrière-plan la réveille ». Les deux tableaux sont présents quand le registre de tâches est accessible et sont vides quand rien n'est en vol ou programmé.

2737 2742 

2738Chaque entrée dans `background_tasks` décrit une tâche en vol et utilise ces champs :2743Chaque entrée dans `background_tasks` décrit une tâche en vol et utilise ces champs :

2739 2744 


2742| `id` | Identifiant de tâche |2747| `id` | Identifiant de tâche |

2743| `type` | Étiquette de type de tâche conviviale comme `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, ou `MCP task`. Chaque étiquette identifie quelle fonctionnalité Claude Code a créé la tâche. Revient au discriminant brut pour les types non reconnus |2748| `type` | Étiquette de type de tâche conviviale comme `shell`, `subagent`, `monitor`, `workflow`, `teammate`, `cloud session`, ou `MCP task`. Chaque étiquette identifie quelle fonctionnalité Claude Code a créé la tâche. Revient au discriminant brut pour les types non reconnus |

2744| `status` | Statut de tâche actuel |2749| `status` | Statut de tâche actuel |

2745| `description` | Description en texte libre, plafonnée à 1 000 caractères avec un marqueur `… [+N chars]` en chaîne quand clippée |2750| `description` | Description en texte libre, plafonnée à 1000 caractères avec un marqueur `… [+N chars]` en chaîne quand coupée |

2746| `command` | Ligne de commande shell, plafonnée à 1 000 caractères. Présent uniquement pour les tâches `shell` |2751| `command` | Ligne de commande shell, plafonnée à 1000 caractères. Présente uniquement pour les tâches `shell` |

2747| `agent_type` | Nom de type de sous-agent. Présent uniquement pour les tâches `subagent` |2752| `agent_type` | Nom de type de sous-agent. Présent uniquement pour les tâches `subagent` |

2748| `server` | Nom du serveur MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |2753| `server` | Nom du serveur MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |

2749| `tool` | Nom de l'outil MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |2754| `tool` | Nom de l'outil MCP. Présent uniquement pour les tâches `monitor` et `MCP task` |

2750| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |2755| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |

2751 2756 

2752Chaque entrée dans `session_crons` décrit un réveil programmé scoped à la session, provenant de `CronCreate`, `ScheduleWakeup`, et `/loop` :2757Chaque entrée dans `session_crons` décrit un réveil programmé délimité à la session, provenant de `CronCreate`, `ScheduleWakeup`, et `/loop` :

2753 2758 

2754| Champ | Description |2759| Champ | Description |

2755| :- | :- |2760| :- | :- |

2756| `id` | Identifiant de tâche cron |2761| `id` | Identifiant de tâche cron |

2757| `schedule` | Expression cron, par exemple `0 9 * * 1-5` |2762| `schedule` | Expression cron, par exemple `0 9 * * 1-5` |

2758| `recurring` | `false` pour les réveils ponctuels dont le calendrier encode un seul temps de déclenchement, `true` pour les tâches qui se redéclenchent à chaque correspondance |2763| `recurring` | `false` pour les réveils ponctuels dont l'horaire encode un seul moment de déclenchement, `true` pour les tâches qui se redéclenchent à chaque correspondance |

2759| `prompt` | Invite soumise quand le cron se déclenche, plafonnée à 1 000 caractères avec le même marqueur `… [+N chars]` |2764| `prompt` | Invite soumise quand le cron se déclenche, plafonnée à 1000 caractères avec le même marqueur `… [+N chars]` |

2760 2765 

2761Cet exemple montre une entrée Stop avec une tâche shell en vol et un cron récurrent :2766Cet exemple montre une entrée Stop avec une tâche shell en vol et un cron récurrent :

2762 2767 


2810}2815}

2811```2816```

2812 2817 

2813Utilisez `additionalContext` quand le hook fonctionne comme prévu et donne des conseils à Claude, comme « exécutez la suite de tests avant de terminer ». Cela garde la conversation en cours via les mêmes protections de boucle que `decision: "block"`, à savoir l'entrée `stop_hook_active` et le plafond de 8 continuations consécutives, mais la transcription l'étiquette `Stop hook feedback` et aucune notification d'erreur de hook n'est montrée :2818Utilisez `additionalContext` quand le hook fonctionne comme prévu et donne des conseils à Claude, comme « exécutez la suite de tests avant de terminer ». Cela garde la conversation en cours à travers les mêmes protections de boucle que `decision: "block"`, à savoir l'entrée `stop_hook_active` et le plafond de 8 continuations consécutives, mais la transcription l'étiquette `Stop hook feedback` et aucune notification d'erreur de hook n'est montrée :

2814 2819 

2815```json theme={null}2820```json theme={null}

2816{2821{


2825 StopFailure2830 StopFailure

2826</h3>2831</h3>

2827 2832 

2828S'exécute à la place de [Stop](#stop) quand le tour se termine en raison d'une erreur API. Claude Code ignore la sortie et le code de sortie du hook, à part [`terminalSequence`](#emit-terminal-notifications). Utilisez ceci pour enregistrer les échecs, envoyer des alertes, ou prendre des actions de récupération quand Claude ne peut pas terminer une réponse en raison des limites de débit, des problèmes d'authentification, ou d'autres erreurs API.2833S'exécute à la place de [Stop](#stop) quand le tour se termine en raison d'une erreur API. Claude Code ignore la sortie du hook et le code de sortie, à part [`terminalSequence`](#emit-terminal-notifications). Utilisez ceci pour enregistrer les échecs, envoyer des alertes, ou prendre des actions de récupération quand Claude ne peut pas terminer une réponse en raison des limites de débit, des problèmes d'authentification, ou d'autres erreurs API.

2829 2834 

2830<h4 id="stopfailure-input">2835<h4 id="stopfailure-input">

2831 Entrée StopFailure2836 Entrée StopFailure


2857 TeammateIdle2862 TeammateIdle

2858</h3>2863</h3>

2859 2864 

2860S'exécute quand un coéquipier d'[équipe agent](/docs/fr/agent-teams) est sur le point de devenir inactif après avoir terminé son tour. Utilisez ceci pour appliquer les portes de qualité avant qu'un coéquipier arrête de travailler, comme exiger que les vérifications lint passent ou vérifier que les fichiers de sortie existent.2865S'exécute quand un coéquipier d'[équipe d'agents](/docs/fr/agent-teams) est sur le point de devenir inactif après avoir terminé son tour. Utilisez ceci pour appliquer les portes de qualité avant qu'un coéquipier arrête de travailler, comme exiger que les vérifications de lint passent ou vérifier que les fichiers de sortie existent.

2861 2866 

2862Les hooks TeammateIdle ne supportent pas les matchers et se déclenchent à chaque occurrence.2867Les hooks TeammateIdle ne supportent pas les matchers et se déclenchent à chaque occurrence.

2863 2868 


2979}2984}

2980```2985```

2981 2986 

2982Les changements `policy_settings` ne peuvent pas être bloqués. Les hooks se déclenchent toujours pour les sources `policy_settings` quand un fichier de paramètres gérés sur la machine change, pour que vous puissiez enregistrer ces édits, mais toute décision de blocage est ignorée. Cela garantit que les paramètres gérés par l'entreprise prennent toujours effet. Claude Code n'exécute pas les hooks ConfigChange quand les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) arrivent ou se rafraîchissent.2987Les changements `policy_settings` ne peuvent pas être bloqués. Les hooks se déclenchent toujours pour les sources `policy_settings` quand un fichier de paramètres gérés sur la machine change, pour que vous puissiez enregistrer ces édits, mais toute décision de blocage est ignorée. Cela garantit que les paramètres gérés par l'entreprise prennent toujours effet. Claude Code n'exécute pas les hooks `ConfigChange` quand les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) arrivent ou se rafraîchissent.

2983 2988 

2984Claude Code agit sur la décision de blocage de la sortie JSON d'un hook ConfigChange et rejette `systemMessage` et `continue`. Un changement bloqué ne surface aucun message pour vous ou Claude, que vous bloquez avec `reason` ou avec stderr en quittant 2. Claude Code écrit uniquement une ligne au journal de débogage.2989Claude Code agit sur la décision de blocage de la sortie JSON d'un hook ConfigChange et rejette `systemMessage` et `continue`. Un changement bloqué ne surface aucun message à vous ou à Claude, que vous bloquez avec `reason` ou avec stderr en quittant 2. Claude Code écrit uniquement une ligne au journal de débogage.

2985 2990 

2986<h3 id="cwdchanged">2991<h3 id="cwdchanged">

2987 CwdChanged2992 CwdChanged


3018 3023 

3019| Champ | Description |3024| Champ | Description |

3020| :- | :- |3025| :- | :- |

3021| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins de votre configuration `matcher` sont toujours surveillés. Retourner un tableau vide efface la liste dynamique, ce qui est typique quand vous entrez un nouveau répertoire |3026| `watchPaths` | Tableau de chemins absolus. Remplace la liste de surveillance dynamique actuelle. Les chemins de votre configuration `matcher` sont toujours surveillés. Retourner un tableau vide efface la liste dynamique, ce qui est typique quand vous entrez dans un nouveau répertoire |

3022 3027 

3023Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.3028Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.

3024 3029 


3028 DirectoryAdded3033 DirectoryAdded

3029</h3>3034</h3>

3030 3035 

3031S'exécute après que vous ajoutiez un répertoire de travail en cours de session avec la commande `/add-dir`, ou après qu'un client SDK en ajoute un avec la demande de contrôle `register_repo_root`. Utilisez ceci pour préparer un référentiel nouvellement ajouté, par exemple en installant ses dépendances.3036S'exécute après que vous ajoutiez un répertoire de travail en cours de session avec la commande `/add-dir`, ou après qu'un client SDK en ajoute un avec la requête de contrôle `register_repo_root`. Utilisez ceci pour préparer un référentiel nouvellement ajouté, par exemple en installant ses dépendances.

3032 3037 

3033Claude Code ne déclenche pas cet événement quand :3038Claude Code ne déclenche pas cet événement quand :

3034 3039 


3036* Vous ajoutez un répertoire sur l'onglet Workspace `/permissions`3041* Vous ajoutez un répertoire sur l'onglet Workspace `/permissions`

3037* Vous ajoutez un répertoire qui est déjà un répertoire de travail ou à l'intérieur d'un3042* Vous ajoutez un répertoire qui est déjà un répertoire de travail ou à l'intérieur d'un

3038 3043 

3039Claude Code se déclenche après avoir rafraîchi l'état du sandbox et de la permission, donc les outils en sandbox voient déjà le nouveau répertoire quand votre hook s'exécute. Les commandes du hook elles-mêmes s'exécutent sans sandbox.3044Claude Code se déclenche DirectoryAdded après avoir rafraîchi l'état du sandbox et de la permission, donc les outils en sandbox voient déjà le nouveau répertoire quand votre hook s'exécute. Les commandes du hook elles-mêmes s'exécutent sans sandbox.

3040 3045 

3041Claude Code n'attend pas le hook : l'ajout se termine immédiatement, et le hook s'exécute en arrière-plan avec le délai d'expiration par défaut de 600 secondes.3046Claude Code n'attend pas le hook : l'ajout se termine immédiatement, et le hook s'exécute en arrière-plan avec le délai d'expiration par défaut de 600 secondes.

3042 3047 


3045| Matcher | Quand il se déclenche |3050| Matcher | Quand il se déclenche |

3046| :- | :- |3051| :- | :- |

3047| `slash_command` | Vous ajoutez un répertoire avec `/add-dir` |3052| `slash_command` | Vous ajoutez un répertoire avec `/add-dir` |

3048| `register_repo_root` | Un client SDK ajoute un répertoire avec la demande de contrôle `register_repo_root` |3053| `register_repo_root` | Un client SDK ajoute un répertoire avec la requête de contrôle `register_repo_root` |

3049 3054 

3050<h4 id="directoryadded-input">3055<h4 id="directoryadded-input">

3051 Entrée DirectoryAdded3056 Entrée DirectoryAdded


3056| Champ | Description |3061| Champ | Description |

3057| :- | :- |3062| :- | :- |

3058| `directory` | Chemin absolu du répertoire qui a été ajouté |3063| `directory` | Chemin absolu du répertoire qui a été ajouté |

3059| `source` | Comment le répertoire a été ajouté, `"slash_command"` pour `/add-dir` ou `"register_repo_root"` pour la demande de contrôle SDK |3064| `source` | Comment le répertoire a été ajouté, `"slash_command"` pour `/add-dir` ou `"register_repo_root"` pour la requête de contrôle SDK |

3060 3065 

3061```json theme={null}3066```json theme={null}

3062{3067{


3085* **Construire la liste de surveillance** : la valeur est divisée sur `|` et chaque segment est enregistré comme un nom de fichier littéral dans le répertoire de travail, donc `".envrc|.env"` surveille exactement ces deux fichiers. Les modèles regex ne sont pas utiles ici : une valeur comme `^\.env` surveillerait un fichier littéralement nommé `^\.env`.3090* **Construire la liste de surveillance** : la valeur est divisée sur `|` et chaque segment est enregistré comme un nom de fichier littéral dans le répertoire de travail, donc `".envrc|.env"` surveille exactement ces deux fichiers. Les modèles regex ne sont pas utiles ici : une valeur comme `^\.env` surveillerait un fichier littéralement nommé `^\.env`.

3086* **Filtrer quels hooks s'exécutent** : quand un fichier surveillé change, la même valeur filtre quels groupes de hook s'exécutent en utilisant les [règles de matcher](#matcher-patterns) standard contre le nom de base du fichier modifié.3091* **Filtrer quels hooks s'exécutent** : quand un fichier surveillé change, la même valeur filtre quels groupes de hook s'exécutent en utilisant les [règles de matcher](#matcher-patterns) standard contre le nom de base du fichier modifié.

3087 3092 

3088Cet exemple normalise les fins de ligne dans `data.csv` après n'importe quel changement, y compris une commande `Bash` ou un script externe réécrivant le fichier :3093Cet exemple normalise les fins de ligne dans `data.csv` après n'importe quel changement, y compris un appel d'outil `Bash` ou un script externe réécrivant le fichier :

3089 3094 

3090```json theme={null}3095```json theme={null}

3091{3096{


3105}3110}

3106```3111```

3107 3112 

3108Le hook lit le chemin absolu du fichier modifié depuis le champ `file_path` de l'[entrée JSON](#filechanged-input) sur stdin. Sa garde `grep` teste pour la même chose que `perl` supprime, un CR à la fin d'une ligne, donc l'exécution après une normalisation quitte sans toucher le fichier. Une garde plus lâche boucle pour toujours, parce que `perl -i` réécrit le fichier même quand il ne substitue rien et Claude Code exécute le hook à nouveau après chaque réécriture. Enregistrez ce script à `/path/to/normalize-line-endings.sh` et rendez-le exécutable :3113Le hook lit le chemin absolu du fichier modifié du champ `file_path` de l'[entrée JSON](#filechanged-input) sur stdin. Sa garde `grep` teste la même chose que `perl` supprime, un CR à la fin d'une ligne, donc l'exécution après une normalisation quitte sans toucher le fichier. Une garde plus lâche boucle pour toujours, parce que `perl -i` réécrit le fichier même quand il ne substitue rien et Claude Code exécute le hook à nouveau après chaque réécriture. Enregistrez ce script à `/path/to/normalize-line-endings.sh` et rendez-le exécutable :

3109 3114 

3110```bash theme={null}3115```bash theme={null}

3111#!/bin/bash3116#!/bin/bash


3117 3122 

3118Pour confirmer que le hook fonctionne, demandez à Claude d'ajouter une ligne CRLF à `data.csv` avec une commande `Bash`. Claude Code exécute le hook et le fichier se termine avec les fins de ligne LF.3123Pour confirmer que le hook fonctionne, demandez à Claude d'ajouter une ligne CRLF à `data.csv` avec une commande `Bash`. Claude Code exécute le hook et le fichier se termine avec les fins de ligne LF.

3119 3124 

3120Pour surveiller les fichiers que vous ne pouvez pas nommer à l'avance, retournez [`watchPaths`](#filechanged-output) d'un hook pour mettre à jour la liste de surveillance dynamiquement. Claude Code démarre l'observateur uniquement quand quelque chose nomme un fichier à surveiller, donc semez la liste avec un groupe FileChanged dont le matcher nomme au moins un fichier, ou avec un hook [SessionStart](#sessionstart-decision-control) ou [CwdChanged](#cwdchanged) qui retourne `watchPaths`. Le matcher filtre toujours quels groupes de hook s'exécutent quand un fichier surveillé change, donc donnez au groupe qui gère les chemins dynamiques un matcher omis, qui correspond à chaque fichier surveillé et n'ajoute rien à la liste de surveillance. Un matcher `"*"` correspond également à chaque fichier, mais Claude Code l'enregistre dans la liste de surveillance comme n'importe quelle autre valeur, comme un fichier littéralement nommé `*`.3125Pour surveiller les fichiers que vous ne pouvez pas nommer à l'avance, retournez [`watchPaths`](#filechanged-output) d'un hook pour mettre à jour la liste de surveillance dynamiquement. Claude Code démarre l'observateur uniquement quand quelque chose nomme un fichier à surveiller, donc semez la liste avec un groupe FileChanged dont le matcher nomme au moins un fichier, ou avec un hook [SessionStart](#sessionstart-decision-control) ou [CwdChanged](#cwdchanged) qui retourne `watchPaths`. Le matcher filtre toujours quels groupes de hook s'exécutent quand un fichier surveillé change, donc donnez au groupe qui gère les chemins dynamiques un matcher omis, qui correspond à chaque fichier surveillé et n'ajoute rien à la liste de surveillance. Un matcher `"*"` correspond également à chaque fichier, mais Claude Code l'enregistre dans la liste de surveillance comme un fichier littéral nommé `*`.

3121 3126 

3122Les hooks FileChanged ont accès à [`CLAUDE_ENV_FILE`](#persist-environment-variables). Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes jusqu'au prochain événement [CwdChanged](#cwdchanged), quand Claude Code les efface.3127Les hooks FileChanged ont accès à [`CLAUDE_ENV_FILE`](#persist-environment-variables). Les variables écrites dans ce fichier persistent dans les commandes Bash suivantes jusqu'au prochain événement [CwdChanged](#cwdchanged), quand Claude Code les efface.

3123 3128 


3229 3234 

3230* vous quittez une session `--worktree` et choisissez de la supprimer3235* vous quittez une session `--worktree` et choisissez de la supprimer

3231* un sous-agent avec `isolation: "worktree"` se termine3236* un sous-agent avec `isolation: "worktree"` se termine

3232* vous supprimez une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) dont le worktree a été créé par le hook3237* vous supprimez une [session en arrière-plan](/docs/fr/agent-view#what-deleting-a-session-removes) dont le worktree le hook a créé

3233 3238 

3234Pour les worktrees basés sur git, Claude Code gère le nettoyage automatiquement avec `git worktree remove`. Si vous avez configuré un hook WorktreeCreate, associez-le à un hook WorktreeRemove pour contrôler le nettoyage des worktrees qu'il crée :3239Pour les worktrees basés sur git, Claude Code gère le nettoyage automatiquement avec `git worktree remove`. Si vous avez configuré un hook WorktreeCreate, associez-le à un hook WorktreeRemove pour contrôler le nettoyage des worktrees qu'il crée :

3235 3240 


3298 3303 

3299Quittez avec le code 2 pour bloquer la compaction. Pour un `/compact` manuel, le message stderr est montré à l'utilisateur. Vous pouvez également bloquer en retournant JSON avec `"decision": "block"`.3304Quittez avec le code 2 pour bloquer la compaction. Pour un `/compact` manuel, le message stderr est montré à l'utilisateur. Vous pouvez également bloquer en retournant JSON avec `"decision": "block"`.

3300 3305 

3301Bloquer la compaction automatique a des effets différents selon quand elle se déclenche. Si la compaction a été déclenchée de manière proactive avant la limite de contexte, Claude Code la saute et la conversation continue sans compaction. Si la compaction a été déclenchée pour récupérer d'une erreur de limite de contexte déjà retourné par l'API, l'erreur sous-jacente surface et la demande actuelle échoue.3306Bloquer la compaction automatique a des effets différents selon quand elle se déclenche. Si la compaction a été déclenchée de manière proactive avant la limite de contexte, Claude Code la saute et la conversation continue sans compaction. Si la compaction a été déclenchée pour récupérer d'une erreur de limite de contexte déjà retourné par l'API, l'erreur sous-jacente surface et la requête actuelle échoue.

3302 3307 

3303Claude Code rejette les champs `systemMessage` et `continue` d'un hook PreCompact.3308Claude Code rejette les champs `systemMessage` et `continue` d'un hook PreCompact.

3304 3309 


3349}3354}

3350```3355```

3351 3356 

3352Les hooks PostCompact n'ont pas de contrôle de décision. Ils ne peuvent pas affecter le résultat de compaction mais peuvent effectuer les tâches de suivi.3357Les hooks PostCompact n'ont pas de contrôle de décision. Ils ne peuvent pas affecter le résultat de la compaction mais peuvent effectuer les tâches de suivi.

3353 3358 

3354<h3 id="premodelswitch">3359<h3 id="premodelswitch">

3355 PreModelSwitch3360 PreModelSwitch

3356</h3>3361</h3>

3357 3362 

3358S'exécute avant que Claude Code applique un changement de modèle que vous ou un client avez demandé. Utilisez-le pour bloquer un changement, exiger une confirmation, ou montrer quel coût le changement aura avant qu'il se produise.3363S'exécute avant que Claude Code applique un changement de modèle que vous ou un client avez demandé. Utilisez-le pour bloquer un changement, exiger une confirmation, ou montrer quel changement coûtera avant qu'il se produise.

3359 3364 

3360PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour ces demandes :3365PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour ces requêtes :

3361 3366 

3362* `/model <name>` et le sélecteur `/model`3367* `/model <name>` et le sélecteur `/model`

3363* Le sélecteur de modèle `Option+P` ou `Alt+P`3368* Le sélecteur de modèle `Option+P` ou `Alt+P`

3364* Le paramètre Model dans `/config`3369* Le paramètre Model dans `/config`

3365* Activer le [mode rapide](/docs/fr/fast-mode) quand cela change le modèle de la session3370* Activer le [mode rapide](/docs/fr/fast-mode) quand cela change le modèle de la session

3366* Une demande `set_model`, ou un changement de modèle dans une demande `apply_flag_settings`, d'un hôte [Agent SDK](/docs/fr/agent-sdk/typescript#query-object) ou [Remote Control](/docs/fr/remote-control)3371* Une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, d'un hôte [Agent SDK](/docs/fr/agent-sdk/typescript#query-object) ou [Remote Control](/docs/fr/remote-control)

3367 3372 

3368Claude Code n'exécute pas les hooks PreModelSwitch pour les changements qu'il fait seul, comme un [fallback de modèle automatique](/docs/fr/model-config#automatic-model-fallback) ou la restauration du modèle quand vous reprenez une session. Ces changements atteignent [PostModelSwitch](#postmodelswitch) uniquement.3373Claude Code n'exécute pas les hooks PreModelSwitch pour les changements qu'il fait seul, comme un [fallback de modèle automatique](/docs/fr/model-config#automatic-model-fallback) ou la restauration du modèle quand vous reprenez une session. Ces changements atteignent [PostModelSwitch](#postmodelswitch) uniquement.

3369 3374 

3370Claude Code compare le matcher contre le nom canonique du modèle vers lequel la session bascule, en ignorant tout suffixe `[1m]`. Un alias comme `opus`, un ID de modèle daté, et un ID spécifique au fournisseur comme un ID de modèle Amazon Bedrock correspondent tous au nom canonique unique auquel ils se résolvent, donc `claude-opus-5` couvre chaque orthographe d'Opus 5.3375Claude Code compare le matcher contre le nom canonique du modèle vers lequel la session change, en ignorant tout suffixe `[1m]`. Un alias comme `opus`, un ID de modèle daté, et un ID spécifique au fournisseur comme un ID de modèle Amazon Bedrock correspondent tous au nom canonique unique auquel ils se résolvent, donc `claude-opus-5` couvre chaque orthographe d'Opus 5.

3371 3376 

3372Quand Claude Code ne peut pas déterminer un nom canonique pour la cible, par exemple un ID de modèle personnalisé que seule votre [passerelle LLM](/docs/fr/llm-gateway) connaît, il exécute chaque hook PreModelSwitch indépendamment du matcher. Un hook qui bloque devrait donc vérifier `to_model` de son entrée plutôt que de compter uniquement sur le matcher.3377Quand Claude Code ne peut pas déterminer un nom canonique pour la cible, par exemple un ID de modèle personnalisé que seule votre [passerelle LLM](/docs/fr/llm-gateway) connaît, il exécute chaque hook PreModelSwitch indépendamment du matcher. Un hook qui bloque devrait donc vérifier `to_model` de son entrée plutôt que de compter uniquement sur le matcher.

3373 3378 


3443 Entrée PreModelSwitch3448 Entrée PreModelSwitch

3444</h4>3449</h4>

3445 3450 

3446En plus des [champs d'entrée communs](#common-input-fields), les hooks PreModelSwitch reçoivent les champs de ce tableau. Les cinq derniers décrivent quel coût a la renvoi de la conversation au nouveau modèle, donc un hook peut montrer ce chiffre avant que le changement se produise.3451En plus des [champs d'entrée communs](#common-input-fields), les hooks PreModelSwitch reçoivent les champs du tableau ci-dessous. Les cinq derniers décrivent quel changement de modèle coûte de renvoyer la conversation au nouveau modèle, donc un hook peut montrer ce chiffre avant que le changement se produise.

3447 3452 

3448| Champ | Type | Description |3453| Champ | Type | Description |

3449| :- | :- | :- |3454| :- | :- | :- |

3450| `from_model` | string | ID de modèle que le changement change de |3455| `from_model` | string | ID de modèle du changement |

3451| `to_model` | string | ID de modèle que le changement change vers. Le matcher compare contre le nom canonique de ce modèle |3456| `to_model` | string | ID de modèle du changement vers. Le matcher compare contre le nom canonique de ce modèle |

3452| `requested_model` | string ou `null` | Le modèle que la demande a nommé : un alias comme `opus`, un ID de modèle complet, ou `null` quand la demande était pour le modèle par défaut |3457| `requested_model` | string ou `null` | Le modèle que la requête a nommé : un alias comme `opus`, un ID de modèle complet, ou `null` quand la requête était pour le modèle par défaut |

3453| `source` | string | D'où provient la demande : `"command"` pour `/model <name>`, le paramètre Model dans `/config`, ou l'activation du mode rapide ; `"picker"` pour un sélecteur de modèle ; `"sdk"` pour une demande `set_model`, ou un changement de modèle dans une demande `apply_flag_settings`, d'un hôte Agent SDK ou Remote Control |3458| `source` | string | D'où provient la requête : `"command"` pour `/model <name>`, le paramètre Model dans `/config`, ou l'activation du mode rapide ; `"picker"` pour un sélecteur de modèle ; `"sdk"` pour une requête `set_model`, ou un changement de modèle dans une requête `apply_flag_settings`, d'un hôte Agent SDK ou Remote Control |

3454| `context_tokens` | number | Tokens que la demande suivante renvoie comme son invite : les tokens d'entrée, de lecture de cache, de création de cache, et de sortie de la dernière réponse dans la conversation principale, combinés. `0` avant la première réponse |3459| `context_tokens` | number | Tokens que la requête suivante renvoie comme son invite : les tokens d'entrée, de lecture de cache, de création de cache, et de sortie de la dernière réponse dans la conversation principale, combinés. `0` avant la première réponse |

3455| `prompt_cache_warm` | boolean | Si le cache d'invite du modèle actuel est probablement toujours chaud, ce qui signifie que le changement le perd |3460| `prompt_cache_warm` | boolean | Si le cache d'invite du modèle actuel est probablement toujours chaud, ce qui signifie que le changement le perd |

3456| `cache_ttl` | string | [Durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) que Claude Code demande pour cette session : `"5m"` ou `"1h"` |3461| `cache_ttl` | string | [Durée de vie du cache d'invite](/docs/fr/prompt-caching#cache-lifetime) que Claude Code demande pour cette session : `"5m"` ou `"1h"` |

3457| `estimated_cache_write_usd` | number | Coût estimé en dollars US de l'écriture de `context_tokens` dans le cache d'invite sur `to_model` au taux `cache_ttl`, excluant la réponse suivante. Le serveur n'a peut-être pas besoin de re-cacher le contexte entier, donc traitez-le comme une estimation |3462| `estimated_cache_write_usd` | number | Coût estimé en dollars US de l'écriture de `context_tokens` dans le cache d'invite sur `to_model` au taux `cache_ttl`, excluant la réponse suivante. Le serveur n'a peut-être pas besoin de re-cacher le contexte entier, donc traitez-le comme une estimation |


3487 3492 

3488| Champ | Description |3493| Champ | Description |

3489| :- | :- |3494| :- | :- |

3490| `permissionDecision` | `"allow"` procède et ignore la [confirmation que Claude Code montre pendant que le cache d'invite est chaud](/docs/fr/prompt-caching#switching-models). `"deny"` annule le changement. `"ask"` invite l'utilisateur à le confirmer |3495| `permissionDecision` | `"allow"` procède et ignore la [confirmation que Claude Code montre pendant que le cache d'invite est chaud](/docs/fr/prompt-caching#switching-models). `"deny"` annule le changement. `"ask"` demande à l'utilisateur de le confirmer |

3491| `permissionDecisionReason` | Pour `"deny"`, montré à l'utilisateur comme la raison du blocage du changement, ou retourné comme l'erreur pour une demande `set_model`. Pour `"ask"`, montré dans l'invite de confirmation. Ignoré pour `"allow"` |3496| `permissionDecisionReason` | Pour `"deny"`, montré à l'utilisateur comme la raison du blocage du changement, ou retourné comme l'erreur pour une requête `set_model`. Pour `"ask"`, montré dans l'invite de confirmation. Ignoré pour `"allow"` |

3492 3497 

3493Seul `/model` dans une session interactive peut montrer l'invite `"ask"`. Sur chaque autre surface, y compris le mode non-interactif avec le drapeau `-p`, `/config`, et les demandes `set_model`, Claude Code traite `"ask"` comme un refus.3498Seul `/model` dans une session interactive peut montrer l'invite `"ask"`. Sur chaque autre surface, y compris le mode non-interactif avec le drapeau `-p`, `/config`, et les requêtes `set_model`, Claude Code traite `"ask"` comme un refus.

3494 3499 

3495Cet exemple demande à l'utilisateur de confirmer et cite le nombre de tokens de `context_tokens` :3500Cet exemple demande à l'utilisateur de confirmer et cite le nombre de tokens de `context_tokens` :

3496 3501 


3506 3511 

3507Quand plusieurs hooks PreModelSwitch retournent des décisions différentes, la priorité est `deny` > `ask` > `allow`.3512Quand plusieurs hooks PreModelSwitch retournent des décisions différentes, la priorité est `deny` > `ask` > `allow`.

3508 3513 

3509Claude Code montre à l'utilisateur n'importe quel `systemMessage` que votre hook retourne indépendamment de la décision, donc un hook de rapport de coût peut retourner `{"systemMessage": "..."}` et quitter 0.3514Claude Code montre à l'utilisateur n'importe quel `systemMessage` que votre hook retourne indépendamment de la décision, donc un hook de rapport de coûts peut retourner `{"systemMessage": "..."}` et quitter 0.

3510 3515 

3511Un hook PreModelSwitch qui ne répond pas avant son délai d'expiration bloque le changement. Sur [PreToolUse](#timeouts), par contraste, un hook de commande qui expire laisse l'appel d'outil continuer. Le délai d'expiration par défaut pour cet événement est 30 secondes. `PreModelSwitch` exécute uniquement les hooks `command`, `http`, et `mcp_tool`, donc les défauts `prompt` et `agent` ne s'appliquent pas.3516Un hook PreModelSwitch qui ne répond pas avant son délai d'expiration bloque le changement. Sur [PreToolUse](#timeouts), par contraste, un hook de commande qui expire laisse l'appel d'outil continuer. Le délai d'expiration par défaut pour cet événement est 30 secondes. `PreModelSwitch` exécute uniquement les hooks `command`, `http`, et `mcp_tool`, donc les défauts `prompt` et `agent` ne s'appliquent pas.

3512 3517 


3527 3532 

3528Claude Code n'exécute pas les hooks PostModelSwitch quand un modèle d'une [chaîne de modèles de fallback](/docs/fr/model-config#fallback-model-chains) sert un tour, parce que cette substitution dure un tour et laisse le modèle de la session inchangé.3533Claude Code n'exécute pas les hooks PostModelSwitch quand un modèle d'une [chaîne de modèles de fallback](/docs/fr/model-config#fallback-model-chains) sert un tour, parce que cette substitution dure un tour et laisse le modèle de la session inchangé.

3529 3534 

3530Le matcher suit les mêmes règles que [PreModelSwitch](#premodelswitch) : Claude Code le compare contre le nom canonique du modèle vers lequel la session a basculé.3535Le matcher suit les mêmes règles que [PreModelSwitch](#premodelswitch) : Claude Code le compare contre le nom canonique du modèle vers lequel la session a changé.

3531 3536 

3532Cet exemple ajoute des conseils chaque fois que le modèle de la session change vers n'importe quel modèle Opus :3537Cet exemple ajoute des conseils chaque fois que le modèle de la session change vers n'importe quel modèle Opus :

3533 3538 


3549}3554}

3550```3555```

3551 3556 

3552Pour confirmer que le hook fonctionne, basculez vers un modèle Opus à partir d'une session exécutant un modèle différent, par exemple exécutez `/model opus` à partir d'une session Sonnet, puis demandez à Claude quels conseils il a sur le modèle actuel.3557Pour confirmer que le hook fonctionne, changez vers un modèle Opus à partir d'une session exécutant un modèle différent, par exemple exécutez `/model opus` à partir d'une session Sonnet, puis demandez à Claude quels conseils il a sur le modèle actuel.

3553 3558 

3554<h4 id="postmodelswitch-input">3559<h4 id="postmodelswitch-input">

3555 Entrée PostModelSwitch3560 Entrée PostModelSwitch


3563 Contrôle de décision PostModelSwitch3568 Contrôle de décision PostModelSwitch

3564</h4>3569</h4>

3565 3570 

3566Claude Code prend votre stdout brut du hook sur la sortie 0, ou `additionalContext` de la sortie JSON, et le livre à Claude avec la demande suivante après le changement. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner :3571Claude Code prend votre sortie standard brute du hook sur la sortie 0, ou `additionalContext` de la sortie JSON, et la livre à Claude avec la requête suivante après le changement. En plus des [champs de sortie JSON](#json-output) disponibles pour tous les hooks, vous pouvez retourner :

3567 3572 

3568| Champ | Description |3573| Champ | Description |

3569| :- | :- |3574| :- | :- |

3570| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la demande suivante. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |3575| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la requête suivante. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |

3571 3576 

3572Si le hook n'a pas terminé dans les cinq secondes après que vous envoyiez la demande suivante, Claude Code envoie cette demande sans la sortie et l'attache à la demande suivante à la place. Si le modèle change plusieurs fois avant la demande suivante, Claude Code livre uniquement la sortie pour le changement vers le modèle cible final.3577Si le hook n'a pas terminé dans les cinq secondes après que vous envoyiez la requête suivante, Claude Code envoie cette requête sans la sortie et l'attache à la requête suivante à la place. Si le modèle change plusieurs fois avant la requête suivante, Claude Code livre uniquement la sortie pour le modèle cible du dernier changement.

3573 3578 

3574<h3 id="sessionend">3579<h3 id="sessionend">

3575 SessionEnd3580 SessionEnd


3582| Raison | Description |3587| Raison | Description |

3583| :- | :- |3588| :- | :- |

3584| `clear` | Session effacée avec la commande `/clear` |3589| `clear` | Session effacée avec la commande `/clear` |

3585| `resume` | Session basculée via `/resume` interactif |3590| `resume` | Session changée via `/resume` interactif |

3586| `logout` | L'utilisateur s'est déconnecté |3591| `logout` | L'utilisateur s'est déconnecté |

3587| `prompt_input_exit` | L'utilisateur a quitté pendant que l'entrée d'invite était visible |3592| `prompt_input_exit` | L'utilisateur a quitté pendant que l'entrée d'invite était visible |

3588| `other` | Autres raisons de sortie |3593| `other` | Autres raisons de sortie |


3606 3611 

3607Les hooks SessionEnd n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer la terminaison de la session mais peuvent effectuer les tâches de nettoyage. Claude Code rejette leurs [champs de sortie JSON](#json-output), comme `systemMessage`.3612Les hooks SessionEnd n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer la terminaison de la session mais peuvent effectuer les tâches de nettoyage. Claude Code rejette leurs [champs de sortie JSON](#json-output), comme `systemMessage`.

3608 3613 

3609Les hooks SessionEnd ont un délai d'expiration par défaut de 1,5 secondes. Il s'applique quand vous quittez, exécutez `/clear`, ou basculez les sessions avec `/resume` interactif. Vous pouvez donner à un hook plus de temps de deux façons :3614Les hooks SessionEnd ont un délai d'expiration par défaut de 1,5 secondes. Il s'applique quand vous quittez, exécutez `/clear`, ou changez de sessions avec `/resume` interactif. Vous pouvez donner à un hook plus de temps de deux façons :

3610 3615 

3611* **`timeout` par hook** : définissez `timeout` dans la configuration de ce hook. Le budget global augmente automatiquement pour correspondre au `timeout` par hook le plus élevé dans vos fichiers de paramètres, jusqu'à 60 secondes. Si vous augmentez le budget de cette façon, un hook sans son propre `timeout` garde toujours le défaut. Les délais d'expiration définis sur les hooks fournis par plugin ne lèvent pas le budget.3616* **`timeout` par hook** : définissez `timeout` dans la configuration de ce hook. Le budget global augmente automatiquement pour correspondre au `timeout` par hook le plus élevé dans vos fichiers de paramètres, jusqu'à 60 secondes. Si vous augmentez le budget de cette façon, un hook sans son propre `timeout` garde toujours le défaut. Les délais d'expiration définis sur les hooks fournis par plugin ne lèvent pas le budget.

3612* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`** : définissez cette variable d'environnement en millisecondes pour remplacer le budget explicitement. La valeur que vous définissez devient également le délai d'expiration pour chaque hook sans son propre `timeout`.3617* **`CLAUDE_CODE_SESSIONEND_HOOKS_TIMEOUT_MS`** : définissez cette variable d'environnement en millisecondes pour remplacer le budget explicitement. La valeur que vous définissez devient également le délai d'expiration pour chaque hook sans son propre `timeout`.


3623 Elicitation3628 Elicitation

3624</h3>3629</h3>

3625 3630 

3626S'exécute quand un serveur MCP demande l'entrée utilisateur en cours de tâche. Par défaut, Claude Code montre un dialogue interactif pour que l'utilisateur réponde. Les hooks peuvent intercepter cette demande et répondre par programmation, ignorant entièrement le dialogue.3631S'exécute quand un serveur MCP demande l'entrée de l'utilisateur en cours de tâche. Par défaut, Claude Code montre un dialogue interactif pour que l'utilisateur réponde. Les hooks peuvent intercepter cette requête et répondre par programmation, ignorant entièrement le dialogue.

3627 3632 

3628Le champ matcher correspond au nom du serveur MCP.3633Le champ matcher correspond au nom du serveur MCP.

3629 3634 


3688 3693 

3689| Champ | Valeurs | Description |3694| Champ | Valeurs | Description |

3690| :- | :- | :- |3695| :- | :- | :- |

3691| `action` | `accept`, `decline`, `cancel` | Si vous acceptez, refusez, ou annulez la demande |3696| `action` | `accept`, `decline`, `cancel` | Si vous acceptez, refusez, ou annulez la requête |

3692| `content` | object | Valeurs des champs de formulaire à soumettre. Utilisé uniquement quand `action` est `accept` |3697| `content` | object | Valeurs des champs de formulaire à soumettre. Utilisé uniquement quand `action` est `accept` |

3693 3698 

3694Le code de sortie 2 refuse l'élicitation. Claude Code ne montre votre message stderr nulle part.3699Le code de sortie 2 refuse l'élicitation. Claude Code ne montre votre message stderr nulle part.

hooks-guide.md +1 −1

Details

196| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL de navigateur et vous n'avez pas tapé pendant environ six secondes |196| `elicitation_url_dialog` | Un serveur MCP vous demande d'ouvrir une URL de navigateur et vous n'avez pas tapé pendant environ six secondes |

197| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](/docs/fr/hooks#elicitation-input) est complète |197| `elicitation_complete` | Un serveur MCP signale qu'une [élicitation en mode URL](/docs/fr/hooks#elicitation-input) est complète |

198| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |198| `elicitation_response` | Une réponse d'élicitation MCP est renvoyée au serveur |

199| `agent_needs_input` | Une session en arrière-plan commence à attendre votre entrée tandis que la [vue agent](/docs/fr/agent-view) est ouverte, ou la session actuelle vous pose une [question de configuration de terminal d'un coéquipier d'équipe agent](/docs/fr/agent-teams#choose-a-display-mode) et vous n'avez pas tapé pendant environ six secondes |199| `agent_needs_input` | Une session en arrière-plan commence à attendre votre entrée tandis que la [vue agent](/docs/fr/agent-view) est ouverte. Se déclenche également lorsqu'une session de terminal vous pose une [question de configuration de terminal d'un coéquipier d'équipe agent](/docs/fr/agent-teams#choose-a-display-mode) ou l'avis du mode auto concernant les [frais de demande de classificateur](/docs/fr/auto-mode-classifier-billing) et vous n'avez pas tapé pendant environ six secondes |

200| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement lorsque la [vue agent](/docs/fr/agent-view) est ouverte |200| `agent_completed` | Une session en arrière-plan se termine ou échoue. Se déclenche uniquement lorsque la [vue agent](/docs/fr/agent-view) est ouverte |

201| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation claude.ai l'ait mise en pause : au réinitialisation, ou plus tôt lorsque quelque chose que vous faites dans Claude Code pendant l'attente, comme l'ajout de crédits d'utilisation, la mise à niveau de votre plan, ou le changement de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |201| `quota_auto_resume_fired` | Claude Code continue votre tâche après qu'une limite d'utilisation claude.ai l'ait mise en pause : au réinitialisation, ou plus tôt lorsque quelque chose que vous faites dans Claude Code pendant l'attente, comme l'ajout de crédits d'utilisation, la mise à niveau de votre plan, ou le changement de modèles, rend l'utilisation disponible à nouveau, avec l'[exception de paramètre de modèle](/docs/fr/interactive-mode#wait-for-a-usage-limit-to-reset) |

202| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai s'est réinitialisée tandis que votre ordinateur dormait pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Entrée` au lieu de continuer. Après un sommeil plus court, il continue et déclenche `quota_auto_resume_fired` à la place |202| `quota_auto_resume_stale` | Une limite d'utilisation claude.ai s'est réinitialisée tandis que votre ordinateur dormait pendant plus d'environ 30 minutes. Claude Code attend que vous appuyiez sur `Entrée` au lieu de continuer. Après un sommeil plus court, il continue et déclenche `quota_auto_resume_fired` à la place |

keybindings.md +92 −89

Details

77 Actions disponibles77 Actions disponibles

78</h2>78</h2>

79 79 

80Les actions suivent un format `namespace:action`, tel que `chat:submit` pour envoyer un message ou `app:toggleTodos` pour afficher la liste des tâches. Chaque contexte a des actions spécifiques disponibles.80Les actions suivent un format `namespace:action`, comme `chat:submit` pour envoyer un message ou `app:toggleTodos` pour afficher la liste des tâches. Chaque contexte dispose d'actions spécifiques.

81 81 

82<h3 id="app-actions">82<h3 id="app-actions">

83 Actions d'application83 Actions de l'application

84</h3>84</h3>

85 85 

86Actions disponibles dans le contexte `Global` :86Actions disponibles dans le contexte `Global` :


88| Action | Par défaut | Description |88| Action | Par défaut | Description |

89| :- | :- | :- |89| :- | :- | :- |

90| `app:interrupt` | Ctrl+C | Annuler l'opération en cours |90| `app:interrupt` | Ctrl+C | Annuler l'opération en cours |

91| `app:exit` | Ctrl+D | Quitter Claude Code. Appuyez deux fois en 800 ms pour confirmer |91| `app:exit` | Ctrl+D | Quitter Claude Code. Appuyez deux fois dans les 800 ms pour confirmer |

92| `app:redraw` | (non lié) | Forcer le redessinage du terminal |92| `app:redraw` | (non lié) | Forcer le redessin du terminal |

93| `app:toggleTodos` | Ctrl+T | Basculer la visibilité de la liste des tâches de Claude. Ce n'est pas la vue des tâches en arrière-plan [`/tasks`](/docs/fr/commands) |93| `app:toggleTodos` | Ctrl+T | Basculer la visibilité de la liste de contrôle des tâches de Claude. Ce n'est pas la vue des tâches de fond [`/tasks`](/docs/fr/commands) |

94| `app:toggleTranscript` | Ctrl+O | Basculer la transcription détaillée |94| `app:toggleTranscript` | Ctrl+O | Basculer la transcription détaillée |

95 95 

96<h3 id="history-actions">96<h3 id="history-actions">


113 113 

114| Action | Par défaut | Description |114| Action | Par défaut | Description |

115| :- | :- | :- |115| :- | :- | :- |

116| `chat:cancel` | Échappement | Annuler l'entrée actuelle |116| `chat:cancel` | Échap | Annuler l'entrée actuelle |

117| `chat:clearInput` | Ctrl+L | Forcer un redessinage complet de l'écran, en préservant l'entrée et la conversation |117| `chat:clearInput` | Ctrl+L | Forcer un redessin complet de l'écran, en préservant l'entrée et la conversation |

118| `chat:clearScreen` | Cmd+K | Identique à `chat:clearInput`. Voir [Effacer la conversation](/docs/fr/fullscreen#clear-the-conversation) pour savoir comment Cmd+K se comporte sur iTerm2 et Terminal.app |118| `chat:clearScreen` | Cmd+K | Identique à `chat:clearInput`. Voir [Effacer la conversation](/docs/fr/fullscreen#clear-the-conversation) pour savoir comment Cmd+K se comporte sur iTerm2 et Terminal.app |

119| `chat:killAgents` | Ctrl+X Ctrl+K | Arrêter tous les [sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) en cours d'exécution dans cette session et désactiver les [réponses automatiques aux artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) pour le reste de celle-ci |119| `chat:killAgents` | Ctrl+X Ctrl+K | Arrêter tous les [sous-agents d'arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) dans cette session et désactiver les [réponses automatiques d'artefacts](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own) pour le reste de celle-ci |

120| `chat:cycleMode` | Maj+Tab\* | Cycler les modes de permission |120| `chat:cycleMode` | Maj+Tab\* | Parcourir les modes de permission |

121| `chat:modelPicker` | Meta+P | Ouvrir le sélecteur de modèle |121| `chat:modelPicker` | Meta+P | Ouvrir le sélecteur de modèle |

122| `chat:fastMode` | Meta+O | Basculer le mode rapide |122| `chat:fastMode` | Meta+O | Basculer le mode rapide |

123| `chat:thinkingToggle` | Meta+T | Basculer la réflexion étendue |123| `chat:thinkingToggle` | Meta+T | Basculer la réflexion étendue |

124| `chat:submit` | Entrée | Soumettre le message |124| `chat:submit` | Entrée | Soumettre le message |

125| `chat:queueSubmit` | Ctrl+X Entrée | Soumettre le message, marqué pour attendre son tour : pendant que Claude travaille, Claude Code [le met en file d'attente](/docs/fr/interactive-mode#queue-messages-while-claude-works) et n'interrompt jamais le tour. Contrairement à `chat:submit`, il soumet le brouillon même si une suggestion d'autocomplétion est en surbrillance. Nécessite v2.1.247 ou ultérieure |125| `chat:queueSubmit` | Ctrl+X Entrée | Soumettre le message, marqué pour attendre son tour : pendant que Claude travaille, Claude Code [le met en file d'attente](/docs/fr/interactive-mode#queue-messages-while-claude-works) et n'interrompt jamais le tour. Contrairement à `chat:submit`, il soumet le brouillon même si une suggestion d'autocomplétion est mise en évidence. Nécessite v2.1.247 ou ultérieur |

126| `chat:sendNow` | Ctrl+Entrée, Ctrl+X Ctrl+S | Envoyer vos [messages en file d'attente](/docs/fr/interactive-mode#queue-messages-while-claude-works) et votre brouillon avec eux immédiatement. [Quand Claude Code envoie ce que vous avez mis en file d'attente](/docs/fr/interactive-mode#when-claude-code-sends-what-you-queued) couvre ce qui se passe au tour sur lequel Claude travaille. Quand rien ne s'exécute, la touche soumet le brouillon, et en [mode shell](/docs/fr/interactive-mode#shell-mode-with-prefix) elle met uniquement la commande en file d'attente. Les terminaux qui ne signalent pas les touches étendues livrent `Ctrl+Entrée` comme simple `Entrée`, donc `Ctrl+X Ctrl+S` est la liaison qui fonctionne dans n'importe quel terminal. Nécessite v2.1.275 ou ultérieure |126| `chat:sendNow` | Ctrl+Entrée, Ctrl+X Ctrl+S | Envoyer vos [messages en file d'attente](/docs/fr/interactive-mode#queue-messages-while-claude-works), et votre brouillon avec eux, immédiatement. [Quand Claude Code envoie ce que vous avez mis en file d'attente](/docs/fr/interactive-mode#when-claude-code-sends-what-you-queued) couvre ce qui se passe au tour sur lequel Claude travaille. Quand rien ne s'exécute, la touche soumet le brouillon, et en [mode shell](/docs/fr/interactive-mode#shell-mode-with-prefix) elle met uniquement la commande en file d'attente. Les terminaux qui ne signalent pas les touches étendues livrent `Ctrl+Entrée` comme simple `Entrée`, donc `Ctrl+X Ctrl+S` est la liaison qui fonctionne dans n'importe quel terminal. Nécessite v2.1.275 ou ultérieur |

127| `chat:newline` | Ctrl+J | Insérer une nouvelle ligne sans soumettre |127| `chat:newline` | Ctrl+J | Insérer une nouvelle ligne sans soumettre |

128| `chat:undo` | Ctrl+\_, Ctrl+Maj+- | Annuler la dernière action |128| `chat:undo` | Ctrl+\_, Ctrl+Maj+- | Annuler la dernière action |

129| `chat:externalEditor` | Ctrl+G, Ctrl+X Ctrl+E | Ouvrir dans un éditeur externe. La [saisie de dispatch de la vue agent](/docs/fr/agent-view#keyboard-shortcuts) suit également les liaisons à un seul trait de ce raccourci |129| `chat:externalEditor` | Ctrl+G, Ctrl+X Ctrl+E | Ouvrir dans un éditeur externe. La [saisie de la vue agent](/docs/fr/agent-view#keyboard-shortcuts) suit également les liaisons à une seule touche de cette action |

130| `chat:stash` | Ctrl+S | Mettre en cache l'invite actuelle |130| `chat:stash` | Ctrl+S | Mettre de côté l'invite actuelle |

131| `chat:imagePaste` | Ctrl+V (Alt+V sous Windows et WSL) | Coller une image depuis le presse-papiers. Sur WSL, les deux raccourcis sont liés par défaut |131| `chat:imagePaste` | Ctrl+V (Alt+V sur Windows et WSL) | Coller une image depuis le presse-papiers. Sur WSL, les deux raccourcis sont liés par défaut |

132 132 

133\*Sous Windows sans mode VT (Node \<24.2.0/\<22.17.0, Bun \<1.2.23), la valeur par défaut est Meta+M.133\*Sur Windows sans mode VT (Node \<24.2.0/\<22.17.0, Bun \<1.2.23), par défaut Meta+M.

134 134 

135<h3 id="autocomplete-actions">135<h3 id="autocomplete-actions">

136 Actions d'autocomplétion136 Actions d'autocomplétion


141| Action | Par défaut | Description |141| Action | Par défaut | Description |

142| :- | :- | :- |142| :- | :- | :- |

143| `autocomplete:accept` | Tab | Accepter la suggestion |143| `autocomplete:accept` | Tab | Accepter la suggestion |

144| `autocomplete:dismiss` | Échappement | Fermer le menu |144| `autocomplete:dismiss` | Échap | Rejeter le menu |

145| `autocomplete:previous` | Haut | Suggestion précédente |145| `autocomplete:previous` | Haut | Suggestion précédente |

146| `autocomplete:next` | Bas | Suggestion suivante |146| `autocomplete:next` | Bas | Suggestion suivante |

147 147 


154| Action | Par défaut | Description |154| Action | Par défaut | Description |

155| :- | :- | :- |155| :- | :- | :- |

156| `confirm:yes` | Entrée | Confirmer l'action |156| `confirm:yes` | Entrée | Confirmer l'action |

157| `confirm:no` | Échappement | Refuser l'action |157| `confirm:no` | Échap | Refuser l'action |

158| `confirm:previous` | Haut | Option précédente |158| `confirm:previous` | Haut | Option précédente |

159| `confirm:next` | Bas | Option suivante |159| `confirm:next` | Bas | Option suivante |

160| `confirm:nextField` | Tab | Champ suivant |160| `confirm:nextField` | Tab | Champ suivant |

161| `confirm:previousField` | (non lié) | Champ précédent |161| `confirm:previousField` | (non lié) | Champ précédent |

162| `confirm:toggle` | Espace | Basculer la sélection |162| `confirm:toggle` | Espace | Basculer la sélection |

163| `confirm:cycleMode` | Maj+Tab\* | Cycler les modes de permission. Sur une invite de permission de fichier, ferme un [champ de commentaire](/docs/fr/permissions#add-a-comment-when-you-answer-a-permission-prompt) ouvert ; sans champ ouvert, sélectionne l'option qui autorise l'action pour le reste de la session, lorsque l'invite propose cette option |163| `confirm:cycleMode` | Maj+Tab\* | Parcourir les modes de permission. Sur une invite de permission de fichier, ferme un [champ de commentaire](/docs/fr/permissions#add-a-comment-when-you-answer-a-permission-prompt) ouvert ; sans champ ouvert, sélectionne l'option qui autorise l'action pour le reste de la session, quand l'invite offre cette option |

164 164 

165\*Sous Windows sans mode VT (Node \<24.2.0/\<22.17.0, Bun \<1.2.23), la valeur par défaut est Meta+M.165\*Sur Windows sans mode VT (Node \<24.2.0/\<22.17.0, Bun \<1.2.23), par défaut Meta+M.

166 166 

167Avant v2.1.257, une action `confirm:toggleExplanation`, liée à `Ctrl+E` par défaut, affichait une explication générée par le modèle de la commande sur les invites de permission Bash et PowerShell.167Avant v2.1.257, une action `confirm:toggleExplanation`, liée à `Ctrl+E` par défaut, affichait une explication générée par le modèle de la commande sur les invites de permission Bash et PowerShell.

168 168 

169Les dialogues utilisent `confirm:yes` et `confirm:no` pour accepter et annuler même lorsqu'ils ne posent pas une question oui ou non. Si vous liez une simple lettre telle que `y` ou `n` dans ce contexte, la lettre agit également sur les dialogues qui ne la montrent jamais comme clé. Un dialogue qui affiche `y` et `n` comme ses clés les lit lui-même et n'a besoin d'aucune liaison.169Les dialogues utilisent `confirm:yes` et `confirm:no` pour accepter et annuler même quand ils ne posent pas une question oui ou non. Si vous liez une simple lettre comme `y` ou `n` dans ce contexte, la lettre agit également sur les dialogues qui ne l'affichent jamais comme touche. Un dialogue qui affiche `y` et `n` comme ses touches les lit lui-même et n'a besoin d'aucune liaison.

170 170 

171En général, appuyer sur `Ctrl+C` ou `Ctrl+D` deux fois ferme le dialogue au lieu de quitter Claude Code. L'indice après la première pression indique si la deuxième pression ferme le dialogue ou quitte. Les deux touches sont [réservées](#reserved-shortcuts) et ne peuvent pas être reliées.171Dans la plupart des dialogues, appuyer sur `Ctrl+C` ou `Ctrl+D` deux fois ferme le dialogue au lieu de quitter Claude Code. L'indice après la première pression indique si la deuxième pression ferme le dialogue ou quitte. Les deux touches sont [réservées](#reserved-shortcuts) et ne peuvent pas être reliées.

172 172 

173Cet exemple lie `y` à `confirm:yes` et `n` à `confirm:no` :173Cet exemple lie `y` à `confirm:yes` et `n` à `confirm:no` :

174 174 


186}186}

187```187```

188 188 

189Avec ces liaisons, `y` et `n` tapent toujours comme des lettres pendant qu'un [champ de texte](#text-fields) a le focus.189Avec ces liaisons, `y` et `n` tapent toujours comme des lettres quand un [champ de texte](#text-fields) a le focus.

190 190 

191Avant v2.1.280, `y` était également lié à `confirm:yes` et `n` à `confirm:no` par défaut. Si vous avez créé votre `keybindings.json` avec `/keybindings` avant v2.1.280, le fichier liste les deux liaisons et elles restent en vigueur jusqu'à ce que vous supprimiez ces deux lignes.191Avant v2.1.280, `y` était également lié à `confirm:yes` et `n` à `confirm:no` par défaut. Si vous avez créé votre `keybindings.json` avec `/keybindings` avant v2.1.280, le fichier liste les deux liaisons et elles restent en vigueur jusqu'à ce que vous supprimiez ces deux lignes.

192 192 


198 198 

199| Action | Par défaut | Description |199| Action | Par défaut | Description |

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

201| `permission:toggleDebug` | (non lié) | Basculer les informations de débogage de permission. La valeur par défaut précédente de Ctrl+D a été supprimée dans la v2.1.146 car elle masquait `app:exit` |201| `permission:toggleDebug` | (non lié) | Basculer les informations de débogage de permission. La valeur par défaut précédente de Ctrl+D a été supprimée dans v2.1.146 car elle masquait `app:exit` |

202 202 

203<h3 id="transcript-actions">203<h3 id="transcript-actions">

204 Actions de transcription204 Actions de transcription


209| Action | Par défaut | Description |209| Action | Par défaut | Description |

210| :- | :- | :- |210| :- | :- | :- |

211| `transcript:toggleShowAll` | Ctrl+E | Basculer l'affichage de tout le contenu |211| `transcript:toggleShowAll` | Ctrl+E | Basculer l'affichage de tout le contenu |

212| `transcript:exit` | q, Ctrl+C, Échappement | Quitter la vue de transcription |212| `transcript:exit` | q, Ctrl+C, Échap | Quitter la vue de transcription |

213 213 

214`transcript:toggleShowAll` s'applique uniquement dans le rendu classique ; dans le [rendu plein écran](/docs/fr/fullscreen), la visionneuse de transcription n'offre pas de basculement d'affichage complet.214`transcript:toggleShowAll` s'applique uniquement dans le rendu classique ; dans le [rendu en plein écran](/docs/fr/fullscreen), la visionneuse de transcription n'offre pas de basculement d'affichage complet.

215 215 

216<h3 id="history-search-actions">216<h3 id="history-search-actions">

217 Actions de recherche d'historique217 Actions de recherche d'historique


222| Action | Par défaut | Description |222| Action | Par défaut | Description |

223| :- | :- | :- |223| :- | :- | :- |

224| `historySearch:next` | Ctrl+R | Correspondance suivante |224| `historySearch:next` | Ctrl+R | Correspondance suivante |

225| `historySearch:accept` | Échappement, Tab | Accepter la sélection |225| `historySearch:accept` | Échap, Tab | Accepter la sélection |

226| `historySearch:cancel` | Ctrl+C | Annuler la recherche |226| `historySearch:cancel` | Ctrl+C | Annuler la recherche |

227| `historySearch:execute` | Entrée | Exécuter la commande sélectionnée |227| `historySearch:execute` | Entrée | Exécuter la commande sélectionnée |

228| `historySearch:cycleScope` | Ctrl+S | Cycler la portée : session, projet, partout |228| `historySearch:cycleScope` | Ctrl+S | Parcourir la portée : session, projet, partout |

229 229 

230Les valeurs par défaut de `historySearch:next`, `historySearch:accept`, `historySearch:cancel` et `historySearch:execute` s'appliquent à la recherche d'historique en ligne dans le rendu classique, qui recherche toujours les invites de tous les projets. `historySearch:cycleScope` prend effet uniquement dans le [rendu plein écran](/docs/fr/fullscreen), où `Ctrl+R` ouvre un dialogue de recherche à la place et `Ctrl+S` bascule sa portée. Les autres touches du dialogue sont fixes et ne peuvent pas être reliées : `Entrée` ou `Tab` place la correspondance en surbrillance dans l'entrée d'invite et `Échap` annule.230Les valeurs par défaut de `historySearch:next`, `historySearch:accept`, `historySearch:cancel` et `historySearch:execute` s'appliquent à la recherche d'historique en ligne dans le rendu classique, qui recherche toujours les invites de tous les projets. `historySearch:cycleScope` prend effet uniquement dans le [rendu en plein écran](/docs/fr/fullscreen), où `Ctrl+R` ouvre un dialogue de recherche à la place et `Ctrl+S` parcourt sa portée. Les autres touches du dialogue sont fixes et ne peuvent pas être reliées : `Entrée` ou `Tab` place la correspondance mise en évidence dans l'entrée d'invite et `Échap` annule.

231 231 

232<h3 id="task-actions">232<h3 id="task-actions">

233 Actions de tâche233 Actions de tâche


257 257 

258| Action | Par défaut | Description |258| Action | Par défaut | Description |

259| :- | :- | :- |259| :- | :- | :- |

260| `help:dismiss` | Échappement | Fermer le menu d'aide |260| `help:dismiss` | Échap | Fermer le menu d'aide |

261 261 

262<h3 id="tabs-actions">262<h3 id="tabs-actions">

263 Actions d'onglets263 Actions d'onglets


270| `tabs:next` | Tab, Droite | Onglet suivant |270| `tabs:next` | Tab, Droite | Onglet suivant |

271| `tabs:previous` | Maj+Tab, Gauche | Onglet précédent |271| `tabs:previous` | Maj+Tab, Gauche | Onglet précédent |

272 272 

273Dans un dialogue avec onglets, `tabs:next` et `tabs:previous` basculent les onglets pendant que la ligne d'onglets a le focus. Dans certains dialogues, tels que `/help` et `/sandbox`, les touches de basculement d'onglets fonctionnent également à partir du contenu de l'onglet.273Dans un dialogue avec onglets, `tabs:next` et `tabs:previous` changent d'onglets quand la ligne d'onglets a le focus. Dans certains dialogues, comme `/help` et `/sandbox`, les touches de changement d'onglet fonctionnent également à partir du contenu de l'onglet.

274 274 

275`Haut` et `Bas` déplacent le focus entre la ligne d'onglets et le contenu de l'onglet, et une liste dans le contenu répond aux touches uniquement pendant qu'elle a le focus.275`Haut` et `Bas` déplacent le focus entre la ligne d'onglets et le contenu de l'onglet, et une liste dans le contenu répond aux touches uniquement quand elle a le focus.

276 276 

277<h3 id="attachments-actions">277<h3 id="attachments-actions">

278 Actions de pièces jointes278 Actions de pièces jointes


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

285| `attachments:next` | Droite | Pièce jointe suivante |285| `attachments:next` | Droite | Pièce jointe suivante |

286| `attachments:previous` | Gauche | Pièce jointe précédente |286| `attachments:previous` | Gauche | Pièce jointe précédente |

287| `attachments:remove` | Retour arrière, Supprimer | Supprimer la pièce jointe sélectionnée |287| `attachments:remove` | Retour arrière, Suppr | Supprimer la pièce jointe sélectionnée |

288| `attachments:exit` | Bas, Échappement | Quitter la navigation des pièces jointes |288| `attachments:exit` | Bas, Échap | Quitter la navigation des pièces jointes |

289 289 

290<h3 id="footer-actions">290<h3 id="footer-actions">

291 Actions de pied de page291 Actions de pied de page


300| `footer:up` | Haut | Naviguer vers le haut dans le pied de page (désélectionne en haut) |300| `footer:up` | Haut | Naviguer vers le haut dans le pied de page (désélectionne en haut) |

301| `footer:down` | Bas | Naviguer vers le bas dans le pied de page |301| `footer:down` | Bas | Naviguer vers le bas dans le pied de page |

302| `footer:openSelected` | Entrée | Ouvrir l'élément de pied de page sélectionné |302| `footer:openSelected` | Entrée | Ouvrir l'élément de pied de page sélectionné |

303| `footer:clearSelection` | Échappement | Effacer la sélection du pied de page |303| `footer:clearSelection` | Échap | Effacer la sélection du pied de page |

304| `footer:dismiss` | (non lié) | Supprimé dans v2.1.281. Un `keybindings.json` qui nomme toujours l'action reste valide, et la liaison ne fait rien. Avant v2.1.281, Retour arrière et Supprimer rejetaient le lien d'artefact sélectionné du pied de page |304| `footer:dismiss` | (non lié) | Lier une touche à cette action n'a aucun effet, et un `keybindings.json` qui la nomme reste valide. Avant v2.1.281, Retour arrière et Suppr y étaient liés et rejetaient le lien d'artefact sélectionné du pied de page. |

305 305 

306Pendant qu'un élément de pied de page est sélectionné, tel qu'une ligne dans le panneau agent sous l'invite, `Entrée` l'ouvre même lorsque vous reliez `Entrée` dans le contexte `Chat` à `chat:queueSubmit` ou `chat:newline`.306Quand un élément de pied de page est sélectionné, comme une ligne dans le panneau agent sous l'invite, `Entrée` l'ouvre même quand vous reliez `Entrée` dans le contexte `Chat` à `chat:queueSubmit` ou `chat:newline`.

307 307 

308Les liaisons `Chat` sur les touches que le contexte `Footer` ne lie pas, telles que `Maj+Tab` pour `chat:cycleMode`, continuent de fonctionner pendant qu'un élément est sélectionné.308Les liaisons `Chat` sur les touches que le contexte `Footer` ne lie pas, comme `Maj+Tab` pour `chat:cycleMode`, continuent de fonctionner quand un élément est sélectionné.

309 309 

310<h3 id="message-selector-actions">310<h3 id="message-selector-actions">

311 Actions du sélecteur de message311 Actions du sélecteur de messages

312</h3>312</h3>

313 313 

314Dans la liste des messages du [menu de rembobinage](/docs/fr/checkpointing), vous vous déplacez dans les messages et en choisissez un avec les [actions de sélection](#select-actions) et leurs touches par défaut. Vos liaisons `Select` pour ces actions s'appliquent également là. Le contexte `MessageSelector` n'a pas d'actions ou de liaisons par défaut qui lui sont propres. Utilisez-le pour modifier une touche pour cette liste uniquement, en liant une action Select telle que `select:accept` dans un bloc `MessageSelector`.314Dans la liste des messages du [menu de rembobinage](/docs/fr/checkpointing), vous vous déplacez dans les messages et en choisissez un avec les [actions Select](#select-actions) et leurs touches par défaut. Vos liaisons `Select` pour ces actions s'appliquent également là. Le contexte `MessageSelector` n'a pas d'actions ou de liaisons par défaut qui lui sont propres. Utilisez-le pour changer une touche pour cette liste uniquement, en liant une action Select comme `select:accept` dans un bloc `MessageSelector`.

315 315 

316Cet exemple lie `o` pour choisir le message en surbrillance dans le menu de rembobinage, sans modifier aucune autre liste :316Cet exemple lie `o` pour choisir le message mis en évidence dans le menu de rembobinage, sans changer aucune autre liste :

317 317 

318```json theme={null}318```json theme={null}

319{319{


328}328}

329```329```

330 330 

331Avant v2.1.283, cette liste ignorait les liaisons `Select` et avait ses propres actions : `messageSelector:up`, `messageSelector:down`, `messageSelector:top`, `messageSelector:bottom` et `messageSelector:select`. Si votre `keybindings.json` lie l'un de ces noms, la liaison continue de fonctionner dans cette liste en tant que l'action Select qui fait la même chose. `Home` et `End` sautent à l'une ou l'autre extrémité de la liste ; avant v2.1.283, des touches telles que `Maj+K` et `Maj+J` le faisaient par défaut.331Avant v2.1.283, cette liste ignorait les liaisons `Select` et avait ses propres actions : `messageSelector:up`, `messageSelector:down`, `messageSelector:top`, `messageSelector:bottom` et `messageSelector:select`. Si votre `keybindings.json` lie l'un de ces noms, la liaison continue de fonctionner dans cette liste comme l'action Select qui fait la même chose. `Accueil` et `Fin` sautent à chaque extrémité de la liste ; avant v2.1.283, des touches comme `Maj+K` et `Maj+J` le faisaient par défaut.

332 332 

333<h3 id="diff-actions">333<h3 id="diff-actions">

334 Actions de diff334 Actions de diff


338 338 

339| Action | Par défaut | Description |339| Action | Par défaut | Description |

340| :- | :- | :- |340| :- | :- | :- |

341| `diff:dismiss` | Échappement | Fermer la visionneuse de diff ; à partir de la vue détaillée, revient à la liste des fichiers à la place |341| `diff:dismiss` | Échap | Fermer la visionneuse de diff ; à partir de la vue détaillée, revient à la liste des fichiers à la place |

342| `diff:previousSource` | Gauche | Source de diff précédente |342| `diff:previousSource` | Gauche | Source de diff précédente |

343| `diff:nextSource` | Droite | Source de diff suivante |343| `diff:nextSource` | Droite | Source de diff suivante |

344| `diff:previousFile` | Haut, K | Fichier précédent dans la liste des fichiers ; faire défiler vers le haut d'une ligne dans la vue détaillée |344| `diff:previousFile` | Haut, K | Fichier précédent dans la liste des fichiers ; faire défiler vers le haut d'une ligne dans la vue détaillée |

345| `diff:nextFile` | Bas, J | Fichier suivant dans la liste des fichiers ; faire défiler vers le bas d'une ligne dans la vue détaillée |345| `diff:nextFile` | Bas, J | Fichier suivant dans la liste des fichiers ; faire défiler vers le bas d'une ligne dans la vue détaillée |

346| `diff:back` | (non lié) | Revenir en arrière dans la visionneuse de diff. Échappement effectue l'action de retour via `diff:dismiss`. La valeur par défaut précédente de Gauche dans la vue détaillée a été supprimée dans la v2.1.203 |346| `diff:back` | (non lié) | Revenir en arrière dans la visionneuse de diff. Échap effectue l'action de retour via `diff:dismiss`. La valeur par défaut précédente de Gauche dans la vue détaillée a été supprimée dans v2.1.203 |

347 347 

348La liste des fichiers répond également aux [actions de sélection](#select-actions), via leurs touches par défaut et vos liaisons `Select`. `select:previous` et `select:next` se déplacent vers le fichier précédent et suivant, et `Entrée` ouvre le diff du fichier sélectionné via `select:accept`. Pour modifier l'une de ces touches pour la liste des fichiers uniquement, liez l'action Select dans un bloc `DiffDialog`.348La liste des fichiers répond également aux [actions Select](#select-actions), via leurs touches par défaut et vos liaisons `Select`. `select:previous` et `select:next` se déplacent vers le fichier précédent et suivant, et `Entrée` ouvre le diff du fichier sélectionné via `select:accept`. Pour changer l'une de ces touches pour la liste des fichiers uniquement, liez l'action Select dans un bloc `DiffDialog`.

349 349 

350Avant v2.1.283, la liste des fichiers ignorait les liaisons `Select`, et `Entrée` ouvrait le diff du fichier sélectionné via une action `diff:viewDetails` distincte. Si votre `keybindings.json` lie `diff:viewDetails`, la liaison continue de fonctionner dans la liste des fichiers en tant que `select:accept`.350Avant v2.1.283, la liste des fichiers ignorait les liaisons `Select`, et `Entrée` ouvrait le diff du fichier sélectionné via une action `diff:viewDetails` séparée. Si votre `keybindings.json` lie `diff:viewDetails`, la liaison continue de fonctionner dans la liste des fichiers comme `select:accept`.

351 351 

352La vue détaillée du diff lie également les touches de style paginateur aux [actions de défilement](#scroll-actions) standard. Ces liaisons font partie du contexte `DiffDialog` et s'appliquent uniquement dans la vue détaillée ; les valeurs par défaut du contexte `Scroll` listées sous [Actions de défilement](#scroll-actions) sont inchangées.352La vue détaillée du diff lie également les touches de style pager aux [actions de défilement](#scroll-actions) standard. Ces liaisons font partie du contexte `DiffDialog` et s'appliquent uniquement dans la vue détaillée ; les valeurs par défaut du contexte `Scroll` listées sous [Actions de défilement](#scroll-actions) sont inchangées.

353 353 

354| Action | Par défaut | Description |354| Action | Par défaut | Description |

355| :- | :- | :- |355| :- | :- | :- |

356| `scroll:pageUp` | PageUp | Faire défiler vers le haut de la moitié de la fenêtre d'affichage |356| `scroll:pageUp` | PageUp | Faire défiler vers le haut de la moitié d'une fenêtre d'affichage |

357| `scroll:pageDown` | PageDown | Faire défiler vers le bas de la moitié de la fenêtre d'affichage |357| `scroll:pageDown` | PageDown | Faire défiler vers le bas de la moitié d'une fenêtre d'affichage |

358| `scroll:fullPageUp` | Maj+Espace, B | Faire défiler vers le haut d'une fenêtre d'affichage complète |358| `scroll:fullPageUp` | Maj+Espace, B | Faire défiler vers le haut d'une fenêtre d'affichage complète |

359| `scroll:fullPageDown` | Espace | Faire défiler vers le bas d'une fenêtre d'affichage complète |359| `scroll:fullPageDown` | Espace | Faire défiler vers le bas d'une fenêtre d'affichage complète |

360| `scroll:top` | G, Home | Sauter au début |360| `scroll:top` | G, Accueil | Sauter au début |

361| `scroll:bottom` | Maj+G, End | Sauter à la fin |361| `scroll:bottom` | Maj+G, Fin | Sauter à la fin |

362 362 

363<h3 id="diff-panel-actions">363<h3 id="diff-panel-actions">

364 Actions du panneau de diff364 Actions du panneau de diff

365</h3>365</h3>

366 366 

367Actions pour le [panneau de diff](/docs/fr/interactive-mode#diff-panel) que `/diff` ouvre dans le rendu plein écran. `app:cycleDiffBase` est dans le contexte `DiffPanel`, qui est actif pendant que le panneau est ouvert ; les autres sont `Global`. Le panneau nécessite Claude Code v2.1.260 ou ultérieure.367Actions pour le [panneau de diff](/docs/fr/interactive-mode#diff-panel) que `/diff` ouvre dans le rendu en plein écran. `app:cycleDiffBase` est dans le contexte `DiffPanel`, qui est actif quand le panneau est ouvert ; les autres sont `Global`. Le panneau nécessite Claude Code v2.1.260 ou ultérieur.

368 368 

369| Action | Par défaut | Description |369| Action | Par défaut | Description |

370| :- | :- | :- |370| :- | :- | :- |

371| `app:toggleReplTab` | (non lié) | Ouvrir ou fermer le panneau de diff, identique à l'exécution de `/diff` |371| `app:toggleReplTab` | (non lié) | Ouvrir ou fermer le panneau de diff, identique à l'exécution de `/diff` |

372| `app:cycleDiffBase` | Ctrl+X B | Cycler la base de comparaison du panneau : cette session, non validée, puis branche |372| `app:cycleDiffBase` | Ctrl+X B | Parcourir la base de comparaison du panneau : cette session, non validée, puis branche |

373| `app:diffFileListUp` | Ctrl+Haut, Meta+Haut | Faire défiler la liste des fichiers du panneau vers le haut lorsqu'elle déborde |373| `app:diffFileListUp` | Ctrl+Haut, Meta+Haut | Faire défiler la liste des fichiers du panneau vers le haut quand elle déborde |

374| `app:diffFileListDown` | Ctrl+Bas, Meta+Bas | Faire défiler la liste des fichiers du panneau vers le bas lorsqu'elle déborde |374| `app:diffFileListDown` | Ctrl+Bas, Meta+Bas | Faire défiler la liste des fichiers du panneau vers le bas quand elle déborde |

375| `app:toggleDiffNoiseFilter` | (non lié) | Afficher ou masquer les fichiers de test et générés dans le panneau |375| `app:toggleDiffNoiseFilter` | (non lié) | Afficher ou masquer les fichiers de test et générés dans le panneau |

376| `app:toggleDiffPreSession` | (non lié) | Développer ou réduire les modifications antérieures à cette session |376| `app:toggleDiffPreSession` | (non lié) | Développer ou réduire les modifications d'avant cette session |

377 377 

378<h3 id="model-picker-actions">378<h3 id="model-picker-actions">

379 Actions du sélecteur de modèle379 Actions du sélecteur de modèle


385| :- | :- | :- |385| :- | :- | :- |

386| `modelPicker:decreaseEffort` | Gauche | Diminuer le niveau d'effort |386| `modelPicker:decreaseEffort` | Gauche | Diminuer le niveau d'effort |

387| `modelPicker:increaseEffort` | Droite | Augmenter le niveau d'effort |387| `modelPicker:increaseEffort` | Droite | Augmenter le niveau d'effort |

388| `modelPicker:thisSessionOnly` | s | Appliquer le modèle en surbrillance à cette session uniquement |388| `modelPicker:thisSessionOnly` | s | Appliquer le modèle mis en évidence à cette session uniquement |

389 389 

390<h3 id="effort-slider-actions">390<h3 id="effort-slider-actions">

391 Actions du curseur d'effort391 Actions du curseur d'effort

392</h3>392</h3>

393 393 

394Actions disponibles dans le contexte `EffortSlider`, le curseur qui s'ouvre lorsque vous exécutez `/effort` sans arguments. Les touches Entrée et Échappement du curseur ne peuvent pas être reliées.394Actions disponibles dans le contexte `EffortSlider`, le curseur qui s'ouvre quand vous exécutez `/effort` sans arguments. Les touches Entrée et Échap du curseur ne peuvent pas être reliées.

395 395 

396| Action | Par défaut | Description |396| Action | Par défaut | Description |

397| :- | :- | :- |397| :- | :- | :- |

398| `effortSlider:decreaseEffort` | Gauche | Déplacer le curseur vers le niveau d'effort inférieur suivant. Nécessite v2.1.284 ou ultérieure |398| `effortSlider:decreaseEffort` | Gauche | Déplacer le curseur au niveau d'effort inférieur suivant. Nécessite v2.1.284 ou ultérieur |

399| `effortSlider:increaseEffort` | Droite | Déplacer le curseur vers le niveau d'effort supérieur suivant. Nécessite v2.1.284 ou ultérieure |399| `effortSlider:increaseEffort` | Droite | Déplacer le curseur au niveau d'effort supérieur suivant. Nécessite v2.1.284 ou ultérieur |

400| `effortSlider:toggleUltracode` | Tab | Activer ou désactiver [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode) pour cette session, lorsque le curseur [l'offre](/docs/fr/model-config#when-ultracode-is-available). Nécessite v2.1.284 ou ultérieure |400| `effortSlider:toggleUltracode` | Tab | Activer ou désactiver [ultracode](/docs/fr/workflows#let-claude-decide-with-ultracode) pour cette session, quand le curseur [l'offre](/docs/fr/model-config#when-ultracode-is-available). Nécessite v2.1.284 ou ultérieur |

401| `effortSlider:thisSessionOnly` | s | Appliquer le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) ciblé à cette session uniquement. Nécessite v2.1.257 ou ultérieure |401| `effortSlider:thisSessionOnly` | s | Appliquer le [niveau d'effort](/docs/fr/model-config#adjust-effort-level) ciblé à cette session uniquement. Nécessite v2.1.257 ou ultérieur |

402 402 

403<h3 id="select-actions">403<h3 id="select-actions">

404 Actions de sélection404 Actions Select

405</h3>405</h3>

406 406 

407Actions disponibles dans le contexte `Select` :407Actions disponibles dans le contexte `Select` :


412| `select:previous` | Haut, K, Ctrl+P | Option précédente |412| `select:previous` | Haut, K, Ctrl+P | Option précédente |

413| `select:pageUp` | PageUp | Déplacer vers le haut d'une page d'options |413| `select:pageUp` | PageUp | Déplacer vers le haut d'une page d'options |

414| `select:pageDown` | PageDown | Déplacer vers le bas d'une page d'options |414| `select:pageDown` | PageDown | Déplacer vers le bas d'une page d'options |

415| `select:first` | Home | Première option |415| `select:first` | Accueil | Première option |

416| `select:last` | End | Dernière option |416| `select:last` | Fin | Dernière option |

417| `select:accept` | Entrée | Accepter la sélection |417| `select:accept` | Entrée | Accepter la sélection |

418| `select:cancel` | Échappement | Annuler la sélection |418| `select:cancel` | Échap | Annuler la sélection |

419 419 

420Dans les panneaux de liste tels que `/skills` et `/mcp`, Claude Code applique vos liaisons `select:pageUp`, `select:pageDown`, `select:first` et `select:last`. Dans la plupart des autres listes, telles que le sélecteur `/model`, vos liaisons `select:first` et `select:last` s'appliquent. PageUp et PageDown parcourent les options dans ces listes indépendamment de vos liaisons.420Dans les panneaux de liste comme `/skills`, `/mcp` et `/tasks`, Claude Code applique vos liaisons `select:pageUp`, `select:pageDown`, `select:first` et `select:last`. Dans la plupart des autres listes, comme le sélecteur `/model`, vos liaisons `select:first` et `select:last` s'appliquent. PageUp et PageDown parcourent les options dans ces listes indépendamment de vos liaisons.

421 421 

422Avant v2.1.280, ces autres listes ignoraient Home, End, et vos liaisons `select:first` et `select:last`.422Avant v2.1.280, ces autres listes ignoraient Accueil, Fin et vos liaisons `select:first` et `select:last`.

423 

424Avant v2.1.283, la liste des outils `/mcp` parcourait avec les touches PageUp et PageDown fixes indépendamment de vos liaisons.

423 425 

424<h3 id="plugin-actions">426<h3 id="plugin-actions">

425 Actions de plugin427 Actions de plugin


434| `plugin:favorite` | F | Marquer le plugin sélectionné comme favori pour qu'il soit trié près du haut de l'onglet Installé |436| `plugin:favorite` | F | Marquer le plugin sélectionné comme favori pour qu'il soit trié près du haut de l'onglet Installé |

435 437 

436<h3 id="settings-actions">438<h3 id="settings-actions">

437 Actions des paramètres439 Actions de paramètres

438</h3>440</h3>

439 441 

440Actions disponibles dans le contexte `Settings`. Les actions `select:accept` et `confirm:no` sont réutilisées à partir des contextes [Sélection](#select-actions) et [Confirmation](#confirmation-actions) avec un comportement spécifique aux paramètres : les modifications s'appliquent à chaque paramètre dès que vous le modifiez, donc Échappement ferme le panneau avec vos modifications enregistrées plutôt que de refuser.442Actions disponibles dans le contexte `Settings`. Les actions `select:accept` et `confirm:no` sont réutilisées à partir des contextes [Select](#select-actions) et [Confirmation](#confirmation-actions) avec un comportement spécifique aux paramètres : les modifications s'appliquent à chaque paramètre dès que vous le modifiez, donc Échap ferme le panneau avec vos modifications enregistrées plutôt que de refuser.

441 443 

442| Action | Par défaut | Description |444| Action | Par défaut | Description |

443| :- | :- | :- |445| :- | :- | :- |

444| `settings:search` | / | Entrer en mode de recherche |446| `settings:search` | / | Entrer en mode recherche |

445| `settings:retry` | R | Réessayer de charger les données d'utilisation en cas d'erreur |447| `settings:retry` | R | Réessayer de charger les données d'utilisation en cas d'erreur |

446| `select:accept` | Entrée, Espace | Modifier le paramètre sélectionné ou ouvrir son sous-menu |448| `select:accept` | Entrée, Espace | Modifier le paramètre sélectionné ou ouvrir son sous-menu |

447| `confirm:no` | Échappement | Fermer le panneau. Les modifications sont déjà enregistrées |449| `confirm:no` | Échap | Fermer le panneau. Les modifications sont déjà enregistrées |

448 450 

449<h3 id="agents-actions">451<h3 id="agents-actions">

450 Actions des agents452 Actions d'agents

451</h3>453</h3>

452 454 

453Actions disponibles dans le contexte `Agents`, qui s'applique dans la [vue agent](/docs/fr/agent-view), ouverte avec `claude agents`. Nécessite v2.1.257 ou ultérieure.455Actions disponibles dans le contexte `Agents`, qui s'applique dans la [vue agent](/docs/fr/agent-view), ouverte avec `claude agents`. Nécessite v2.1.257 ou ultérieur.

454 456 

455| Action | Par défaut | Description |457| Action | Par défaut | Description |

456| :- | :- | :- |458| :- | :- | :- |

457| `agents:switchView` | Ctrl+S | Basculer le [regroupement de session](/docs/fr/agent-view#organize-the-list) entre l'état et le répertoire |459| `agents:switchView` | Ctrl+S | Basculer le [regroupement de session](/docs/fr/agent-view#organize-the-list) entre l'état et le répertoire |

458| `agents:togglePin` | Ctrl+T | [Épingler ou dépingler](/docs/fr/agent-view#organize-the-list) la session sélectionnée |460| `agents:togglePin` | Ctrl+T | [Épingler ou dépingler](/docs/fr/agent-view#organize-the-list) la session sélectionnée |

459 461 

460Pendant que la vue agent est ouverte, Claude Code utilise la liaison `Agents` pour toute touche que le contexte `Agents` lie, et il ignore une liaison `Chat` ou `Global` sur la même touche. Par exemple, appuyer sur Ctrl+S dans la vue agent bascule le regroupement de session plutôt que de déclencher la valeur par défaut `chat:stash`.462Quand la vue agent est ouverte, Claude Code utilise la liaison `Agents` pour toute touche que le contexte `Agents` lie, et il ignore une liaison `Chat` ou `Global` sur la même touche. Par exemple, appuyer sur Ctrl+S dans la vue agent bascule le regroupement de session plutôt que de déclencher le `chat:stash` par défaut.

461 463 

462Le raccourci d'éditeur externe de la saisie de dispatch n'est pas une action `Agents`. La vue agent suit la liaison `chat:externalEditor` du contexte `Chat`, Ctrl+G par défaut.464Le raccourci d'éditeur externe de l'entrée de dispatch n'est pas une action `Agents`. La vue agent suit la liaison `chat:externalEditor` du contexte `Chat`, Ctrl+G par défaut.

463 465 

464Les liaisons se déclenchent sur des traits simples dans la vue agent, donc l'accord Ctrl+X Ctrl+E lié à `chat:externalEditor` n'ouvre pas l'éditeur là.466Les liaisons se déclenchent sur des frappes simples dans la vue agent, donc l'accord Ctrl+X Ctrl+E lié à `chat:externalEditor` n'ouvre pas l'éditeur là.

465 467 

466<h3 id="voice-actions">468<h3 id="voice-actions">

467 Actions vocales469 Actions vocales

468</h3>470</h3>

469 471 

470Actions disponibles dans le contexte `Chat` lorsque la [dictée vocale](/docs/fr/voice-dictation) est activée :472Actions disponibles dans le contexte `Chat` quand la [dictée vocale](/docs/fr/voice-dictation) est activée :

471 473 

472| Action | Par défaut | Description |474| Action | Par défaut | Description |

473| :- | :- | :- |475| :- | :- | :- |


477 Actions de défilement479 Actions de défilement

478</h3>480</h3>

479 481 

480Actions disponibles dans le contexte `Scroll` lorsque le [rendu plein écran](/docs/fr/fullscreen) est activé :482Actions disponibles dans le contexte `Scroll` quand le [rendu en plein écran](/docs/fr/fullscreen) est activé :

481 483 

482| Action | Par défaut | Description |484| Action | Par défaut | Description |

483| :- | :- | :- |485| :- | :- | :- |

484| `scroll:lineUp` | `wheelup` | Faire défiler vers le haut d'une ligne. Le défilement à la souris déclenche cette action |486| `scroll:lineUp` | `wheelup` | Faire défiler vers le haut d'une ligne. Le défilement à la roulette de souris déclenche cette action |

485| `scroll:lineDown` | `wheeldown` | Faire défiler vers le bas d'une ligne. Le défilement à la souris déclenche cette action |487| `scroll:lineDown` | `wheeldown` | Faire défiler vers le bas d'une ligne. Le défilement à la roulette de souris déclenche cette action |

486| `scroll:pageUp` | PageUp | Faire défiler vers le haut de la moitié de la hauteur de la fenêtre d'affichage |488| `scroll:pageUp` | PageUp | Faire défiler vers le haut de la moitié de la hauteur de la fenêtre d'affichage |

487| `scroll:pageDown` | PageDown | Faire défiler vers le bas de la moitié de la hauteur de la fenêtre d'affichage |489| `scroll:pageDown` | PageDown | Faire défiler vers le bas de la moitié de la hauteur de la fenêtre d'affichage |

488| `scroll:top` | Ctrl+Home | Sauter au début de la conversation |490| `scroll:top` | Ctrl+Accueil | Sauter au début de la conversation |

489| `scroll:bottom` | Ctrl+End | Sauter au dernier message et réactiver le suivi automatique |491| `scroll:bottom` | Ctrl+Fin | Sauter au dernier message et réactiver le suivi automatique |

490| `scroll:halfPageUp` | (non lié) | Faire défiler vers le haut de la moitié de la hauteur de la fenêtre d'affichage. Même comportement que `scroll:pageUp`, fourni pour les reliures de style vi |492| `scroll:halfPageUp` | (non lié) | Faire défiler vers le haut de la moitié de la hauteur de la fenêtre d'affichage. Même comportement que `scroll:pageUp`, fourni pour les rebinds de style vi |

491| `scroll:halfPageDown` | (non lié) | Faire défiler vers le bas de la moitié de la hauteur de la fenêtre d'affichage. Même comportement que `scroll:pageDown`, fourni pour les reliures de style vi |493| `scroll:halfPageDown` | (non lié) | Faire défiler vers le bas de la moitié de la hauteur de la fenêtre d'affichage. Même comportement que `scroll:pageDown`, fourni pour les rebinds de style vi |

492| `scroll:fullPageUp` | (non lié) | Faire défiler vers le haut de la hauteur complète de la fenêtre d'affichage |494| `scroll:fullPageUp` | (non lié) | Faire défiler vers le haut de la hauteur complète de la fenêtre d'affichage |

493| `scroll:fullPageDown` | (non lié) | Faire défiler vers le bas de la hauteur complète de la fenêtre d'affichage |495| `scroll:fullPageDown` | (non lié) | Faire défiler vers le bas de la hauteur complète de la fenêtre d'affichage |

494| `selection:copy` | Ctrl+Maj+C / Cmd+C | Copier le texte sélectionné dans le presse-papiers |496| `selection:copy` | Ctrl+Maj+C / Cmd+C | Copier le texte sélectionné dans le presse-papiers |

495| `selection:clear` | (non lié) | Effacer la sélection de texte active. Nécessite v2.1.234 ou ultérieure |497| `selection:clear` | (non lié) | Effacer la sélection de texte active. Nécessite v2.1.234 ou ultérieur |

496| `selection:extendLeft` | Maj+Gauche | Étendre la sélection active d'une colonne vers la gauche |498| `selection:extendLeft` | Maj+Gauche | Étendre la sélection active d'une colonne vers la gauche |

497| `selection:extendRight` | Maj+Droite | Étendre la sélection active d'une colonne vers la droite |499| `selection:extendRight` | Maj+Droite | Étendre la sélection active d'une colonne vers la droite |

498| `selection:extendUp` | Maj+Haut | Étendre la sélection active d'une ligne vers le haut. Fait défiler la fenêtre d'affichage lorsque la sélection atteint le bord supérieur |500| `selection:extendUp` | Maj+Haut | Étendre la sélection active d'une ligne vers le haut. Fait défiler la fenêtre d'affichage quand la sélection atteint le bord supérieur |

499| `selection:extendDown` | Maj+Bas | Étendre la sélection active d'une ligne vers le bas. Fait défiler la fenêtre d'affichage lorsque la sélection atteint le bord inférieur |501| `selection:extendDown` | Maj+Bas | Étendre la sélection active d'une ligne vers le bas. Fait défiler la fenêtre d'affichage quand la sélection atteint le bord inférieur |

500| `selection:extendLineStart` | Maj+Home | Étendre la sélection active au début de la ligne |502| `selection:extendLineStart` | Maj+Accueil | Étendre la sélection active au début de la ligne |

501| `selection:extendLineEnd` | Maj+End | Étendre la sélection active à la fin de la ligne |503| `selection:extendLineEnd` | Maj+Fin | Étendre la sélection active à la fin de la ligne |

502 504 

503<h2 id="keystroke-syntax">505<h2 id="keystroke-syntax">

504 Syntaxe des séquences de touches506 Syntaxe des séquences de touches


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

693 695 

694* Erreurs d'analyse (JSON invalide ou structure)696* Erreurs d'analyse (JSON invalide ou structure)

697* Modificateurs mal orthographiés, tels que `ctl+k`. Claude Code supprime la partie qu'il ne reconnaît pas et applique la liaison à la frappe restante, `k` dans cet exemple.

695* Noms de contexte invalides698* Noms de contexte invalides

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

697* Noms d'action inconnus, tels qu'une faute de frappe d'une action enregistrée. Claude Code ignore la liaison et conserve toute liaison par défaut pour cette touche en vigueur. Avant v2.1.246, une liaison avec un nom d'action inconnu désactivait silencieusement cette touche700* Noms d'action inconnus, tels qu'une faute de frappe d'une action enregistrée. Claude Code ignore la liaison et conserve toute liaison par défaut pour cette touche en vigueur. Avant v2.1.246, une liaison avec un nom d'action inconnu désactivait silencieusement cette touche

Details

79 79 

80Quand le client parle le format Amazon Bedrock, relayez le corps de réponse `InvokeModelWithResponseStream` et son en-tête `Content-Type: application/vnd.amazon.eventstream` sans modification, et ne convertissez pas le flux en événements envoyés par le serveur. Voir [Erreurs de streaming derrière une passerelle ou un proxy](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).80Quand le client parle le format Amazon Bedrock, relayez le corps de réponse `InvokeModelWithResponseStream` et son en-tête `Content-Type: application/vnd.amazon.eventstream` sans modification, et ne convertissez pas le flux en événements envoyés par le serveur. Voir [Erreurs de streaming derrière une passerelle ou un proxy](/docs/fr/amazon-bedrock#streaming-errors-behind-a-gateway-or-proxy).

81 81 

82Transférez également les pings de maintien de connexion. Sur les connexions via `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL`, Claude Code compte chaque octet que votre passerelle relaye, y compris les événements SSE `ping` et les lignes de commentaire, et abandonne un flux qui reste silencieux pendant 300 secondes par défaut. Les pings en amont sont le seul trafic pendant les pauses de réflexion prolongées, donc si votre passerelle les supprime ou les met en mémoire tampon, Claude Code abandonne le flux pendant ces pauses ; [Tentatives automatiques](/docs/fr/errors#automatic-retries) couvre ce qu'un flux abandonné signale en fonction de la progression de la réponse. Un amont qui n'envoie aucun ping du tout, comme le flux d'événements binaires d'Amazon Bedrock, laisse ces pauses sans rien à relayer. Lors de la traduction à partir d'un tel amont, émettez vos propres événements `ping` pendant les silences. Les passerelles atteintes via `ANTHROPIC_BEDROCK_BASE_URL`, `ANTHROPIC_VERTEX_BASE_URL`, ou `ANTHROPIC_FOUNDRY_BASE_URL` ne sont pas enveloppées par ce chien de garde au niveau des octets, même quand elles relaient le format Anthropic Messages ; là, un [délai d'inactivité de 5 minutes](/docs/fr/env-vars) abandonne un flux silencieux à la place, et sur les connexions `ANTHROPIC_BEDROCK_BASE_URL` vous pouvez ajouter le chien de garde au niveau des octets avec [`CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK`](/docs/fr/env-vars).82Transférez également les pings de maintien de connexion, car Claude Code abandonne une réponse en streaming une fois qu'aucun octet ne l'atteint pendant [cinq minutes par défaut](/docs/fr/network-config#streaming-idle-watchdogs). Pendant une longue pause de réflexion, les événements SSE `ping` en amont peuvent être les seuls octets sur le flux. Si votre passerelle les supprime ou les met en mémoire tampon, Claude Code abandonne la réponse au milieu de la pause. Quand vous traduisez à partir d'un amont qui n'envoie aucun ping du tout, comme le flux d'événements binaires d'Amazon Bedrock, émettez vos propres événements `ping` pendant les silences.

83 83 

84<h3 id="format-mismatch-with-the-upstream">84<h3 id="format-mismatch-with-the-upstream">

85 Incompatibilité de format avec l'amont85 Incompatibilité de format avec l'amont

managed-mcp.md +27 −10

Details

31 31 

32| Modèle | Ce qu'il fait | Configurer |32| Modèle | Ce qu'il fait | Configurer |

33| :- | :- | :- |33| :- | :- | :- |

34| **Désactiver MCP** | Aucun serveur ne se charge, à part [les serveurs en processus que l'application qui a démarré la session enregistre](#exclusive-control-with-managed-mcp-json) et tous ceux que vous [fournissez via `managedMcpServers`](#provide-servers-through-managed-settings) | `managed-mcp.json` avec une carte de serveurs vide |34| **Désactiver MCP** | Aucun serveur ne se charge sauf les quelques serveurs qui [se chargent sous contrôle exclusif](#exclusive-control-with-managed-mcp-json) | `managed-mcp.json` avec une carte de serveurs vide |

35| **Déploiement fixe** | Chaque utilisateur obtient les mêmes serveurs et ne peut pas en ajouter d'autres | `managed-mcp.json` avec les serveurs que vous souhaitez |35| **Déploiement fixe** | Chaque utilisateur obtient les mêmes serveurs et ne peut pas en ajouter d'autres | `managed-mcp.json` avec les serveurs que vous souhaitez |

36| **Serveurs fournis** | Chaque utilisateur obtient les serveurs distants que vous listez et conserve les siens | `managedMcpServers` dans les paramètres gérés |36| **Serveurs fournis** | Chaque utilisateur obtient les serveurs distants que vous listez et conserve les siens | `managedMcpServers` dans les paramètres gérés |

37| **Catalogue approuvé** | Publiez une liste de serveurs approuvés ; les utilisateurs ajoutent ceux qu'ils souhaitent, tout le reste est bloqué | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |37| **Catalogue approuvé** | Publiez une liste de serveurs approuvés ; les utilisateurs ajoutent ceux qu'ils souhaitent, tout le reste est bloqué | `allowedMcpServers` + `allowManagedMcpServersOnly: true` |


53* Les serveurs que le fichier définit53* Les serveurs que le fichier définit

54* Les serveurs que vous [fournissez via `managedMcpServers`](#provide-servers-through-managed-settings)54* Les serveurs que vous [fournissez via `managedMcpServers`](#provide-servers-through-managed-settings)

55* Les serveurs en processus que l'application qui a démarré la session enregistre, comme le serveur propre de l'extension VS Code ou les [connecteurs que l'application de bureau fournit](/docs/fr/mcp#how-connectors-reach-claude-code)55* Les serveurs en processus que l'application qui a démarré la session enregistre, comme le serveur propre de l'extension VS Code ou les [connecteurs que l'application de bureau fournit](/docs/fr/mcp#how-connectors-reach-claude-code)

56* Le serveur intégré [Claude in Chrome](/docs/fr/chrome), si vous [l'autorisez aux côtés de l'ensemble géré](#allow-claude-in-chrome-alongside-the-managed-set)

56 57 

57Les utilisateurs ne peuvent pas ajouter, modifier ou utiliser d'autres serveurs MCP, y compris les serveurs fournis par les plugins et les serveurs transmis avec le [drapeau CLI `--mcp-config`](/docs/fr/cli-reference#cli-flags). Le fichier supprime également les connecteurs claude.ai que Claude Code récupère lui-même, sauf si vous [les autorisez aux côtés de l'ensemble géré](#allow-claude-ai-connectors-alongside-the-managed-set).58Les utilisateurs ne peuvent pas ajouter, modifier ou utiliser d'autres serveurs MCP, y compris les serveurs fournis par les plugins et les serveurs transmis avec le [drapeau CLI `--mcp-config`](/docs/fr/cli-reference#cli-flags). Le fichier supprime également les connecteurs claude.ai que Claude Code récupère lui-même, sauf si vous [les autorisez aux côtés de l'ensemble géré](#allow-claude-ai-connectors-alongside-the-managed-set).

58 59 


144 Désactiver MCP entièrement145 Désactiver MCP entièrement

145</h3>146</h3>

146 147 

147Déployez un `managed-mcp.json` contenant une carte de serveur vide pour bloquer chaque serveur MCP à part les [serveurs en processus que l'application qui a démarré la session enregistre](#exclusive-control-with-managed-mcp-json) :148Déployez un `managed-mcp.json` contenant une carte de serveur vide pour bloquer chaque serveur MCP à part les [serveurs qui se chargent sous contrôle exclusif](#exclusive-control-with-managed-mcp-json) :

148 149 

149```json theme={null}150```json theme={null}

150{151{


152}153}

153```154```

154 155 

155`claude mcp add` échoue avec l'erreur de politique d'entreprise ci-dessus. Les serveurs que les utilisateurs avaient précédemment configurés cessent de se charger la prochaine fois qu'ils démarrent une session, sans avertissement que la politique en est la raison. Les serveurs que vous fournissez via `managedMcpServers` se chargent toujours sous une carte vide, donc laissez cette clé non définie également pour désactiver MCP complètement.156`claude mcp add` échoue avec l'erreur de politique d'entreprise ci-dessus. Les serveurs que les utilisateurs avaient précédemment configurés cessent de se charger la prochaine fois qu'ils démarrent une session, sans avertissement que la politique en est la raison. Les serveurs que vous fournissez via `managedMcpServers`, et tout ce que vous autorisez aux côtés de l'ensemble géré, se chargent toujours sous une carte vide, donc laissez ces clés non définies pour désactiver MCP complètement.

156 157 

157<h3 id="allow-claude-ai-connectors-alongside-the-managed-set">158<h3 id="allow-claude-ai-connectors-alongside-the-managed-set">

158 Autoriser les connecteurs claude.ai aux côtés de l'ensemble géré159 Autoriser les connecteurs claude.ai aux côtés de l'ensemble géré


166 167 

167Claude Code lit `allowAllClaudeAiMcps` uniquement à partir des niveaux de politique contrôlés par l'administrateur : paramètres gérés par le serveur, une clé plist déployée par MDM ou une clé de registre HKLM, ou un fichier `managed-settings.json` système. Le placer dans les paramètres utilisateur ou projet n'a aucun effet, donc les utilisateurs ne peuvent pas réactiver les connecteurs que le contrôle exclusif a supprimés.168Claude Code lit `allowAllClaudeAiMcps` uniquement à partir des niveaux de politique contrôlés par l'administrateur : paramètres gérés par le serveur, une clé plist déployée par MDM ou une clé de registre HKLM, ou un fichier `managed-settings.json` système. Le placer dans les paramètres utilisateur ou projet n'a aucun effet, donc les utilisateurs ne peuvent pas réactiver les connecteurs que le contrôle exclusif a supprimés.

168 169 

170<h3 id="allow-claude-in-chrome-alongside-the-managed-set">

171 Autoriser Claude in Chrome aux côtés de l'ensemble géré

172</h3>

173 

174Par défaut, lorsque vous déployez `managed-mcp.json`, Claude Code bloque le serveur intégré [Claude in Chrome](/docs/fr/chrome) dans les sessions de terminal. Les utilisateurs ne reçoivent pas l'[invite d'installation de l'extension](/docs/fr/chrome#install-the-extension-when-claude-asks), et une session où l'utilisateur a [activé Chrome par défaut](/docs/fr/chrome#enable-chrome-by-default) démarre sans Chrome et n'imprime aucun avertissement. Lorsqu'un utilisateur qui pourrait autrement exécuter Claude in Chrome le démarre avec `claude --chrome` ou `CLAUDE_CODE_ENABLE_CFC=1`, Claude Code se ferme au démarrage avec une erreur qui nomme le paramètre `allowClaudeInChromeWithManagedMcp`.

175 

176Pour permettre aux utilisateurs d'exécuter Claude in Chrome aux côtés des serveurs dans `managed-mcp.json`, définissez `"allowClaudeInChromeWithManagedMcp": true` dans les paramètres gérés de l'appareil lui-même. Placez-le dans une clé plist déployée par MDM ou une clé de registre HKLM, ou un fichier `managed-settings.json` système, selon celui que Claude Code [sélectionne](/docs/fr/managed-settings#precedence-within-the-managed-tier) sur cet appareil. Nécessite Claude Code v2.1.282 ou ultérieur. Avant la v2.1.282, Claude Code ignore le paramètre, et l'erreur de démarrage se lit `You cannot dynamically configure MCP servers when an enterprise MCP config is present` à la place.

177 

178Claude Code lit le paramètre à partir de ces sources d'appareil même lorsque les [paramètres gérés par le serveur](/docs/fr/server-managed-settings) fournissent le reste de votre politique. Il ignore le paramètre dans les paramètres gérés par le serveur eux-mêmes, dans le registre HKCU inscriptible par l'utilisateur, et dans les paramètres utilisateur ou projet. Une entrée [`deniedMcpServers`](#policy-based-control-with-allowlists-and-denylists) pour `claude-in-chrome` bloque toujours le serveur avec le paramètre activé.

179 

169<h2 id="provide-servers-through-managed-settings">180<h2 id="provide-servers-through-managed-settings">

170 Fournir des serveurs via les paramètres gérés181 Fournir des serveurs via les paramètres gérés

171</h2>182</h2>


303 314 

304| Paramètre | Non défini (par défaut) | Tableau vide `[]` | Rempli |315| Paramètre | Non défini (par défaut) | Tableau vide `[]` | Rempli |

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

306| `allowedMcpServers` | Tous les serveurs autorisés | Aucun serveur autorisé, à part [les serveurs de l'organisation](#how-a-server-is-evaluated) | Seuls les serveurs correspondants autorisés, à part [les serveurs de l'organisation](#how-a-server-is-evaluated) |317| `allowedMcpServers` | Tous les serveurs autorisés | Aucun serveur autorisé, à part [ceux qui ignorent la vérification de la liste blanche](#how-a-server-is-evaluated) | Seuls les serveurs correspondants autorisés, à part [ceux qui ignorent la vérification de la liste blanche](#how-a-server-is-evaluated) |

307| `deniedMcpServers` | Aucun serveur bloqué | Aucun serveur bloqué | Serveurs correspondants bloqués |318| `deniedMcpServers` | Aucun serveur bloqué | Aucun serveur bloqué | Serveurs correspondants bloqués |

308 319 

309Voir [Entrées invalides dans les paramètres gérés](/docs/fr/managed-settings#invalid-entries-in-managed-settings) pour savoir ce qui se passe quand une entrée échoue la validation du schéma.320Voir [Entrées invalides dans les paramètres gérés](/docs/fr/managed-settings#invalid-entries-in-managed-settings) pour savoir ce qui se passe quand une entrée échoue la validation du schéma.


3292. **Vérifier la liste noire.** Un serveur qui correspond à n'importe quelle entrée de liste noire, par URL, commande ou nom, est bloqué. Rien ne remplace une correspondance de liste noire.3402. **Vérifier la liste noire.** Un serveur qui correspond à n'importe quelle entrée de liste noire, par URL, commande ou nom, est bloqué. Rien ne remplace une correspondance de liste noire.

3303. **Vérifier la liste blanche.** Si `allowedMcpServers` n'est défini nulle part, tous les serveurs qui ont réussi la liste noire se chargent. S'il est défini, ce que le serveur doit correspondre dépend de son type, montré dans le tableau ci-dessous.3413. **Vérifier la liste blanche.** Si `allowedMcpServers` n'est défini nulle part, tous les serveurs qui ont réussi la liste noire se chargent. S'il est défini, ce que le serveur doit correspondre dépend de son type, montré dans le tableau ci-dessous.

331 342 

332 Les serveurs de l'organisation ignorent cette vérification : chaque entrée `managedMcpServers`, et toute entrée `managed-mcp.json` dont les valeurs n'utilisent pas d'expansion `${VAR}`. Les serveurs intégrés l'ignorent aussi, comme Claude dans Chrome, le serveur `ide` auquel Claude Code se connecte dans un IDE VS Code ou JetBrains en cours d'exécution, et les serveurs que l'interface CLI elle-même configure.343 Trois groupes de serveurs ignorent cette vérification :

344 

345 * Les serveurs de l'organisation : chaque entrée `managedMcpServers`, et toute entrée `managed-mcp.json` dont les valeurs n'utilisent pas d'expansion `${VAR}`.

346 * Les serveurs intégrés, comme Claude dans Chrome, le serveur `ide` auquel Claude Code se connecte dans un IDE VS Code ou JetBrains en cours d'exécution, et les serveurs que l'interface CLI elle-même configure.

347 * Les outils Slack d'une session [Claude Tag](/docs/fr/claude-tag) : les serveurs qu'elle utilise pour lire le fil et publier ses réponses se chargent sans entrée de liste blanche.

333 348 

334 Un serveur `managed-mcp.json` qui utilise l'expansion `${VAR}` dans sa commande, ses arguments, `env`, son URL ou ses en-têtes est toujours vérifié, tout comme tous les serveurs qu'un utilisateur, un plugin, `--mcp-config` ou claude.ai ajoute.349 Un serveur `managed-mcp.json` qui utilise l'expansion `${VAR}` dans sa commande, ses arguments, `env`, son URL ou ses en-têtes est toujours vérifié. Il en va de même pour tous les serveurs qu'un utilisateur, un plugin, ou claude.ai ajoute, et tous les serveurs qu'un utilisateur transmet avec `--mcp-config`.

335 350 

336| Type de serveur | Autorisé quand il correspond |351| Type de serveur | Autorisé quand il correspond |

337| :- | :- |352| :- | :- |


514| Restriction | Ce que l'utilisateur voit |529| Restriction | Ce que l'utilisateur voit |

515| :- | :- |530| :- | :- |

516| `managed-mcp.json` est présent et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |531| `managed-mcp.json` est présent et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server: enterprise MCP configuration is active and has exclusive control over MCP servers` |

532| `managed-mcp.json` est présent et un utilisateur qui pourrait autrement exécuter Claude dans Chrome exécute `claude --chrome` | Claude Code se ferme au démarrage avec `Claude in Chrome is blocked by your organization's managed MCP configuration (managed-mcp.json). An administrator can allow it with allowClaudeInChromeWithManagedMcp in device policy.` |

517| Le serveur est sur une liste de blocage et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |533| Le serveur est sur une liste de blocage et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": server is explicitly blocked by enterprise policy` |

518| Le serveur n'est pas sur la liste d'autorisation et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |534| Le serveur n'est pas sur la liste d'autorisation et l'utilisateur exécute `claude mcp add` | `Cannot add MCP server "<name>": not allowed by enterprise policy` |

519| L'utilisateur exécute `claude mcp remove` sur un serveur de `managedMcpServers` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |535| L'utilisateur exécute `claude mcp remove` sur un serveur de `managedMcpServers` | `MCP server "<name>" is provided by your organization (managed settings) and cannot be removed locally.` |


532 Résumé de la configuration548 Résumé de la configuration

533</h2>549</h2>

534 550 

535Chaque fichier et paramètre couvert par cette page, ce qu'il contrôle et comment le livrer :551Chaque fichier et paramètre que cette page couvre, ce qu'il contrôle et comment le livrer :

536 552 

537| Surface | Ce qu'il contrôle | Où il se trouve | Comment le livrer |553| Surface | Ce qu'il contrôle | Où il se trouve | Comment le livrer |

538| :- | :- | :- | :- |554| :- | :- | :- | :- |

539| `managed-mcp.json` | Ensemble de serveurs fixe, contrôle exclusif | Chemin système : `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, ou `C:\Program Files\ClaudeCode\` | MDM, GPO, gestion de flotte, ou tout processus disposant de privilèges administrateur. Ne peut pas être défini via les paramètres gérés par le serveur |555| `managed-mcp.json` | Ensemble de serveurs fixe, contrôle exclusif | Chemin système : `/Library/Application Support/ClaudeCode/`, `/etc/claude-code/`, ou `C:\Program Files\ClaudeCode\` | MDM, GPO, gestion de flotte, ou tout processus disposant de privilèges administrateur. Ne peut pas être défini via les paramètres gérés par le serveur |

540| `managedMcpServers` | Serveurs distants fournis à chaque utilisateur aux côtés des leurs | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, une politique de passerelle, `managed-settings.json`, profil MDM, ou registre HKLM |556| `managedMcpServers` | Serveurs distants fournis à chaque utilisateur aux côtés des leurs | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, une politique de passerelle, `managed-settings.json`, profil MDM, ou registre HKLM |

541| `allowedMcpServers` | Liste d'autorisation des serveurs autorisés | N'importe quel [scope de paramètres](/docs/fr/settings#where-settings-live) ; [Comment un serveur est évalué](#how-a-server-is-evaluated) indique comment les listes de plusieurs scopes et sources gérées se combinent | Pour l'application, une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, `managed-settings.json`, profil MDM, ou registre |557| `allowedMcpServers` | Liste blanche des serveurs autorisés | N'importe quel [scope de paramètres](/docs/fr/settings#where-settings-live) ; [Comment un serveur est évalué](#how-a-server-is-evaluated) explique comment les listes de plusieurs scopes et sources gérées se combinent | Pour l'application, une [source de paramètres gérés](/docs/fr/admin-setup#decide-how-settings-reach-devices) : paramètres gérés par le serveur, `managed-settings.json`, profil MDM, ou registre |

542| `deniedMcpServers` | Liste de refus des serveurs bloqués | N'importe quel scope de paramètres ; [Comment un serveur est évalué](#how-a-server-is-evaluated) indique comment les listes de plusieurs scopes et sources gérées se combinent | Identique à `allowedMcpServers` |558| `deniedMcpServers` | Liste noire des serveurs bloqués | N'importe quel scope de paramètres ; [Comment un serveur est évalué](#how-a-server-is-evaluated) explique comment les listes de plusieurs scopes et sources gérées se combinent | Identique à `allowedMcpServers` |

543| `allowManagedMcpServersOnly` | Verrouille la liste d'autorisation aux sources gérées uniquement | Sources de paramètres gérés uniquement ; [Clés lues à partir de chaque source admin](/docs/fr/managed-settings#keys-read-from-every-admin-source) indique quelles sources gérées peuvent l'activer. Le paramètre n'a aucun effet dans les autres scopes | Identique à `allowedMcpServers` |559| `allowManagedMcpServersOnly` | Verrouille la liste blanche aux sources gérées uniquement | Sources de paramètres gérés uniquement ; [Clés lues à partir de chaque source admin](/docs/fr/managed-settings#keys-read-from-every-admin-source) explique quelles sources gérées peuvent l'activer. Le paramètre n'a aucun effet dans les autres scopes | Identique à `allowedMcpServers` |

560| `allowClaudeInChromeWithManagedMcp` | Permet au serveur Claude intégré dans Chrome de s'exécuter aux côtés de `managed-mcp.json` | Paramètres gérés sur l'appareil uniquement : un profil MDM, le registre HKLM, ou `managed-settings.json`. Les paramètres gérés par le serveur et les sources accessibles en écriture par l'utilisateur n'ont aucun effet | MDM, GPO, gestion de flotte, ou tout processus disposant de privilèges administrateur |

544| `allowAllClaudeAiMcps` | Charge les connecteurs claude.ai que Claude Code récupère lui-même aux côtés de `managed-mcp.json`. [Un `managed-mcp.json` sur l'hôte qui exécute une session cloud supprime toujours les connecteurs de cette session](#allow-claude-ai-connectors-alongside-the-managed-set) | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Identique à `allowedMcpServers` |561| `allowAllClaudeAiMcps` | Charge les connecteurs claude.ai que Claude Code récupère lui-même aux côtés de `managed-mcp.json`. [Un `managed-mcp.json` sur l'hôte qui exécute une session cloud supprime toujours les connecteurs de cette session](#allow-claude-ai-connectors-alongside-the-managed-set) | Sources de paramètres gérés uniquement ; le paramètre n'a aucun effet ailleurs | Identique à `allowedMcpServers` |

545 562 

546<h2 id="related-resources">563<h2 id="related-resources">

Details

430<span id="managed-only-settings" />430<span id="managed-only-settings" />

431 431 

432<h2 id="keys-only-a-managed-source-can-set">432<h2 id="keys-only-a-managed-source-can-set">

433 Clés qu'une source gérée seule peut définir433 Clés que seule une source gérée peut définir

434</h2>434</h2>

435 435 

436Claude Code lit les clés suivantes uniquement d'une source gérée ; les placer dans les fichiers de paramètres utilisateur ou projet n'a aucun effet.436Claude Code lit les clés suivantes uniquement à partir d'une source gérée ; les placer dans les fichiers de paramètres utilisateur ou projet n'a aucun effet.

437 437 

438La plupart d'entre elles sont des verrous : la valeur qu'un verrou gouverne, comme les règles de permission ou `sandbox.network.allowedDomains`, est une clé ordinaire que n'importe quel niveau peut définir, et le verrou dit à Claude Code d'honorer uniquement la valeur gérée.438La plupart d'entre elles sont des verrous : la valeur qu'un verrou gouverne, comme les règles de permission ou `sandbox.network.allowedDomains`, est une clé ordinaire que n'importe quel niveau peut définir, et le verrou indique à Claude Code de n'honorer que la valeur gérée.

439 439 

440Le tableau couvre les contrôles de permission, plugin et livraison. Pour toute clé non énumérée ici, la colonne Scope de l'[index de référence des paramètres](/docs/fr/settings-reference#all-settings) dit si elle est gérée uniquement ; les clés gérées uniquement restantes là incluent l'URL de connexion à la passerelle, la version, le navigateur, le simulateur mobile, l'hôte SSH, la session locale Desktop, le chemin binaire sandbox, la tarification du modèle, la restriction du modèle, et les contrôles CLAUDE.md.440Le tableau couvre les contrôles de permission, de plugin et de livraison. Pour toute clé non listée ici, la colonne Scope de l'index de [référence des paramètres](/docs/fr/settings-reference#all-settings) indique si elle est réservée aux sources gérées ; les clés restantes réservées aux sources gérées incluent l'URL de connexion de la passerelle, la version, le navigateur, le simulateur mobile, l'hôte SSH, la session locale Desktop, le chemin binaire du sandbox, la tarification du modèle, la restriction du modèle et les contrôles CLAUDE.md.

441 441 

442| Paramètre | Description |442| Paramètre | Description |

443| :- | :- |443| :- | :- |

444| [`allowAllClaudeAiMcps`](/docs/fr/settings-reference#allowallclaudeaimcps) | Charger les connecteurs claude.ai que Claude Code récupère lui-même aux côtés d'un `managed-mcp.json` déployé au lieu de les supprimer |444| [`allowAllClaudeAiMcps`](/docs/fr/settings-reference#allowallclaudeaimcps) | Charger les connecteurs claude.ai que Claude Code récupère lui-même aux côtés d'un `managed-mcp.json` déployé au lieu de les supprimer |

445| [`allowedChannelPlugins`](/docs/fr/settings-reference#allowedchannelplugins) | Liste d'autorisation des plugins de canal qui peuvent pousser des messages. Remplace la liste d'autorisation Anthropic par défaut quand défini. Nécessite `channelsEnabled: true`. Consultez [Restreindre quels plugins de canal peuvent s'exécuter](/docs/fr/channels#restrict-which-channel-plugins-can-run) |445| [`allowedChannelPlugins`](/docs/fr/settings-reference#allowedchannelplugins) | Liste blanche des plugins de canal qui peuvent envoyer des messages. Remplace la liste blanche Anthropic par défaut lorsqu'elle est définie. Nécessite `channelsEnabled: true`. Voir [Restreindre les plugins de canal qui peuvent s'exécuter](/docs/fr/channels#restrict-which-channel-plugins-can-run) |

446| [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) | Quand `true`, restreint quels hooks s'exécutent ; consultez [ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) pour la liste complète des effets |446| [`allowManagedHooksOnly`](/docs/fr/settings-reference#allowmanagedhooksonly) | Lorsque `true`, restreint les hooks qui s'exécutent ; voir [ce qui s'exécute sous `allowManagedHooksOnly`](/docs/fr/settings-reference#what-runs-under-allowmanagedhooksonly) pour la liste complète des effets |

447| [`allowManagedMcpServersOnly`](/docs/fr/settings-reference#allowmanagedmcpserversonly) | Quand `true`, seul `allowedMcpServers` des paramètres gérés est respecté. `deniedMcpServers` fusionne toujours de toutes les sources. Consultez [Clés lues de chaque source d'administrateur](#keys-read-from-every-admin-source) pour savoir quelles sources gérées peuvent le définir, et [Configuration MCP gérée](/docs/fr/managed-mcp) |447| [`allowManagedMcpServersOnly`](/docs/fr/settings-reference#allowmanagedmcpserversonly) | Lorsque `true`, seuls les `allowedMcpServers` des paramètres gérés sont respectés. `deniedMcpServers` fusionne toujours à partir de toutes les sources. Voir [Clés lues à partir de chaque source d'administration](#keys-read-from-every-admin-source) pour savoir quelles sources gérées peuvent la définir, et [Configuration MCP gérée](/docs/fr/managed-mcp) |

448| [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) | Rend les paramètres gérés la seule source de paramètres des règles de permission. L'entrée énumère chaque source qu'elle ignore |448| [`allowManagedPermissionRulesOnly`](/docs/fr/settings-reference#allowmanagedpermissionrulesonly) | Rend les paramètres gérés la seule source de paramètres des règles de permission. L'entrée liste chaque source qu'elle ignore |

449| [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) | Liste de blocage des sources de place de marché. Les sources bloquées sont vérifiées avant le téléchargement, donc elles ne touchent jamais le système de fichiers. Consultez [restrictions de place de marché gérée](/docs/fr/plugins/org#restrict-what-users-can-install) |449| [`blockedMarketplaces`](/docs/fr/settings-reference#blockedmarketplaces) | Liste noire des sources de marketplace. Les sources bloquées sont vérifiées avant le téléchargement, elles ne touchent donc jamais le système de fichiers. Voir [restrictions de marketplace gérées](/docs/fr/plugins/org#restrict-what-users-can-install) |

450| [`channelsEnabled`](/docs/fr/settings-reference#channelsenabled) | Autoriser les [canaux](/docs/fr/channels) pour l'organisation. Consultez [contrôles d'entreprise](/docs/fr/channels#enterprise-controls) pour la valeur par défaut sur chaque plan |450| [`channelsEnabled`](/docs/fr/settings-reference#channelsenabled) | Autoriser les [canaux](/docs/fr/channels) pour l'organisation. Voir [contrôles d'entreprise](/docs/fr/channels#enterprise-controls) pour la valeur par défaut sur chaque plan |

451| [`disableCommandPluginSources`](/docs/fr/settings-reference#disablecommandpluginsources) | Quand `true`, bloque entièrement les [sources de plugin `command`](/docs/fr/plugins/marketplace-reference#command-plugin-source), donc la commande déclarée par la place de marché ne s'exécute jamais. Bloque également les commandes [`headersHelper`](/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) de la place de marché, sauf pour une place de marché que les paramètres gérés eux-mêmes déclarent. Quand non défini, suit `allowManagedHooksOnly`. Nécessite Claude Code v2.1.229 ou ultérieur, et le bloc `headersHelper` nécessite v2.1.238 ou ultérieur |451| [`disableCommandPluginSources`](/docs/fr/settings-reference#disablecommandpluginsources) | Lorsque `true`, bloque entièrement les [sources de plugin `command`](/docs/fr/plugins/marketplace-reference#command-plugin-source), de sorte que la commande déclarée par le marketplace ne s'exécute jamais. Bloque également les commandes [`headersHelper`](/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) du marketplace, sauf pour un marketplace que les paramètres gérés eux-mêmes déclarent. Lorsque non défini, suit `allowManagedHooksOnly`. Nécessite Claude Code v2.1.229 ou ultérieur, et le bloc `headersHelper` nécessite v2.1.238 ou ultérieur |

452| [`disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags) | Rejeter les drapeaux `--plugin-dir`, `--plugin-url`, `--agents`, et `--mcp-config` au démarrage. Dans les sessions cloud, Claude Code supprime les serveurs MCP que le serveur a livrés via `--mcp-config`, autres que les entrées `type: "sdk"` en processus, et démarre la session. Nécessite Claude Code v2.1.193 ou ultérieur |452| [`disableSideloadFlags`](/docs/fr/settings-reference#disablesideloadflags) | Rejeter les drapeaux `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage. Dans les sessions cloud, Claude Code démarre plutôt la session et supprime les serveurs `--mcp-config` livrés par le serveur, à l'exception des exceptions que son [entrée de référence](/docs/fr/settings-reference#disablesideloadflags) liste. Nécessite Claude Code v2.1.193 ou ultérieur |

453| [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh) | Quand `true`, bloque le démarrage CLI jusqu'à ce que les paramètres gérés distants soient fraîchement récupérés et se termine si la récupération échoue. Consultez [application fail-closed](/docs/fr/server-managed-settings#enforce-fail-closed-startup) |453| [`forceRemoteSettingsRefresh`](/docs/fr/settings-reference#forceremotesettingsrefresh) | Lorsque `true`, bloque le démarrage de la CLI jusqu'à ce que les paramètres gérés distants soient fraîchement récupérés et se termine si la récupération échoue. Voir [application de fermeture en cas d'échec](/docs/fr/server-managed-settings#enforce-fail-closed-startup) |

454| [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers) | Serveurs MCP distants fournis à chaque utilisateur aux côtés des leurs. Il fournit des serveurs plutôt que de verrouiller quoi que ce soit. Consultez [Fournir des serveurs via les paramètres gérés](/docs/fr/managed-mcp#provide-servers-through-managed-settings). Nécessite Claude Code v2.1.259 ou ultérieur |454| [`managedMcpServers`](/docs/fr/settings-reference#managedmcpservers) | Serveurs MCP distants fournis à chaque utilisateur aux côtés des leurs. Il fournit des serveurs plutôt que de verrouiller quoi que ce soit. Voir [Fournir des serveurs via les paramètres gérés](/docs/fr/managed-mcp#provide-servers-through-managed-settings). Nécessite Claude Code v2.1.259 ou ultérieur |

455| [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) | Si Claude Code applique uniquement la source gérée de priorité la plus élevée ou [compose chacune d'elles](#compose-every-managed-source) |455| [`managedSourcesBehavior`](/docs/fr/settings-reference#managedsourcesbehavior) | Si Claude Code applique uniquement la source gérée de plus haute priorité ou [compose chacune d'elles](#compose-every-managed-source) |

456| [`parentSettingsBehavior`](/docs/fr/settings-reference#parentsettingsbehavior) | Si les paramètres parent fournis par l'hôte fusionnent sous la politique gérée |456| [`parentSettingsBehavior`](/docs/fr/settings-reference#parentsettingsbehavior) | Si les paramètres parents fournis par l'hôte fusionnent selon la politique gérée |

457| [`pluginSuggestionMarketplaces`](/docs/fr/settings-reference#pluginsuggestionmarketplaces) | Places de marché dont les plugins Claude Code peut suggérer aux utilisateurs |457| [`pluginSuggestionMarketplaces`](/docs/fr/settings-reference#pluginsuggestionmarketplaces) | Marketplaces dont les plugins Claude Code peut suggérer aux utilisateurs |

458| [`pluginTrustMessage`](/docs/fr/settings-reference#plugintrustmessage) | Message personnalisé ajouté à l'avertissement de confiance du plugin affiché avant l'installation |458| [`pluginTrustMessage`](/docs/fr/settings-reference#plugintrustmessage) | Message personnalisé ajouté à l'avertissement de confiance du plugin affiché avant l'installation |

459| [`policyHelper`](/docs/fr/settings-reference#policyhelper) | Exécutable qui calcule les paramètres gérés au démarrage ; consultez [Calculer les paramètres gérés avec un aide de politique](/docs/fr/settings-reference#policyhelper) |459| [`policyHelper`](/docs/fr/settings-reference#policyhelper) | Exécutable qui calcule les paramètres gérés au démarrage ; voir [Calculer les paramètres gérés avec un assistant de politique](/docs/fr/settings-reference#policyhelper) |

460| [`sandbox.filesystem.allowManagedReadPathsOnly`](/docs/fr/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | Quand `true`, seuls les chemins `filesystem.allowRead` des paramètres gérés sont respectés. `denyRead` fusionne toujours de toutes les sources |460| [`sandbox.filesystem.allowManagedReadPathsOnly`](/docs/fr/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) | Lorsque `true`, seuls les chemins `filesystem.allowRead` des paramètres gérés sont respectés. `denyRead` fusionne toujours à partir de toutes les sources |

461| [`sandbox.network.allowManagedDomainsOnly`](/docs/fr/settings-reference#sandbox-network-allowmanageddomainsonly) | Honorer uniquement les `allowedDomains` gérés et les règles d'autorisation `WebFetch(domain:...)` ; bloquer les autres domaines sans demander |461| [`sandbox.network.allowManagedDomainsOnly`](/docs/fr/settings-reference#sandbox-network-allowmanageddomainsonly) | Honorer uniquement les règles d'autorisation `allowedDomains` et `WebFetch(domain:...)` gérées ; bloquer les autres domaines sans demander |

462| [`strictKnownMarketplaces`](/docs/fr/settings-reference#strictknownmarketplaces) | Contrôle quelles sources de place de marché de plugin les utilisateurs peuvent ajouter et installer des plugins. Consultez [restrictions de place de marché gérée](/docs/fr/plugins/org#restrict-what-users-can-install) |462| [`strictKnownMarketplaces`](/docs/fr/settings-reference#strictknownmarketplaces) | Contrôle les sources de marketplace de plugins à partir desquelles les utilisateurs peuvent ajouter et installer des plugins. Voir [restrictions de marketplace gérées](/docs/fr/plugins/org#restrict-what-users-can-install) |

463| [`strictPluginOnlyCustomization`](/docs/fr/settings-reference#strictpluginonlycustomization) | Bloquer les skills, agents, hooks, et serveurs MCP des sources utilisateur et projet ; `true` verrouille les quatre, un tableau nomme lesquels |463| [`strictPluginOnlyCustomization`](/docs/fr/settings-reference#strictpluginonlycustomization) | Bloquer les skills, agents, hooks et serveurs MCP à partir des sources utilisateur et projet ; `true` verrouille les quatre, un tableau nomme lesquels |

464| [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings) | Quand défini dans le registre HKLM ou un fichier sous `C:\Program Files\ClaudeCode`, faire que WSL lise la chaîne de politique Windows, et lire `/etc/claude-code` uniquement quand [aucun document d'administrateur Windows n'est présent](#present-admin-documents) ; l'entrée donne l'ordre |464| [`wslInheritsWindowsSettings`](/docs/fr/settings-reference#wslinheritswindowssettings) | Lorsqu'elle est définie dans le registre HKLM ou un fichier sous `C:\Program Files\ClaudeCode`, faire en sorte que WSL lise la chaîne de politique Windows, et lise `/etc/claude-code` uniquement lorsque [aucun document d'administration Windows n'est présent](#present-admin-documents) ; l'entrée donne l'ordre |

465 465 

466<Note>466<Note>

467 Sur les plans Team et Enterprise, un Owner active ou désactive [Remote Control](/docs/fr/remote-control) et [sessions web](/docs/fr/claude-code-on-the-web) à l'échelle de l'organisation dans [les paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control peut en outre être désactivé par appareil avec le paramètre [`disableRemoteControl`](/docs/fr/settings-reference#disableremotecontrol). Les sessions web n'ont pas de clé de paramètres gérés par appareil.467 Sur les plans Team et Enterprise, un propriétaire active ou désactive [Remote Control](/docs/fr/remote-control) et les [sessions cloud](/docs/fr/claude-code-on-the-web) à l'échelle de l'organisation dans les [paramètres d'administration Claude Code](https://claude.ai/admin-settings/claude-code). Remote Control peut également être désactivé par appareil avec le paramètre [`disableRemoteControl`](/docs/fr/settings-reference#disableremotecontrol). Les sessions cloud n'ont pas de clé de paramètres gérés par appareil.

468 468 

469 Pour vérifier si ces paramètres d'organisation ont atteint une machine donnée, exécutez `claude doctor` là et lisez la ligne `Organization policy`, qui dit où Claude Code a chargé la politique ou pourquoi il ne l'a pas chargée. Nécessite Claude Code v2.1.261 ou ultérieur. Dans une session en cours d'exécution, `/status` affiche la même ligne quand la politique n'a pas été chargée.469 Pour vérifier si ces paramètres d'organisation ont atteint une machine donnée, exécutez `claude doctor` là-bas et lisez la ligne `Organization policy`, qui indique où Claude Code a chargé la politique ou pourquoi elle n'a pas été chargée. Nécessite Claude Code v2.1.261 ou ultérieur. Dans une session en cours, `/status` affiche la même ligne lorsque la politique n'a pas été chargée.

470</Note>470</Note>

471 471 

472<h2 id="turn-telemetry-off-for-your-organization">472<h2 id="turn-telemetry-off-for-your-organization">

mcp.md +3 −3

Details

542 * Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), un appel MCP à un serveur de plugin qui n'est pas encore connecté, tel que juste après le réveil d'une session inactive, démarre le serveur à la demande et attend qu'il se connecte542 * Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), un appel MCP à un serveur de plugin qui n'est pas encore connecté, tel que juste après le réveil d'une session inactive, démarre le serveur à la demande et attend qu'il se connecte

543* **Espaces réservés de chemin** : `${CLAUDE_PLUGIN_ROOT}` se résout au répertoire d'installation du plugin, `${CLAUDE_PLUGIN_DATA}` à son répertoire d'[état persistant](/docs/fr/plugins/components#path-variables-and-persistent-data), et `${CLAUDE_PROJECT_DIR}` à la racine de projet stable. La substitution s'applique à :543* **Espaces réservés de chemin** : `${CLAUDE_PLUGIN_ROOT}` se résout au répertoire d'installation du plugin, `${CLAUDE_PLUGIN_DATA}` à son répertoire d'[état persistant](/docs/fr/plugins/components#path-variables-and-persistent-data), et `${CLAUDE_PROJECT_DIR}` à la racine de projet stable. La substitution s'applique à :

544 * serveurs `stdio` : `command`, `args`, `env`544 * serveurs `stdio` : `command`, `args`, `env`

545 * serveurs `http`, `sse`, et `ws` : `url`, `headers`, et `headersHelper`. Avant la v2.1.195, `headersHelper` transmettait l'espace réservé comme une chaîne littérale545 * serveurs `http`, `sse`, et `ws` : `url`, `headers`, et `headersHelper`

546* **Accès à l'environnement utilisateur** : accès aux mêmes variables d'environnement que les serveurs configurés manuellement546* **Accès à l'environnement utilisateur** : accès aux mêmes variables d'environnement que les serveurs configurés manuellement

547* **Types de transport multiples** : support pour les transports stdio, SSE, HTTP, et WebSocket, bien que le support de transport puisse varier selon le serveur547* **Types de transport multiples** : support pour les transports stdio, SSE, HTTP, et WebSocket, bien que le support de transport puisse varier selon le serveur

548 548 


1101 1101 

1102| Où vous avez configuré le serveur | Répertoire de travail |1102| Où vous avez configuré le serveur | Répertoire de travail |

1103| :- | :- |1103| :- | :- |

1104| Un [plugin](/docs/fr/plugins/components#mcp-servers) | Le répertoire racine du plugin. Nécessite Claude Code v2.1.195 ou ultérieur |1104| Un [plugin](/docs/fr/plugins/components#mcp-servers) | Le répertoire racine du plugin |

1105| Un `.mcp.json` de projet ou un serveur de [portée locale](#local-scope) | Le répertoire du projet dans lequel le serveur est déclaré |1105| Un `.mcp.json` de projet ou un serveur de [portée locale](#local-scope) | Le répertoire du projet dans lequel le serveur est déclaré |

1106| Un fichier agent dans votre projet, un serveur de l'option `mcpServers` du SDK ou de la méthode `setMcpServers()`, ou [`--mcp-config`](/docs/fr/cli-reference) | Le [répertoire de travail principal](/docs/fr/permissions#working-directories) de la session |1106| Un fichier agent dans votre projet, un serveur de l'option `mcpServers` du SDK ou de la méthode `setMcpServers()`, ou [`--mcp-config`](/docs/fr/cli-reference) | Le [répertoire de travail principal](/docs/fr/permissions#working-directories) de la session |

1107| [Portée utilisateur](#user-scope), [MCP géré](/docs/fr/managed-mcp), un [connecteur claude.ai](#use-mcp-servers-from-claude-ai), ou un fichier agent en dehors de votre projet, y compris un d'un répertoire `--add-dir` | Votre répertoire de configuration, `~/.claude` sauf si vous avez défini [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars) |1107| [Portée utilisateur](#user-scope), [MCP géré](/docs/fr/managed-mcp), un [connecteur claude.ai](#use-mcp-servers-from-claude-ai), ou un fichier agent en dehors de votre projet, y compris un d'un répertoire `--add-dir` | Votre répertoire de configuration, `~/.claude` sauf si vous avez défini [`CLAUDE_CONFIG_DIR`](/docs/fr/env-vars) |


1440 1440 

1441Votre serveur reçoit les arguments que Claude a choisis, alors continuez à valider la combinaison côté serveur.1441Votre serveur reçoit les arguments que Claude a choisis, alors continuez à valider la combinaison côté serveur.

1442 1442 

1443Quand Claude Code ne peut pas produire un schéma que l'API accepte, ou sur un déploiement qui ne reçoit pas la configuration distante qui active la réécriture, il ignore cet outil, enregistre la raison dans le journal du serveur, et laisse les autres outils du serveur disponibles. Les versions antérieures à v2.1.195 ignorent chaque outil dont le schéma d'entrée a un `anyOf`, `oneOf`, ou `allOf` au niveau racine.1443Quand Claude Code ne peut pas produire un schéma que l'API accepte, ou sur un déploiement qui ne reçoit pas la configuration distante qui active la réécriture, il ignore cet outil, enregistre la raison dans le journal du serveur, et laisse les autres outils du serveur disponibles.

1444 1444 

1445<h2 id="tools-with-invalid-input-schemas">1445<h2 id="tools-with-invalid-input-schemas">

1446 Outils avec des schémas d'entrée invalides1446 Outils avec des schémas d'entrée invalides

memory.md +20 −10

Details

89 Écrire des instructions efficaces89 Écrire des instructions efficaces

90</h3>90</h3>

91 91 

92Les fichiers CLAUDE.md sont chargés dans la fenêtre de contexte au début de chaque session, consommant des jetons aux côtés de votre conversation. La [visualisation de la fenêtre de contexte](/docs/fr/context-window) montre où CLAUDE.md se charge par rapport au reste du contexte de démarrage. Parce qu'ils sont du contexte plutôt qu'une configuration appliquée, la façon dont vous écrivez les instructions affecte la fiabilité avec laquelle Claude les suit. Les instructions spécifiques, concises et bien structurées fonctionnent mieux.92Claude traite les fichiers CLAUDE.md comme du contexte, pas comme une configuration appliquée, donc la façon dont vous écrivez les instructions affecte la fiabilité avec laquelle Claude les suit. Écrivez des instructions suffisamment concrètes pour être vérifiables :

93 

94**Taille** : visez moins de 200 lignes par fichier CLAUDE.md. Les fichiers plus longs consomment plus de contexte et réduisent l'adhérence. Si vos instructions deviennent trop volumineuses, utilisez [les règles scoped par chemin](#path-specific-rules) pour que les instructions ne se chargent que quand Claude travaille avec des fichiers correspondants. Vous pouvez également diviser le contenu en [imports](#import-additional-files) pour l'organisation, bien que les fichiers importés se chargent toujours et entrent dans la fenêtre de contexte au lancement.

95 

96**Structure** : utilisez les en-têtes markdown et les puces pour regrouper les instructions connexes. Claude scanne la structure de la même manière que les lecteurs : les sections organisées sont plus faciles à suivre que les paragraphes denses.

97 

98**Spécificité** : écrivez des instructions suffisamment concrètes pour être vérifiables. Par exemple :

99 93 

100* « Utiliser l'indentation à 2 espaces » au lieu de « Formater le code correctement »94* « Utiliser l'indentation à 2 espaces » au lieu de « Formater le code correctement »

101* « Exécuter `npm test` avant de valider » au lieu de « Testez vos modifications »95* « Exécuter `npm test` avant de valider » au lieu de « Testez vos modifications »

102* « Les gestionnaires d'API se trouvent dans `src/api/handlers/` » au lieu de « Gardez les fichiers organisés »96* « Les gestionnaires d'API se trouvent dans `src/api/handlers/` » au lieu de « Gardez les fichiers organisés »

103 97 

104**Cohérence** : si deux règles se contredisent, Claude peut en choisir une arbitrairement. Examinez régulièrement vos fichiers CLAUDE.md, les fichiers CLAUDE.md imbriqués dans les sous-répertoires et [`.claude/rules/`](#organize-rules-with-claude/rules/) pour supprimer les instructions obsolètes ou conflictuelles. Dans les monorepos, utilisez [`claudeMdExcludes`](#exclude-specific-claude-md-files) pour ignorer les fichiers CLAUDE.md d'autres équipes qui ne sont pas pertinents pour votre travail.98Gardez vos fichiers courts, organisés et cohérents :

99 

100* **Taille** : visez moins de 200 lignes par fichier CLAUDE.md. Les fichiers plus longs consomment plus de contexte et réduisent l'adhérence. Déplacez les instructions qui ne concernent qu'une partie de la base de code vers [les règles scoped par chemin](#path-specific-rules), qui ne se chargent que quand Claude travaille avec des fichiers correspondants. Les [imports](#import-additional-files) vous aident à organiser un fichier long mais ne réduisent pas son coût de contexte, car les fichiers importés se chargent également au lancement.

101* **Structure** : regroupez les instructions connexes sous des en-têtes markdown et des puces. Les sections organisées sont plus faciles à suivre pour Claude que les paragraphes denses.

102* **Cohérence** : si deux instructions se contredisent, Claude peut en choisir une arbitrairement. Examinez régulièrement vos fichiers CLAUDE.md, les fichiers CLAUDE.md imbriqués dans les sous-répertoires et [`.claude/rules/`](#organize-rules-with-claude/rules/) pour supprimer les instructions obsolètes ou conflictuelles. Pour que Claude les trouve pour vous, [exécutez un audit d'invite](#audit-your-instruction-files).

103 

104<h4 id="audit-your-instruction-files">

105 Auditer vos fichiers d'instructions

106</h4>

105 107 

106Pour que Claude vérifie ces fichiers pour les instructions obsolètes ou conflictuelles, exécutez `/doctor prompt-audit` dans une session. Claude lit vos fichiers CLAUDE.md, CLAUDE.local.md et AGENTS.md, plus les règles, compétences, commandes, sous-agents et styles de sortie sous `.claude/` et `~/.claude/`. Il recherche des problèmes tels que les instructions écrites pour les anciens modèles, les références à des fichiers ou des commandes qui n'existent pas, et les fichiers qui se contredisent. Vous obtenez un rapport des résultats et un ensemble de modifications proposées, et rien dans vos fichiers ne change jusqu'à ce que vous demandiez à Claude de les appliquer.108Pour que Claude vérifie vos fichiers d'instructions pour les contenus obsolètes ou conflictuels, exécutez `/doctor prompt-audit` dans une session. Claude recherche des problèmes tels que les instructions écrites pour les anciens modèles, les références à des fichiers ou des commandes qui n'existent pas, et les fichiers qui se contredisent. Vous obtenez un rapport des résultats avec les modifications proposées, et rien dans vos fichiers ne change jusqu'à ce que vous demandiez à Claude de les appliquer.

107 109 

108Pour auditer un fichier ou un répertoire à la place, passez son chemin, par exemple `/doctor prompt-audit .claude/skills/deploy`. L'audit s'exécute via la compétence `/claude-api` groupée, de sorte qu'elle n'est pas disponible quand cette compétence est désactivée dans [`skillOverrides`](/docs/fr/skills#override-skill-visibility-from-settings) ou avec [`disableBundledSkills`](/docs/fr/settings-reference#disablebundledskills). `/doctor prompt-audit` nécessite Claude Code v2.1.283 ou ultérieur.110Par défaut, l'audit couvre vos fichiers CLAUDE.md, CLAUDE.local.md et AGENTS.md, plus les règles, compétences, commandes, sous-agents et styles de sortie sous `.claude/` et `~/.claude/`. Pour auditer un fichier ou un répertoire à la place, passez son chemin, par exemple `/doctor prompt-audit .claude/skills/deploy`.

111 

112L'audit s'exécute via la compétence `/claude-api` groupée. Elle n'est pas disponible quand cette compétence est désactivée dans [`skillOverrides`](/docs/fr/skills#override-skill-visibility-from-settings) ou avec [`disableBundledSkills`](/docs/fr/settings-reference#disablebundledskills). `/doctor prompt-audit` nécessite Claude Code v2.1.283 ou ultérieur.

109 113 

110<h3 id="import-additional-files">114<h3 id="import-additional-files">

111 Importer des fichiers supplémentaires115 Importer des fichiers supplémentaires


115 119 

116Les chemins relatifs et absolus sont autorisés. Les chemins relatifs se résolvent par rapport au fichier contenant l'import, pas au répertoire de travail. Les fichiers importés peuvent importer récursivement d'autres fichiers, avec une profondeur maximale de quatre sauts.120Les chemins relatifs et absolus sont autorisés. Les chemins relatifs se résolvent par rapport au fichier contenant l'import, pas au répertoire de travail. Les fichiers importés peuvent importer récursivement d'autres fichiers, avec une profondeur maximale de quatre sauts.

117 121 

122Pour importer un fichier dont le chemin contient des espaces, mettez une barre oblique inverse avant chaque espace. Sans les barres obliques inverses, le chemin se termine au premier espace, même quand l'import est sur une ligne à lui seul. Un chemin enveloppé entre guillemets n'est pas importé du tout, avec ou sans les barres obliques inverses. Cet import charge un fichier à partir d'un dossier nommé `Design Docs` :

123 

124```text theme={null}

125- Conventions d'API @Design\ Docs/api-conventions.md

126```

127 

118L'analyse d'import ignore les étendues de code Markdown et les blocs de code clôturés. Pour mentionner un chemin dans votre CLAUDE.md sans l'importer, enveloppez-le dans des backticks : écrire `` `@README` `` garde le texte littéral, tandis que `@README` en dehors des backticks importe le fichier.128L'analyse d'import ignore les étendues de code Markdown et les blocs de code clôturés. Pour mentionner un chemin dans votre CLAUDE.md sans l'importer, enveloppez-le dans des backticks : écrire `` `@README` `` garde le texte littéral, tandis que `@README` en dehors des backticks importe le fichier.

119 129 

120Pour intégrer un README, package.json et un guide de flux de travail, référencez-les avec la syntaxe `@` n'importe où dans votre CLAUDE.md :130Pour intégrer un README, package.json et un guide de flux de travail, référencez-les avec la syntaxe `@` n'importe où dans votre CLAUDE.md :

model-config.md +19 −17

Details

65Les alias pointent vers la version recommandée pour votre fournisseur et se mettent à jour au fil du temps. Pour épingler une version spécifique, utilisez le nom de modèle complet, par exemple `claude-opus-5-5`, ou définissez la variable d'environnement correspondante comme `ANTHROPIC_DEFAULT_OPUS_MODEL`.65Les alias pointent vers la version recommandée pour votre fournisseur et se mettent à jour au fil du temps. Pour épingler une version spécifique, utilisez le nom de modèle complet, par exemple `claude-opus-5-5`, ou définissez la variable d'environnement correspondante comme `ANTHROPIC_DEFAULT_OPUS_MODEL`.

66 66 

67<Note>67<Note>

68 Sonnet 5.5 nécessite Claude Code v2.1.284 ou ultérieur, et Opus 5.5 nécessite v2.1.280 ou ultérieur. Exécutez `claude update` pour mettre à jour.68 Sonnet 5.5 nécessite Claude Code v2.1.284 ou ultérieur, et Opus 5.5 nécessite v2.1.280 ou ultérieur. Si une demande pour l'un d'eux à partir d'une version plus ancienne échoue, consultez [Claude Code ne supporte pas ce modèle](/docs/fr/errors#claude-code-does-not-support-this-model). Exécutez `claude update` pour mettre à jour.

69</Note>69</Note>

70 70 

71<h3 id="work-with-fable">71<h3 id="work-with-fable">


104 104 

105Dans les sessions interactives, Claude Code affiche une invite de consentement avant qu'une demande Fable ne facture les crédits d'utilisation. Les membres des plans Enterprise avec facturation organisationnelle ne voient pas l'invite. Vous pouvez continuer sur Fable en utilisant les crédits d'utilisation ou basculer vers votre modèle par défaut. Vous pouvez également ignorer l'invite :105Dans les sessions interactives, Claude Code affiche une invite de consentement avant qu'une demande Fable ne facture les crédits d'utilisation. Les membres des plans Enterprise avec facturation organisationnelle ne voient pas l'invite. Vous pouvez continuer sur Fable en utilisant les crédits d'utilisation ou basculer vers votre modèle par défaut. Vous pouvez également ignorer l'invite :

106 106 

107* Dans le sélecteur `/model`, vous conservez votre modèle actuel.107* Lorsque vous sélectionnez un modèle Fable avec `/model`, vous conservez votre modèle actuel.

108* En cours de session, Claude Code continue le tour sur votre modèle par défaut.108* En cours de session, Claude Code continue le tour sur votre modèle par défaut.

109 109 

110Après avoir choisi de continuer sur Fable en utilisant les crédits d'utilisation, Claude Code n'affiche plus l'invite.110Après avoir choisi de continuer sur Fable en utilisant les crédits d'utilisation, Claude Code n'affiche plus l'invite.


117* Dans une session en arrière-plan, répondez avant la date limite.117* Dans une session en arrière-plan, répondez avant la date limite.

118* Si vous envoyez un nouveau message à partir du client distant avant que quelqu'un n'ait tapé au terminal, Claude Code termine le tour de la même manière, et votre nouveau message commence le tour suivant. Après que quelqu'un ait tapé au terminal, Claude Code continue d'attendre la réponse et met en file d'attente votre nouveau message derrière.118* Si vous envoyez un nouveau message à partir du client distant avant que quelqu'un n'ait tapé au terminal, Claude Code termine le tour de la même manière, et votre nouveau message commence le tour suivant. Après que quelqu'un ait tapé au terminal, Claude Code continue d'attendre la réponse et met en file d'attente votre nouveau message derrière.

119 119 

120En [mode non interactif](/docs/fr/headless) avec l'indicateur `-p` et via le SDK Agent, Claude Code n'affiche jamais l'invite de consentement. Lorsqu'une demande Fable là-bas serait facturée aux crédits d'utilisation, Claude Code la facture sans demander.120Dans une session qu'une autre application héberge via le [SDK Agent](/docs/fr/agent-sdk/overview), que l'invite apparaisse dépend de cette application. Si elle apparaît et que personne ne répond avant la même date limite [`dialogExpiry`](/docs/fr/settings-reference#dialogexpiry), Claude Code termine le tour sans envoyer la demande.

121 

122En [mode non interactif](/docs/fr/headless) avec l'indicateur `-p`, et dans une application SDK Agent qui n'affiche pas l'invite, Claude Code ne demande jamais le consentement. Lorsqu'une demande Fable là-bas serait facturée aux crédits d'utilisation, Claude Code la facture sans demander.

121 123 

122<h3 id="setting-your-model">124<h3 id="setting-your-model">

123 Définir votre modèle125 Définir votre modèle


164 166 

165Lorsque Claude Code ne peut pas dire quels hooks PreModelSwitch vos [plugins gérés](/docs/fr/settings-reference#enabledplugins) de l'organisation fournissent, par exemple parce qu'un plugin géré n'a pas pu se charger, il refuse le basculement plutôt que de l'appliquer sans vérification, et il vérifie à nouveau à chaque nouvelle tentative. Consultez [Le basculement de modèle a été bloqué par un hook PreModelSwitch](/docs/fr/errors#model-switch-was-blocked-by-a-premodelswitch-hook) pour le message et la récupération.167Lorsque Claude Code ne peut pas dire quels hooks PreModelSwitch vos [plugins gérés](/docs/fr/settings-reference#enabledplugins) de l'organisation fournissent, par exemple parce qu'un plugin géré n'a pas pu se charger, il refuse le basculement plutôt que de l'appliquer sans vérification, et il vérifie à nouveau à chaque nouvelle tentative. Consultez [Le basculement de modèle a été bloqué par un hook PreModelSwitch](/docs/fr/errors#model-switch-was-blocked-by-a-premodelswitch-hook) pour le message et la récupération.

166 168 

167Lorsque vous basculez les modèles via la méthode [`setModel()`](/docs/fr/agent-sdk/overview) du SDK Agent ou à partir d'un appareil connecté via [Contrôle à distance](/docs/fr/remote-control), ou une application telle que l'[application de bureau](/docs/fr/desktop) qui exécute le CLI Claude Code bascule pour vous, Claude Code vérifie que la chaîne est une qu'il reconnaît avant de l'enregistrer. Cette vérification nécessite Claude Code v2.1.200 ou ultérieur. La vérification d'un choix Contrôle à distance nécessite Claude Code v2.1.260 ou ultérieur sur votre machine. Sur l'API Anthropic, Claude Code reconnaît :169Lorsque vous basculez les modèles via la méthode [`setModel()`](/docs/fr/agent-sdk/overview) du SDK Agent, via une application telle que l'[application de bureau](/docs/fr/desktop), ou à partir d'un appareil connecté via [Contrôle à distance](/docs/fr/remote-control), Claude Code vérifie la valeur au basculement :

168 170 

169* un alias de modèle171* **SDK Agent ou une application** : avec Claude Code v2.1.268 ou ultérieur, sauf si Claude Code accepte un ID de modèle localement, comme il le fait pour votre [option de modèle personnalisé](#add-a-custom-model-option), il confirme l'ID auprès de votre fournisseur la première fois que la session bascule vers celui-ci. La confirmation s'exécute sur chaque fournisseur, et un ID que votre fournisseur n'offre pas est refusé au basculement au lieu d'échouer à votre prochaine demande.

170* une entrée du sélecteur `/model`172* **Contrôle à distance** : sur l'API Anthropic, Claude Code vérifie la valeur localement et n'envoie aucune demande.

171* tout nom qui commence par `claude-`

172* une valeur que vous avez configurée vous-même comme [option de modèle personnalisé](#add-a-custom-model-option) ou dans [`modelOverrides`](#override-model-ids-per-version)

173 173 

174Claude Code rejette une chaîne non reconnue avec `Model "<name>" is not a recognized model id.` et la session conserve son modèle actuel, au lieu d'enregistrer la chaîne et d'échouer à la prochaine demande. Consultez [la référence d'erreur](/docs/fr/errors#model-is-not-a-recognized-model-id) pour les étapes de récupération.174Consultez [Model is not a recognized model id](/docs/fr/errors#model-is-not-a-recognized-model-id) et [Model not found](/docs/fr/errors#model-not-found) pour les messages.

175 175 

176La vérification s'exécute uniquement sur l'API Anthropic. Sur Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), et derrière une [passerelle LLM](/docs/fr/llm-gateway) ou une `ANTHROPIC_BASE_URL` personnalisée, votre fournisseur ou passerelle définit les noms de modèle, donc Claude Code transmet n'importe quelle chaîne sans la vérifier. La vérification ne couvre pas non plus l'indicateur `--model`, la variable d'environnement `ANTHROPIC_MODEL`, ou le paramètre `model` ; une valeur mal orthographiée là-bas produit [Il y a un problème avec le modèle sélectionné](/docs/fr/errors#theres-an-issue-with-the-selected-model) à la première demande à la place. Claude Code peut toujours écrire la [ligne de diagnostic de modèle non reconnu](/docs/fr/errors#unrecognized-model-id-on-a-request) au moment de la demande, sur chaque fournisseur.176Si vous définissez le modèle avec l'indicateur `--model`, la variable d'environnement `ANTHROPIC_MODEL`, ou le paramètre `model`, Claude Code ne le vérifie pas à l'avance, et une valeur mal orthographiée produit [There's an issue with the selected model](/docs/fr/errors#theres-an-issue-with-the-selected-model) à la première demande.

177 177 

178Lorsque le modèle demandé a une date de retrait programmée ou est automatiquement remappé à une version plus récente, Claude Code affiche un avertissement qui nomme le modèle demandé. Les sessions interactives l'affichent comme un avis de démarrage. À partir de v2.1.182, le même avertissement est écrit sur stderr en [mode non interactif](/docs/fr/headless) lors de l'utilisation du format de sortie texte par défaut. La vérification couvre également un `model` défini dans [frontmatter de sous-agent](/docs/fr/sub-agents). L'avertissement stderr est supprimé pour `--output-format json` et `stream-json` ; lisez le modèle réel à partir du champ `modelUsage` du [message de résultat](/docs/fr/headless#get-structured-output) à la place.178Lorsque le modèle demandé a une date de retrait programmée ou est automatiquement remappé à une version plus récente, Claude Code affiche un avertissement qui nomme le modèle demandé. Les sessions interactives l'affichent comme un avis de démarrage. À partir de v2.1.182, le même avertissement est écrit sur stderr en [mode non interactif](/docs/fr/headless) lors de l'utilisation du format de sortie texte par défaut. La vérification couvre également un `model` défini dans [frontmatter de sous-agent](/docs/fr/sub-agents). L'avertissement stderr est supprimé pour `--output-format json` et `stream-json` ; lisez le modèle réel à partir du champ `modelUsage` du [message de résultat](/docs/fr/headless#get-structured-output) à la place.

179 179 


241 Restreindre la sélection de modèle241 Restreindre la sélection de modèle

242</h2>242</h2>

243 243 

244Les administrateurs d'entreprise peuvent utiliser `availableModels` dans les [paramètres gérés ou de politique](/docs/fr/managed-settings) pour restreindre les modèles que les utilisateurs peuvent sélectionner. Les entrées correspondent à une famille de modèles telle que `sonnet`, un préfixe de version tel que `claude-sonnet-4-5`, ou un ID de modèle complet tel que `claude-sonnet-4-5-20250929`. Un préfixe de version correspond également aux ID de modèles ultérieurs qui l'étendent avec un autre segment, donc `claude-fable-5` permet à la fois Fable 5 et Fable 5.1, tandis que `claude-fable-5-1` permet uniquement Fable 5.1. Pour bloquer un modèle que la liste permet, ou pour faire en sorte que chaque entrée d'ID de modèle ne permette que la version qu'elle nomme, voir [Bloquer des modèles ou des versions spécifiques](#block-specific-models-or-versions).244Les administrateurs peuvent utiliser `availableModels` dans les [paramètres gérés ou de politique](/docs/fr/managed-settings) pour restreindre les modèles que les utilisateurs peuvent sélectionner. Les entrées correspondent à une famille de modèles telle que `sonnet`, un préfixe de version tel que `claude-sonnet-4-5`, ou un ID de modèle complet tel que `claude-sonnet-4-5-20250929`. Un préfixe de version correspond également aux ID de modèles ultérieurs qui l'étendent avec un autre segment, donc `claude-fable-5` permet à la fois Fable 5 et Fable 5.1, tandis que `claude-fable-5-1` permet uniquement Fable 5.1. Pour bloquer un modèle que la liste permet, ou pour faire en sorte que chaque entrée d'ID de modèle ne permette que la version qu'elle nomme, voir [Bloquer des modèles ou des versions spécifiques](#block-specific-models-or-versions).

245 245 

246Sur les plateformes qui intègrent Claude Code et définissent [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars), la configuration de modèle de l'hôte a priorité sur les paramètres de modèle gérés, tandis qu'une liste d'autorisation `availableModels` gérée reste en vigueur sauf si l'hôte fournit la sienne ; [Exceptions à la priorité des paramètres gérés](/docs/fr/settings#exceptions-to-managed-settings-precedence) indique quelles clés et variables l'hôte remplace.246Sur les plateformes qui intègrent Claude Code et définissent [`CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST`](/docs/fr/env-vars), la configuration de modèle de l'hôte a priorité sur les paramètres de modèle gérés, tandis qu'une liste d'autorisation `availableModels` gérée reste en vigueur sauf si l'hôte fournit la sienne ; [Exceptions à la priorité des paramètres gérés](/docs/fr/settings#exceptions-to-managed-settings-precedence) indique quelles clés et variables l'hôte remplace.

247 247 


297 297 

298| Mécanisme de livraison | CLI et IDE | Sessions locales de bureau | Sessions web, mobile et cloud | Agent SDK et non-interactif | Cowork |298| Mécanisme de livraison | CLI et IDE | Sessions locales de bureau | Sessions web, mobile et cloud | Agent SDK et non-interactif | Cowork |

299| :- | :- | :- | :- | :- | :- |299| :- | :- | :- | :- | :- | :- |

300| [Paramètres gérés par le serveur](/docs/fr/server-managed-settings) depuis la console d'administration | Appliqué | Appliqué | Appliqué, sauf dans les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) | Appliqué | Non livré |300| [Paramètres gérés par le serveur](/docs/fr/server-managed-settings) depuis la console d'administration | Appliqué | Appliqué | Appliqué, sauf dans les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) | Appliqué | Sessions Cowork distantes : le serveur vérifie le modèle. Sur la machine de l'utilisateur : non livré. |

301| [Fichiers MDM ou paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) | Appliqué | Appliqué | Non livré dans les environnements hébergés par Anthropic ; dans les [environnements auto-hébergés](/docs/fr/self-hosted-environments), appliqué à partir de l'image du runner selon [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) | Appliqué | Appliqué où déployé |301| [Fichiers MDM ou paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) | Appliqué | Appliqué | Non livré dans les environnements hébergés par Anthropic ; dans les [environnements auto-hébergés](/docs/fr/self-hosted-environments), appliqué à partir de l'image du runner selon [comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) | Appliqué | Appliqué où déployé |

302 302 

303* Les sessions cloud, sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ou dans l'application de bureau, s'exécutent sur des machines virtuelles gérées par Anthropic par défaut : les paramètres déployés sur votre appareil ne les atteignent pas, donc livrez la liste d'autorisation via les paramètres gérés par le serveur. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur votre propre calcul et lisent également le fichier de paramètres gérés dans l'image du runner. [Comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) indique quand ce fichier s'applique. Un changement de modèle en milieu de session dans une session cloud est rejeté lorsque le modèle demandé est exclu par la liste d'autorisation. Lorsque la liste `availableModels` dans vos paramètres gérés par le serveur est non vide, le serveur rejette une demande de démarrage d'une session cloud sur un modèle que la liste exclut.303* Les sessions cloud, sur [Claude Code sur le web](/docs/fr/claude-code-on-the-web) ou dans l'application de bureau, s'exécutent sur des machines virtuelles gérées par Anthropic par défaut : les paramètres déployés sur votre appareil ne les atteignent pas, donc livrez la liste d'autorisation via les paramètres gérés par le serveur. Les sessions que votre organisation achemine vers un [environnement auto-hébergé](/docs/fr/self-hosted-environments) s'exécutent sur votre propre calcul et lisent également le fichier de paramètres gérés dans l'image du runner. [Comment Claude Code combine les sources gérées](/docs/fr/managed-settings#how-claude-code-combines-managed-sources) indique quand ce fichier s'applique. Un changement de modèle en milieu de session dans une session cloud est rejeté lorsque le modèle demandé est exclu par la liste d'autorisation. Lorsque la liste `availableModels` dans vos paramètres gérés par le serveur est non vide, le serveur rejette une demande de démarrage d'une session cloud sur un modèle que la liste exclut.

304* Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) s'exécutent dans des environnements cloud mais ne reçoivent pas les paramètres gérés par le serveur ; dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments), elles lisent toujours le fichier de paramètres gérés dans l'image du runner. Pour définir le modèle pour ces sessions, voir [Choisir le modèle pour une portée](https://claude.com/docs/claude-tag/admins/customize#choose-the-model-for-a-scope) dans le guide d'administration Claude Tag.304* Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) s'exécutent dans des environnements cloud mais ne reçoivent pas les paramètres gérés par le serveur ; dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments), elles lisent toujours le fichier de paramètres gérés dans l'image du runner. Pour définir le modèle pour ces sessions, voir [Choisir le modèle pour une portée](https://claude.com/docs/claude-tag/admins/customize#choose-the-model-for-a-scope) dans le guide d'administration Claude Tag.

305* Cowork, l'onglet de travail agentique dans l'application Claude Desktop, exécute ses sessions sur Claude Code mais, par conception, ne reçoit pas les paramètres gérés par le serveur de la console d'administration claude.ai. Un fichier de paramètres gérés s'applique aux sessions Cowork lorsqu'il est présent où la session s'exécute ; les sessions Cowork distantes s'exécutent sur des machines virtuelles gérées par Anthropic, où un fichier déployé sur l'appareil n'est pas présent.305* Cowork, l'onglet de travail agentique dans l'application Claude Desktop, exécute ses sessions sur Claude Code mais, par conception, ne reçoit pas les paramètres gérés par le serveur de la console d'administration claude.ai. Lorsque la liste `availableModels` dans vos paramètres gérés par le serveur est non vide et qu'un utilisateur choisit un modèle en dehors de celle-ci, le serveur rejette ce modèle pour une session Cowork distante. Un fichier de paramètres gérés s'applique aux sessions Cowork lorsqu'il est présent où la session s'exécute ; les sessions Cowork distantes s'exécutent sur des machines virtuelles gérées par Anthropic, où un fichier déployé sur l'appareil n'est pas présent.

306* Les sessions sur [fournisseurs tiers](/docs/fr/server-managed-settings#platform-availability) tels qu'Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry, et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) ne reçoivent pas les paramètres gérés par le serveur, donc livrez la liste d'autorisation via MDM ou des fichiers de paramètres gérés là-bas.306* Les sessions sur [fournisseurs tiers](/docs/fr/server-managed-settings#platform-availability) tels qu'Amazon Bedrock, Agent Platform de Google Cloud, Microsoft Foundry, et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws) ne reçoivent pas les paramètres gérés par le serveur, donc livrez la liste d'autorisation via MDM ou des fichiers de paramètres gérés là-bas.

307* La livraison gérée par le serveur nécessite également que la session s'authentifie avec une [connexion ou clé éligible](/docs/fr/server-managed-settings#platform-availability). Les flottes qui génèrent des clés uniquement via un script [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) doivent livrer la liste d'autorisation via MDM ou des fichiers de paramètres gérés.307* La livraison gérée par le serveur nécessite également que la session s'authentifie avec une [connexion ou clé éligible](/docs/fr/server-managed-settings#platform-availability). Les flottes qui génèrent des clés uniquement via un script [`apiKeyHelper`](/docs/fr/settings-reference#apikeyhelper) doivent livrer la liste d'autorisation via MDM ou des fichiers de paramètres gérés.

308* L'onglet Code du bureau héberge également les [sessions SSH](/docs/fr/desktop#ssh-sessions), qui lisent le fichier de paramètres gérés à partir de l'hôte distant sur lequel elles s'exécutent. Voir [Paramètres gérés du bureau](/docs/fr/desktop#managed-settings).308* L'onglet Code du bureau héberge également les [sessions SSH](/docs/fr/desktop#ssh-sessions), qui lisent le fichier de paramètres gérés à partir de l'hôte distant sur lequel elles s'exécutent. Voir [Paramètres gérés du bureau](/docs/fr/desktop#managed-settings).


751| Définir le défaut global | Exécutez `/config` et basculez le mode de réflexion. Enregistré comme `alwaysThinkingEnabled` dans `~/.claude/settings.json` |751| Définir le défaut global | Exécutez `/config` et basculez le mode de réflexion. Enregistré comme `alwaysThinkingEnabled` dans `~/.claude/settings.json` |

752| Désactiver via une variable d'environnement | Définissez [`MAX_THINKING_TOKENS=0`](/docs/fr/env-vars), qui désactive la réflexion sur l'API Anthropic sauf sur Opus 5.5, Sonnet 5.5 et les modèles Fable. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), Claude Code omet le paramètre `thinking` à la place, et les modèles de raisonnement adaptatif peuvent toujours penser. D'autres valeurs s'appliquent uniquement avec un [budget de réflexion fixe](#adaptive-reasoning-and-fixed-thinking-budgets) |752| Désactiver via une variable d'environnement | Définissez [`MAX_THINKING_TOKENS=0`](/docs/fr/env-vars), qui désactive la réflexion sur l'API Anthropic sauf sur Opus 5.5, Sonnet 5.5 et les modèles Fable. Sur les [fournisseurs tiers](/docs/fr/third-party-integrations), Claude Code omet le paramètre `thinking` à la place, et les modèles de raisonnement adaptatif peuvent toujours penser. D'autres valeurs s'appliquent uniquement avec un [budget de réflexion fixe](#adaptive-reasoning-and-fixed-thinking-budgets) |

753 753 

754Vous ne pouvez pas désactiver la réflexion sur Opus 5.5, Sonnet 5.5 ou les modèles Fable. Le basculement de session, `alwaysThinkingEnabled` et `MAX_THINKING_TOKENS=0` n'ont aucun effet là, et le modèle décide à chaque étape combien penser en fonction du niveau d'effort.754Vous ne pouvez pas désactiver la réflexion sur Opus 5.5, Sonnet 5.5 ou les modèles Fable. Le basculement de session et le `/config` affichent `Thinking can't be turned off` pour ces modèles à la place d'offrir le basculement, et une `alwaysThinkingEnabled: false` enregistrée ou `MAX_THINKING_TOKENS=0` n'a aucun effet là. Sur ces modèles, le modèle décide à chaque étape combien penser en fonction du niveau d'effort. Le paramètre enregistré s'applique à nouveau quand vous basculez vers un modèle qui l'accepte.

755 755 

756Claude Code réduit la sortie de réflexion par défaut. Appuyez sur `Ctrl+O` pour basculer le mode verbeux et voir le raisonnement en tant que texte gris en italique. Les sessions interactives sur l'API Anthropic reçoivent des blocs de réflexion édités par défaut, donc définissez `showThinkingSummaries: true` dans les [paramètres](/docs/fr/settings) si vous voulez les résumés complets disponibles quand vous développez. Vous êtes facturé pour tous les jetons de réflexion générés, même quand réduits ou édités.756Claude Code réduit la sortie de réflexion par défaut. Appuyez sur `Ctrl+O` pour basculer le mode verbeux et voir le raisonnement en tant que texte gris en italique. Les sessions interactives sur l'API Anthropic reçoivent des blocs de réflexion édités par défaut, donc définissez `showThinkingSummaries: true` dans les [paramètres](/docs/fr/settings) si vous voulez les résumés complets disponibles quand vous développez. Vous êtes facturé pour tous les jetons de réflexion générés, même quand réduits ou édités.

757 757 


784 784 

785La fenêtre de contexte de 1M utilise la tarification standard du modèle sans prime pour les jetons au-delà de 200K. Pour les plans où le contexte étendu est inclus avec votre abonnement, l'utilisation reste couverte par votre abonnement. Pour les plans qui accèdent au contexte étendu via des crédits d'utilisation, les jetons sont facturés aux crédits d'utilisation.785La fenêtre de contexte de 1M utilise la tarification standard du modèle sans prime pour les jetons au-delà de 200K. Pour les plans où le contexte étendu est inclus avec votre abonnement, l'utilisation reste couverte par votre abonnement. Pour les plans qui accèdent au contexte étendu via des crédits d'utilisation, les jetons sont facturés aux crédits d'utilisation.

786 786 

787Si votre compte supporte le contexte de 1M, l'option apparaît dans le sélecteur `/model` dans les dernières versions de Claude Code. Si vous ne la voyez pas, essayez de redémarrer votre session.787Si votre compte supporte le contexte de 1M, l'option apparaît dans le sélecteur `/model` dans les dernières versions de Claude Code. Si vous ne la voyez pas, redémarrez votre session, et sur un fournisseur tiers vérifiez si votre déploiement [a épinglé le modèle](#pin-models-for-third-party-deployments) avec une variable `ANTHROPIC_DEFAULT_*_MODEL`.

788 788 

789Vous pouvez également utiliser le suffixe `[1m]` avec les alias de modèle ou les noms de modèle complets :789Vous pouvez également utiliser le suffixe `[1m]` avec les alias de modèle ou les noms de modèle complets :

790 790 


956* N'ajoutez `[1m]` que lorsque le modèle sous-jacent [prend en charge le contexte 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model).956* N'ajoutez `[1m]` que lorsque le modèle sous-jacent [prend en charge le contexte 1M](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model).

957* Le suffixe est lu par variable, et non par modèle. Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, un ID de modèle sans `[1m]` dans une variable utilise le contexte 200K même si une autre variable définit le même modèle avec le suffixe. Sonnet 5 s'exécute toujours avec la fenêtre 1M sur ces fournisseurs et n'a jamais besoin du suffixe.957* Le suffixe est lu par variable, et non par modèle. Sur Amazon Bedrock, Google Cloud's Agent Platform et Microsoft Foundry, un ID de modèle sans `[1m]` dans une variable utilise le contexte 200K même si une autre variable définit le même modèle avec le suffixe. Sonnet 5 s'exécute toujours avec la fenêtre 1M sur ces fournisseurs et n'a jamais besoin du suffixe.

958 958 

959Lorsque vous définissez une variable `ANTHROPIC_DEFAULT_*_MODEL`, le sélecteur `/model` affiche une ligne pour ce modèle à la place des lignes intégrées de la famille, y compris les lignes de contexte 1M. Pour atteindre la fenêtre 1M sans ajouter le suffixe à cette variable, vos utilisateurs exécutent `/model opus[1m]`, et Claude Code applique le suffixe au modèle que la variable nomme. `/model sonnet[1m]` fonctionne de la même manière.

960 

959<Note>961<Note>

960 Une liste d'autorisation `availableModels` livrée via [MDM ou un fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) s'applique toujours lors de l'utilisation de fournisseurs tiers ; les [paramètres gérés par le serveur ne sont pas livrés là](/docs/fr/server-managed-settings#platform-availability).962 Une liste d'autorisation `availableModels` livrée via [MDM ou un fichier de paramètres gérés](/docs/fr/managed-settings#delivery-mechanisms) s'applique toujours lors de l'utilisation de fournisseurs tiers ; les [paramètres gérés par le serveur ne sont pas livrés là](/docs/fr/server-managed-settings#platform-availability).

961 963 


1053| - | - |1055| - | - |

1054| `DISABLE_PROMPT_CACHING` | Définissez sur `1` pour désactiver la mise en cache des invites pour tous les modèles. Prend la priorité sur les paramètres par modèle |1056| `DISABLE_PROMPT_CACHING` | Définissez sur `1` pour désactiver la mise en cache des invites pour tous les modèles. Prend la priorité sur les paramètres par modèle |

1055| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Haiku par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |1057| `DISABLE_PROMPT_CACHING_HAIKU` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Haiku par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |

1056| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Sonnet uniquement |1058| `DISABLE_PROMPT_CACHING_SONNET` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Sonnet par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |

1057| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Opus uniquement |1059| `DISABLE_PROMPT_CACHING_OPUS` | Définissez sur `1` pour désactiver la mise en cache des invites pour le [modèle Opus par défaut](/docs/fr/prompt-caching#disable-prompt-caching) |

1058| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Fable uniquement |1060| `DISABLE_PROMPT_CACHING_FABLE` | Définissez sur `1` pour désactiver la mise en cache des invites pour les modèles Fable uniquement |

1059 1061 

1060Pour choisir vous-même le TTL du cache pour la conversation principale et pour les subagents séparément, voir [choisir vous-même le TTL](/docs/fr/prompt-caching#choose-the-ttl-yourself). Pour ce qui déclenche un échec du cache, voir [Comment Claude Code utilise la mise en cache des invites](/docs/fr/prompt-caching).1062Pour choisir vous-même le TTL du cache pour la conversation principale et pour les subagents séparément, voir [choisir vous-même le TTL](/docs/fr/prompt-caching#choose-the-ttl-yourself). Pour ce qui déclenche un échec du cache, voir [Comment Claude Code utilise la mise en cache des invites](/docs/fr/prompt-caching).

Details

64}64}

65```65```

66 66 

67Dans l'application Claude Desktop, les sessions de l'onglet Code lisent ces paramètres gérés à partir des sources qui [atteignent chaque type de session Desktop](/docs/fr/desktop#managed-settings). Le formulaire OpenTelemetry pour Cowork sous **Monitoring** dans les [paramètres de confidentialité et de données](https://claude.ai/admin-settings/data-privacy-controls) de la console d'administration s'applique uniquement aux sessions Cowork, donc ni l'interface de ligne de commande du terminal ni l'onglet Code n'exporte vers un collecteur que vous définissez là.

68 

67Claude Code ignore les [variables d'exportateur OpenTelemetry](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) dans le `.claude/settings.json` et `.claude/settings.local.json` d'un référentiel, donc un référentiel ne peut pas les utiliser pour activer la télémétrie, choisir où elle va ou capturer du contenu. Définissez-les dans les paramètres gérés, ou laissez chaque développeur les définir dans son shell ou `~/.claude/settings.json`. Un référentiel peut toujours désactiver un signal en définissant son sélecteur d'exportateur, tel que `OTEL_LOGS_EXPORTER`, sur `none`, sauf si les paramètres gérés, un fichier `--settings` ou l'environnement à partir duquel vous lancez Claude Code définit cette variable.69Claude Code ignore les [variables d'exportateur OpenTelemetry](/docs/fr/settings-reference#variables-claude-code-ignores-in-env) dans le `.claude/settings.json` et `.claude/settings.local.json` d'un référentiel, donc un référentiel ne peut pas les utiliser pour activer la télémétrie, choisir où elle va ou capturer du contenu. Définissez-les dans les paramètres gérés, ou laissez chaque développeur les définir dans son shell ou `~/.claude/settings.json`. Un référentiel peut toujours désactiver un signal en définissant son sélecteur d'exportateur, tel que `OTEL_LOGS_EXPORTER`, sur `none`, sauf si les paramètres gérés, un fichier `--settings` ou l'environnement à partir duquel vous lancez Claude Code définit cette variable.

68 70 

69Claude 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.71Claude 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.


582| Clés de `OTEL_RESOURCE_ATTRIBUTES` | Attributs personnalisés que vous définissez, par exemple `department` ou `team.id`. Voir [Support des organisations multi-équipes](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (par défaut : true) |584| Clés de `OTEL_RESOURCE_ATTRIBUTES` | Attributs personnalisés que vous définissez, par exemple `department` ou `team.id`. Voir [Support des organisations multi-équipes](#multi-team-organization-support) | `OTEL_METRICS_INCLUDE_RESOURCE_ATTRIBUTES` (par défaut : true) |

583| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | L'identité du référentiel de la session, dérivée de sa télécommande `origin`. Voir [Attributs du référentiel](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (par défaut : false). Nécessite Claude Code v2.1.269 ou ultérieur |585| `vcs.repository.url.full`, `vcs.owner.name`, `vcs.repository.name`, `vcs.provider.name` | L'identité du référentiel de la session, dérivée de sa télécommande `origin`. Voir [Attributs du référentiel](#repository-attributes) | `OTEL_METRICS_INCLUDE_REPOSITORY` (par défaut : false). Nécessite Claude Code v2.1.269 ou ultérieur |

584 586 

585Lorsque Claude Code est connecté à une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), la CLI marque les exportations avec l'identité authentifiée de la session de la passerelle : `user.id` est le sujet IdP plutôt qu'un identifiant d'installation anonyme, `user.email` est l'e-mail connecté, et `user.groups` porte l'appartenance au groupe IdP sous forme de chaîne séparée par des virgules. Chaque exportation porte également `identity.source: gateway-oidc`. L'identité de la passerelle est appliquée en dernier, donc les clés `user.*` et `identity.*` définies via `OTEL_RESOURCE_ATTRIBUTES` sont ignorées sur les sessions de passerelle.587Dans les sessions connectées à une [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) via `/login`, la CLI marque les exportations avec l'identité authentifiée : `user.id` est le sujet IdP, `user.email` est l'e-mail connecté, et `user.groups` porte l'appartenance au groupe IdP sous forme de chaîne séparée par des virgules. Chaque exportation porte également `identity.source: gateway-oidc`. L'identité de la passerelle est appliquée en dernier, donc les clés `user.*` et `identity.*` définies via `OTEL_RESOURCE_ATTRIBUTES` sont ignorées sur ces sessions.

588 

589Pour les attributs d'identité sur les sessions Claude Desktop et Cowork qui se connectent via une passerelle, voir la [référence de télémétrie de la passerelle](/docs/fr/claude-apps-gateway-config#telemetry).

586 590 

587Les événements incluent en outre les attributs suivants. Ceux-ci ne sont jamais attachés aux métriques car ils causeraient une cardinalité illimitée :591Les événements incluent en outre les attributs suivants. Ceux-ci ne sont jamais attachés aux métriques car ils causeraient une cardinalité illimitée :

588 592 


1540 Attribuer les actions aux utilisateurs1544 Attribuer les actions aux utilisateurs

1541</h3>1545</h3>

1542 1546 

1543Les [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 ou, dans une [session cloud](/docs/fr/claude-code-on-the-web), lorsque les propres identifiants de la session les portent, plus `user.id` et le per-session `session.id`. `user.id` est un identifiant limité à l'installation, sauf sur les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), où il s'agit du sujet IdP du jeton émis par la passerelle.1547Les [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 ou, dans une [session cloud](/docs/fr/claude-code-on-the-web), lorsque les propres identifiants de la session les portent, plus `user.id` et le per-session `session.id`. `user.id` est un identifiant limité à l'installation, sauf sur les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) via `/login`, où il s'agit du sujet IdP du jeton émis par la passerelle.

1544 1548 

1545Dans une session qu'un développeur démarre, les appels d'outils MCP, les commandes Bash et les éditions de fichiers sont donc attribués à ce développeur. 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, ou l'identité IdP du développeur sur une session de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway). Dans les sessions de canal Claude Tag, Claude fonctionne plutôt comme l'[identité partagée](/docs/fr/cloud-environments#set-the-environment-a-claude-tag-channel-uses) de votre organisation.1549Dans une session qu'un développeur démarre, les appels d'outils MCP, les commandes Bash et les éditions de fichiers sont donc attribués à ce développeur. 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, ou l'identité IdP du développeur sur une session de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway). Dans les sessions de canal Claude Tag, Claude fonctionne plutôt comme l'[identité partagée](/docs/fr/cloud-environments#set-the-environment-a-claude-tag-channel-uses) de votre organisation.

1546 1550 

1547Lorsque Claude Code s'authentifie avec une clé API directe, ou contre Amazon Bedrock, Google Cloud's Agent Platform 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. Les sessions de passerelle d'applications Claude n'ont besoin d'aucune de ces opérations : le CLI horodate l'identité IdP automatiquement, comme décrit dans [Attributs standard](#standard-attributes).1551Lorsque Claude Code s'authentifie avec une clé API directe, ou contre Amazon Bedrock, Google Cloud's Agent Platform 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. Les sessions de passerelle d'applications Claude n'ont besoin d'aucune de ces opérations : voir [Attributs standard](#standard-attributes) pour l'identité que leurs exportations portent.

1548 1552 

1549```bash theme={null}1553```bash theme={null}

1550export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."1554export OTEL_RESOURCE_ATTRIBUTES="enduser.id=jdoe@example.com,enduser.directory_id=S-1-5-21-..."

Details

210| Limite du premier octet | Aucun en-tête de réponse n'arrive après que Claude Code envoie la demande | API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), y compris via un proxy HTTPS, mais pas quand `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` les acheminent via une [passerelle](/docs/fr/gateways). Opt-in sur Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Google Cloud's Agent Platform ou Microsoft Foundry | 180 secondes sur l'API Anthropic directe, 300 secondes ailleurs, plus une seconde par 32 Ko de corps de demande |210| Limite du premier octet | Aucun en-tête de réponse n'arrive après que Claude Code envoie la demande | API Anthropic directe et [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), y compris via un proxy HTTPS, mais pas quand `ANTHROPIC_BASE_URL` ou `ANTHROPIC_AWS_BASE_URL` les acheminent via une [passerelle](/docs/fr/gateways). Opt-in sur Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Google Cloud's Agent Platform ou Microsoft Foundry | 180 secondes sur l'API Anthropic directe, 300 secondes ailleurs, plus une seconde par 32 Ko de corps de demande |

211| Chien de garde au niveau des événements | Aucun événement de réponse ne s'analyse. Sur les connexions où le chien de garde au niveau des octets s'exécute, les octets arrivants, y compris les pings de maintien de connexion, réinitialisent également ce chien de garde, pendant environ cinq minutes sans événement analysé | Tous les fournisseurs | 300 secondes |211| Chien de garde au niveau des événements | Aucun événement de réponse ne s'analyse. Sur les connexions où le chien de garde au niveau des octets s'exécute, les octets arrivants, y compris les pings de maintien de connexion, réinitialisent également ce chien de garde, pendant environ cinq minutes sans événement analysé | Tous les fournisseurs | 300 secondes |

212| Chien de garde au niveau des octets | Aucun octet n'arrive sur le fil, y compris les pings de maintien de connexion SSE | API Anthropic directe, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), et [passerelle](/docs/fr/gateways) connexions, y compris un `ANTHROPIC_BASE_URL` personnalisé. Opt-in sur les réponses Amazon Bedrock `vnd.amazon.eventstream` avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Google Cloud's Agent Platform ou Microsoft Foundry | 180 secondes sur l'API Anthropic directe, 300 secondes ailleurs |212| Chien de garde au niveau des octets | Aucun octet n'arrive sur le fil, y compris les pings de maintien de connexion SSE | API Anthropic directe, [Claude Platform on AWS](/docs/fr/claude-platform-on-aws), et [passerelle](/docs/fr/gateways) connexions, y compris un `ANTHROPIC_BASE_URL` personnalisé. Opt-in sur les réponses Amazon Bedrock `vnd.amazon.eventstream` avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` ; ne s'exécute pas sur Google Cloud's Agent Platform ou Microsoft Foundry | 180 secondes sur l'API Anthropic directe, 300 secondes ailleurs |

213| Délai d'inactivité du corps | Aucun octet n'arrive pendant 5 minutes | Fournisseurs autres que l'API Anthropic directe et Claude Platform on AWS, sauf si [`API_FORCE_IDLE_TIMEOUT`](/docs/fr/env-vars) change cela | 5 minutes |213| Délai d'inactivité du corps | Aucun octet n'arrive pendant 5 minutes | Fournisseurs autres que l'API Anthropic directe, Claude Platform on AWS, et Amazon Bedrock avec `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1` défini, sauf si [`API_FORCE_IDLE_TIMEOUT`](/docs/fr/env-vars) change cela | 5 minutes |

214 

215Si vous définissez `CLAUDE_ENABLE_BYTE_WATCHDOG_BEDROCK=1`, le chien de garde au niveau des octets remplace le délai d'inactivité du corps sur Bedrock plutôt que de s'exécuter à côté de celui-ci. `CLAUDE_STREAM_IDLE_TIMEOUT_MS` gouverne alors également la durée pendant laquelle un flux Bedrock peut rester silencieux avant que Claude Code ne traite la connexion comme morte, dans les limites énumérées ci-dessous. Les octets arrivants ne réinitialisent toujours pas le chien de garde au niveau des événements sur Bedrock. Avec la journalisation de débogage activée, chaque flux Bedrock enregistre alors un message de débogage qui commence par `wire-heartbeat: _chunkTimes absent`.

214 216 

215Configurez les minuteurs avec ces variables, chacune détaillée dans la [référence des variables d'environnement](/docs/fr/env-vars) :217Configurez les minuteurs avec ces variables, chacune détaillée dans la [référence des variables d'environnement](/docs/fr/env-vars) :

216 218 


277 279 

278Si votre organisation GitHub Enterprise Cloud restreint l'accès par adresse IP, activez [l'héritage de la liste blanche IP pour les applications GitHub installées](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps) et [ajoutez également une entrée de liste blanche](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) pour les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic. L'héritage couvre uniquement les requêtes que l'application GitHub Claude effectue en tant qu'installation, pas les requêtes qu'elle effectue au nom de vos utilisateurs. Pour les autres pare-feu, consultez les [adresses IP de l'API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses).280Si votre organisation GitHub Enterprise Cloud restreint l'accès par adresse IP, activez [l'héritage de la liste blanche IP pour les applications GitHub installées](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#allowing-access-by-github-apps) et [ajoutez également une entrée de liste blanche](https://docs.github.com/en/enterprise-cloud@latest/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-allowed-ip-addresses-for-your-organization#adding-an-allowed-ip-address) pour les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic. L'héritage couvre uniquement les requêtes que l'application GitHub Claude effectue en tant qu'installation, pas les requêtes qu'elle effectue au nom de vos utilisateurs. Pour les autres pare-feu, consultez les [adresses IP de l'API Anthropic](https://platform.claude.com/docs/en/api/ip-addresses).

279 281 

280Pour les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) auto-hébergées derrière un pare-feu, mettez en liste blanche les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic afin que l'infrastructure Anthropic puisse atteindre votre hôte GHES pour cloner les référentiels et publier les commentaires d'examen. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#configure-git) atteignent votre hôte GHES depuis l'intérieur de votre réseau à la place, donc cette exposition s'applique uniquement aux sessions hébergées par Anthropic, aux flux de pré-session hébergés tels que le sélecteur de référentiel, et aux runners auto-hébergés qui optent pour la [passerelle git Anthropic](/docs/fr/self-hosted-environments-deploy#use-the-anthropic-git-proxy), qui récupère depuis le côté Anthropic. Pour un hôte GHES qui n'est routable que dans votre réseau, le [connecteur SCM](/docs/fr/self-hosted-environments-reference#scm-connector-flags) porte les flux de pré-session hébergés sur une connexion sortante à la place, donc la liste blanche n'est pas nécessaire pour eux.282Pour les instances [GitHub Enterprise Server](/docs/fr/github-enterprise-server) auto-hébergées derrière un pare-feu, mettez en liste blanche les [adresses IP sortantes](https://platform.claude.com/docs/en/api/ip-addresses#outbound-ip-addresses) d'Anthropic afin que l'infrastructure Anthropic puisse atteindre votre hôte GHES pour cloner les référentiels et publier les commentaires d'examen. Les sessions dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#configure-git) atteignent votre hôte GHES depuis l'intérieur de votre réseau à la place, donc cette exposition s'applique uniquement aux sessions hébergées par Anthropic, aux flux de pré-session hébergés tels que le sélecteur de référentiel, et aux runners auto-hébergés qui optent pour la [passerelle git Anthropic](/docs/fr/self-hosted-environments-deploy#use-the-anthropic-git-proxy), qui récupère depuis le côté Anthropic. Le [connecteur SCM](/docs/fr/self-hosted-environments-reference#scm-connector-flags) n'est pas disponible, donc les flux de pré-session hébergés ne peuvent pas atteindre un hôte GHES qui n'est routable que dans votre réseau.

281 283 

282<h3 id="desktop-and-claude-ai">284<h3 id="desktop-and-claude-ai">

283 Bureau et claude.ai285 Bureau et claude.ai

Details

299 299 

300Par défaut, le classificateur n'examine pas les suppressions `rm` et `rmdir` ciblant un chemin critique, comme `rm -rf /` ou `rm -rf ~`. [Chemins critiques](#critical-paths) couvre ce qui leur arrive dans chaque mode de permission.300Par défaut, le classificateur n'examine pas les suppressions `rm` et `rmdir` ciblant un chemin critique, comme `rm -rf /` ou `rm -rf ~`. [Chemins critiques](#critical-paths) couvre ce qui leur arrive dans chaque mode de permission.

301 301 

302Le mode auto encourage également Claude à continuer à travailler sans s'arrêter pour des questions de clarification, bien que Claude demande toujours quand votre invite ou une compétence s'y fient explicitement. Pour un comportement plus autonome dans un mode qui vous invite toujours, définissez plutôt le [style de sortie proactif](/docs/fr/output-styles).302Le mode auto encourage également Claude à continuer à travailler sans s'arrêter pour des questions de clarification, bien que Claude demande toujours quand votre invite ou une compétence s'y appuie explicitement. Pour un comportement plus autonome dans un mode qui vous invite toujours, définissez plutôt le [style de sortie proactif](/docs/fr/output-styles).

303 303 

304<Warning>304<Warning>

305 Le mode auto réduit les invites de permission mais ne garantit pas la sécurité. Utilisez-le pour les tâches où vous faites confiance à la direction générale, pas comme remplacement de l'examen sur les opérations sensibles.305 Le mode auto réduit les invites de permission mais ne garantit pas la sécurité. Utilisez-le pour les tâches où vous faites confiance à la direction générale, pas comme remplacement pour l'examen sur les opérations sensibles.

306</Warning>306</Warning>

307 307 

308Le mode auto est disponible uniquement quand votre compte répond à tous ces critères :308Le mode auto est disponible uniquement quand votre compte répond à tous ces critères :

309 309 

310* **Plan** : Tous les plans.310* **Plan** : Tous les plans.

311* **Organisation** : sur Team et Enterprise, le mode auto est disponible par défaut. Les administrateurs peuvent le désactiver pour l'organisation en définissant `permissions.disableAutoMode` sur `"disable"` dans les [paramètres gérés](/docs/fr/managed-settings).311* **Organisation** : sur Team et Enterprise, le mode auto est disponible par défaut. Les administrateurs peuvent le désactiver pour l'organisation en définissant `permissions.disableAutoMode` à `"disable"` dans les [paramètres gérés](/docs/fr/managed-settings).

312* **Modèle** : sur l'API Anthropic et [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Claude Opus 4.6 ou ultérieur, Sonnet 4.6 ou ultérieur, ou un [modèle Fable](/docs/fr/model-config#work-with-fable). Sur Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry et les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectées, uniquement Claude Sonnet 5 ou ultérieur, Opus 4.7 ou ultérieur, et les modèles Fable. Les modèles plus anciens, y compris Sonnet 4.5, Opus 4.5, Haiku et les modèles claude-3, ne sont pas pris en charge sur aucun fournisseur.312* **Modèle** : sur l'API Anthropic et [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Claude Opus 4.6 ou ultérieur, Sonnet 4.6 ou ultérieur, ou un [modèle Fable](/docs/fr/model-config#work-with-fable). Sur Amazon Bedrock, la plateforme Agent de Google Cloud, Microsoft Foundry et les sessions [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectées, uniquement Claude Sonnet 5 ou ultérieur, Opus 4.7 ou ultérieur, et les modèles Fable. Les modèles plus anciens, y compris Sonnet 4.5, Opus 4.5, Haiku et les modèles claude-3, ne sont pas supportés sur aucun fournisseur.

313* **Fournisseur** : disponible par défaut sur l'API Anthropic, Claude Platform sur AWS, Amazon Bedrock, la plateforme d'agents de Google Cloud, Microsoft Foundry et les sessions de passerelle d'applications Claude connectées.313* **Fournisseur** : disponible par défaut sur l'API Anthropic, Claude Platform sur AWS, Amazon Bedrock, la plateforme Agent de Google Cloud, Microsoft Foundry et les sessions passerelle d'applications Claude connectées.

314 314 

315Si Claude Code signale que le mode auto n'est pas disponible, vérifiez d'abord ces critères et si un fichier de paramètres définit [`disableAutoMode`](/docs/fr/settings-reference#disableautomode). Anthropic peut également avoir désactivé le mode auto côté serveur, ou le serveur peut avoir rejeté le mode auto pour votre compte. Une session qui a reçu l'une ou l'autre réponse garde le mode auto désactivé jusqu'à la fin de la session, donc démarrez une nouvelle session plus tard.315Si Claude Code signale que le mode auto n'est pas disponible, vérifiez d'abord ces critères et si un fichier de paramètres définit [`disableAutoMode`](/docs/fr/settings-reference#disableautomode). Anthropic peut également avoir désactivé le mode auto côté serveur, ou le serveur peut avoir rejeté le mode auto pour votre compte. Une session qui a reçu l'une ou l'autre réponse garde le mode auto désactivé jusqu'à la fin de la session, donc démarrez une nouvelle session plus tard.

316 316 


322 Mode auto sur Bedrock, Agent Platform ou Foundry322 Mode auto sur Bedrock, Agent Platform ou Foundry

323</h3>323</h3>

324 324 

325Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [la plateforme d'agents de Google Cloud](/docs/fr/google-vertex-ai), [Microsoft Foundry](/docs/fr/microsoft-foundry) et les sessions de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectées, le mode auto est disponible par défaut. Avec Claude Code v2.1.283 ou ultérieur, c'est aussi le [mode de permission intégré de démarrage](#which-mode-a-session-starts-in) pour les sessions de terminal interactif et [VS Code](/docs/fr/vs-code). Pour choisir vous-même le mode de permission de démarrage, définissez `permissions.defaultMode` comme le décrit [Démarrer dans un mode de permission différent](#start-in-a-different-mode), ou choisissez un mode de permission dans l'indicateur de mode de l'extension VS Code.325Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [la plateforme Agent de Google Cloud](/docs/fr/google-vertex-ai), [Microsoft Foundry](/docs/fr/microsoft-foundry) et les sessions [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectées, le mode auto est disponible par défaut. Avec Claude Code v2.1.283 ou ultérieur, c'est aussi le [mode de permission intégré de démarrage](#which-mode-a-session-starts-in) pour les sessions de terminal interactif et [VS Code](/docs/fr/vs-code). Pour choisir vous-même le mode de permission de démarrage, définissez `permissions.defaultMode` comme le décrit [Démarrer dans un mode de permission différent](#start-in-a-different-mode), ou choisissez un mode de permission dans l'indicateur de mode de l'extension VS Code.

326 326 

327Seuls Claude Sonnet 5 ou ultérieur, Opus 4.7 ou ultérieur, et les modèles Fable sont pris en charge sur ces fournisseurs. Sur tout autre modèle, la session démarre en Manual à la place.327Seuls Claude Sonnet 5 ou ultérieur, Opus 4.7 ou ultérieur, et les modèles Fable sont supportés sur ces fournisseurs. Sur tout autre modèle, la session démarre en Manual à la place.

328 328 

329Pour empêcher les développeurs d'utiliser le mode auto, définissez `disableAutoMode` sur `"disable"` dans les [paramètres gérés](/docs/fr/managed-settings). Cela supprime `auto` du cycle `Shift+Tab`, et une session démarrée avec `--permission-mode auto` démarre en Manual à la place. Une session déjà en cours d'exécution en mode auto le quitte quand le paramètre l'atteint à partir d'une [source déployée par l'administrateur](/docs/fr/managed-settings#which-managed-source-claude-code-uses), et affiche `auto mode disabled by settings`. Avant v2.1.251, une session en cours d'exécution gardait le mode auto jusqu'à sa fin.329Pour empêcher les développeurs d'utiliser le mode auto, définissez `disableAutoMode` à `"disable"` dans les [paramètres gérés](/docs/fr/managed-settings). Cela supprime `auto` du cycle `Shift+Tab`, et une session démarrée avec `--permission-mode auto` démarre en Manual à la place. Une session déjà en cours d'exécution en mode auto le quitte quand le paramètre l'atteint à partir d'une [source déployée par l'administrateur](/docs/fr/managed-settings#which-managed-source-claude-code-uses), et affiche `auto mode disabled by settings`. Avant v2.1.251, une session en cours d'exécution gardait le mode auto jusqu'à la fin.

330 330 

331Dans v2.1.158 à v2.1.206, le mode auto était désactivé sur ces fournisseurs jusqu'à ce que vous définissiez `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, et Claude Code ignorait `defaultMode: "auto"` sur ces fournisseurs à moins que la variable ne soit également définie. La variable est toujours acceptée pour la compatibilité et n'a aucun effet à partir de v2.1.207.331Dans v2.1.158 à v2.1.206, le mode auto était désactivé sur ces fournisseurs jusqu'à ce que vous définissiez `CLAUDE_CODE_ENABLE_AUTO_MODE=1`, et Claude Code ignorait `defaultMode: "auto"` sur ces fournisseurs à moins que la variable ne soit également définie. La variable est toujours acceptée pour la compatibilité et n'a aucun effet à partir de v2.1.207.

332 332 


337En mode auto, Claude Code peut demander au serveur de vérifier les actions que [l'ordre de décision](#how-the-classifier-evaluates-actions) envoie pour examen, dans le cadre des demandes de modèle de la session, à la place d'envoyer ses propres demandes de classificateur. Ces sessions demandent :337En mode auto, Claude Code peut demander au serveur de vérifier les actions que [l'ordre de décision](#how-the-classifier-evaluates-actions) envoie pour examen, dans le cadre des demandes de modèle de la session, à la place d'envoyer ses propres demandes de classificateur. Ces sessions demandent :

338 338 

339* **Une connexion directe à l'API Anthropic** : dans une session de terminal interactif, sur tous les plans claude.ai et sur les comptes qui utilisent l'API Claude, au fur et à mesure qu'Anthropic le déploie. Nécessite Claude Code v2.1.271 ou ultérieur sur les plans Pro, Max et Team, et v2.1.278 ou ultérieur sur les plans Enterprise et les comptes Claude API. À partir de v2.1.282, une session qui [ne récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), par exemple parce que vous avez désactivé la télémétrie, demande au serveur par défaut dans n'importe quel type de session.339* **Une connexion directe à l'API Anthropic** : dans une session de terminal interactif, sur tous les plans claude.ai et sur les comptes qui utilisent l'API Claude, au fur et à mesure qu'Anthropic le déploie. Nécessite Claude Code v2.1.271 ou ultérieur sur les plans Pro, Max et Team, et v2.1.278 ou ultérieur sur les plans Enterprise et les comptes Claude API. À partir de v2.1.282, une session qui [ne récupère pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), par exemple parce que vous avez désactivé la télémétrie, demande au serveur par défaut dans n'importe quel type de session.

340* **Un fournisseur cloud, ou une passerelle LLM ou un proxy** : sur [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, la plateforme d'agents de Google Cloud et Microsoft Foundry, et chaque fois que vous pointez `ANTHROPIC_BASE_URL` vers une [passerelle LLM ou un proxy](/docs/fr/llm-gateway), quel que soit votre plan. Demander par défaut nécessite Claude Code v2.1.278 ou ultérieur.340* **Un fournisseur cloud, ou une passerelle LLM ou un proxy** : sur [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, la plateforme Agent de Google Cloud et Microsoft Foundry, et chaque fois que vous pointez `ANTHROPIC_BASE_URL` vers une [passerelle LLM ou un proxy](/docs/fr/llm-gateway), quel que soit votre plan. Demander par défaut nécessite Claude Code v2.1.278 ou ultérieur.

341* **Une session de [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectée** : nécessite Claude Code v2.1.280 ou ultérieur341* **Une session [passerelle d'applications Claude](/docs/fr/claude-apps-gateway) connectée** : nécessite Claude Code v2.1.280 ou ultérieur

342 342 

343Où le serveur examine les actions, ses verdicts les décident. Deux autres résultats sont possibles :343Où le serveur examine les actions, ses verdicts les décident. Deux autres résultats sont possibles :

344 344 

345* **Le serveur n'examine pas la session** : une réponse se termine sans résultats d'examen, ou le serveur répond qu'il n'examine pas cette session. Les causes les plus courantes sont une passerelle LLM ou un proxy qui supprime la demande d'examen ou les résultats, et une plateforme, une région ou des identifiants qui n'ont pas encore de vérifications côté serveur. Claude Code revient à ses propres demandes de classificateur. Une fois que ce retour en arrière tient pour le reste de la session, il affiche un [avis sur les frais de demande de classificateur](/docs/fr/auto-mode-classifier-billing) sur les comptes où ces demandes sont facturées.345* **Le serveur n'examine pas la session** : une réponse se termine sans résultats d'examen, ou le serveur répond qu'il n'examine pas cette session. Les causes les plus courantes sont une passerelle LLM ou un proxy qui abandonne la demande d'examen ou les résultats, et une plateforme, une région ou des identifiants qui n'ont pas encore de vérifications côté serveur. Claude Code revient à ses propres demandes de classificateur. Une fois que ce retour en arrière tient pour le reste de la session, il affiche un [avis sur les frais de demande de classificateur](/docs/fr/auto-mode-classifier-billing) sur les comptes où ces demandes sont facturées.

346* **Le serveur ne donne pas de verdict pour une action** : Claude Code refuse l'action plutôt que de l'exécuter sans examen. Sur n'importe quelle connexion, cela se produit quand la réponse se termine avant l'arrivée des résultats d'examen ou que les résultats arrivent sous une forme que Claude Code ne peut pas lire. Une passerelle LLM ou un proxy qui raccourcit les réponses ou réécrit les résultats peut causer l'un ou l'autre. Sur une connexion directe à l'API Anthropic, cela se produit également quand la vérification du serveur échoue pour l'action, par exemple en dépassant le délai d'attente. [Le serveur n'a pas retourné de verdict de sécurité](/docs/fr/errors#the-server-returned-no-safety-verdict) couvre le message de refus, ce qui se passe quand les refus se répètent, et ce qu'il faut faire.346* **Le serveur ne donne pas de verdict pour une action** : Claude Code refuse l'action plutôt que de l'exécuter sans examen. Sur n'importe quelle connexion, cela se produit quand la réponse se termine avant l'arrivée des résultats d'examen ou que les résultats arrivent sous une forme que Claude Code ne peut pas lire. Une passerelle LLM ou un proxy qui raccourcit les réponses ou réécrit les résultats peut causer l'un ou l'autre. Sur une connexion directe à l'API Anthropic, cela se produit également quand la vérification du serveur échoue pour l'action, par exemple en dépassant le délai d'attente. [Le serveur n'a pas retourné de verdict de sécurité](/docs/fr/errors#the-server-returned-no-safety-verdict) couvre le message de refus, ce qui se passe quand les refus se répètent, et ce qu'il faut faire.

347 347 

348Pour ignorer la demande au serveur et toujours utiliser les propres demandes de classificateur de Claude Code, définissez [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/fr/env-vars). Sur une connexion directe à l'API Anthropic, la variable nécessite Claude Code v2.1.281 ou ultérieur. La définir sur `1` active l'examen du serveur dans une session qui ne l'a pas encore, comme une session `-p` ou Agent SDK, à moins que vous n'ayez également défini `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Si vous définissez `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` et laissez `CLAUDE_CODE_AUTO_MODE_SERVER` non défini, Claude Code cesse également de demander au serveur, sauf comme le décrit [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities).348Pour ignorer la demande au serveur et toujours utiliser les propres demandes de classificateur de Claude Code, définissez [`CLAUDE_CODE_AUTO_MODE_SERVER=0`](/docs/fr/env-vars). Sur une connexion directe à l'API Anthropic, la variable nécessite Claude Code v2.1.281 ou ultérieur. La définir à `1` active l'examen du serveur dans une session qui ne l'a pas encore, comme une session `-p` ou Agent SDK, à moins que vous n'ayez également défini `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1`. Si vous définissez `CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1` et laissez `CLAUDE_CODE_AUTO_MODE_SERVER` non défini, Claude Code cesse également de demander au serveur, sauf comme le décrit [Désactiver les capacités de pré-version](/docs/fr/llm-gateway-protocol#disable-pre-release-capabilities).

349 349 

350<h3 id="what-the-classifier-blocks-by-default">350<h3 id="what-the-classifier-blocks-by-default">

351 Ce que le classificateur bloque par défaut351 Ce que le classificateur bloque par défaut

352</h3>352</h3>

353 353 

354Le classificateur fait confiance à votre répertoire de travail et aux télécommandes qui ont été configurées pour lui quand la session a démarré. Une télécommande ajoutée ou réorientée pendant la session avec `git remote add` ou `git remote set-url` n'est pas approuvée, et tout le reste est traité comme externe jusqu'à ce que vous [configuriez l'infrastructure approuvée](/docs/fr/auto-mode-config). Avant v2.1.200, les télécommandes ajoutées en milieu de session étaient également approuvées.354Le classificateur fait confiance à votre répertoire de travail et aux télécommandes qui ont été configurées pour lui quand la session a démarré. Une télécommande ajoutée ou réorientée pendant la session avec `git remote add` ou `git remote set-url` n'est pas approuvée, et tout le reste est traité comme externe jusqu'à ce que vous [configuriez l'infrastructure approuvée](/docs/fr/auto-mode-config#define-trusted-infrastructure). Avant v2.1.200, les télécommandes ajoutées en milieu de session étaient également approuvées.

355 355 

356**Bloqué par défaut** :356**Bloqué par défaut** :

357 357 


360* Déploiements et migrations de production360* Déploiements et migrations de production

361* Suppression en masse sur le stockage cloud361* Suppression en masse sur le stockage cloud

362* Octroi de permissions IAM ou de dépôt362* Octroi de permissions IAM ou de dépôt

363* Modification d'infrastructure partagée363* Modification d'une infrastructure partagée

364* Destruction irréversible de fichiers qui existaient avant la session364* Destruction irréversible de fichiers qui existaient avant la session

365* Forcer la poussée365* Forcer la poussée

366* Valider ou pousser une modification qui enverrait des secrets ou des données sensibles en dehors du dépôt quand elle s'exécute, ou élargir ce qu'un déploiement expose. Cela couvre un flux de travail CI ou une configuration de déploiement qui transmet un secret à une destination qui ne le reçoit pas déjà, un script ou une étape de configuration qui lit un magasin de secrets et envoie les données, et une modification de configuration qui élargit ce qu'un déploiement publie, comme un registre, une visibilité, un artefact ou un paramètre de sourcemap. La vérification s'applique sur n'importe quelle branche, s'applique même quand le dépôt est public, et se déclenche quand la modification est validée ou poussée, que ce commit ou cette poussée déclenche le pipeline ou non ; la clarifier nécessite de nommer l'effet d'exécution, pas seulement le commit ou la poussée. Avant v2.1.211, cette vérification était limitée à la branche par défaut à la place : une poussée là était bloquée quand elle portait du contenu sensible, des modifications dissimulées ou mal décrites par rapport à ce que vous avez demandé, du contenu porté de l'extérieur du dépôt, ou contourné une révision que vous avez demandée366* Valider ou pousser une modification qui enverrait des secrets ou des données sensibles en dehors du dépôt quand elle s'exécute, ou élargir ce qu'un déploiement expose. Cela couvre un flux de travail CI ou une configuration de déploiement qui transmet un secret à une destination qui ne le reçoit pas déjà, un script ou une étape de configuration qui lit un magasin de secrets et envoie les données, et une modification de configuration qui élargit ce qu'un déploiement publie, comme un registre, une visibilité, un artefact ou un paramètre de sourcemap. La vérification s'applique sur n'importe quelle branche, s'applique même quand le dépôt est public, et se déclenche quand la modification est validée ou poussée, que ce commit ou cette poussée déclenche le pipeline ou non ; la clarifier nécessite de nommer l'effet d'exécution, pas seulement le commit ou la poussée. Avant v2.1.211, cette vérification était limitée à la branche par défaut à la place : une poussée là était bloquée quand elle portait du contenu sensible, des modifications dissimulées ou mal décrites par rapport à ce que vous avez demandé, du contenu porté de l'extérieur du dépôt, ou contourné une révision que vous avez demandée

367* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` ou `git stash clear`, que le classificateur présume éliminerait les modifications non validées367* `git reset --hard`, `git checkout -- .`, `git restore .`, `git clean -fd`, `git stash drop` ou `git stash clear`, que le classificateur présume élimineraient les modifications non validées

368* `git commit --amend` quand le commit à HEAD n'a pas été créé dans cette session368* `git commit --amend` quand le commit à HEAD n'a pas été créé dans cette session

369* À partir de v2.1.198, `git commit --amend` quand le commit à HEAD a déjà été poussé. Une réécriture de message uniquement n'est pas bloquée : `--amend -m` sans rien de nouvellement préparé, sur un commit que Claude a créé pendant cette session369* À partir de v2.1.198, `git commit --amend` quand le commit à HEAD a déjà été poussé. Une réécriture de message uniquement n'est pas bloquée : `--amend -m` sans rien de nouvellement préparé, sur un commit que Claude a créé pendant cette session

370* `terraform destroy`, `pulumi destroy`, `cdk destroy` ou `terragrunt destroy`, et appliquer un plan qui détruit des ressources370* `terraform destroy`, `pulumi destroy`, `cdk destroy` ou `terragrunt destroy`, et appliquer un plan qui détruit des ressources

371 

372Claude Code v2.1.195 et ultérieur bloquent plus de catégories par défaut. Plusieurs dépendent d'entrées [d'environnement](/docs/fr/auto-mode-config#define-trusted-infrastructure), comme les cibles de télécommande sensibles et les portées IaC protégées, que vous pouvez affiner à des noms concrets.

373 

374* Écriture dans un gestionnaire de secrets, ou modification des enregistrements DNS ou des certificats TLS371* Écriture dans un gestionnaire de secrets, ou modification des enregistrements DNS ou des certificats TLS

375* Fusion d'une demande de tirage qu'aucun humain n'a approuvée, approbation de la propre demande de tirage de Claude, ou désactivation des vérifications CI372* Fusion d'une demande de tirage qu'aucun humain n'a approuvée, approbation de la propre demande de tirage de Claude, ou désactivation des vérifications CI

376* Publication d'un commentaire qui est lui-même une commande à l'automatisation, comme `atlantis apply` ou le `/deploy` ou `/merge` d'un bot373* Publication d'un commentaire qui est lui-même une commande à l'automatisation, comme `atlantis apply` ou le `/deploy` ou `/merge` d'un bot

377* Basculement, augmentation ou suppression d'un drapeau de fonctionnalité de production374* Basculement, augmentation ou suppression d'un drapeau de fonctionnalité de production

378* Application de modifications d'infrastructure à une portée IaC protégée, ou drainage et suppression de nœuds de cluster375* Application de modifications d'infrastructure à une portée IaC protégée, ou drainage et suppression de nœuds de cluster

379* Écritures dans un cluster de calcul partagé qui vont au-delà de la ressource que vous avez nommée, comme un sélecteur d'étiquette ou `--all` qui capture les tâches d'autres utilisateurs376* Écritures dans un cluster de calcul partagé qui vont au-delà de la ressource que vous avez nommée, comme un sélecteur d'étiquette ou `--all` qui attrape les tâches d'autres utilisateurs

380* Création de ressources Kubernetes qui s'exécutent sur chaque nœud ou interceptent le trafic du cluster, comme les DaemonSets et les webhooks d'admission377* Création de ressources Kubernetes qui s'exécutent sur chaque nœud ou interceptent le trafic du cluster, comme les DaemonSets et les webhooks d'admission

381* Shells interactifs ou transferts de port vers une cible de télécommande sensible378* Shells interactifs ou transferts de port vers une cible de télécommande sensible

382* Ouverture d'un tunnel ou d'un shell inverse qui rend un service local accessible depuis l'internet public379* Ouverture d'un tunnel ou d'un shell inverse qui rend un service local accessible depuis l'internet public

383* Impression d'un identifiant ou d'un jeton en direct dans la transcription ou un fichier380* Impression d'une identifiant ou d'un jeton en direct dans la transcription ou un fichier

384* Accès à un emplacement répertorié comme emplacement de données sensibles dans votre [environnement](/docs/fr/auto-mode-config#define-trusted-infrastructure), ou copie de données hors de celui-ci. À partir de v2.1.198, cela bloque également l'envoi de données d'un vers un public que l'entrée exclut381* Accès à un emplacement répertorié comme emplacement de données sensibles dans votre [environnement](/docs/fr/auto-mode-config#define-trusted-infrastructure), ou copie de données hors de celui-ci. À partir de v2.1.198, cela bloque également l'envoi de données d'un à un public que l'entrée exclut

385* Routage d'une installation de paquet autour de votre registre de paquet interne vers un registre public. À partir de v2.1.198, cela s'applique également quand vous avez dit à Claude qu'un registre interne ou un miroir existe dans la conversation, pas seulement quand un est répertorié dans votre environnement382* Routage d'une installation de paquet autour de votre registre de paquet interne vers un registre public. À partir de v2.1.198, cela s'applique également quand vous avez dit à Claude qu'un registre interne ou un miroir existe dans la conversation, pas seulement quand un est répertorié dans votre environnement

386* Exécution d'une commande avec un drapeau qui désarme une garde de sécurité, comme `--insecure`383* Exécution d'une commande avec un drapeau qui désarme une garde de sécurité, comme `--insecure`

387* Lancement d'une boucle d'agent autonome qui s'exécute sans approbation humaine ou bac à sable, comme une lancée avec `--dangerously-skip-permissions` ou `--no-sandbox`. À partir de v2.1.198, cela couvre également l'exécution d'un agent tiers ou d'un harnais d'évaluation avec isolation et approbation par action désactivées, comme un coureur lancé avec `--yes-always`384* Lancement d'une boucle d'agent autonome qui s'exécute sans approbation humaine ou bac à sable, comme une lancée avec `--dangerously-skip-permissions` ou `--no-sandbox`. À partir de v2.1.198, cela couvre également l'exécution d'un agent tiers ou d'un harnais d'évaluation avec isolation et approbation par action désactivées, comme un coureur lancé avec `--yes-always`

388* Actions du navigateur [Claude dans Chrome](/docs/fr/chrome) qui pourraient envoyer le contenu de la page, les cookies ou les identifiants hors origine385* Actions du navigateur [Claude dans Chrome](/docs/fr/chrome) qui pourraient envoyer le contenu de la page, les cookies ou les identifiants hors origine

389 386 

387Plusieurs de ces catégories dépendent d'entrées [d'environnement](/docs/fr/auto-mode-config#define-trusted-infrastructure), comme les cibles de télécommande sensibles et les portées IaC protégées, que vous pouvez affiner à des noms concrets.

388 

390Claude Code v2.1.198 et ultérieur bloquent également ceux-ci par défaut :389Claude Code v2.1.198 et ultérieur bloquent également ceux-ci par défaut :

391 390 

392* Suppression de fichiers dans `/tmp`, `$TMPDIR` ou un autre répertoire de travail partagé ou de cache par caractère générique, glob ou filtre d'âge plutôt que par un chemin nommé spécifique391* Suppression de fichiers dans `/tmp`, `$TMPDIR` ou un autre répertoire de travail partagé ou de cache par caractère générique, glob ou filtre d'âge plutôt que par un chemin nommé spécifique

393* Inclusion de détails sensibles dans le contenu envoyé, téléchargé, publié ou écrit à d'autres personnes ou systèmes partagés, quand votre propre message n'a pas autorisé ces détails pour ce destinataire. Les corps de PR et de problème, les messages de commit et les commentaires comptent comme ce type de contenu sortant quand le dépôt est en dehors de la limite de confiance ou public, y compris les dépôts publics de votre propre organisation ; les chemins de fichiers internes, les noms de code, les données de réponse API en direct comme les e-mails ou les identifiants de compte, et les identifiants d'infrastructure comptent comme des détails sensibles. La portée de PR, de problème et de message de commit nécessite Claude Code v2.1.200 ou ultérieur. Les données personnelles en direct d'une réponse API dans un corps de PR ou de problème, comme une adresse e-mail, un identifiant de compte ou d'organisation, ou une métrique d'utilisation, vous obligent à nommer ces détails et le destinataire indépendamment de la visibilité du dépôt ou de la limite de confiance. Cette vérification nécessite Claude Code v2.1.203 ou ultérieur392* Inclusion de détails sensibles dans le contenu envoyé, téléchargé, publié ou écrit à d'autres personnes ou systèmes partagés, quand votre propre message n'a pas autorisé ces détails pour ce destinataire. Les corps de PR et de problème, les messages de commit et les commentaires comptent comme ce type de contenu sortant quand le dépôt est en dehors de la limite de confiance ou public, y compris les dépôts publics de votre propre organisation ; les chemins de fichiers internes, les noms de code, les données de réponse API en direct comme les e-mails ou les identifiants de compte, et les identifiants d'infrastructure comptent comme des détails sensibles. La portée PR, problème et message de commit nécessite Claude Code v2.1.200 ou ultérieur. Les données personnelles en direct d'une réponse API dans un corps de PR ou de problème, comme une adresse e-mail, un identifiant de compte ou d'organisation, ou une métrique d'utilisation, vous obligent à nommer ces détails et le destinataire indépendamment de la visibilité ou de la limite de confiance du dépôt. Cette vérification nécessite Claude Code v2.1.203 ou ultérieur

394* Envoi de frappes au clavier au propre volet tmux de Claude Code pour piloter sa propre interface, que le classificateur traite comme Claude changeant ses propres permissions ou surveillance393* Envoi de frappes à son propre volet tmux de Claude Code pour piloter sa propre interface, que le classificateur traite comme Claude changeant ses propres permissions ou surveillance

395 394 

396Claude Code v2.1.200 et ultérieur bloquent également ceux-ci par défaut :395Claude Code v2.1.200 et ultérieur bloquent également ceux-ci par défaut :

397 396 

398* Commentaire, suppression ou passage en force d'un test ou d'une assertion qui protège le comportement de sécurité, comme l'authentification, le contrôle d'accès, la validation d'entrée ou le bac à sable397* Commentaire, suppression ou passage en force d'un test ou d'une assertion qui protège le comportement de sécurité, comme l'authentification, le contrôle d'accès, la validation des entrées ou le bac à sable

399* Suppression ou démantèlement d'une ressource avec état que Claude n'a pas créée dans la session, quand aucune règle de suppression plus spécifique ne s'applique et que vous n'avez pas nommé cette ressource398* Suppression ou démantèlement d'une ressource avec état que Claude n'a pas créée dans la session, quand aucune règle de suppression plus spécifique ne s'applique et que vous n'avez pas nommé cette ressource

400* Réorientation d'une URL de base API, d'un point de terminaison proxy, d'un récepteur webhook ou d'un miroir de registre vers un hôte tiers qui ne correspond pas à la tâche, y compris dans les fichiers d'exemple comme `.env.example`399* Réorientation d'une URL de base API, d'un point de terminaison proxy, d'un récepteur webhook ou d'un miroir de registre vers un hôte tiers qui ne convient pas à la tâche, y compris dans les fichiers d'exemple comme `.env.example`

401* Modification de la destination des poussées avec `git remote set-url` ou `git remote add`, à moins que vous n'ayez nommé la nouvelle télécommande400* Modification de la destination des poussées avec `git remote set-url` ou `git remote add`, à moins que vous n'ayez nommé la nouvelle télécommande

402* Poussée de secrets ou de données personnelles ou confiées vers un dépôt connu pour être public, ou poussée de matériel confidentiel là qui ne fait pas partie du travail propre de ce dépôt. Le sujet propre d'un dépôt de dotfiles est la seule exception pour les données personnelles ou confiées, et le contenu d'un dépôt privé atteignant n'importe quelle surface publique est bloqué de la même manière ; les deux raffinements nécessitent Claude Code v2.1.203 ou ultérieur. Avant v2.1.203, les données personnelles étaient groupées avec le matériel confidentiel et bloquées uniquement quand elles ne faisaient pas partie du travail propre de ce dépôt. Quand la visibilité d'un dépôt n'est pas établie, le classificateur ne bloque pas sur cela seul ; il juge le contenu par rapport aux autres règles à la place401* Poussée de secrets ou de données personnelles ou confiées vers un dépôt connu pour être public, ou poussée de matériel confidentiel là qui ne fait pas partie du travail propre de ce dépôt. Le sujet propre d'un dépôt de dotfiles est la seule exception pour les données personnelles ou confiées, et le contenu d'un dépôt privé atteignant n'importe quelle surface publique est bloqué de la même manière ; les deux raffinements nécessitent Claude Code v2.1.203 ou ultérieur. Avant v2.1.203, les données personnelles étaient groupées avec le matériel confidentiel et bloquées uniquement quand elles ne faisaient pas partie du travail propre de ce dépôt. Quand la visibilité d'un dépôt n'est pas établie, le classificateur ne bloque pas sur cela seul ; il juge le contenu par rapport aux autres règles à la place

403* Ouverture d'une demande de tirage contre un dépôt ou une organisation différente, bifurcation avec `gh repo fork`, ou poussée vers un dépôt tiers, à moins que vous n'ayez nommé cette cible externe402* Ouverture d'une demande de tirage contre un dépôt ou une organisation différente, bifurcation avec `gh repo fork` ou poussée vers un dépôt tiers, à moins que vous n'ayez nommé cette cible externe

404 403 

405Claude Code v2.1.203 et ultérieur bloquent également ceux-ci par défaut :404Claude Code v2.1.203 et ultérieur bloquent également ceux-ci par défaut :

406 405 


415 414 

416Claude Code v2.1.257 et ultérieur bloquent également ceux-ci par défaut :415Claude Code v2.1.257 et ultérieur bloquent également ceux-ci par défaut :

417 416 

418* Demande d'identifiants à partir du point de terminaison de métadonnées d'instance cloud, comme `169.254.169.254`, ou authentification explicite d'un appel cloud, cluster ou registre avec l'identité de compte de service ou de nœud de la machine417* Demande d'identifiants à partir du point de terminaison de métadonnées d'instance cloud, comme `169.254.169.254`, ou authentification explicite d'un appel cloud, cluster ou registre avec l'identité de compte de service ou de nœud propre de la machine

419* Atteinte d'un hôte public par une route autre qu'une demande directe, comme un tunnel, un shell inverse ou une configuration de résolveur ou de proxy réécrite pour pointer vers l'extérieur418* Atteinte d'un hôte public par une route autre qu'une demande directe, comme un tunnel, un shell inverse ou une configuration de résolveur ou de proxy réécrite pour pointer vers l'extérieur

420* Lecture d'identifiants qui appartiennent à l'hôte plutôt qu'à votre tâche, comme les certificats de nœud ou l'authentification du registre de conteneurs du nœud419* Lecture d'identifiants qui appartiennent à l'hôte plutôt qu'à votre tâche, comme les certificats de nœud ou l'authentification du registre de conteneurs du nœud

421* Connexion à ou analyse de conteneurs, pods ou VMs frères que Claude n'a pas démarrés, ou le nœud sous le conteneur420* Connexion à ou analyse de conteneurs, pods ou VMs frères que Claude n'a pas démarrés, ou le nœud sous le conteneur

422 421 

423Si Claude Code s'exécute quelque part qui est censé permettre l'un de ceux-ci, décrivez cette configuration dans une entrée [Host containment](/docs/fr/auto-mode-config#define-trusted-infrastructure) dans `autoMode.environment`.422Si Claude Code s'exécute quelque part qui est censé permettre l'un de ceux-ci, décrivez cette configuration dans une [entrée Host containment](/docs/fr/auto-mode-config#define-trusted-infrastructure) dans `autoMode.environment`.

424 423 

425Claude Code v2.1.261 et ultérieur bloquent également ceux-ci par défaut :424Claude Code v2.1.261 et ultérieur bloquent également ceux-ci par défaut :

426 425 

427* Publication ou écriture d'un lien vers un service public de collage, de diagramme ou de partage de données dans un message, un texte de PR ou de problème, un document ou n'importe où ailleurs le lien sera ouvert ou récupéré, quand l'URL elle-même porte le contenu partagé, à moins que vous n'ayez nommé ce service426* Publication ou écriture d'un lien vers un service public de collage, de diagramme ou de partage de données dans un message, un texte de PR ou de problème, un document ou n'importe où ailleurs où le lien sera ouvert ou récupéré, quand l'URL elle-même porte le contenu partagé, à moins que vous n'ayez nommé ce service

428 427 

429**Autorisé par défaut** :428**Autorisé par défaut** :

430 429 

431* Opérations de fichier local dans votre répertoire de travail430* Opérations de fichiers locaux dans votre répertoire de travail

432* Installation de dépendances déclarées dans vos fichiers de verrouillage ou manifestes431* Installation de dépendances déclarées dans vos fichiers de verrouillage ou manifestes

433* Lecture de `.env` et envoi d'identifiants à leur API correspondante432* Lecture de `.env` et envoi d'identifiants à leur API correspondante

434* Demandes HTTP en lecture seule433* Demandes HTTP en lecture seule

435* Poussée vers n'importe quelle branche du dépôt sur lequel vous travaillez, y compris la branche par défaut. Une branche non par défaut dont le nom la marque comme cible de déploiement ou de publication, comme `production` ou `gh-pages`, n'est pas couverte : le classificateur juge une poussée là sur ses propres termes. Le contenu de la poussée est toujours vérifié par rapport aux autres règles, les règles [`permissions.deny`](/docs/fr/permissions#manage-permissions) peuvent toujours bloquer les commandes de poussée [telles qu'écrites](/docs/fr/permissions#bash-rule-limits) dans chaque mode, et la protection de branche propre de la télécommande s'applique toujours. Avant v2.1.211, seules les poussées vers la branche sur laquelle vous avez démarré, les branches que Claude a créées, et les poussées routinières vers la branche par défaut étaient autorisées par défaut, et avant v2.1.203 toute poussée directe vers la branche par défaut était bloquée434* Poussée vers n'importe quelle branche du dépôt sur lequel vous travaillez, y compris la branche par défaut. Une branche non par défaut dont le nom la marque comme cible de déploiement ou de publication, comme `production` ou `gh-pages`, n'est pas couverte : le classificateur juge une poussée là sur ses propres termes. Le contenu de la poussée est toujours vérifié par rapport aux autres règles, les règles [`permissions.deny`](/docs/fr/permissions#manage-permissions) peuvent toujours bloquer les commandes de poussée [telles qu'écrites](/docs/fr/permissions#bash-rule-limits) dans chaque mode, et la protection de branche propre de la télécommande s'applique toujours. Avant v2.1.211, seules les poussées vers la branche sur laquelle vous avez démarré, les branches que Claude a créées, et les poussées routinières vers la branche par défaut étaient autorisées par défaut, et avant v2.1.203 toute poussée directe vers la branche par défaut était bloquée

436 

437Claude Code v2.1.195 et ultérieur autorisent également ceux-ci par défaut :

438 

439* Suppression des tâches exactes que Claude a créées plus tôt dans la même session435* Suppression des tâches exactes que Claude a créées plus tôt dans la même session

440* Lecture, révision ou écriture de code, de configurations et de modèles de menace liés à la sécurité dans le cadre de votre tâche436* Lecture, révision ou écriture de code, de configurations et de modèles de menace liés à la sécurité dans le cadre de votre tâche

441* Messages entre agents travaillant ensemble dans la même session multi-agents437* Messages entre agents travaillant ensemble dans la même session multi-agent

442* Envoi de données vers les domaines approuvés, les buckets et les services que vous répertoriez dans [`environment`](/docs/fr/auto-mode-config#define-trusted-infrastructure). Cela couvre le flux de données uniquement, pas les opérations destructrices ou d'identifiant sur la même infrastructure438* Envoi de données aux domaines approuvés, aux buckets et aux services que vous répertoriez dans [`environment`](/docs/fr/auto-mode-config#define-trusted-infrastructure). Cela couvre le flux de données uniquement, pas les opérations destructrices ou d'identifiant sur la même infrastructure

443* [Claude dans Chrome](/docs/fr/chrome) navigation vers un domaine interne approuvé, localhost ou une URL que vous avez nommée439* [Claude dans Chrome](/docs/fr/chrome) navigation vers un domaine interne approuvé, localhost ou une URL que vous avez nommée

444 440 

445Les commandes en bac à sable n'obtiennent pas d'accès réseau par défaut. Claude nomme les hôtes qu'une commande a besoin sur la commande elle-même, le classificateur les examine avec la commande, et une liste approuvée ouvre ces hôtes pour cette seule commande. [Domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) couvre ce qu'une liste peut et ne peut pas ouvrir et ce qui se passe quand une commande atteint un hôte non répertorié.441Les commandes en bac à sable n'obtiennent pas d'accès réseau par défaut. Claude nomme les hôtes qu'une commande a besoin sur la commande elle-même, le classificateur les examine avec la commande, et une liste approuvée ouvre ces hôtes pour cette seule commande. [Domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) couvre ce qu'une liste peut et ne peut pas ouvrir et ce qui se passe quand une commande atteint un hôte non répertorié.

446 442 

447Exécutez `claude auto-mode defaults` pour imprimer les listes de règles complètes en JSON. Si les actions routinières sont bloquées, un administrateur peut ajouter des dépôts, des buckets et des services approuvés via le paramètre `autoMode.environment` : voir [Configurer le mode auto](/docs/fr/auto-mode-config).443Exécutez `claude auto-mode defaults` pour imprimer les listes de règles complètes en JSON. Si les actions routinières sont bloquées, un administrateur peut ajouter des dépôts, des buckets et des services approuvés via le paramètre `autoMode.environment` : voir [Configurer le mode auto](/docs/fr/auto-mode-config).

448 444 

449Pousser vers n'importe quelle branche du dépôt sur lequel vous travaillez et créer une demande de tirage qui correspond à votre demande s'exécutent sans invite, à moins que la poussée ou la demande de tirage ne tombe sous la [liste bloquée](#what-the-classifier-blocks-by-default), comme des secrets ou des données sensibles quittant le dépôt, ou une demande de tirage qui cible un dépôt ou une organisation différente. Pour exiger un point de contrôle humain avant ces commandes tout en restant en mode auto, ajoutez des règles `permissions.ask`, qui correspondent à la commande [telle qu'écrite](/docs/fr/permissions#bash-rule-limits) : voir [Limites courantes](/docs/fr/auto-mode-config#common-boundaries).445Pousser vers n'importe quelle branche du dépôt sur lequel vous travaillez et créer une demande de tirage qui correspond à votre demande s'exécutent sans invite, à moins que la poussée ou la demande de tirage ne tombe sous la [liste bloquée](#what-the-classifier-blocks-by-default), comme des secrets ou des données sensibles quittant le dépôt, ou une demande de tirage qui cible un dépôt ou une organisation différente. Pour exiger un point de contrôle humain avant ces commandes tout en restant en mode auto, ajoutez des règles `permissions.ask`, qui correspondent à la commande [telle qu'écrite](/docs/fr/permissions#bash-rule-limits) : voir [Limites communes](/docs/fr/auto-mode-config#common-boundaries).

450 446 

451<h3 id="first-read-outside-the-working-directories">447<h3 id="first-read-outside-the-working-directories">

452 La première lecture en dehors des répertoires de travail448 La première lecture en dehors des répertoires de travail

453</h3>449</h3>

454 450 

455Tandis que [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) est désactivé, les lectures de fichier s'exécutent sans invite en mode auto, y compris les lectures en dehors des [répertoires de travail](/docs/fr/permissions#working-directories). La première fois que Claude utilise l'outil Read, Grep ou Glob sur un chemin en dehors d'eux, Claude Code demande s'il faut autoriser cette lecture.451Tandis que [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) est désactivé, les lectures de fichiers s'exécutent sans invite en mode auto, y compris les lectures en dehors des [répertoires de travail](/docs/fr/permissions#working-directories). La première fois que Claude utilise l'outil Read, Grep ou Glob sur un chemin en dehors d'eux, Claude Code demande s'il faut autoriser cette lecture.

456 452 

457L'invite n'apparaît pas dans les exécutions `-p` non interactives ou les sessions en arrière-plan ; les lectures là s'exécutent comme avant.453L'invite n'apparaît pas dans les exécutions `-p` non interactives ou les sessions d'arrière-plan ; les lectures là s'exécutent comme avant.

458 454 

459Quelle que soit votre réponse, Claude continue à travailler :455Quelle que soit votre réponse, Claude continue à travailler :

460 456 

461* **Oui, et continuez à autoriser toute lecture en dehors des répertoires de travail** : la lecture s'exécute, les lectures ultérieures en dehors des répertoires de travail s'exécutent comme avant, et Claude Code enregistre votre réponse pour que l'invite n'apparaisse plus457* **Oui, et continuez à autoriser toute lecture en dehors des répertoires de travail** : la lecture s'exécute, les lectures ultérieures en dehors des répertoires de travail s'exécutent comme avant, et Claude Code enregistre votre réponse pour que l'invite n'apparaisse plus

462* **Non, et bloquez les lectures en dehors des répertoires de travail à partir de maintenant** : la lecture est refusée, et Claude Code définit [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) sur `true` dans vos paramètres utilisateur, ce qui fait que les outils de fichier refusent ces lectures dans chaque session ultérieure et chaque mode de permission. Pour laisser Claude lire un tel chemin plus tard, ajoutez son répertoire avec `/add-dir` ou supprimez le paramètre.458* **Non, et bloquez les lectures en dehors des répertoires de travail à partir de maintenant** : la lecture est refusée, et Claude Code définit [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) à `true` dans vos paramètres utilisateur, ce qui fait que les outils de fichier refusent ces lectures dans chaque session ultérieure et chaque mode de permission. Pour laisser Claude lire ce chemin plus tard, ajoutez son répertoire avec `/add-dir` ou supprimez le paramètre.

463* **Non, et demandez à nouveau la prochaine fois** : la lecture est refusée, et la prochaine lecture en dehors des répertoires de travail invite à nouveau459* **Non, et demandez à nouveau la prochaine fois** : la lecture est refusée, et la prochaine lecture en dehors des répertoires de travail invite à nouveau

464* **Oui, mais demandez à nouveau la prochaine fois** : la lecture s'exécute, rien n'est enregistré, et la prochaine lecture en dehors des répertoires de travail invite à nouveau460* **Oui, mais demandez à nouveau la prochaine fois** : la lecture s'exécute, rien n'est enregistré, et la prochaine lecture en dehors des répertoires de travail invite à nouveau

465 461 


467 Limites que vous énoncez dans la conversation463 Limites que vous énoncez dans la conversation

468</h3>464</h3>

469 465 

470Le classificateur traite les limites que vous énoncez dans la conversation comme un signal de bloc. Si vous dites à Claude « ne poussez pas » ou « attendez que j'examine avant de déployer », le classificateur bloque les actions correspondantes même quand les règles par défaut les autoriseraient. Une limite reste en vigueur jusqu'à ce que vous la leviez dans un message ultérieur. Le propre jugement de Claude qu'une condition a été remplie ne la lève pas.466Le classificateur traite les limites que vous énoncez dans la conversation comme un signal de bloc. Si vous dites à Claude « ne pousse pas » ou « attends que j'examine avant de déployer », le classificateur bloque les actions correspondantes même quand les règles par défaut les autoriseraient. Une limite reste en vigueur jusqu'à ce que vous la leviez dans un message ultérieur. Le propre jugement de Claude qu'une condition a été remplie ne la lève pas.

471 467 

472Les limites ne sont pas stockées en tant que règles. Le classificateur les relit à partir de la transcription à chaque vérification, donc une limite peut être perdue si la [compaction de contexte](/docs/fr/costs#reduce-token-usage) supprime le message qui l'a énoncée. Pour une garantie ferme, ajoutez une [règle deny](/docs/fr/permissions#permission-rule-syntax) à la place.468Les limites ne sont pas stockées en tant que règles. Le classificateur les relit à partir de la transcription à chaque vérification, donc une limite peut être perdue si la [compaction de contexte](/docs/fr/costs#reduce-token-usage) supprime le message qui l'a énoncée. Pour une garantie ferme, ajoutez une [règle deny](/docs/fr/permissions#permission-rule-syntax) à la place.

473 469 


478Si vous dites à Claude qu'une action bloquée est autorisée, le classificateur lit cela comme votre approbation et peut clarifier le bloc. La façon dont vous l'avez formulé décide si l'action s'exécute et jusqu'où l'approbation s'étend :474Si vous dites à Claude qu'une action bloquée est autorisée, le classificateur lit cela comme votre approbation et peut clarifier le bloc. La façon dont vous l'avez formulé décide si l'action s'exécute et jusqu'où l'approbation s'étend :

479 475 

480* **Nommez l'action et ses spécificités** : votre message doit nommer l'action et la chose spécifique qui la rend dangereuse, comme la branche d'une poussée forcée. Nommer le verbe seul ne clarifie rien, donc « vous pouvez forcer la poussée » laisse le bloc en place.476* **Nommez l'action et ses spécificités** : votre message doit nommer l'action et la chose spécifique qui la rend dangereuse, comme la branche d'une poussée forcée. Nommer le verbe seul ne clarifie rien, donc « vous pouvez forcer la poussée » laisse le bloc en place.

481* **Attendez-vous à ce qu'elle couvre une action** : une approbation couvre l'action destructrice que vous avez nommée, donc une action ultérieure est bloquée à nouveau à moins que vous n'ayez accordé l'approbation en tant que permanente. Pour arrêter d'approuver un modèle routinier une action à la fois, ajoutez-le à [`autoMode.allow`](/docs/fr/auto-mode-config#override-the-block-and-allow-rules).477* **Attendez-vous à ce qu'il couvre une action** : une approbation couvre l'action destructrice que vous avez nommée, donc une action ultérieure est bloquée à nouveau à moins que vous n'ayez accordé l'approbation en tant que permanente. Pour arrêter d'approuver un modèle routinier une action à la fois, ajoutez-le à [`autoMode.allow`](/docs/fr/auto-mode-config#override-the-block-and-allow-rules).

482* **Certains blocs restent en place** : [l'ordre de précédence du classificateur](/docs/fr/auto-mode-config#override-the-block-and-allow-rules) énonce les blocs que votre approbation peut atteindre. Pour exécuter une étape qu'elle ne clarifiera pas, [quittez le mode auto](#switch-permission-modes) et répondez à l'invite de permission.478* **Certains blocs restent en place** : [l'ordre de précédence du classificateur](/docs/fr/auto-mode-config#override-the-block-and-allow-rules) énonce quels blocs votre approbation peut atteindre. Pour exécuter une étape qu'il ne clarifiera pas, [quittez le mode auto](#switch-permission-modes) et répondez à l'invite de permission.

483 479 

484<h3 id="when-auto-mode-falls-back">480<h3 id="when-auto-mode-falls-back">

485 Quand le mode auto revient en arrière481 Quand le mode auto revient en arrière


488Quand le mode auto ne peut pas approuver les actions de votre session, ce qui se passe dépend du cas :484Quand le mode auto ne peut pas approuver les actions de votre session, ce qui se passe dépend du cas :

489 485 

490* **Une action bloquée** : Claude Code affiche une notification et répertorie l'action dans `/permissions` sous l'onglet **Recently denied**, où vous pouvez appuyer sur `r` pour la réessayer avec une approbation manuelle.486* **Une action bloquée** : Claude Code affiche une notification et répertorie l'action dans `/permissions` sous l'onglet **Recently denied**, où vous pouvez appuyer sur `r` pour la réessayer avec une approbation manuelle.

491* **Blocs répétés** : si le classificateur bloque une action 3 fois de suite ou 20 fois au total, le mode auto s'interrompt et Claude Code reprend l'invite. Approuver l'action invitée reprend le mode auto. Voir [Seuils de blocs répétés](#repeated-block-thresholds) pour la façon dont les blocs sont comptés.487* **Blocs répétés** : si le classificateur bloque une action 3 fois de suite ou 20 fois au total, le mode auto s'interrompt et Claude Code reprend l'invite. L'approbation de l'action invitée reprend le mode auto. Voir [Seuils de bloc répété](#repeated-block-thresholds) pour la façon dont les blocs sont comptés.

492* **Aucun verdict du classificateur** : quand une vérification de sécurité distincte du mode auto refuse la propre demande du classificateur, ou que la réponse du classificateur ne s'analyse pas, Claude Code refuse l'action sans la notification ou l'entrée **Recently denied**. Voir [Auto mode cannot determine the safety of an action](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) pour le message que chaque cas affiche et ce qu'il faut faire.488* **Aucun verdict du classificateur** : quand une vérification de sécurité distincte du mode auto refuse la propre demande du classificateur, ou que la réponse du classificateur ne s'analyse pas, Claude Code refuse l'action sans la notification ou l'entrée **Recently denied**. Voir [Le mode auto ne peut pas déterminer la sécurité d'une action](/docs/fr/errors#auto-mode-cannot-determine-the-safety-of-an-action) pour le message que chaque cas affiche et ce qu'il faut faire.

493* **Aucun verdict du serveur** : sous [examen du classificateur côté serveur](#server-side-classifier-review), Claude Code refuse une action pour laquelle le serveur ne donne pas de verdict, et arrête le tour après dix réponses de suite sans verdict. Voir [Le serveur n'a pas retourné de verdict de sécurité](/docs/fr/errors#the-server-returned-no-safety-verdict).489* **Aucun verdict du serveur** : sous [examen du classificateur côté serveur](#server-side-classifier-review), Claude Code refuse une action pour laquelle le serveur ne donne pas de verdict, et arrête le tour après dix réponses de suite sans verdict. Voir [Le serveur n'a pas retourné de verdict de sécurité](/docs/fr/errors#the-server-returned-no-safety-verdict).

494* **Un changement de mode pendant une vérification** : si vous changez les modes de permission tandis qu'une vérification de classificateur est en attente, Claude Code rejette un verdict que le nouveau mode n'aurait pas demandé plutôt que de l'appliquer : vous êtes invité pour approbation à la place, ou l'action est auto-refusée en [mode `dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode).490* **Un changement de mode pendant une vérification** : si vous changez les modes de permission tandis qu'une vérification de classificateur est en attente, Claude Code abandonne un verdict que le nouveau mode n'aurait pas demandé. Vous êtes invité à l'approbation à la place, ou l'action est auto-refusée en [mode `dontAsk`](#allow-only-pre-approved-tools-with-dontask-mode).

495 491 

496<h4 id="repeated-block-thresholds">492<h4 id="repeated-block-thresholds">

497 Seuils de blocs répétés493 Seuils de bloc répété

498</h4>494</h4>

499 495 

500Les seuils de 3 blocs de suite et 20 blocs au total ne sont pas configurables. Le compteur total persiste pour la session et se réinitialise uniquement quand sa propre limite déclenche un retour en arrière. Claude Code ne compte pas un refus vers l'un ou l'autre seuil quand une vérification de sécurité distincte du mode auto refuse la propre demande du classificateur.496Les seuils de 3 blocs de suite et 20 blocs au total ne sont pas configurables. Le compteur total persiste pour la session et se réinitialise uniquement quand sa propre limite déclenche un retour en arrière. Claude Code ne compte pas un refus vers l'un ou l'autre seuil quand une vérification de sécurité distincte du mode auto refuse la propre demande du classificateur.


518 1. Les actions correspondant à vos [règles allow, ask ou deny](/docs/fr/permissions#manage-permissions) se résolvent immédiatement, avec ces exceptions :514 1. Les actions correspondant à vos [règles allow, ask ou deny](/docs/fr/permissions#manage-permissions) se résolvent immédiatement, avec ces exceptions :

519 * Les écritures vers [chemins protégés](#protected-paths) sont acheminées vers le classificateur même quand une règle allow correspond515 * Les écritures vers [chemins protégés](#protected-paths) sont acheminées vers le classificateur même quand une règle allow correspond

520 * Aucune règle allow n'approuve les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths)516 * Aucune règle allow n'approuve les suppressions `rm` et `rmdir` ciblant un [chemin critique](#critical-paths)

521 * Les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) vous invitent directement même quand une règle allow correspond, et il en va de même pour les outils de connecteur [que votre organisation a définis sur `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code517 * Les outils MCP marqués [`requiresUserInteraction`](/docs/fr/mcp#require-approval-for-a-specific-tool) vous invitent directement même quand une règle allow correspond, et il en va de même pour les outils de connecteur [que votre organisation a définis à `ask`](/docs/fr/mcp#organization-controls-on-connector-tools) dans les sessions où ce paramètre atteint Claude Code

522 * Une commande shell qui porte [domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) est également acheminée vers le classificateur même quand une règle allow correspond, parce qu'une règle approuve la commande, pas ses hôtes518 * Une commande shell qui porte [domaines autorisés par commande](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) est également acheminée vers le classificateur même quand une règle allow correspond, car une règle approuve la commande, pas ses hôtes

523 * Les règles ask qui correspondent sur le contenu d'une commande, comme `Bash(git push *)`, reviennent à une invite de permission519 * Les règles ask qui correspondent sur le contenu d'une commande, comme `Bash(git push *)`, reviennent à une invite de permission

524 * Une écriture que la [vérification de lien symbolique](/docs/fr/permissions#symlinks) résout à un chemin protégé vous invite quand le chemin que Claude a demandé n'est pas lui-même protégé520 * Une écriture que la [vérification de lien symbolique](/docs/fr/permissions#symlinks) résout à un chemin protégé vous invite quand le chemin que Claude a demandé n'est pas lui-même protégé

525 2. Les actions en lecture seule et les éditions de fichier dans votre répertoire de travail sont auto-approuvées, sauf les écritures vers [chemins protégés](#protected-paths) et [la première lecture en dehors des répertoires de travail](#first-read-outside-the-working-directories), qui vous invite521 2. Les actions en lecture seule et les éditions de fichiers dans votre répertoire de travail sont auto-approuvées, sauf les écritures vers [chemins protégés](#protected-paths) et [la première lecture en dehors des répertoires de travail](#first-read-outside-the-working-directories), qui vous invitent

526 * Dans une session avec [examen du classificateur côté serveur](#server-side-classifier-review), les actions en lecture seule et les commandes shell [en bac à sable](/docs/fr/sandboxing#sandbox-modes) attendent cet examen et sont bloquées s'il les signale522 * Dans une session avec [examen du classificateur côté serveur](#server-side-classifier-review), les actions en lecture seule et les commandes shell [en bac à sable](/docs/fr/sandboxing#sandbox-modes) attendent cet examen et sont bloquées s'il les signale

527 * Une écriture dans votre répertoire de travail que la [vérification de lien symbolique](/docs/fr/permissions#symlinks) résout à un emplacement en dehors de celui-ci vous invite523 * Une écriture à l'intérieur de votre répertoire de travail que la [vérification de lien symbolique](/docs/fr/permissions#symlinks) résout à un emplacement en dehors d'elle vous invite

528 3. Tout le reste va au classificateur, à part les [suppressions de chemin critique](#critical-paths) sous leur gestion par défaut. Les outils de connecteur et les outils MCP `requiresUserInteraction` qui vous invitent directement à l'étape 1 n'atteignent jamais le classificateur non plus, donc ni une approbation requise par l'organisation ni une étape de consentement n'est auto-approuvée524 3. Tout le reste va au classificateur, à part les [suppressions de chemin critique](#critical-paths) sous leur gestion par défaut. Les outils de connecteur et les outils MCP `requiresUserInteraction` qui vous invitent directement à l'étape 1 n'atteignent jamais le classificateur non plus, donc ni une approbation requise par l'organisation ni une étape de consentement n'est auto-approuvée

529 4. Si le classificateur bloque, Claude reçoit la raison et essaie une alternative. Dans la plupart des sessions, la raison nomme la règle que le classificateur a correspondue, comme `[Data Exfiltration]`, plutôt que de donner une explication écrite ; voir [Examiner les refus](/docs/fr/auto-mode-config#review-denials)525 4. Si le classificateur bloque, Claude reçoit la raison. Dans la plupart des sessions, la raison nomme la règle que le classificateur a correspondante, comme `[Data Exfiltration]`, plutôt que de donner une explication écrite ; voir [Examiner les refus](/docs/fr/auto-mode-config#review-denials)

530 526 

531 En entrant en mode auto, les larges règles allow qui accordent l'exécution de code arbitraire sont supprimées :527 En entrant en mode auto, les règles allow larges qui accordent l'exécution de code arbitraire sont supprimées :

532 528 

533 * Blanket `Bash(*)` ou `PowerShell(*)`529 * Blanket `Bash(*)` ou `PowerShell(*)`

534 * Interpréteurs avec caractères génériques comme `Bash(python*)`530 * Interpréteurs avec caractères génériques comme `Bash(python*)`

535 * Commandes d'exécution du gestionnaire de paquet531 * Commandes d'exécution du gestionnaire de paquet

536 * Règles `Agent` allow532 * Règles `Agent` allow

537 * Règles [`Monitor`](/docs/fr/tools-reference#monitor-tool) allow, parce que Claude Code exécute les commandes Monitor via le shell533 * Règles [`Monitor`](/docs/fr/tools-reference#monitor-tool) allow, car Claude Code exécute les commandes Monitor via le shell

538 534 

539 Les règles étroites comme `Bash(npm test)` restent en vigueur. Claude Code restaure les règles supprimées quand vous quittez le mode auto. Avant v2.1.236, Claude Code laissait les règles `Monitor` allow en vigueur en mode auto, donc une règle qui correspondait à l'outil entier approuvait les commandes Monitor sans examen du classificateur.535 Les règles étroites comme `Bash(npm test)` restent en vigueur. Claude Code restaure les règles supprimées quand vous quittez le mode auto. Avant v2.1.236, Claude Code laissait les règles `Monitor` allow en vigueur en mode auto, donc une règle qui correspondait à l'outil entier approuvait les commandes Monitor sans examen du classificateur.

540 536 

541 Claude Code exécute également `git status` lui-même avant une commande qui éliminerait le travail non validé, comme `git reset --hard` ou `rm -rf`, et montre au classificateur si du travail préparé, modifié ou non suivi est présent. Claude Code signale les fichiers non suivis dans cette vérification même quand la configuration git du dépôt définit `status.showUntrackedFiles=no`.537 Claude Code exécute également `git status` lui-même avant une commande qui éliminerait le travail non validé, comme `git reset --hard` ou `rm -rf`, et montre au classificateur si le travail préparé, modifié ou non suivi est présent. Claude Code signale les fichiers non suivis dans cette vérification même quand la configuration git du dépôt définit `status.showUntrackedFiles=no`.

542 538 

543 Dans les demandes de classificateur envoyées par Claude Code lui-même, le classificateur voit les messages utilisateur, les appels d'outil autres que les recherches en lecture seule comme les lectures de fichier et les recherches, et votre contenu CLAUDE.md. Les résultats d'outil sont supprimés de ces demandes, donc le contenu hostile dans un fichier ou une page web ne peut pas manipuler le classificateur directement.539 Dans les demandes de classificateur envoyées par Claude Code lui-même, le classificateur voit les messages utilisateur, les appels d'outil autres que les recherches en lecture seule comme les lectures de fichiers et les recherches, et votre contenu CLAUDE.md. Les résultats d'outil sont supprimés de ces demandes, donc le contenu hostile dans un fichier ou une page web ne peut pas manipuler le classificateur directement.

544 540 

545 Vous pouvez annoter le résultat d'un appel avec le champ `classifierContext` d'un [hook PostToolUse](/docs/fr/hooks#annotate-a-result-for-the-auto-mode-classifier), que le classificateur lit comme contexte fourni par l'application. Le champ nécessite Claude Code v2.1.236 ou ultérieur.541 Vous pouvez annoter le résultat d'un appel avec le champ `classifierContext` d'un [hook PostToolUse](/docs/fr/hooks#annotate-a-result-for-the-auto-mode-classifier), que le classificateur lit comme contexte fourni par l'application. Le champ nécessite Claude Code v2.1.236 ou ultérieur.

546 542 

547 Une sonde côté serveur distincte analyse les résultats d'outil entrants et signale le contenu suspect avant que Claude ne le lise. Pour plus d'informations sur la façon dont ces couches fonctionnent ensemble, consultez l'[annonce du mode auto](https://claude.com/blog/auto-mode) et l'[approfondissement technique](https://www.anthropic.com/engineering/claude-code-auto-mode).543 Une sonde côté serveur distincte analyse les résultats d'outil entrants et signale le contenu suspect avant que Claude ne le lise. Pour plus d'informations sur la façon dont ces couches fonctionnent ensemble, voir l'[annonce du mode auto](https://claude.com/blog/auto-mode) et la [plongée technique](https://www.anthropic.com/engineering/claude-code-auto-mode).

548 </Accordion>544 </Accordion>

549 545 

550 <Accordion title="Comment le mode auto gère les sous-agents">546 <Accordion title="Comment le mode auto gère les sous-agents">


556 </Accordion>552 </Accordion>

557 553 

558 <Accordion title="Coût et latence">554 <Accordion title="Coût et latence">

559 Le classificateur s'exécute sur Claude Sonnet 5 par défaut plutôt que sur votre sélection `/model`. Un modèle de classificateur qu'Anthropic configure côté serveur prend précédence sur ce défaut. Quand le modèle de votre session est Claude Sonnet 4.6, ou quand [`availableModels`](/docs/fr/model-config#restrict-model-selection) exclut Sonnet 5, le classificateur s'exécute sur le modèle de votre session à la place, ou sur un modèle Opus quand la session s'exécute sur un [modèle Fable](/docs/fr/model-config#work-with-fable) ; sur les fournisseurs autres que l'API Anthropic, ce retour en arrière Opus est le modèle Opus par défaut du fournisseur.555 Le classificateur s'exécute sur Claude Sonnet 5 par défaut plutôt que sur votre sélection `/model`. Un modèle de classificateur que Anthropic configure côté serveur prend précédence sur ce défaut. Quand le modèle de votre session est Claude Sonnet 4.6, ou quand [`availableModels`](/docs/fr/model-config#restrict-model-selection) exclut Sonnet 5, le classificateur s'exécute sur le modèle de votre session à la place, ou sur un modèle Opus quand la session s'exécute sur un [modèle Fable](/docs/fr/model-config#work-with-fable) ; sur les fournisseurs autres que l'API Anthropic, ce retour en arrière Opus est le modèle Opus par défaut du fournisseur.

560 556 

561 La première demande en mode auto de la session valide le défaut Sonnet 5 : si la demande réussit, Sonnet 5 reste le modèle de classificateur de la session, et si elle échoue parce que le modèle n'est pas disponible, la session utilise le retour en arrière à la place. Après que cette validation se règle, le modèle du classificateur ne change pas pour la session.557 La première demande en mode auto de la session valide le défaut Sonnet 5 : si la demande réussit, Sonnet 5 reste le modèle de classificateur de la session, et si elle échoue parce que le modèle n'est pas disponible, la session utilise le retour en arrière à la place. Après que cette validation se règle, le modèle du classificateur ne change pas pour la session.

562 558 

563 Sur les plans Enterprise et sur les comptes qui utilisent l'API Claude, [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, la plateforme d'agents de Google Cloud ou Microsoft Foundry, les appels de classificateur comptent vers votre utilisation de jetons. Chaque vérification envoie une partie de la transcription plus l'action en attente, ajoutant un aller-retour avant l'exécution. Les lectures et les éditions de répertoire de travail en dehors des chemins protégés ignorent le classificateur, donc la surcharge provient principalement des commandes shell et des opérations réseau. Où le serveur examine les actions dans le cadre des demandes de modèle de la session, il n'y a pas d'appels de classificateur distincts à compter ; voir [Examen du classificateur côté serveur](#server-side-classifier-review).559 Sur les plans Enterprise et sur les comptes qui utilisent l'API Claude, [Claude Platform sur AWS](/docs/fr/claude-platform-on-aws), Amazon Bedrock, la plateforme Agent de Google Cloud ou Microsoft Foundry, les appels de classificateur comptent vers votre utilisation de jetons. Chaque vérification envoie une portion de la transcription plus l'action en attente, ajoutant un aller-retour avant l'exécution. Les lectures et les éditions de répertoire de travail en dehors des chemins protégés ignorent le classificateur, donc la surcharge provient principalement des commandes shell et des opérations réseau. Où le serveur examine les actions dans le cadre des demandes de modèle de la session, il n'y a pas d'appels de classificateur distincts à compter ; voir [Examen du classificateur côté serveur](#server-side-classifier-review).

564 560 

565 L'accès réseau en bac à sable n'ajoute pas de demandes de classificateur par connexion. Le classificateur juge [les hôtes qu'une commande nomme](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) ensemble avec la commande dans un examen, et Claude Code vérifie chaque connexion par rapport à la liste approuvée sans appeler le classificateur à nouveau.561 L'accès réseau en bac à sable n'ajoute pas de demandes de classificateur par connexion. Le classificateur juge [les hôtes qu'une commande nomme](/docs/fr/sandboxing#per-command-allowed-domains-in-auto-mode) ensemble avec la commande dans un examen, et Claude Code vérifie chaque connexion par rapport à la liste approuvée sans appeler le classificateur à nouveau.

566 </Accordion>562 </Accordion>

permissions.md +1 −0

Details

290* **`docker` pointant vers un autre daemon** : les formes en lecture seule de `docker` demandent lorsque la commande porte un drapeau qui sélectionne un daemon différent, tel que `-H`, `--context` ou `--url` et `--connection` de Podman.290* **`docker` pointant vers un autre daemon** : les formes en lecture seule de `docker` demandent lorsque la commande porte un drapeau qui sélectionne un daemon différent, tel que `-H`, `--context` ou `--url` et `--connection` de Podman.

291* **`file` avec des drapeaux d'ouverture de chemin** : `file` demande lorsqu'il passe `-m`/`--magic-file` ou `-f`/`--files-from`, car ces drapeaux font que `file` ouvre les chemins nommés dans la valeur du drapeau.291* **`file` avec des drapeaux d'ouverture de chemin** : `file` demande lorsqu'il passe `-m`/`--magic-file` ou `-f`/`--files-from`, car ces drapeaux font que `file` ouvre les chemins nommés dans la valeur du drapeau.

292* **Chemins réseau sur Windows** : une commande dont les arguments incluent un chemin réseau (UNC), tel que `\\server\share\file`, demande car l'accès à un chemin réseau peut envoyer vos identifiants Windows à l'hôte qu'il nomme. La même vérification s'applique aux commandes de l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool).292* **Chemins réseau sur Windows** : une commande dont les arguments incluent un chemin réseau (UNC), tel que `\\server\share\file`, demande car l'accès à un chemin réseau peut envoyer vos identifiants Windows à l'hôte qu'il nomme. La même vérification s'applique aux commandes de l'[outil PowerShell](/docs/fr/tools-reference#powershell-tool).

293* **Écritures vers des variables shell spéciales** : une commande qui définit, annule ou boucle sur certaines variables shell spéciales, telles que `PATH` ou `IFS`, demande même lorsque le reste de la commande est en lecture seule.

293* **Commandes que l'analyse ne peut pas analyser** : lorsque Claude Code ne peut pas analyser complètement une commande, il demande une approbation au lieu de traiter la commande comme en lecture seule. Les commandes plus longues que 10 000 caractères demandent toujours car elles dépassent ce que l'analyse analyse.294* **Commandes que l'analyse ne peut pas analyser** : lorsque Claude Code ne peut pas analyser complètement une commande, il demande une approbation au lieu de traiter la commande comme en lecture seule. Les commandes plus longues que 10 000 caractères demandent toujours car elles dépassent ce que l'analyse analyse.

294 295 

295Un `cd` dans un chemin à l'intérieur de votre répertoire de travail ou d'un [répertoire supplémentaire](#working-directories) est également en lecture seule, et une commande composée comme `cd packages/api && ls` s'exécute sans invite lorsque chaque partie se qualifie seule. Ces combinaisons demandent même lorsque chaque partie est en lecture seule :296Un `cd` dans un chemin à l'intérieur de votre répertoire de travail ou d'un [répertoire supplémentaire](#working-directories) est également en lecture seule, et une commande composée comme `cd packages/api && ls` s'exécute sans invite lorsque chaque partie se qualifie seule. Ces combinaisons demandent même lorsque chaque partie est en lecture seule :

plugin-evals.md +20 −14

Details

57 La base de référence sans plugin57 La base de référence sans plugin

58</h3>58</h3>

59 59 

60Un score élevé en soi ne vous dit pas si le plugin a aidé, car Claude pourrait faire aussi bien sans lui. Pour séparer les deux, les exécutions de chaque cas sont répétées sans plugin chargé par défaut, et vous obtenez deux scores, `WITH` et `W/OUT`. Leur différence, `Δ`, est ce que le plugin a contribué. Si un cas marque 1.0 à la fois avec et sans le plugin, le plugin n'est pas ce qui l'a fait réussir.60Un score élevé en soi ne vous dit pas si le plugin a aidé, car Claude pourrait faire aussi bien sans lui. Pour séparer les deux, les exécutions de chaque cas sont répétées sans plugin chargé, et vous obtenez deux scores, `WITH` et `W/OUT`. Leur différence, `Δ`, est ce que le plugin a contribué. Si un cas marque 1.0 à la fois avec et sans le plugin, le plugin n'est pas ce qui l'a fait réussir.

61 61 

62Les deux ensembles d'exécutions sont appelés le bras with et le bras without ; [Comparer avec une base de référence sans plugin](#compare-against-a-no-plugin-baseline) couvre comment les évaluateurs sont notés sur les deux bras et comment désactiver la base de référence.62Les deux ensembles d'exécutions sont appelés le bras with et le bras without ; [Comparer avec une base de référence sans plugin](#compare-against-a-no-plugin-baseline) couvre quels cas exécutent le bras with uniquement et comment les évaluateurs sont notés sur les deux bras.

63 63 

64<h2 id="create-your-first-eval-suite">64<h2 id="create-your-first-eval-suite">

65 Créez votre première suite d'eval65 Créez votre première suite d'eval


136 Écrire et affiner les cas136 Écrire et affiner les cas

137</h2>137</h2>

138 138 

139Les cas que `claude plugin eval init` écrit sont des fichiers simples que vous pouvez ouvrir, modifier et ajouter. Un cas est un répertoire sous le répertoire eval du plugin qui contient un `prompt.md`, un `case.yaml`, ou les deux. Pour regrouper les cas, imbriquez-les sous un répertoire qui n'est pas lui-même un cas ; tout ce qui se trouve à l'intérieur d'un répertoire de cas, comme `graders/` et les fichiers de fixture, appartient à ce cas.139Les cas que `claude plugin eval init` écrit sont des fichiers simples que vous pouvez ouvrir, modifier et ajouter. Un cas est un répertoire sous le répertoire eval du plugin qui contient un `prompt.md`, un `case.yaml`, ou les deux. Donnez à chaque cas au moins un évaluateur, sous la forme d'un fichier `graders/<name>.md` ou d'une entrée `graders:` dans `case.yaml`, car un cas sans un échoue au chargement. Pour regrouper les cas, imbriquez-les sous un répertoire qui n'est pas lui-même un cas ; tout ce qui se trouve à l'intérieur d'un répertoire de cas, comme `graders/` et les fichiers de fixture, appartient à ce cas.

140 140 

141Ceci est la disposition que `claude plugin eval init` écrit et celle à utiliser pour les nouvelles suites. La [référence de la suite d'eval](#eval-suite-reference) a l'arborescence complète, y compris les mocks et les résultats :141Ceci est la disposition que `claude plugin eval init` écrit et celle à utiliser pour les nouvelles suites. La [référence de la suite d'eval](#eval-suite-reference) a l'arborescence complète, y compris les mocks et les résultats :

142 142 


186 186 

187Chaque exécution commence dans un répertoire de travail vide, donc mettez tout ce dont la tâche a besoin dans l'invite elle-même, ou [configurez l'espace de travail](#add-setup-or-history-with-case-yaml) d'abord.187Chaque exécution commence dans un répertoire de travail vide, donc mettez tout ce dont la tâche a besoin dans l'invite elle-même, ou [configurez l'espace de travail](#add-setup-or-history-with-case-yaml) d'abord.

188 188 

189Le [liste complète des champs frontmatter](#prompt-md-fields) couvre le modèle, le délai d'expiration, les balises et les variables d'environnement.189La [liste complète des champs frontmatter](#prompt-md-fields) couvre le modèle, le délai d'expiration, les balises et les variables d'environnement.

190 190 

191Chaque fichier sous `graders/` est une vérification appliquée après l'exécution. Ouvrez `evals/first-case/graders/criteria.md` et remplacez l'espace réservé par une rubrique pour le modèle juge, écrite comme des conditions PASS et FAIL concrètes :191Chaque fichier sous `graders/` est une vérification appliquée après l'exécution. Ouvrez `evals/first-case/graders/criteria.md` et remplacez l'espace réservé par une rubrique pour le modèle juge, écrite comme des conditions PASS et FAIL concrètes :

192 192 


250 Noter par rapport à la base de référence sans plugin250 Noter par rapport à la base de référence sans plugin

251</h3>251</h3>

252 252 

253Lorsqu'un plugin est en test, chaque cas s'exécute dans deux bras par défaut. Le bras with est ses exécutions avec le plugin chargé, et le bras without est le même nombre d'exécutions sans aucun plugin. Le résumé et le rapport affichent les deux scores et `Δ`, le score du bras with moins le score du bras without.253Lorsqu'un plugin est en test, un cas s'exécute normalement dans deux bras. Le bras with est ses exécutions avec le plugin chargé, et le bras without est le même nombre d'exécutions sans aucun plugin. Le résumé et le rapport affichent les deux scores et `Δ`, le score du bras with moins le score du bras without.

254 254 

255Passez `--ablation none` pour exécuter seulement le bras with, ce qui réduit de moitié le coût lorsque vous n'avez pas besoin de la comparaison, comme lors de l'itération sur les évaluateurs.255Dans ces situations, un cas exécute seulement le bras with, donc il n'obtient pas de score `W/OUT` ou `Δ` :

256 

257* **Vous passez `--ablation none`** : chaque cas exécute un bras, ce qui réduit de moitié le coût lorsque vous n'avez pas besoin de la comparaison, comme lors de l'itération sur les évaluateurs.

258* **Le cas reprend une transcription et la cible est un chemin** : avec une [cible](#choose-what-to-evaluate) comme `.` plutôt que le nom d'un plugin installé, un cas [`context.history_file`](#add-setup-or-history-with-case-yaml) exécute un bras par défaut, en supposant que la conversation enregistrée reflète déjà le plugin. L'exécution imprime un avis `single-arm (no Δ)` sur stderr nommant ces cas. Pour comparer le tour repris avec et sans le plugin, passez `--ablation with-without`.

259* **Aucun plugin n'a été trouvé pour le cas** : lorsque la cible est un chemin, un cas dont le plugin Claude Code n'a pas pu localiser exécute également un bras par défaut. Voir [le bras de base de référence n'affiche aucun plugin](#the-baseline-arm-shows-no-plugin-or-delta-is-zero) pour le corriger.

256 260 

257Dans une exécution à deux bras, certains évaluateurs sont rapportés avec `scored: false`. Une vérification comme « la skill a été invoquée » ne peut jamais réussir sans le plugin, donc la compter pousserait le bras without vers zéro et gonflerait `Δ`. Pour garder les deux bras comparables, Claude Code exclut ces évaluateurs du score dans les deux bras et les rapporte dans le bras with comme des indicateurs réussi/échoué uniquement. Cela inclut :261Dans une exécution à deux bras, certains évaluateurs sont rapportés avec `scored: false`. Une vérification comme « la skill a été invoquée » ne peut jamais réussir sans le plugin, donc la compter pousserait le bras without vers zéro et gonflerait `Δ`. Pour garder les deux bras comparables, Claude Code exclut ces évaluateurs du score dans les deux bras et les rapporte dans le bras with comme des indicateurs réussi/échoué uniquement. Cela inclut :

258 262 


290Chaque exécution commence dans un espace de travail vide. Lorsqu'un cas a besoin de plus que l'invite, ajoutez un `case.yaml` à côté de `prompt.md` avec un bloc `context` :294Chaque exécution commence dans un espace de travail vide. Lorsqu'un cas a besoin de plus que l'invite, ajoutez un `case.yaml` à côté de `prompt.md` avec un bloc `context` :

291 295 

292* **Fichiers de fixture ou un référentiel git** : écrivez un script Bash dans le répertoire de cas et nommez-le dans `context.scaffold_script`. Le script s'exécute en tant que vous, en dehors du sandbox de l'agent, et seulement lorsque vous passez `--scaffold`, donc passez ce drapeau seulement pour les suites que vous ou votre organisation avez écrites.296* **Fichiers de fixture ou un référentiel git** : écrivez un script Bash dans le répertoire de cas et nommez-le dans `context.scaffold_script`. Le script s'exécute en tant que vous, en dehors du sandbox de l'agent, et seulement lorsque vous passez `--scaffold`, donc passez ce drapeau seulement pour les suites que vous ou votre organisation avez écrites.

293* **Une conversation antérieure à continuer** : enregistrez la transcription en tant que fichier `.jsonl` et nommez-la dans `context.history_file`, et l'invite du cas devient le prochain tour utilisateur.297* **Une conversation antérieure à continuer** : enregistrez la transcription en tant que fichier `.jsonl` et nommez-la dans `context.history_file`, et l'invite du cas devient le prochain tour utilisateur. Lorsque la cible est un chemin, un tel cas s'exécute [sans un bras de référence](#compare-against-a-no-plugin-baseline) par défaut.

294* **Répertoires de fixture que Claude peut lire pendant l'exécution** : énumérez-les dans `context.add_dirs`.298* **Répertoires de fixture que Claude peut lire pendant l'exécution** : énumérez-les dans `context.add_dirs`.

295 299 

296Un `case.yaml` a également besoin de `schema_version: "1.1"` et `name` ; la référence [champs case.yaml](#case-yaml-fields) a la liste complète.300Un `case.yaml` a également besoin de `schema_version: "1.1"` et `name` ; la référence [champs case.yaml](#case-yaml-fields) a la liste complète.


306 add_dirs: [resources]310 add_dirs: [resources]

307```311```

308 312 

313Un script de scaffold commence dans l'espace de travail vide avec un petit environnement fixe : le `PATH` de votre shell, `HOME` défini au répertoire home temporaire de l'exécution, `TMPDIR`, et quelques constantes telles que `TERM=dumb`. Rien d'autre de votre shell ne l'atteint, et les variables `EVAL_*` du cas non plus. Si le script se termine avec un code non-zéro ou s'exécute plus longtemps que 120 secondes, cette exécution obtient un score de 0 avec une erreur `scaffold failed`. Utilisez le script pour les fichiers et l'état git uniquement, car la configuration de projet qu'il écrit [n'est pas chargée](#how-runs-are-isolated).

314 

309<h3 id="mock-mcp-servers">315<h3 id="mock-mcp-servers">

310 Serveurs MCP fictifs316 Serveurs MCP fictifs

311</h3>317</h3>


402| `-j`, `--concurrency <n>` | `1` | Exécutez jusqu'à ce nombre d'exécutions d'agent à la fois, de 1 à 8. Elles partagent la limite de débit de votre compte, donc cela raccourcit le temps mural plutôt que d'augmenter le débit au-delà de cette limite. Les résultats gardent l'ordre des cas |408| `-j`, `--concurrency <n>` | `1` | Exécutez jusqu'à ce nombre d'exécutions d'agent à la fois, de 1 à 8. Elles partagent la limite de débit de votre compte, donc cela raccourcit le temps mural plutôt que d'augmenter le débit au-delà de cette limite. Les résultats gardent l'ordre des cas |

403| `--model <model>` | `model` de chaque cas, sinon `ANTHROPIC_MODEL` s'il est défini, sinon la valeur par défaut de Claude Code | Modèle pour l'agent en test. Épinglez-le dans CI pour qu'un déploiement de modèle ne soit pas confondu avec une régression de plugin |409| `--model <model>` | `model` de chaque cas, sinon `ANTHROPIC_MODEL` s'il est défini, sinon la valeur par défaut de Claude Code | Modèle pour l'agent en test. Épinglez-le dans CI pour qu'un déploiement de modèle ne soit pas confondu avec une régression de plugin |

404| `--judge-model <model>` | Un petit modèle rapide | Modèle pour les évaluateurs `llm` et `baseline` |410| `--judge-model <model>` | Un petit modèle rapide | Modèle pour les évaluateurs `llm` et `baseline` |

405| `--ablation <mode>` | `with-without` lorsqu'un plugin se résout, sinon `none` | Qu'il faut aussi exécuter chaque cas sans le plugin pour mesurer ce qu'il ajoute. `none` exécute un bras ; `with-without` ajoute la base de référence sans plugin |411| `--ablation <mode>` | Décidé par cas ; voir [Comparer avec la base de référence sans plugin](#compare-against-a-no-plugin-baseline) | Qu'il faut aussi exécuter chaque cas sans le plugin pour mesurer ce qu'il ajoute. `none` exécute un bras ; `with-without` ajoute la base de référence sans plugin |

406| `--threshold <0..1>` | `1.0` | Un cas réussit lorsque son score du bras with est au moins cela. Tout cas en dessous le fait quitter la commande 1 |412| `--threshold <0..1>` | `1.0` | Un cas réussit lorsque son score du bras with est au moins cela. Tout cas en dessous le fait quitter la commande 1 |

407| `--max-cost-usd <usd>` | Pas de plafond | Un plafond sur l'estimation du coût du prix catalogue de l'exécution, pas sur l'utilisation du plan. Vérifié avant chaque exécution. Une fois dépensé, rien d'autre ne démarre ; les exécutions déjà en vol se terminent, donc la dépense peut dépasser le plafond par ces exécutions. Si une exécution est laissée non démarrée, la commande quitte 2 avec des résultats partiels |413| `--max-cost-usd <usd>` | Pas de plafond | Un plafond sur l'estimation du coût du prix catalogue de l'exécution, pas sur l'utilisation du plan. Vérifié avant chaque exécution. Une fois dépensé, rien d'autre ne démarre ; les exécutions déjà en vol se terminent, donc la dépense peut dépasser le plafond par ces exécutions. Si une exécution est laissée non démarrée, la commande quitte 2 avec des résultats partiels |

408| `--allow-tools <tools...>` | Aucun | Accordez les outils au-delà de l'ensemble en lecture seule. Voir [Accorder les outils](#grant-tools) |414| `--allow-tools <tools...>` | Aucun | Accordez les outils au-delà de l'ensemble en lecture seule. Voir [Accorder les outils](#grant-tools) |


514 Faire confiance au répertoire du plugin520 Faire confiance au répertoire du plugin

515</h3>521</h3>

516 522 

517La première fois que vous exécutez `claude plugin eval` contre un répertoire, Claude Code demande « Trust this plugin directory? » avant de charger quoi que ce soit à partir de celui-ci, à moins que vous ayez déjà accepté l'invite de confiance là dans une session `claude` interactive. À l'intérieur d'un référentiel git, répondre oui fait confiance au référentiel entier, pour les sessions interactives aussi. Lorsque stdin ou stdout n'est pas un terminal, sous `--json`, ou lorsque la variable d'environnement `CI` est définie à une valeur vraie comme `true`, l'exécution ne peut pas demander et est refusée avec la sortie 1 ; passez `--trust-plugin` pour affirmer la confiance vous-même, seulement pour un plugin que vous exécuteriez sur votre propre machine. Une cible que vous nommez plutôt que de donner en tant que chemin, signifiant un plugin installé ou un plugin de répertoire de skills, ignore l'invite.523La première fois que vous exécutez `claude plugin eval` contre un répertoire, Claude Code demande « Trust this plugin directory? » avant de charger quoi que ce soit à partir de celui-ci, à moins que vous ayez déjà accepté l'invite de confiance là dans une session `claude` interactive. À l'intérieur d'un référentiel git, répondre oui fait confiance au référentiel entier, pour les sessions interactives aussi. Lorsque stdin ou stdout n'est pas un terminal, ou sous `--json`, l'exécution ne peut pas demander et est refusée avec la sortie 1 ; passez `--trust-plugin` pour affirmer la confiance vous-même, seulement pour un plugin que vous exécuteriez sur votre propre machine. Une cible que vous nommez plutôt que de donner en tant que chemin, signifiant un plugin installé ou un plugin de répertoire de skills, ignore l'invite.

518 524 

519Certaines parties du plugin et de la suite s'exécutent seulement lorsque vous passez leur drapeau pour cette exécution :525Certaines parties du plugin et de la suite s'exécutent seulement lorsque vous passez leur drapeau pour cette exécution :

520 526 


532 538 

533Chaque exécution obtient un répertoire personnel jetable, un répertoire de travail, et une configuration Claude Code, et l'agent en test s'exécute là en tant que processus enfant `claude -p` avec seulement votre plugin chargé. Gardez ces conséquences à l'esprit lorsque vous écrivez des cas :539Chaque exécution obtient un répertoire personnel jetable, un répertoire de travail, et une configuration Claude Code, et l'agent en test s'exécute là en tant que processus enfant `claude -p` avec seulement votre plugin chargé. Gardez ces conséquences à l'esprit lorsque vous écrivez des cas :

534 540 

535* **Rien de personnel ou au niveau du projet ne charge.** Vos paramètres utilisateur, hooks, fichiers `CLAUDE.md`, serveurs MCP, autres plugins installés, mémoire, et skills sont absents, et aucun `.claude/` ou `.mcp.json` au niveau du projet au-dessus du sandbox n'est lu. La plupart de votre environnement shell est également retenu ; seulement une [liste d'autorisation](#prompt-md-fields) et les variables `EVAL_*` atteignent l'exécution. Si le plugin a besoin de configuration, livrez-la dans le plugin, créez-la dans un `scaffold_script`, ou passez les variables `EVAL_*`.541* **Rien de personnel ou au niveau du projet ne charge.** Vos paramètres utilisateur, hooks, fichiers `CLAUDE.md`, serveurs MCP, autres plugins installés, mémoire, et skills sont absents. La configuration au niveau du projet n'est lue nulle part non plus : aucun répertoire `.claude/`, `CLAUDE.md`, ou `.mcp.json` ne charge au-dessus de l'espace de travail ou à l'intérieur de celui-ci, même un qu'un `scaffold_script` a écrit, et les répertoires `add_dirs` accordent un accès en lecture uniquement. La plupart de votre environnement shell est également retenu ; seulement une [liste d'autorisation](#prompt-md-fields) et les variables `EVAL_*` atteignent l'exécution. Livrez tous les skills, agents, hooks, ou serveurs MCP qu'un cas dépend dans le plugin en test, puisqu'un [`scaffold_script`](#add-setup-or-history-with-case-yaml) ne peut fournir que des fichiers et l'état git.

536* **La politique gérée peut toujours restreindre une exécution.** Les restrictions dans les [paramètres gérés](/docs/fr/managed-settings) qu'un administrateur a déployés sur la machine s'appliquent à l'intérieur d'une exécution, donc les résultats sur une machine gérée peuvent différer d'une machine non gérée par cette politique.542* **La politique gérée peut toujours restreindre une exécution.** Les restrictions dans les [paramètres gérés](/docs/fr/managed-settings) qu'un administrateur a déployés sur la machine s'appliquent à l'intérieur d'une exécution, donc les résultats sur une machine gérée peuvent différer d'une machine non gérée par cette politique.

537* **L'outil Artifact est désactivé.** Une skill qui publie un [artifact](/docs/fr/artifacts) ne peut être notée que sur ce qu'elle produit avant cette étape.543* **L'outil Artifact est désactivé.** Une skill qui publie un [artifact](/docs/fr/artifacts) ne peut être notée que sur ce qu'elle produit avant cette étape.

538* **Les définitions de cas sont cachées à l'agent.** Une exécution ne peut pas lire le répertoire d'eval, donc Claude ne peut pas voir l'invite du cas, ses évaluateurs, ou les cas frères.544* **Les définitions de cas sont cachées à l'agent.** Une exécution ne peut pas lire le répertoire d'eval, donc Claude ne peut pas voir l'invite du cas, ses évaluateurs, ou les cas frères.


542 Référence de la suite d'eval548 Référence de la suite d'eval

543</h2>549</h2>

544 550 

545Tout ce qu'une suite d'eval peut contenir vit sous le répertoire d'eval du plugin, `evals/` à moins que vous [ayez configuré un autre](#use-a-different-eval-directory). Cet arborescence montre chaque fichier que `claude plugin eval` lit ou écrit là ; seulement `prompt.md` ou `case.yaml` est requis pour qu'un cas existe :551Tout ce qu'une suite d'eval peut contenir vit sous le répertoire d'eval du plugin, `evals/` à moins que vous [ayez configuré un autre](#use-a-different-eval-directory). Un répertoire compte comme un cas lorsqu'il contient un `prompt.md` ou un `case.yaml`, et un cas sans au moins un évaluateur échoue à charger avec une erreur `invalid case.yaml` qui nomme `graders`. Cet arborescence montre chaque fichier que `claude plugin eval` lit ou écrit dans le répertoire d'eval :

546 552 

547```text theme={null}553```text theme={null}

548evals/554evals/


598 604 

599| Champ | Objectif |605| Champ | Objectif |

600| :- | :- |606| :- | :- |

601| `context.scaffold_script` | Un script Bash dans le répertoire de cas qui s'exécute dans l'espace de travail vide avant que Claude ne démarre, pour créer des fichiers de fixture ou un référentiel git. Il s'exécute seulement lorsque vous passez [`--scaffold`](#add-setup-or-history-with-case-yaml) |607| `context.scaffold_script` | Un script Bash dans le répertoire de cas qui s'exécute dans l'espace de travail vide avant que Claude ne démarre, pour créer des fichiers de fixture ou un référentiel git. Il s'exécute seulement lorsque vous passez [`--scaffold`](#add-setup-or-history-with-case-yaml), avec un environnement minimal et une limite de 120 secondes, et une sortie non nulle échoue l'exécution |

602| `context.history_file` | Une transcription `.jsonl` dans le répertoire de cas à reprendre. L'invite du cas devient le prochain tour utilisateur |608| `context.history_file` | Une transcription `.jsonl` dans le répertoire de cas à reprendre. L'invite du cas devient le prochain tour utilisateur |

603| `context.add_dirs` | Répertoires à l'intérieur du répertoire de cas que Claude peut lire pendant l'exécution, accordés en lecture seule |609| `context.add_dirs` | Répertoires à l'intérieur du répertoire de cas que Claude peut lire pendant l'exécution, accordés en lecture seule |

604| `execution.prompt` | L'invite, lorsque vous gardez le cas entier dans `case.yaml` et omettez `prompt.md` |610| `execution.prompt` | L'invite, lorsque vous gardez le cas entier dans `case.yaml` et omettez `prompt.md` |


687 « is not a trusted plugin directory, and this run cannot stop to ask you about it »693 « is not a trusted plugin directory, and this run cannot stop to ask you about it »

688</h3>694</h3>

689 695 

690C'est la première exécution contre un répertoire que Claude Code ne fait pas confiance encore, et il ne peut pas demander parce que stdin ou stdout n'est pas un terminal, vous avez passé `--json`, ou la variable d'environnement `CI` est définie sur une valeur vraie comme `true`. Exécutez `claude plugin eval <dir>` une fois dans un terminal et répondez à l'invite, ou passez `--trust-plugin` si vous faites confiance au code et à la suite du plugin. Voir [Ce qu'une exécution peut accéder](#security).696C'est la première exécution contre un répertoire que Claude Code ne fait pas confiance encore, et il ne peut pas demander parce que stdin ou stdout n'est pas un terminal ou vous avez passé `--json`. Exécutez `claude plugin eval <dir>` une fois dans un terminal et répondez à l'invite, ou passez `--trust-plugin` si vous faites confiance au code et à la suite du plugin. Voir [Ce qu'une exécution peut accéder](#security).

691 697 

692<h3 id="git-is-too-old-for-claude-plugin-eval">698<h3 id="git-is-too-old-for-claude-plugin-eval">

693 « is too old for claude plugin eval »699 « is too old for claude plugin eval »


713 Le bras de base de référence n'affiche aucun plugin, ou delta est zéro719 Le bras de base de référence n'affiche aucun plugin, ou delta est zéro

714</h3>720</h3>

715 721 

716Si le résumé n'a pas de colonne `W/OUT`, ou le cas échoue avec « ablation requested but no plugin resolved », aucun plugin n'a été trouvé pour le cas. Ajoutez `plugins: ["../.."]` au cas, donnant le chemin du répertoire de cas au répertoire du plugin.722Si le résumé n'a pas de colonne `W/OUT`, ou un cas échoue avec « ablation requested but no plugin resolved », la cause habituelle est qu'aucun plugin n'a été trouvé pour le cas. Si chaque cas reprend une transcription via `context.history_file`, la colonne manquante est attendue à la place, parce que ces cas s'exécutent [un bras par défaut](#compare-against-a-no-plugin-baseline). Sinon, ajoutez `plugins: ["../.."]` au cas, donnant le chemin du répertoire de cas au répertoire du plugin.

717 723 

718Si le plugin a chargé et `Δ` est toujours proche de zéro avec votre évaluateur `tool_used: Skill` échouant, c'est généralement une vraie découverte, signifiant que la `description` de la skill ne déclenche pas sur la formulation de l'invite. Ajustez la description et réexécutez la même suite.724Si le plugin a chargé et `Δ` est toujours proche de zéro avec votre évaluateur `tool_used: Skill` échouant, c'est généralement une vraie découverte, signifiant que la `description` de la skill ne déclenche pas sur la formulation de l'invite. Ajustez la description et réexécutez la même suite.

719 725 

Details

92| `--accept-command <sha256>` | Acceptez la commande d'installation affichée dont le `sha256` une exécution [`--json` précédente](#plugin-json-result) a rapporté dans `shownCommand`, à la place de `-y`. Ne peut pas être combiné avec `-y`. Voir [Accepter une commande d'installation affichée](#accept-a-displayed-install-command). Nécessite Claude Code v2.1.271 ou ultérieur |92| `--accept-command <sha256>` | Acceptez la commande d'installation affichée dont le `sha256` une exécution [`--json` précédente](#plugin-json-result) a rapporté dans `shownCommand`, à la place de `-y`. Ne peut pas être combiné avec `-y`. Voir [Accepter une commande d'installation affichée](#accept-a-displayed-install-command). Nécessite Claude Code v2.1.271 ou ultérieur |

93| `--json` | Affiche le résultat en tant qu'un objet JSON sur la dernière ligne de stdout au lieu du message lisible par l'homme, pour utilisation dans les scripts. Voir [Format de résultat JSON](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur |93| `--json` | Affiche le résultat en tant qu'un objet JSON sur la dernière ligne de stdout au lieu du message lisible par l'homme, pour utilisation dans les scripts. Voir [Format de résultat JSON](#plugin-json-result). Nécessite Claude Code v2.1.268 ou ultérieur |

94 94 

95Exécutez `claude plugin install --help` dans votre shell pour voir chaque option que votre version supporte.

96 

95Passez `-y` depuis votre propre terminal pour accepter la commande affichée sans l'invite. Voici ce qui se passe sans TTY et quand Claude exécute la commande :97Passez `-y` depuis votre propre terminal pour accepter la commande affichée sans l'invite. Voici ce qui se passe sans TTY et quand Claude exécute la commande :

96 98 

97* **stdin ou stdout n'est pas un TTY, et vous ne passez ni `-y` ni `--accept-command`** : l'installation est refusée. La sortie dit que la commande a été seulement affichée, et le code de sortie est `1`99* **stdin ou stdout n'est pas un TTY, et vous ne passez ni `-y` ni `--accept-command`** : l'installation est refusée. La sortie dit que la commande a été seulement affichée, et le code de sortie est `1`


165 167 

166Claude Code affiche `Successfully uninstalled plugin: formatter (scope: project)`. Quand le plugin n'est pas installé à cette portée, la commande affiche une ligne qui commence par `Failed to uninstall plugin "formatter@my-marketplace":` et quitte `1`.168Claude Code affiche `Successfully uninstalled plugin: formatter (scope: project)`. Quand le plugin n'est pas installé à cette portée, la commande affiche une ligne qui commence par `Failed to uninstall plugin "formatter@my-marketplace":` et quitte `1`.

167 169 

168Si la ligne d'échec continue avec `"formatter" was not uninstalled:`, Claude Code n'a pas pu confirmer que les paramètres de la portée n'activent plus le plugin, donc le plugin reste installé avec tout ce qu'il a sauvegardé. Avec `--json`, le résultat porte `failureCode: "settings_still_on"`. Cette vérification des paramètres nécessite Claude Code v2.1.282 ou ultérieur.170Si la ligne d'échec continue avec `"formatter" was not uninstalled:` et nomme un fichier de paramètres, Claude Code n'a pas pu confirmer que les paramètres de la portée n'activent plus le plugin, donc le plugin reste installé avec tout ce qu'il a sauvegardé. Avec `--json`, le résultat porte `failureCode: "settings_still_on"`. Cette vérification des paramètres nécessite Claude Code v2.1.282 ou ultérieur.

169 171 

170<h4 id="what-an-uninstall-deletes-and-keeps">172<h4 id="what-an-uninstall-deletes-and-keeps">

171 Ce qu'une désinstallation supprime et conserve173 Ce qu'une désinstallation supprime et conserve


438| `-j, --concurrency <n>` | Sessions d'agent à exécuter à la fois, 1 à 8. Elles partagent votre limite de débit | `1` |440| `-j, --concurrency <n>` | Sessions d'agent à exécuter à la fois, 1 à 8. Elles partagent votre limite de débit | `1` |

439| `--model <model>` | Modèle pour l'agent testé | La `model` de chaque cas, sinon `ANTHROPIC_MODEL` s'il est défini, sinon le défaut de Claude Code |441| `--model <model>` | Modèle pour l'agent testé | La `model` de chaque cas, sinon `ANTHROPIC_MODEL` s'il est défini, sinon le défaut de Claude Code |

440| `--judge-model <model>` | Modèle pour les évaluateurs `llm` et `baseline` | Un petit modèle rapide |442| `--judge-model <model>` | Modèle pour les évaluateurs `llm` et `baseline` | Un petit modèle rapide |

441| `--ablation <mode>` | `none` ou `with-without`. Voir [Comparer à une ligne de base sans plugin](/docs/fr/plugin-evals#compare-against-a-no-plugin-baseline) | `with-without` quand un plugin se résout, sinon `none` |443| `--ablation <mode>` | `none` ou `with-without`. Voir [Comparer à une ligne de base sans plugin](/docs/fr/plugin-evals#compare-against-a-no-plugin-baseline) | Décidé par cas, comme cette section le décrit |

442| `--threshold <0..1>` | Quittez 1 si un cas note en dessous de ceci | `1.0` |444| `--threshold <0..1>` | Quittez 1 si un cas note en dessous de ceci | `1.0` |

443| `--max-cost-usd <usd>` | Arrêtez avant la prochaine exécution une fois que les dépenses atteignent ceci, quittez 2, et rapportez les résultats partiels | Pas de limite |445| `--max-cost-usd <usd>` | Arrêtez avant la prochaine exécution une fois que les dépenses atteignent ceci, quittez 2, et rapportez les résultats partiels | Pas de limite |

444| `--allow-tools <tools...>` | Accordez des outils au-delà de l'ensemble en lecture seule, comme `Bash`, `Write`, `Edit`, ou `"mcp__plugin_<plugin>_<server>__*"`. Voir [Accorder des outils](/docs/fr/plugin-evals#grant-tools) | |446| `--allow-tools <tools...>` | Accordez des outils au-delà de l'ensemble en lecture seule, comme `Bash`, `Write`, `Edit`, ou `"mcp__plugin_<plugin>_<server>__*"`. Voir [Accorder des outils](/docs/fr/plugin-evals#grant-tools) | |


469claude plugin eval init [name] [options]471claude plugin eval init [name] [options]

470```472```

471 473 

474Exécutez la commande depuis le dossier racine du plugin, le répertoire qui contient `.claude-plugin/plugin.json` ou le `SKILL.md` du skill. Pour créer le scaffold de la suite dans un autre répertoire à dessein, passez `--eval-dir`.

475 

472Dans un terminal, la commande ouvre une session Claude Code interactive pour une interview de création. Dans l'interview, Claude fait ce qui suit :476Dans un terminal, la commande ouvre une session Claude Code interactive pour une interview de création. Dans l'interview, Claude fait ce qui suit :

473 477 

4741. Lit le plugin4781. Lit le plugin


479 483 

480Avec `--bare`, ou sans terminal, la commande écrit un modèle de cas unique vierge à la place. Quand Claude exécute la commande depuis l'intérieur d'une session Claude Code, la commande affiche les instructions d'interview pour que cette session suive plutôt que d'écrire un modèle.484Avec `--bare`, ou sans terminal, la commande écrit un modèle de cas unique vierge à la place. Quand Claude exécute la commande depuis l'intérieur d'une session Claude Code, la commande affiche les instructions d'interview pour que cette session suive plutôt que d'écrire un modèle.

481 485 

482Le `name` optionnel est un nom de cas. Il est requis avec `--bare` ou sans terminal, car la commande écrit le modèle vierge pour ce cas. L'interview n'en a pas besoin.486Le `name` optionnel est un nom de cas. Il est requis avec `--bare` ou sans terminal, car la commande écrit le modèle vierge pour ce cas. Un nom de cas commence par une lettre ou un chiffre et contient seulement des lettres, des chiffres, `.`, `_`, et `-`. Sur chaque plateforme, la commande refuse aussi les noms que Windows ne peut pas stocker, comme `con` ou un nom se terminant par `.`.

483 487 

484La commande accepte ces options :488La commande accepte ces options :

485 489 


636| :- | :- | :- |640| :- | :- | :- |

637| `owner/repo`, `owner/repo#ref`, ou `owner/repo@ref` | `github` | Clone le référentiel GitHub, épinglé à `ref` quand donné. Le propriétaire et le repo doivent suivre les règles de nommage GitHub |641| `owner/repo`, `owner/repo#ref`, ou `owner/repo@ref` | `github` | Clone le référentiel GitHub, épinglé à `ref` quand donné. Le propriétaire et le repo doivent suivre les règles de nommage GitHub |

638| `user@host:path[.git][#ref]` | `git` | Clone sur SSH |642| `user@host:path[.git][#ref]` | `git` | Clone sur SSH |

639| `https://example.com/repo.git[#ref]`, ou une URL contenant `/_git/` | `git` | Clone sur HTTPS, incluant les URLs Azure DevOps |643| Une URL `http://` ou `https://` qui se termine par `.git[#ref]` ou contient `/_git/`, comme `https://example.com/repo.git` | `git` | Clone l'URL, incluant les URLs Azure DevOps |

640| `https://github.com/owner/repo` ou `https://gitlab.com/namespace/project` | `git` | Clone sur HTTPS après avoir ajouté `.git` |644| `https://github.com/owner/repo` ou `https://gitlab.com/namespace/project`, ou la même chose sur `http://` | `git` | Clone l'URL après avoir ajouté `.git` |

641| N'importe quelle autre URL `http://` ou `https://`, incluant un hôte git auto-hébergé sans `.git` | `url` | Récupère l'URL en tant que `marketplace.json`. Pour cloner un référentiel là à la place, ajoutez `.git` |645| N'importe quelle autre URL `http://` ou `https://`, incluant un hôte git auto-hébergé sans `.git` | `url` | Récupère l'URL en tant que `marketplace.json`. Pour cloner un référentiel là à la place, ajoutez `.git` |

642| `./path`, `../path`, `/path`, ou `~/path` vers un répertoire | `directory` | Lit le répertoire en place. Sur Windows, les formes `.\`, `..\`, et `C:\` fonctionnent aussi |646| `./path`, `../path`, `/path`, ou `~/path` vers un répertoire | `directory` | Lit le répertoire en place. Sur Windows, les formes `.\`, `..\`, et `C:\` fonctionnent aussi |

643| Les mêmes formes de chemin, vers un fichier `.json` | `file` | Lit le fichier en place |647| Les mêmes formes de chemin, vers un fichier `.json` | `file` | Lit le fichier en place |


709Supprimez la déclaration d'une marketplace de vos paramètres. `rm` est un alias pour `remove`.713Supprimez la déclaration d'une marketplace de vos paramètres. `rm` est un alias pour `remove`.

710 714 

711<Warning>715<Warning>

712 Quand vous supprimez une marketplace de la dernière portée qui la déclare, Claude Code supprime aussi son cache et désinstalle chaque plugin que vous avez installé depuis elle. Sans `--scope`, la commande supprime la déclaration de chaque portée. Pour actualiser une marketplace sans perdre ses plugins, exécutez `plugin marketplace update` à la place.716 Quand vous supprimez une marketplace de la dernière portée qui la déclare, Claude Code supprime aussi son cache et désinstalle chaque plugin que vous avez installé depuis elle. Il supprime aussi leurs [options et secrets](/docs/fr/plugins/manifest-reference#user-configuration) sauvegardés et [données](/docs/fr/plugins/components#path-variables-and-persistent-data) où il peut.

717 

718 Pour actualiser une marketplace sans perdre ses plugins, exécutez `plugin marketplace update` à la place.

713</Warning>719</Warning>

714 720 

715```bash theme={null}721```bash theme={null}


728claude plugin marketplace remove your-marketplace734claude plugin marketplace remove your-marketplace

729```735```

730 736 

731Claude Code affiche `Successfully removed marketplace: your-marketplace`, ajoutant `(from project settings)` quand vous l'avez scoped. Si vous scoped à un fichier de paramètres qui ne déclare pas la marketplace, la commande échoue avec `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`737Claude Code affiche `Successfully removed marketplace: your-marketplace`. Quand la commande désinstalle des plugins, la sortie les liste sous une ligne comme `Also uninstalled 2 plugins from this marketplace:`. Pour en utiliser un à nouveau, ajoutez la marketplace à nouveau et réinstallez le plugin.

738 

739Si vous scoped à un fichier de paramètres qui ne déclare pas la marketplace, la commande échoue avec `Marketplace 'your-marketplace' is not declared in project settings. Omit --scope to remove it from all scopes.`

732 740 

733<h3 id="plugin-marketplace-update">741<h3 id="plugin-marketplace-update">

734 plugin marketplace update742 plugin marketplace update


771| `/plugin list [--enabled\|--disabled]` | `ls` | Affiche vos plugins installés de marketplace en ligne, avec version, portée et statut. Un drapeau de filtre affiche seulement cet état. Un plugin dont l'état d'activation n'a pas encore été appliqué est marqué `— run /reload-plugins to apply`. Nécessite Claude Code v2.1.163 ou ultérieur |779| `/plugin list [--enabled\|--disabled]` | `ls` | Affiche vos plugins installés de marketplace en ligne, avec version, portée et statut. Un drapeau de filtre affiche seulement cet état. Un plugin dont l'état d'activation n'a pas encore été appliqué est marqué `— run /reload-plugins to apply`. Nécessite Claude Code v2.1.163 ou ultérieur |

772| `/plugin install` | `i` | Ouvre l'onglet **Discover** |780| `/plugin install` | `i` | Ouvre l'onglet **Discover** |

773| `/plugin install <plugin>` | `i` | Ouvre les détails du plugin dans l'onglet **Discover**. Avec `name@marketplace`, les ouvre dans la liste de cette marketplace |781| `/plugin install <plugin>` | `i` | Ouvre les détails du plugin dans l'onglet **Discover**. Avec `name@marketplace`, les ouvre dans la liste de cette marketplace |

782| `/plugin install <source>` | `i` | Signale une erreur [marketplace not found](/docs/fr/plugins/troubleshooting#marketplace-not-found) et n'installe rien quand la cible est un chemin, une URL, ou `owner/repo`, même une source que vous avez déjà ajoutée. Pour installer à partir d'une source, voir [Ajouter une marketplace et installer en une commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command) |

774| `/plugin install <plugin> --marketplace <source>` | `i` | Ajoute la marketplace à `<source>` quand vous ne l'avez pas encore ajoutée, vous demandant de confirmer d'abord, puis ouvre les détails du plugin. Voir [Ajouter une marketplace et installer en une commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command). Nécessite Claude Code v2.1.275 ou ultérieur |783| `/plugin install <plugin> --marketplace <source>` | `i` | Ajoute la marketplace à `<source>` quand vous ne l'avez pas encore ajoutée, vous demandant de confirmer d'abord, puis ouvre les détails du plugin. Voir [Ajouter une marketplace et installer en une commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command). Nécessite Claude Code v2.1.275 ou ultérieur |

775| `/plugin manage` | | Ouvre l'onglet **Installed** |784| `/plugin manage` | | Ouvre l'onglet **Installed** |

776| `/plugin stats` | | Ouvre l'onglet **Stats**, dans les sessions où [`/skill-doctor`](/docs/fr/skills#find-unused-skills) est disponible. N'importe où ailleurs il ouvre le panneau sur l'onglet **Discover** |785| `/plugin stats` | | Ouvre l'onglet **Stats**, dans les sessions où [`/skill-doctor`](/docs/fr/skills#find-unused-skills) est disponible. N'importe où ailleurs il ouvre le panneau sur l'onglet **Discover** |


843| `--plugin-dir <path>` | Chargez un plugin depuis un répertoire ou une archive `.zip` de celui-ci. Un dossier de plugins charge chaque dossier enfant qui contient un `.claude-plugin/plugin.json`. Chaque drapeau prend un chemin | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |852| `--plugin-dir <path>` | Chargez un plugin depuis un répertoire ou une archive `.zip` de celui-ci. Un dossier de plugins charge chaque dossier enfant qui contient un `.claude-plugin/plugin.json`. Chaque drapeau prend un chemin | `claude --plugin-dir ./my-plugin --plugin-dir ./other.zip` |

844| `--plugin-url <url>` | Récupérez une archive `.zip` de plugin depuis une URL. Répétez le drapeau, ou passez plusieurs URLs séparées par des espaces dans une valeur entre guillemets | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |853| `--plugin-url <url>` | Récupérez une archive `.zip` de plugin depuis une URL. Répétez le drapeau, ou passez plusieurs URLs séparées par des espaces dans une valeur entre guillemets | `claude --plugin-url "https://example.com/a.zip https://example.com/b.zip"` |

845 854 

846Un plugin que l'un ou l'autre drapeau charge est un plugin de session seulement. `claude plugin list` l'affiche en tant que `<name>@inline` avec portée `session`, mais seulement quand le même drapeau précède la sous-commande. Par exemple, exécutez `claude --plugin-dir ./my-plugin plugin list`.855Un plugin que l'un ou l'autre drapeau charge est un plugin de session seulement. [`claude plugin list`](#plugin-list) l'affiche seulement quand le même drapeau précède la sous-commande, comme dans `claude --plugin-dir ./my-plugin plugin list`. Le plugin apparaît comme `<name>@inline` sous un en-tête qui commence par `Session-only plugins`, et `--json` rapporte sa `scope` comme `session`.

847 856 

848Quand un plugin de session seulement partage un nom avec un plugin installé, Claude Code charge la copie de session seulement pour cette session et saute celle installée. La copie installée se charge à la place si vous avez désactivé la copie de session seulement avec `claude plugin disable <name>@inline`, ou si les paramètres gérés verrouillent ce nom de plugin. Pour la priorité, voir [Référence du chargement des plugins](/docs/fr/plugins/loading).857Quand un plugin de session seulement partage un nom avec un plugin installé, Claude Code charge la copie de session seulement pour cette session et saute celle installée. La copie installée se charge à la place si vous avez désactivé la copie de session seulement avec `claude plugin disable <name>@inline`, ou si les paramètres gérés verrouillent ce nom de plugin. Pour la priorité, voir [Référence du chargement des plugins](/docs/fr/plugins/loading).

849 858 

Details

676 676 

677Pour inclure des instructions dans un plugin, écrivez-les comme une skill. Claude Code ne charge pas un `CLAUDE.md` à la racine du plugin, et `claude plugin validate` avertit `CLAUDE.md at the plugin root is not loaded as project context`.677Pour inclure des instructions dans un plugin, écrivez-les comme une skill. Claude Code ne charge pas un `CLAUDE.md` à la racine du plugin, et `claude plugin validate` avertit `CLAUDE.md at the plugin root is not loaded as project context`.

678 678 

679Si une règle doit tenir à chaque fois, comme [bloquer les modifications des fichiers protégés](/docs/fr/hooks-guide#block-edits-to-protected-files), ajoutez-la au plugin comme un [hook](#hooks) plutôt qu'une skill. Pour choisir entre les deux, consultez l'onglet Hook vs Skill sous [Comparer les fonctionnalités similaires](/docs/fr/features-overview#compare-similar-features).

680 

679Pour les champs de frontmatter et les fichiers de support, consultez [Skills](/docs/fr/skills).681Pour les champs de frontmatter et les fichiers de support, consultez [Skills](/docs/fr/skills).

680 682 

681<h3 id="commands">683<h3 id="commands">

Details

126 126 

127Chaque plugin que vous distribuez est un objet dans le tableau `plugins` de `marketplace.json`. Pour ajouter un deuxième plugin, ajoutez un deuxième objet. Ces champs couvrent la plupart des entrées :127Chaque plugin que vous distribuez est un objet dans le tableau `plugins` de `marketplace.json`. Pour ajouter un deuxième plugin, ajoutez un deuxième objet. Ces champs couvrent la plupart des entrées :

128 128 

129* `name` : l'identifiant que les gens tapent avant `@` lorsqu'ils installent. Il ne peut pas contenir d'espaces.129* `name` : l'identifiant que les gens tapent avant `@` lorsqu'ils installent. [Entrées de plugins](/docs/fr/plugins/marketplace-reference#plugin-entries) indique les caractères qu'un nom peut utiliser.

130* `source` : où Claude Code récupère le plugin. Écrivez une chaîne de chemin relatif pour un plugin à l'intérieur du répertoire de la marketplace, comme dans [la procédure pas à pas](#create-a-marketplace), ou un objet source pour un plugin en dehors de celui-ci. Voir [Choisir une source de plugin](#choose-a-plugin-source).130* `source` : où Claude Code récupère le plugin. Écrivez une chaîne de chemin relatif pour un plugin à l'intérieur du répertoire de la marketplace, comme dans [la procédure pas à pas](#create-a-marketplace), ou un objet source pour un plugin en dehors de celui-ci. Voir [Choisir une source de plugin](#choose-a-plugin-source).

131* `description` : la ligne que les gens voient à côté du plugin lorsqu'ils parcourent votre marketplace dans `/plugin`.131* `description` : la ligne que les gens voient à côté du plugin lorsqu'ils parcourent votre marketplace dans `/plugin`.

132 132 


199 199 

200* Les erreurs de syntaxe JSON, comme `json: Invalid JSON syntax: <reason>`200* Les erreurs de syntaxe JSON, comme `json: Invalid JSON syntax: <reason>`

201* Les champs obligatoires manquants, tels que `owner: Invalid input`201* Les champs obligatoires manquants, tels que `owner: Invalid input`

202* Un nom de marketplace avec des espaces, des caractères non-ASCII, ou une forme qui imite une marketplace officielle d'Anthropic, comme `claude-official`202* Un nom de marketplace ou de plugin qui enfreint les règles de nommage dans la [référence de marketplace](/docs/fr/plugins/marketplace-reference#top-level-fields)

203* Une `source` relative qui contient `..`203* Une `source` relative qui contient `..`

204* Les champs inconnus au niveau supérieur ou dans une entrée de plugin, comme des avertissements204* Les champs inconnus au niveau supérieur ou dans une entrée de plugin, comme des avertissements

205* Les problèmes dans le `plugin.json` de chaque plugin à chemin relatif, comme `plugins[N] plugin.json → <field>: <message>`205* Les problèmes dans le `plugin.json` de chaque plugin à chemin relatif, comme `plugins[N] plugin.json → <field>: <message>`

Details

50 50 

51Quand les utilisateurs ajoutent votre marketplace en tant qu'URL `marketplace.json` simple, Claude Code télécharge uniquement ce fichier. Une entrée dans votre tableau `plugins` dont la `source` est un chemin relatif tel que `./plugins/formatter` échoue ensuite à l'installation avec [`its marketplace entry path does not stay inside the marketplace directory`](/docs/fr/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces). Donnez à chaque entrée une source qui peut être récupérée seule, comme un référentiel `github` ou une URL `archive`, ou hébergez la marketplace dans un référentiel git pour que Claude Code clone l'arborescence entière.51Quand les utilisateurs ajoutent votre marketplace en tant qu'URL `marketplace.json` simple, Claude Code télécharge uniquement ce fichier. Une entrée dans votre tableau `plugins` dont la `source` est un chemin relatif tel que `./plugins/formatter` échoue ensuite à l'installation avec [`its marketplace entry path does not stay inside the marketplace directory`](/docs/fr/plugins/troubleshooting#plugins-with-relative-paths-fail-in-url-based-marketplaces). Donnez à chaque entrée une source qui peut être récupérée seule, comme un référentiel `github` ou une URL `archive`, ou hébergez la marketplace dans un référentiel git pour que Claude Code clone l'arborescence entière.

52 52 

53<h3 id="stay-within-the-download-limits-for-hosted-files">

54 Rester dans les limites de téléchargement pour les fichiers hébergés

55</h3>

56 

57Quand les utilisateurs ajoutent votre marketplace en tant qu'URL `marketplace.json`, ou installent une entrée avec une source [`archive`](/docs/fr/plugins/marketplace-reference#archive-plugin-source), Claude Code télécharge le fichier depuis votre serveur. Le téléchargement échoue au-delà des limites dans ce tableau, donc dimensionnez vos fichiers et configurez votre serveur pour rester à l'intérieur.

58 

59| Fichier | Plus grand téléchargement | Temps pour que votre serveur réponde | Redirections |

60| :- | :- | :- | :- |

61| `marketplace.json` d'une source de marketplace `url` | 5 MiB | 10 secondes | Une redirection vers une origine différente doit utiliser `https://` et ne peut pas pointer vers un hôte loopback, link-local, ou cloud-metadata, donc une redirection de `https://` vers `http://` échoue |

62| Zip d'une source de plugin `archive` | 256 MiB | 120 secondes | Au maximum cinq. Chaque cible de redirection doit utiliser `https://` et ne peut pas pointer vers un hôte loopback, link-local, ou cloud-metadata |

63 

64Une demande qu'une redirection envoie vers une origine différente ne porte aucun des en-têtes que vous avez configurés sur la source de marketplace ou l'entrée de plugin.

65 

66Après le téléchargement d'une archive, l'installation échoue quand le zip dépasse l'une de ces limites d'extraction :

67 

68* **Entrées** : 100 000 fichiers et répertoires

69* **Taille du fichier** : 512 MiB pour n'importe quel fichier, décompressé

70* **Taille totale** : 1 GiB décompressé

71* **Ratio de compression** : contenu décompressé 50 fois la taille du zip

72 

53<h3 id="edit-plugins-in-place-on-a-shared-directory">73<h3 id="edit-plugins-in-place-on-a-shared-directory">

54 Éditer les plugins sur place dans un répertoire partagé74 Éditer les plugins sur place dans un répertoire partagé

55</h3>75</h3>

Details

121 121 

122Dans votre terminal, les plugins se synchronisent uniquement dans les sessions où vous vous connectez avec votre compte claude.ai.122Dans votre terminal, les plugins se synchronisent uniquement dans les sessions où vous vous connectez avec votre compte claude.ai.

123 123 

124Claude Code ne télécharge ni ne charge les plugins synchronisés dans ces sessions de terminal, même après vous être connecté avec `/login` :

125 

126* Une session où `ANTHROPIC_AUTH_TOKEN`, `CLAUDE_CODE_OAUTH_TOKEN`, ou un script `apiKeyHelper` fournit les identifiants à la place de cette connexion

127* Une session qui ne [récupère pas les drapeaux de fonctionnalités auprès d'Anthropic](/docs/fr/env-vars#features-that-need-feature-flag-fetching), comme une session où vous avez défini `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`

128* Une session en [mode bare](/docs/fr/headless#start-faster-with-bare-mode) ou une session que vous démarrez avec `--safe-mode`

129* Une session que vous démarrez avec une liste [`--setting-sources`](/docs/fr/cli-reference#cli-flags) qui omet `user`

130 

124Si vous vous êtes connecté sur une version antérieure de Claude Code, cette connexion ne couvre pas les plugins jusqu'à ce que Claude Code la renouvelle en arrière-plan. Pour accéder plus tôt, exécutez `/login` à nouveau. La synchronisation des plugins commence alors la prochaine fois que vous démarrez Claude Code.131Si vous vous êtes connecté sur une version antérieure de Claude Code, cette connexion ne couvre pas les plugins jusqu'à ce que Claude Code la renouvelle en arrière-plan. Pour accéder plus tôt, exécutez `/login` à nouveau. La synchronisation des plugins commence alors la prochaine fois que vous démarrez Claude Code.

125 132 

126<h4 id="control-which-synced-plugins-load">133<h4 id="control-which-synced-plugins-load">


190| `.trash/` | Les plugins que la synchronisation claude.ai a supprimés, comme après que vous en ayez désactivé un sur claude.ai ou arrêté la synchronisation |197| `.trash/` | Les plugins que la synchronisation claude.ai a supprimés, comme après que vous en ayez désactivé un sur claude.ai ou arrêté la synchronisation |

191| `installed_plugins.json` et `known_marketplaces.json` | Les enregistrements de ce que Claude Code a installé et quels marchés il a récupérés, décrits sous [Vérifier à quel stade un plugin est arrivé](#check-which-stage-a-plugin-reached). Un [marché hébergé sur claude.ai](/docs/fr/plugins/install#add-from-claude-ai) est enregistré dans `known_marketplaces_claudeai.json` à la place |198| `installed_plugins.json` et `known_marketplaces.json` | Les enregistrements de ce que Claude Code a installé et quels marchés il a récupérés, décrits sous [Vérifier à quel stade un plugin est arrivé](#check-which-stage-a-plugin-reached). Un [marché hébergé sur claude.ai](/docs/fr/plugins/install#add-from-claude-ai) est enregistré dans `known_marketplaces_claudeai.json` à la place |

192| `flagged-plugins.json` | Les plugins que Claude Code a désinstallés parce que leur marché les a retirés de la liste. Ils apparaissent dans la section **Flagged** de `/plugin` ; voir [Héberger un marché](/docs/fr/plugins/host-marketplace) |199| `flagged-plugins.json` | Les plugins que Claude Code a désinstallés parce que leur marché les a retirés de la liste. Ils apparaissent dans la section **Flagged** de `/plugin` ; voir [Héberger un marché](/docs/fr/plugins/host-marketplace) |

200| `installed_plugins.set-aside.<date>.<hash>.json` et `installed_plugins.unreadable.<date>.<hash>.kept` | Des copies datées que Claude Code conserve avant de supprimer les enregistrements d'installation qu'aucune version de Claude Code ne peut utiliser ou de reconstruire un `installed_plugins.json` illisible. Voir [les notes de récupération](/docs/fr/plugins/troubleshooting#installed-plugins-json-could-not-be-read-and-was-rebuilt). Elles arrivent à expiration selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays) |

193 201 

194Parce que `${CLAUDE_PLUGIN_ROOT}` pointe vers un répertoire de version, le chemin racine d'un plugin change avec chaque version. Gardez les fichiers durables d'un plugin dans `${CLAUDE_PLUGIN_DATA}` à la place.202Parce que `${CLAUDE_PLUGIN_ROOT}` pointe vers un répertoire de version, le chemin racine d'un plugin change avec chaque version. Gardez les fichiers durables d'un plugin dans `${CLAUDE_PLUGIN_DATA}` à la place.

195 203 

Details

48* **Noms de marketplace communautaire** : `claude-community`, `claude-plugins-community` et `healthcare`. Réservés selon la même règle que les noms officiels.48* **Noms de marketplace communautaire** : `claude-community`, `claude-plugins-community` et `healthcare`. Réservés selon la même règle que les noms officiels.

49* **Noms de répertoire de plugin** : `anthropic-plugin-directory` et `claude-plugin-directory`. Réservés selon la même règle que les noms officiels.49* **Noms de répertoire de plugin** : `anthropic-plugin-directory` et `claude-plugin-directory`. Réservés selon la même règle que les noms officiels.

50* **Noms qui usurpent l'identité d'une marketplace officielle** : des noms tels que `official-claude-plugins` ou `claude-plugins-v2`, et tout nom contenant un caractère non-ASCII. L'erreur est `Marketplace name impersonates an official Anthropic/Claude marketplace`. Un caractère de contrôle ou de formatage bidirectionnel dans un nom signale également `Marketplace name cannot contain control or bidirectional-formatting characters`. Une marketplace déjà enregistrée sous un tel nom cesse de se charger, ainsi que ses plugins.50* **Noms qui usurpent l'identité d'une marketplace officielle** : des noms tels que `official-claude-plugins` ou `claude-plugins-v2`, et tout nom contenant un caractère non-ASCII. L'erreur est `Marketplace name impersonates an official Anthropic/Claude marketplace`. Un caractère de contrôle ou de formatage bidirectionnel dans un nom signale également `Marketplace name cannot contain control or bidirectional-formatting characters`. Une marketplace déjà enregistrée sous un tel nom cesse de se charger, ainsi que ses plugins.

51* <span id="reserved-name-spellings" />**Une autre orthographe d'un nom réservé** : un nom qui diffère d'un nom réservé uniquement par un point final, ou par un symbole autre qu'un trait d'union à la place d'un trait d'union, donc `claude.code.plugins` compte comme `claude-code-plugins`. `claude plugin validate` accepte un tel nom ; l'ajout de la marketplace échoue avec [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/fr/errors#marketplace-name-is-another-spelling-of-a-reserved-name), et une marketplace déjà enregistrée sous l'une d'elles cesse de se charger. Cette vérification nécessite Claude Code v2.1.280 ou ultérieure.51* <span id="reserved-name-spellings" />**Une autre orthographe d'un nom réservé** : un nom qui diffère d'un nom réservé uniquement par un point final, ou par un symbole autre qu'un trait d'union à la place d'un trait d'union, donc `claude.code.plugins` compte comme `claude-code-plugins`. L'ajout de la marketplace échoue avec [`is another spelling of "<reserved>", a reserved marketplace name`](/docs/fr/errors#marketplace-name-is-another-spelling-of-a-reserved-name), et une marketplace déjà enregistrée sous l'une d'elles cesse de se charger. Cette vérification nécessite Claude Code v2.1.280 ou ultérieure.

52* **Noms que Claude Code utilise pour les plugins qui ne proviennent pas d'une marketplace** : `inline` pour les plugins chargés avec [`--plugin-dir`](/docs/fr/cli-reference), `builtin` pour les plugins intégrés, `skills-dir` pour les plugins chargés automatiquement à partir de [`.claude/skills/`](/docs/fr/skills) et `synced` pour les plugins synchronisés à partir de votre compte claude.ai. `claude-plugin-test` est également réservé. `skills-dir` apparaît également comme `{"source": "skills-dir"}` dans `strictKnownMarketplaces` et `blockedMarketplaces`, décrits sous [Valeurs source valides uniquement dans les listes de politique](#source-values-valid-only-in-policy-lists).52* **Noms que Claude Code utilise pour les plugins qui ne proviennent pas d'une marketplace** : `inline` pour les plugins chargés avec [`--plugin-dir`](/docs/fr/cli-reference), `builtin` pour les plugins intégrés, `skills-dir` pour les plugins chargés automatiquement à partir de [`.claude/skills/`](/docs/fr/skills) et `synced` pour les plugins synchronisés à partir de votre compte claude.ai. `claude-plugin-test` est également réservé. `skills-dir` apparaît également comme `{"source": "skills-dir"}` dans `strictKnownMarketplaces` et `blockedMarketplaces`, décrits sous [Valeurs source valides uniquement dans les listes de politique](#source-values-valid-only-in-policy-lists).

53* **`npm`, `pip`, `uv`, `cargo`, `github` et `gh`** : réservés dans n'importe quelle casse. Cette vérification nécessite Claude Code v2.1.275 ou ultérieure.53* **`npm`, `pip`, `uv`, `cargo`, `github` et `gh`** : réservés dans n'importe quelle casse. Cette vérification nécessite Claude Code v2.1.275 ou ultérieure.

54* **Noms commençant par `claudeai-`** : réservés pour les marketplaces hébergées sur claude.ai. `claude plugin marketplace add` refuse toute autre marketplace qui en utilise un avec `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.54* **Noms commençant par `claudeai-`** : réservés pour les marketplaces hébergées sur claude.ai. `claude plugin marketplace add` refuse toute autre marketplace qui en utilise un avec `Cannot add marketplace "<name>": names starting with "claudeai-" are reserved for marketplaces hosted on claude.ai`.


63 63 

64| Champ | Type | Description |64| Champ | Type | Description |

65| :- | :- | :- |65| :- | :- | :- |

66| `name` | string | Identifiant de marketplace. Pas d'espaces, de caractères de contrôle ou de caractères de formatage bidirectionnel, pas de `/` ou `\`, pas de `..` et pas `.`. Voir [Noms réservés](#reserved-names). Les utilisateurs le tapent après `@` lorsqu'ils installent un plugin |66| `name` | string | Identifiant de marketplace : lettres, chiffres, `.`, `_` et `-`, commençant par une lettre ou un chiffre, et pas de `..`. Il forme la moitié après `@` de chaque [ID de plugin](/docs/fr/plugins/loading#find-where-a-plugin-came-from) installé à partir de la marketplace, donc `claude plugin validate` échoue pour les autres noms. Voir [Noms réservés](#reserved-names) |

67| `owner` | object | Informations du responsable. `name` est obligatoire ; `email` et `url` sont optionnels |67| `owner` | object | Informations du responsable. `name` est obligatoire ; `email` et `url` sont optionnels |

68| `plugins` | array | [Entrées de plugin](#plugin-entries). Chaque entrée est validée indépendamment, donc une entrée invalide ne fait pas échouer la marketplace |68| `plugins` | array | [Entrées de plugin](#plugin-entries). Chaque entrée est validée indépendamment, donc une entrée invalide ne fait pas échouer la marketplace |

69| `$schema` | string | URL JSON Schema pour l'autocomplétion de l'éditeur. Ignorée au moment du chargement |69| `$schema` | string | URL JSON Schema pour l'autocomplétion de l'éditeur. Ignorée au moment du chargement |


87 87 

88| Champ | Type | Description |88| Champ | Type | Description |

89| :- | :- | :- |89| :- | :- | :- |

90| `name` | string | Identifiant du plugin, sans espaces, caractères de contrôle ou caractères de formatage bidirectionnel. Les utilisateurs le tapent avant `@` lors de l'installation, même si le propre `plugin.json` du plugin définit un `name` différent |90| `name` | string | Identifiant du plugin : lettres, chiffres, `.`, `_` et `-`, commençant par une lettre ou un chiffre. `claude plugin validate` échoue pour les autres noms, que Claude Code ne peut pas installer. Les utilisateurs le tapent avant `@` lors de l'installation, même si le propre `plugin.json` du plugin définit un `name` différent |

91| `source` | string ou object | Où récupérer le plugin. Consultez [Sources de plugin](#plugin-sources) |91| `source` | string ou object | Où récupérer le plugin. Consultez [Sources de plugin](#plugin-sources) |

92| `description` | string | Affiché dans les listes et détails [`/plugin`](/docs/fr/plugins/install) |92| `description` | string | Affiché dans les listes et détails [`/plugin`](/docs/fr/plugins/install) |

93| `version` | string | Chaîne de version pour le plugin. Quand `plugin.json` définit également `version`, `plugin.json` a la priorité et `claude plugin validate` avertit. Consultez [Référence de chargement de plugin](/docs/fr/plugins/loading) |93| `version` | string | Chaîne de version pour le plugin. Quand `plugin.json` définit également `version`, `plugin.json` a la priorité et `claude plugin validate` avertit. Consultez [Référence de chargement de plugin](/docs/fr/plugins/loading) |


280 Source de plugin archive280 Source de plugin archive

281</h3>281</h3>

282 282 

283`url` doit utiliser `https://` et ne peut pas pointer vers un hôte loopback, link-local ou cloud-metadata.283`url` doit utiliser `https://` et ne peut pas pointer vers un hôte loopback, link-local ou cloud-metadata. Pour les limites de taille, de délai d'attente, de redirection et d'extraction sur le téléchargement, voir [Rester dans les limites de téléchargement pour les fichiers hébergés](/docs/fr/plugins/host-marketplace#stay-within-the-download-limits-for-hosted-files).

284 284 

285La racine du plugin peut être au sommet du zip ou un répertoire plus bas.285La racine du plugin peut être au sommet du zip ou un répertoire plus bas.

286 286 


385| :- | :- | :- | :- | :- | :- |385| :- | :- | :- | :- | :- | :- |

386| `url` | `url`, `headers`, `headersHelper` | Une URL `http://` ou `https://` qui ne correspond pas à une forme git | Charge | Permet la même URL | Bloque la même URL |386| `url` | `url`, `headers`, `headersHelper` | Une URL `http://` ou `https://` qui ne correspond pas à une forme git | Charge | Permet la même URL | Bloque la même URL |

387| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref` ou `owner/repo#ref` | Charge | Permet le même `repo`, `ref` et `path`. `repo` peut être `owner/*` | Bloque le même, et une URL `git` vers le même référentiel |387| `github` | `repo`, `ref`, `path`, `sparsePaths` | `owner/repo`, `owner/repo@ref` ou `owner/repo#ref` | Charge | Permet le même `repo`, `ref` et `path`. `repo` peut être `owner/*` | Bloque le même, et une URL `git` vers le même référentiel |

388| `git` | `url`, `ref`, `path`, `sparsePaths` | Une URL `user@host:path`, ou une URL `https://` qui se termine par `.git`, contient `/_git/`, ou nomme un référentiel github.com ou gitlab.com. `#ref` épingle un ref | Charge | Permet la même URL, `ref` et `path` | Bloque le même, et d'autres orthographes du même référentiel github.com |388| `git` | `url`, `ref`, `path`, `sparsePaths` | Une URL `user@host:path`, ou une URL `http://` ou `https://` qui se termine par `.git`, contient `/_git/`, ou nomme un référentiel github.com ou gitlab.com. `#ref` épingle un ref | Charge | Permet la même URL, `ref` et `path` | Bloque le même, et d'autres orthographes du même référentiel github.com |

389| `npm` | `package` | Non produit | Échoue à charger : `NPM marketplace sources not yet implemented` | Analyse mais ne correspond à rien, car rien n'enregistre une marketplace `npm` | Analyse mais ne correspond à rien |389| `npm` | `package` | Non produit | Échoue à charger : `NPM marketplace sources not yet implemented` | Analyse mais ne correspond à rien, car rien n'enregistre une marketplace `npm` | Analyse mais ne correspond à rien |

390| `file` | `path` | Un chemin vers un fichier `.json` | Charge | Permet le même chemin | Bloque le même chemin |390| `file` | `path` | Un chemin vers un fichier `.json` | Charge | Permet le même chemin | Bloque le même chemin |

391| `directory` | `path` | Un chemin vers un répertoire | Charge | Permet le même chemin | Bloque le même chemin |391| `directory` | `path` | Un chemin vers un répertoire | Charge | Permet le même chemin | Bloque le même chemin |


402 402 

403| Champ | Types | Description |403| Champ | Types | Description |

404| :- | :- | :- |404| :- | :- | :- |

405| `url` | `url` | Lien vers le fichier `marketplace.json`. Claude Code télécharge uniquement ce fichier, donc les plugins de la marketplace ne peuvent pas utiliser les [sources avec chemin relatif](#relative-path-plugin-source) |405| `url` | `url` | Lien vers le fichier `marketplace.json`. Claude Code télécharge uniquement ce fichier, donc les plugins de la marketplace ne peuvent pas utiliser les [sources avec chemin relatif](#relative-path-plugin-source). Voir [Rester dans les limites de téléchargement pour les fichiers hébergés](/docs/fr/plugins/host-marketplace#stay-within-the-download-limits-for-hosted-files) pour les limites de taille, de délai d'attente et de redirection |

406| `url` | `git` | Le référentiel git à cloner |406| `url` | `git` | Le référentiel git à cloner |

407| `headers` | `url` | Mappage des en-têtes HTTP que Claude Code envoie avec la récupération, pour les hôtes authentifiés |407| `headers` | `url` | Mappage des en-têtes HTTP que Claude Code envoie avec la récupération, pour les hôtes authentifiés |

408| `headersHelper` | `url` | Commande qui imprime les en-têtes dont les valeurs sont trop éphémères pour être listées dans `headers`. Nécessite Claude Code v2.1.238 ou ultérieure. Voir [Authentifier les téléchargements d'archive](/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) |408| `headersHelper` | `url` | Commande qui imprime les en-têtes dont les valeurs sont trop éphémères pour être listées dans `headers`. Nécessite Claude Code v2.1.238 ou ultérieure. Voir [Authentifier les téléchargements d'archive](/docs/fr/plugins/host-marketplace#authenticate-archive-downloads) |


469 469 

470Un message préfixé par un index d'entrée et `plugin.json →`, tel que `plugins[2] plugin.json →`, concerne les propres fichiers de ce plugin. [`claude plugin validate` signale les erreurs](/docs/fr/plugins/troubleshooting#claude-plugin-validate-reports-errors) liste ces messages avec leurs corrections.470Un message préfixé par un index d'entrée et `plugin.json →`, tel que `plugins[2] plugin.json →`, concerne les propres fichiers de ce plugin. [`claude plugin validate` signale les erreurs](/docs/fr/plugins/troubleshooting#claude-plugin-validate-reports-errors) liste ces messages avec leurs corrections.

471 471 

472Les avertissements qui mentionnent les noms de drapeaux Claude Desktop signalent les noms que Claude Code accepte mais que Claude Desktop rejette, car les règles de nom de Claude Desktop sont plus strictes.472Les avertissements qui mentionnent les noms de drapeaux Claude Desktop signalent les noms que Claude Desktop rejette.

473 473 

474Le tableau mappe les messages au niveau marketplace au champ dont chacun parle.474Le tableau mappe les messages au niveau marketplace au champ dont chacun parle.

475 475 


484| `Author name cannot be empty` | Erreur | `owner.name` |484| `Author name cannot be empty` | Erreur | `owner.name` |

485| `Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")` | Erreur | `plugins[i].name` |485| `Plugin name cannot contain spaces. Use kebab-case (e.g., "my-plugin")` | Erreur | `plugins[i].name` |

486| `Plugin name cannot contain control or bidirectional-formatting characters` | Erreur | `plugins[i].name` |486| `Plugin name cannot contain control or bidirectional-formatting characters` | Erreur | `plugins[i].name` |

487| `Claude Code cannot install plugins from marketplace "x". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change the marketplace's "name".` | Erreur | `name` |

488| `Claude Code cannot install plugin "x". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | Erreur | `plugins[i].name` |

487| `Duplicate plugin name "x" found in marketplace` | Erreur | Deux entrées partagent un `name` |489| `Duplicate plugin name "x" found in marketplace` | Erreur | Deux entrées partagent un `name` |

488| `plugins.i.source: Invalid input` | Erreur | La `source` de l'entrée ne correspond à aucun type. Voir [Entrée invalide sur une source](#invalid-input-on-a-source) |490| `plugins.i.source: Invalid input` | Erreur | La `source` de l'entrée ne correspond à aucun type. Voir [Entrée invalide sur une source](#invalid-input-on-a-source) |

489| `plugins[i].source: Path contains "..": <path>` | Erreur | Une `source` relative qui échappe à la racine marketplace |491| `plugins[i].source: Path contains "..": <path>` | Erreur | Une `source` relative qui échappe à la racine marketplace |

Details

145 `Marketplace "<name>" not found`145 `Marketplace "<name>" not found`

146</h3>146</h3>

147 147 

148Vous avez exécuté `/plugin install <plugin>@<name>` dans une session, souvent à partir d'une ligne d'installation que quelqu'un vous a envoyée, et Claude Code a signalé qu'il n'a pas de marketplace portant ce nom.148Vous avez exécuté `/plugin install` dans une session et Claude Code a signalé qu'il n'a pas de marketplace portant ce nom. Deux formes de la commande mènent à ce message :

149 

150* **`/plugin install <plugin>@<name>`** : la ligne d'installation, souvent celle que quelqu'un vous a envoyée, nomme une marketplace que vous n'avez pas ajoutée. Le reste de cette entrée couvre la recherche et l'ajout.

151* **`/plugin install <source>` avec un chemin, une URL ou `owner/repo`** : cette forme signale le message au lieu d'installer, même pour une source que vous avez déjà ajoutée. Pour installer à partir d'une source en une seule commande, consultez [Ajouter une marketplace et installer en une seule commande](/docs/fr/plugins/install#add-a-marketplace-and-install-in-one-command).

149 152 

150Si le nom commence par `claudeai-`, la marketplace est hébergée sur claude.ai, et vous l'ajoutez par nom à partir de votre shell avec `claude plugin marketplace add --claudeai <name>`. Consultez [Ajouter une marketplace à partir de claude.ai](/docs/fr/plugins/install#add-from-claude-ai).153Si le nom commence par `claudeai-`, la marketplace est hébergée sur claude.ai, et vous l'ajoutez par nom à partir de votre shell avec `claude plugin marketplace add --claudeai <name>`. Consultez [Ajouter une marketplace à partir de claude.ai](/docs/fr/plugins/install#add-from-claude-ai).

151 154 


646 649 

647Ensuite, exécutez `/reload-plugins` dans votre session. L'entrée de l'onglet **Erreurs** disparaît et le plugin est de retour sous **Installed**.650Ensuite, exécutez `/reload-plugins` dans votre session. L'entrée de l'onglet **Erreurs** disparaît et le plugin est de retour sous **Installed**.

648 651 

652<h3 id="installed-plugins-json-holds-a-record-this-version-cannot-read">

653 `installed_plugins.json holds a record under "<id>" that this version of Claude Code cannot read`

654</h3>

655 

656Le message s'affiche sous ces formes :

657 

658* **`claude plugin list`** : l'imprime comme une `Note:`

659* **`claude plugin install`, `uninstall`, et `update`** : refusent avec `Plugin "<name>" was not installed:`, `Plugin "<name>" was not uninstalled:`, ou `Plugin "<name>" was not updated:`, suivi du même texte

660* **`--json` sur l'une de ces trois commandes** : la ligne de résultat porte le même `message` et `failureCode: "install_records_unreadable"`

661* **Plusieurs de ces enregistrements** : le message lit `holds records under`

662* **Le fichier entier déclare un format que cette version ne connaît pas** : le message lit `installed_plugins.json is in a format (version <N>) that this version of Claude Code does not know` à la place

663 

664L'enregistrement nommé dans `installed_plugins.json` est un JSON valide sous un id de plugin valide, mais ses champs ne s'analysent pas pour cette version. Très probablement une autre version de Claude Code l'a écrit, peut-être une plus récente.

665 

666Tant que l'enregistrement est là, cette version ne réécrit pas le fichier, donc l'enregistrement n'est pas perdu.

667 

668Prenez les options du message dans l'ordre :

669 

6701. Mettez à jour Claude Code avec `claude update`.

6712. Si vous ne pouvez pas mettre à jour, désinstallez le plugin nommé avec la version de Claude Code qui a écrit l'enregistrement.

6723. Si aucun des deux n'aide, supprimez l'enregistrement de `installed_plugins.json` à la main, puis redémarrez Claude Code ou exécutez `/reload-plugins`.

673 

674<h3 id="installed-plugins-json-could-not-be-read-and-was-rebuilt">

675 `installed_plugins.json could not be read and was rebuilt`

676</h3>

677 

678`claude plugin list` imprime cette note, avec le chemin d'un fichier conservé nommé `installed_plugins.unreadable.<date>.<hash>.kept`, tant que ce fichier se trouve à côté de `installed_plugins.json`.

679 

680Un `installed_plugins.json` qui n'est pas un JSON valide, ou n'est pas une liste de plugins, ne peut pas dire ce que vous avez installé.

681 

682Ouvrez le fichier `.kept` pour voir ce que l'ancien fichier a enregistré, et réinstallez les plugins qui vous manquent. Claude Code ne relit jamais le fichier, et le fichier vieillit selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays).

683 

684<h3 id="install-records-under-names-that-no-version-can-use">

685 `install records under names that no version of Claude Code can use were removed from installed_plugins.json`

686</h3>

687 

688`claude plugin list` imprime cette note, avec le chemin d'une copie nommée `installed_plugins.set-aside.<date>.<hash>.json`, tant que cette copie se trouve à côté de `installed_plugins.json`. La note se termine par `Nothing needs doing about these copies.`

689 

690Un enregistrement dans `installed_plugins.json` se trouvait sous une clé qui n'est pas un id de plugin valide, donc aucune version de Claude Code ne peut l'utiliser. Le reste du fichier charge normalement.

691 

692Claude Code copie les enregistrements inutilisables dans le fichier `.set-aside` et les supprime de la liste. Claude Code ne relit jamais les copies, et les copies vieillissent selon le calendrier [`cleanupPeriodDays`](/docs/fr/settings-reference#cleanupperioddays).

693 

649<h3 id="a-plugin-you-disabled-still-loads">694<h3 id="a-plugin-you-disabled-still-loads">

650 `Disabled in ~/.claude/settings.json but still loads`695 `Disabled in ~/.claude/settings.json but still loads`

651</h3>696</h3>


981| `Path contains "..": <path>` sous `plugins[N].source` | Erreur | Utilisez les chemins relatifs à la racine de la marketplace sans segments `..`. |1026| `Path contains "..": <path>` sous `plugins[N].source` | Erreur | Utilisez les chemins relatifs à la racine de la marketplace sans segments `..`. |

982| `Marketplace name cannot contain control or bidirectional-formatting characters` | Erreur | Supprimez le caractère du nom, comme une échappement ou une nouvelle ligne. |1027| `Marketplace name cannot contain control or bidirectional-formatting characters` | Erreur | Supprimez le caractère du nom, comme une échappement ou une nouvelle ligne. |

983| `Plugin name cannot contain control or bidirectional-formatting characters` | Erreur | Supprimez le caractère du `name` du plugin. |1028| `Plugin name cannot contain control or bidirectional-formatting characters` | Erreur | Supprimez le caractère du `name` du plugin. |

1029| `Claude Code cannot install plugins from marketplace "<name>". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change the marketplace's "name".` | Erreur | Renommez la marketplace pour respecter la règle que le message indique. |

1030| `Claude Code cannot install plugin "<name>". Each part of a plugin id (plugin@marketplace) may use only the letters a-z and A-Z, digits, ".", "_" and "-", and must start with a letter or digit. Change this entry's "name".` | Erreur | Renommez l'entrée pour respecter la règle que le message indique. |

984| `Marketplace has no plugins defined` | Avertissement | Ajoutez au moins une entrée à `plugins`. |1031| `Marketplace has no plugins defined` | Avertissement | Ajoutez au moins une entrée à `plugins`. |

985| `No marketplace description provided` | Avertissement | Ajoutez une `description` au niveau supérieur. |1032| `No marketplace description provided` | Avertissement | Ajoutez une `description` au niveau supérieur. |

986| `Plugin name "<name>" is not kebab-case` sous `plugins[N] plugin.json → name` | Avertissement | Renommez en lettres minuscules, chiffres et tirets. Claude Code accepte d'autres formes, mais la synchronisation de la marketplace claude.ai les rejette. |1033| `Plugin name "<name>" is not kebab-case` sous `plugins[N] plugin.json → name` | Avertissement | Renommez en lettres minuscules, chiffres et tirets ; la synchronisation de la marketplace claude.ai nécessite cette forme. |

987| `Entry declares version "<a>" but <path>/plugin.json says "<b>"` | Avertissement | Mettez à jour l'entrée pour correspondre à `plugin.json`, qui est autoritaire au moment de l'installation. |1034| `Entry declares version "<a>" but <path>/plugin.json says "<b>"` | Avertissement | Mettez à jour l'entrée pour correspondre à `plugin.json`, qui est autoritaire au moment de l'installation. |

988| `Marketplace name "<name>" is reserved in Claude Desktop` | Avertissement | Renommez la marketplace. La synchronisation de la marketplace gérée de Claude Desktop rejette `org`, `org-provisioned` et `unknown` dans n'importe quelle casse. |1035| `Marketplace name "<name>" is reserved in Claude Desktop` | Avertissement | Renommez la marketplace. La synchronisation de la marketplace gérée de Claude Desktop rejette `org`, `org-provisioned` et `unknown` dans n'importe quelle casse. |

989| `Marketplace name "<name>" is not accepted by Claude Desktop` ou `Plugin name "<name>" is not accepted by Claude Desktop` | Avertissement | Renommez en au maximum 128 caractères de lettres, chiffres, `.`, `_` et `-`, commençant par une lettre ou un chiffre. |1036| `Marketplace name "<name>" is not accepted by Claude Desktop` ou `Plugin name "<name>" is not accepted by Claude Desktop` | Avertissement | Renommez en au maximum 128 caractères de lettres, chiffres, `.`, `_` et `-`, commençant par une lettre ou un chiffre. |

Details

412| - | - |412| - | - |

413| `DISABLE_PROMPT_CACHING` | Désactiver pour tous les modèles |413| `DISABLE_PROMPT_CACHING` | Désactiver pour tous les modèles |

414| `DISABLE_PROMPT_CACHING_HAIKU` | Désactiver pour le modèle Haiku par défaut |414| `DISABLE_PROMPT_CACHING_HAIKU` | Désactiver pour le modèle Haiku par défaut |

415| `DISABLE_PROMPT_CACHING_SONNET` | Désactiver pour Sonnet uniquement |415| `DISABLE_PROMPT_CACHING_SONNET` | Désactiver pour le modèle Sonnet par défaut |

416| `DISABLE_PROMPT_CACHING_OPUS` | Désactiver pour Opus uniquement |416| `DISABLE_PROMPT_CACHING_OPUS` | Désactiver pour le modèle Opus par défaut |

417| `DISABLE_PROMPT_CACHING_FABLE` | Désactiver pour Fable uniquement |417| `DISABLE_PROMPT_CACHING_FABLE` | Désactiver pour Fable uniquement |

418 418 

419`DISABLE_PROMPT_CACHING_HAIKU` s'applique au modèle Haiku par défaut, le modèle auquel l'alias `haiku` se résout. Il désactive le caching partout où ce modèle s'exécute, y compris la conversation principale quand il est votre modèle principal. Couvrir la conversation principale nécessite Claude Code v2.1.283 ou une version ultérieure.419`DISABLE_PROMPT_CACHING_HAIKU` s'applique au modèle Haiku par défaut, le modèle auquel l'alias `haiku` se résout. Il désactive le caching partout où ce modèle s'exécute, y compris la conversation principale quand il est votre modèle principal. Couvrir la conversation principale nécessite Claude Code v2.1.283 ou une version ultérieure.


422 422 

423Une version différente de Haiku que vous épinglez comme votre modèle principal conserve le caching ; définissez `DISABLE_PROMPT_CACHING` pour désactiver le caching pour celui-ci.423Une version différente de Haiku que vous épinglez comme votre modèle principal conserve le caching ; définissez `DISABLE_PROMPT_CACHING` pour désactiver le caching pour celui-ci.

424 424 

425`DISABLE_PROMPT_CACHING_SONNET` et `DISABLE_PROMPT_CACHING_OPUS` s'appliquent chacun au modèle auquel l'alias `sonnet` ou `opus` se résout. Si vous définissez un autre ID de modèle Sonnet ou Opus comme votre modèle principal, ce modèle conserve le caching. Par exemple, une session sur `claude-sonnet-5` conserve le caching tandis que `sonnet` se résout à `claude-sonnet-5-5`. Pour désactiver le caching pour ce modèle, définissez `DISABLE_PROMPT_CACHING`.

426 

425Pour définir la politique de caching dans une organisation, mettez l'une de ces variables ou les [variables TTL](#cache-lifetime) dans le bloc `env` des [paramètres gérés](/docs/fr/managed-settings). Pour un usage normal, laissez le caching activé.427Pour définir la politique de caching dans une organisation, mettez l'une de ces variables ou les [variables TTL](#cache-lifetime) dans le bloc `env` des [paramètres gérés](/docs/fr/managed-settings). Pour un usage normal, laissez le caching activé.

426 428 

427<h2 id="related-resources">429<h2 id="related-resources">

Details

200 200 

201Le même bouton bascule apparaît en dehors de la CLI :201Le même bouton bascule apparaît en dehors de la CLI :

202 202 

203* **Application Desktop** : **Settings > Claude Code > Enable remote control by default**.203* **Application Desktop** : **Settings > Claude Code > Connect new sessions to Remote Control**.

204* **Extension VS Code** : **Enable Remote Control for all sessions** dans la section Paramètres du [menu de commande](/docs/fr/vs-code#use-the-prompt-box).204* **Extension VS Code** : **Enable Remote Control for all sessions** dans la section Paramètres du [menu de commande](/docs/fr/vs-code#use-the-prompt-box).

205 205 

206Pour activer l'auto-connexion à partir d'un fichier de paramètres à la place, définissez [`remoteControlAtStartup`](/docs/fr/settings-reference#remotecontrolatstartup) sur `true` dans votre fichier utilisateur `~/.claude/settings.json` ou dans les [paramètres gérés](/docs/fr/managed-settings). Dans les paramètres de projet ou locaux (`.claude/settings.json`, `.claude/settings.local.json`), Claude Code honore un `false` et désactive l'auto-connexion pour ce référentiel, mais ignore un `true`, afin qu'un fichier archivé ne puisse pas activer Remote Control pour tous ceux qui ouvrent le référentiel.206Pour activer l'auto-connexion à partir d'un fichier de paramètres à la place, définissez [`remoteControlAtStartup`](/docs/fr/settings-reference#remotecontrolatstartup) sur `true` dans votre fichier utilisateur `~/.claude/settings.json` ou dans les [paramètres gérés](/docs/fr/managed-settings). Dans les paramètres de projet ou locaux (`.claude/settings.json`, `.claude/settings.local.json`), Claude Code honore un `false` et désactive l'auto-connexion pour ce référentiel, mais ignore un `true`, afin qu'un fichier archivé ne puisse pas activer Remote Control pour tous ceux qui ouvrent le référentiel.

routines.md +16 −6

Details

66 66 

67Dans tous les autres cas, y compris la publication d'un nouvel artifact, Claude demande d'abord. Quand le travail d'une routine est de maintenir une page à jour, donnez-lui un artifact que vous avez déjà publié.67Dans tous les autres cas, y compris la publication d'un nouvel artifact, Claude demande d'abord. Quand le travail d'une routine est de maintenir une page à jour, donnez-lui un artifact que vous avez déjà publié.

68 68 

69Les routines appartiennent à votre compte claude.ai individuel. Elles ne sont pas partagées avec les coéquipiers, et elles comptent dans votre allocation quotidienne d'exécutions. Tout ce qu'une routine fait via votre identité GitHub connectée ou les connecteurs apparaît comme vous : les commits et les demandes de tirage portent votre utilisateur GitHub, et les messages Slack, les tickets Linear ou d'autres actions de connecteur utilisent vos comptes liés pour ces services.69Les routines appartiennent à votre compte claude.ai individuel. Elles ne sont pas partagées avec les coéquipiers, et leurs exécutions comptent dans l'[utilisation et les limites](#usage-and-limits) de votre compte. Tout ce qu'une routine fait via votre identité GitHub connectée ou les connecteurs apparaît comme vous : les commits et les demandes de tirage portent votre utilisateur GitHub, et les messages Slack, les tickets Linear ou d'autres actions de connecteur utilisent vos comptes liés pour ces services.

70 70 

71<h3 id="create-from-the-web">71<h3 id="create-from-the-web">

72 Créer à partir du web72 Créer à partir du web


174 174 

175La même conversion locale-UTC que pour les calendriers récurrents s'applique aux horodatages uniques.175La même conversion locale-UTC que pour les calendriers récurrents s'applique aux horodatages uniques.

176 176 

177Les exécutions uniques ne comptent pas par rapport au plafond quotidien d'exécution de routine. Consultez [Usage and limits](#usage-and-limits) pour plus de détails.177Les exécutions uniques comptent par rapport à la même limite horaire que les autres exécutions planifiées. Consultez [Usage and limits](#usage-and-limits) pour plus de détails.

178 178 

179<h3 id="add-an-api-trigger">179<h3 id="add-an-api-trigger">

180 Ajouter un déclencheur API180 Ajouter un déclencheur API


256Un déclencheur GitHub démarre une nouvelle session automatiquement lorsqu'un événement correspondant se produit sur un référentiel connecté. Claude Code ne réutilise pas les sessions entre les événements, de sorte que deux mises à jour de PR produisent deux sessions indépendantes.256Un déclencheur GitHub démarre une nouvelle session automatiquement lorsqu'un événement correspondant se produit sur un référentiel connecté. Claude Code ne réutilise pas les sessions entre les événements, de sorte que deux mises à jour de PR produisent deux sessions indépendantes.

257 257 

258<Note>258<Note>

259 Pendant l'aperçu de recherche, les événements webhook GitHub sont soumis à des limites horaires par routine et par compte. Les événements au-delà de la limite sont supprimés jusqu'à la réinitialisation de la fenêtre. Consultez vos limites actuelles sur [claude.ai/code/routines](https://claude.ai/code/routines).259 Les événements webhook GitHub sont soumis à des limites horaires par routine et par compte. Les événements au-delà de la limite sont supprimés jusqu'à la réinitialisation de la fenêtre.

260</Note>260</Note>

261 261 

262L'application Claude GitHub doit être installée sur le référentiel auquel vous souhaitez vous abonner, quelle que soit la surface à partir de laquelle vous configurez le déclencheur.262L'application Claude GitHub doit être installée sur le référentiel auquel vous souhaitez vous abonner, quelle que soit la surface à partir de laquelle vous configurez le déclencheur.


421 Utilisation et limites421 Utilisation et limites

422</h2>422</h2>

423 423 

424Les routines réduisent l'utilisation de l'abonnement de la même manière que les sessions interactives. En plus des limites d'abonnement standard, les routines ont un plafond quotidien sur le nombre d'exécutions qui peuvent démarrer par compte. Consultez votre consommation actuelle et vos exécutions de routine quotidiennes restantes sur [claude.ai/code/routines](https://claude.ai/code/routines) ou [claude.ai/settings/usage](https://claude.ai/settings/usage).424Les routines réduisent l'utilisation de l'abonnement de la même manière que les sessions interactives. Consultez votre consommation actuelle sur [claude.ai/settings/usage](https://claude.ai/settings/usage).

425 425 

426Lorsqu'une routine atteint le plafond quotidien ou votre limite d'utilisation d'abonnement, les organisations avec crédits d'utilisation activés peuvent continuer à exécuter les routines sur dépassement mesuré. Sans crédits d'utilisation, les exécutions supplémentaires sont rejetées jusqu'à la réinitialisation de la fenêtre. Activez les crédits d'utilisation sur [claude.ai/settings/usage](https://claude.ai/settings/usage). Sur les plans Team et Enterprise, un administrateur les active pour l'organisation sur [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage).426Indépendamment de l'utilisation de l'abonnement, chaque façon de démarrer une exécution a une limite horaire :

427 427 

428Les 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.428| Action | Limite | Comptée pour | Au-delà de la limite |

429| :- | :- | :- | :- |

430| Exécutions planifiées, y compris les exécutions ponctuelles | 100 par heure | Votre compte | L'exécution attend jusqu'à la réinitialisation de la limite |

431| **Exécuter maintenant**, appels API et définition d'une routine ponctuelle pour s'exécuter à nouveau | 30 par heure | Chaque routine, un décompte partagé par les trois | L'action échoue jusqu'à la réinitialisation de la limite |

432| **Exécuter maintenant** et définition d'une routine ponctuelle pour s'exécuter à nouveau | 100 par heure | Votre compte | Identique |

433| Appels API | 100 par heure | Votre compte, comptés séparément de **Exécuter maintenant** | Identique |

434| Événements GitHub | Voir [Ajouter un déclencheur GitHub](#add-a-github-trigger) | | |

435 

436Aucune de ces limites horaires n'a de dépassement.

437 

438Lorsqu'une routine atteint votre limite d'utilisation d'abonnement, les organisations avec crédits d'utilisation activés peuvent continuer à exécuter les routines sur dépassement mesuré. Sans crédits d'utilisation, les exécutions supplémentaires sont rejetées jusqu'à la réinitialisation de votre fenêtre d'utilisation. Activez les crédits d'utilisation sur [claude.ai/settings/usage](https://claude.ai/settings/usage). Sur les plans Team et Enterprise, un administrateur les active pour l'organisation sur [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage).

429 439 

430Pendant que votre abonnement est suspendu, vos routines sont mises en attente et ne s'exécutent pas. Une fois que votre abonnement est à nouveau actif, réactivez-les.440Pendant que votre abonnement est suspendu, vos routines sont mises en attente et ne s'exécutent pas. Une fois que votre abonnement est à nouveau actif, réactivez-les.

431 441 

Details

138* À la racine du projet, le runtime refuse `.git/hooks`, refuse `.git/config` sauf si vous définissez `filesystem.allowGitConfig: true`, et refuse `.mcp.json`, `.claude/commands`, `.claude/agents`, et les fichiers de démarrage du shell.138* À la racine du projet, le runtime refuse `.git/hooks`, refuse `.git/config` sauf si vous définissez `filesystem.allowGitConfig: true`, et refuse `.mcp.json`, `.claude/commands`, `.claude/agents`, et les fichiers de démarrage du shell.

139* Sur macOS, ces refus sont vérifiés quand une écriture se produit, donc ils couvrent également les fichiers imbriqués et les référentiels créés pendant la session.139* Sur macOS, ces refus sont vérifiés quand une écriture se produit, donc ils couvrent également les fichiers imbriqués et les référentiels créés pendant la session.

140* Sur Linux et WSL2, le runtime construit la liste de refus une fois au lancement. Il couvre de manière fiable la racine du projet, effectue une analyse superficielle de meilleur effort pour les copies imbriquées qui existent à ce moment, et ne couvre rien que la session crée plus tard, comme `git init`, `git clone`, ou l'échafaudage. La section `mandatoryDenySearchDepth` du README décrit la sémantique exacte de l'analyse.140* Sur Linux et WSL2, le runtime construit la liste de refus une fois au lancement. Il couvre de manière fiable la racine du projet, effectue une analyse superficielle de meilleur effort pour les copies imbriquées qui existent à ce moment, et ne couvre rien que la session crée plus tard, comme `git init`, `git clone`, ou l'échafaudage. La section `mandatoryDenySearchDepth` du README décrit la sémantique exacte de l'analyse.

141* Sans un `~/.srt-settings.json` valide, le runtime démarre quand même, bloque l'accès réseau, et confine les écritures aux chemins runtime intégrés tels que `/tmp/claude`, `~/.npm/_logs`, et `~/.claude/debug`. Ne prenez pas un démarrage propre comme preuve que vos paramètres ont été chargés.141* Si `~/.srt-settings.json` n'existe pas et que vous ne passez pas `--settings`, le runtime démarre quand même. Il bloque l'accès réseau et confine les écritures aux chemins runtime intégrés tels que `/tmp/claude`, `~/.npm/_logs`, et `~/.claude/debug`. Ne prenez pas un démarrage propre comme preuve que vos paramètres ont été chargés.

142* Quand vous passez `--settings`, le runtime refuse de démarrer si le fichier échoue à charger.142* Si le fichier de paramètres existe mais est vide, illisible ou invalide, le runtime refuse de démarrer, qu'il s'agisse de `~/.srt-settings.json` ou d'un fichier que vous passez avec `--settings`. Il refuse également de démarrer si le fichier `--settings` n'existe pas.

143 143 

144Vos autorisations d'écriture incluent toujours d'autres chemins à partir desquels Claude Code charge la configuration, donc refusez-les avec `denyWrite`. Une session sandboxée qui peut les écrire peut persister des hooks, des règles de permission, ou des serveurs MCP qui s'exécutent sans sandbox la prochaine fois que vous lancez Claude Code.144Vos autorisations d'écriture incluent toujours d'autres chemins à partir desquels Claude Code charge la configuration, donc refusez-les avec `denyWrite`. Une session sandboxée qui peut les écrire peut persister des hooks, des règles de permission, ou des serveurs MCP qui s'exécutent sans sandbox la prochaine fois que vous lancez Claude Code.

145 145 

Details

48* **Zéro rétention de données** : indisponible pour les organisations avec [Zéro rétention de données](/docs/fr/zero-data-retention) activée.48* **Zéro rétention de données** : indisponible pour les organisations avec [Zéro rétention de données](/docs/fr/zero-data-retention) activée.

49* **Inférence du modèle** : les sessions utilisent l'API Anthropic, et l'inférence ne peut pas être routée via [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/fr/third-party-integrations), ou une [passerelle LLM](/docs/fr/llm-gateway).49* **Inférence du modèle** : les sessions utilisent l'API Anthropic, et l'inférence ne peut pas être routée via [Amazon Bedrock, Google Cloud's Agent Platform, Microsoft Foundry](/docs/fr/third-party-integrations), ou une [passerelle LLM](/docs/fr/llm-gateway).

50* **Surfaces** : les sessions démarrées à partir de [claude.ai/code](https://claude.ai/code), les applications mobiles et de bureau, les [routines planifiées](/docs/fr/routines), et le terminal, avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud) ou une [dispatch `--environment`](/docs/fr/self-hosted-environments-testing#run-the-test-loop), peuvent s'exécuter dans des environnements auto-hébergés. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) peuvent aussi s'y exécuter, mais Claude ne peut pas encore utiliser les [Bundles d'accès](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) dans ces sessions. Les sessions [Claude Security](/docs/fr/claude-security) et [Code Review](/docs/fr/code-review) ne les routent pas encore. Le support de ces deux surfaces suit séparément.50* **Surfaces** : les sessions démarrées à partir de [claude.ai/code](https://claude.ai/code), les applications mobiles et de bureau, les [routines planifiées](/docs/fr/routines), et le terminal, avec [`claude --cloud`](/docs/fr/claude-code-on-the-web#from-terminal-to-cloud) ou une [dispatch `--environment`](/docs/fr/self-hosted-environments-testing#run-the-test-loop), peuvent s'exécuter dans des environnements auto-hébergés. Les sessions [Claude Tag](https://claude.com/docs/claude-tag/overview) peuvent aussi s'y exécuter, mais Claude ne peut pas encore utiliser les [Bundles d'accès](https://claude.com/docs/claude-tag/concepts/glossary#access-bundle) dans ces sessions. Les sessions [Claude Security](/docs/fr/claude-security) et [Code Review](/docs/fr/code-review) ne les routent pas encore. Le support de ces deux surfaces suit séparément.

51* **Référentiels** : les sessions extraient les référentiels de GitHub ; consultez [Options d'authentification GitHub](/docs/fr/claude-code-on-the-web#github-authentication-options).51* **Référentiels** : les sessions extraient les référentiels de GitHub ; consultez [Options d'authentification GitHub](/docs/fr/claude-code-on-the-web#github-authentication-options). Pour un hôte GitHub Enterprise Server, consultez ses [exigences réseau](/docs/fr/github-enterprise-server#network-requirements).

52* **Facturation** : les sessions dans un environnement auto-hébergé consomment l'utilisation Claude Code de votre organisation de la même manière que les sessions dans les environnements hébergés par Anthropic.52* **Facturation** : les sessions dans un environnement auto-hébergé consomment l'utilisation Claude Code de votre organisation de la même manière que les sessions dans les environnements hébergés par Anthropic.

53 53 

54<h2 id="why-self-host">54<h2 id="why-self-host">

Details

170 170 

171Si votre hôte git rejette l'identifiant, ou que vous n'en avez pas configuré un, le runner réessaie quelques fois puis échoue la préparation du référentiel quand le référentiel est celui vers lequel la session pousse les résultats. Pour un référentiel que la session lit uniquement, [Troubleshooting](#troubleshooting) couvre quand le runner le saute à la place. Le runner ne transmet pas ces paramètres dans l'environnement de la session.171Si votre hôte git rejette l'identifiant, ou que vous n'en avez pas configuré un, le runner réessaie quelques fois puis échoue la préparation du référentiel quand le référentiel est celui vers lequel la session pousse les résultats. Pour un référentiel que la session lit uniquement, [Troubleshooting](#troubleshooting) couvre quand le runner le saute à la place. Le runner ne transmet pas ces paramètres dans l'environnement de la session.

172 172 

173Gardez tout programme que vous nommez dans `GIT_SSH_COMMAND` ou `GIT_ASKPASS` où les sessions ne peuvent pas y écrire, de la manière que la [liste de contrôle de durcissement](#harden-your-deployment) demande pour le répertoire de hooks et le script wrapper. Il en va de même pour toute clé ou fichier sur la ligne de commande de ce programme. Le git propre du runner exécute ce programme quand il clone ou récupère.

174 

173Si les répertoires de checkout sont possédés par un uid différent du processus runner, git refuse d'opérer sur eux ; ajoutez `safe.directory` :175Si les répertoires de checkout sont possédés par un uid différent du processus runner, git refuse d'opérer sur eux ; ajoutez `safe.directory` :

174 176 

175```dockerfile theme={null}177```dockerfile theme={null}


184 186 

185Le proxy nécessite `--capacity 1` car l'URL du proxy est par session, et git 2.32 ou plus récent car les anciennes versions de git ignorent le mécanisme de configuration que le proxy utilise pour isoler les sessions les unes des autres. Le runner refuse de démarrer si l'une ou l'autre exigence n'est pas satisfaite. Parce que le proxy récupère du côté d'Anthropic, votre hôte git doit être accessible depuis l'infrastructure Anthropic, la même exigence que les sessions hébergées par Anthropic ont ; pour un hôte git qui n'est routable que dans votre réseau, utilisez un [hook de cycle de vie `checkout`](/docs/fr/self-hosted-environments-configuration#checkout) à la place. Chaque processus runner gère une session à la fois, donc exécutez plus de répliques pour le parallélisme. Quand le proxy est activé, `--git-host-rewrite` et `--git-ssh-rewrite` n'ont aucun effet : l'URL du proxy pointe vers `api.anthropic.com`, pas votre hôte git.187Le proxy nécessite `--capacity 1` car l'URL du proxy est par session, et git 2.32 ou plus récent car les anciennes versions de git ignorent le mécanisme de configuration que le proxy utilise pour isoler les sessions les unes des autres. Le runner refuse de démarrer si l'une ou l'autre exigence n'est pas satisfaite. Parce que le proxy récupère du côté d'Anthropic, votre hôte git doit être accessible depuis l'infrastructure Anthropic, la même exigence que les sessions hébergées par Anthropic ont ; pour un hôte git qui n'est routable que dans votre réseau, utilisez un [hook de cycle de vie `checkout`](/docs/fr/self-hosted-environments-configuration#checkout) à la place. Chaque processus runner gère une session à la fois, donc exécutez plus de répliques pour le parallélisme. Quand le proxy est activé, `--git-host-rewrite` et `--git-ssh-rewrite` n'ont aucun effet : l'URL du proxy pointe vers `api.anthropic.com`, pas votre hôte git.

186 188 

189<Warning>

190 Les recettes [Kubernetes](#kubernetes) et [Docker Compose](#docker-compose) sur cette page utilisent `--capacity 4`. Si vous ajoutez `--use-anthropic-git-proxy` ou `CLAUDE_RUNNER_USE_GIT_PROXY=1` à l'une d'elles sans changer la capacité à `1`, le runner quitte au démarrage chaque fois que votre orchestrateur le redémarre. Définissez `--capacity 1` et exécutez plus de répliques pour le parallélisme. [When the runner exits](#when-the-runner-exits) affiche la ligne que le runner imprime.

191</Warning>

192 

187Le runner signale également l'adhésion à Anthropic quand il s'enregistre, affichant `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` au démarrage. Signaler l'adhésion nécessite Claude Code v2.1.267 ou plus récent, et les versions antérieures acceptent le drapeau sans le signaler ou afficher cette ligne. Chaque session sur un runner ayant adhéré utilise ensuite soit git géré par Anthropic, soit l'URL du proxy par session. Quand une session utilise l'URL du proxy par session, le runner enregistre une ligne `[runner:warn]` indiquant cela.193Le runner signale également l'adhésion à Anthropic quand il s'enregistre, affichant `Registering as opted in to Anthropic-managed git (--use-anthropic-git-proxy)` au démarrage. Signaler l'adhésion nécessite Claude Code v2.1.267 ou plus récent, et les versions antérieures acceptent le drapeau sans le signaler ou afficher cette ligne. Chaque session sur un runner ayant adhéré utilise ensuite soit git géré par Anthropic, soit l'URL du proxy par session. Quand une session utilise l'URL du proxy par session, le runner enregistre une ligne `[runner:warn]` indiquant cela.

188 194 

195<h4 id="trust-a-private-certificate-authority-with-anthropic-managed-git">

196 Faire confiance à une autorité de certification privée avec git géré par Anthropic

197</h4>

198 

199Cette section s'applique si vous définissez `GIT_SSL_CAINFO` ou `GIT_SSL_NO_VERIFY` dans l'environnement d'un runner dont les sessions utilisent git géré par Anthropic. La gestion qu'elle décrit nécessite que le runner exécute Claude Code v2.1.283 ou plus récent.

200 

201Quand git sur le runner doit faire confiance à une autorité de certification (CA) privée, comme celle qu'un proxy d'inspection TLS signe, les approches habituelles fonctionnent comme suit :

202 

203* **Magasin de certificats système** : installez votre CA dans le magasin de certificats système de l'hôte runner, et git lui fait confiance sans l'une ou l'autre variable.

204* **`GIT_SSL_CAINFO`** : définissez-la sur un fichier PEM de vos CAs, par exemple `GIT_SSL_CAINFO=/etc/ssl/corp-ca.pem`.

205* **`GIT_SSL_NO_VERIFY`** : n'aide pas derrière un proxy de re-signature. Le clone propre du runner via git géré par Anthropic vérifie les certificats même quand la variable est définie, donc ce clone échoue jusqu'à ce que git fasse confiance à votre CA via l'une des deux autres approches.

206 

207Pour les connexions git qui portent le jeton d'une session à git géré par Anthropic, le runner applique les deux variables comme suit. Un [hook `command`](/docs/fr/self-hosted-environments-configuration#command) commence par l'environnement de la session, donc il obtient ce que git à l'intérieur de la session obtient :

208 

209* **`GIT_SSL_CAINFO`** : ce que git vérifie git géré par Anthropic dépend de l'endroit où git s'exécute :

210 * **Clone et récupérations propres du runner** : s'exécutent sans la variable et vérifient git géré par Anthropic par rapport à un fichier de certificat par session que le runner écrit. Ce fichier contient le bundle CA système de l'hôte runner plus les certificats de votre fichier.

211 * **Git à l'intérieur de la session** : obtient la configuration `http.sslCAInfo` nommant votre fichier à la place de la variable, plus les entrées `http.<url>.sslCAInfo` qui vérifient git géré par Anthropic par rapport au fichier par session.

212 * **Hooks `checkout` et `post-session`** : héritent la variable inchangée.

213* **`GIT_SSL_NO_VERIFY`** : quelles vérifications de certificat restent désactivées dépend de l'endroit où git s'exécute :

214 * **Clone et récupérations propres du runner** : s'exécutent sans la variable et vérifient le certificat qui leur est présenté.

215 * **Git à l'intérieur de la session** : obtient la configuration `http.sslVerify=false` à la place de la variable, donc les vérifications restent désactivées pour les autres hôtes. Il obtient également des entrées `http.<url>.sslVerify=true` qui gardent les vérifications activées pour git géré par Anthropic.

216 * **Hooks `checkout` et `post-session`** : quand la session a un référentiel sur git géré par Anthropic, obtiennent la configuration `http.sslVerify=false` à la place de la variable. Ils obtiennent également des entrées `http.<url>.sslVerify=true` qui gardent les vérifications activées pour git géré par Anthropic.

217 

218Le fichier de certificat par session a besoin d'un bundle CA système à `/etc/ssl/certs/ca-certificates.crt` ou `/etc/pki/tls/certs/ca-bundle.crt` sur l'hôte runner. Il a également besoin d'un fichier `GIT_SSL_CAINFO` que l'utilisateur du runner peut lire, qui contient des blocs PEM `CERTIFICATE`, et qui fait au maximum 1 MiB. Quand le runner ne peut pas construire le fichier par session, il enregistre une ligne `[runner:warn]` contenant `did not build the certificate file` et la raison. Git utilise alors votre fichier tel quel pour git géré par Anthropic. Corrigez ce que la ligne nomme.

219 

220Pour chaque session qui utilise git géré par Anthropic, le runner enregistre également une ligne `[runner:warn]` qui commence par `governed git: GIT_SSL_CAINFO is set` ou `governed git: GIT_SSL_NO_VERIFY is set`. La ligne dit ce que le runner a fait avec cette variable pour son propre git, pour git à l'intérieur de la session, et pour vos hooks de cycle de vie. Elle se termine par si vous devez changer quelque chose.

221 

189<h3 id="rewrite-git-urls-for-private-networks">222<h3 id="rewrite-git-urls-for-private-networks">

190 Réécrire les URL git pour les réseaux privés223 Réécrire les URL git pour les réseaux privés

191</h3>224</h3>


203 236 

204Anthropic ne publie pas d'image runner pré-construite. Construisez la vôtre autour du binaire `claude`, en superposant la chaîne d'outils que vos référentiels ont besoin : runtimes de langage, compilateurs, gestionnaires de paquets, et sidecars [MCP](/docs/fr/mcp).237Anthropic ne publie pas d'image runner pré-construite. Construisez la vôtre autour du binaire `claude`, en superposant la chaîne d'outils que vos référentiels ont besoin : runtimes de langage, compilateurs, gestionnaires de paquets, et sidecars [MCP](/docs/fr/mcp).

205 238 

206Les recettes ci-dessous utilisent `--capacity 4`, donc un conteneur sert jusqu'à quatre sessions concurrentes du même propriétaire verrouillé. Cela ne fournit pas l'isolation du conteneur par session dans la [section de durcissement](#harden-your-deployment) : avant de connecter un environnement aux systèmes de production, soit exécutez les recettes à `--capacity 1` avec un conteneur par session, soit utilisez les [runners à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners), qui gardent également le secret de l'environnement hors des hôtes exécutant les sessions.239Les recettes ci-dessous utilisent `--capacity 4`, donc un conteneur sert jusqu'à quatre sessions concurrentes du même propriétaire verrouillé. Cela ne fournit pas l'isolation du conteneur par session dans la [section de durcissement](#harden-your-deployment) : avant de connecter un environnement aux systèmes de production, soit exécutez les recettes à `--capacity 1` avec un conteneur par session, soit utilisez les [runners à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners), qui gardent également le secret de l'environnement hors des hôtes exécutant les sessions. Si vous ajoutez le [proxy git Anthropic](#use-the-anthropic-git-proxy) à l'une de ces recettes, changez également `--capacity` à `1`.

207 240 

208Ce Dockerfile est un point de départ minimal :241Ce Dockerfile est un point de départ minimal :

209 242 


338 371 

339Le service Compose ci-dessous redémarre le runner chaque fois qu'il se termine, ce qui couvre à la fois les crashes et la sortie normale après le drainage. Une politique de redémarrage Docker redémarre le même conteneur avec sa couche inscriptible intacte, donc le runner revient sur un système de fichiers réutilisé plutôt que le frais que la [posture de durcissement](#harden-your-deployment) recommande ; utilisez cette recette pour l'évaluation, et pour la production soit recréez le conteneur par exécution, soit utilisez un orchestrateur qui le fait.372Le service Compose ci-dessous redémarre le runner chaque fois qu'il se termine, ce qui couvre à la fois les crashes et la sortie normale après le drainage. Une politique de redémarrage Docker redémarre le même conteneur avec sa couche inscriptible intacte, donc le runner revient sur un système de fichiers réutilisé plutôt que le frais que la [posture de durcissement](#harden-your-deployment) recommande ; utilisez cette recette pour l'évaluation, et pour la production soit recréez le conteneur par exécution, soit utilisez un orchestrateur qui le fait.

340 373 

374Docker attend plus longtemps avant chaque redémarrage d'un conteneur qui continue de se terminer, jusqu'à un plafond, donc un runner qui ne peut pas démarrer ne continue pas à redémarrer dans une boucle serrée selon cette recette. [Quand le runner se termine](#when-the-runner-exits) décrit ce qu'il faut vérifier quand cela se produit.

375 

341```yaml theme={null}376```yaml theme={null}

342services:377services:

343 claude-runner:378 claude-runner:


451 486 

452Le processus enfant Claude Code de chaque session exécute le binaire du runner lui-même, et le runner désactive la mise à jour automatique à l'intérieur des sessions qu'il génère, donc chaque session exécute la version que vous avez installée sur l'hôte ou construite dans l'image. Une mise à jour au niveau de l'hôte prend effet la prochaine fois que le runner démarre.487Le processus enfant Claude Code de chaque session exécute le binaire du runner lui-même, et le runner désactive la mise à jour automatique à l'intérieur des sessions qu'il génère, donc chaque session exécute la version que vous avez installée sur l'hôte ou construite dans l'image. Une mise à jour au niveau de l'hôte prend effet la prochaine fois que le runner démarre.

453 488 

489Un modèle que vos sessions utilisent peut nécessiter une version plus récente de Claude Code que celle qu'elles exécutent. Le serveur rejette alors les demandes pour ce modèle avec [Claude Code ne supporte pas ce modèle](/docs/fr/errors#claude-code-does-not-support-this-model). Avant d'épingler une version, vérifiez [les versions de Claude Code que les modèles nécessitent](/docs/fr/model-config#available-models) pour chaque modèle que vos sessions utilisent.

490 

454* **Pour garder une flotte sur une version** : construisez l'image avec une version épinglée, ou sur un hôte nu installez une version spécifique et [désactivez les mises à jour automatiques](/docs/fr/setup#disable-auto-updates)491* **Pour garder une flotte sur une version** : construisez l'image avec une version épinglée, ou sur un hôte nu installez une version spécifique et [désactivez les mises à jour automatiques](/docs/fr/setup#disable-auto-updates)

455* **Pour mettre à niveau** : installez la version plus récente ou reconstruisez l'image, puis redémarrez les runners492* **Pour mettre à niveau** : installez la version plus récente ou reconstruisez l'image, puis redémarrez les runners

456* **Plugins** : les places de marché de plugins ne se mettent pas à jour automatiquement non plus ; définissez `FORCE_AUTOUPDATE_PLUGINS=1` dans l'environnement du runner pour laisser les plugins se mettre à jour automatiquement pendant que le binaire reste épinglé493* **Plugins** : les places de marché de plugins ne se mettent pas à jour automatiquement non plus ; définissez `FORCE_AUTOUPDATE_PLUGINS=1` dans l'environnement du runner pour laisser les plugins se mettre à jour automatiquement pendant que le binaire reste épinglé


554 591 

555Le processus enfant de chaque session écrit un journal de débogage séparé. En cas d'échec, le runner affiche la queue du journal aux côtés de la session dans claude.ai/code. À moins que vous n'ayez démarré le runner avec [`--remove-session-state`](/docs/fr/self-hosted-environments-reference#runner-cli-flags), il conserve également le journal d'une session échouée sur le disque et imprime son chemin dans le journal du runner.592Le processus enfant de chaque session écrit un journal de débogage séparé. En cas d'échec, le runner affiche la queue du journal aux côtés de la session dans claude.ai/code. À moins que vous n'ayez démarré le runner avec [`--remove-session-state`](/docs/fr/self-hosted-environments-reference#runner-cli-flags), il conserve également le journal d'une session échouée sur le disque et imprime son chemin dans le journal du runner.

556 593 

594<h3 id="when-the-runner-exits">

595 Quand le runner quitte

596</h3>

597 

598Ne redémarrez pas un [runner à la demande](/docs/fr/self-hosted-environments-configuration#on-demand-runners), car son ordre de travail est à usage unique. Un runner qui quitte juste après son démarrage nécessite un traitement différent de celui qui quitte pour toute autre raison.

599 

600* **Une sortie normale** : le runner a terminé ses sessions et s'est drainé, a atteint son heure de retraite, ou a reçu l'ordre de s'arrêter. Redémarrez-le pour que l'environnement ait à nouveau de la capacité. [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle) décrit ces sorties.

601* **Un démarrage échoué** : le runner ne peut pas démarrer avec la configuration ou l'hôte qui lui a été donné, donc il quitte quelques secondes après son démarrage, et il quitte de la même manière chaque fois que vous le redémarrez. Le redémarrer plus rapidement n'aide pas. Quelqu'un doit lire sa sortie et corriger la cause.

602 

603Configurez votre superviseur pour redémarrer le runner chaque fois qu'il quitte, pour attendre plus longtemps entre les redémarrages quand le runner continue de quitter juste après son démarrage, et pour avertir quelqu'un quand cela continue de se produire.

604 

605<h4 id="recognize-a-failed-start">

606 Reconnaître un démarrage échoué

607</h4>

608 

609Quand le runner ne peut pas démarrer, il imprime une ligne qui dit pourquoi, puis il quitte. Pour la plupart des causes, la ligne contient `[runner:fatal]`. Pour certaines causes, la ligne commence par `error:` à la place, y compris quand le runner ne peut pas analyser ses drapeaux, ne peut pas lire le secret de l'environnement, ou ne peut pas créer ou écrire au répertoire de base. La ligne suivante pointe alors vers `--help`.

610 

611La plupart des lignes de journal commencent par un horodatage et `[self-hosted-runner]`, que l'exemple ci-dessous omet. Par exemple, un runner démarré avec le proxy git Anthropic et une capacité supérieure à un imprime une ligne comme celle-ci :

612 

613```text theme={null}

614[runner:fatal] --use-anthropic-git-proxy requires --capacity 1 (the proxy URL is per-session and linked worktrees share origin). Omit --use-anthropic-git-proxy or set --capacity 1.

615```

616 

617Cherchez la ligne dans la sortie standard et l'erreur standard du runner, dans les journaux de conteneur de votre plateforme, ou dans le fichier que vous avez défini avec [`--log-file`](/docs/fr/self-hosted-environments-reference#runner-cli-flags). Le runner imprime une ligne `error:` avant d'ouvrir le fichier journal, donc cherchez-la dans le terminal ou vos journaux de conteneur, comme le note [Dépannage](#troubleshooting).

618 

619Ceux-ci aident également quand vous lisez un démarrage échoué :

620 

621* **Aucune ligne du tout** : un runner que l'hôte tue n'en imprime aucune. Si la sortie se termine sans ligne `[runner:fatal]` et sans ligne `error:`, vérifiez si l'hôte ou votre orchestrateur a arrêté le processus, par exemple pour avoir dépassé une limite de mémoire.

622* **Le code de sortie** : le runner ne met pas de côté un code de sortie pour les erreurs qui se répètent à chaque démarrage. Il quitte avec le même code pour une erreur de configuration, comme une combinaison de drapeaux non supportée, et pour une défaillance qui peut se résoudre d'elle-même, comme l'API restant inaccessible via les propres tentatives du runner. Basez la décision d'attendre plus longtemps sur la rapidité avec laquelle le runner a quitté, et lisez la sortie du runner pour apprendre pourquoi.

623* **Un environnement qui semble sain** : certaines étapes de démarrage s'exécutent après que le runner s'enregistre auprès de votre environnement, comme [`--configure-git`](#let-the-runner-configure-git) et la configuration des identifiants du proxy git Anthropic. Si l'une de ces étapes échoue, l'environnement peut continuer à lister ce runner pendant quelques minutes après que le processus ait quitté, et la page **Environnements cloud** peut afficher **Sain** alors qu'aucun runner ne récupère le travail. Si les sessions restent en attente dans un environnement qui semble sain, vérifiez si votre superviseur redémarre le runner.

624 

625<h4 id="restart-with-a-wait-that-grows">

626 Redémarrer avec une attente qui grandit

627</h4>

628 

629La façon dont vous obtenez une attente croissante dépend de votre superviseur.

630 

631* **Kubernetes** : le [Deployment](#kubernetes) sur cette page n'a besoin d'aucune modification. Après qu'un conteneur quitte, le kubelet par défaut attend avant de redémarrer le conteneur, et l'attente grandit à chaque redémarrage jusqu'à un plafond. L'attente recommence une fois que le conteneur a fonctionné pendant un certain temps sans quitter.

632 

633 Le kubelet applique la même attente après une sortie normale quand le conteneur n'a fonctionné que brièvement. Un runner qui se draine souvent peut donc afficher le statut `CrashLoopBackOff` aussi, donc lisez la sortie avant de conclure que le runner ne peut pas démarrer. La commande ci-dessous lit la sortie de la dernière exécution d'un pod du Deployment :

634 

635 ```bash theme={null}

636 kubectl logs --previous -n claude-runners deploy/claude-runner

637 ```

638 

639 Quand la dernière exécution était un démarrage échoué, la ligne `[runner:fatal]` ou `error:` est parmi les dernières lignes de la sortie. Pour lire la dernière exécution d'un autre pod, nommez ce pod à la place de `deploy/claude-runner`.

640* **Docker et Docker Compose** : la [recette Compose](#docker-compose) sur cette page n'a besoin d'aucune modification. Avec `restart: always`, Docker attend plus longtemps avant chaque redémarrage d'un conteneur qui continue de quitter, jusqu'à un plafond. Remplacez `<container>` par le nom du conteneur dans la commande ci-dessous, qui lit combien de fois Docker a redémarré le conteneur :

641 

642 ```bash theme={null}

643 docker inspect --format '{{.RestartCount}}' <container>

644 ```

645 

646 La commande imprime un nombre. Un nombre qui continue de grimper signifie que Docker continue de redémarrer le runner.

647* **Une unité systemd** : par défaut, systemd attend le même `RestartSec` avant chaque redémarrage et ne l'allonge pas, donc une unité avec `Restart=always` redémarre un runner qui ne peut pas démarrer à cet intervalle chaque fois. Quand les démarrages viennent assez vite pour atteindre la limite de taux de démarrage de l'unité, cinq démarrages en 10 secondes par défaut, systemd arrête de redémarrer l'unité. L'unité reste arrêtée jusqu'à ce que quelqu'un la redémarre, ce que systemd permet une fois que l'intervalle de la limite de taux a passé ou après `systemctl reset-failed`. Parce que `RestartSec` s'applique à chaque redémarrage, une valeur plus longue retarde également le redémarrage après une sortie normale. Choisissez une valeur qui équilibre les deux, et alertez sur le nombre de redémarrages de l'unité.

648* **Une boucle shell ou votre propre superviseur** : appliquez la même règle vous-même. Commencez par une attente de cinq secondes. Après chaque exécution qui s'est terminée dans une minute, doublez l'attente pour le prochain redémarrage, jusqu'à cinq minutes. Après une exécution qui a duré une minute ou plus, revenez à cinq secondes.

649 

650<h4 id="check-why-the-runner-keeps-exiting">

651 Vérifier pourquoi le runner continue de quitter

652</h4>

653 

654Quand le runner a quitté juste après le démarrage plusieurs fois de suite, arrêtez et vérifiez ceux-ci avant de le redémarrer à nouveau.

655 

656* **La dernière ligne `[runner:fatal]` ou `error:`** : elle dit pourquoi le runner s'est arrêté. [Dépannage](#troubleshooting) énumère les causes courantes.

657* **La combinaison de drapeaux** : le [proxy git Anthropic](#use-the-anthropic-git-proxy) nécessite `--capacity 1`. Les recettes sur cette page utilisent une capacité plus élevée, donc abaissez-la quand vous ajoutez le proxy à l'une d'elles.

658* **Ce que le service de l'environnement peut atteindre** : si le runner démarre à la main et échoue sous votre superviseur, comparez l'utilisateur, le répertoire personnel, le `PATH`, et la limite de mémoire. `--configure-git` et le proxy git Anthropic ont besoin de git sur le `PATH` et d'un `~/.gitconfig` inscriptible.

659* **Le secret de l'environnement** : si vous avez révoqué le secret ou l'avez mal saisi, le runner imprime une ligne qui contient `RegisterRunner auth failed`.

660* **L'onglet Activité de l'environnement** : ouvrez l'environnement et sélectionnez **Activité**. Si de nouveaux runners continuent d'apparaître là et qu'aucun ne récupère le travail, votre superviseur redémarre le runner.

661 

662Pour un diagnostic guidé sur l'hôte runner, exécutez la [sous-commande doctor](#troubleshooting).

663 

557<h2 id="what’s-next">664<h2 id="what’s-next">

558 Prochaines étapes665 Prochaines étapes

559</h2>666</h2>

Details

105 </Step>105 </Step>

106</Steps>106</Steps>

107 107 

108Le runner se termine par conception une fois que ses sessions actives se terminent ; consultez [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle). Pour la production, déployez-le sous un orchestrateur qui le redémarre à la sortie. Consultez [Déployer en production](/docs/fr/self-hosted-environments-deploy).108Le runner se termine par conception une fois que ses sessions actives se terminent ; consultez [Cycle de vie du runner](/docs/fr/self-hosted-environments#runner-lifecycle). Pour la production, déployez-le sous un orchestrateur qui le redémarre à la sortie et attend plus longtemps entre les redémarrages lorsque le runner continue à se terminer juste après son démarrage. Consultez [Déployer en production](/docs/fr/self-hosted-environments-deploy) et [Quand le runner se termine](/docs/fr/self-hosted-environments-deploy#when-the-runner-exits).

109 109 

110<h2 id="send-a-follow-up-message-to-a-running-session">110<h2 id="send-a-follow-up-message-to-a-running-session">

111 Envoyer un message de suivi à une session en cours d'exécution111 Envoyer un message de suivi à une session en cours d'exécution

Details

80 Drapeaux du connecteur SCM80 Drapeaux du connecteur SCM

81</h3>81</h3>

82 82 

83L'orchestrateur peut maintenir une connexion WebSocket permanente au plan de contrôle d'Anthropic afin que les flux pré-session hébergés, comme le sélecteur de dépôt et le résolveur de branche ou de ref, puissent atteindre un hôte GitHub Enterprise Server qui n'est routable que de l'intérieur de votre réseau. Le connecteur reste désactivé sauf si vous définissez `--scm-connector-host`.83Le connecteur SCM n'est pas disponible, donc laissez les drapeaux de cette section non définis. Si vous définissez `--scm-connector-host`, la connexion ne s'ouvre pas, et l'orchestrateur continue à la réessayer. Les runners commencent toujours en tant que sessions en file d'attente.

84 

85Le connecteur est une connexion WebSocket permanente de l'orchestrateur au plan de contrôle d'Anthropic. Il est conçu pour permettre aux flux pré-session hébergés, tels que le sélecteur de dépôt et le résolveur de branche ou de ref, d'atteindre un hôte GitHub Enterprise Server qui n'est routable que de l'intérieur de votre réseau. Consultez [Exigences réseau](/docs/fr/github-enterprise-server#network-requirements) sur la page GitHub Enterprise Server pour voir ce dont ces flux ont besoin.

84 86 

85| Drapeau | Par défaut | Description |87| Drapeau | Par défaut | Description |

86| :- | :- | :- |88| :- | :- | :- |

87| `--scm-connector-host <host[:port]>` | non défini | Nom d'hôte GitHub Enterprise Server vers lequel transférer les demandes. Le port par défaut est `443`. Définir ce drapeau active le connecteur. |89| `--scm-connector-host <host[:port]>` | non défini | Nom d'hôte GitHub Enterprise Server vers lequel transférer les demandes. Le port par défaut est `443`. |

88| `--scm-connector-id <n>` | requis avec `--scm-connector-host` | L'ID numérique de la connexion GitHub Enterprise Server de votre organisation. Contactez votre équipe de compte Anthropic pour la valeur quand vous activez le connecteur. |90| `--scm-connector-id <n>` | requis avec `--scm-connector-host` | L'ID numérique de la connexion GitHub Enterprise Server de votre organisation. |

89| `--scm-connector-provider <slug>` | `ghe` | Segment de chemin identifiant le fournisseur, correspondant à `^[a-z0-9-]{1,32}$`. |91| `--scm-connector-provider <slug>` | `ghe` | Segment de chemin identifiant le fournisseur, correspondant à `^[a-z0-9-]{1,32}$`. |

90| `--scm-connector-ca-file <path>` | non défini | Bundle CA supplémentaire, au format PEM, pour les connexions TLS à l'hôte GitHub Enterprise Server. |92| `--scm-connector-ca-file <path>` | non défini | Bundle CA supplémentaire, au format PEM, pour les connexions TLS à l'hôte GitHub Enterprise Server. |

91| `--scm-connector-host-rewrite <from>=<to_host:to_port>` | non défini | Pour les tests de bout en bout uniquement : redirige la connexion TCP tout en gardant l'en-tête Host et TLS SNI comme `--scm-connector-host`. |93| `--scm-connector-host-rewrite <from>=<to_host:to_port>` | non défini | Pour les tests de bout en bout uniquement : redirige la connexion TCP tout en gardant l'en-tête Host et TLS SNI comme `--scm-connector-host`. |

92 94 

93Le connecteur s'authentifie avec le secret d'environnement existant de l'orchestrateur et se reconnecte automatiquement : avec backoff exponentiel sur une connexion abandonnée, ou un délai fixe de 30 secondes quand le plan de contrôle ferme la connexion parce qu'un autre réplica d'orchestrateur la détient déjà.95À chaque tentative de connexion, l'orchestrateur envoie son secret d'environnement existant, et il réessaye automatiquement avec un backoff exponentiel, plafonné à 30 secondes plus une gigue.

94 96 

95<h2 id="environment-variable-only-settings">97<h2 id="environment-variable-only-settings">

96 Paramètres réservés aux variables d'environnement98 Paramètres réservés aux variables d'environnement

Details

310* **Une session interactive qui ne peut pas afficher la boîte de dialogue** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. La boîte de dialogue apparaît dans la prochaine session qui peut l'afficher. Nécessite Claude Code v2.1.211 ou version ultérieure.310* **Une session interactive qui ne peut pas afficher la boîte de dialogue** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. La boîte de dialogue apparaît dans la prochaine session qui peut l'afficher. Nécessite Claude Code v2.1.211 ou version ultérieure.

311* **`claude install` ou `claude update`** : Claude Code n'affiche pas la boîte de dialogue pendant l'une ou l'autre commande. La commande s'exécute avec les derniers paramètres approuvés, et la boîte de dialogue apparaît dans votre prochaine session interactive. Si Claude Code attend la récupération des paramètres au démarrage, par exemple avec [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) défini ou sur un déploiement [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), il affiche la boîte de dialogue pendant la commande à la place, et une exécution d'installation à partir d'un tuyau échoue ; voir [`Raw mode is not supported` during install](/docs/fr/troubleshoot-install#raw-mode-is-not-supported-during-install). Avant v2.1.246, Claude Code essayait d'afficher la boîte de dialogue pendant ces commandes aussi.311* **`claude install` ou `claude update`** : Claude Code n'affiche pas la boîte de dialogue pendant l'une ou l'autre commande. La commande s'exécute avec les derniers paramètres approuvés, et la boîte de dialogue apparaît dans votre prochaine session interactive. Si Claude Code attend la récupération des paramètres au démarrage, par exemple avec [`forceRemoteSettingsRefresh`](#enforce-fail-closed-startup) défini ou sur un déploiement [passerelle d'applications Claude](/docs/fr/claude-apps-gateway), il affiche la boîte de dialogue pendant la commande à la place, et une exécution d'installation à partir d'un tuyau échoue ; voir [`Raw mode is not supported` during install](/docs/fr/troubleshoot-install#raw-mode-is-not-supported-during-install). Avant v2.1.246, Claude Code essayait d'afficher la boîte de dialogue pendant ces commandes aussi.

312* **Une erreur ferme la boîte de dialogue avant que vous répondiez** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. Il affiche la boîte de dialogue à nouveau dans la prochaine session qui peut l'afficher.312* **Une erreur ferme la boîte de dialogue avant que vous répondiez** : Claude Code n'applique pas les paramètres livrés et conserve les derniers paramètres approuvés. Il affiche la boîte de dialogue à nouveau dans la prochaine session qui peut l'afficher.

313* **Une exécution non interactive**, telle que `claude -p` ou une session Agent SDK : Claude Code ne peut pas afficher la boîte de dialogue, de sorte que lorsque les paramètres livrés nécessiteraient une approbation, il les applique pour cette exécution uniquement. Il ne les enregistre pas comme approuvés ou ne les écrit pas dans le [cache local](#fetch-and-caching-behavior), et la prochaine session interactive affiche la boîte de dialogue. Jusqu'à ce qu'un utilisateur approuve dans une session interactive, chaque exécution non interactive récupère les paramètres à nouveau au démarrage. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés, de sorte que les sessions interactives ultérieures n'affichaient jamais la boîte de dialogue pour eux.313* **Une exécution non interactive**, telle que `claude -p`, une session Agent SDK, ou une session dans le panneau de chat de l'extension VS Code ou l'onglet Code de l'application de bureau : Claude Code ne peut pas afficher la boîte de dialogue, de sorte que lorsque les paramètres livrés nécessiteraient une approbation, il les applique pour cette exécution uniquement. Il ne les enregistre pas comme approuvés ou ne les écrit pas dans le [cache local](#fetch-and-caching-behavior), et la prochaine session interactive affiche la boîte de dialogue. Jusqu'à ce qu'un utilisateur approuve dans une session interactive, chaque exécution non interactive récupère les paramètres à nouveau au démarrage. Avant v2.1.207, une exécution non interactive enregistrait les paramètres comme approuvés, de sorte que les sessions interactives ultérieures n'affichaient jamais la boîte de dialogue pour eux.

314 314 

315<h4 id="environment-variables-and-the-approval-dialog">315<h4 id="environment-variables-and-the-approval-dialog">

316 Variables d'environnement et la boîte de dialogue d'approbation316 Variables d'environnement et la boîte de dialogue d'approbation

Details

595| [`agent`](#agent) | Commencez chaque session en tant que [sous-agent](/docs/fr/sub-agents) nommé avec son invite, ses outils et son modèle | Agents, sessions, and worktrees | Any file |595| [`agent`](#agent) | Commencez chaque session en tant que [sous-agent](/docs/fr/sub-agents) nommé avec son invite, ses outils et son modèle | Agents, sessions, and worktrees | Any file |

596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Laissez Claude envoyer une [notification push à votre téléphone](/docs/fr/remote-control#mobile-push-notifications) quand il le décide | Remote, desktop, and notifications | Any file |596| [`agentPushNotifEnabled`](#agentpushnotifenabled) | Laissez Claude envoyer une [notification push à votre téléphone](/docs/fr/remote-control#mobile-push-notifications) quand il le décide | Remote, desktop, and notifications | Any file |

597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Chargez les [connecteurs claude.ai](/docs/fr/mcp) que Claude Code récupère lui-même aux côtés d'un [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) déployé | MCP | Managed |597| [`allowAllClaudeAiMcps`](#allowallclaudeaimcps) | Chargez les [connecteurs claude.ai](/docs/fr/mcp) que Claude Code récupère lui-même aux côtés d'un [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) déployé | MCP | Managed |

598| [`allowClaudeInChromeWithManagedMcp`](#allowclaudeinchromewithmanagedmcp) | Laissez le serveur [Claude in Chrome](/docs/fr/chrome) intégré s'exécuter aux côtés d'un [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) déployé | MCP | Managed |

598| [`allowedChannelPlugins`](#allowedchannelplugins) | Remplacez la liste d'autorisation par défaut des [plugins de canal](/docs/fr/channels#restrict-which-channel-plugins-can-run) qui peuvent envoyer des messages | Plugins and skills | Managed |599| [`allowedChannelPlugins`](#allowedchannelplugins) | Remplacez la liste d'autorisation par défaut des [plugins de canal](/docs/fr/channels#restrict-which-channel-plugins-can-run) qui peuvent envoyer des messages | Plugins and skills | Managed |

599| [`allowedHttpHookUrls`](#allowedhttphookurls) | Limitez les URL que les [hooks HTTP](/docs/fr/hooks) peuvent cibler | Hooks and automation | Any file |600| [`allowedHttpHookUrls`](#allowedhttphookurls) | Limitez les URL que les [hooks HTTP](/docs/fr/hooks) peuvent cibler | Hooks and automation | Any file |

600| [`allowedMcpServers`](#allowedmcpservers) | Liste d'autorisation des [serveurs MCP](/docs/fr/mcp) que les utilisateurs peuvent ajouter | MCP | Any file |601| [`allowedMcpServers`](#allowedmcpservers) | Liste d'autorisation des [serveurs MCP](/docs/fr/mcp) que les utilisateurs peuvent ajouter | MCP | Any file |


1744 * `"default"` : Claude Code exécute uniquement les lectures sans demander1745 * `"default"` : Claude Code exécute uniquement les lectures sans demander

1745 * `"acceptEdits"` : Claude Code exécute aussi les éditions de fichiers et les commandes courantes du système de fichiers comme `mkdir` et `mv` sans demander1746 * `"acceptEdits"` : Claude Code exécute aussi les éditions de fichiers et les commandes courantes du système de fichiers comme `mkdir` et `mv` sans demander

1746 * `"plan"` : Claude Code lit et planifie mais bloque les éditions jusqu'à ce que vous approuviez un plan1747 * `"plan"` : Claude Code lit et planifie mais bloque les éditions jusqu'à ce que vous approuviez un plan

1747 * `"auto"` : Claude Code exécute tout, avec des vérifications de sécurité en arrière-plan1748 * `"auto"` : Claude Code exécute sans invites de routine ; avant que les actions telles que les commandes shell et les demandes réseau s'exécutent, un classificateur en arrière-plan vérifie qu'elles s'alignent avec votre demande

1748 * `"dontAsk"` : Claude Code refuse automatiquement chaque appel qui inviterait autrement ; les lectures, les autres actions qui ne nécessitent pas d'approbation, et les outils pré-approuvés s'exécutent toujours1749 * `"dontAsk"` : Claude Code refuse automatiquement chaque appel qui inviterait autrement ; les lectures, les autres actions qui ne nécessitent pas d'approbation, et les outils pré-approuvés s'exécutent toujours

1749 * `"bypassPermissions"` : Claude Code exécute tout sans demander1750 * `"bypassPermissions"` : Claude Code exécute tout sans demander

1750 * `"manual"` : un alias pour `"default"`, dans Claude Code v2.1.200 ou ultérieur1751 * `"manual"` : un alias pour `"default"`, dans Claude Code v2.1.200 ou ultérieur


3064</h4>3065</h4>

3065 3066 

3066* Une valeur ici écrase la même variable exportée dans votre shell, et lorsque plus d'un fichier de paramètres définit une variable, celle avec la [plus haute priorité](/docs/fr/settings#settings-precedence) s'applique. [Variables que Claude Code ignore dans `env`](#variables-claude-code-ignores-in-env) répertorie les exceptions pour les paramètres de projet et locaux.3067* Une valeur ici écrase la même variable exportée dans votre shell, et lorsque plus d'un fichier de paramètres définit une variable, celle avec la [plus haute priorité](/docs/fr/settings#settings-precedence) s'applique. [Variables que Claude Code ignore dans `env`](#variables-claude-code-ignores-in-env) répertorie les exceptions pour les paramètres de projet et locaux.

3068* Lorsque l'application Claude Desktop ou un [environnement auto-hébergé](/docs/fr/self-hosted-environments) démarre la session, l'environnement de lancement qu'il construit a la priorité à la place : Claude Code ignore une valeur `env` de n'importe quel fichier de paramètres pour une variable que l'environnement de lancement a déjà définie. Le [journal de débogage](/docs/fr/debug-your-config) nomme chaque variable ignorée.

3067* Pour annuler une exportation de shell, définissez la variable sur `""`. Claude Code traite une valeur vide comme non définie pour la sélection du fournisseur, et les sous-processus héritent de la valeur vide.3069* Pour annuler une exportation de shell, définissez la variable sur `""`. Claude Code traite une valeur vide comme non définie pour la sélection du fournisseur, et les sous-processus héritent de la valeur vide.

3068* `NO_COLOR` et `FORCE_COLOR` définis ici ne parviennent qu'aux sous-processus. Pour modifier les couleurs de l'interface de Claude Code lui-même, définissez-les dans votre shell avant de lancer `claude`.3070* `NO_COLOR` et `FORCE_COLOR` définis ici ne parviennent qu'aux sous-processus. Pour modifier les couleurs de l'interface de Claude Code lui-même, définissez-les dans votre shell avant de lancer `claude`.

3069* Les valeurs ici sont du texte brut dans le fichier de paramètres et parviennent à chaque sous-processus que Claude Code démarre. Pour un jeton porteur OTLP qui tourne, utilisez [`otelHeadersHelper`](#otelheadershelper) ; pour les identifiants d'API, utilisez [`apiKeyHelper`](#apikeyhelper).3071* Les valeurs ici sont du texte brut dans le fichier de paramètres et parviennent à chaque sous-processus que Claude Code démarre. Pour un jeton porteur OTLP qui tourne, utilisez [`otelHeadersHelper`](#otelheadershelper) ; pour les identifiants d'API, utilisez [`apiKeyHelper`](#apikeyhelper).


5156 5158 

5157[`allowedMcpServers`](#allowedmcpservers) et [`deniedMcpServers`](#deniedmcpservers) s'appliquent toujours aux connecteurs que cette clé charge. Les connecteurs livrés à une [session cloud](/docs/fr/claude-code-on-the-web) dont l'hôte porte un `managed-mcp.json`, comme un exécuteur auto-hébergé, restent supprimés. Consultez [Autoriser les connecteurs claude.ai aux côtés de l'ensemble géré](/docs/fr/managed-mcp#allow-claude-ai-connectors-alongside-the-managed-set).5159[`allowedMcpServers`](#allowedmcpservers) et [`deniedMcpServers`](#deniedmcpservers) s'appliquent toujours aux connecteurs que cette clé charge. Les connecteurs livrés à une [session cloud](/docs/fr/claude-code-on-the-web) dont l'hôte porte un `managed-mcp.json`, comme un exécuteur auto-hébergé, restent supprimés. Consultez [Autoriser les connecteurs claude.ai aux côtés de l'ensemble géré](/docs/fr/managed-mcp#allow-claude-ai-connectors-alongside-the-managed-set).

5158 5160 

5161<h3 id="allowclaudeinchromewithmanagedmcp">

5162 `allowClaudeInChromeWithManagedMcp`

5163</h3>

5164 

5165Permettez au serveur [Claude dans Chrome](/docs/fr/chrome) intégré de s'exécuter aux côtés d'un `managed-mcp.json` déployé. Sans cette clé, un `managed-mcp.json` déployé bloque Claude dans Chrome dans les sessions de terminal. Nécessite Claude Code v2.1.282 ou ultérieur.

5166 

5167* **Portée** : [`Managed`](#scopes), uniquement à partir des paramètres gérés du périphérique lui-même : une plist déployée par MDM ou une clé de registre HKLM, ou un fichier `managed-settings.json` système. Claude Code l'ignore dans les paramètres gérés par le serveur, dans le registre HKCU accessible en écriture par l'utilisateur, et dans les paramètres utilisateur ou projet.

5168* **Type** : Booléen

5169 * `true` : le serveur Claude dans Chrome intégré peut s'exécuter aux côtés d'un `managed-mcp.json` déployé

5170 * `false` : un `managed-mcp.json` déployé bloque Claude dans Chrome dans les sessions de terminal

5171* **Défaut** : `false`, donc un `managed-mcp.json` déployé bloque Claude dans Chrome dans les sessions de terminal

5172 

5173```json managed-settings.json theme={null}

5174{

5175 "allowClaudeInChromeWithManagedMcp": true

5176}

5177```

5178 

5179Une entrée [`deniedMcpServers`](#deniedmcpservers) pour `claude-in-chrome` bloque toujours le serveur avec cette clé activée. Consultez [Autoriser Claude dans Chrome aux côtés de l'ensemble géré](/docs/fr/managed-mcp#allow-claude-in-chrome-alongside-the-managed-set).

5180 

5159<h3 id="allowedmcpservers">5181<h3 id="allowedmcpservers">

5160 `allowedMcpServers`5182 `allowedMcpServers`

5161</h3>5183</h3>

5162 5184 

5163Créez une liste blanche des serveurs MCP que les utilisateurs peuvent ajouter. Claude Code bloque tout serveur qui ne correspond pas à une entrée, où qu'elle soit définie, y compris les serveurs de plugins, les serveurs passés avec `--mcp-config`, et les serveurs de claude.ai.5185Créez une liste blanche des serveurs MCP que les utilisateurs peuvent ajouter. Claude Code bloque tout serveur qui ne correspond pas à une entrée, où qu'elle soit définie, y compris les serveurs de plugins, les serveurs passés avec `--mcp-config`, et les serveurs de claude.ai.

5164 5186 

5165Les serveurs intégrés tels que Claude dans Chrome, le serveur `ide` auquel Claude Code se connecte dans un IDE [VS Code](/docs/fr/vs-code#the-built-in-ide-mcp-server) ou [JetBrains](/docs/fr/jetbrains#the-built-in-ide-mcp-server) en cours d'exécution, et les serveurs que l'interface de ligne de commande elle-même configure sont exemptés de la liste blanche, et la liste noire s'applique toujours à eux. Les serveurs `type: "sdk"` en processus sont exemptés des deux listes ; [l'application qui a démarré la session](/docs/fr/mcp#how-connectors-reach-claude-code) les enregistre.5187Les serveurs intégrés tels que Claude dans Chrome, le serveur `ide` auquel Claude Code se connecte dans un IDE [VS Code](/docs/fr/vs-code#the-built-in-ide-mcp-server) ou [JetBrains](/docs/fr/jetbrains#the-built-in-ide-mcp-server) en cours d'exécution, et les serveurs que l'interface de ligne de commande elle-même configure sont exemptés de la liste blanche, et la liste noire s'applique toujours à eux. Sur Claude Code v2.1.268 ou ultérieur, les outils Slack d'une session [Claude Tag](/docs/fr/claude-tag) sont également exemptés de la liste blanche, et la liste noire s'applique toujours à eux. Les serveurs `type: "sdk"` en processus sont exemptés des deux listes ; [l'application qui a démarré la session](/docs/fr/mcp#how-connectors-reach-claude-code) les enregistre.

5166 5188 

5167Les serveurs que votre organisation livre sont également exemptés de la liste blanche, et la liste noire s'applique toujours à eux. L'exemption couvre chaque entrée [`managedMcpServers`](#managedmcpservers), et toute entrée [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) dont les valeurs n'utilisent pas d'expansion `${VAR}`. Consultez [Comment un serveur est évalué](/docs/fr/managed-mcp#how-a-server-is-evaluated) pour l'ordre de vérification complet. Avant la v2.1.259, les serveurs de `managed-mcp.json` devaient également correspondre.5189Les serveurs que votre organisation livre sont également exemptés de la liste blanche, et la liste noire s'applique toujours à eux. L'exemption couvre chaque entrée [`managedMcpServers`](#managedmcpservers), et toute entrée [`managed-mcp.json`](/docs/fr/managed-mcp#exclusive-control-with-managed-mcp-json) dont les valeurs n'utilisent pas d'expansion `${VAR}`. Consultez [Comment un serveur est évalué](/docs/fr/managed-mcp#how-a-server-is-evaluated) pour l'ordre de vérification complet. Avant la v2.1.259, les serveurs de `managed-mcp.json` devaient également correspondre.

5168 5190 


6303 `disableSideloadFlags`6325 `disableSideloadFlags`

6304</h3>6326</h3>

6305 6327 

6306Rejeter les drapeaux CLI `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage, que les utilisateurs pourraient autrement transmettre pour contourner [`strictKnownMarketplaces`](#strictknownmarketplaces) pour une seule exécution. Claude Code se ferme avec une erreur nommant les drapeaux rejetés et applique la même vérification aux surfaces qui démarrent le CLI avec ces drapeaux en interne, actuellement les sessions locales [Cowork](/docs/fr/desktop) dans l'application de bureau. Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), Claude Code supprime les serveurs MCP que le serveur a livrés via `--mcp-config`, sauf les entrées `type: "sdk"` en processus, et démarre la session. Nécessite Claude Code v2.1.193 ou ultérieur.6328Rejeter les drapeaux CLI `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage, que les utilisateurs pourraient autrement transmettre pour contourner [`strictKnownMarketplaces`](#strictknownmarketplaces) pour une seule exécution. Claude Code se ferme avec une erreur nommant les drapeaux rejetés et applique la même vérification aux surfaces qui démarrent le CLI avec ces drapeaux en interne, actuellement les sessions locales [Cowork](/docs/fr/desktop) dans l'application de bureau. Dans les [sessions cloud](/docs/fr/claude-code-on-the-web), Claude Code démarre plutôt la session et supprime chaque entrée `--mcp-config` livrée par le serveur sauf les entrées `type: "sdk"` en processus et les outils Slack d'une session [Claude Tag](/docs/fr/claude-tag). Nécessite Claude Code v2.1.193 ou ultérieur.

6307 6329 

6308* **Portée** : [`Managed`](#scopes)6330* **Portée** : [`Managed`](#scopes)

6309* **Type** : Booléen6331* **Type** : Booléen

6310 * `true` : Claude Code rejette `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage et se ferme avec une erreur les nommant, sauf que dans les sessions cloud il supprime les serveurs MCP que le serveur a livrés via `--mcp-config`, sauf les entrées `type: "sdk"` en processus, et démarre la session6332 * `true` : Claude Code rejette `--plugin-dir`, `--plugin-url`, `--agents` et `--mcp-config` au démarrage et se ferme avec une erreur les nommant. Dans les sessions cloud, il démarre plutôt la session et supprime chaque entrée `--mcp-config` livrée par le serveur sauf les entrées `type: "sdk"` en processus et les outils Slack d'une session Claude Tag

6311 * `false` : Claude Code accepte ces drapeaux6333 * `false` : Claude Code accepte ces drapeaux

6312* **Défaut** : `false`6334* **Défaut** : `false`

6313 6335 


6321 6343 

6322La même vérification couvre les dossiers de plugins nommés dans la variable d'environnement [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/fr/env-vars#variables), ce qui nécessite Claude Code v2.1.280 ou ultérieur. Lorsque la variable nomme un dossier, Claude Code se ferme avec la même erreur, et l'erreur dit de désactiver la variable.6344La même vérification couvre les dossiers de plugins nommés dans la variable d'environnement [`CLAUDE_CODE_PLUGIN_DIRS`](/docs/fr/env-vars#variables), ce qui nécessite Claude Code v2.1.280 ou ultérieur. Lorsque la variable nomme un dossier, Claude Code se ferme avec la même erreur, et l'erreur dit de désactiver la variable.

6323 6345 

6324Dans les sessions cloud, Claude Code ignore également les mises à jour MCP livrées en milieu de session, le chemin derrière la configuration de session cloud et les appels SDK `setMcpServers()` qui atteignent ces sessions. Les entrées `type: "sdk"` en processus restent exemptes là aussi. Avant v2.1.239, un `--mcp-config` livré par le serveur bloquait le démarrage d'une session cloud.6346Dans les sessions cloud, Claude Code ignore également les mises à jour MCP livrées en milieu de session, le chemin derrière la configuration de session cloud et les appels SDK `setMcpServers()` qui atteignent ces sessions. Les entrées `type: "sdk"` en processus et les outils Slack d'une session Claude Tag restent exemptes là aussi. Avant v2.1.268, cette suppression au démarrage et la suppression au démarrage supprimaient également les outils Slack d'une session Claude Tag. Avant v2.1.239, un `--mcp-config` livré par le serveur bloquait le démarrage d'une session cloud.

6325 6347 

6326<h3 id="forceremotesettingsrefresh">6348<h3 id="forceremotesettingsrefresh">

6327 `forceRemoteSettingsRefresh`6349 `forceRemoteSettingsRefresh`

skills.md +26 −2

Details

56 56 

57Claude modifie le fichier enregistré uniquement lorsqu'il a mal dirigé une exécution, comme une commande qui a échoué ou une étape manquante, afin que vous puissiez valider le fichier sans diffs par session. Avant v2.1.205, la compétence groupée a dit à Claude de plier tout ce qu'une exécution a appris, ce qui a causé des conflits de fusion fréquents.57Claude modifie le fichier enregistré uniquement lorsqu'il a mal dirigé une exécution, comme une commande qui a échoué ou une étape manquante, afin que vous puissiez valider le fichier sans diffs par session. Avant v2.1.205, la compétence groupée a dit à Claude de plier tout ce qu'une exécution a appris, ce qui a causé des conflits de fusion fréquents.

58 58 

59<h3 id="work-on-claude-api-projects">

60 Travailler sur les projets Claude API

61</h3>

62 

63La compétence groupée `/claude-api` charge la documentation de référence de [Claude API](https://platform.claude.com/docs/en/api/overview) et des [Agents gérés](https://platform.claude.com/docs/en/managed-agents/overview) pour la langue de votre projet. Claude l'active également automatiquement lorsque votre code importe `anthropic` ou `@anthropic-ai/sdk`.

64 

65Pour démarrer l'un des flux de travail de la compétence, tapez une sous-commande après le nom de la compétence à l'invite Claude Code, par exemple `/claude-api migrate`. Le tableau liste ce que chaque sous-commande fait et la version la plus ancienne de Claude Code qui l'inclut. `migrate` et `managed-agents-onboard` sont antérieurs à v2.1.221, la version la plus ancienne que le tableau suit.

66 

67| Sous-commande | Ce qu'elle fait | Version minimale |

68| :- | :- | :- |

69| `migrate` | Mettez à jour votre code Claude API existant vers un modèle plus récent | Antérieur à v2.1.221 |

70| `upgrade` | Déplacez la dépendance du SDK Anthropic de votre projet sur une version majeure, actuellement le package Python `anthropic` de 0.x à 1.x | v2.1.236 ou version ultérieure |

71| `managed-agents-onboard` | Parcourez la création d'un nouvel Agent géré | Antérieur à v2.1.221 |

72| `prompt-audit` | Signalez les instructions écrites pour les modèles plus anciens dans vos invites, compétences et descriptions d'outils et proposez des corrections sous forme de diff | v2.1.221 ou version ultérieure |

73| `cost-optimize` | Profilez où va la dépense Claude API de votre projet et proposez des économies à partir d'options telles que la mise en cache des invites, la réduction des tokens d'entrée et de sortie inutiles, le traitement par lots, l'effort et le choix du modèle, une modification à la fois | v2.1.247 ou version ultérieure |

74| `build-eval` | Construisez un ensemble d'évaluation pour votre application alimentée par Claude | v2.1.259 ou version ultérieure |

75| `hillclimb` | Améliorez itérativement votre application par rapport à une évaluation existante | v2.1.259 ou version ultérieure |

76| `preserved-thinking-migration` | Trouvez les modifications que votre intégration apporte aux tours antérieurs, à son invite système ou à sa liste d'outils qui invalident les blocs de [preserved thinking](https://platform.claude.com/docs/en/build-with-claude/preserved-thinking), mesurez combien de raisonnement chacun supprime et proposez des corrections une à la fois, en remessurant après chaque modification | v2.1.282 ou version ultérieure |

77 

59<h2 id="getting-started">78<h2 id="getting-started">

60 Démarrage79 Démarrage

61</h2>80</h2>


909 928 

910Voir une compétence se déclencher vous indique que Claude l'a trouvée, pas qu'elle a fait ce que vous aviez l'intention. Pour savoir qu'une compétence fonctionne, mesurez séparément si Claude l'invoque sur les invites qu'elle devrait, et si la sortie correspond à ce que vous attendez quand elle le fait.929Voir une compétence se déclencher vous indique que Claude l'a trouvée, pas qu'elle a fait ce que vous aviez l'intention. Pour savoir qu'une compétence fonctionne, mesurez séparément si Claude l'invoque sur les invites qu'elle devrait, et si la sortie correspond à ce que vous attendez quand elle le fait.

911 930 

912La vérification des deux est une comparaison de base. Collectez quelques invites réalistes, exécutez chacune dans une session nouvelle avec la compétence disponible et à nouveau avec elle [désactivée](#override-skill-visibility-from-settings), et comparez les résultats. Une session nouvelle est importante car le contexte restant de la création de la compétence masquera les lacunes dans les instructions écrites.931La vérification des deux est une comparaison de base. Collectez quelques invites réalistes, exécutez chacune dans une session nouvelle avec la compétence disponible et à nouveau avec elle désactivée, et comparez les résultats. Une session nouvelle est importante car le contexte restant de la création de la compétence masquera les lacunes dans les instructions écrites.

932 

933La façon dont vous désactivez la compétence pour la deuxième exécution dépend de sa provenance :

934 

935* **Compétence personnelle ou de projet** : définissez-la sur `"off"` dans [`skillOverrides`](#override-skill-visibility-from-settings).

936* **Compétence fournie par un plugin** : `skillOverrides` ne s'applique pas aux compétences de plugin. Utilisez [`claude plugin eval`](/docs/fr/plugin-evals#the-no-plugin-baseline) à la place, qui répète chaque exécution sans plugin chargé.

913 937 

914Deux outils automatisent cette comparaison. Pour une compétence qui est livrée dans un [plugin](/docs/fr/plugins/overview), [`claude plugin eval`](/docs/fr/plugin-evals) exécute chaque invite dans une session isolée avec et sans le plugin, la note avec des évaluateurs que vous définissez ou qu'il écrit pour vous, et quitte avec un code non-zéro en dessous d'un seuil afin que vous puissiez gater CI sur celui-ci. Pour itérer sur une seule compétence à l'intérieur d'une conversation Claude Code, le plugin skill-creator ci-dessous exécute une boucle similaire avec son propre format `evals/evals.json`. Les deux formats ne sont pas interchangeables.938Deux outils automatisent la comparaison de base. Pour une compétence qui est livrée dans un [plugin](/docs/fr/plugins/overview), [`claude plugin eval`](/docs/fr/plugin-evals) exécute chaque invite dans une session isolée avec et sans le plugin, la note avec des évaluateurs que vous définissez ou qu'il écrit pour vous, et quitte avec un code non-zéro en dessous d'un seuil afin que vous puissiez gater CI sur celui-ci. Pour itérer sur une seule compétence à l'intérieur d'une conversation Claude Code, le plugin skill-creator ci-dessous exécute une boucle similaire avec son propre format `evals/evals.json`. Les deux formats ne sont pas interchangeables.

915 939 

916<h3 id="run-evals-with-skill-creator">940<h3 id="run-evals-with-skill-creator">

917 Exécuter des évaluations avec skill-creator941 Exécuter des évaluations avec skill-creator

statusline.md +1 −1

Details

1178**Le pourcentage de contexte affiche des valeurs inattendues**1178**Le pourcentage de contexte affiche des valeurs inattendues**

1179 1179 

1180* Utilisez `used_percentage` pour l'état de contexte le plus simple et précis1180* Utilisez `used_percentage` pour l'état de contexte le plus simple et précis

1181* Le pourcentage de contexte peut différer de la sortie `/context` en raison du moment où chacun est calculé1181* La barre de statut rapporte les décomptes de la dernière réponse API, tandis que `/context` ajoute une estimation pour les messages ajoutés depuis cette réponse, donc `/context` peut afficher une valeur plus élevée jusqu'à la réponse suivante

1182 1182 

1183**Les liens OSC 8 ne sont pas cliquables**1183**Les liens OSC 8 ne sont pas cliquables**

1184 1184 

sub-agents.md +3 −5

Details

800 - matcher: "Bash"800 - matcher: "Bash"

801 hooks:801 hooks:

802 - type: command802 - type: command

803 command: "./scripts/validate-command.sh $TOOL_INPUT"803 command: "./scripts/validate-command.sh"

804 PostToolUse:804 PostToolUse:

805 - matcher: "Edit|Write"805 - matcher: "Edit|Write"

806 hooks:806 hooks:


848}848}

849```849```

850 850 

851Un matcher avec tirets comme `db-agent` correspond exactement sur Claude Code v2.1.195 ou ultérieur. Sur les versions antérieures, il est évalué comme une expression régulière non ancrée et se déclenche également pour tout type d'agent qui le contient, comme `prod-db-agent` ; ancrez-le comme `^db-agent$` sur ces versions.

852 

853Consultez [Hooks](/docs/fr/hooks) pour le format de configuration complet des hooks.851Consultez [Hooks](/docs/fr/hooks) pour le format de configuration complet des hooks.

854 852 

855<h2 id="work-with-subagents">853<h2 id="work-with-subagents">


874 872 

875* **Langage naturel** : nommez le sous-agent dans votre invite ; Claude décide s'il faut déléguer873* **Langage naturel** : nommez le sous-agent dans votre invite ; Claude décide s'il faut déléguer

876* **@-mention** : garantit que le sous-agent s'exécute pour une tâche874* **@-mention** : garantit que le sous-agent s'exécute pour une tâche

877* **À l'échelle de la session** : toute la session utilise le système prompt, les restrictions d'outils et le modèle de ce sous-agent via l'indicateur `--agent` ou le paramètre `agent`875* **À l'échelle de la session** : toute la session s'exécute en tant que ce sous-agent via l'indicateur `--agent` ou le paramètre `agent`

878 876 

879Pour le langage naturel, il n'y a pas de syntaxe spéciale. Nommez le sous-agent et Claude délègue généralement :877Pour le langage naturel, il n'y a pas de syntaxe spéciale. Nommez le sous-agent et Claude délègue généralement :

880 878 


895 893 

896Vous pouvez également taper la mention manuellement sans utiliser le sélecteur : `@agent-<name>` pour les sous-agents locaux, ou `@agent-` suivi du nom délimité pour les sous-agents de plugin, par exemple `@agent-my-plugin:code-reviewer`. Pendant que vous tapez ce formulaire, la saisie semi-automatique affiche les correspondances de fichiers plutôt que les agents. La mention d'agent se résout toujours lorsque vous soumettez.894Vous pouvez également taper la mention manuellement sans utiliser le sélecteur : `@agent-<name>` pour les sous-agents locaux, ou `@agent-` suivi du nom délimité pour les sous-agents de plugin, par exemple `@agent-my-plugin:code-reviewer`. Pendant que vous tapez ce formulaire, la saisie semi-automatique affiche les correspondances de fichiers plutôt que les agents. La mention d'agent se résout toujours lorsque vous soumettez.

897 895 

898**Exécutez toute la session en tant que sous-agent.** Passez [`--agent <name>`](/docs/fr/cli-reference) pour démarrer une session où le thread principal lui-même prend le système prompt, les restrictions d'outils et le modèle de ce sous-agent :896**Exécutez toute la session en tant que sous-agent.** Passez [`--agent <name>`](/docs/fr/cli-reference) pour démarrer une session où le thread principal lui-même prend les restrictions d'outils et le modèle de ce sous-agent :

899 897 

900```bash theme={null}898```bash theme={null}

901claude --agent code-reviewer899claude --agent code-reviewer

Details

122 122 

123 <tr>123 <tr>

124 <td>Facturation</td>124 <td>Facturation</td>

125 <td><strong>Teams :</strong> 150 \$/siège (Premium) avec PAYG disponible<br /><strong>Enterprise :</strong> <a href="https://claude.com/contact-sales?utm_source=claude_code&utm_medium=docs&utm_content=third_party_enterprise">Contacter les ventes</a></td>125 <td><strong>Teams :</strong> abonnement par siège avec PAYG disponible, voir <a href="https://claude.com/pricing?utm_source=claude_code&utm_medium=docs&utm_content=third_party_pricing#team-&-enterprise">tarification</a><br /><strong>Enterprise :</strong> <a href="https://claude.com/contact-sales?utm_source=claude_code&utm_medium=docs&utm_content=third_party_enterprise">Contacter les ventes</a></td>

126 <td>PAYG</td>126 <td>PAYG</td>

127 <td>PAYG via AWS</td>127 <td>PAYG via AWS</td>

128 <td>PAYG via AWS Marketplace</td>128 <td>PAYG via AWS Marketplace</td>


152 152 

153 <tr>153 <tr>

154 <td>Authentification</td>154 <td>Authentification</td>

155 <td>Claude.ai SSO ou email</td>155 <td>claude.ai SSO ou email</td>

156 <td>Clé API ou une [connexion Console sans clé](/docs/fr/authentication#sign-in-without-an-api-key)</td>156 <td>Clé API ou une [connexion Console sans clé](/docs/fr/authentication#sign-in-without-an-api-key)</td>

157 <td>Clé API ou identifiants AWS</td>157 <td>Clé API ou identifiants AWS</td>

158 <td>Clé API ou identifiants AWS</td>158 <td>Clé API ou identifiants AWS</td>

Details

382 Source WebSocket382 Source WebSocket

383</h3>383</h3>

384 384 

385<Note>

386 La source WebSocket nécessite Claude Code v2.1.195 ou version ultérieure.

387</Note>

388 

389Quand un serveur pousse déjà des événements sur un WebSocket, Claude peut s'y connecter directement au lieu d'écrire un script d'interrogation. Chaque type d'activité de socket devient soit un événement, soit termine la surveillance :385Quand un serveur pousse déjà des événements sur un WebSocket, Claude peut s'y connecter directement au lieu d'écrire un script d'interrogation. Chaque type d'activité de socket devient soit un événement, soit termine la surveillance :

390 386 

391* **Messages texte** : chacun devient un événement, même quand le message s'étend sur plusieurs lignes.387* **Messages texte** : chacun devient un événement, même quand le message s'étend sur plusieurs lignes.

Details

445 Erreurs de connexion TLS ou SSL445 Erreurs de connexion TLS ou SSL

446</h3>446</h3>

447 447 

448Les erreurs comme `curl: (35) TLS connect error`, `schannel: next InitializeSecurityContext failed`, ou le `Could not establish trust relationship for the SSL/TLS secure channel` de PowerShell indiquent des échecs de négociation TLS.448Les erreurs telles que celles-ci signifient que la négociation TLS a échoué :

449 

450* `curl: (35) TLS connect error`

451* `schannel: next InitializeSecurityContext failed`

452* Le `Could not create SSL/TLS secure channel` de PowerShell

453* Le `Could not establish trust relationship for the SSL/TLS secure channel` de PowerShell

449 454 

450**Solutions :**455**Solutions :**

451 456 


1017 403 Forbidden après la connexion1022 403 Forbidden après la connexion

1018</h3>1023</h3>

1019 1024 

1020Si vous voyez `API Error: 403 {"error":{"type":"forbidden","message":"Request not allowed"}}` après la connexion :1025Si vous voyez `API Error: 403 Request not allowed` après la connexion :

1021 1026 

1022* **Utilisateurs Claude Pro/Max** : vérifiez que votre abonnement est actif sur [claude.ai/settings](https://claude.ai/settings)1027* **Utilisateurs Claude Pro/Max** : vérifiez que votre abonnement est actif sur [claude.ai/settings](https://claude.ai/settings)

1023* **Utilisateurs Anthropic Console** : confirmez que votre compte a le rôle « Claude Code » ou « Developer ». Les administrateurs l'attribuent dans la console Anthropic sous Paramètres → Membres.1028* **Utilisateurs Anthropic Console** : confirmez que votre compte a le rôle « Claude Code » ou « Developer ». Les administrateurs l'attribuent dans la console Anthropic sous Paramètres → Membres.

Details

52 Le fichier `.heapsnapshot` contient chaque chaîne du processus, y compris votre conversation complète et vos identifiants. Ne l'attachez pas à un problème public ou ne le partagez pas.52 Le fichier `.heapsnapshot` contient chaque chaîne du processus, y compris votre conversation complète et vos identifiants. Ne l'attachez pas à un problème public ou ne le partagez pas.

53</Warning>53</Warning>

54 54 

55La commande imprime également un résumé dans la conversation, affichant la taille de l'ensemble résidant, le tas JS, les tampons de tableau et la mémoire native non comptabilisée, plus tous les indicateurs de fuite qu'elle a détectés, comme un taux de croissance de la mémoire élevé ou un nombre inhabituellement élevé de handles ouverts. Le résumé indique si la plupart de la mémoire se trouve dans le tas JS, que le snapshot capture, ou dans la mémoire native, qu'il ne capture pas.55La commande imprime également un résumé dans la conversation, affichant la mémoire totale du processus, la quantité de celle-ci dans le tas JS et la quantité qui se trouve en dehors du tas. Le résumé liste également tous les indicateurs de fuite, tels qu'un taux de croissance de la mémoire élevé ou un nombre inhabituellement élevé de handles ouverts. Le résumé indique si la plupart de la mémoire se trouve dans le tas JS, que le snapshot capture, ou dans la mémoire native, qu'il ne capture pas.

56 56 

57Faites l'une de ces deux choses avec la sortie :57Faites l'une de ces deux choses avec la sortie :

58 58 

workflows.md +1 −1

Details

91 Surveiller l'exécution91 Surveiller l'exécution

92</h3>92</h3>

93 93 

94Les workflows s'exécutent en arrière-plan, de sorte que la session reste réactive pendant que les agents travaillent. Exécutez `/workflows` à tout moment pour lister les workflows en cours d'exécution et terminés, puis sélectionnez-en un pour ouvrir sa vue de progression.94Les workflows s'exécutent en arrière-plan, de sorte que la session reste réactive pendant que les agents travaillent. Exécutez `/workflows` à tout moment pour lister les workflows en cours d'exécution et terminés, puis sélectionnez-en un pour ouvrir sa vue de progression. Pour arrêter un workflow en cours d'exécution sans l'ouvrir, sélectionnez-le dans la liste et appuyez sur `x`.

95 95 

96La vue de progression affiche chaque phase avec ses nombres d'agents, ses totaux de tokens et son temps écoulé. Le pied de page liste la clé pour chaque action :96La vue de progression affiche chaque phase avec ses nombres d'agents, ses totaux de tokens et son temps écoulé. Le pied de page liste la clé pour chaque action :

97 97