# Install tfmigrate with Homebrew, MacPorts, Nix

Terraform/OpenTofu state migration tool for GitOps. Version 0.4.5 via Homebrew; verified 2026-05-15.

## Install

```sh
sudo av install brew:tfmigrate
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install tfmigrate
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install tfmigrate
```

  Evidence: MacPorts ports tree: sysutils/tfmigrate/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#tfmigrate
```

  Evidence: nixpkgs package indexes: pkgs/by-name/tf/tfmigrate/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:tfmigrate
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/tfmigrate>
- **Version:** 0.4.5
- **Source summary:** Terraform/OpenTofu state migration tool for GitOps
- **Homepage:** <https://github.com/minamijoyo/tfmigrate>
- **Repository:** <https://github.com/minamijoyo/tfmigrate>
- **Upstream docs:** <https://github.com/minamijoyo/tfmigrate>
- **License:** MIT
- **Source archive:** <https://github.com/minamijoyo/tfmigrate/archive/refs/tags/v0.4.5.tar.gz>
- **Last updated:** 2026-05-15T01:31:36+09:00
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- tfmigrate (cli)
- tfmigrate (alias)

## Build dependencies

- go

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-09
- Package-manager version: 0.4.5
- Package-manager updated: 2026-05-15
- Local data: ok
- Upstream repository: https://github.com/minamijoyo/tfmigrate
- Upstream latest detected: v0.4.5 (current)
## Project history and usage

tfmigrate is a Terraform and OpenTofu state migration tool for GitOps. Its README frames Terraform state operations as code: write state moves, removals, imports, and related operations in HCL, review them in git, then plan and apply them in sequence.

### Project history

The project was created to address a common production Terraform problem: state manipulations are unavoidable during refactoring, but raw `terraform state` commands are error-prone and do not fit well into pull-request and CI/CD workflows. tfmigrate's README explicitly argues that state operations should be committed to git.

The tool wraps Terraform or OpenTofu under the hood rather than reimplementing their state mechanics. It supports dry-run planning with temporary local state, migration history, local/S3/GCS storage for applied migration records, monorepo-style state splits and merges, and migration files written as HCL.

Recent release notes show continuing maintenance for the changing Terraform ecosystem, including support for OpenTofu versions, Terraform 1.11 through 1.15, Terragrunt CLI redesign handling, configurable environment injection into `.tfmigrate.hcl`, and GitHub Actions and Go toolchain updates.

### Adoption history

The repository shows more than a thousand GitHub stars and is packaged by Homebrew, MacPorts, and Nix in the input metadata. That adoption profile fits a tool used by infrastructure teams with long-lived Terraform states and CI-based review.

tfmigrate's appeal is strongest for teams that already use GitOps: it lets state migrations travel with the configuration change they support, instead of being performed manually before or after a merge.

### How it is used

The documented workflow is to write a migration file such as `state_mv.hcl`, run `tfmigrate plan` to verify the state operation against Terraform plan output without updating remote state, and then run `tfmigrate apply` to push the migrated state when the plan is clean.

tfmigrate can invoke `terraform`, `tofu`, or Terragrunt via `TFMIGRATE_EXEC_PATH`, and the README recommends trying the included sandbox before using the tool on production state.

### Why package nerds care

tfmigrate is important in package metadata because it solves a lifecycle problem that plain Terraform intentionally leaves low-level. It turns one-off state surgery into reviewable, repeatable migration files.

As a package-manager tool, it is most useful when installed in CI images and developer machines beside Terraform/OpenTofu, making the same state migration command available during local rehearsal and automated review.

### Timeline

- 2025: v0.4.2 release notes add OpenTofu 1.9, Terraform 1.11, Terragrunt CLI redesign handling, and environment injection into `.tfmigrate.hcl`.
- 2025: v0.4.3 release notes add OpenTofu 1.10 and Terraform 1.12 support.
- 2025: v0.4.4 release notes add OpenTofu 1.11 and Terraform 1.14 support.
- 2026: v0.4.5 is listed as the latest release and includes Terraform 1.15 support.

### Related projects

- Terraform and OpenTofu are the execution engines tfmigrate invokes.
- Terragrunt is supported through `TFMIGRATE_EXEC_PATH` with version-specific guidance.
- Digger is mentioned in recent release notes as an integration example.

### Sources

- <https://github.com/minamijoyo/tfmigrate>
- <https://github.com/minamijoyo/tfmigrate/releases>
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: .tfmigrate.hcl
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** tfmigrate
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Nix - tfmigrate: normalized package name match | nixpkgs package indexes: pkgs/by-name/tf/tfmigrate/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- MacPorts - tfmigrate: normalized package name match | MacPorts ports tree: sysutils/tfmigrate/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Cloud CLI packages](https://www.automicvault.com/pkg/cloud-clis/) - Belongs to a cloud or infrastructure command family.
- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [tfenv](https://www.automicvault.com/pkg/brew/tfenv/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure, infrastructure-as-code, terraform.
- [tfmcp](https://www.automicvault.com/pkg/brew/tfmcp/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure, infrastructure-as-code, terraform.
- [tfmv](https://www.automicvault.com/pkg/brew/tfmv/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure, infrastructure-as-code, terraform.
- [tfocus](https://www.automicvault.com/pkg/brew/tfocus/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure, infrastructure-as-code, terraform.
- [tfplugingen-openapi](https://www.automicvault.com/pkg/brew/tfplugingen-openapi/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure, infrastructure-as-code, terraform.
- [tfproviderlint](https://www.automicvault.com/pkg/brew/tfproviderlint/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure, infrastructure-as-code, terraform.
- [tfautomv](https://www.automicvault.com/pkg/brew/tfautomv/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure-as-code, opentofu, terraform.
- [tfk8s](https://www.automicvault.com/pkg/brew/tfk8s/) - Shares av.db curated category or tags: cli, developer-tools, infrastructure, terraform.

## Combined YAML source

View the package source record on GitHub. [combined/tfmigrate.yml](https://github.com/automic-vault/db/blob/main/combined/tfmigrate.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
