readReads a UTF-8 file and returns line-numbered text. Records read state so later write, edit, delete, copy, and move operations can verify the file was seen first.
Agent Tools
16 local tools in the default registry, plus plugin, MCP, and LSP tools when configured. Up to 8 are selected per turn based on the request — ranked by relevance, safety, and cost.
readReads a UTF-8 file and returns line-numbered text. Records read state so later write, edit, delete, copy, and move operations can verify the file was seen first.
writeCreates or overwrites a UTF-8 file. Existing files must be read earlier in the run before they can be overwritten.
editApplies an exact string replacement to a file after it has been read. Targeted and surgical — does not rewrite the whole file.
apply_patchApplies a unified diff to existing workspace files after affected files have been read. Useful for multi-file changes from a single diff block.
deleteDeletes a file after it has been read. Directory deletion requires explicit recursive=true. Root paths are guarded.
copyCopies one file to another path. Overwriting an existing destination requires prior read state for that destination.
moveMoves or renames a file. The source must be read first. Overwriting requires prior destination read state.
inspect_fileInspects file bytes, size, MIME type, content preview, and hashes. Returns PNG/JPEG/GIF/WebP image content directly when practical.
findFinds files by glob pattern across the workspace. Excludes common generated directories like node_modules and .git automatically.
execRuns a shell command in the workspace with capped output, denied dangerous command patterns, abort support, and a configurable execution timeout.
processLists, reads logs for, or kills background processes started by exec with background=true.
web_fetchFetches an HTTP or HTTPS URL and returns readable text capped at 1 MB. Used for current docs, API references, and live data.
open_browserOpens an HTTP or HTTPS URL in the user's default browser.
browserControls the managed browser: lifecycle, tabs, navigation, DOM snapshots, screenshots, and element actions. Useful for UI automation and form filling.
cronSchedules, lists, updates, removes, manually runs, and inspects Gateway-owned cron jobs. The correct tool for future, delayed, recurring, and reminder work.
taskStarts an immediate in-memory background task through the task manager. The correct tool when the user asks to run something in the background right now.
execute_skillA selected skill is not file-backed
startup_filesBootstrap is pending — the only tool exposed during setup
heartbeat_respondHeartbeat runs with tool reporting enabled
Plugin toolsRun-scoped assembler with plugin tools included by policy
MCP toolsModel Context Protocol servers are explicitly included
LSP toolsAn LSP runtime supplies language-server capabilities
Client toolsThe client provides hosted tool definitions
tool_searchRun-scoped tool-search compaction is enabled
tool_describeFetches schema for a hidden tool when compaction is active
tool_callExecutes a hidden tool through the managed execution path
If the user says not to use tools, none are exposed. Bootstrap runs expose startup_files only.
Disabled tools, tools without required permissions, tools above the safety level, and privacy-constrained tools are removed.
Remaining tools are scored by request-term match, inferred category, memory preferences, recent success, schema specificity, reliability, cost, and latency.
At most 8 tools reach the provider per turn. File mutation tools automatically keep read available. Skill and heartbeat tools can force their way in.
The third identical call in a turn adds a warning. After five identical calls, execution is vetoed and the model receives a loop-detector error.
Extend the tool surface
Connect Model Context Protocol servers, plugin registries, or language-server capabilities to add domain-specific tools without modifying the core agent loop.