[DOCS] DISABLE_TELEMETRY should document experiment-gate side effects

Open 💬 1 comment Opened Apr 13, 2026 by coygeek

Documentation Type

Unclear/confusing documentation

Documentation Location

https://code.claude.com/docs/en/env-vars
https://code.claude.com/docs/en/data-usage
https://code.claude.com/docs/en/remote-control
https://code.claude.com/docs/en/changelog

Section/Topic

DISABLE_TELEMETRY, Statsig telemetry, experiment gates, and fallback defaults

Current Documentation

The current docs describe DISABLE_TELEMETRY narrowly as a Statsig telemetry opt-out:

From env-vars.md:

DISABLE_TELEMETRY | Set to 1 to opt out of Statsig telemetry (note that Statsig events do not include user data like code, file paths, or bash commands)

From data-usage.md:

Claude Code connects from users' machines to the Statsig service to log operational metrics such as latency, reliability, and usage patterns. This logging does not include any code or file paths. ... To opt out of Statsig telemetry, set the DISABLE_TELEMETRY environment variable.

Other docs already imply that the setting affects behavior beyond metrics collection:

  • data-usage.md says surveys are also disabled when DISABLE_TELEMETRY is set
  • remote-control.md says Remote Control eligibility can fail if DISABLE_TELEMETRY is present
  • changelog.md notes a fix for /loop not being available when telemetry was disabled

What's Wrong or Missing?

The docs do not clearly explain that disabling telemetry also disables client-side experiment gates / remote gate fetches.

A recent public comment from Boris Cherny says:

"When you turn off telemetry we also disable experiment gates -- we do not call home when telemetry is off -- so Claude reads the default value."

That means DISABLE_TELEMETRY=1 is not just a metrics/privacy switch. It can also change runtime behavior for any feature controlled by experiment gates, because Claude Code falls back to built-in defaults instead of fetching gate values.

One concrete example mentioned in that comment is prompt cache TTL behavior. The current docs do not make this side effect explicit, so users can reasonably misunderstand the flag as affecting analytics only.

This matters for:

  • privacy-conscious users deciding whether to disable telemetry
  • debugging why behavior differs across machines or accounts
  • understanding why some features, heuristics, or eligibility checks change when telemetry is disabled

Suggested Improvement

Please document explicitly that:

  1. DISABLE_TELEMETRY=1 disables Statsig telemetry collection.
  2. It also disables fetching client-side experiment gates / remote gate values.
  3. When that happens, Claude Code uses built-in default values for behavior controlled by those gates.
  4. This may affect feature availability, heuristics, or defaults in addition to disabling telemetry.
  5. If possible, list known examples where this matters.

Suggested wording for env-vars.md:

DISABLE_TELEMETRY=1 opts out of Statsig telemetry. Because Claude Code does not contact Statsig when telemetry is disabled, client-side experiment gates are also not fetched. In that case, Claude Code uses built-in default values for any behavior controlled by those gates. This may affect feature availability or defaults in addition to disabling telemetry.

A cross-link from data-usage.md would also help.

Impact

Medium - Makes feature difficult to understand

Additional Context

Public developer comment:

Relevant current docs:

View original on GitHub ↗

This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