---
id: api/commands/clear
title: cy.clear()
description: Clear the value of an input or textarea in Cypress.
section: api
source_path: docs/api/commands/clear.mdx
version: fe7d01e6095365087d63e24e2e44ce4d8e0ecfa0
updated_at: '2026-08-20T16:07:04.458Z'
---
# clear

Clear the value of an `input` or `textarea`.

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

An alias for [`.type('{selectall}{del}')`](/llm/markdown/api/commands/type.md)

## Syntax

```
.clear()
.clear(options)
```

### Usage

**Correct Usage**

```
cy.get('[type="text"]').clear() // Clear text input
cy.get('textarea').type('Hi!')
cy.get('textarea').clear() // Clear textarea
cy.focused().clear() // Clear focused input/textarea
```

**Incorrect Usage**

```
cy.clear() // Errors, cannot be chained off 'cy'
cy.get('nav').clear() // Errors, 'get' doesn't yield input or textarea
cy.clock().clear() // Errors, 'clock' does not yield DOM elements
```

### Arguments

**options _(Object)_**

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

| Option | Default | Description |
| --- | --- | --- |
| `animationDistanceThreshold` | [`animationDistanceThreshold`](/llm/markdown/app/references/configuration.md#Actionability) | The distance in pixels an element must exceed over time to be [considered animating](/llm/markdown/app/core-concepts/interacting-with-elements.md#Animations). |
| `force` | `false` | Forces the action, disables [waiting for actionability](#Assertions) |
| `log` | `true` | Displays the command in the [Command log](/llm/markdown/app/core-concepts/open-mode.md#Command-Log) |
| `scrollBehavior` | [`scrollBehavior`](/llm/markdown/app/references/configuration.md#Actionability) | Viewport position to where an element [should be scrolled](/llm/markdown/app/core-concepts/interacting-with-elements.md#Scrolling) before executing the command. Accepts a single alignment, a per-axis `{ block, inline }` object, or `false`. |
| `timeout` | [`defaultCommandTimeout`](/llm/markdown/app/references/configuration.md#Timeouts) | Time to wait for `.clear()` to resolve before [timing out](#Timeouts) |
| `waitForAnimations` | [`waitForAnimations`](/llm/markdown/app/references/configuration.md#Actionability) | Whether to wait for elements to [finish animating](/llm/markdown/app/core-concepts/interacting-with-elements.md#Animations) before executing the command. |

### Yields

*   `.clear()` 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 the subject after `.clear()`.

## Examples

### No Args

#### Clear the input and type a new value

```
cy.get('textarea').clear()
cy.get('textarea').type('Hello, World')
```

## Notes

### Actionability

#### The element must first reach actionability

`.clear()` is an "action command" that follows all the rules of [Actionability](/llm/markdown/app/core-concepts/interacting-with-elements.md).

### Documentation

`.clear()` is an alias for [`.type({selectall}{del})`](/llm/markdown/api/commands/type.md).

Please read the [`.type()`](/llm/markdown/api/commands/type.md) documentation for more details.

## Rules

### Requirements

*   `.clear()` requires being chained off a command that yields DOM element(s).
*   `.clear()` requires the element to be an `input` or `textarea`.

### Assertions

*   `.clear()` will automatically wait for the element to reach an [actionable state](/llm/markdown/app/core-concepts/interacting-with-elements.md)
*   `.clear()` will automatically [retry](/llm/markdown/app/core-concepts/retry-ability.md) until all chained assertions have passed

### Timeouts

*   `.clear()` can time out waiting for the element to reach an [actionable state](/llm/markdown/app/core-concepts/interacting-with-elements.md).
*   `.clear()` can time out waiting for assertions you've added to pass.

## Command Log

**_Clear the input and type a new value_**

```
cy.get('input[name="name"]').clear()
cy.get('input[name="name"]').type('Jane Lane')
```

The commands above will display in the Command Log as:

When clicking on `clear` within the command log, the console outputs the following:

## See also

*   [`.blur()`](/llm/markdown/api/commands/blur.md)
*   [`.focus()`](/llm/markdown/api/commands/focus.md)
*   [`.type()`](/llm/markdown/api/commands/type.md)
