SpyBara
Go Premium

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

54 files changed +751 −379. View all changes and history on the product overview
2026
Wed 30 06:58 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

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>


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 

893`blockReadsOutsideWorkingDirectories`, `disableBypassPermissionsMode`, `configRecheckIntervalMinutes` et `sshClientPath` nécessitent Claude Code v2.1.281 ou ultérieur sur le serveur de passerelle. Il en va de même pour la valeur `required` de `microsoftAuthBroker` et le champ `continuousAccessEvaluation` d'une entrée `managedMcpServers` Microsoft 365. Les versions de Claude Desktop antérieures à la valeur `required` la lisent comme `disabled`, donc définissez `required` uniquement après que chaque membre 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 

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

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 :


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

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 

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

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 +4 −1

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 |


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]` | **[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 |

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 |


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

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 +2 −2

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

errors.md +42 −10

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


252| `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 "<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) |254| `"<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) |255| `"<plugin>" was not uninstalled: <file> is there and could not be read` | [Erreurs de plugin](#plugin-was-not-uninstalled) |

256| `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) |257| `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) |258| `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) |259| `cannot contain null bytes (\0)` | [Erreurs d'outil](#path-cannot-contain-null-bytes) |


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

2347</h3>2349</h3>

2348 2350 

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).2351La 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 2352 

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

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

2353```2355```

2354 2356 

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.`2357Dans 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 2358 

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

2360 

2361Quand 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 2362 

2359**Que faire :**2363**Que faire :**

2360 2364 

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à2365* 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).2366* 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).2367* 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.2368* 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 2369 

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

2367 Modèle non trouvé2371 Modèle non trouvé

2368</h3>2372</h3>

2369 2373 

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.2374Vous 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 2375 

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

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


2379 2383 

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 maintenue2384* 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.2385* 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.

2386* 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.2387* 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 2388 

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

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

2391</h3>

2392 

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

2394 

2395```text theme={null}

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

2397```

2398 

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

2400 

2401**Que faire :**

2402 

2403* Basculez vers le modèle à nouveau

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

2405 

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

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

2386</h3>2408</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.2454API 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```2455```

2434 2456 

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

2458 

2435**Que faire :**2459**Que faire :**

2436 2460 

2437* Exécutez `claude update`, ou mettez à jour l'application de bureau Claude, puis démarrez une nouvelle session2461Mettez à 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`2462 

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

2464| :- | :- |

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

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

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

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

2469 

2470* 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 continuer2471* Pour le libellé de la politique organisationnelle, mettez à jour avant de continuer

2440 2472 

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


3888 Plugin was not uninstalled3920 Plugin was not uninstalled

3889</h3>3921</h3>

3890 3922 

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:`.3923Vous 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 3924 

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é.3925Quand 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 3926 

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

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 +104 −104

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


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

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

1189| `compact` | Compaction automatique ou manuelle |1189| `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` |1190| `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 1191 

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

1193 1193 

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

1195 1195 

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.1196Quand 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 1197 

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

1199 1199 


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

1214 1214 

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.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 requête, par exemple dans un [`systemMessage`](#json-output). Ces champs nécessitent Claude Code v2.1.251 ou ultérieur.

1216 1216 

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

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

1219| `seconds_since_last_response` | Secondes d'horloge murale depuis la dernière réponse dans la transcription reprise |1219| `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 |1220| `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 |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 |

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

1223 1223 


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

1243</h4>1243</h4>

1244 1244 

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 :1245Claude 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 1246 

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

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


1262}1262}

1263```1263```

1264 1264 

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`.1265Puisque 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 1266 

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

1268 1268 


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

1362</h4>1362</h4>

1363 1363 

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

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

1367 1367 


1445 1445 

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

1447 1447 

1448* **Stdout en texte brut** : Claude Code ajoute stdout qu'il [traite comme du texte brut](#exit-code-0) au contexte de Claude1448* **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 contexte1449* **JSON avec `additionalContext`** : utilisez le format JSON ci-dessous pour plus de contrôle. Le champ `additionalContext` est ajouté comme contexte

1450 1450 

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).1451Aucun 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 1452 

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

1454 1454 


1488 Entrée UserPromptExpansion1488 Entrée UserPromptExpansion

1489</h4>1489</h4>

1490 1490 

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.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 prompts du serveur MCP.

1492 1492 

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

1494{1494{


1544 1544 

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

1546 1546 

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

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

1550 1550 


1554 Entrée MessageDisplay1554 Entrée MessageDisplay

1555</h4>1555</h4>

1556 1556 

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.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 à travers un message plutôt que de vous attendre à ce que les lignes soient groupées d'une manière particulière.

1558 1558 

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

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


1674 1674 

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

1676 1676 

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

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


1692 1692 

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

1694 1694 

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.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 du nom d'outil `mcp__<server>__`. Le champ `mcp_server` nécessite Claude Code v2.1.274 ou ultérieur.

1696 1696 

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

1698 1698 


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

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

1734 1734 

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

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

1738 1738 


1749| `moreFiles` | number | `2` | Nombre de fichiers modifiés sans diff dans `files` |1749| `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 |1750| `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 |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 |

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 |1752| `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 1753 

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

1755 1755 


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

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

1874 1874 

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 :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 requête finale :

1876 1876 

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

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


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

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

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

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 |1884| `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 |1885| `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 |1886| `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` |1887| `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 1888 

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

1890 1890 


1927 1927 

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

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

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

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

1934 1934 

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

1936 1936 

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

1938 1938 

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

1940 1940 

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

1942 1942 


1956 1956 

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

1958 1958 

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

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

1962 1962 


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

1969</h4>1969</h4>

1970 1970 

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

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

1974 1974 

19751. Claude appelle `AskUserQuestion`. Le hook `PreToolUse` se déclenche.19751. 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.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.

19773. Le processus appelant lit `deferred_tool_use` du résultat SDK, affiche la question dans sa propre UI, et attend une réponse.19773. 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.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.

19795. Le hook retourne `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.19795. Le hook retourne `permissionDecision: "allow"` avec la réponse dans `updatedInput`. L'outil s'exécute et Claude continue.

1980 1980 

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 :1981Le 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 1982 

1983```json theme={null}1983```json theme={null}

1984{1984{


1994}1994}

1995```1995```

1996 1996 

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

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

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

2002 2002 


2015 2015 

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

2017 2017 

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`.2018Claude 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 2019 

2020Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2020Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2021 2021 


2023 Entrée PermissionRequest2023 Entrée PermissionRequest

2024</h4>2024</h4>

2025 2025 

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.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 requête, comme ajouter une règle d'autorisation ou changer le mode de permission.

2027 2027 

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

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).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 demander. Aucun événement ne se déclenche pour [`EndConversation`](/docs/fr/tools-reference#endconversation-tool-behavior).

2031 2031 

2032```json theme={null}2032```json theme={null}

2033{2033{


2066| `message` | Pour `"deny"` uniquement : dit à Claude pourquoi la permission a été refusée |2066| `message` | Pour `"deny"` uniquement : dit à Claude pourquoi la permission a été refusée |

2067| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |2067| `interrupt` | Pour `"deny"` uniquement : si `true`, arrête Claude |

2068 2068 

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.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 requête.

2070 2070 

2071```json theme={null}2071```json theme={null}

2072{2072{


2191```2191```

2192 2192 

2193<Warning>2193<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).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 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 2195 

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.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 dont Claude a besoin peut le faire procéder sur une fausse hypothèse.

2197</Warning>2197</Warning>

2198 2198 

2199<h4 id="annotate-a-result-for-the-auto-mode-classifier">2199<h4 id="annotate-a-result-for-the-auto-mode-classifier">


2238Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2238Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2239 2239 

2240<Note>2240<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).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 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>2242</Note>

2243 2243 

2244<h4 id="posttoolusefailure-input">2244<h4 id="posttoolusefailure-input">


2276 2276 

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és2277* 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ême2278* 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`2279* 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 2280 

2281<h4 id="posttoolusefailure-decision-control">2281<h4 id="posttoolusefailure-decision-control">

