npm / @wdio/cli
@wdio/cli
What changed in @wdio/cli 9 to 10, from its official release notes, upgrade guides and advisories. Also covers @wdio/local-runner, @wdio/mocha-framework. Sources checked 2026-10-18.
8 breaking3 new APIs and options2 performance1 tooling21 fixes and other
See which of these apply to your code, ranked, in your agent:
npx @unstale/cli init@wdio/cli 109 changes
Breaking changes 8
Appium 3 is required, and Appium 1/2 HTTP fallbacks are dropped.
Unprefixed capability specs and exclude are dropped; use the prefixed capability configuration instead.
The Cucumber framework upgrades @cucumber/cucumber to 13, which may require adapting existing framework usage.
Deprecated config globals and reporter APIs are removed, so configurations relying on them need updating.
Remaining JSON Wire Protocol leftovers are dropped; legacy protocol configuration and usage are no longer supported.
JSONWP Appium capabilities and the mobile getValue fallback are dropped.
Multiremote naming is aligned to multi-remote / multiRemote, requiring updates to older naming.
The minimum supported Node.js version is 22.19.0.
Performance 1
Testrunner hot paths were optimized, with gains measured in the mock benchmark.
@wdio/cli 926 changes
New APIs and options 3
Supports using CHROMEDRIVER_CDNURL to configure custom ChromeDriver mirrors.
BrowserStack service adds one-to-many Test-Case-ID tagging.
Allows --exclude to exclude suites by name.
Performance 1
Improves selector performance in the Appium service.
Tooling 1
Added support for CPU and heap profiling.
Fixes and other changes 21
Signal-terminated workers now cause the CLI to report a non-zero exit code.
Fixes EdgeDriver upgrade accounting when the browser version is missing a corresponding driver architecture.
Restores nested and Shadow DOM scrolling in scrollIntoView.
The WebDriver Bidi response timeout is configurable, allowing developers to adjust the timeout.
BrowserStack routes App Automate sessions from the WDIO CLI flow to app-accessibility.
BrowserStack service skips accessibility scans for BiDi window and context commands.
BrowserStack service finalizes orphaned test runs when the process exits interrupted.
BrowserStack service now reports Mocha hooks in the CLI/testhub flow.
BiDi skips the isConnected check for non-shadow element scopes.
Fixes the logger’s CommonJS compliance, improving compatibility for developers using it from CommonJS code.
Fixes mobile command argument mismatches for Appium 3 compatibility.
Log file prefixes now include the spec file name.
Fixes handling of dynamic specs added in onPrepare.
Allows specFileRetries to be overridden in the beforeSession hook.
Fixes which files are watched by the watcher.
Fixes an issue that caused the CLI to load the config file twice.
Corrects the parallel multiremote check when capabilities are empty.
Fixes an issue with the timing of TSX file loading in the CLI.
The CLI now respects maxInstancesPerCapability for dynamic capabilities.
The tsConfigPath setting in wdio.conf was reverted.
Fixed wdio repl when run with multiremote capabilities.