Comfy-Org/ComfyUI · error · ValueError

No pre-releases found

Error message

No pre-releases found

What it means

FrontendManager.latest_prerelease filters all GitHub releases of the ComfyUI frontend repo for ones flagged prerelease and takes the newest. If the repo currently has zero pre-release entries (maintainers may delete or convert them), the cached property raises ValueError('No pre-releases found'). This is hit only when you explicitly request the 'prerelease' frontend version.

Source

Thrown at app/frontend_management.py:158

                api_url = response.links["next"]["url"]
            else:
                api_url = None
        return releases

    @cached_property
    def latest_release(self) -> Release:
        latest_release_url = f"{self.release_url}/latest"
        response = requests.get(latest_release_url, timeout=REQUEST_TIMEOUT)
        response.raise_for_status()  # Raises an HTTPError if the response was an error
        return response.json()

    @cached_property
    def latest_prerelease(self) -> Release:
        """Get the latest pre-release version - even if it's older than the latest release"""
        release = [release for release in self.all_releases if release["prerelease"]]

        if not release:
            raise ValueError("No pre-releases found")

        # GitHub returns releases in reverse chronological order, so first is latest
        return release[0]

    def get_release(self, version: str) -> Release:
        if version == "latest":
            return self.latest_release
        elif version == "prerelease":
            return self.latest_prerelease
        else:
            for release in self.all_releases:
                if release["tag_name"] in [version, f"v{version}"]:
                    return release
            raise ValueError(f"Version {version} not found in releases")


def download_release_asset_zip(release: Release, destination_path: str) -> None:
    """Download dist.zip from github release."""

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Use --front-end-version latest instead, which pulls the newest stable release.
  2. Pick a concrete version tag, e.g. --front-end-version 1.24.2, to avoid depending on prerelease availability.
  3. If behind a proxy or rate-limited, check GitHub API access (GITHUB_TOKEN / rate limits) so all_releases is complete.
  4. Retry later once upstream publishes a new prerelease.

Example fix

# before
python main.py --front-end-version prerelease

# after
python main.py --front-end-version latest
Defensive patterns

Strategy: validation

Validate before calling

from app.frontend_management import FrontendManager
fm = FrontendManager()
has_prerelease = any(r["prerelease"] for r in fm.all_releases)
if not has_prerelease:
    version = "latest"  # fall back instead of requesting prerelease

Type guard

def has_prerelease(releases: list[dict]) -> bool:
    return any(bool(r.get("prerelease")) for r in releases)

Try / catch

try:
    rel = fm.get_release("prerelease")
except ValueError:
    rel = fm.get_release("latest")

Prevention

When it happens

Trigger: Launching with --front-end-version prerelease (or selecting prerelease via the frontend update mechanism) when the GitHub repo comfyui-frontend-release has no releases marked as prerelease; also triggered when a previous request cached an empty all_releases list.

Common situations: Testing a nightly frontend build; GitHub API rate-limiting or a proxy returning an incomplete releases list; upstream removing prerelease tags after a stable release.

Related errors


AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14). Data as JSON: /api/errors/9742fb88aabcf30f. Report an issue: GitHub.