-
-
Notifications
You must be signed in to change notification settings - Fork 4
Agent Tools
A code-grounded catalog of the tool groups exposed by the engine, plus how availability and confirmation work.
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
enabledflags.
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.
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:
-
askmode auto-approves everything in its own limited tool set. -
exploreandplanmostly auto-approve read-only actions, withhandoff_to_modeexplicitly auto-approved in Explore. -
debugasks beforecron_create,process_start, andprocess_kill. -
agent,quick_agent, andbuddymostly 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.
Tools in this group, as registered in tools_list.rs:
treecat-
search_pattern/ regex search -
search_symbol_definition/ AST symbol lookup search_semanticsemantic_searchknowledge
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.
Registered editing/change tools include:
-
create_textdoc/ write update_textdocupdate_textdoc_by_linesupdate_textdoc_regexupdate_textdoc_anchoredapply_patchundo_textdocrmmv
AGENTS.md groups these as codebase change tools and notes that confirmation is required for patch/create/update/remove/move/undo-style operations.
Web tooling includes:
webweb_searchchrome
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.
Execution/runtime tools include:
shellprocess_startprocess_listprocess_readprocess_waitprocess_killprocess_write_stdinsleepcron_createcron_listcron_deleteprocess_subscribeclean_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.
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-related tools include:
search_trajectoriesget_trajectory_contextknowledgecreate_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-oriented orchestration tools include:
subagentdelegate-
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.
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_settask_donetask_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-facing tools include:
open_filepaste_text
These are present in the overall catalog even though the exact mode exposure depends on the active configuration and runtime integration.
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_searchmcp_call
The tool list is fixed for the session once generated.
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: addsstrategic_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.
Refact on GitHub: https://github.com/JegernOUTT/refact
- Agent Modes
- Agent Tools
- Task Planner & Cards
- Worktrees
- Subagents
- Memory & Knowledge
- Hidden Roles & Plans
- Context Compression
- Scheduler & Cron
- Processes & PTY
- Buddy
- MCP
- Skills, Commands & Hooks
- Marketplace
- Chat System
- Providers
- Caps & Models
- Code Completion (FIM)
- AST
- VecDB
- Exec Runtime
- HTTP API
- Checkpoints & Git
- Voice