Skip to main content
The e2e CLI sends anonymous usage data so we can see which commands, engines, and features are used and where runs fail. It is on by default and off with one command. Nothing about your tests, your app, or your credentials leaves the machine.

Opt out

Any one of these turns it off:
npx e2e telemetry prints the status and, when it is off, why. enable reverses a saved disable; a variable set in the environment still wins. A disable takes effect at once, even for a command already running in another terminal: every command reads the file again before it sends.

See what would be sent

prints every event to stderr as [telemetry] {...} and sends nothing. What you see there is the exact payload.

What is sent

Two events, sent together in one request when the command ends. Everything telemetry does after the command shares one two-second deadline, so it never holds a command up for longer. Every event carries these properties: e2e_cli_session, once per command: e2e_run_completed, once per e2e run or e2e explore, built from the numbers in report.json:

What is never sent

Test titles, file paths, URLs, origins, instructions, observations, page content, screenshots, error messages, stack traces, environment variables, credentials, or the contents of any file. The event builders read counts, versions, and the short names your config declares for engines, platforms, and models out of the report and nothing else, and the unit tests assert that a report full of recognizable strings yields a payload with none of them.

In CI

CI runs are attributed to the CI vendor rather than to a machine, no preferences file is written on the runner, and no notice is printed. Set E2E_TELEMETRY_DISABLED: '1' in the job’s env to send nothing from CI.

Where it goes

Events go to a PostHog project we operate, in one request to eu.i.posthog.com. PostHog keeps no person profile for the ids; the data is read in aggregate. Telemetry falls under the security policy, which also lists every other outbound connection a run can make.

The notice

The first command on a machine prints two lines on stderr, once, saying that telemetry is on and how to turn it off. The notice never goes to stdout, so --reporter json output stays parseable. When what is collected changes enough to matter, the notice shows again once.