Skip to content

Environment Variables

flawless reads exactly three environment variables:

VariableEffect
NO_COLORany value disables colored output (no-color.org)
HOMElocates the global config, ~/.config/flawless/config.yaml
TMPDIRwhere disposable worktrees are created ($TMPDIR/flawless-<run-id>)

Two more exist for the guard hook:

VariableEffect
FLAWLESS_BYPASS=1lets one git push through an installed flawless guard hook — the deliberate, greppable escape hatch
FLAWLESS_INTERNAL=1set by flawless on its own pushes so they pass the guard. Not intended to be set by hand

One variable is set by flawless, for itself:

VariableEffect
FLAWLESS_DETACHED=1marks the re-executed background process of a --detach run: output goes to the run log and gates resolve non-interactively. Not intended to be set by hand

Everything else that could have been an environment variable is either a flag (--target, --agent), a config field, or doesn’t exist because the feature it would configure (daemon home, socket paths, telemetry opt-out, update channels) doesn’t exist.

Agent subprocesses inherit your environment unchanged, so whatever authentication your claude/codex/gh already use keeps working — flawless adds no environment of its own.