ToolRegistry at startup. Each tool exposes a name, a plain-English description, and a JSON Schema for its parameters; this is what the LLM sees when it decides which tool to invoke.
MCP tools and installed Skills tools are added to the same registry automatically when their servers connect or their packages are loaded. The agent cannot tell the difference between a built-in tool and an MCP or Skills tool.
Tool categories
Shell
Run arbitrary shell commands inside the agent workspace with configurable safety guards.
Filesystem
Read, write, edit, and list files and directories within the workspace boundary.
Web
Search the web via Brave, DuckDuckGo, or Perplexity, and fetch full page content.
Scheduling
Schedule one-off or recurring tasks using cron expressions or relative intervals.
Agents
Spawn sub-agents to execute tasks independently and report results back asynchronously.
Messaging
Send messages to users across any configured channel (Telegram, Discord, Slack, etc.).
Hardware I/O
Communicate with I2C and SPI bus peripherals directly from agent logic. Linux only.
MCP & Skills
Extend the agent with external MCP servers or installable Skill packages from ClawHub.
Shell
| Tool | Description |
|---|---|
exec | Execute a shell command in the agent workspace. |
exec tool runs commands through the host shell and returns combined stdout/stderr. It enforces a deny-list of dangerous patterns by default (destructive deletes, privilege escalation, remote execution pipes, etc.) and optionally restricts commands to paths inside the workspace.
When
true, a built-in set of regex patterns blocks destructive commands such as rm -rf, sudo, docker run, git push, and pipe-to-shell constructs. Set to false to disable all default blocking.Additional regular expressions to block. Commands matching any pattern are rejected before execution.
Filesystem
| Tool | Description |
|---|---|
read_file | Read the full contents of a file. |
write_file | Write content to a file (creates or overwrites). |
edit_file | Replace an exact substring inside a file without rewriting the whole thing. |
list_dir | List files and subdirectories at a given path. |
Web
| Tool | Description |
|---|---|
web_search | Search the web and return a ranked list of results (title, URL, snippet). |
web_fetch | Fetch a URL and return the extracted text content of the page. |
web_search to function. web_fetch works independently of any provider.
- DuckDuckGo
- Brave
- Perplexity
proxy field is available under tools.web for routing all web requests through an HTTP/SOCKS proxy:
Scheduling
| Tool | Description |
|---|---|
cron | Schedule a one-off reminder, a recurring task, or a shell command on a cron expression. |
cron tool accepts three scheduling modes:
at_seconds— run once after N seconds (e.g.at_seconds: 600for “in 10 minutes”)every_seconds— repeat every N seconds (e.g.every_seconds: 3600for “every hour”)cron_expr— a standard cron expression for complex schedules (e.g."0 9 * * 1-5"for weekday mornings)
Maximum runtime for shell commands triggered by a cron job. Set to
0 for no limit.Agent delegation
| Tool | Description |
|---|---|
spawn | Spawn a sub-agent to handle a task in the background. Returns immediately; the sub-agent reports back when done. |
spawn tool delegates work to a separate agent instance. It accepts a task description, an optional label for display purposes, and an optional agent_id to route the task to a specific named agent.
Sub-agents run asynchronously. The parent agent receives a completion callback once the sub-agent finishes and can continue its own work in the meantime.
Messaging
| Tool | Description |
|---|---|
message | Send a message to the user on a chat channel. |
message tool posts content back to the originating channel (Telegram, Discord, Slack, etc.) and optionally to a different channel or chat ID. The agent uses this tool whenever it wants to communicate proactively rather than waiting for the next turn.
Hardware I/O
Hardware tools are only registered on Linux hosts. They are intended for edge deployments where the agent runs directly on embedded or IoT hardware.| Tool | Description |
|---|---|
i2c | Interact with I2C bus devices: detect buses, scan for devices, read bytes, write bytes. |
spi | Interact with SPI bus devices: list devices, perform full-duplex transfers, read bytes. |
MCP tools
When MCP is enabled and servers are connected, each tool exposed by a connected server is registered automatically asmcp_<server>_<tool>. The agent can call these tools exactly like any built-in tool.
See Model Context Protocol for configuration details.