Skip to content

default.js does not trigger sibling layout.js #89920

@amannn

Description

@amannn

Link to the code that reproduces this issue

amannn/nextjs-bug-repro-default-layout@0470cf2

To Reproduce

  1. Run app
  2. Open /

Current vs. Expected behavior

Structure:

src/
└── app
    ├── @slot
    │   ├── default.tsx
    │   └── layout.tsx
    ├── layout.tsx
    └── page.tsx

On /, app/@slot/default.tsx renders, but it's not enclosed by app/@slot/layout.tsx.

Based on the available documentation on layouts, I'd expect that they always wrap their sibling entry points within a folder.

If this is not intended, I think it should be documented.

Provide environment information

Operating System:
  Platform: darwin
  Arch: x64
  Version: Darwin Kernel Version 25.2.0: Tue Nov 18 21:09:34 PST 2025; root:xnu-12377.61.12~1/RELEASE_X86_64
  Available memory (MB): 16384
  Available CPU cores: 12
Binaries:
  Node: 24.13.0
  npm: 11.6.2
  Yarn: 1.22.22
  pnpm: 10.28.0
Relevant Packages:
  next: 16.2.0-canary.37 // Latest available version is detected (16.2.0-canary.37).
  eslint-config-next: N/A
  react: 19.2.4
  react-dom: 19.2.4
  typescript: 5.9.3
Next.js Config:
  output: N/A

Which area(s) are affected? (Select all that apply)

Parallel & Intercepting Routes

Which stage(s) are affected? (Select all that apply)

next dev (local)

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions