Tools Reference
Fermi provides 13 built-in tools and 8 orchestration tools. Additional tools come from Skills and MCP servers.
Built-in Tools (13)
Section titled “Built-in Tools (13)”File Operations
Section titled “File Operations”| Tool | Description |
|---|---|
read_file | Read a file’s contents. Supports images (PNG, JPEG, GIF, WebP, BMP, SVG, ICO, TIFF) on multimodal models. |
write_file | Write content to a file, creating it if it does not exist. |
edit_file | Targeted find-and-replace edits. Supports append_str for appending. |
list_dir | List directory contents. |
glob | Find files matching a glob pattern (e.g., **/*.ts). |
grep | Search file contents with regular expressions. |
| Tool | Description |
|---|---|
bash | Run a shell command. 10-minute timeout, 200KB output cap per stream. |
bash_background | Run a shell command in the background. Returns a shell ID for tracking. |
bash_output | Read output from a background shell process. |
kill_shell | Kill a running background shell process. |
Utility
Section titled “Utility”| Tool | Description |
|---|---|
time | Return the current local time, timezone, and UTC offset. |
| Tool | Description |
|---|---|
web_search | Search the web. Uses provider-native search when available; client-side fallback returns numbered URL results with highlights and metadata where available. |
web_fetch | Fetch and read the content of a URL. Uses Jina Reader first, then a local Readability/Turndown fallback for HTML pages, and returns readable page content. |
Orchestration Tools (8)
Section titled “Orchestration Tools (8)”Context Management
Section titled “Context Management”| Tool | Description |
|---|---|
show_context | Display the context distribution map. Shows all context groups with sizes and types. Activates inline annotations until dismissed. |
summarize_context | Summarize groups of contiguous context IDs. Extracts valuable information and discards the rest. Operates at any granularity — from a single tool result to multiple turns. |
Sub-Agent Management
Section titled “Sub-Agent Management”| Tool | Description |
|---|---|
spawn | Spawn a sub-agent with inline parameters. See Sub-Agents. |
send | Send a message to a persistent child agent. Delivered asynchronously. |
kill_agent | Kill one or more running sub-agents by ID. |
check_status | View sub-agent status and background shell status. |
await_event | Pause until a runtime event arrives (sub-agent completion, messages, shell exit) or timeout expires. |
User Interaction
Section titled “User Interaction”| Tool | Description |
|---|---|
ask | Ask the user 1–4 structured questions with 1–4 options each. Used when the agent needs a decision before proceeding. |
Skills
Section titled “Skills”When skills are enabled, a dynamic skill tool becomes available. It dispatches to the active skill’s instructions. Manage skills with /skills or ask the agent to install new ones.
See Skills for details.
MCP Tools
Section titled “MCP Tools”MCP servers provide additional tools configured in ~/.fermi/mcp.json. They appear alongside built-in tools automatically.
See MCP Integration for details.
Tool Safety
Section titled “Tool Safety”Fermi does not sandbox tool execution. The bash tool runs commands directly, and file tools write to disk. Use the /permission command to control what is auto-allowed:
| Mode | Auto-allowed |
|---|---|
read_only | Read & non-mutating tools (read_file, list_dir, glob, grep, web_fetch, web_search, show_context, summarize_context, ask, etc.) |
reversible | Read tools + reversible writes (edit_file, write_file — overwrites included) |
yolo | Everything except catastrophic operations |
The permission system uses tree-sitter to parse bash commands and classify them by risk level.
See Permissions & Hooks for details.