tenv
tenv is a free Go version manager for OpenTofu, Terraform, Terragrunt, Terramate and Atmos.
What tenv is
tenv is a free Go version manager for OpenTofu, Terraform, Terragrunt, Terramate and Atmos. It installs and switches between versions, letting users select exact releases, semantic version constraints, latest or prerelease versions, or requirements found in infrastructure-as-code files. For OpenTofu, Terraform and Terragrunt, it parses HCL to find version constraints. Running tenv without a subcommand opens interactive menus for managing tools and versions. The project supports Linux, macOS and Windows and is distributed under the Apache 2.0 license. Installation options include package managers and manual methods, with choices such as Homebrew, MacPorts, Chocolatey, Scoop, WinGet, Snap, Nix and Linux packages. The documentation describes SHA-256 checksum checks and signature verification, though coverage varies by tool: Terragrunt and Atmos releases have checksum checks but no available signatures, and unstable OpenTofu versions are signed only with cosign. A Docker image is available, but the project says it is not intended for CI pipelines. GitHub Actions support can expose proxied output and exit status through `GITHUB_OUTPUT`.
Good
- Manages five infrastructure-as-code tools
- Can select versions from HCL constraints
- Provides interactive tool and version menus
- Supports Linux, macOS and Windows
- Free under Apache 2.0
Watch out
- Docker image is not intended for CI pipelines
- Signature availability varies by tool
Who it suits
It suits developers and DevOps professionals who manage versions of infrastructure-as-code tools across Linux, macOS or Windows. GitHub Actions support may help teams using that environment.
Verdict
tenv centralizes version installation and selection for several infrastructure-as-code tools, including HCL-based version detection. Its verification support varies across tools, and the Docker image is not intended for CI pipelines.
The facts
Each one read from tenv's own pages, with the date it was checked.
What it does
- Concurrency
- Install and uninstall operations use lockfiles to prevent conflicts between concurrent tenv instances.checked 3 Oct 2026
- Docker
- A Docker image is available, but the documentation says it is not intended for running tenv in CI pipelines.checked 2 Oct 2026
- GitHub Actions
- When the GITHUB_ACTIONS environment variable is enabled, tenv can write proxied stdout, stderr and exit code to GITHUB_OUTPUT.checked 2 Oct 2026
- GitHub API integration
- A GitHub token can be configured to increase REST API rate limits for downloads from GitHub repositories.checked 2 Oct 2026
- Go library
- tenv can be called as a Go module through the tenvlib wrapper package, which the project says has a Semver compatibility promise.checked 3 Oct 2026
- HCL detection
- It uses an HCL parser to extract required version constraints from OpenTofu, Terraform, and Terragrunt files.checked 3 Oct 2026
- Installation
- Installation options include package managers, manual packaged binaries, and a Docker image; the documentation says Docker is not intended for CI pipelines.checked 3 Oct 2026
- Integrations
- The documentation describes GitHub Actions environment-variable support for exposing proxied output and updating the tool path.checked 3 Oct 2026
- Intended users
- The project describes the tool as helping developers and DevOps professionals manage versions of supported infrastructure tools.checked 3 Oct 2026
- Interactive use
- Running tenv without a subcommand displays interactive menus for managing tools and versions.checked 2 Oct 2026
- License
- The project is distributed under the Apache 2.0 license.checked 3 Oct 2026
- Purpose
- tenv is a Go version manager for OpenTofu, Terraform, Terragrunt, Terramate, and Atmos.checked 3 Oct 2026
- Security checks
- It checks SHA-256 checksums and supports signature verification with cosign or PGP for some managed tools.checked 3 Oct 2026
- Semver
- The project states that it is compatible with Semver 2.0.0.checked 3 Oct 2026
- Support
- The project directs questions and suggestions to GitHub Issues and the tofuutils Slack community's #tofuutils channel.checked 3 Oct 2026
- Verification limits
- The documentation says Terragrunt and Atmos releases have checksum checks but no signature available; unstable OpenTofu versions are signed only with cosign.checked 3 Oct 2026
- Version detection
- It uses semantic versioning and can parse HCL files to extract version constraints for OpenTofu, Terraform and Terragrunt.checked 2 Oct 2026
- Version management
- It can install and switch between versions of the supported tools.checked 2 Oct 2026
- Version selection
- It supports exact versions, semantic version constraints, latest or prerelease versions, and versions detected from infrastructure-as-code files.checked 3 Oct 2026
Where it runs
- Platforms
- The project says it works on Linux, macOS, Windows, BSD, and Solaris, and lists installation options for Linux, macOS, and Windows.checked 3 Oct 2026

