# Experimental Features

# Experimental Features

Experimental features in Atmos are new capabilities on the path to becoming stable. They are under active development and being refined based on community feedback. While APIs may change, experimental features are intended to graduate to stable—removal would only occur in extreme circumstances.

## What "Experimental" Means

Features marked as experimental:

- **May not be fully functional** - Some documented functionality may not yet be implemented
- **Are under active development** - Features are being refined and validated through community feedback
- **May have breaking changes** - APIs or behavior might change without following semantic versioning guarantees
- **May not have undergone extensive QA** - Testing coverage may be limited, and edge cases may not be fully addressed
- **Are not recommended for critical production workflows** - Use at your own risk until they graduate to stable

When the experimental annotation is removed, all documented functionality will be fully implemented and the feature will be considered stable.

## Current Experimental Features

The following features are currently marked as experimental. This list is automatically generated from our [roadmap](/roadmap).

## We Need Your Help

Experimental features rely on community feedback to mature into stable, production-ready capabilities. Your real-world testing and input are invaluable—you help us identify edge cases, improve usability, and prioritize what matters most.

**Ways to contribute:**

1. **Try experimental features** - Use them in non-critical workflows and share what works and what doesn't
2. **Report issues** - File bugs or unexpected behavior via [GitHub Issues](https://github.com/cloudposse/atmos/issues)
3. **Share feedback** - Discuss your experiences in [GitHub Discussions](https://github.com/orgs/cloudposse/discussions)
4. **Join the conversation** - Connect with us on [Slack](/community/slack) for real-time discussions

## Graduation Criteria

Experimental features graduate to stable when:

- All documented functionality is fully implemented
- The API has been validated through real-world usage
- Community feedback has been incorporated
- Breaking changes are no longer expected

Graduation reviews also check unresolved reports affecting core functionality and
exercise the feature with the stable capabilities it commonly uses. Bounded
limitations are documented; unresolved core-functionality defects block graduation.

We prefer to review 90 days of interface and issue history, using existing evidence
rather than imposing a new waiting period. A shorter history can qualify when
real-world use and regression checks support the decision. Additive capabilities
and verified bug fixes do not by themselves reset interface stability. A quiet
issue tracker is useful context, but does not replace evidence of active use.

The [CI, Auth, Toolchain, Emulator, Source Vendoring, and workdir management graduation](/changelog/core-features-graduate-to-stable)
applies these criteria to production use and repeatedly exercised local demos.
Adoption evidence is anonymized. New providers and integrations can have less field
experience than the established workflows; graduation does not claim identical
maturity for every combination.

## Controlling Experimental Features

When you run an experimental command, Atmos displays a notification:

```
🧪 `devcontainer` is an experimental feature. Learn more https://atmos.tools/experimental
```

You can control this behavior with the `settings.experimental` configuration in `atmos.yaml`:

```yaml
settings:
  # Control experimental feature handling
  # Values: "silence", "disable", "warn", "warn-daily" (default), "error"
  experimental: warn-daily
```

| Mode | Behavior |
|------|----------|
| `silence` | Run without any notification |
| `warn` | Show notification on each top-level invocation, then continue |
| `warn-daily` | Show notification once per feature every 24 hours, then continue (default) |
| `error` | Show notification and exit with error |
| `disable` | Block experimental commands entirely |

Or use the environment variable:

```bash
export ATMOS_EXPERIMENTAL=silence
```

For detailed configuration options, see [Experimental Settings](/cli/configuration/settings/experimental).

## Help Us Prioritize

Is an experimental feature working really well for you? **Let us know!** Your feedback helps us prioritize which features to promote to stable.

- [Share feedback on GitHub Discussions](https://github.com/orgs/cloudposse/discussions)
- [Report issues on GitHub](https://github.com/cloudposse/atmos/issues)
- [Join us on Slack](/community/slack)

## Related

- [Roadmap](/roadmap) - View our product roadmap
- [Changelog](/changelog) - View recent changes and releases
