diff --git a/packages/playwright-core/src/server/registry/oopDownloadBrowserMain.ts b/packages/playwright-core/src/server/registry/oopDownloadBrowserMain.ts index 0e2685ac19..7e43ea4cb9 100644 --- a/packages/playwright-core/src/server/registry/oopDownloadBrowserMain.ts +++ b/packages/playwright-core/src/server/registry/oopDownloadBrowserMain.ts @@ -117,7 +117,12 @@ async function main(options: DownloadParams) { const extraction = pipeline( decompress, tar.extract(options.browserDirectory), - ); + ).catch(e => { + if (e.code === 'ERR_STREAM_PREMATURE_CLOSE') // caused by an upstream error in `downloadFile()`, let's no throw twice + return; + + throw e; + }); await Promise.all([ extraction, downloadFile(options, decompress)