Tools
Verboo Code exposes specialized tools for the agent to execute tasks. Each tool has a validated input schema, and some generate progressive outputs (streaming). The agent decides which tool to use based on context.
Shell and operating system
Bash
Executes shell commands. Supports timeouts, background mode, progress streaming, and sandbox detection.
Parameters:
| Parameter | Type | Description |
|---|---|---|
command |
string | Command to execute |
timeout |
number | Timeout in ms (default: 120000) |
description |
string | Description of what the command does |
run_in_background |
bool | Runs in background (returns taskId) |
dangerouslyDisableSandbox |
bool | Disables sandbox (requires explicit permission) |
Auto-background: Commands that take more than 2 seconds are automatically put in background. Common long-running commands (npm install, cargo build, etc.) go directly to background.
Sed parsing: The Bash Tool detects and validates sed -i edits to prevent accidental file damage.
PowerShell
Same interface as Bash, but executes via PowerShell on Windows.
File reading and writing
Read
Reads files from the filesystem. Supports offset and limit (number of lines), image reading (PNG, JPG), PDFs (with page selection), and Jupyter notebooks.
| Parameter | Description |
|---|---|
file_path |
Absolute file path |
offset |
Starting line (0-indexed) |
limit |
Number of lines to read |
pages |
Page range for PDFs (e.g., "1-5") |
Write
Creates or overwrites files.
| Parameter | Description |
|---|---|
file_path |
Absolute file path |
content |
Content to write |
Edit
Makes exact string substitutions in files. Requires the string to be replaced to be unique in the file.
| Parameter | Description |
|---|---|
file_path |
Absolute file path |
old_string |
Text to replace (must be unique) |
new_string |
New text |
replace_all |
If true, replaces all occurrences |
Glob
Searches for files by glob pattern.
| Parameter | Description |
|---|---|
pattern |
Glob pattern (e.g., src/**/*.ts) |
path |
Base directory for the search |
Grep
Searches text in files using ripgrep (much faster than find + grep).
| Parameter | Description |
|---|---|
pattern |
Regular expression to search |
path |
Directory or file |
include |
File pattern to include (e.g., *.ts) |
exclude |
File pattern to exclude |
Web
WebFetch
Makes HTTP requests and returns content as text or Markdown. Uses Firecrawl when available for better content extraction from complex sites.
| Parameter | Description |
|---|---|
url |
URL to fetch |
prompt |
Content processing instruction (optional) |
WebSearch
Performs web searches. Uses DuckDuckGo by default (free). Set FIRECRAWL_API_KEY for better results via Firecrawl.
| Parameter | Description |
|---|---|
query |
Search terms |
allowed_domains |
List of allowed domains |
blocked_domains |
List of blocked domains |
Language (LSP)
LSP
Language Server Protocol integration. Provides diagnostics (errors, warnings), symbol definitions, and references without running the compiler.
| Operation | Description |
|---|---|
diagnostics |
Lists LSP errors and warnings |
hover |
Information about symbol at position |
definition |
Go to definition |
references |
Find references |
Agents
Agent
Spawns specialized sub-agents. Each agent has access to the full tool set and can work in parallel with others.
| Parameter | Description |
|---|---|
description |
Short description of what the agent does |
prompt |
Complete instructions for the agent |
subagent_type |
Specialized type (e.g., Explore, Plan) |
model |
Model to use (sonnet, opus, haiku) |
run_in_background |
Runs without blocking the main agent |
isolation |
worktree — creates an isolated git worktree |
Worktree isolation: When isolation: "worktree", the agent receives an isolated copy of the repository. The worktree is cleaned up automatically if the agent makes no changes.
SendMessage
Sends a message to a running sub-agent (continues with full context).
| Parameter | Description |
|---|---|
to |
Target agent ID or name |
message |
Message to send |
Tasks
The task system allows tracking and managing structured work.
TaskCreate
Creates a new task with title, description, and status.
TaskGet
Gets details of a specific task by ID.
TaskList
Lists all active tasks, filtered by status.
TaskUpdate
Updates the status, title, or description of an existing task.
Available statuses: pending, in_progress, completed, cancelled
TaskStop
Cancels a running task.
TaskOutput
Gets the current output of a background task.
Planning
EnterPlanMode
Enters planning mode (read-only). In this mode, the agent cannot execute destructive tools — only read files, explore the codebase, and write to the plan file. Ideal for planning before implementing.
ExitPlanMode
Exits planning mode and returns to normal execution mode.
Git Worktrees
EnterWorktree
Creates and enters a temporary git worktree for isolated work. Useful for tasks that need complete isolation from the main repository.
| Parameter | Description |
|---|---|
description |
Reason for creating the worktree |
ExitWorktree
Exits the current worktree and cleans up the temporary directory.
Scheduling and remote
ScheduleCron (CronCreate / CronDelete / CronList)
Manages cron jobs for periodic execution.
CronCreate:
Creates a cron job with specified expression, prompt, and modelCronDelete:
Removes a cron job by IDCronList:
Lists all active cron jobsRemoteTrigger
Triggers a remote agent on Verboo's infrastructure.
| Parameter | Description |
|---|---|
operation |
list, get, create, update, run |
trigger_id |
Trigger ID (for get/update/run) |
body |
Trigger configuration (for create/update) |
MCP
MCPTool
Executes tools exposed by connected MCP servers. The input schema is dynamic (passthrough) and validated at runtime via AJV. Supports text, image, and other content type outputs.
The isMcp: true field differentiates MCP tools from native tools in the context of permissions and logging.
User interaction
AskUserQuestion
Asks the user a question with predefined options. Essential in plan mode to clarify requirements.
| Parameter | Description |
|---|---|
questions |
Array of questions with options |
SkillTool
Invokes a registered skill by name. Allows the agent to call skills automatically based on context.
Monitoring
Monitor
Monitors a background process, receiving each stdout line as a notification. Ideal for following builds, tests, or running servers.
| Parameter | Description |
|---|---|
task_id |
Background task ID to monitor |
until |
Condition to stop monitoring |
Limits and permissions
Tool permissions are configured in settings.json:
{
"permissions": {
"allow": [
"Bash(npm run *)",
"WebFetch(domain:github.com)",
"Edit"
],
"deny": [
"Bash(rm -rf *)"
]
}
}The user is consulted for any tool not covered by allow/deny rules.