Skip to content

Agent Tools

refact-planner edited this page Jun 7, 2026 · 2 revisions

Agent Tools

A code-grounded catalog of the tool groups exposed by the engine, plus how availability and confirmation work.

How tool exposure works

AGENTS.md says the tool list is filtered by mode, capabilities, and config. In tools_list.rs, availability is narrowed by:

  • mode allow-lists from the mode YAML,
  • capability checks for AST, VecDB, thinking-model support, knowledge, and experimental flags,
  • integration/MCP/subagent allowances from the mode config,
  • per-tool enabled flags.

The final list is then sorted using the mode's tool order. This means the same underlying registry can produce different tool sets in different modes.

Confirmation and pause model

Tool execution is mediated by confirm rules in mode config. Many defaults use tool_confirm rules such as auto for safe reads and ask for destructive or sensitive operations.

Relevant patterns from the defaults:

  • ask mode auto-approves everything in its own limited tool set.
  • explore and plan mostly auto-approve read-only actions, with handoff_to_mode explicitly auto-approved in Explore.
  • debug asks before cron_create, process_start, and process_kill.
  • agent, quick_agent, and buddy mostly auto-approve their configured tools.

When a tool requires confirmation, execution pauses until the user approves or rejects it. That pause fits the chat state machine's Paused state.

Built-in tool groups

Codebase search

Tools in this group, as registered in tools_list.rs:

  • tree
  • cat
  • search_pattern / regex search
  • search_symbol_definition / AST symbol lookup
  • search_semantic
  • semantic_search
  • knowledge

The source file exposes the built-in search group as Codebase Search and Knowledge separately, with AST/VecDB-dependent tools removed when the relevant capability is unavailable.

Codebase change

Registered editing/change tools include:

  • create_textdoc / write
  • update_textdoc
  • update_textdoc_by_lines
  • update_textdoc_regex
  • update_textdoc_anchored
  • apply_patch
  • undo_textdoc
  • rm
  • mv

AGENTS.md groups these as codebase change tools and notes that confirmation is required for patch/create/update/remove/move/undo-style operations.

Web

Web tooling includes:

  • web
  • web_search
  • chrome

The defaults use these differently by mode: Ask and Explore emphasize web lookup; Buddy and Debug include Chrome; Planner can use web for external constraints; Agent and Quick Agent can use the full web set.

Code execution

Execution/runtime tools include:

  • shell
  • process_start
  • process_list
  • process_read
  • process_wait
  • process_kill
  • process_write_stdin
  • sleep
  • cron_create
  • cron_list
  • cron_delete
  • process_subscribe
  • clean_background_processes

AGENTS.md explains the unified exec runtime: shell and process_start can run with tty=true for PTY behavior, background processes are tracked separately, and sleep emits tick events when configured.

System integrations

The engine registers integration hooks of the form:

  • cmdline_*
  • service_*

AGENTS.md lists integrations such as GitHub, GitLab, Bitbucket, Chrome, PostgreSQL, MySQL, Docker, PDB, shell/cmdline, services, and MCP. The tool list is filtered so only integrations allowed by the active mode appear.

Knowledge

Knowledge-related tools include:

  • search_trajectories
  • get_trajectory_context
  • knowledge
  • create_knowledge
  • task-memory tools in planner/task-agent modes

These support persistent project memory, past conversation lookup, and trajectory retrieval. In tools_list.rs, the knowledge group also includes trajectory context and task completion helper tools where applicable.

Agent

Agent-oriented orchestration tools include:

  • subagent
  • delegate
  • plan / strategic planning tools
  • research / deep research tools
  • review / code review tools
  • background agent control tools: agent_list, agent_status, agent_wait, agent_result, agent_cancel

The defaults show that some modes expose subagent but not delegate (for example, Ask and Explore), while Agent and Quick Agent expose both. Task Planner adds swarm/planning-specific variants.

Task management

tools_list.rs contains a large task-management group, roughly the ~18+ tools referred to in AGENTS.md. The registered set includes card, agent, batch, document, memory, merge, broadcast, lifecycle, wait, verify, and overview tools such as:

  • tasks_set
  • task_done
  • task_init
  • task-board CRUD and move tools
  • agent spawn/assign/update/complete/fail tools
  • comment tools
  • document tools (doc_list, doc_get, doc_create, doc_update, doc_append, doc_delete, doc_pin, doc_history)
  • memory tools (task_mem_save, task_mem_search, task_mem_pin, task_mem_archive, task_mem_inbox, etc.)
  • agent_diff, agent_pulse, agent_chat_summary, agent_steer
  • merge_ready_in_order, spawn_agents_batch, swarm_investigate

Task Planner and Task Agent modes selectively expose these based on their workflow.

IDE

IDE-facing tools include:

  • open_file
  • paste_text

These are present in the overall catalog even though the exact mode exposure depends on the active configuration and runtime integration.

Integration-defined + MCP tools

Integration tools are loaded dynamically from configured integrations. MCP tools are grouped per server in tools_list.rs, and the loader can switch to a lazy proxy mode when the MCP catalog exceeds the threshold. In that case, the session receives:

  • mcp_tool_search
  • mcp_call

The tool list is fixed for the session once generated.

Mode-specific notes

A few code-grounded examples from the defaults:

  • ask: add_workspace_folder, web, web_search, deep_research, subagent, background-agent controls, ask_questions.
  • explore: code search/read tools, web tools, subagent, background-agent controls, handoff_to_mode.
  • plan: adds strategic_planning, tasks_set, task_done, plan tools, and handoff.
  • agent: broad editing, execution, knowledge, subagent/delegate, task, and process tools.
  • quick_agent: similar broad set, including editing, shell/process/scheduler, plan, and task tools.
  • debug: read-only diagnostics plus process/scheduler and agent controls.
  • buddy: broad companion set including buddy-specific tools and internal repo browsing.
  • task_planner: board/docs/memory/agent orchestration, compression, and swarm investigation.
  • task_agent: isolated card execution with task finishing, memory, docs, process, and scheduler tools.

Cross-links

Clone this wiki locally