abortNavigation()

Stops the current navigation from within route middleware.

Since Nuxt 3.0 Spec ↗

Syntax

return abortNavigation(err?)

Parameters

NameTypeRequiredDescription
err string | Error No Optional message or error; triggers the error page when provided.

Returns

false | throws — Returns false (or throws if an error is passed) to halt navigation.

Examples

// middleware/admin.ts
export default defineNuxtRouteMiddleware((to) => {
  const user = useState<User>('user')
  if (!user.value?.isAdmin) {
    return abortNavigation()
  }
})
export default defineNuxtRouteMiddleware(() => {
  if (maintenanceMode) {
    return abortNavigation('Site under maintenance')
  }
})

Notes

Only valid inside `defineNuxtRouteMiddleware`. Without an argument the navigation simply stays on the current page; with a string/Error it shows the error page. To redirect instead, return `navigateTo()`.

See also