{"record":{"id":"d0b2e7031a4a1ac1","repo":"SeleniumHQ/selenium","slug":"unable-to-discover-in-online-repository","errorCode":null,"errorMessage":"Unable to discover {}{} in online repository","messagePattern":"Unable to discover (.+?)(.+?) in online repository","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"rust/src/lib.rs","lineNumber":1367,"sourceCode":"    where\n        Self: Sized,\n    {\n        let browser_version = self.get_browser_version();\n        let browser_version_label = if browser_version.is_empty() {\n            \"\".to_string()\n        } else {\n            format!(\" {}\", browser_version)\n        };\n        let mut message = format_two_args(\n            error_message,\n            self.get_browser_name(),\n            &browser_version_label,\n        );\n        let versions_url = self.get_browser_versions_url();\n        if !versions_url.is_empty() {\n            message = format!(\"{}. Check available versions at {}\", message, versions_url);\n        }\n        Err(anyhow!(message))\n    }\n\n    // ----------------------------------------------------------\n    // Getters and setters for configuration parameters\n    // ----------------------------------------------------------\n\n    fn get_os(&self) -> &str {\n        self.get_config().os.as_str()\n    }\n\n    fn set_os(&mut self, os: String) {\n        if !os.is_empty() {\n            self.get_config_mut().os = os;\n        }\n    }\n\n    fn get_arch(&self) -> &str {\n        self.get_config().arch.as_str()","sourceCodeStart":1349,"sourceCodeEnd":1385,"githubUrl":"https://github.com/SeleniumHQ/selenium/blob/aa36b38e696a0909e973bdf5e2f9031ffe842c4b/rust/src/lib.rs#L1349-L1385","documentation":"Produced by throw_error_message() with the ONLINE_DISCOVERY_ERROR_MESSAGE constant (\"Unable to discover {}{} in online repository\"). The first placeholder is the browser name, the second the version label (e.g. \" 116\"); the versions URL is appended so the user can check what exists. It is raised via unavailable_discovery() in the Edge and Firefox managers when the requested version cannot be found online.","triggerScenarios":"unavailable_discovery() is called by Edge (edge.rs:459/487/495/508) or Firefox (firefox.rs:497/515) when version discovery against the online repository yields no matching build for the requested browser version.","commonSituations":"Pinning a browser version that was never published; an old version removed from the CDN; a version that exists for some OS/arch but not the requested combination; very new version not yet mirrored.","solutions":["Open the versions URL printed in the message and pick a version that is actually listed.","Omit the pinned browser version to let Selenium Manager pick the latest available.","Match the requested version to a published driver for your OS/architecture."],"exampleFix":"# before\nselenium-manager --browser firefox --browser-version 130.0   # not in online repo\n# after\nselenium-manager --browser firefox --browser-version 129.0   # confirmed in versions URL","handlingStrategy":"validation","validationCode":"// Validate the pinned version against the repository before requesting it\nlet available = fetch_versions_list(browser, os, arch)?;\nif !available.contains(&desired_version) {\n    return Err(anyhow!(\"{desired_version} not in online repository; available: {available:?}\"));\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Cross-check the pinned version against the versions URL printed in the error.","Prefer omitting the version pin to get the latest available build.","Match the version to a build that ships for your OS/arch."],"tags":["version-discovery","online-repository","selenium-manager"],"backgroundTag":null,"analyzedSha":"aa36b38e696a0909e973bdf5e2f9031ffe842c4b","analyzedAt":"2026-08-14T02:32:32.244Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}