TokenTelemetry
TokenTelemetry Docs
Configuration

Update Check & Privacy

Control the optional update check and anonymous product telemetry — what's sent, how to disable each.

TokenTelemetry is 100% local by design. Your agent logs, session transcripts, token counts, and costs never leave your machine. Two narrow outbound features exist and can be disabled independently.

Updates & Privacy settings showing the Anonymous usage stats and Check for updates toggles

Update check

About once an hour, the dashboard fetches the latest version number and curated release notes from GitHub. This lets you see an in-app banner when a new version is available.

What is sent: A single HTTPS GET to GitHub's API containing no usage data — just a version request. Like any web request, it exposes your IP address and the "TokenTelemetry" User-Agent to GitHub.

What is not sent: Your sessions, tokens, costs, project names, file paths, or any other usage data.

Disabling the update check

In the app: Settings → Updates & privacy → toggle off Check for updates.

Via environment variable: Set TT_NO_UPDATE_CHECK=1 before launching TokenTelemetry. The env var takes precedence over the in-app toggle, so you can enforce it for all users on a machine (e.g. in air-gapped or egress-monitored environments):

TT_NO_UPDATE_CHECK=1 tokentelemetry

Or add it to your shell profile:

export TT_NO_UPDATE_CHECK=1

Anonymous product telemetry

TokenTelemetry optionally sends anonymous, content-free feature-usage events to help the maintainer understand which features are used and prioritize development. This is distinct from the update check.

What is sent: An event name plus a handful of values drawn from fixed lists — which page you opened (including which coding agent's panel), which feature you used, whether a summary succeeded, when you open or close the sidebar plan-limit gauge and when you open a connected coding agent's tile (the agent, never its content), and for each coding agent detected on your machine whether its sessions could be read at all, as a size band rather than a count. No session content, no tokens, no costs, no file paths, no identifiers that could link events to a person or machine.

Anything outside those fixed lists is replaced with other before sending, so an unexpected value cannot ride along. Settings → Anonymous usage statsShow exactly what we send lists every event and every permitted value, generated from the same allowlist the app validates against — so it is always current rather than a description someone remembered to update.

What is not sent: Anything from your agent sessions.

Telemetry is on by default (opt-out). It is automatically disabled in CI environments (CI=true) and when DO_NOT_TRACK=1 is set.

Disabling product telemetry

In the app: Settings → Updates & privacy → toggle off Anonymous usage stats.

Via environment variable: Set TT_NO_TELEMETRY=1 before launching. Like TT_NO_UPDATE_CHECK, this wins over the in-app toggle:

TT_NO_TELEMETRY=1 tokentelemetry

DO_NOT_TRACK=1 also disables telemetry (respecting the Global Privacy Control convention).

Summary

FeatureDefaultDisable in appDisable via env
Update checkOnSettings → Updates & privacyTT_NO_UPDATE_CHECK=1
Product telemetryOnSettings → Updates & privacyTT_NO_TELEMETRY=1 or DO_NOT_TRACK=1

Both toggles are stored in ~/.tokentelemetry/preferences.json.

On this page