tfenv
brew install tfenv
v3.2.2
MIT
Bash version manager for Terraform, inspired by rbenv, allowing installation and switching between multiple Terraform versions.
Why you might care
Essential if you work with multiple Terraform projects requiring different versions. tfenv lets you pin versions per directory via .terraform-version files and automatically switch when entering a project, mirroring rbenv's workflow. Lighter than Docker or containers for quick multi-version management.
8.3k
30-day installs · #405
34.9k
90-day · #353
127.2k
365-day · #366
4.9k
★ GitHub stars · updated 1mo ago
Runtime dependencies
GitHub topics
bash
terraform
Links
- https://github.com/tfutils/tfenv
- GitHub: tfutils/tfenv
- Brew formula source: Formula/t/tfenv.rb
Blurb generated by claude-haiku-4-5 on today.
Raw metadata
{
"aliases": [],
"alternatives": [
"asdf",
"nvm",
"rbenv",
"pyenv"
],
"build_dependencies": [],
"categories": [
"version-control",
"package-manager"
],
"caveats": null,
"conflicts_with": [
"tenv"
],
"dependencies": [
"grep"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Terraform version manager inspired by rbenv",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:40:51+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "tfenv",
"github_default_branch": "master",
"github_last_commit_at": "2026-05-01T20:56:20Z",
"github_readme_excerpt": "[](https://github.com/tfutils/tfenv/actions/workflows/test.yml)\n[](https://github.com/tfutils/tfenv/releases/latest)\n[](LICENSE)\n\n# tfenv\n\n[Terraform](https://www.terraform.io/) version manager inspired by [rbenv](https://github.com/rbenv/rbenv)\n\n---\n\n## Table of Contents\n\n- [Supported Platforms](#supported-platforms)\n- [Installation](#installation)\n- [Usage](#usage)\n - [tfenv install](#tfenv-install-version)\n - [tfenv use](#tfenv-use-version)\n - [tfenv uninstall](#tfenv-uninstall-version)\n - [tfenv list](#tfenv-list)\n - [tfenv list-remote](#tfenv-list-remote)\n - [tfenv pin](#tfenv-pin)\n- [Environment Variables](#environment-variables)\n- [.terraform-version File](#terraform-version-file)\n- [Upgrading](#upgrading)\n- [Uninstalling](#uninstalling)\n- [Contributing](#contributing)\n- [Security](#security)\n- [License](#license)\n\n---\n\n## Supported Platforms\n\n- macOS\n - 64bit\n - Arm (Apple Silicon)\n- Linux\n - 64bit\n - Arm\n- Windows (64bit) - tested in git-bash. Ensure `core.symlinks` is enabled (`git config --global core.symlinks true`)\n\n## Installation\n\n### Automatic\n\nInstall via Homebrew\n\n```console\nbrew install tfenv\n```\n\nInstall via Arch User Repository (AUR)\n \n```console\nyay --sync tfenv\n```\n\nInstall via puppet\n\nUsing puppet module [sergk-tfenv](https://github.com/SergK/puppet-tfenv)\n\n```puppet\ninclude ::tfenv\n```\n\n### Manual\n\n1. Check out tfenv into any path (here is `${HOME}/.tfenv`)\n\n```console\ngit clone --depth=1 https://github.com/tfutils/tfenv.git ~/.tfenv\n```\n\n2. Add `~/.tfenv/bin` to your `$PATH` any way you like\n\nbash:\n```console\necho \u0027export PATH=\"$HOME/.tfenv/bin:$PATH\"\u0027 \u003e\u003e ~/.bash_profile\n```\n\nzsh:\n```console\necho \u0027export PATH=\"$HOME/.tfenv/bin:$PATH\"\u0027 \u003e\u003e ~/.zprofile\n```\n\nfish:\n```console\necho \u0027set -x PATH $HOME/.tfenv/bin $PATH\u0027 \u003e",
"github_repo": "tfutils/tfenv",
"github_stars": 4943,
"github_topics": [
"bash",
"terraform"
],
"homepage": "https://github.com/tfutils/tfenv",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 8322,
"installs_365d": 127231,
"installs_90d": 34938,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "MIT",
"llm_generated_at": "2026-06-20T23:44:39+00:00",
"llm_model": "claude-haiku-4-5",
"name": "tfenv",
"oldnames": [],
"one_liner": "Bash version manager for Terraform, inspired by rbenv, allowing installation and switching between multiple Terraform versions.",
"optional_dependencies": [],
"rank_30d": 405,
"rank_365d": 366,
"rank_90d": 353,
"raw_hash": "a3d40b061d14b81a",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/t/tfenv.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [
"unzip"
],
"version_head": "HEAD",
"version_stable": "3.2.2",
"versioned_formulae": [],
"why_use_this": "Essential if you work with multiple Terraform projects requiring different versions. tfenv lets you pin versions per directory via .terraform-version files and automatically switch when entering a project, mirroring rbenv\u0027s workflow. Lighter than Docker or containers for quick multi-version management."
}