github/spec-kit · error · BundlerError
Bundled community catalog not found: {path}
Error message
Bundled community catalog not found: {path} What it means
Error "Bundled community catalog not found: {path}" thrown in github/spec-kit.
Source
Thrown at src/specify_cli/bundler/services/adapters.py:110
# Check hostname, not netloc: netloc is truthy for host-less URLs like
# "https://:8080" or "https://user@...", so requiring netloc would let
# those through even though they carry no host. hostname is None in those
# cases. Mirrors the fix in ``specify_cli.catalogs`` (#3210).
if not hostname:
raise BundlerError(
f"Catalog '{source_id}' URL must be a valid URL with a host: {url}"
)
def _load_packaged_community_catalog() -> dict:
core_pack = _locate_core_pack()
path = (
core_pack / "bundles" / "catalog.community.json"
if core_pack is not None
else _repo_root() / "bundles" / "catalog.community.json"
)
if not path.is_file():
raise BundlerError(f"Bundled community catalog not found: {path}")
return loads_json(path.read_text(encoding="utf-8"), origin=str(path))
def make_catalog_fetcher(*, allow_network: bool = True):
"""Return a fetcher callable suitable for :class:`CatalogStack`.
When *allow_network* is False, ``http(s)://`` sources raise instead of
touching the network (used by offline tests and ``--offline`` flows).
"""
def fetch(source: CatalogSource) -> dict:
url = source.url
try:
parsed = urlparse(url)
# Keep malformed authorities and ports inside the BundlerError
# contract even when a config file was edited by hand.
_ = parsed.port
except ValueError:View on GitHub (pinned to bf88c9f9a8)
Solutions
- Reinstall spec-kit so the bundled community catalog is restored, or remove the builtin:// catalog source from the config.
When it happens
Trigger: Thrown at src/specify_cli/bundler/services/adapters.py:110 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/bbc98531252299e4.
Report an issue: GitHub.