Verboo

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 model

CronDelete:

Removes a cron job by ID

CronList:

Lists all active cron jobs

RemoteTrigger

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:

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.