SeleniumHQ/selenium · error · anyhow::Error

Unable to discover {}{} in online repository

Error message

Unable to discover {}{} in online repository

What it means

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.

Source

Thrown at rust/src/lib.rs:1367

    where
        Self: Sized,
    {
        let browser_version = self.get_browser_version();
        let browser_version_label = if browser_version.is_empty() {
            "".to_string()
        } else {
            format!(" {}", browser_version)
        };
        let mut message = format_two_args(
            error_message,
            self.get_browser_name(),
            &browser_version_label,
        );
        let versions_url = self.get_browser_versions_url();
        if !versions_url.is_empty() {
            message = format!("{}. Check available versions at {}", message, versions_url);
        }
        Err(anyhow!(message))
    }

    // ----------------------------------------------------------
    // Getters and setters for configuration parameters
    // ----------------------------------------------------------

    fn get_os(&self) -> &str {
        self.get_config().os.as_str()
    }

    fn set_os(&mut self, os: String) {
        if !os.is_empty() {
            self.get_config_mut().os = os;
        }
    }

    fn get_arch(&self) -> &str {
        self.get_config().arch.as_str()

View on GitHub (pinned to aa36b38e69)

Solutions

  1. Open the versions URL printed in the message and pick a version that is actually listed.
  2. Omit the pinned browser version to let Selenium Manager pick the latest available.
  3. Match the requested version to a published driver for your OS/architecture.

Example fix

# before
selenium-manager --browser firefox --browser-version 130.0   # not in online repo
# after
selenium-manager --browser firefox --browser-version 129.0   # confirmed in versions URL
Defensive patterns

Strategy: validation

Validate before calling

// Validate the pinned version against the repository before requesting it
let available = fetch_versions_list(browser, os, arch)?;
if !available.contains(&desired_version) {
    return Err(anyhow!("{desired_version} not in online repository; available: {available:?}"));
}

Prevention

When it happens

Trigger: 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.

Common situations: 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.

Related errors


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