Telemetry
Rover collects anonymous usage telemetry to help the team understand how the tool is used and prioritize improvements. This page explains what data is collected, how privacy is protected, and how to disable telemetry if you prefer.
Why Rover Collects Telemetry
Section titled “Why Rover Collects Telemetry”Telemetry helps the Rover team:
- Understand usage patterns: Which commands are used most frequently
- Prioritize improvements: Focus development effort on the features people actually use
Anonymous data
Section titled “Anonymous data”Rover is designed with privacy as a core principle:
- No personal information: Telemetry never collects your name, email, or any identifying information
- No code or content: Task descriptions, prompts, file contents, and code are never collected
- Anonymous user ID: A random UUID is generated on first use and stored in the global store
- No tracking across devices: The random ID is local to your machine and has no connection to your identity
- You control your ID: You can regenerate your anonymous ID at any time by modifying the global store
The anonymous user ID is stored in the global configuration file:
| Platform | Location |
|---|---|
| macOS/Linux | ~/.rover/config/rover.json |
| Windows | %APPDATA%\Rover\config\rover.json |
What Data is Collected
Section titled “What Data is Collected”Telemetry records only command usage events. For each event, Rover sends:
| Data | Description |
|---|---|
| Anonymous user ID | Random UUID stored in the global configuration |
| Event type | Which command was run (e.g., new_task, merge_task) |
| Source | Whether the command came from the CLI or VS Code extension |
Additional Metadata by Command
Section titled “Additional Metadata by Command”Some commands include basic metadata to help understand usage patterns:
| Command | Additional Data |
|---|---|
rover task | Workflow name, agent names, whether multi-agent mode was used, task provider (user input or GitHub) |
rover iterate | Iteration number |
rover init | Agent names, preferred agent, programming languages, attribution setting |
Disabling Telemetry
Section titled “Disabling Telemetry”You can disable telemetry at any time using one of the following methods.
Option 1: Environment Variable (Recommended)
Section titled “Option 1: Environment Variable (Recommended)”Set the ROVER_NO_TELEMETRY environment variable:
# For a single commandROVER_NO_TELEMETRY=1 rover list
# Or export it for your entire sessionexport ROVER_NO_TELEMETRY=1To disable telemetry permanently, add the export to your shell profile (~/.bashrc, ~/.zshrc, etc.):
# Add to ~/.bashrc or ~/.zshrcexport ROVER_NO_TELEMETRY=1Option 2: Global Store Configuration
Section titled “Option 2: Global Store Configuration”Edit the global configuration file to set telemetry to disabled:
Disable via global store
- 1
Open the global configuration file
Terminal window # macOS/Linuxnano ~/.rover/config/rover.json# Windows (PowerShell)notepad $env:APPDATA\Rover\config\rover.json - 2
Set the
telemetryfield to"disabled"{"version": "1.0","userId": "a1b2c3d4-5678-90ab-cdef-1234567890ab","telemetry": "disabled",...}
Option 3: Marker File (Legacy)
Section titled “Option 3: Marker File (Legacy)”Create a .no-telemetry marker file:
# macOS/Linuxmkdir -p ~/.config/rover && touch ~/.config/rover/.no-telemetry
# To re-enablerm ~/.config/rover/.no-telemetryVerifying Telemetry Status
Section titled “Verifying Telemetry Status”You can verify whether telemetry is disabled by checking any of these:
- Environment variable:
echo $ROVER_NO_TELEMETRY(if set to1ortrue) - Global store: Check the
telemetryfield in~/.rover/config/rover.json - Marker file:
ls ~/.config/rover/.no-telemetry(if file exists)
Telemetry is disabled if any of these conditions is met.