Built-in Tools
Every tool OpenClaw ships with — from file operations to browser automation.
Core tools (read, exec, edit, write) are always available, subject to tool policy. TOOLS.md in your workspace doesn't control which tools exist — it's guidance for how you want them used.
Core Tools (Always Available)
Read
Read file contents from the filesystem. Supports reading entire files or specific line ranges. The fundamental tool for understanding existing code before making changes.
Write
Create or overwrite files on the filesystem. Used for generating new files, writing configuration, or replacing file contents entirely when a full rewrite is needed.
Edit
Make targeted edits to existing files using find & replace. More precise than a full write — only the matched section is changed, leaving the rest of the file intact.
Exec
Execute shell commands. Parameters: command, yieldMs (default 10s), background mode, timeout (default 1800s), and elevated support. Foreground returns output directly; background returns a sessionId + status for polling.
apply_patch Tool
Optional tool gated by the tools.exec.applyPatch config flag. Applies a structured patch format for multi-file or multi-hunk edits — more efficient than multiple single edit calls when you need coordinated changes across several files.
openclaw config set tools.exec.applyPatch true
Once enabled, the agent can submit unified-diff-style patches that modify multiple files in a single tool call, reducing round trips and improving atomicity of related changes.
Browser Tools
Browser (OpenClaw-managed)
Full browser automation. OpenClaw launches and controls a Chromium instance. Navigate pages, click elements, fill forms, extract data — all within a managed session with login persistence.
Browser Login
Authenticate to websites and save sessions for reuse. Handles login flows so subsequent browser actions can operate in an authenticated context without re-entering credentials.
Chrome Extension
Extend browser capabilities with the OpenClaw Chrome extension. Enables deeper DOM access and event injection for pages that resist standard automation techniques.
Lobster
OpenClaw's dedicated browser automation engine. Named after the project mascot 🦞. Lobster handles complex multi-step web workflows — navigating pages, interacting with dynamic elements, filling forms, and extracting structured data from web applications that require JavaScript rendering.
Lobster is purpose-built for scenarios where simple HTTP fetch isn't enough: SPAs, pages behind authentication, and multi-step wizards that require maintaining state across interactions.
Web Tools
Built-in utilities for web interactions without launching a full browser. Fetch URLs, parse HTML, and search the web — lightweight alternatives for pages that don't require JavaScript rendering or complex interaction patterns.
Use Web Tools when you need to grab content from a URL, scrape a static page, or perform a quick web search. For anything that requires clicking, scrolling, or authenticated sessions, reach for Browser or Lobster instead.
LLM Task
Delegate sub-tasks to another LLM call within the current agent run. The agent spawns a focused LLM invocation for a specific job, then incorporates the result back into its workflow.
Useful for:
- Summarizing long content that would consume too much context
- Translating text between languages
- Generating structured data (JSON, YAML) from unstructured input
- Classification and extraction tasks embedded in larger workflows
Elevated Mode
Run commands with elevated (sudo/admin) privileges when needed. Controlled via /elevated directives and subject to allowlist restrictions. Use for operations like installing system packages or modifying protected files.
/elevated on # enable for next commands
/elevated off # disable
Elevated mode is opt-in per command group. The agent will not escalate privileges without an explicit directive, and the allowlist ensures only approved commands can run with elevated access.
Thinking Levels
Control the agent's reasoning depth for different tasks:
- Default — standard reasoning, suitable for most tasks
- Extended — deeper analysis for complex tasks like architecture decisions, multi-step debugging, or nuanced code review
Configured via agents.defaults.thinkingLevel in your workspace config, or overridden per-message when you need the agent to think harder about a specific problem.
Reactions
The agent can react to messages with emoji reactions on chat platforms (WhatsApp, Telegram, Discord) to acknowledge receipt before a full response is ready. A lightweight feedback mechanism that lets users know the agent has seen their message and is working on it.
Process Management
Background exec tasks are tracked in memory. Long-running commands auto-background after the yieldMs timeout elapses, allowing the agent to continue working while the process runs. Use the process tool to poll status or clear completed sessions.
openclaw process list # see all active background sessions
openclaw process clear <sessionId> # terminate and clean up a session
Tool Policy
Tools respect the agent's tool policy. Configure which tools are allowed, denied, or require confirmation in openclaw.json:
{
"agents": {
"defaults": {
"toolPolicy": {
"exec": "ask",
"write": "ask",
"read": "allow"
}
}
}
}
Policy values: "allow" (no confirmation needed), "ask" (agent requests permission before use), and "deny" (tool is blocked entirely). This gives you fine-grained control over what the agent can do autonomously versus what requires your approval.
Tools in Agent Architecture
OpenClaw's tool system implements the same Tool interface pattern used across all modern AI agents. Understanding tool contracts, sandboxing, and policy is essential for building your own agent applications.
Explore Agent Design Patterns