Puppeteer browser folder exists but executable is missing
The browser's cache folder exists, but its expected executable is missing.
A go-to reference for fixing Puppeteer launch failures, browser issues, timeout errors, and runtime edge cases.
The browser's cache folder exists, but its expected executable is missing.
The expected Chrome build is absent from the configured Puppeteer cache.
The frame being used was removed or replaced.
Chrome build comparison received a release label instead of a numeric dotted build identifier.
The selected node has no clickable element box.
A request receives a second interception resolution.
Browser startup did not publish the expected WebSocket endpoint before the launch deadline.
A raw --user-data-dir argument lacks the expected equals-sign value.
The browser-cache metadata JSON is not an object.
mouse.down is called for a button already held down.
mouse.up is called for a button not currently held down.
Screenshot options contain both clip and fullPage.
Screenshot clip height is zero or negative.
Screenshot clip width is zero or negative.
Chrome build resolution receives a Firefox-only tag such as nightly/devedition/esr.
Chrome headless shell receives an unavailable Firefox-only build tag.
ChromeDriver build resolution receives an unavailable Firefox-only tag.
Firefox build resolution receives an unavailable canary/dev tag.
Chromium build resolution receives a tag other than its supported latest policy.
Screenshot quality is supplied for PNG or another unsupported output type.
A DisposableStack has already been disposed or moved, so it cannot accept new resources.
The download URL does not yield an archive filename.
Every configured browser download provider failed.
WebDriver BiDi rejects the allowAndName download policy.
The BiDi permission mapping does not implement allowWithoutSanitization.
A cookie lacks both a URL and a domain for its target.
The browser-side custom selector has neither queryOne nor queryAll.
A custom query handler registration has neither queryOne nor queryAll.
BiDi screenshots reject fromSurface: false.
BiDi screenshots reject omitBackground: true.
BiDi screenshots reject optimizeForSpeed: true.
The BiDi screenshot clip scale is not 1.
The BiDi cookie conversion accepts a string domain partition key, not an unsupported key shape.
A cookie cannot target `about:blank`. This error can occur with both CDP and WebDriver BiDi.
Browser allowlist/blocklist options are requested outside CDP.
Both a debugging port and pipe transport are configured.
The browser-level target is absent from Puppeteer's target registry.
The configured executablePath does not exist in the runtime filesystem.
A target has no initialized BrowserContext association.
A dialog was already accepted or dismissed before another accept call.
A file chooser was already accepted or cancelled.
A DOM node handle is being adopted into a worker realm.
The device prompt has already been handled before cancel.
A file chooser has already completed before cancel.
The device prompt's CDP session was detached.
The internal query handler has neither querySelector nor a querySelectorAll fallback.
The internal query handler has neither querySelectorAll nor a querySelector fallback.
The browser installer cannot map the current OS/CPU pair to a supported binary platform.
A dialog was already handled before dismiss.
The installer has no supported browser binary for the detected platform.
String evaluation is supplied with additional arguments.
An internal remote-object operation requires an objectId but received none.
An internal value-extraction path received an object reference where a by-value result was expected.
The mounted macOS browser image contains no expected .app bundle.
focus is called on a node that is not an HTMLElement.
A numeric polling interval is negative.
A custom query handler name is already registered.
Device selection is attempted through a detached CDP session.
The device request prompt was already resolved before select.
The chosen device object is not one of this prompt's known devices.
sendCharacter receives more than one Unicode code point.
Puppeteer launch or connect options cannot specify both a URL blocklist and a URL allowlist.
Tracing is started while another trace is already recording.
unregisterCustomQueryHandler receives a name that is not registered.
Waiting for a device prompt uses a detached session.
A requested feature needs CDP but the current browser/protocol has no CDP bridge.
Target.attachToTarget returned a session that Puppeteer cannot find in its registry.
A CDP-only internal path received a different CDPSession implementation.
Firefox's version metadata has no entry for the requested channel.
Mouse click count is zero or negative.
The BiDi request body collector encountered a data item type it cannot represent.
Firefox is connected with CDP, whose Firefox support was removed.
A command is sent after the underlying connection closed.
PDF stream conversion did not produce a typed array.
Executable resolution cannot detect a supported browser platform.
Connecting by channel cannot find the running profile's DevToolsActivePort file.
The expected Firefox build is absent from the configured cache.
No Google Chrome executable exists at the searched channel locations.
The macOS DMG attach result does not contain a volume mount path.
The response body is unavailable for the protocol request ID; a preflight is one possible case.
A browser metadata/download endpoint returned data that could not be parsed as JSON.
A required browser platform could not be resolved.
A referenced browser object cannot be serialized into a Node.js value.
CSS coverage is started while it is already enabled.
CSS coverage is stopped before it has been enabled.
The BiDi serializer cannot encode a custom object instance.
A custom handler name contains characters outside ASCII letters.
close is called on the default BrowserContext.
Default user-data-directory detection is requested for an unsupported browser kind.
The BiDi allow download policy has no downloadPath.
A drag-data operation needs drag interception but it is disabled.
Locator.fill targets a node that cannot be filled.
select is called on a node that is not an HTMLSelectElement.
ElementHandle.toElement checks a tag name that does not match the actual node.
ElementHandle.$eval cannot find the requested descendant selector.
Puppeteer's installation step failed to set up the requested browser build.
connect does not receive exactly one supported endpoint/transport/channel option.
Script/style insertion has no usable url, path or content.
The frame or worker owning evaluation is detached, so its execution context is unavailable.
Navigation destroyed the execution context used by evaluation.
Screenshot quality is outside the allowed 0–100 range.
An extra HTTP header value is not a string.
An extension object cannot be created because the browser's reported extension metadata lacks its ID or version.
The native archive extraction process failed.
Archive extraction cannot find a required native tar.exe/unzip tool.
A preload page binding collides with an existing globalThis name.
exposeFunction attempts to register an already-known window binding name.
A DevTools target did not finish becoming an initialized Puppeteer page.
A BiDi browsing context could not be mapped to a created page.
A DevTools page ID cannot be resolved to a target during page creation.
A newly created page ID cannot be resolved to its target.
The bisect helper could not download bisect-builds.py.
Browser archive extraction failed for the named source and destination.
Automatic Linux system-dependency installation cannot find apt-get.
apt-get/system-dependency installation exited unsuccessfully.
A PDF dimension string cannot be parsed as a number.
removeExposedFunction receives a name not registered on this page.
Firefox is requested in BiDi-over-CDP mode.
A filesystem API is used in an environment without Node filesystem dependencies.
Removing an exposed page function fails because its name is not registered on that page.
An installer HTTP request returned an unexpected status code.
The requested browser history entry does not exist.
Fetching browserURL's /json/version endpoint returned a non-OK HTTP status.
Continuing a request requires an internal Fetch interception ID that is absent.
Aborting a request requires an absent internal Fetch interception ID.
Fulfilling a request requires an absent internal Fetch interception ID.
Installing OS system dependencies requires build-time root privileges.
Geolocation accuracy is negative.
Internal connection setup received mutually invalid transport/endpoint options.
DevToolsActivePort lacks the expected port or browser-path lines.
Latitude is outside the accepted -90 to 90 range.
Longitude is outside the accepted -180 to 180 range.
The debugging port parsed from DevToolsActivePort is invalid.
The browser rejects an unrecognized timezone identifier.
JS coverage is started while it is already enabled.
JS coverage is stopped when it was not enabled.
The JSHandle has been disposed.
A JSHandle is evaluated in a different execution context from its owner.
A memoized internal method is called with an argument count inconsistent with its cache.
A tracing-complete event has no expected protocol stream handle.
A CDP target has no matching browser context in the registry.
The BiDi geolocation override lacks the coordinate payload expected by its implementation.
A DevTools page ID has no target in the registry.
A new page ID has no target in Puppeteer's registry.
A target-swap event refers to a session without an associated target.
Firefox's profile command-line argument has no following value.
Headful Linux launch has no available X server.
A Puppeteer selector contains consecutive unsupported deep combinators.
Several files are uploaded to a file input without the multiple attribute.
A touch move/end operation has no started touch to act on.
The URL is blocked by the configured browser allowlist/blocklist.
The browser-management CLI was invoked without its required browser argument.
A page action/query requires a selector that currently matches no element.
The standalone browser CLI has no configured pinned version for this browser.
No platform was supplied and platform detection failed.
The element screenshot's bounding box has zero height.
The element screenshot's bounding box has zero width.
The element action cannot obtain a visible HTMLElement box.
Windows browser/profile lookup has none of the expected environment directory values.
A CDP-specific JSHandle remote-object operation is unavailable in BiDi.
Windows-system-browser detection cannot obtain supported WSL information.
BiDi permissions reject the wildcard origin * in this implementation.
A page was closed before a pending Puppeteer wait finished.
A BiDi-created browsing context cannot be found as a page.
PDF dimension input is neither a supported number nor a string.
BiDi does not implement the panTiltZoom permission descriptor.
Firefox WebDriver BiDi is configured with pipe transport.
A message is sent to an already closed pipe transport.
An internal browser-install path received no platform.
An internal poller is stopped/read before start created its deferred result.
An active poller was stopped before its result completed.
The browser-management CLI's child process exited nonzero.
The browser manager's profile-creation helper does not support the requested browser kind.
A BiDi CDP bridge session was detached before another command.
CDP reports that a command's session ID no longer exists.
queryObjects receives a disposed prototype JSHandle.
queryObjects receives a primitive rather than an object prototype handle.
An internal browser installUrl call lacks its provider object.
continue/abort/respond is called while request interception is disabled.
The frame tree has no main frame when mainFrame is requested.
Cooperative interception selected respond but has no response payload.
ScreenRecorder dependencies are unavailable in this execution environment.
A preload-script removal ID is not registered on this page.
An ARIA selector exceeds 10,000 characters.
A target-attached event references a session absent from the connection registry.
detach is called on a CDP session already detached or whose target closed.
A target has no initialized CDP session factory.
Page.printToPDF did not return the stream expected by createPDFStream.
CSS coverage has an ID without recorded stylesheet source text.
CSS coverage has a stylesheet ID without its recorded URL.
System executable detection is requested for a browser kind unsupported by that helper.
The CDP page constructor cannot obtain its parent tab target.
The CDP page constructor has no parent tab target session.
An internal CDP session has no associated target.
A BiDi page cannot find its corresponding browser-context target.
A target becoming primary during activation has no CDP session.
A target's internal target manager was not initialized.
The CDP allowlist option requires Chrome major version 149 or newer.
The requested userDataDir is already used by a running browser.
The current OS/CPU platform is unsupported for installation/cache trimming.
BiDi context creation returned an ID before it was available in the context registry.
A file-chooser event's frame ID cannot be found in the CDP frame registry.
CPU throttling is set below a factor of 1.
A timed Puppeteer observable wait exceeded its deadline.
Deferred.race cancels a losing deferred's timer during cleanup.
Chrome extension-path installation requires remote-debugging-pipe transport.
A touch handle is started again while it is already active.
A configured browser version's expected executable is absent.
A configured browser executable path does not exist.
A BiDi JSHandle belongs to a different frame/page environment.
A BiDi JSHandle crosses incompatible page and worker global types.
Extension lookup is attempted for a worker realm that does not support it.
BiDi argument serialization receives a function or symbol value it cannot encode.
Cookie filtering received a string partition key where its filtering path expected a composite object.
Puppeteer's ARIA selector uses an attribute other than its supported name/role fields.
The BiDi-over-CDP adapter cannot find the requested CDP session ID.
request.abort receives an error code absent from the supported mapping.
Tracing failed with a non-Error value, which Puppeteer wraps as Unknown error.
The browser reported a dialog type outside alert/confirm/prompt/beforeunload.
The requested keyboard key identifier is unknown to Puppeteer's CDP or WebDriver BiDi implementation.
Locator.race receives a candidate that is not a Puppeteer Locator.
The PDF format does not resolve to a supported paper format.
The requested permission name has no mapping in this protocol implementation.
launch receives a browser value other than chrome or firefox.
A Puppeteer extended selector references an unregistered selector engine.
waitUntil contains a value absent from Puppeteer's lifecycle mapping.
The browser installer does not support the downloaded archive's extension/format.
An unsupported browser name was supplied to the browser CLI or Puppeteer configuration.
Element geometry calculation cannot obtain a supported parent frame element.
emulateMediaType receives an unsupported media type.
The mouse button is not one of the supported button values.
The browser CLI platform value is not a supported BrowserPlatform enum value.
A CDP remote object has an unserializableValue token the decoder does not recognize.
Vision-deficiency emulation receives an unsupported value.
BiDi does not implement the userVisibleOnly permission descriptor.
select receives an option value that is not a string.
waitForFunction/selector's WaitTask exceeded its configured deadline.
BiDi partition-key conversion does not support hasCrossSiteAncestor: true.
The selected worker implementation does not support WebWorker.close.
The BiDi browser window ID is absent from the current client-window list.
The capture path needs window.visualViewport but the page environment does not provide it.