HKUDS/nanobot · error · RuntimeError

xAI model catalog returned invalid JSON.

Error message

xAI model catalog returned invalid JSON.

What it means

Error "xAI model catalog returned invalid JSON." thrown in HKUDS/nanobot.

Source

Thrown at nanobot/providers/xai_grok_provider.py:389

async def _fetch_xai_model_capabilities(
    url: str,
    headers: dict[str, str],
    *,
    proxy: str | None = None,
) -> dict[str, bool]:
    client_kwargs: dict[str, Any] = {"timeout": 10.0, "follow_redirects": False}
    if proxy:
        client_kwargs.update(proxy=proxy, trust_env=False)
    async with httpx.AsyncClient(**client_kwargs) as client:
        response = await client.get(url, headers=headers)
    if response.status_code != 200:
        raw = response.content.decode("utf-8", "ignore")
        raise _build_xai_http_error(response.status_code, response.headers, raw)
    try:
        payload = response.json()
    except ValueError as exc:
        raise RuntimeError("xAI model catalog returned invalid JSON.") from exc
    return _parse_xai_model_capabilities(payload)


def _parse_xai_model_capabilities(payload: Any) -> dict[str, bool]:
    if isinstance(payload, dict):
        payload = cast(dict[str, Any], payload)
        rows: object = payload.get("data")
        if not isinstance(rows, list):
            rows = payload.get("models")
    else:
        rows = payload
    if not isinstance(rows, list):
        return {}

    capabilities: dict[str, bool] = {}
    for row_value in cast(list[object], rows):
        if not isinstance(row_value, dict):
            continue

View on GitHub (pinned to 42f37dc4c0)

When it happens

Trigger: Thrown at nanobot/providers/xai_grok_provider.py:389 when the library encounters an invalid state.

Common situations: See trigger scenarios.

Understand the failure class


AI-assisted analysis of HKUDS/nanobot@42f37dc4c0 (2026-08-26). Data as JSON: /api/errors/b15baf1f2d92b3c3. Report an issue: GitHub.