{"record":{"id":"a9f1a72b772fc7f2","repo":"microsoft/playwright","slug":"name-is-not-supported-on-hostplatform","errorCode":null,"errorMessage":"${name} is not supported on ${hostPlatform}","messagePattern":"(.+?) is not supported on (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/playwright-core/src/server/registry/index.ts","lineNumber":518,"sourceCode":"\ninterface ExecutableImpl extends Executable {\n  _install?: (force: boolean) => Promise<void>;\n  _dependencyGroup?: DependencyGroup;\n  _isHermeticInstallation?: boolean;\n}\n\nexport class Registry {\n  private _executables: ExecutableImpl[];\n\n  constructor(browsersJSON: BrowsersJSON) {\n    const descriptors = readDescriptors(browsersJSON);\n    const findExecutablePath = (dir: string, name: keyof typeof EXECUTABLE_PATHS) => {\n      const tokens = EXECUTABLE_PATHS[name][shortPlatform];\n      return tokens ? path.join(dir, ...tokens) : undefined;\n    };\n    const executablePathOrDie = (name: string, e: string | undefined, installByDefault: boolean, sdkLanguage: string) => {\n      if (!e)\n        throw new Error(`${name} is not supported on ${hostPlatform}`);\n      const installCommand = buildPlaywrightCLICommand(sdkLanguage, `install${installByDefault ? '' : ' ' + name}`);\n      if (!canAccessFile(e)) {\n        const currentDockerVersion = readDockerVersionSync();\n        const preferredDockerVersion = currentDockerVersion ? dockerVersion(currentDockerVersion.dockerImageNameTemplate) : null;\n        const isOutdatedDockerImage = currentDockerVersion && preferredDockerVersion && currentDockerVersion.dockerImageName !== preferredDockerVersion.dockerImageName;\n        const isFfmpeg = name === 'ffmpeg';\n        let prettyMessage;\n        if (isOutdatedDockerImage) {\n          prettyMessage = [\n            `Looks like Playwright was just updated to ${preferredDockerVersion.driverVersion}.`,\n            `Please update docker image as well.`,\n            `-  current: ${currentDockerVersion.dockerImageName}`,\n            `- required: ${preferredDockerVersion.dockerImageName}`,\n            ``,\n            `<3 Playwright Team`,\n          ].join('\\n');\n        } else if (isFfmpeg) {\n          prettyMessage = [","sourceCodeStart":500,"sourceCodeEnd":536,"githubUrl":"https://github.com/microsoft/playwright/blob/c8fc3bf8d31542d59b4d4d9eaab1df93ff541dc6/packages/playwright-core/src/server/registry/index.ts#L500-L536","documentation":"Thrown by Registry.executablePathOrDie when an executable has no path token for the current shortPlatform (the EXECUTABLE_PATHS table has no entry for this browser on this OS/arch). It means Playwright does not ship or know a binary location for that browser on the host platform at all, distinct from 'the binary exists but is not downloaded'.","triggerScenarios":"Requesting a browser executable that is not built for the current platform/arch (e.g. a Mac-only or Windows-only build on Linux, or an arm64/x64 mismatch); using a browser descriptor whose revision dropped support for the current platform after an upgrade.","commonSituations":"Cross-arch containers (x64 browser list on arm64 host without emulation); upgrading Playwright to a version that no longer publishes a binary for the host; requesting a browser (e.g. webkit-wsl) outside its supported platform.","solutions":["Confirm the browser is published for your platform/arch in the version's browsers.json; if not, pick a supported browser (chromium usually has the widest coverage).","Match the Playwright/browsers version to your architecture, or run under emulation that matches a published build.","For platform-specific builds like webkit-wsl, run on the platform they require (see errors 357/358)."],"exampleFix":"# arm64 host requesting an x64-only build -> 'is not supported on'\n# use chromium which is published broadly\nconst browser = await chromium.launch();","handlingStrategy":"validation","validationCode":"const exe = registry.findExecutable(name);\nif (!exe || !exe.executablePath())\n  throw new Error(`${name} has no build for this platform; choose a supported browser`);","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Confirm the browser is published for your platform/arch in browsers.json.","Default to chromium for the widest platform coverage.","Pin Playwright and Docker image versions consistently."],"tags":["registry","executable","platform","unsupported","browsers"],"backgroundTag":null,"analyzedSha":"c8fc3bf8d31542d59b4d4d9eaab1df93ff541dc6","analyzedAt":"2026-08-12T07:26:36.950Z","schemaVersion":2},"datasetVersion":"2026-08-12T13:17:24.610Z"}