{"record":{"id":"6756ea3a757dcccc","repo":"SeleniumHQ/selenium","slug":"linux-arm64-is-not-supported-yet-by-microsoft-edge","errorCode":null,"errorMessage":"Linux arm64 is not supported yet by Microsoft Edge. Please try another browser.","messagePattern":"Linux arm64 is not supported yet by Microsoft Edge\\. Please try another browser\\.","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"rust/src/edge.rs","lineNumber":324,"sourceCode":"        Ok(None)\n    }\n\n    fn get_driver_url(&mut self) -> Result<String, Error> {\n        let driver_version = self.get_driver_version();\n        let os = self.get_os();\n        let arch = self.get_arch();\n        let driver_label = if WINDOWS.is(os) {\n            if ARM64.is(arch) {\n                \"arm64\"\n            } else if X32.is(arch) {\n                \"win32\"\n            } else {\n                \"win64\"\n            }\n        } else if MACOS.is(os) {\n            if ARM64.is(arch) { \"mac64_m1\" } else { \"mac64\" }\n        } else if LINUX.is(os) && ARM64.is(arch) {\n            return Err(anyhow!(\n                \"Linux arm64 is not supported yet by Microsoft Edge. Please try another browser.\"\n            ));\n        } else {\n            \"linux64\"\n        };\n        Ok(format!(\n            \"{}{}/edgedriver_{}.zip\",\n            self.get_driver_mirror_url_or_default(DRIVER_URL),\n            driver_version,\n            driver_label\n        ))\n    }\n\n    fn get_driver_path_in_cache(&self) -> Result<PathBuf, Error> {\n        Ok(compose_driver_path_in_cache(\n            self.get_cache_path()?.unwrap_or_default(),\n            self.driver_name,\n            self.get_os(),","sourceCodeStart":306,"sourceCodeEnd":342,"githubUrl":"https://github.com/SeleniumHQ/selenium/blob/aa36b38e696a0909e973bdf5e2f9031ffe842c4b/rust/src/edge.rs#L306-L342","documentation":"Hard-failure in EdgeManager::get_driver_url() (driver-URL builder) when OS is Linux and architecture is ARM64. Microsoft does not publish an edgedriver build for Linux arm64, so Selenium Manager refuses to build a download URL. The message is Edge-specific and suggests an alternative browser.","triggerScenarios":"Selenium Manager on Linux ARM64 attempts to construct the edgedriver_<version>_<label>.zip URL. The LINUX.is(os) && ARM64.is(arch) guard at line 323 trips; there is no linux_arm64 label branch, only linux64.","commonSituations":"arm64 Linux CI (Graviton, Apple-Silicon Linux VMs); embedded arm64 boards where Microsoft Edge is unavailable; misdetected arch reporting aarch64 on a Linux host.","solutions":["Run on x86_64 Linux, Windows, or macOS where edgedriver builds exist.","Switch to Chrome or Firefox which have broader arm64 coverage.","Provide edgedriver manually via --driver-path if you have an arm64-compatible build.","Verify the detected architecture is correct (check SE_ARCH / os detection)."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"# Bash: guard against arm64 Linux before Selenium Manager builds Edge driver URL\nif [ \"$(uname -s)\" = \"Linux\" ] && [ \"$(uname -m)\" = \"aarch64\" ]; then\n  echo \"edgedriver unavailable on Linux arm64\"; exit 1\nfi","typeGuard":null,"tryCatchPattern":"match edge_manager.get_driver_url() {\n    Ok(u) => u,\n    Err(e) if e.to_string().contains(\"Linux arm64 is not supported yet by Microsoft Edge\") => {\n        eprintln!(\"Run Edge on x86_64 Linux, Windows, or macOS\");\n        std::process::exit(1);\n    }\n    Err(e) => return Err(e),\n}","preventionTips":["Avoid arm64 Linux for Microsoft Edge automation.","Select browsers based on detected platform in the CI matrix.","Use Firefox as an arm64 Linux alternative."],"tags":["rust","selenium-manager","edge","linux","arm64","platform"],"backgroundTag":null,"analyzedSha":"aa36b38e696a0909e973bdf5e2f9031ffe842c4b","analyzedAt":"2026-08-14T02:32:32.244Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}