Skip to main content

Environment variables

The Infracost CLI reads a number of environment variables to customize its behavior. Most settings are also available as flags on individual commands; flags take precedence over environment variables, which take precedence over values stored in your infracost.yml.

Run infracost <command> --help to see the flags for a specific command, and infracost doctor to verify which configuration sources are currently active.

Authentication​

INFRACOST_CLI_AUTHENTICATION_TOKEN​

A service account or personal access token used to authenticate non-interactive CLI runs (e.g. CI/CD). When set, the CLI skips the browser-based login flow.

For local development, prefer running infracost auth login once — the resulting token is cached and reused.

Organization​

INFRACOST_CLI_ORG​

Equivalent to the global --org flag. Sets the organization slug or ID that the command runs against. If unset, the CLI uses the org saved by infracost org switch.

Output and logging​

INFRACOST_CLI_LOG_LEVEL​

Controls log verbosity. Common values: debug, info, warn (default), error. Setting this to debug is the most useful first step when troubleshooting. Equivalent to the --log-level flag.

INFRACOST_CLI_LOG_JSON​

Set to true to emit logs and command results as JSON. Equivalent to the global --json flag.

INFRACOST_CLI_LLM​

Set to true to emit command results in a compact, token-efficient format intended for piping into an LLM. Equivalent to the global --llm flag.

Currency​

INFRACOST_CLI_CURRENCY​

The ISO 4217 currency code that prices should be converted to (e.g. USD, EUR, GBP). Cloud vendors publish prices in USD; the CLI converts them at the current exchange rate. Equivalent to the --currency flag on infracost scan and infracost price.

You can also set currency: <code> in your infracost.yml. This environment variable and the --currency flag take precedence over it.

Local cache​

Scan results are cached locally so subsequent infracost inspect queries are instant.

INFRACOST_CLI_CACHE_DIRECTORY​

Override the directory where scan results are cached. Defaults to a per-user location under your OS's standard config directory.

INFRACOST_CLI_CACHE_TTL​

How long cached scan results remain valid. Accepts any Go duration string (e.g. 30m, 1h, 24h). Defaults to 1h.

The CLI honors the standard Terraform environment variables such as TF_CLI_CONFIG_FILE, TF_WORKSPACE, and TF_VAR_*. Use them the same way you would when running Terraform directly.

For private module access (Terraform Cloud, GitLab, JFrog, etc.) use the terraform.defaults.cloud and terraform.defaults.spacelift blocks in your infracost.yml — see Terraform private modules.