{"record":{"id":"bd1fd3a036cc1582","repo":"nuxt/nuxt","slug":"nuxt-nuxt-entry-was-not-replaced-by-a-builder-e","errorCode":null,"errorMessage":"[nuxt] nuxt/entry was not replaced by a builder. Ensure a Nuxt builder (Vite, Webpack, or Rspack) is configured.","messagePattern":"\\[nuxt\\] nuxt/entry was not replaced by a builder\\. Ensure a Nuxt builder \\(Vite, Webpack, or Rspack\\) is configured\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"packages/nuxt/src/core/nuxt.ts","lineNumber":85,"sourceCode":"    hooks.callHookParallel = (...args) => runWithNuxtContext(nuxt, () => callHookParallel(...args))\n  }\n  hooks.callHookWith = (...args) => runWithNuxtContext(nuxt, () => callHookWith(...args))\n\n  const nuxt: Nuxt = {\n    __name: randomUUID(),\n    _version: pkg.version,\n    _asyncLocalStorageModule: options.experimental.debugModuleMutation ? new AsyncLocalStorage() : undefined,\n    hooks,\n    callHook: hooks.callHook,\n    addHooks: hooks.addHooks,\n    hook: hooks.hook,\n    ready: () => runWithNuxtContext(nuxt, () => initNuxt(nuxt)),\n    close: async () => { await hooks.callHook('close', nuxt) },\n    vfs: {},\n    apps: {},\n    buildOutputs: {\n      ssrStyles: () => 'export default {}',\n      serverEntry: () => `export default () => { throw new Error('[nuxt] nuxt/entry was not replaced by a builder. Ensure a Nuxt builder (Vite, Webpack, or Rspack) is configured.') }`,\n      clientManifest: () => 'export default {}',\n      clientPrecomputed: () => 'export default undefined',\n      entryChunkName: () => 'export const entryFileName = undefined',\n      entryIds: () => 'export default []',\n    },\n    runWithContext: fn => runWithNuxtContext(nuxt, fn),\n    options,\n  }\n\n  if (options.experimental.debugModuleMutation) {\n    const proxiedOptions = new WeakMap<NuxtModule, NuxtOptions>()\n\n    Object.defineProperty(nuxt, 'options', {\n      get () {\n        const currentModule = nuxt._asyncLocalStorageModule!.getStore()\n        if (!currentModule) {\n          return options\n        }","sourceCodeStart":67,"sourceCodeEnd":103,"githubUrl":"https://github.com/nuxt/nuxt/blob/11fb88e223da2234496c9750dd48124bdb30b676/packages/nuxt/src/core/nuxt.ts#L67-L103","documentation":"Default stub wired into `nuxt.buildOutputs.serverEntry` in `createNuxt`. It throws when the `nuxt/entry` specifier was never replaced by a builder plugin, meaning no Nuxt builder (Vite, Webpack, or Rspack) is configured. The stub exists so the SSR module graph can resolve `nuxt/entry` at build time and fail loudly instead of silently emitting an empty entry.","triggerScenarios":"Building/running Nuxt without an active builder module registered, so `nuxt/entry` resolves to this throwing stub instead of the real Vue `createApp` entry.","commonSituations":"A custom Nuxt setup or test harness that constructs `createNuxt` and runs the build without installing/importing `@nuxt/vite-builder` (or the webpack/rspack equivalent); a misconfigured `modules`/`builder` selection; an integration that strips the builder module.","solutions":["Ensure a Nuxt builder is installed and registered (Vite by default via `@nuxt/vite-builder`).","If using webpack/rspack, add `@nuxt/webpack-builder` / `@nuxt/rspack-builder` to the build modules.","In a custom harness, import the builder's entry (or its `impl.ts`) before building.","Verify `nuxt.config` does not disable/remove the builder module."],"exampleFix":"// before: custom harness builds without a builder\nconst nuxt = await createNuxt({ ... })\nawait nuxt.build()\n\n// after: register the Vite builder\nimport { NuxtViteBuilder } from '@nuxt/vite-builder'\n// (or rely on the default builder by using the standard nuxt build pipeline)","handlingStrategy":"validation","validationCode":"const builders = nuxt.options.modules?.some(m => /vite|webpack|rspack/i.test(String(m)))\nif (!builders && !nuxt.options.builder) {\n  throw new Error('No Nuxt builder (Vite/webpack/rspack) is configured')\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Always register a Nuxt builder in modules/config.","In custom harnesses, import the builder entry before building.","Verify nuxt.config doesn't strip the default builder."],"tags":["build","config","builder","ssr","internal"],"backgroundTag":null,"analyzedSha":"11fb88e223da2234496c9750dd48124bdb30b676","analyzedAt":"2026-08-12T13:24:40.320Z","schemaVersion":2},"datasetVersion":"2026-08-12T18:17:37.767Z"}