October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

How to Upgrade Cypress 13 or 14 to Cypress 15

A safe, staged Cypress 15 upgrade guide covering version prerequisites, migration changes, verification, and common installation and test failures.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Upgrade Cypress one major version at a time: move from Cypress 13 to 14 first, then from 14 to 15. If you are already on 14, check Cypress 15’s runtime and browser requirements, apply the migration changes that affect your project, then verify the installation and run your tests.

Before you upgrade

Confirm the Cypress version your project actually installs, rather than relying only on a package declaration or assumptions about the lockfile. Cypress’s migration guide recommends checking the starting version, updating the dependency with your package manager, applying relevant breaking-change fixes, then running npx cypress verify and the project tests. A successful migration command does not guarantee that application-specific tests will pass.

As an Amazon Associate I earn from qualifying purchases.

The Cypress migration guide now includes a Cypress 16 section, so Cypress 15 is not the newest major version covered there. The steps below target Cypress 15 as requested.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check Node.js and Linux requirements

  • Cypress 15 requires Node.js 20, 22, 24, or later to install the Cypress binary. Node.js 18 and 23 are no longer supported.
  • On Linux, prebuilt Cypress binaries require glibc 2.31 or newer.

Check the Node.js version used by your local shell and by CI; those environments can differ. For Linux CI, confirm the base image provides the required glibc version.

Check Firefox against your intended Cypress 15 release

  • Cypress 15.0.0 through 15.18.1 requires Firefox 135 or later.
  • Cypress 15.19.0 and later requires Firefox 140 or later.

If your tests use Firefox, check the exact Cypress 15 version you plan to install and update any pinned ESR, CI image, or provider-installed browser that falls below its minimum.

Upgrade from Cypress 13 to 14, then to 15

  1. Confirm the installed version. Run npx cypress version from the project directory and note the installed Cypress major version.
  2. Move from 13 to 14 if needed. Update the Cypress dependency to the latest version in the 14.x major using your package manager, then install dependencies and follow the Cypress 13-to-14 migration guidance for changes that apply to your project.
  3. Verify and test on 14. Run npx cypress verify, then run the project’s Cypress tests. Resolve migration failures before proceeding.
  4. Move from 14 to 15. Update the dependency to the Cypress 15 version you intend to use, install dependencies, and apply the Cypress 15 changes below where relevant.
  5. Verify and test on 15. Run npx cypress verify and your normal test commands, including relevant component-testing and browser jobs.

Use the package manager already used by the project so the manifest and lockfile remain consistent. For example, with npm, update the dependency to the desired major using npm install --save-dev cypress@^14 for the first move and npm install --save-dev cypress@^15 for the second. Review the resulting lockfile changes and commit them with the upgrade.

Apply Cypress 15 code and configuration changes

Read the exec result from exitCode

Change code that reads cy.exec(...).its('code') to read cy.exec(...).its('exitCode'). Search test support files and specs for the old property access, then update affected assertions or command chains.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Pass stub implementations with callsFake

Replace the old three-argument form cy.stub(object, name, fn) with a stub followed by callsFake:

cy.stub(object, 'method').callsFake(fn)

Check custom test helpers as well as specs so the old signature is not hidden in a shared utility.

Check component-testing tool versions

Cypress 15 drops component-testing support for Webpack 4, Vite 4, and Angular 17. The corresponding minimums are Webpack 5, Vite 5, and Angular 18. If your component tests use one of the older versions, upgrade the relevant tooling and verify the component-test configuration before relying on Cypress 15.

Convert Vite dev-server configuration to ESM where necessary

@cypress/vite-dev-server is ESM-only. If a CommonJS Cypress configuration loads this package, convert the configuration to an ESM context—for example, use a .mjs configuration file—and update its module syntax and imports accordingly. Confirm the Cypress config loads in both local and CI runs.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Verify the upgrade and troubleshoot failures

Installation or binary verification fails

  • Cause: The Node.js version is unsupported, or on Linux the system glibc is below 2.31.
  • Fix: Use Node.js 20, 22, 24, or later and a Linux environment with glibc 2.31 or newer, then reinstall or verify Cypress again.

Firefox tests cannot start

  • Cause: The Firefox version is below the minimum for the chosen Cypress 15 minor release.
  • Fix: For Cypress 15.0.0–15.18.1, use Firefox 135 or later; for 15.19.0 and later, use Firefox 140 or later. Update pinned CI or provider browsers where needed.

Component tests fail during setup

  • Cause: The project still uses Webpack 4, Vite 4, or Angular 17, or its Vite dev-server import is being loaded from CommonJS.
  • Fix: Upgrade to Webpack 5, Vite 5, or Angular 18 as applicable, and move a configuration that uses the ESM-only Vite dev server into an ESM context.

Assertions or stubs fail after migration

  • Cause: Code still reads cy.exec(...).its('code') or uses cy.stub(object, name, fn).
  • Fix: Use exitCode for the exec result and cy.stub(object, name).callsFake(fn) for the stub implementation.

Verification passes but tests fail

npx cypress verify checks the Cypress installation; it does not validate your application’s test behavior. Use the failing spec, browser, and CI logs to identify remaining project-specific incompatibilities, and run the affected test suite after each fix.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If the goal is to capture website screenshots rather than run Cypress tests, ScreenshotNeo is a website screenshot API and MCP server for developers. Its one-call API returns a PNG, JPEG, WebP, or PDF. For example, this cURL request saves a WebP screenshot; see the API documentation for parameters and options.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

ScreenshotNeo accepts cookie and consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for AI agents. The free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.

Frequently Asked Questions

Can I jump directly from Cypress 13 to Cypress 15?

No. Complete the Cypress 13-to-14 migration and verify that version before moving from 14 to 15.

Is Cypress 15 the newest major version in the migration guide?

No. The guide also has a Cypress 16 section; this procedure is specifically for reaching Cypress 15.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.