Experimental Features
Atmos introduces new capabilities as experimental features before stabilizing them. The settings.experimental configuration controls how these experimental features behave, letting you choose between silent operation, warnings, disabled access, or strict error handling.
You will learn
- Control experimental feature visibility and behavior
- Choose from four modes: silence, disable, warn, error
- Commands self-register as experimental
- Automatic notifications without manual configuration
Configurationโ
atmos.yaml
Behavior Modesโ
The settings.experimental setting accepts four values that control how Atmos handles experimental commands:
silenceRun experimental commands without any output or notification. Use this when you've already acknowledged the experimental status and want clean output.
settings:
experimental: silencedisableCompletely disable experimental commands. When a user attempts to run an experimental command, Atmos will display an error and exit. Use this in production environments where experimental features should not be accessible.
settings:
experimental: disableExample output:
# Error
**Error:** experimental command is disabled
## Hints
๐ก Enable with settings.experimental: warnwarn(default)Show a warning notification when running experimental commands, then continue execution. This is the recommended setting for most users - you'll be informed about experimental features while still being able to use them.
settings:
experimental: warnExample output:
๐งช `devcontainer` is an experimental feature. Learn more https://atmos.tools/experimentalerrorShow a warning notification and exit with an error code. Use this when you want to be notified about experimental features but prefer explicit opt-in before using them.
settings:
experimental: errorExample output:
๐งช `devcontainer` is an experimental feature. Learn more https://atmos.tools/experimental
# Error
**Error:** experimental command requires explicit opt-in
## Hints
๐ก Enable with settings.experimental: warn
Environment Variableโ
You can also control experimental feature handling via environment variable:
# Silence all experimental warnings
export ATMOS_EXPERIMENTAL=silence
# Disable experimental features
export ATMOS_EXPERIMENTAL=disable
# Enable with warnings (default)
export ATMOS_EXPERIMENTAL=warn
# Require explicit opt-in
export ATMOS_EXPERIMENTAL=error
The environment variable takes precedence over the configuration file setting.
Current Experimental Featuresโ
The following features are currently marked as experimental:
| Feature | Command | Description |
|---|---|---|
| Devcontainers | atmos devcontainer | Development container lifecycle management |
| Toolchain | atmos toolchain | Tool version management and installation |
| Backend Provisioning | atmos terraform backend | Terraform state backend management |
| Workdir Management | atmos terraform workdir | Component working directory management |
| Affected Components | atmos list affected | Identify changes for targeted CI/CD |
Experimental features may change significantly or be removed in future releases. We encourage you to try them and provide feedback, but avoid relying on them in production workflows until they are stabilized.
Use Casesโ
Development Environmentโ
For local development where you want to experiment with new features:
settings:
experimental: warn # See warnings but continue working
CI/CD Pipelineโ
For continuous integration where you want stability:
settings:
experimental: disable # Block experimental commands in CI
Or use environment-specific configuration:
# In your CI environment
export ATMOS_EXPERIMENTAL=disable
Production Environmentโ
For production where experimental features must be explicitly enabled:
settings:
experimental: error # Require explicit opt-in
See Alsoโ
- Experimental Features - What "experimental" means and how to provide feedback
- Settings - Overview of all settings
- Devcontainers - Experimental devcontainer support