Skip to content
Selenium WebDriver · error message

Selenium: This version of ChromeDriver only supports Chrome version N

ConfigurationDrivers & browser start-up

Last verified

The exact message
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 114 Current browser version is 131.0.6778.86 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#sessionnotcreatedexception

What it means

ChromeDriver and Chrome must share the same major version. This message means the driver Selenium launched was built for one major version (the number after only supports Chrome version) and the browser it found is another (Current browser version is). The session is refused before any page opens.

It usually appears after Chrome auto-updates while an old chromedriver binary stays behind: one checked into a repository, installed by a package manager, sitting earlier on PATH, or passed explicitly through Service(executable_path=...). Since Selenium 4.6, Selenium Manager can download the matching driver automatically, but only when you do not override it with your own path or an outdated driver on PATH.

What is not wrong: your test code. Any script fails the same way until versions match.

What it looks like

# Selenium 4.6+: no driver path needed; Selenium Manager matches the driver
from selenium import webdriver

options = webdriver.ChromeOptions()
# Optional: pin a Chrome for Testing version for reproducible CI
# options.browser_version = "131"
driver = webdriver.Chrome(options=options)
print(driver.capabilities["browserVersion"],
      driver.capabilities["chrome"]["chromedriverVersion"])
driver.quit()

Why it happens

  • Chrome updated itself and the chromedriver on disk is now one or more major versions behind.
  • A hard-coded Service(executable_path=...) points to an old driver, bypassing Selenium Manager.
  • A stray chromedriver on PATH (from npm, Homebrew, apt or an old download) is picked up first.
  • An outdated Selenium version predates Selenium Manager, or a driver manager library cached an old driver.
  • The driver is newer than the browser, for example on a CI image with an older pinned Chrome.

How to fix it

  1. Upgrade Selenium (pip install -U selenium or the latest Java/JS binding) and remove explicit driver paths so Selenium Manager resolves the matching driver.
  2. Find and delete stale drivers on PATH: which -a chromedriver (macOS/Linux) or where chromedriver (Windows).
  3. If you must manage drivers yourself, download the matching ChromeDriver from the Chrome for Testing availability dashboard.
  4. In CI, pin both: install a specific Chrome for Testing version and its matching ChromeDriver, or set options.browser_version and let Selenium Manager fetch both.
  5. Re-run and check driver.capabilities['browserVersion'] and driver.capabilities['chrome']['chromedriverVersion'] match.

How to stop it recurring

Let Selenium Manager handle drivers and keep the Selenium package current. Never commit driver binaries to a repository. In CI, pin the browser version explicitly so browser and driver change together, and add a smoke test that starts and quits a session before the real suite runs.

Official documentation: www.selenium.dev/documentation/webdriver/troubleshooting/errors/#sessionnotcreatedexception. See all Selenium error messages.

Related errors

Definitions

Quick answers

What does "This version of ChromeDriver only supports Chrome version N" mean in Selenium?

ChromeDriver and Chrome must share the same major version. This message means the driver Selenium launched was built for one major version (the number after only supports Chrome version ) and the browser it found is another ( Current browser version is ). The session is refused before any page opens.

How do I fix "This version of ChromeDriver only supports Chrome version N"?

1. Upgrade Selenium (pip install -U selenium or the latest Java/JS binding) and remove explicit driver paths so Selenium Manager resolves the matching driver. 2. Find and delete stale drivers on PATH: which -a chromedriver (macOS/Linux) or where chromedriver (Windows). 3. If you must manage drivers yourself, download the matching ChromeDriver from the Chrome for Testing availability dashboard. 4. In CI, pin both: install a specific Chrome for Testing version and its matching ChromeDriver, or set options.browser_version and let Selenium Manager fetch both. 5. Re-run and check…

Run browser automation you can watch and take over

Autonoly runs each job in a real cloud Chromium browser driven by Playwright. Timeouts and detached elements still happen; the difference is that you can watch the run live, see the step that failed, and take control of the browser to finish it.

Also see Live browser control.