What Does the Claude Tool Do? A Plain Explanation
If you've seen the phrase "Claude tool" or "tool use" in documentation, a changelog, or an API response and wondered what it actually means, here's the short answer: a tool is a function you give Claude permission to call. Instead of only generating text from what it already knows, Claude can pause mid-response, request that a specific piece of code run on your side (or a built-in capability run on Anthropic's side), get the result back, and use that result to finish its answer.
So "what does the Claude tool do" doesn't refer to one single feature — it refers to a mechanism. Claude itself decides, based on the conversation, whether it needs outside help to answer well. If it does, it emits a structured request (a tool call) instead of plain text. Your application (or Anthropic's infrastructure, for built-in tools) executes that request and sends the result back into the conversation. Claude then reads the result and continues.
The core idea in one example
Imagine you ask Claude: "What's 47293 × 88214, and is today's date a weekday in Tokyo?" Claude's training doesn't give it live access to a calendar or a guaranteed-correct calculator. Without tools, it would guess and possibly get the arithmetic wrong. With tools, it can:
- Call a
calculatortool with the two numbers - Call a
get_current_timetool withtimezone: Asia/Tokyo - Receive both results as structured data
- Compose a final answer using the actual numbers, not a guess
That's the entire mechanism. Tools don't make Claude "smarter" in the abstract — they give it accurate, current, or system-specific information and the ability to trigger real actions, like querying a database, sending an email, or updating a record.
Built-in tools vs. custom tools
There are two categories worth distinguishing:
Built-in tools are capabilities Anthropic provides directly, such as web search, code execution, or computer use (letting Claude operate a virtual screen, mouse, and keyboard). These run in Anthropic's environment and you enable them with a flag or parameter — you don't write the execution logic yourself.
Custom tools are functions you define. You describe the tool's name, purpose, and expected input format (usually JSON schema). Claude decides when to call it; your code does the actual work — hitting your database, calling a third-party API, running a calculation, whatever the tool is meant to do — and returns the result.
A typical custom tool definition looks like this:
{
"name": "get_order_status",
"description": "Look up the current status of a customer order by order ID",
"input_schema": {
"type": "object",
"properties": {
"order_id": { "type": "string" }
},
"required": ["order_id"]
}
}
When Claude calls this tool, it sends back a request with order_id filled in. Your server looks up the order, returns something like {"status": "shipped", "eta": "2024-06-14"}, and Claude turns that into a natural-language answer for the user.
What a tool call actually looks like in the API
When Claude decides to use a tool, the response you get back isn't plain text — it's a structured message with a tool_use block containing the tool name and the input Claude wants to pass. Your job is to run that tool and send the result back as a tool_result block in the next message. This request/response loop can happen multiple times in a single turn if Claude needs several pieces of information before it can answer.
If you're building on Claude through SubToAPI, this loop works the same way through the standard messages endpoint — you define your tools in the request, SubToAPI passes them through to Claude, and you get back the same tool_use structure to act on. See /docs/tools for the request format and /docs/messages for how tool calls fit into a normal conversation.
Why tools matter for real applications
Without tools, an LLM is limited to what it learned during training, plus whatever text you paste into the prompt. Tools remove that ceiling. A few common uses:
- Fetching live data — stock prices, weather, inventory levels, order status
- Performing exact calculations — anything where approximate math isn't acceptable
- Taking actions — creating a calendar event, sending a Slack message, updating a CRM record
- Querying internal systems — searching your own documentation, database, or knowledge base
- Controlling software — the computer use tool lets Claude click, type, and navigate a screen for automation tasks
In practice, most production agents combine a handful of custom tools with one or two built-in ones, and let Claude decide which to call based on the user's request.
A minimal example
curl https://api.subtoapi.app/v1/messages \
-H "Authorization: Bearer $SUBTOAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4",
"max_tokens": 512,
"tools": [{
"name": "get_weather",
"description": "Get current weather for a city",
"input_schema": {
"type": "object",
"properties": { "city": { "type": "string" } },
"required": ["city"]
}
}],
"messages": [{ "role": "user", "content": "Should I bring an umbrella in Lisbon today?" }]
}'
Claude will respond with a tool_use block requesting get_weather with city: "Lisbon". You fetch the actual weather, send it back, and Claude gives a real answer instead of a guess. The /docs/quickstart page walks through the full round trip if you're setting this up for the first time.
Getting started
If you're already using Claude through a personal subscription and want to expose that same model — with tool calling — as an API for your own product, SubToAPI turns your access into standard HTTPS endpoints with API keys, streaming, and usage tracking, so you don't need a separate enterprise API contract to start building. Check /pricing for plan details or /signup to get a key and try it against your own tool definitions.
FAQs
Does Claude decide on its own when to use a tool? Yes. You provide the list of available tools and their descriptions, but Claude decides, per message, whether a tool call is needed to answer well. You never force a specific tool call unless you explicitly configure it that way.
Can Claude use multiple tools in one conversation turn? Yes. Claude can call one tool, read the result, then call another tool based on what it learned, repeating this until it has enough information to respond, all within a single user turn.
Is "computer use" the same as regular tool use? Computer use is a specific built-in tool that lets Claude interact with a virtual screen — clicking, typing, taking screenshots. It uses the same tool-calling mechanism as custom tools, just with a predefined interface Anthropic provides.