Nitro · Server

NITRO0009Do not use browser APIs in Nitro server files

Browser globals are unavailable in Nitro server runtime.

Why it happens

Nitro code can run in Node, edge, or worker runtimes where browser APIs such as window, document, and localStorage do not exist.

Fix

Use request/event data, server utilities, or move browser work to app client code.

Example

Avoid browser APIs in server handlers

Before

export default defineEventHandler(() => {
  return window.location.href
})

After

export default defineEventHandler((event) => {
  return getRequestURL(event).href
})

Verify the fix

Run only this rule after editing so the report stays focused on the diagnostic you are closing:

pnpm vite-doctor . --framework nitro --rules nitro/server/no-browser-api
Copyright © 2026