Automic VaultAutomic Vault

brew

Install include-what-you-use with Homebrew, apk, dnf, MacPorts, Nix, zypper

Tool to analyze #includes in C and C++ source files. Version 0.26 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install include-what-you-use

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install include-what-you-use

MacPorts ports tree · devel/include-what-you-use/Portfile · source: api.github.com

Linux

Alpine Linux apkverified · 92%
sudo apk add include-what-you-use

Alpine Linux edge package indexes · include-what-you-use · source: dl-cdn.alpinelinux.org

Fedora dnfverified · 92%
sudo dnf install iwyu

Fedora Rawhide package metadata · iwyu · source: dl.fedoraproject.org

Nixverified · 92%
nix profile install nixpkgs#include-what-you-use

nixpkgs package indexes · include-what-you-use · source: raw.githubusercontent.com

openSUSE zypperverified · 92%
sudo zypper install include-what-you-use

openSUSE Tumbleweed package metadata · include-what-you-use · source: download.opensuse.org

overview

Package summary

Tool to analyze #includes in C and C++ source files

Commands and aliases

  • fix_includes.py
  • include-what-you-use
  • iwyu_tool.py

history

Project history and usage

Include What You Use, often abbreviated IWYU, is a Clang-based C and C++ include analyzer. It tells developers which headers a source file should include directly and which includes can be removed or replaced with forward declarations.

Project history

The project site announced a very-alpha 0.1 release in February 2011 and described an open-source release-early approach after Google-internal origins. Early releases tracked specific LLVM and Clang versions because IWYU depends heavily on Clang internals.

The release notes show a steady pattern: each IWYU release follows an LLVM/Clang line, updates mappings, and improves analysis of C, C++, templates, standard-library headers, and platform-specific headers. Version 0.5 in December 2015 marked migration to GitHub, updated documentation, improved testing infrastructure, and added Boost and Qt mappings.

Adoption history

IWYU spread through C++ build culture because include hygiene directly affects compile time, rebuild fan-out, and refactoring safety. The official documentation explicitly frames the tool around large codebases, where transitive includes make it hard to remove dependencies safely.

Package-manager metadata in this batch lists Homebrew, Alpine, Fedora, MacPorts, Nix, and openSUSE packaging. That is a good fit for a compiler-adjacent developer tool: users install a binary matching their Clang generation and wire it into compilation databases, CMake workflows, CI, or local cleanup scripts.

How it is used

IWYU is usually run against source files with the same compilation information used by Clang. The companion iwyu_tool.py works with compilation databases, and fix_includes.py can apply suggested include edits.

Its output is used during dependency cleanup, code-review preparation, CI checks, and large refactors where accidental reliance on another file's transitive include would otherwise hide missing direct dependencies.

Why package nerds care

For package nerds, IWYU is significant because it turns a style rule into a compiler-backed CLI. It also illustrates a packaging challenge common to LLVM ecosystem tools: the useful binary has to stay aligned with Clang internals and therefore tends to move in lockstep with compiler releases.

It matters beyond neatness. Header dependency cleanup can shorten builds, reduce needless rebuilds, and make C++ packages less fragile when upstream headers change.

Timeline

  • 2011: IWYU 0.1 announced as a very-alpha open-source release.
  • 2011: Clang 2.9 and 3.0 compatible tarballs published.
  • 2014: Clang 3.4 and 3.5 compatible releases published; rudimentary C support added in the 3.5-era release.
  • 2015: IWYU 0.5 migrated to GitHub and added Boost and Qt mappings.
  • 2019: Release notes stated that binary releases would no longer be produced and pointed users to maintained packages.
  • 2026: IWYU 0.26 released for LLVM and Clang 22.

Related projects

  • LLVM and Clang are the compiler infrastructure IWYU builds on.
  • fix_includes.py and iwyu_tool.py are companion tools shipped by the project.
  • CMake compilation databases, clang-tidy, and C++ include-order or dependency-cleanup workflows are adjacent developer-tooling surfaces.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Installs with 1 runtime dependencies.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
