tools.md

Daemon Tools

Tools are the daemon's hands — they let it interact with the world.

Available Tools

ToolDescriptionStatus
computer-useControl mouse, keyboard, take screenshotsPlanned
shellExecute shell commandsPlanned
browserAutomate web browsersPlanned
fileRead/write filesPlanned
codeCode operations (parse, transform, execute)Planned
memoryPersistent storage and contextPlanned

Tool Interface

All tools implement a common interface:

typescript
interface Tool { name: string; description: string; inputSchema: JSONSchema; execute(input: unknown): Promise<ToolResult>; isAvailable(): Promise<boolean>; } interface ToolResult { status: "success" | "error" | "needs_input"; output: unknown; error?: string; artifacts?: Artifact[]; }

Adding New Tools

Tools are modular and can be added without modifying the core daemon:

  1. Create tool class implementing Tool interface
  2. Register tool in tool registry
  3. Tool becomes available to agent loop

See individual tool docs for implementation details.