deny dans vos paramètres de permission.
Pour ajouter des outils personnalisés, connectez un serveur MCP. Pour étendre Claude avec des flux de travail réutilisables basés sur des invites, écrivez une skill, qui s’exécute via l’outil Skill existant plutôt que d’ajouter une nouvelle entrée d’outil.
La colonne Permission requise indique si l’outil demande une permission en mode de permission par défaut pour les chemins à l’intérieur du répertoire de travail. Les outils d’accès aux fichiers marqués Non, y compris Read, Grep, et Glob, demandent toujours une permission pour les chemins en dehors du répertoire de travail et des répertoires supplémentaires. Bash est marqué Oui mais exécute un ensemble intégré de commandes en lecture seule sans demander de permission.
Configurer les outils avec les règles de permission et les hooks
Pour la plupart, Claude décide quand utiliser ces outils et vous n’avez pas besoin de les nommer vous-même lors de l’interaction avec Claude. Vous référencez les noms d’outils directement lors de la définition des permissions et d’autres configurations :- dans
permissions.allowetpermissions.denydans les paramètres, et l’interface/permissions - dans les drapeaux CLI
--allowedToolset--disallowedTools - dans les options
allowedToolsetdisallowedToolsdu SDK Agent - dans le frontmatter
toolsoudisallowedToolsd’un subagent - dans le frontmatter
allowed-toolsd’une skill - dans la condition
ifd’un hook
ToolName(specifier). Le spécificateur dépend de l’outil, et plusieurs outils partagent un format :
Les outils non listés ici, tels que
ExitPlanMode ou ShareOnboardingGuide, acceptent uniquement le nom d’outil nu sans spécificateur.
Une règle d’autorisation Edit(...) accorde également l’accès en lecture au même chemin, donc vous n’avez pas besoin d’une règle Read(...) correspondante. Une règle de refus Read(...) bloque également l’outil Edit sur le même chemin, y compris la création d’un nouveau fichier là-bas, car l’édition nécessite de relire le résultat. La vérification de refus Read sur les éditions nécessite Claude Code v2.1.208 ou ultérieur.
Les champs matcher des hooks utilisent les noms d’outils nus, pas le format entre parenthèses. Voir motifs de correspondance pour les règles de correspondance. Pour les noms de champs que chaque outil transmet à tool_input dans les hooks, voir la référence d’entrée PreToolUse.
Comportement de l’outil Agent
L’outil Agent crée un subagent dans une fenêtre de contexte séparée. Le subagent travaille sur sa tâche de manière autonome, puis retourne un seul résultat textuel à la conversation parent. Le parent ne voit pas les appels d’outils intermédiaires ou les sorties du subagent, seulement ce résultat final. Pour limiter le nombre de tours qu’un subagent exécute, définissezmaxTurns dans la définition du subagent.
Le même outil Agent lance également les subagents forked quand le mode fork est activé. Un fork hérite de la conversation parent complète au lieu de commencer à zéro, s’exécute toujours en arrière-plan, et affiche toujours les invites de permission dans votre terminal. Le reste de cette section décrit les subagents nommés.
Les outils qu’un subagent nommé peut utiliser dépendent des champs tools et disallowedTools dans la définition du subagent:
- Aucun champ défini : le subagent hérite de chaque outil disponible pour le parent.
toolsuniquement : le subagent obtient uniquement les outils listés.disallowedToolsuniquement : le subagent obtient chaque outil parent sauf ceux listés.- Les deux définis :
disallowedToolsa la priorité. Un outil listé dans les deux est supprimé.
tools d’un subagent ne résout à aucun outil du tout, par exemple parce que chaque entrée est mal orthographiée ou nomme un outil qui n’est pas disponible pour les subagents, l’outil Agent retourne une erreur listant ces entrées au lieu de lancer le subagent. Avant la v2.1.208, le subagent était lancé sans outils et pouvait retourner un résultat vide ou confus.
Lancer le subagent ne demande pas lui-même la permission. Claude Code vérifie les appels d’outils du subagent par rapport à vos règles de permission au fur et à mesure qu’il s’exécute.
À partir de la v2.1.198, les subagents s’exécutent en arrière-plan par défaut ; Claude en exécute un au premier plan quand il a besoin du résultat avant de continuer.
- Les subagents au premier plan affichent les mêmes invites de permission que vous verriez dans la conversation principale, au moment où chaque appel d’outil se produit.
- Les subagents en arrière-plan affichent les invites de permission dans votre session principale à partir de la v2.1.186. L’invite indique quel subagent demande, et appuyer sur Échap refuse cet appel d’outil unique sans arrêter le subagent. Avant la v2.1.186, les subagents en arrière-plan refusaient automatiquement tout appel d’outil qui demanderait autrement une permission et continuaient sans cet outil.
tools, laissez Bash en dehors de la liste, ou définissez des règles de refus dans vos paramètres, comme décrit dans Contrôler les capacités du subagent. Pour plus d’informations sur le choix entre le premier plan et l’arrière-plan, voir Exécuter les subagents au premier plan ou en arrière-plan.
Comportement de l’outil Bash
L’outil Bash exécute chaque commande dans un processus séparé avec le comportement de persistance suivant :- Quand Claude exécute
cddans la session principale, le nouveau répertoire de travail persiste dans les commandes Bash ultérieures tant qu’il reste à l’intérieur du répertoire du projet ou d’un répertoire de travail supplémentaire que vous avez ajouté avec--add-dir,/add-dir, ouadditionalDirectoriesdans les paramètres. Les sessions subagent ne reportent jamais les modifications de répertoire de travail.- Si
cdaboutit en dehors de ces répertoires, Claude Code réinitialise au répertoire du projet et ajouteShell cwd was reset to <dir>au résultat de l’outil. - Pour désactiver ce report afin que chaque commande Bash démarre dans le répertoire du projet, définissez
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1.
- Si
- Les variables d’environnement ne persistent pas. Un
exportdans une commande ne sera pas disponible dans la suivante. - Les alias et les fonctions shell définis dans votre fichier de démarrage shell sont disponibles. Au démarrage de la session, Claude Code source
~/.zshrc,~/.bashrc, ou~/.profileselon votre shell, capture les alias, fonctions et options shell résultants, et les applique à chaque commande Bash.
CLAUDE_ENV_FILE sur un script shell avant de lancer Claude Code, ou utilisez un hook SessionStart pour le remplir dynamiquement.
Deux limites limitent chaque commande :
- Délai d’expiration : deux minutes par défaut. Claude peut demander jusqu’à 10 minutes par commande avec le paramètre
timeout. Remplacez la valeur par défaut et le plafond avecBASH_DEFAULT_TIMEOUT_MSetBASH_MAX_TIMEOUT_MS. - Longueur de sortie : 30 000 caractères par défaut. Quand une commande produit plus que cela, Claude Code enregistre la sortie complète dans un fichier du répertoire de session et donne à Claude le chemin du fichier plus un court aperçu du début. Claude lit ou recherche ce fichier quand il a besoin du reste. Augmentez la limite avec
BASH_MAX_OUTPUT_LENGTH, jusqu’à un plafond dur de 150 000 caractères.
run_in_background: true pour démarrer la commande en tant que tâche en arrière-plan et continuer à travailler pendant qu’elle s’exécute. Listez et arrêtez les tâches en arrière-plan avec /tasks. En mode non interactif avec l’indicateur -p, les tâches en arrière-plan se terminent peu de temps après le résultat final de l’exécution.
Comportement de l’outil Edit
L’outil Edit effectue un remplacement de chaîne exact. Il prend unold_string et un new_string et remplace le premier par le second. Il n’utilise pas regex ou la correspondance floue.
Trois vérifications doivent réussir pour qu’une modification s’applique. Avant chacune d’elles, un chemin correspondant à une règle de refus Read est refusé, y compris la création d’un nouveau fichier à cet endroit. Le refus nécessite Claude Code v2.1.208 ou ultérieur.
- Lecture avant modification : Claude lit le fichier dans la conversation actuelle avant de le modifier, et une lecture interrompue avec un avis
PARTIAL viewne compte pas. Claude Opus 4.6, Claude Haiku 4.5 et les modèles plus anciens nécessitent toujours la lecture. Les modèles plus récents peuvent modifier un fichier non lu quand la lecture ne nécessiterait pas une demande de permission et que l’outil Read est disponible. - Correspondance :
old_stringdoit apparaître dans le fichier exactement comme écrit. Une seule différence de caractère d’espace ou d’indentation est suffisante pour manquer. - Unicité :
old_stringdoit apparaître exactement une fois. Quand il apparaît plus d’une fois, Claude fournit soit une chaîne plus longue avec suffisamment de contexte environnant pour épingler une occurrence, soit définitreplace_all: truepour les remplacer tous.
old_string correspond exactement au contenu actuel et sans ambiguïté et que Claude Code peut lire le fichier sans demander. La correspondance avec le contenu actuel du fichier maintient cela sûr, et le résultat note que le fichier porte d’autres modifications afin que Claude le relise avant les modifications qui dépendent du contenu environnant. Dans tout autre cas, comme un old_string obsolète ou un qui correspond plus d’une fois sans replace_all, Claude lit le fichier à nouveau avant de le modifier. La gestion assouplie des fichiers non lus et modifiés nécessite Claude Code v2.1.208 ou ultérieur ; avant cela, Claude Code refusait toute modification d’un fichier qu’il n’avait pas lu dans la conversation ou qui avait changé sur le disque après la lecture.
Afficher un fichier avec Bash satisfait également l’exigence de lecture avant modification quand la commande est cat, head, tail, sed -n 'X,Yp', grep, egrep, ou fgrep sur un seul fichier sans pipes ou redirections. La sortie piped et d’autres commandes Bash ne comptent pas vers la vérification de lecture avant modification.
Cela affecte uniquement l’éligibilité à la modification, pas les permissions. Les règles de refus Read et Edit s’appliquent également aux commandes de fichiers que Claude Code reconnaît dans Bash, telles que cat, head, tail, sed, et grep, mais pas aux sous-processus arbitraires qui lisent ou écrivent des fichiers indirectement, comme un script Python ou Node qui ouvre des fichiers lui-même. L’ensemble des commandes reconnues pour les règles de refus n’est pas le même que la liste de lecture avant modification ci-dessus : par exemple, egrep et fgrep comptent pour la lecture avant modification mais ne sont pas vérifiés par rapport aux règles de refus Read. Pour l’application au niveau du système d’exploitation qui couvre chaque processus, activez le sandbox.
Comportement de l’outil Glob
L’outil Glob trouve des fichiers par motif de nom. Il supporte la syntaxe glob standard incluant** pour la correspondance de répertoire récursive :
**/*.jscorrespond à tous les fichiers.jsà n’importe quelle profondeursrc/**/*.tscorrespond à tous les fichiers.tssoussrc/*.{json,yaml}correspond aux fichiers.jsonet.yamldans le répertoire actuel
.gitignore par défaut, donc il trouve les fichiers gitignorés aux côtés des fichiers suivis. Cela diffère de Grep, qui ignore les fichiers gitignorés. Pour faire respecter .gitignore à Glob, définissez CLAUDE_CODE_GLOB_NO_IGNORE=false avant de lancer Claude Code.
Une valeur pattern ou path qui contient un octet nul retourne une erreur demandant à Claude de la supprimer.
Comportement de l’outil Grep
L’outil Grep recherche des motifs dans le contenu des fichiers. Où Glob trouve des fichiers par nom, Grep trouve des lignes à l’intérieur d’eux. Grep est construit sur ripgrep et utilise la syntaxe regex de ripgrep, pas grep POSIX. Les motifs qui incluent des métacaractères regex ont besoin d’échappement. Par exemple, trouverinterface{} dans le code Go prend le motif interface\{\}.
Un motif, un glob, ou un type de fichier que ripgrep rejette retourne une erreur qui inclut le diagnostic de ripgrep, afin que Claude puisse corriger l’entrée et rechercher à nouveau. Avant la v2.1.208, Claude Code signalait une entrée rejetée comme No files found au lieu d’une erreur, même lorsque le texte recherché existait dans les fichiers cibles.
Trois modes de sortie contrôlent ce qui revient :
files_with_matches: chemins de fichiers uniquement, pas de contenu de ligne. C’est la valeur par défaut.content: lignes correspondantes avec numéro de fichier et de ligne.count: nombre de correspondances par fichier, suivi d’un total sur tous les fichiers correspondants. Le total couvre chaque correspondance même lorsque les paramètreshead_limitouoffsetde l’outil tronquent les entrées par fichier listées. Avant la v2.1.208, le total ne sommait que les entrées listées.
glob, tel que **/*.tsx, ou par langage avec le paramètre type, tel que py ou rust. Par défaut, les motifs correspondent dans une seule ligne. Claude peut définir multiline: true pour correspondre à travers les limites de ligne.
Grep respecte .gitignore, donc les fichiers gitignorés sont ignorés. Pour rechercher un fichier gitignore, Claude transmet son chemin directement.
Comportement de l’outil LSP
L’outil LSP donne à Claude l’intelligence du code à partir d’un serveur de langage en cours d’exécution. Après chaque modification de fichier, il signale automatiquement les erreurs de type et les avertissements afin que Claude puisse corriger les problèmes sans une étape de compilation séparée. Claude peut également l’appeler directement pour naviguer dans le code :- Accéder à la définition d’un symbole
- Trouver toutes les références à un symbole
- Obtenir les informations de type à une position
- Lister les symboles dans un fichier
- Rechercher un symbole par nom dans l’espace de travail
- Trouver les implémentations d’une interface
- Tracer les hiérarchies d’appels
Outil Monitor
L’outil Monitor permet à Claude de surveiller quelque chose en arrière-plan et de réagir quand cela change, sans mettre en pause la conversation. Demandez à Claude de :- Suivre un fichier journal et signaler les erreurs au fur et à mesure qu’elles apparaissent
- Interroger une PR ou un travail CI et signaler quand son statut change
- Surveiller un répertoire pour les modifications de fichiers
- Suivre la sortie de tout script de longue durée que vous lui pointez
- Se connecter à un flux WebSocket et signaler chaque message à son arrivée
allow et deny que vous avez définis pour Bash s’appliquent ici aussi. La source WebSocket a sa propre invite d’approbation.
L’outil n’est pas disponible sur Amazon Bedrock, Google Cloud’s Agent Platform, ou Microsoft Foundry. Il n’est également pas disponible quand DISABLE_TELEMETRY ou CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC est défini.
Les plugins peuvent déclarer des moniteurs qui démarrent automatiquement quand le plugin est actif, au lieu de demander à Claude de les démarrer. Voir moniteurs de plugin.
Source WebSocket
La source WebSocket nécessite Claude Code v2.1.195 ou version ultérieure.
- Messages texte : chacun devient un événement, même quand le message s’étend sur plusieurs lignes.
- Messages binaires : non transmis. Claude reçoit une ligne d’espace réservé telle que
[binary frame, 512 bytes]à la place. - Messages plus grands que 1 MiB : la surveillance se termine, donc abonnez-vous à un flux filtré où il en existe un.
- Fermeture de socket : la surveillance se termine et Claude reçoit le code de fermeture.
ws à la place de command, et un seul appel Monitor ne peut pas combiner les deux. L’entrée ws a deux champs :
Les entrées
timeout_ms et persistent se comportent de la même manière que pour une commande : la surveillance se termine à l’échéance sauf si persistent est défini, et TaskStop l’annule plus tôt.
L’ouverture d’un WebSocket demande une approbation, et l’invite n’offre pas d’option pour ignorer les futures invites pour le même hôte.
Claude Code refuse les URL qui pointent vers une adresse privée, link-local, ou de métadonnées cloud, y compris les noms d’hôte qui se résolvent en une. Il refuse également les hôtes dans sandbox.network.deniedDomains, et quand allowManagedDomainsOnly est défini dans les paramètres gérés, tout hôte en dehors de la liste d’autorisation gérée.
Comportement de l’outil NotebookEdit
NotebookEdit modifie un notebook Jupyter une cellule à la fois, ciblant les cellules par leurcell_id. Il n’effectue pas de remplacement de chaîne à travers le notebook comme le fait Edit sur les fichiers simples.
Trois modes de modification contrôlent ce qui arrive à la cellule cible :
replace: remplace la source de la cellule. C’est la valeur par défaut.insert: ajoute une nouvelle cellule après la cible. Sanscell_id, la nouvelle cellule va au début du notebook. Nécessite quecell_typesoit défini àcodeoumarkdown.delete: supprime la cellule cible.
Edit(...). Une règle comme Edit(notebooks/**) couvre les appels NotebookEdit sur les fichiers dans ce répertoire.
Outil PowerShell
L’outil PowerShell permet à Claude d’exécuter des commandes PowerShell nativement. Sur Windows, cela signifie que les commandes s’exécutent dans PowerShell au lieu d’être acheminées via Git Bash. La disponibilité de l’outil dépend de votre plateforme :- Windows sans Git Bash : l’outil est activé automatiquement.
- Windows avec Git Bash installé : l’outil est en déploiement progressif.
- Linux, macOS et WSL : l’outil est opt-in.
Activer l’outil PowerShell
DéfinissezCLAUDE_CODE_USE_POWERSHELL_TOOL=1 dans votre environnement ou dans settings.json :
0 pour refuser le déploiement. Sur Linux, macOS et WSL, l’outil nécessite PowerShell 7 ou version ultérieure : installez pwsh et assurez-vous qu’il est sur votre PATH.
Sur Windows, Claude Code détecte automatiquement pwsh.exe pour PowerShell 7+ avec un repli sur powershell.exe pour PowerShell 5.1. Lorsque l’outil est activé, Claude traite PowerShell comme le shell principal. L’outil Bash reste disponible pour les scripts POSIX lorsque Git Bash est installé.
Claude Code lance PowerShell avec -ExecutionPolicy Bypass au niveau du processus uniquement, de sorte que les scripts .ps1 et les importations de modules fonctionnent sur les installations Windows par défaut sans modifier la politique de la machine. Le contournement au niveau du processus ne remplace pas la politique de groupe MachinePolicy ou UserPolicy, de sorte que les verrouillages d’entreprise s’appliquent toujours. Pour respecter la politique d’exécution effective de la machine à la place, définissez CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1.
Sélection du shell dans les paramètres, les hooks et les skills
Trois paramètres supplémentaires contrôlent où PowerShell est utilisé :"defaultShell": "powershell"danssettings.json: achemine les commandes interactives!via PowerShell. Nécessite que l’outil PowerShell soit activé."shell": "powershell"sur les hooks de commande individuels : exécute ce hook dans PowerShell. Les hooks lancent PowerShell directement, donc cela fonctionne indépendamment deCLAUDE_CODE_USE_POWERSHELL_TOOL.shell: powershelldans le frontmatter de skill : exécute les blocs!`command`dans PowerShell. Nécessite que l’outil PowerShell soit activé.
CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR.
À partir de la v2.1.196, l’outil PowerShell correspond à la gestion des codes de sortie de recherche et de diff de l’outil Bash. Le code de sortie 1 de grep, egrep, fgrep et git grep signifie aucune correspondance, et le code de sortie 1 de git diff signifie que des différences existent, de sorte que ces résultats ne sont pas signalés à Claude comme des échecs de commande.
Limitations de l’aperçu
L’outil PowerShell a les limitations connues suivantes pendant l’aperçu :- Les profils PowerShell ne sont pas chargés
- Sur Windows, le sandboxing n’est pas pris en charge
Comportement de l’outil Read
L’outil Read prend un chemin de fichier et retourne le contenu avec les numéros de ligne. Claude est instruit de toujours transmettre les chemins absolus. Par défaut, Read retourne le fichier depuis le début. Lorsqu’une lecture de fichier complet dépasse la limite de jetons, Read retourne la première page avec un avisPARTIAL view qui indique à Claude quelle quantité du fichier il a reçue et comment lire plus avec offset et limit. Une lecture qui transmet un offset ou limit explicite et dépasse toujours la limite de jetons retourne une erreur.
Une lecture avec un limit explicite s’arrête dès que les lignes sélectionnées dépassent ce que la limite de jetons pourrait jamais contenir et retourne une erreur sans charger le reste de la plage. L’erreur indique à Claude d’utiliser un limit plus petit, ou de rechercher du contenu spécifique avec Grep à la place lorsqu’une seule ligne est aussi grande. Avant la v2.1.208, Claude Code chargeait toute la plage en mémoire avant de la rejeter, donc un fichier avec une seule ligne extrêmement longue pouvait épuiser la mémoire.
La lecture d’un fichier vide retourne un avis indiquant que le fichier existe mais que son contenu est vide, et un offset au-delà de la dernière ligne retourne un avis donnant le nombre de lignes du fichier. Avant la v2.1.208, la lecture d’un fichier vide retournait l’avis de fin de fichier à la place.
Read gère plusieurs types de fichiers au-delà du texte simple :
- Images : PNG, JPG et autres formats d’image sont retournés en tant que contenu visuel que Claude peut voir, pas en tant que bytes bruts. Claude Code redimensionne et récompresse les grandes images pour s’adapter aux limites de taille d’image du modèle avant de les envoyer, donc Claude peut voir une version réduite d’une grande capture d’écran. À partir de la v2.1.196, une image qui est toujours plus grande que 500 KB après ce redimensionnement est réencodée en JPEG à qualité réduite avec ses dimensions de pixels inchangées. Si Claude manque les détails au niveau des pixels fins dans une grande image, demandez-lui de recadrer d’abord la région d’intérêt, par exemple avec ImageMagick via Bash.
- PDFs : Claude lit les fichiers
.pdfcourts en entier. Pour les PDFs plus longs que 10 pages, il lit par plages avec un paramètrepages, tel que"1-5", jusqu’à 20 pages à la fois. - Notebooks Jupyter : les fichiers
.ipynbretournent toutes les cellules avec leurs sorties, y compris le code, le markdown et les visualisations.
ls via l’outil Bash pour lister le contenu des répertoires.
Comportement de l’outil WebFetch
WebFetch prend une URL et une invite décrivant ce qu’il faut extraire. Il récupère la page, convertit la réponse en Markdown quand le serveur retourne du HTML, et exécute l’invite contre le contenu en utilisant un petit modèle rapide. Pour la plupart des récupérations, Claude reçoit la réponse de ce modèle, pas la page brute. L’étape de conversion n’est pas configurable. Cela rend WebFetch lossy par conception. L’invite d’extraction détermine ce qui atteint Claude, donc un résultat qui dit qu’une page ne mentionne pas quelque chose peut seulement signifier que l’invite ne l’a pas demandé. Demandez à Claude de récupérer à nouveau avec une invite plus spécifique, ou utilisezcurl via Bash pour la page non traitée.
Quelques comportements façonnent la réponse que Claude reçoit :
- Les URLs HTTP sont automatiquement mises à niveau vers HTTPS.
- Les grandes pages sont tronquées à une limite de caractères fixe avant le traitement.
- Les réponses sont mises en cache pendant 15 minutes, donc les récupérations répétées de la même URL retournent rapidement.
- Quand une URL redirige vers un hôte différent, WebFetch retourne un résultat textuel qui nomme l’URL d’origine et la cible de redirection au lieu de la suivre. Claude récupère ensuite la nouvelle URL avec un deuxième appel WebFetch.
acceptEdits, WebFetch demande la première fois qu’il atteint un nouveau domaine, sauf pour un ensemble intégré de domaines de documentation préapprouvés qui récupèrent sans demande. Pour autoriser un autre domaine à l’avance sans demande, ajoutez une règle de permission comme WebFetch(domain:example.com). Les modes de permission auto et bypassPermissions permission modes ignorent complètement la demande.
Une règle explicite WebFetch(domain:...) en mode deny, ask ou allow prend la priorité sur l’ensemble préapprouvé, donc vous pouvez bloquer un domaine préapprouvé ou exiger une demande pour celui-ci.
WebFetch définit un en-tête User-Agent commençant par Claude-User, et un en-tête Accept qui préfère Markdown à HTML afin que les serveurs qui supportent la négociation de contenu puissent retourner Markdown directement.
Vous configurez les règles de réseau sandbox séparément, donc un domaine que vous voulez qu’un processus sandboxé atteigne a toujours besoin d’une règle de permission sandbox explicite.
Comportement de l’outil WebSearch
WebSearch exécute une requête contre le backend de recherche web d’Anthropic et retourne les titres et URLs des résultats. Il ne récupère pas les pages de résultats. Pour lire une page que Claude trouve dans les résultats de recherche, il suit avec WebFetch. L’outil peut émettre jusqu’à huit recherches backend par appel, affinage de la recherche en interne avant de retourner les résultats. Claude peut limiter les résultats avecallowed_domains pour inclure uniquement certains hôtes, ou blocked_domains pour les exclure. Les deux listes ne peuvent pas être combinées dans un seul appel.
Le backend de recherche n’est pas configurable. Pour rechercher avec un fournisseur différent, ajoutez un serveur MCP qui expose un outil de recherche.
Les règles de permission WebSearch ne prennent pas de spécificateur. Une entrée WebSearch nu dans allow ou deny est la seule forme.
WebSearch est disponible sur l’API Claude, Claude Platform on AWS, et Microsoft Foundry. Sur Google Cloud’s Agent Platform, il fonctionne avec les modèles Claude 4 et versions ultérieures, y compris Opus, Sonnet et Haiku. Amazon Bedrock n’expose pas l’outil de recherche web côté serveur.
Comportement de l’outil Write
L’outil Write crée un nouveau fichier ou remplace un fichier existant avec le contenu complet fourni. Il n’ajoute pas ou ne fusionne pas. Si le chemin cible existe déjà, Claude doit avoir lu ce fichier au moins une fois dans la conversation actuelle avant de le remplacer. Une Write vers un fichier existant non lu échoue avec une erreur. Cette contrainte ne s’applique pas aux nouveaux fichiers. Afficher le fichier avec Bash satisfait également cette exigence selon les mêmes règles décrites dans comportement de l’outil Edit. Pour les modifications partielles d’un fichier existant, Claude utilise Edit au lieu de Write.Vérifier quels outils sont disponibles
Votre ensemble d’outils exact dépend de votre fournisseur, de votre plateforme et de vos paramètres. Pour vérifier ce qui est chargé dans une session en cours d’exécution, demandez directement à Claude :/mcp.
L’outil advisor est un outil serveur que l’API exécute, plutôt qu’un outil que Claude Code implémente. Il n’a pas de nom que vous pouvez référencer dans les règles de permission ou les correspondances de hook.
Voir aussi
- Serveurs MCP : ajouter des outils personnalisés en connectant des serveurs externes
- Permissions : système de permission, syntaxe des règles, et motifs spécifiques aux outils
- Subagents : configurer l’accès aux outils pour les subagents
- Hooks : exécuter des commandes personnalisées avant ou après l’exécution des outils