---
id: app/plugins/plugins-guide
title: How to use Cypress Plugins
description: Learn how to install and use Cypress plugins.
section: app
source_path: docs/app/plugins/plugins-guide.mdx
version: 524ff5211e60b5d53e55d6ad976d83966f66e7cd
updated_at: '2026-04-30T14:20:05.396Z'
---
# How to use Cypress Plugins

##### What you'll learn

*   How to install a plugin
*   How to use a plugin

Cypress maintains a curated list of plugins created by us and the community. Plugins from our [official list](/llm/markdown/app/plugins/plugins-list.md) are npm modules. This enables them to be versioned and updated separately without needing to update Cypress itself.

You can install any published plugin using npm:

*   npm
*   yarn
*   pnpm

```
npm install <plugin name> --save-dev
```

```
yarn add <plugin name> --dev
```

```
pnpm add --save-dev <plugin name>
```

## Using a plugin

Add your plugin to the [`setupNodeEvents`](/llm/markdown/app/references/configuration.md#setupNodeEvents) function in the [Cypress configuration](/llm/markdown/app/references/configuration.md). Please follow any additional instructions provided by the plugin's documentation. Here's an example of what this might look like:

*   cypress.config.js
*   cypress.config.ts

```
const { defineConfig } = require('cypress')module.exports = defineConfig({  // setupNodeEvents can be defined in either  // the e2e or component configuration  e2e: {    setupNodeEvents(on, config) {      // bind to the event we care about      on('<event>', (arg1, arg2) => {        // plugin stuff here      })    },  },})
```

```
import { defineConfig } from 'cypress'export default defineConfig({  // setupNodeEvents can be defined in either  // the e2e or component configuration  e2e: {    setupNodeEvents(on, config) {      // bind to the event we care about      on('<event>', (arg1, arg2) => {        // plugin stuff here      })    },  },})
```

For information on writing plugins, please check out our [Node Events Overview](/llm/markdown/api/node-events/overview.md).
