Skip to main content
Tools are capabilities that Claude can invoke during a session to take action — reading files, running commands, searching the web, managing tasks, and more. Each tool call is visible in Claude’s output so you can see exactly what Claude is doing and why.

What tools are

When Claude receives a request, it can use tools to gather information, make changes, and complete tasks. Tools are invoked by name with structured inputs. Results are returned to Claude, which then continues its response. Tools are not all active by default. Some tools require explicit user approval before they run. Others are gated by permission mode or available only in specific contexts (for example, task management tools are only available to in-process teammates in multi-agent workflows).

Full list of tools

How tool permissions work

Every tool that can modify state or access external resources requires permission before it runs. Claude requests permission at the point of use — you see the proposed tool call and can approve or deny it. Permission behaviors:
  • Allow — Claude runs the tool automatically without asking. This happens when a rule matching the tool and input already exists in your settings.
  • Ask — Claude pauses and presents the tool call to you. You can approve it once, approve it for the remainder of the session, or deny it.
  • Deny — Claude is blocked from running the tool. A denied tool call returns an error to Claude.
Permission rules are stored per-project. Approving a tool call with “always allow” writes a rule to your project settings so future identical calls are auto-approved.
Permission modes control the default behavior for all tools in a session: The --permission-mode CLI flag sets the mode at session start. See the Commands overview for details.

Seeing what Claude is doing

Every tool invocation appears in Claude’s output as a tool use block. You can see:
  • The tool name
  • The exact inputs Claude provided (command string, file path, search pattern, etc.)
  • The result returned to Claude (stdout, file contents, search matches, etc.)
Read-only operations like Grep, Glob, and Read are shown in a collapsed view by default since they don’t modify state. Write operations and shell commands are shown expanded.
If Claude is doing something unexpected, check the tool use blocks to see the exact inputs it used. This makes it straightforward to identify if Claude misread a path, used the wrong pattern, or ran an unintended command.