# Install tfmv with Homebrew, MacPorts

CLI to rename Terraform resources and generate moved blocks. Version 1.0.0 via Homebrew; verified 2026-07-26. Also installable with macports: sudo port install tfmv.

## Install

```sh
sudo av install brew:tfmv
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install tfmv
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install tfmv
```

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

## Package facts

- **Package key:** brew:tfmv
- **Package manager:** Homebrew
- **Version:** 1.0.0
- **Source summary:** CLI to rename Terraform resources and generate moved blocks
- **Homepage:** <https://github.com/suzuki-shunsuke/tfmv>
- **Repository:** <https://github.com/suzuki-shunsuke/tfmv>
- **Last updated:** 2026-07-26T00:50:39+02:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- tfmv (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.0.0
## Project history and usage

tfmv is a Terraform refactoring CLI by suzuki-shunsuke for renaming resources, data sources, and modules while generating Terraform moved blocks. Its README frames the tool around the practical problem of changing Terraform block names without losing state continuity.

### Project history

The project emerged in the Terraform 1.x era after moved blocks became the standard way to record address changes in configuration. The README demonstrates a focused workflow: scan Terraform files, rename matching block labels, update references, and emit moved blocks, with no need to run terraform init for the shown rename operation.

### Adoption history

Adoption appears specialized rather than broad: Homebrew lists tfmv as a bottled formula at version 1.0.0 and reports low-volume installs. That pattern fits a maintenance utility used when teams perform Terraform module or naming cleanups rather than a daily Terraform wrapper.

### How it is used

tfmv is used from a Terraform working tree with replacement rules, regular expressions, or Jsonnet-driven rename logic. The README shows examples such as replacing hyphens with underscores, filtering addresses with include/exclude regular expressions, writing moved blocks to moved.tf or another file, and recursively scanning Terraform files while ignoring directories such as .git and .terraform.

### Why package nerds care

For package-manager users, tfmv is a small example of the Terraform ecosystem spawning single-purpose CLIs around state-safe refactoring. Its Homebrew and MacPorts packaging make it convenient for infrastructure engineers who want a one-command tool during large address-renaming migrations.

### Timeline

- 2025: GitHub tags list v0.2.8 in July and v1.0.0 in December.
- 2026: Homebrew formula metadata lists stable version 1.0.0 with bottled builds.

### Related projects

- Terraform moved blocks
- Terraform CLI
- Jsonnet

### Sources

- <https://formulae.brew.sh/api/formula/tfmv.json>
- <https://github.com/suzuki-shunsuke/tfmv#readme>
- <https://github.com/suzuki-shunsuke/tfmv/tags>


## Security Notes

narrow executable package without higher-risk signals.

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

## Other Package-Manager Records

- MacPorts - tfmv: normalized package name match | MacPorts ports tree: sysutils/tfmv/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/tfmv.yml](https://github.com/mxcl/pkgdb/blob/main/combined/tfmv.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
