Cypress "experimentalRunAllSpecs" - Run-All Disabled or Crashing
Cypress’s "Run all specs" button is gated behind the experimentalRunAllSpecs flag. If it is not enabled (or the Cypress version changed the flag), the option is missing - and when enabled, running every spec in one long-lived browser can exhaust memory.
What this error means
The "Run all specs" entry does not appear in the Cypress app, or enabling it makes a marathon run crash the browser partway through. Individual specs run fine; only the combined run-all path is affected.
// cypress.config.js missing the flag -> no "Run all specs" button
module.exports = { e2e: { /* experimentalRunAllSpecs not set */ } };
// or, with it on: the browser crashes after dozens of specs (OOM)Common causes
Flag not enabled (or renamed by version)
experimentalRunAllSpecs: true must be set under e2e to expose run-all. A Cypress upgrade may have changed or removed the experimental flag, so an old config no longer enables it.
Memory growth across many specs in one browser
Run-all keeps one browser for the whole batch. DOM snapshots and memory accumulate across dozens of specs, eventually crashing - the same growth that hits long single specs, amplified.
How to fix it
Enable the experimental flag
// cypress.config.js
module.exports = {
e2e: { experimentalRunAllSpecs: true },
};Avoid run-all for huge suites in CI
- In CI, run specs in batches (or via
cypress runwith a spec glob) rather than one giant run-all. - Reduce per-spec memory growth (
numTestsKeptInMemory, smallerexperimentalMemoryManagement). - Reserve run-all for local exploration, not large CI runs.
How to prevent it
- Set
experimentalRunAllSpecsexplicitly and re-check it after upgrades. - Batch specs in CI instead of one all-in-one run.
- Tune memory-management options for long runs.