sveltejs/kit · warning
Overwriting with fallback page. Consider using a different…
Error message
Overwriting ${dest} with fallback page. Consider using a different name for the fallback.
What it means
When prerendering generates a fallback page, generateFallback writes it to `dest` inside the output directory. If a file already exists at that path (e.g. a prerendered page already produced a file with the same name), it would be silently replaced, so the builder logs this warning advising you to rename the fallback to avoid clobbering real content.
Solutions
- Change `prerender.fallback` in svelte.config.js to a unique filename not produced by prerendering (e.g. '200.html' or 'fallback.html').
- If overwriting is intended (SPA serving from the fallback), ignore the warning.
- Disable prerendering of the colliding route or exclude it via prerender.entries.
Example fix
// before (svelte.config.js)
prerender: { fallback: 'index.html' }
// after
prerender: { fallback: '200.html' } Defensive patterns
Strategy: validation
Validate before calling
import { existsSync } from 'node:fs';
const fallbackDest = `.svelte-kit/output/prerendered/${config.prerender.fallback}`;
if (existsSync(fallbackDest)) {
console.warn(`Fallback name collides with prerendered output: ${fallbackDest}`);
} Prevention
- Name the fallback something prerendering never emits (e.g. '200.html')
- Never use 'index.html' as a fallback when the root route is prerendered
- Audit prerender.entries against the fallback filename after config changes
When it happens
Trigger: Calling generateFallback with `kit.prerender.entries`/fallback configured such that `dest = out_dir + fallback path` already exists from prerendered output, detected via existsSync(dest).
Common situations: Setting `fallback: 'index.html'` in a SPA while also prerendering the root route; a fallback name colliding with a prerendered page's directory/file; migrating an SPA to prerendered pages without updating the fallback option.
Related errors
- Warning: The following routes have an ISR config which is…
- Cloudflare Pages Functions' includes/excludes exceeds…
- Detected . Please remove adapter-static options to enable…
- No netlify.toml found. Using default publish directory…
- Warning: The following modules failed to locate…
AI-assisted analysis of sveltejs/kit@03f1687fe6 (2026-09-02).
Data as JSON: /api/errors/7392937b7a6e6291.
Report an issue: GitHub.
Appendix: source
Thrown at packages/kit/src/core/adapt/builder.js:189
route_data.map((route) => /** @type {import('types').RouteData} */ (lookup.get(route))),
vite_config.root
);
},
async generateFallback(dest) {
const manifest_path = `${config.outDir}/output/server/manifest-full.js`;
const env = loadEnv(vite_config.mode, config.env.dir, '');
const fallback = await generate_fallback({
manifest_path,
env,
out_dir: config.outDir,
origin: config.paths.origin || 'http://sveltekit-prerender',
assets: config.files.assets
});
if (existsSync(dest)) {
log.warn(
`\nOverwriting ${dest} with fallback page. Consider using a different name for the fallback.\n`
);
}
write(dest, fallback);
},
generateEnvModule() {
if (!build_data.client?.uses_env_dynamic_public) return;
const dest = `${config.outDir}/output/prerendered/dependencies/${config.appDir}`;
const env = loadEnv(vite_config.mode, config.env.dir, '');
/** @type {Record<string, any>} */
const values = {};
const variables = explicit_env_config ?? {};
/** @type {Record<string, StandardSchemaV1.Issue[]>} */View on GitHub (pinned to 03f1687fe6)