Tools reference
Tools are functions the model can call during a task. Which tools are available depends on the prompt profile (Standard or Lite), the current mode, feature toggles, provider capabilities, and task permissions. The “Conditions” column lists only the requirements specific to each tool; every tool is also subject to your approval settings.
Files and code
Section titled “Files and code”| Tool | Purpose | Conditions |
|---|---|---|
read_file | Read file content, optionally a line range | Standard, Lite |
write_to_file | Create a new file, creating directories as needed | Standard, Lite |
replace_in_file | Edit an existing file with line-matched SEARCH/REPLACE blocks | Standard, Lite |
search_files | Search file contents in a directory with a regular expression | Standard, Lite |
list_files | List directory contents, optionally recursively | Standard, Lite |
list_code_definition_names | List top-level source-code definitions | Standard, Lite |
apply_patch | Add, delete, move, or edit code using a patch format | Standard only |
find_references | Find symbol references through the IDE language service | Standard only; requires VS Code |
rename | Rename a symbol through the IDE language service, with preview | Standard only; requires VS Code |
replace_text | Replace text across files matching a glob, with preview | Standard only |
How replace_in_file matches
Section titled “How replace_in_file matches”- Each SEARCH line matches a whole file line or the beginning of one. Leading indentation may be omitted, and a SEARCH line never matches from the middle of a file line.
- A SEARCH block must match exactly one location in the file. A block that matches several locations is rejected, and the result lists the candidate line numbers.
- Every matched line is replaced in full. REPLACE is written verbatim, so replacement lines must include their indentation.
- A SEARCH line of the form
....... SKIP(as many dots as the delimiter length) marks a SKIP range. The block then covers every line from the head through the nearest matching tail, and all of those lines are replaced by REPLACE. - A successful edit reports the original line range each block replaced, including how many lines a SKIP range removed.
replace_text is a separate tool and is not affected by these rules.
Commands, browser, and web
Section titled “Commands, browser, and web”| Tool | Purpose | Conditions |
|---|---|---|
execute_command | Run a shell command | Standard, Lite |
kill_command | Stop a command started by execute_command | Standard, Lite |
browser_action | Operate a Puppeteer-controlled browser | Standard only; the model supports browser use and it is not disabled in browser settings |
web_fetch | Fetch and analyze a given URL | Standard only; Web Tools is on |
web_search | Search the web and return titles and links | Standard only; Web Tools is on |
generate_image | Generate or edit images through the configured image source | Enable Image Generation is on and an image model is available |
Task interaction
Section titled “Task interaction”| Tool | Purpose | Conditions |
|---|---|---|
ask_followup_question | Ask the user one question that needs an answer | Standard, Lite |
qna_respond | Answer the user’s question | Standard, Lite |
make_plan | Submit a complete implementation or design plan | Standard, Lite |
working_respond | Tell the user what the next tool call does and why, reply to a queued or mid-task message, or acknowledge a correction, then keep working. Never ends the turn and must be followed by a work tool. Same tool in Plan and Act mode; calls under the old name act_mode_respond still run it | Standard, Lite |
phase_report | Report a finished phase: what was completed, the verification result, and the next phase. Never ends the turn; with requires_acknowledgment it waits for the user to acknowledge or stop. Available in Plan and Act mode; calls under the old name status_update still run it | Standard, Lite |
generate_report | Submit a structured report for review | Standard, Lite |
attempt_completion | Submit the final result of the task | Standard, Lite |
change_todo_list | Ask the user to approve replacing the current to-do list | Standard only; Focus Chain is on |
Capabilities and delegation
Section titled “Capabilities and delegation”| Tool | Purpose | Conditions |
|---|---|---|
load_skill | Load the full instructions of a skill | Standard only; at least one skill is available |
load_workflow | Load the steps of a workflow | Standard only |
load_mcp | Load the metadata of one MCP tool without running it | Standard only; an MCP server is connected |
use_mcp_tool | Run a tool provided by an MCP server | Standard only; an MCP server is connected |
access_mcp_resource | Read a resource provided by an MCP server | Standard only; an MCP server is connected |
load_mcp_documentation | Load guidance for creating and installing MCP servers | Standard only; an MCP server is connected |
use_subagent / use_subagents | Run one subagent or a batch of subagents | Standard only; subagents are enabled and the current run is not itself a subagent |
spawn_task | Start an independent new task; requires user approval before creation | Standard only; not inside a subagent or a spawned task |
Strict Plan Mode
Section titled “Strict Plan Mode”When Strict Plan Mode is on in Settings → Features, Plan mode rejects write_to_file, replace_in_file, and apply_patch, as well as the rule-creation tool used by /newrule.
MCP tools
Section titled “MCP tools”Besides the built-in tools above, tools provided by connected MCP servers also become callable. MCP server configuration comes from the global file <documents-root>/settings/mcp_settings.json and the workspace directory .agents/mcp/. See MCP.