Skip to main content

Agent Tools

Every agent runs inside an agentbox container with access to a set of tools. Tools are registered at agent startup based on the agent’s configuration and the services available on the internal network. Some tools are always available; others require specific configuration flags or service connectivity.

Tool Overview

ToolDescriptionAvailability
execute_commandShell command execution with PTYshell.enabled = true
read_fileRead workspace filesshell.enabled = true
write_fileWrite files to workspaceshell.enabled = true
list_directoryList directory contentsshell.enabled = true
tmuxPersistent terminal sessionsshell.enabled = true
browserPlaywright Chromium automationshell.enabled = true
gitWorkspace version controlshell.enabled = true
http_requestSSRF-protected external HTTP requestsAlways
save_knowledgePersist notes to agent memoryAKM configured
search_knowledgeFull-text search of agent memoryAKM configured
search_shared_knowledgeHybrid search across shared knowledge libraryAKM configured

Shell & Filesystem Tools

These tools require shell.enabled = true in the agent’s tools configuration.

execute_command

Executes a shell command inside the agent container with a PTY (pseudo-terminal). Commands run against a binary allowlist — only explicitly permitted binaries can be invoked. Deny patterns block dangerous operations (e.g., rm -rf /, network reconfiguration).
ParameterTypeDescription
commandstringThe shell command to execute
timeoutintegerOptional execution timeout in seconds

read_file

Reads the contents of a file in the agent’s workspace. Files up to 1 MB are returned in full. Paths are resolved relative to the workspace root.
ParameterTypeDescription
pathstringRelative or absolute path to the file

write_file

Writes content to a file in the agent’s workspace. Parent directories are created automatically if they do not exist.
ParameterTypeDescription
pathstringRelative or absolute path to the file
contentstringThe content to write

list_directory

Lists the contents of a directory, returning each entry’s name, type (file or directory), and size.
ParameterTypeDescription
pathstringDirectory path to list (defaults to workspace root)

Terminal & Browser Tools

tmux

Provides persistent terminal sessions via tmux. Agents can create named sessions, send commands to them, and read their output. Useful for long-running processes, background tasks, and managing multiple concurrent workstreams.
ParameterTypeDescription
actionstringThe tmux operation (create, send, read, list, kill)
sessionstringSession name
commandstringCommand to send (for send action)

browser

Controls a headless Playwright Chromium instance for web interaction. Supports navigation, screenshots, element clicking, text extraction, and JavaScript evaluation.
ParameterTypeDescription
actionstringThe browser operation (navigate, screenshot, click, get_text, evaluate)
urlstringTarget URL (for navigate)
selectorstringCSS selector (for click, get_text)
scriptstringJavaScript to evaluate (for evaluate)
xintegerClick x-coordinate (for click without selector)
yintegerClick y-coordinate (for click without selector)
See Browser Viewer for the user-facing observation and control interface.

Version Control

git

Workspace-scoped Git operations. Agents can track changes, create commits, view diffs, and inspect history within their workspace.
ParameterTypeDescription
actionstringThe git operation (status, add, commit, diff, log, init)
argsstringAdditional arguments for the operation
messagestringCommit message (for commit)
pathstringFile path (for add, diff)

HTTP

http_request

Makes HTTP requests to external APIs with built-in SSRF protection. Blocks requests to internal/private IP ranges (loopback, RFC 1918, link-local, Tailscale/CGNAT). Responses are capped at 50 KB and requests time out after 30 seconds.
ParameterTypeDescription
methodstringHTTP method (GET or POST)
urlstringTarget URL (must resolve to a public IP)
headersobjectOptional request headers
bodystringOptional request body (for POST)
Blocked IP ranges: loopback, RFC 1918 private ranges, link-local, Tailscale/CGNAT, and IPv6 private/loopback addresses are all blocked to prevent SSRF attacks.

Knowledge Tools

These tools require the AKM (Agent Knowledge Manager) service to be configured and reachable on the internal network. Knowledge is scoped per agent — agents cannot access each other’s entries.

save_knowledge

Saves a knowledge entry to the agent’s persistent AKM memory. Entries survive across sessions and container restarts. Supports categorization by type for structured retrieval.
ParameterTypeDescription
titlestringEntry title
contentstringEntry body (markdown supported)
typestringEntry type (note, plan, decision, journal)

search_knowledge

Full-text search across the agent’s own knowledge entries. Uses PostgreSQL FTS with ranking and snippet highlighting.
ParameterTypeDescription
querystringSearch query (supports natural language)
typestringOptional filter by entry type
limitintegerMaximum number of results to return

search_shared_knowledge

Searches the shared knowledge library using hybrid FTS and pgvector semantic search. Returns results from collections visible to the agent’s owner (owner-scoped and shared collections). Results include source citations.
ParameterTypeDescription
querystringSearch query
collection_idstringOptional filter by collection
limitintegerMaximum number of results to return