Skip to main content

Tools

Tools implement one small synchronous interface:

type Tool interface {
Name() string
Description() string
Schema() json.RawMessage
Execute(ctx context.Context, input json.RawMessage) (*ToolResult, error)
}

Implementations must honor context cancellation. The runtime wraps execution in a timeout, but cancellation cannot forcibly stop code that ignores its context.

Built-in status

ToolStatusNotes
BashAvailableExecutes commands in the sandbox.
ReadAvailableReads bounded file content.
WriteAvailableCreates or replaces files.
EditAvailablePerforms one exact, unique replacement.
GlobAvailableFinds paths using a glob pattern.
GrepAvailableSearches text with Go regular expressions.
WebFetchAvailableFetches bounded HTTP content.
WebSearchPlaceholderDoes not yet call a production search provider.
AgentExperimentalAsync lifecycle exists; result delivery is evolving.

Tool availability is not a permission guarantee. The sandbox and policy layer must constrain filesystem, process and network access independently.