name: Bug report
description: File a bug report for puppeteer or puppeteer-core
title: '[Bug]: '
type: 'Bug'
body:
  - type: markdown
    attributes:
      value: >
        ### Thanks for taking the time to fill out this bug report!

        **Before filling out this report**, please check our
        [Troubleshooting](https://pptr.dev/troubleshooting) guide for solutions
        to common issues.

        If your issue is not about `puppeteer` or `puppeteer-core` packages, check out
        other issue templates at https://github.com/puppeteer/puppeteer/issues/new/choose.
  - id: mvce
    type: textarea
    attributes:
      label: Minimal, reproducible example
      description: >
        Provide a [minimal, reproducible
        example](https://stackoverflow.com/help/minimal-reproducible-example) of
        the bug you are facing. If possible, embed the test page content into the
        Puppeteer script using `page.setContent()`.
      render: TypeScript
      placeholder: |
        import puppeteer from 'puppeteer';

        const browser = await puppeteer.launch();
        const page = await browser.newPage();

        // Set test content.
        await page.setContent(`<div>test</div>`);

        // Actions to trigger the bug.

        await browser.close();
    validations:
      required: true
  - id: background
    type: textarea
    attributes:
      label: Background
      description: >
        Optional. Briefly describe your use-case that led to this issue. This can help us
        understand the general situation to provide better, higher quality
        feedback and help others in similar situations.
      placeholder: |
        I've been trying to ...
  - id: expectation
    type: textarea
    attributes:
      label: Expectation
      description: What are you expecting the code to do?
      placeholder: |
        I expected ...
    validations:
      required: true
  - id: reality
    type: textarea
    attributes:
      label: Reality
      description: What actually happens?
      placeholder: |
        In reality, ...
    validations:
      required: true
  - id: puppeteer-configuration
    type: textarea
    attributes:
      label: Puppeteer configuration file (if used)
      description: >
        Copy and paste your [configuration
        file](https://pptr.dev/guides/configuration/) (if used).

        *No need for backticks — this automatically gets formatted into code.*
      render: TypeScript
  - id: puppeteer-version
    type: input
    attributes:
      label: Puppeteer version
      description: >
        What version of Puppeteer are you running? *This must be a valid semver
        tag, for example, `20.8.1`.*
    validations:
      required: true
  - id: node-version
    type: input
    attributes:
      label: Node version
      description: >
        What supported version of Node.js are you running? *This must be a valid
        semver tag, for example, `20.3.1`.*
    validations:
      required: true
  - id: pkg-mgr
    type: dropdown
    attributes:
      label: Package manager
      description: What package manager are you running?
      options:
        - npm
        - yarn
        - pnpm
    validations:
      required: true
  - id: pkg-mgr-version
    type: input
    attributes:
      label: Package manager version
      description: >
        What version of the package manager are you running? *This must be a
        valid semver tag, for example, `9.6.7`.*
    validations:
      required: true
  - id: operating-system
    type: dropdown
    attributes:
      label: Operating system
      description: What supported operating system are you running?
      options:
        - Windows
        - macOS
        - Linux
    validations:
      required: true
