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
| Tool | Status | Notes |
|---|---|---|
| Bash | Available | Executes commands in the sandbox. |
| Read | Available | Reads bounded file content. |
| Write | Available | Creates or replaces files. |
| Edit | Available | Performs one exact, unique replacement. |
| Glob | Available | Finds paths using a glob pattern. |
| Grep | Available | Searches text with Go regular expressions. |
| WebFetch | Available | Fetches bounded HTTP content. |
| WebSearch | Placeholder | Does not yet call a production search provider. |
| Agent | Experimental | Async 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.