CheckOps
TFLint
TFLint is an MPL-2.0 pluggable Terraform linter that finds provider-specific errors, deprecated syntax and naming issues that terraform validate misses.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
TFLint is a framework for linting Terraform code. Its README lists three aims: find possible errors such as invalid instance types for major cloud providers, warn about deprecated syntax and unused declarations, and enforce best practices and naming conventions.
Much of its value comes from plugins. Rulesets for AWS, Azure and Google Cloud know provider details, so TFLint can flag an EC2 instance type that does not exist before terraform plan ever talks to the cloud. The bundled Terraform ruleset covers language-level issues, and teams can write custom rulesets in Go or use policy plugins.
TFLint runs from a .tflint.hcl configuration, supports recursive scanning of module trees, and outputs formats such as JSON, Checkstyle, JUnit and SARIF for CI and code scanning. In the quality loop it is a fast pre-merge check that sits before security scanners and real deployment tests.
The source code is at terraform-linters/tflint on GitHub under the MPL-2.0 licence, with about 5,900 stars; the most recent commit was on 8 November 2026.
Features
- Provider rulesets: AWS, Azure and Google Cloud plugins for provider-specific errors.
- Terraform ruleset: Deprecated syntax, unused declarations and naming rules.
- Custom rules: Write rulesets in Go via the plugin SDK.
- Recursive scanning: Lint every module in a repository.
- CI outputs: JSON, Checkstyle, JUnit, SARIF and compact formats.
- Inline ignores: Suppress specific findings with comments.
Pros
- Fast feedback: Runs in seconds without cloud credentials for most rules.
- Free to use: Open source under the MPL-2.0 licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 8 November 2026.
- Community: About 5,900 GitHub stars.
Cons
- Not a security scanner: Pair it with Checkov, KICS or Trivy for misconfiguration checks.
- Plugin setup: Provider rulesets must be declared and initialised.
- Static only: It cannot prove the infrastructure works once deployed.
Usage and Links (Example)
# .tflint.hcl
plugin "aws" {
enabled = true
version = "0.40.0"
source = "github.com/terraform-linters/tflint-ruleset-aws"
}
tflint --init
tflint --recursive --format compact
Pin plugin versions so CI results do not change unexpectedly.
Resources:
Pricing
TFLint is free and open source under the MPL-2.0 licence.
Recommended for?
- Terraform teams that want quick, provider-aware checks on every pull request.
- Module authors enforcing naming and documentation conventions.
- Pipelines that run lint before security scans and plans.
Conclusion
TFLint catches the class of Terraform mistakes that only show up at plan or apply time, and does it in seconds.
It is a cheap first gate; combine it with a security scanner and, for critical modules, real deployment tests.
On CheckOps, TFLint is filed under the Release & CI gates stage. Related tools listed here include Terratest, Test Kitchen, Molecule, Goss, Chef InSpec and terraform-compliance. A short trial on a real project, with your own code, data and pipeline, is usually the fastest way to choose between them, because fit matters more than feature lists. Facts here come from the official site, documentation and repository, checked on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with TFLint side by side.
TTerratestTerratest is an Apache-2.0 Go library from Gruntwork for writing automated tests that deploy real Terraform, Packer, Docker and Kubernetes infrastructure, validate it and tear it down.Compare with TFLint
TTest KitchenTest Kitchen is an Apache-2.0 integration testing harness that converges infrastructure code on isolated platforms such as Docker, Vagrant and cloud VMs, then runs verifiers like InSpec.Compare with TFLint
MMoleculeMolecule is an MIT Ansible-native testing framework for roles, playbooks and collections, creating test instances, converging them and running verification and idempotence checks.Compare with TFLint
GGossGoss is an Apache-2.0 YAML-based tool for quick server and container validation, checking packages, files, ports, services and HTTP endpoints, with dgoss for Docker images.Compare with TFLint
CChef InSpecChef InSpec is an auditing and testing framework with a Ruby-based DSL for checking that servers, containers and cloud resources meet compliance and security requirements.Compare with TFLint
Tterraform-complianceterraform-compliance is an MIT, BDD-style test framework that checks Terraform plans against security and compliance rules written in Gherkin.Compare with TFLint