{
  "doc": {
    "id": "app/plugins/plugins-guide",
    "title": "How to use Cypress Plugins",
    "description": "Learn how to install and use Cypress plugins.",
    "section": "app",
    "source_path": "/llm/markdown/app/plugins/plugins-guide.md",
    "version": "3cf5b86b3403f604bdf7f3e35025c3bc3865e02c",
    "updated_at": "2026-05-07T17:44:31.931Z",
    "headings": [
      {
        "id": "app/plugins/plugins-guide#how-to-use-cypress-plugins",
        "text": "How to use Cypress Plugins",
        "level": 1
      },
      {
        "id": "app/plugins/plugins-guide#what-youll-learn",
        "text": "What you'll learn",
        "level": 5
      },
      {
        "id": "app/plugins/plugins-guide#using-a-plugin",
        "text": "Using a plugin",
        "level": 2
      }
    ]
  },
  "chunks": [
    {
      "id": "app/plugins/plugins-guide#what-youll-learn",
      "doc_id": "app/plugins/plugins-guide",
      "heading": "What you'll learn",
      "heading_level": 5,
      "content_markdown": "##### What you'll learn\n\n*   How to install a plugin\n*   How to use a plugin\n\nCypress 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.\n\nYou can install any published plugin using npm:\n\n*   npm\n*   yarn\n*   pnpm\n\n```\nnpm install <plugin name> --save-dev\n```\n\n```\nyarn add <plugin name> --dev\n```\n\n```\npnpm add --save-dev <plugin name>\n```\n",
      "section": "app",
      "anchors": [
        "what-youll-learn"
      ],
      "path": "/llm/json/chunked/app/plugins/plugins-guide.json",
      "token_estimate": 116
    },
    {
      "id": "app/plugins/plugins-guide#using-a-plugin",
      "doc_id": "app/plugins/plugins-guide",
      "heading": "Using a plugin",
      "heading_level": 2,
      "content_markdown": "## Using a plugin\n\nAdd 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:\n\n*   cypress.config.js\n*   cypress.config.ts\n\n```\nconst { 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      })    },  },})\n```\n\n```\nimport { 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      })    },  },})\n```\n\nFor information on writing plugins, please check out our [Node Events Overview](/llm/markdown/api/node-events/overview.md).\n",
      "section": "app",
      "anchors": [
        "using-a-plugin"
      ],
      "path": "/llm/json/chunked/app/plugins/plugins-guide.json",
      "token_estimate": 195
    }
  ]
}