A route becomes dynamic when it uses request‑specific data (cookies, headers), or opts out of caching (`cache: 'no-store'`). You can force behavior with segment config like `dynamic = 'force-static'` or `dynamic = 'force-dynamic'`.