fallow telemetry
Control what fallow sends, and see the exact payload before it leaves your machine. Fallow telemetry manages opt-in product telemetry, which is off by default: check status, enable, disable, or inspect.
Use fallow telemetry to check, turn on, or turn off opt-in product telemetry, and to see the exact payload. Telemetry is off by default. Its purpose is to improve agent, CI, JSON, MCP, and editor workflows.
fallow telemetry status
Telemetry & privacy is the data and privacy contract. It says what fallow never collects, what one event contains, and how fallow sends it. To opt out on one machine, run fallow telemetry disable.
Subcommands
status
Show:
- if telemetry is on or off
- what decided that: an admin env var, a shell env var, the user config, or the default
- the config file path
- the commands to change it
fallow telemetry status
enable / disable
Turn telemetry on or off in the user-level config file. A person must do this explicitly. Agents and wrappers must not turn on telemetry automatically.
fallow telemetry enable
fallow telemetry disable
enable fails when DO_NOT_TRACK or FALLOW_TELEMETRY_DISABLED is set.
inspect
Explain inspect mode, or print documented example payloads with the purpose of each field.
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 that a real command would send, without sending it, put FALLOW_TELEMETRY=inspect before the command:
FALLOW_TELEMETRY=inspect fallow audit --format json --quiet
Fallow prints the payload to stderr. The normal output of your command does not change, including --format json on stdout.
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. When a developer runs fallow telemetry enable locally, telemetry in the CI of the organization stays off.
Environment controls
| Variable | Description | Values |
|---|---|---|
FALLOW_TELEMETRY | Per-shell mode override | off/0/false/disabled, on/1/true/enabled, inspect/debug/log |
FALLOW_TELEMETRY_DISABLED | Kill switch for admins and fleets (top precedence) | 1, true, yes, on |
FALLOW_TELEMETRY_DEBUG | Forces inspect mode (outranks FALLOW_TELEMETRY) | 1, true, yes, on |
DO_NOT_TRACK | Fallow treats it as a top-precedence kill switch (consoledonottrack.com) | 1, true, yes, on |
FALLOW_AGENT_SOURCE | Name the calling agent, for classification | see Agent source |
Agent source
If the user already turned on telemetry, an agent or wrapper can tag the run with its own name. Use 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. Fallow normalizes hyphen aliases such as claude-code. Fallow ignores an unrecognized value and does not upload it. Agents that are not on the list, for example enterprise IDE assistants, go under other_known. FALLOW_AGENT_SOURCE never turns on telemetry by itself, and it uploads no codebase content.
When more than one agent environment is present, fallow guesses which one is calling. The guess can depend on the order in which fallow checks them. For a reliable result, set FALLOW_AGENT_SOURCE to name the agent yourself.