github/spec-kit · error · BundlerError
Unsupported catalog URL scheme: {url}
Error message
Unsupported catalog URL scheme: {url} What it means
Error "Unsupported catalog URL scheme: {url}" thrown in github/spec-kit.
Source
Thrown at src/specify_cli/bundler/services/adapters.py:165
raise BundlerError(f"Catalog file not found: {path}")
return load_json(path)
if scheme == "" or _is_windows_drive_path(url):
path = Path(url)
if not path.exists():
raise BundlerError(f"Catalog file not found: {path}")
return load_json(path)
if scheme in ("http", "https"):
if not allow_network:
raise BundlerError(
f"Network access disabled; cannot fetch catalog '{source.id}' "
f"from {url}."
)
_validate_remote_url(source.id, url)
return _http_get_json(source.id, url)
raise BundlerError(f"Unsupported catalog URL scheme: {url}")
return fetch
def _http_get_json(source_id: str, url: str) -> dict:
"""Fetch catalog JSON over HTTP(S) via the shared authenticated client.
Routing through :func:`specify_cli.authentication.http.open_url` gives
``auth.json`` token support and strips the ``Authorization`` header when a
redirect leaves the entry's trusted hosts or downgrades the scheme. We also
reject any redirect that leaves HTTPS (the ``redirect_validator`` runs
*before* each hop) and re-validate the final URL after redirects, so the
HTTPS/host guarantee from ``_validate_remote_url`` is preserved end to end
rather than only on the initial URL.
"""
from ...authentication.http import open_url
def _validate_redirect(_old_url: str, new_url: str) -> None:View on GitHub (pinned to bf88c9f9a8)
Solutions
- Use a supported catalog URL scheme: http(s)://, file://, builtin://, or a local filesystem path.
When it happens
Trigger: Thrown at src/specify_cli/bundler/services/adapters.py:165 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/4da51577d4f48156.
Report an issue: GitHub.