When an agent runs inside a project — in a chat or a task — it can call Weave's built-in tools. No setup is required; they're available automatically. To go beyond this set, connect an MCP server.
The tool set
read_file— read a file's contents.write_file— create or overwrite a file.edit_file— make targeted edits to an existing file.ls— list a directory.grep— search file contents.find— find files by name.bash— run a shell command (builds, tests, git, package managers).
Limits and safety
- Shell commands default to a 120-second timeout (the model can raise it per call); long-running processes like dev servers or watchers aren't meant for the bash tool.
- Tool output is capped (head + tail) so a chatty command can't exhaust memory or the context window.
- A task can disable network for its shell commands; file tools never get network access.
Allow-listing
A weave or task can restrict which of these tools are available — for example, allow reads and
searches but not write_file or bash. An empty list means all tools
are permitted.
Sandboxing
On Linux, every built-in tool call — including file reads and writes — runs inside the same Bubblewrap sandbox, confined to the project directory. See Sandboxing.
See also: MCP to add tools beyond the built-in set.