Where Does Cypress Store Its Binary?
Cypress binary cache on every OS, the env var that moves it, and why each version costs hundreds of megabytes.
Last updated
Cypress downloads a versioned binary into a cache folder outside your project on first run, which is why npm install finishes fast and the first test run does not. Each Cypress version keeps its own binary subfolder, so upgrades stack hundreds of megabytes beside the old ones.
The location follows OS cache conventions and moves with one environment variable. CI setups pin that variable to a cached directory to skip downloads. Old versions never clean themselves up, so the cache only grows until someone prunes it.
Where Cypress stores this, by platform
%appdata%\Cypress
One versioned binary subfolder per Cypress release. Set CYPRESS_CACHE_FOLDER to move it, which is the authoritative override on build agents with small system drives.
~/Library/Caches/Cypress
Same versioned layout as other platforms. Verify runs and binary state live together here, so a corrupted cache breaks launches until cleared.
~/.cache/Cypress
Follows the XDG cache home. Point CYPRESS_CACHE_FOLDER at shared storage on CI to skip the download on every run.
Frequently asked questions
How do I change where Cypress stores its binary?
Set the CYPRESS_CACHE_FOLDER environment variable before running Cypress. All versions download there from then on, on every OS.
Cypress fails to launch after an upgrade. What do I delete?
Clear the Cypress cache folder for the broken version with Cypress closed, then run the tests again to trigger a fresh download. Keep the folders for versions you still run.
Notice an outdated path? Let us know.