Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsA Puppeteer UnsupportedOperation error means the method you called is not supported by the protocol currently controlling the browser. Check the failing method and options, the browser and Puppeteer version, and whether the session uses Chrome DevTools Protocol (CDP) or WebDriver BiDi. The browser may be working normally; the mismatch is often between the operation and the selected protocol.
What the error means
Puppeteer’s API reference defines UnsupportedOperation as an error thrown when a method is not supported by the protocol in use. The class alone does not identify which method, option, browser, or protocol caused the problem. Start with the call that failed and the complete stack trace. See the UnsupportedOperation API reference.
As an Amazon Associate I earn from qualifying purchases.
Puppeteer supports both CDP and WebDriver BiDi, but their feature sets are not identical. A method name being available in Puppeteer does not guarantee that every browser protocol supports it, or that every option accepted by the method works over that protocol.
Check which browser and protocol are in use
The default protocol differs by browser: Puppeteer uses WebDriver BiDi by default for Firefox and CDP by default for Chrome. Chrome can also be launched with BiDi explicitly selected, which may expose a capability gap if the script relies on an operation available through CDP. The WebDriver BiDi guide documents the configuration and current support information.
#1 Best Overall
Record the exact Puppeteer package version from your project’s dependency lockfile or package manager, rather than assuming the latest documentation matches your installation. Protocol support can change between versions, and the project’s main documentation may move independently of a particular installed release.
Diagnose the failing operation
- Capture the failure details. Note the exact method call, its options, the full error message, and the stack trace. Include the code that selects or launches the browser.
- Identify the environment. Record whether you use Chrome or Firefox, the installed Puppeteer version, and whether a protocol was explicitly configured. If no override was made, account for the browser-specific defaults.
- Check the support matrix. Search the BiDi guide’s unsupported-feature list and supported-operation notes for the method and the particular options you pass. A method may be supported while an option or related API is not.
- Choose a compatible route. If the operation requires CDP, use a compatible Chrome/CDP setup where appropriate, or redesign that part of the task around an operation supported by your current protocol. There is not necessarily an equivalent alternative for every protocol-specific API.
- Verify unexpected failures. If the exact operation and options are documented as supported for your setup, reduce the script to a small reproduction and report the browser, protocol, Puppeteer version, call, and complete stack in the Puppeteer issue tracker.
Examples of protocol capability failures
Timezone emulation in a Firefox report
A historical report describes Page.emulateTimezone() failing on Firefox under WebDriver BiDi because the operation required CDP, which that browser session did not support. It listed Puppeteer 23.9.0 and Node 20.18.0 on Windows and was closed as “not planned.” This illustrates the kind of mismatch to investigate; it does not establish that every current Firefox/Puppeteer combination behaves the same way. See Puppeteer issue #13344.
Rank #2
Request post data in a Firefox report
A report opened September 29, 2025 describes an UnsupportedOperation from BidiHTTPRequest.postData while using Firefox. The report does not establish the current implementation status or a definitive fix, so check the support documentation for your installed version before treating it as a present-day limitation. See Puppeteer issue #14259.
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 →Clear out junk files and repair common Windows errorsFree Scan →What to do when the feature is not supported
- Use CDP if the feature requires it and your browser setup allows it. Chrome uses CDP by default; avoid explicitly switching it to BiDi when the script depends on a CDP-only capability.
- Keep BiDi and change the task only when there is a supported alternative. Check the guide for the precise operation and any documented caveats. Do not assume a similarly named method is a drop-in replacement.
- Separate protocol-specific work. If a workflow mixes supported cross-browser actions with a protocol-specific operation, isolate the latter so you can decide whether to run it through a compatible browser/protocol or omit/adapt that step.
- Escalate a documented-support mismatch with evidence. Provide a minimal reproduction and exact versions rather than relying on an old issue report as proof of current behavior.
Common troubleshooting mistakes
- Assuming the browser is broken: this error points first to protocol support for the method, not a general browser failure.
- Checking only the method name: inspect the options too; protocol support can have parameter-level restrictions.
- Forgetting an explicit protocol override: a Chrome session configured for BiDi does not use Chrome’s CDP default.
- Applying an old issue as a universal rule: reports are tied to specific versions and configurations. Verify against the current guide and your installed version.
- Inventing a fallback: some operations are protocol-specific and may have no equivalent. Confirm a documented alternative before changing code around it.
Or skip the browser setup
If your goal is simply to get a website screenshot rather than automate a browser interaction, ScreenshotNeo offers a one-request screenshot API:
Rank #3
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo documentation for API options. Cookie banners are accepted and removed before capture, along with known newsletter popups and chat widgets; these steps can be turned off. Bot checks, blank pages, failed loads and cache hits are not billed, and response headers identify the page verdict and billing status. An MCP server lets AI agents use screenshot and page-information tools. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000.
Sign up for 1,000 free screenshots a month, with no card required.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Frequently Asked Questions
Does an UnsupportedOperation error mean Puppeteer itself is broken?
No. It indicates the current protocol does not support the method being called; inspect the browser, protocol, method, options, and installed version.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Rank #4
Does every Puppeteer method work on both CDP and WebDriver BiDi?
No. Puppeteer documents unsupported operations and restrictions for BiDi, and support may differ by method and option.
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.




