# Error: Missing default.tsx for parallel route slot '@slot'. A default.tsx is required when the slot is not matched by the current route.

- **ID:** `nextjs/parallel-route-missing-default-slot`
- **Domain:** nextjs
- **Category:** build_error
- **Verification:** ai_generated
- **Fix Rate:** 95%

## Root Cause

A parallel route slot (e.g., @modal) does not have a default.tsx file in its directory. When navigating to a route that does not match any file in that slot, Next.js requires a default.tsx to render fallback content.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Next.js 14.x | active | — | — |
| Next.js 15.x | active | — | — |

## Workarounds

1. **Create a default.tsx file in the slot directory. Example: // app/@modal/default.tsx export default function Default() { return null; } This renders nothing when the slot is unmatched.** (95% success)
   ```
   Create a default.tsx file in the slot directory. Example: // app/@modal/default.tsx export default function Default() { return null; } This renders nothing when the slot is unmatched.
   ```
2. **If you want fallback UI, create default.tsx with actual content: // app/@sidebar/default.tsx export default function Default() { return <div>Default sidebar content</div>; }** (95% success)
   ```
   If you want fallback UI, create default.tsx with actual content: // app/@sidebar/default.tsx export default function Default() { return <div>Default sidebar content</div>; }
   ```
3. **Use the parallel route slot only in layouts that always match it, ensuring every route has a corresponding file in the slot. This avoids the need for default.tsx but is less flexible.** (70% success)
   ```
   Use the parallel route slot only in layouts that always match it, ensuring every route has a corresponding file in the slot. This avoids the need for default.tsx but is less flexible.
   ```

## Dead Ends

- **** — Catch-all routes only work for dynamic segments, not for unmatched routes in parallel slots. The framework specifically looks for default.tsx to handle the fallback case. (90% fail)
- **** — This is an overreaction that removes the parallel routing feature entirely. It works but loses the architectural benefit of parallel routes, making it a poor practical fix. (30% fail)
- **** — Parallel route slots must be prefixed with @. A regular page.tsx will not be treated as a slot and will conflict with the parent route's page. (95% fail)
