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
- 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.
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
- 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.
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
- {}{} not available for download
- Unable to obtain browser driver. For more informatio
- Unable to obtain Selenium Manager at ${filePath}
- Error executing command for ${smBinary} with ${args}: ${erro
- Error executing command for ${smBinary} with ${args}: ${e.to
AI-assisted analysis of SeleniumHQ/selenium@aa36b38e69 (2026-08-14).
Data as JSON: /api/errors/d0b2e7031a4a1ac1.
Report an issue: GitHub.