SeleniumHQ/selenium · error · anyhow::Error

Linux arm64 is not supported yet by {}. Please try another b

Error message

Linux arm64 is not supported yet by {}. Please try another browser.

What it means

Returned by ChromeManager::request_latest_browser_version_from_online() on Linux ARM64 before any network request is made. Because Chrome-for-Testing has no Linux arm64 browser bundle, the function refuses to query the LATEST_VERSIONS_ENDPOINT. The browser_name is interpolated so the same message works for Chrome and Chrome-based browsers.

Source

Thrown at rust/src/chrome.rs:500

            if ARM64.is(arch) {
                "mac-arm64"
            } else {
                "mac-x64"
            }
        } else {
            "linux64"
        }
    }

    fn request_latest_browser_version_from_online(
        &mut self,
        _browser_version: &str,
    ) -> Result<String, Error> {
        let browser_name = self.browser_name;
        let os = self.get_os();
        let arch = self.get_arch();
        if LINUX.is(os) && ARM64.is(arch) {
            return Err(anyhow!(format!(
                "Linux arm64 is not supported yet by {}. Please try another browser.",
                browser_name
            )));
        }
        self.get_logger().trace(format!(
            "Using Chrome for Testing (CfT) endpoints to find out latest stable {} version",
            browser_name
        ));

        let latest_versions_url = self.create_cft_url_for_browsers(LATEST_VERSIONS_ENDPOINT);
        let versions_with_downloads =
            self.request_versions_from_online::<LatestVersionsWithDownloads>(&latest_versions_url)?;
        let stable_channel = versions_with_downloads.channels.stable;
        let chrome = stable_channel.downloads.chrome;

        let platform_url: Vec<&PlatformUrl> = chrome
            .iter()
            .filter(|p| p.platform.eq_ignore_ascii_case(self.get_platform_label()))

View on GitHub (pinned to aa36b38e69)

Solutions

  1. Provide Chrome manually via --browser-path and a matching driver via --driver-path on arm64 Linux.
  2. Run on x86_64 Linux or macOS ARM64 where CfT browser builds are available.
  3. Switch to Firefox which supports arm64 Linux.
  4. Disable online browser discovery and rely on a system-installed Chromium.
Defensive patterns

Strategy: validation

Validate before calling

# Bash: guard before letting Selenium Manager discover Chrome on arm64 Linux
if [ "$(uname -s)" = "Linux" ] && [ "$(uname -m)" = "aarch64" ]; then
  echo "Chrome browser discovery unsupported on Linux arm64"; exit 1
fi

Try / catch

if let Err(e) = chrome_manager.request_latest_browser_version_from_online("") {
    if e.to_string().contains("Linux arm64 is not supported yet by") {
        // fall back to a manually installed Chrome via --browser-path
        return configure_manual_browser();
    }
    return Err(e);
}

Prevention

When it happens

Trigger: Selenium Manager on Linux ARM64 tries to discover the latest Chrome browser version online. The LINUX.is(os) && ARM64.is(arch) guard at line 499 fires immediately, returning the error.

Common situations: arm64 Linux CI runners, Graviton/Apple-Silicon VMs, or embedded arm64 boards where Chrome for Testing is not distributed.

Related errors


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