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 and pnpm.overrides.
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, 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