Built-in Tools
noumen ships with six coding tools that cover file operations, shell commands, and codebase search — all sandboxed through VirtualFs and VirtualComputer.
Every noumen agent has access to six built-in tools. These are automatically registered in the ToolRegistry and available to the AI model during agent runs. All tools delegate file and shell access through VirtualFs and VirtualComputer — they never touch the host directly — so the isolation level is controlled entirely by which implementations you provide.
Tool reference
| Tool | Description |
|---|---|
| ReadFile | Read file contents with optional line offset and limit. Returns numbered lines. |
| WriteFile | Create or overwrite a file at a given path. |
| EditFile | Find-and-replace string editing within a file. |
| Bash | Execute shell commands via VirtualComputer (sandboxed). |
| Glob | Find files matching a glob pattern (backed by ripgrep's --files --glob). |
| Grep | Search file contents by regex pattern (backed by ripgrep). |
ReadFile
Reads a file and returns its contents with line numbers. Supports offset and limit parameters for reading specific line ranges.
// Parameters
{
file_path: string; // Path to read
offset?: number; // Starting line (1-based)
limit?: number; // Number of lines to return
}WriteFile
Creates or overwrites a file. Parent directories are created automatically.
// Parameters
{
file_path: string; // Path to write
content: string; // File contents
}EditFile
Performs exact string replacement within a file. The old_string must appear exactly once in the file.
// Parameters
{
file_path: string; // Path to edit
old_string: string; // Text to find (must be unique)
new_string: string; // Replacement text
}Bash
Executes a shell command and returns stdout, stderr, and exit code.
// Parameters
{
command: string; // Shell command to run
timeout?: number; // Timeout in milliseconds
}Glob
Finds files matching a glob pattern. Uses ripgrep for fast recursive search.
// Parameters
{
pattern: string; // Glob pattern (e.g., "**/*.ts")
path?: string; // Directory to search in
}Grep
Searches file contents by regular expression. Uses ripgrep for speed.
// Parameters
{
pattern: string; // Regex pattern
path?: string; // Directory or file to search
include?: string; // File pattern filter (e.g., "*.ts")
}How tools work
During an agent run, the model can request tool calls. The Thread's agent loop:
- Sends available tool definitions to the model
- Receives tool call requests from the model's response
- Executes each tool via the
ToolRegistry - Sends tool results back to the model
- Repeats until the model produces a final text response
See Custom Tools for how to add your own tools.