Tools
Understand OpenClaw tools, tool policy, approvals, media capabilities, Tool Search, and how tools differ from skills and plugins.
Tools are callable actions the model can use. A tool can read files, run commands, search the web, operate a browser, send a message, inspect a session, create media, or control a paired node.
OpenClaw's tool surface is filtered before every model call. If policy removes a tool, the model does not see its schema for that turn.
Tools, Skills, and Plugins
| Surface | What it is | Use it when |
|---|---|---|
| Tool | A typed callable function | The agent needs to act |
| Skill | A SKILL.md instruction pack | The agent needs a repeatable workflow or rubric |
| Plugin | Installable runtime code | OpenClaw needs a new tool, provider, channel, hook, or packaged skill |
This distinction matters. If the agent already has a browser tool but needs your company's research workflow, write a skill. If OpenClaw cannot talk to the service at all, build or install a plugin.
Built-In Tool Categories
| Category | Representative tools | Purpose |
|---|---|---|
| Runtime | exec, process, code_execution | Commands, long-running processes, provider-backed analysis |
| Files | read, write, edit, apply_patch | Workspace file inspection and changes |
| Web | web_search, x_search, web_fetch | Search, social search, readable page extraction |
| Browser | browser | Authenticated browsing and UI automation |
| Messaging | message | Send replies and channel actions |
| Sessions | sessions_*, session_status, goal | Inspect, continue, steer, or summarize agent work |
| Agents | subagents, agents_list | Delegate or inspect agent topology |
| Automation | cron, heartbeat_respond | Scheduled or background behavior |
| Gateway and nodes | gateway, nodes | Gateway state and paired device actions |
| Media | image, image_generate, music_generate, video_generate, tts | Understand, generate, or speak media |
| Large catalogs | tool_search, tool_describe, tool_search_code | Discover tools without loading every schema |
File and Patch Tools
The file tools are simple but high impact:
readinspects files.writecreates or replaces files.editmakes targeted changes.apply_patchapplies multi-file changes in one structured patch.
Use apply_patch when a coherent change spans several files. It is a subtool of exec, available by default for OpenAI and OpenAI Codex models.
Important details:
tools.exec.applyPatch.workspaceOnlydefaults totrue.- Patch paths may be relative to the workspace or absolute;
workspaceOnlyblocks writes and deletes outside the workspace. - Denying
writedoes not automatically denyapply_patch; denyapply_patchexplicitly or denygroup:fs. - Set
tools.exec.applyPatch.enabled: falseto disable it for OpenAI models.
openclaw config set tools.exec.applyPatch.enabled false
openclaw config set tools.deny '["group:fs"]'Exec and Process Tools
exec runs shell commands. Long-running tasks can become background processes and be polled later through process/session tools.
Approval policy decides whether commands run directly, ask first, or are denied. Elevated execution is a separate escape path and should be treated as a deliberate operator action.
openclaw approvals get
openclaw exec-policy showBrowser and Web
Use web_fetch or web_search for simple web lookup. Use browser when the task needs login state, clicking, scrolling, forms, screenshots, or JS-heavy pages.
openclaw browser login https://example.com
openclaw browser statusOpenClaw also supports multiple web search providers through configuration and plugins. Key-free search providers remain explicit opt-ins rather than surprising automatic fallbacks.
Media and Voice
OpenClaw's media capabilities are now broader than image understanding:
- image understanding and generation
- video generation through supported providers
- music generation through supported providers
- PDF analysis
- text-to-speech
- inbound voice notes and talk modes through supported nodes/plugins
Treat media tools as provider-backed capabilities. Their availability depends on installed plugins, selected provider, credentials, and policy.
Tool Search
Large tool catalogs can become too expensive to put in every prompt. Tool Search keeps the catalog compact by letting the agent search and describe eligible tools before calling them.
Use this when:
- many plugins are installed
- a provider cannot accept the full schema set
- you want a discovery step before tool execution
Tool Search is experimental and runtime-dependent. Some coding harnesses use their own native tool search instead of OpenClaw's tools.toolSearch.
Policy Layers
A tool can disappear from a turn because of:
- global
tools.allowortools.deny - active tool profile
- per-agent restrictions
- provider/model restrictions
- channel policy
- sandbox state
- elevated mode settings
- plugin availability
Start from a small tool profile and widen only when needed:
{
"tools": {
"profile": "messaging",
"exec": { "security": "ask" },
"fs": { "workspaceOnly": true },
"deny": ["browser"],
"allow": []
}
}Missing Tool Checklist
- Confirm the plugin that owns the tool is installed and enabled.
- Check active profile, allowlist, and denylist.
- Check provider restrictions.
- Check sandbox and elevated settings.
- Check channel/runtime policy.
- For delegated work, check per-agent tool restrictions.
Tool contracts are architecture
A production agent is only as trustworthy as its tool boundary. OpenClaw makes those boundaries visible: schema exposure, policy filtering, approvals, sandboxing, and provider compatibility all happen before the model acts.
Continue with practice
You have finished the core ideas of Tools.
If you want to turn the idea into something reusable, continue practicing on AgentWay.