(Created on )

Puppeteer: Unsupported unserializable value:

A CDP remote object has an unserializableValue token the decoder does not recognize.


A CDP remote object has an unserializableValue token the decoder does not recognize.

Error message

Unsupported unserializable value:

How this error happens

CDP reports some primitives with an unserializableValue token. Puppeteer only decodes tokens it recognizes; a malformed token from an incompatible browser or custom transport violates that contract.

The failing block shows protocol data. The fix uses an open page named page.

{
    "type": "number",
    "unserializableValue": "not-a-number-token"
}

How to fix

Use a compatible browser and normal transport. For application data, request ordinary serializable fields through public evaluation rather than editing remote-object tokens.

const value = await page.evaluate(() => {
    return {
        count: 3,
    };
});

console.log(value);

Things to keep in mind

The JSON is an example of an invalid protocol response, not a browser value that normal page JavaScript can manufacture. There is no public snippet that makes a healthy browser emit an arbitrary decoder token.

All Puppeteer errors

Keep Reading

Puppeteer Guides

All Guides →