Skip to content

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.

ToolPurposeConditions
read_fileRead file content, optionally a line rangeStandard, Lite
write_to_fileCreate a new file, creating directories as neededStandard, Lite
replace_in_fileEdit an existing file with line-matched SEARCH/REPLACE blocksStandard, Lite
search_filesSearch file contents in a directory with a regular expressionStandard, Lite
list_filesList directory contents, optionally recursivelyStandard, Lite
list_code_definition_namesList top-level source-code definitionsStandard, Lite
apply_patchAdd, delete, move, or edit code using a patch formatStandard only
find_referencesFind symbol references through the IDE language serviceStandard only; requires VS Code
renameRename a symbol through the IDE language service, with previewStandard only; requires VS Code
replace_textReplace text across files matching a glob, with previewStandard only
  • 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.

ToolPurposeConditions
execute_commandRun a shell commandStandard, Lite
kill_commandStop a command started by execute_commandStandard, Lite
browser_actionOperate a Puppeteer-controlled browserStandard only; the model supports browser use and it is not disabled in browser settings
web_fetchFetch and analyze a given URLStandard only; Web Tools is on
web_searchSearch the web and return titles and linksStandard only; Web Tools is on
generate_imageGenerate or edit images through the configured image sourceEnable Image Generation is on and an image model is available
ToolPurposeConditions
ask_followup_questionAsk the user one question that needs an answerStandard, Lite
qna_respondAnswer the user’s questionStandard, Lite
make_planSubmit a complete implementation or design planStandard, Lite
working_respondTell 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 itStandard, Lite
phase_reportReport 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 itStandard, Lite
generate_reportSubmit a structured report for reviewStandard, Lite
attempt_completionSubmit the final result of the taskStandard, Lite
change_todo_listAsk the user to approve replacing the current to-do listStandard only; Focus Chain is on
ToolPurposeConditions
load_skillLoad the full instructions of a skillStandard only; at least one skill is available
load_workflowLoad the steps of a workflowStandard only
load_mcpLoad the metadata of one MCP tool without running itStandard only; an MCP server is connected
use_mcp_toolRun a tool provided by an MCP serverStandard only; an MCP server is connected
access_mcp_resourceRead a resource provided by an MCP serverStandard only; an MCP server is connected
load_mcp_documentationLoad guidance for creating and installing MCP serversStandard only; an MCP server is connected
use_subagent / use_subagentsRun one subagent or a batch of subagentsStandard only; subagents are enabled and the current run is not itself a subagent
spawn_taskStart an independent new task; requires user approval before creationStandard only; not inside a subagent or a spawned task

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.

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.