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).
Hey Product Hunt! Serafim & Sergey here, co-founders of 21st.dev (YC W26).
Last year we built 21st.dev β a platform that 1.4M+ developers now use to
build UI for their AI apps and agents. Along the way we built our own AI
developer tools and agentic applications. They were loved by tens of
thousands of developers and gained strong open-source support (14K+ GitHub stars).
Like many teams, we started by building our own agents from scratch.
Then Claude Code arrived. Its reasoning, context handling, and developer
workflows were far ahead of anything we had built ourselves. It became
obvious: if your product isn't powered by something like Claude Code,
your agent will always feel limited.
But bringing that level of capability into your product is not simple.
You still have to build the agent UI, sandbox execution infrastructure,
streaming systems, observability β an entire platform just to run the agent.
So we built 21st Agents SDK.
The agent execution layer for modern AI products:
β Define in TypeScript β agent({ model: 'claude-sonnet-4-6', tools: {...} }). That's your entire agent definition.
β One-command deploy β npx @21st-agents/cli deploy. Sandboxed cloud execution, managed for you.
β Drop-in React UI β β production-ready chat with streaming, tool execution rendering, and theming.
β Built-in observability β Session replay, tool call traces, error tracking.
β Your code stays in your codebase. Full control. Infrastructure just works.
Stop rebuilding agent infrastructure. Start building better AI products.
What are you building? Drop a comment β we'd love to help you scope it out.
Docs: 21st.dev/agents/docs
Website: 21st.dev/agents
Report
@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?
Report
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.
Report
cool
Report
Claude AI agent SDK β this is exactly what indie builders needed to skip the heavy lifting. Upvoted! What's the easiest integration path for a React + Node stack?
Report
Congrats on the launch! The Agents SDK concept is solid. One thing landed on 21st.dev and it took me a moment to understand what the product actually does. The hero section might be losing non-developer visitors fast.
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.
Report
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?
Report
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!
Report
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?
Replies
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?
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.
cool
Claude AI agent SDK β this is exactly what indie builders needed to skip the heavy lifting. Upvoted! What's the easiest integration path for a React + Node stack?
Congrats on the launch! The Agents SDK concept is solid. One thing landed on 21st.dev and it took me a moment to understand what the product actually does. The hero section might be losing non-developer visitors fast.
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.
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?
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?