Skip to main content

Concurrent File Edits (AKA Multi-File Edits)

Edit multiple files in a single operation, dramatically speeding up refactoring and multi-file changes.


What It Does

Batch diff approval interface showing multiple file changes

Concurrent File Edits allows Roo to modify multiple files in your workspace within a single request. Instead of approving each file edit individually, you review and approve all changes at once through a unified batch approval interface.


Why Use It

Traditional approach: Sequential file edits requiring individual approvals

  • Edit file A → Approve
  • Edit file B → Approve
  • Edit file C → Approve

With Concurrent File Edits: All changes presented together

  • Review all proposed changes across files A, B, and C
  • Approve once to apply all changes

This reduces interruptions and speeds up complex tasks like:

  • Refactoring functions across multiple files
  • Updating configuration values throughout your codebase
  • Renaming components and their references
  • Applying consistent formatting or style changes

How to Enable

Experimental Feature

Multi-File Edits is an experimental feature and must be enabled in settings.

  1. Open Roo Code settings (click the gear icon in Roo Code)
  2. Navigate to Roo Code > Experimental Settings
  3. Enable the Enable multi-file edits option
Enable multi-file edits toggle in experimental settings

Using the Feature

When enabled, Roo automatically uses concurrent edits when appropriate. You'll see a "Batch Diff Approval" interface showing:

  • All files to be modified
  • Proposed changes for each file
  • Options to approve all changes or review individually

Example Workflow

  1. Ask Roo to "Update all API endpoints to use the new authentication method"
  2. Roo analyzes your codebase and identifies all affected files
  3. You receive a single batch approval request showing changes across:
    • src/api/users.js
    • src/api/products.js
    • src/api/orders.js
    • src/middleware/auth.js
  4. Review all changes in the unified diff view
  5. Approve to apply all changes simultaneously

Technical Details

This feature leverages the apply_diff tool's experimental multi-file capabilities. For detailed information about the implementation, XML format, and how the MultiFileSearchReplaceDiffStrategy works, see the apply_diff documentation.


Best Practices

When to Enable

  • Using capable AI models (Claude 3.5 Sonnet, GPT-4, etc.)
  • Comfortable reviewing multiple changes at once

When to Keep Disabled

  • Working with less capable models that might struggle with complex multi-file contexts
  • Prefer reviewing each change individually

Limitations

  • Experimental: This feature is still being refined and may have edge cases
  • Model dependent: Works best with more capable AI models
  • Token usage: Initial requests may use more tokens due to larger context
  • Complexity: Very large batch operations might be harder to review

Troubleshooting

Changes Not Batching

  • Verify the experimental flag is enabled in settings
  • Check that your model supports multi-file operations
  • Ensure files aren't restricted by .rooignore

Approval UI Not Appearing

  • Update to the latest version of Roo Code
  • Check VS Code's output panel for errors
  • Try disabling and re-enabling the feature

Performance Issues

  • For very large batches, consider breaking the task into smaller chunks
  • Monitor token usage if working with limited API quotas

See Also