2282 Contrôle de décision PostToolUseFailure2282 Contrôle de décision PostToolUseFailure


2301 PostToolBatch2301 PostToolBatch

2302</h3>2302</h3>

2303 2303 

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

2306<h4 id="posttoolbatch-input">2306<h4 id="posttoolbatch-input">

2307 Entrée PostToolBatch2307 Entrée PostToolBatch


2364 PermissionDenied2364 PermissionDenied

2365</h3>2365</h3>

2366 2366 

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

2369Correspond au nom de l'outil, mêmes valeurs que PreToolUse.2369Correspond au nom de l'outil, mêmes valeurs que PreToolUse.

2370 2370 


2412 2412 

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

2414 2414 

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

2417<h3 id="notification">2417<h3 id="notification">

2418 Notification2418 Notification


2424 2424 

2425| Matcher | Quand il se déclenche |2425| Matcher | Quand il se déclenche |

2426| :- | :- |2426| :- | :- |

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 |2427| `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 |2428| `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 |2429| `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 |2430| `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 |2431| `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 |2432| `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 |2433| `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 |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. 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 |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 |

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

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


2441 2441 

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

2443 2443 

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.2444En 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 2445 

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

2448<Note>2448<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 :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 :

2450 2450 

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

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.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 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.2453 * 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 2454 

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.2455 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>2456</Note>

2457 2457 

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 :2458Claude 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 2459 

2460* Attendez `permission_prompt` environ six secondes après que Claude demande la permission. Claude Code ne le reporte pas pendant que vous tapez.2460* 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`.2461* Si vous ou un hook [PermissionRequest](#permissionrequest) répondez plus tôt, Claude Code n'exécute pas `permission_prompt`.


2516 SubagentStart2516 SubagentStart

2517</h3>2517</h3>

2518 2518 

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

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$`.2521Pour 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 2522 

2523<h4 id="subagentstart-input">2523<h4 id="subagentstart-input">

2524 Entrée SubagentStart2524 Entrée SubagentStart

2525</h4>2525</h4>

2526 2526 

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.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 sur lequel le matcher filtre.

2528 2528 

2529```json theme={null}2529```json theme={null}

2530{2530{


2566 2566 

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

2568 2568 

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

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

2572 2572 

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

2574 2574 

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.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 délimités à la session parent, pas au sous-agent.

2576 2576 

2577```json theme={null}2577```json theme={null}

2578{2578{


2657 TaskCompleted2657 TaskCompleted

2658</h3>2658</h3>

2659 2659 

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

2662Les hooks TaskCompleted ne supportent pas les matchers et se déclenchent à chaque occurrence.2662Les hooks TaskCompleted ne supportent pas les matchers et se déclenchent à chaque occurrence.

2663 2663 


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

2723 2723 

2724<Tip>2724<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.2725 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>2726</Tip>

2727 2727 

2728<h4 id="stop-input">2728<h4 id="stop-input">


2731 2731 

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

2733 2733 

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.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 du Stop sur toutes les versions.

2735 2735 

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é.2736Les 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 2737 

2738Chaque entrée dans `background_tasks` décrit une tâche en vol et utilise ces champs :2738Chaque entrée dans `background_tasks` décrit une tâche en vol et utilise ces champs :

2739 2739 


2742| `id` | Identifiant de tâche |2742| `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 |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 |

2744| `status` | Statut de tâche actuel |2744| `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 |2745| `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` |2746| `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` |2747| `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` |2748| `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` |2749| `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` |2750| `name` | Nom du workflow. Présent uniquement pour les tâches `workflow` |

2751 2751 

2752Chaque entrée dans `session_crons` décrit un réveil programmé scoped à la session, provenant de `CronCreate`, `ScheduleWakeup`, et `/loop` :2752Chaque entrée dans `session_crons` décrit un réveil programmé délimité à la session, provenant de `CronCreate`, `ScheduleWakeup`, et `/loop` :

2753 2753 

2754| Champ | Description |2754| Champ | Description |

2755| :- | :- |2755| :- | :- |

2756| `id` | Identifiant de tâche cron |2756| `id` | Identifiant de tâche cron |

2757| `schedule` | Expression cron, par exemple `0 9 * * 1-5` |2757| `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 |2758| `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]` |2759| `prompt` | Invite soumise quand le cron se déclenche, plafonnée à 1000 caractères avec le même marqueur `… [+N chars]` |

2760 2760 

2761Cet exemple montre une entrée Stop avec une tâche shell en vol et un cron récurrent :2761Cet exemple montre une entrée Stop avec une tâche shell en vol et un cron récurrent :

2762 2762 


2810}2810}