fix_includes.pycliglobal executable
include-what-you-usecliglobal executable
iwyu_tool.pycliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.26
manager updated
local dataok
upstreamnot checked
latest detectednot detected

https://include-what-you-use.org/

  • infoNo package-manager update timestamp was available.low confidence
  • infoRelease/tag comparison is only available for GitHub repositories.https://include-what-you-use.org/none confidence

install metadata

Package metadata

Package keybrew:include-what-you-use
Version0.26
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/include-what-you-use
Homepagehttps://include-what-you-use.org/
Repositoryhttps://github.com/include-what-you-use/include-what-you-use
Upstream docshttps://github.com/include-what-you-use/include-what-you-use#readme
LicenseNCSA
Source archivehttps://include-what-you-use.org/downloads/include-what-you-use-0.26.src.tar.gz
Dependenciesllvm
Build dependenciescmake
Uses from macOSncurses
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Nameinclude-what-you-use
Aliases
  • iwyu
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

include-what-you-use

nix profile install nixpkgs#include-what-you-use
  • normalized package name match
  • Matched by: Include What You Use
nixpkgs package indexes · raw.githubusercontent.com · nixpkgs package indexes: include-what-you-use from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
apk95%

include-what-you-use 0.26-r0

A tool for use with clang to analyze #includes in C and C++ source files

https://include-what-you-use.org

sudo apk add include-what-you-use
  • License: NCSA
  • Architecture: x86_64
  • Source Package: include-what-you-use
  • 1 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Include What You Use
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: include-what-you-use from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

include-what-you-use-dbg 0.26-r0

A tool for use with clang to analyze #includes in C and C++ source files (debug symbols)

https://include-what-you-use.org

sudo apk add include-what-you-use-dbg
  • License: NCSA
  • Architecture: x86_64
  • Source Package: include-what-you-use
  • 1 dependencies
  • normalized package name match
  • Matched by: Include What You Use
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: include-what-you-use-dbg from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
apk95%

include-what-you-use-doc 0.26-r0

A tool for use with clang to analyze #includes in C and C++ source files (documentation)

https://include-what-you-use.org

sudo apk add include-what-you-use-doc
  • License: NCSA
  • Architecture: x86_64
  • Source Package: include-what-you-use
  • normalized package name match
  • Matched by: Include What You Use
Alpine Linux edge package indexes · dl-cdn.alpinelinux.org · Alpine Linux edge package indexes: include-what-you-use-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
dnf95%

iwyu 0.26-3.fc45

C/C++ source files #include analyzer based on clang

https://github.com/include-what-you-use/include-what-you-use

sudo dnf install iwyu
  • License: NCSA
  • Category: Unspecified
  • Architecture: x86_64
  • Source Package: iwyu
  • 6 dependencies
  • 2 provides
  • normalized package name match
  • Matched by: Include What You Use
Fedora Rawhide package metadata · dl.fedoraproject.org · Fedora Rawhide package metadata: iwyu from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst
zypper95%

include-what-you-use 0.26-1.2

A tool to analyze #includes in C and C++ source files

https://include-what-you-use.org/

sudo zypper install include-what-you-use
  • License: NCSA
  • Category: Development/Languages/C and C++
  • Architecture: x86_64
  • Source Package: include-what-you-use
  • 4 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Include What You Use
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: include-what-you-use from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
zypper95%

include-what-you-use-tools 0.26-1.2

Additional tools to use include-what-you-use effectively

https://include-what-you-use.org/

sudo zypper install include-what-you-use-tools
  • License: NCSA
  • Category: Development/Languages/C and C++
  • Architecture: noarch
  • Source Package: include-what-you-use
  • 2 dependencies
  • 1 provides
  • normalized package name match
  • Matched by: Include What You Use
openSUSE Tumbleweed package metadata · download.opensuse.org · openSUSE Tumbleweed package metadata: include-what-you-use-tools from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst
MacPorts95%

include-what-you-use

sudo port install include-what-you-use
  • normalized package name match
  • Matched by: Include What You Use
MacPorts ports tree · api.github.com · MacPorts ports tree: devel/include-what-you-use/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

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