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.
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.