SeleniumHQ/selenium · error · ValueError
No chromedriver download found for platform 'mac-arm64'
Error message
No chromedriver download found for platform 'mac-arm64'
What it means
Raised by the chromedriver() function in pinned_browsers.py when the selected Chrome version's downloads JSON contains no 'chromedriver' entry with platform 'mac-arm64'. Same pattern as the linux64 check: it searches for d['platform'] == 'mac-arm64' and raises if no match is found.
Source
Thrown at scripts/pinned_browsers.py:81
sha256 = "{sha}",
strip_prefix = "chromedriver-linux64",
build_file_content = \"\"\"
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
exports_files(["chromedriver"])
js_library(
name = "chromedriver-js",
data = ["chromedriver"],
)
\"\"\",
)
"""
url = next((d["url"] for d in drivers if d["platform"] == "mac-arm64"), None)
if url is None:
raise ValueError("No chromedriver download found for platform 'mac-arm64'")
sha = calculate_hash(url)
content += f"""
http_archive(
name = "mac_{workspace_prefix}chromedriver",
url = "{url}",
sha256 = "{sha}",
strip_prefix = "chromedriver-mac-arm64",
build_file_content = \"\"\"
load("@aspect_rules_js//js:defs.bzl", "js_library")
package(default_visibility = ["//visibility:public"])
exports_files(["chromedriver"])
js_library(
name = "chromedriver-js",
data = ["chromedriver"],
)View on GitHub (pinned to aa36b38e69)
Solutions
- Retry after a delay — mac-arm64 may be published shortly after other platforms.
- Manually verify the JSON payload at googlechromelabs.github.io to confirm the platform key name.
- If the platform identifier changed upstream, update the filter in pinned_browsers.py.
- Pin to a version known to have mac-arm64 artifacts.
Example fix
null
Defensive patterns
Strategy: validation
Validate before calling
drivers = selected_version['downloads']['chromedriver']
platforms = [d['platform'] for d in drivers]
if 'mac-arm64' not in platforms:
print(f'mac-arm64 not in available platforms: {platforms}') Type guard
null
Try / catch
null
Prevention
- Verify the Chrome-for-Testing JSON has mac-arm64 artifacts before running.
- Run after milestone propagation is complete.
- Retry if the platform is temporarily missing.
When it happens
Trigger: Running pinned_browsers.py when Chrome-for-Testing has not published a mac-arm64 chromedriver for the selected milestone; the platform naming changed (e.g., from 'mac-arm64' to a different identifier); the milestone predates Apple Silicon support.
Common situations: Chrome-for-Testing mid-release where mac-arm64 is not yet available; schema/platform name change in the upstream JSON; CI running during a milestone transition window.
Related errors
- No chromedriver download found for platform 'linux64'
- No Chrome download found for platform 'mac-arm64'
- Download unavailable (HTTP {r.status}): {url}
- No Chrome download found for platform 'linux64'
- Failed to list {CDDL_PATH} at {commit}: HTTP {r.status}
AI-assisted analysis of SeleniumHQ/selenium@aa36b38e69 (2026-08-14).
Data as JSON: /api/errors/4446389ab35fe460.
Report an issue: GitHub.