Expo Mobile App
Build AI-powered React Native apps with Tambo and Expo
Tambo uses the same @tambo-ai/react SDK for Expo and React Native as it does for web apps. Hooks like useTambo() and useTamboThreadInput() work the same way — you just build native UI instead of using the pre-built web components.
Create an Expo app
npx tambo create-app my-mobile-app --template=expoOr add Tambo to an existing Expo project:
npx tambo full-sendThe CLI detects Expo and skips web component installation automatically.
Setup
Wrap your app with TamboProvider the same way you would in a web app:
import { TamboProvider } from "@tambo-ai/react";
export default function App() {
return (
<TamboProvider
apiKey={process.env.EXPO_PUBLIC_TAMBO_API_KEY!}
userKey="user-1"
components={components}
tools={tools}
>
{/* Your React Native content */}
</TamboProvider>
);
}What works in Expo
The SDK is framework-agnostic. Everything that doesn't depend on the DOM works out of the box:
- All hooks —
useTambo(),useTamboThreadInput(),useTamboComponentState(), etc. - Component registration — Register React Native components the same way
- Tools — Define and use tools identically
- Streaming — Progressive prop updates work the same
- Thread management — Message history, thread switching, all of it
- MCP — Connect MCP servers the same way
The only thing that doesn't carry over is the pre-built UI components from the CLI registry (tambo add), since those use DOM elements and Tailwind CSS. Build your chat UI with React Native components instead.