#2594·wxt

Enable Umami analytics generate error in offscreen

Author: PawelGawlikDevCreated Aug 11, 2026Updated Aug 16, 2026
Labelspending-triage

Describe the bug

I'm provide umami analytics in my extension

app.config.ts export default defineAppConfig({ analytics: { enabled: storage.defineItem("local:enabled", { init: () => false }), userId: storage.defineItem("local:key", { init: () => crypto.randomUUID() as string | undefined }), userProperties: storage.defineItem("local:properties-key", { init: () => ({}) }), providers: [ umami({ apiUrl: umamiApiUrl, websiteId: umamiWebsiteId, domain: umamiDomain }) ] } }); And I have offscreen that run with my extension on browser run

background.ts ` (async () => { const contexts = await browser.runtime.getContexts({ contextTypes: [browser.runtime.ContextType.OFFSCREEN_DOCUMENT] });

if (!contexts.length) {
  await browser.offscreen.createDocument({
    url: "/offscreen.html",
    reasons: ["DOM_SCRAPING"],
    justification: "Some reason"
  });
}

await waitForOffscreenReady();

})(); `

With this I got error in offscreen

Uncaught (in promise) Error: You must add the 'storage' permission to your manifest to use 'wxt/storage' even when I have storage in my manifest

Reproduction

Enable umami in app with described steps

Steps to reproduce

No response

System Info

bash
Mac os,

Used Package Manager

pnpm

Validations