CloakHQ/CloakBrowser · error · RuntimeError

Could not determine latest Pro version from server

Error message

Could not determine latest Pro version from server

What it means

With a valid Pro license and no pinned version, cloakbrowser needs the server's latest Pro version (or a cached value) to select a build. If the server is unreachable AND no cached Pro build/marker exists, it raises RuntimeError rather than downgrading to the free binary.

Source

Thrown at cloakbrowser/download.py:458

        release = get_pro_latest_release(release_channel)
        if release is not None and release.fallback:
            _warn_preview_fallback()

    # Prefer the server's latest when it is newer than — or replaces a missing —
    # the cached build. Otherwise stay on the cached Pro binary (fast, offline-ok).
    if latest and (
        effective is None
        or not _pro_binary_ready(effective)
        or _version_newer(latest, effective)
    ):
        version: str | None = latest
    else:
        version = effective

    if version is None:
        # Valid Pro license but nothing resolvable (server unreachable AND no
        # cached Pro build). Never downgrade to the free binary — fail loudly.
        raise RuntimeError("Could not determine latest Pro version from server")

    if _pro_binary_ready(version):
        binary_path = get_binary_path(version, pro=True)
        # Advance the marker if this cached build is newer than what the marker names,
        # so `info` (and a later server-outage launch) reflect the build we actually
        # launch — never a stale marker.
        if version != effective:
            try:
                _write_pro_version_marker(version, release_channel)
            except OSError:
                pass
        logger.debug("Pro binary found in cache: %s (version %s)", binary_path, version)
        _show_welcome(welcome_tier)
        return str(binary_path)

    # `version` (the server latest) needs downloading. On failure, fall back to a
    # cached Pro build if we have one — never the free binary.
    try:

View on GitHub (pinned to d6bad5de26)

Solutions

  1. Retry once the version server is reachable
  2. Pre-install the Pro binary (run install once while online) so a cache exists
  3. Unset CLOAKBROWSER_LICENSE_KEY if the free binary is acceptable
Defensive patterns

Strategy: fallback

Try / catch

try:
    ensure_binary()  # unpinned, Pro
except RuntimeError as e:
    if "Could not determine latest Pro version" in str(e):
        os.environ.pop("CLOAKBROWSER_LICENSE_KEY", None)
        ensure_binary()
    else:
        raise

Prevention

When it happens

Trigger: Unpinned launch with a valid license during a server outage on a machine that has never downloaded a Pro build.

Common situations: First Pro run offline; CI with blocked egress to the version API; DNS failure in containers.

Related errors


AI-assisted analysis of CloakHQ/CloakBrowser@d6bad5de26 (2026-08-28). Data as JSON: /api/errors/5fef8acf46107b20. Report an issue: GitHub.