21st.dev is the largest React component registry for AI applications, used by 1.4M developers (200K MAU).
We provide the building blocks to create AI agents and agent-powered apps: UI components, agent templates, and an SDK with built-in UI, tools, memory, observability, and managed infrastructure.
This is the 3rd launch from 21st. View more

21st Agents SDK
Launched this week
21st Agents SDK is the fastest way to add an AI agent to your app.
Define your agent in TypeScript, deploy in one command, and embed
a production-ready chat UI with .
Built-in streaming, session management, usage billing, and observability — so you can focus on what makes your agent unique, not infrastructure.
Backed by Y Combinator (W26).




Free Options
Launch Team




21st
@21st @serafimcloud I've been working on the other end of this — getting agent instances to discover and talk to each other across machines, not embedding them into apps. So it's cool to see someone tackling the deployment side. One thing I keep running into though: once you have multiple agents across different deployments, how do they find each other? Does your SDK handle any of that coordination, or is that out of scope?
Told
How opinionated is the agent definition layer — can you bring your own prompting patterns or does it nudge you toward a specific structure? The infrastructure bundling (streaming + sessions + billing in one deploy) is genuinely useful, that’s the part most teams waste weeks on. My concern is that when the abstraction breaks — and it always does at some point — you want devs to be able to debug at the layer below without rewriting everything. Curious how the observability piece handles that.
The infrastructure bundling is where the real value is. Every team I've talked to building agent-powered products spends weeks just wiring up streaming, sessions, and billing before they even touch the actual agent logic. Collapsing that into one deploy command is genuinely useful.
Jonathan's question below is the right one though. When the abstraction breaks (and it will), devs need to debug at the layer below without rewriting everything. The observability piece matters a lot here because in agentic systems the failure modes are never the same twice. You can't just log errors and call it done. Curious how you're handling cases where the agent produces valid-looking output that's actually wrong, since that's the failure mode that kills you in production. Nice launch!
This hits close to home — I'm building a markdown editor (Ritemark) and one of the biggest decisions right now is exactly this: do we integrate Claude SDK directly, or go through something like 21st Agents SDK?
Direct integration gives us full control but we're spending a lot of time on the plumbing — streaming, session handling, error states. Stuff that has nothing to do with what makes our editor actually good.
How opinionated is the agent definition layer? Can I bring my own context engineering setup (custom CLAUDE.md files, tool configs) or does the SDK want to own that part too? Also curious about the pricing model — for a desktop app where agents run per-user, does the billing scale in a way that makes sense?
Interesting approach letting devs drop a full coding agent into their own product curious how you're handling credential isolation when the agent needs to access the host app's environment. Are you scoping it per-session or per-user at the SDK level?
Had a few shadcn installs turn into local forks fast. 21st pulling components, blocks, and hooks into one stack feels useful, and a really clear diff or version flow would make that npx shadcn path hold up once teams start customizing.