Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.fallow.tools/llms.txt

Use this file to discover all available pages before exploring further.

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