## TL;DR

The Cypress binary is missing, partially downloaded, or blocked from launching. Clear the binary cache and reinstall it, verify the download was not intercepted by a proxy, and confirm the binary can launch before running tests.

## Error

```text
Cypress verification failed: Could not verify that this server is running.
```

## Steps

1. Run `npx cypress verify`. Expected: either it passes (transient issue) or it prints the real underlying error.
2. Clear the cache and reinstall: `npx cypress cache clear && npx cypress install`. Expected: a fresh binary downloads completely.
3. If the download is slow or corrupt, check proxy settings; set `CYPRESS_DOWNLOAD_MIRROR` if your network blocks the default CDN. Expected: download completes with a matching checksum.
4. On Linux CI, install the OS dependencies: `npx cypress install --force` after `apt-get install` of the documented libraries (libgtk, libnss3, xvfb, and friends). Expected: the binary launches instead of failing on missing shared libraries.
5. Re-run `npx cypress verify` and then one smoke test. Expected: verify passes and the browser opens.

## When to use

- `cypress verify`, `cypress open`, or `cypress run` fails before any test executes.
- Fresh machine, new CI image, or after a Cypress version bump.

## When not to use

- Tests launch but fail (use the per-error skills).
- The error is about a specific browser version mismatch (reinstall that browser).

## Tool compatibility

- Cypress 10 through 14; binary cache at the OS-default Cypress cache directory.

## Variant phrasings

### Cypress failed to start: binary not found

The install step was skipped or the cache was wiped between install and run.

### libgtk or xvfb missing when launching Cypress

Linux dependency problem; install system packages, not a Cypress problem.

## Why it happens

Cypress ships a bundled Electron binary downloaded separately from the npm package. Anything that interrupts that download, or a container image missing display libraries, breaks verification.

## Edge cases

- Caching the binary directory between CI runs speeds things up but a corrupt cache poisons every run; clear it at the first sign of trouble.
- `CYPRESS_RUN_BINARY` pointing at a custom browser skips verification of the bundled one.
- Corporate proxies that MITM TLS break the download checksum; allowlist the Cypress CDN.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_5vYYsFgU_eJL_xrdC6Todg
