Skip to Content
FrameworksOpenclawTools & Capabilities

OpenClaw Tools & Capabilities

OpenClaw agents have access to five built-in tools that let them interact with the web, manage files, perform calculations, and remember information. All tools work out of the box on Hatcher — no setup required unless you want to bring your own API keys.

All built-in tools are available on every Hatcher plan including Free. BYOK key configuration never affects tool availability. See pricing


Tool Overview

ToolWhat it doesRequires API key?Available on
Web SearchSearch the web in real timeYes (Tavily, Brave, etc.)All plans
MemoryStore and recall informationNoAll plans
File OperationsRead, write, list workspace filesNoAll plans
CalculatorEvaluate math expressionsNoAll plans
Web FetchFetch and read any URLNoAll plans

The web search tool lets your agent query the internet in real time for up-to-date information. On Hatcher, Tavily is the default search provider — your agent can search without any extra setup.

Default Provider: Tavily

Hatcher preconfigures Tavily search for all OpenClaw agents. No API key required on your end.

// openclaw.json — Hatcher default (auto-configured) { "tools": { "web": { "search": { "enabled": true, "provider": "tavily" } } } }

BYOK: Other Providers

With BYOK, you can swap in any supported search provider:

{ "tools": { "web": { "search": { "enabled": true, "provider": "tavily", "apiKey": "tvly-your-key-here" } } } }

Get a key at app.tavily.com 

When a user asks a question that benefits from current information, the agent automatically invokes the search tool:

User: What's the latest news about AI agents? Agent thinks: I need current info → calls web_search("latest AI agent news 2024") Result: [ { title: "...", url: "...", snippet: "..." }, { title: "...", url: "...", snippet: "..." }, ... ] Agent synthesizes results and responds with sources.

Query Tips

The agent controls query generation automatically, but you can guide it in your SOUL.md:

<!-- SOUL.md excerpt --> When searching the web: - Always cite your sources with URLs - Prefer results from the last 30 days for news topics - Search in the user's language when possible

Limitations

  • Search results are text snippets, not full page content. For full page content, use Web Fetch.
  • Result count varies by provider (typically 5–10 results per query).
  • Rate limits apply based on your search provider’s plan.

Memory

OpenClaw’s memory system lets agents remember information across conversations. Memory is stored as plain Markdown files in the agent’s workspace volume — no database required.

How Memory Works

┌─────────────────────────────────┐ │ Agent Workspace │ │ /home/node/.openclaw/agents/ │ │ └── agent-main/ │ │ ├── SOUL.md ← identity │ │ ├── memory/ │ │ │ ├── user-prefs.md │ │ │ ├── facts.md │ │ │ └── context.md │ │ └── vector-index/ │ │ └── (semantic search) │ └─────────────────────────────────┘

The agent has two memory operations:

OperationDescription
memory_writeSave a note or fact to a memory file
memory_searchSemantically search across all memory files

Writing Memories

The agent automatically writes memories when instructed or when it determines information is worth saving:

User: Remember that I prefer short, bullet-point answers. Agent: I'll remember that! → memory_write({ file: "user-prefs.md", content: "User prefers short, bullet-point answers." })

You can also instruct memory behavior in SOUL.md:

<!-- SOUL.md --> Always remember: - The user's name when they tell you - Any preferences they express about format or tone - Important decisions made in past conversations

Searching Memories

When a user asks something that might relate to past context, the agent uses semantic search:

User: What did we decide about the project name? Agent: Let me check my memory... → memory_search("project name decision") Result: Found in context.md: "User decided to name the project 'Atlas' on 2024-03-15." Agent: Based on our past conversation, you decided to name the project "Atlas".

Memory Persistence

Memories survive container restarts. On Hatcher:

  • Memory files are stored in a Docker volume bound to your agent
  • Files persist across auto-sleep/wake cycles
  • Memories are not shared between different agents
  • You can browse memory files via the File Manager on every tier

SOUL.md — Agent Identity

SOUL.md is a special memory file that defines your agent’s personality and system prompt. It is loaded at startup and cannot be overwritten by the memory tool at runtime.

# My Agent You are a helpful assistant specializing in software development. ## Personality - Concise and direct - Uses code examples when relevant - Asks clarifying questions before diving in ## Capabilities You have access to web search, file operations, and memory. Always cite sources when using web search.

File Operations

The file operations tool gives your agent access to a persistent workspace directory where it can read, write, and manage files. This is useful for agents that process documents, generate reports, or maintain structured data.

Workspace Location

Each agent gets an isolated workspace at:

/workspace/ (inside the container)

On Hatcher, this is mounted from a Docker volume scoped to your agent.

Available Operations

OperationDescriptionExample use case
file_readRead the contents of a fileLoad a config, read a document
file_writeWrite or overwrite a fileSave a report, update a config
file_appendAppend content to a fileLog entries, grow a dataset
file_listList files in a directoryBrowse workspace contents
file_deleteDelete a fileClean up temp files
file_searchSearch file contents by keywordFind specific data in files

Examples

Reading a file:

User: Summarize the contents of report.txt Agent: → file_read("/workspace/report.txt") Result: "Q1 Revenue: $1.2M, Q2 Revenue: $1.5M..." Agent: Here's a summary of report.txt: ...

