---
title: "App Auto-imports"
description: "Every composable and component auto-imported into app code — data, file storage, auth state, and the per-integration additions each package brings."
canonical_url: "https://nuxt-convex-module.dev/api-reference/auto-imports"
---
# App Auto-imports

> Every composable and component auto-imported into app code — data, file storage, auth state, and the per-integration additions each package brings.

Everything below is auto-imported in pages, components, and composables. Ten composables also carry a `useConvex*` alias, for apps where the bare name clashes: `useConvexQuery`, `useConvexQueries`, `useConvexMutation`, `useConvexAction`, `useConvexPaginatedQuery`, `useConvexAsyncQuery`, `useConvexAsyncPaginatedQuery`, `useConvexUpload`, `useConvexUploadQueue`, `useConvexStorageUrl`. With [`convex.autoImports: 'prefixed'`](https://nuxt-convex-module.dev/getting-started/configuration#module-options-convex) only the names carrying `Convex` are injected, and with `false` none; every name stays importable from its [subpath export](https://nuxt-convex-module.dev/api-reference#subpath-exports).

For what runs in Nitro server code instead, see [server auto-imports](https://nuxt-convex-module.dev/api-reference/server-imports).

## Data

<table>
<thead>
  <tr>
    <th>
      Name
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        useQuery
      </code>
      
       / <code>
        useQuery_experimental
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/queries">
        Reactive live query
      </a>
      
       (throwing / result-union).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        useQueries
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/queries#usequeries">
        A dynamic number of live queries
      </a>
      
       from one composable call.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        useMutation
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/mutations-and-actions">
        Call a Convex mutation
      </a>
      
       (supports optimistic updates).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        useAction
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/mutations-and-actions#useaction">
        Call a Convex action
      </a>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        usePaginatedQuery
      </code>
      
       / <code>
        usePaginatedQuery_experimental
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/pagination">
        Cursor pagination
      </a>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        useAsyncQuery
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/server-and-ssr#useasyncquery-ssr-data-the-nuxt-way">
        SSR-fetched, payload-hydrated live query
      </a>
      
       with Nuxt's <code>
        { data, error, status, refresh }
      </code>
      
       shape. Nuxt-only; explicit imports and its types come from <code>
        nuxt-convex-module/app
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        useAsyncPaginatedQuery
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/pagination#useasyncpaginatedquery-ssr-first-page">
        SSR-fetched first page, then live pagination
      </a>
      
       — <code>
        usePaginatedQuery
      </code>
      
      's fields plus <code>
        error
      </code>
      
       and <code>
        refresh
      </code>
      
      . Nuxt-only, from <code>
        nuxt-convex-module/app
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        usePreloadedQuery
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/server-and-ssr#preloading-for-ssr">
        Hydrate a query preloaded on the server
      </a>
      
       with <code>
        preloadQuery
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        useConvexConnectionState
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/connection-state">
        Live WebSocket connection status
      </a>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        useConvex
      </code>
    </td>
    
    <td>
      The underlying <code>
        ConvexVueClient
      </code>
      
      .
    </td>
  </tr>
</tbody>
</table>

## Files

<table>
<thead>
  <tr>
    <th>
      Name
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        useUpload
      </code>
      
       / <code>
        uploadFile
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/file-storage">
        Upload to Convex storage
      </a>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        useUploadQueue
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/file-storage#useuploadqueue">
        Multi-file upload queue
      </a>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        useStorageUrl
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/file-storage#usestorageurl">
        Resolve a stored file's URL
      </a>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        <ConvexImage>
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/file-storage#conveximage">
        An <code>
          <img>
        </code>
        
         for a stored file
      </a>
      
      , with loading and missing slots.
    </td>
  </tr>
</tbody>
</table>

## Auth

<table>
<thead>
  <tr>
    <th>
      Name
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        useConvexAuth
      </code>
      
       / <code>
        provideConvexAuth
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/auth-state">
        Convex auth state
      </a>
      
       (provider-agnostic).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        <Authenticated>
      </code>
      
       / <code>
        <Unauthenticated>
      </code>
      
       / <code>
        <AuthLoading>
      </code>
      
       / <code>
        <AuthRefreshing>
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/guide/auth-state#state-components">
        Render by auth state
      </a>
      
      .
    </td>
  </tr>
</tbody>
</table>

### With `@convex-dev/better-auth`

<table>
<thead>
  <tr>
    <th>
      Name
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        useBetterAuth
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/components/better-auth#usebetterauth">
        Better Auth
      </a>
      
       — session, user, token fetcher and the full Better Auth <code>
        client
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        usePreloadedAuthQuery
      </code>
    </td>
    
    <td>
      Hydrate an SSR-preloaded authenticated query.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        resolveAuthRedirect
      </code>
    </td>
    
    <td>
      Validate a <code>
        ?redirect=
      </code>
      
       destination before navigating — <a href="https://nuxt-convex-module.dev/getting-started/security#post-sign-in-redirects">
        open-redirect guard
      </a>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        <AuthBoundary>
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/components/better-auth#authboundary">
        Reactive unauth redirect
      </a>
      
       (experimental).
    </td>
  </tr>
</tbody>
</table>

### With `@clerk/vue` / `@auth0/auth0-vue`

<table>
<thead>
  <tr>
    <th>
      Name
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        provideConvexAuthFromClerk
      </code>
      
       / <code>
        <ConvexProviderWithClerk>
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/components/clerk">
        Clerk adapter
      </a>
      
       (a port of <code>
        convex/react-clerk
      </code>
      
      ).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        provideConvexAuthFromAuth0
      </code>
      
       / <code>
        <ConvexProviderWithAuth0>
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/components/auth0">
        Auth0 adapter
      </a>
      
       (a port of <code>
        convex/react-auth0
      </code>
      
      ).
    </td>
  </tr>
</tbody>
</table>

### With `@convex-dev/polar`

<table>
<thead>
  <tr>
    <th>
      Name
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        <CheckoutLink>
      </code>
      
       / <code>
        <CustomerPortalLink>
      </code>
    </td>
    
    <td>
      <a href="https://nuxt-convex-module.dev/components/polar">
        Polar checkout & portal links
      </a>
      
      .
    </td>
  </tr>
</tbody>
</table>

## App API wiring

<table>
<thead>
  <tr>
    <th>
      Name
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        provideConvexApi
      </code>
      
       / <code>
        useConvexApi
      </code>
      
       / <code>
        useConvexNamespace
      </code>
    </td>
    
    <td>
      Provide and consume the <a href="https://nuxt-convex-module.dev/getting-started/configuration#import-aliases">
        generated <code>
          api
        </code>
      </a>
      
      .
    </td>
  </tr>
</tbody>
</table>

## Types

<table>
<thead>
  <tr>
    <th>
      Name
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        AsyncQueryReturn
      </code>
      
       / <code>
        AsyncQueryOptions
      </code>
      
       / <code>
        AsyncQueryStatus
      </code>
      
       / <code>
        AsyncQueryData
      </code>
    </td>
    
    <td>
      <code>
        useAsyncQuery
      </code>
      
      's return, options, status union and awaited result — type-only, so <code>
        import type { AsyncQueryReturn } from '#imports'
      </code>
      
       works. Every other public type is imported from a <a href="https://nuxt-convex-module.dev/guide/plain-vue#providing-the-client">
        subpath
      </a>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        AsyncPaginatedQueryReturn
      </code>
      
       / <code>
        AsyncPaginatedQueryOptions
      </code>
      
       / <code>
        AsyncPaginatedQueryData
      </code>
    </td>
    
    <td>
      The same three for <code>
        useAsyncPaginatedQuery
      </code>
      
      .
    </td>
  </tr>
</tbody>
</table>

Full signatures live in the generated reference: [client](https://nuxt-convex-module.dev/api-reference/reference/client) covers the core composables and components, [app](https://nuxt-convex-module.dev/api-reference/reference/app) the Nuxt-only `useAsyncQuery`, with per-integration modules under [better-auth/client](https://nuxt-convex-module.dev/api-reference/reference/better-auth/client), [clerk/client](https://nuxt-convex-module.dev/api-reference/reference/clerk/client), [auth0/client](https://nuxt-convex-module.dev/api-reference/reference/auth0/client), and [polar/client](https://nuxt-convex-module.dev/api-reference/reference/polar/client) — see [all modules](https://nuxt-convex-module.dev/api-reference/reference).


## Sitemap

See the full [sitemap](https://nuxt-convex-module.dev/sitemap.md) for all pages.
