# Handling Application States and Retries in Cypress End-to-End Tests

DevFeed: [Handling Application States and Retries in Cypress End-to-End Tests](<https://devfeed.tech/articles/what-needs-to-retry-28904.md>)

Original publisher: [Read original article](<https://glebbahmutov.com/blog/what-needs-to-retry/>)

Author: Gleb Bahmutov

Published: 2026-07-28T04:00:00Z

Content type: tutorial

Language: en

Sources: [Gleb Bahmutov](<https://devfeed.tech/sources/gleb-bahmutov.md>)

Topics: [Cypress](<https://devfeed.tech/topics/cypress.md>), [test](<https://devfeed.tech/topics/test.md>), [App](<https://devfeed.tech/topics/app.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [can](<https://devfeed.tech/tags/can.md>), [cypress](<https://devfeed.tech/tags/cypress.md>), [errors](<https://devfeed.tech/tags/errors.md>), [flaky](<https://devfeed.tech/tags/flaky.md>), [plugin](<https://devfeed.tech/tags/plugin.md>), [products](<https://devfeed.tech/tags/products.md>), [retry](<https://devfeed.tech/tags/retry.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

## AI overview

This tutorial explains how to design Cypress end-to-end tests for loading, empty, and error states. It recommends detecting known error states immediately and using in-place retries with cypress-recurse when appropriate, instead of relying only on whole-test retries.

## Source excerpt

Imagine a typical application that loads some data. The app starts in the initial state, starts loading, then one of 3 possible states ar