Repository navigation
Description
Version
1.63.0
Steps to reproduce
- Tried to install the playwright
npm init playwright@latest - Do you want to use TypeScript or JavaScript? · TypeScript
- Where to put your end-to-end tests? · src/steps
- Add a GitHub Actions workflow? (Y/n) · true
- Install Playwright browsers (can be done manually via 'npx playwright install')? (Y/n) · true
- Wait for the installation run to finish
Expected behavior
Should install the bundled playwright browsers
Actual behavior
in the debug log file
0 verbose cli C:\Program Files\nodejs\node.exe C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js 1 info using [email protected] 2 info using [email protected] 3 silly config load:file:C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\npmrc 4 silly config load:file:C:\Users\ruby_thinkbitsolutio\Documents\Playwright Learn\Playwright Boilerplate\.npmrc 5 silly config load:file:C:\Users\ruby_thinkbitsolutio\.npmrc 6 silly config load:file:C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\etc\npmrc 7 verbose title npm init playwright@latest 8 verbose argv "init" "playwright@latest" 9 verbose logfile logs-max:10 dir:C:\Users\ruby_thinkbitsolutio\AppData\Local\npm-cache\_logs\2026-09-05T15_01_55_717Z- 10 verbose logfile C:\Users\ruby_thinkbitsolutio\AppData\Local\npm-cache\_logs\2026-09-05T15_01_55_717Z-debug-0.log 11 silly logfile start cleaning logs, removing 2 files 12 silly logfile done cleaning log files 13 silly packumentCache heap:2348810240 maxSize:587202560 maxEntrySize:293601280 14 http fetch GET 200 https://registry.npmjs.org/create-playwright 87ms (cache revalidated) 15 silly packumentCache heap:2348810240 maxSize:587202560 maxEntrySize:293601280 16 notice run [email protected] npx 17 notice run create-playwright 18 verbose stack Error: command failed 18 verbose stack at promiseSpawn (C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\promise-spawn\lib\index.js:22:22) 18 verbose stack at spawnWithShell (C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\promise-spawn\lib\index.js:124:10) 18 verbose stack at promiseSpawn (C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\promise-spawn\lib\index.js:12:12) 18 verbose stack at runScriptPkg (C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\run-script\lib\run-script-pkg.js:70:13) 18 verbose stack at runScript (C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\node_modules\@npmcli\run-script\lib\run-script.js:8:12) 18 verbose stack at run (C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\node_modules\libnpmexec\lib\run-script.js:62:10) 18 verbose stack at async exec (C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\node_modules\libnpmexec\lib\index.js:329:10) 18 verbose stack at async Init.execCreate (C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\lib\commands\init.js:141:5) 18 verbose stack at async Init.exec (C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\lib\commands\init.js:46:14) 18 verbose stack at async Npm.exec (C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\node_modules\npm\lib\npm.js:194:9) 19 verbose pkgid [email protected] 20 error code 1 21 error path C:\Users\ruby_thinkbitsolutio\Documents\Playwright Learn\Playwright Boilerplate 22 error command failed 23 error command C:\WINDOWS\system32\cmd.exe /d /s /c create-playwright 24 verbose cwd C:\Users\ruby_thinkbitsolutio\Documents\Playwright Learn\Playwright Boilerplate 25 verbose os Windows_NT 10.0.26200 26 verbose node v24.15.0 27 verbose npm v12.0.2 28 verbose exit 1 29 verbose code 1 30 error A complete log of this run can be found in: C:\Users\ruby_thinkbitsolutio\AppData\Local\npm-cache\_logs\2026-09-05T15_01_55_717Z-debug-0.log
in the terminal
Writing src\steps\example.spec.ts. Writing package.json. Downloading browsers (npx playwright install)… npm notice run [email protected] npx npm notice run playwright install Downloading Chrome for Testing 153.0.8010.12 (playwright chromium v1243) from https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip Error: Request to https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip timed out after 30000ms at ClientRequest.<anonymous> (C:\Users\ruby_thinkbitsolutio\Documents\Playwright Learn\Playwright Boilerplate\node_modules\playwright-core\lib\coreBundle.js:8793:15) at Object.onceWrapper (node:events:630:28) at ClientRequest.emit (node:events:509:28) at TLSSocket.emitRequestTimeout (node:_http_client:948:9) at Object.onceWrapper (node:events:630:28) at TLSSocket.emit (node:events:521:24) at Socket._onTimeout (node:net:610:8) at listOnTimeout (node:internal/timers:605:17) at process.processTimers (node:internal/timers:541:7) Downloading Chrome for Testing 153.0.8010.12 (playwright chromium v1243) from https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip Error: Request to https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip timed out after 30000ms at ClientRequest.<anonymous> (C:\Users\ruby_thinkbitsolutio\Documents\Playwright Learn\Playwright Boilerplate\node_modules\playwright-core\lib\coreBundle.js:8793:15) at Object.onceWrapper (node:events:630:28) at ClientRequest.emit (node:events:509:28) at TLSSocket.emitRequestTimeout (node:_http_client:948:9) at Object.onceWrapper (node:events:630:28) at TLSSocket.emit (node:events:521:24) at Socket._onTimeout (node:net:610:8) at listOnTimeout (node:internal/timers:605:17) at process.processTimers (node:internal/timers:541:7) Downloading Chrome for Testing 153.0.8010.12 (playwright chromium v1243) from https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip Error: Request to https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip timed out after 30000ms at ClientRequest.<anonymous> (C:\Users\ruby_thinkbitsolutio\Documents\Playwright Learn\Playwright Boilerplate\node_modules\playwright-core\lib\coreBundle.js:8793:15) at Object.onceWrapper (node:events:630:28) at ClientRequest.emit (node:events:509:28) at TLSSocket.emitRequestTimeout (node:_http_client:948:9) at Object.onceWrapper (node:events:630:28) at TLSSocket.emit (node:events:521:24) at Socket._onTimeout (node:net:610:8) at listOnTimeout (node:internal/timers:605:17) at process.processTimers (node:internal/timers:541:7) Downloading Chrome for Testing 153.0.8010.12 (playwright chromium v1243) from https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip Error: Request to https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip timed out after 30000ms at ClientRequest.<anonymous> (C:\Users\ruby_thinkbitsolutio\Documents\Playwright Learn\Playwright Boilerplate\node_modules\playwright-core\lib\coreBundle.js:8793:15) at Object.onceWrapper (node:events:630:28) at ClientRequest.emit (node:events:509:28) at TLSSocket.emitRequestTimeout (node:_http_client:948:9) at Object.onceWrapper (node:events:630:28) at TLSSocket.emit (node:events:521:24) at Socket._onTimeout (node:net:610:8) at listOnTimeout (node:internal/timers:605:17) at process.processTimers (node:internal/timers:541:7) Downloading Chrome for Testing 153.0.8010.12 (playwright chromium v1243) from https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip Error: Request to https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip timed out after 30000ms at ClientRequest.<anonymous> (C:\Users\ruby_thinkbitsolutio\Documents\Playwright Learn\Playwright Boilerplate\node_modules\playwright-core\lib\coreBundle.js:8793:15) at Object.onceWrapper (node:events:630:28) at ClientRequest.emit (node:events:509:28) at TLSSocket.emitRequestTimeout (node:_http_client:948:9) at Object.onceWrapper (node:events:630:28) at TLSSocket.emit (node:events:521:24) at Socket._onTimeout (node:net:610:8) at listOnTimeout (node:internal/timers:605:17) at process.processTimers (node:internal/timers:541:7) Failed to install browsers Error: Failed to download Chrome for Testing 153.0.8010.12 (playwright chromium v1243), caused by Error: Download failure, code=1 at ChildProcess.<anonymous> (C:\Users\ruby_thinkbitsolutio\Documents\Playwright Learn\Playwright Boilerplate\node_modules\playwright-core\lib\coreBundle.js:32428:32) at ChildProcess.emit (node:events:509:28) at ChildProcess._handle.onexit (node:internal/child_process:295:12) Error: Command failed: npx playwright install at genericNodeError (node:internal/errors:985:15) at wrappedFn (node:internal/errors:539:14) at checkExecSyncError (node:child_process:925:11) at execSync (node:child_process:997:15) at executeCommands (C:\Users\ruby_thinkbitsolutio\AppData\Local\npm-cache\_npx\d352e76cc6b4974c\node_modules\create-playwright\lib\index.js:8272:39) at Generator.run (C:\Users\ruby_thinkbitsolutio\AppData\Local\npm-cache\_npx\d352e76cc6b4974c\node_modules\create-playwright\lib\index.js:8356:5) at process.processTicksAndRejections (node:internal/process/task_queues:104:5) at async _Command.<anonymous> (C:\Users\ruby_thinkbitsolutio\AppData\Local\npm-cache\_npx\d352e76cc6b4974c\node_modules\create-playwright\lib\index.js:8661:3) at async _Command.parseAsync (C:\Users\ruby_thinkbitsolutio\AppData\Local\npm-cache\_npx\d352e76cc6b4974c\node_modules\create-playwright\lib\index.js:2148:9) { status: 1, signal: null, output: [ null, null, null ], pid: 4580, stdout: null, stderr: null } npm error code 1 npm error path C:\Users\ruby_thinkbitsolutio\Documents\Playwright Learn\Playwright Boilerplate npm error command failed npm error command C:\WINDOWS\system32\cmd.exe /d /s /c create-playwright npm error A complete log of this run can be found in: C:\Users\ruby_thinkbitsolutio\AppData\Local\npm-cache\_logs\2026-09-05T15_01_55_717Z-debug-0.log
Additional context
In VS Code Powershell Terminal
Environment
System:
OS: Windows 11 10.0.26200
CPU: (8) x64 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
Memory: 1.52 GB / 11.78 GB
Binaries:
Node: 24.15.0 - C:\Program Files\nodejs\node.EXE
npm: 12.0.2 - C:\Program Files\nodejs\npm.CMD
IDEs:
VSCode: 1.136.0 - C:\Users\ruby_thinkbitsolutio\AppData\Local\Programs\Microsoft VS Code\bin\code.CMD
Cursor: 3.9.16 - C:\Users\ruby_thinkbitsolutio\AppData\Local\Programs\cursor\resources\app\bin\cursor.CMD
opencode: 1.17.11 - C:\Users\ruby_thinkbitsolutio\AppData\Roaming\npm\opencode.CMD
npmPackages:
@playwright/test: ^1.63.0 => 1.63.0
Activity
github-actions commentedon Sep 8, 2026
Hi, I'm the Playwright bot and I took a first look at this on Windows.
This is a network timeout reaching the browser CDN, not a Playwright bug. The telling line in your log is:
Playwright wrote the project files fine; it only failed while downloading the Chrome build — each attempt gave up after 30s. I reproduced the setup on a Windows 11 runner and the download side is healthy from here:
200withContent-Length: 205123748(~205 MB).npx playwright install chromiumcompleted successfully (Chrome for Testing + headless shell + winldd all downloaded).So the browsers and the CDN are fine — the connection between your machine and
cdn.playwright.devis timing out. This is almost always a proxy, firewall, VPN, or slow/unstable link on the client side. A ~205 MB download that can't sustain throughput will trip the 30s-per-request timeout.Things to try
npx playwright install— transient network drops are the usual cause.HTTPS_PROXY(andHTTP_PROXY) so the downloader can route through it.PLAYWRIGHT_DOWNLOAD_HOST.cdn.playwright.dev.If none of that helps, a
curl -v https://cdn.playwright.dev/builds/cft/153.0.8010.12/win64/chrome-win64.zip -o NULfrom the same shell would show where the connection stalls.What I ran
windows-latest)@playwright/test@next→1.64.0-alpha-2026-09-08HEADon the reported zip URL →200,Content-Length: 205123748npx playwright install chromium→ exit0, all artifacts downloaded fromcdn.playwright.devTriaged on Windows by the Playwright bot - agent run
ByteJuggler commentedon Sep 28, 2026
Hmmm. FWIW, I ran into this problem tonight:
But clicking on that link downloaded the file just fine. So, something in node, on Windows 11, can sometimes interfere with downloading Chromium.
Root cause found (in my case): broken IPv6 via Teredo, plus the IPv4 fallback never running
Same symptoms as the original report:
npx playwright installtimes out oncdn.playwright.dev, but the same URL downloads fine in a browser and with curl. Windows 11, home wired connection, no proxy. Node<v24.15.0>, Playwright<Version 1.63.0>(chromium v1243).TL;DR
The machine had no native IPv6, but the Teredo tunnel was active (
natawareclient, statequalified), so Windows had an IPv6 default route that didn't actually work. Node tried the CDN's IPv6 address first, that attempt hung, and the socket was destroyed before the IPv4 fallback was attempted. Browsers and curl recover from this, but the Playwright download didn't.Fix:
netsh interface teredo set state disabled(admin shell). The install then worked immediately.How to check if this is you (Windows)
If the only
::/0route goes through Teredo, or IPv6 is otherwise half-configured, this is likely your problem and disabling should fix it. In my case this probably happened because this is a long-lived Win10 install that was also upgraded to Win11 at one point. After disabling everything worked as expected.iudeen commentedon Sep 30, 2026
In MAC, I had the same issue. I got it fixed by setting IPv6 to
Link-Local Only.