Skip to content

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.

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

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:

PlatformLocation
macOS/Linux~/.rover/config/rover.json
Windows%APPDATA%\Rover\config\rover.json

Telemetry records only command usage events. For each event, Rover sends:

DataDescription
Anonymous user IDRandom UUID stored in the global configuration
Event typeWhich command was run (e.g., new_task, merge_task)
SourceWhether the command came from the CLI or VS Code extension

Some commands include basic metadata to help understand usage patterns:

CommandAdditional Data
rover taskWorkflow name, agent names, whether multi-agent mode was used, task provider (user input or GitHub)
rover iterateIteration number
rover initAgent names, preferred agent, programming languages, attribution setting

You can disable telemetry at any time using one of the following methods.

Section titled “Option 1: Environment Variable (Recommended)”

Set the ROVER_NO_TELEMETRY environment variable:

Terminal window
# For a single command
ROVER_NO_TELEMETRY=1 rover list
# Or export it for your entire session
export ROVER_NO_TELEMETRY=1

To disable telemetry permanently, add the export to your shell profile (~/.bashrc, ~/.zshrc, etc.):

Terminal window
# Add to ~/.bashrc or ~/.zshrc
export ROVER_NO_TELEMETRY=1

Edit the global configuration file to set telemetry to disabled:

Disable via global store

  1. 1

    Open the global configuration file

    Terminal window
    # macOS/Linux
    nano ~/.rover/config/rover.json
    # Windows (PowerShell)
    notepad $env:APPDATA\Rover\config\rover.json
  2. 2

    Set the telemetry field to "disabled"

    {
    "version": "1.0",
    "userId": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
    "telemetry": "disabled",
    ...
    }

Create a .no-telemetry marker file:

Terminal window
# macOS/Linux
mkdir -p ~/.config/rover && touch ~/.config/rover/.no-telemetry
# To re-enable
rm ~/.config/rover/.no-telemetry

You can verify whether telemetry is disabled by checking any of these:

  1. Environment variable: echo $ROVER_NO_TELEMETRY (if set to 1 or true)
  2. Global store: Check the telemetry field in ~/.rover/config/rover.json
  3. Marker file: ls ~/.config/rover/.no-telemetry (if file exists)

Telemetry is disabled if any of these conditions is met.