NousResearch/hermes-agent · error · RuntimeError

No checksum entry for {asset_name} in {checksum_file.name}

Error message

No checksum entry for {asset_name} in {checksum_file.name}

What it means

Error "No checksum entry for {asset_name} in {checksum_file.name}" thrown in NousResearch/hermes-agent.

Source

Thrown at agent/secret_sources/bitwarden.py:301

        with urllib.request.urlopen(req, timeout=_BWS_DOWNLOAD_TIMEOUT) as resp:  # noqa: S310
            with open(dest, "wb") as f:
                shutil.copyfileobj(resp, f)
    except urllib.error.URLError as exc:
        raise RuntimeError(f"Failed to download {url}: {exc}") from exc


def _expected_sha256(checksum_file: Path, asset_name: str) -> str:
    """Parse the upstream ``bws-sha256-checksums-X.Y.Z.txt`` file.

    Format is the standard ``sha256sum`` output: ``<hex>  <filename>``,
    one per line.
    """
    text = checksum_file.read_text(encoding="utf-8", errors="replace")
    for line in text.splitlines():
        parts = line.strip().split()
        if len(parts) >= 2 and parts[-1] == asset_name:
            return parts[0]
    raise RuntimeError(
        f"No checksum entry for {asset_name} in {checksum_file.name}"
    )


def _sha256_file(path: Path) -> str:
    h = hashlib.sha256()
    with open(path, "rb") as f:
        for chunk in iter(lambda: f.read(65536), b""):
            h.update(chunk)
    return h.hexdigest()


def _pick_zip_member(zf: zipfile.ZipFile, binary_name: str) -> str:
    """Find the binary inside the upstream zip.

    Historically the archive has been flat (``bws`` at the root) but we
    tolerate a top-level directory just in case upstream changes.
    """

View on GitHub (pinned to c896c09c42)

Solutions

  1. Verify the downloaded checksums file matches the release asset names.
  2. Re-download the release; the checksum file may be truncated or from a different release.

When it happens

Trigger: Thrown at agent/secret_sources/bitwarden.py:301 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/e5077571da4f26da. Report an issue: GitHub.