Environment variables that control and influence Biome's behavior.
Environment variables specific to Biome configuration and operation.
Path to the Biome configuration file.
BIOME_CONFIG_PATH=<PATH>Type: String (file path)
Usage:
# Set configuration path
export BIOME_CONFIG_PATH=/path/to/biome.json
biome check
# Per-command
BIOME_CONFIG_PATH=./configs/biome.json biome check --writeBehavior:
--config-path CLI optionbiome.json/biome.jsoncOverride path to the native Biome binary.
BIOME_BINARY=<PATH>Type: String (file path)
Usage:
# Use custom binary
export BIOME_BINARY=/path/to/custom/biome
biome check
# Use locally built binary
export BIOME_BINARY=./target/release/biome
biome checkBehavior:
Directory where daemon server logs are stored.
BIOME_LOG_PATH=<PATH>Type: String (directory path)
Default: Platform-specific cache directory
$XDG_CACHE_HOME/biome or ~/.cache/biome~/Library/Caches/biome%LOCALAPPDATA%\biome\cacheUsage:
# Set log directory
export BIOME_LOG_PATH=/var/log/biome
biome start
# Per-command
BIOME_LOG_PATH=/tmp/biome-logs biome startBehavior:
--log-path CLI option (for start and lsp-proxy commands)BIOME_LOG_PREFIX_NAME prefixRelated:
BIOME_LOG_PREFIX_NAME - Log file name prefix--log-path CLI optionPrefix for daemon log file names.
BIOME_LOG_PREFIX_NAME=<STRING>Type: String
Default: "server.log"
Usage:
# Set log prefix
export BIOME_LOG_PREFIX_NAME=biome-daemon
biome start
# Creates: biome-daemon.{timestamp}.log
# Multiple instances
BIOME_LOG_PREFIX_NAME=instance-1 biome start
BIOME_LOG_PREFIX_NAME=instance-2 biome startBehavior:
--log-prefix-name CLI option{prefix}.{timestamp}.logNumber of threads to use for parallel processing.
BIOME_THREADS=<NUMBER>Type: Number (positive integer)
Default: Number of CPU cores
Usage:
# Limit threads in CI
export BIOME_THREADS=2
biome ci
# Single-threaded processing
BIOME_THREADS=1 biome check
# Use all cores explicitly
BIOME_THREADS=$(nproc) biome checkBehavior:
--threads CLI option (available in ci command)Use Cases:
Biome version string (build-time only).
BIOME_VERSION=<VERSION>Type: String
Usage:
This variable is used during Biome's build process to embed version information. It's not intended for user configuration.
Behavior:
biome version commandStandard environment variables that Biome reads and respects.
Disable colored output.
NO_COLOR=<any-value>Type: Boolean (any value disables color)
Standard: NO_COLOR
Usage:
# Disable colors
export NO_COLOR=1
biome check
# Disable colors (any value works)
NO_COLOR=true biome check
NO_COLOR= biome checkBehavior:
--colors=force CLI optionTerminal type information.
TERM=<terminal-type>Type: String
Common Values: xterm, xterm-256color, screen, dumb, vt100
Usage:
# Set terminal type
export TERM=xterm-256color
biome check
# Dumb terminal (no colors)
TERM=dumb biome checkBehavior:
dumb terminal type disables colorsDetected by Biome to enable GitHub Actions-specific behavior.
GITHUB_ACTIONS=<true|false>Type: String (typically "true" when running in GitHub Actions)
Usage:
Set automatically by GitHub Actions when workflows run. Not intended for manual configuration.
# Automatically set by GitHub Actions
GITHUB_ACTIONS=true
# Biome detects and adjusts behavior accordingly
biome ci --reporter=githubBehavior:
Related:
--reporter=github to generate GitHub Actions workflow commandsVariables set by the Node.js wrapper and passed to the native binary for context.
JavaScript runtime version.
JS_RUNTIME_VERSION=<version>Type: String
Example: v20.10.0
Usage:
Set automatically by the Node.js wrapper based on process.version. Not intended for manual configuration.
Behavior:
biome rage outputJavaScript runtime name.
JS_RUNTIME_NAME=<name>Type: String
Example: node
Usage:
Set automatically by the Node.js wrapper based on process.release.name. Not intended for manual configuration.
Behavior:
biome rage outputPackage manager being used.
NODE_PACKAGE_MANAGER=<package-manager>Type: String
Example: npm/8.19.2, pnpm/8.10.0, yarn/1.22.19
Usage:
Set automatically by package managers via npm_config_user_agent. Not intended for manual configuration.
Behavior:
npm_config_user_agent environment variablebiome rage output{name}/{version}When multiple configuration sources are available:
Example:
# Configuration file
{
"files": {
"maxSize": 1048576
}
}
# Environment variable
export BIOME_CONFIG_PATH=/other/config.json
# CLI option overrides both
biome check --config-path=/final/config.json#!/bin/bash
# .gitlab-ci.yml or similar
export BIOME_THREADS=2
export NO_COLOR=1
export BIOME_CONFIG_PATH=./ci-config.json
biome ci --reporter=gitlab > gl-code-quality-report.json#!/bin/bash
# scripts/check-code.sh
export BIOME_CONFIG_PATH=./configs/biome.json
export BIOME_LOG_PATH=./logs
biome check --write --use-server# Dockerfile
FROM node:20
ENV BIOME_THREADS=2
ENV BIOME_CONFIG_PATH=/app/biome.json
WORKDIR /app
COPY . .
RUN npm install
RUN npx @biomejs/biome ci#!/bin/bash
# Test locally built Biome binary
export BIOME_BINARY=./target/release/biome
export BIOME_LOG_LEVEL=debug
export BIOME_LOG_PATH=./debug-logs
biome check --write# Instance 1
export BIOME_LOG_PREFIX_NAME=daemon-1
export BIOME_LOG_PATH=/tmp/biome/instance-1
biome start &
# Instance 2
export BIOME_LOG_PREFIX_NAME=daemon-2
export BIOME_LOG_PATH=/tmp/biome/instance-2
biome start &For debugging and troubleshooting:
# Enable debug logging
export BIOME_LOG_PATH=./debug
biome start --log-level=debug
# Use server with debugging
export BIOME_THREADS=1 # Single-threaded for easier debugging
biome check --use-server --verbose --log-level=debug
# Check configuration resolution
export BIOME_CONFIG_PATH=./debug-config.json
biome rage --formatter --linter#!/bin/bash
export BIOME_CONFIG_PATH=/path/to/config.json
export BIOME_THREADS=4
biome check --write$env:BIOME_CONFIG_PATH = "C:\path\to\config.json"
$env:BIOME_THREADS = 4
biome check --write{
"scripts": {
"check": "BIOME_CONFIG_PATH=./configs/biome.json biome check --write",
"ci": "BIOME_THREADS=2 NO_COLOR=1 biome ci --reporter=json"
}
}{
"scripts": {
"check": "cross-env BIOME_CONFIG_PATH=./configs/biome.json biome check --write",
"ci": "cross-env BIOME_THREADS=2 NO_COLOR=1 biome ci"
}
}