Terraform Provider Pin Lint

Finds unpinned providers, missing source addresses and floating module refs in .tf files — the lines that let a clean terraform init pull a new major. Runs entirely in your browser — nothing is uploaded.

Same engine as the VS Code extension, byte for byte.

Get one email when this rule changes
We watch the regulation and vendor sources behind Terraform Provider Pin Lint every day. When a rule changes, you get a single email with what changed and the updated check. No newsletter.

Install free

Free for the file open in your editor - no key, no limit. The workspace sweep and the report ask for a key.

Open VSX (Cursor, VSCodium)npmMCP server (npx)Docker Hub
npx @readystack/terraform-provider-pin-lint <file>
npx @readystack/terraform-provider-pin-lint --mcp
docker run --rm -v "$PWD:/w" getreadystack/terraform-provider-pin-lint /w

Team? One key for every ReadyStack linter, 5 seats, $149 once

Get the complete version $29

This page is the working piece. The full pack has everything below.

Finds the .tf lines a clean terraform init is still free to move

One hour of contract platform-engineering review of the same root module — contract platform/DevOps engineers list $75-150/hour on public freelance marketplaces

Buy the full version — $29

Questions people ask

What does Terraform Provider Pin Lint actually do?

It reads a .tf file as text and applies 14 rules to the version constraints and source addresses: required_providers entries with no source or no version, constraints with no upper bound, wildcards, 0.x tracking, registry modules with no version, git modules with no ?ref= or a branch ref, and an s3 backend still locking through dynamodb_table.

Who is it for?

Platform and DevOps engineers whose pipelines run terraform init on a fresh runner every job, so nothing carries over between builds. Also for anyone reviewing Terraform that an AI assistant generated, where required_providers is often absent entirely and the provider address is silently assumed to be the hashicorp namespace.

Why is terraform validate or fmt not enough?

terraform fmt only rewrites whitespace and alignment. terraform validate checks syntax and internal consistency against providers that terraform init has already installed, so by the time it runs the choice has been made. Neither one tells you that the constraint allowed that choice to change.

What is free and what needs a licence key?

Linting the file you have open is free forever, with no watermark, no trial counter and no held-back findings: open a .tf file, run the command, get every finding and its pinned form. The licence key adds the other axis, scanning every .tf file in the workspace at once and writing a dated Markdown report you keep.

What would the same review cost otherwise?

Reading one root module by hand means opening the registry page for each provider and module to see which majors the constraint admits. Contract platform and DevOps engineers list $75-150/hour on public freelance marketplaces, so a single review of a single environment folder already costs more than the licence.

Ask about this tool

One question, answered by the person who built it. Your email only if you want the answer sent.

ENDEJAESPT

Find a tool