2811```2811```

2812 2812 

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 :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 à 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 2814 

2815```json theme={null}2815```json theme={null}

2816{2816{


2825 StopFailure2825 StopFailure

2826</h3>2826</h3>

2827 2827 

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.2828S'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 2829 

2830<h4 id="stopfailure-input">2830<h4 id="stopfailure-input">

2831 Entrée StopFailure2831 Entrée StopFailure


2857 TeammateIdle2857 TeammateIdle

2858</h3>2858</h3>

2859 2859 

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.2860S'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 2861 

2862Les hooks TeammateIdle ne supportent pas les matchers et se déclenchent à chaque occurrence.2862Les hooks TeammateIdle ne supportent pas les matchers et se déclenchent à chaque occurrence.

2863 2863 


2979}2979}

2980```2980```

2981 2981 

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

2983 2983 

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

2986<h3 id="cwdchanged">2986<h3 id="cwdchanged">

2987 CwdChanged2987 CwdChanged


3018 3018 

3019| Champ | Description |3019| Champ | Description |

3020| :- | :- |3020| :- | :- |

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 |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 dans un nouveau répertoire |

3022 3022 

3023Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.3023Les hooks CwdChanged n'ont pas de contrôle de décision. Ils ne peuvent pas bloquer le changement de répertoire.

3024 3024 


3028 DirectoryAdded3028 DirectoryAdded

3029</h3>3029</h3>

3030 3030 

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

3033Claude Code ne déclenche pas cet événement quand :3033Claude Code ne déclenche pas cet événement quand :

3034 3034 


3036* Vous ajoutez un répertoire sur l'onglet Workspace `/permissions`3036* 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'un3037* Vous ajoutez un répertoire qui est déjà un répertoire de travail ou à l'intérieur d'un

3038 3038 

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.3039Claude 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 3040 

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

3042 3042 


3045| Matcher | Quand il se déclenche |3045| Matcher | Quand il se déclenche |

3046| :- | :- |3046| :- | :- |

3047| `slash_command` | Vous ajoutez un répertoire avec `/add-dir` |3047| `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` |3048| `register_repo_root` | Un client SDK ajoute un répertoire avec la requête de contrôle `register_repo_root` |

3049 3049 

3050<h4 id="directoryadded-input">3050<h4 id="directoryadded-input">

3051 Entrée DirectoryAdded3051 Entrée DirectoryAdded


3056| Champ | Description |3056| Champ | Description |

3057| :- | :- |3057| :- | :- |

3058| `directory` | Chemin absolu du répertoire qui a été ajouté |3058| `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 |3059| `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 3060 

3061```json theme={null}3061```json theme={null}

3062{3062{


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

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

3087 3087 

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 :3088Cet 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 3089 

3090```json theme={null}3090```json theme={null}

3091{3091{


3105}3105}

3106```3106```

3107 3107 

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 :3108Le 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 3109 

3110```bash theme={null}3110```bash theme={null}

3111#!/bin/bash3111#!/bin/bash


3117 3117 

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

3119 3119 

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é `*`.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 un fichier littéral nommé `*`.

3121 3121 

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

3123 3123 


3229 3229 

3230* vous quittez une session `--worktree` et choisissez de la supprimer3230* vous quittez une session `--worktree` et choisissez de la supprimer

3231* un sous-agent avec `isolation: "worktree"` se termine3231* 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 hook3232* 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 3233 

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

3235 3235 


3298 3298 

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

3300 3300 

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.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 requête actuelle échoue.

3302 3302 

3303Claude Code rejette les champs `systemMessage` et `continue` d'un hook PreCompact.3303Claude Code rejette les champs `systemMessage` et `continue` d'un hook PreCompact.

3304 3304 


3349}3349}

