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

  1. 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.