Tools
Every tool the Empryo agent can use: what each one does, which app or mode it needs, which tools are always on, and how to turn the others off.
Copy & share
On this page5 sections
<!-- Generated file. Do not edit by hand: run bun run docs:tools. -->
Tools are the actions the agent can take: read a file, search your code, run a command, edit, commit. This page lists every tool, what it does, and which modes can use it.
To keep requests small, Empryo does not send every tool with every message. Tools you use less often stay out of the request until the agent needs one. The agent finds it with tool_search and runs it with run_tool. You do not have to do anything for this to work. To change it, see tool loading.
See compound tools for why Empryo's tools do a whole job in one call.
All toolsLink to this section
The catalog has 44 tools; /tools lists the ones you can turn off.
| Tool | What it does | Notes |
|---|---|---|
skills | Let the agent search, install, and load skills from skills.sh | |
read | Read file contents with optional line range or symbol target | always on |
edit_file | Edit, create, or write files with line-anchored matching | always on |
multi_edit | Apply multiple edits to one or more files atomically | always on |
undo_edit | Undo recent edits to a file | |
grep | The Genome's repo-wide search (symbol context, count mode, dep search) | always on |
find | The Genome's file/symbol finder: fuzzy ranked, globs, concept overview | always on |
shell | Execute shell commands (background:true for servers/watchers/long builds) | always on |
shell_jobs | Background shell jobs: list, status, log tail/poll, wait, stop | |
advisor | Second opinion over this conversation from a tool-less model | |
link | Live link to other agents: list, send, ask (blocking), reply, broadcast, inbox, history | |
orchestrate | Multi-agent graphs with loops: validate, save, run, watch, resume, stop | |
routine | Scheduled routines (cron): list, add, remove, enable, run now | |
project | Auto-detected lint, format, test, build, typecheck across 23 ecosystems | always on |
explore | Delegate a read-only question to a solo explore agent (fg or background) | |
dispatch | Spawn parallel subagents for multi-file tasks | |
background_dispatch | Spawn a detached agent that runs while you keep working | |
background_status | Check background agents (non-blocking) | |
background_stop | Stop a running background agent | |
background_await | Block until background agents finish and collect results | |
agent_send | Send a follow-up instruction to a running subagent (dispatch id or bg-N) | |
agent_create | Create or update a custom agent definition, dispatchable immediately | |
plan | Create an implementation plan for large changes (7+ files) | |
update_plan_step | Update a plan step's status during execution | |
ask_user | Ask the user a question and wait for their response | |
navigate | LSP symbol lookup: definitions, references, callers, type hierarchies | always on |
genome_query | Chain search → filter → deps → outline → read in one Genome call | always on |
genome_analyze | Codebase analysis: file profiles, dead code, packages, symbol queries | always on |
genome_impact | Dependency graph: dependents, dependencies, cochanges, blast radius | always on |
genome_vision | Display images and videos inline in chat (PNG, JPG, GIF, video files/URLs) | TUI only |
analyze | LSP diagnostics, type info, outline, code actions on a file | always on |
web_search | Search the web for documentation, APIs, error messages | |
find_model | Fuzzy-search the model catalog: providers, models, key state | |
find_agent | Fuzzy-search custom agent definitions: name, purpose, mode, model | |
fetch_page | Fetch readable pages or make structured HTTP probes | |
git | Git operations: status, diff, log, commit, push, pull, stash, branch | |
list_dir | List directory contents (supports multiple paths + recursive depth in one call) | |
refactor | Code transforms: extract, format, organize imports, rename/move symbols and files | |
memory | Read/write persistent memories across sessions | always on |
editor | Open file in embedded Neovim editor | TUI only, needs the neovim addon |
task_list | Create and track tasks for the current session | |
settings | Read/change Empryo's own settings — the running surface applies and repaints | |
ast_edit | Surgical AST editing for TS/JS — prefer over edit_file/multi_edit | always on |
structural_edit | Polyglot AST find/rewrite via ast-grep — non-TS/JS (Go, Rust, Python, …) |
Tools added by the app or the modeLink to this section
Empryo adds these automatically when the current app or mode needs them. They do not appear in /tools.
| Tool | What it does |
|---|---|
final_response | Ends the turn with the final answer, which the model writes in its answer argument; the answer streams into the chat as it is written |
respond_to_steering | Answer a message you sent while the agent was working, next to that message |
code_script | Run one script that looks things up, edits code in any language, checks the result, and reports back |
council | Have 2 to 4 agents, each with its own brief, debate one topic and return a verdict |
cells | Read and use the rules, lookups, and data a morph gives the agent |
browser | Use the built-in browser: read the page, click, type, take screenshots, inspect, audit |
rename_tab | Rename this tab when the task changes |
worktree | List, create, open, move and remove git worktrees. open starts a new tab on a task in a worktree, and move moves this tab once its turn ends. |
computer, computer_* | Computer use: see and drive the apps on your screen. Added when computer use is on and your machine supports it. |
model | Look up models and switch the one a task uses |
spark | Hand a read-only research task to a helper agent |
agent | Hand work to one of your custom agents |
reviewer | Review the current state of the repository and return PASS, FAIL, or PARTIAL |
Tools by modeLink to this section
Each mode gives the agent a different set of tools.
| Set | Purpose | Tools |
|---|---|---|
| Core | Sent with every request. | read, edit_file, multi_edit, grep, find, shell, project, memory |
| Always available | Present in every mode. | final_response, respond_to_steering |
| Cannot be turned off | /tools does not list these, and Empryo ignores them in disabledTools. | read, edit_file, multi_edit, grep, find, shell, project, memory, genome_query, genome_analyze, genome_impact, navigate, analyze, ast_edit, code_script, final_response, respond_to_steering |
| Architect, Socratic, Challenge | Read and analyze only. No edits, shell, or git. | read, grep, find, genome_analyze, genome_impact, list_dir, web_search, explore, code_script, editor, navigate, analyze, memory, skills, fetch_page, ask_user, plan, update_plan_step |
| Running a plan | What the agent can use while it carries out an approved plan. | read, edit_file, code_script, undo_edit, multi_edit, task_list, list_dir, shell, shell_jobs, project, grep, find, navigate, analyze, git, editor, refactor, update_plan_step, memory, skills, genome_analyze, genome_impact |
| Morph mode | For building panels and boards. See Morphs. | read, grep, find, list_dir, code_script, navigate, genome_query, genome_analyze, genome_impact, analyze, edit_file, multi_edit, undo_edit, web_search, fetch_page, git, ask_user, task_list, memory, find_model, find_agent, cells, rename_tab |
| Duck mode | Cannot see your code. Web and agent messages only. | web_search, fetch_page, link, advisor, find_model, rename_tab |
| Orchestrate mode | Designs and runs multi-agent workflows. Does not edit files itself. | read, grep, find, list_dir, code_script, navigate, genome_query, genome_analyze, genome_impact, web_search, fetch_page, ask_user, task_list, memory, find_agent, find_model, orchestrate, routine, background_status, background_stop, background_await, agent_send, shell_jobs, link, council, rename_tab |
Switching tools offLink to this section
{ "disabledTools": ["shell", "git"] }/tools in the terminal app and My tools → Permissions & reach in the desktop app both change this setting. Tools marked *always on* are ignored in this list, even if you edit the file by hand. The agent cannot do basic work without them, so turning off read or grep would only cause confusing failures.