Built-in Tools
The agent has access to these tools out of the box. It decides when to use them based on your messages.
Tool list
| Tool | Description |
|---|---|
read_file | Read the contents of a file |
write_file | Create or overwrite a file |
edit_file | Edit specific parts of an existing file |
list_dir | List directory contents |
exec | Execute a shell command |
web_search | Search the web (requires Brave API key) |
web_fetch | Fetch and extract content from a URL |
message | Send a message to a chat channel |
spawn | Start a background subagent for a complex task |
task_status | Check progress of running background tasks |
How tools work
When you send a message, the LLM decides whether it needs to use tools to answer. For example:
- “What’s the weather in Tokyo?” → uses
web_searchorweb_fetch - “Create a Python script that…” → uses
write_file - “Run my tests” → uses
exec - “Summarize this URL” → uses
web_fetch
The agent can chain multiple tools in a single response. The maxToolIterations setting (default: 20) limits how many tool calls happen per message.
Configuration
Tool-specific settings live under tools in your config:
{
"tools": {
"web": {
"search": {
"apiKey": "YOUR_BRAVE_API_KEY",
"maxResults": 5
}
},
"exec": {
"timeout": 60,
"restrictToWorkspace": false
}
}
}See Web Search and Shell Execution for details.