assistant-ui logo/

useChatuseCloudChat

Cloud persistence and thread management for any Vercel AI SDK app. One import change. Zero config.

Before
import { useChat } from "@ai-sdk/react"const { messages, sendMessage } = useChat()
After
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.

Zero Config

Set one environment variable. No providers, no context wrappers, no runtime objects. It just works.

Thread Management

Built-in thread list, selection, creation, deletion, archiving, and renaming. Everything you need for a ChatGPT-style sidebar.

Auto Persistence

Messages persist automatically as they stream in. Users pick up where they left off, even after a full page refresh.

Auto Titles

Every thread gets an AI-generated title after the first response. No extra code required.

Works With Any UI

useCloudChat returns the same interface as useChat. Keep your existing components — only the import changes.

Full AI SDK Compatibility

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

Assistant Cloud dashboard showing analytics, threads, and run tracking
Analytics & cost tracking
Thread browser with conversation replay
Per-user metrics & activity
Run waterfall traces
Auth rules (Clerk, Auth0, Supabase, Firebase)
API key management

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.

Read the docs

Start building today