Writing a file:

User: Save our conversation summary to summary.md Agent: → file_write("/workspace/summary.md", "# Summary\n\n...") Agent: Saved to summary.md in your workspace.

Listing files:

User: What files are in my workspace? Agent: → file_list("/workspace/") Result: ["report.txt", "config.json", "notes.md"] Agent: Your workspace contains: report.txt, config.json, notes.md

File Size Limits

PlanWorkspace size
Free2 GB
Starter10 GB
Pro25 GB
Business50 GB
Founding Member40 GB

File Manager UI and file operations are included on every Hatcher tier. Workspace values are quotas, not preallocated disk reservations.

Security

  • File operations are sandboxed to the workspace directory. The agent cannot access the host filesystem or other agents’ workspaces.
  • No Docker socket access — containers cannot spawn new processes outside the agent’s PID namespace.

Calculator

The calculator tool evaluates mathematical expressions and returns precise numeric results. It handles everything from basic arithmetic to complex expressions.

Supported Operations

CategoryExamples
Arithmetic2 + 2, 100 / 4, 7 * 8 - 3
Exponents2^10, sqrt(144), 9^0.5
Trigonometrysin(PI/2), cos(0), tan(PI/4)
Logarithmslog(100), ln(e), log2(1024)
ConstantsPI, E, Infinity
Bitwise255 & 15, 1 << 8
Parentheses(3 + 4) * (2 - 1)

Examples

User: What's 15% of $847.50? Agent: → calculator("847.50 * 0.15") Result: 127.125 Agent: 15% of $847.50 is $127.13.
User: How many seconds in a year? Agent: → calculator("60 * 60 * 24 * 365") Result: 31536000 Agent: There are 31,536,000 seconds in a year.
User: What's the compound interest on $10,000 at 5% for 3 years? Agent: → calculator("10000 * (1 + 0.05)^3") Result: 11576.25 Agent: $10,000 at 5% annual compound interest for 3 years = $11,576.25.

Limitations

  • The calculator evaluates numeric expressions only — it does not execute arbitrary code.
  • Results are returned as floating-point numbers; precision is limited to JavaScript’s Number type (~15–17 significant digits).
  • For symbolic math or algebraic manipulation, use a ClawHub skill.

Web Fetch

The web fetch tool retrieves the full text content of any URL. Unlike web search (which returns snippets), web fetch returns the complete readable content of a page — ideal for reading articles, documentation, or extracting structured data.

How It Works

User: Summarize the article at https://example.com/article Agent: → web_fetch("https://example.com/article") Result: Full text content of the page (HTML stripped, markdown-formatted) Agent: Here's a summary: ...

What Gets Returned

The tool strips HTML tags, ads, and navigation elements and returns clean readable text. JavaScript-rendered content may not be captured (the tool uses server-side rendering, not a browser).

Supported Content Types

Content typeSupport
HTML pagesFull text extraction
Plain text (.txt)Full content
Markdown (.md)Full content
JSON/XML APIsRaw response body
PDFsLimited (text-layer PDFs only)
Images/videoNot supported

Examples

Read documentation:

User: What does the Hatcher API /agents endpoint return? Check https://docs.hatcher.host/api-reference Agent: → web_fetch("https://docs.hatcher.host/api-reference") Agent: According to the docs, the /agents endpoint returns...

Extract data from a webpage:

User: What are the current SOL staking yields at staking.solana.org? Agent: → web_fetch("https://staking.solana.org") Agent: Current staking APY is approximately X% based on the page.

Read a GitHub file:

User: Read the README of github.com/my-org/my-repo Agent: → web_fetch("https://raw.githubusercontent.com/my-org/my-repo/main/README.md") Agent: Here's what the README says: ...

Limitations

  • Pages requiring login or authentication cannot be fetched.
  • JavaScript-heavy SPAs may return incomplete content (the agent sees the raw HTML, not the rendered DOM).
  • Very large pages (>500KB) may be truncated.
  • Rate limiting: excessive fetches to the same domain may be blocked by the target server.

For structured data extraction or browser-rendered pages, consider a ClawHub skill that uses a headless browser.


Enabling / Disabling Tools

All tools are enabled by default on Hatcher. You can disable specific tools via the dashboard or by editing the config directly:

{ "tools": { "web": { "search": { "enabled": false }, // disable web search "fetch": { "enabled": true } }, "memory": { "enabled": true }, "files": { "enabled": true }, "calculator": { "enabled": true } } }

Disabling tools via the Hatcher dashboard overrides any manual config edits made through the File Manager.


ClawHub Skills

Beyond built-in tools, your agent can install skills from ClawHub — OpenClaw’s community skill registry with 13,700+ extensions. Skills are loaded from the skills/ directory in your workspace.

Popular skill categories:

CategoryExamples
APIsGitHub, Notion, Airtable, Google Sheets
AutomationEmail sender, Webhook caller, Cron jobs
DataCSV parser, JSON transformer, PDF reader
AIImage generation, speech synthesis, translation
FinancePrice feeds, portfolio tracker, DeFi queries

Skills are installed via the dashboard (Skills tab) — browse, install, and configure without touching config files.


Next Steps

Last updated on