Manage opt-in product telemetry. Telemetry is off by default and exists to improve agent, CI, JSON, MCP, and editor workflows.
fallow telemetry status
Telemetry & privacy is the data and privacy contract: what is never collected, what one event contains, and how it is sent. To opt out on one machine, run fallow telemetry disable.
statusShow whether telemetry is on or off, what decided that (admin env var, shell env var, user config, or the default), the config file path, and the commands to change it.
fallow telemetry status
enable / disableTurn telemetry on or off in the user-level config file. This requires an explicit human action; agents and wrappers must not enable telemetry automatically.
fallow telemetry enable
fallow telemetry disable
Enabling is refused when DO_NOT_TRACK or FALLOW_TELEMETRY_DISABLED is set.
inspectExplain inspect mode, or print documented example payloads with field purposes.
fallow telemetry inspect # explain how to inspect a real run
fallow telemetry inspect --example # print an example payload + field purposes
To see the exact payload a real command would send, without sending it, prefix the command with FALLOW_TELEMETRY=inspect:
FALLOW_TELEMETRY=inspect fallow audit --format json --quiet
The inspected payload is printed to stderr; your command's normal output (including --format json on stdout) is untouched.
DO_NOT_TRACK / FALLOW_TELEMETRY_DISABLED (admin/fleet kill switch)
> FALLOW_TELEMETRY_DEBUG (forces inspect mode)
> FALLOW_TELEMETRY (per-shell override)
> CI: off unless FALLOW_TELEMETRY is set
> user telemetry config (fallow telemetry enable/disable)
> default: off
In CI, telemetry is off unless FALLOW_TELEMETRY is explicitly set in that CI environment. A developer's local fallow telemetry enable does not enable organization CI telemetry.
| Variable | Description | Values |
|---|---|---|
FALLOW_TELEMETRY | Per-shell mode override | off/0/false/disabled, on/1/true/enabled, inspect/debug/log |
FALLOW_TELEMETRY_DISABLED | Admin/fleet kill switch (top precedence) | 1, true, yes, on |
FALLOW_TELEMETRY_DEBUG | Forces inspect mode (outranks FALLOW_TELEMETRY) | 1, true, yes, on |
DO_NOT_TRACK | Honored as a top-precedence kill switch (consoledonottrack.com) | 1, true, yes, on |
FALLOW_AGENT_SOURCE | Declare the calling agent for classification | see Agent source |
If the user has already enabled telemetry, an agent or wrapper can tag the run with its own name, using one value from the fixed list below:
export FALLOW_AGENT_SOURCE=codex
Accepted values: codex, claude_code, cursor, copilot, opencode, aider, roo, windsurf, gemini (aliases gemini_cli / antigravity), cline, continue, zed, goose, other_known, unknown, none. Hyphen aliases such as claude-code are normalized. Unrecognized values are ignored rather than uploaded. Agents not on the list (for example enterprise IDE assistants) are grouped under other_known. Setting FALLOW_AGENT_SOURCE never enables telemetry by itself and uploads no codebase content.
When more than one agent environment is present at once, Fallow guesses which one is calling, and the guess can depend on the order it checks them. Set FALLOW_AGENT_SOURCE to name the agent yourself and get a reliable result.