Skip to content

cypress install silently exits 0 mid-extraction on Node.js 24.16.0 #33891

Description

@robjackstewart

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.

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions