Tools
Your agent comes with 9 built-in tools for terminal access, file operations, web browsing, and HTTP requests. Skills add 100+ more integration tools.
Tools are real actions
Built-in Tools#
These 9 tools are always available on every agent, regardless of plan or skill configuration. They run directly on your agent's dedicated VM.
Terminal#
Execute shell commands on your agent's Linux server. Full root access with support for any CLI tool installed on the VM.
| Parameter | Type | Description |
|---|---|---|
| command | string (required) | The shell command to execute |
| timeout | integer | Max execution time in seconds (default: 30, max: 120) |
| working_directory | string | Directory to run the command in (default: /root) |
File Read#
Read the contents of any file on the server. Supports text files with a default limit of 50KB.
| Parameter | Type | Description |
|---|---|---|
| file_path | string (required) | Absolute path to the file |
| max_bytes | integer | Maximum bytes to read (default: 50000) |
File Write#
Write or append content to a file. Automatically creates intermediate directories if they don't exist.
| Parameter | Type | Description |
|---|---|---|
| file_path | string (required) | Absolute path to the file |
| content | string (required) | Content to write |
| append | boolean | Append to file instead of overwriting (default: false) |
File List#
List the contents of a directory. Supports recursive listing with a default limit of 200 entries.
| Parameter | Type | Description |
|---|---|---|
| directory_path | string (required) | Absolute path to the directory |
| recursive | boolean | List recursively (default: false) |
| max_entries | integer | Maximum entries to return (default: 200) |
Web Browse#
Browse a webpage using a headless Chromium browser with full JavaScript rendering. Extracts text content and links from the page.
| Parameter | Type | Description |
|---|---|---|
| url | string (required) | The URL to browse |
| extract_links | boolean | Also extract all links from the page (default: false) |
Web Scrape#
Extract structured data from a webpage using CSS selectors. Useful for pulling specific elements like prices, titles, or tables.
| Parameter | Type | Description |
|---|---|---|
| url | string (required) | The URL to scrape |
| selector | string (required) | CSS selector to target elements |
| attribute | string | Element attribute to extract (default: text content) |
Web Screenshot#
Take a screenshot of a webpage. Captures the full page or just the visible viewport and saves it to the workspace.
| Parameter | Type | Description |
|---|---|---|
| url | string (required) | The URL to screenshot |
| full_page | boolean | Capture full page or just viewport (default: true) |
| output_path | string | Where to save the screenshot |
Web Click & Extract#
Perform multi-step interactions on a webpage — click buttons, type into fields, select options, scroll, and wait for elements. Useful for interacting with dynamic web apps.
| Parameter | Type | Description |
|---|---|---|
| url | string (required) | The URL to interact with |
| actions | array (required) | List of actions: click, type, select, wait, scroll |
| extract_after | string | CSS selector to extract content after actions complete |
HTTP Request#
Make arbitrary HTTP requests to external APIs. Supports all methods, custom headers, and request bodies.
| Parameter | Type | Description |
|---|---|---|
| url | string (required) | The URL to request (must be external, not localhost) |
| method | string | HTTP method: GET, POST, PUT, DELETE, PATCH (default: GET) |
| headers | object | Custom request headers |
| body | string | Request body (for POST/PUT/PATCH) |
Skill-Integrated Tools#
When you enable a skill and provide API credentials, your agent gets additional tools specific to that integration. These are real API-backed tools — your agent makes actual calls to Discord, GitHub, Gmail, and other services.
| Skill | Tools Provided |
|---|---|
| Discord | send_message, read_messages, list_channels, list_guilds |
| Slack | send_message, read_messages, list_channels |
| Telegram | send_message, read_updates, set_webhook |
| Twitter/X | read_timeline, post_tweet, search, get_mentions |
| send_message, read_messages |
100+ integration tools
Tool Execution#
When your agent decides to use a tool, here's what happens:
- The AI model returns a tool call with the tool name and parameters
- The bridge executes the tool on the agent's VM
- The result is sent back to the AI model as tool output
- The model uses the result to formulate its response
- This loop can repeat up to 25 times per message for complex multi-step tasks
Execution Constraints#
| Constraint | Value |
|---|---|
| Max tool rounds per message | 25 |
| Terminal command timeout | 120 seconds |
| File read limit | 50 KB (default) |
| Directory listing limit | 200 entries (default) |
| Tool result truncation | 20 KB max per result |
TOOLS.md Configuration#
The TOOLS.md config file lets you customize how your agent uses its tools. Use it to set tool priorities, define error handling behavior, and document interaction patterns.
Multi-Provider Support#
Tools work identically across all AI providers. Whether your agent runs on Claude, GPT-4o, Gemini, Grok, or any other supported model, the same tools are available with the same capabilities. The bridge automatically converts tool schemas to each provider's native format.
| Provider | Tool Format |
|---|---|
| Anthropic (Claude) | Native tool_use format with multi-turn support |
| OpenAI (GPT) | Function-calling format with tool_choice |
| Google (Gemini) | OpenAI-compatible function calling |
| xAI (Grok) | OpenAI-compatible function calling |
Switch models anytime