Skip to content
Latchkey

WebdriverIO "@wdio/cli Couldn't find the driver binary" in CI

WebdriverIO's local runner resolves a driver (via the @wdio/utils driver manager) before launching browser sessions. If the driver cannot be found or downloaded on the runner, @wdio/cli logs that it could not find the driver binary and the run aborts.

What this error means

wdio aborts at startup with "ERROR @wdio/cli: Couldn't find the driver binary" or a driver-manager download error, before any spec runs.

webdriverio
ERROR @wdio/cli:utils: Couldn't find the driver binary for chrome.
ERROR @wdio/local-runner: Failed launching session: Unable to download driver

Common causes

The driver download was blocked or failed

A proxy, an offline runner, or a transient network failure stopped the driver manager from fetching the matching driver.

No matching driver for the installed browser

The browser version on the runner has no driver published yet, or the resolver could not map browser to driver.

How to fix it

Install the browser and let wdio manage the driver

  1. Ensure a stable Chrome/Firefox is installed on the runner.
  2. Keep @wdio/cli and the driver manager current so they resolve recent browsers.
  3. Re-run so the driver downloads for the installed browser.
.github/workflows/ci.yml
- uses: browser-actions/setup-chrome@v1
  with:
    install-chromedriver: true
- run: npx wdio run wdio.conf.js

Allow the driver download through your proxy

If a proxy blocks the download, set the proxy env vars the driver manager honours so the binary can be fetched.

.github/workflows/ci.yml
env:
  HTTP_PROXY: http://proxy.internal:8080
  HTTPS_PROXY: http://proxy.internal:8080

How to prevent it

  • Install a stable browser before running wdio so the driver maps cleanly.
  • Keep @wdio packages current to support recent browser versions.
  • Configure proxy env vars when the runner cannot reach driver download hosts.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →