Back to blog

Which TanStack libraries fit a Next.js app

Wlad K.·Published ·Last updated

TanStack publishes a catalog, not one install. People search the name and try to add the whole menu.

A Next.js SaaS does not need a second router. NextBento stays Next.js 16, Supabase, Stripe, and Resend. $59 one-time. What this kit actually wired is in TanStack Query in a Next.js SaaS boilerplate. This post is the map.

The catalog is a menu

On 21 September 2026, tanstack.com/libraries listed separate tools on one page. One entry is described as a full-stack framework powered by TanStack Router. Another is async server-state. Another is headless table infrastructure. Those are different products. Installing all of them is how a kit grows a second framework next to the App Router.

Query and Table sit beside Next.js

Next.js documents React Query, the earlier name for TanStack Query, as a way to fetch inside Client Components, with that library's own cache. (Fetching data) TanStack Table says it supplies state and typed APIs without prescribing a single element or style. (Table)

That pair matches a dashboard. The server renders the first list. Query refreshes it. Table sorts and filters rows you already have. This kit's tasks and users tables were already on Table v8. Query landed on API keys and onboarding. Why the full API key stays out of the cache is the other post. I will not repeat the wiring here.

Router and Start are a different application

Start is the framework. Router is the routing layer under it. Both replace the job Next.js already does: file routes, Server Components, route handlers. The libraries index puts that framework in its own entry, apart from Query and Table. (Libraries)

If the plan is to leave Next.js for TanStack Start, this kit is not that.

What this kit skipped

Form would replace react-hook-form. The form primitive in the product repo imports useFormContext from that package, and the auth screens follow it. A swap is a rewrite, not a one-line dependency.

Store overlaps Zustand. The mail screen already uses Zustand for client UI state. Query's overview is explicit that server state and client state are different jobs. (Query overview)

The libraries index describes one entry, TanStack DB, as the reactive client-first store for your API. (Libraries) Privileged reads in this kit go through API routes, not a client database handle. Virtual, hotkeys, and pacing utilities are real libraries. The demo lists here are short, so they are not dependencies.

Charts stay on Recharts. There is no in-app AI chat, so TanStack AI is not in the repo.

The short definition is what is TanStack. Clone from pricing or follow the quick start.