Capabilities

Tools

12 min

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

SurfaceWhat it isUse it when
ToolA typed callable functionThe agent needs to act
SkillA SKILL.md instruction packThe agent needs a repeatable workflow or rubric
PluginInstallable runtime codeOpenClaw 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

CategoryRepresentative toolsPurpose
Runtimeexec, process, code_executionCommands, long-running processes, provider-backed analysis
Filesread, write, edit, apply_patchWorkspace file inspection and changes
Webweb_search, x_search, web_fetchSearch, social search, readable page extraction
BrowserbrowserAuthenticated browsing and UI automation
MessagingmessageSend replies and channel actions
Sessionssessions_*, session_status, goalInspect, continue, steer, or summarize agent work
Agentssubagents, agents_listDelegate or inspect agent topology
Automationcron, heartbeat_respondScheduled or background behavior
Gateway and nodesgateway, nodesGateway state and paired device actions
Mediaimage, image_generate, music_generate, video_generate, ttsUnderstand, generate, or speak media
Large catalogstool_search, tool_describe, tool_search_codeDiscover tools without loading every schema

File and Patch Tools

The file tools are simple but high impact:

  • read inspects files.
  • write creates or replaces files.
  • edit makes targeted changes.
  • apply_patch applies 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.workspaceOnly defaults to true.
  • Patch paths may be relative to the workspace or absolute; workspaceOnly blocks writes and deletes outside the workspace.
  • Denying write does not automatically deny apply_patch; deny apply_patch explicitly or deny group:fs.
  • Set tools.exec.applyPatch.enabled: false to disable it for OpenAI models.
bash
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.

bash
openclaw approvals get
openclaw exec-policy show

Browser 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.

bash
openclaw browser login https://example.com
openclaw browser status

OpenClaw 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.allow or tools.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:

json
{
  "tools": {
    "profile": "messaging",
    "exec": { "security": "ask" },
    "fs": { "workspaceOnly": true },
    "deny": ["browser"],
    "allow": []
  }
}

Missing Tool Checklist

  1. Confirm the plugin that owns the tool is installed and enabled.
  2. Check active profile, allowlist, and denylist.
  3. Check provider restrictions.
  4. Check sandbox and elevated settings.
  5. Check channel/runtime policy.
  6. 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.