Workaround: Pin Node.js to 24.15.0 or 26.0.0 until a fix is available.
Current behavior
Running cypress install (or npx cypress install) on Node.js 24.16.0 causes the binary extraction to begin but never complete. The behaviour differs by environment:
- CI environments (Azure Pipelines tested): the process exits silently with code
0 part-way through extraction. The Cypress binary is left in a partial/missing state and cypress verify fails immediately after.
- Interactive terminals: the command appears to hang indefinitely at
Unzipping Cypress with no further output and no error.
In both cases there is no error message and no non-zero exit code, making the issue extremely difficult to diagnose. Because the exit code is 0, in CI the failure is invisible until cypress verify or the first test run.
Desired behavior
cypress install should complete extraction and print the full success output regardless of Node.js minor version, e.g.:
√ Unzipped Cypress
> Finishing Installation
√ Finished Installation <cache path>
You can now open Cypress by running: npx cypress open
Test code to reproduce
# Install Node.js 24.16.0 (e.g. via nvm)
nvm install 24.16.0
nvm use 24.16.0
# Install Cypress (skip binary download during npm install)
CYPRESS_INSTALL_BINARY=0 npm install cypress
# Attempt to install the Cypress binary
npx cypress install
# → interactive: hangs at "Unzipping Cypress"
# → CI: exits 0 with no further output
# Confirm binary is missing or incomplete
npx cypress verify
# → fails: binary not found / not executable
Downgrading to Node.js 24.15.0 and repeating the same steps completes successfully.
Cypress Version
15.15.0
Debug Logs
**Node.js 24.16.0** (broken) — extraction starts then process exits with no further output:
cypress:cli:install extracting cypress binary +0ms
cypress:cli:install unzipping /tmp/cypress.zip to /home/runner/.cache/Cypress/15.x.x +1ms
# ...process exits 0 here, no further logs
**Node.js 24.15.0** (working) — full completion output:
√ Unzipped Cypress
2026-05-22T11:28:38.465Z cypress:cli:unzip unzip completed { yauzlMs: 3, unzipMs: 83269 }
> Finishing Installation
2026-05-22T11:28:38.466Z cypress:cli:install removing zip file C:\Users\...\AppData\Local\Temp\cypress-8996.zip
2026-05-22T11:28:38.491Z cypress:cli:install finished installation in C:\hostedtoolcache\windows\cypress\15.15.0
√ Finished Installation C:\hostedtoolcache\windows\cypress\15.15.0
You can now open Cypress by running: npx cypress open
Other
This is almost certainly a Node.js issue rather than a Cypress one, and is tracked upstream at nodejs/node#63487, which describes a regression in Node.js 24.16.0 that breaks extract-zip's top-level await handling — exactly the mechanism Cypress uses to extract its binary.
Raising it here because the Node.js issue thread notes that bumping to a newer version of Playwright resolved the problem for some users, suggesting that tools which have already updated their extraction dependency or approach are unaffected. It is worth considering whether Cypress could do the same — either by pinning/updating extract-zip or switching to an alternative extraction approach.
Workaround: Pin Node.js to
24.15.0or26.0.0until a fix is available.Current behavior
Running
cypress install(ornpx cypress install) on Node.js 24.16.0 causes the binary extraction to begin but never complete. The behaviour differs by environment:0part-way through extraction. The Cypress binary is left in a partial/missing state andcypress verifyfails immediately after.Unzipping Cypresswith no further output and no error.In both cases there is no error message and no non-zero exit code, making the issue extremely difficult to diagnose. Because the exit code is
0, in CI the failure is invisible untilcypress verifyor the first test run.Desired behavior
cypress installshould complete extraction and print the full success output regardless of Node.js minor version, e.g.:Test code to reproduce
Downgrading to Node.js 24.15.0 and repeating the same steps completes successfully.
Cypress Version
15.15.0
Debug Logs
Other
This is almost certainly a Node.js issue rather than a Cypress one, and is tracked upstream at nodejs/node#63487, which describes a regression in Node.js 24.16.0 that breaks
extract-zip's top-levelawaithandling — exactly the mechanism Cypress uses to extract its binary.Raising it here because the Node.js issue thread notes that bumping to a newer version of Playwright resolved the problem for some users, suggesting that tools which have already updated their extraction dependency or approach are unaffected. It is worth considering whether Cypress could do the same — either by pinning/updating
extract-zipor switching to an alternative extraction approach.