Skip to main content

Introducing the Atmos Version Manager

· 2 min read
Erik Osterman
Founder @ Cloud Posse

Atmos now supports automatic version switching, making it easy to pin projects to specific Atmos versions and ensure consistency across teams.

What Changed​

Atmos can now automatically switch to a specific version when running commands. This works through three mechanisms:

  1. --use-version flag: Run any command with a specific version

    atmos --use-version 1.199.0 terraform plan -s mystack
  2. ATMOS_VERSION environment variable: Set the version for all commands

    export ATMOS_VERSION=1.199.0
    atmos terraform plan -s mystack
  3. version.use in atmos.yaml: Pin your project to a specific version

    version:
    use: "1.199.0"

When a version is specified, Atmos will:

  • Check if that version is installed
  • Install it automatically if needed (using the toolchain installer)
  • Re-execute itself with the specified version

Why This Matters​

Team Consistency: Everyone on your team uses the same Atmos version, eliminating "works on my machine" issues.

CI/CD Reliability: Pin your pipelines to specific versions for reproducible builds.

Gradual Upgrades: Test new versions in development before rolling them out to production workflows.

How to Use It​

The simplest approach is adding version.use to your atmos.yaml:

version:
use: "1.199.0"

Now every atmos command in that project will use version 1.199.0, regardless of which version is installed globally.

You can also combine this with Atmos profiles for environment-specific versions:

# .atmos.d/dev.yaml
version:
use: "1.201.0" # Latest in dev

# .atmos.d/prod.yaml
version:
use: "1.199.0" # Stable in prod

Get Involved​

We'd love to hear how you're using version management in your workflows. Join the discussion on Slack or open an issue on GitHub.