# Nuxt Better Auth

> Guides authentication in Nuxt apps using @nuxtjs/better-auth. Use when installing or configuring the module, using its client or server APIs, protecting routes, refreshing sessions, or integrating Better Auth plugins.

- Skill: `nuxt-modules/nuxt-better-auth` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add nuxt-modules/nuxt-better-auth`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nuxt-modules/nuxt-better-auth/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: nuxt-modules (https://skillmd.com/u/nuxt-modules)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/nuxt-modules/nuxt-better-auth

---


# Nuxt Better Auth

Use the smallest reference that matches the task.

## Pick a reference

| Task | Read |
| --- | --- |
| Install the module, configure environment variables, or create config files | [references/installation.md](references/installation.md) |
| Read client session state, build auth forms, call plugins, or fetch auth-bound data | [references/client-auth.md](references/client-auth.md) |
| Read or enforce sessions in server handlers, create sessions, or refresh cached session data | [references/server-auth.md](references/server-auth.md) |
| Protect pages or API routes and configure redirects | [references/route-protection.md](references/route-protection.md) |
| Register Better Auth plugins and their client companions | [references/plugins.md](references/plugins.md) |
| Configure NuxtHub, generated schema, or secondary storage | [references/database.md](references/database.md) |
| Connect a Nuxt frontend to an external Better Auth server | [references/client-only.md](references/client-only.md) |
| Use inferred auth types or add project fields | [references/types.md](references/types.md) |

## Rules that apply across tasks

- Confirm the consumer's installed package version supports each API you use. The published skill may be newer than the consumer's lockfile.
- Enforce protected API reads and mutations server-side with `requireUserSession(event)`. Route rules and page meta also control navigation.
- Navigate only to validated local redirect paths.
- In `clientOnly` mode, do not use local server helpers or expect SSR session hydration.
- After server-side changes to session payload fields, call `refreshSessionCookieCache(event)`. Wrap custom client auth endpoints that create or change the current session with `runWithSessionRefresh()`.

Before finishing an implementation, run the consumer's typecheck and the narrowest relevant auth test.

## Resources

- [Documentation site](https://better-auth.nuxt.dev)
- [Better Auth docs](https://www.better-auth.com/)

