{"record":{"id":"dbb2dfd18b21ac4a","repo":"SeleniumHQ/selenium","slug":"unsupported-platform-architecture-combination-sy","errorCode":null,"errorMessage":"Unsupported platform/architecture combination: {sys.platform}/{arch}","messagePattern":"Unsupported platform/architecture combination: (.+?)/(.+?)","errorType":"exception","errorClass":"WebDriverException","httpStatus":null,"severity":"critical","filePath":"py/selenium/webdriver/common/selenium_manager.py","lineNumber":117,"sourceCode":"            # some operating systems report x86-64 architecture as amd64/AMD64\n            platform_name = sys.platform\n            arch = \"any\" if platform_name == \"darwin\" else platform.machine().lower()\n            arch = \"x86_64\" if arch == \"amd64\" else arch\n\n            # in Python < 3.14, sys.platform appends version number to BSD platform names\n            if platform_name.startswith(\"freebsd\"):\n                logger.warning(\n                    \"Selenium Manager binary may not be compatible with FreeBSD; you may need to run \"\n                    \"'brandelf -t linux' on it and load linux64.ko\"\n                )\n                platform_name = \"freebsd\"\n            elif platform_name.startswith(\"openbsd\"):\n                logger.warning(\"Selenium Manager binary may not be compatible with OpenBSD; verify settings\")\n                platform_name = \"openbsd\"\n\n            location = allowed.get((platform_name, arch))\n            if location is None:\n                raise WebDriverException(f\"Unsupported platform/architecture combination: {sys.platform}/{arch}\")\n\n            path = Path(__file__).parent.joinpath(location)\n\n        if path is None or not path.is_file():\n            raise WebDriverException(f\"Unable to obtain working Selenium Manager binary; {path}\")\n\n        logger.debug(f\"Selenium Manager binary found at: {path}\")\n\n        return path\n\n    @staticmethod\n    def _run(args: list[str]) -> dict:\n        \"\"\"Executes the Selenium Manager Binary.\n\n        Args:\n            args: the components of the command being executed.\n\n        Returns:","sourceCodeStart":99,"sourceCodeEnd":135,"githubUrl":"https://github.com/SeleniumHQ/selenium/blob/aa36b38e696a0909e973bdf5e2f9031ffe842c4b/py/selenium/webdriver/common/selenium_manager.py#L99-L135","documentation":"Raised by SeleniumManager._get_binary() when the running OS/architecture pair is not in the hardcoded 'allowed' table of bundled Selenium Manager binaries. The table only covers darwin (any arch), win32/cygwin (x86_64), and linux/freebsd/openbsd (x86_64). The library cannot locate a manager binary for any other combination and has no fallback, so driver auto-management fails before any browser launches.","triggerScenarios":"Running on an unsupported platform such as Linux aarch64/arm64, Windows ARM64, or any non-x86_64 Linux/BSD. The error fires only when neither the SE_MANAGER_PATH env var nor a compiled local binary is present, forcing the code into the allowed-dict lookup at selenium_manager.py:115.","commonSituations":"CI on ARM64 GitHub Actions runners or Apple Silicon under Rosetta-less Python, Docker images built on arm64v8 base images, Raspberry Pi, and any corporate-locked Windows ARM device. Also triggered after a partial/corrupt pip install that omits the platform subfolder.","solutions":["Set SE_MANAGER_PATH to an absolute path of a selenium-manager binary you compiled or downloaded for your platform: export SE_MANAGER_PATH=/usr/local/bin/selenium-manager","Build the Rust selenium-manager binary from source (see rust/ directory) targeting your platform and let it be found via the compiled_path check.","Run on a supported x86_64/amd64 or darwin host, or use an x86_64 Docker image.","If on darwin, confirm platform.machine() is not empty; darwin uses arch 'any' so any Apple Silicon Mac works once sys.platform is 'darwin'."],"exampleFix":"// before (running on linux aarch64 with no env var)\n//   -> WebDriverException: Unsupported platform/architecture combination: linux/aarch64\n\n# after — point to a prebuilt/compiled binary\nexport SE_MANAGER_PATH=/opt/selenium-manager/selenium-manager","handlingStrategy":"validation","validationCode":"import sys, platform\n_SUPPORTED = {('darwin','any'),('win32','x86_64'),('cygwin','x86_64'),('linux','x86_64'),('freebsd','x86_64'),('openbsd','x86_64')}\nname = sys.platform\narch = 'any' if name == 'darwin' else platform.machine().lower()\narch = 'x86_64' if arch == 'amd64' else arch\nif name.startswith('freebsd'): name = 'freebsd'\nelif name.startswith('openbsd'): name = 'openbsd'\nif (name, arch) not in _SUPPORTED and not os.getenv('SE_MANAGER_PATH'):\n    raise SystemExit('Set SE_MANAGER_PATH to a selenium-manager binary for this platform')","typeGuard":"null","tryCatchPattern":"from selenium.common.exceptions import WebDriverException\ntry:\n    driver = webdriver.Chrome()\nexcept WebDriverException as e:\n    if 'Unsupported platform/architecture' in str(e):\n        # set SE_MANAGER_PATH or build the binary\n        ...","preventionTips":["Pin SE_MANAGER_PATH in CI to a known-good binary for your runner architecture.","Document supported platforms in your deployment runbook.","Run CI on the same architecture as production."],"tags":["platform","selenium-manager","arm64","driver-management","environment"],"backgroundTag":null,"analyzedSha":"aa36b38e696a0909e973bdf5e2f9031ffe842c4b","analyzedAt":"2026-08-14T02:32:32.244Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}