X_SCRAPE_CDP_ATTACH_FAILED
Means
the CDP endpoint refused the attach
Typical cause
retryable. A browser host still starting, a wrong cdpUrl, or an endpoint that is up and not speaking CDP. Also raised when a CdpResolver on remoteBrowser({ cdpUrl }) could not rent a browser. The endpoint is named by scheme and host only — meta.cdpUrl is wss://host:port — because a connect URL carries a token; the underlying throw is rendered through core's renderThrowable with URL parts stripped
Fix
curl "$CDP_URL/json/version" to confirm the endpoint answers, then pass that webSocketDebuggerUrl to remoteBrowser({ cdpUrl })