github/spec-kit · error · BundlerError

Bundle '{bundle_id}' was not found in any configured catalog

Error message

Bundle '{bundle_id}' was not found in any configured catalog.

What it means

Error "Bundle '{bundle_id}' was not found in any configured catalog." thrown in github/spec-kit.

Source

Thrown at src/specify_cli/bundler/services/catalog_stack.py:80

            try:
                raw = self._fetcher(source)
            except BundlerError:
                raise
            except Exception as exc:  # noqa: BLE001 - surface as chained BundlerError
                raise BundlerError(
                    f"Failed to load catalog '{source.id}' ({source.url}): {exc}"
                ) from exc
            self._payloads[source.id] = load_catalog_payload(raw)
        return self._payloads[source.id]

    def resolve(self, bundle_id: str) -> ResolvedBundle:
        """Return the highest-precedence entry for *bundle_id* or raise."""
        for source in self._sources:
            entries = self._entries_for(source)
            entry = entries.get(bundle_id)
            if entry is not None:
                return ResolvedBundle(entry=entry.with_provenance(source), source=source)
        raise BundlerError(
            f"Bundle '{bundle_id}' was not found in any configured catalog."
        )

    def search(self, query: str = "") -> list[ResolvedBundle]:
        """Return entries matching *query* (substring over id/name/role/tags/description).

        Each bundle id appears once, resolved at its highest-precedence source.
        Results are sorted by bundle id for deterministic output.
        """
        needle = query.strip().lower()
        # Resolve each id to its highest-precedence entry FIRST, then filter by
        # the query. Claiming an id only when it matches would let a lower-
        # precedence entry with the same id surface when the highest-precedence
        # one doesn't match the query — but that shadowed entry is not what
        # `resolve()`/install would use, so search would advertise a bundle
        # (name, version, author) the user can never actually get.
        resolved: dict[str, ResolvedBundle] = {}
        for source in self._sources:

View on GitHub (pinned to bf88c9f9a8)

Solutions

  1. Check the bundle id for typos and run 'specify bundle search' against configured catalogs, or add a catalog that provides this bundle.

When it happens

Trigger: Thrown at src/specify_cli/bundler/services/catalog_stack.py:80 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of github/spec-kit@bf88c9f9a8 (2026-08-14). Data as JSON: /api/errors/9a4461f493e4444e. Report an issue: GitHub.