# Install cfn-lint with Homebrew, zypper

Validate CloudFormation templates against the CloudFormation spec. Version 1.53.3 via Homebrew; verified 2026-07-29. Also installable with zypper: sudo zypper install python311-cfn-lint.

## Install

```sh
sudo av install brew:cfn-lint
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install cfn-lint
```

  Evidence: local Homebrew formula metadata

### Linux

- zypper (92%):

```sh
sudo zypper install python311-cfn-lint
```

  Evidence: openSUSE Tumbleweed package metadata: python311-cfn-lint from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## Package facts

- **Package key:** brew:cfn-lint
- **Package manager:** Homebrew
- **Version:** 1.53.3
- **Source summary:** Validate CloudFormation templates against the CloudFormation spec
- **Homepage:** <https://github.com/aws-cloudformation/cfn-lint/>
- **Last updated:** 2026-07-29T21:05:53Z
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- cfn-lint (alias)

## Install behavior

- Bottle: not available

## Freshness

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

cfn-lint is the AWS CloudFormation linter for validating JSON and YAML templates against CloudFormation resource provider schemas and additional best-practice checks. It is a Python command-line tool, but its real job is to keep infrastructure-as-code feedback local, scriptable, and close to the editor or CI system.

### Project history

The official GitHub repository was created under the aws-cloudformation organization in April 2018 and describes the tool as validating CloudFormation templates against AWS CloudFormation resource provider schemas and extra checks. Its README also documents support for AWS Serverless Application Model templates by transforming SAM before linting.

The project has accumulated a large rule set, optional graph, JUnit, and SARIF output dependencies, editor integrations, a GitHub Action, and frequent schema-update releases. That release pattern reflects CloudFormation itself: the linter must track AWS service and resource schema changes continuously rather than behaving like a static syntax checker.

### Adoption history

Official installation docs include pip, Homebrew, Docker, and editor integrations for Atom, Emacs, Vim or Neovim, Sublime, Visual Studio Code, and IntelliJ IDEA. The README also links a GitHub Marketplace action and an online demo, showing adoption across local development and CI workflows.

The package metadata in this batch shows cfn-lint packaged for Homebrew and openSUSE, while the official README shows PyPI as the primary distribution channel. For CloudFormation users, it became the expected preflight check before deploying templates.

### How it is used

Typical use is `cfn-lint template.yaml`, optionally with multiple templates, shell globs, regions, output formats, custom rules, ignored checks, or SARIF and JUnit outputs for CI. The documented configuration files are `.cfnlintrc`, `.cfnlintrc.yaml`, `.cfnlintrc.yml`, and `~/.cfnlintrc`.

cfn-lint can update or patch CloudFormation specs, build DOT graphs, validate against CloudFormation Registry schemas, and tune exit-code severity. It is best understood as a local policy and schema feedback tool for CloudFormation authors, not as an AWS deployment client.

### Why package nerds care

For package nerds, cfn-lint is notable because it packages a fast-moving cloud provider schema surface into an installable CLI. The frequent official releases that update CloudFormation schemas are the interesting bit: package freshness directly affects whether the linter recognizes new AWS resource types and properties.

It also sits at the intersection of several packaging channels: Python packaging for the upstream tool, Homebrew for macOS-heavy infrastructure teams, containers for pinned CI runs, and editor plugins for live feedback.

### Timeline

- 2018: The aws-cloudformation/cfn-lint repository is created on GitHub.
- 2026: Official releases continue to publish frequent CloudFormation schema updates.
- 2026: The README documents Python 3.10 through 3.14 support, optional extras, Homebrew installation, Docker usage, editor integrations, and CI outputs.

### Related projects

- AWS CloudFormation provides the template language and resource provider schemas cfn-lint validates against.
- AWS Serverless Application Model templates are transformed before linting, according to the official README.
- CloudFormation Guard and CloudFormation Registry are adjacent AWS CloudFormation tools referenced by the project's community and options.

### Sources

- <https://api.github.com/repos/aws-cloudformation/cfn-lint>
- <https://github.com/aws-cloudformation/cfn-lint>
- <https://github.com/aws-cloudformation/cfn-lint/>
- <https://github.com/aws-cloudformation/cfn-lint/tree/main/docs/getting_started>
- <https://github.com/aws-cloudformation/cfn-lint#readme>
- <https://formulae.brew.sh/api/formula/cfn-lint.json>
- <https://api.github.com/repos/aws-cloudformation/cfn-lint/releases>
- <https://github.com/aws-cloudformation/cfn-lint#configuration>


## Security Notes

infrastructure mutation or orchestration signal.

- **Geiger risk:** orange / medium
- infrastructure mutation or orchestration signal


## 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: .cfnlintrc, .cfnlintrc.yaml, .cfnlintrc.yml, ~/.cfnlintrc
## Other Package-Manager Records

- zypper - python311-cfn-lint - 1.47.0-1.2: normalized package name match | openSUSE Tumbleweed package metadata: python311-cfn-lint from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Tool to checks cloudformation for practices and behaviour | https://github.com/aws-cloudformation/cfn-python-lint
- zypper - python313-cfn-lint - 1.47.0-1.2: normalized package name match | openSUSE Tumbleweed package metadata: python313-cfn-lint from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Tool to checks cloudformation for practices and behaviour | https://github.com/aws-cloudformation/cfn-python-lint
- zypper - python314-cfn-lint - 1.47.0-1.2: normalized package name match | openSUSE Tumbleweed package metadata: python314-cfn-lint from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Tool to checks cloudformation for practices and behaviour | https://github.com/aws-cloudformation/cfn-python-lint


## Combined YAML source

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


## Sources

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