---
id: api/commands/pause
title: pause | Cypress Documentation
description: >-
  Stop `cy` commands from running and allow interaction with the application
  under test.
section: api
source_path: docs/api/commands/pause.mdx
version: 6a908a532b1fca4ed18538a4c1c5a9bc7f24f403
updated_at: '2026-05-01T19:25:18.656Z'
---
# pause

Stop `cy` commands from running and allow interaction with the application under test. You can then "resume" running all commands or choose to step through the "next" commands from the Command Log.

It is [unsafe](/llm/markdown/app/core-concepts/retry-ability.md#Only-queries-are-retried) to chain further commands that rely on a DOM element as the subject after `.pause()`.

This does not set a `debugger` in your code, unlike [`.debug()`](/llm/markdown/api/commands/debug.md)

## Syntax

```
.pause().pause(options)cy.pause()cy.pause(options)
```

### Usage

**Correct Usage**

```
cy.pause().getCookie('app') // Pause at the beginning of commandscy.get('nav').pause() // Pause after the 'get' commands yield
```

### Arguments

**options _(Object)_**

Pass in an options object to change the default behavior of `.pause()`.

| Option | Default | Description |
| --- | --- | --- |
| `log` | `true` | Displays the command in the [Command log](/llm/markdown/app/core-concepts/open-mode.md#Command-Log) |

### Yields [Learn about subject management](/llm/markdown/app/core-concepts/introduction-to-cypress.md#Subject-Management)

*   `.pause()` yields the same subject it was given.
*   It is [unsafe](/llm/markdown/app/core-concepts/retry-ability.md#Only-queries-are-retried) to chain further commands that rely on a DOM element as the subject after `.pause()`.

## Examples

### No Args

#### Pause after assertion

```
cy.get('a')  .should('have.attr', 'href')  .and('match', /dashboard/)  .pause()cy.get('button').should('not.be.disabled')
```

## Rules

### Requirements [Learn about chaining commands](/llm/markdown/app/core-concepts/introduction-to-cypress.md#Chains-of-Commands)

*   `.pause()` can be chained off of `cy` or off another command.

### Assertions [Learn about assertions](/llm/markdown/app/core-concepts/introduction-to-cypress.md#Assertions)

*   `.pause()` is a utility command.
*   `.pause()` will not run assertions. Assertions will pass through as if this command did not exist.

### Timeouts [Learn about timeouts](/llm/markdown/app/core-concepts/introduction-to-cypress.md#Timeouts)

*   `.pause()` cannot time out.

## Command Log

**_Pause and step through each `.click()` command_**

```
cy.get('#action-canvas').click(80, 75)cy.pause()cy.get('#action-canvas').click(170, 75)cy.get('#action-canvas').click(80, 165)cy.get('#action-canvas').click(100, 185)cy.get('#action-canvas').click(125, 190)cy.get('#action-canvas').click(150, 185)cy.get('#action-canvas').click(170, 165)
```

The commands above will display in the Command Log as:

When clicking on "Next: 'click'" at the top of the Command Log, the Command Log will run only the next command and pause again.

#### Click "Next"

#### Click "Next" again

#### Click "Next" again

#### Click "Next" again

#### Click "Next" again

#### Click "Next" again, then 'Resume'

## See also

*   [Cypress Cloud](https://on.cypress.io/cloud)
*   [`cy.debug()`](/llm/markdown/api/commands/debug.md)
*   [`cy.log()`](/llm/markdown/api/commands/log.md)
*   [`cy.screenshot()`](/llm/markdown/api/commands/screenshot.md)
