Skip to main content
Fallow reads a small set of environment variables to override default behavior. These are useful for CI pipelines, editor integrations, and the MCP server.
VariableDescriptionValues
FALLOW_FORMATDefault output formathuman, json, sarif, compact, markdown, codeclimate, gitlab-codequality, pr-comment-github, pr-comment-gitlab, review-github, review-gitlab, badge
FALLOW_QUIETSuppress progress output1 or true
FALLOW_BINPath to the fallow binaryAny valid path
FALLOW_EXTENDS_TIMEOUT_SECSTimeout for fetching URL extendsSeconds (default: 5)
FALLOW_PRODUCTIONGlobal production-mode override for every analysistrue/false/1/0/yes/no/on/off
FALLOW_PRODUCTION_DEAD_CODEPer-analysis production override for dead-code (combined runs and fallow audit)Same values as FALLOW_PRODUCTION
FALLOW_PRODUCTION_HEALTHPer-analysis production override for healthSame values as FALLOW_PRODUCTION
FALLOW_PRODUCTION_DUPESPer-analysis production override for duplicationSame values as FALLOW_PRODUCTION
FALLOW_REVIEW_GUIDANCEAdd collapsed “What to do” blocks to review-github / review-gitlab inline comments1, true, yes, on
FALLOW_SUMMARY_SCOPESticky PR/MR summary scope for pr-comment-github / pr-comment-gitlab. all keeps project-level dependency/catalog/override findings outside the diff; diff applies the diff filter to those findings too. Inline review comments are unaffectedall (default), diff
FALLOW_AUDIT_CACHE_MAX_AGE_DAYSMax age of persistent reusable fallow audit base-snapshot worktree cachesWhole days (default 30; 0 disables)
FALLOW_TELEMETRYOpt-in telemetry mode, off by default (see what it collects)off/on/inspect (plus 0/1/true/false/disabled/enabled/debug/log)
FALLOW_TELEMETRY_DISABLEDAdmin/fleet telemetry 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 telemetry kill switch1, true, yes, on
FALLOW_AGENT_SOURCEDeclare the calling agent for telemetry classification (never enables telemetry)codex, claude_code, cursor, copilot, opencode, aider, roo, windsurf, gemini (aliases gemini_cli/antigravity), cline, continue, zed, goose, other_known, unknown, none

FALLOW_FORMAT

Set the default output format so you don’t need to pass --format every time.
export FALLOW_FORMAT=json
fallow dead-code   # Outputs JSON without --format flag
The --format CLI flag takes precedence over FALLOW_FORMAT when both are set.

FALLOW_QUIET

Suppress progress bars and status messages. Useful in CI environments or when piping output.
export FALLOW_QUIET=1
fallow dead-code   # No progress output, only results
Equivalent to passing --quiet on every command.

FALLOW_BIN

Path to the fallow binary. Used by the MCP server (fallow-mcp) to locate the fallow CLI.
export FALLOW_BIN=/usr/local/bin/fallow
fallow-mcp   # MCP server uses the specified binary
Defaults to fallow on PATH when not set.

FALLOW_EXTENDS_TIMEOUT_SECS

Timeout in seconds for fetching remote configs via https:// URLs in the extends field.
export FALLOW_EXTENDS_TIMEOUT_SECS=10
fallow dead-code   # URL extends have 10s to respond
Defaults to 5 seconds when not set.

FALLOW_CACHE_MAX_SIZE

Maximum on-disk extraction cache (.fallow/cache.bin) size in megabytes. Wins over the cache.maxSizeMb config field when both are set.
export FALLOW_CACHE_MAX_SIZE=64
fallow dead-code   # cache capped at 64 MB
Defaults to 256 (MB) when not set. The cache triggers LRU eviction when its serialized size crosses 80% of the cap and evicts down to 60%. Intended for CI runners with disk quotas; local dev machines on full-size disks rarely need to touch this knob. --no-cache disables the cache entirely; this env var is then irrelevant.

FALLOW_AUDIT_CACHE_MAX_AGE_DAYS

Maximum age (in whole days, since last reuse or fresh create) of a persistent reusable fallow audit base-snapshot worktree cache. Older entries are removed at the top of the next fallow audit invocation. Wins over the audit.cacheMaxAgeDays config field when both are set.
export FALLOW_AUDIT_CACHE_MAX_AGE_DAYS=7
fallow audit --base origin/main   # caches older than 7 days are reclaimed
Defaults to 30 days when not set. Setting the value to 0 disables the GC entirely (escape hatch for CI runners that prune /tmp out-of-band). Invalid values (non-integer, negative) silently fall back to the config field / default; a typo in a runner env var does not fail audits. The sweep runs once per fallow audit invocation, walks git-registered worktrees only (not raw /tmp content), and never removes a cache entry that another in-flight fallow audit is using (per-entry kernel flock(2) guard). On reclaim, fallow writes a single fallow: reclaimed N stale base-snapshot caches line to stderr (unless --quiet is set) so the disk-space recovery is observable.

FALLOW_PRODUCTION and per-analysis overrides

FALLOW_PRODUCTION mirrors the --production CLI flag and turns production mode on for every analysis. The per-analysis vars (FALLOW_PRODUCTION_DEAD_CODE, FALLOW_PRODUCTION_HEALTH, FALLOW_PRODUCTION_DUPES) target a single analysis when running bare combined mode (fallow with no subcommand) or fallow audit.
# Run combined mode with production-only health, full-tree dead-code and dupes
export FALLOW_PRODUCTION_HEALTH=true
fallow --format json --quiet
Precedence (highest to lowest):
  1. CLI flags (--production, --production-{dead-code,health,dupes})
  2. Per-analysis env var (FALLOW_PRODUCTION_HEALTH, etc.)
  3. Global env var (FALLOW_PRODUCTION)
  4. Config (production: true legacy form, or production: { health: true, ... } per-analysis form)
Per-analysis env beats global env, so FALLOW_PRODUCTION=false FALLOW_PRODUCTION_HEALTH=true runs health in production mode and the other analyses in non-production mode. Single-subcommand runs (e.g. fallow health) still respect FALLOW_PRODUCTION_HEALTH even though the per-analysis CLI flag is rejected with a subcommand: pass --production or set the per-analysis env var.
Set FALLOW_FORMAT=json and FALLOW_QUIET=1 in CI pipelines for clean machine-readable output.

See also

MCP server

AI agent integration using the Model Context Protocol.

fallow dead-code

Full CLI reference including all output format options.