Skip to main content

How Tools Work

Roo Code uses tools to interact with your code and environment. These specialized helpers perform specific actions like reading files, making edits, running commands, or searching your codebase. Tools provide automation for common development tasks without requiring manual execution.

Tool Workflow

Describe what you want to accomplish in natural language, and Roo Code will:

  1. Select the appropriate tool based on your request
  2. Present the tool with its parameters for your review
  3. Execute the approved tool and show you the results
  4. Continue this process until your task is complete

Tool Categories

CategoryPurposeTool Names
ReadAccess file content and code structureread_file, search_files, list_files, list_code_definition_names
EditCreate or modify files and codewrite_to_file, apply_diff
ExecuteRun commands and perform system operationsexecute_command
BrowserInteract with web contentbrowser_action
WorkflowManage task flow and contextask_followup_question, attempt_completion, switch_mode, new_task

Example: Using Tools

Here's how a typical tool interaction works:

Tool approval interface showing Save and Reject buttons along with Auto-approve checkbox

The tool approval interface shows Save/Reject buttons and Auto-approve options.

User: Create a file named greeting.js that logs a greeting message

Roo Code: (Proposes the write_to_file tool as shown in the image above)

<write_to_file>
<path>greeting.js</path>
<content>
function greet(name) {
console.log(`Hello, ${name}!`);
}

greet('World');
</content>
<line_count>5</line_count>
</write_to_file>

User: (Clicks "Save" in the interface)

Roo Code: (Confirms file creation)

Tool Safety and Approval

Every tool use requires your explicit approval. When Roo proposes a tool, you'll see:

  • A "Save" button to approve and execute the tool
  • A "Reject" button to decline the proposed tool
  • An optional "Auto-approve" setting for trusted operations

This safety mechanism ensures you maintain control over which files are modified, what commands are executed, and how your codebase is changed. Always review tool proposals carefully before saving them.

Core Tools Reference

Tool NameDescriptionCategory
read_fileReads the content of a file with line numbersRead
search_filesSearches for text or regex patterns across filesRead
list_filesLists files and directories in a specified locationRead
list_code_definition_namesLists code definitions like classes and functionsRead
write_to_fileCreates new files or overwrites existing onesEdit
apply_diffMakes precise changes to specific parts of a fileEdit
execute_commandRuns commands in the VS Code terminalExecute
browser_actionPerforms actions in a headless browserBrowser
ask_followup_questionAsks you a clarifying questionWorkflow
attempt_completionIndicates the task is completeWorkflow
switch_modeChanges to a different operational modeWorkflow
new_taskCreates a new subtask with a specific starting modeWorkflow

Learn More About Tools

For more detailed information about each tool, including complete parameter references and advanced usage patterns, see the Tool Use Overview documentation.