--- title: 'Clerk for the AI era' description: "We're doubling down on making Clerk composable by default, with clear APIs and tools that work as well for human developers as they do for agents." category: engineering date: 2026-03-03 image: src: ./og.png alt: 'Clerk for the AI era' quality: 95 authors: - bryceKalow metadata: openGraph: images: - ./og.png --- Since 2019, Clerk has focused on bringing a best-in-class developer experience to the auth and user management ecosystem. We built for [frontend developers](https://vercel.com/blog/authentication-for-the-frontend-cloud) newly empowered to ship full-stack applications, armed with React components and platforms like Vercel. [Clerk's prebuilt components](https://www.youtube.com/watch?v=enUuBY3HXh4) were a huge accelerant for this ecosystem. The ability for us to embed so much functionality and logic into so few lines of code felt magical at the time. It still does today. Things are different now. The industry has undergone a radical shift over the last year. Components remain a powerful, token-efficient abstraction, but it's never been easier to prompt an app into existence, turning what was once days of work into minutes. This shift is reshaping how we build Clerk. We're doubling down on making a best-in-class developer experience for however you choose to build. We've revamped our APIs for building your core authentication flows, shipped the first version of our agent skills and MCP server, and are continuing investment in tools and APIs that will help Clerk support whatever you're building next. ## Components that work with you Our components remain a phenomenal way to use Clerk. We've iterated on and modernized the styling capabilities for our components. Our beloved `appearance` prop has gotten a refresh, we've introduced [more flexible theming primitives](https://clerk.com/changelog/2025-07-29-theme-simple), and invested in making sure our components can [match your existing design system](https://clerk.com/changelog/2025-07-23-shadcn-theme). We've also introduced a [dedicated changelog](/docs/reference/components/changelog) for our components, so we can share the iterative improvements you're getting out-of-the-box when you opt to build with Clerk's components. Components are a powerful way to build with Clerk, and you have always been able to go a long way by bringing your own CSS. To explore our components and their theming capability, check out the [Theme Editor](https://clerk.com/components/theme-editor) our team recently shipped! ![Theme Editor](./theme-editor.png) ## Primitives built for agents Components are great, but many users want total control over their UI, especially as AI has the ability to build so quickly. This is why we're reinvesting in making our React hooks and lower-level APIs even better. Our `useSignUp()`, `useSignIn()`, `useCheckout()`, and `useWaitlist()` hooks have been redesigned to make building custom UIs with Clerk easier. We've simplified state management, redesigned the API surface, and removed the need for tedious boilerplate. We've also invested in making sure the updated APIs perform well when used with AI tools, and we're tipping the scales by embedding examples and the latest reference content into our [agent skills](https://github.com/clerk/skills). These primitives are the foundation for [building custom UIs with Clerk](https://clerk.com/docs/guides/development/custom-flows/overview). ```typescript // signIn is stateful, updates will trigger re-renders const { signIn, fetchStatus, errors } = useSignIn() // Step methods map directly to the flow await signIn.password({ emailAddress, password }) await signIn.emailCode.sendCode() await signIn.emailCode.verifyCode({ code }) // Read the resource's status directly signIn.status // 'needs_first_factor' | 'needs_second_factor' | 'complete' // Built-in fetch state fetchStatus // 'idle' | 'fetching' // Structured field-level errors errors.fields.identifier // "Couldn't find your account" errors.fields.password // "Password is incorrect" ``` ## More copy-to-install examples Shadcn/ui has become the _lingua franca_ of UI development over the last year, and both developers and AI tools have gravitated to the copy-to-install model. We've already launched a [Clerk shadcn/ui registry](https://clerk.com/docs/guides/development/shadcn-cli), with a growing library of copy-to-install examples for developers and AI tools. This model pairs really nicely with the improved primitives, and we're excited to continue building and sharing polished components that you can use as a starting point for your own custom UIs. ![Clerk themes](./themes.png) ## Codified best practices Clerk's secret sauce expands beyond our components; we have years of experience building authentication and user management flows, processing billions of events, and we're committed to sharing those learnings with you. Auth flows can be deceptively complicated and riddled with edge cases. We want to help you tackle that complexity. The team is hard at work on expanding our [MCP server](https://clerk.com/docs/guides/ai/mcp/clerk-mcp-server), [agent skills](https://github.com/clerk/skills), and building tools that will help ensure your authentication UIs have best practices baked in, and account for edge cases. When you use our agent tooling, you'll get the latest docs and best practices straight from Clerk, whether your building with our components or rolling your own UI. ![Clerk agent skill](./clerk-skill.png) ### Looking forward The choice to use Clerk doesn't hinge on committing to a specific component abstraction. Whether you're dropping in our components, crafting pixel-perfect UIs by hand, or letting your agents handle it for you, Clerk has your back. We're committed to making Clerk composable by default, with clear APIs that work as well for human developers as they do for agents. This is just the beginning; we're excited to share our progress over the next few months as we continue to shape Clerk for however you build. Stay tuned... ![Clerk CLI](./clerk-cli.png) If you want to learn more about recent improvements for a more composable Clerk, check out what we've shipped in [Core 3](/changelog/2026-03-03-core-3).