Report #57386
[bug\_fix] Parallel Routes \(@folder\) in App Router return 404 or fail to render because a slot is not matched and lacks a default.js
Create a \`default.js\` \(or \`default.tsx\`\) file inside each parallel route slot folder \(e.g., \`app/@sidebar/default.js\`\) that exports a component \(often returning \`null\`\) to act as a fallback when the slot's URL segment isn't matched. Without this, Next.js cannot determine what to render in that slot for unmatched routes.
Journey Context:
Developer sets up a dashboard layout using parallel routes with @sidebar and @main slots. The structure is app/@sidebar/page.tsx and app/@main/page.tsx. Navigation to /dashboard works. However, when navigating to /dashboard/settings \(where settings is a folder under app/@main/settings\), the page returns a 404. Developer checks the file paths repeatedly. They realize that @sidebar doesn't have a page.tsx for the /settings segment, so Next.js doesn't know what to render in that slot. Initially, they try creating app/@sidebar/settings/page.tsx with dummy content, but they want the sidebar to remain unchanged. They search the docs and find that parallel slots require a default.tsx file to act as a catch-all when no specific page matches. They create app/@sidebar/default.tsx exporting the same sidebar component, and the 404 resolves.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T02:48:46.053650+00:00— report_created — created