Protocol error ({value}): Session closed. Most likely the page has been closed.
How to fix the Puppeteer error: Protocol error ({value}): Session closed. Most likely the page has been closed.
Error
Protocol error (${method}): Session closed. Most likely the page has been closed.
What it means
Puppeteer raised this from its WebDriver BiDi 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
- This API is not available through the WebDriver BiDi connection yet.
- Use the default CDP connection for this feature, or remove the unsupported option when launching/connecting with BiDi.
Minimal guard
try {
// Run the Puppeteer operation that triggers this error.
} catch (error) {
if (error instanceof Error && error.message.includes("Protocol error (")) {
// Apply the fix above, then retry or fail with a clearer message.
}
throw error;
}