{"record":{"id":"7592a3717e0bb51e","repo":"microsoft/playwright","slug":"executable-doesn-t-exist-at-e-wrapinasciibox","errorCode":null,"errorMessage":"Executable doesn't exist at ${e}\n${wrapInASCIIBox(prettyMessage, 1)}","messagePattern":"Executable doesn't exist at (.+?)\n(.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/playwright-core/src/server/registry/index.ts","lineNumber":555,"sourceCode":"            `Video rendering requires ffmpeg binary.`,\n            `Downloading it will not affect any of the system-wide settings.`,\n            `Please run the following command:`,\n            ``,\n            `    ${buildPlaywrightCLICommand(sdkLanguage, 'install ffmpeg')}`,\n            ``,\n            `<3 Playwright Team`,\n          ].join('\\n');\n        } else {\n          prettyMessage = [\n            `Looks like Playwright was just installed or updated.`,\n            `Please run the following command to download new browser${installByDefault ? 's' : ''}:`,\n            ``,\n            `    ${installCommand}`,\n            ``,\n            `<3 Playwright Team`,\n          ].join('\\n');\n        }\n        throw new Error(`Executable doesn't exist at ${e}\\n${wrapInASCIIBox(prettyMessage, 1)}`);\n      }\n      return e;\n    };\n    this._executables = [];\n\n    const chromium = descriptors.find(d => d.name === 'chromium')!;\n    const chromiumExecutable = findExecutablePath(chromium.dir, 'chromium');\n    this._executables.push({\n      name: 'chromium',\n      browserName: 'chromium',\n      directory: chromium.dir,\n      executablePath: () => chromiumExecutable,\n      executablePathOrDie: (sdkLanguage: string) => executablePathOrDie('chromium', chromiumExecutable, chromium.installByDefault, sdkLanguage),\n      installType: chromium.installByDefault ? 'download-by-default' : 'download-on-demand',\n      _validateHostRequirements: (sdkLanguage: string) => this._validateHostRequirements(sdkLanguage, chromium.dir, ['chrome-linux'], [], ['chrome-win']),\n      downloadURLs: this._downloadURLs(chromium),\n      title: chromium.title,\n      revision: chromium.revision,","sourceCodeStart":537,"sourceCodeEnd":573,"githubUrl":"https://github.com/microsoft/playwright/blob/c8fc3bf8d31542d59b4d4d9eaab1df93ff541dc6/packages/playwright-core/src/server/registry/index.ts#L537-L573","documentation":"Thrown by executablePathOrDie when the expected binary path is known for the platform but the file is not present/cannot be accessed. Playwright formats a boxed, human-readable message telling you exactly which command to run to download the missing browsers, including special guidance for ffmpeg and for outdated Docker images.","triggerScenarios":"Playwright was just installed/upgraded but `playwright install` was not run; a CI cache miss wiped the browsers directory; PLAYWRIGHT_BROWSERS_PATH points to an empty or wrong location; using an outdated Docker image after a driver upgrade.","commonSituations":"Fresh `npm install` in CI without the browser download step; Docker image version mismatch with the installed playwright package; browsers directory deleted to save space; misconfigured PLAYWRIGHT_BROWSERS_PATH.","solutions":["Run the install command printed in the error (e.g. `npx playwright install`), which downloads the required browsers.","If using the official Docker image, update it to the tag matching your playwright version.","Verify PLAYWRIGHT_BROWSERS_PATH is set consistently across install and run, or unset it to use the default cache directory."],"exampleFix":"# error tells you the exact command; run it\nnpx playwright install\n# keep path consistent in CI\nexport PLAYWRIGHT_BROWSERS_PATH=/opt/pw-browsers\nnpx playwright install","handlingStrategy":"validation","validationCode":"import { canAccessFile } from '@_playwright'; // or fs.accessSync\nif (!fs.existsSync(exePath))\n  throw new Error('browsers not installed; run `npx playwright install`');","typeGuard":null,"tryCatchPattern":"try {\n  await browser.launch();\n} catch (e) {\n  if (/Executable doesn't exist at/.test(e.message)) {\n    await run('npx', ['playwright', 'install']);\n    await browser.launch(); // one retry after install\n  } else throw e;\n}","preventionTips":["Add `npx playwright install` to your CI setup step and Dockerfile.","Keep PLAYWRIGHT_BROWSERS_PATH consistent between install and run.","Pin the Docker image tag to match the playwright package version."],"tags":["registry","executable","install","browsers","docker"],"backgroundTag":null,"analyzedSha":"c8fc3bf8d31542d59b4d4d9eaab1df93ff541dc6","analyzedAt":"2026-08-12T07:26:36.950Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}