Who It Is For
Decide whether Better Convex Nuxt matches your stack and the level of integration you want.
Better Convex Nuxt is a strong fit when Convex is your application backend and Nuxt is more than a client-side shell.
Choose it when
- You use Nuxt 4 and want Convex data during SSR.
- Primary page data should remain live after hydration.
- You want query, pagination, mutation, action, upload, and connection state as Nuxt composables.
- You use Better Auth or want the maintained Convex + Better Auth path.
- Signing in, signing out, and switching users must not reuse identity-owned query state.
- Nitro routes, webhooks, or server middleware need request-scoped Convex calls.
- You prefer one opinionated runtime over assembling the integration in application plugins.
It can still fit when
- Your app is client-only but you want the higher-level composables and Better Auth coordination.
- Only some routes use SSR. Query options can select the lifecycle per call.
- Authentication is disabled. Set
convex.auth: falsefor a Convex-only build without Better Auth runtime code. - You occasionally need imperative calls.
useConvex()exposes a stablequery,mutation,action, andonUpdatehandle.
Choose another path when
- You use Vue without Nuxt.
- You need to support Nuxt 3. The package peer range is Nuxt
^4.4.0. - You want the smallest possible wrapper around a raw Convex client.
- You need an authentication provider that the application will integrate directly and do not want Better Auth.
- Your architecture requires direct ownership of
setAuth,clearAuth, or raw client teardown. - You expect the integration package to provide product roles, permissions, billing, or organization workflows.
Supported baseline
The 0.6.1 release declares these peer requirements:
| Dependency | Supported version |
|---|---|
| Nuxt | ^4.4.0 |
| Convex | 1.42.1 |
| Better Auth | 1.6.23 |
@convex-dev/better-auth | 0.12.5 |
| Node.js | ^22.12.0, ^24.11.0, or >=26.0.0 |
Check release compatibility when using a later package release.