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

# Environment variables

> Override fallow defaults with environment variables like FALLOW_FORMAT and FALLOW_QUIET. Useful for CI pipelines, editor integrations, and MCP.

Fallow reads a small set of environment variables to override default behavior. These are useful for CI pipelines, editor integrations, and the MCP server.

| Variable                      | Description                                                                       | Values                                                                                                                                                                    |
| :---------------------------- | :-------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `FALLOW_FORMAT`               | Default output format                                                             | `human`, `json`, `sarif`, `compact`, `markdown`, `codeclimate`, `gitlab-codequality`, `pr-comment-github`, `pr-comment-gitlab`, `review-github`, `review-gitlab`, `badge` |
| `FALLOW_QUIET`                | Suppress progress output                                                          | `1` or `true`                                                                                                                                                             |
| `FALLOW_BIN`                  | Path to the fallow binary                                                         | Any valid path                                                                                                                                                            |
| `FALLOW_EXTENDS_TIMEOUT_SECS` | Timeout for fetching URL extends                                                  | Seconds (default: `5`)                                                                                                                                                    |
| `FALLOW_PRODUCTION`           | Global production-mode override for every analysis                                | `true`/`false`/`1`/`0`/`yes`/`no`/`on`/`off`                                                                                                                              |
| `FALLOW_PRODUCTION_DEAD_CODE` | Per-analysis production override for dead-code (combined runs and `fallow audit`) | Same values as `FALLOW_PRODUCTION`                                                                                                                                        |
| `FALLOW_PRODUCTION_HEALTH`    | Per-analysis production override for health                                       | Same values as `FALLOW_PRODUCTION`                                                                                                                                        |
| `FALLOW_PRODUCTION_DUPES`     | Per-analysis production override for duplication                                  | Same values as `FALLOW_PRODUCTION`                                                                                                                                        |

## FALLOW\_FORMAT

Set the default output format so you don't need to pass `--format` every time.

```bash theme={null}
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.

```bash theme={null}
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.

```bash theme={null}
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`](/configuration/overview#extends) field.

```bash theme={null}
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`.

```bash theme={null}
# 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.

<Tip>
  Set `FALLOW_FORMAT=json` and `FALLOW_QUIET=1` in CI pipelines for clean machine-readable output.
</Tip>

## See also

<CardGroup cols={2}>
  <Card title="MCP server" icon="robot" href="/integrations/mcp">
    AI agent integration using the Model Context Protocol.
  </Card>

  <Card title="fallow dead-code" icon="terminal" href="/cli/dead-code">
    Full CLI reference including all output format options.
  </Card>
</CardGroup>
