Logs
Configure where Atmos writes logs and at what verbosity level. Proper log configuration is essential for debugging and for CI/CD pipelines where you need to separate log output from command results.
Configuration
Logs are configured in the logs section:
logs.colorControls color in Atmos logs independently of UI output.
true(default) uses color when available, preserving terminal and CI detection, including GitHub Actions.falseremoves ANSI escapes from logs. Use--force-colororATMOS_FORCE_COLOR=trueto force color when log color is enabled. Override this boolean withATMOS_LOGS_COLORor--logs-color=false, with CLI flags taking precedence over the environment and config.--no-colorand nonemptyNO_COLORalways disable color, including startup logs, even withlogs.color: trueor--force-color.logs.fileThe file to write Atmos logs to. Logs can be written to any file or any standard file descriptor, including
/dev/stdout,/dev/stderrand/dev/null. If omitted,/dev/stderrwill be used so logs never contaminate pipeable command output on stdout. Can also be set usingATMOS_LOGS_FILEenvironment variable.logs.levelLog level. Supported log levels are
Trace,Debug,Info,Warning,Off. If omitted,Warningwill be used, so informational messages are hidden unless requested. The default changed fromInfotoWarningin the 2025-09 edition; to keep the old verbosity, setlogs.level: Infoexplicitly or pinedition: "2025-08". If the log level is set toOff, Atmos will not log any messages (note that this does not prevent other tools like Terraform from logging). Can also be set usingATMOS_LOGS_LEVELenvironment variable.
Disabling Logs
To prevent Atmos from logging any messages (except for the outputs of the executed commands), you can do one of the following:
- Set
logs.fileor the ENV variableATMOS_LOGS_FILEto/dev/null - Set
logs.levelor the ENV variableATMOS_LOGS_LEVELtoOff
Plain Log Files
To keep terminal UI colors while producing a plain log file:
atmos --logs-level=debug --logs-file=/tmp/atmos.log --logs-color=false version
To disable colors in both logs and UI output, use --no-color or set NO_COLOR=1.
CLICOLOR=0 also disables automatic color, but can be overridden by forced color.
CLICOLOR=1 permits automatic color without forcing it into pipes or files. If
CLICOLOR=1 and nonempty NO_COLOR are both set, NO_COLOR wins and logs stay plain.
See color precedence.
Logging color controls apply to Atmos's own logs, not output from child processes.
Logs in CI/CD Pipelines
When you set the log level to Debug or Trace, Atmos will log additional messages before printing the output of an executed command.
Problem: Mixed Output
Consider the atmos describe affected command with verbose logging:
With logs.level: Trace and logs.file: "/dev/stdout", all messages and JSON output go to the same stream. This breaks JSON parsing with tools like jq.
Solution: Separate Streams
Set logs.file to /dev/stderr in atmos.yaml:
Now log messages go to /dev/stderr while command output goes to /dev/stdout:
This allows jq to parse the JSON output without errors while still logging debug information.
Environment Variables
ATMOS_LOGS_FILE- File or standard file descriptor to write logs to.
ATMOS_LOGS_LEVEL- Log level:
Trace,Debug,Info,Warning,Off.
See Also
- CLI Configuration — Overview of CLI configuration
- Environment Variables — All configuration environment variables