New Guides for Atmos Auth: Leapp Migration and Geodesic Integration
We've published two comprehensive guides to help you adopt and integrate atmos auth
into your workflows: migrating from Leapp and configuring Geodesic for seamless authentication.
We've published two comprehensive guides to help you adopt and integrate atmos auth
into your workflows: migrating from Leapp and configuring Geodesic for seamless authentication.
We're introducing two new commands for exploring Atmos releases: atmos version list
and atmos version show
. Browse release history with date filtering, inspect artifacts, and keep your infrastructure tooling up-to-date—all from your terminal with beautiful formatted output.
We're excited to announce the first step in a major architectural evolution for Atmos: the Command Registry Pattern. This foundational change will eventually enable pluggable commands, allowing the community to extend Atmos with custom command packages without modifying the core codebase.
We've identified and corrected a regression in Atmos where the pager was incorrectly enabled by default, contrary to the intended behavior documented in a previous release.
The pager is now correctly disabled by default in Atmos. This aligns with the behavior that was intended in PR #1430 (September 2025) but was not fully implemented.
In May 2025, pager support was added to Atmos with the default set to true
(enabled). Later, in September 2025, PR #1430 was merged with the intention of changing this default to improve the scripting and automation experience. The PR included:
--pager
flagNO_PAGER
environment variableHowever, the actual default value in the configuration system was never changed from true
to false
, causing the pager to remain enabled by default despite the documentation.
If you've been experiencing unexpected pager behavior (output being displayed through a pager like less
when you didn't expect it), this fix resolves that issue.
If your workflow relied on the pager being enabled by default, you'll need to explicitly enable it using one of these methods:
Add to your atmos.yaml
:
settings:
terminal:
pager: true
Use the --pager
flag on any command:
atmos describe component myapp -s prod --pager
Set the ATMOS_PAGER
or PAGER
environment variable:
export ATMOS_PAGER=true
atmos describe component myapp -s prod
Or specify a custom pager:
export ATMOS_PAGER=less
atmos describe component myapp -s prod
Having the pager disabled by default provides several benefits:
Most users won't need to change anything. If you were relying on the pager being enabled by default:
pager: true
to your atmos.yaml
settings--pager
flag when you want paginated outputATMOS_PAGER
environment variable in your shell profileWe apologize for any confusion this regression may have caused and thank the community for bringing it to our attention.
We've shipped a feature that developers working with complex infrastructure configurations have been asking for: provenance tracking. With the new --provenance
flag in atmos describe component
, you can now see exactly where every configuration value originated—down to the file, line number, and column.
We're introducing atmos auth
- native cloud authentication built directly into Atmos. After years of solving the same authentication problems repeatedly across different tools and teams, we've built a solution that works whether you adopt the entire Atmos framework or just need better credential management.
We're excited to announce a new global flag that makes working with Atmos across multiple repositories and directories significantly easier: --chdir
(or -C
for short).
If you've ever worked with Atmos in a multi-repository setup or during development, you've probably faced these scenarios:
Previously, you had to either:
cd
to each directory before running AtmosPATH
or use absolute paths to atmos binariesThe new --chdir
flag (and its short form -C
) changes Atmos's working directory before any other operations, including configuration loading. This mirrors the familiar behavior of tools like git -C
and make -C
.
# Long form
atmos --chdir=/path/to/infrastructure describe stacks
# Short form (preferred for brevity)
atmos -C /infra terraform plan vpc -s prod
# Relative paths work too
atmos --chdir=../other-repo list components
Testing a development build against your infrastructure is now trivial:
# Build your changes
make build
# Point the dev binary at your infrastructure repo
./build/atmos -C ~/projects/my-infrastructure describe stacks
# No need to change directories or modify PATH
./build/atmos -C ~/projects/my-infrastructure terraform plan vpc -s dev
Your CI/CD workflows become cleaner and more explicit:
# Before: Manual directory management
cd /infrastructure
atmos terraform plan vpc -s prod
cd -
# After: Explicit and clear
atmos -C /infrastructure terraform plan vpc -s prod
For scripts and CI/CD environments, you can use the ATMOS_CHDIR
environment variable:
export ATMOS_CHDIR=/infrastructure
# All atmos commands now run in that directory
atmos terraform plan vpc -s prod
atmos describe stacks
atmos list components
The CLI flag takes precedence over the environment variable, allowing you to override the default when needed:
export ATMOS_CHDIR=/default-infra
# Use the default
atmos describe stacks
# Override for specific command
atmos -C /other-infra describe stacks
It's important to understand the difference between --chdir
and --base-path
:
--chdir
: Changes the working directory (like running cd
first)--base-path
: Overrides the Atmos project root (where atmos.yaml
lives)--chdir
executes first, changing the working directory--base-path
is then resolved relative to the new working directory# Change to /infra directory, then look for atmos.yaml in ./config subdirectory
atmos -C /infra --base-path=./config terraform plan vpc -s dev
# This is equivalent to:
# cd /infra
# atmos --base-path=./config terraform plan vpc -s dev
--chdir
when you want Atmos to run as if you had changed directories first--base-path
when your Atmos project root is in a non-standard location# Just change working directory (atmos.yaml is in the root)
atmos -C /path/to/infra terraform plan vpc -s prod
# Just override project root (stay in current directory)
atmos --base-path=/custom/location terraform plan vpc -s prod
# Both: change directory AND override project root
atmos -C /infra --base-path=./custom terraform plan vpc -s prod
# Check production infrastructure
atmos -C ~/projects/prod-infra describe affected
# Compare with staging
atmos -C ~/projects/staging-infra describe affected
# All without leaving your current directory
# Test local changes against test environment
./build/atmos -C ~/infra terraform plan vpc -s test
# Once satisfied, use installed version for production
atmos -C ~/infra terraform apply vpc -s prod
#!/bin/bash
# Script can stay in your tools repo while operating on infrastructure
INFRA_DIR="/path/to/infrastructure"
echo "Validating stacks..."
atmos -C "$INFRA_DIR" validate stacks
echo "Checking for drift..."
atmos -C "$INFRA_DIR" terraform plan vpc -s prod --detailed-exitcode
echo "Generating documentation..."
atmos -C "$INFRA_DIR" docs generate
Atmos provides clear error messages when things go wrong:
The --chdir
flag works consistently across:
Both absolute and relative paths work as expected on all platforms, with proper path separator handling.
For those interested in the implementation:
--chdir
→ config loading → --base-path
resolution → command executionATMOS_CHDIR
follows the same precedence rules as other Atmos env varsThe --chdir
flag is available starting in Atmos vX.X.X. To start using it:
# Upgrade to the latest version
brew upgrade atmos # macOS
# or download from GitHub releases
# Start using the flag immediately
atmos --chdir=/your/infra describe stacks
# Or set it as an environment variable for your session
export ATMOS_CHDIR=/your/infra
The --chdir
flag is a small addition that makes a big difference in daily workflows. It removes friction from multi-repo operations, development workflows, and automation scripts.
We designed it to feel natural if you've used similar flags in other tools (git -C
, make -C
, tar -C
), while integrating seamlessly with Atmos's existing flag system.
Try it out and let us know what you think! We'd love to hear how you're using it in your workflows.
Have feedback or questions? Join our Slack community or open an issue on GitHub.