🍺 BREW Explorer

← all formulae

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.

Categories

Alternatives

asdf nvm rbenv pyenv
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

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": "[![CI Test](https://github.com/tfutils/tfenv/actions/workflows/test.yml/badge.svg)](https://github.com/tfutils/tfenv/actions/workflows/test.yml)\n[![GitHub release](https://img.shields.io/github/v/release/tfutils/tfenv)](https://github.com/tfutils/tfenv/releases/latest)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](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."
}