3350```3350```

3351 3351 

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.3352Les 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 3353 

3354<h3 id="premodelswitch">3354<h3 id="premodelswitch">

3355 PreModelSwitch3355 PreModelSwitch

3356</h3>3356</h3>

3357 3357 

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.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 changement coûtera avant qu'il se produise.

3359 3359 

3360PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour ces demandes :3360PreModelSwitch nécessite Claude Code v2.1.251 ou ultérieur. Claude Code l'exécute pour ces requêtes :

3361 3361 

3362* `/model <name>` et le sélecteur `/model`3362* `/model <name>` et le sélecteur `/model`

3363* Le sélecteur de modèle `Option+P` ou `Alt+P`3363* Le sélecteur de modèle `Option+P` ou `Alt+P`

3364* Le paramètre Model dans `/config`3364* Le paramètre Model dans `/config`

3365* Activer le [mode rapide](/docs/fr/fast-mode) quand cela change le modèle de la session3365* 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)3366* 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 3367 

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

3369 3369 

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.3370Claude 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 3371 

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

3373 3373 


3443 Entrée PreModelSwitch3443 Entrée PreModelSwitch

3444</h4>3444</h4>

3445 3445 

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.3446En 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 3447 

3448| Champ | Type | Description |3448| Champ | Type | Description |

3449| :- | :- | :- |3449| :- | :- | :- |

3450| `from_model` | string | ID de modèle que le changement change de |3450| `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 |3451| `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 |3452| `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 |3453| `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 |3454| `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 |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 |

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

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


3487 3487 

3488| Champ | Description |3488| Champ | Description |

3489| :- | :- |3489| :- | :- |

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 |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"` 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"` |3491| `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 3492 

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.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 requêtes `set_model`, Claude Code traite `"ask"` comme un refus.

3494 3494 

3495Cet exemple demande à l'utilisateur de confirmer et cite le nombre de tokens de `context_tokens` :3495Cet exemple demande à l'utilisateur de confirmer et cite le nombre de tokens de `context_tokens` :

3496 3496 


3506 3506 

3507Quand plusieurs hooks PreModelSwitch retournent des décisions différentes, la priorité est `deny` > `ask` > `allow`.3507Quand plusieurs hooks PreModelSwitch retournent des décisions différentes, la priorité est `deny` > `ask` > `allow`.

3508 3508 

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.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ûts peut retourner `{"systemMessage": "..."}` et quitter 0.

3510 3510 

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

3512 3512 


3527 3527 

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

3529 3529 

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

3531 3531 

3532Cet exemple ajoute des conseils chaque fois que le modèle de la session change vers n'importe quel modèle Opus :3532Cet exemple ajoute des conseils chaque fois que le modèle de la session change vers n'importe quel modèle Opus :

3533 3533 


3549}3549}

3550```3550```

3551 3551 

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.3552Pour 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 3553 

3554<h4 id="postmodelswitch-input">3554<h4 id="postmodelswitch-input">

3555 Entrée PostModelSwitch3555 Entrée PostModelSwitch


3563 Contrôle de décision PostModelSwitch3563 Contrôle de décision PostModelSwitch

3564</h4>3564</h4>

3565 3565 

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 :3566Claude 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 3567 

3568| Champ | Description |3568| Champ | Description |

3569| :- | :- |3569| :- | :- |

