nuxt-tawk-to is a lightweight Nuxt module that integrates the Tawk.to live chat widget into your Nuxt application in seconds. It works with both Nuxt 3 and Nuxt 4.
It injects the Tawk.to script automatically and provides a fully typed, SSR-safe useTawk() composable with reactive state, actions, getters, event listeners, and setters — all auto-imported.
inject/provide pattern with a first-class useTawk() composable. If you're migrating from v1, see the migration notes.Important links:
useTawk() Composable — Auto-imported composable with full Tawk.to API access.isHidden, isMinimized, isMaximized, status, unreadCount as Vue refs that update automatically.nuxt-tawk-to/types subpath.nuxt.config.ts.Version 2 removes the Vue provide/inject pattern. Replace all inject(...) calls with the new composable:
// ❌ v1
const toggle = inject<() => void>('toggle')
// ✅ v2
const { toggle } = useTawk()
No plugin registration changes are required. Just update your component code and enjoy reactive state out of the box.