SeleniumHQ/selenium · error · ValueError

No Chrome download found for platform 'mac-arm64'

Error message

No Chrome download found for platform 'mac-arm64'

What it means

Raised by the chrome() function in pinned_browsers.py when the selected Chrome version's downloads JSON contains no 'chrome' entry with platform 'mac-arm64'. Searches chrome_downloads for d['platform'] == 'mac-arm64' and raises if no match.

Source

Thrown at scripts/pinned_browsers.py:142

filegroup(
    name = "files",
    srcs = glob(["**/*"]),
)

exports_files(["chrome-linux64/chrome"])

js_library(
    name = "chrome-js",
    data = [":files"],
)
\"\"\",
    )
"""

    url = next((d["url"] for d in chrome_downloads if d["platform"] == "mac-arm64"), None)
    if url is None:
        raise ValueError("No Chrome download found for platform 'mac-arm64'")
    sha = calculate_hash(url)  # Calculate SHA for Mac chrome

    content += f"""    http_archive(
        name = "mac_{workspace_prefix}chrome",
        url = "{url}",
        sha256 = "{sha}",
        strip_prefix = "chrome-mac-arm64",
        patch_cmds = [
            "mv 'Google Chrome for Testing.app' Chrome.app",
            "mv 'Chrome.app/Contents/MacOS/Google Chrome for Testing' Chrome.app/Contents/MacOS/Chrome",
        ],
        build_file_content = \"\"\"
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])

exports_files(["Chrome.app"])

js_library(

View on GitHub (pinned to aa36b38e69)

Solutions

  1. Retry after a delay.
  2. Verify the JSON payload for mac-arm64 availability.
  3. Update the platform filter if upstream naming changed.

Example fix

null
Defensive patterns

Strategy: validation

Validate before calling

chrome_downloads = selected_version['downloads']['chrome']
platforms = [d['platform'] for d in chrome_downloads]
if 'mac-arm64' not in platforms:
    print(f'mac-arm64 not in available platforms: {platforms}')

Type guard

null

Try / catch

null

Prevention

When it happens

Trigger: Running pinned_browsers.py when Chrome-for-Testing has not published a mac-arm64 Chrome binary for the target milestone; platform identifier changed upstream; milestone predates mac-arm64 availability.

Common situations: Release transition; schema change; CI timing during milestone rollout.

Related errors


AI-assisted analysis of SeleniumHQ/selenium@aa36b38e69 (2026-08-14). Data as JSON: /api/errors/14f3ab94bfd4585e. Report an issue: GitHub.