Prototype JSHandle must not be referencing primitive value

How to fix the Puppeteer error: Prototype JSHandle must not be referencing primitive value


Error

Prototype JSHandle must not be referencing primitive value

What it means

Puppeteer raised this from its page operations code. In practice, it usually means your script reached a browser, page, frame, element, or option state that the API cannot use safely.

How to fix it

  • Check the API call that produced the error and validate its options before passing them to Puppeteer.
  • Reduce the script to the smallest failing action, then add waits or state checks around that action.
  • Keep Puppeteer and the browser revision aligned, especially in CI caches and Docker images.

Minimal guard

try {
  // Run the Puppeteer operation that triggers this error.
} catch (error) {
  if (error instanceof Error && error.message.includes("Prototype JSHandle must not be referenci")) {
    // Apply the fix above, then retry or fail with a clearer message.
  }
  throw error;
}

Keep Reading

Puppeteer Guides

All Guides →