useChat→useCloudChat
Cloud persistence and thread management for any Vercel AI SDK app. One import change. Zero config.
import { useChat } from "@ai-sdk/react"const { messages, sendMessage } = useChat()import { useCloudChat } from "@assistant-ui/cloud-ai-sdk"const { messages, sendMessage, threads } = useCloudChat()Everything you need, nothing you don't
Two hooks. Four types. Full cloud persistence and thread management for any AI SDK app.
Set one environment variable. No providers, no context wrappers, no runtime objects. It just works.
Built-in thread list, selection, creation, deletion, archiving, and renaming. Everything you need for a ChatGPT-style sidebar.
Messages persist automatically as they stream in. Users pick up where they left off, even after a full page refresh.
Every thread gets an AI-generated title after the first response. No extra code required.
useCloudChat returns the same interface as useChat. Keep your existing components — only the import changes.
All useChat options pass through. Streaming, tool calls, message metadata — everything works as expected.
Manage everything from the dashboard
Analytics, thread browser, run tracking, user insights, auth rules — all from cloud.assistant-ui.com

Already using AI SDK?
If you're using useChat from @ai-sdk/react today, switching is a one-line change. Your components, your route handlers, your tool definitions — they all stay the same.
Start building today