3570| `additionalContext` | Chaîne ajoutée au contexte de Claude avec la demande suivante. Voir [Ajouter du contexte pour Claude](#add-context-for-claude) |3570| `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 3571 

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.3572Si 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 3573 

3574<h3 id="sessionend">3574<h3 id="sessionend">

3575 SessionEnd3575 SessionEnd


3582| Raison | Description |3582| Raison | Description |

3583| :- | :- |3583| :- | :- |

3584| `clear` | Session effacée avec la commande `/clear` |3584| `clear` | Session effacée avec la commande `/clear` |

3585| `resume` | Session basculée via `/resume` interactif |3585| `resume` | Session changée via `/resume` interactif |

3586| `logout` | L'utilisateur s'est déconnecté |3586| `logout` | L'utilisateur s'est déconnecté |

3587| `prompt_input_exit` | L'utilisateur a quitté pendant que l'entrée d'invite était visible |3587| `prompt_input_exit` | L'utilisateur a quitté pendant que l'entrée d'invite était visible |

3588| `other` | Autres raisons de sortie |3588| `other` | Autres raisons de sortie |


3606 3606 

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

3608 3608 

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 :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 changez de sessions avec `/resume` interactif. Vous pouvez donner à un hook plus de temps de deux façons :

3610 3610 

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

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


3623 Elicitation3623 Elicitation

3624</h3>3624</h3>

3625 3625 

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.3626S'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 3627 

3628Le champ matcher correspond au nom du serveur MCP.3628Le champ matcher correspond au nom du serveur MCP.

3629 3629 


3688 3688 

3689| Champ | Valeurs | Description |3689| Champ | Valeurs | Description |

3690| :- | :- | :- |3690| :- | :- | :- |

3691| `action` | `accept`, `decline`, `cancel` | Si vous acceptez, refusez, ou annulez la demande |3691| `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` |3692| `content` | object | Valeurs des champs de formulaire à soumettre. Utilisé uniquement quand `action` est `accept` |

3693 3693 

3694Le code de sortie 2 refuse l'élicitation. Claude Code ne montre votre message stderr nulle part.3694Le 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">

memory.md +6 −0

Details

115 115 

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

117 117 

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

119 

120```text theme={null}

121- Conventions d'API @Design\ Docs/api-conventions.md

122```

123 

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.124L'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 125 

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 :126Pour 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 +11 −11

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


164 164 

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

166 166 

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 :167Lorsque 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 168 

169* un alias de modèle169* **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`170* **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 171 

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.172Consultez [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 173 

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.174Si 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 175 

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.176Lorsque 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 177 


241 Restreindre la sélection de modèle239 Restreindre la sélection de modèle

242</h2>240</h2>

243 241 

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).242Les 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 243 

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.244Sur 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 245 


751| Définir le défaut global | Exécutez `/config` et basculez le mode de réflexion. Enregistré comme `alwaysThinkingEnabled` dans `~/.claude/settings.json` |749| 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) |750| 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 751 

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.752Vous 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 753 

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.754Claude 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 755 


784 782 

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.783La 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 784 

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.785Si 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 786 

789Vous pouvez également utiliser le suffixe `[1m]` avec les alias de modèle ou les noms de modèle complets :787Vous pouvez également utiliser le suffixe `[1m]` avec les alias de modèle ou les noms de modèle complets :

790 788 


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).954* 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.955* 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 956 

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

958 

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

961 961 

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


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


376* Publication d'un commentaire qui est lui-même une commande à l'automatisation, comme `atlantis apply` ou le `/deploy` ou `/merge` d'un bot376* 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 production377* 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 cluster378* 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 utilisateurs379* É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'admission380* 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 sensible381* 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 public382* 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 fichier383* 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 exclut384* 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 environnement385* 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`386* 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`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`


390Claude Code v2.1.198 et ultérieur bloquent également ceux-ci par défaut :390Claude Code v2.1.198 et ultérieur bloquent également ceux-ci par défaut :

391 391 

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écifique392* 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érieur393* 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 surveillance394* 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 395 

396Claude Code v2.1.200 et ultérieur bloquent également ceux-ci par défaut :396Claude Code v2.1.200 et ultérieur bloquent également ceux-ci par défaut :

397 397 

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 à sable398* 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 ressource399* 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`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 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écommande401* 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 place402* 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 externe403* 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 404 

405Claude Code v2.1.203 et ultérieur bloquent également ceux-ci par défaut :405Claude Code v2.1.203 et ultérieur bloquent également ceux-ci par défaut :

406 406 


415 415 

416Claude Code v2.1.257 et ultérieur bloquent également ceux-ci par défaut :416Claude Code v2.1.257 et ultérieur bloquent également ceux-ci par défaut :

417 417 

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 machine418* 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érieur419* 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œud420* 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 conteneur421* 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 422 

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

424 424 

425Claude Code v2.1.261 et ultérieur bloquent également ceux-ci par défaut :425Claude Code v2.1.261 et ultérieur bloquent également ceux-ci par défaut :

426 426 

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 service427* 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 428 

429**Autorisé par défaut** :429**Autorisé par défaut** :

430 430 

431* Opérations de fichier local dans votre répertoire de travail431* 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 manifestes432* Installation de dépendances déclarées dans vos fichiers de verrouillage ou manifestes

433* Lecture de `.env` et envoi d'identifiants à leur API correspondante433* Lecture de `.env` et envoi d'identifiants à leur API correspondante

434* Demandes HTTP en lecture seule434* Demandes HTTP en lecture seule


438 438 

439* Suppression des tâches exactes que Claude a créées plus tôt dans la même session439* 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âche440* 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-agents441* 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 infrastructure442* 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ée443* [Claude dans Chrome](/docs/fr/chrome) navigation vers un domaine interne approuvé, localhost ou une URL que vous avez nommée

444 444 

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

446 446 

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

448 448 

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).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 communes](/docs/fr/auto-mode-config#common-boundaries).

450 450 

451<h3 id="first-read-outside-the-working-directories">451<h3 id="first-read-outside-the-working-directories">

452 La première lecture en dehors des répertoires de travail452 La première lecture en dehors des répertoires de travail

453</h3>453</h3>

454 454 

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.455Tandis 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 456 

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.457L'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 458 

459Quelle que soit votre réponse, Claude continue à travailler :459Quelle que soit votre réponse, Claude continue à travailler :

460 460 

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 plus461* **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.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) à `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 à nouveau463* **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 à nouveau464* **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 465 


467 Limites que vous énoncez dans la conversation467 Limites que vous énoncez dans la conversation

468</h3>468</h3>

469 469 

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.470Le 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 471 

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

473 473 


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

479 479 

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

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).481* **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.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 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 483 

