SeleniumHQ/selenium · error · anyhow::Error
Linux arm64 is not supported yet by Google Chrome. Please tr
Error message
Linux arm64 is not supported yet by Google Chrome. Please try another browser.
What it means
Hard-failure in ChromeManager::get_driver_url() (the legacy URL-construction path) when the detected OS is Linux and the architecture is ARM64. Google does not publish a chromedriver build for Linux ARM64, so Selenium Manager refuses to fabricate a download URL. The message directs the user to a different browser.
Source
Thrown at rust/src/chrome.rs:423
let driver_version = self.get_driver_version();
let os = self.get_os();
let arch = self.get_arch();
let driver_label = if WINDOWS.is(os) {
"win32"
} else if MACOS.is(os) {
if ARM64.is(arch) {
// As of chromedriver 106, the naming convention for macOS ARM64 releases changed. See:
// https://groups.google.com/g/chromedriver-users/c/JRuQzH3qr2c
if major_driver_version < 106 {
"mac64_m1"
} else {
"mac_arm64"
}
} else {
"mac64"
}
} else if LINUX.is(os) && ARM64.is(arch) {
return Err(anyhow!(
"Linux arm64 is not supported yet by Google Chrome. Please try another browser."
));
} else {
"linux64"
};
Ok(format!(
"{}{}/{}_{}.zip",
self.get_driver_mirror_url_or_default(DRIVER_URL),
driver_version,
self.driver_name,
driver_label
))
}
fn get_driver_path_in_cache(&self) -> Result<PathBuf, Error> {
Ok(compose_driver_path_in_cache(
self.get_cache_path()?.unwrap_or_default(),
self.driver_name,View on GitHub (pinned to aa36b38e69)
Solutions
- Switch the test target to an x86_64 Linux environment where chromedriver linux64 builds exist.
- Use a Chromium/Chrome build that ships for arm64 and a compatible chromedriver via an external driver path (--driver-path).
- Run on macOS ARM64 (M-series), where mac_arm64 chromedriver builds are available.
- Use Firefox (geckodriver has arm64 support) as the browser instead.
Defensive patterns
Strategy: validation
Validate before calling
# Bash: detect arm64 Linux before invoking Selenium Manager for Chrome if [ "$(uname -s)" = "Linux" ] && [ "$(uname -m)" = "aarch64" ]; then echo "Chrome/chromedriver unavailable on Linux arm64; use Firefox"; exit 1 fi
Try / catch
match selenium_manager.run() {
Ok(path) => path,
Err(e) if e.to_string().contains("Linux arm64 is not supported yet by Google Chrome") => {
eprintln!("Switch to a supported platform or use Firefox on arm64 Linux");
std::process::exit(1);
}
Err(e) => return Err(e),
} Prevention
- Run tests on x86_64 Linux or macOS ARM64 for Chrome.
- Detect arm64 Linux in CI matrix setup and skip/select appropriate browsers.
- Prefer Firefox when arm64 Linux is mandatory.
When it happens
Trigger: Selenium Manager runs on Linux aarch64/arm64 and falls into the driver-URL builder that has no linux_arm64 branch (only linux64). The LINUX.is(os) && ARM64.is(arch) guard at line 422 trips before any network call.
Common situations: Running tests inside an arm64 Docker container (e.g. Apple Silicon-hosted Linux VMs, AWS Graviton); CI on ARM64 Linux workers expecting Chrome; Raspberry Pi clusters.
Related errors
- Linux arm64 is not supported yet by {}. Please try another b
- Linux arm64 is not supported yet by Microsoft Edge. Please t
- Linux arm64 is not supported yet by {}. Please try another b
- Unsupported platform/architecture combination: {sys.platform
- {} {} not available for download on {} (minimum version: {})
AI-assisted analysis of SeleniumHQ/selenium@aa36b38e69 (2026-08-14).
Data as JSON: /api/errors/2e4cd66389df5305.
Report an issue: GitHub.