Référence des outils
Répertoire des outils serveur, outils client et ensembles d'outils client fournis par Anthropic, ainsi que la référence des propriétés optionnelles de définition d'outils.
Cette page est une référence pour les outils fournis par Anthropic et les propriétés optionnelles que vous pouvez définir sur n'importe quelle définition d'outil. Pour une introduction conceptuelle au « tool use » (utilisation d'outils), consultez Utilisation d'outils avec Claude. Pour des conseils sur la mise en œuvre de l'utilisation d'outils dans votre application, consultez Définir des outils.
Outils fournis par Anthropic
Anthropic fournit deux types d'outils : les outils serveur (server tools) qui s'exécutent sur l'infrastructure d'Anthropic, et les outils client (client tools) pour lesquels Anthropic définit le schéma mais dont votre application gère l'exécution. Les deux types apparaissent dans le tableau tools de votre requête aux côtés de tous les outils définis par l'utilisateur.
| Outil | type | Exécution | En-tête bêta |
|---|---|---|---|
| Outil de recherche web | web_search_20260318web_search_20260209web_search_20250305 | Serveur | Aucun |
| Outil de récupération web | web_fetch_20260318web_fetch_20260309web_fetch_20260209web_fetch_20250910 | Serveur | Aucun |
| Outil d'exécution de code | code_execution_20260521code_execution_20260120code_execution_20250825 | Serveur | Aucun |
| Outil conseiller | advisor_20260301 | Serveur | advisor-tool-2026-03-01 |
| Outil de recherche d'outils | tool_search_tool_regex_20251119tool_search_tool_bm25_20251119 | Serveur | Aucun |
| Connecteur MCP | mcp_toolset | Serveur | mcp-client-2025-11-20 |
| Outil de mémoire | memory_20250818 | Client | Aucun |
| Outil Bash | bash_20250124 | Client | Aucun |
| Outil d'édition de texte | text_editor_20250728text_editor_20250124 | Client | Aucun |
| Outil d'utilisation de l'ordinateur | computer_toolset_20260801computer_20251124computer_20250124 | Client | Aucuncomputer-use-2025-11-24computer-use-2025-01-24 |
| Outil d'utilisation du navigateur | browser_toolset_20260801 | Client | Aucun |
Pour la compatibilité des modèles, consultez la page de chaque outil. Les modèles pris en charge varient selon l'outil et selon la version de l'outil.
Gestion des versions des outils
La plupart des outils fournis par Anthropic portent un suffixe _YYYYMMDD dans la chaîne type. Une nouvelle version est publiée lorsque le comportement, le schéma ou la prise en charge des modèles de l'outil change. Les anciennes versions restent disponibles afin que les intégrations existantes continuent de fonctionner.
Lorsqu'un outil possède plusieurs versions actives, la relation entre elles varie :
- Selon les capacités :
web_search_20260209etweb_fetch_20260209ajoutent un filtrage dynamique du contenu par rapport à leurs prédécesseurs ;web_fetch_20260309ajoute une option de contournement du cache ;web_search_20260318etweb_fetch_20260318ajoutent un contrôle de l'inclusion dans la réponse.code_execution_20260120ajoute l'appel d'outils programmatique depuis le bac à sable ;code_execution_20260521indique la limite de temps par cellule dans la description de l'outil. Dans chaque cas, la nouvelle et l'ancienne version sont toutes deux actuelles ; celle que vous utilisez dépend de votre besoin ou non de la nouvelle capacité. - Selon le modèle :
text_editor_20250728est destiné aux modèles Claude 4 et ultérieurs, ettext_editor_20250124aux modèles antérieurs. La version que vous utilisez dépend du modèle que vous ciblez. - Variante, pas version :
tool_search_tool_regex_20251119ettool_search_tool_bm25_20251119sont deux algorithmes de recherche publiés ensemble. Aucun ne remplace l'autre. - Hérité :
code_execution_20250522ne prend en charge que Python.code_execution_20250825ajoute Bash et les opérations sur les fichiers. - Successeur :
computer_toolset_20260801est le successeur stable des versions bêtacomputer_20251124etcomputer_20250124, qui restent disponibles sur les modèles indiqués pour elles dans Versions antérieures de l'outil.browser_toolset_20260801est la première version de l'outil d'utilisation du navigateur. Tous deux sont des ensembles d'outils client.
Le type mcp_toolset n'est pas versionné par date ; la gestion des versions est portée par l'en-tête anthropic-beta à la place.
Ensembles d'outils client
L'outil d'utilisation de l'ordinateur et l'outil d'utilisation du navigateur sont des « client toolsets » (ensembles d'outils client) définis par Anthropic : une seule entrée dans tools déclare un ensemble fixe d'outils membres dont Anthropic définit les noms, les descriptions et les schémas d'entrée, et votre application exécute chaque appel. L'entrée ne prend pas de name, car le type daté fixe les noms des membres. configs, cache_control et allowed_callers (qui n'accepte que ["direct"]) sont optionnels.
Les ensembles d'outils client sont des outils de l'API Messages. Ils ne sont actuellement pas disponibles en tant qu'outils d'agent dans Claude Managed Agents, qui fournit son propre ensemble d'outils d'agent intégré, des ensembles d'outils MCP et des outils personnalisés.
{
"type": "browser_toolset_20260801",
"configs": {
"javascript_exec": { "enabled": true }
},
"cache_control": { "type": "ephemeral" }
}configs ajuste les membres individuels :
- Les clés sont les noms des membres, et chaque valeur n'accepte que
enabledetdefer_loading. - Un membre que vous omettez conserve ses valeurs par défaut. Une valeur absente,
{}et une valeur par défaut réaffirmée sont équivalentes. - Un nom de membre inconnu ou tout autre champ dans la valeur d'un membre est rejeté, tout comme un
configsqui désactive tous les membres (omettez plutôt l'entrée). - Un membre désactivé est retiré des outils que Claude voit. Si Claude le nomme malgré tout, renvoyez un
tool_resultd'erreur.
Définissez defer_loading par membre, jamais sur l'entrée, et donnez la même valeur à chaque membre activé : avec la recherche d'outils, l'ensemble d'outils se charge et se développe comme une seule définition. Lorsque chaque membre activé est différé, seul un outil de recherche d'outils qui n'est pas lui-même différé peut faire apparaître l'ensemble d'outils ; déclarez-en donc un dans la même requête. Ne placez pas cache_control sur une entrée d'ensemble d'outils dont les membres sont différés ; définissez plutôt le point d'arrêt sur un outil non différé, car les définitions différées ne font pas partie du préfixe mis en cache.
cache_control se place uniquement sur l'entrée ; pour savoir où le point d'arrêt se situe, y compris les marqueurs à l'intérieur d'une action par lot, consultez Utilisation d'outils avec la mise en cache des prompts.
Gérer les appels aux outils membres. Claude appelle un membre avec un bloc tool_use dont le name est le nom du membre et dont le toolset_name est computer ou browser ; input contient les paramètres de ce membre et aucun champ action. Effectuez la répartition sur la paire toolset_name et name, car un outil personnalisé peut partager le nom d'un membre et les deux ensembles d'outils partagent des noms tels que screenshot. Seuls les résultats des membres renvoient toolset_name. Plusieurs appels de membres dans un même tour forment une action par lot que vous exécutez dans l'ordre (utilisation de l'ordinateur, utilisation du navigateur). De nouveaux membres n'arrivent qu'avec un nouveau type daté.
Non pris en charge sur les entrées d'ensembles d'outils. L'API rejette chacun des éléments suivants avec une invalid_request_error :
strict: trueouinput_examples.defer_loadingsur l'entrée, ou des membres activés dont les valeursdefer_loadingdiffèrent (définissez-le par membre dansconfigs, tous à la même valeur).- Un appelant d'exécution de code dans
allowed_callers(pas d'appel d'outils programmatique). - L'en-tête bêta hérité
fine-grained-tool-streaming-2025-05-14. Lorsque vous utilisez le streaming, l'inputde chaque membre arrive sous la forme d'un seulinput_json_deltacomplet. - Un
tool_choicede typetoolqui nomme l'ensemble d'outils ou un membre (utilisezauto,anyounone). - Deux entrées du même ensemble d'outils, ou un autre outil qui porte le nom de cet ensemble d'outils : un outil nommé
computeraux côtés decomputer_toolset_20260801, ou un outil nommébrowseraux côtés debrowser_toolset_20260801. Les deux ensembles d'outils peuvent être déclarés ensemble.
Propriétés de définition d'outils
Chaque outil du tableau tools, y compris les outils définis par l'utilisateur, accepte des propriétés optionnelles qui contrôlent la façon dont l'outil est chargé, qui peut l'appeler et comment ses entrées sont validées. Ces propriétés se combinent : vous pouvez définir defer_loading, cache_control et strict sur le même outil.
| Propriété | Objectif | Disponible sur | Guide détaillé |
|---|---|---|---|
cache_control | Définir un point d'arrêt de cache de prompt au niveau de cette définition d'outil | Tous les outils (sur computer_toolset_20260801 et browser_toolset_20260801, définissez-le sur l'entrée de l'ensemble d'outils elle-même, et non à l'intérieur des configs des membres) | Mise en cache des prompts |
strict | Garantir la validation du schéma sur les noms et les entrées des outils | Tous les outils sauf mcp_toolset, computer_toolset_20260801 et browser_toolset_20260801 | Utilisation d'outils stricte |
defer_loading | Exclure l'outil de l'invite système initiale ; le charger à la demande lorsque la recherche d'outils renvoie une tool_reference pour celui-ci | Tous les outils (pour mcp_toolset, consultez la configuration des outils). Sur les ensembles d'outils d'utilisation de l'ordinateur et d'utilisation du navigateur, définissez-le par membre à l'intérieur de configs ; consultez Ensembles d'outils client. | Outil de recherche d'outils |
allowed_callers | Restreindre les appelants autorisés à appeler l'outil | Tous les outils sauf mcp_toolset (sur computer_toolset_20260801 et browser_toolset_20260801, seul ["direct"] est accepté ; consultez Ensembles d'outils client) | Appel d'outils programmatique |
input_examples | Fournir des exemples d'objets d'entrée pour aider Claude à comprendre comment appeler l'outil | Outils définis par l'utilisateur et outils client à schéma Anthropic, sauf computer_toolset_20260801 et browser_toolset_20260801. Non disponible sur les outils serveur. | Définir des outils |
eager_input_streaming | Activer le streaming d'entrée à granularité fine (true) ou conserver le streaming standard avec mise en mémoire tampon (false) pour cet outil | Outils définis par l'utilisateur uniquement | Streaming d'outils à granularité fine |
Valeurs de allowed_callers
allowed_callers est un tableau qui accepte n'importe quelle combinaison de :
| Valeur | Signification |
|---|---|
"direct" | Le modèle peut appeler cet outil directement dans un bloc tool_use. C'est la valeur par défaut si allowed_callers est omis. |
"code_execution_20260120" | Le code s'exécutant à l'intérieur d'un bac à sable code_execution_20260120 ou ultérieur peut appeler cet outil. |
"code_execution_20260120" et "code_execution_20260521" sont tous deux acceptés dans allowed_callers et sont interchangeables : une requête utilisant l'une ou l'autre version de l'outil d'exécution de code satisfait les outils qui listent l'un ou l'autre appelant. Les blocs de réponse étiquettent toujours l'appelant comme code_execution_20260120, quelle que soit la version déclarée par la requête.
Omettre "direct" du tableau (par exemple, "allowed_callers": ["code_execution_20260120"]) incite Claude à n'appeler l'outil que depuis l'exécution de code. Le bloc tool_use de la réponse inclut un champ caller qui identifie quel appelant a appelé l'outil. Consultez Appel d'outils programmatique pour le traitement complet, y compris la forme de la réponse caller et le comportement en cas d'erreur.
defer_loading et mise en cache des prompts
Les outils avec defer_loading: true sont retirés de la section des outils rendue avant le calcul de la clé de cache. Ils n'apparaissent pas du tout dans le préfixe de l'invite système. Lorsque la recherche d'outils découvre un outil différé et renvoie une tool_reference pour celui-ci, la définition complète de l'outil est développée en ligne à cet endroit du corps de la conversation, et non dans le préfixe.
Cela signifie que defer_loading: true préserve votre cache de prompt. Vous pouvez ajouter des outils différés à une requête sans invalider une entrée de cache existante, et le cache reste valide entre le tour où l'outil est découvert et le tour où il est appelé.
Pour savoir comment combiner defer_loading avec les points d'arrêt cache_control, consultez les conseils sur la mise en cache des prompts de l'outil de recherche d'outils.
Was this page helpful?