SpyBara
Go Premium

Documentation 2026-10-14 22:58 UTC to 2026-10-15 23:58 UTC

43 files changed +1,725 −506. View all changes and history on the product overview
2026
Fri 30 23:01 Thu 29 23:57 Wed 28 23:57 Tue 27 22:59 Mon 26 22:57 Sun 25 23:58 Sat 24 22:59 Fri 23 22:59 Thu 22 22:58 Wed 21 23:02 Tue 20 23:00 Mon 19 23:58 Sat 17 23:57 Fri 16 22:59 Thu 15 23:58 Wed 14 22:58 Tue 13 23:57 Sun 11 23:57 Sat 10 23:01 Fri 9 23:02 Thu 8 22:58 Wed 7 23:59 Tue 6 23:59 Mon 5 23:58 Sun 4 23:58 Sat 3 23:57 Fri 2 22:59 Thu 1 23:59
Details

636| Limitation | Description |636| Limitation | Description |

637| - | - |637| - | - |

638| Outils Write/Edit/NotebookEdit uniquement | Les modifications effectuées via les commandes Bash ne sont pas suivies |638| Outils Write/Edit/NotebookEdit uniquement | Les modifications effectuées via les commandes Bash ne sont pas suivies |

639| Éditions de sous-agent | Les éditions qu'un [sous-agent](/docs/fr/agent-sdk/subagents) applique ne sont pas suivies ou restaurées, sauf une compétence avec `context: fork` s'exécutant au premier plan ; utilisez git pour annuler les éditions non suivies |639| Éditions de sous-agent | Les éditions qu'un [sous-agent](/docs/fr/agent-sdk/subagents) applique ne sont pas suivies, sauf un skill avec `context: fork` s'exécutant au premier plan. Un rembobinage ne les annule que dans les fichiers que la conversation principale avait déjà modifiés ; utilisez git pour annuler le reste |

640| Même session | Les points de contrôle sont liés à la session qui les a créés |640| Même session | Les points de contrôle sont liés à la session qui les a créés |

641| Contenu du fichier uniquement | La création, le déplacement ou la suppression de répertoires ne sont pas annulés par le rembobinage |641| Contenu du fichier uniquement | La création, le déplacement ou la suppression de répertoires ne sont pas annulés par le rembobinage |

642| Fichiers locaux | Les fichiers distants ou réseau ne sont pas suivis |642| Fichiers locaux | Les fichiers distants ou réseau ne sont pas suivis |

Details

17 17 

18Ce guide explique comment le SDK émet la télémétrie, comment configurer l'export et comment étiqueter et filtrer les données une fois qu'elles atteignent votre backend. Pour lire l'utilisation des tokens et les coûts directement à partir du flux de réponse du SDK au lieu d'exporter vers un backend, consultez [Suivre les coûts et l'utilisation](/docs/fr/agent-sdk/cost-tracking).18Ce guide explique comment le SDK émet la télémétrie, comment configurer l'export et comment étiqueter et filtrer les données une fois qu'elles atteignent votre backend. Pour lire l'utilisation des tokens et les coûts directement à partir du flux de réponse du SDK au lieu d'exporter vers un backend, consultez [Suivre les coûts et l'utilisation](/docs/fr/agent-sdk/cost-tracking).

19 19 

20<Note>

21 Pour l'API Claude ou Managed Agents, consultez [OpenTelemetry pour l'API Claude](https://platform.claude.com/docs/en/manage-claude/opentelemetry).

22</Note>

23 

20<h2 id="how-telemetry-flows-from-the-sdk">24<h2 id="how-telemetry-flows-from-the-sdk">

21 Comment la télémétrie circule depuis le SDK25 Comment la télémétrie circule depuis le SDK

22</h2>26</h2>

Details

1700 1700 

1701Un message utilisateur produit par un sous-agent, comme le `tool_result` de l'un de ses propres appels d'outils, porte `agent_id`. Consultez [`SDKAssistantMessage`](#sdkassistantmessage), qui définit ce champ et la version requise.1701Un message utilisateur produit par un sous-agent, comme le `tool_result` de l'un de ses propres appels d'outils, porte `agent_id`. Consultez [`SDKAssistantMessage`](#sdkassistantmessage), qui définit ce champ et la version requise.

1702 1702 

1703Sur un message qui porte un bloc `tool_result`, `tool_use_result` est l'objet de sortie structurée de l'outil plutôt que le texte envoyé au modèle. Sa forme dépend de l'outil nommé par le bloc `tool_use` correspondant : le champ est donc typé `unknown` ; les formes intégrées sont répertoriées sous [Types de sortie des outils](#tool-output-types). Ces résultats nécessitent un traitement qui va au-delà de leur forme répertoriée :1703Sur un message qui porte un bloc `tool_result`, `tool_use_result` est l'objet de sortie structurée de l'outil plutôt que le texte envoyé au modèle. Sa forme dépend de l'outil nommé par le bloc `tool_use` correspondant : le champ est donc typé `unknown` ; les formes intégrées sont répertoriées sous [Types de sortie d'outils](#tool-output-types). Ces résultats nécessitent un traitement qui va au-delà de leur forme répertoriée :

1704 1704 

1705* L'outil `Agent` : `tool_use_result` est [`AgentOutput`](#agent-2). Effectuez le rendu à partir de celui-ci plutôt que d'analyser le texte du `tool_result`. Le `content` d'un résultat `completed` contient le rapport du sous-agent ou, pour un sous-agent dont le rapport passe par un appel d'outil `SubagentHandback`, une courte note sur cette remise à la place du rapport. En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) sur Claude Code v2.1.271 ou version ultérieure, tout sous-agent qui produit un résultat `completed` fait son rapport de cette façon, sauf s'il s'agit d'un [fork](/docs/fr/sub-agents#fork-the-current-conversation), et Claude reçoit le rapport sous la forme d'un message distinct provenant du sous-agent.1705* L'outil `Agent` : `tool_use_result` est [`AgentOutput`](#agent-2). Effectuez le rendu à partir de celui-ci plutôt que d'analyser le texte du `tool_result`. Le `content` d'un résultat `completed` contient le rapport du sous-agent ou, pour un sous-agent dont le rapport passe par un appel d'outil `SubagentHandback`, une courte note sur cette remise à la place du rapport. En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) sur Claude Code v2.1.271 ou version ultérieure, tout sous-agent qui produit un résultat `completed` fait son rapport de cette façon, sauf s'il s'agit d'un [fork](/docs/fr/sub-agents#fork-the-current-conversation), et Claude reçoit le rapport sous la forme d'un message distinct provenant du sous-agent.

1706* Un appel WebFetch ou WebSearch que Claude Code a déplacé en arrière-plan pour livrer un message `'now'` : le message utilisateur qui porte le `tool_result` de cet appel a `tool_use_result` défini sur `{ detachedToolCall: true }`. L'appel est toujours en cours et Claude reçoit son résultat une fois qu'il est terminé. Aucun second `tool_result` pour ce `tool_use_id` ne suit : si votre application affiche une ligne pour chaque appel d'outil, marquez donc cette ligne comme déplacée en arrière-plan lorsque ce message arrive. Nécessite Claude Code v2.1.287 ou version ultérieure.1706* Un appel WebFetch ou WebSearch que Claude Code a déplacé en arrière-plan pour livrer un message `'now'` : le message utilisateur qui porte le `tool_result` de cet appel a `tool_use_result` défini sur `{ detachedToolCall: true }`. L'appel est toujours en cours et Claude reçoit son résultat une fois qu'il est terminé. Aucun second `tool_result` pour ce `tool_use_id` ne suit : si votre application affiche une ligne pour chaque appel d'outil, marquez donc cette ligne comme déplacée en arrière-plan lorsque ce message arrive. Nécessite Claude Code v2.1.287 ou version ultérieure.


6173 6173 

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

6175 6175 

6176Claude Code émet également ce message lorsque les [prompts](/docs/fr/mcp#use-mcp-prompts-as-commands) d'un serveur MCP rejoignent ou quittent la liste, par exemple lorsqu'un serveur termine la connexion après le démarrage de la session. Cela nécessite Claude Code v2.1.281 ou version ultérieure.6176Claude Code émet également ce message lorsque les [prompts](/docs/fr/mcp#use-mcp-prompts-as-commands) d'un serveur MCP rejoignent ou quittent la liste, par exemple lorsqu'un serveur termine de se connecter après le démarrage de la session. Cela nécessite Claude Code v2.1.281 ou version ultérieure.

6177 6177 

6178```typescript theme={null}6178```typescript theme={null}

6179type SDKCommandsChangedMessage = {6179type SDKCommandsChangedMessage = {

agent-view.md +5 −5

Details

500 Ce qui est transféré quand vous mettez en arrière-plan500 Ce qui est transféré quand vous mettez en arrière-plan

501</h4>501</h4>

502 502 

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

504 504 

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

506 506 

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

508 508 

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

510 510 


949 Le backgrounding affiche une boîte de dialogue `Background this session?`949 Le backgrounding affiche une boîte de dialogue `Background this session?`

950</h3>950</h3>

951 951 

952Si vous appuyez sur `←` pour mettre en arrière-plan la session actuelle et que Claude Code affiche une boîte de dialogue `Background this session?`, la session a du travail en cours que la mise en arrière-plan arrêterait, redémarrerait ou laisserait s'exécuter sans surveillance, et Claude Code demande avant de faire l'une de ces actions :952Si vous appuyez sur `←` pour mettre en arrière-plan la session actuelle et que Claude Code affiche une boîte de dialogue `Background this session?`, la session a du travail en arrière-plan en cours que la mise en arrière-plan arrêterait, redémarrerait ou laisserait s'exécuter sans surveillance, et Claude Code demande avant de faire l'une de ces actions :

953 953 

954* **Travail qui ne peut pas être déplacé** : la session a du travail qui ne peut pas être déplacé vers la session en arrière-plan, comme un [monitor](/docs/fr/tools-reference#monitor-tool) en cours d'exécution. La boîte de dialogue nomme le travail que Claude Code arrêterait et, séparément, compte les tâches qui sont transférées.954* **Travail qui ne peut pas être déplacé** : la session a du travail qui ne peut pas être déplacé vers la session en arrière-plan, comme un [monitor](/docs/fr/tools-reference#monitor-tool) en cours d'exécution. La boîte de dialogue nomme le travail en arrière-plan que Claude Code arrêterait et, séparément, compte les tâches qui sont transférées.

955* **Un workflow avec des sous-agents en cours d'exécution** : un [workflow dynamique](/docs/fr/workflows) a toujours des sous-agents en cours d'exécution. Le workflow lui-même est transféré, mais ses sous-agents en cours d'exécution redémarrent depuis le début, et la boîte de dialogue indique combien.955* **Un workflow avec des sous-agents en cours d'exécution** : un [workflow dynamique](/docs/fr/workflows) a toujours des sous-agents en cours d'exécution. Le workflow lui-même est transféré, mais ses sous-agents en cours d'exécution redémarrent depuis le début, et la boîte de dialogue indique combien.

956* **Réponses automatiques aux artefacts** : Claude [répond aux commentaires sur un artefact de sa propre initiative](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Ces réponses continuent dans la session en arrière-plan, et la boîte de dialogue le dit.956* **Réponses automatiques aux artefacts** : Claude [répond aux commentaires sur un artefact de sa propre initiative](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Ces réponses continuent dans la session en arrière-plan, et la boîte de dialogue le dit.

957 957 


1175| v2.1.199 | Une session en arrière-plan dont le processus se termine avant de finir de démarrer sur un hôte à faible mémoire affiche `possibly low memory — free some up and retry` dans le statut de sa ligne au lieu de la seule raison de sortie brute. Mettre en arrière-plan une session avec `←` ou `/background` transfère son `/color` vers la nouvelle ligne. |1175| v2.1.199 | Une session en arrière-plan dont le processus se termine avant de finir de démarrer sur un hôte à faible mémoire affiche `possibly low memory — free some up and retry` dans le statut de sa ligne au lieu de la seule raison de sortie brute. Mettre en arrière-plan une session avec `←` ou `/background` transfère son `/color` vers la nouvelle ligne. |

1176| v2.1.198 | La vue agent envoie une notification via `preferredNotifChannel` quand une session en arrière-plan a besoin d'une entrée, se termine ou échoue, et déclenche le hook `Notification` avec le type `agent_needs_input` ou `agent_completed`. `←` et `/exit` à l'intérieur de `claude attach <id>` reviennent à la vue agent au lieu de quitter vers le shell ; `Ctrl+Z` revient au shell. Une session en arrière-plan qui a isolé son travail dans un worktree crée un commit, pousse sa propre branche isolée, jamais `main` ou `master`, et ouvre une pull request en brouillon quand elle se termine au lieu de demander d'abord. `/login` s'exécute dans la vue agent et ouvre la boîte de dialogue de connexion. La boîte de dialogue de sortie `Background work is running` propose `Move to background and exit`. Le transfert à la sortie couvre également les sous-agents en arrière-plan, qui reprennent à partir de leur transcription au prochain réveil au lieu d'être signalés comme échoués. `claude --bg` combiné avec `-p` ou `--print` est rejeté avec une erreur. L'hôte de session en arrière-plan demande la permission de réseau local macOS au premier accès au LAN au lieu d'échouer avec `connect: no route to host`. |1176| v2.1.198 | La vue agent envoie une notification via `preferredNotifChannel` quand une session en arrière-plan a besoin d'une entrée, se termine ou échoue, et déclenche le hook `Notification` avec le type `agent_needs_input` ou `agent_completed`. `←` et `/exit` à l'intérieur de `claude attach <id>` reviennent à la vue agent au lieu de quitter vers le shell ; `Ctrl+Z` revient au shell. Une session en arrière-plan qui a isolé son travail dans un worktree crée un commit, pousse sa propre branche isolée, jamais `main` ou `master`, et ouvre une pull request en brouillon quand elle se termine au lieu de demander d'abord. `/login` s'exécute dans la vue agent et ouvre la boîte de dialogue de connexion. La boîte de dialogue de sortie `Background work is running` propose `Move to background and exit`. Le transfert à la sortie couvre également les sous-agents en arrière-plan, qui reprennent à partir de leur transcription au prochain réveil au lieu d'être signalés comme échoués. `claude --bg` combiné avec `-p` ou `--print` est rejeté avec une erreur. L'hôte de session en arrière-plan demande la permission de réseau local macOS au premier accès au LAN au lieu d'échouer avec `connect: no route to host`. |

1177| v2.1.196 | Une seule pression sur `←` met en arrière-plan une session au premier plan ; les versions antérieures nécessitaient deux pressions, avec un indice de pied de page et une confirmation. `--dangerously-skip-permissions` passé à `claude agents` affiche l'avertissement de contournement au lieu d'être silencieusement supprimé. Les sessions interactives que vous n'avez jamais nommées portent un nom par défaut comme `my-app-3f` dans les listes de sessions et `claude agents --json`. Les commandes shell en arrière-plan et les workflows dynamiques survivent à l'arrêt, au redémarrage ou à la mise à jour du processus de la session, y compris sur Windows ; définissez `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` pour désactiver le transfert. Une transcription lue à tort comme vide au redémarrage est renommée avec un suffixe `.orphaned-` au lieu d'être supprimée. |1177| v2.1.196 | Une seule pression sur `←` met en arrière-plan une session au premier plan ; les versions antérieures nécessitaient deux pressions, avec un indice de pied de page et une confirmation. `--dangerously-skip-permissions` passé à `claude agents` affiche l'avertissement de contournement au lieu d'être silencieusement supprimé. Les sessions interactives que vous n'avez jamais nommées portent un nom par défaut comme `my-app-3f` dans les listes de sessions et `claude agents --json`. Les commandes shell en arrière-plan et les workflows dynamiques survivent à l'arrêt, au redémarrage ou à la mise à jour du processus de la session, y compris sur Windows ; définissez `CLAUDE_CODE_DISABLE_BG_EXIT_HANDOFF=1` pour désactiver le transfert. Une transcription lue à tort comme vide au redémarrage est renommée avec un suffixe `.orphaned-` au lieu d'être supprimée. |

1178| v2.1.195 | Le travail en cours est aussi transféré quand vous mettez en arrière-plan une session sur Windows ; définissez `CLAUDE_DISABLE_ADOPT=1` pour l'arrêter à la place. Le groupe `Completed` remplit l'espace vertical restant et l'en-tête se compacte sur les terminaux de faible hauteur. Une version plus ancienne de Claude Code ne supprime plus les champs `state.json` des sessions plus récentes et ne cache plus ces sessions de `claude agents`. S'attacher à une session arrêtée bascule immédiatement au lieu d'afficher un écran vide pendant jusqu'à cinq secondes. Un superviseur qui ne peut pas accepter les connexions quitte et libère son verrou de lui-même. |1178| v2.1.195 | Le travail en arrière-plan en cours est aussi transféré quand vous mettez en arrière-plan une session sur Windows ; définissez `CLAUDE_DISABLE_ADOPT=1` pour l'arrêter à la place. Le groupe `Completed` remplit l'espace vertical restant et l'en-tête se compacte sur les terminaux de faible hauteur. Une version plus ancienne de Claude Code ne supprime plus les champs `state.json` des sessions plus récentes et ne cache plus ces sessions de `claude agents`. S'attacher à une session arrêtée bascule immédiatement au lieu d'afficher un écran vide pendant jusqu'à cinq secondes. Un superviseur qui ne peut pas accepter les connexions quitte et libère son verrou de lui-même. |

1179| v2.1.191 | `claude --bg` avec un nom `--agent` qui ne correspond à aucun de vos sous-agents fait échouer le lancement : la session quitte immédiatement avec une erreur `--agent '<name>' not found` au lieu de s'exécuter avec l'agent par défaut. |1179| v2.1.191 | `claude --bg` avec un nom `--agent` qui ne correspond à aucun de vos sous-agents fait échouer le lancement : la session quitte immédiatement avec une erreur `--agent '<name>' not found` au lieu de s'exécuter avec l'agent par défaut. |

1180| v2.1.174 | Les sessions en arrière-plan n'héritent plus des variables d'endpoint de passerelle comme `ANTHROPIC_BASE_URL` du shell de lancement du superviseur ; le superviseur fournit un nouvel instantané d'identifiants aux workers préchauffés, corrigeant les erreurs `Could not resolve authentication method` intempestives. |1180| v2.1.174 | Les sessions en arrière-plan n'héritent plus des variables d'endpoint de passerelle comme `ANTHROPIC_BASE_URL` du shell de lancement du superviseur ; le superviseur fournit un nouvel instantané d'identifiants aux workers préchauffés, corrigeant les erreurs `Could not resolve authentication method` intempestives. |

1181| v2.1.172 | `/model` dans l'entrée de dispatch définit un remplacement du modèle de dispatch limité à la session. |1181| v2.1.172 | `/model` dans l'entrée de dispatch définit un remplacement du modèle de dispatch limité à la session. |

analytics.md +2 −0

Details

13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | Métriques d'utilisation, métriques de contribution avec intégration GitHub, classement, export de données | [Détails](#access-analytics-for-team-and-enterprise) |13| Claude for Teams / Enterprise | [claude.ai/analytics/claude-code](https://claude.ai/analytics/claude-code) | Métriques d'utilisation, métriques de contribution avec intégration GitHub, classement, export de données | [Détails](#access-analytics-for-team-and-enterprise) |

14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | Métriques d'utilisation, suivi des dépenses, insights d'équipe | [Détails](#access-analytics-for-api-customers) |14| API (Claude Console) | [platform.claude.com/claude-code](https://platform.claude.com/claude-code) | Métriques d'utilisation, suivi des dépenses, insights d'équipe | [Détails](#access-analytics-for-api-customers) |

15 15 

16Code Review dispose de son propre tableau de bord. Pour l'activité de revue et les dépenses, consultez [Afficher l'utilisation](/docs/fr/code-review-costs#view-usage).

17 

16<h2 id="access-analytics-for-team-and-enterprise">18<h2 id="access-analytics-for-team-and-enterprise">

17 Accéder à l'analytique pour Teams et Enterprise19 Accéder à l'analytique pour Teams et Enterprise

18</h2>20</h2>

artifacts.md +5 −3

Details

75| La session est en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) | Demande avant la première publication de chaque artefact |75| La session est en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode) | Demande avant la première publication de chaque artefact |

76| La publication déclare des capacités d'exécution pour la page, comme des [appels de connecteur](#pull-live-data-with-mcp-connectors) ou des [téléchargements de fichiers](#offer-a-file-download) | Demande avant cette publication |76| La publication déclare des capacités d'exécution pour la page, comme des [appels de connecteur](#pull-live-data-with-mcp-connectors) ou des [téléchargements de fichiers](#offer-a-file-download) | Demande avant cette publication |

77| Vous avez partagé l'artefact publiquement | Demande une fois par conversation avant de le modifier |77| Vous avez partagé l'artefact publiquement | Demande une fois par conversation avant de le modifier |

78| Vous avez désactivé la [récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching) | Demande avant la première publication de chaque artefact |

79| Claude publie lors d'un tour déclenché par une [tâche planifiée](/docs/fr/scheduled-tasks) s'exécutant dans votre session, plutôt que par un prompt que vous avez tapé | Demande avant la première publication de chaque artefact |78| Claude publie lors d'un tour déclenché par une [tâche planifiée](/docs/fr/scheduled-tasks) s'exécutant dans votre session, plutôt que par un prompt que vous avez tapé | Demande avant la première publication de chaque artefact |

80| Claude ne peut pas lire le fichier sans votre approbation | Demande avant de le publier. Une règle d'autorisation pour l'outil `Artifact` ne permet pas d'ignorer cette demande |79| Claude ne peut pas lire le fichier sans votre approbation | Demande avant de le publier. Une règle d'autorisation pour l'outil `Artifact` ne permet pas d'ignorer cette demande |

80| En mode [Manual](/docs/fr/permission-modes) ou `acceptEdits`, Claude apporte une petite modification au fichier d'un artefact qu'il ne peut pas modifier sans votre approbation, comme un fichier du projet en mode Manual | Demande avant de publier la modification. La demande vous est présentée même si une règle d'autorisation couvre l'outil `Artifact`, car la modification du fichier nécessite votre approbation |

81 81 

82Claude lit sans demander les fichiers situés dans les [répertoires de travail](/docs/fr/permissions#working-directories) de votre session, ainsi que dans le répertoire temporaire où il écrit les pages. Pour permettre à Claude de publier depuis un autre dossier sans demande, ajoutez ce dossier comme répertoire de travail avec [`--add-dir`](/docs/fr/cli-reference#cli-flags) au lancement ou `/add-dir` pendant la session.82Pour permettre à Claude de lire un fichier situé en dehors de vos [répertoires de travail](/docs/fr/permissions#working-directories) sans votre approbation, ajoutez son dossier comme répertoire de travail avec [`--add-dir`](/docs/fr/cli-reference#cli-flags) au lancement ou `/add-dir` pendant la session. Claude lit déjà sans demander les fichiers de ces répertoires, ainsi que ceux du répertoire temporaire où il écrit les pages.

83 

84Si une demande de publication inclut une phrase telle que `Also makes 1 edit to that file on disk.`, Claude modifie le fichier de l'artefact et le publie en une seule étape. Lorsque vous approuvez la demande, Claude Code publie la page, puis écrit la modification dans votre fichier.

83 85 

84<h2 id="update-an-artifact">86<h2 id="update-an-artifact">

85 Mettre à jour un artifact87 Mettre à jour un artifact


149* **Session cloud sans accès réseau** : pour un [environnement cloud](/docs/fr/cloud-environments#access-levels), il s'agit du niveau **None**. En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), le classifieur peut approuver à votre place ; dans une session [Cowork](https://claude.com/product/cowork), l'approbation vous revient exclusivement.151* **Session cloud sans accès réseau** : pour un [environnement cloud](/docs/fr/cloud-environments#access-levels), il s'agit du niveau **None**. En [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), le classifieur peut approuver à votre place ; dans une session [Cowork](https://claude.com/product/cowork), l'approbation vous revient exclusivement.

150* **Artefact public d'une autre organisation** : Claude Code vous demande d'abord, même en mode auto. Lorsque Claude Code ne peut pas vous demander, par exemple en mode `bypassPermissions`, Claude ne peut pas lire l'artefact. Claude ne peut lire ces artefacts que lorsque la [récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching) est activée.152* **Artefact public d'une autre organisation** : Claude Code vous demande d'abord, même en mode auto. Lorsque Claude Code ne peut pas vous demander, par exemple en mode `bypassPermissions`, Claude ne peut pas lire l'artefact. Claude ne peut lire ces artefacts que lorsque la [récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching) est activée.

151* **Propriétaire ou paramètre réseau non confirmé** : lorsque Claude Code ne peut pas confirmer qui a créé l'artefact, ou ne peut pas confirmer le paramètre réseau d'une session cloud, il vous demande, et votre approbation couvre uniquement cette requête.153* **Propriétaire ou paramètre réseau non confirmé** : lorsque Claude Code ne peut pas confirmer qui a créé l'artefact, ou ne peut pas confirmer le paramètre réseau d'une session cloud, il vous demande, et votre approbation couvre uniquement cette requête.

152* **Mode plan, ou récupération des feature flags désactivée** : en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode), ou si vous avez désactivé la [récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching), Claude Code demande avant que l'outil Artifact ne lise un artefact créé par quelqu'un d'autre dans votre organisation.154* **Mode plan** : en [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode), Claude Code demande avant que l'outil Artifact ne lise un artefact créé par quelqu'un d'autre dans votre organisation.

153 155 

154Lorsque Claude lit l'artefact avec WebFetch, les propres [règles de demande de permission](/docs/fr/tools-reference#webfetch-tool-behavior) de WebFetch continuent de s'appliquer.156Lorsque Claude lit l'artefact avec WebFetch, les propres [règles de demande de permission](/docs/fr/tools-reference#webfetch-tool-behavior) de WebFetch continuent de s'appliquer.

155 157 

Details

102Un [subagent](/docs/fr/sub-agents) effectue des modifications avec les outils d'édition de fichiers de Claude, mais Claude Code ne capture généralement pas ces modifications dans les checkpoints de votre session. Le fait que le rembobinage les restaure dépend de la façon dont le subagent s'exécute :102Un [subagent](/docs/fr/sub-agents) effectue des modifications avec les outils d'édition de fichiers de Claude, mais Claude Code ne capture généralement pas ces modifications dans les checkpoints de votre session. Le fait que le rembobinage les restaure dépend de la façon dont le subagent s'exécute :

103 103 

104* **Skill forké en avant-plan** : un [skill avec `context: fork`](/docs/fr/skills#run-skills-in-a-subagent) qui s'exécute en avant-plan modifie votre arborescence de travail pendant votre propre tour, donc le rembobinage restaure ses modifications comme d'habitude. Définissez `background: false` pour exécuter un fork en avant-plan ; quelques situations, [listées sur la page des skills](/docs/fr/skills#run-skills-in-a-subagent), l'exécutent là-bas indépendamment du paramètre.104* **Skill forké en avant-plan** : un [skill avec `context: fork`](/docs/fr/skills#run-skills-in-a-subagent) qui s'exécute en avant-plan modifie votre arborescence de travail pendant votre propre tour, donc le rembobinage restaure ses modifications comme d'habitude. Définissez `background: false` pour exécuter un fork en avant-plan ; quelques situations, [listées sur la page des skills](/docs/fr/skills#run-skills-in-a-subagent), l'exécutent là-bas indépendamment du paramètre.

105* **Tout autre subagent** : le rembobinage ne restaure pas les modifications. Utilisez git pour les annuler. Cela inclut un skill forké qui s'exécute en arrière-plan, le paramètre par défaut, et une exécution [`/code-review --fix`](/docs/fr/code-review) en arrière-plan.105* **Tout autre sous-agent** : le rembobinage restaure uniquement les fichiers que Claude avait déjà modifiés dans votre conversation. Les modifications du sous-agent sur les autres fichiers sont conservées ; utilisez donc git pour les annuler. Cela inclut un skill forké qui s'exécute en arrière-plan, le comportement par défaut, et une exécution [`/code-review --fix`](/docs/fr/code-review-local) en arrière-plan.

106 106 

107<h3 id="external-changes-not-tracked">107<h3 id="external-changes-not-tracked">

108 Les modifications externes ne sont pas suivies108 Les modifications externes ne sont pas suivies

Details

64Consultez [Connecter depuis votre terminal](/docs/fr/web-quickstart#connect-from-your-terminal) pour la procédure pas à pas de `/web-setup`, y compris ce que `/web-setup` stocke et comment le supprimer.64Consultez [Connecter depuis votre terminal](/docs/fr/web-quickstart#connect-from-your-terminal) pour la procédure pas à pas de `/web-setup`, y compris ce que `/web-setup` stocke et comment le supprimer.

65 65 

66<Note>66<Note>

67 Les organisations avec [Zéro rétention de données](/docs/fr/zero-data-retention) activée, ou avec la [configuration HIPAA](/docs/fr/hipaa-setup) appliquée, ne peuvent pas utiliser `/web-setup` ou d'autres fonctionnalités de session cloud.67 Les organisations avec [Zéro rétention de données](/docs/fr/zero-data-retention) activée, ou avec la [configuration HIPAA](/docs/fr/hipaa-setup) appliquée, ne peuvent pas utiliser `/web-setup` ou d'autres fonctionnalités de session cloud. Les organisations qui utilisent des [clés de chiffrement gérées par le client](https://platform.claude.com/docs/en/manage-claude/cmek) (CMEK) ne peuvent pas non plus démarrer de sessions cloud.

68</Note>68</Note>

69 69 

70<h3 id="quick-setup-for-team-and-enterprise">70<h3 id="quick-setup-for-team-and-enterprise">

Details

559 559 

560Le `matcher` limite le crochet aux événements `startup` et `resume`, et `$CLAUDE_PROJECT_DIR` se résout à la racine du dépôt, donc le crochet trouve le script quel que soit le répertoire de travail de la session.560Le `matcher` limite le crochet aux événements `startup` et `resume`, et `$CLAUDE_PROJECT_DIR` se résout à la racine du dépôt, donc le crochet trouve le script quel que soit le répertoire de travail de la session.

561 561 

562Ensuite, créez le script sur `scripts/install_pkgs.sh`. Il quitte immédiatement en dehors du cloud, puis installe vos dépendances :562Ensuite, créez le script sur `scripts/install_pkgs.sh`. Il quitte immédiatement en dehors du cloud, puis installe vos dépendances. Il ignore `npm install` tant que `package.json`, `package-lock.json` et le script lui-même n'ont pas changé depuis la dernière installation réussie :

563 563 

564```bash theme={null}564```bash theme={null}

565#!/bin/bash565#!/bin/bash


568 exit 0568 exit 0

569fi569fi

570 570 

571npm install571cd "$CLAUDE_PROJECT_DIR" || exit 1

572hashes=node_modules/.install_pkgs.sha256

573 

574if ! sha256sum --check --status "$hashes" 2>/dev/null; then

575 # Delete the old hashes first, so a failed install runs again next time

576 rm -f "$hashes"

577 if npm install; then

578 sha256sum scripts/install_pkgs.sh package.json package-lock.json > "$hashes" || rm -f "$hashes"

579 fi

580fi

581 

582# pip skips requirements that are already satisfied

572pip install -r requirements.txt583pip install -r requirements.txt

573exit 0584exit 0

574```585```

575 586 

576La vérification `CLAUDE_CODE_REMOTE` est ce qui limite l'installation aux sessions cloud : la VM de la session porte cette variable comme `true`, elle n'est jamais `true` localement, donc sur votre ordinateur portable le script quitte avant d'installer quoi que ce soit.587La vérification `CLAUDE_CODE_REMOTE` est ce qui limite l'installation aux sessions cloud : la VM de la session porte cette variable comme `true`, elle n'est jamais `true` localement, donc sur votre ordinateur portable le script quitte avant d'installer quoi que ce soit.

577 588 

578Ensemble, les deux fichiers donnent à chaque session cloud un `npm install` et `pip install` frais au démarrage tout en laissant les sessions locales intactes.589Pour confirmer que `npm install` a réussi, démarrez une session cloud et demandez à Claude d'afficher `node_modules/.install_pkgs.sha256`. Le fichier liste un hash pour chacun des trois fichiers. Si le fichier est absent, demandez à Claude d'exécuter `npm install` et de signaler l'erreur.

590 

591<Note>

592 Si `npm install` lit d'autres fichiers, comme le `package.json` d'un espace de travail, un `.npmrc` ou les entrées de votre script `postinstall`, ajoutez-les à la commande `sha256sum` qui enregistre les hashs. Sinon, vous conservez les anciens paquets après la modification de l'un de ces fichiers.

593</Note>

579 594 

580<h4 id="limitations-in-cloud-sessions">595<h4 id="limitations-in-cloud-sessions">

581 Limitations dans les sessions cloud596 Limitations dans les sessions cloud


587* **Pas de limitation au cloud uniquement** : les crochets s'exécutent dans les sessions locales et cloud. Pour ignorer l'exécution locale, quittez tôt sauf si la variable d'environnement `CLAUDE_CODE_REMOTE` est `true`, de la même manière que le [script d'installation de dépendances](#install-dependencies-with-a-sessionstart-hook) le fait.602* **Pas de limitation au cloud uniquement** : les crochets s'exécutent dans les sessions locales et cloud. Pour ignorer l'exécution locale, quittez tôt sauf si la variable d'environnement `CLAUDE_CODE_REMOTE` est `true`, de la même manière que le [script d'installation de dépendances](#install-dependencies-with-a-sessionstart-hook) le fait.

588* **Nécessite un accès réseau** : les commandes d'installation doivent atteindre les registres de paquets. Si votre environnement utilise un accès réseau **None**, ces crochets échouent. La [liste d'autorisation par défaut](#default-allowed-domains) sous **Trusted** couvre npm, PyPI, RubyGems et crates.io.603* **Nécessite un accès réseau** : les commandes d'installation doivent atteindre les registres de paquets. Si votre environnement utilise un accès réseau **None**, ces crochets échouent. La [liste d'autorisation par défaut](#default-allowed-domains) sous **Trusted** couvre npm, PyPI, RubyGems et crates.io.

589* **Compatibilité proxy** : dans les environnements hébergés par Anthropic, tout le trafic sortant passe par un [proxy de sécurité](#security-proxy), et certains gestionnaires de paquets ne fonctionnent pas correctement avec lui ; Bun est un exemple connu. Dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#default-deny-egress), le trafic sortant va via votre propre limite réseau à la place.604* **Compatibilité proxy** : dans les environnements hébergés par Anthropic, tout le trafic sortant passe par un [proxy de sécurité](#security-proxy), et certains gestionnaires de paquets ne fonctionnent pas correctement avec lui ; Bun est un exemple connu. Dans un [environnement auto-hébergé](/docs/fr/self-hosted-environments-deploy#default-deny-egress), le trafic sortant va via votre propre limite réseau à la place.

590* **Ajoute une latence de démarrage** : les crochets s'exécutent chaque fois qu'une session démarre ou reprend, contrairement aux scripts de configuration qui bénéficient de la [mise en cache d'environnement](#environment-caching). Gardez les scripts d'installation rapides en vérifiant si les dépendances sont déjà présentes avant de réinstaller.605* **Ajoute une latence de démarrage** : les hooks s'exécutent chaque fois qu'une session démarre ou reprend, contrairement aux scripts de configuration qui bénéficient de la [mise en cache d'environnement](#environment-caching). Gardez les scripts d'installation rapides en ignorant le travail déjà effectué, de la même manière que le [script d'installation de dépendances](#install-dependencies-with-a-sessionstart-hook) le fait.

591 606 

592Pour personnaliser l'image de base, utilisez un script de configuration pour installer ce dont vous avez besoin en haut de l'[image fournie](#installed-tools), ou exécutez votre propre image en tant que conteneur à côté de Claude avec `docker compose`. Remplacer l'image de base entièrement n'est pas encore supporté.607Pour personnaliser l'image de base, utilisez un script de configuration pour installer ce dont vous avez besoin en haut de l'[image fournie](#installed-tools), ou exécutez votre propre image en tant que conteneur à côté de Claude avec `docker compose`. Remplacer l'image de base entièrement n'est pas encore supporté.

593 608 

code-review.md +88 −391

Details

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

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

4 4 

5# Révision de code5# Code Review

6 6 

7> Configurez des révisions de PR automatisées qui détectent les erreurs logiques, les vulnérabilités de sécurité et les régressions en utilisant l'analyse multi-agents de votre base de code complète7> Détectez les bugs dans les pull requests GitHub avec Code Review : Claude examine chaque modification, vérifie ses résultats et publie des commentaires en ligne. Pour les plans Team et Enterprise

8 8 

9<Note>9Avec Code Review, Claude effectue la revue des pull requests de vos dépôts GitHub. Plusieurs agents lisent chaque modification ainsi que le code environnant, à la recherche de problèmes tels que des erreurs logiques, des vulnérabilités de sécurité ou des cas limites cassés. Une étape de vérification confronte les résultats au code avant qu'ils ne soient signalés.

10 Code Review est en research preview, disponible pour les abonnements [Team et Enterprise](https://claude.ai/admin-settings/claude-code). Il n'est pas disponible pour les organisations avec [Zero Data Retention](/docs/fr/zero-data-retention) activé ou avec la [configuration HIPAA](/docs/fr/hipaa-setup) appliquée, et n'est pas couvert par le BAA d'Anthropic. Sur les autres plans, vous pouvez toujours [examiner un diff localement](#review-a-diff-locally) avec la commande `/code-review`.

11</Note>

12 

13Code Review analyse vos pull requests GitHub et publie les résultats sous forme de commentaires en ligne sur les lignes de code où il a trouvé des problèmes. Une flotte d'agents spécialisés examine les modifications de code dans le contexte de votre base de code complète, en recherchant les erreurs logiques, les vulnérabilités de sécurité, les cas limites cassés et les régressions subtiles.

14 

15Les résultats sont étiquetés par gravité et n'approuvent ni ne bloquent votre PR, de sorte que les flux de travail d'examen existants restent intacts. Vous pouvez affiner ce que Claude signale en ajoutant un fichier `CLAUDE.md` ou `REVIEW.md` à votre référentiel.

16 

17Pour exécuter Claude dans votre propre infrastructure CI au lieu de ce service géré, consultez [GitHub Actions](/docs/fr/github-actions) ou [GitLab CI/CD](/docs/fr/gitlab-ci-cd). Pour les référentiels sur une instance GitHub auto-hébergée, consultez [GitHub Enterprise Server](/docs/fr/github-enterprise-server).

18 

19Cette page couvre :

20 

21* [Comment fonctionnent les révisions](#how-reviews-work)

22* [Configuration](#set-up-code-review)

23* [Déclenchement manuel des révisions](#manually-trigger-reviews) avec `@claude review` et `@claude review always`

24* [Personnalisation des révisions](#customize-reviews) avec `CLAUDE.md` et `REVIEW.md`

25* [Tarification](#pricing)

26* [Dépannage](#troubleshooting) des exécutions échouées et des commentaires manquants

27* [Révision d'une diff localement](#review-a-diff-locally) avec la commande `/code-review`

28 

29<h2 id="how-reviews-work">

30 Comment fonctionnent les révisions

31</h2>

32 

33Une fois qu'un administrateur [active Code Review](#set-up-code-review) pour votre organisation, les révisions se déclenchent à l'ouverture d'une PR, à chaque push, ou sur demande manuelle, selon le comportement configuré du référentiel. Commenter `@claude review` [démarre une révision sur une PR](#manually-trigger-reviews) dans n'importe quel mode.

34 

35Lorsqu'une révision s'exécute, plusieurs agents analysent le diff et le code environnant en parallèle sur l'infrastructure Anthropic. Chaque agent recherche une classe de problème différente, puis une étape de vérification vérifie les candidats par rapport au comportement réel du code pour filtrer les faux positifs. Les résultats sont dédupliqués, classés par gravité et publiés sous forme de commentaires en ligne sur les lignes spécifiques où les problèmes ont été trouvés, avec un résumé dans le corps de la révision. Si aucun problème n'est trouvé, Code Review met à jour la vérification GitHub pour montrer qu'aucun problème n'a été détecté. Claude peut également publier un court commentaire de confirmation sur la PR.

36 

37Les révisions s'adaptent en coût à la taille et à la complexité de la PR, se complétant en moyenne en 20 minutes. Les administrateurs peuvent surveiller l'activité de révision et les dépenses via le [tableau de bord analytique](#view-usage).

38 

39<h3 id="severity-levels">

40 Niveaux de gravité

41</h3>

42 

43Chaque résultat est étiqueté avec un niveau de gravité :

44 

45| Marqueur | Gravité | Signification |

46| :- | :- | :- |

47| 🔴 | Important | Un bug qui devrait être corrigé avant la fusion |

48| 🟡 | Nit | Un problème mineur, utile à corriger mais non bloquant |

49| 🟣 | Préexistant | Un bug qui existe dans la base de code mais n'a pas été introduit par cette PR |

50 

51Les résultats incluent une section réductible **Pourquoi ceci a été signalé** que vous pouvez développer pour lire pourquoi Claude a signalé le problème et comment il a vérifié le problème.

52 

53<h3 id="rate-and-reply-to-findings">

54 Évaluer et répondre aux résultats

55</h3>

56 

57Chaque commentaire de révision de Claude arrive avec 👍 et 👎 déjà attachés de sorte que les deux boutons apparaissent dans l'interface utilisateur GitHub pour un classement en un clic. Cliquez sur 👍 si le résultat était utile ou 👎 s'il était incorrect ou bruyant. Anthropic collecte les comptages de réactions après la fusion de la PR et les utilise pour affiner le réviseur. Les réactions ne déclenchent pas une re-révision ou ne changent rien sur la PR.

58 

59Répondre à un commentaire en ligne ne pousse pas Claude à répondre ou à mettre à jour la PR. Pour agir sur un résultat, corrigez le code et poussez. Si la PR est abonnée aux révisions déclenchées par push, la prochaine exécution résout le thread quand le problème est corrigé. Pour demander une révision fraîche sans pousser, commentez `@claude review` comme un [commentaire PR de haut niveau](#manually-trigger-reviews).

60 

61Pour rejeter un résultat sans modification du code, résolvez son thread ; répondre ne le rejette pas.

62 

63<h3 id="check-run-output">

64 Sortie de l'exécution de vérification

65</h3>

66 

67Au-delà des commentaires de révision en ligne, chaque révision remplit l'exécution de vérification **Claude Code Review** qui apparaît aux côtés de vos vérifications CI. Développez son lien **Details** pour voir un résumé de chaque résultat en un seul endroit, trié par gravité :

68 

69| Gravité | Fichier:Ligne | Problème |

70| - | - | - |

71| 🔴 Important | `src/auth/session.ts:142` | L'actualisation du token entre en concurrence avec la déconnexion, laissant les sessions obsolètes actives |

72| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry` retourne silencieusement 0 sur une entrée malformée |

73 

74Chaque résultat apparaît également comme une annotation dans l'onglet **Files changed**, marqué directement sur les lignes de diff pertinentes. Les résultats importants s'affichent avec un marqueur rouge, les nits avec un avertissement jaune, et les bugs préexistants avec un avis gris. Les annotations et le tableau de gravité sont écrits dans l'exécution de vérification indépendamment des commentaires de révision en ligne, de sorte qu'ils restent disponibles même si GitHub rejette un commentaire en ligne sur une ligne qui a bougé.

75 

76L'exécution de vérification se termine toujours avec une conclusion neutre, de sorte qu'elle ne bloque jamais la fusion via les règles de protection de branche. Si vous souhaitez conditionner les fusions aux résultats de Code Review, lisez la répartition de gravité à partir de la sortie de l'exécution de vérification dans votre propre CI. La dernière ligne du texte Details est un commentaire lisible par machine que votre flux de travail peut analyser avec `gh` et jq. Pour trouver l'ID de l'exécution de vérification, listez les exécutions de vérification du commit avec `gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'` et prenez l'`id` de l'exécution `Claude Code Review`. Remplacez `OWNER`, `REPO` et `CHECK_RUN_ID` par le propriétaire de votre référentiel, le nom du référentiel et cet ID :

77 

78```bash theme={null}

79gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \

80 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'

81```

82 

83Cela retourne un objet JSON avec des comptages par gravité, par exemple `{"normal": 2, "nit": 1, "pre_existing": 0}`. La clé `normal` contient le nombre de résultats importants ; une valeur non nulle signifie que Claude a trouvé au least un bug à corriger avant la fusion.

84 

85<h3 id="what-code-review-checks">

86 Ce que Code Review vérifie

87</h3>

88 

89Par défaut, Code Review se concentre sur la correction : les bugs qui cassent la production, pas les préférences de formatage ou la couverture de test manquante. Vous pouvez élargir ce qu'il vérifie en [ajoutant des fichiers de guidance](#customize-reviews) à votre référentiel.

90 

91<h2 id="set-up-code-review">

92 Configurer Code Review

93</h2>

94 

95Un propriétaire active Code Review une fois pour l'organisation et sélectionne les référentiels à inclure.

96 

97<Steps>

98 <Step title="Ouvrir les paramètres d'administration Claude Code">

99 Allez à [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) et trouvez la section Code Review. Vous avez besoin du rôle Propriétaire ou Propriétaire principal dans votre organisation Claude et de la permission d'installer des GitHub Apps dans votre organisation GitHub.

100 </Step>

101 

102 <Step title="Démarrer la configuration">

103 Cliquez sur **Setup**. Cela commence le flux d'installation de GitHub App.

104 </Step>

105 

106 <Step title="Installer la GitHub App Claude">

107 Suivez les invites pour installer la GitHub App Claude : choisissez l'organisation GitHub qui possède les référentiels que vous souhaitez examiner, sélectionnez les référentiels auxquels l'application peut accéder, et approuvez les permissions demandées.

108 

109 Pour examiner une demande de tirage, Claude lit le contenu de votre référentiel via l'accès en lecture de l'application, et publie des commentaires et l'[exécution de vérification](#check-run-output) via son accès en écriture aux demandes de tirage et aux vérifications. Lors de l'installation, vous accordez un ensemble de permissions plus large partagé par d'autres fonctionnalités Claude, telles que [GitHub Actions](/docs/fr/github-actions) ; consultez [Permissions de GitHub App](/docs/fr/github-actions#github-app-permissions) pour la liste complète.

110 </Step>

111 

112 <Step title="Sélectionner les référentiels">

113 Choisissez les référentiels à activer pour Code Review. Si vous ne voyez pas un référentiel, assurez-vous d'avoir donné à la GitHub App Claude l'accès pendant l'installation. Vous pouvez ajouter plus de référentiels plus tard.

114 </Step>

115 

116 <Step title="Définir les déclencheurs de révision par référentiel">

117 Une fois la configuration terminée, la section Code Review affiche vos référentiels dans un tableau. Pour chaque référentiel, utilisez la liste déroulante **Review Behavior** pour choisir quand les révisions s'exécutent :

118 

119 * **Once after PR creation** : la révision s'exécute une fois à l'ouverture d'une PR ou marquée comme prête pour révision

120 * **After every push** : la révision s'exécute à chaque push vers la branche PR, détectant les nouveaux problèmes à mesure que la PR évolue et résolvant automatiquement les threads lorsque vous corrigez les problèmes signalés

121 * **Manual** : l'ouverture ou le push vers une PR ne démarre pas une révision ; commentez [`@claude review`](#manually-trigger-reviews) pour en demander une, ou `@claude review always` pour également abonner la PR aux révisions lors des pushes ultérieurs

122 

123 Quelle que soit l'option que vous choisissez, Claude examine une [demande de tirage à partir d'une fourche](#review-pull-requests-from-forks) uniquement quand quelqu'un commente `@claude review` sur celle-ci.

124 

125 Réviser à chaque push exécute le plus de révisions et coûte le plus cher. Le mode manuel est utile pour les référentiels à fort trafic où vous souhaitez opter pour des PR spécifiques dans la révision, ou pour commencer à réviser vos PR uniquement une fois qu'elles sont prêtes.

126 </Step>

127</Steps>

128 

129Le tableau des référentiels affiche également le coût moyen par révision pour chaque référentiel en fonction de l'activité récente. Utilisez le menu d'actions de ligne pour activer ou désactiver Code Review par référentiel, ou pour supprimer complètement un référentiel.

130 

131Pour vérifier la configuration, ouvrez une PR de test. Si vous avez choisi un déclencheur automatique, une exécution de vérification nommée **Claude Code Review** apparaît dans quelques minutes. Si vous avez choisi Manual, commentez `@claude review` sur la PR pour démarrer la première révision. Si aucune exécution de vérification n'apparaît, confirmez que le référentiel est listé dans vos paramètres d'administration et que la GitHub App Claude y a accès.

132 10 

133<h2 id="manually-trigger-reviews">11Les résultats arrivent sous forme de commentaires en ligne sur les lignes concernées, classés par [gravité](/docs/fr/code-review-pull-requests#severity-levels), accompagnés d'un résumé et d'une exécution de vérification sur la pull request. Une revue n'approuve ni ne bloque jamais la pull request : la décision de fusionner reste donc entre les mains de votre équipe.

134 Déclencher manuellement les révisions

135</h2>

136 

137Les commandes de commentaire démarrent une révision à la demande. Elles fonctionnent quel que soit le déclencheur configuré du référentiel, de sorte que vous pouvez les utiliser pour opter pour des PR spécifiques dans la révision en mode Manual ou pour obtenir une re-révision immédiate dans d'autres modes.

138 12 

139| Commande | Ce qu'elle fait |13<img src="https://mintcdn.com/claude-code/gLJVaPQEgKC8ZyUD/images/code-review-pipeline.svg?fit=max&auto=format&n=gLJVaPQEgKC8ZyUD&q=85&s=0351c96df9efa3105172eb00a672f130" className="dark:hidden" alt="Diagramme d'une revue en quatre étapes. Une pull request sur GitHub est transmise à plusieurs agents qui effectuent des recherches en parallèle sur l'infrastructure Anthropic. Une étape de vérification élimine les faux positifs, les résultats restants sont dédupliqués et classés par gravité, et la revue publie des commentaires en ligne, un résumé et une exécution de vérification sur GitHub." width="760" height="300" data-path="images/code-review-pipeline.svg" />

140| :- | :- |

141| `@claude review` | Démarre une seule révision sans abonner la PR aux pushes futurs |

142| `@claude review always` | Démarre une révision et abonne la PR aux révisions déclenchées par push à partir de maintenant |

143| `@claude review once` | Identique à `@claude review` : démarre une seule révision sans abonner |

144 14 

145Utilisez `@claude review always` quand vous souhaitez que chaque push ultérieur vers la PR démarre une révision complète, par exemple sur une PR hautement prioritaire dans un référentiel défini en mode Manual. Comme la commande simple n'abonne pas la PR, vous pouvez demander un deuxième avis ponctuel sans modifier si les pushes ultérieurs déclenchent des révisions.15<img src="https://mintcdn.com/claude-code/gLJVaPQEgKC8ZyUD/images/code-review-pipeline-dark.svg?fit=max&auto=format&n=gLJVaPQEgKC8ZyUD&q=85&s=9cf26bde98f4e999d0d9ff5bf5bdff40" className="hidden dark:block" alt="Diagramme d'une revue en quatre étapes. Une pull request sur GitHub est transmise à plusieurs agents qui effectuent des recherches en parallèle sur l'infrastructure Anthropic. Une étape de vérification élimine les faux positifs, les résultats restants sont dédupliqués et classés par gravité, et la revue publie des commentaires en ligne, un résumé et une exécution de vérification sur GitHub." width="760" height="300" data-path="images/code-review-pipeline-dark.svg" />

146 16 

147<Note>17<Note>

148 Avant une mise à jour de juillet 2026, `@claude review` abonnait la PR aux révisions déclenchées par push. Si vous aviez compté sur ce comportement, commentez `@claude review always` à la place. `@claude review once` fonctionne toujours et se comporte de la même manière que la commande simple.18 Code Review utilise l'IA pour effectuer la revue du code et peut manquer des bugs, des vulnérabilités de sécurité ou d'autres problèmes. Une revue sans résultat ne signifie pas que votre code est exempt d'erreurs ou sécurisé.

149</Note>19</Note>

150 20 

151Pour que l'une de ces commandes déclenche une révision :21<span id="review-a-diff-locally" />

152 

153* Publiez-la comme un commentaire PR de haut niveau, pas un commentaire en ligne sur une ligne de diff

154* Mettez la commande au début du commentaire, avec `once` ou `always` sur la même ligne que le reste de la commande

155* Vous devez avoir un accès en écriture, maintenance ou administrateur au référentiel

156* La PR doit être ouverte

157 

158Contrairement aux déclencheurs automatiques, les déclencheurs manuels s'exécutent sur les PR brouillon, car une demande explicite signale que vous souhaitez la révision maintenant quel que soit le statut de brouillon.

159 

160Si une révision s'exécute déjà sur cette PR, la demande est mise en file d'attente jusqu'à ce que la révision en cours se termine. Vous pouvez surveiller la progression via l'exécution de vérification sur la PR.

161 

162<h3 id="review-pull-requests-from-forks">

163 Réviser les demandes de tirage à partir de forks

164</h3>

165 

166Claude ne révise pas une demande de tirage à partir d'un fork automatiquement, quel que soit le paramètre **Review Behavior** du référentiel. Pour en démarrer une, commentez `@claude review` sur la demande de tirage. Les [exigences pour les commandes de commentaire](#manually-trigger-reviews) s'appliquent toujours, et l'accès en écriture dont vous avez besoin est au référentiel de base, pas au fork.

167 22 

168Pour obtenir une autre révision d'une demande de tirage fork, publiez un nouveau commentaire `@claude review`. `@claude review always` fonctionne aussi, mais n'abonne pas la demande de tirage aux révisions sur les pushes ultérieurs. Rien d'autre qu'une commande de commentaire ne démarre une révision sur une demande de tirage fork :23Pour activer Code Review, un Propriétaire de votre organisation Claude suit la procédure [Configurer Code Review](/docs/fr/code-review-setup). Claude peut également effectuer la revue de code sans ce service. Exécutez [`/code-review`](/docs/fr/code-review-local) dans votre session Claude Code, quel que soit votre plan, ou [comparez toutes les options](#compare-ways-to-get-a-review).

169 24 

170* Cliquer sur **Re-run** sur l'exécution de vérification ne démarre pas une révision25<h2 id="availability">

171* Pousser de nouveaux commits ne démarre pas une révision, même dans un référentiel défini sur **After every push**26 Disponibilité

172 

173<h2 id="customize-reviews">

174 Personnaliser les révisions

175</h2>27</h2>

176 28 

177Code Review lit deux fichiers de votre référentiel pour guider ce qu'il signale. Ils diffèrent dans la force avec laquelle ils influencent la révision :29Vérifiez que votre organisation est éligible avant de configurer Code Review :

178 

179* **`CLAUDE.md`** : instructions de projet partagées que Claude Code utilise pour toutes les tâches, pas seulement les révisions. Code Review le lit comme contexte de projet et signale les violations nouvellement introduites comme des nits.

180* **`REVIEW.md`** : instructions de révision uniquement, données aux agents qui trouvent et vérifient les résultats et consultées par les agents qui classent et rapportent les résultats. Utilisez-le pour dire ce que votre équipe veut signaler, à quelle gravité, et comment les résultats sont rapportés.

181 

182<h3 id="claude-md">

183 CLAUDE.md

184</h3>

185 

186Code Review lit vos fichiers `CLAUDE.md` du référentiel et traite les violations nouvellement introduites comme des [résultats au niveau nit](#severity-levels). Cela fonctionne bidirectionnellement : si votre PR modifie le code d'une manière qui rend une déclaration `CLAUDE.md` obsolète, Claude signale que les docs doivent être mises à jour aussi.

187 

188Claude lit les fichiers `CLAUDE.md` à chaque niveau de votre hiérarchie de répertoires, donc les règles dans le `CLAUDE.md` d'un sous-répertoire s'appliquent uniquement aux fichiers sous ce chemin. Consultez la [documentation de mémoire](/docs/fr/memory) pour plus d'informations sur le fonctionnement de `CLAUDE.md`.

189 30 

190Pour la guidance spécifique à la révision que vous ne souhaitez pas appliquer aux sessions Claude Code générales, utilisez [`REVIEW.md`](#review-md) à la place.31* **Plans** : [Team et Enterprise](/docs/fr/feature-availability)

191 32* **Hébergeurs de code** : dépôts hébergés sur GitHub, y compris [GitHub Enterprise Server](/docs/fr/github-enterprise-server) et GitHub Enterprise Cloud avec résidence des données. Pour la résidence des données, demandez à un Propriétaire de suivre la [configuration administrateur de GitHub Enterprise Server](/docs/fr/github-enterprise-server#admin-setup) et de saisir le nom d'hôte `ghe.com` de votre entreprise.

192<h3 id="review-md">33* **Conservation des données** : Code Review n'est pas disponible pour les organisations ayant activé [Zero Data Retention](/docs/fr/zero-data-retention) ou appliqué la [configuration HIPAA](/docs/fr/hipaa-setup), et n'est pas couvert par le Business Associate Agreement (BAA) d'Anthropic.

193 REVIEW\.md34* **Clés de chiffrement** : Code Review n'est pas encore disponible pour les organisations qui utilisent des clés de chiffrement gérées par le client (CMEK).

194</h3>35* **Fournisseurs cloud** : vous avez besoin d'une organisation Claude sur l'un de ces plans, même si vos développeurs utilisent Claude Code via Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry

195 36 

196`REVIEW.md` est un fichier à la racine de votre référentiel qui adapte Code Review à votre référentiel. Les agents du pipeline de révision qui trouvent et vérifient les résultats reçoivent son contenu comme les instructions de révision de votre référentiel, aux côtés de la guidance de révision par défaut de Code Review, et les agents qui classent et rapportent les résultats le consultent avant de fixer la gravité et d'écrire la révision.37<h2 id="set-up-and-use-code-review">

197 38 Configurer et utiliser Code Review

198Mettez les règles que vous souhaitez appliquer directement dans `REVIEW.md`.

199 

200<h4 id="what-you-can-tune">

201 Ce que vous pouvez affiner

202</h4>

203 

204`REVIEW.md` est du markdown libre, donc tout ce que vous pouvez exprimer comme une instruction de révision est dans le champ d'application. Les modèles ci-dessous ont le plus d'impact en pratique.

205 

206**Gravité** : redéfinissez ce que 🔴 Important signifie pour votre référentiel. L'étalonnage par défaut cible le code de production ; un référentiel de docs, un référentiel de config, ou un prototype pourrait vouloir une définition beaucoup plus étroite. Énoncez explicitement quelles classes de résultats sont Important et lesquelles sont Nit au maximum. Vous pouvez également escalader dans l'autre direction, par exemple en traitant toute violation `CLAUDE.md` comme Important plutôt que le nit par défaut.

207 

208**Volume de nit** : limitez le nombre de commentaires 🟡 Nit qu'une seule révision publie. La prose et les fichiers de config peuvent être polis à jamais. Un plafond comme « signaler au maximum cinq nits, mentionner le reste comme un comptage dans le résumé » garde les révisions actionnables.

209 

210**Règles de saut** : listez les chemins, les modèles de branche et les catégories de résultats où Claude ne devrait publier aucun résultat. Les candidats courants sont le code généré, les lockfiles, les dépendances vendues, et les branches créées par machine, ainsi que tout ce que votre CI applique déjà comme le linting ou la vérification orthographique. Pour les chemins qui méritent une certaine révision mais pas un examen complet, définissez une barre plus élevée au lieu de sauter entièrement : « dans `scripts/`, signaler uniquement si proche de certain et grave. »

211 

212**Vérifications spécifiques au référentiel** : ajoutez des règles que vous souhaitez signaler sur chaque PR, comme « les nouveaux itinéraires API doivent avoir un test d'intégration. » Parce que `REVIEW.md` atteint chaque agent de résultat et de vérification directement, ceux-ci atterrissent plus fiablement que les mêmes règles dans un long `CLAUDE.md`.

213 

214**Barre de vérification** : exigez des preuves avant qu'une classe de résultat soit publiée. Par exemple, « les affirmations de comportement ont besoin d'une citation `file:line` dans la source, pas une inférence à partir de la dénomination » réduit les faux positifs qui coûteraient autrement à l'auteur un aller-retour.

215 

216**Convergence de re-révision** : dites à Claude comment se comporter quand une PR a déjà été révisée. Une règle comme « après la première révision, supprimez les nouveaux nits et publiez les résultats Important uniquement » empêche un correctif d'une ligne d'atteindre la septième manche sur le style seul.

217 

218**Forme du résumé** : demandez au corps de la révision de s'ouvrir avec un comptage d'une ligne comme `2 factual, 4 style`, et de commencer par « aucun problème factuel » quand c'est le cas. L'auteur veut connaître la forme du travail avant les détails.

219 

220<h4 id="example">

221 Exemple

222</h4>

223 

224Ce `REVIEW.md` recalibre la gravité pour un service backend, limite les nits, saute les fichiers générés, et ajoute des vérifications spécifiques au référentiel.

225 

226```markdown theme={null}

227# Instructions de révision

228 

229## Ce que Important signifie ici

230 

231Réservez Important aux résultats qui cassent le comportement, fuient les données,

232ou bloquent un rollback : logique incorrecte, requêtes de base de données non scoped, PII

233dans les logs ou les messages d'erreur, et les migrations qui ne sont pas backward

234compatible. Le style, la dénomination, et les suggestions de refactorisation sont Nit au

235maximum.

236 

237## Limiter les nits

238 

239Signaler au maximum cinq Nits par révision. Si vous en avez trouvé plus, dites « plus N

240éléments similaires » dans le résumé au lieu de les publier en ligne. Si

241tout ce que vous avez trouvé est un Nit, commencez le résumé par « Aucun problème bloquant. »

242 

243## Ne pas signaler

244 

245- Tout ce que CI applique déjà : lint, formatage, erreurs de type

246- Fichiers générés sous `src/gen/` et tout fichier `*.lock`

247- Code de test uniquement qui viole intentionnellement les règles de production

248 

249## Toujours vérifier

250 

251- Les nouveaux itinéraires API ont un test d'intégration

252- Les lignes de log n'incluent pas les adresses e-mail, les ID utilisateur, ou les corps de requête

253- Les requêtes de base de données sont scoped au tenant de l'appelant

254```

255 

256<h4 id="keep-it-focused">

257 Gardez-le concentré

258</h4>

259 

260La longueur a un coût : un long `REVIEW.md` dilue les règles qui importent le plus. Gardez-le aux instructions qui changent le comportement de révision, et laissez le contexte de projet général dans `CLAUDE.md`.

261 

262<h2 id="view-usage">

263 Afficher l'utilisation

264</h2>39</h2>

265 40 

266Allez à [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review) pour voir l'activité Code Review dans votre organisation. Le tableau de bord affiche :41<span id="set-up-code-review" />

267 42 

268| Section | Ce qu'il affiche |43<span id="pricing" />

269| :- | :- |

270| PRs reviewed | Nombre quotidien de pull requests examinées sur la plage de temps sélectionnée |

271| Code Review cost | Dépenses Code Review depuis le début du mois |

272| Feedback | Nombre de commentaires de révision qui ont été auto-résolus parce qu'un développeur a résolu le problème |

273| Repository breakdown | Nombre par dépôt de PR examinées, de commentaires résolus et d'exécutions de revue, avec le coût estimé et une vue par PR |

274 44 

275La carte Code Review cost n'affiche un montant que lorsque le mois en cours est sélectionné. Les chiffres de coût dans les analyses peuvent différer de votre facture. Les coûts de Repository breakdown sont estimés au prix catalogue, avant toute remise ou tout crédit, et ne couvrent que les revues que Claude a publiées sur une pull request. Pour des dépenses conformes à votre facture, consultez votre facture Anthropic.45<span id="manually-trigger-reviews" />

276 46 

277<h2 id="pricing">47<span id="customize-reviews" />

278 Tarification

279</h2>

280 

281Code Review est facturé en fonction de l'utilisation des tokens. Chaque révision coûte en moyenne 15 à 25 dollars, s'adaptant à la taille de la PR, à la complexité de la base de code, et au nombre de problèmes nécessitant une vérification. L'utilisation de Code Review est facturée séparément via [crédits d'utilisation](https://support.claude.com/fr/articles/12429409-extra-usage-for-paid-claude-plans) et ne compte pas par rapport à l'utilisation incluse de votre plan.

282 

283Le déclencheur de révision que vous choisissez affecte le coût total :

284 

285* **Une fois après la création de la PR** : s'exécute une fois par PR

286* **Après chaque push** : s'exécute à chaque push, multipliant le coût par le nombre de pushes

287* **Manuel** : aucune révision sur les PR ouvertes ou les pushes, donc le coût s'accumule uniquement à partir des révisions que quelqu'un demande

288 48 

289En mode Une fois après la création de la PR ou Manuel, commenter `@claude review always` [opte la PR dans les révisions déclenchées par push](#manually-trigger-reviews), de sorte que des coûts supplémentaires s'accumulent par push après ce commentaire. En mode Après chaque push, les pushes déclenchent déjà des révisions, donc l'abonnement ne change pas le coût par push. Commenter `@claude review` exécute une seule révision sans vous abonner à des pushes futurs. Claude révise une [pull request à partir d'une fork](#review-pull-requests-from-forks) uniquement lorsque quelqu'un commente `@claude review`, donc une pull request à partir d'une fork n'accumule jamais de coût par push dans aucun mode.49<span id="troubleshooting" />

290 50 

291Les coûts apparaissent sur votre facture Anthropic quel que soit le fait que votre organisation utilise Amazon Bedrock ou Google Cloud's Agent Platform pour d'autres fonctionnalités Claude Code. Pour définir un plafond de dépenses mensuelles pour Code Review, allez à [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) et configurez la limite pour le service Claude Code Review.51Choisissez la page correspondant à ce que vous souhaitez faire :

292 52 

293Pour surveiller les dépenses, utilisez le [tableau de bord analytics](#view-usage).53<CardGroup cols={2}>

54 <Card title="Configurer Code Review" icon="toggle-on" href="/docs/fr/code-review-setup">

55 Vérifiez les prérequis, installez la GitHub App Claude, et choisissez les dépôts, un niveau de revue et le moment où les revues s'exécutent

56 </Card>

294 57 

295<h2 id="troubleshooting">58 <Card title="Personnaliser Code Review" icon="sliders" href="/docs/fr/code-review-customize">

296 Dépannage59 Ajustez ce qui est signalé grâce aux fichiers `REVIEW.md` et `CLAUDE.md` de votre dépôt

297</h2>60 </Card>

298 

299Les exécutions de révision sont au mieux, et une exécution échouée ne bloque jamais votre PR. Code Review réessaye automatiquement certaines révisions interrompues. Cette section couvre comment exécuter une révision à nouveau vous-même et où chercher quand l'exécution de vérification signale des problèmes que vous ne pouvez pas trouver.

300 61 

301<h3 id="retrigger-a-failed-or-timed-out-review">62 <Card title="Lire et demander des revues sur une pull request" icon="code-pull-request" href="/docs/fr/code-review-pull-requests">

302 Redéclencher une révision échouée ou expirée63 Lisez les résultats et leur gravité, et demandez une nouvelle revue par un commentaire

303</h3>64 </Card>

304 65 

305Quand une révision échoue ou dépasse sa limite de temps, l'exécution de vérification se termine avec un titre tel que **Code review failed** ou **Code review timed out**. La conclusion est toujours neutre, de sorte que rien ne bloque votre fusion. À moins que le résumé de l'exécution de vérification ne dise qu'une nouvelle révision du commit a été mise en file d'attente automatiquement, exécutez la révision à nouveau vous-même.66 <Card title="Dépannage de Code Review" icon="wrench" href="/docs/fr/code-review-troubleshooting">

67 Résolvez le cas d'une revue qui n'a pas démarré, a échoué ou a été ignorée pour raison de budget

68 </Card>

306 69 

307Pour exécuter la révision à nouveau, commentez `@claude review` sur la PR. Cela démarre une révision fraîche sans abonner la PR aux pushes futurs. Si la PR n'est pas [issue d'une fork](#review-pull-requests-from-forks), vous pouvez plutôt cliquer sur **Re-run** sur la vérification **Claude Code Review** dans l'onglet Checks de GitHub. Une réexécution démarre également une révision fraîche sans abonner la PR.70 <Card title="Coûts et utilisation de Code Review" icon="chart-line" href="/docs/fr/code-review-costs">

71 Découvrez comment les revues sont facturées, estimez les dépenses, définissez la limite de dépenses mensuelles et suivez l'activité des revues

72 </Card>

73</CardGroup>

308 74 

309<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">75<h2 id="how-reviews-work">

310 La révision ne s'est pas exécutée et la PR affiche un message de budget76 Comment fonctionnent les revues

311</h3>

312 

313Quand le plafond de dépenses mensuelles de votre organisation pour Code Review est atteint ou que son solde de crédits d'utilisation est épuisé, Code Review ignore la révision et publie un seul commentaire sur la PR. Le commentaire et la carte de l'exécution de vérification indiquent tous deux la cause et renvoient vers la page d'administration où un administrateur peut résoudre le problème :

314 

315* **Plafond de dépenses atteint** : les révisions reprennent au début de la prochaine période de facturation, ou immédiatement après qu'un administrateur a augmenté le plafond à [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage)

316* **Crédits d'utilisation épuisés** : les révisions reprennent dès qu'un administrateur ajoute des [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) supplémentaires à [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage)

317 

318<h3 id="find-issues-that-aren’t-showing-as-inline-comments">

319 Trouver les problèmes qui ne s'affichent pas comme des commentaires en ligne

320</h3>

321 

322Si le titre de l'exécution de vérification dit que des problèmes ont été trouvés mais que vous ne voyez pas de commentaires de révision en ligne sur le diff, cherchez dans ces autres emplacements où les résultats sont surfacés :

323 

324* **Check run Details** : cliquez sur **Details** à côté de la vérification Claude Code Review dans l'onglet Checks. Le tableau de gravité liste chaque résultat avec son fichier, sa ligne, et son résumé quel que soit le fait que le commentaire en ligne ait été accepté.

325* **Files changed annotations** : ouvrez l'onglet **Files changed** sur la PR. Les résultats s'affichent comme des annotations attachées directement aux lignes de diff, séparées des commentaires de révision.

326* **Review body** : si vous avez poussé vers la PR pendant qu'une révision s'exécutait, certains résultats peuvent référencer des lignes qui n'existent plus dans le diff actuel. Ceux-ci apparaissent sous un titre **Additional findings** dans le texte du corps de révision plutôt que comme des commentaires en ligne.

327 

328<h2 id="review-a-diff-locally">

329 Révision d'une diff localement

330</h2>77</h2>

331 78 

332La commande [`/code-review`](/docs/fr/commands) effectue la revue d'un diff dans votre terminal sans installer l'application GitHub. Elle signale les bugs de correction. Selon votre modèle et votre niveau d'effort, la revue couvre également la réutilisation, la simplification et les nettoyages d'efficacité.79<span id="what-code-review-checks" />

333 80 

334`/review` est un alias de `/code-review` ; avant v2.1.223, c'était une commande séparée qui exécutait une révision en une seule passe, en lecture seule, d'une demande de tirage GitHub.81Par défaut, Code Review se concentre sur la correction : les bugs qui casseraient la production, et non les préférences de formatage ou la couverture de test manquante. Pour modifier ce qu'il signale, [ajoutez des fichiers de consignes](/docs/fr/code-review-customize) à votre dépôt.

335 82 

336<Steps>83Une revue s'exécute sur l'infrastructure Anthropic en quatre étapes :

337 <Step title="Exécuter /code-review">

338 À partir de la session où vous travaillez, exécutez la commande :

339 84 

340 ```text theme={null}851. **Recherche** : plusieurs agents examinent le diff et le code environnant en parallèle.

341 /code-review862. **Vérification** : une étape de vérification confronte les résultats candidats au code et élimine les faux positifs.

342 ```873. **Classement** : les résultats restants sont dédupliqués et classés par gravité.

884. **Publication** : la revue publie ses résultats sur la pull request.

343 89 

344 Elle examine les commits de votre branche en avance sur son amont plus les modifications non validées, elle a donc besoin de travail sur la branche ou dans l'arborescence de travail pour avoir quelque chose à signaler. Pour examiner quelque chose d'autre, passez une cible : un chemin de fichier, un numéro de PR, un nom de branche, ou une plage de références telle que `main...my-feature`.90Chaque revue laisse les éléments suivants sur la pull request :

345 91 

346 Vous pouvez également ajouter des drapeaux :92* **Résultats** : des commentaires en ligne sur les lignes concernées, avec un résumé dans le corps de la revue

93* **Une exécution de vérification** : nommée **Claude Code Review**, avec les résultats listés dans ses [détails](/docs/fr/code-review-pull-requests#check-run-output). L'exécution de vérification ne se conclut jamais par un échec.

94* **Lorsqu'elle ne trouve rien** : le titre de l'exécution de vérification indique **Code review found no issues**, et Claude publie la même courte note sur la pull request

347 95 

348 * `--fix` : applique les résultats à votre arborescence de travail après la revue96Code Review choisit les modèles Claude sur lesquels s'exécutent les revues, et ses paramètres d'administration ne proposent pas de choix de modèle. Pour rendre les revues plus ou moins approfondies, modifiez le [niveau de revue](#review-levels).

349 * `--comment` : publie les résultats sous forme de commentaires en ligne sur une pull request GitHub, ou sous forme de note unique sur une merge request GitLab

350 * `--post` : lors d'une revue cloud `ultra` d'une pull request `github.com`, présélectionne la publication des résultats finaux sur la PR dans la boîte de dialogue de lancement ; voir [Publier les résultats sur la pull request](/docs/fr/ultrareview#post-findings-to-the-pull-request). Nécessite Claude Code v2.1.227 ou ultérieur

351 * `--max-findings <n>`, `--max-findings all` ou `--max-findings default` : signale jusqu'à `n` résultats, ou tous les résultats avec `all`, à la place de la limite habituelle de la revue. Les revues ultérieures réutilisent la valeur que vous avez saisie jusqu'à ce que vous passiez `--max-findings default`. Nécessite Claude Code v2.1.288 ou ultérieur

352 97 

353 Quand vous passez `--comment` pour une demande de fusion GitLab, Claude Code publie les résultats via l'interface de ligne de commande `glab` de GitLab. Nécessite Claude Code v2.1.257 ou ultérieur. Quand `glab` n'est pas installé, Claude imprime les résultats dans le terminal à la place.98Une fois qu'un Propriétaire a activé Code Review, chaque dépôt dispose d'un paramètre définissant [quand les revues s'exécutent](/docs/fr/code-review-setup#set-when-reviews-run) : une fois à l'ouverture d'une pull request, après chaque push, ou uniquement sur demande. Quel que soit ce paramètre, une personne disposant d'un accès en écriture au dépôt peut commenter `@claude review` sur une pull request pour [démarrer une revue](/docs/fr/code-review-pull-requests#comment-commands).

354 99 

355 Passez la demande de fusion comme son URL ou une référence `!123`. Claude Code traite un nombre nu ou un nom de branche comme une demande de fusion uniquement quand l'extraction d'origine est sur `gitlab.com`. Sur une instance GitLab auto-gérée, passez l'URL ou la forme `!123`.100<h3 id="review-levels">

356 </Step>101 Niveaux de revue

357 

358 <Step title="Continuer à travailler">

359 La révision s'exécute en tant que [sous-agent](/docs/fr/sub-agents) en arrière-plan avec sa propre fenêtre de contexte, elle ne remplit donc pas votre conversation. Les résultats arrivent dans votre conversation quand la révision se termine.

360 </Step>

361 

362 <Step title="Agir sur les résultats">

363 Demandez à Claude de corriger ce que la révision a trouvé. Si vous avez passé `--fix` ou `--comment`, la révision a déjà appliqué ou publié ses résultats.

364 </Step>

365</Steps>

366 

367Claude signale les résultats sous forme de texte dans la réponse dans ces deux exécutions, même quand une application hôte demande une liste des résultats :

368 

369* Dans une session de terminal, où `/code-review` exécute la révision en tant que [sous-agent forké](/docs/fr/skills#run-skills-in-a-subagent)

370* Dans une exécution `-p` avec sortie texte ou JSON

371 

372Dans une application hôte qui demande la liste des résultats, comme l'[application de bureau](/docs/fr/desktop#review-your-code), Claude signale plutôt les résultats de la revue via l'[outil `ReportFindings`](/docs/fr/tools-reference). Claude Code affiche le rapport sous forme de liste des résultats, et chaque entrée affiche l'emplacement du fichier, un résumé d'une phrase et une balise de catégorie telle que `correctness` quand le résultat en porte une. Une demande de l'hôte s'applique à chaque niveau d'effort et nécessite Claude Code v2.1.218 ou ultérieur.

373 

374Quand Claude corrige les résultats signalés plus tard dans la session, il les signale à nouveau, et Claude Code marque chaque résultat dans la liste des résultats mise à jour comme corrigé, ignoré, ou aucun changement nécessaire.

375 

376<h3 id="what-the-review-reads-and-edits">

377 Ce que la révision lit et édite

378</h3>102</h3>

379 103 

380La révision suit votre `CLAUDE.md` comme n'importe quelle session Claude Code, mais elle ne lit pas [`REVIEW.md`](#review-md). Une révision en arrière-plan applique ses édits `--fix` en dehors des [points de contrôle](/docs/fr/checkpointing#subagent-edits-not-restored) de votre session, donc `/rewind` ne les annule pas ; utilisez git pour les annuler. Quand la révision [s'exécute au premier plan](#run-in-the-foreground), elle édite votre arborescence de travail pendant votre propre tour, donc `/rewind` restaure ses édits comme d'habitude.104Le niveau de revue définit le degré d'approfondissement de chaque revue, et une revue plus approfondie coûte plus cher :

381 105 

382<h3 id="tune-effort-and-arguments">106* **Quick** : une passe plus légère. Le niveau le plus rapide, au coût le plus bas.

383 Ajuster l'effort et les arguments107* **Standard** : un équilibre entre profondeur, rapidité et coût. Le niveau par défaut.

384</h3>108* **Deep** : la passe la plus approfondie. La plus longue et la plus coûteuse.

385 109 

386Passez un [niveau d'effort](/docs/fr/model-config#adjust-effort-level) pour échanger la couverture contre la confiance. À `low`, la revue signale les résultats dont elle est la plus sûre, vous voyez donc moins de faux positifs. De `medium` à `max`, la revue élargit la couverture.110Un Propriétaire [choisit un niveau pour l'organisation](/docs/fr/code-review-setup#set-the-default-review-level) et peut attribuer à un dépôt particulier son propre niveau, par exemple Quick pour une base de code courante et Deep pour une base de code critique. Pour connaître les autres facteurs qui déterminent le coût de chaque revue, consultez [Coûts et utilisation de Code Review](/docs/fr/code-review-costs).

387 111 

388Quand vous ne tapez pas de niveau, la révision réutilise le dernier niveau de `low` à `max` que vous avez tapé, même dans une session antérieure, et Claude Code affiche un avis tel que `Reusing high effort, the level you typed last time`. Tapez un niveau, comme `/code-review high`, pour changer ce que les exécutions ultérieures réutilisent ; un niveau que vous passez dans une exécution `-p` non interactive ne le met pas à jour. `ultra` ne met à jour ni n'utilise le niveau mémorisé. Si vous n'avez jamais tapé de niveau, la révision utilise l'effort actuel de la session. Avant v2.1.223, un `/code-review` sans niveau utilisait toujours l'effort actuel de la session.112<h3 id="what-a-review-can-access">

389 113 Ce à quoi une revue peut accéder

390Après le niveau d'effort et les drapeaux, Claude Code lit le reste de la ligne de l'une de deux façons :

391 

392* **Sans `ultra`** : tout ce qui reste est la cible de révision, même quand cela commence par un autre nom de commande. `/code-review /fix-issue 123` examine avec `/fix-issue 123` comme texte cible au lieu de charger `/fix-issue` comme une deuxième [compétence empilée](/docs/fr/skills#pass-arguments-to-skills). Avant v2.1.218, une commande empilée après `/code-review` s'étendait comme sa propre compétence.

393* **Avec `ultra`** : Claude Code lit un seul mot comme une branche de base ou un numéro de PR, et transforme le texte plus long qui ne nomme pas une branche ou une PR en [une note attachée à la révision](/docs/fr/ultrareview#pass-a-request-in-plain-words). `/code-review ultra check my auth changes` examine votre branche actuelle, et Claude relie les résultats à votre note.

394 

395<h3 id="run-in-the-foreground">

396 Exécuter au premier plan

397</h3>114</h3>

398 115 

399La révision s'exécute en arrière-plan par défaut ; avant v2.1.218, elle s'exécutait dans votre conversation. Elle s'exécute au premier plan à la place dans des cas comme ceux-ci :116Une revue accède à votre dépôt via la GitHub App Claude qu'un Propriétaire [installe lors de la configuration](/docs/fr/code-review-setup#turn-on-code-review) :

400 117 

401* Vous exécutez `/code-review` à nouveau alors qu'une révision antérieure est toujours en cours118* **Où elle s'exécute** : sur l'infrastructure Anthropic, dans un environnement géré. Les revues ne s'exécutent pas dans des [environnements auto-hébergés](/docs/fr/self-hosted-environments).

402* Vous l'exécutez en mode non interactif, avec le flag `-p` ou l'Agent SDK ; Claude Code attend la revue et inclut les résultats dans la réponse, sauf pour `ultra`, qui [n'attend pas la revue cloud](/docs/fr/ultrareview#run-ultrareview-non-interactively)119* **Ce qu'elle lit et écrit** : pendant une revue, l'accès à votre dépôt est en lecture seule, et une revue ne pousse aucun commit. Sur la pull request, elle publie des commentaires et l'[exécution de vérification](/docs/fr/code-review-pull-requests#check-run-output), résout ses propres fils de commentaires antérieurs et peut réagir à une commande de commentaire avec 👀. L'application elle-même détient un [ensemble de permissions plus large](/docs/fr/github-actions#github-app-permissions) partagé avec d'autres fonctionnalités Claude.

403* Vous définissez [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/fr/env-vars) à `1`, ce qui désactive également toute autre fonctionnalité de tâche en arrière-plan120* **Comment elle examine votre code** : une revue se base sur la lecture du diff et du code environnant, sans compiler ni exécuter votre code.

404 121 

405<h3 id="let-claude-start-the-review">122<h3 id="who-controls-a-review">

406 Laisser Claude démarrer la révision123 Qui contrôle une revue

407</h3>124</h3>

408 125 

409Claude peut démarrer `/code-review` de lui-même. Demandez-lui d'examiner vos modifications en langage naturel et il peut exécuter la compétence sans que vous tapiez la commande, et une [tâche programmée](/docs/fr/scheduled-tasks) avec `/code-review` comme invite exécute la révision.126* **Qui peut en démarrer une** : là où les revues s'exécutent automatiquement, l'ouverture d'une pull request ou un push vers celle-ci démarre une revue, [sauf pour les brouillons et les forks](/docs/fr/code-review-pull-requests#review-drafts-and-pull-requests-from-forks). Une [commande de commentaire](/docs/fr/code-review-pull-requests#comment-commands) n'en démarre une que lorsqu'elle provient d'une personne disposant d'un accès en écriture au dépôt.

410 127* **Quelles instructions elle suit** : `REVIEW.md` issu de la branche de base ou de la branche par défaut, et [jamais des modifications de la pull request elle-même](/docs/fr/code-review-customize#which-branch-review-md-is-read-from).

411Une tâche programmée ne lance jamais la [révision en cloud](#escalate-to-ultrareview), donc programmez `/code-review` sans l'argument `ultra`.

412 128 

413Pour empêcher Claude et les tâches programmées de démarrer la révision tout en gardant `/code-review` disponible pour que vous la tapiez, ajoutez une entrée [`skillOverrides`](/docs/fr/skills#override-skill-visibility-from-settings) à un [fichier de paramètres](/docs/fr/settings#where-settings-live) tel que `~/.claude/settings.json` :129<h2 id="compare-ways-to-get-a-review">

414 130 Comparer les façons d'obtenir une revue

415```json theme={null}131</h2>

416{

417 "skillOverrides": {

418 "code-review": "user-invocable-only"

419 }

420}

421```

422 

423Avant v2.1.246, Claude démarrait `/code-review` de lui-même uniquement où un drapeau de fonctionnalité récupéré d'Anthropic l'activait. Dans les [sessions qui ne récupèrent pas les drapeaux de fonctionnalité](/docs/fr/env-vars#features-that-need-feature-flag-fetching), `/code-review` s'exécutait uniquement quand vous le tapiez, et une `/code-review` programmée arrivait à Claude sous forme de texte brut.

424 

425<h3 id="escalate-to-ultrareview">

426 Escalader vers ultrareview

427</h3>

428 

429`/code-review ultra --fix` exécute la [ultrareview](/docs/fr/ultrareview) plus profonde dans le cloud, puis applique ses résultats à votre arborescence de travail quand ils reviennent dans votre session.

430 

431Ultrareview utilise sa propre portée : votre branche actuelle par rapport à la branche par défaut du référentiel, plus les modifications non validées et mises en scène dans l'arborescence de travail. Pour les modifications non validées des fichiers nommés comme des identifiants ou des clés, tels que les fichiers `.env` et `*.tfvars`, Claude Code suit les règles pour [télécharger un référentiel local vers une session en cloud](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github). Passez un nom de branche, tel que `/code-review ultra develop`, pour comparer par rapport à une base différente.

432 

433Quand la cible est une demande de tirage `github.com`, vous pouvez faire en sorte que Claude [publie les résultats terminés à la PR](/docs/fr/ultrareview#post-findings-to-the-pull-request) en tant que commentaire depuis votre compte GitHub. Nécessite Claude Code v2.1.227 ou ultérieur.

434 

435<Note>

436 Ultrareview nécessite une authentification avec un compte claude.ai et n'est pas disponible sur Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, ni pour les organisations ayant activé Zero Data Retention ou appliqué la [configuration HIPAA](/docs/fr/hipaa-setup). Quand ultrareview n'est pas disponible, `/code-review ultra` exécute une revue locale dans votre session à la place.

437</Note>

438 132 

439Pour exécuter une revue cloud depuis un script ou un job de CI, utilisez la [sous-commande `claude ultrareview`](/docs/fr/ultrareview#run-ultrareview-non-interactively), qui attend les résultats et les affiche sur stdout.133Pour trouver les options qui s'offrent à vous, comparez la colonne **Qui peut l'utiliser** avec votre plan et votre hébergeur de code :

440 134 

441La commande s'appelait `/simplify` avant v2.1.147, quand elle appliquait les correctifs par défaut. `/simplify` exécute une révision de nettoyage séparé qui applique les correctifs sans rechercher les bugs. Si vous avez écrit un script `/simplify` pour la recherche de bugs, passez à `/code-review --fix`.135| Option | Ce qui démarre une revue | Où elle s'exécute | Qui peut l'utiliser |

136| :- | :- | :- | :- |

137| [Code Review](#how-reviews-work) | L'activité de la pull request, selon le paramétrage de chaque dépôt, ou un commentaire `@claude review` | Infrastructure Anthropic | Organisations sur un plan Team ou Enterprise avec des dépôts GitHub, une fois qu'un Propriétaire l'a activé |

138| [`/code-review`](/docs/fr/code-review-local) | Vous exécutez la commande sur votre branche | Votre session Claude Code | Tout le monde, sur n'importe quel plan |

139| [Ultrareview](/docs/fr/ultrareview) | Vous la démarrez depuis Claude Code | Un sandbox cloud | Nécessite une connexion avec un compte claude.ai. Consultez [Ultrareview](/docs/fr/ultrareview) pour savoir où elle n'est pas disponible |

140| Claude dans votre propre CI, avec [GitHub Actions](/docs/fr/github-actions) ou [GitLab CI/CD](/docs/fr/gitlab-ci-cd) | Les événements de votre pipeline, comme chaque pull request ou merge request | Vos propres runners CI | Toute personne disposant d'une clé API Claude ou d'identifiants d'un fournisseur cloud, sur GitHub ou GitLab |

141| Votre propre réviseur, sous forme de [sous-agent](/docs/fr/sub-agents) ou de [skill](/docs/fr/skills) | Vous ou Claude l'invoquez pendant une session | Partout où vous exécutez Claude Code | Toute personne qui en écrit un |

442 142 

443<h2 id="related-resources">143<h2 id="related-resources">

444 Ressources connexes144 Ressources connexes

445</h2>145</h2>

446 146 

447* [Commandes](/docs/fr/commands) : exécutez `/code-review` dans une session Claude Code locale pour vérifier une diff avant de pousser147* [GitHub Enterprise Server](/docs/fr/github-enterprise-server) : utilisez Code Review avec une instance GitHub auto-hébergée

448* [GitHub Actions](/docs/fr/github-actions) : exécutez Claude dans vos propres flux de travail GitHub Actions pour une automatisation personnalisée au-delà de la révision de code148* [Permissions de GitHub App](/docs/fr/github-actions#github-app-permissions) : l'ensemble complet des permissions demandées par la GitHub App Claude

449* [GitLab CI/CD](/docs/fr/gitlab-ci-cd) : intégration Claude auto-hébergée pour les pipelines GitLab149* [How Anthropic secures its AI-native software development lifecycle](https://claude.com/blog/how-anthropic-secures-its-ai-native-software-development-lifecycle) : comment la revue automatisée s'inscrit comme une couche du processus de développement sécurisé d'Anthropic

450* [Memory](/docs/fr/memory) : comment les fichiers `CLAUDE.md` fonctionnent dans Claude Code

451* [Analytics](/docs/fr/analytics) : suivez l'utilisation de Claude Code au-delà de la révision de code

452* [How Anthropic secures its AI-native software development lifecycle](https://claude.com/blog/how-anthropic-secures-its-ai-native-software-development-lifecycle) : comment la révision automatisée s'inscrit comme une couche du processus de développement sécurisé d'Anthropic

code-review-costs.md +88 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Coûts et utilisation de Code Review

6 

7> Estimez et plafonnez les dépenses de votre organisation pour Claude Code Review : comment les revues sont facturées via les crédits d'utilisation, ce qui détermine les coûts et où suivre l'utilisation.

8 

9[Code Review](/docs/fr/code-review) n'a pas de prix fixe par revue. Vos dépenses dépendent du coût de chaque revue et du nombre de revues exécutées :

10 

11* **Coût de chaque revue** : varie selon le [niveau de revue](/docs/fr/code-review-setup#set-the-default-review-level), la taille de la modification, la complexité du code environnant et le nombre de problèmes potentiels à vérifier

12* **Nombre de revues** : déterminé par [la fréquence d'exécution des revues](#how-often-reviews-run) dans chaque dépôt

13 

14<h2 id="pricing">

15 Tarification

16</h2>

17 

18Code Review est facturé en fonction de l'utilisation de tokens via les [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans), séparément de l'utilisation incluse dans votre forfait. Les revues sont facturées à votre organisation, et non au développeur qui a ouvert la PR ou demandé la revue. Les coûts apparaissent sur votre facture Anthropic, que votre organisation utilise ou non Amazon Bedrock, Agent Platform de Google Cloud ou Microsoft Foundry pour d'autres fonctionnalités de Claude Code.

19 

20<h3 id="how-often-reviews-run">

21 Fréquence d'exécution des revues

22</h3>

23 

24Un dépôt que vous ajoutez depuis la page d'administration démarre avec **After every push**, le mode qui exécute le plus de revues. Le [paramètre **Review runs**](/docs/fr/code-review-setup#set-when-reviews-run) de chaque dépôt détermine le nombre de revues que reçoit une pull request :

25 

26* **Once after PR creation** : une revue s'exécute lorsque la pull request est ouverte, rouverte ou marquée comme prête pour la revue

27* **After every push** : s'exécute à chaque push, ce qui multiplie le coût par le nombre de pushs

28* **Manual (@claude review)** : aucune revue à l'ouverture ou au push

29 

30Les commandes en commentaire, les brouillons et les pull requests provenant de forks modifient ces décomptes :

31 

32* **`@claude review always` en mode Once after PR creation ou Manual** : [inscrit la PR aux revues déclenchées par push](/docs/fr/code-review-pull-requests#comment-commands), de sorte qu'un coût supplémentaire s'accumule à chaque push après ce commentaire

33* **`@claude review always` en mode After every push** : les pushs déclenchent déjà des revues, donc l'abonnement ne modifie pas le coût par push

34* **`@claude review`** : exécute une seule revue sans s'abonner aux pushs futurs

35* **Brouillons et pull requests provenant de forks** : [les revues automatiques ignorent les deux](/docs/fr/code-review-pull-requests#review-drafts-and-pull-requests-from-forks), de sorte que les pushs vers ceux-ci n'ajoutent pas de revues

36 

37<h2 id="estimate-your-spend">

38 Estimer vos dépenses

39</h2>

40 

41Avant un déploiement à grande échelle, menez un petit pilote pour estimer les dépenses mensuelles à partir de vos propres pull requests.

42 

431. Définissez une [limite de dépenses mensuelle](#limit-your-spend) pour le pilote.

442. Activez Code Review pour quelques dépôts représentatifs avec **Review runs** défini sur **Once after PR creation** ou **Manual (@claude review)**.

453. Une fois plusieurs revues exécutées, consultez le coût moyen par revue de chaque dépôt dans la colonne **Average cost** du tableau **Repositories**, dans la section **Code review** de [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review).

464. Multipliez cette moyenne par le nombre de pull requests ouvertes dans le dépôt en un mois. Pour **After every push**, multipliez à nouveau par le nombre habituel de pushs par pull request.

47 

48La moyenne d'un dépôt évolue avec la taille de ses pull requests et le niveau de revue que vous choisissez.

49 

50<h2 id="limit-your-spend">

51 Limiter vos dépenses

52</h2>

53 

54Pour définir une limite de dépenses mensuelle pour Code Review, accédez à [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage) et configurez la limite pour le service Claude Code Review. La limite s'applique à l'ensemble de l'organisation.

55 

56Code Review ignore les revues lorsque l'un des éléments suivants est épuisé :

57 

58* **Limite de dépenses de Code Review** : la limite mensuelle que vous définissez pour le service Claude Code Review. Elle est réinitialisée au début de la période de facturation suivante, et les revues reprennent plus tôt si vous l'augmentez.

59* **Limite de dépenses de l'organisation** : la limite de dépenses mensuelle globale de votre organisation pour les crédits d'utilisation. Augmentez-la sur la même page.

60* **Solde des crédits d'utilisation** : le solde des crédits d'utilisation de votre organisation. Ajoutez des crédits sur la même page.

61 

62Code Review ignore également les revues dès que le montant restant est inférieur au coût estimé d'une revue. Lorsqu'une revue est ignorée, les développeurs voient un [commentaire sur la PR](/docs/fr/code-review-troubleshooting#review-didn’t-run-and-the-pr-shows-a-budget-message) qui en indique la cause et renvoie vers les paramètres d'utilisation.

63 

64Pour surveiller les dépenses, utilisez le [tableau de bord analytique](#view-usage).

65 

66<h2 id="view-usage">

67 Consulter l'utilisation

68</h2>

69 

70Accédez à [claude.ai/analytics/code-review](https://claude.ai/analytics/code-review) pour voir l'activité de Code Review dans toute votre organisation.

71 

72| Section | Ce qu'elle affiche |

73| :- | :- |

74| PRs reviewed | Nombre quotidien de pull requests ayant fait l'objet d'une revue sur la période sélectionnée |

75| Code Review cost | Dépenses de Code Review depuis le début du mois |

76| Feedback | Nombre de commentaires de revue résolus automatiquement parce qu'un développeur a corrigé le problème |

77| Repository breakdown | Nombre par dépôt de PR ayant fait l'objet d'une revue, de commentaires résolus et d'exécutions de revue, avec le coût estimé et une vue par PR |

78 

79La carte Code Review cost n'affiche un montant que lorsque le mois en cours est sélectionné. Les montants affichés dans les analyses peuvent différer de votre facture. Les coûts de Repository breakdown sont estimés au prix catalogue, avant toute remise ou tout crédit, et ne couvrent que les revues que Claude a publiées sur une pull request. Pour connaître les dépenses exactes facturées, consultez votre facture Anthropic.

80 

81<h2 id="related-resources">

82 Ressources associées

83</h2>

84 

85* [Configurer Code Review](/docs/fr/code-review-setup) : où choisir le niveau de revue et le moment d'exécution des revues dans chaque dépôt

86* [Lire et demander des revues sur une pull request](/docs/fr/code-review-pull-requests) : les commandes en commentaire, les pull requests provenant de forks et le message de budget que voient les développeurs lorsqu'une revue est ignorée

87* [Code Review](/docs/fr/code-review) : ce qu'une revue vérifie et ce qu'elle publie

88* [Gérer efficacement les coûts](/docs/fr/costs) : contrôles des dépenses et suivi de l'utilisation pour le reste de Claude Code

code-review-customize.md +149 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Personnaliser Code Review

6 

7> Ajustez ce que Code Review signale sur vos pull requests avec REVIEW.md et CLAUDE.md : recalibrez la sévérité, ignorez des chemins, ajoutez des vérifications et identifiez quelle copie s'applique.

8 

9Vous pouvez modifier ce que [Code Review](/docs/fr/code-review) signale sur votre dépôt en y committant des instructions. C'est ainsi que vous réduisez le volume de nits, mettez fin aux commentaires sur les fichiers générés ou ajoutez une règle qui compte pour votre équipe. Placez-les dans l'un de ces deux fichiers :

10 

11* **`CLAUDE.md`** : des [instructions de projet](/docs/fr/memory) que Claude Code lit pour chaque tâche, revues comprises. Code Review les lit comme contexte de projet et signale les modifications qui les enfreignent.

12* **`REVIEW.md`** : des instructions réservées aux revues. Utilisez-le pour indiquer ce que votre équipe souhaite voir signalé, à quel niveau de sévérité, et ce qu'il faut ignorer.

13 

14Ajoutez `REVIEW.md` à la racine de votre dépôt et fusionnez-le. Ensuite, [protégez votre branche par défaut](#which-branch-review-md-is-read-from).

15 

16<Note>

17 Pour modifier le niveau de détail des revues ou le moment où elles s'exécutent, demandez à un Owner de modifier le [niveau de revue](/docs/fr/code-review-setup#set-the-default-review-level) ou le [paramètre **Review runs**](/docs/fr/code-review-setup#set-when-reviews-run).

18</Note>

19 

20<h2 id="use-claude-md-for-project-wide-rules">

21 Utiliser CLAUDE.md pour les règles à l'échelle du projet

22</h2>

23 

24Code Review lit les fichiers `CLAUDE.md` de votre dépôt comme contexte de projet. Une modification qui enfreint l'une de leurs règles devient un résultat au [niveau de sévérité](/docs/fr/code-review-pull-requests#severity-levels) adapté au problème.

25 

26Une revue lit le fichier `CLAUDE.md` à la racine de votre dépôt ainsi que les fichiers `CLAUDE.md` des répertoires parents de chaque fichier modifié. Le fichier `CLAUDE.md` d'un sous-répertoire est lu lorsque la pull request modifie un fichier sous ce chemin.

27 

28<h2 id="use-review-md-for-review-only-rules">

29 Utiliser REVIEW\.md pour les règles propres aux revues

30</h2>

31 

32`REVIEW.md` est un fichier situé à la racine de votre dépôt qui adapte Code Review à votre dépôt. Vous pouvez également ajouter un `REVIEW.md` dans un sous-répertoire pour ajouter des vérifications sur les modifications sous ce chemin, en plus du fichier racine.

33 

34Les agents qui détectent les problèmes et les agents qui les vérifient reçoivent son contenu en tant qu'instructions de revue de votre dépôt, en complément des consignes de revue par défaut de Code Review. L'étape qui rédige la revue finale le consulte avant de fixer la sévérité et de rédiger le résumé.

35 

36Cet exemple d'arborescence comporte un fichier racine et un fichier de sous-répertoire :

37 

38```text theme={null}

39your-repo/

40├── REVIEW.md # Root file

41├── services/

42│ └── billing/

43│ └── REVIEW.md # Adds checks for changes under services/billing/

44└── src/

45```

46 

47Avant de vous appuyer sur un fichier de sous-répertoire, protégez votre branche par défaut et vérifiez [ce qu'une revue lit selon la configuration de vos branches](#what-a-review-reads-for-each-branch-setup).

48 

49<Note>

50 Le service Code Review et la [commande `/code-review`](/docs/fr/code-review-local) locale sont deux outils distincts, et ils lisent des fichiers différents. Le service lit à la fois `CLAUDE.md` et `REVIEW.md`. La commande `/code-review`, que vous exécutez dans une session Claude Code sur votre propre machine, lit vos fichiers `CLAUDE.md` mais pas `REVIEW.md`. Placez dans `CLAUDE.md` les consignes que vous souhaitez appliquer aux deux endroits, et réservez `REVIEW.md` aux règles propres à la revue des pull requests.

51</Note>

52 

53<h3 id="example-review-md">

54 Exemple de REVIEW\.md

55</h3>

56 

57Ce `REVIEW.md` recalibre la sévérité pour un service backend, plafonne les nits, ignore les fichiers générés et ajoute des vérifications propres au dépôt.

58 

59```markdown theme={null}

60# Review instructions

61 

62## What Important means here

63 

64Reserve Important for findings that would break behavior, leak data,

65or block a rollback: incorrect logic, unscoped database queries, PII

66in logs or error messages, and migrations that aren't backward

67compatible. Style, naming, and refactoring suggestions are Nit at

68most.

69 

70## Cap the nits

71 

72Report at most five Nits per review.

73 

74## Do not report

75 

76- Anything CI already enforces: lint, formatting, type errors

77- Generated files under `src/gen/` and any `*.lock` file

78- Test-only code that intentionally violates production rules

79 

80## Always check

81 

82- New API routes have an integration test

83- Log lines don't include email addresses, user IDs, or request bodies

84- Database queries are scoped to the caller's tenant

85```

86 

87<h3 id="choose-what-to-write-in-review-md">

88 Choisir ce qu'il faut écrire dans REVIEW\.md

89</h3>

90 

91`REVIEW.md` est un fichier Markdown de forme libre qui modifie ce qu'une revue détecte et signale. Il ne modifie pas le format de la revue. Identifiez le problème que vous rencontrez, puis ajoutez une instruction semblable à celle indiquée. L'[exemple](#example-review-md) utilise les quatre premières.

92 

93* **Les mauvais éléments sont marqués Important** : redéfinissez ce que signifie 🔴 Important pour votre dépôt. Le calibrage par défaut cible le code de production, et un dépôt de documentation, un dépôt de configuration ou un prototype peuvent nécessiter une définition beaucoup plus restreinte. Indiquez quelles catégories de résultats sont Important et lesquelles sont tout au plus Nit. Vous pouvez également faire l'inverse, par exemple en traitant toute violation de `CLAUDE.md` comme Important.

94* **Trop de nits** : plafonnez le nombre de commentaires 🟡 Nit publiés par une même revue. Un plafond comme « signaler au maximum cinq nits » permet de garder des revues exploitables.

95* **Commentaires sur des fichiers générés ou sur ce que la CI vérifie déjà** : listez les chemins et les catégories de résultats pour lesquels Claude doit s'abstenir de signaler quoi que ce soit. Les candidats courants sont le code généré, les fichiers de verrouillage et les dépendances vendorisées, ainsi que tout ce que votre CI applique déjà, comme le linting ou la vérification orthographique. Pour les chemins qui méritent une certaine revue sans examen complet, fixez plutôt un seuil plus élevé : « dans `scripts/`, ne signaler que si c'est quasi certain et grave. »

96* **Une règle d'équipe n'est pas vérifiée** : ajoutez les règles que vous souhaitez voir signalées sur chaque pull request, comme « les nouvelles routes d'API doivent avoir un test d'intégration. »

97* **Des résultats s'avèrent erronés** : exigez des preuves avant qu'une catégorie de résultats soit publiée. Par exemple, « les affirmations sur le comportement nécessitent une citation `file:line` dans le source, et non une déduction à partir du nommage » réduit les faux positifs qui coûteraient sinon un aller-retour à l'auteur.

98 

99Certaines de ces instructions [nécessitent que le fichier racine se trouve sur une branche par défaut protégée](#which-branch-review-md-is-read-from).

100 

101Limitez `REVIEW.md` aux instructions qui modifient le comportement de la revue, et laissez le contexte général du projet dans `CLAUDE.md`.

102 

103<h3 id="which-branch-review-md-is-read-from">

104 Depuis quelle branche REVIEW\.md est lu

105</h3>

106 

107Code Review lit `REVIEW.md` depuis la branche de base de la pull request ou depuis la branche par défaut, jamais depuis les modifications de la pull request elle-même. Pour modifier le comportement de la revue, fusionnez d'abord la modification de `REVIEW.md`.

108 

109Conservez `REVIEW.md` sur votre branche par défaut et protégez cette branche. Lorsqu'une revue lit la copie présente sur une branche par défaut protégée, soit la première ligne du tableau ci-dessous, elle respecte ces instructions du fichier racine :

110 

111* Abaisser la sévérité d'un résultat

112* Exclure des chemins, des fichiers ou des catégories de problèmes

113* Plafonner les commentaires de type nit

114 

115<h4 id="what-counts-as-branch-protection">

116 Ce qui compte comme protection de branche

117</h4>

118 

119Code Review considère ces paramètres comme une protection :

120 

121* **Branche par défaut** : une règle de protection de branche classique ou un ruleset

122* **Toute autre branche** : un ruleset uniquement

123 

124Un ruleset compte lorsqu'il restreint les mises à jour ou exige des pull requests avec au moins une approbation. S'il exige des pull requests, il doit également révoquer cette approbation lors d'un nouveau push ou exiger que l'approbation intervienne après le dernier push.

125 

126<h4 id="what-a-review-reads-for-each-branch-setup">

127 Ce qu'une revue lit selon la configuration des branches

128</h4>

129 

130Trouvez la situation de votre dépôt dans la première colonne du tableau ci-dessous.

131 

132| Protection de branche | Copie lue | Fichiers lus |

133| :- | :- | :- |

134| La branche par défaut est protégée, et la pull request la cible ou cible une branche qu'aucun ruleset ne protège | Branche par défaut | Fichiers racine et de sous-répertoire |

135| La pull request cible une autre branche protégée par un ruleset | Cette branche de base | Fichiers racine et de sous-répertoire |

136| La branche par défaut n'est pas protégée, et la branche de base n'a aucune règle de protection, quel qu'en soit le type | Branche par défaut | Fichier racine |

137| Code Review ne peut pas confirmer les paramètres de protection. Cela inclut une branche par défaut non protégée avec une branche de base qui n'a qu'une règle classique | Aucune | Aucun |

138 

139Si le check run mentionne `REVIEW.md`, consultez [Le check run mentionne REVIEW.md](/docs/fr/code-review-troubleshooting#the-check-run-mentions-review-md).

140 

141<h2 id="related-resources">

142 Ressources associées

143</h2>

144 

145* [Code Review](/docs/fr/code-review) : ce qu'est le service et comment se déroule une revue

146* [Lire et demander des revues sur une pull request](/docs/fr/code-review-pull-requests#severity-levels) : ce que signifie chaque niveau de sévérité et comment les résultats apparaissent

147* [Configurer Code Review](/docs/fr/code-review-setup) : le niveau de revue et le moment où les revues s'exécutent, définis par un Owner

148* [Effectuer une revue en local avec `/code-review`](/docs/fr/code-review-local) : la commande `/code-review`, ses arguments et ses niveaux d'effort

149* [Mémoire](/docs/fr/memory) : comment les fichiers `CLAUDE.md` fonctionnent dans Claude Code

code-review-local.md +197 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Effectuer une revue locale avec /code-review

6 

7> Exécutez `/code-review` dans une session Claude Code pour trouver des bugs dans les modifications de votre branche, orienter la revue vers une pull request ou un chemin, et demander à Claude d'appliquer les corrections.

8 

9`/code-review` est une commande que vous tapez dans le prompt de Claude Code, dans la session où vous travaillez. Claude examine les modifications de votre branche, recherche les bugs de correction et rapporte ce qu'il a trouvé dans votre conversation. Selon votre modèle et votre niveau d'effort, la revue couvre également les nettoyages liés à la réutilisation, à la simplification et à l'efficacité.

10 

11La commande fonctionne avec tous les forfaits. La revue s'exécute dans votre propre session, elle est donc comptabilisée dans l'utilisation de votre forfait ou dans votre facturation API de la même manière que le reste de la session.

12 

13<Note>

14 Pour que chaque pull request d'un dépôt soit automatiquement revue sur GitHub, consultez [Code Review](/docs/fr/code-review), un service géré qu'un Owner active pour votre organisation.

15</Note>

16 

17`/review` est un alias de `/code-review`. Avant la v2.1.223, `/review` était une commande distincte qui effectuait une revue en une seule passe, en lecture seule, d'une pull request GitHub.

18 

19<Steps>

20 <Step title="Exécuter /code-review">

21 Exécutez la commande :

22 

23 ```text theme={null}

24 /code-review

25 ```

26 

27 Sans cible, la revue couvre les modifications de votre branche actuelle. Pour orienter plutôt la revue vers une pull request, une autre branche, un chemin ou une plage de commits, consultez [Choisir ce qu'il faut revoir](#choose-what-to-review).

28 

29 Vous pouvez également ajouter des flags :

30 

31 * `--fix` : demande également à Claude d'appliquer les résultats à votre arbre de travail après la revue. Ses modifications passent par votre [mode de permission](/docs/fr/permission-modes).

32 * `--comment` : publie les résultats sur une pull request GitHub sous forme de commentaires en ligne, ou sur une [merge request GitLab](#post-findings-to-a-gitlab-merge-request) sous forme d'une seule note

33 </Step>

34 

35 <Step title="Continuer à travailler">

36 La revue s'exécute en tant que [sous-agent](/docs/fr/sub-agents) en arrière-plan avec sa propre fenêtre de contexte, elle ne remplit donc pas votre conversation. Les résultats arrivent dans votre conversation lorsque la revue est terminée.

37 </Step>

38 

39 <Step title="Agir sur les résultats">

40 Demandez à Claude de corriger ce que la revue a trouvé. Avec `--fix` ou `--comment`, Claude applique ou publie les résultats dans le cadre de la revue, et il peut vous être demandé d'approuver ses modifications.

41 </Step>

42</Steps>

43 

44<h2 id="choose-what-to-review">

45 Choisir ce qu'il faut revoir

46</h2>

47 

48Pour revoir autre chose que votre branche actuelle, tapez une cible après le niveau d'effort et les éventuels flags. Claude reçoit ce texte comme cible de la revue. Une cible peut être un numéro de pull request, un nom de branche, un chemin de fichier ou une plage de révisions Git. Trouvez ce que vous souhaitez faire revoir dans la première colonne et tapez ce qu'indique la deuxième colonne :

49 

50| Pour orienter la revue vers | Tapez |

51| :- | :- |

52| Votre branche actuelle et les modifications non commitées | `/code-review` |

53| Vos 15 derniers commits | `/code-review HEAD~15..HEAD` |

54| Une branche par rapport à une autre | `/code-review main...my-feature` |

55| Un seul commit, où `abc1234` est le hash du commit | `/code-review abc1234^..abc1234` |

56| Une pull request par numéro | `/code-review 1234` |

57| Un chemin de fichier ou de répertoire | `/code-review src/auth` |

58 

59Sans cible, `/code-review` revoit les commits de votre branche en avance sur sa branche upstream ainsi que vos modifications non commitées. Si la branche n'a pas d'upstream, Claude effectue la comparaison avec `main`, ou avec le commit précédent.

60 

61Avec `ultra`, Claude Code interprète la cible différemment, comme le décrit [Texte après le niveau d'effort et les flags](#text-after-the-effort-level-and-flags).

62 

63<h2 id="what-the-review-reads-and-edits">

64 Ce que la revue lit et modifie

65</h2>

66 

67Vérifiez ces points avant de lancer une revue, en particulier avec `--fix` :

68 

69* **Modifications** : sans `--fix`, les instructions de la revue demandent à Claude uniquement un rapport. Avec `--fix`, elles lui demandent également d'appliquer les résultats à votre arbre de travail. Dans les deux cas, toute modification passe par votre mode de permission.

70* **Retour en arrière** : une revue en arrière-plan applique ses modifications `--fix` en dehors des [checkpoints](/docs/fr/checkpointing#subagent-edits-not-restored) de votre session. Après une telle revue, `/rewind` ne restaure que les fichiers que Claude avait déjà modifiés dans votre conversation. Les modifications de la revue sur les autres fichiers restent en place, utilisez donc git pour les annuler. Lorsque la revue [s'exécute au premier plan](#run-in-the-foreground), elle modifie votre arbre de travail pendant votre propre tour, donc `/rewind` restaure ses modifications comme d'habitude.

71* **Instructions** : la revue suit votre `CLAUDE.md`, y compris lors d'une exécution non interactive avec `-p`. Elle ne lit pas `REVIEW.md`. Ce fichier configure le [service Code Review](/docs/fr/code-review-customize#use-review-md-for-review-only-rules) géré sur les pull requests GitHub.

72 

73<h2 id="how-findings-are-reported">

74 Comment les résultats sont rapportés

75</h2>

76 

77Claude rapporte les résultats sous forme de texte dans la réponse dans ces deux types d'exécution :

78 

79* Dans une session de terminal, où `/code-review` exécute la revue en tant que [sous-agent forké](/docs/fr/skills#run-skills-in-a-subagent)

80* Dans une exécution `-p` avec une sortie texte ou JSON

81 

82Dans une application hôte qui demande la liste des résultats, comme l'[application de bureau](/docs/fr/desktop#review-your-code), Claude rapporte plutôt les résultats de la revue via l'[outil `ReportFindings`](/docs/fr/tools-reference). Le rapport apparaît sous forme de liste de résultats, et chaque entrée affiche l'emplacement du fichier, un résumé d'une phrase et une étiquette de catégorie telle que `correctness` lorsque le résultat en comporte une. Une demande de l'hôte s'applique à tous les niveaux d'effort et nécessite Claude Code v2.1.218 ou ultérieur.

83 

84Lorsque Claude corrige plus tard dans la session des résultats rapportés, il les rapporte à nouveau. Claude Code marque alors chaque résultat de la liste mise à jour comme corrigé, ignoré ou ne nécessitant aucune modification.

85 

86<h2 id="tune-effort-and-arguments">

87 Ajuster l'effort et les arguments

88</h2>

89 

90Au-delà de `--fix` et `--comment`, la commande accepte ces flags :

91 

92* `--post` : lors d'une revue cloud `ultra` d'une pull request `github.com`, présélectionne la publication des résultats finaux sur la PR dans la boîte de dialogue de lancement. Consultez [Publier les résultats sur la pull request](/docs/fr/ultrareview#post-findings-to-the-pull-request). Nécessite Claude Code v2.1.227 ou ultérieur.

93* `--max-findings <n>`, `--max-findings all` ou `--max-findings default` : rapporte jusqu'à `n` résultats, ou tous les résultats avec `all`, à la place de la limite habituelle de la revue. Lorsque la revue rapporte via l'outil de résultats, la limite est de 32. Les revues suivantes réutilisent la valeur que vous avez tapée jusqu'à ce que vous passiez `--max-findings default`, mais une valeur passée lors d'une exécution non interactive avec `-p` n'est pas mémorisée. Nécessite Claude Code v2.1.288 ou ultérieur.

94 

95Passez un [niveau d'effort](/docs/fr/model-config#adjust-effort-level) pour arbitrer entre couverture et confiance. Au niveau `low`, la revue rapporte les résultats dont elle est la plus sûre, vous voyez donc moins de faux positifs. De `medium` à `max`, la revue élargit sa couverture.

96 

97Lorsque vous ne tapez pas de niveau, la revue réutilise le dernier niveau entre `low` et `max` que vous avez tapé, même lors d'une session antérieure. Claude Code affiche un avis tel que `Reusing high effort, the level you typed last time`. Ces règles déterminent le niveau utilisé par une exécution :

98 

99* **Taper un niveau** : un niveau que vous tapez, comme `/code-review high`, modifie ce que les exécutions suivantes réutilisent

100* **Exécutions non interactives** : un niveau passé lors d'une exécution non interactive avec `-p` ne met pas à jour le niveau mémorisé

101* **`ultra`** : la revue n'utilise ni ne met à jour le niveau mémorisé

102* **Aucun niveau jamais tapé** : la revue utilise l'effort actuel de la session

103 

104Avant la v2.1.223, un `/code-review` sans niveau utilisait toujours l'effort actuel de la session.

105 

106<h3 id="post-findings-to-a-gitlab-merge-request">

107 Publier les résultats sur une merge request GitLab

108</h3>

109 

110Lorsque vous passez `--comment` pour une merge request GitLab, Claude Code publie les résultats via le CLI `glab` de GitLab. Nécessite Claude Code v2.1.257 ou ultérieur. Lorsque `glab` n'est pas installé, Claude affiche plutôt les résultats dans le terminal.

111 

112Passez la merge request sous forme d'URL ou de référence `!123`. Claude Code ne traite un simple numéro ou un nom de branche comme une merge request que lorsque l'origin du checkout se trouve sur `gitlab.com`. Sur une instance GitLab autogérée, utilisez la forme URL ou `!123`.

113 

114<h3 id="text-after-the-effort-level-and-flags">

115 Texte après le niveau d'effort et les flags

116</h3>

117 

118Après le niveau d'effort et les flags, Claude Code lit le reste de la ligne comme cible de la revue. L'argument `ultra` modifie cette lecture :

119 

120* **Avec `ultra`** : Claude Code interprète un mot unique comme une branche de base ou un numéro de PR. Un texte plus long qui ne désigne ni une branche ni une PR devient [une note jointe à la revue](/docs/fr/ultrareview#pass-a-request-in-plain-words). `/code-review ultra check my auth changes` revoit votre branche actuelle, et Claude met les résultats en relation avec votre note.

121* **Sans `ultra`** : tout ce qui reste constitue la cible de la revue, même lorsque cela commence par un autre nom de commande. `/code-review /fix-issue 123` effectue la revue avec `/fix-issue 123` comme texte cible au lieu de charger `/fix-issue` comme second [skill empilé](/docs/fr/skills#pass-arguments-to-skills). Avant la v2.1.218, une commande empilée après `/code-review` se développait comme son propre skill.

122 

123<h2 id="run-in-the-foreground">

124 Exécuter au premier plan

125</h2>

126 

127Pour que la revue s'exécute au premier plan, effectuez l'une de ces actions :

128 

129* Exécutez-la en mode non interactif, avec le flag `-p` ou l'Agent SDK. Claude Code attend la revue et inclut les résultats dans la réponse, sauf pour `ultra`, qui [n'attend pas la revue cloud](/docs/fr/ultrareview#run-ultrareview-non-interactively).

130* Définissez [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS`](/docs/fr/env-vars) sur `1`, ce qui désactive également toutes les autres fonctionnalités de tâches en arrière-plan

131* Exécutez à nouveau `/code-review` pendant qu'une revue précédente est encore en cours

132 

133Avant la v2.1.218, la revue s'exécutait à l'intérieur de votre conversation.

134 

135<h2 id="let-claude-start-the-review">

136 Laisser Claude lancer la revue

137</h2>

138 

139Claude peut lancer `/code-review` de lui-même, sans que vous ayez à taper la commande :

140 

141* **Lorsque vous le demandez en langage courant** : demandez à Claude de revoir vos modifications et il peut exécuter le skill

142* **Depuis une tâche planifiée** : une [tâche planifiée](/docs/fr/scheduled-tasks) avec `/code-review` comme prompt exécute la revue

143 

144Une tâche planifiée ne lance jamais la [revue cloud](#escalate-to-ultrareview), planifiez donc `/code-review` sans l'argument `ultra`.

145 

146Pour empêcher à la fois Claude et les tâches planifiées de lancer la revue tout en laissant `/code-review` disponible pour que vous puissiez la taper, ajoutez une entrée [`skillOverrides`](/docs/fr/skills#override-skill-visibility-from-settings) à un [fichier de paramètres](/docs/fr/settings#where-settings-live) tel que `~/.claude/settings.json` :

147 

148```json theme={null}

149{

150 "skillOverrides": {

151 "code-review": "user-invocable-only"

152 }

153}

154```

155 

156Avant la v2.1.246, Claude ne lançait `/code-review` de lui-même que lorsqu'un feature flag récupéré auprès d'Anthropic l'activait. Dans les [sessions qui ne récupèrent pas de feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching), `/code-review` ne s'exécutait que lorsque vous la tapiez, et un `/code-review` planifié parvenait à Claude sous forme de texte brut.

157 

158<h2 id="escalate-to-ultrareview">

159 Passer à ultrareview

160</h2>

161 

162`/code-review ultra --fix` exécute l'[ultrareview](/docs/fr/ultrareview), plus approfondie, dans le cloud, puis demande à Claude d'appliquer ses résultats à votre arbre de travail lorsqu'ils reviennent dans votre session.

163 

164Ultrareview utilise sa propre portée :

165 

166* **Ce qu'elle compare** : votre branche actuelle par rapport à la branche par défaut du dépôt, ainsi que les modifications non commitées et indexées dans l'arbre de travail

167* **Fichiers sensibles** : pour les modifications non commitées de fichiers dont le nom évoque des identifiants ou des clés, tels que les fichiers `.env` et `*.tfvars`, Claude Code suit les règles de [téléversement d'un dépôt local vers une session cloud](/docs/fr/claude-code-on-the-web#send-local-repositories-without-github)

168* **Une base différente** : passez un nom de branche, par exemple `/code-review ultra develop`, pour effectuer la comparaison avec une base différente

169 

170Lorsque la cible est une pull request `github.com`, vous pouvez demander à Claude de [publier les résultats finaux sur la PR](/docs/fr/ultrareview#post-findings-to-the-pull-request) sous forme de commentaire depuis votre compte GitHub. Nécessite Claude Code v2.1.227 ou ultérieur.

171 

172<Note>

173 Ultrareview nécessite une authentification avec un compte claude.ai. Elle n'est pas disponible sur Amazon Bedrock, Agent Platform de Google Cloud ou Microsoft Foundry, ni pour les organisations ayant activé la Zero Data Retention ou appliqué la [configuration HIPAA](/docs/fr/hipaa-setup). Dans ces cas, `/code-review ultra` exécute plutôt une revue locale dans votre session. Les organisations qui utilisent des [clés de chiffrement gérées par le client](https://platform.claude.com/docs/en/manage-claude/cmek) (CMEK) ne peuvent pas exécuter ultrareview. Pour revoir vos modifications localement, exécutez `/code-review`.

174</Note>

175 

176Pour exécuter une revue cloud depuis un script ou un job de CI, utilisez la [sous-commande `claude ultrareview`](/docs/fr/ultrareview#run-ultrareview-non-interactively), qui attend les résultats et les affiche sur stdout.

177 

178<h2 id="change-or-build-on-the-review">

179 Modifier la revue ou s'appuyer sur elle

180</h2>

181 

182`/code-review` est un [skill fourni](/docs/fr/skills#bundled-skills) : ses instructions sont intégrées à Claude Code, il n'existe donc aucun fichier `SKILL.md` sur le disque à ouvrir ou à modifier. Pour donner à chaque revue des règles de projet à suivre, ajoutez-les à votre `CLAUDE.md`. Pour aller plus loin, commencez par l'une de ces pages :

183 

184* **Remplacer la commande** : un skill de projet ou personnel nommé `code-review` s'exécute à la place du skill fourni, et l'alias `/review` continue d'exécuter la revue fournie. Consultez [Résoudre les skills qui partagent un nom](/docs/fr/skills#resolve-skills-that-share-a-name).

185* **Créer votre propre relecteur** : écrivez un [sous-agent](/docs/fr/sub-agents) de revue ou un [skill](/docs/fr/skills) de revue

186* **Utiliser une commande voisine** : [`/simplify`](/docs/fr/commands) effectue une revue axée uniquement sur le nettoyage et applique ses corrections, et [`/verify`](/docs/fr/commands) exécute votre application pour confirmer qu'une modification fonctionne

187 

188La commande s'appelait `/simplify` avant la v2.1.147, lorsqu'elle appliquait les corrections par défaut. Si vous avez scripté `/simplify` pour la recherche de bugs, passez à `/code-review --fix`.

189 

190<h2 id="related-resources">

191 Ressources connexes

192</h2>

193 

194* [Code Review](/docs/fr/code-review) : le service géré qui revoit chaque pull request sur GitHub pour votre organisation

195* [Ultrareview](/docs/fr/ultrareview) : configuration, limites et coût de la revue cloud approfondie

196* [Commandes](/docs/fr/commands) : la référence en une ligne pour `/code-review`, `/review`, `/simplify` et `/verify`

197* [Skills](/docs/fr/skills) : fonctionnement des skills fournis et comment écrire les vôtres

code-review-pull-requests.md +169 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Lire et demander des revues sur une pull request

6 

7> Lisez les résultats de Code Review sur votre pull request GitHub, répondez-y ou ignorez-les, et demandez une revue avec `@claude review`.

8 

9Code Review est un service géré qu'un Owner de votre organisation Claude active pour un ensemble de dépôts GitHub. Une fois activé, Claude examine les pull requests de ces dépôts et publie ses résultats sous forme de commentaires en ligne, d'un résumé dans le corps de la revue et d'un check run nommé **Claude Code Review**. Une revue n'approuve ni ne bloque jamais votre pull request, et le check run ne se conclut jamais par un échec.

10 

11Un Owner contrôle [quand les revues s'exécutent](/docs/fr/code-review-setup#set-when-reviews-run) et [leur niveau d'exhaustivité](/docs/fr/code-review-setup#set-the-default-review-level) pour chaque dépôt.

12 

13<Note>

14 Si votre forfait n'inclut pas Code Review, vous pouvez tout de même demander à Claude d'examiner votre branche depuis une session Claude Code : consultez [Effectuer une revue locale avec `/code-review`](/docs/fr/code-review-local).

15</Note>

16 

17<h2 id="severity-levels">

18 Niveaux de gravité

19</h2>

20 

21Claude publie chaque résultat sous forme de commentaire en ligne sur les lignes concernées et lui attribue l'un des trois niveaux de gravité suivants :

22 

23| Marqueur | Gravité | Signification |

24| :- | :- | :- |

25| 🔴 | Important | Un bug qui devrait être corrigé avant la fusion |

26| 🟡 | Nit | Un problème mineur, qui mérite d'être corrigé mais n'est pas bloquant |

27| 🟣 | Pre-existing | Un bug qui existe dans la base de code mais qui n'a pas été introduit par cette PR |

28 

29Lorsque la revue a enregistré son raisonnement, le résultat comporte une section repliée **Why this was flagged**. Développez-la pour lire pourquoi Claude a signalé le problème et comment il l'a vérifié.

30 

31Pour modifier ce que Claude signale dans votre dépôt ou la façon dont il classe la gravité, consultez [Personnaliser Code Review](/docs/fr/code-review-customize).

32 

33<h2 id="respond-to-findings">

34 Répondre aux résultats

35</h2>

36 

37Vous pouvez fusionner sans répondre à un résultat, sauf si les règles propres à votre dépôt l'exigent. Si sa protection de branche [exige la résolution des conversations](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-conversation-resolution-before-merging), résolvez le fil de chaque résultat avant de fusionner.

38 

39Pour traiter un résultat, résolvez son fil ou poussez une correction.

40 

41* **L'ignorer sans modifier le code** : résolvez vous-même le fil sur GitHub. Une simple réponse n'ignore pas un résultat.

42* **Corriger le problème** : modifiez le code et poussez. La revue suivante de la pull request résout le fil précédent lorsqu'elle juge le problème corrigé, que cette revue s'exécute automatiquement lors de votre push ou que vous la demandiez.

43* **Expliquer ou contester** : répondez au commentaire. Claude ne répond pas immédiatement, et une réponse ne lance pas de revue. La revue suivante de la pull request lit les réponses à ses résultats précédents, et peut résoudre le fil ou publier une réponse de suivi. Si le même type de résultat revient sans cesse, demandez à un mainteneur d'ajouter une règle à [`REVIEW.md`](/docs/fr/code-review-customize#choose-what-to-write-in-review-md).

44 

45Pour obtenir cette revue suivante sans pousser, publiez `@claude review` en tant que [commentaire de premier niveau sur la pull request](#comment-commands).

46 

47<h2 id="check-run-output">

48 Sortie du check run

49</h2>

50 

51Le lien **Details** du check run **Claude Code Review** ouvre les résultats dans un tableau trié par gravité, y compris tout résultat dont le commentaire en ligne n'a pas été accepté par GitHub :

52 

53| Gravité | Fichier:Ligne | Problème |

54| - | - | - |

55| 🔴 Important | `src/auth/session.ts:142` | Le rafraîchissement du token entre en concurrence avec la déconnexion, laissant des sessions obsolètes actives |

56| 🟡 Nit | `src/auth/session.ts:88` | `parseExpiry` renvoie silencieusement 0 en cas d'entrée mal formée |

57 

58Un résultat associé à une ligne mais qui n'a pas été publié en tant que commentaire en ligne apparaît sous forme d'annotation dans l'onglet **Files changed**, sur les lignes concernées. Les résultats Important s'affichent en rouge, les nits en jaune et les bugs préexistants en gris.

59 

60Le check run se conclut comme neutre, ou comme ignoré lorsqu'une revue automatique ne s'est pas exécutée parce qu'un push n'a modifié aucun fichier. Il ne se conclut jamais par un échec, de sorte qu'une revue terminée ne fait pas échouer une vérification requise. Si vous ne voyez aucun résultat, ou si une revue ne s'est pas exécutée, consultez [Résoudre les problèmes de Code Review](/docs/fr/code-review-troubleshooting).

61 

62<h3 id="read-the-result-from-a-script">

63 Lire le résultat depuis un script

64</h3>

65 

66Pour conditionner une fusion ou publier un résumé depuis votre propre CI, analysez la dernière ligne du texte Details avec `gh` et jq. Cette ligne est un commentaire lisible par machine.

67 

68<Steps>

69 <Step title="Trouver l'ID du check run">

70 Depuis votre shell, listez les check runs du commit et récupérez l'`id` de l'exécution `Claude Code Review`. Remplacez `OWNER` et `REPO` par le propriétaire et le nom de votre dépôt, et `<commit-sha>` par le commit de tête de la pull request :

71 

72 ```bash theme={null}

73 gh api repos/OWNER/REPO/commits/<commit-sha>/check-runs --jq '.check_runs[] | {id, name}'

74 ```

75 </Step>

76 

77 <Step title="Lire les décomptes par gravité">

78 Lisez les décomptes de ce check run, en remplaçant `CHECK_RUN_ID` par l'ID :

79 

80 ```bash theme={null}

81 gh api repos/OWNER/REPO/check-runs/CHECK_RUN_ID \

82 --jq '.output.text | split("bughunter-severity: ")[1] | split(" -->")[0] | fromjson'

83 ```

84 

85 Cette commande affiche un objet JSON contenant un décompte par gravité, avec ses clés dans l'ordre alphabétique, par exemple `{"nit": 1, "normal": 2, "pre_existing": 0}`. Les décomptes incluent les résultats des revues précédentes de la pull request dont les fils sont encore ouverts.

86 </Step>

87 

88 <Step title="Agir en fonction du résultat">

89 Faites en sorte que votre script gère ces cas :

90 

91 * **`normal` est supérieur à zéro** : faites échouer le job si vous souhaitez conditionner la fusion. La clé `normal` contient le nombre de résultats Important : Claude a donc trouvé au moins un bug qui mérite d'être corrigé avant la fusion.

92 * **La ligne est absente** : considérez-la comme une absence de verdict plutôt que comme zéro résultat. Le check run d'une revue qui a échoué, expiré, été annulée ou remplacée par une plus récente ne comporte pas cette ligne, et certaines revues terminées n'en ont pas non plus.

93 </Step>

94</Steps>

95 

96<h2 id="request-a-review">

97 Demander une revue

98</h2>

99 

100Si votre pull request est un brouillon ou provient d'un fork, les revues automatiques l'ignorent : [demandez donc la revue avec une commande de commentaire](#review-drafts-and-pull-requests-from-forks). Pour obtenir une revue sur votre pull request, effectuez l'une des actions suivantes :

101 

102* **L'ouvrir ou la marquer comme prête** : dans un dépôt configuré sur **Once after PR creation** ou **After every push**, une revue démarre lorsque vous ouvrez ou rouvrez la pull request, ou que vous marquez un brouillon comme prêt pour la revue.

103* **Publier une commande en commentaire** : publiez [`@claude review`](#comment-commands) sur la pull request.

104* **Pousser un commit** : un push lance une revue dans un dépôt configuré sur **After every push**, ou sur une pull request que vous avez abonnée avec `@claude review always`.

105* **Cliquer sur Re-run** : après l'échec ou l'expiration d'une revue sur une pull request qui ne provient pas d'un fork, [relancez-la](/docs/fr/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review) depuis le check run.

106* **Attendre la nouvelle tentative automatique** : une revue dont la session a été interrompue est automatiquement réessayée une fois. Le [résumé du check run](/docs/fr/code-review-troubleshooting#retrigger-a-failed-or-timed-out-review) indique quand c'est le cas.

107 

108<h3 id="comment-commands">

109 Commandes de commentaire

110</h3>

111 

112Publiez l'une de ces commandes en commentaire sur la pull request :

113 

114| Commande | Ce qu'elle fait | Quand l'utiliser |

115| :- | :- | :- |

116| `@claude review` | Lance une revue unique sans abonner la PR aux futurs push | Vous voulez une revue maintenant, par exemple sur une pull request d'un dépôt configuré sur Manual, ou une autre revue immédiatement dans les autres modes |

117| `@claude review always` | Lance une revue et abonne la PR aux revues déclenchées par push à l'avenir | Vous voulez que chaque push ultérieur lance une nouvelle revue, par exemple sur une PR prioritaire dans un dépôt configuré sur Manual |

118| `@claude review once` | Identique à `@claude review` : lance une revue unique sans abonnement | Les mêmes cas que `@claude review` |

119 

120Pour que l'une de ces commandes lance une revue, toutes les conditions suivantes doivent être remplies :

121 

122* Publiez-la en tant que nouveau commentaire de premier niveau sur la pull request, et non en tant que commentaire en ligne sur une ligne du diff ni dans le corps d'une revue. La modification d'un commentaire précédent ne compte pas.

123* Placez la commande au début du commentaire, avec `always` sur la même ligne que le reste de la commande. La casse n'a pas d'importance.

124* Vous devez disposer de la permission write, maintain ou admin sur le dépôt. Claude vérifie cela auprès de GitHub pour chaque personne qui commente, et les commentaires de bots ne lancent pas de revues.

125* La pull request doit être ouverte.

126 

127Lorsque la commande est acceptée, un check run **Claude Code Review** apparaît sur la pull request avec le titre **Code review queued...**. Le titre devient **Code review in progress...** lorsque la revue démarre. Claude peut aussi réagir à votre commentaire avec 👀, mais cette réaction peut apparaître même lorsqu'aucune revue ne démarre : fiez-vous plutôt au check run.

128 

129Si une revue est déjà en cours sur le dernier commit de la pull request, une nouvelle demande n'en lance pas une seconde.

130 

131<Note>

132 Avant une mise à jour de juillet 2026, `@claude review` abonnait la PR aux revues déclenchées par push. Si vous dépendiez de ce comportement, publiez plutôt `@claude review always`.

133</Note>

134 

135<h3 id="what-a-later-review-covers">

136 Ce que couvre une revue ultérieure

137</h3>

138 

139Une revue ultérieure qui démarre d'elle-même, par exemple après un push, se concentre sur ce qui a changé depuis la dernière revue et publie moins de nits et de résultats préexistants. Son résumé comptabilise ce qu'elle a omis, dans une ligne se terminant par « found and not posted » ou « outside the scope of this re-review and not posted. »

140 

141Pour obtenir une revue qui n'omet aucun de ces résultats, publiez [`@claude review`](#comment-commands). Elle couvre à nouveau l'ensemble de la pull request.

142 

143<h3 id="review-drafts-and-pull-requests-from-forks">

144 Revue des brouillons et des pull requests provenant de forks

145</h3>

146 

147Les revues automatiques ignorent ces deux cas : demandez donc la revue avec une commande de commentaire :

148 

149* **Pull requests en brouillon** : une commande de commentaire s'exécute sur un brouillon, ce qui vous permet de demander une revue avant de marquer la pull request comme prête. Les push vers un brouillon ne lancent pas de revues, même après `@claude review always`. L'abonnement prend effet une fois la pull request marquée comme prête.

150* **Pull requests provenant de forks** : Claude n'examine pas automatiquement une pull request provenant d'un fork, quel que soit le paramètre **Review runs** du dépôt. Pour en lancer une, publiez `@claude review` sur la pull request. Les [conditions des commandes de commentaire](#comment-commands) s'appliquent toujours, et l'accès en écriture requis porte sur le dépôt de base, et non sur le fork.

151 

152Sur une pull request provenant d'un fork, `@claude review always` fonctionne également, mais n'abonne pas la pull request aux revues lors des push ultérieurs. Cliquer sur **Re-run** sur le check run n'y lance pas de revue.

153 

154<h3 id="use-code-review-alongside-the-claude-code-github-action">

155 Utiliser Code Review avec la GitHub Action Claude Code

156</h3>

157 

158Si le dépôt exécute également la [GitHub Action Claude Code](/docs/fr/github-actions) en mode interactif avec sa phrase de déclenchement `@claude` par défaut, un commentaire `@claude review` lance aussi l'Action. Pour séparer les deux, définissez l'entrée `trigger_phrase` de l'Action sur une phrase différente.

159 

160<h2 id="related-resources">

161 Ressources associées

162</h2>

163 

164* [Résoudre les problèmes de Code Review](/docs/fr/code-review-troubleshooting) : une revue qui n'a pas démarré, a échoué ou a été ignorée pour des raisons de budget

165* [Code Review](/docs/fr/code-review) : ce qu'est le service et comment se déroule une revue

166* [Configurer Code Review](/docs/fr/code-review-setup) : pour les Owners, activer Code Review et choisir quand les revues s'exécutent et à quel niveau

167* [Personnaliser Code Review](/docs/fr/code-review-customize) : modifier ce que Claude signale avec `REVIEW.md` et `CLAUDE.md`

168* [Coûts et utilisation de Code Review](/docs/fr/code-review-costs) : comment les revues sont facturées et où la limite de dépenses est définie

169* [Effectuer une revue locale avec `/code-review`](/docs/fr/code-review-local) : exécuter une revue de votre branche depuis une session Claude Code

code-review-setup.md +189 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Configurer Code Review

6 

7> Activez Code Review pour votre organisation Claude : connectez GitHub, installez la Claude GitHub App, choisissez les dépôts et définissez quand les revues s'exécutent

8 

9En tant qu'Owner de votre organisation Claude, vous activez Code Review dans [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review) sur claude.ai. Les revues s'exécutent sur l'infrastructure d'Anthropic, vous n'avez donc pas besoin d'ajouter de fichiers de workflow à vos dépôts.

10 

11Après la configuration, vous choisissez le niveau de rigueur des revues et le moment où elles s'exécutent dans chaque dépôt. Vos dépenses augmentent avec un niveau de revue plus élevé et lorsque les revues s'exécutent plus souvent. Consultez [Coûts de Code Review](/docs/fr/code-review-costs#pricing).

12 

13<h2 id="what-you-need-to-turn-on-code-review">

14 Ce dont vous avez besoin pour activer Code Review

15</h2>

16 

17Vérifiez d'abord que votre organisation [est éligible à Code Review](/docs/fr/code-review#availability). Assurez-vous ensuite de disposer des accès suivants, ou qu'une personne qui en dispose puisse vous aider :

18 

19| Accès | Nécessaire pour |

20| :- | :- |

21| [Rôle Owner](/docs/fr/server-managed-settings#access-control) dans votre organisation Claude | Chaque étape de la page d'administration |

22| Owner de l'organisation GitHub | Installer la Claude GitHub App et [la lier à votre organisation Claude](/docs/fr/admin-setup#connected-github-accounts). Si vous n'êtes pas owner, demandez à un owner d'installer et de lier l'application avant de commencer |

23| Accès en écriture à chaque dépôt que vous ajoutez, depuis le compte GitHub que vous connectez à Claude | Ajouter le dépôt |

24 

25<h2 id="turn-on-code-review">

26 Activer Code Review

27</h2>

28 

29<Steps>

30 <Step title="Cliquer sur le commutateur Allow code review">

31 Accédez à la section **Code review** de [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review) et cliquez sur le commutateur **Allow code review**.

32 

33 Si Code Review s'active immédiatement sans boîte de dialogue, votre organisation a déjà la Claude GitHub App liée ou des dépôts ajoutés. Accédez à [Ajouter d'autres dépôts](#add-more-repositories), puis revenez pour la dernière étape.

34 </Step>

35 

36 <Step title="Connecter votre compte GitHub">

37 Si une boîte de dialogue **Connect GitHub** s'ouvre, cliquez sur **Connect**. Si votre organisation utilise GitHub Enterprise Server, sélectionnez d'abord votre instance dans la boîte de dialogue. GitHub vous demande d'autoriser Claude, puis vous renvoie vers la page d'administration avec la boîte de dialogue **Add a repository** ouverte.

38 

39 Si **Add a repository** s'est ouvert directement, votre compte est déjà connecté : passez à l'étape suivante.

40 </Step>

41 

42 <Step title="Installer la Claude GitHub App">

43 Si les dépôts souhaités figurent dans la boîte de dialogue **Add a repository**, ou si vous les trouvez en effectuant une recherche, passez à l'étape suivante. La boîte de dialogue ne liste un dépôt que si la Claude GitHub App peut y accéder ; s'ils n'y figurent pas, installez l'application :

44 

45 * Cliquez sur **Install GitHub App**. Lorsqu'aucun dépôt n'est listé, il s'agit d'un bouton dans la boîte de dialogue. Sinon, il se trouve en bas du menu de filtre d'organisation GitHub de la boîte de dialogue. La page d'installation de GitHub s'ouvre dans un nouvel onglet.

46 * Choisissez l'organisation GitHub propriétaire des dépôts.

47 * Choisissez les dépôts auxquels l'application peut accéder.

48 * Approuvez les permissions demandées. Cet ensemble est plus large que ce qu'utilise une revue et il est partagé par d'autres fonctionnalités de Claude, comme [GitHub Actions](/docs/fr/github-actions). Consultez [ce à quoi une revue peut accéder](/docs/fr/code-review#what-a-review-can-access) et la [liste complète des permissions](/docs/fr/github-actions#github-app-permissions).

49 * Une fois l'installation terminée, l'onglet revient à Claude. S'il affiche un bouton **Finish connecting GitHub**, cliquez dessus pour lier l'installation à votre organisation Claude.

50 * Revenez à l'onglet de la page d'administration, où la liste de la boîte de dialogue s'actualise.

51 </Step>

52 

53 <Step title="Choisir les dépôts">

54 Sélectionnez les dépôts que vous souhaitez faire réviser, puis cliquez sur **Continue**. L'ajout d'un dépôt nécessite un accès en écriture à celui-ci depuis le compte GitHub que vous avez connecté. Vous pourrez [ajouter d'autres dépôts](#add-more-repositories) plus tard.

55 </Step>

56 

57 <Step title="Cliquer sur Finish">

58 Une boîte de dialogue **Code review is set up** s'affiche ensuite. Cliquez sur **Finish** pour activer Code Review. Si vous fermez la boîte de dialogue d'une autre manière, vos dépôts restent ajoutés mais **Allow code review** reste désactivé, et vous l'activez depuis le commutateur.

59 

60 Chaque dépôt est initialement configuré pour une revue après chaque push, ce qui exécute le plus de revues. Pour en exécuter moins, [définissez quand les revues s'exécutent](#set-when-reviews-run).

61 </Step>

62 

63 <Step title="Vérifier avec une pull request de test">

64 Ouvrez une pull request de test dans l'un des dépôts que vous avez ajoutés, sans la marquer comme brouillon. Un check run nommé **Claude Code Review** apparaît en quelques minutes. Si vous avez déjà configuré le dépôt sur **Manual (@claude review)**, commentez `@claude review` sur la pull request pour lancer la première revue.

65 

66 Si aucun check run n'apparaît, consultez [Aucun check run n'apparaît sur la pull request de test](/docs/fr/code-review-troubleshooting#no-check-run-appears-on-the-test-pull-request).

67 

68 Une fois la revue arrivée, envoyez à vos développeurs [Lire et demander des revues sur une pull request](/docs/fr/code-review-pull-requests), qui présente les niveaux de gravité, les commandes de commentaire et la manière de répondre aux résultats.

69 </Step>

70</Steps>

71 

72<h2 id="set-defaults-for-your-organization">

73 Définir les valeurs par défaut de votre organisation

74</h2>

75 

76En tant qu'Owner, vous décidez du niveau de rigueur des revues et de leur fréquence. Ces deux paramètres se trouvent dans la section **Code review** de [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review).

77 

78<h3 id="set-the-default-review-level">

79 Définir le niveau de revue par défaut

80</h3>

81 

82Le niveau de revue détermine la rigueur de chaque revue, et une revue plus approfondie coûte plus cher. Vous définissez une valeur par défaut pour l'organisation et pouvez la remplacer pour des dépôts individuels.

83 

84| Niveau | Compromis |

85| :- | :- |

86| Quick | Une passe plus légère. Le niveau le plus rapide, au coût le plus bas |

87| Standard | Équilibre entre profondeur, vitesse et coût. Le niveau par défaut |

88| Deep | La passe la plus approfondie. La plus longue et la plus coûteuse |

89 

90* **Valeur par défaut de l'organisation** : sélectionnez un niveau sous **Review level** et confirmez avec **Change level**. Chaque dépôt l'utilise, sauf si vous lui attribuez son propre niveau.

91* **Un seul dépôt** : cliquez sur **Edit** sur la ligne du dépôt, puis sélectionnez un **Review level**. La première option, **Default**, suit l'organisation. Le niveau est enregistré dès que vous le sélectionnez.

92 

93Un nouveau niveau s'applique aux revues qui démarrent après la modification. Pour connaître les autres facteurs qui influencent le coût de chaque revue, consultez [Coûts et utilisation de Code Review](/docs/fr/code-review-costs).

94 

95<h3 id="set-when-reviews-run">

96 Définir quand les revues s'exécutent

97</h3>

98 

99Chaque dépôt possède son propre paramètre **Review runs**, qui détermine quand ses pull requests sont révisées.

100 

101* **Once after PR creation** : une revue s'exécute lorsqu'une pull request est ouverte, rouverte ou marquée comme prête pour la revue

102* **After every push** : une revue s'exécute à chaque push sur la branche de la pull request, détectant les nouveaux problèmes à mesure que la pull request évolue et résolvant automatiquement les fils de discussion lorsque vous corrigez les problèmes signalés

103* **Manual (@claude review)** : ouvrir une pull request ou y pousser des modifications ne lance pas de revue. Commentez [`@claude review`](/docs/fr/code-review-pull-requests#comment-commands) pour en demander une, ou `@claude review always` pour abonner également la pull request aux revues lors des pushs suivants.

104 

105Le mode Manual est utile pour les dépôts à fort trafic où vous souhaitez soumettre certaines pull requests à la revue, ou pour ne commencer à réviser les pull requests qu'une fois qu'elles sont prêtes. Pour comparer l'effet de chaque option sur les dépenses, consultez [Fréquence d'exécution des revues](/docs/fr/code-review-costs#how-often-reviews-run).

106 

107Pour modifier le paramètre, cliquez sur **Edit** sur la ligne du dépôt dans le tableau **Repositories** et sélectionnez une option **Review runs**. Le choix est enregistré dès que vous le sélectionnez, et la colonne **Review runs** du tableau l'affiche sous forme abrégée : Once per PR, Every push ou Manual.

108 

109* **Brouillons et pull requests provenant de forks** : quelle que soit l'option choisie, [les revues automatiques ignorent les deux](/docs/fr/code-review-pull-requests#review-drafts-and-pull-requests-from-forks)

110* **Nouveaux dépôts** : un dépôt que vous ajoutez depuis la boîte de dialogue **Add a repository** démarre sur **After every push**. Si son organisation GitHub est [couverte dans son ensemble](#cover-a-whole-github-organization), il adopte plutôt le paramètre de la ligne de cette organisation.

111 

112<h3 id="turn-tip-comments-on-or-off">

113 Activer ou désactiver les commentaires d'astuce

114</h3>

115 

116Un commentaire d'astuce est un court commentaire que Claude publie sur une pull request lorsqu'aucune revue ne démarre, en expliquant pourquoi et quoi faire ensuite. **Show tips on pull requests** est activé par défaut. Lorsqu'il est activé, Claude publie une astuce dans chacun des cas suivants, en expliquant :

117 

118* **Le dépôt est configuré sur Manual** : comment demander une revue avec un commentaire

119* **La pull request provient d'un fork** : qu'un mainteneur peut demander la revue

120* **Un bot, ou une personne sans accès en écriture, commente `@claude review`** : qu'aucune revue n'a été lancée, et qui peut en demander une

121* **L'organisation GitHub n'est pas liée à votre organisation Claude** : que les revues sont suspendues, et comment la lier

122 

123Désactivez le paramètre pour arrêter ces commentaires.

124 

125<h3 id="what-developers-can-change">

126 Ce que les développeurs peuvent modifier

127</h3>

128 

129Les développeurs s'adressent à vous pour modifier le niveau de revue, le paramètre **Review runs** ou les dépôts qui font l'objet de revues. Depuis GitHub, sans le rôle Owner, ils peuvent effectuer les actions suivantes :

130 

131* **Demander une revue** : commenter [`@claude review`](/docs/fr/code-review-pull-requests#comment-commands) sur une pull request. Cela nécessite un accès en écriture au dépôt et fonctionne sur les [brouillons et les pull requests provenant de forks](/docs/fr/code-review-pull-requests#review-drafts-and-pull-requests-from-forks), que les revues automatiques ignorent.

132* **Abonner une pull request à une revue à chaque push** : commenter `@claude review always` sur une pull request qui n'est pas [un brouillon ou issue d'un fork](/docs/fr/code-review-pull-requests#review-drafts-and-pull-requests-from-forks), par exemple dans un dépôt configuré sur Manual

133* **Modifier ce que les revues signalent** : faire un commit de [fichiers `REVIEW.md` et `CLAUDE.md`](/docs/fr/code-review-customize) dans le dépôt, par exemple pour ajouter une vérification

134 

135Les revues demandées par les développeurs sont [facturées à votre organisation](/docs/fr/code-review-costs#pricing). Pour limiter les dépenses mensuelles de Code Review, consultez [Limiter vos dépenses](/docs/fr/code-review-costs#limit-your-spend).

136 

137<h2 id="manage-repositories">

138 Gérer les dépôts

139</h2>

140 

141Vous pouvez ajouter des dépôts un par un ou couvrir une organisation GitHub entière en une seule fois, et arrêter les revues là où vous n'en voulez pas.

142 

143<h3 id="add-more-repositories">

144 Ajouter d'autres dépôts

145</h3>

146 

147Pour ajouter des dépôts après la configuration, cliquez sur **Add** au-dessus du tableau **Repositories** dans la section **Code review**. La boîte de dialogue **Add a repository** s'ouvre. Sélectionnez des dépôts et cliquez sur **Continue**.

148 

149* **Un dépôt n'est pas listé** : consultez [Un dépôt n'est pas listé dans Add a repository](/docs/fr/code-review-troubleshooting#a-repository-isn’t-listed-in-add-a-repository).

150* **Vous voulez tous les dépôts d'une organisation GitHub** : [couvrez l'organisation](#cover-a-whole-github-organization) au lieu de sélectionner les dépôts un par un

151 

152<h3 id="cover-a-whole-github-organization">

153 Couvrir une organisation GitHub entière

154</h3>

155 

156Pour activer Code Review sur tous les dépôts d'une organisation GitHub, définissez **Review runs** sur la ligne de l'organisation dans le tableau **Repositories**. Cela couvre tous les dépôts de cette organisation auxquels la Claude GitHub App peut accéder, y compris les dépôts ajoutés ultérieurement. Cela peut augmenter considérablement les dépenses. Toutes les conditions suivantes sont requises :

157 

158* Le compte GitHub que vous avez connecté à Claude est owner de cette organisation GitHub.

159* L'organisation est hébergée sur github.com. Les instances GitHub Enterprise Server et les comptes GitHub personnels ne sont pas éligibles.

160* Une [limite de dépenses mensuelle](/docs/fr/code-review-costs#limit-your-spend) est définie, pour votre organisation Claude ou pour Code Review.

161 

162Pour couvrir l'organisation, cliquez sur **Edit** sur sa ligne, sélectionnez une option **Review runs** et confirmez. Les options sont les trois de [Définir quand les revues s'exécutent](#set-when-reviews-run), plus **Off**.

163 

164Après votre confirmation, les modifications suivantes prennent effet :

165 

166* **Couverture** : chaque dépôt est couvert à partir de sa prochaine pull request. Si la Claude GitHub App a été installée sur une sélection de dépôts plutôt que sur tous, Claude révise ces dépôts ; modifiez l'accès aux dépôts de l'application sur GitHub pour couvrir les autres.

167* **Paramètres existants** : chaque dépôt de cette organisation GitHub adopte l'option que vous sélectionnez, y compris les dépôts que vous aviez configurés individuellement. Redéfinir la ligne produit le même effet. Les dépôts que vous avez désactivés sur leur propre ligne restent désactivés.

168* **Modifications individuelles ultérieures** : un dépôt que vous configurez ensuite différemment de son organisation est marqué **Custom** dans le tableau.

169* **Niveau de revue** : une ligne d'organisation n'a pas de niveau de revue propre.

170 

171<h3 id="turn-off-code-review-or-remove-a-repository">

172 Désactiver Code Review ou retirer un dépôt

173</h3>

174 

175Dans la section **Code review** de [**Admin settings > Claude Code**](https://claude.ai/admin-settings/claude-code#code-review), choisissez le contrôle correspondant à ce que vous souhaitez arrêter :

176 

177* **Un dépôt, en le conservant dans la liste** : cliquez sur **Edit** sur sa ligne et désactivez **Code review**. Le tableau affiche le dépôt comme Off.

178* **Un dépôt, en le retirant** : cliquez sur **Edit** sur sa ligne, puis sur **Remove repository** en bas de la boîte de dialogue. Les revues s'y arrêtent, et une autre organisation Claude peut alors configurer ce dépôt. Tant que l'organisation GitHub du dépôt est couverte dans son ensemble, vous ne pouvez pas le retirer ; désactivez plutôt son commutateur **Code review**.

179* **Une organisation GitHub entière** : cliquez sur **Edit** sur la ligne de l'organisation et sélectionnez **Off**. Cela désactive également les dépôts de cette organisation que vous avez ajoutés un par un.

180* **Tout** : désactivez **Allow code review**. Aucune nouvelle revue ne démarre dans aucun dépôt, et votre liste de dépôts est conservée pour que vous puissiez le réactiver plus tard.

181 

182<h2 id="related-resources">

183 Ressources associées

184</h2>

185 

186* [Coûts et utilisation de Code Review](/docs/fr/code-review-costs) : comment le niveau de revue et le moment d'exécution des revues affectent les dépenses, comment définir une limite de dépenses et où consulter l'utilisation

187* [Lire et demander des revues sur une pull request](/docs/fr/code-review-pull-requests) : ce que les développeurs voient sur une pull request et les commandes de commentaire

188* [Personnaliser Code Review](/docs/fr/code-review-customize) : ajustez ce que Claude signale avec `REVIEW.md` et `CLAUDE.md`

189* [GitHub Enterprise Server](/docs/fr/github-enterprise-server) : connectez une instance GitHub auto-hébergée avant la configuration

code-review-troubleshooting.md +113 −0 created

Details

1> ## Documentation Index

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

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

4 

5# Dépannage de Code Review

6 

7> Corrigez une revue Code Review qui n'a pas démarré, qui a échoué ou qui a été ignorée faute de budget, retrouvez les résultats manquants et résolvez les problèmes de configuration et de `REVIEW.md`.

8 

9Lorsque [Code Review](/docs/fr/code-review) ne se comporte pas comme prévu sur une pull request, commencez par le check run **Claude Code Review**. Son titre indique jusqu'où la revue est allée.

10 

11<h2 id="check-how-far-the-review-got">

12 Vérifier jusqu'où la revue est allée

13</h2>

14 

15Trouvez le check run **Claude Code Review** sur votre pull request, puis faites correspondre son titre à l'un de ces titres courants :

16 

17| Titre du check run | Signification | Que faire |

18| :- | :- | :- |

19| **Code review queued...** ou **Code review in progress...** | La revue n'est pas terminée | Attendre que le titre change |

20| **Code review found no issues** | La revue est terminée et n'a rien trouvé à signaler | Rien |

21| Un titre indiquant que des problèmes ont été trouvés | La revue s'est terminée avec des résultats | Si vous ne les voyez pas sur le diff, consultez [Trouver les problèmes qui n'apparaissent pas sous forme de commentaires en ligne](#find-issues-that-aren’t-showing-as-inline-comments) |

22| **Code review skipped — no new changes** | Une revue automatique ne s'est pas exécutée sur votre dernier push | Pour obtenir quand même une revue, commentez `@claude review` |

23| **Code review failed** ou **Code review timed out** | La revue ne s'est pas terminée | Pour la relancer, consultez [Relancer une revue qui a échoué ou expiré](#retrigger-a-failed-or-timed-out-review) |

24| **Code review declined** | La revue ne s'est pas exécutée | Lisez le résumé du check run. S'il mentionne un budget ou une limite de dépenses, consultez [La revue ne s'est pas exécutée et la PR affiche un message de budget](#review-didn’t-run-and-the-pr-shows-a-budget-message) |

25| Aucun check run | Aucune revue n'a démarré | Commentez `@claude review`. Si aucun check run n'apparaît ensuite, consultez [Une commande en commentaire n'a pas démarré de revue](#a-comment-command-didn’t-start-a-review) |

26 

27<h2 id="a-review-didn’t-start">

28 Une revue n'a pas démarré

29</h2>

30 

31Vérifiez ces cas lorsqu'aucun check run **Claude Code Review** n'apparaît, ou lorsque Claude publie un commentaire indiquant que la revue a été ignorée.

32 

33<h3 id="a-comment-command-didn’t-start-a-review">

34 Une commande en commentaire n'a pas démarré de revue

35</h3>

36 

37Après avoir commenté `@claude review`, recherchez sur la pull request un check run **Claude Code Review** intitulé **Code review queued...** ou **Code review in progress...**. Une réaction 👀 sur votre commentaire ne confirme pas qu'une revue va avoir lieu. Si aucun check run n'apparaît, vérifiez chacune de ces causes :

38 

39* **Code Review n'est pas activé pour ce dépôt** : Claude ne publie ni commentaire ni check run en réponse à la commande. Demandez à un Owner d'[ajouter le dépôt](/docs/fr/code-review-setup#add-more-repositories).

40* **Le commentaire ne remplit pas une condition** : il s'agissait d'un commentaire en ligne ou du corps d'une revue plutôt que d'un nouveau commentaire de premier niveau, ou la commande ne se trouvait pas au début du commentaire. Modifier un commentaire précédent au lieu d'en publier un nouveau ne compte pas non plus, et la pull request doit être ouverte. Consultez les [conditions des commandes en commentaire](/docs/fr/code-review-pull-requests#comment-commands) et publiez un nouveau commentaire qui les remplit.

41* **Vous n'avez pas d'accès en écriture** : vous avez besoin de la permission write, maintain ou admin sur le dépôt, et sur une pull request provenant d'un fork, c'est la permission sur le dépôt de base qui compte. Si votre organisation a activé les conseils, Claude répond « No review was started: manual reviews can only be requested by someone with write access to this repository. » Demandez plutôt à une personne disposant d'un accès en écriture de commenter.

42* **Le budget est épuisé** : Claude publie un commentaire qui commence par « ⚠️ Code review skipped ». Consultez [La revue ne s'est pas exécutée et la PR affiche un message de budget](#review-didn’t-run-and-the-pr-shows-a-budget-message).

43 

44<h3 id="review-didn’t-run-and-the-pr-shows-a-budget-message">

45 La revue ne s'est pas exécutée et la PR affiche un message de budget

46</h3>

47 

48Lorsque le budget de votre organisation ne peut pas couvrir une revue, Code Review ignore la revue et Claude publie sur la pull request un commentaire qui commence par « ⚠️ Code review skipped ». Dans certains de ces cas, un check run intitulé **Code review declined** apparaît également.

49 

50Le commentaire renvoie vers [claude.ai/admin-settings/usage](https://claude.ai/admin-settings/usage), où un administrateur peut rétablir le budget. Sa formulation vous indique quelle limite a été atteinte :

51 

52* **« has reached its monthly code review spending cap »** : la [limite de dépenses mensuelle de Code Review](/docs/fr/code-review-costs#limit-your-spend) a été atteinte. Les revues reprennent au début de la période de facturation suivante. Pour les obtenir plus tôt, demandez à un administrateur de relever la limite.

53* **« has no extra usage available to pay for this review »** : le solde de [crédits d'utilisation](https://support.claude.com/en/articles/12429409-extra-usage-for-paid-claude-plans) de votre organisation est vide, ou sa limite de dépenses mensuelle globale a été atteinte. Demandez à un administrateur d'ajouter des crédits d'utilisation ou de relever cette limite.

54* **« is too low to start another review »** : ce qui reste du budget ou du solde est inférieur au coût prévu d'une revue. Demandez à un administrateur de relever la limite ou d'ajouter des crédits d'utilisation.

55 

56Une fois le budget rétabli, commentez `@claude review` sur la pull request pour obtenir la revue qui a été ignorée. Les [conditions des commandes en commentaire](/docs/fr/code-review-pull-requests#comment-commands) s'appliquent, la personne qui commente doit donc disposer d'un accès en écriture.

57 

58<h2 id="retrigger-a-failed-or-timed-out-review">

59 Relancer une revue qui a échoué ou expiré

60</h2>

61 

62Si le résumé du check run indique « The review session was interrupted before it could finish. A new review of this commit has been queued automatically. », vous n'avez rien à faire. Cette revue est automatiquement relancée une fois.

63 

64Sinon, lorsque le titre du check run est **Code review failed** ou **Code review timed out**, relancez la revue avec un commentaire ou une réexécution :

65 

66* **Commenter `@claude review`** : publiez-le en tant que commentaire de premier niveau sur la pull request. Cela démarre une nouvelle revue sans abonner la pull request aux futurs pushs.

67* **Cliquer sur Re-run** : si la pull request ne [provient pas d'un fork](/docs/fr/code-review-pull-requests#review-drafts-and-pull-requests-from-forks), cliquez sur **Re-run** sur le check **Claude Code Review** dans l'onglet **Checks** de GitHub. La réexécution porte sur le commit de tête actuel de la pull request et n'abonne pas non plus la pull request.

68 

69<h2 id="find-issues-that-aren’t-showing-as-inline-comments">

70 Trouver les problèmes qui n'apparaissent pas sous forme de commentaires en ligne

71</h2>

72 

73Si le titre du check run indique que des problèmes ont été trouvés mais que vous ne voyez pas de commentaires de revue en ligne sur le diff, consultez ces autres emplacements où les résultats sont affichés :

74 

75* **Details du check run** : cliquez sur **Details** à côté du check **Claude Code Review** dans l'onglet **Checks**. Le tableau de sévérité liste les résultats avec leur fichier, leur ligne et leur résumé, que le commentaire en ligne ait été accepté ou non.

76* **Annotations dans Files changed** : ouvrez l'onglet **Files changed** de la PR. Un résultat qui possède une ligne mais qui n'a pas été publié sous forme de commentaire en ligne y apparaît sous forme d'annotation sur les lignes concernées.

77* **Corps de la revue** : les résultats qui n'ont pas d'emplacement en ligne, ou qui se situent en dehors du diff actuel, apparaissent sous un titre **Additional findings** dans le corps de la revue.

78 

79<h2 id="the-check-run-mentions-review-md">

80 Le check run mentionne REVIEW\.md

81</h2>

82 

83Deux des messages qu'un check run peut afficher à propos de `REVIEW.md` concernent la protection des branches :

84 

85* **« This review applied the repository's review instructions (REVIEW\.md) from its default branch, which is not protected against direct pushes. »** : la revue a lu uniquement le fichier racine. Consultez [Depuis quelle branche REVIEW.md est lu](/docs/fr/code-review-customize#which-branch-review-md-is-read-from) pour savoir ce que change la protection de la branche.

86* **« were not applied to this review: branch protection could not be confirmed »** : la revue n'a lu aucun `REVIEW.md`.

87 

88<h2 id="setup-problems">

89 Problèmes de configuration

90</h2>

91 

92Ces cas se présentent pour un Owner lors de la [configuration de Code Review](/docs/fr/code-review-setup).

93 

94<h3 id="a-repository-isn’t-listed-in-add-a-repository">

95 Un dépôt n'est pas listé dans Add a repository

96</h3>

97 

98Recherchez d'abord le dépôt par son nom, car la boîte de dialogue ne charge pas entièrement une longue liste. La boîte de dialogue ne liste un dépôt que si la Claude GitHub App peut y accéder. Cliquez sur **Install GitHub App** et donnez à l'application l'accès au dépôt. Lorsqu'aucun dépôt n'est listé, **Install GitHub App** est un bouton de la boîte de dialogue. Sinon, il se trouve en bas du menu de filtre d'organisation GitHub de la boîte de dialogue.

99 

100<h3 id="no-check-run-appears-on-the-test-pull-request">

101 Aucun check run n'apparaît sur la pull request de test

102</h3>

103 

104Vérifiez que **Allow code review** est activé, que le dépôt est listé sous **Repositories** dans la section **Code review** et que la Claude GitHub App y a accès. Les revues automatiques ignorent les pull requests en brouillon, et un dépôt configuré sur **Manual (@claude review)** nécessite un commentaire `@claude review` pour démarrer la première revue.

105 

106<h2 id="related-resources">

107 Ressources associées

108</h2>

109 

110* [Lire et demander des revues sur une pull request](/docs/fr/code-review-pull-requests) : la signification des résultats et du check run, et les commandes en commentaire

111* [Configurer Code Review](/docs/fr/code-review-setup) : pour les Owners, activer Code Review et gérer les dépôts

112* [Coûts et utilisation de Code Review](/docs/fr/code-review-costs) : les limites de dépenses à l'origine d'un message de budget

113* [Personnaliser Code Review](/docs/fr/code-review-customize) : quelle copie de `REVIEW.md` une revue lit

commands.md +2 −2

Details

72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/fr/skills#bundled-skills).** Charger la documentation de référence de [Claude API](https://platform.claude.com/docs/en/api/overview) et [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) pour le langage de votre projet. S'active également automatiquement lorsque votre code importe `anthropic` ou `@anthropic-ai/sdk`. Pour ce que chaque sous-commande fait et la version qu'elle nécessite, consultez [Travailler sur les projets Claude API](/docs/fr/skills#work-on-claude-api-projects) |72| `/claude-api [migrate\|upgrade\|managed-agents-onboard\|prompt-audit\|cost-optimize\|build-eval\|hillclimb\|preserved-thinking-migration]` | **[Skill](/docs/fr/skills#bundled-skills).** Charger la documentation de référence de [Claude API](https://platform.claude.com/docs/en/api/overview) et [Managed Agents](https://platform.claude.com/docs/en/managed-agents/overview) pour le langage de votre projet. S'active également automatiquement lorsque votre code importe `anthropic` ou `@anthropic-ai/sdk`. Pour ce que chaque sous-commande fait et la version qu'elle nécessite, consultez [Travailler sur les projets Claude API](/docs/fr/skills#work-on-claude-api-projects) |

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

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

75| `/code-review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/fr/skills#bundled-skills).** Examiner le diff actuel, ou un numéro de PR, une branche ou un chemin que vous passez, pour les bogues de correction. Selon votre modèle et votre niveau d'effort, la revue couvre également les opportunités de nettoyage. Passez `--fix` pour appliquer les résultats, `--comment` pour les publier sur la PR GitHub ou la merge request GitLab, ou `ultra` pour exécuter une [revue cloud](/docs/fr/ultrareview) approfondie. La publication sur une merge request GitLab nécessite Claude Code v2.1.257 ou ultérieur. Avec `ultra` sur une cible de PR `github.com`, passez `--post` pour présélectionner [la publication des résultats terminés sur la pull request](/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] [--max-findings n\|all\|default] [pr#\|branch\|path]` | **[Skill](/docs/fr/skills#bundled-skills).** Examiner le diff actuel, ou un numéro de PR, une branche ou un chemin que vous passez, pour les bogues de correction. Selon votre modèle et votre niveau d'effort, la revue couvre également les opportunités de nettoyage. Passez `--fix` pour que Claude applique les résultats, `--comment` pour les publier sur la PR GitHub ou la merge request GitLab, ou `ultra` pour exécuter une [revue cloud](/docs/fr/ultrareview) approfondie. La publication sur une merge request GitLab nécessite Claude Code v2.1.257 ou ultérieur. Avec `ultra` sur une cible de PR `github.com`, passez `--post` pour présélectionner [la publication des résultats terminés sur la pull request](/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 [Effectuer une revue locale avec `/code-review`](/docs/fr/code-review-local) pour les niveaux d'effort, le ciblage et la relation avec `/simplify`. Alias : `/review` |

76| `/color [color\|default]` | Définir la couleur de la barre du prompt 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`) |76| `/color [color\|default]` | Définir la couleur de la barre du prompt 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`) |

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

78| `/config [key=value ...]` | Ouvrir l'interface [Paramètres](/docs/fr/settings) pour ajuster le thème, le modèle, [le style de sortie](/docs/fr/output-styles), et d'autres préférences. Passez une ou plusieurs paires `key=value` pour définir un paramètre directement sans ouvrir l'interface, par exemple `/config thinking=false`, `/config theme=dark`, ou `/config model=sonnet`. Le formulaire `key=value` fonctionne également en mode non interactif (`-p`) et à partir de l'application mobile Claude via [Remote Control](/docs/fr/remote-control). Le formulaire `key=value` ne peut pas activer un paramètre qui nécessite votre confirmation dans le panneau, tel que [`autoContinueAtUsageLimit`](/docs/fr/interactive-mode#turn-automatic-continue-off), bien qu'il puisse en désactiver un. Exécutez `/config --help` pour répertorier les clés qu'il accepte. Alias : `/settings` |78| `/config [key=value ...]` | Ouvrir l'interface [Paramètres](/docs/fr/settings) pour ajuster le thème, le modèle, [le style de sortie](/docs/fr/output-styles), et d'autres préférences. Passez une ou plusieurs paires `key=value` pour définir un paramètre directement sans ouvrir l'interface, par exemple `/config thinking=false`, `/config theme=dark`, ou `/config model=sonnet`. Le formulaire `key=value` fonctionne également en mode non interactif (`-p`) et à partir de l'application mobile Claude via [Remote Control](/docs/fr/remote-control). Le formulaire `key=value` ne peut pas activer un paramètre qui nécessite votre confirmation dans le panneau, tel que [`autoContinueAtUsageLimit`](/docs/fr/interactive-mode#turn-automatic-continue-off), bien qu'il puisse en désactiver un. Exécutez `/config --help` pour répertorier les clés qu'il accepte. Alias : `/settings` |


134| `/remote-env` | Choisir l'[environnement cloud](/docs/fr/cloud-environments#select-an-environment-from-the-cli) par défaut pour les sessions cloud que vous démarrez à partir de la CLI |134| `/remote-env` | Choisir l'[environnement cloud](/docs/fr/cloud-environments#select-an-environment-from-the-cli) par défaut pour les sessions cloud que vous démarrez à partir de la CLI |

135| `/rename [name]` | Renommer la session actuelle et afficher le nom sur la barre du prompt. Sans nom, en génère automatiquement un à partir de l'historique de conversation. Également disponible en mode non interactif (`-p`). À partir de chaque surface de renommage, y compris claude.ai et l'application de bureau, Claude Code remplace les caractères de contrôle et invisibles dans le nouveau nom par des espaces et limite le nom à 200 caractères. Si le nom est vide une fois les caractères invisibles supprimés, Claude Code le rejette et affiche `That name is empty once invisible characters are removed. Usage: /rename <name>`. Le remplacement de caractères et la limite de longueur nécessitent Claude Code v2.1.221 ou ultérieur |135| `/rename [name]` | Renommer la session actuelle et afficher le nom sur la barre du prompt. Sans nom, en génère automatiquement un à partir de l'historique de conversation. Également disponible en mode non interactif (`-p`). À partir de chaque surface de renommage, y compris claude.ai et l'application de bureau, Claude Code remplace les caractères de contrôle et invisibles dans le nouveau nom par des espaces et limite le nom à 200 caractères. Si le nom est vide une fois les caractères invisibles supprimés, Claude Code le rejette et affiche `That name is empty once invisible characters are removed. Usage: /rename <name>`. Le remplacement de caractères et la limite de longueur nécessitent Claude Code v2.1.221 ou ultérieur |

136| `/resume [session]` | Reprendre une conversation par ID ou nom, ou ouvrir le sélecteur de session. Les [sessions en arrière-plan](/docs/fr/agent-view) apparaissent dans le sélecteur marquées avec `bg`. Reprendre une session encore en cours d'exécution, à partir du sélecteur ou par ID ou nom, [ouvre cette session](/docs/fr/sessions#resume-a-running-background-session) : votre conversation actuelle se déplace en arrière-plan et ce terminal s'attache à celle en cours d'exécution. Appuyez sur `←` sur un prompt vide pour revenir à la vue agent, qui répertorie également la conversation que vous avez laissée. Avant la v2.1.285, Claude Code refusait et vous disait d'ouvrir la session avec `claude attach` ou de l'arrêter d'abord. Alias : `/continue` |136| `/resume [session]` | Reprendre une conversation par ID ou nom, ou ouvrir le sélecteur de session. Les [sessions en arrière-plan](/docs/fr/agent-view) apparaissent dans le sélecteur marquées avec `bg`. Reprendre une session encore en cours d'exécution, à partir du sélecteur ou par ID ou nom, [ouvre cette session](/docs/fr/sessions#resume-a-running-background-session) : votre conversation actuelle se déplace en arrière-plan et ce terminal s'attache à celle en cours d'exécution. Appuyez sur `←` sur un prompt vide pour revenir à la vue agent, qui répertorie également la conversation que vous avez laissée. Avant la v2.1.285, Claude Code refusait et vous disait d'ouvrir la session avec `claude attach` ou de l'arrêter d'abord. Alias : `/continue` |

137| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Alias de [`/code-review`](/docs/fr/code-review#review-a-diff-locally) : examine le diff actuel, ou un numéro de PR, une branche ou un chemin que vous passez, tel que `/review 1234`, et prend les mêmes niveaux d'effort et flags. Sans niveau donné, la revue réutilise le dernier niveau `low` à `max` que vous avez tapé ; consultez [Examiner un diff localement](/docs/fr/code-review#review-a-diff-locally) pour les règles exactes. Pour une revue cloud approfondie, utilisez [`/code-review ultra`](/docs/fr/ultrareview). Avant la v2.1.223, `/review` était une commande distincte qui exécutait une revue en un seul passage et en lecture seule d'une pull request GitHub par numéro, répertoriant les PR ouvertes à choisir lorsqu'elle était exécutée sans argument ; de la v2.1.186 à la v2.1.201, elle exécutait le même moteur multi-agents que `/code-review medium` |137| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [--max-findings n\|all\|default] [pr#\|branch\|path]` | Alias de [`/code-review`](/docs/fr/code-review-local) : examine le diff actuel, ou un numéro de PR, une branche ou un chemin que vous passez, tel que `/review 1234`, et prend les mêmes niveaux d'effort et flags. Sans niveau donné, la revue réutilise le dernier niveau `low` à `max` que vous avez tapé ; consultez [Effectuer une revue locale avec `/code-review`](/docs/fr/code-review-local) pour les règles exactes. Pour une revue cloud approfondie, utilisez [`/code-review ultra`](/docs/fr/ultrareview). Avant la v2.1.223, `/review` était une commande distincte qui exécutait une revue en un seul passage et en lecture seule d'une pull request GitHub par numéro, répertoriant les PR ouvertes à choisir lorsqu'elle était exécutée sans argument ; de la v2.1.186 à la v2.1.201, elle exécutait le même moteur multi-agents que `/code-review medium` |

138| `/rewind` | Rembobiner la conversation et/ou le code à un point antérieur, ou résumer à partir d'un message sélectionné. Consultez [checkpointing](/docs/fr/checkpointing). Alias : `/checkpoint`, `/undo` |138| `/rewind` | Rembobiner la conversation et/ou le code à un point antérieur, ou résumer à partir d'un message sélectionné. Consultez [checkpointing](/docs/fr/checkpointing). Alias : `/checkpoint`, `/undo` |

139| `/run` | **[Skill](/docs/fr/skills#bundled-skills).** Lancer et piloter l'application de votre projet pour voir un changement fonctionner, pas seulement passer les tests. Consultez [Exécuter et vérifier votre application](/docs/fr/skills#run-and-verify-your-app) |139| `/run` | **[Skill](/docs/fr/skills#bundled-skills).** Lancer et piloter l'application de votre projet pour voir un changement fonctionner, pas seulement passer les tests. Consultez [Exécuter et vérifier votre application](/docs/fr/skills#run-and-verify-your-app) |

140| `/run-skill-generator` | **[Skill](/docs/fr/skills#bundled-skills).** Enseigner à `/run` et `/verify` comment compiler, lancer et piloter l'application de votre projet à partir d'un environnement propre en écrivant un [skill](/docs/fr/skills#run-and-verify-your-app) par projet |140| `/run-skill-generator` | **[Skill](/docs/fr/skills#bundled-skills).** Enseigner à `/run` et `/verify` comment compiler, lancer et piloter l'application de votre projet à partir d'un environnement propre en écrivant un [skill](/docs/fr/skills#run-and-verify-your-app) par projet |

desktop.md +257 −3

Details

207* Cliquez sur **Parcourir dans le diff** pour ouvrir la vue diff et passer en revue les résultats un par un. Un résultat présent dans le diff actuel apparaît à sa ligne, où vous pouvez cliquer sur **Corriger celui-ci** ou l'ignorer.207* Cliquez sur **Parcourir dans le diff** pour ouvrir la vue diff et passer en revue les résultats un par un. Un résultat présent dans le diff actuel apparaît à sa ligne, où vous pouvez cliquer sur **Corriger celui-ci** ou l'ignorer.

208* Cliquez sur **Appliquer les corrections** pour demander à Claude de corriger les résultats encore ouverts.208* Cliquez sur **Appliquer les corrections** pour demander à Claude de corriger les résultats encore ouverts.

209 209 

210Dans n'importe quelle session, vous pouvez également demander à Claude, dans la zone de prompt, de corriger ce que la revue a trouvé. Pour savoir ce que `/code-review` recherche et les arguments qu'il accepte, voir [Examiner un diff localement](/docs/fr/code-review#review-a-diff-locally).210Dans n'importe quelle session, vous pouvez également demander à Claude, dans la zone de prompt, de corriger ce que la revue a trouvé. Pour savoir ce que `/code-review` recherche et les arguments qu'il accepte, voir [Faire une revue locale avec `/code-review`](/docs/fr/code-review-local).

211 211 

212<h3 id="monitor-pull-request-status">212<h3 id="monitor-pull-request-status">

213 Surveiller l'état de la pull request213 Surveiller l'état de la pull request


859* **Sessions par connexion** : Desktop sur macOS et Linux ouvre plusieurs sessions sur une même connexion SSH. Si le `sshd_config` du serveur définit `MaxSessions 1`, augmentez cette valeur, par exemple à la valeur par défaut d'OpenSSH, 10.859* **Sessions par connexion** : Desktop sur macOS et Linux ouvre plusieurs sessions sur une même connexion SSH. Si le `sshd_config` du serveur définit `MaxSessions 1`, augmentez cette valeur, par exemple à la valeur par défaut d'OpenSSH, 10.

860* **Dossier d'installation** : Desktop installe un programme auxiliaire et Claude Code sous `~/.claude/remote/` dans votre répertoire personnel. Il les exécute depuis cet emplacement, donc ce dossier ne peut pas se trouver sur un système de fichiers monté en `noexec`. Prévoyez environ 1 Go d'espace disque dans le répertoire personnel de chaque utilisateur qui se connecte. Pour savoir ce que contient ce dossier, voir [Fichiers et processus sur la machine distante](#files-and-processes-on-the-remote-machine).860* **Dossier d'installation** : Desktop installe un programme auxiliaire et Claude Code sous `~/.claude/remote/` dans votre répertoire personnel. Il les exécute depuis cet emplacement, donc ce dossier ne peut pas se trouver sur un système de fichiers monté en `noexec`. Prévoyez environ 1 Go d'espace disque dans le répertoire personnel de chaque utilisateur qui se connecte. Pour savoir ce que contient ce dossier, voir [Fichiers et processus sur la machine distante](#files-and-processes-on-the-remote-machine).

861* **Shell** : le shell défini pour votre compte sur la machine distante doit exécuter les commandes envoyées via SSH, comme le font Bash, Zsh et `sh`861* **Shell** : le shell défini pour votre compte sur la machine distante doit exécuter les commandes envoyées via SSH, comme le font Bash, Zsh et `sh`

862* **Réseau** : Claude Code s'exécute sur la machine distante et effectue ses requêtes réseau depuis celle-ci ; la machine a donc besoin de l'[accès réseau requis par Claude Code](/docs/fr/network-config#network-access-requirements). Si la machine ne peut pas télécharger Claude Code, Desktop le télécharge sur votre ordinateur et le transfère. Les autres requêtes de Claude Code partent toujours de la machine distante.862* **Réseau** : Claude Code s'exécute sur la machine distante et effectue ses requêtes réseau depuis celle-ci ; la machine a donc besoin de l'[accès réseau requis par Claude Code](/docs/fr/network-config#network-access-requirements). Si la machine ne peut pas télécharger Claude Code, Desktop le télécharge sur votre ordinateur et le transfère. Les autres requêtes de Claude Code partent toujours de la machine distante. Sur une machine distante Linux, si ces requêtes nécessitent un proxy, [définissez-le pour les sessions SSH](#set-a-proxy-or-a-ca-certificate-for-ssh-sessions).

863 

864<h4 id="set-a-proxy-or-a-ca-certificate-for-ssh-sessions">

865 Définir un proxy ou un certificat CA pour les sessions SSH

866</h4>

867 

868Si une machine distante Linux accède à internet via un proxy ou a besoin d'un certificat CA, ajoutez les [variables de proxy et de CA](/docs/fr/network-config) sous `env` dans `~/.claude/settings.json` sur cette machine. Ajoutez-les même si vous les exportez déjà dans `~/.profile`, `~/.bash_profile`, `~/.zprofile` ou `~/.zshrc` sur cette machine.

869 

870Une session SSH ne les récupère pas depuis ces fichiers, même lorsque `claude` dans un terminal sur cette machine le fait. La session peut alors se bloquer, ou afficher **The connection from … to the API failed** ou **Authentication failed**, et se reconnecter n'y change rien.

871 

872<Steps>

873 <Step title="Ajouter les variables">

874 Pour le fichier CA, utilisez [`NODE_EXTRA_CA_CERTS`](/docs/fr/network-config#custom-ca-certificates), car Claude Code ne fait pas confiance à une CA provenant de `SSL_CERT_FILE` dans `~/.claude/settings.json`. Cet exemple définit un proxy et un fichier CA :

875 

876 ```json ~/.claude/settings.json theme={null}

877 {

878 "env": {

879 "HTTPS_PROXY": "http://proxy.example.com:8080",

880 "NODE_EXTRA_CA_CERTS": "/etc/ssl/certs/example-ca.pem"

881 }

882 }

883 ```

884 </Step>

885 

886 <Step title="Renvoyer votre message">

887 Renvoyez votre message, car une variable que vous ajoutez ou modifiez dans ce fichier prend effet en quelques secondes. Démarrez une nouvelle session si l'échec persiste.

888 </Step>

889</Steps>

890 

891<h5 id="find-a-proxy-or-ca-variable-set-elsewhere-on-the-remote-machine">

892 Trouver une variable de proxy ou de CA définie ailleurs sur la machine distante

893</h5>

894 

895Vérifiez si la machine distante Linux définit la variable de proxy ou de CA ailleurs, car les sessions utilisent cette valeur et [ignorent celle de tout fichier de paramètres](/docs/fr/settings-reference#how-env-values-interact-with-your-shell) :

896 

897<Steps>

898 <Step title="Lister les variables que la machine distante définit">

899 Dans un terminal sur votre ordinateur, exécutez `ssh devbox env`, avec votre propre hôte.

900 </Step>

901 

902 <Step title="Modifier la variable là où elle est définie">

903 Si la liste contient la variable, modifiez-la dans le fichier qui la définit, comme `~/.zshenv`, `/etc/environment` ou `~/.bashrc` sur la machine distante.

904 </Step>

905 

906 <Step title="Transmettre la nouvelle valeur aux sessions">

907 Redémarrez la machine distante, ou quittez Desktop et mettez fin aux processus du programme auxiliaire, comme dans les deux premières étapes pour [supprimer le programme auxiliaire](#files-and-processes-on-the-remote-machine). Faites-le lorsqu'aucune tâche n'est en cours, car l'une ou l'autre méthode interrompt le travail de Claude.

908 </Step>

909</Steps>

863 910 

864<h4 id="use-your-ssh-configuration-on-macos-and-linux">911<h4 id="use-your-ssh-configuration-on-macos-and-linux">

865 Utiliser votre configuration SSH sur macOS et Linux912 Utiliser votre configuration SSH sur macOS et Linux


892 939 

893Saisissez `devbox` dans le champ **Hôte SSH**.940Saisissez `devbox` dans le champ **Hôte SSH**.

894 941 

942<h5 id="reach-a-container-on-a-remote-machine">

943 Atteindre un conteneur sur une machine distante

944</h5>

945 

946Pour exécuter une session à l'intérieur d'un conteneur qui ne publie aucun port SSH, atteignez-le avec un `ProxyCommand`, car Desktop n'exécute pas le `RemoteCommand` de l'entrée à laquelle vous vous connectez. Si votre entrée utilise `RemoteCommand` pour entrer dans le conteneur, la session s'exécute sur la machine à laquelle l'entrée se connecte, et non dans le conteneur.

947 

948<Steps>

949 <Step title="Ajouter l'entrée">

950 Ajoutez l'entrée suivante à la fin de votre `~/.ssh/config`, ou juste au-dessus de votre première entrée `Host *` si vous en avez une. Remplacez le conteneur Docker `devbox`, son utilisateur `dev` et la machine `build.example.com` par les vôtres. La commande de l'entrée démarre un serveur SSH à l'intérieur du conteneur pour chaque connexion :

951 

952 ```text ~/.ssh/config theme={null}

953 Host devbox-container

954 User dev

955 ProxyCommand ssh build.example.com docker exec -i devbox /usr/sbin/sshd -i

956 ```

957 </Step>

958 

959 <Step title="Préparer le conteneur">

960 * Installez le serveur OpenSSH, avec une clé d'hôte qui reste identique lorsque vous reconstruisez l'image ou recréez le conteneur

961 * Donnez au compte nommé dans `User` un moyen de se connecter, comme un fichier `authorized_keys`

962 * Vérifiez que le conteneur satisfait les [exigences de la machine distante](#remote-machine-requirements-for-ssh-sessions)

963 </Step>

964 

965 <Step title="Vérifier la liste d'autorisation">

966 Si votre administrateur [restreint les hôtes SSH](#restrict-which-ssh-hosts-users-can-connect-to), exécutez `ssh -G devbox-container` dans un terminal sur votre ordinateur. Demandez-lui d'autoriser le `hostname` que la commande affiche, ici `devbox-container`, dans `sshHostAllowlist`. Lorsqu'il autorise ce nom, il autorise tout ce à quoi le `ProxyCommand` de votre entrée se connecte.

967 </Step>

968 

969 <Step title="Tester l'entrée, puis se connecter">

970 Exécutez `ssh devbox-container` dans un terminal sur votre ordinateur. Corrigez ce que la commande signale, et exécutez-la à nouveau jusqu'à ce qu'elle ouvre un shell dans le conteneur sans rien vous demander :

971 

972 * **Si `ssh` demande un mot de passe, une phrase secrète ou un code** : passez à une méthode de connexion qui fonctionne sans invite, comme une clé détenue par votre agent SSH

973 * **Si `ssh` signale `Cannot execute command-line and remote command.` ou `Bad packet length`** : retirez `RemoteCommand` et `RequestTTY` de votre entrée pour `build.example.com`. Ensuite, `ssh build.example.com` dans un terminal sur votre ordinateur ouvre un shell sur cette machine, et non dans le conteneur.

974 * **Si `ssh` signale `Connection closed by UNKNOWN port 65535`** : exécutez `ssh build.example.com docker exec devbox /usr/sbin/sshd -t` dans le même terminal.

975 * Si elle affiche `Missing privilege separation directory: /run/sshd`, créez ce dossier dans le conteneur.

976 * Si elle affiche `no hostkeys available` et que le conteneur possède des clés d'hôte, ajoutez `-u root` après `exec` dans cette commande et dans l'entrée.

977 

978 Saisissez ensuite `devbox-container` dans le champ **Hôte SSH**.

979 </Step>

980</Steps>

981 

895<h5 id="use-variables-from-your-shell-in-a-proxycommand">982<h5 id="use-variables-from-your-shell-in-a-proxycommand">

896 Utiliser des variables de votre shell dans un `ProxyCommand`983 Utiliser des variables de votre shell dans un `ProxyCommand`

897</h5>984</h5>


900 987 

901Cela nécessite Claude Desktop v2.37337.0 ou une version ultérieure et une commande `env` qui accepte `-0`, ce que vous pouvez vérifier en exécutant `env -0` dans un terminal sur votre ordinateur.988Cela nécessite Claude Desktop v2.37337.0 ou une version ultérieure et une commande `env` qui accepte `-0`, ce que vous pouvez vérifier en exécutant `env -0` dans un terminal sur votre ordinateur.

902 989 

990<Note>

991 Si votre shell définit des identifiants AWS temporaires, [fournissez un profil à l'AWS CLI](#use-aws-credentials-in-a-proxycommand) au lieu d'exporter des variables `AWS_*`.

992</Note>

993 

994<a id="use-aws-credentials-in-a-proxycommand" />

995 

996<h5 id="use-aws-credentials-in-a-proxycommand">

997 Utiliser des identifiants AWS dans un `ProxyCommand`

998</h5>

999 

1000Si vous définissez des identifiants AWS temporaires dans un fichier de démarrage du shell, un `ProxyCommand` qui exécute l'AWS CLI peut se connecter dans un terminal et échouer dans Desktop. Lorsque votre shell exporte `AWS_SESSION_TOKEN`, `AWS_SECURITY_TOKEN` ou `AWS_CREDENTIAL_EXPIRATION`, `ssh` et votre `ProxyCommand` dans Desktop ne récupèrent ni les identifiants AWS du shell, ni `AWS_REGION`, ni `AWS_PROFILE`.

1001 

1002Si l'AWS CLI n'a aucune autre source pour une région ou des identifiants, elle échoue avec `You must specify a region` ou `Unable to locate credentials`. Pour vous connecter depuis Desktop, fournissez à l'AWS CLI un profil qu'elle lit depuis `~/.aws/config` :

1003 

1004<Steps>

1005 <Step title="Ajouter un profil avec une région et une source d'identifiants">

1006 Cet exemple ajoute un profil nommé `corp` qui obtient ses identifiants d'un programme auxiliaire :

1007 

1008 ```ini ~/.aws/config theme={null}

1009 [profile corp]

1010 region = us-east-1

1011 credential_process = /full/path/to/your-credential-helper

1012 ```

1013 

1014 * **`region`** : indiquez la région AWS des machines auxquelles vous vous connectez

1015 * **`credential_process`** : indiquez le chemin complet d'un programme qui affiche des identifiants au [format JSON documenté par AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sourcing-external.html). Choisissez un programme qui ne nécessite aucune saisie de votre part, car l'AWS CLI l'exécute à chaque connexion, y compris lors des reconnexions pendant votre absence.

1016 * **IAM Identity Center** : ajoutez les [paramètres IAM Identity Center](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html) du profil à la place de `credential_process`. Exécutez `aws sso login --profile corp` dans un terminal avant de vous connecter, et à nouveau lorsque cette authentification expire.

1017 </Step>

1018 

1019 <Step title="Nommer le profil dans le ProxyCommand">

1020 Cet exemple ajoute `--profile` à la [commande documentée par AWS pour Session Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started-enable-ssh-connections.html) :

1021 

1022 ```text ~/.ssh/config theme={null}

1023 Host i-*

1024 ProxyCommand sh -c "aws ssm start-session --profile corp --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"

1025 ```

1026 </Step>

1027 

1028 <Step title="Se reconnecter">

1029 Exécutez `ssh` avec l'hôte dans un terminal pour confirmer que l'entrée s'y connecte toujours, puis connectez-vous depuis Desktop.

1030 </Step>

1031</Steps>

1032 

903<h5 id="raise-the-ssh-connection-timeout">1033<h5 id="raise-the-ssh-connection-timeout">

904 Augmenter le délai d'expiration de la connexion SSH1034 Augmenter le délai d'expiration de la connexion SSH

905</h5>1035</h5>


916 1046 

917`ssh` utilise la première valeur qu'il trouve pour un hôte ; placez donc l'entrée au-dessus de toute entrée `Host *` qui définit `ConnectTimeout`. Pour confirmer, exécutez `ssh -G devbox` dans un terminal sur votre ordinateur. Sa sortie inclut `connecttimeout 120`. Après avoir modifié la valeur, quittez et rouvrez Desktop.1047`ssh` utilise la première valeur qu'il trouve pour un hôte ; placez donc l'entrée au-dessus de toute entrée `Host *` qui définit `ConnectTimeout`. Pour confirmer, exécutez `ssh -G devbox` dans un terminal sur votre ordinateur. Sa sortie inclut `connecttimeout 120`. Après avoir modifié la valeur, quittez et rouvrez Desktop.

918 1048 

1049Si la machine distante elle-même attend une approbation sur votre téléphone, approuvez dans les 45 secondes, quel que soit le `ConnectTimeout` que vous définissez. Vous ne pouvez pas augmenter cette limite, car Desktop définit lui-même `ServerAliveInterval` et `ServerAliveCountMax`, et `ssh` ferme alors une connexion pendant laquelle la machine distante n'envoie rien pendant aussi longtemps. Si c'est plutôt un hôte de rebond ou un `ProxyCommand` qui vous attend, augmentez `ConnectTimeout` dans l'entrée de la machine distante pour couvrir ce délai.

1050 

1051<h5 id="fix-a-match-host-block-that-only-desktop-applies">

1052 Corriger un bloc `Match host` que seul Desktop applique

1053</h5>

1054 

1055Si Desktop utilise un paramètre que `ssh devbox` dans un terminal n'utilise pas, recherchez un bloc `Match host` au-dessus de la ligne `HostName` de l'entrée. Dans un terminal, `ssh` lit un bloc situé à cet endroit avant la ligne `HostName` ; il compare donc le bloc avec `devbox`. Desktop transmet à `ssh` la valeur `HostName` sur la ligne de commande ; `ssh` compare donc le bloc avec cette valeur.

1056 

1057Pour vérifier, exécutez `ssh -G` dans un terminal sur votre ordinateur avec les valeurs `HostName` et `User` de l'entrée sur la ligne de commande, comme le fait Desktop :

1058 

1059```bash theme={null}

1060ssh -G -o HostName=devbox.internal.example.com -l alice devbox

1061```

1062 

1063Comparez la sortie avec celle de `ssh -G devbox`. Si les paramètres du bloc, comme `proxycommand`, n'apparaissent que dans la première sortie, le bloc ne prend effet que dans Desktop. Pour que Desktop l'ignore aussi, ajoutez `!originalhost devbox` à sa ligne `Match` :

1064 

1065```text ~/.ssh/config theme={null}

1066Match host *.internal.example.com !originalhost devbox

1067```

1068 

1069Pour confirmer, exécutez à nouveau la première commande. Les paramètres du bloc n'apparaissent plus dans sa sortie.

1070 

919<h5 id="forwarding-settings-that-desktop-leaves-off">1071<h5 id="forwarding-settings-that-desktop-leaves-off">

920 Paramètres de redirection que Desktop laisse désactivés1072 Paramètres de redirection que Desktop laisse désactivés

921</h5>1073</h5>


1154 </Step>1306 </Step>

1155 1307 

1156 <Step title="Mettre fin aux processus">1308 <Step title="Mettre fin aux processus">

1157 Connecté en tant que cet utilisateur sur la machine distante, exécutez `kill` avec chaque ID de processus que [`pgrep`](#files-and-processes-on-the-remote-machine) liste.1309 Connecté en tant que cet utilisateur sur la machine distante, exécutez `kill` avec l'ID de chaque processus Claude Code que [`pgrep`](#files-and-processes-on-the-remote-machine) liste. Une fois ceux-ci disparus de la liste, exécutez `kill` avec l'ID de chaque processus `server`. Si vous mettez d'abord fin à un processus `server`, une commande que Claude Code exécute peut continuer à s'exécuter.

1310 

1311 Listez ensuite les processus restants de l'utilisateur, par exemple avec `ps -u "$(id -un)" -f`, et mettez fin à ceux que vous reconnaissez comme démarrés par Claude Code. Les programmes qu'il a laissés en arrière-plan peuvent continuer à s'exécuter après sa fin, sans figurer dans la liste `pgrep`.

1158 </Step>1312 </Step>

1159 1313 

1160 <Step title="Supprimer le dossier">1314 <Step title="Supprimer le dossier">


1170 1324 

1171Avant d'archiver une session qui possède un worktree, voir [Travailler en parallèle avec des sessions](#work-in-parallel-with-sessions).1325Avant d'archiver une session qui possède un worktree, voir [Travailler en parallèle avec des sessions](#work-in-parallel-with-sessions).

1172 1326 

1327<h5 id="see-which-user-the-processes-run-as">

1328 Voir sous quel utilisateur les processus s'exécutent

1329</h5>

1330 

1331Le programme auxiliaire et Claude Code s'exécutent en tant qu'utilisateur avec lequel Desktop se connecte via SSH. Leur installation et leur démarrage ne nécessitent pas `sudo`. Pour vérifier l'utilisateur, exécutez `ps -o user= -p` sur la machine distante avec un ID de processus que [`pgrep`](#files-and-processes-on-the-remote-machine) liste.

1332 

1333Les programmes que Claude Code démarre, comme les commandes shell et les serveurs MCP, démarrent également en tant que cet utilisateur. Examinez les droits de cet utilisateur sur la machine distante, y compris ses règles `sudo`, comme vous le feriez pour une personne qui y exécute des commandes.

1334 

1173<h5 id="see-who-connected-to-the-remote-machine">1335<h5 id="see-who-connected-to-the-remote-machine">

1174 Voir qui s'est connecté à la machine distante1336 Voir qui s'est connecté à la machine distante

1175</h5>1337</h5>

1176 1338 

1177Pour savoir qui s'est connecté à une machine distante, lisez le log du serveur SSH sur cette machine, où une connexion depuis Desktop ressemble à une connexion depuis un terminal. Avec Desktop sur macOS ou Linux, attendez-vous à une entrée chaque fois que Desktop se connecte, et non à une entrée par session.1339Pour savoir qui s'est connecté à une machine distante, lisez le log du serveur SSH sur cette machine, où une connexion depuis Desktop ressemble à une connexion depuis un terminal. Avec Desktop sur macOS ou Linux, attendez-vous à une entrée chaque fois que Desktop se connecte, et non à une entrée par session.

1178 1340 

1341Vous ne trouverez pas les connexions SSH de Desktop dans les [métriques et événements](/docs/fr/monitoring-usage#available-metrics-and-events) de Claude Code. Pour savoir à partir de ceux-ci sur quelle machine distante une session SSH s'est exécutée, consultez [Attribuer la télémétrie aux sessions SSH de Desktop](/docs/fr/monitoring-usage#attribute-telemetry-to-desktop-ssh-sessions). Pour l'historique que Desktop conserve lui-même de ses connexions, consultez [Obtenir les logs de Desktop pour un problème SSH](#get-desktops-logs-for-an-ssh-problem).

1342 

1343<h4 id="connections-that-close-before-login">

1344 Connexions qui se ferment avant l'authentification

1345</h4>

1346 

1347Si le log du serveur SSH affiche des connexions qui se ferment avant toute authentification, il peut s'agir de tests du port SSH effectués par Desktop. Desktop teste si une machine répond, par exemple après l'échec d'une connexion à celle-ci. Il ouvre une connexion au port et la ferme aussitôt, sans rien envoyer. Attendez-vous à un test ou à plusieurs à la suite, par exemple huit en environ deux minutes.

1348 

1349Si rien ne bannit ni ne refuse des adresses pour de telles connexions, vous n'avez rien à faire concernant les tests de Desktop. Si une adresse depuis laquelle Desktop se connecte est refusée ou bannie, vérifiez [si le serveur SSH lui-même refuse l'adresse](#check-whether-the-ssh-server-itself-refuses-the-address) et [si fail2ban comptabilise les tests de Desktop](#check-whether-fail2ban-counts-desktops-tests).

1350 

1351<h5 id="recognize-a-test-in-the-ssh-server’s-log">

1352 Reconnaître un test dans le log du serveur SSH

1353</h5>

1354 

1355Comparez les lignes de votre log avec celles qu'un serveur OpenSSH sur Linux écrit pour un test au `LogLevel` par défaut, dans la ligne correspondant à la version de votre serveur. Vous pouvez voir à la place les lignes de la dernière colonne si le message d'accueil du serveur arrive avant que Desktop ne ferme la connexion :

1356 

1357| Version d'OpenSSH | Lignes pour un test | Lignes si le message d'accueil arrive en premier |

1358| - | - | - |

1359| 6.6 à 7.9 | Une ligne avec `Did not receive identification string from 203.0.113.7` | La même ligne |

1360| 8.0 à 8.2 | `error: kex_exchange_identification: Connection closed by remote host` | `error: kex_exchange_identification: read: Connection reset by peer` |

1361| 8.3 à 9.4 | `error: kex_exchange_identification: Connection closed by remote host`, puis `Connection closed by 203.0.113.7 port 51234` | `error: kex_exchange_identification: read: Connection reset by peer`, puis `Connection reset by 203.0.113.7 port 51234` |

1362| 9.5 à 10.2 | `Connection closed by 203.0.113.7 port 51234` | `error: kex_exchange_identification: read: Connection reset by peer`, puis `Connection reset by 203.0.113.7 port 51234` |

1363| 10.3 à 10.5 | `Connection closed by 203.0.113.7 port 51234 [preauth]` | `error: kex_exchange_identification: read: Connection reset by peer [preauth]`, puis `Connection reset by 203.0.113.7 port 51234 [preauth]` |

1364 

1365D'autres programmes qui ouvrent le port et le ferment peuvent laisser les mêmes lignes. Lorsqu'une ligne contient une adresse, vérifiez qu'il s'agit de celle depuis laquelle un ordinateur équipé de Desktop se connecte.

1366 

1367Les lignes des versions 8.0 à 8.2 ne contiennent pas d'adresse. Pour en obtenir une, définissez `LogLevel VERBOSE` dans `sshd_config` et exécutez `sshd -T | grep -i loglevel` en tant que root. S'il affiche `loglevel VERBOSE`, rechargez le serveur SSH. Recherchez ensuite une ligne contenant `Connection from 203.0.113.7 port 51234` avant la ligne du test.

1368 

1369<a id="check-whether-the-ssh-server-itself-refuses-the-address" />

1370 

1371<h5 id="check-whether-the-ssh-server-itself-refuses-the-address">

1372 Vérifier si le serveur SSH lui-même refuse l'adresse

1373</h5>

1374 

1375Si des connexions sont refusées depuis une adresse partagée par de nombreux ordinateurs équipés de Desktop, recherchez dans le log du serveur SSH une ligne qui se termine comme celle-ci :

1376 

1377```text theme={null}

1378drop connection #0 from [203.0.113.7]:51234 on [192.0.2.10]:22 penalty: connections without attempting authentication

1379```

1380 

1381Avec le `LogLevel` par défaut, OpenSSH 9.8 et versions ultérieures peuvent écrire une telle ligne lorsqu'ils refusent une adresse pour des connexions fermées sans tentative d'authentification, comme le font les tests de Desktop. Avec les paramètres par défaut, vous ne voyez pas une telle ligne après seulement quelques tests.

1382 

1383Pour empêcher le refus, définissez `PerSourcePenaltyExemptList` dans `sshd_config` sur les adresses depuis lesquelles les personnes se connectent, par exemple `PerSourcePenaltyExemptList 203.0.113.7`. Le serveur n'applique alors aucune de ses pénalités à ces adresses, y compris celles pour les échecs d'authentification. Pour vérifier le fichier, exécutez `sshd -T | grep -i persourcepenalt` en tant que root. S'il affiche votre liste, rechargez le serveur SSH.

1384 

1385<a id="check-whether-fail2ban-counts-desktops-tests" />

1386 

1387<h5 id="check-whether-fail2ban-counts-desktop’s-tests">

1388 Vérifier si fail2ban comptabilise les tests de Desktop

1389</h5>

1390 

1391Si fail2ban 0.10.5 ou ultérieur a banni une adresse depuis laquelle Desktop se connecte, trouvez le mode de votre jail dans `jail.conf`, `jail.local` ou sous `jail.d/` :

1392 

1393* **Une ligne `filter` qui nomme un mode entre crochets**, comme `filter = sshd[mode=aggressive]` : utilisez ce mode.

1394* **Uniquement la ligne `filter` d'origine**, avec `[mode=%(mode)s]` : utilisez la ligne `mode`, ou `normal` s'il n'y en a pas.

1395 

1396Si le mode est `normal`, fail2ban ne comptabilise pas les lignes des tests de Desktop, recherchez donc une autre cause au bannissement.

1397 

1398Pour un autre mode, copiez les lignes de votre propre log dans un fichier sur la machine distante. Copiez chaque ligne en entier, de sa date jusqu'à sa fin, ainsi que les deux lignes lorsqu'un test en laisse deux. Exécutez-y `fail2ban-regex` avec le fichier et le mode de votre jail, par exemple `aggressive` :

1399 

1400```bash theme={null}

1401fail2ban-regex -o ip lines.log "sshd[mode=aggressive]"

1402```

1403 

1404Pour chaque échec que fail2ban comptabilise, la commande affiche l'adresse sur une ligne distincte, comme `203.0.113.7`. Dans ce cas, [empêchez un bannissement](#prevent-a-ban-by-fail2ban). Si elle n'affiche rien, fail2ban ne comptabilise aucune de ces lignes dans ce mode, recherchez donc une autre cause au bannissement.

1405 

1406<a id="prevent-a-ban-by-fail2ban" />

1407 

1408<h5 id="prevent-a-ban-by-fail2ban">

1409 Empêcher un bannissement par fail2ban

1410</h5>

1411 

1412Pour empêcher fail2ban de bannir une adresse à cause des tests de Desktop, modifiez l'un des deux paramètres de la jail, chacun ayant un coût :

1413 

1414* **`mode`** : définissez-le sur `normal` partout où votre jail le définit, dans une ligne `mode` ou entre les crochets d'une ligne comme `filter = sshd[mode=aggressive]`. Vous renoncez à tous les décomptes que seuls les autres modes effectuent, par exemple ceux des clients qui se connectent et repartent sans tenter de s'authentifier.

1415* **`ignoreip`** : définissez-le sur les adresses depuis lesquelles les personnes se connectent, par exemple `ignoreip = 203.0.113.7`. fail2ban ne comptabilise alors rien depuis ces adresses, y compris les échecs d'authentification.

1416 

1179<h4 id="use-mcp-servers-set-up-on-the-remote-machine">1417<h4 id="use-mcp-servers-set-up-on-the-remote-machine">

1180 Utiliser les serveurs MCP configurés sur la machine distante1418 Utiliser les serveurs MCP configurés sur la machine distante

1181</h4>1419</h4>


1682 1920 

1683Pour tout autre message, consultez les [exigences de la machine distante](#remote-machine-requirements-for-ssh-sessions).1921Pour tout autre message, consultez les [exigences de la machine distante](#remote-machine-requirements-for-ssh-sessions).

1684 1922 

1923<a id="get-desktops-logs-for-an-ssh-problem" />

1924 

1925<h3 id="get-desktop’s-logs-for-an-ssh-problem">

1926 Obtenir les journaux de Desktop pour un problème SSH

1927</h3>

1928 

1929Vous obtenez `ssh.log`, l'enregistrement par Desktop de ses connexions SSH, dans un fichier zip des journaux de Desktop que vous enregistrez depuis le menu **Aide**. Pour l'enregistrer, ouvrez **Aide > Dépannage** et sélectionnez l'élément correspondant à votre système :

1930 

1931* **macOS** : **Afficher les journaux dans le Finder**

1932* **Windows** : **Afficher les journaux dans l'Explorateur de fichiers**

1933* **Linux** : **Afficher les journaux dans le gestionnaire de fichiers**

1934 

1935Parcourez les fichiers avant de les envoyer, car ils peuvent inclure des noms et d'autres détails de votre environnement. `<host>` et `<user>` représentent des noms que Desktop a remplacés. Desktop ne remplace pas tous les noms, et un nom d'hôte ou d'utilisateur SSH peut encore apparaître tel quel. Si vous envoyez le fichier zip à quelqu'un, indiquez-lui quel hôte a échoué et à quel moment, car les journaux peuvent ne pas le nommer.

1936 

1937Le fichier zip ne contient pas le journal du programme auxiliaire que Desktop installe sur la machine distante. Pour obtenir également ce journal, copiez `remote-server.log` depuis le dossier du programme auxiliaire sous [`~/.claude/remote/run/`](#files-and-processes-on-the-remote-machine) dans le répertoire personnel de l'utilisateur qui s'est connecté. Parcourez également ce fichier avant de l'envoyer.

1938 

1685<h3 id="app-won’t-quit">1939<h3 id="app-won’t-quit">

1686 L'application ne veut pas quitter1940 L'application ne veut pas quitter

1687</h3>1941</h3>

env-vars.md +3 −1

Details

225| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Définissez sur `0` pour empêcher Claude Code d'ouvrir automatiquement le navigateur lorsqu'un nouvel [artefact](/docs/fr/artifacts#create-an-artifact) est publié |225| `CLAUDE_CODE_ARTIFACT_AUTO_OPEN` | Définissez sur `0` pour empêcher Claude Code d'ouvrir automatiquement le navigateur lorsqu'un nouvel [artefact](/docs/fr/artifacts#create-an-artifact) est publié |

226| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Définissez sur `0` pour empêcher Claude de lire les [commentaires sur un artefact](/docs/fr/artifacts#collect-comments-on-an-artifact) et d'y répondre. Sans effet lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` a [désactivé les artefacts](/docs/fr/artifacts#availability). Nécessite Claude Code v2.1.221 ou ultérieur |226| `CLAUDE_CODE_ARTIFACT_COMMENTS` | Définissez sur `0` pour empêcher Claude de lire les [commentaires sur un artefact](/docs/fr/artifacts#collect-comments-on-an-artifact) et d'y répondre. Sans effet lorsque `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` a [désactivé les artefacts](/docs/fr/artifacts#availability). Nécessite Claude Code v2.1.221 ou ultérieur |

227| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Définissez sur `0` pour empêcher Claude de [répondre de lui-même aux commentaires qui lui sont envoyés](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Nécessite Claude Code v2.1.228 ou ultérieur |227| `CLAUDE_CODE_ARTIFACT_COMMENTS_AUTOREACT` | Définissez sur `0` pour empêcher Claude de [répondre de lui-même aux commentaires qui lui sont envoyés](/docs/fr/artifacts#let-claude-reply-to-comments-on-its-own). Nécessite Claude Code v2.1.228 ou ultérieur |

228| `CLAUDE_CODE_ARTIFACT_PUBLISH_EDITS` | Définissez à `0` pour empêcher Claude d'appliquer de petites modifications au fichier d'un [artefact](/docs/fr/artifacts#update-an-artifact) lors de sa publication. Claude modifie alors le fichier avec ses outils d'édition de fichiers et le publie dans une étape distincte. Nécessite Claude Code v2.1.300 ou ultérieur |

228| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez sur `0` pour omettre du début du prompt système le [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), qui contient la version du client et une empreinte du prompt. La mise en cache sur une connexion directe à l'API Anthropic n'est pas affectée, dans un cas comme dans l'autre. Dans certaines configurations à connexion directe, Claude Code conserve le bloc sur les requêtes du classifieur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) même lorsque vous définissez `0`. Dans [Bloc d'attribution du prompt système](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), vérifiez quelles connexions et quels identifiants sont concernés. Avant la v2.1.181, le bloc incluait un jeton par requête sur les URL de base personnalisées et les connexions Microsoft Foundry ; sur ces versions, définissez-la donc sur `0` lorsque votre passerelle LLM met en cache en fonction du corps de la requête ou transmet les requêtes à un fournisseur tiers, ou lorsque vous vous connectez directement à Microsoft Foundry |229| `CLAUDE_CODE_ATTRIBUTION_HEADER` | Définissez sur `0` pour omettre du début du prompt système le [bloc d'attribution](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), qui contient la version du client et une empreinte du prompt. La mise en cache sur une connexion directe à l'API Anthropic n'est pas affectée, dans un cas comme dans l'autre. Dans certaines configurations à connexion directe, Claude Code conserve le bloc sur les requêtes du classifieur du [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) même lorsque vous définissez `0`. Dans [Bloc d'attribution du prompt système](/docs/fr/llm-gateway-protocol#system-prompt-attribution-block), vérifiez quelles connexions et quels identifiants sont concernés. Avant la v2.1.181, le bloc incluait un jeton par requête sur les URL de base personnalisées et les connexions Microsoft Foundry ; sur ces versions, définissez-la donc sur `0` lorsque votre passerelle LLM met en cache en fonction du corps de la requête ou transmet les requêtes à un fournisseur tiers, ou lorsque vous vous connectez directement à Microsoft Foundry |

229| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Supprimée dans la v2.1.283. Utilisez `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` à la place |230| `CLAUDE_CODE_AUTO_BACKGROUND_WORKER_CHECKIN_SECONDS` | Supprimée dans la v2.1.283. Utilisez `CLAUDE_CODE_WORKER_CHECKIN_SCHEDULE` à la place |

230| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Définit la [fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) en tokens, de `100000` à `1000000`. N'accepte qu'un entier simple comme `500000` : une valeur comme `500k` est lue comme `500` et ramenée au minimum de 100K. La fenêtre effective est également plafonnée à la fenêtre de contexte du modèle. Prioritaire sur la commande `/autocompact`, le flag `--autocompact` et le paramètre `autoCompactWindow`. Le `used_percentage` de la barre de statut se mesure toujours par rapport à la fenêtre de contexte complète du modèle ; une fois cette variable définie, ce pourcentage n'indique donc plus quand la compaction aura lieu |231| `CLAUDE_CODE_AUTO_COMPACT_WINDOW` | Définit la [fenêtre de compaction automatique](/docs/fr/model-config#set-the-auto-compact-window) en tokens, de `100000` à `1000000`. N'accepte qu'un entier simple comme `500000` : une valeur comme `500k` est lue comme `500` et ramenée au minimum de 100K. La fenêtre effective est également plafonnée à la fenêtre de contexte du modèle. Prioritaire sur la commande `/autocompact`, le flag `--autocompact` et le paramètre `autoCompactWindow`. Le `used_percentage` de la barre de statut se mesure toujours par rapport à la fenêtre de contexte complète du modèle ; une fois cette variable définie, ce pourcentage n'indique donc plus quand la compaction aura lieu |


332| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | Taille du contexte, en tokens, à partir de laquelle la [compaction en cas d'inactivité](/docs/fr/settings-reference#idlecompaction) s'applique à une conversation (par défaut : `200000`). Accepte un nombre entier positif ; toute autre valeur est ignorée. Les valeurs inférieures à `100000` sont relevées à `100000`, le seuil le plus bas. La compaction en cas d'inactivité est activée par défaut pour les conversations qui remplissent ses conditions. Pour la désactiver, définissez `idleCompaction` sur `false`. Nécessite Claude Code v2.1.290 ou ultérieure |333| `CLAUDE_CODE_IDLE_COMPACT_MIN_TOKENS` | Taille du contexte, en tokens, à partir de laquelle la [compaction en cas d'inactivité](/docs/fr/settings-reference#idlecompaction) s'applique à une conversation (par défaut : `200000`). Accepte un nombre entier positif ; toute autre valeur est ignorée. Les valeurs inférieures à `100000` sont relevées à `100000`, le seuil le plus bas. La compaction en cas d'inactivité est activée par défaut pour les conversations qui remplissent ses conditions. Pour la désactiver, définissez `idleCompaction` sur `false`. Nécessite Claude Code v2.1.290 ou ultérieure |

333| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Nombre de [sous-agents](/docs/fr/sub-agents#concurrent-subagent-limit) pouvant s'exécuter dans une session avant que l'outil Agent refuse d'en lancer un autre (par défaut : 20). Accepte un nombre entier positif en chiffres simples ; toute autre valeur est ignorée, de sorte que la variable peut ajuster le plafond mais pas le désactiver. Nécessite Claude Code v2.1.217 ou ultérieur |334| `CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS` | Nombre de [sous-agents](/docs/fr/sub-agents#concurrent-subagent-limit) pouvant s'exécuter dans une session avant que l'outil Agent refuse d'en lancer un autre (par défaut : 20). Accepte un nombre entier positif en chiffres simples ; toute autre valeur est ignorée, de sorte que la variable peut ajuster le plafond mais pas le désactiver. Nécessite Claude Code v2.1.217 ou ultérieur |

334| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Remplace la taille de fenêtre de contexte que Claude Code suppose pour le modèle actif. Depuis la v2.1.193, son application dépend de la manière dont Claude Code résout l'ID du modèle ; voir [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id). À utiliser lors du routage vers un modèle via `ANTHROPIC_BASE_URL` dont la fenêtre de contexte ne correspond pas à la taille intégrée associée à son nom |335| `CLAUDE_CODE_MAX_CONTEXT_TOKENS` | Remplace la taille de fenêtre de contexte que Claude Code suppose pour le modèle actif. Depuis la v2.1.193, son application dépend de la manière dont Claude Code résout l'ID du modèle ; voir [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id). À utiliser lors du routage vers un modèle via `ANTHROPIC_BASE_URL` dont la fenêtre de contexte ne correspond pas à la taille intégrée associée à son nom |

335| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Longueur maximale en caractères de chaque description d'outil MCP et des instructions de chaque serveur MCP que Claude Code envoie au modèle. La valeur que vous définissez remplace les deux [limites par défaut](/docs/fr/mcp#for-mcp-server-authors) : 4096, et 16384 pour la description d'un outil que Claude charge via la recherche d'outils. Claude Code tronque le texte plus long. Accepte un nombre entier positif en chiffres simples. Toute autre valeur est ignorée et les valeurs par défaut s'appliquent. Nécessite Claude Code v2.1.280 ou ultérieur |336| `CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH` | Longueur maximale en caractères des descriptions d'outils MCP et des instructions de serveur MCP que Claude Code envoie au modèle. La valeur que vous définissez remplace les deux [limites par défaut](/docs/fr/mcp#for-mcp-server-authors) : 4096, et 16384 pour la description d'un outil que Claude charge via la recherche d'outils. Accepte un nombre entier positif en chiffres simples. Toute autre valeur est ignorée et les valeurs par défaut s'appliquent. Nécessite Claude Code v2.1.280 ou ultérieur |

336| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Définit le nombre maximal de tokens de sortie pour la plupart des requêtes. Les valeurs par défaut et les plafonds varient selon le modèle ; voir [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code ramène une valeur supérieure au plafond d'un modèle à ce plafond. Pour un ID de modèle que Claude Code ne peut pas associer à un modèle connu, la valeur par défaut est 32000 et le plafond est 128000. Augmenter cette valeur réduit la fenêtre de contexte effective disponible avant le déclenchement de la [compaction automatique](/docs/fr/costs#reduce-token-usage) |337| `CLAUDE_CODE_MAX_OUTPUT_TOKENS` | Définit le nombre maximal de tokens de sortie pour la plupart des requêtes. Les valeurs par défaut et les plafonds varient selon le modèle ; voir [max output tokens](https://platform.claude.com/docs/en/about-claude/models/overview#latest-models-comparison). Claude Code ramène une valeur supérieure au plafond d'un modèle à ce plafond. Pour un ID de modèle que Claude Code ne peut pas associer à un modèle connu, la valeur par défaut est 32000 et le plafond est 128000. Augmenter cette valeur réduit la fenêtre de contexte effective disponible avant le déclenchement de la [compaction automatique](/docs/fr/costs#reduce-token-usage) |

337| `CLAUDE_CODE_MAX_RETRIES` | Remplace le nombre de nouvelles tentatives pour les requêtes API ayant échoué (par défaut : 10). Plafonné à 15 depuis la v2.1.186 ; depuis la v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Pour les sessions sans surveillance qui doivent patienter pendant des pannes plus longues, définissez plutôt `CLAUDE_CODE_RETRY_WATCHDOG` |338| `CLAUDE_CODE_MAX_RETRIES` | Remplace le nombre de nouvelles tentatives pour les requêtes API ayant échoué (par défaut : 10). Plafonné à 15 depuis la v2.1.186 ; depuis la v2.1.199, `CLAUDE_CODE_RETRY_WATCHDOG` augmente la valeur par défaut et supprime le plafond. Pour les sessions sans surveillance qui doivent patienter pendant des pannes plus longues, définissez plutôt `CLAUDE_CODE_RETRY_WATCHDOG` |

338| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Supprimée dans la v2.1.224 et désormais sans effet. Plafonnait auparavant le nombre total de [sous-agents](/docs/fr/sub-agents) que Claude pouvait lancer avec l'outil Agent dans une session (par défaut : 200) ; tout lancement au-delà du plafond échouait avec `Subagent spawn limit reached`. La [limite de sous-agents simultanés](/docs/fr/sub-agents#concurrent-subagent-limit) et la [limite de profondeur](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) s'appliquent toujours |339| `CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION` | Supprimée dans la v2.1.224 et désormais sans effet. Plafonnait auparavant le nombre total de [sous-agents](/docs/fr/sub-agents) que Claude pouvait lancer avec l'outil Agent dans une session (par défaut : 200) ; tout lancement au-delà du plafond échouait avec `Subagent spawn limit reached`. La [limite de sous-agents simultanés](/docs/fr/sub-agents#concurrent-subagent-limit) et la [limite de profondeur](/docs/fr/sub-agents#let-subagents-spawn-their-own-subagents) s'appliquent toujours |


598* Exécuter [`/skill-doctor`](/docs/fr/skills#find-unused-skills) ou ouvrir son rapport dans l'onglet **Stats** de `/plugin`599* Exécuter [`/skill-doctor`](/docs/fr/skills#find-unused-skills) ou ouvrir son rapport dans l'onglet **Stats** de `/plugin`

599* Synchroniser les [skills](/docs/fr/skills#where-synced-skills-load) et les [plugins](/docs/fr/plugins/loading#synced-plugins) activés pour votre compte claude.ai dans vos sessions de terminal600* Synchroniser les [skills](/docs/fr/skills#where-synced-skills-load) et les [plugins](/docs/fr/plugins/loading#synced-plugins) activés pour votre compte claude.ai dans vos sessions de terminal

600* Activer le [mod You should know](/docs/fr/interactive-mode#you-should-know-suggestions)601* Activer le [mod You should know](/docs/fr/interactive-mode#you-should-know-suggestions)

602* Voir ce qu'un [mod](/docs/fr/plugins/mods/overview#where-mods-run) affiche dans le panneau de chat de l'extension VS Code ; les hooks du mod s'exécutent quand même

601* Utiliser [l'outil advisor](/docs/fr/advisor#requirements)603* Utiliser [l'outil advisor](/docs/fr/advisor#requirements)

602* Lire les [commentaires sur un artefact](/docs/fr/artifacts#collect-comments-on-an-artifact) ou y répondre604* Lire les [commentaires sur un artefact](/docs/fr/artifacts#collect-comments-on-an-artifact) ou y répondre

603* Demander à Claude de lire [l'artefact public d'une autre organisation](/docs/fr/artifacts#read-an-artifact-shared-with-you)605* Demander à Claude de lire [l'artefact public d'une autre organisation](/docs/fr/artifacts#read-an-artifact-shared-with-you)

errors.md +203 −11

Details

72| `Claude.ai login was rejected — run /login, then /remote-control` | [Authentification](#remote-control-couldnt-refresh-your-login) |72| `Claude.ai login was rejected — run /login, then /remote-control` | [Authentification](#remote-control-couldnt-refresh-your-login) |

73| `OAuth token unavailable — run /login to restore Remote Control` | [Authentification](#remote-control-couldnt-refresh-your-login) |73| `OAuth token unavailable — run /login to restore Remote Control` | [Authentification](#remote-control-couldnt-refresh-your-login) |

74| `Signed out of Claude — run /login, then /remote-control` | [Authentification](#remote-control-couldnt-refresh-your-login) |74| `Signed out of Claude — run /login, then /remote-control` | [Authentification](#remote-control-couldnt-refresh-your-login) |

75| `Remote Control could not renew this computer's connection` | [Authentification](#remote-control-could-not-renew-this-computers-connection) |

75| `signed-in claude.ai account or organization changed on this machine` | [Authentification](#remote-control-stopped-because-the-signed-in-account-changed) |76| `signed-in claude.ai account or organization changed on this machine` | [Authentification](#remote-control-stopped-because-the-signed-in-account-changed) |

76| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Authentification](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |77| `Remote Control stopped — the app running this session is now signed in to a different Claude account` | [Authentification](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |

77| `Remote Control stopped — the app running this session is signed out of Claude` | [Authentification](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |78| `Remote Control stopped — the app running this session is signed out of Claude` | [Authentification](#remote-control-stopped-because-the-app-running-the-session-signed-out-or-switched-accounts) |


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

154| `Request too large for the API's 32MB request limit` | [Erreurs de requête](#request-too-large) |155| `Request too large for the API's 32MB request limit` | [Erreurs de requête](#request-too-large) |

155| `Image was too large` | [Erreurs de requête](#image-was-too-large) |156| `Image was too large` | [Erreurs de requête](#image-was-too-large) |

157| `API Error: an image in the conversation could not be processed and was removed` | [Erreurs de requête](#image-was-too-large) |

156| `Unable to resize image` | [Erreurs de requête](#unable-to-resize-image) |158| `Unable to resize image` | [Erreurs de requête](#unable-to-resize-image) |

157| `Request rejected as unprocessable by the model` | [Erreurs de requête](#request-rejected-as-unprocessable-by-the-model) |159| `Request rejected as unprocessable by the model` | [Erreurs de requête](#request-rejected-as-unprocessable-by-the-model) |

158| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Erreurs de requête](#pdf-errors) |160| `PDF too large` / `PDF is password protected` / `pdftoppm is not installed` | [Erreurs de requête](#pdf-errors) |


179| `Effort '<level>' isn't available with thinking turned off on this model` | [Erreurs de requête](#effort-isnt-available-with-thinking-turned-off) |181| `Effort '<level>' isn't available with thinking turned off on this model` | [Erreurs de requête](#effort-isnt-available-with-thinking-turned-off) |

180| `effort '<level>' is not supported when thinking is disabled` | [Erreurs de requête](#effort-isnt-available-with-thinking-turned-off) |182| `effort '<level>' is not supported when thinking is disabled` | [Erreurs de requête](#effort-isnt-available-with-thinking-turned-off) |

181| `max_tokens must be greater than thinking.budget_tokens` | [Erreurs de requête](#thinking-budget-exceeds-output-limit) |183| `max_tokens must be greater than thinking.budget_tokens` | [Erreurs de requête](#thinking-budget-exceeds-output-limit) |

184| `Claude's response exceeded the ... output token maximum` | [Erreurs de requête](#response-exceeded-the-output-token-maximum) |

182| `API Error: 400 due to tool use concurrency issues` | [Erreurs de requête](#tool-use-or-thinking-block-mismatch) |185| `API Error: 400 due to tool use concurrency issues` | [Erreurs de requête](#tool-use-or-thinking-block-mismatch) |

183| `API Error: 400 orphaned tool_result in conversation history` | [Erreurs de requête](#tool-use-or-thinking-block-mismatch) |186| `API Error: 400 orphaned tool_result in conversation history` | [Erreurs de requête](#tool-use-or-thinking-block-mismatch) |

184| `API Error: 400 duplicate tool_use ID in conversation history` | [Erreurs de requête](#tool-use-or-thinking-block-mismatch) |187| `API Error: 400 duplicate tool_use ID in conversation history` | [Erreurs de requête](#tool-use-or-thinking-block-mismatch) |


199| `The connection dropped while downloading the update` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |202| `The connection dropped while downloading the update` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

200| `Download timed out: exceeded the total deadline` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |203| `Download timed out: exceeded the total deadline` | [Dépannage de l'installation et de la connexion](/docs/fr/troubleshoot-install#the-connection-dropped-while-downloading-the-update) |

201| `--bg and --print conflict` | [Erreurs de ligne de commande](#conflict-between-bg-and-print) |204| `--bg and --print conflict` | [Erreurs de ligne de commande](#conflict-between-bg-and-print) |

205| `Couldn't tell whether --bg is a flag or text here, so nothing was started` | [Erreurs de ligne de commande](#couldnt-tell-whether-bg-is-a-flag-or-text) |

202| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Erreurs de ligne de commande](#conflict-between-a-system-prompt-flag-and-its-file-form) |206| `Error: Cannot use both --append-subagent-system-prompt and --append-subagent-system-prompt-file. Please use only one.` | [Erreurs de ligne de commande](#conflict-between-a-system-prompt-flag-and-its-file-form) |

203| `Cloud sessions cannot be created from a --restricted session` | [Erreurs de ligne de commande](#cloud-sessions-cannot-be-created-from-a-restricted-session) |207| `Cloud sessions cannot be created from a --restricted session` | [Erreurs de ligne de commande](#cloud-sessions-cannot-be-created-from-a-restricted-session) |

204| `Cloud sessions are disabled by your organization's policy` | [Erreurs de ligne de commande](#cloud-sessions-are-disabled-by-your-organizations-policy) |208| `Cloud sessions are disabled by your organization's policy` | [Erreurs de ligne de commande](#cloud-sessions-are-disabled-by-your-organizations-policy) |


217| `couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded` | [Erreurs de ligne de commande](#directory-couldnt-be-resolved-to-a-real-location) |221| `couldn't be resolved to a real location, so its skills, commands, and agents weren't loaded` | [Erreurs de ligne de commande](#directory-couldnt-be-resolved-to-a-real-location) |

218| `Error: Workspace not trusted` au démarrage de Remote Control | [Erreurs de ligne de commande](#workspace-not-trusted-when-starting-remote-control) |222| `Error: Workspace not trusted` au démarrage de Remote Control | [Erreurs de ligne de commande](#workspace-not-trusted-when-starting-remote-control) |

219| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Erreurs de ligne de commande](#not-carried-over-to-the-sessions-remote-control-starts) |223| `` `<flag>` before `remote-control` is not carried over to the sessions Remote Control starts `` | [Erreurs de ligne de commande](#not-carried-over-to-the-sessions-remote-control-starts) |

224| `--sandbox is not supported by claude remote-control` / `--no-sandbox is not supported by claude remote-control` | [Erreurs de ligne de commande](#sandbox-is-not-supported-by-claude-remote-control) |

220| `` `claude import` is not yet available in this build `` | [Erreurs de ligne de commande](#claude-import-is-not-yet-available-in-this-build) |225| `` `claude import` is not yet available in this build `` | [Erreurs de ligne de commande](#claude-import-is-not-yet-available-in-this-build) |

221| `Could not read Claude Code config` | [Erreurs de ligne de commande](#could-not-read-claude-code-config) |226| `Could not read Claude Code config` | [Erreurs de ligne de commande](#could-not-read-claude-code-config) |

222| `Could not import <server>: <reason>` | [Erreurs de ligne de commande](#could-not-import-a-server-from-claude-desktop) |227| `Could not import <server>: <reason>` | [Erreurs de ligne de commande](#could-not-import-a-server-from-claude-desktop) |


233| `Shell command failed for pattern "..."`, provenant de `/security-review` ou de tout skill qui injecte du contexte dynamique | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |238| `Shell command failed for pattern "..."`, provenant de `/security-review` ou de tout skill qui injecte du contexte dynamique | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |

234| `Shell command permission check failed for pattern "..."`, provenant d'un skill qui injecte du contexte dynamique | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |239| `Shell command permission check failed for pattern "..."`, provenant d'un skill qui injecte du contexte dynamique | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |

235| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |240| ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` | [Erreurs de ligne de commande](#security-review-fails-without-origin-head) |

241| `No shell command in <name> was run, because the <tool> tool does not accept one of them` | [Erreurs de ligne de commande](#no-shell-command-was-run) |

236| `Input must be provided either through stdin or as a prompt argument when using --print` | [Erreurs de ligne de commande](#input-must-be-provided-when-using-print) |242| `Input must be provided either through stdin or as a prompt argument when using --print` | [Erreurs de ligne de commande](#input-must-be-provided-when-using-print) |

237| `Claude Code can't read the keyboard here: stdin is not a terminal` | [Erreurs de ligne de commande](#claude-code-cant-read-the-keyboard-here) |243| `Claude Code can't read the keyboard here: stdin is not a terminal` | [Erreurs de ligne de commande](#claude-code-cant-read-the-keyboard-here) |

238| `Error: Input contained only whitespace` | [Erreurs de ligne de commande](#input-contained-only-whitespace) |244| `Error: Input contained only whitespace` | [Erreurs de ligne de commande](#input-contained-only-whitespace) |


367| `Claude Code exited after an unrecoverable interface error (...)` | [Avertissements de configuration](#exited-after-an-unrecoverable-interface-error) |373| `Claude Code exited after an unrecoverable interface error (...)` | [Avertissements de configuration](#exited-after-an-unrecoverable-interface-error) |

368| `Agent descriptions are over the 15.0k-token limit` | [Avertissements de configuration](#agent-descriptions-are-over-the-15000-token-limit) |374| `Agent descriptions are over the 15.0k-token limit` | [Avertissements de configuration](#agent-descriptions-are-over-the-15000-token-limit) |

369| `hook needs quotes around a path with a space` | [Avertissements de configuration](#hook-needs-quotes-around-a-path-with-a-space) |375| `hook needs quotes around a path with a space` | [Avertissements de configuration](#hook-needs-quotes-around-a-path-with-a-space) |

376| `Instruction file not loaded` | [Avertissements de configuration](#instruction-file-not-loaded) |

370| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Avertissements de configuration](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |377| `Not loaded: rename <path>, then restart — its name uses "<name>", a name reserved for the skills synced from your claude.ai account` | [Avertissements de configuration](#a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved) |

371| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Avertissements de configuration](#skill-or-command-name-refused) |378| `N skill or command names refused: run with --debug to see which ([names]), rename, then restart` | [Avertissements de configuration](#skill-or-command-name-refused) |

372| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Avertissements de configuration](#workspace-has-not-been-trusted) |379| `Ignoring N permissions.allow entries from ... this workspace has not been trusted` | [Avertissements de configuration](#workspace-has-not-been-trusted) |


377| `Your organization's managed settings allow Claude Code to use: <providers>` | [Avertissements de configuration](#managed-settings-dont-allow-this-api-provider) |384| `Your organization's managed settings allow Claude Code to use: <providers>` | [Avertissements de configuration](#managed-settings-dont-allow-this-api-provider) |

378| `Your organization's managed settings allow Claude Code to use no API provider at all` | [Avertissements de configuration](#managed-settings-dont-allow-this-api-provider) |385| `Your organization's managed settings allow Claude Code to use no API provider at all` | [Avertissements de configuration](#managed-settings-dont-allow-this-api-provider) |

379| `MCP server <name> is blocked by enterprise managed policy` | [Avertissements de configuration](#mcp-server-is-blocked-by-enterprise-managed-policy) |386| `MCP server <name> is blocked by enterprise managed policy` | [Avertissements de configuration](#mcp-server-is-blocked-by-enterprise-managed-policy) |

387| `"<name>" is a reserved MCP server name and was not loaded` | [Avertissements de configuration](#mcp-server-name-is-reserved) |

380| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [Avertissements de configuration](#managed-settings-document-could-not-be-parsed) |388| `Managed settings document could not be parsed as a JSON object; none of its settings are in effect. Fix or remove it.` | [Avertissements de configuration](#managed-settings-document-could-not-be-parsed) |

381| `Managed settings drop-in directory could not be read` | [Avertissements de configuration](#managed-settings-document-could-not-be-parsed) |389| `Managed settings drop-in directory could not be read` | [Avertissements de configuration](#managed-settings-document-could-not-be-parsed) |

382| `Unable to read managed policy settings` | [Avertissements de configuration](#unable-to-read-managed-policy-settings) |390| `Unable to read managed policy settings` | [Avertissements de configuration](#unable-to-read-managed-policy-settings) |

391| `Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded; fix or remove each entry:` | [Avertissements de configuration](#managed-settings-hooks-not-loaded) |

383| `otelHeadersHelper failed; telemetry is not being exported. See /status: ...` | [Avertissements de configuration](#otelheadershelper-failed) |392| `otelHeadersHelper failed; telemetry is not being exported. See /status: ...` | [Avertissements de configuration](#otelheadershelper-failed) |

384| `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [Avertissements de configuration](#crosssessioninbound-must-be-one-of-accept-hold-refuse) |393| `"crossSessionInbound" must be one of "accept", "hold", "refuse"` | [Avertissements de configuration](#crosssessioninbound-must-be-one-of-accept-hold-refuse) |

385| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [Avertissements de configuration](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |394| `API Error: ANTHROPIC_FOUNDRY_RESOURCE must be a Foundry resource name` | [Avertissements de configuration](#anthropic-foundry-resource-must-be-a-foundry-resource-name) |


389| `... has a wildcard before the rest of the command` | [Avertissements de configuration](#has-a-wildcard-before-the-rest-of-the-command) |398| `... has a wildcard before the rest of the command` | [Avertissements de configuration](#has-a-wildcard-before-the-rest-of-the-command) |

390| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [Avertissements de configuration](#denying-bash-also-turns-off-the-powershell-tool) |399| `Denying Bash also turns off the PowerShell tool, so Claude has neither` | [Avertissements de configuration](#denying-bash-also-turns-off-the-powershell-tool) |

391| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [Avertissements de configuration](#the-200k-limit-isnt-enforced) |400| `CLAUDE_CODE_DISABLE_1M_CONTEXT is set, but the 200K limit isn't enforced` | [Avertissements de configuration](#the-200k-limit-isnt-enforced) |

401| `Model "<model>" isn't recognized · context assumed to be 200k tokens` | [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

402| `Claude Code doesn't recognize the model "<model>", so it assumes a context window of 200k tokens` | [Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id) |

392| `[claude-code:unrecognized_model]` | [Avertissements de configuration](#unrecognized-model-id-on-a-request) |403| `[claude-code:unrecognized_model]` | [Avertissements de configuration](#unrecognized-model-id-on-a-request) |

404| `is ignored — managed settings set allowManagedReadPathsOnly` / `is ignored — managed settings set allowManagedDomainsOnly` | [Avertissements de configuration](#sandbox-allow-entries-are-ignored-under-a-managed-lock) |

393| `Stale sandbox mask files left by a killed session` | [Avertissements de configuration](#stale-sandbox-mask-files-left-by-a-killed-session) |405| `Stale sandbox mask files left by a killed session` | [Avertissements de configuration](#stale-sandbox-mask-files-left-by-a-killed-session) |

394| Les réponses semblent être de qualité inférieure à la normale | [Qualité des réponses](#responses-seem-lower-quality-than-usual) |406| Les réponses semblent être de qualité inférieure à la normale | [Qualité des réponses](#responses-seem-lower-quality-than-usual) |

395 407 


1209 1221 

1210Avant la v2.1.238, Claude Code signalait les cas qui affichent désormais `Signed out of Claude` sous la forme `JWT refresh failed: no OAuth token — run /login`, et arrêtait Remote Control avec `Claude.ai login expired — run /login to restore Remote Control` dès qu'une actualisation de connexion restait sans réponse.1222Avant la v2.1.238, Claude Code signalait les cas qui affichent désormais `Signed out of Claude` sous la forme `JWT refresh failed: no OAuth token — run /login`, et arrêtait Remote Control avec `Claude.ai login expired — run /login to restore Remote Control` dès qu'une actualisation de connexion restait sans réponse.

1211 1223 

1224<h3 id="remote-control-could-not-renew-this-computers-connection">

1225 Remote Control could not renew this computer's connection

1226</h3>

1227 

1228Cet avertissement apparaît dans le terminal exécutant [`claude remote-control`](/docs/fr/remote-control#start-a-remote-control-session) lorsque le serveur ne peut pas utiliser votre connexion claude.ai pour renouveler l'identifiant de sa connexion avant son expiration. La dernière phrase de l'avertissement indique pendant combien de temps l'identifiant actuel fonctionne encore, ou qu'il a déjà expiré :

1229 

1230```text theme={null}

1231Remote Control could not renew this computer's connection: claude.ai did not accept the sign-in it uses. Run `claude /login` to sign in again. The connection keeps working for about 26 hours; if it still cannot sign in then, it stops.

1232```

1233 

1234**Que faire :**

1235 

1236* Si l'avertissement vous demande d'exécuter `claude /login`, ouvrez un autre terminal sur la machine qui exécute le serveur, exécutez-y `claude /login` et connectez-vous avec votre compte claude.ai

1237* Si le serveur ne parvient toujours pas à se connecter une fois l'identifiant de la connexion expiré, il affiche une erreur contenant `Poll: Authentication failed (401)` et s'arrête. Reconnectez-vous comme l'indique la deuxième phrase de l'avertissement, puis exécutez à nouveau `claude remote-control` dans le terminal où le serveur s'est arrêté.

1238 

1212<h3 id="remote-control-stopped-because-the-signed-in-account-changed">1239<h3 id="remote-control-stopped-because-the-signed-in-account-changed">

1213 Remote Control s'est arrêté parce que le compte connecté a changé1240 Remote Control s'est arrêté parce que le compte connecté a changé

1214</h3>1241</h3>


2279* Désactivez les serveurs MCP que vous n'utilisez pas avec `/mcp disable <name>` pour supprimer leurs définitions d'outils du contexte2306* Désactivez les serveurs MCP que vous n'utilisez pas avec `/mcp disable <name>` pour supprimer leurs définitions d'outils du contexte

2280* Réduisez les fichiers mémoire `CLAUDE.md` volumineux, ou déplacez les instructions dans les [règles à portée de chemin](/docs/fr/memory#path-specific-rules) qui se chargent uniquement quand pertinent2307* Réduisez les fichiers mémoire `CLAUDE.md` volumineux, ou déplacez les instructions dans les [règles à portée de chemin](/docs/fr/memory#path-specific-rules) qui se chargent uniquement quand pertinent

2281* La compaction automatique est activée par défaut et prévient normalement cette erreur. Si vous l'avez désactivée dans `/config` ou avec [`DISABLE_AUTO_COMPACT`](/docs/fr/env-vars), réactivez-la. Si vous la gardez désactivée, exécutez `/compact` vous-même avant que la fenêtre se remplisse.2308* La compaction automatique est activée par défaut et prévient normalement cette erreur. Si vous l'avez désactivée dans `/config` ou avec [`DISABLE_AUTO_COMPACT`](/docs/fr/env-vars), réactivez-la. Si vous la gardez désactivée, exécutez `/compact` vous-même avant que la fenêtre se remplisse.

2309* Si l'erreur apparaît vers 200K tokens sur un modèle qui en accepte davantage, l'une des causes possibles est un identifiant de modèle que Claude Code ne reconnaît pas. Claude Code suppose une fenêtre de 200K pour un tel identifiant ; pour continuer à travailler au-delà de ce seuil, [indiquez-lui la fenêtre de contexte réelle du modèle](/docs/fr/model-config#correct-the-window-for-a-gateway-or-custom-model-id).

2282 2310 

2283Voir [Explorez la fenêtre de contexte](/docs/fr/context-window) pour une vue interactive de la façon dont le contexte se remplit.2311Voir [Explorez la fenêtre de contexte](/docs/fr/context-window) pour une vue interactive de la façon dont le contexte se remplit.

2284 2312 


2340```text theme={null}2368```text theme={null}

2341Image was too large. Double press esc to go back and try again with a smaller image.2369Image was too large. Double press esc to go back and try again with a smaller image.

2342API Error: 400 ... image dimensions exceed max allowed size2370API Error: 400 ... image dimensions exceed max allowed size

2371API Error: an image in the conversation could not be processed and was removed.

2343```2372```

2344 2373 

2345Claude Code remplace l'image non traitée par un espace réservé textuel et réessaie, donc les messages suivants réussissent. Sur les versions antérieures à 2.1.142, une image collée pouvait rester dans la conversation et répéter la même erreur à chaque message suivant. Pour récupérer sur ces versions, appuyez deux fois sur Échap et revenez en arrière au-delà du tour où l'image a été ajoutée.2374La ligne `could not be processed and was removed` signifie que l'API a refusé une image de la conversation, par exemple une image dépassant les limites de taille ou de dimensions.

2375 

2376Si l'une de ces erreurs revient sans cesse, mettez à jour Claude Code. Sur les versions plus anciennes, une erreur d'image pouvait se répéter pour des raisons telles que celles-ci :

2377 

2378* Avant la v2.1.299, dans une longue conversation comportant de nombreuses images, Claude Code pouvait supprimer les dernières images que vous aviez jointes au lieu de celle qui dépassait la limite. La ligne `was removed` se répétait alors à chaque tour, et Claude ne voyait pas vos nouvelles images.

2379* Avant la v2.1.299, dans VS Code, l'application Desktop et l'Agent SDK, les images que vous joigniez pendant que Claude travaillait ne bénéficiaient pas du redimensionnement appliqué aux autres images jointes. Elles atteignaient l'API à leur taille d'origine, ce qui entraînait des erreurs d'image répétées dans les longues conversations.

2380* Avant la v2.1.166, une image collée pouvait rester dans la conversation, et la même erreur se répétait alors à chaque message suivant

2346 2381 

2347**Que faire :**2382**Que faire :**

2348 2383 


2800* Augmentez [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/fr/env-vars) au-dessus du budget de réflexion2835* Augmentez [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/fr/env-vars) au-dessus du budget de réflexion

2801* Voir [Réflexion étendue](/docs/fr/model-config#extended-thinking) pour la façon dont le budget interagit avec la longueur de sortie2836* Voir [Réflexion étendue](/docs/fr/model-config#extended-thinking) pour la façon dont le budget interagit avec la longueur de sortie

2802 2837 

2838<h3 id="response-exceeded-the-output-token-maximum">

2839 Response exceeded the output token maximum

2840</h3>

2841 

2842La réponse de Claude a atteint le nombre maximal de tokens de sortie autorisé par la requête et a été coupée à cet endroit :

2843 

2844```text theme={null}

2845API Error: Claude's response exceeded the ... output token maximum. To configure this behavior, set the CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable.

2846API Error: Claude's response exceeded the 64000 output token maximum for a request sent without streaming. The CLAUDE_CODE_MAX_OUTPUT_TOKENS environment variable cannot raise this limit.

2847```

2848 

2849La forme qui mentionne `a request sent without streaming` signifie qu'une requête en streaming a échoué et que Claude Code l'a renvoyée sans streaming, ce qui limite la réponse à 64 000 tokens de sortie. Avant la v2.1.299, une réponse coupée sur une telle requête renvoyée mettait fin au tour sans ce message, comme si la réponse était complète.

2850 

2851**Que faire :**

2852 

2853* Si Claude a écrit du texte avant que la réponse ne soit coupée, répondez `continue` dans une session interactive pour demander la suite. Ce texte reste dans la conversation.

2854* Si le message indique de définir `CLAUDE_CODE_MAX_OUTPUT_TOKENS`, consultez [`CLAUDE_CODE_MAX_OUTPUT_TOKENS`](/docs/fr/env-vars) pour savoir comment la valeur est plafonnée et [Définir des variables d'environnement](/docs/fr/env-vars#set-environment-variables) pour savoir où la définir

2855* Pour que chaque réponse reste sous la limite, demandez à Claude de produire la sortie en morceaux plus petits, par exemple un fichier ou une section par réponse

2856 

2803<h3 id="tool-use-or-thinking-block-mismatch">2857<h3 id="tool-use-or-thinking-block-mismatch">

2804 Décalage de bloc d'utilisation d'outil ou de réflexion2858 Décalage de bloc d'utilisation d'outil ou de réflexion

2805</h3>2859</h3>


2936Les mesures de sécurité du modèle ont signalé le contenu de la conversation comme un sujet de cybersécurité. Le message nomme le modèle qui a signalé la requête :2990Les mesures de sécurité du modèle ont signalé le contenu de la conversation comme un sujet de cybersécurité. Le message nomme le modèle qui a signalé la requête :

2937 2991 

2938```text theme={null}2992```text theme={null}

2939API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Apply to the Cyber Verification Program to reduce these interruptions. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude2993API Error: Opus 4.8's safeguards flagged this message. Our intentionally broad safeguards allow us to deliver more capabilities faster, but can sometimes flag legitimate cybersecurity work. Send feedback with /feedback or learn more: https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude

2940```2994```

2941 2995 

2942Si le message inclut la ligne `` Details: `[reasoning_extraction]` ``, voir [Les mesures de protection ont signalé une demande portant sur le raisonnement de Claude](#safeguards-flagged-a-request-for-claudes-reasoning).2996Si le message inclut la ligne `` Details: `[reasoning_extraction]` ``, voir [Les mesures de protection ont signalé une demande portant sur le raisonnement de Claude](#safeguards-flagged-a-request-for-claudes-reasoning).


2945 2999 

2946Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [la plateforme d'agent de Google Cloud](/docs/fr/google-vertex-ai) et [Microsoft Foundry](/docs/fr/microsoft-foundry), un signalement de cybersécurité produit le message de [refus de la politique d'utilisation](#usage-policy-refusal) à la place.3000Sur [Amazon Bedrock](/docs/fr/amazon-bedrock), [la plateforme d'agent de Google Cloud](/docs/fr/google-vertex-ai) et [Microsoft Foundry](/docs/fr/microsoft-foundry), un signalement de cybersécurité produit le message de [refus de la politique d'utilisation](#usage-policy-refusal) à la place.

2947 3001 

2948La protection elle-même est côté serveur et antérieure à v2.1.203 ; les versions client depuis lors ont changé uniquement le libellé du message.

2949De v2.1.203 à v2.1.218, le message se lisait `<model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:` suivi du même lien du centre d'aide, et les sessions interactives ajoutaient `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`

2950Avant v2.1.203, il se lisait `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:` suivi d'un lien de formulaire d'exemption.

2951 

2952**Que faire :**3002**Que faire :**

2953 3003 

2954* Si votre travail nécessite ce contenu, postulez pour l'accès via le [Programme de vérification de cybersécurité](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)3004* Si votre travail nécessite ce contenu, postulez pour l'accès via le [Programme de vérification de cybersécurité](https://support.claude.com/en/articles/14604842-real-time-cyber-safeguards-on-claude)

2955* Si votre requête ne portait pas sur un sujet de cybersécurité, exécutez `/feedback` pour signaler le faux positif3005* Si votre requête ne portait pas sur un sujet de cybersécurité, exécutez `/feedback` pour signaler le faux positif

2956* Pour continuer à travailler dans la même session, appuyez deux fois sur Échap ou exécutez `/rewind` pour revenir à un checkpoint avant le tour qui a déclenché le signalement, puis prenez une approche différente. Voir [Checkpointing](/docs/fr/checkpointing).3006* Pour continuer à travailler dans la même session, appuyez deux fois sur Échap ou exécutez `/rewind` pour revenir à un checkpoint avant le tour qui a déclenché le signalement, puis prenez une approche différente. Voir [Checkpointing](/docs/fr/checkpointing).

2957 3007 

3008Si le message que vous voyez est plutôt formulé comme l'un des suivants, il s'agit du même signalement sur une version antérieure de Claude Code :

3009 

3010* De la v2.1.219 à la v2.1.296, le message pouvait également inclure `Apply to the Cyber Verification Program to reduce these interruptions.` avant sa phrase finale

3011* De la v2.1.203 à la v2.1.218, le message indiquait `<model> has safety measures that flagged this message for a cybersecurity topic. To learn about the Cyber Verification Program and apply for access, visit our help center:` suivi du même lien vers le centre d'aide. Dans les sessions interactives, il se poursuivait avec `If you were not engaging in a cybersecurity topic, please send feedback via /feedback.`

3012* Avant la v2.1.203, il indiquait `<model>'s safeguards flagged this message for a cybersecurity topic. If your work requires this access, you can apply for an exemption:` suivi d'un lien vers un formulaire de demande d'exemption

3013 

2958<h3 id="safeguards-flagged-a-request-for-claudes-reasoning">3014<h3 id="safeguards-flagged-a-request-for-claudes-reasoning">

2959 Les mesures de protection ont signalé une demande portant sur le raisonnement de Claude3015 Les mesures de protection ont signalé une demande portant sur le raisonnement de Claude

2960</h3>3016</h3>


3012* Supprimez `-p` ou `--print`. `--bg` prend le prompt comme argument positionnel, donc `claude --bg "<task>"` constitue la commande complète. Consultez [Lancer de nouveaux agents depuis votre shell](/docs/fr/agent-view#from-your-shell).3068* Supprimez `-p` ou `--print`. `--bg` prend le prompt comme argument positionnel, donc `claude --bg "<task>"` constitue la commande complète. Consultez [Lancer de nouveaux agents depuis votre shell](/docs/fr/agent-view#from-your-shell).

3013* Pour exécuter le prompt en mode non interactif et afficher le résultat au lieu de créer une session en arrière-plan, supprimez `--bg` et exécutez `claude -p "<task>"`3069* Pour exécuter le prompt en mode non interactif et afficher le résultat au lieu de créer une session en arrière-plan, supprimez `--bg` et exécutez `claude -p "<task>"`

3014 3070 

3071<h3 id="couldnt-tell-whether-bg-is-a-flag-or-text">

3072 Couldn't tell whether `--bg` is a flag or text

3073</h3>

3074 

3075Vous avez exécuté `claude` avec `--bg` ou `--background` à une position où Claude Code ne pouvait pas déterminer si vous vouliez utiliser le flag d'arrière-plan ou du texte. La commande n'a rien démarré, a affiché cette ligne et s'est terminée avec le code 1 :

3076 

3077```text theme={null}

3078Couldn't tell whether --bg is a flag or text here, so nothing was started. To start a background session put it first: claude --bg <prompt>

3079```

3080 

3081Si vous avez tapé `--background`, la ligne mentionne `--background` à la place.

3082 

3083**Que faire :**

3084 

3085* Pour démarrer une [session en arrière-plan](/docs/fr/agent-view#from-your-shell), exécutez de nouveau la commande dans votre shell avec le flag en premier : `claude --bg --name nightly-audit "<task>"`

3086 

3015<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">3087<h3 id="conflict-between-a-system-prompt-flag-and-its-file-form">

3016 Conflit entre un flag de prompt système et sa forme fichier3088 Conflit entre un flag de prompt système et sa forme fichier

3017</h3>3089</h3>


3296 3368 

3297Avant la v2.1.248, `claude remote-control` n'acceptait pas ses propres flags lorsqu'un flag global venait en premier, et la commande échouait avec une erreur `unknown option`.3369Avant la v2.1.248, `claude remote-control` n'acceptait pas ses propres flags lorsqu'un flag global venait en premier, et la commande échouait avec une erreur `unknown option`.

3298 3370 

3371<h3 id="sandbox-is-not-supported-by-claude-remote-control">

3372 `--sandbox` or `--no-sandbox` is not supported by claude remote-control

3373</h3>

3374 

3375Cette erreur signifie que la commande qui démarre votre serveur [Remote Control](/docs/fr/remote-control) passe `--sandbox` ou `--no-sandbox` après `remote-control`, et `claude remote-control` n'accepte aucun de ces flags. Le serveur se termine avec le code 1 au lieu de démarrer :

3376 

3377```text theme={null}

3378Error: --sandbox is not supported by claude remote-control. The flag had no effect and was removed. To sandbox sessions, set sandbox.enabled to true in settings.

3379Error: --no-sandbox is not supported by claude remote-control. The flag had no effect and was removed. Remove it from the command.

3380```

3381 

3382**Que faire :**

3383 

3384* Retirez le flag de la commande, y compris dans un script ou une définition de service qui démarre le serveur pour vous, puis relancez-la

3385* Pour exécuter dans un sandbox les sessions que le serveur démarre, activez le [sandboxing](/docs/fr/sandboxing) en définissant [`sandbox.enabled`](/docs/fr/settings-reference#sandbox-enabled) sur `true` dans un [fichier de paramètres](/docs/fr/settings#where-settings-live)

3386 

3387Les deux flags ont été retirés de `claude remote-control` dans la v2.1.300, donc une commande écrite pour une version antérieure peut encore en contenir un.

3388 

3299<h3 id="claude-import-is-not-yet-available-in-this-build">3389<h3 id="claude-import-is-not-yet-available-in-this-build">

3300 claude import n'est pas encore disponible dans ce build3390 claude import n'est pas encore disponible dans ce build

3301</h3>3391</h3>


3542* Un remote dont le HEAD côté serveur pointe vers une branche que personne n'a poussée3632* Un remote dont le HEAD côté serveur pointe vers une branche que personne n'a poussée

3543* Un dépôt sans remote `origin`, ou un dépôt que vous n'avez jamais récupéré avec fetch3633* Un dépôt sans remote `origin`, ou un dépôt que vous n'avez jamais récupéré avec fetch

3544 3634 

3545Claude Code affiche la même erreur pour tout skill qui [injecte du contexte dynamique](/docs/fr/skills#when-an-injected-command-fails), et une commande injectée en échec interrompt l'invocation de ce skill. Deux messages apparentés se déclenchent avant même l'exécution de la commande :3635Claude Code affiche la même erreur pour tout skill qui [injecte du contexte dynamique](/docs/fr/skills#when-an-injected-command-fails), et une commande injectée en échec interrompt l'invocation de ce skill.

3636 

3637Des messages voisins se déclenchent avant même l'exécution de la commande :

3546 3638 

3547* `Shell command permission check failed for pattern "..."` : la vérification des permissions de la commande ne l'a pas autorisée. [Vérifications des permissions sur les commandes injectées](/docs/fr/skills#permission-checks-on-injected-commands) explique quels résultats interrompent l'invocation dans chaque mode de permission et comment pré-approuver une commande avec `allowed-tools`3639* `Shell command permission check failed for pattern "..."` : la vérification de permission de la commande ne l'a pas autorisée. [Vérifications de permission sur les commandes injectées](/docs/fr/skills#permission-checks-on-injected-commands) explique quels résultats provoquent une interruption dans chaque mode de permission et comment pré-approuver une commande avec `allowed-tools`

3548* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` : le frontmatter du skill exige bash sur une machine qui n'en dispose pas. Installez Git for Windows ou modifiez le frontmatter en `shell: powershell`. Consultez [Comment s'exécutent les commandes injectées](/docs/fr/skills#how-injected-commands-run)3640* ``Skill <name> requires bash (`shell: bash` in frontmatter) but Git Bash was not found`` : le frontmatter du skill exige bash sur une machine qui ne l'a pas. Installez Git for Windows ou changez le frontmatter en `shell: powershell`. Consultez [Comment s'exécutent les commandes injectées](/docs/fr/skills#how-injected-commands-run)

3641* `No shell command in <name> was run` : l'une des commandes `!` du fichier contient un caractère de contrôle brut autre qu'une tabulation ou un saut de ligne, donc aucune d'elles ne s'exécute. Consultez [comment trouver et supprimer le caractère](#no-shell-command-was-run)

3549 3642 

3550**Que faire :**3643**Que faire :**

3551 3644 


3553* Si vous préférez ne pas nommer la branche, exécutez `git fetch origin` puis `git remote set-head origin --auto`, qui demande au remote quelle est sa branche par défaut. Cette commande échoue avec `error: Cannot determine remote HEAD` lorsque le remote n'annonce aucune branche par défaut, parce qu'il est vide ou que son HEAD pointe vers une branche que personne n'a poussée ; nommez alors la branche explicitement. Elle échoue avec `error: Not a valid ref` lorsque votre clone ne récupère pas cette branche ; élargissez d'abord la refspec comme indiqué ci-dessus.3646* Si vous préférez ne pas nommer la branche, exécutez `git fetch origin` puis `git remote set-head origin --auto`, qui demande au remote quelle est sa branche par défaut. Cette commande échoue avec `error: Cannot determine remote HEAD` lorsque le remote n'annonce aucune branche par défaut, parce qu'il est vide ou que son HEAD pointe vers une branche que personne n'a poussée ; nommez alors la branche explicitement. Elle échoue avec `error: Not a valid ref` lorsque votre clone ne récupère pas cette branche ; élargissez d'abord la refspec comme indiqué ci-dessus.

3554* Si le dépôt n'a pas de remote, ajoutez-en un avec `git remote add origin <url>` et effectuez un fetch avant de créer la ref. Si le remote est vide, poussez d'abord votre branche avec `git push -u origin HEAD` et nommez cette branche dans la commande set-head ; `origin/HEAD` pointe alors vers la branche que vous venez de pousser, donc `/security-review` voit un diff vide jusqu'à ce que la branche diverge de celle-ci.3647* Si le dépôt n'a pas de remote, ajoutez-en un avec `git remote add origin <url>` et effectuez un fetch avant de créer la ref. Si le remote est vide, poussez d'abord votre branche avec `git push -u origin HEAD` et nommez cette branche dans la commande set-head ; `origin/HEAD` pointe alors vers la branche que vous venez de pousser, donc `/security-review` voit un diff vide jusqu'à ce que la branche diverge de celle-ci.

3555 3648 

3649<h3 id="no-shell-command-was-run">

3650 No shell command in a skill or command was run

3651</h3>

3652 

3653L'une des [commandes de contexte dynamique](/docs/fr/skills#inject-dynamic-context) `` !`<command>` `` d'un fichier de skill ou de commande personnalisée contient un caractère de contrôle brut autre qu'une tabulation ou un saut de ligne. Claude Code refuse l'invocation entière avant qu'aucune des commandes du fichier ne s'exécute.

3654 

3655Le message nomme l'outil shell qui aurait exécuté les commandes, Bash ou PowerShell, et se termine par la commande refusée. Chacun de ces caractères est remplacé par `�` afin que vous puissiez voir où il se trouve :

3656 

3657```text theme={null}

3658No shell command in /my-skill was run, because the Bash tool does not accept one of them: command contains control characters that would be hidden in the approval dialog. Unprintable characters are shown as � below: remove them from the skill or command file, or from the arguments or options substituted into it.

3659build.sh --target�dist

3660```

3661 

3662**Que faire :**

3663 

3664* Repérez chaque `�` dans la commande citée à la fin du message. Supprimez le caractère qu'il représente du fichier de skill ou de commande, ou des arguments ou options substitués dans le fichier.

3665 

3556<h3 id="input-must-be-provided-when-using-print">3666<h3 id="input-must-be-provided-when-using-print">

3557 Une entrée doit être fournie lors de l'utilisation de `--print`3667 Une entrée doit être fournie lors de l'utilisation de `--print`

3558</h3>3668</h3>


3694 3804 

3695* **Vous n'avez pas passé de branche de base** : Claude Code a effectué la comparaison avec la branche par défaut du dépôt et suggère de passer explicitement votre branche de base, comme dans l'exemple ci-dessus3805* **Vous n'avez pas passé de branche de base** : Claude Code a effectué la comparaison avec la branche par défaut du dépôt et suggère de passer explicitement votre branche de base, comme dans l'exemple ci-dessus

3696* **Vous avez passé une branche de base déjà présente dans votre clone** : l'indication est ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``3806* **Vous avez passé une branche de base déjà présente dans votre clone** : l'indication est ``Make sure <branch> exists locally or on origin (try `git fetch origin <branch>`)``

3697* **Vous avez passé une branche de base qui ne se trouvait pas dans votre clone** : Claude Code l'a récupérée depuis origin avant la comparaison. L'indication est ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` ; lorsque Claude Code ne peut pas déterminer si votre clone est superficiel (shallow), il suggère plutôt `git fetch --unshallow origin`. Avant la v2.1.221, l'indication suggérait `git fetch --unshallow origin` pour chaque branche de base récupérée, et sur un clone complet cette commande échoue avec `fatal: --unshallow on a complete repository does not make sense`.3807* **Vous avez passé une branche de base absente de votre clone** : Claude Code l'a récupérée depuis origin avant la comparaison. L'indication est ``<branch> was fetched from origin but shares no history with HEAD. If another branch is your real base, pass it explicitly (`/code-review ultra <branch>`)`` ; lorsque Claude Code ne peut pas déterminer si votre clone est superficiel, il suggère plutôt `git fetch --unshallow origin`. Avant la v2.1.221, l'indication suggérait `git fetch --unshallow origin` pour chaque branche de base récupérée, et sur un clone complet, cette commande échoue avec `fatal: --unshallow on a complete repository does not make sense`.

3698 3808 

3699**Que faire :**3809**Que faire :**

3700 3810 


4124 Marketplace name is another spelling of a reserved name4234 Marketplace name is another spelling of a reserved name

4125</h3>4235</h3>

4126 4236 

4127Le nom de la marketplace n'est pas lui-même un nom réservé, mais Claude Code le traite comme une autre orthographe d'un. [Reserved names](/docs/fr/plugins/marketplace-reference#reserved-name-spellings) énumère les orthographes qui comptent comme un nom réservé. Claude Code refuse un tel nom quand vous ajoutez la marketplace :4237Le nom de la marketplace n'est pas lui-même un nom réservé, mais Claude Code le traite comme une autre orthographe d'un nom réservé. [Noms réservés](/docs/fr/plugins/marketplace-reference#reserved-name-spellings) énumère les orthographes qui comptent comme un nom réservé. Claude Code refuse un tel nom quand vous ajoutez la marketplace :

4128 4238 

4129```text theme={null}4239```text theme={null}

4130Failed to add marketplace: "claude.code.plugins" is another spelling of "claude-code-plugins", a reserved marketplace name.4240Failed to add marketplace: "claude.code.plugins" is another spelling of "claude-code-plugins", a reserved marketplace name.


5499 5609 

5500* Dans la `command` du hook qui exécute le script que la notification nomme, entourez le chemin de guillemets doubles. Dans un fichier JSON, écrivez-le sous la forme `"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/check.py\""`.5610* Dans la `command` du hook qui exécute le script que la notification nomme, entourez le chemin de guillemets doubles. Dans un fichier JSON, écrivez-le sous la forme `"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/hooks/check.py\""`.

5501 5611 

5612<h3 id="instruction-file-not-loaded">

5613 Fichier d'instructions non chargé

5614</h3>

5615 

5616Cet avis dans la vue de conversation d'une session interactive signifie qu'un [fichier de mémoire](/docs/fr/memory#how-claude-md-files-load) existant n'a pas été chargé. Une restriction de lecture est en vigueur.

5617 

5618```text theme={null}

5619Instruction file not loaded (a Read deny rule covers it):

5620path: .claude/rules/shared.md

5621```

5622 

5623La parenthèse nomme la raison, par exemple :

5624 

5625* **`a Read deny rule covers it`** : une [règle de refus](/docs/fr/permissions#read-and-edit) `Read` correspond au chemin du fichier tel qu'il est écrit ou à l'endroit où mène un lien sur celui-ci

5626* **`it's read from outside your working directories, where reads are blocked`** : le fichier se résout en dehors des [répertoires de travail](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) alors que [`permissions.blockReadsOutsideWorkingDirectories`](/docs/fr/settings-reference#permissions-blockreadsoutsideworkingdirectories) est activé

5627* **`where it leads couldn't be worked out`** : par exemple, le fichier est un lien qui ramène à lui-même, directement ou via d'autres liens

5628 

5629Quand le propre fichier de mémoire d'un sous-répertoire ne peut pas être chargé pendant que Claude travaille avec des fichiers qui s'y trouvent, les mêmes lignes apparaissent dans la conversation pendant le tour. Quand plus de fichiers sont retenus que les lignes n'en nomment, une dernière ligne compte le reste, par exemple `and 3 more instruction files not loaded`.

5630 

5631**À faire :**

5632 

5633* Rien, si la restriction est voulue : la session s'exécute sans les instructions de ce fichier.

5634* Pour charger un fichier retenu parce que `a Read deny rule covers it`, [supprimez ou restreignez cette règle](/docs/fr/permissions#manage-permissions). Démarrez ensuite une nouvelle session.

5635* Pour charger un fichier retenu parce que `it's read from outside your working directories, where reads are blocked`, déplacez-le, ou la cible de son lien, dans les répertoires de travail. Démarrez ensuite une nouvelle session.

5636* Pour charger un fichier retenu parce que `where it leads couldn't be worked out`, vérifiez si le fichier est un lien qui ramène à lui-même. Si c'est le cas, faites pointer le lien vers un fichier qui existe ou remplacez-le par un fichier ordinaire. Démarrez ensuite une nouvelle session.

5637 

5638Avant la v2.1.292, l'avis nommait le fichier à la fin de la même ligne, après la raison.

5639 

5502<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">5640<h3 id="a-skill-command-or-workflow-wasnt-loaded-because-its-name-is-reserved">

5503 Un skill, une commande ou un workflow n'a pas été chargé parce que son nom est réservé5641 Un skill, une commande ou un workflow n'a pas été chargé parce que son nom est réservé

5504</h3>5642</h3>


5683 5821 

5684Avant la v2.1.257, **Reconnect** et réactiver dans `/mcp` pouvaient connecter un serveur qu'une mise à jour de politique en cours de session avait bloqué.5822Avant la v2.1.257, **Reconnect** et réactiver dans `/mcp` pouvaient connecter un serveur qu'une mise à jour de politique en cours de session avait bloqué.

5685 5823 

5824<h3 id="mcp-server-name-is-reserved">

5825 Le nom du serveur MCP est réservé

5826</h3>

5827 

5828Ce message nomme l'un de vos serveurs MCP, dont le nom fait partie de ceux que Claude Code réserve, comme les noms de ses serveurs intégrés :

5829 

5830```text theme={null}

5831"workspace" is a reserved MCP server name and was not loaded

5832```

5833 

5834**À faire :**

5835 

5836* Renommez le serveur là où vous le définissez, par exemple de `workspace` en `my-workspace`

5837* Pour les autres noms réservés à éviter, consultez [Avertissements de configuration MCP](/docs/fr/mcp#configuration-warnings)

5838 

5686<h3 id="managed-settings-document-could-not-be-parsed">5839<h3 id="managed-settings-document-could-not-be-parsed">

5687 Le document des paramètres gérés n'a pas pu être analysé5840 Le document des paramètres gérés n'a pas pu être analysé

5688</h3>5841</h3>


5737 5890 

5738Avant la v2.1.285, seules les sessions connectées avec les identifiants claude.ai ou Claude Console se fermaient avec ce message, et une lecture que le système d'exploitation a refusée le produisait aussi.5891Avant la v2.1.285, seules les sessions connectées avec les identifiants claude.ai ou Claude Console se fermaient avec ce message, et une lecture que le système d'exploitation a refusée le produisait aussi.

5739 5892 

5893<h3 id="managed-settings-hooks-not-loaded">

5894 Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded

5895</h3>

5896 

5897Ce bloc stderr issu d'une exécution `-p` signifie qu'une source de [paramètres gérés](/docs/fr/managed-settings) contient une entrée de hook que Claude Code ne peut pas charger. Ce hook ne s'exécute pas, et quand une ligne indique que le champ `hooks` de la source est ignoré, aucun des hooks de cette source ne s'exécute.

5898 

5899Chaque ligne nomme la source, le champ s'il y en a un, et le problème, par exemple un `type` de hook inconnu ou un hook déclaré en dehors de la clé `hooks` :

5900 

5901```text theme={null}

5902Managed settings contain invalid entries, including PreToolUse/PermissionRequest hooks that are NOT loaded; fix or remove each entry:

5903 <source> (<field>): <message>

5904```

5905 

5906**À faire :**

5907 

5908* Si vous administrez la source, corrigez ou supprimez chaque entrée que le bloc répertorie. [Configuration des hooks](/docs/fr/hooks#configuration) montre la forme que Claude Code attend sous `hooks`.

5909* Si la source d'une ligne est `parent managed settings`, l'application qui a lancé Claude Code a transmis cette entrée en tant que [paramètres parents](/docs/fr/managed-settings#parent-settings-from-embedding-hosts), donc signalez-la au développeur de cette application

5910* Sinon, envoyez le bloc à votre administrateur

5911 

5912Avant la v2.1.300, une exécution `-p` répertoriait ce cas sous l'en-tête `Managed settings failed to load; policies from the failed source are NOT in effect:`.

5913 

5740<h3 id="otelheadershelper-failed">5914<h3 id="otelheadershelper-failed">

5741 otelHeadersHelper a échoué5915 otelHeadersHelper a échoué

5742</h3>5916</h3>


5955 6129 

5956Avant la v2.1.233, Claude Code n'écrivait pas de ligne quand il envoyait une requête pour un ID de modèle qu'il ne reconnaissait pas.6130Avant la v2.1.233, Claude Code n'écrivait pas de ligne quand il envoyait une requête pour un ID de modèle qu'il ne reconnaissait pas.

5957 6131 

6132<h3 id="sandbox-allow-entries-are-ignored-under-a-managed-lock">

6133 Les entrées d'autorisation du sandbox sont ignorées sous un verrou géré

6134</h3>

6135 

6136Cet avertissement dans `/status` et `claude doctor` signifie que les paramètres gérés définissent [`allowManagedReadPathsOnly`](/docs/fr/settings-reference#sandbox-filesystem-allowmanagedreadpathsonly) ou [`allowManagedDomainsOnly`](/docs/fr/settings-reference#sandbox-network-allowmanageddomainsonly), donc les entrées [`allowRead`](/docs/fr/settings-reference#sandbox-filesystem-allowread) ou [`allowedDomains`](/docs/fr/settings-reference#sandbox-network-alloweddomains) du fichier qu'il nomme ne s'appliquent pas :

6137 

6138```text wrap theme={null}

6139sandbox.filesystem.allowRead is ignored — managed settings set allowManagedReadPathsOnly, so only allowRead paths from managed settings are honored. The 3 entries in /home/you/.claude/settings.json will NOT apply (see https://code.claude.com/docs/en/settings#sandbox-settings).

6140```

6141 

6142Pour le verrou réseau, l'avertissement nomme `sandbox.network.allowedDomains` et `allowManagedDomainsOnly`, et indique `only allowed domains (and WebFetch domain rules) from managed settings are honored`.

6143 

6144**À faire :**

6145 

6146* Vous n'avez pas à agir sur cet avertissement

6147* Si vous avez besoin de ces chemins ou domaines et que les paramètres gérés de votre organisation définissent le verrou, demandez à votre administrateur de les ajouter à ces paramètres. L'avertissement persiste jusqu'à ce que vous supprimiez aussi les entrées du fichier nommé.

6148* Pour faire disparaître l'avertissement, supprimez les entrées du fichier nommé. Pour un fichier que vous partagez, comme le `.claude/settings.json` d'un projet, vous pouvez laisser les entrées pour les coéquipiers qui n'ont pas le verrou et laisser l'avertissement affiché.

6149 

5958<h3 id="stale-sandbox-mask-files-left-by-a-killed-session">6150<h3 id="stale-sandbox-mask-files-left-by-a-killed-session">

5959 Fichiers de masque de sandbox obsolètes laissés par une session tuée6151 Fichiers de masque de sandbox obsolètes laissés par une session tuée

5960</h3>6152</h3>

Details

57 </Step>57 </Step>

58 58 

59 <Step title="Activer Code Review">59 <Step title="Activer Code Review">

60 Allez à [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) et activez [Code Review](/docs/fr/code-review#set-up-code-review) pour vos dépôts GHES en utilisant la même configuration que github.com.60 Allez à [claude.ai/admin-settings/claude-code](https://claude.ai/admin-settings/claude-code) et activez [Code Review](/docs/fr/code-review-setup) pour vos dépôts GHES en utilisant la même configuration que github.com.

61 </Step>61 </Step>

62</Steps>62</Steps>

63 63 

Details

222| `T{char}` | Sauter juste après l'occurrence précédente du caractère sur la ligne actuelle |222| `T{char}` | Sauter juste après l'occurrence précédente du caractère sur la ligne actuelle |

223| `;` | Répéter le dernier mouvement f/F/t/T |223| `;` | Répéter le dernier mouvement f/F/t/T |

224| `,` | Répéter le dernier mouvement f/F/t/T en sens inverse |224| `,` | Répéter le dernier mouvement f/F/t/T en sens inverse |

225| `%` | Sauter au délimiteur `()`, `[]` ou `{}` correspondant, en partant du délimiteur suivant sur la ligne actuelle lorsque le curseur n'est pas sur un délimiteur. Nécessite Claude Code v2.1.301 ou ultérieur |

225| `/` | Ouvrir la recherche d'historique inversée, identique à `Ctrl+R`. L'invite de recherche vide affiche un indice : appuyez sur `Esc` puis `i` puis `/` pour ouvrir le menu de commande à la place |226| `/` | Ouvrir la recherche d'historique inversée, identique à `Ctrl+R`. L'invite de recherche vide affiche un indice : appuyez sur `Esc` puis `i` puis `/` pour ouvrir le menu de commande à la place |

226 227 

227<Note>228<Note>


243| `dj`/`dk` | Supprimer la ligne actuelle et la ligne en dessous ou au-dessus |244| `dj`/`dk` | Supprimer la ligne actuelle et la ligne en dessous ou au-dessus |

244| `dgg`/`dG` | Supprimer de la ligne actuelle à la première ou dernière ligne |245| `dgg`/`dG` | Supprimer de la ligne actuelle à la première ou dernière ligne |

245| `d0`/`c0`/`y0` | Supprimer, changer ou copier du curseur jusqu'au début de la ligne. Nécessite Claude Code v2.1.281 ou ultérieur |246| `d0`/`c0`/`y0` | Supprimer, changer ou copier du curseur jusqu'au début de la ligne. Nécessite Claude Code v2.1.281 ou ultérieur |

247| `d%`/`c%`/`y%` | Supprimer, changer ou copier du curseur jusqu'au délimiteur vers lequel `%` saute, inclus. Nécessite Claude Code v2.1.301 ou ultérieur |

246| `cc` | Changer la ligne |248| `cc` | Changer la ligne |

247| `C` | Changer jusqu'à la fin de la ligne |249| `C` | Changer jusqu'à la fin de la ligne |

248| `cw`/`ce`/`cb` | Changer le mot/jusqu'à la fin/en arrière |250| `cw`/`ce`/`cb` | Changer le mot/jusqu'à la fin/en arrière |

mcp.md +5 −5

Details

347 347 

348* **Avec la [recherche d'outils](#scale-with-mcp-tool-search), la valeur par défaut** : l'attente se produit à l'intérieur de l'appel `ToolSearch`.348* **Avec la [recherche d'outils](#scale-with-mcp-tool-search), la valeur par défaut** : l'attente se produit à l'intérieur de l'appel `ToolSearch`.

349* **Sans recherche d'outils** : Claude utilise plutôt l'outil `WaitForMcpServers`. Les configurations sans recherche d'outils incluent une `ANTHROPIC_BASE_URL` personnalisée, `ENABLE_TOOL_SEARCH=false`, et un modèle antérieur à Claude Opus 4.5, Claude Sonnet 4.5 et Claude Haiku 4.5 sur la plateforme Agent de Google Cloud.349* **Sans recherche d'outils** : Claude utilise plutôt l'outil `WaitForMcpServers`. Les configurations sans recherche d'outils incluent une `ANTHROPIC_BASE_URL` personnalisée, `ENABLE_TOOL_SEARCH=false`, et un modèle antérieur à Claude Opus 4.5, Claude Sonnet 4.5 et Claude Haiku 4.5 sur la plateforme Agent de Google Cloud.

350* **Sur un [déploiement Microsoft Foundry hébergé sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)** : Claude commence sur le chemin de recherche d'outils plutôt qu'avec `WaitForMcpServers`, car Claude Code découvre le rejet côté serveur du déploiement uniquement à partir de l'API. Après que Claude Code a basculé ce déploiement vers le [chargement en amont](#scale-with-mcp-tool-search), les outils d'un serveur qui termine sa connexion deviennent disponibles à la requête suivante de Claude.350* **Sur un [déploiement Microsoft Foundry hébergé sur Azure](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options)** : Claude commence sur le chemin de recherche d'outils plutôt qu'avec `WaitForMcpServers`, car Claude Code découvre le rejet côté serveur du déploiement uniquement à partir de l'API. Après que Claude Code a basculé ce déploiement vers le [chargement en amont](#scale-with-mcp-tool-search), les outils d'un serveur qui termine de se connecter deviennent disponibles à la requête suivante de Claude.

351 351 

352Avec la recherche d'outils activée, lorsqu'un serveur termine sa connexion pendant que Claude travaille, Claude Code liste les noms d'outils du serveur à Claude lors de sa requête suivante dans le même tour. Claude peut alors rechercher et appeler ces outils sans attendre votre message suivant.352Avec la recherche d'outils activée, lorsqu'un serveur termine de se connecter pendant que Claude travaille, Claude Code liste les noms d'outils du serveur à Claude lors de sa requête suivante dans le même tour. Claude peut alors rechercher et appeler ces outils sans attendre votre message suivant.

353 353 

354Après la reprise d'une session, Claude peut appeler un outil issu de la conversation enregistrée alors que le serveur MCP de cet outil est toujours en cours de connexion. Pendant la première tentative de connexion du serveur, Claude Code retient l'appel jusqu'à 10 secondes et l'exécute dès que l'outil est disponible. Si le serveur ne se connecte pas à temps, ou s'il est déjà [en train de réessayer après une tentative échouée](#automatic-reconnection), l'appel échoue avec l'[erreur d'outil](/docs/fr/errors#no-such-tool-available) `No such tool available`.354Après la reprise d'une session, Claude peut appeler un outil issu de la conversation enregistrée alors que le serveur MCP de cet outil est toujours en cours de connexion. Pendant la première tentative de connexion du serveur, Claude Code retient l'appel jusqu'à 10 secondes et l'exécute dès que l'outil est disponible. Si le serveur ne se connecte pas à temps, ou s'il est déjà [en train de réessayer après une tentative échouée](#automatic-reconnection), l'appel échoue avec l'[erreur d'outil](/docs/fr/errors#no-such-tool-available) `No such tool available`.

355 355 


1420* **Limite par défaut** : le maximum par défaut est de 25 000 tokens1420* **Limite par défaut** : le maximum par défaut est de 25 000 tokens

1421* **Portée** : la variable d'environnement s'applique aux outils qui ne déclarent pas leur propre limite. Les outils qui définissent [`anthropic/maxResultSizeChars`](#raise-the-limit-for-a-specific-tool) utilisent cette valeur à la place pour le contenu textuel, indépendamment de la valeur définie pour `MAX_MCP_OUTPUT_TOKENS`. Les outils qui retournent des données d'image restent soumis à `MAX_MCP_OUTPUT_TOKENS`1421* **Portée** : la variable d'environnement s'applique aux outils qui ne déclarent pas leur propre limite. Les outils qui définissent [`anthropic/maxResultSizeChars`](#raise-the-limit-for-a-specific-tool) utilisent cette valeur à la place pour le contenu textuel, indépendamment de la valeur définie pour `MAX_MCP_OUTPUT_TOKENS`. Les outils qui retournent des données d'image restent soumis à `MAX_MCP_OUTPUT_TOKENS`

1422* **Au-delà de la limite** : lorsqu'un résultat réussi sans contenu d'image dépasse la limite de tokens, Claude Code l'enregistre dans un fichier et le remplace dans la conversation par un message qui indique le chemin du fichier, de sorte que Claude lit le fichier lorsqu'il a besoin du contenu. Le fichier se trouve dans le répertoire `tool-results` de la session sous [`~/.claude/projects/`](/docs/fr/claude-directory#cleaned-up-automatically).1422* **Au-delà de la limite** : lorsqu'un résultat réussi sans contenu d'image dépasse la limite de tokens, Claude Code l'enregistre dans un fichier et le remplace dans la conversation par un message qui indique le chemin du fichier, de sorte que Claude lit le fichier lorsqu'il a besoin du contenu. Le fichier se trouve dans le répertoire `tool-results` de la session sous [`~/.claude/projects/`](/docs/fr/claude-directory#cleaned-up-automatically).

1423* **Taille des réponses des serveurs HTTP et SSE** : lorsqu'une réponse d'un serveur [HTTP](#option-1-add-a-remote-http-server) ou [SSE](#option-2-add-a-remote-sse-server) dépasse 16 Mo, Claude Code arrête de la lire et la requête échoue. La limite s'applique après décompression à un corps de réponse JSON ou à un événement d'un flux d'événements. Si vous maintenez le serveur, renvoyez moins de données par réponse pour rester sous la limite, par exemple en paginant les résultats1423* **Taille des réponses des serveurs HTTP et SSE** : lorsqu'une réponse d'un serveur [HTTP](#option-1-add-a-remote-http-server) ou [SSE](#option-2-add-a-remote-sse-server) dépasse 16 Mio, Claude Code arrête de la lire et la requête échoue. La limite s'applique après décompression à un corps de réponse JSON ou à un événement d'un flux d'événements. Si vous maintenez le serveur, renvoyez moins de données par réponse pour rester sous la limite, par exemple en paginant les résultats

1424* **Taille des messages des serveurs WebSocket** : lorsqu'un serveur [WebSocket](#option-4-add-a-remote-websocket-server) envoie un message de plus de 16 Mo, Claude Code [ferme la connexion](#mid-session-drops-of-a-remote-server), et les appels en cours sur ce serveur échouent. Si vous maintenez le serveur, renvoyez moins de données par message pour rester sous la limite1424* **Taille des messages des serveurs WebSocket** : lorsqu'un serveur [WebSocket](#option-4-add-a-remote-websocket-server) envoie un message de plus de 16 Mio, Claude Code [ferme la connexion](#mid-session-drops-of-a-remote-server), et les appels en cours sur ce serveur échouent. Si vous maintenez le serveur, renvoyez moins de données par message pour rester sous la limite

1425 1425 

1426Un appel que Claude Code a [déplacé vers une tâche en arrière-plan](#automatic-backgrounding-of-long-tool-calls) transmet son résultat via la notification de tâche. Deux limites supplémentaires s'appliquent à un appel qui se termine au premier plan :1426Un appel que Claude Code a [déplacé vers une tâche en arrière-plan](#automatic-backgrounding-of-long-tool-calls) transmet son résultat via la notification de tâche. Deux limites supplémentaires s'appliquent à un appel qui se termine au premier plan :

1427 1427 


1630 1630 

1631Avant v2.1.296, la limite la plus courte était de 2 048 caractères, et avant v2.1.295, elle s'appliquait à chaque description d'outil, y compris celle d'un outil chargé via la recherche d'outils.1631Avant v2.1.296, la limite la plus courte était de 2 048 caractères, et avant v2.1.295, elle s'appliquait à chaque description d'outil, y compris celle d'un outil chargé via la recherche d'outils.

1632 1632 

1633Pour modifier les limites pour chaque serveur MCP de votre session, définissez [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/fr/env-vars#variables) sur un nombre de caractères. Le nombre que vous définissez remplace les deux limites : `8192`, par exemple, augmente la limite la plus courte et abaisse la plus longue. Cette variable nécessite Claude Code v2.1.280 ou ultérieur.1633Les descriptions et les instructions de certains des serveurs MCP qu'Anthropic héberge sur `api.anthropic.com` parviennent à Claude dans leur intégralité. Pour modifier les limites pour les autres serveurs MCP de votre session, définissez [`CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH`](/docs/fr/env-vars#variables) sur un nombre de caractères. Le nombre que vous définissez remplace les deux limites : `8192`, par exemple, augmente la limite la plus courte et abaisse la plus longue. Cette variable nécessite Claude Code v2.1.280 ou ultérieur.

1634 1634 

1635<h4 id="per-tool-alwaysload">1635<h4 id="per-tool-alwaysload">

1636 Marquer un outil pour qu'il se charge en amont ou reste reporté1636 Marquer un outil pour qu'il se charge en amont ou reste reporté

Details

378 ```powershell theme={null}378 ```powershell theme={null}

379 $env:MCP_TIMEOUT = "60000"; claude379 $env:MCP_TIMEOUT = "60000"; claude

380 ```380 ```

381 

382 Avant la v2.1.299, certaines connexions à des serveurs HTTP actifs expiraient au démarrage quelle que soit la valeur de `MCP_TIMEOUT`. Si vous utilisez l'une de ces versions et qu'un serveur HTTP actif expire toujours après que vous avez augmenté la limite, [mettez à jour Claude Code](/docs/fr/setup#update-claude-code).

381 </Accordion>383 </Accordion>

382 384 

383 <Accordion title="Server already exists">385 <Accordion title="Server already exists">

memory.md +1 −0

Details

648Pour déboguer :648Pour déboguer :

649 649 

650* Exécutez `/context` et vérifiez la liste sous **Fichiers de mémoire** pour confirmer les fichiers CLAUDE.md et CLAUDE.local.md qui doivent se charger au lancement. Si l'un d'eux est manquant là, Claude ne peut pas le voir. Utilisez `/memory` pour ouvrir et modifier les fichiers.650* Exécutez `/context` et vérifiez la liste sous **Fichiers de mémoire** pour confirmer les fichiers CLAUDE.md et CLAUDE.local.md qui doivent se charger au lancement. Si l'un d'eux est manquant là, Claude ne peut pas le voir. Utilisez `/memory` pour ouvrir et modifier les fichiers.

651* Si un avis `Instruction file not loaded` apparaît, consultez [ce qu'il signifie et ce qu'il faut faire](/docs/fr/errors#instruction-file-not-loaded).

651* Un `CLAUDE.md` situé dans un sous-répertoire de votre répertoire de travail n'apparaît pas sous **Fichiers de mémoire**, car il se charge à la demande plutôt qu'au lancement. Lorsqu'il se charge, une ligne `Loaded` avec son chemin apparaît dans le terminal. Pour en tester un nouveau, créez-le depuis votre shell plutôt que de demander à Claude de l'écrire, puis demandez à Claude de lire un fichier dans ce sous-répertoire.652* Un `CLAUDE.md` situé dans un sous-répertoire de votre répertoire de travail n'apparaît pas sous **Fichiers de mémoire**, car il se charge à la demande plutôt qu'au lancement. Lorsqu'il se charge, une ligne `Loaded` avec son chemin apparaît dans le terminal. Pour en tester un nouveau, créez-le depuis votre shell plutôt que de demander à Claude de l'écrire, puis demandez à Claude de lire un fichier dans ce sous-répertoire.

652* Vérifiez que le CLAUDE.md pertinent se trouve dans un emplacement qui se charge pour votre session (consultez [Choisir où placer les fichiers CLAUDE.md](#choose-where-to-put-claude-md-files)).653* Vérifiez que le CLAUDE.md pertinent se trouve dans un emplacement qui se charge pour votre session (consultez [Choisir où placer les fichiers CLAUDE.md](#choose-where-to-put-claude-md-files)).

653* Rendez les instructions plus spécifiques. « Utiliser l'indentation à 2 espaces » fonctionne mieux que « formater le code correctement ».654* Rendez les instructions plus spécifiques. « Utiliser l'indentation à 2 espaces » fonctionne mieux que « formater le code correctement ».

model-config.md +20 −0

Details

895 Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé895 Corriger la fenêtre pour une passerelle ou un ID de modèle personnalisé

896</h3>896</h3>

897 897 

898L'un ou l'autre de ces avertissements au démarrage signifie que Claude Code ne reconnaît pas l'ID de modèle de votre session ; il ne peut donc pas déterminer la fenêtre de contexte du modèle et suppose 200 K tokens :

899 

900```text theme={null}

901⚠ Model "my-gateway-opus" isn't recognized · context assumed to be 200k tokens · ...

902Claude Code doesn't recognize the model "my-gateway-opus", so it assumes a context window of 200k tokens. Update Claude Code, or see https://code.claude.com/docs/en/model-config#correct-the-window-for-a-gateway-or-custom-model-id to set the window.

903```

904 

905Claude Code [compacte automatiquement](#default-auto-compact-thresholds) la conversation aux 200 K supposés ; si la fenêtre de contexte réelle du modèle est de 200 K, il n'y a donc rien à corriger. Sinon, indiquez à Claude Code la fenêtre réelle de l'une des manières suivantes, selon votre ID :

906 

907* **Un modèle plus récent que votre version de Claude Code** : exécutez `claude update` dans votre shell. Si Claude Code reconnaît l'ID après la mise à jour, vous n'avez rien d'autre à configurer.

908* **Le nom donné par votre passerelle ou votre fournisseur à un modèle que Claude Code connaît** : ajoutez une entrée [`modelOverrides`](#override-model-ids-per-version) qui associe l'ID de modèle Anthropic à votre ID, comme `"claude-opus-4-8": "my-gateway-opus"`. Vous pouvez également lister votre ID dans une ligne [`modelPicker`](/docs/fr/settings-reference#fields-for-modelpicker) avec `behavesAs` défini sur ce modèle. Dans les deux cas, Claude Code traite alors l'ID comme ce modèle.

909* **Un modèle avec une fenêtre de 1 M** : ajoutez `[1m]` à l'ID là où vous définissez le modèle, comme `claude --model 'my-gateway-opus[1m]'` dans votre shell. Si vous avez [désactivé le contexte 1M](#turn-off-1m-context), vous obtenez la même fenêtre avec ou sans le suffixe.

910* **Toute autre fenêtre** : définissez [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/fr/env-vars) sur la taille de la fenêtre en tokens dans l'environnement qui démarre Claude Code, comme `CLAUDE_CODE_MAX_CONTEXT_TOKENS=400000`. Pour un ID non reconnu qui ne commence pas par `claude-` et n'a pas de suffixe `[1m]`, la variable prend effet d'elle-même. Pour tout autre ID, vérifiez d'abord [à quels ID elle s'applique](#which-ids-claude_code_max_context_tokens-applies-to).

911 

912Une fois que Claude Code reconnaît l'ID ou utilise la fenêtre que vous lui avez indiquée, l'avertissement n'apparaît plus lorsque vous démarrez une session sur cet ID.

913 

914<h4 id="which-ids-claude_code_max_context_tokens-applies-to">

915 À quels ID s'applique `CLAUDE_CODE_MAX_CONTEXT_TOKENS`

916</h4>

917 

898Sur une [passerelle LLM](/docs/fr/llm-gateway) ou un autre déploiement personnalisé, Claude Code peut supposer une fenêtre de contexte pour l'ID de modèle qui diffère de la fenêtre réelle du modèle, qu'il résolve ou non l'ID en un modèle Claude. Définissez [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/fr/env-vars) à la fenêtre que Claude Code devrait supposer à la place.918Sur une [passerelle LLM](/docs/fr/llm-gateway) ou un autre déploiement personnalisé, Claude Code peut supposer une fenêtre de contexte pour l'ID de modèle qui diffère de la fenêtre réelle du modèle, qu'il résolve ou non l'ID en un modèle Claude. Définissez [`CLAUDE_CODE_MAX_CONTEXT_TOKENS`](/docs/fr/env-vars) à la fenêtre que Claude Code devrait supposer à la place.

899 919 

900La façon dont la variable s'applique dépend de l'ID. Claude Code traite un ID comme un fournisseur ou une orthographe personnalisée lorsqu'il ne commence pas par `claude-`, en toute casse, ou lorsqu'il porte un suffixe que Claude Code supprime lors de la lecture de l'ID, comme la date `@YYYYMMDD` utilisée sur Google Cloud's Agent Platform. Avant la v2.1.259, Claude Code ne comptait pas un suffixe supprimé, donc un ID `claude-` non reconnu avec un suffixe de date était traité comme un nom `claude-` simple.920La façon dont la variable s'applique dépend de l'ID. Claude Code traite un ID comme un fournisseur ou une orthographe personnalisée lorsqu'il ne commence pas par `claude-`, en toute casse, ou lorsqu'il porte un suffixe que Claude Code supprime lors de la lecture de l'ID, comme la date `@YYYYMMDD` utilisée sur Google Cloud's Agent Platform. Avant la v2.1.259, Claude Code ne comptait pas un suffixe supprimé, donc un ID `claude-` non reconnu avec un suffixe de date était traité comme un nom `claude-` simple.

Details

6 6 

7> Découvrez comment activer et configurer OpenTelemetry pour Claude Code.7> Découvrez comment activer et configurer OpenTelemetry pour Claude Code.

8 8 

9Suivez l'utilisation de Claude Code, les coûts et l'activité des outils dans votre organisation en exportant les données de télémétrie via OpenTelemetry (OTel). Claude Code exporte les métriques sous forme de données de séries chronologiques via le protocole de métriques standard, les événements via le protocole de journaux/événements, et optionnellement les traces distribuées via le [protocole de traces](#traces-beta).9Suivez l'utilisation de Claude Code, les coûts et l'activité des outils dans votre organisation en exportant les données de télémétrie via OpenTelemetry (OTel). Claude Code exporte les métriques sous forme de données de séries chronologiques via le protocole de métriques standard, les événements via le protocole de journaux/événements, et optionnellement les [traces distribuées via OpenTelemetry](#traces-beta).

10 

11<Note>

12 Pour l'API Claude ou Managed Agents, consultez [OpenTelemetry pour l'API Claude](https://platform.claude.com/docs/en/manage-claude/opentelemetry).

13</Note>

10 14 

11<h2 id="quick-start">15<h2 id="quick-start">

12 Démarrage rapide16 Démarrage rapide

Details

84* **La politique réseau couvre `$.http.fetch`.**84* **La politique réseau couvre `$.http.fetch`.**

85 85 

86 * **La politique de votre organisation n'autorise pas WebFetch** : Claude Code refuse également toutes les requêtes `$.http.fetch` de chaque mod. Voir [Disponibilité de WebFetch](/docs/fr/tools-reference#webfetch-availability).86 * **La politique de votre organisation n'autorise pas WebFetch** : Claude Code refuse également toutes les requêtes `$.http.fetch` de chaque mod. Voir [Disponibilité de WebFetch](/docs/fr/tools-reference#webfetch-availability).

87 * **Vous désactivez l'outil WebFetch avec [`CLAUDE_CODE_DISABLE_WEB_FETCH`](/docs/fr/env-vars#variables) ou une [règle de refus](/docs/fr/permissions#tool-specific-permission-rules) `WebFetch`, dans les paramètres gérés ou tout autre fichier de paramètres** : les mods peuvent toujours effectuer des requêtes `$.http.fetch`.

88 

89 Pour les arrêter pour chaque mod que vos utilisateurs installent, [empêchez les mods installés par les utilisateurs de se charger](#stop-user-installed-mods-from-loading), ou interceptez `http.fetch` avec un hook dans un [mod de politique](#enforce-a-policy-with-a-mod-of-your-own) et refusez les requêtes provenant des mods des utilisateurs. Donnez à ce hook un [gestionnaire `.catch`](/docs/fr/plugins/mods/events#handle-a-hook-that-fails) qui refuse également, car Claude Code ignore un hook qui échoue et la requête est alors effectuée. Si vous vous contentez de [restreindre ce que les utilisateurs peuvent installer](/docs/fr/plugins/org#restrict-what-users-can-install), moins de mods se chargent, mais ceux que vous autorisez peuvent toujours effectuer ces requêtes.

87 * **Vous définissez [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars)** : un mod que vous ou vos utilisateurs installez peut toujours effectuer ces requêtes. La variable n'arrête que les [mods intégrés à Claude Code](/docs/fr/plugins/mods/overview#mods-built-into-claude-code), ainsi que toute requête `$.http.fetch` qui transporte les identifiants Anthropic de la session. Avant la v2.1.288, la variable arrêtait toutes les requêtes `$.http.fetch` de chaque mod.90 * **Vous définissez [`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC`](/docs/fr/env-vars)** : un mod que vous ou vos utilisateurs installez peut toujours effectuer ces requêtes. La variable n'arrête que les [mods intégrés à Claude Code](/docs/fr/plugins/mods/overview#mods-built-into-claude-code), ainsi que toute requête `$.http.fetch` qui transporte les identifiants Anthropic de la session. Avant la v2.1.288, la variable arrêtait toutes les requêtes `$.http.fetch` de chaque mod.

88 91 

89 Aucun des deux ne couvre un programme que le mod démarre avec `$.process.run`, qui atteint le réseau avec l'accès propre de l'utilisateur.92 Aucun de ces cas ne couvre un programme que le mod démarre avec `$.process.run`, qui atteint le réseau avec l'accès propre de l'utilisateur.

90* **Les contrôles de plugin couvrent les mods.** Un mod est un plugin, donc les [paramètres qui limitent ce que les utilisateurs peuvent installer](/docs/fr/plugins/org#restrict-what-users-can-install), comme `strictKnownMarketplaces`, décident s'il peut être installé du tout.93* **Les contrôles de plugin couvrent les mods.** Un mod est un plugin, donc les [paramètres qui limitent ce que les utilisateurs peuvent installer](/docs/fr/plugins/org#restrict-what-users-can-install), comme `strictKnownMarketplaces`, décident s'il peut être installé du tout.

91* **Les mods ne peuvent pas changer l'invite de permission.** Un mod peut redessiner une grande partie de l'interface de Claude Code, mais pas l'invite de permission, donc il ne peut pas changer ce qu'une invite affiche. Un mod peut toujours approuver ou refuser un appel d'outil avant que l'invite n'apparaisse, comme [Savoir ce qui se passe par défaut](#know-what-happens-by-default) le décrit.94* **Les mods ne peuvent pas changer l'invite de permission.** Un mod peut redessiner une grande partie de l'interface de Claude Code, mais pas l'invite de permission, donc il ne peut pas changer ce qu'une invite affiche. Un mod peut toujours approuver ou refuser un appel d'outil avant que l'invite n'apparaisse, comme [Savoir ce qui se passe par défaut](#know-what-happens-by-default) le décrit.

92* **Les invites de confiance viennent en premier.** Dans une session interactive dans un répertoire que l'utilisateur n'a pas encore approuvé, aucun mod ne se charge jusqu'à ce qu'il réponde à l'invite de confiance.95* **Les invites de confiance viennent en premier.** Dans une session interactive dans un répertoire que l'utilisateur n'a pas encore approuvé, aucun mod ne se charge jusqu'à ce qu'il réponde à l'invite de confiance.

Details

234| `$.ui.toast(text)` | Une notification toast avec le nom du mod qui disparaît après quelques secondes. Il s'agit d'une boîte en haut à droite en [rendu plein écran](/docs/fr/fullscreen), et d'une ligne à droite sous l'invite dans le moteur de rendu classique. |234| `$.ui.toast(text)` | Une notification toast avec le nom du mod qui disparaît après quelques secondes. Il s'agit d'une boîte en haut à droite en [rendu plein écran](/docs/fr/fullscreen), et d'une ligne à droite sous l'invite dans le moteur de rendu classique. |

235| `$.ui.log(text)` | Une ligne atténuée dans la transcription que Claude ne lit pas. Elle commence par `●` et le nom du mod, comme dans `● my-mod: build finished`. |235| `$.ui.log(text)` | Une ligne atténuée dans la transcription que Claude ne lit pas. Elle commence par `●` et le nom du mod, comme dans `● my-mod: build finished`. |

236 236 

237Dans l'[extension VS Code](/docs/fr/plugins/mods/interface#draw-in-the-vs-code-extension), les lignes de statut et les toasts s'affichent plutôt au-dessus de la zone de saisie du prompt, et les lignes de log dans la conversation.

238 

237<h3 id="start-a-turn-from-a-background-job">239<h3 id="start-a-turn-from-a-background-job">

238 Démarrer un tour à partir d'un travail en arrière-plan240 Démarrer un tour à partir d'un travail en arrière-plan

239</h3>241</h3>

Details

226| `Spinner`, `ToolProgress`, `TurnDuration` | Lignes d'état pour un tour : la ligne qui s'anime pendant que Claude travaille, la ligne de progression en direct d'un outil en cours d'exécution, et la ligne qui ferme un tour |226| `Spinner`, `ToolProgress`, `TurnDuration` | Lignes d'état pour un tour : la ligne qui s'anime pendant que Claude travaille, la ligne de progression en direct d'un outil en cours d'exécution, et la ligne qui ferme un tour |

227| `InfoNotice`, `SessionMode`, `PromptHint` | Lignes d'état sous le logo, les étiquettes de mode dans le pied de page, et la ligne d'indice sous l'invite |227| `InfoNotice`, `SessionMode`, `PromptHint` | Lignes d'état sous le logo, les étiquettes de mode dans le pied de page, et la ligne d'indice sous l'invite |

228 228 

229`Pane`, `AskUserQuestion`, `Spinner`, `UserMessage`, `AssistantMessage` et les points de rendu des appels d'outils fonctionnent dans le terminal, l'application Desktop et l'extension VS Code. Le [tableau des points de rendu](/docs/fr/plugins/mods/reference#render-sites) liste où chacun des autres est déclenché.

230 

229À un site que Claude Code dessine déjà, votre hook peut modifier un détail, remplacer le dessin, ou le laisser tranquille. Sélectionnez un onglet pour voir chacun appliqué au spinner. Les exemples lisent une variable `calls` qu'un autre hook compte, comme dans le [mod tutoriel](/docs/fr/plugins/mods/create#write-a-mod-yourself).231À un site que Claude Code dessine déjà, votre hook peut modifier un détail, remplacer le dessin, ou le laisser tranquille. Sélectionnez un onglet pour voir chacun appliqué au spinner. Les exemples lisent une variable `calls` qu'un autre hook compte, comme dans le [mod tutoriel](/docs/fr/plugins/mods/create#write-a-mod-yourself).

230 232 

231<Tabs>233<Tabs>


297 299 

298La demande de permission n'est pas un site de rendu, donc un mod ne peut pas modifier ce qu'elle affiche. Le dialogue de question, `AskUserQuestion`, en est un, donc un mod peut modifier cela. Un arbre pour le dialogue doit contenir la référence exactement une fois, avec vos éléments au-dessus. Sinon, Claude Code dessine son propre dialogue.300La demande de permission n'est pas un site de rendu, donc un mod ne peut pas modifier ce qu'elle affiche. Le dialogue de question, `AskUserQuestion`, en est un, donc un mod peut modifier cela. Un arbre pour le dialogue doit contenir la référence exactement une fois, avec vos éléments au-dessus. Sinon, Claude Code dessine son propre dialogue.

299 301 

300Le terminal et l'application Desktop ne déclenchent pas tous les mêmes sites. `Pane`, `AbovePrompt`, `Spinner`, et les sites de transcription fonctionnent dans les deux. Quelques autres lignes d'état sont déclenchées seulement dans le terminal. Le [tableau des sites de rendu](/docs/fr/plugins/mods/reference#render-sites) liste où chacun est déclenché.

301 

302<h3 id="open-a-pane-at-the-right-time">302<h3 id="open-a-pane-at-the-right-time">

303 Ouvrir un volet au bon moment303 Ouvrir un volet au bon moment

304</h3>304</h3>


328| `rows` | La hauteur à demander quand le volet se trouve au-dessus de l'invite. La valeur par défaut est un tiers de l'espace. |328| `rows` | La hauteur à demander quand le volet se trouve au-dessus de l'invite. La valeur par défaut est un tiers de l'espace. |

329| `columns` | La largeur à demander quand le volet se trouve à côté de la transcription |329| `columns` | La largeur à demander quand le volet se trouve à côté de la transcription |

330 330 

331L'[extension VS Code](#draw-in-the-vs-code-extension) ignore `rows` et `columns` et dimensionne le volet elle-même.

332 

331`focus`, `closeOnEscape`, et `holdToasts` sont optionnels et acceptent seulement `true`. Pour en laisser un de côté, omettez-le. Passer `false` lève une erreur comme `ui.open: focus is true or left out`. Pour en définir un conditionnellement, ajoutez le champ seulement quand la condition tient. Cet appel demande le focus clavier seulement quand `items` n'est pas vide :333`focus`, `closeOnEscape`, et `holdToasts` sont optionnels et acceptent seulement `true`. Pour en laisser un de côté, omettez-le. Passer `false` lève une erreur comme `ui.open: focus is true or left out`. Pour en définir un conditionnellement, ajoutez le champ seulement quand la condition tient. Cet appel demande le focus clavier seulement quand `items` n'est pas vide :

332 334 

333```javascript theme={null}335```javascript theme={null}


356 358 

357Quand le volet apparaît, `$.ui.open` se résout en `{ isPlaced: true }`. Quand le volet attend, `isPlaced` est `false` et `reason` est une chaîne qui dit pourquoi. Un volet en attente apparaît quand l'utilisateur l'ouvre ou élargit le terminal. Pour dire que quelque chose est disponible sans ouvrir un volet, appelez `$.ui.toast('Your message')`, qui affiche une notification toast.359Quand le volet apparaît, `$.ui.open` se résout en `{ isPlaced: true }`. Quand le volet attend, `isPlaced` est `false` et `reason` est une chaîne qui dit pourquoi. Un volet en attente apparaît quand l'utilisateur l'ouvre ou élargit le terminal. Pour dire que quelque chose est disponible sans ouvrir un volet, appelez `$.ui.toast('Your message')`, qui affiche une notification toast.

358 360 

361<h3 id="draw-in-the-vs-code-extension">

362 Dessiner dans l'extension VS Code

363</h3>

364 

365Dans l'extension VS Code, ce qu'un mod dessine apparaît dans le panneau de chat avec la version 2.1.299 ou ultérieure de l'extension, dans une session qui [récupère les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Dans un hook `ui.render` pour le panneau, `e.surface` vaut `vscode`. Pour vérifier quels points de rendu et éléments le panneau dessine, et quelles props il ignore, consultez les tableaux des [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et des [éléments](/docs/fr/plugins/mods/reference#elements).

366 

367Pour qu'un mod fonctionne dans le panneau aussi bien que dans le terminal, tenez compte de ces différences :

368 

369* **Volets** : dans un panneau de 800 pixels de large ou plus, les volets s'ancrent à côté de la conversation, `e.props.placement` vaut `'dock'` et `e.viewport.isFullscreen` vaut `true`. Dans un panneau plus étroit, les volets sont dessinés au-dessus de la zone d'invite, `placement` vaut `'inline'` et un volet affiche 12 lignes avant de défiler.

370* **Toasts et barres de statut** : ils se trouvent dans une seule pile directement au-dessus de la zone d'invite, avec les volets lorsque le panneau est étroit, avec une barre de statut par mod. La pile est masquée pendant qu'une demande de permission ou un dialogue s'affiche.

371* **Étiquettes** : le panneau encadre ce qu'un mod dessine ou réécrit et l'étiquette avec le nom du plugin, comme dans **From the token-chart plugin** ou **Edited by the token-chart plugin**.

372* **Clavier** : les boutons n'ont pas de raccourcis clavier, donc l'utilisateur clique sur un bouton ou appuie sur Entrée dessus une fois qu'il a le focus.

373* **Focus clavier** : le panneau n'accorde la requête `focus: true` d'un volet que lorsque le panneau a le focus, que Claude est inactif sans question en attente et que la zone d'invite est vide.

374* **Le dialogue de question** : à `AskUserQuestion`, le panneau conserve sa propre carte de question et dessine vos éléments au-dessus. Les props que vous passez à `next` ne modifient pas la carte.

375* **Suggestions de prompt** : `$.prompt.suggest` se résout avec `isShown: false` et n'affiche rien, car le panneau réserve le texte de suggestion estompé de la zone d'invite aux propres suggestions de Claude.

376* **Limites de texte** : le panneau coupe une barre de statut à 200 caractères ou deux lignes, et un toast à 500 caractères.

377 

359<h2 id="build-a-tree-from-elements">378<h2 id="build-a-tree-from-elements">

360 Construire un arbre à partir d'éléments379 Construire un arbre à partir d'éléments

361</h2>380</h2>

362 381 

363Ce qu'un hook `ui.render` retourne est un arbre d'éléments : une description de ce qu'il faut dessiner, faite de boîtes, de texte et de contrôles imbriqués les uns dans les autres. Vous décrivez le dessin, et Claude Code le rend dans le terminal ou l'application Desktop.382Ce qu'un hook `ui.render` retourne est un arbre d'éléments : une description de ce qu'il faut dessiner, faite de boîtes, de texte et de contrôles imbriqués les uns dans les autres. Vous décrivez le dessin, et Claude Code le rend dans l'application que l'utilisateur a ouverte : le terminal, l'application Desktop ou l'extension VS Code.

364 383 

365Pour obtenir les éléments, appelez `$.ui.resolve(e)` dans votre hook, comme dans `const { Box, Text, Button } = $.ui.resolve(e)`. Chaque élément est une fonction. Vous lui passez des props, et vous mettez les éléments et les chaînes qui vont à l'intérieur dans `children`.384Pour obtenir les éléments, appelez `$.ui.resolve(e)` dans votre hook, comme dans `const { Box, Text, Button } = $.ui.resolve(e)`. Chaque élément est une fonction. Vous lui passez des props, et vous mettez les éléments et les chaînes qui vont à l'intérieur dans `children`.

366 385 


440| `Text` | Texte stylisé. Prend `color`, `bold`, `dimColor`, `italic`, et `wrap`. Une `color` est une clé de thème ou une couleur comme `'red'`. Un `wrap` est `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'`, ou `'truncate-end'`. | Partout |459| `Text` | Texte stylisé. Prend `color`, `bold`, `dimColor`, `italic`, et `wrap`. Une `color` est une clé de thème ou une couleur comme `'red'`. Un `wrap` est `'wrap'`, `'truncate'`, `'truncate-start'`, `'truncate-middle'`, ou `'truncate-end'`. | Partout |

441| `Button` | Un contrôle qui appelle `onPress` | Partout |460| `Button` | Un contrôle qui appelle `onPress` | Partout |

442| `Link`, `Code`, `Markdown` | Un lien avec `href` et une `label` optionnelle, un bloc de code, et du texte formaté comme les réponses de Claude. `Markdown` prend son contenu dans une prop `text`, pas dans `children`, et a besoin d'une `key` quand vous passez `onLinkPress`. | Partout |461| `Link`, `Code`, `Markdown` | Un lien avec `href` et une `label` optionnelle, un bloc de code, et du texte formaté comme les réponses de Claude. `Markdown` prend son contenu dans une prop `text`, pas dans `children`, et a besoin d'une `key` quand vous passez `onLinkPress`. | Partout |

443| `Input`, `Select` | Un champ de texte et un sélecteur | Terminal, Desktop |462| `Input`, `Select` | Un champ de texte et un sélecteur | Terminal, Desktop, VS Code |

444| `Svg` | Un document SVG | Desktop |463| `Svg` | Un document SVG | Desktop, VS Code |

445| `Client` | Une région dessinée par un deuxième fichier du vôtre, pour l'animation et l'entrée au pointeur. Ce fichier n'obtient pas l'API des mods. Il atteint vos hooks en postant des données, qui arrivent comme un événement `ui.message`. S'il ne parvient pas à se charger, à dessiner ou à s'exécuter, vos hooks reçoivent un événement [`ui.fault`](/docs/fr/plugins/mods/reference#interface). | Terminal, Desktop |464| `Client` | Une région dessinée par un deuxième fichier du vôtre, pour l'animation et l'entrée au pointeur. Ce fichier n'obtient pas l'API des mods. Il atteint vos hooks en postant des données, qui arrivent comme un événement `ui.message`. S'il ne parvient pas à se charger, à dessiner ou à s'exécuter, vos hooks reçoivent un événement [`ui.fault`](/docs/fr/plugins/mods/reference#interface). | Terminal, Desktop |

446| `Raster`, `Image` | Une [grille de cellules colorées](#draw-a-grid-of-colored-cells), et une image | Terminal |465| `Raster`, `Image` | Une [grille de cellules colorées](#draw-a-grid-of-colored-cells), et une image | Terminal |

447 466 


452Dans une session démarrée avec `--plugin-dir`, une ligne de transcription le dit, comme `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`. Le [journal de débogage](/docs/fr/plugins/mods/troubleshoot#read-the-debug-log) l'enregistre comme `ui.render (Pane): a hook returned a tree that does not validate` avec la même raison. Rien d'autre n'apparaît dans la session, donc quand un dessin ne s'affiche pas, vérifiez cette ligne ou le journal.471Dans une session démarrée avec `--plugin-dir`, une ligne de transcription le dit, comme `ui.render (Pane) refused: Text prop "bogusProp" is not allowed; the engine drew its own`. Le [journal de débogage](/docs/fr/plugins/mods/troubleshoot#read-the-debug-log) l'enregistre comme `ui.render (Pane): a hook returned a tree that does not validate` avec la même raison. Rien d'autre n'apparaît dans la session, donc quand un dessin ne s'affiche pas, vérifiez cette ligne ou le journal.

453 472 

454<h3 id="link-in-the-desktop-app">473<h3 id="link-in-the-desktop-app">

455 `Link` dans l'application Desktop474 `Link` dans l'application Desktop et VS Code

456</h3>475</h3>

457 476 

458Dans l'application Desktop, un `Link` s'affiche comme du texte brut, sauf si son `href` remplit ces conditions :477Dans l'application Desktop et l'extension VS Code, un `Link` s'affiche comme du texte brut, sauf si son `href` remplit ces conditions :

459 478 

460* **Schéma et hôte** : une URL `https:`, ou une URL `http://localhost` comme `http://localhost:3000`479* **Schéma et hôte** : une URL `https:`, ou une URL `http://localhost` comme `http://localhost:3000`

461* **Pas de `@`** : écrivez un `@` dans le chemin ou la requête sous la forme `%40`480* **Pas de `@`** : écrivez un `@` dans le chemin ou la requête sous la forme `%40`


477 496 

478Pour une carte thermique, une sparkline, ou un plateau de jeu dans le terminal, dessinez un `Raster` et non une `Box` pour chaque cellule. Un `Raster` prend une `key`, sa taille en `columns` et `rows`, et `cells`, une chaîne base64 qui empaquette toutes les cellules. Chaque cellule est trois nombres : le point de code du caractère, sa couleur et sa couleur de fond. Une couleur est une valeur RVB sur 24 bits en hexadécimal, comme `0xc62828` pour un rouge. La valeur `0x01000000`, juste au-dessus de cette plage, désigne la couleur par défaut du terminal.497Pour une carte thermique, une sparkline, ou un plateau de jeu dans le terminal, dessinez un `Raster` et non une `Box` pour chaque cellule. Un `Raster` prend une `key`, sa taille en `columns` et `rows`, et `cells`, une chaîne base64 qui empaquette toutes les cellules. Chaque cellule est trois nombres : le point de code du caractère, sa couleur et sa couleur de fond. Une couleur est une valeur RVB sur 24 bits en hexadécimal, comme `0xc62828` pour un rouge. La valeur `0x01000000`, juste au-dessus de cette plage, désigne la couleur par défaut du terminal.

479 498 

480L'application Desktop n'a pas de `Raster`, donc vérifiez `e.surface` et dessinez du texte là. Ce corps de volet dessine une carte thermique de trois par deux :499Les applications autres que le terminal n'ont pas de `Raster`, donc vérifiez `e.surface` et dessinez du texte là. Ce corps de volet dessine une carte thermique de trois par deux :

481 500 

482```javascript theme={null}501```javascript theme={null}

483// The value that means "use the terminal's default color"502// The value that means "use the terminal's default color"


535 554 

536Votre mod ne lit jamais le clavier lui-même. L'utilisateur appuie sur une touche, Claude Code décide lequel de vos contrôles c'est, et le callback de ce contrôle s'exécute. À part une [touche de raccourci numérique sur la bande](/docs/fr/plugins/mods/reference#elements), cela ne se produit que pendant que votre volet ou bande a le focus clavier. Le reste du temps, les touches vont à l'invite.555Votre mod ne lit jamais le clavier lui-même. L'utilisateur appuie sur une touche, Claude Code décide lequel de vos contrôles c'est, et le callback de ce contrôle s'exécute. À part une [touche de raccourci numérique sur la bande](/docs/fr/plugins/mods/reference#elements), cela ne se produit que pendant que votre volet ou bande a le focus clavier. Le reste du temps, les touches vont à l'invite.

537 556 

557Dans l'[extension VS Code](#draw-in-the-vs-code-extension), les boutons n'ont pas de touches de raccourci : l'utilisateur clique sur un bouton ou appuie sur Entrée dessus, et tape dans les champs.

558 

538<h4 id="how-a-pane-gets-keyboard-focus">559<h4 id="how-a-pane-gets-keyboard-focus">

539 Comment un volet obtient le focus clavier560 Comment un volet obtient le focus clavier

540</h4>561</h4>


570 Définir une touche de raccourci et le premier focus591 Définir une touche de raccourci et le premier focus

571</h4>592</h4>

572 593 

573Ces props sur un contrôle décident comment le clavier l'atteint :

574 

575* **`hotkey`** : pour laisser l'utilisateur appuyer sur un `Button` avec une touche, donnez-lui une `hotkey` d'un chiffre ou une lettre minuscule, comme dans `hotkey: 'a'`594* **`hotkey`** : pour laisser l'utilisateur appuyer sur un `Button` avec une touche, donnez-lui une `hotkey` d'un chiffre ou une lettre minuscule, comme dans `hotkey: 'a'`

576* **`autoFocus`** : pour choisir quel contrôle a le focus quand le volet s'ouvre, ajoutez `autoFocus: true` à celui-ci. La prop n'accepte que `true`, donc omettez-la sur les autres contrôles.595* **`autoFocus`** : pour choisir quel contrôle a le focus quand le volet s'ouvre, ajoutez `autoFocus: true` à celui-ci. Dans l'[extension VS Code](#draw-in-the-vs-code-extension), `autoFocus` n'a aucun effet : le contrôle s'affiche comme si vous l'aviez omis, et vous n'avez rien à modifier. La prop n'accepte que `true`, donc omettez-la sur les autres contrôles.

577 596 

578Comment une touche de raccourci s'affiche dépend du bouton et de l'application :597Comment une touche de raccourci s'affiche dépend du bouton et de l'application :

579 598 

580| Bouton | Dans le terminal | Dans l'application Desktop |599| Bouton | Dans le terminal | Dans l'application Desktop | Dans l'extension VS Code |

581| :- | :- | :- |600| :- | :- | :- | :- |

582| Avec crochets, la valeur par défaut | `[ Add one ]`, sans touche de raccourci affichée | L'étiquette avec une petite touche à côté |601| Avec crochets, la valeur par défaut | `[ Add one ]`, sans touche de raccourci affichée | L'étiquette avec une petite touche à côté | L'étiquette, et la touche de raccourci n'a aucun effet |

583| Avec `plain: true` | `1: One` | L'étiquette avec une petite touche à côté |602| Avec `plain: true` | `1: One` | L'étiquette avec une petite touche à côté | L'étiquette, et la touche de raccourci n'a aucun effet |

584 603 

585Dans le terminal, nommez la touche dans l'étiquette d'un bouton entre crochets, ou utilisez `plain: true`, pour que l'utilisateur puisse voir ce qu'il faut appuyer. La [référence des éléments](/docs/fr/plugins/mods/reference#elements) a les autres règles de `Button` : `action`, les touches de raccourci numériques sur la bande, et deux boutons sur une touche de raccourci.604Dans le terminal, nommez la touche dans l'étiquette d'un bouton entre crochets, ou utilisez `plain: true`, pour que l'utilisateur puisse voir ce qu'il faut appuyer. La [référence des éléments](/docs/fr/plugins/mods/reference#elements) a les autres règles de `Button` : `action`, les touches de raccourci numériques sur la bande, et deux boutons sur une touche de raccourci.

586 605 

Details

24* **Exécuter votre propre code sur une commande** : une `/command` qui exécute votre fonction immédiatement, sans tour Claude, même pendant que Claude travaille. Voir [Ajouter une commande ou un outil](/docs/fr/plugins/mods/api#add-a-command-or-a-tool).24* **Exécuter votre propre code sur une commande** : une `/command` qui exécute votre fonction immédiatement, sans tour Claude, même pendant que Claude travaille. Voir [Ajouter une commande ou un outil](/docs/fr/plugins/mods/api#add-a-command-or-a-tool).

25* **Partager des données entre les hooks** : les hooks d'un mod partagent les variables de son fichier, donc ce qu'un hook enregistre, un autre peut l'afficher. Par exemple, un hook peut compter les appels d'outils tandis qu'un autre affiche le compte à côté du spinner, ou l'un peut lire l'utilisation des tokens de chaque requête tandis qu'un autre la représente graphiquement dans un volet. Voir [Réagir aux événements](/docs/fr/plugins/mods/events).25* **Partager des données entre les hooks** : les hooks d'un mod partagent les variables de son fichier, donc ce qu'un hook enregistre, un autre peut l'afficher. Par exemple, un hook peut compter les appels d'outils tandis qu'un autre affiche le compte à côté du spinner, ou l'un peut lire l'utilisation des tokens de chaque requête tandis qu'un autre la représente graphiquement dans un volet. Voir [Réagir aux événements](/docs/fr/plugins/mods/events).

26 26 

27Les mods fonctionnent dans le CLI Claude Code et dans l'onglet Code de l'application Claude Desktop. Voir [Où les mods s'exécutent](#where-mods-run) pour comprendre comment ils se comportent ailleurs, comme dans l'extension VS Code, `claude -p`, et les sessions cloud. Si un settings hook, une skill, ou un serveur MCP fait déjà ce dont vous avez besoin, [comparez-les](#compare-mods-settings-hooks-skills-and-mcp-servers) avant d'écrire un mod. Pour gérer les mods d'une organisation, voir [Gérer les mods de votre organisation](/docs/fr/plugins/mods/admin).27Les mods fonctionnent dans le CLI Claude Code, dans l'onglet Code de l'application Claude Desktop et dans l'extension VS Code. Voir [Où les mods s'exécutent](#where-mods-run) pour comprendre comment ils se comportent ailleurs, comme dans `claude -p` et les sessions cloud. Si un hook de paramètres, un skill ou un serveur MCP fait déjà ce dont vous avez besoin, [comparez-les](#compare-mods-settings-hooks-skills-and-mcp-servers) avant d'écrire un mod. Pour gérer les mods d'une organisation, voir [Gérer les mods de votre organisation](/docs/fr/plugins/mods/admin).

28 28 

29<h2 id="get-a-mod">29<h2 id="get-a-mod">

30 Obtenir un mod30 Obtenir un mod


212 Où les mods s'exécutent212 Où les mods s'exécutent

213</h3>213</h3>

214 214 

215Les hooks d'un mod s'exécutent dans chaque type de session qui charge le plugin, quel que soit le fournisseur qui sert le modèle, y compris Amazon Bedrock, Agent Platform de Google Cloud et Microsoft Foundry. Le dessin est plus étroit : seuls le terminal et l'application Desktop affichent les volets, les bandes et les lignes remplacées d'un mod. Ce tableau énumère chaque endroit où vous pourriez exécuter Claude Code :215Les hooks d'un mod s'exécutent dans chaque type de session qui charge le plugin, quel que soit le fournisseur qui sert le modèle, y compris Amazon Bedrock, Agent Platform de Google Cloud et Microsoft Foundry. Le dessin est plus restreint : ce qu'un mod dessine apparaît dans le terminal, l'application Desktop et l'extension VS Code. Ce tableau énumère chaque endroit où vous pourriez exécuter Claude Code :

216 216 

217| Où vous exécutez Claude Code | Les hooks s'exécutent | Ce que le mod dessine apparaît |217| Où vous exécutez Claude Code | Les hooks s'exécutent | Ce que le mod dessine apparaît |

218| :- | :- | :- |218| :- | :- | :- |

219| `claude` dans un terminal, y compris le terminal intégré d'un éditeur et le plugin JetBrains | Oui | Oui |219| `claude` dans un terminal, y compris le terminal intégré d'un éditeur et le plugin JetBrains | Oui | Oui |

220| L'onglet Code de l'application Desktop, sauf dans une session WSL | Oui | Oui, sauf les éléments que le [tableau des éléments](/docs/fr/plugins/mods/reference#elements) marque comme terminal uniquement |220| L'onglet Code de l'application Desktop, sauf dans une session WSL | Oui | Oui, sauf les éléments que le [tableau des éléments](/docs/fr/plugins/mods/reference#elements) marque comme terminal uniquement |

221| Une [session WSL](/docs/fr/desktop-wsl) dans l'application Desktop | Non, car les plugins ne sont pas disponibles dans les sessions WSL | Non |221| Une [session WSL](/docs/fr/desktop-wsl) dans l'application Desktop | Non, car les plugins ne sont pas disponibles dans les sessions WSL | Non |

222| Le panneau de chat de l'extension VS Code | Oui | Non |222| Le panneau de chat de l'extension VS Code | Oui | Oui, avec l'extension en version 2.1.299 ou ultérieure, dans une session qui [récupère les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Les tableaux des [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et des [éléments](/docs/fr/plugins/mods/reference#elements) indiquent ce que le panneau dessine. |

223| `claude -p` et le [SDK Agent](/docs/fr/agent-sdk/overview) | Oui | Non |223| `claude -p` et le [SDK Agent](/docs/fr/agent-sdk/overview) | Oui | Non |

224| [Remote Control](/docs/fr/remote-control) à partir de claude.ai ou de l'application mobile | Oui, dans la session sur votre machine | Dans le terminal sur votre machine |224| [Remote Control](/docs/fr/remote-control) à partir de claude.ai ou de l'application mobile | Oui, dans la session sur votre machine | Dans le terminal sur votre machine |

225| Une [session cloud](/docs/fr/claude-code-on-the-web) | Oui, pour un plugin qui [atteint la session cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup) | Non |225| Une [session cloud](/docs/fr/claude-code-on-the-web) | Oui, pour un plugin qui [atteint la session cloud](/docs/fr/cloud-environments#what-carries-over-from-your-setup) | Non |

Details

6 6 

7> Référence complète des mods Claude Code : structure du module de hooks, événements, méthodes de l'API des mods, points de rendu, éléments par surface, limites et paramètres.7> Référence complète des mods Claude Code : structure du module de hooks, événements, méthodes de l'API des mods, points de rendu, éléments par surface, limites et paramètres.

8 8 

9Consultez tout événement qu'un [mod](/docs/fr/plugins/mods/overview) peut gérer, toute méthode de l'API des mods qu'il peut appeler, ou tout point de rendu dans lequel il peut dessiner, pour la CLI Claude Code et l'application Desktop à partir de la v2.1.290. Chaque entrée donne le nom et une description d'une ligne, avec un lien vers la section du guide qui l'explique lorsqu'elle existe.9Consultez tout événement qu'un [mod](/docs/fr/plugins/mods/overview) peut gérer, toute méthode de l'API des mods qu'il peut appeler, ou tout point de rendu dans lequel il peut dessiner. Les entrées couvrent la CLI Claude Code et l'application Desktop à partir de la v2.1.290, ainsi que l'extension VS Code à partir de la v2.1.299. Chaque entrée donne le nom et une description d'une ligne, avec un lien vers la section du guide qui l'explique lorsqu'elle existe.

10 10 

11<Note>11<Note>

12 La référence complète est constituée des [déclarations TypeScript pour les mods](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts) de Claude Code, qui décrivent chaque événement, méthode et élément, avec des exemples. La copie sur GitHub peut être plus ancienne que la version de Claude Code que vous avez installée. En cas de divergence, fiez-vous à [la copie que Claude Code écrit pour votre version](/docs/fr/plugins/mods/create#get-the-types-for-your-build).12 La référence complète est constituée des [déclarations TypeScript pour les mods](https://github.com/anthropics/claude-code/blob/main/mods/types/claude-code.d.ts) de Claude Code, qui décrivent chaque événement, méthode et élément, avec des exemples. La copie sur GitHub peut être plus ancienne que la version de Claude Code que vous avez installée. En cas de divergence, fiez-vous à [la copie que Claude Code écrit pour votre version](/docs/fr/plugins/mods/create#get-the-types-for-your-build).


255 Points de rendu255 Points de rendu

256</h2>256</h2>

257 257 

258Un point de rendu est un point d'extension de l'interface de Claude Code. Chaque ligne est une valeur de `e.component` dans un hook `ui.render`, avec les champs de `e.props` et les applications qui l'affichent. `e.surface` vaut `terminal` ou `desktop`. [Modifier ce que Claude Code dessine déjà](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws) montre ce qu'un hook peut faire à un point de rendu, avec un exemple pour chaque option.258Un point de rendu est un point d'extension de l'interface de Claude Code. Chaque ligne est une valeur de `e.component` dans un hook `ui.render`, avec les champs de `e.props` et les applications qui l'affichent. `e.surface` indique l'application qui dessine, par exemple `terminal`, `desktop` ou `vscode`. [Modifier ce que Claude Code dessine déjà](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws) montre ce qu'un hook peut faire à un point de rendu, avec un exemple pour chaque option.

259 

260Le rendu dans l'extension VS Code nécessite la version 2.1.299 ou ultérieure de l'extension et une session qui [récupère les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). [Dessiner dans l'extension VS Code](/docs/fr/plugins/mods/interface#draw-in-the-vs-code-extension) liste ce que l'extension dessine différemment.

259 261 

260| Point de rendu | `e.props` | `e.requestId` | Affiché dans |262| Point de rendu | `e.props` | `e.requestId` | Affiché dans |

261| :- | :- | :- | :- |263| :- | :- | :- | :- |

262| [`Pane`](/docs/fr/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | L'`id` du volet | Terminal, Desktop |264| [`Pane`](/docs/fr/plugins/mods/interface#pick-where-to-draw) | `title`, `isFocused`, `bodyColumns`, `placement`, `scroll`, `view` | L'`id` du volet | Terminal, Desktop, VS Code |

263| [`AbovePrompt`](/docs/fr/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Une seule instance | Terminal, Desktop |265| [`AbovePrompt`](/docs/fr/plugins/mods/interface#pick-where-to-draw) | `hasSurvey`, `isWorking`, `maxRows`, `bodyColumns`, `scroll`, `view` | Une seule instance | Terminal, Desktop |

264| `UserMessage` | `text`, `origin`, `isExpanded`, et `task` ou `from` selon l'origine | L'id du message | Terminal, Desktop |266| `UserMessage` | `text`, `origin`, `isExpanded`, et `task` ou `from` selon l'origine | L'id du message | Terminal, Desktop, VS Code |

265| `AssistantMessage` | Le texte de la réponse | L'id du message | Terminal, Desktop |267| `AssistantMessage` | Le texte de la réponse | L'id du message | Terminal, Desktop, VS Code |

266| `ToolUse`, `ToolResult`, `ToolGroup` | Le nom, l'entrée et le résultat de l'outil | L'id de l'appel d'outil | Terminal, Desktop |268| `ToolUse`, `ToolResult`, `ToolGroup` | Le nom, l'entrée et le résultat de l'outil | L'id de l'appel d'outil | Terminal, Desktop, VS Code |

267| `CommandOutput` | `command`, `text` | L'id du message | Terminal, Desktop |269| `CommandOutput` | `command`, `text` | L'id du message | Terminal, Desktop |

268| [`AskUserQuestion`](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws) | La question et les options | L'id de l'appel d'outil | Terminal, Desktop |270| [`AskUserQuestion`](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws) | La question et les options | L'id de l'appel d'outil | Terminal, Desktop, VS Code |

269| `ToolProgress` | `kind` | L'id de l'appel d'outil | Terminal |271| `ToolProgress` | `kind` | L'id de l'appel d'outil | Terminal |

270| [`Spinner`](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws) | `word`, `message`, `suffix`, `mode` | L'id de l'agent | Terminal, Desktop |272| [`Spinner`](/docs/fr/plugins/mods/interface#change-what-claude-code-already-draws) | `word`, `message`, `suffix`, `mode` | L'id de l'agent | Terminal, Desktop, VS Code |

271| `TurnDuration` | `word`, `durationMs` | L'id du message | Terminal |273| `TurnDuration` | `word`, `durationMs` | L'id du message | Terminal |

272| `InfoNotice` | `text`, `command` | L'id du message | Terminal |274| `InfoNotice` | `text`, `command` | L'id du message | Terminal |

273| `SessionMode` | `modes` | Une seule instance | Terminal, Desktop |275| `SessionMode` | `modes` | Une seule instance | Terminal, Desktop |

274| `PromptHint` | `isDraft`, `isWorking`, `hint` | Une seule instance | Terminal, Desktop |276| `PromptHint` | `isDraft`, `isWorking`, `hint` | Une seule instance | Terminal, Desktop |

275 277 

276`e.viewport` contient `columns`, `rows` et `isFullscreen`. Il est absent tant que l'application n'a pas mesuré sa fenêtre. Son `rows` correspond à la hauteur de la fenêtre entière, et non à celle de votre volet.278`e.viewport` contient `columns`, `rows` et `isFullscreen`. Dans le terminal et l'application Desktop, il est absent tant que l'application n'a pas mesuré sa fenêtre. Dans ces applications, son `rows` correspond à la hauteur de la fenêtre entière, et non à celle de votre volet. Dans l'extension VS Code, il est toujours présent.

277 279 

278Pour adapter un arbre à son point de rendu, lisez ces props dans le hook :280Pour adapter un arbre à son point de rendu, lisez ces props dans le hook :

279 281 


289 291 

290Les éléments sont les briques de l'arbre que renvoie un hook `ui.render`, et vous les obtenez à partir de `$.ui.resolve(e)`. [Construire un arbre à partir d'éléments](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) présente les plus courants avec leur rendu dans le terminal, et la [galerie d'interface](/docs/fr/plugins/mods/gallery) contient des captures d'écran de la plupart d'entre eux. Une coche signifie que l'application peut dessiner l'élément.292Les éléments sont les briques de l'arbre que renvoie un hook `ui.render`, et vous les obtenez à partir de `$.ui.resolve(e)`. [Construire un arbre à partir d'éléments](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) présente les plus courants avec leur rendu dans le terminal, et la [galerie d'interface](/docs/fr/plugins/mods/gallery) contient des captures d'écran de la plupart d'entre eux. Une coche signifie que l'application peut dessiner l'élément.

291 293 

292| Élément | Props principales | Terminal | Desktop |294| Élément | Props principales | Terminal | Desktop | VS Code |

293| :- | :- | :-: | :-: |295| :- | :- | :-: | :-: | :-: |

294| [`Box`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `key`, disposition flex, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ |296| [`Box`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `key`, disposition flex, `gap`, `padding`, `margin`, `width`, `height`, [`borderStyle`](#box-border-styles), `backgroundColor`, `position`, `hover` | ✓ | ✓ | ✓ |

295| [`Text`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ |297| [`Text`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `color`, `backgroundColor`, `bold`, `italic`, `underline`, `dimColor`, `inverse`, `wrap` | ✓ | ✓ | ✓ |

296| [`Button`](/docs/fr/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ |298| [`Button`](/docs/fr/plugins/mods/interface#respond-to-presses-and-typing) | `key`, `label`, `onPress`, `hotkey`, `plain`, `dimColor`, `autoFocus`, `action` | ✓ | ✓ | ✓ |

297| [`Link`](/docs/fr/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. Consultez [Limites](#limits). | ✓ | ✓ |299| [`Link`](/docs/fr/plugins/mods/interface#link-in-the-desktop-app) | `href`, `label`. Consultez [Limites](#limits). | ✓ | ✓ | ✓ |

298| [`Code`](/docs/fr/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ |300| [`Code`](/docs/fr/plugins/mods/gallery#show-code-and-changes) | `source`, `language`, `path`, `startLine`, `format`, `wrap` | ✓ | ✓ | ✓ |

299| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ |301| `Markdown` | `text`, `key`, `dimColor`, `onLinkPress`, `pressableLinks` | ✓ | ✓ | ✓ |

300| [`Input`](/docs/fr/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`, `label`, `placeholder`, `value`, `submitLabel`, `onSubmit`, `onInput`, `autoFocus` | ✓ | ✓ |302| [`Input`](/docs/fr/plugins/mods/interface#take-typed-input-and-draw-a-row-for-each-item) | `key`, `label`, `placeholder`, `value`, `submitLabel`, `onSubmit`, `onInput`, `autoFocus` | ✓ | ✓ | ✓ |

301| `Select` | `key`, `label`, `options`, `value`, `onSelect`, `autoFocus` | ✓ | ✓ |303| `Select` | `key`, `label`, `options`, `value`, `onSelect`, `autoFocus` | ✓ | ✓ | ✓ |

302| `Svg` | Un document SVG, jusqu'à 131 072 caractères | | ✓ |304| `Svg` | Un document SVG, jusqu'à 131 072 caractères | | ✓ | ✓ |

303| [`Client`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ |305| [`Client`](/docs/fr/plugins/mods/interface#build-a-tree-from-elements) | `module`, `key` | ✓ | ✓ | |

304| [`Raster`](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` jusqu'à 512, `rows` jusqu'à 256, `cells`. Consultez [Dessiner une grille de cellules colorées](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | |306| [`Raster`](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells) | `key`, `columns` jusqu'à 512, `rows` jusqu'à 256, `cells`. Consultez [Dessiner une grille de cellules colorées](/docs/fr/plugins/mods/interface#draw-a-grid-of-colored-cells). | ✓ | | |

305| `Image` | Octets PNG ou RGBA jusqu'à 2 Mio, ou un chemin de fichier, `columns` et `rows` jusqu'à 255, et un texte `alt`. | ✓ | |307| `Image` | Octets PNG ou RGBA jusqu'à 2 Mio, ou un chemin de fichier, `columns` et `rows` jusqu'à 255, et un texte `alt`. | ✓ | | |

306 308 

307Autres règles pour `Button` : `action` nomme l'une des propres [actions de raccourci clavier](/docs/fr/keybindings) de Claude Code, et le raccourci de l'utilisateur pour cette action presse le bouton lorsque ce raccourci est une combinaison de touches ou une touche avec modificateur. Un `hotkey` numérique sur un bouton du bandeau se déclenche aussi lorsque l'utilisateur tape ce seul chiffre dans un prompt vide puis marque une pause. Lorsque deux boutons d'un même dessin désignent le même `hotkey`, c'est le dernier qui l'obtient. `autoFocus` n'accepte que `true` sur tout contrôle : omettez donc la prop pour le désactiver.309Autres règles pour `Button` : `action` nomme l'une des propres [actions de raccourci clavier](/docs/fr/keybindings) de Claude Code, et le raccourci de l'utilisateur pour cette action presse le bouton lorsque ce raccourci est une combinaison de touches ou une touche avec modificateur. Un `hotkey` numérique sur un bouton du bandeau se déclenche aussi lorsque l'utilisateur tape ce seul chiffre dans un prompt vide puis marque une pause. Lorsque deux boutons d'un même dessin désignent le même `hotkey`, c'est le dernier qui l'obtient. `autoFocus` n'accepte que `true` sur tout contrôle : omettez donc la prop pour le désactiver.

308 310 

311L'extension VS Code ignore certaines props d'éléments et dessine l'élément comme si vous les aviez omises :

312 

313* **`Box`** : `position` et `hover`

314* **`Button`** : `hotkey`, `plain`, `autoFocus` et `action` ; l'utilisateur y presse donc un bouton d'un clic, ou avec Entrée une fois que le bouton a le focus

315* **`Code`** : `language`, `path`, `startLine`, `format` et `wrap` ; le code est donc dessiné sans couleurs ni numéros de ligne, et un bloc `format: 'diff'` affiche le texte brut du diff

316* **`Input` et `Select`** : `autoFocus`

317 

309<h3 id="box-border-styles">318<h3 id="box-border-styles">

310 Styles de bordure de `Box`319 Styles de bordure de `Box`

311</h3>320</h3>

Details

289 Les raccourcis clavier ne font rien289 Les raccourcis clavier ne font rien

290</h3>290</h3>

291 291 

292Votre volet n'a pas le focus clavier.292Votre volet n'a pas le focus clavier, ou le dessin se trouve dans l'extension VS Code, où les boutons n'ont pas de raccourcis clavier. Faites ce qui correspond à votre cas :

293 293 

294Appuyez sur Ctrl+X puis Tab, ou cliquez sur le volet. Ouvrez-le avec `focus: true` à partir d'une commande.294* **Pas de focus clavier** : appuyez sur Ctrl+X puis Tab, ou cliquez sur le volet. Pour que le volet prenne le focus à son ouverture, ouvrez-le avec `focus: true` à partir d'une commande.

295* **Dans l'extension VS Code** : cliquez sur le bouton, ou appuyez sur Entrée dessus une fois qu'il a le focus

295 296 

296<h3 id="a-drawing-works-in-the-terminal-and-not-in-the-desktop-app">297<h3 id="a-drawing-works-in-the-terminal-and-not-in-the-desktop-app-or-vs-code">

297 Un dessin fonctionne dans le terminal et pas dans l'application de bureau298 Un dessin fonctionne dans le terminal et pas dans l'application de bureau ou VS Code

298</h3>299</h3>

299 300 

300Le site ou l'élément n'est pas disponible là.301Soit cette application ne dessine pas le point de rendu ou l'élément, soit la session fait partie de celles où l'extension VS Code ne dessine rien pour les mods. Les autres hooks du mod s'exécutent toujours. Vérifiez ces causes :

301 302 

302Vérifiez les tableaux [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et [éléments](/docs/fr/plugins/mods/reference#elements).303* **Le point de rendu ou l'élément n'est pas dessiné dans cette application** : recherchez votre point de rendu dans le tableau des [points de rendu](/docs/fr/plugins/mods/reference#render-sites) et vos éléments dans le tableau des [éléments](/docs/fr/plugins/mods/reference#elements). Pour un élément que l'application ne possède pas, vérifiez `e.surface` dans le hook et retournez un arbre que l'application peut dessiner.

304* **L'extension VS Code est antérieure à 2.1.299** : le panneau de chat dessine pour les mods à partir de la [version de l'extension](/docs/fr/vs-code#install-the-extension) 2.1.299. Vérifiez la version dans la vue Extensions de VS Code et mettez l'extension à jour depuis cette vue.

305* **La session VS Code ne récupère pas les feature flags** : le dessin dans le panneau de chat l'exige. Les sessions sur Amazon Bedrock, Agent Platform de Google Cloud ou Microsoft Foundry, ou via une [passerelle des applications Claude](/docs/fr/claude-apps-gateway), ignorent cette récupération, parmi d'autres que liste [Fonctionnalités nécessitant la récupération des feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). Pour voir le dessin dans une telle session, exécutez plutôt `claude` dans un terminal, comme le terminal intégré de VS Code.

303 306 

304<h2 id="an-edit-or-a-value-is-lost">307<h2 id="an-edit-or-a-value-is-lost">

305 Une modification ou une valeur est perdue308 Une modification ou une valeur est perdue

Details

72 | `-d`, `--debug[=<filter>]` | Activez la journalisation de débogage pour le serveur, éventuellement filtrée par catégorie. Passez un filtre uniquement sous la forme `=`, comme `--debug=api,hooks`. Nécessite Claude Code v2.1.282 ou version ultérieure. |72 | `-d`, `--debug[=<filter>]` | Activez la journalisation de débogage pour le serveur, éventuellement filtrée par catégorie. Passez un filtre uniquement sous la forme `=`, comme `--debug=api,hooks`. Nécessite Claude Code v2.1.282 ou version ultérieure. |

73 | `--debug-file <path>` | Écrire les journaux de débogage dans le fichier donné. |73 | `--debug-file <path>` | Écrire les journaux de débogage dans le fichier donné. |

74 | `--verbose` | Afficher les journaux de connexion et de session détaillés. |74 | `--verbose` | Afficher les journaux de connexion et de session détaillés. |

75 | `--sandbox`, `--no-sandbox` | Supprimés dans la v2.1.300. Si vous passez l'un ou l'autre flag, le serveur [se ferme avec une erreur](/docs/fr/errors#sandbox-is-not-supported-by-claude-remote-control) au lieu de démarrer. |

75 76 

76 Si vous passez un drapeau global `claude` avant `remote-control`, ou si un script wrapper en ajoute un, Claude Code ne porte pas le drapeau aux sessions que le serveur crée. Claude Code laisse passer le drapeau uniquement lorsque le supprimer ne change pas ce que ces sessions peuvent faire, comme `--verbose` ou `--model`. Pour tout autre drapeau, comme `--settings`, Claude Code [refuse de démarrer](/docs/fr/errors#not-carried-over-to-the-sessions-remote-control-starts) et nomme le drapeau à supprimer.77 Si vous passez un drapeau global `claude` avant `remote-control`, ou si un script wrapper en ajoute un, Claude Code ne porte pas le drapeau aux sessions que le serveur crée. Claude Code laisse passer le drapeau uniquement lorsque le supprimer ne change pas ce que ces sessions peuvent faire, comme `--verbose` ou `--model`. Pour tout autre drapeau, comme `--settings`, Claude Code [refuse de démarrer](/docs/fr/errors#not-carried-over-to-the-sessions-remote-control-starts) et nomme le drapeau à supprimer.

77 78 

skills.md +8 −2

Details

720 720 

721Vous pouvez également empiler plusieurs skills au début d'un message. Taper `/write-tests /fix-issue 123` charge les deux skills et passe le texte final `123` comme `$ARGUMENTS` à chacun d'eux.721Vous pouvez également empiler plusieurs skills au début d'un message. Taper `/write-tests /fix-issue 123` charge les deux skills et passe le texte final `123` comme `$ARGUMENTS` à chacun d'eux.

722 722 

723Claude Code étend la première compétence plus jusqu'à cinq autres empilées après elle. L'expansion s'arrête au premier jeton qui n'est pas une compétence invocable par l'utilisateur en ligne, donc une compétence qui s'exécute en tant que [sous-agent forké](#run-skills-in-a-subagent), comme [`/code-review`](/docs/fr/code-review#review-a-diff-locally), ou une dont les arguments peuvent eux-mêmes commencer par une commande slash, comme `/loop`, termine également la course là. Ce jeton et tout ce qui le suit deviennent le texte d'argument pour chaque compétence étendue. `/code-review` s'exécute en tant que sous-agent forké à partir de v2.1.218 ; sur les versions antérieures, il s'exécutait en ligne et s'empilait.723Claude Code étend le premier skill plus jusqu'à cinq autres empilés après lui. L'expansion s'arrête au premier jeton qui n'est pas un skill en ligne invocable par l'utilisateur, donc un skill qui s'exécute en tant que [sous-agent forké](#run-skills-in-a-subagent), comme [`/code-review`](/docs/fr/code-review-local), ou un skill dont les arguments peuvent eux-mêmes commencer par une commande slash, comme `/loop`, y met également fin. Ce jeton et tout ce qui le suit deviennent le texte d'argument pour chaque skill étendu. `/code-review` s'exécute en tant que sous-agent forké à partir de v2.1.218 ; sur les versions antérieures, il s'exécutait en ligne et s'empilait.

724 724 

725Pour accéder aux arguments individuels par position, utilisez `$ARGUMENTS[N]` ou le plus court `$N` :725Pour accéder aux arguments individuels par position, utilisez `$ARGUMENTS[N]` ou le plus court `$N` :

726 726 


832 832 

833Avec le shell `bash` par défaut, ajoutez `|| true` à toute autre commande que vous vous attendez à quitter non-zéro. Un script de vérification qui quitte 1 lorsqu'il trouve des problèmes en est un exemple.833Avec le shell `bash` par défaut, ajoutez `|| true` à toute autre commande que vous vous attendez à quitter non-zéro. Un script de vérification qui quitte 1 lorsqu'il trouve des problèmes en est un exemple.

834 834 

835<h4 id="control-characters-in-injected-commands">

836 Caractères de contrôle dans les commandes injectées

837</h4>

838 

839`No shell command in <name> was run` signifie que l'une des commandes `!` du fichier contient un caractère de contrôle brut autre qu'une tabulation ou un saut de ligne, de sorte qu'aucune d'entre elles ne s'exécute. Voir [comment trouver et supprimer le caractère](/docs/fr/errors#no-shell-command-was-run).

840 

835<h4 id="permission-checks-on-injected-commands">841<h4 id="permission-checks-on-injected-commands">

836 Vérifications des permissions sur les commandes injectées842 Vérifications des permissions sur les commandes injectées

837</h4>843</h4>


865 871 

866Un fork en arrière-plan s'exécute également avec l'[ensemble d'outils plus restreint qui s'applique aux sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) : le sous-agent de la compétence est un type d'agent régulier, de sorte que l'exemption pour les sous-agents qui forkent la conversation ne le couvre pas. Si les étapes de votre compétence dépendent d'un outil en dehors de cet ensemble, définissez `background: false` pour conserver l'ensemble d'outils complet.872Un fork en arrière-plan s'exécute également avec l'[ensemble d'outils plus restreint qui s'applique aux sous-agents en arrière-plan](/docs/fr/sub-agents#run-subagents-in-foreground-or-background) : le sous-agent de la compétence est un type d'agent régulier, de sorte que l'exemption pour les sous-agents qui forkent la conversation ne le couvre pas. Si les étapes de votre compétence dépendent d'un outil en dehors de cet ensemble, définissez `background: false` pour conserver l'ensemble d'outils complet.

867 873 

868Une compétence forkée qui s'exécute en arrière-plan applique ses modifications en dehors des [points de contrôle](/docs/fr/checkpointing) de votre session, de sorte que `/rewind` ne les annule pas ; utilisez git pour les annuler.874Un skill forké qui s'exécute en arrière-plan applique ses modifications en dehors des [checkpoints](/docs/fr/checkpointing#subagent-edits-not-restored) de votre session. Après son exécution, `/rewind` restaure uniquement les fichiers que Claude avait déjà modifiés dans votre conversation. Les modifications du skill apportées à d'autres fichiers restent en place ; utilisez donc git pour les annuler.

869 875 

870<Warning>876<Warning>

871 `context: fork` n'a de sens que pour les compétences avec des instructions explicites. Si votre compétence contient des directives comme « utiliser ces conventions API » sans tâche, le sous-agent reçoit les directives mais aucune invite exploitable, et retourne sans sortie significative.877 `context: fork` n'a de sens que pour les compétences avec des instructions explicites. Si votre compétence contient des directives comme « utiliser ces conventions API » sans tâche, le sous-agent reçoit les directives mais aucune invite exploitable, et retourne sans sortie significative.

ultrareview.md +1 −1

Details

18* **Couverture plus large** : une flotte plus importante d'agents examinateurs explore le changement en parallèle, ce qui met en évidence les problèmes qu'une révision locale pourrait manquer18* **Couverture plus large** : une flotte plus importante d'agents examinateurs explore le changement en parallèle, ce qui met en évidence les problèmes qu'une révision locale pourrait manquer

19* **Aucune utilisation de ressources locales** : la révision s'exécute entièrement dans un sandbox cloud, de sorte que votre terminal reste libre pour d'autres travaux pendant qu'elle s'exécute19* **Aucune utilisation de ressources locales** : la révision s'exécute entièrement dans un sandbox cloud, de sorte que votre terminal reste libre pour d'autres travaux pendant qu'elle s'exécute

20 20 

21Ultrareview nécessite une authentification avec un compte claude.ai car il s'exécute en tant que session cloud sur l'infrastructure d'Anthropic. Si vous êtes connecté avec une clé API uniquement, exécutez `/login` et authentifiez-vous d'abord avec claude.ai. Ultrareview n'est pas disponible lors de l'utilisation de Claude Code avec Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, et il n'est pas disponible pour les organisations qui ont activé la rétention zéro des données ou auxquelles la [configuration HIPAA](/docs/fr/hipaa-setup) est appliquée. Lorsque ultrareview n'est pas disponible, `/code-review ultra` exécute une revue locale dans votre session à la place.21Ultrareview nécessite une authentification avec un compte claude.ai car il s'exécute en tant que session cloud sur l'infrastructure d'Anthropic. Si vous êtes connecté avec une clé API uniquement, exécutez `/login` et authentifiez-vous d'abord avec claude.ai. Ultrareview n'est pas disponible lors de l'utilisation de Claude Code avec Amazon Bedrock, Google Cloud's Agent Platform ou Microsoft Foundry, et il n'est pas disponible pour les organisations qui ont activé la rétention zéro des données ou auxquelles la [configuration HIPAA](/docs/fr/hipaa-setup) est appliquée. Dans ces cas, `/code-review ultra` exécute une revue locale dans votre session à la place. Les organisations qui utilisent des [clés de chiffrement gérées par le client](https://platform.claude.com/docs/en/manage-claude/cmek) (CMEK) ne peuvent pas exécuter ultrareview. Pour examiner vos modifications localement, exécutez `/code-review`.

22 22 

23<h2 id="run-ultrareview-from-the-cli">23<h2 id="run-ultrareview-from-the-cli">

24 Exécuter ultrareview depuis la CLI24 Exécuter ultrareview depuis la CLI

vs-code.md +76 −2

Details

220* Si un avis tel que `Removed 3 invisible characters from the pasted text` apparaît lorsque vous collez, le texte est entré sans ces caractères.220* Si un avis tel que `Removed 3 invisible characters from the pasted text` apparaît lorsque vous collez, le texte est entré sans ces caractères.

221* Si un avis sur les caractères supprimés apparaît lorsque vous envoyez, rien n'a été envoyé. Le texte nettoyé est de retour dans la boîte de saisie. Envoyez à nouveau pour envoyer le texte tel qu'affiché.221* Si un avis sur les caractères supprimés apparaît lorsque vous envoyez, rien n'a été envoyé. Le texte nettoyé est de retour dans la boîte de saisie. Envoyez à nouveau pour envoyer le texte tel qu'affiché.

222 222 

223<h3 id="latex-math-in-responses">

224 Mathématiques LaTeX dans les réponses

225</h3>

226 

227Le panneau de chat affiche les mathématiques LaTeX des réponses de Claude sous forme de formules composées. Le rendu mathématique nécessite Claude Code v2.1.301 ou version ultérieure. En [mode terminal](#switch-to-terminal-mode), les mathématiques ne sont pas composées. Le panneau compose à la fois les mathématiques en mode display et les mathématiques en ligne :

228 

229* **Mathématiques en mode display** : un bloc `$$ … $$` ou `\[ … \]` sur une ou plusieurs lignes dédiées, et un bloc de code délimité avec `math` comme langage

230* **Mathématiques en ligne** : `$…$` ou `\(…\)` qui s'ouvre et se ferme sur la même ligne, comme `$E = mc^2$` ou `\(a^2 + b^2 = c^2\)`

231 

232Le panneau essaie de distinguer les mathématiques des autres utilisations des mêmes caractères, de sorte que du texte tel que `$HOME`, un prix comme `$5` ou `sed 's/\(foo\)/\1/'` n'est pas composé. Il en va de même pour le texte à l'intérieur d'un span de code ou de tout bloc de code autre qu'un bloc `math` délimité. Si une formule s'affiche telle qu'écrite alors que vous vous attendiez à ce qu'elle soit composée, consultez [Une formule s'affiche en LaTeX brut](#a-formula-shows-as-raw-latex).

233 

234Lorsque vous sélectionnez et copiez du texte qui inclut une formule composée, vous obtenez la source TeX de la formule entre les délimiteurs `$…$` ou `$$…$$` plutôt que les symboles dessinés. [**Copy response**](#use-the-prompt-box) et `/copy` vous donnent la réponse telle que Claude l'a écrite, source TeX incluse.

235 

223<h3 id="resume-past-conversations">236<h3 id="resume-past-conversations">

224 Reprendre les conversations passées237 Reprendre les conversations passées

225</h3>238</h3>

226 239 

227Cliquez sur le bouton **Session history** en haut du panneau Claude Code pour accéder à votre historique de conversation. Vous pouvez rechercher par mot-clé ou parcourir par heure.240Cliquez sur le bouton **Session history** en haut du panneau Claude Code pour accéder à votre historique de conversation. Vous pouvez rechercher par mot-clé ou parcourir par heure.

228 241 

229Cliquez sur n'importe quelle conversation pour la reprendre avec l'historique complet des messages. Si la conversation est déjà ouverte dans un autre onglet de la fenêtre actuelle, cliquer dessus bascule vers cet onglet. Pour plus d'informations sur la reprise des sessions, consultez [Manage sessions](/docs/fr/sessions).242Cliquez sur n'importe quelle conversation pour la reprendre avec l'historique complet des messages. Si la conversation est déjà ouverte dans un autre onglet de la fenêtre actuelle, cliquer dessus bascule vers cet onglet. Si les messages restent vides au début, consultez [pourquoi ils sont vides et quand ils apparaissent](#a-resumed-conversation-is-blank-at-first). Pour plus d'informations sur la reprise des sessions, consultez [Manage sessions](/docs/fr/sessions).

230 243 

231* **Session titles** : les nouvelles sessions reçoivent des titres générés par l'IA en fonction de votre premier message.244* **Session titles** : les nouvelles sessions reçoivent des titres générés par l'IA en fonction de votre premier message.

232* **Rename and archive** : survolez une session pour révéler ces actions. Renommez-la pour lui donner un titre descriptif, ou archivez-la pour la déplacer vers le groupe **Archived sessions** en bas de la liste.245* **Rename and archive** : survolez une session pour révéler ces actions. Renommez-la pour lui donner un titre descriptif, ou archivez-la pour la déplacer vers le groupe **Archived sessions** en bas de la liste.


321* **Onglet d'éditeur** : la conversation revient avec son onglet.334* **Onglet d'éditeur** : la conversation revient avec son onglet.

322* **Barre latérale** : la conversation revient si vous avez envoyé un message ou si Claude a répondu dans celle-ci au cours des 10 dernières minutes. Si elle ne revient pas, reprenez la conversation à partir de [Historique des sessions](#resume-past-conversations).335* **Barre latérale** : la conversation revient si vous avez envoyé un message ou si Claude a répondu dans celle-ci au cours des 10 dernières minutes. Si elle ne revient pas, reprenez la conversation à partir de [Historique des sessions](#resume-past-conversations).

323 336 

324Si un autre processus Claude Code a encore la conversation ouverte, une confirmation vous est demandée avant qu'elle ne s'ouvre ici, avec le même avis **Open here anyway** que lorsque vous [la reprenez depuis l'historique des sessions](#resume-past-conversations).337Si un autre processus Claude Code a encore la conversation ouverte, une confirmation vous est demandée avant qu'elle ne s'ouvre ici, avec le même avis **Open here anyway** que lorsque vous [la reprenez depuis l'historique des sessions](#resume-past-conversations). Si les messages restent vides au début, consultez [pourquoi ils sont vides et quand ils apparaissent](#a-resumed-conversation-is-blank-at-first).

325 338 

326Si le rechargement a interrompu Claude au milieu d'une étape, Claude continue cette étape lorsque la conversation revient, et un avis dans le chat marque la continuation. Nécessite Claude Code v2.1.274 ou version ultérieure. Si l'étape a été interrompue il y a plus d'une heure ou si la session est ouverte ailleurs, la conversation revient inactive à la place.339Si le rechargement a interrompu Claude au milieu d'une étape, Claude continue cette étape lorsque la conversation revient, et un avis dans le chat marque la continuation. Nécessite Claude Code v2.1.274 ou version ultérieure. Si l'étape a été interrompue il y a plus d'une heure ou si la session est ouverte ailleurs, la conversation revient inactive à la place.

327 340 

328Pour désactiver la continuation, ouvrez le [paramètre Continue After Reload](vscode://settings/claudeCode.continueAfterReload) et décochez-le. Définir [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/fr/env-vars#variables) ou toute autre variable `CLAUDE_CODE_RESUME_` dans l'environnement de VS Code ou dans le [paramètre `environmentVariables`](#extension-settings) n'a aucun effet dans le panneau, car l'extension supprime ces variables avant de démarrer les sessions du panneau.341Pour désactiver la continuation, ouvrez le [paramètre Continue After Reload](vscode://settings/claudeCode.continueAfterReload) et décochez-le. Définir [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/fr/env-vars#variables) ou toute autre variable `CLAUDE_CODE_RESUME_` dans l'environnement de VS Code ou dans le [paramètre `environmentVariables`](#extension-settings) n'a aucun effet dans le panneau, car l'extension supprime ces variables avant de démarrer les sessions du panneau.

329 342 

343<h4 id="a-conversation-was-not-reopened">

344 Une conversation n'a pas été rouverte

345</h4>

346 

347Après un rechargement, un nouveau chat affichant un avis comme celui-ci au-dessus de sa zone de prompt signifie que le panneau a laissé votre conversation fermée, car les deux dernières ouvertures de la conversation n'ont pas abouti :

348 

349```text theme={null}

350“Fix the login bug” was not reopened. It did not finish opening the last 2 times, and opening it again may stop Claude Code from responding here.

351```

352 

353Une ouverture n'aboutit pas lorsque le panneau plante ou cesse de répondre pendant le chargement de la conversation, ou lorsque vous rechargez ou fermez la fenêtre dans les trois secondes environ suivant son ouverture. Rien n'est perdu : la conversation est inchangée et reste dans l'[Historique des sessions](#resume-past-conversations).

354 

355* **Pour l'ouvrir quand même** : cliquez sur **Open it anyway** ou choisissez la conversation dans l'Historique des sessions. Si elle s'ouvre et que le panneau continue de fonctionner, elle revient après les rechargements suivants comme d'habitude. Si le panneau cesse à nouveau de répondre, rechargez la fenêtre pour revenir à un nouveau chat avec l'avis.

356* **Pour la laisser fermée** : continuez à travailler dans le nouveau chat. L'avis disparaît dès que vous envoyez un prompt.

357 

330<h3 id="run-multiple-conversations">358<h3 id="run-multiple-conversations">

331 Exécutez plusieurs conversations359 Exécutez plusieurs conversations

332</h3>360</h3>


464 492 

465Pour en savoir plus sur le système de plugins, consultez [Plugins](/docs/fr/plugins/overview) et [Plugin marketplaces](/docs/fr/plugins/overview).493Pour en savoir plus sur le système de plugins, consultez [Plugins](/docs/fr/plugins/overview) et [Plugin marketplaces](/docs/fr/plugins/overview).

466 494 

495<h3 id="plugins-that-draw-in-the-panel">

496 Plugins qui dessinent dans le panneau

497</h3>

498 

499Un plugin qui contient un [mod](/docs/fr/plugins/mods/overview) peut dessiner dans le panneau de chat. Le dessin nécessite la version 2.1.299 ou ultérieure de l'extension et une session qui [récupère les feature flags](/docs/fr/env-vars#features-that-need-feature-flag-fetching). À partir d'un tel plugin, vous pouvez voir :

500 

501* Un volet à côté de la conversation ou au-dessus de la zone de saisie

502* Une notification toast ou une barre de statut au-dessus de la zone de saisie

503* Un message ou un appel d'outil dessiné à la manière propre du plugin

504 

505Lorsqu'un plugin que vous avez installé ajoute ou modifie quelque chose dans le panneau, une étiquette le nomme, avec des formulations telles que celles-ci :

506 

507* **From the token-chart plugin** : le plugin a dessiné ou affiché cet élément, ou cette carte correspond au plugin qui vous pose une question

508* **Edited by the token-chart plugin** : le plugin a modifié un élément que Claude Code dessine, comme un appel d'outil

509* **Prompt from the token-chart plugin** : le plugin a envoyé ce message en votre nom

510 

511Pour empêcher un plugin de dessiner, désactivez le plugin dans la [boîte de dialogue des plugins](#install-plugins).

512 

467<h2 id="automate-browser-tasks-with-chrome">513<h2 id="automate-browser-tasks-with-chrome">

468 Automatiser les tâches du navigateur avec Chrome514 Automatiser les tâches du navigateur avec Chrome

469</h2>515</h2>


898 944 

899Sinon, reliez l'extension à une touche différente : ouvrez l'[éditeur de raccourcis clavier](https://code.visualstudio.com/docs/configure/keybindings) de VS Code (`Cmd+K Cmd+S`), recherchez `Claude Code: Focus input`, et attribuez une nouvelle liaison.945Sinon, reliez l'extension à une touche différente : ouvrez l'[éditeur de raccourcis clavier](https://code.visualstudio.com/docs/configure/keybindings) de VS Code (`Cmd+K Cmd+S`), recherchez `Claude Code: Focus input`, et attribuez une nouvelle liaison.

900 946 

947<h3 id="a-resumed-conversation-is-blank-at-first">

948 Une conversation reprise est d'abord vide

949</h3>

950 

951Lorsque vous [reprenez une conversation passée](#resume-past-conversations) ou qu'une conversation [revient après un rechargement](#continue-conversations-after-a-reload), ses messages peuvent rester vides pendant que le processus Claude Code de la conversation démarre. Après environ une seconde, `Waiting for your plugins…` apparaît dans l'espace vide.

952 

953Vous n'avez rien à faire. Les messages apparaissent une fois que le processus a démarré et a confirmé qu'aucun plugin n'a besoin de les vérifier au préalable, ou après 20 secondes si le démarrage prend plus de temps.

954 

955<h3 id="the-panel-stops-responding-each-time-a-reload-reopens-a-conversation">

956 Le panneau cesse de répondre chaque fois qu'un rechargement rouvre une conversation

957</h3>

958 

959Si l'ensemble du panneau plante, se fige ou n'affiche que `Something went wrong` chaque fois que vous rechargez et que votre conversation revient, mettez à jour l'extension vers la v2.1.301 ou ultérieure. Rechargez ensuite la fenêtre ou redémarrez à nouveau VS Code. Lorsque la conversation échoue deux fois de suite à terminer son ouverture, vous obtenez un nouveau chat à sa place, avec une notification indiquant qu'[elle n'a pas été rouverte](#a-conversation-was-not-reopened).

960 

961<h3 id="a-formula-shows-as-raw-latex">

962 Une formule s'affiche en LaTeX brut

963</h3>

964 

965Si aucune des formules mathématiques des réponses de Claude n'est composée, vérifiez la version de l'extension dans la vue Extensions, car le [rendu mathématique](#latex-math-in-responses) nécessite la version 2.1.301 ou ultérieure. Si vous utilisez le [mode terminal](#switch-to-terminal-mode), qui ne compose pas les formules mathématiques quelle que soit la version, décochez le [paramètre Use Terminal](vscode://settings/claudeCode.useTerminal) afin que Claude Code s'ouvre plutôt dans le panneau de chat.

966 

967Si une formule s'affiche telle qu'elle est écrite alors que d'autres formules proches sont composées, vérifiez les causes suivantes :

968 

969* **Elle se lit comme autre chose que des mathématiques** : un texte `$…$` qui se lit comme un mot reste tel qu'il est écrit, par exemple `$O(n log n)$`. Un texte `$…$` qui commence par un chiffre, comme `$30$` ou `$1/N$`, reste également tel qu'il est écrit, sauf si un caractère tel que `=`, `+` ou `^` le signale comme des mathématiques. Demandez plutôt à Claude un bloc `$$` sur ses propres lignes, que le panneau compose sans cette vérification.

970* **Elle est entourée d'espaces, longue ou répartie sur plusieurs lignes** : `$ x^2 $` avec des espaces à l'intérieur des dollars, un contenu `$…$` de plus de 60 caractères, et `$…$` ou `\(…\)` réparti sur deux lignes ne sont pas composés. Demandez plutôt à Claude un bloc `$$` sur ses propres lignes, qui n'a aucune de ces limites.

971* **Le TeX ne peut pas être composé** : une formule contenant une erreur de syntaxe, une définition de macro comme `\newcommand` ou `\def`, ou un `%` non échappé s'affiche telle qu'elle est écrite. Demandez à Claude de la réécrire en corrigeant l'erreur, sans la macro, ou avec `\%` pour un signe de pourcentage.

972* **Elle est trop volumineuse** : une formule de plus de 8 192 caractères, ou dont le rendu serait bien plus grand que sa source, s'affiche telle qu'elle est écrite. Demandez à Claude de la diviser en formules plus petites ou de l'écrire de façon plus compacte.

973* **Elle suit une grande quantité de mathématiques** : au sein d'un même bloc de texte d'une réponse, le panneau compose les formules dans l'ordre jusqu'à une limite. Une formule ultérieure qui dépasserait cette limite s'affiche telle qu'elle est écrite. Demandez à Claude de renvoyer seule la formule dont vous avez besoin.

974 

901<h3 id="claude-code-never-responds">975<h3 id="claude-code-never-responds">

902 Claude Code ne répond jamais976 Claude Code ne répond jamais

903</h3>977</h3>

Details

103Si vous avez déjà connecté GitHub dans le navigateur, `/web-setup` vous avertit que continuer remplace cette connexion pour vos sessions cloud.103Si vous avez déjà connecté GitHub dans le navigateur, `/web-setup` vous avertit que continuer remplace cette connexion pour vos sessions cloud.

104 104 

105<Note>105<Note>

106 Les organisations avec [Zéro conservation des données](/docs/fr/zero-data-retention) activé, ou avec la [configuration HIPAA](/docs/fr/hipaa-setup) appliquée, ne peuvent pas utiliser `/web-setup` ou d'autres fonctionnalités de session cloud. Si la CLI GitHub n'est pas installée ou n'est pas authentifiée, Claude Code ouvre le flux d'intégration du navigateur à la place.106 Les organisations avec [Zéro conservation des données](/docs/fr/zero-data-retention) activé, ou avec la [configuration HIPAA](/docs/fr/hipaa-setup) appliquée, ne peuvent pas utiliser `/web-setup` ou d'autres fonctionnalités de session cloud. Les organisations qui utilisent des [clés de chiffrement gérées par le client](https://platform.claude.com/docs/en/manage-claude/cmek) (CMEK) ne peuvent pas non plus démarrer de sessions cloud. Si la CLI GitHub n'est pas installée ou n'est pas authentifiée, Claude Code ouvre le flux d'intégration du navigateur à la place.

107</Note>107</Note>

108 108 

109<Steps>109<Steps>

Details

74 <p className="digest-wins-title">Autres améliorations</p>74 <p className="digest-wins-title">Autres améliorations</p>

75 75 

76 <div className="digest-wins-grid">76 <div className="digest-wins-grid">

77 <div><a href="/docs/fr/code-review#review-a-diff-locally"><code>/code-review</code></a> s'exécute maintenant en tant que sous-agent d'arrière-plan avec sa propre fenêtre de contexte, afin que le travail d'examen reste en dehors de votre conversation et les découvertes arrivent quand il se termine</div>77 <div><a href="/docs/fr/code-review-local"><code>/code-review</code></a> s'exécute maintenant en tant que sous-agent d'arrière-plan avec sa propre fenêtre de contexte, afin que le travail d'examen reste en dehors de votre conversation et les découvertes arrivent quand il se termine</div>

78 <div><code>/verify</code>, <code>/code-review</code> et <code>/deep-research</code> s'exécutent uniquement quand vous les invoquez ; Claude ne les lance plus de lui-même</div>78 <div><code>/verify</code>, <code>/code-review</code> et <code>/deep-research</code> s'exécutent uniquement quand vous les invoquez ; Claude ne les lance plus de lui-même</div>

79 <div><a href="/docs/fr/interactive-mode#emoji-shortcodes">Les raccourcis emoji</a> se complètent automatiquement dans l'entrée d'invite : tapez <code>:heart:</code> pour insérer un emoji, ou deux caractères ou plus après <code>:</code> pour des suggestions ; désactivez-le avec <code>emojiCompletionEnabled</code></div>79 <div><a href="/docs/fr/interactive-mode#emoji-shortcodes">Les raccourcis emoji</a> se complètent automatiquement dans la saisie du prompt : tapez <code>:heart:</code> pour insérer un emoji, ou deux caractères ou plus après <code>:</code> pour des suggestions ; désactivez-le avec <code>emojiCompletionEnabled</code></div>

80 <div>Les compétences avec <code>context: fork</code> <a href="/docs/fr/skills#run-skills-in-a-subagent">s'exécutent en arrière-plan</a> par défaut, et <code>background: false</code> dans le frontmatter de la compétence attend le résultat dans le même tour</div>80 <div>Les skills avec <code>context: fork</code> <a href="/docs/fr/skills#run-skills-in-a-subagent">s'exécutent en arrière-plan</a> par défaut, et <code>background: false</code> dans le frontmatter du skill attend le résultat dans le même tour</div>

81 <div>Une session exécute jusqu'à 20 sous-agents simultanément par défaut ; modifiez la <a href="/docs/fr/sub-agents#concurrent-subagent-limit">limite</a> avec <code>CLAUDE\_CODE\_MAX\_CONCURRENT\_SUBAGENTS</code></div>81 <div>Une session exécute jusqu'à 20 sous-agents simultanément par défaut ; modifiez la <a href="/docs/fr/sub-agents#concurrent-subagent-limit">limite</a> avec <code>CLAUDE\_CODE\_MAX\_CONCURRENT\_SUBAGENTS</code></div>

82 <div><code>--max-budget-usd</code> applique maintenant le plafond sur les sous-agents : une fois que les dépenses l'atteignent, Claude ne peut pas en démarrer d'autres et les sous-agents d'arrière-plan en cours s'arrêtent</div>82 <div>`--max-budget-usd` applique maintenant le plafond sur les sous-agents : une fois que les dépenses l'atteignent, Claude ne peut pas en démarrer d'autres et les sous-agents d'arrière-plan en cours s'arrêtent</div>

83 <div>Nouveau paramètre <a href="/docs/fr/sandboxing#disable-filesystem-isolation"><code>sandbox.filesystem.disabled</code></a> qui ignore l'isolation du système de fichiers tout en maintenant le contrôle de la sortie réseau</div>83 <div>Nouveau paramètre <a href="/docs/fr/sandboxing#disable-filesystem-isolation"><code>sandbox.filesystem.disabled</code></a> qui ignore l'isolation du système de fichiers tout en maintenant le contrôle de la sortie réseau</div>

84 <div>En mode auto, les vérifications des commandes <code>rm</code> dangereuses, des tâches d'arrière-plan et des chemins Windows suspects n'ouvrent plus de dialogues de permission ; le classificateur du mode auto les arbitre à la place</div>84 <div>En mode auto, les vérifications des commandes <code>rm</code> dangereuses, des tâches d'arrière-plan et des chemins Windows suspects n'ouvrent plus de dialogues de permission ; le classificateur du mode auto les arbitre à la place</div>

85 <div>Les vérifications de permission Bash échouent fermées sur plus de formes de shell, y compris les redirections de descripteurs de fichiers, les souscriptions de variables Zsh dans les comparaisons <code>\[\[ ]]</code>, les invocations <code>help</code> et <code>man</code> qui pourraient exécuter des options non sûres, et les commandes de plus de 10 000 caractères</div>85 <div>Les vérifications de permission Bash échouent fermées sur plus de formes de shell, y compris les redirections de descripteurs de fichiers, les souscriptions de variables Zsh dans les comparaisons <code>\[\[ ]]</code>, les invocations <code>help</code> et <code>man</code> qui pourraient exécuter des options non sûres, et les commandes de plus de 10 000 caractères</div>

Details

85 85 

86 <div className="digest-wins-grid">86 <div className="digest-wins-grid">

87 <div>L'extension VS Code obtient la <a href="/docs/fr/vs-code#extension-settings">vue Focus</a>, qui masque l'activité des outils derrière une ligne extensible par tour ; basculez-la depuis le menu de commande ou avec <code>Ctrl+Alt+F</code> (<code>Ctrl+Option+F</code> sur Mac)</div>87 <div>L'extension VS Code obtient la <a href="/docs/fr/vs-code#extension-settings">vue Focus</a>, qui masque l'activité des outils derrière une ligne extensible par tour ; basculez-la depuis le menu de commande ou avec <code>Ctrl+Alt+F</code> (<code>Ctrl+Option+F</code> sur Mac)</div>

88 <div>Les fichiers de credentials du sandbox acceptent <a href="/docs/fr/sandboxing#mask-credential-files"><code>mode: "mask"</code></a> sur Linux et WSL2, de sorte que les commandes en sandbox lisent une copie sentinelle tandis que le proxy sandbox substitue la valeur réelle à la sortie ; le masquage des credentials gagne également les options <code>extract</code>, <code>decode</code> conscient de JWT, et la re-signature AWS SigV4</div>88 <div>Les fichiers d'identifiants du sandbox acceptent <a href="/docs/fr/sandboxing#mask-credential-files"><code>mode: "mask"</code></a> sur Linux et WSL2, de sorte que les commandes en sandbox lisent une copie sentinelle tandis que le proxy sandbox substitue la valeur réelle à la sortie ; le masquage des identifiants gagne également les options <code>extract</code>, <code>decode</code> conscient de JWT, et la re-signature AWS SigV4</div>

89 <div>Les marketplaces peuvent distribuer un plugin en tant qu'<a href="/docs/fr/plugins/marketplace-reference#archive-plugin-source">archive zip</a> avec la nouvelle source <code>archive</code>, téléchargée via HTTPS avec une épingle SHA-256 optionnelle, de sorte que les installations fonctionnent sans git ou npm</div>89 <div>Les marketplaces peuvent distribuer un plugin en tant qu'<a href="/docs/fr/plugins/marketplace-reference#archive-plugin-source">archive zip</a> avec la nouvelle source <code>archive</code>, téléchargée via HTTPS avec une épingle SHA-256 optionnelle, de sorte que les installations fonctionnent sans git ou npm</div>

90 <div><code>/review</code> est maintenant un alias de <a href="/docs/fr/code-review#review-a-diff-locally"><code>/code-review</code></a>, et <code>/code-review</code> sans niveau d'effort réutilise le niveau que vous avez tapé en dernier</div>90 <div><code>/review</code> est maintenant un alias de <a href="/docs/fr/code-review-local"><code>/code-review</code></a>, et <code>/code-review</code> sans niveau d'effort réutilise le niveau que vous avez tapé en dernier</div>

91 <div>Une session que vous copiez avec <a href="/docs/fr/agent-view#copy-the-session-with-%2Ffork"><code>/fork</code></a> effectue maintenant ses modifications de code dans un worktree qui lui est propre au lieu du checkout de la session d'origine</div>91 <div>Une session que vous copiez avec <a href="/docs/fr/agent-view#copy-the-session-with-%2Ffork"><code>/fork</code></a> effectue maintenant ses modifications de code dans un worktree qui lui est propre au lieu du checkout de la session d'origine</div>

92 <div>Les plugins que vous installez depuis <a href="/docs/fr/plugins/install#install-a-plugin"><code>/plugin</code></a> s'activent dans la session actuelle quand c'est sûr de le faire ; le résumé d'installation rapporte <code>Plugin is now active.</code> ou vous dit d'exécuter <code>/reload-plugins</code></div>92 <div>Les plugins que vous installez depuis <a href="/docs/fr/plugins/install#install-a-plugin"><code>/plugin</code></a> s'activent dans la session actuelle quand c'est sûr de le faire ; le résumé d'installation rapporte <code>Plugin is now active.</code> ou vous dit d'exécuter <code>/reload-plugins</code></div>

93 <div>Les <a href="/docs/fr/agent-view#how-file-edits-are-isolated">sessions en arrière-plan</a> qui ont modifié le code dans un worktree effectuent maintenant un commit et un push avant de terminer, ouvrent une demande de tirage en brouillon uniquement quand la tâche l'exige, et suivent les instructions git dans votre <code>CLAUDE.md</code></div>93 <div>Les <a href="/docs/fr/agent-view#how-file-edits-are-isolated">sessions en arrière-plan</a> qui ont modifié le code dans un worktree effectuent maintenant un commit et un push avant de terminer, ouvrent une pull request en brouillon uniquement quand la tâche l'exige, et suivent les instructions git dans votre <code>CLAUDE.md</code></div>

94 <div>La limite de 200 sous-agents par session est supprimée, de sorte que les sessions longues n'refusent plus les nouveaux sous-agents ; les limites de <a href="/docs/fr/sub-agents#concurrent-subagent-limit">concurrence</a> et de profondeur s'appliquent toujours</div>94 <div>La limite de 200 sous-agents par session est supprimée, de sorte que les sessions longues ne refusent plus les nouveaux sous-agents ; les limites de <a href="/docs/fr/sub-agents#concurrent-subagent-limit">concurrence</a> et de profondeur s'appliquent toujours</div>

95 <div>Les paramètres enregistrés d'un référentiel ne peuvent plus activer la <a href="/docs/fr/remote-control#enable-remote-control-for-all-sessions">connexion automatique du contrôle à distance</a> ; définissez <code>remoteControlAtStartup</code> dans vos paramètres utilisateur ou gérés à la place, et les paramètres de projet et locaux ne peuvent que la désactiver</div>95 <div>Les paramètres enregistrés d'un dépôt ne peuvent plus activer la <a href="/docs/fr/remote-control#enable-remote-control-for-all-sessions">connexion automatique de Remote Control</a> ; définissez <code>remoteControlAtStartup</code> dans vos paramètres utilisateur ou gérés à la place, et les paramètres de projet et locaux ne peuvent que la désactiver</div>

96 <div>L'<a href="/docs/fr/worktrees#how-claude-code-enforces-isolation">isolation des worktrees</a> bloque maintenant non seulement les modifications de fichiers mais aussi les commandes Bash et les redirections git qui atteignent le checkout principal, dans tous les types de sessions et dans les sous-agents de la session</div>96 <div>L'<a href="/docs/fr/worktrees#how-claude-code-enforces-isolation">isolation par worktree</a> bloque maintenant non seulement les modifications de fichiers mais aussi les commandes Bash et les redirections git qui atteignent le checkout principal, dans tous les types de sessions et dans les sous-agents de la session</div>

97 <div>Une commande Bash ne peut plus masquer une partie d'elle-même aux vérifications de permission, et le remplissage par tabulation ou Unicode invisible ne masque plus une partie d'une commande à la boîte de dialogue d'approbation</div>97 <div>Une commande Bash ne peut plus masquer une partie d'elle-même aux vérifications de permission, et le remplissage par tabulation ou Unicode invisible ne masque plus une partie d'une commande à la boîte de dialogue d'approbation</div>

98 <div>Les hooks d'auto-autorisation PreToolUse ne contournent plus les restrictions d'outils dans les tâches internes côté Claude Code telles que les résumés et la compaction</div>98 <div>Les hooks d'auto-autorisation PreToolUse ne contournent plus les restrictions d'outils dans les tâches internes côté Claude Code telles que les résumés et la compaction</div>

99 <div>L'aperçu de recherche <a href="/docs/fr/ultraplan">Ultraplan</a> est supprimé, y compris la commande <code>/ultraplan</code> et le mot-clé <code>ultraplan</code> ; utilisez le mode plan ou Claude Code sur le web à la place</div>99 <div>La research preview <a href="/docs/fr/ultraplan">Ultraplan</a> est supprimée, y compris la commande <code>/ultraplan</code> et le mot-clé <code>ultraplan</code> ; utilisez le mode plan ou Claude Code sur le web à la place</div>

100 </div>100 </div>

101</div>101</div>

102 102 

Details

53 <span className="digest-feature-pill">v2.1.232</span>53 <span className="digest-feature-pill">v2.1.232</span>

54 </div>54 </div>

55 55 

56 <p className="digest-feature-lede">Les marketplaces de plugins clonent les URL <code>gitlab.com</code> nues, y compris les sous-groupes imbriqués. Sur v2.1.233 ou ultérieur, transmettez une URL de demande de fusion GitLab à <code>--worktree</code> pour créer une branche à partir de celle-ci, et la vue <code>claude agents</code> étiquette les sessions liées à une demande de fusion comme <code>!N</code>. Claude Code rédige également les familles de jetons GitLab telles que <code>glpat-</code> et <code>glrt-</code>, et protège le magasin de configuration de la CLI <code>glab</code> de la même manière qu'il protège <code>gh</code>.</p>56 <p className="digest-feature-lede">Les marketplaces de plugins clonent les URL <code>gitlab.com</code> nues, y compris les sous-groupes imbriqués. Sur v2.1.233 ou ultérieur, transmettez une URL de demande de fusion GitLab à `--worktree` pour créer une branche à partir de celle-ci, et la vue <code>claude agents</code> étiquette les sessions liées à une demande de fusion comme <code>!N</code>. Claude Code rédige également les familles de jetons GitLab telles que <code>glpat-</code> et <code>glrt-</code>, et protège le magasin de configuration de la CLI <code>glab</code> de la même manière qu'il protège <code>gh</code>.</p>

57 57 

58 <p className="digest-feature-try">Démarrez une session dans un worktree créé à partir d'une demande de fusion :</p>58 <p className="digest-feature-try">Démarrez une session dans un worktree créé à partir d'une demande de fusion :</p>

59 59 


75 <div>Les marketplaces de plugins acceptent les <a href="/docs/fr/plugins/marketplace-reference#command-plugin-source">sources <code>command</code></a> : une commande locale imprime le répertoire du plugin, que Claude Code ré-résout chaque session et applique sans redémarrage</div>75 <div>Les marketplaces de plugins acceptent les <a href="/docs/fr/plugins/marketplace-reference#command-plugin-source">sources <code>command</code></a> : une commande locale imprime le répertoire du plugin, que Claude Code ré-résout chaque session et applique sans redémarrage</div>

76 <div>Sur Linux et WSL, définissez <a href="/docs/fr/tools-reference#memory-limit-on-linux-and-wsl"><code>CLAUDE\_CODE\_TOOL\_MEMORY\_LIMIT</code></a> sur une taille telle que <code>4G</code> pour limiter la mémoire que les commandes des outils Bash et PowerShell peuvent utiliser</div>76 <div>Sur Linux et WSL, définissez <a href="/docs/fr/tools-reference#memory-limit-on-linux-and-wsl"><code>CLAUDE\_CODE\_TOOL\_MEMORY\_LIMIT</code></a> sur une taille telle que <code>4G</code> pour limiter la mémoire que les commandes des outils Bash et PowerShell peuvent utiliser</div>

77 <div>Les outils de suivi des tâches, tels que <code>TaskCreate</code>, <code>TaskUpdate</code> et <code>TodoWrite</code>, ne sont <a href="/docs/fr/tools-reference#task-tool-availability">plus disponibles sur Opus 4.8, Sonnet 5, Fable 5, Mythos 5 et les modèles ultérieurs de ces familles</a> ; définissez <code>CLAUDE\_CODE\_ENABLE\_TODO\_TOOLS=1</code> pour les réactiver</div>77 <div>Les outils de suivi des tâches, tels que <code>TaskCreate</code>, <code>TaskUpdate</code> et <code>TodoWrite</code>, ne sont <a href="/docs/fr/tools-reference#task-tool-availability">plus disponibles sur Opus 4.8, Sonnet 5, Fable 5, Mythos 5 et les modèles ultérieurs de ces familles</a> ; définissez <code>CLAUDE\_CODE\_ENABLE\_TODO\_TOOLS=1</code> pour les réactiver</div>

78 <div><a href="/docs/fr/code-review#review-a-diff-locally"><code>/code-review</code></a> aux niveaux d'effort élevé, très élevé et maximum s'exécute désormais dans un agent en arrière-plan comme les autres niveaux</div>78 <div><a href="/docs/fr/code-review-local"><code>/code-review</code></a> aux niveaux d'effort élevé, très élevé et maximum s'exécute désormais dans un agent en arrière-plan comme les autres niveaux</div>

79 <div><a href="/docs/fr/plugins/install#install-a-plugin"><code>/plugin install plugin\@marketplace</code></a> actualise d'abord la marketplace, de sorte que les plugins nouvellement publiés s'installent sans mise à jour manuelle de la marketplace</div>79 <div><a href="/docs/fr/plugins/install#install-a-plugin"><code>/plugin install plugin\@marketplace</code></a> actualise d'abord la marketplace, de sorte que les plugins nouvellement publiés s'installent sans mise à jour manuelle de la marketplace</div>

80 <div>Les paramètres acceptent <a href="/docs/fr/settings-reference#marketplace-key-aliases"><code>additionalMarketplaces</code> et <code>allowedMarketplaces</code></a> comme alias pour <code>extraKnownMarketplaces</code> et <code>strictKnownMarketplaces</code></div>80 <div>Les paramètres acceptent <a href="/docs/fr/settings-reference#marketplace-key-aliases"><code>additionalMarketplaces</code> et <code>allowedMarketplaces</code></a> comme alias pour <code>extraKnownMarketplaces</code> et <code>strictKnownMarketplaces</code></div>

81 <div>Sur les modèles plus récents, Claude peut <a href="/docs/fr/tools-reference#write-tool-behavior">remplacer un fichier existant avec l'outil Write</a> sans le lire d'abord cette session, ce qui correspond aux règles de l'outil Edit ; les modèles plus anciens nécessitent la lecture</div>81 <div>Sur les modèles plus récents, Claude peut <a href="/docs/fr/tools-reference#write-tool-behavior">remplacer un fichier existant avec l'outil Write</a> sans le lire d'abord cette session, ce qui correspond aux règles de l'outil Edit ; les modèles plus anciens nécessitent la lecture</div>

workflows.md +4 −4

Details

205 205 

206Dans `claude -p` et l'Agent SDK, Claude Code ne montre jamais cette invite. Il exécute l'appel d'outil Workflow à travers la même [évaluation de permission](/docs/fr/agent-sdk/permissions#how-permissions-are-evaluated) que le reste de la session, donc les règles de refus, les règles de demande, et le mode `dontAsk` s'appliquent au lancement comme ils s'appliquent à chaque appel d'outil. Pour laisser le workflow démarrer dans ces exécutions, utilisez l'un de ceux-ci :206Dans `claude -p` et l'Agent SDK, Claude Code ne montre jamais cette invite. Il exécute l'appel d'outil Workflow à travers la même [évaluation de permission](/docs/fr/agent-sdk/permissions#how-permissions-are-evaluated) que le reste de la session, donc les règles de refus, les règles de demande, et le mode `dontAsk` s'appliquent au lancement comme ils s'appliquent à chaque appel d'outil. Pour laisser le workflow démarrer dans ces exécutions, utilisez l'un de ceux-ci :

207 207 

208* **Règle de permission** : `Workflow` dans vos règles d'autorisation approuve chaque workflow, et `Workflow(<name>)` approuve un workflow enregistré par nom.208* **Règle de permission** : ajoutez `Workflow` à vos règles d'autorisation pour approuver chaque workflow, ou `Workflow(<name>)` pour approuver un workflow enregistré par nom.

209* **Mode de permission auto** : le [classificateur](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode) examine l'appel et peut l'approuver.209* **Mode de permission auto** : exécutez en [mode auto](/docs/fr/permission-modes#eliminate-prompts-with-auto-mode), où le classifieur examine l'appel et peut l'approuver.

210* **Mode de permission contourner les permissions** : Claude Code approuve l'appel.210* **Mode contourner les permissions** : exécutez en mode contourner les permissions.

211* **Un hook** : un hook [`PreToolUse`](/docs/fr/hooks#pretooluse) qui autorise l'appel l'approuve.211* **Un hook** : renvoyez `"allow"` pour l'appel depuis un hook [`PreToolUse`](/docs/fr/hooks#pretooluse). En [mode plan](/docs/fr/permission-modes#analyze-before-you-edit-with-plan-mode), le workflow ne démarre pas sur la seule approbation du hook ; utilisez donc plutôt une règle de permission ou l'approbation de votre hôte dans ce cas.

212* **Votre hôte** : un [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) ou, avec l'Agent SDK, un callback [`canUseTool`](/docs/fr/agent-sdk/permissions) l'approuve.212* **Votre hôte** : un [`--permission-prompt-tool`](/docs/fr/cli-reference#cli-flags) ou, avec l'Agent SDK, un callback [`canUseTool`](/docs/fr/agent-sdk/permissions) l'approuve.

213 213 

214Dans l'application Desktop, une carte d'approbation affiche le nom du workflow, la liste des phases, et une mise en garde sur l'utilisation des tokens, avec les actions **Une fois**, **Toujours**, et **Refuser**. La vue de progression apparaît dans le volet des tâches en arrière-plan.214Dans l'application Desktop, une carte d'approbation affiche le nom du workflow, la liste des phases, et une mise en garde sur l'utilisation des tokens, avec les actions **Une fois**, **Toujours**, et **Refuser**. La vue de progression apparaît dans le volet des tâches en arrière-plan.