NousResearch/hermes-agent · error · ManifestError

could not fetch petdex manifest: {exc}

Error message

could not fetch petdex manifest: {exc}

What it means

Error "could not fetch petdex manifest: {exc}" thrown in NousResearch/hermes-agent.

Source

Thrown at agent/pet/manifest.py:141

    if not force and _cache is not None and time.monotonic() - _cache[0] < _MANIFEST_TTL:
        return _cache[1]

    try:
        import httpx
    except ImportError as exc:  # pragma: no cover - httpx is a core dep
        raise ManifestError("httpx is required to fetch the petdex manifest") from exc

    try:
        resp = httpx.get(
            MANIFEST_URL,
            timeout=timeout,
            follow_redirects=True,
            headers={"User-Agent": "hermes-agent-petdex"},
        )
        resp.raise_for_status()
        payload = resp.json()
    except Exception as exc:  # noqa: BLE001 - normalize to one error type
        raise ManifestError(f"could not fetch petdex manifest: {exc}") from exc

    pets = payload.get("pets") if isinstance(payload, dict) else None
    if not isinstance(pets, list):
        raise ManifestError("petdex manifest had no 'pets' array")

    entries: list[ManifestEntry] = []
    for raw in pets:
        if not isinstance(raw, dict):
            continue
        entry = ManifestEntry.from_dict(raw)
        if entry.slug and entry.spritesheet_url:
            entries.append(entry)

    _cache = (time.monotonic(), entries)
    return entries


def find_entry(slug: str, *, timeout: float = _DEFAULT_TIMEOUT) -> ManifestEntry | None:

View on GitHub (pinned to c896c09c42)

Solutions

  1. Check network access to the petdex manifest host and retry.
  2. Retry later if the manifest host is down.

When it happens

Trigger: Thrown at agent/pet/manifest.py:141 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of NousResearch/hermes-agent@c896c09c42 (2026-08-14). Data as JSON: /api/errors/74f7398587a9388b. Report an issue: GitHub.