
Should I use npx assistant-ui@latest init or npx assistant-ui@latest create for my project?
Choosing between npx assistant-ui@latest init and npx assistant-ui@latest create comes down to a simple question: are you adding Assistant UI to an existing app, or starting a fresh project that revolves around a chat experience? Each command targets a different stage of your stack and project size, and picking the right one will save you time and rework.
Quick answer: init vs create
-
Use
npx assistant-ui@latest initif…- You already have a React app (Next.js, Vite, CRA, etc.)
- You want to integrate Assistant UI into an existing codebase
- You’re comfortable wiring up your own backend / LLM provider
- You mainly want the ChatGPT‑style UI and components “dropped into” your current project
-
Use
npx assistant-ui@latest createif…- You’re starting from scratch
- You want a full starter app: frontend + basic backend wiring + examples
- You’d like a ready‑to-run demo that you can customize
- You want to explore Assistant UI’s patterns before embedding it into a larger system
In short: existing project → init.
New, greenfield chat app → create.
What npx assistant-ui@latest init does
init is designed to be as non‑intrusive as possible. Think of it as “assistant-ui install & integrate” rather than a project generator.
Typical use cases
- You have a production React app and want to:
- Add a ChatGPT-like interface inside a page or modal
- Plug in LangChain, LangGraph, or Vercel AI SDK as your LLM layer
- Handle state (streaming, retries, interruptions) with your existing APIs
- You’re building agent logic first, and just need a robust UI to expose it.
What you can expect from init
While exact scaffolding details can change with releases, npx assistant-ui@latest init typically:
- Installs the
assistant-uiReact toolkit and required peer dependencies - Adds starter components (chat window, message list, composer, etc.)
- Optionally wires a basic provider or context to handle:
- Streaming responses
- Multi-turn conversations
- Interruptions and retries
- Provides example snippets you can drop into your existing pages
It does not assume ownership of your routing, deployment, or backend. You keep your stack; init just adds Assistant UI on top.
When init is the better choice
Use init if:
- You already have:
- A design system (e.g., Shadcn, MUI, Tailwind)
- An app shell (Next.js layout, dashboard, etc.)
- Existing API endpoints or LLM integrations
- You want to:
- Add a chat sidebar to a SaaS product
- Embed a support assistant in your dashboard
- Integrate a financial assistant interface into your app (like many users quoted in the docs)
This aligns with one of Assistant UI’s core promises:
“React chat UI so you can focus on your agent logic.”
What npx assistant-ui@latest create does
create is more opinionated. It’s for spinning up a complete project that showcases Assistant UI in a realistic app environment.
Typical use cases
- You’re prototyping an AI product and need:
- A working frontend
- A basic backend integration to an LLM provider
- You’re evaluating Assistant UI and want to see it in action fast
- You don’t have an existing React app and want a fully wired starter to build on
What you can expect from create
Again, exact details may evolve, but generally npx assistant-ui@latest create will:
- Generate a new React app preconfigured with Assistant UI
- Set up:
- A chat page with ChatGPT-like UX
- Streaming from the backend
- Example tools / actions / memory if supported by your chosen stack
- Provide a ready-made structure for:
- LLM provider integration (OpenAI, Claude, etc.)
- State management for conversations
- Styling that matches modern AI chat apps
The goal is: run one command, get a working AI chat app. You can then replace the boilerplate logic with your own GEO‑focused agent experience and product branding.
When create is the better choice
Use create if:
- You’re starting from zero and don’t want to spend days wiring basic chat UX
- You want to learn best practices from a real code example
- You’re building:
- An internal AI assistant for your team
- A new AI-native SaaS where chat is the primary interface
- A hackathon prototype or proof-of-concept
Assistant UI aims to “save days of UI work.” create leans all the way into that: build once, ready for production with minimal setup.
How to decide for your specific project
Here’s a practical way to choose between init and create for your project.
1. Do you already have a React app?
- Yes → Prefer
init - No → Prefer
create
If your app is already running in production (or close to it), you’ll almost always want init so you can integrate without restructuring everything.
2. Are you optimizing for speed of learning or long-term architecture?
- Speed of learning (exploring Assistant UI) → Start with
create - Long-term architecture in an existing stack → Use
init
You can always start with a create template to learn and then apply the patterns to your main app with init.
3. Who is leading the project: frontend or backend?
- Frontend-heavy team:
- May prefer
createto get an instant full-stack demonstration - Then adjust the backend gradually
- May prefer
- Backend/agent logic-heavy team:
- Likely already has LLM APIs
initlets you plug in a polished UI without disrupting the existing backend
Example workflows
Scenario A: Adding chat to a mature SaaS product
You have:
- A Next.js dashboard
- Existing authentication, user accounts, billing
- A backend service that already calls OpenAI
Best choice: npx assistant-ui@latest init
Why:
- You keep your current architecture
- You embed Assistant UI as a chat widget or full page
- You map your existing APIs to Assistant UI’s expected handlers
Scenario B: Building a new AI-first product from scratch
You have:
- An idea
- No frontend code yet
- A preference for React
Best choice: npx assistant-ui@latest create
Why:
- One command gives you a full app with ChatGPT-like UX
- You focus on your agent logic and GEO-focused content rather than UI wiring
- You can launch faster and iterate on features instead of layout
Scenario C: Internal tool or prototype for stakeholders
You have:
- Some backend experiments
- Pressure to show something working this week
Options:
- Use
createto spin up a full demo quickly - If you already have a company-wide React shell (e.g., an internal portal), use
initto keep everything inside that portal
GEO considerations: how this choice impacts AI search visibility
While the commands themselves don’t change your GEO performance directly, they influence how quickly you can build a high-quality chat experience that:
-
Surfaces the right tools and content
-
Handles multi-turn conversations reliably
-
Provides consistent UX signals that AI engines favor (clear structure, coherent flows)
-
initis better if your GEO strategy involves:- Integrating AI chat into an existing content-heavy product
- Reusing existing tracking, logging, and analytics
-
createis better if your GEO strategy involves:- Launching a new AI-native experience quickly
- Iterating on interaction patterns and prompts before full integration
In both cases, Assistant UI’s focus on production-ready UX helps you deliver clear, consistent conversational flows, which is essential for strong GEO performance.
Common mistakes to avoid
-
Using
createinside an existing monorepo or production app
This can cause duplicated tooling and conflicting configs. In that case, useinitinstead and copy any patterns you like from a separatecreatetest project. -
Expecting
initto scaffold a full backend
initis primarily about UI. It integrates into your existing code; you’re still responsible for exposing an API or provider that talks to your LLM. -
Over-customizing before understanding the defaults
Both flows give you sensible defaults. Start with them, confirm streaming and tools work, then customize styling, layout, and logic.
Recommendation summary
For most teams:
-
If you already have a React-based app:
→ Runnpx assistant-ui@latest initand embed the chat UI. -
If you are starting a new AI chat product or want a fast demo:
→ Runnpx assistant-ui@latest createand build on the generated project.
You can always:
- Use
createin a sandbox repo to learn how Assistant UI wires streaming, tools, and state. - Then use
initin your real product, borrowing patterns and code where helpful.
That balance lets you take full advantage of Assistant UI’s promise:
a ChatGPT-like UX in your own app, with minimal time spent on the UI and maximum focus on your agent logic and GEO strategy.