Cypress "could not verify that this server is running"
By Daniel Zoghalchali·Latchkey
Cypress probed your baseUrl before running specs and got no response. The app server was never started in CI, is still booting, or baseUrl points somewhere nothing is listening.
What this error means
Cypress aborts at startup with "Cypress could not verify that this server is running" and retries the URL a few times before giving up. The specs never run because the app is unreachable.
Cypress output
Cypress could not verify that this server is running:
> http://localhost:3000
We are verifying this server because it has been configured as your
baseUrl. Cypress automatically waits until your server is accessible
before running your tests.
Common causes
App server not started before Cypress
The CI step ran cypress run without first starting (and waiting for) the dev/preview server, so nothing answers at baseUrl.
Server still booting (race)
The app was started in the background but Cypress probed before it finished compiling/listening. Re-running often passes - a timing race.
Wrong baseUrl or port
baseUrl does not match where the app actually listens (wrong port, 127.0.0.1 vs localhost, or a container hostname).
How to fix it
Start the server and wait for it
Use start-server-and-test (or wait-on) so Cypress only runs once the URL responds.
Terminal
npx start-server-and-test 'npm start' http://localhost:3000 'cypress run'
# or
npx wait-on http://localhost:3000 && cypress run
Always gate cypress run behind start-server-and-test/wait-on.
Keep baseUrl and the server port in one shared config value.
Give the server a generous readiness timeout on slow CI.
Frequently asked questions
What causes ""could not verify ... server is running""?
The CI step ran cypress run without first starting (and waiting for) the dev/preview server, so nothing answers at baseUrl.
How do I fix "could not verify ... server is running"?
Use start-server-and-test (or wait-on) so Cypress only runs once the URL responds.
Can Latchkey fix this automatically?
Yes. Latchkey runs your GitHub Actions on managed runners that detect this failure, apply the fix, and retry the job automatically - self-healing is on by default.