Tools & SkillsBuilt-in Tools

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

ToolDescription
read_fileRead the contents of a file
write_fileCreate or overwrite a file
edit_fileEdit specific parts of an existing file
list_dirList directory contents
execExecute a shell command
web_searchSearch the web (requires Brave API key)
web_fetchFetch and extract content from a URL
messageSend a message to a chat channel
spawnStart a background subagent for a complex task
task_statusCheck 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_search or web_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.