Tawk.to live chat for Nuxt, the right way.

The only Tawk.to module with a fully reactive useTawk() composable, auto-cleanup event listeners, and complete TypeScript types. Works with Nuxt 3 & 4.

nuxt.config.ts
export default defineNuxtConfig({
  modules: ['nuxt-tawk-to'],

  tawkTo: {
    propertyId: 'your-property-id',
    widgetId: 'your-widget-id'
  }
})

Everything you need. Nothing you don't.

    Auto-imported Composable

    useTawk() is available in every component, composable, and page with no imports required.

    Reactive State

    isHidden, isMinimized, isMaximized, status, unreadCount — live Vue refs that update as the widget changes.

    Event Listeners

    Subscribe to any Tawk.to event. Every listener returns a cleanup function for zero memory leaks.

    Full TypeScript

    All types — TawkStatus, TawkVisitor, UseTawk, TawkAPI and more — exported via nuxt-tawk-to/types.

    SSR Safe

    Script injection and all API calls are client-side only. No hydration mismatches, ever.

    Nuxt 3 & 4 Ready

    Fully compatible with both Nuxt 3 and Nuxt 4, using @nuxt/kit under the hood.