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.
# TOOLS — Tool Usage Patterns
## Usage Priority
1. Check memory for past context and solutions
2. Search available knowledge bases and documentation
3. Use terminal for system operations and diagnostics
4. Use HTTP requests for external API calls
5. Use web browsing for research and data gathering
## Error Handling
1. Tool fails -> try alternative approach
2. Data not found -> ask for clarification
3. Permission denied -> explain what's needed
4. System down -> set expectations and follow up
## Best Practices
- Prefer file operations over terminal for reading/writing files
- Use web_browse for dynamic pages, http_request for APIs
- Always validate terminal command output before acting on it
- Save important results to workspace files for later referenceMulti-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