Catalogs
Catalogs let you define dependency version ranges once and reference them across workspaces in a monorepo. Knip reports catalog entries that are defined but no longer referenced, and references to entries that do not exist. It can remove unused entries with auto-fix.
Supported catalogs
Section titled “Supported catalogs”Knip reads catalogs from the first applicable location:
pnpm-workspace.yaml— thecatalog(default) andcatalogs(named) keys.yarnrc.yml— thecatalogandcatalogskeyspackage.json— thecatalogandcatalogskeyspackage.json#workspaces— thecatalogandcatalogskeys (Bun)
Unused catalog entries
Section titled “Unused catalog entries”A catalog entry is reported as unused when no workspace references it through
the catalog: protocol in its package.json:
{ "dependencies": { "react": "catalog:", "zod": "catalog:validation" }}catalog: references the default catalog, while catalog:validation
references the named validation catalog. References are resolved from
dependencies, devDependencies, peerDependencies, optionalDependencies,
resolutions, pnpm-workspace.yaml#overrides, and pnpm.overrides in the root
package.json (pnpm 10 and older).
Entries defined in a catalog but not referenced anywhere are reported as unused catalog entries.
Unresolved catalog references
Section titled “Unresolved catalog references”A catalog: reference is reported when the selected catalog does not define
that package. These issues point to the consuming package.json or
pnpm-workspace.yaml, where package managers would otherwise fail to resolve
the version.
Filter and fix
Section titled “Filter and fix”The catalog and catalogReferences issue types are included by the
--dependencies shortcut. Focus on them (or exclude them) like any other
issue type:
knip --include catalog,catalogReferencesknip --exclude catalog,catalogReferencesAuto-fix removes unused catalog entries from the catalog file:
knip --fix --fix-type catalogISC License © 2026Lars Kappert