|
1 | 1 | # Auto-Approving Actions |
2 | 2 |
|
3 | | -Roo Code can automatically approve certain actions without needing your explicit confirmation each time. This speeds up your workflow, but it's important to use this feature carefully. **Always be mindful of the actions you're auto-approving, as they give Roo Code more control.** |
| 3 | +> ⚠️ **SECURITY WARNING:** Auto-approve settings bypass confirmation prompts, giving Roo direct access to your system. This can result in **data loss, file corruption, or worse**. Command line access is particularly dangerous, as it can potentially execute harmful operations that could damage your system or compromise security. Only enable auto-approval for actions you fully trust. |
4 | 4 |
|
5 | | -## The Auto-Approve Toolbar |
| 5 | +Auto-approve settings speed up your workflow by eliminating repetitive confirmation prompts, but they significantly increase security risks. |
6 | 6 |
|
7 | | -The easiest way to manage auto-approval settings is through the **Auto-Approve Toolbar**, located in the toolbar directly above the chat input box: |
| 7 | +## Quick Start Guide |
8 | 8 |
|
9 | | -1. **Open the Auto-Approve Toolbar:** Click on the toolbar to expand it. |
10 | | -2. **Check/Uncheck Actions:** A menu will appear with checkboxes for different action types. Check the actions you want Roo Code to perform automatically, and uncheck the ones you want to approve manually. |
| 9 | +1. Click the Auto-Approve Toolbar above the chat input |
| 10 | +2. Select which actions Roo can perform without asking permission |
| 11 | +3. Use the master toggle (leftmost checkbox) to quickly enable/disable all permissions |
11 | 12 |
|
12 | | -The available auto-approval options are: |
| 13 | +## Auto-Approve Toolbar |
13 | 14 |
|
14 | | -* **Read Files:** Allows Roo Code to read files and directories without confirmation. |
15 | | -* **Edit Files:** Allows Roo Code to create, modify, and delete files. **Use with caution!** |
16 | | -* **Run Commands:** Allows Roo Code to execute terminal commands. **Use with caution!** You can restrict this to a specific list of allowed commands in the settings. |
17 | | -* **Use Browser:** Allows Roo Code to perform actions in a headless browser, such as opening web pages and interacting with elements. |
18 | | -* **Use MCP:** Allows Roo Code to interact with configured MCP servers. |
19 | | -* **Switch Modes:** Allows Roo Code to switch modes automatically. |
20 | | -* **Retry Requests:** Allows Roo Code to automatically retry failed API requests. |
| 15 | +<img src="/img/auto-approving-actions/auto-approving-actions.png" alt="Auto-approve toolbar collapsed state" width="600" /> |
21 | 16 |
|
22 | | -**When an action is auto-approved, Roo Code will proceed without showing you a confirmation prompt.** |
| 17 | +*Prompt box and Auto-Approve Toolbar showing enabled permissions* |
23 | 18 |
|
24 | | -## Top-Level Toggle |
| 19 | +Click the toolbar to expand it and configure individual permissions: |
25 | 20 |
|
26 | | -At the top of the Auto-Approve Toolbar is a toggle to enable/disable auto-approval overall. When this is disabled, none of the actions will be auto-approved. You can use this to quickly disable auto-approval when you don't want Roo Code to take certain actions automatically. |
| 21 | +<img src="/img/auto-approving-actions/auto-approving-actions-1.png" alt="Auto-approve toolbar expanded state" width="600" /> |
27 | 22 |
|
28 | | -## Advanced Configuration (Settings) |
| 23 | +*Prompt text box and Expanded toolbar with all options* |
29 | 24 |
|
30 | | -You can also find these auto-approval options in the Roo Code settings panel (<Codicon name="gear" /> in the top right corner). The settings panel provides the same functionality as the auto-approve menu, but in a different location. The auto-approve menu is generally the quickest way to change these settings. |
| 25 | +### Available Permissions |
31 | 26 |
|
32 | | -## Security Considerations |
| 27 | +| Permission | What it does | Risk level | |
| 28 | +|------------|--------------|------------| |
| 29 | +| **Read files and directories** | Lets Roo access files without asking | Medium | |
| 30 | +| **Edit files** | Lets Roo modify files without asking | **High** | |
| 31 | +| **Execute approved commands** | Runs whitelisted terminal commands automatically | **High** | |
| 32 | +| **Use the browser** | Allows headless browser interaction | Medium | |
| 33 | +| **Use MCP servers** | Lets Roo use configured MCP services | Medium-High | |
| 34 | +| **Switch modes** | Changes between Roo modes automatically | Low | |
| 35 | +| **Create & complete subtasks** | Manages subtasks without confirmation | Low | |
| 36 | +| **Retry failed requests** | Automatically retries failed API requests | Low | |
33 | 37 |
|
34 | | -* **Start Slowly:** Begin by auto-approving only read-only operations. As you become more comfortable with Roo Code, you can gradually enable other actions. |
35 | | -* **Review Regularly:** Periodically review your auto-approval settings to make sure they still align with your needs and security preferences. |
36 | | -* **Allowed Commands:** You can limit which commands can be auto-executed. Go to `Settings > Auto-Approve Settings` to find and modify the list of allowed command prefixes. |
| 38 | +## Master Toggle for Quick Control |
37 | 39 |
|
38 | | -By understanding and carefully configuring auto-approval, you can optimize Roo Code's performance while maintaining control over your system. |
| 40 | +The leftmost checkbox works as a master toggle: |
| 41 | + |
| 42 | +<img src="/img/auto-approving-actions/auto-approving-actions-14.png" alt="Master toggle in Auto-approve toolbar" width="600" /> |
| 43 | + |
| 44 | +*Master toggle (checkbox) controls all auto-approve permissions at once* |
| 45 | + |
| 46 | +Use the master toggle when: |
| 47 | +- Working in sensitive code (turn off) |
| 48 | +- Doing rapid development (turn on) |
| 49 | +- Switching between exploration and editing tasks |
| 50 | + |
| 51 | +## Advanced Settings Panel |
| 52 | + |
| 53 | +The settings panel provides detailed control with important security context: |
| 54 | + |
| 55 | +> **Allow Roo to automatically perform operations without requiring approval. Enable these settings only if you fully trust the AI and understand the associated security risks.** |
| 56 | +
|
| 57 | +To access these settings: |
| 58 | + |
| 59 | +1. Click <Codicon name="gear" /> in the top-right corner |
| 60 | +2. Navigate to Auto-Approve Settings |
| 61 | + |
| 62 | +<img src="/img/auto-approving-actions/auto-approving-actions-4.png" alt="Settings panel auto-approve options" width="550" /> |
| 63 | + |
| 64 | +*Complete settings panel view* |
| 65 | + |
| 66 | +### Read Operations |
| 67 | + |
| 68 | +:::caution Read Operations |
| 69 | +<img src="/img/auto-approving-actions/auto-approving-actions-6.png" alt="Read-only operations setting" width="550" /> |
| 70 | + |
| 71 | +**Setting:** "Always approve read-only operations" |
| 72 | + |
| 73 | +**Description:** "When enabled, Roo will automatically view directory contents and read files without requiring you to click the Approve button." |
| 74 | + |
| 75 | +**Risk level:** Medium |
| 76 | + |
| 77 | +While this setting only allows reading files (not modifying them), it could potentially expose sensitive data. Still recommended as a starting point for most users, but be mindful of what files Roo can access. |
| 78 | +::: |
| 79 | + |
| 80 | +### Write Operations |
| 81 | + |
| 82 | +:::caution Write Operations |
| 83 | +<img src="/img/auto-approving-actions/auto-approving-actions-7.png" alt="Write operations setting with delay slider" width="550" /> |
| 84 | + |
| 85 | +**Setting:** "Always approve write operations" |
| 86 | + |
| 87 | +**Description:** "Automatically create and edit files without requiring approval" |
| 88 | + |
| 89 | +**Delay slider:** "Delay after writes to allow diagnostics to detect potential problems" (Default: 1000ms) |
| 90 | + |
| 91 | +**Risk level:** High |
| 92 | + |
| 93 | +This setting allows Roo to modify your files without confirmation. The delay timer is crucial: |
| 94 | +- Higher values (2000ms+): Recommended for complex projects where diagnostics take longer |
| 95 | +- Default (1000ms): Suitable for most projects |
| 96 | +- Lower values: Use only when speed is critical and you're in a controlled environment |
| 97 | +- Zero: No delay for diagnostics (not recommended for critical code) |
| 98 | + |
| 99 | +#### Write Delay & Problems Pane Integration |
| 100 | + |
| 101 | +<img src="/img/auto-approving-actions/auto-approving-actions-5.png" alt="VSCode Problems pane showing diagnostic information" width="600" /> |
| 102 | + |
| 103 | +*VSCode Problems pane that Roo checks during the write delay* |
| 104 | + |
| 105 | +When you enable auto-approval for writing files, the delay timer works with VSCode's Problems pane: |
| 106 | + |
| 107 | +1. Roo makes a change to your file |
| 108 | +2. VSCode's diagnostic tools analyze the change |
| 109 | +3. The Problems pane updates with any errors or warnings |
| 110 | +4. Roo notices these issues before continuing |
| 111 | + |
| 112 | +This works like a human developer pausing to check for errors after changing code. You can adjust the delay time based on: |
| 113 | + |
| 114 | +- Project complexity |
| 115 | +- Language server speed |
| 116 | +- How important error detection is for your workflow |
| 117 | +::: |
| 118 | + |
| 119 | +### Browser Actions |
| 120 | + |
| 121 | +:::info Browser Actions |
| 122 | +<img src="/img/auto-approving-actions/auto-approving-actions-8.png" alt="Browser actions setting" width="550" /> |
| 123 | + |
| 124 | +**Setting:** "Always approve browser actions" |
| 125 | + |
| 126 | +**Description:** "Automatically perform browser actions without requiring approval" |
| 127 | + |
| 128 | +**Note:** "Only applies when the model supports computer use" |
| 129 | + |
| 130 | +**Risk level:** Medium |
| 131 | + |
| 132 | +Allows Roo to control a headless browser without confirmation. This can include: |
| 133 | +- Opening websites |
| 134 | +- Navigating pages |
| 135 | +- Interacting with web elements |
| 136 | + |
| 137 | +Consider the security implications of allowing automated browser access. |
| 138 | +::: |
| 139 | + |
| 140 | +### API Requests |
| 141 | + |
| 142 | +:::info API Requests |
| 143 | +<img src="/img/auto-approving-actions/auto-approving-actions-9.png" alt="API requests retry setting with delay slider" width="550" /> |
| 144 | + |
| 145 | +**Setting:** "Always retry failed API requests" |
| 146 | + |
| 147 | +**Description:** "Automatically retry failed API requests when server returns an error response" |
| 148 | + |
| 149 | +**Delay slider:** "Delay before retrying the request" (Default: 5s) |
| 150 | + |
| 151 | +**Risk level:** Low |
| 152 | + |
| 153 | +This setting automatically retries API calls when they fail. The delay controls how long Roo waits before trying again: |
| 154 | +- Longer delays are gentler on API rate limits |
| 155 | +- Shorter delays give faster recovery from transient errors |
| 156 | +::: |
| 157 | + |
| 158 | +### MCP Tools |
| 159 | + |
| 160 | +:::caution MCP Tools |
| 161 | +<img src="/img/auto-approving-actions/auto-approving-actions-10.png" alt="MCP tools setting" width="550" /> |
| 162 | + |
| 163 | +**Setting:** "Always approve MCP tools" |
| 164 | + |
| 165 | +**Description:** "Enable auto-approval of individual MCP tools in the MCP Servers view (requires both this setting and the tool's individual 'Always allow' checkbox)" |
| 166 | + |
| 167 | +**Risk level:** Medium-High (depends on configured MCP tools) |
| 168 | + |
| 169 | +This setting works in conjunction with individual tool permissions in the MCP Servers view. Both this global setting and the tool-specific permission must be enabled for auto-approval. |
| 170 | +::: |
| 171 | + |
| 172 | +### Mode Switching |
| 173 | + |
| 174 | +:::info Mode Switching |
| 175 | +<img src="/img/auto-approving-actions/auto-approving-actions-11.png" alt="Mode switching setting" width="550" /> |
| 176 | + |
| 177 | +**Setting:** "Always approve mode switching" |
| 178 | + |
| 179 | +**Description:** "Automatically switch between different modes without requiring approval" |
| 180 | + |
| 181 | +**Risk level:** Low |
| 182 | + |
| 183 | +Allows Roo to change between different modes (Code, Architect, etc.) without asking for permission. This primarily affects the AI's behavior rather than system access. |
| 184 | +::: |
| 185 | + |
| 186 | +### Subtasks |
| 187 | + |
| 188 | +:::info Subtasks |
| 189 | +<img src="/img/auto-approving-actions/auto-approving-actions-12.png" alt="Subtasks setting" width="550" /> |
| 190 | + |
| 191 | +**Setting:** "Always approve creation & completion of subtasks" |
| 192 | + |
| 193 | +**Description:** "Allow creation and completion of subtasks without requiring approval" |
| 194 | + |
| 195 | +**Risk level:** Low |
| 196 | + |
| 197 | +Enables Roo to create and complete subtasks automatically. This relates to workflow organization rather than system access. |
| 198 | +::: |
| 199 | + |
| 200 | +### Command Execution |
| 201 | + |
| 202 | +:::caution Command Execution |
| 203 | +<img src="/img/auto-approving-actions/auto-approving-actions-13.png" alt="Command execution setting with whitelist interface" width="550" /> |
| 204 | + |
| 205 | +**Setting:** "Always approve allowed execute operations" |
| 206 | + |
| 207 | +**Description:** "Automatically execute allowed terminal commands without requiring approval" |
| 208 | + |
| 209 | +**Command management:** "Command prefixes that can be auto-executed when 'Always approve execute operations' is enabled. Add * to allow all commands (use with caution)." |
| 210 | + |
| 211 | +**Risk level:** High |
| 212 | + |
| 213 | +This setting allows terminal command execution with controls. While risky, the whitelist feature limits what commands can run. Important security features: |
| 214 | + |
| 215 | +- Whitelist specific command prefixes (recommended) |
| 216 | +- Never use * wildcard in production or with sensitive data |
| 217 | +- Consider security implications of each allowed command |
| 218 | +- Always verify commands that interact with external systems |
| 219 | + |
| 220 | +**Interface elements:** |
| 221 | +- Text field to enter command prefixes (e.g., 'git') |
| 222 | +- "Add" button to add new prefixes |
| 223 | +- Clickable command buttons with X to remove them |
| 224 | +::: |
0 commit comments