How the Tool Handshake Works
Tools provide a flexible, powerful way for models to interface with the external world. They are provided to the model as a JSON object with a name and an arguments schema. For example, aread_file
tool with a filepath
argument will give the model the ability to request the contents of a specific file.
The following handshake describes how Agent uses tools:
- In Agent mode, available tools are sent along with
user
chat requests - The model can choose to include a tool call in its response
- The user gives permission. This step is skipped if the policy for that tool is set to
Automatic
- Continue calls the tool using built-in functionality or the MCP server that offers that particular tool
- Continue sends the result back to the model
- The model responds, potentially with another tool call and step 2 begins again
Tool availability varies by mode: - Chat mode: No tools included - Plan
mode: Only read-only tools included - Agent mode: All tools included
What Built-in Tools Are Available
Continue includes several built-in tools which provide the model access to IDE functionality.What Tools Are Available in Plan Mode (Read-Only)
In Plan mode, only these read-only tools are available:- Read file (
read_file
) - Read currently open file (
read_currently_open_file
) - List directory (
ls
) - Glob search (
glob_search
) - Grep search (
grep_search
) - Fetch URL content (
fetch_url_content
) - Search web (
search_web
) - View diff (
view_diff
) - View repo map (
view_repo_map
) - View subdirectory (
view_subdirectory
) - Codebase tool (
codebase_tool
)
What Tools Are Available in Agent Mode (All Tools)
In Agent mode, all tools are available including the read-only tools above plus:- Create new file (
create_new_file
): Create a new file within the project - Edit file (
edit_file
): Make changes to existing files - Run terminal command (
run_terminal_command
): Run commands from the workspace root - Create Rule Block (
create_rule_block
): Create a new rule block in.continue/rules
- All other write/execute tools for modifying the codebase