fallow telemetry

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.

Subcommands

status

Show 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 / disable

Turn 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.

inspect

Explain 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.

Precedence

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.

Environment controls

VariableDescriptionValues
FALLOW_TELEMETRYPer-shell mode overrideoff/0/false/disabled, on/1/true/enabled, inspect/debug/log
FALLOW_TELEMETRY_DISABLEDAdmin/fleet kill switch (top precedence)1, true, yes, on
FALLOW_TELEMETRY_DEBUGForces inspect mode (outranks FALLOW_TELEMETRY)1, true, yes, on
DO_NOT_TRACKHonored as a top-precedence kill switch (consoledonottrack.com)1, true, yes, on
FALLOW_AGENT_SOURCEDeclare the calling agent for classificationsee Agent source

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.