Open Mode
What you'll learn​
- The different sections of the Cypress app in open mode
- The information surfaced in the app's Command Log
- How to hide HTTP requests in the Command Log
- How to use Cypress Studio to record interactions and edit tests inline
- Debugging tools available in the app in open mode
The Cypress app includes an interactive workflow called open mode. In Cypress open mode you can run specs, watch the Command Log update in real time, and inspect the application or component under test. You can open the app, use Cypress Studio to record interactions and edit tests inline, and debug with time travel snapshots and console output. Open mode is best for local development, while recorded runs in Cypress Cloud provide history and analytics when needed.
Launchpad​

The Launchpad helps you choose a testing type, pick a browser, and open your project. It also guides first time setup when needed so you can start running specs with the right configuration.
If you prefer to skip the Launchpad, run
cypress open with --browser and either --component or --e2e to go directly to the Specs page.
Specs​

After you pick a browser, the Specs page lists your spec files with name, path, and recent run details. Click a spec to run it, create a new spec, or search by name.
The Specs page shows:
Last updated​
Shows when the spec file last changed on your machine, based on git or filesystem data. Values can differ across machines.
Latest runs​
Shows the last time the spec ran and the last four statuses. Results are scoped to your current git branch when available, then the default branch, then all branches. Data comes from Cypress Cloud.
Average duration​
Shows the average time to run the spec, calculated from the last four runs. Useful for spotting slow specs. Data comes from Cypress Cloud.
Flake annotation​
A test is considered to be flaky when it can pass and fail across multiple retry attempts without any code changes.
Specs with flaky tests show an indicator next to the name. Hover to see rate, severity, and last flaky across the last 50 runs. Click to open Flaky Test Analytics in Cypress Cloud.
Running Specs​

Click a spec to open the Test Runner and run it. Use the search bar to filter by name.
You can run multiple specs sequentially using experimentalRunAllSpecs.
experimentalRunAllSpecs works with End to End Testing. The feature is experimental and may change. Review known limitations in the linked GitHub Discussion. Running many specs in sequence can consume more resources.
Runs​
When your project records to Cypress Cloud, the app shows your latest recorded runs directly in open mode. This gives branch scoped results in context while you debug locally.
- Authentication: Sign in to Cypress Cloud using the profile in the top right.
- Branch scoping: Cypress reads your current git branch to scope results. It first shows runs from that branch. If no runs are found, it falls back to the default branch, then to all branches.
- Git information: To scope runs correctly, the app needs git metadata. Ensure git is available and that you send git information to Cypress Cloud. In some environments, such as
dockerordocker-compose, pass git information with custom system environment variables. - Run titles: Each run title comes from the git commit message. Click a run to open it in Cypress Cloud.

Debug​
The Debug page in the Cypress app helps you investigate failed CI test runs recorded to Cypress Cloud without leaving the app. You can review failures, rerun only the failed tests, and open Test Replay along with screenshots, videos, and logs.

What the Debug page shows​
- Latest completed recorded run that matches the
HEADcommit of your working directory - If none is found, the most recent run on your current branch, then the default branch
- The first 100 failed tests, each with a link to view the full run in Cypress Cloud and open Test Replay
Requirements​
- Authentication: Sign in to Cypress Cloud using the profile in the top right.
- **Git information:**Provide git metadata so the app can match your
HEADcommit and branch. In environments likedockerordocker-compose, pass git information with custom system environment variables
Cloud run notifications​
Get notifications in the Cypress app for recorded runs from Cypress Cloud. Notifications appear in open mode when you are signed in and your project records to Cloud. Click a notification to open the run in Cypress Cloud. Learn more in Cloud run notifications.

Test Runner​
The Cypress Test Runner is where you run and debug specs in open mode. It executes commands step by step, renders the Application or Component Under Test, and streams details to the Command Log so you can see what happened and why. Use the Test Runner to reproduce failures, inspect the DOM, and iterate quickly during development.
Like the experience of the Cypress app's open mode for debugging tests? You can get the same experience in Test Replay for runs recorded in CI in Cypress Cloud.

Command Log​
The Cypress Command Log (left panel) lists every command and hook in order for each test in the spec file. Click a test to expand its commands, including commands from before, beforeEach, afterEach, and after hooks. Each entry is interactive and links to a snapshot and console details so you can see what happened and why.

Open files in your IDE​
Links in the Command Log often point to the source file where a command is defined. Click a link to open the file in your preferred file opener.

Time traveling​
Hover over any command in the Command Log to restore the Application or Component Under Test to the state it had when that command ran. Cypress captures a snapshot for every command, which lets you time travel to previous states while you debug.
By default, Cypress keeps 50 tests worth of snapshots and command data for
time traveling. If you are seeing extremely high memory consumption in your
browser, you may want to lower the numTestsKeptInMemory in your
Cypress configuration.
In this example, hovering over contains changes the state of the AUT preview:

When you hover over a command, Cypress restores the snapshot from when that command resolved. Because cy.contains() finds a DOM element, Cypress highlights the element and scrolls it into view.
While you hover over cy.contains(), Cypress also restores the URL that was present when the snapshot was taken.
Pinning snapshots​
Click any command to pin its snapshot. Pinning locks the Application or Component Under Test to the state it had when that command executed and opens extra details in the console.
In this example, clicking the CLICK command highlights it and shows:

1. Pinned snapshot​
The snapshot is pinned. Hovering other commands does not change the preview, which lets you inspect the DOM at that moment in time.
2. Event hitbox​
Action commands like .click() show a red hitbox at the event coordinates.