docs/tools/index.md
Use this page to choose the right Capabilities surface. Tools are callable actions, skills teach agents how to work, and plugins add runtime capabilities such as tools, providers, channels, hooks, and packaged skills.
This is an overview and routing page. For exhaustive tool policy, defaults, group membership, provider restrictions, and configuration fields, use Tools and custom providers.
For most agents, start with the built-in tool categories, then adjust policy only when the agent should see fewer tools or needs explicit host access.
| If you need to... | Use this first | Then read |
|---|---|---|
| Let an agent act with existing capabilities | Built-in tools | Tool categories |
| Control what an agent can call | Tool policy | Tools and custom providers |
| Teach an agent a workflow | Skills | Skills and Creating skills |
| Add a new integration or runtime surface | Plugins | Plugins and Build plugins |
| Run work later or in the background | Automation | Automation overview |
| Coordinate multiple agents or harnesses | Sub-agents | ACP agents and Agent send |
| Search a large PI tool catalog | Tool Search | Tool Search |
The model only sees tools that survive the active profile, allow/deny
policy, provider restrictions, sandbox state, channel permissions, and
plugin availability.
Skills can live in a workspace, shared skill directory, managed OpenClaw
skill root, or plugin package.
[Skills](/tools/skills) | [Creating skills](/tools/creating-skills) | [Skills config](/tools/skills-config)
[Install and configure plugins](/tools/plugin) | [Build plugins](/plugins/building-plugins) | [Plugin SDK](/plugins/sdk-overview)
The table lists representative tools so you can recognize the surface. It is not the full policy reference. For exact groups, defaults, and allow/deny semantics, use Tools and custom providers.
| Category | Use when the agent needs to... | Representative tools | Read next |
|---|---|---|---|
| Runtime | Run commands, manage processes, or use provider-backed Python analysis | exec, process, code_execution | Exec, Code execution |
| Files | Read and change workspace files | read, write, edit, apply_patch | Apply patch |
| Web | Search the web, search X posts, or fetch readable page content | web_search, x_search, web_fetch | Web tools, Web fetch |
| Browser | Operate a browser session | browser | Browser |
| Messaging and channels | Send replies or channel actions | message | Agent send |
| Sessions and agents | Inspect sessions, delegate work, steer another run, or report status | sessions_*, subagents, agents_list, session_status | Sub-agents, Session tool |
| Automation | Schedule work or respond to background events | cron, heartbeat_respond | Automation |
| Gateway and nodes | Inspect Gateway state or paired target devices | gateway, nodes | Gateway configuration, Nodes |
| Media | Analyze, generate, or speak media | image, image_generate, music_generate, video_generate, tts | Media overview |
| Large PI catalogs | Search and call many eligible tools without sending every schema to the model | tool_search_code, tool_search, tool_describe | Tool Search |
Plugins can register additional tools. Plugin authors wire tools through
api.registerTool(...) and the manifest's contracts.tools; use
Plugin SDK and Plugin manifest
for contract details.
Common plugin-provided tools include:
exec and bash tool
outputTool policy is enforced before the model call. If policy removes a tool, the model does not receive that tool's schema for the turn. A run can lose tools because of global config, per-agent config, channel policy, provider restrictions, sandbox rules, owner-only gating, or plugin availability.
Choose the extension path by the job you need OpenClaw to do:
If the model cannot see or call a tool, start with the effective policy for the current turn:
tools.allow, and tools.deny in
Tools and custom providers.