484<h3 id="when-auto-mode-falls-back">484<h3 id="when-auto-mode-falls-back">

485 Quand le mode auto revient en arrière485 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 :488Quand le mode auto ne peut pas approuver les actions de votre session, ce qui se passe dépend du cas :

489 489 

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

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

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

496<h4 id="repeated-block-thresholds">496<h4 id="repeated-block-thresholds">

497 Seuils de blocs répétés497 Seuils de bloc répété

498</h4>498</h4>

499 499 

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


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

519 * Les écritures vers [chemins protégés](#protected-paths) sont acheminées vers le classificateur même quand une règle allow correspond519 * 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)520 * 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 Code521 * 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ôtes522 * 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 permission523 * 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é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é

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 invite525 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 signale526 * 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 invite527 * 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ée528 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)529 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 530 

531 En entrant en mode auto, les larges règles allow qui accordent l'exécution de code arbitraire sont supprimées :531 En entrant en mode auto, les règles allow larges qui accordent l'exécution de code arbitraire sont supprimées :

532 532 

533 * Blanket `Bash(*)` ou `PowerShell(*)`533 * Blanket `Bash(*)` ou `PowerShell(*)`

534 * Interpréteurs avec caractères génériques comme `Bash(python*)`534 * Interpréteurs avec caractères génériques comme `Bash(python*)`

535 * Commandes d'exécution du gestionnaire de paquet535 * Commandes d'exécution du gestionnaire de paquet

536 * Règles `Agent` allow536 * 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 shell537 * Règles [`Monitor`](/docs/fr/tools-reference#monitor-tool) allow, car Claude Code exécute les commandes Monitor via le shell

538 538 

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

540 540 

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

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

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

546 546 

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).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, voir l'[annonce du mode auto](https://claude.com/blog/auto-mode) et la [plongée technique](/docs/fr/engineering/claude-code-auto-mode).

