JSHandles can be evaluated only in the context they were created!

How to fix the Puppeteer error: JSHandles can be evaluated only in the context they were created!


Error

JSHandles can be evaluated only in the context they were created!

What it means

Puppeteer raised this from its frame and evaluation 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("JSHandles can be evaluated only in the c")) {
    // Apply the fix above, then retry or fail with a clearer message.
  }
  throw error;
}

Keep Reading

Puppeteer Guides

All Guides →