Skip to content

Tools Reference

Fermi provides 13 built-in tools and 8 orchestration tools. Additional tools come from Skills and MCP servers.

ToolDescription
read_fileRead a file’s contents. Supports images (PNG, JPEG, GIF, WebP, BMP, SVG, ICO, TIFF) on multimodal models.
write_fileWrite content to a file, creating it if it does not exist.
edit_fileTargeted find-and-replace edits. Supports append_str for appending.
list_dirList directory contents.
globFind files matching a glob pattern (e.g., **/*.ts).
grepSearch file contents with regular expressions.
ToolDescription
bashRun a shell command. 10-minute timeout, 200KB output cap per stream.
bash_backgroundRun a shell command in the background. Returns a shell ID for tracking.
bash_outputRead output from a background shell process.
kill_shellKill a running background shell process.
ToolDescription
timeReturn the current local time, timezone, and UTC offset.
ToolDescription
web_searchSearch the web. Uses provider-native search when available; client-side fallback returns numbered URL results with highlights and metadata where available.
web_fetchFetch 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.
ToolDescription
show_contextDisplay the context distribution map. Shows all context groups with sizes and types. Activates inline annotations until dismissed.
summarize_contextSummarize groups of contiguous context IDs. Extracts valuable information and discards the rest. Operates at any granularity — from a single tool result to multiple turns.
ToolDescription
spawnSpawn a sub-agent with inline parameters. See Sub-Agents.
sendSend a message to a persistent child agent. Delivered asynchronously.
kill_agentKill one or more running sub-agents by ID.
check_statusView sub-agent status and background shell status.
await_eventPause until a runtime event arrives (sub-agent completion, messages, shell exit) or timeout expires.
ToolDescription
askAsk the user 1–4 structured questions with 1–4 options each. Used when the agent needs a decision before proceeding.

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 servers provide additional tools configured in ~/.fermi/mcp.json. They appear alongside built-in tools automatically.

See MCP Integration for details.

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:

ModeAuto-allowed
read_onlyRead & non-mutating tools (read_file, list_dir, glob, grep, web_fetch, web_search, show_context, summarize_context, ask, etc.)
reversibleRead tools + reversible writes (edit_file, write_file — overwrites included)
yoloEverything except catastrophic operations

The permission system uses tree-sitter to parse bash commands and classify them by risk level.

See Permissions & Hooks for details.