548 </Accordion>548 </Accordion>

549 549 

550 <Accordion title="Comment le mode auto gère les sous-agents">550 <Accordion title="Comment le mode auto gère les sous-agents">


556 </Accordion>556 </Accordion>

557 557 

558 <Accordion title="Coût et latence">558 <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.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 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 560 

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

562 562 

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

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

566 </Accordion>566 </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 :

Details

165 165 

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

167 167 

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.168Si 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 169 

170<h4 id="what-an-uninstall-deletes-and-keeps">170<h4 id="what-an-uninstall-deletes-and-keeps">

171 Ce qu'une désinstallation supprime et conserve171 Ce qu'une désinstallation supprime et conserve


709Supprimez la déclaration d'une marketplace de vos paramètres. `rm` est un alias pour `remove`.709Supprimez la déclaration d'une marketplace de vos paramètres. `rm` est un alias pour `remove`.

710 710 

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

713 

714 Pour actualiser une marketplace sans perdre ses plugins, exécutez `plugin marketplace update` à la place.

713</Warning>715</Warning>

714 716 

715```bash theme={null}717```bash theme={null}


728claude plugin marketplace remove your-marketplace730claude plugin marketplace remove your-marketplace

729```731```

730 732 

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

734 

735Si 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 736 

733<h3 id="plugin-marketplace-update">737<h3 id="plugin-marketplace-update">

734 plugin marketplace update738 plugin marketplace update

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

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


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

646 646 

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

648 648 

649<h3 id="installed-plugins-json-holds-a-record-this-version-cannot-read">

650 `installed_plugins.json holds a record under "<id>" that this version of Claude Code cannot read`

651</h3>

652 

653Le message s'affiche sous ces formes :

654 

655* **`claude plugin list`** : l'imprime comme une `Note:`

656* **`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

657* **`--json` sur l'une de ces trois commandes** : la ligne de résultat porte le même `message` et `failureCode: "install_records_unreadable"`

658* **Plusieurs de ces enregistrements** : le message lit `holds records under`

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

660 

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

662 

663Tant que l'enregistrement est là, cette version ne réécrit pas le fichier, donc l'enregistrement n'est pas perdu.

664 

665Prenez les options du message dans l'ordre :

666 

6671. Mettez à jour Claude Code avec `claude update`.

6682. Si vous ne pouvez pas mettre à jour, désinstallez le plugin nommé avec la version de Claude Code qui a écrit l'enregistrement.

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

670 

671<h3 id="installed-plugins-json-could-not-be-read-and-was-rebuilt">

672 `installed_plugins.json could not be read and was rebuilt`

673</h3>

674 

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

676 

677Un `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é.

678 

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

680 

681<h3 id="install-records-under-names-that-no-version-can-use">

682 `install records under names that no version of Claude Code can use were removed from installed_plugins.json`

683</h3>

684 

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

686 

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

688 

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

690 

649<h3 id="a-plugin-you-disabled-still-loads">691<h3 id="a-plugin-you-disabled-still-loads">

650 `Disabled in ~/.claude/settings.json but still loads`692 `Disabled in ~/.claude/settings.json but still loads`

651</h3>693</h3>


981| `Path contains "..": <path>` sous `plugins[N].source` | Erreur | Utilisez les chemins relatifs à la racine de la marketplace sans segments `..`. |1023| `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. |1024| `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. |1025| `Plugin name cannot contain control or bidirectional-formatting characters` | Erreur | Supprimez le caractère du `name` du plugin. |

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

1027| `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`. |1028| `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. |1029| `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. |1030| `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. |1031| `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. |1032| `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. |1033| `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

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

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

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 |


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`

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

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:


874 874 

875* **Langage naturel** : nommez le sous-agent dans votre invite ; Claude décide s'il faut déléguer875* **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âche876* **@-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`877* **À 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 878 

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

880 880 


895 895 

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

897 897 

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 :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 les restrictions d'outils et le modèle de ce sous-agent :

899 899 

900```bash theme={null}900```bash theme={null}

901claude --agent code-reviewer901claude --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

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 

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