{"id":"181783b7344b4f5f","repo":"vitest-dev/vitest","slug":"stackblitz-environment-does-not-support-the-reso","errorCode":null,"errorMessage":"stackblitz environment does not support the ${resolved.browser.provider?.name} provider. Please, use \"@vitest/browser-preview\" instead.","messagePattern":"stackblitz environment does not support the (.+?) provider\\. Please, use \"@vitest/browser-preview\" instead\\.","errorType":"validation","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/vitest/src/node/config/resolveConfig.ts","lineNumber":872,"sourceCode":"  resolved.browser.viewport.height ??= 896\n\n  resolved.browser.locators ??= {} as any\n  resolved.browser.locators.testIdAttribute ??= 'data-testid'\n  resolved.browser.locators.exact ??= true\n  resolved.browser.locators.errorFormat ??= 'all'\n\n  if (typeof resolved.browser.provider === 'string') {\n    const source = `@vitest/browser-${resolved.browser.provider}`\n    throw new TypeError(\n      'The `browser.provider` configuration was changed to accept a factory instead of a string. '\n      + `Add an import of \"${resolved.browser.provider}\" from \"${source}\" instead. See: https://vitest.dev/config/browser/provider`,\n    )\n  }\n\n  const isPreview = resolved.browser.provider?.name === 'preview'\n\n  if (!isPreview && resolved.browser.enabled && stdProvider === 'stackblitz') {\n    throw new Error(`stackblitz environment does not support the ${resolved.browser.provider?.name} provider. Please, use \"@vitest/browser-preview\" instead.`)\n  }\n  if (isPreview && resolved.browser.screenshotFailures === true) {\n    console.warn(c.yellow(\n      [\n        `Browser provider \"preview\" doesn't support screenshots, `,\n        `so \"browser.screenshotFailures\" option is forcefully disabled. `,\n        `Set \"browser.screenshotFailures\" to false or remove it from the config to suppress this warning.`,\n      ].join(''),\n    ))\n    resolved.browser.screenshotFailures = false\n  }\n  else {\n    resolved.browser.screenshotFailures ??= !isPreview && !resolved.browser.ui\n  }\n  if (resolved.browser.provider && resolved.browser.provider.options == null) {\n    resolved.browser.provider.options = {}\n  }\n","sourceCodeStart":854,"sourceCodeEnd":890,"githubUrl":"https://github.com/vitest-dev/vitest/blob/d568f8ce3739b532d5bf2c1ee1e45e8a8a473d09/packages/vitest/src/node/config/resolveConfig.ts#L854-L890","documentation":"StackBlitz runs in a sandboxed browser environment that cannot launch real browser drivers (Playwright/WebdriverIO). Only the `preview` provider works there. The check at resolveConfig.ts:871 throws when browser mode is enabled with a non-preview provider inside a StackBlitz environment.","triggerScenarios":"On StackBlitz, set `browser: { enabled: true, provider: playwright }` and run vitest. `stdProvider === 'stackblitz'` is detected from the runtime.","commonSituations":"Opening a project on StackBlitz that was authored locally with a real browser provider; CI config reused inside StackBlitz.","solutions":["Use the preview provider on StackBlitz: `browser: { enabled: true, provider: preview }`.","Install/use `@vitest/browser-preview` as the error suggests.","Conditionally set the provider based on environment (e.g. `provider: process.env.STACKBLITZ ? preview : playwright`)."],"exampleFix":"// before\nexport default defineConfig({ test: { browser: { enabled: true, provider: playwright } } })\n// after (on StackBlitz)\nimport { preview } from '@vitest/browser-preview'\nexport default defineConfig({ test: { browser: { enabled: true, provider: preview } } })","handlingStrategy":"fallback","validationCode":"function pickStackblitzProvider(playwright: any, preview: any) {\n  return process.env.STACKBLITZ || /stackblitz/i.test(navigator?.userAgent || '') ? preview : playwright\n}","typeGuard":"function isStackblitz(): boolean {\n  return !!process.env.STACKBLITZ\n}","tryCatchPattern":null,"preventionTips":["On StackBlitz, default to the preview provider.","Conditionally choose the provider based on environment.","Document the sandbox limitation for contributors."],"tags":["browser","provider","stackblitz","environment","sandbox"],"analyzedSha":"d568f8ce3739b532d5bf2c1ee1e45e8a8a473d09","analyzedAt":"2026-08-03T20:23:56.861Z","schemaVersion":2}