[DOCS] DISABLE_TELEMETRY should document experiment-gate side effects
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 to1to 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.mdsays surveys are also disabled whenDISABLE_TELEMETRYis setremote-control.mdsays Remote Control eligibility can fail ifDISABLE_TELEMETRYis presentchangelog.mdnotes a fix for/loopnot 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:
DISABLE_TELEMETRY=1disables Statsig telemetry collection.- It also disables fetching client-side experiment gates / remote gate values.
- When that happens, Claude Code uses built-in default values for behavior controlled by those gates.
- This may affect feature availability, heuristics, or defaults in addition to disabling telemetry.
- 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:
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