Use shadow mode in Rovo Dev CLI
Shadow mode in Rovo Dev CLI lets you test code changes in an isolated environment before applying them to your working directory.
Rovo Dev creates a temporary copy of your workspace and runs all operations there, giving you the chance to review changes before applying them to your codebase.
Start Rovo Dev CLI in shadow mode
Command line flag
Enable shadow mode for a single session:
# Interactive mode with shadow mode
acli rovodev run --shadow
# Non-interactive mode with shadow mode
acli rovodev run --shadow "Refactor the authentication module"
# Server mode with shadow mode
acli rovodev serve 3000 --shadow
Configuration file
Enable shadow mode permanently in your configuration file (default location ~/.rovodev/config.yml
):
agent:
experimental:
enableShadowMode: true
Shadow mode cannot start when MCP servers are already running.
Using shadow mode
When shadow mode is active, Rovo Dev runs all file modifications, bash commands, and other operations run in the temporary environment.
At the end of each interaction, Rovo Dev will show you a diff with the proposed changes and ask for your approval to apply them to your working directory.
For example:
Running in shadow mode in /tmp/tmp123abc...
Proposed changes (Shadow Mode):
```diff
+++ src/auth.py
@@ -10,6 +10,8 @@
def authenticate_user(username, password):
+ # Add input validation
+ if not username or not password:
+ raise ValueError("Username and password are required")
return verify_credentials(username, password)
Would you like to apply these changes? ([yes]/no)
> yes
Great! I've applied the changes. What would you like to do next?
Temporary files are automatically cleaned up when the session ends.
How shadow mode works
Git repositories
Creates a new git worktree in a temporary directory.
Applies any uncommitted changes from your working directory to the temporary workspace.
Runs all operations in the temporary workspace.
Manages changes using git patches for precise control.
Git must be available in your PATH.
Non-git repositories
Creates a direct file system copy of your workspace (limited to 1,000 files).
Operations run in the copied environment.
Tracks modified files to manage changes.
Was this helpful?