What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
When Selenium headless Chrome stops working immediately after a Chrome update, first compare the major version of the Chrome binary with the ChromeDriver Selenium actually launches. A stale driver commonly produces session not created: This version of ChromeDriver only supports Chrome version 113. Update or remove the stale driver override, then investigate startup, headless flags, network access, and Linux dependencies only if the versions already match.
Use the error message to choose the right fix
| Symptom | First check | Then investigate |
|---|---|---|
only supports Chrome version … or session not created |
Compare Chrome and the selected ChromeDriver major versions. | Remove a stale explicit driver and allow Selenium Manager, or update and pin both versions. |
| ChromeDriver matches, but Chrome will not start | Verify the actual Chrome binary and its arguments. | Test the binary outside WebDriver; check the user account, installation and runtime libraries. |
| Selenium Manager reports DNS, TLS or download errors | Check firewall and proxy access. | Configure an approved proxy, including SE_PROXY, or provide drivers through your controlled build process. |
| Failure began after changing headless flags | Inspect --headless and --headless=new. |
Use a mode supported by the installed Chrome generation and change one variable at a time. |
1. Confirm which browser and driver are actually running
Read the complete exception before changing code. Selenium’s documented example is a browser that moved from major version 113 to 115 while a manually downloaded driver stayed at 113. Chrome and ChromeDriver must match at the major-version level.
Check Chrome’s installed version
Open Chrome and visit chrome://settings/help. On a machine without a graphical session, run the installed Chrome executable with its version option, using the path configured for your operating system. Record the full version, especially the major number.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsCheck ChromeDriver and its path
Run the driver executable selected by your job with its version option, or inspect the path configured in code. A driver found earlier on PATH, a hard-coded executable path, or a third-party manager can silently override the driver you just downloaded.
#1 Best Overall
Enable ChromeDriver logging and look for the Chrome binary path in chromedriver.log. Selenium Manager debug output can also show the detected browser and resolved driver locations. The important question is not “which driver did I install?” but “which executable did this process launch?”
Correct a major-version mismatch
- Update the selected ChromeDriver to the browser’s current major version, or remove the explicit driver path so Selenium Manager can resolve it.
- Delete or move stale copies that appear first on
PATH. - Run the smallest headless test again and save the browser, driver and Selenium versions in the job log.
Do not chase headless flags until this check passes. A flag cannot repair an incompatible driver protocol.
2. Let Selenium Manager manage a local browser
Selenium Manager is Selenium’s official driver manager and has shipped with Selenium releases since 4.6. It is a fallback: it runs when your code has not already supplied a driver. It detects the installed browser, resolves matching vendor metadata, downloads the driver and caches it locally.
Remove the override that prevents the fallback
Review your WebDriver construction for a manually supplied executable, a driver service object, a PATH entry, or another manager. Remove the stale explicit path where your environment permits Selenium Manager to work. Upgrade Selenium to a release containing Selenium Manager if your installation predates 4.6.
Rank #2
When to pin instead
For controlled CI, pairing a pinned Chrome (or Chrome for Testing) with a pinned driver gives reproducible builds. Selenium Manager can manage Chrome for Testing from Selenium 4.11.0, and its browserVersion option can select an available older release. Record both versions and update them together rather than allowing an unattended browser update to surprise a long-lived image.
Cache and metadata problems
Selenium Manager caches metadata with a default one-hour time-to-live. Clear its cache only when logs indicate stale metadata or a corrupted download. Cache deletion is not the first response to an ordinary major-version mismatch.
3. Use a supported headless mode
Driver compatibility and headless mode are separate issues. Chrome’s current documentation uses --headless. Older examples often use --headless=new; whether that is appropriate depends on the Chrome generation and Selenium binding you run.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Google documents that Chrome now has unified headless and headful modes. Since Chrome 132.0.6793.0, the old Headless implementation is available only as a separate chrome-headless-shell binary; regular Chrome uses the unified implementation. Remove obsolete switches copied from old tutorials, set one supported headless option, and test again. Change only one browser argument at a time so a rendering problem does not get confused with a driver mismatch.
Rank #3
4. Diagnose “Chrome doesn’t start or crashes immediately”
Launch the exact binary outside WebDriver
ChromeDriver recommends running the same Chrome binary from a normal user command prompt with the same special arguments used by the test. Confirm that binary path in the driver log. If it fails without Selenium, repair or reinstall Chrome before changing WebDriver code. This separates an operating-system problem from a WebDriver problem.
Check the account and installation
On Linux, running Chrome as root is a common crash cause. Use a regular user. --no-sandbox is an unsupported, highly discouraged workaround; do not make it a routine CI setting, and do not use it merely because a blog example includes it.
If only a background service fails, ChromeDriver notes that an installation for all users often fixes service-account visibility and permissions. Treat that as a targeted service diagnosis, not a universal repair.
Recommended Free Tools
Check Linux libraries
Chrome for Testing may fail when required system libraries are absent. Selenium documentation gives libatk-1.0.so.0 as an example and names libatk-bridge2.0-0 for its documented apt-based system. Package names differ by distribution: use the missing-library message and your distribution’s package documentation to install the equivalent dependency.
Rank #4
5. Fix Selenium Manager network failures
Selenium Manager must reach vendor metadata and download endpoints. A corporate firewall, DNS policy, TLS inspection or proxy can interrupt that process. If debug output shows connection, DNS or certificate errors, repair the network path instead of changing headless arguments.
- Permit the required vendor metadata and download hosts under your organization’s policy.
- Configure the approved proxy; Selenium Manager supports the
SE_PROXYenvironment variable. - In isolated CI, preinstall a matched browser-driver pair and disable assumptions that an internet download is available.
- Retain debug logs showing the detected browser, requested version, URL failure and cache location.
6. A repeatable recovery procedure
- Capture the full exception and enable driver or Selenium Manager debug logging.
- Record Chrome’s installed version, the ChromeDriver version and the executable paths actually selected.
- If major versions differ, remove stale overrides or install a matched pair.
- Run a minimal session with one supported headless flag.
- If startup still fails, launch the exact Chrome binary outside WebDriver under the same account and arguments.
- Check root/service-account use, installation visibility and missing Linux libraries.
- If Manager cannot resolve a driver, fix proxy, firewall or DNS access, or pin dependencies in the build.
- Only after a minimal session works, restore custom profiles, extensions, parallel workers and application-specific flags one at a time.
Manual management, Selenium Manager or pinned Chrome for Testing?
| Approach | Best fit | Trade-off |
|---|---|---|
| Manual driver path | Offline or tightly controlled hosts. | You own matching, updates and cleanup; stale paths commonly survive browser upgrades. |
| Selenium Manager | Developer machines and connected CI with ordinary installed Chrome. | It needs network access when metadata or downloads are not cached, and its fallback is bypassed by explicit drivers. |
| Pinned Chrome for Testing plus driver | Reproducible CI and release testing. | You must deliberately refresh the browser-driver pair and maintain the image. |
Common errors and targeted fixes
“This version of ChromeDriver only supports Chrome version N”
The selected driver is stale or the wrong executable is first on PATH. Compare major versions, remove the override or replace the selected executable, then retry.
Driver matches but the session still cannot start
Inspect the Chrome binary path and arguments in logs. Run that binary directly as the same user. Repair Chrome, correct service-account installation visibility, or install the missing operating-system library identified by the error.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Manager cannot download anything
Look for DNS, proxy, TLS or firewall errors. Configure SE_PROXY where required or use a pinned, preinstalled pair in a network-isolated job.
Best Value
Only headless mode fails
Remove obsolete flags and test the supported current mode for your Chrome generation. Remember that the old implementation is a separate shell from Chrome 132.0.6793.0 onward.
Or skip the browser setup
If your goal is a reliable image or PDF rather than maintaining Selenium, ScreenshotNeo provides a website screenshot API and MCP server. One request captures a URL as PNG, JPEG, WebP or PDF, with options for full-page lazy images, CSS selectors, device presets, retina scale, waits, custom JavaScript and CSS, cookies, headers, blocking, geolocation, caching, signed links, asynchronous jobs and bulk capture.
Its cleanup flow accepts consent banners and removes more than 60 known consent platforms, newsletter popups and chat widgets before capture; each step can be disabled. Bot checks, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing result. An MCP server exposes take_screenshot, get_page_info and capture_pdf to Claude, Cursor and other MCP clients.
See the ScreenshotNeo API documentation for parameters. A direct call is:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python:
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js:
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
The Free plan includes 1,000 screenshots each month with no card; paid plans start at $5 for 3,000. Create a free ScreenshotNeo account.
Frequently Asked Questions
Should I download ChromeDriver manually after every Chrome update?
Not necessarily. Let Selenium Manager select a matching driver when your environment allows it, or pin Chrome and ChromeDriver together in CI.
Is --no-sandbox the normal Linux fix?
No. ChromeDriver describes it as unsupported and highly discouraged; run Chrome as a regular user and fix the underlying account or dependency problem.
Why does a driver I updated still appear mismatched?
Another executable may be selected from PATH, an explicit service path, or a different manager. Logs reveal the executable Selenium actually launches.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

