# Why ChatGPT and Cursor love to recommend Clerk: a Guide on AI Search Visibility

> Why ChatGPT, Claude and Cursor recommend Clerk for auth: 799 AI answers show what drives AI search visibility for devtools, and a playbook any company can copy.

Published October 7, 2026 by Josh.
Canonical: https://bydefault.so/blog/why-chatgpt-and-cursor-love-to-recommend-clerk-a-guide-on-ai-search-visibility

"My default recommendation: **Clerk**." That’s how one ChatGPT answer to "i need login for my saas, what should i use" begins, and it’s typical of how ChatGPT answers this question.

We ask eight AI assistants the same 20 auth questions every day for our [State of AI Search report on auth](https://bydefault.so/state-of-ai-search/auth/2026-10). From October 1 to 5, 2026, they gave 799 answers. Clerk ranked first in 216 of them. Auth0, the older and bigger brand, ranked first in 88.

![](https://cdn.bydefault.so/image-BMhTF_bSrJQS7VBBFscx6.png)

None of this is luck. Most of what puts Clerk at the top is public on clerk.com: a three-line sign-in component, a free tier with one clear number, a knowledge base written as the questions people ask, and pages that agents can read as markdown. Any devtool company can copy it.

## How often does AI recommend Clerk?

In 64% of answers about auth, AI speaks about Clerk in a positive or neutral way (509/799 answers). And in 27% of answers, Clerk is the first recommended provider, twice more than any other provider. Interestingly, while Auth0 is mentioned more often, it’s recommended much less by AI.

While AI talks about Auth0 in 620 answers (vs 548 for Clerk), 135 of those answers are negative (mostly around Auth0 being expensive when you grow), vs only 39 for Clerk. So while AI mentions Auth0 more often, it recommends it much less.

![](https://cdn.bydefault.so/image-J8MoYNiJ4Pf_J7PN1j2bg.png)

Comparison with other providers (out of 799 answers):

| Provider                | Mentioned at all | Positive or neutral | Ranked first | Its site cited |
| ----------------------- | ---------------- | ------------------- | ------------ | -------------- |
| Clerk                   | 69%              | 64%                 | 27%          | 42%            |
| Auth0                   | 78%              | 61%                 | 11%          | 33%            |
| Supabase Auth           | 53%              | 52%                 | 9%           | 24%            |
| WorkOS                  | 41%              | 40%                 | 11%          | 32%            |
| Firebase Authentication | 48%              | 44%                 | 3%           | 11%            |
| Better Auth             | 19%              | 19%                 | 3%           | 4%             |

ChatGPT and the coding agents are the most favorable to Clerk. Cursor mentions Clerk positively in 74 of 100 answers, about three out of four, and ranks it first in 36. Claude in the chat app is the coolest on Clerk:

| Assistant           | Positive or neutral mention | Ranked first |
| ------------------- | --------------------------- | ------------ |
| ChatGPT             | 66%                         | 37%          |
| Cursor              | 74%                         | 36%          |
| Codex               | 71%                         | 35%          |
| OpenCode            | 66%                         | 28%          |
| Gemini              | 70%                         | 27%          |
| Claude Code         | 59%                         | 23%          |
| Google AI Overviews | 59%                         | 18%          |
| Claude              | 45%                         | 12%          |

Each assistant answered about 100 times in this window, so one answer moves a row by one point.

## Clerk wins small-team questions and loses enterprise ones

Clerk's 27% first-place rate is an average over very different questions. Split by prompt, Clerk wins almost every question a small team asks at the start of a project and almost none that a large company asks:

| Question asked                                                            | Clerk ranked first | Auth0 ranked first |
| ------------------------------------------------------------------------- | ------------------ | ------------------ |
| which auth provider is best for a small team where nobody knows auth well | 34 of 39           | 0 of 39            |
| what's the easiest way to add social login to my app                      | 29 of 40           | 1 of 40            |
| i need login for my saas, what should i use                               | 28 of 40           | 1 of 40            |
| what's the best auth provider                                             | 26 of 40           | 4 of 40            |
| what should i use for auth in a react native app                          | 24 of 40           | 0 of 40            |
| best auth for a next.js app                                               | 19 of 40           | 0 of 40            |
| best auth for an ai app where agents act on behalf of users               | 1 of 40            | 18 of 40           |
| i need auth with user data stored in the eu for gdpr                      | 0 of 40            | 13 of 40           |
| which auth provider scales best to millions of users                      | 0 of 40            | 11 of 40           |
| i need sso and saml for enterprise customers                              | 0 of 40            | 0 of 40            |

![](https://cdn.bydefault.so/image-ksRzssaT7WusHBlkh7OhP.png)

The questions Clerk owns are those asked by the largest groups of people. For example, questions about starting a SaaS or adding social login to an app. These are asked long before the developer thinks about SAML. Winning on these questions means Clerk gets selected before the buyer ever compares different vendors.

A lot of the work is done by the React and Next.js tie. For the Next.js question, Clerk is mentioned in all 40 answers. Outside of the React and Next.js world, however, Clerk is much less prominent. In half of the Rails answers Clerk is not mentioned at all, and in none of them is it ranked first. For the question "how do i add login to my django app", Clerk is not mentioned in any of the answers.

The lesson for other devtools is to pick the stack and the team size you want to own and be the obvious answer there. For Clerk, that is the start. The AI does not treat Clerk as the enterprise answer, but because it owns the start, Clerk still comes out on top.

## Why do AI agents recommend the fastest setup?

AI assistants recommend the tool that gets someone to a working result fastest, because that is the question behind most prompts. In our auth data, a quarter of all answers (200 of 799) use the word "fastest", and 117 of them use it within a sentence of Clerk.

The answers say it in plain words:

* "You want auth working in minutes." (ChatGPT, on "best auth for a next.js app")
* "Clerk excels at modern developer experience, with social login included on every plan including free, with configuration taking about five minutes." (Claude)
* "it's the default for teams that care about time-to-first-working-app in 2026." (Claude, on React Native)
* "Clerk (often the fastest for Expo + React Native)" (Cursor)

That speed claim comes from a real product choice. Clerk ships prebuilt UI components, so a full sign-in and sign-up screen in Next.js is one import and one tag. This is the whole page from [Clerk's docs](https://clerk.com/docs/reference/components/authentication/sign-in), and it type-checks as is in a fresh Next.js app:

```tsx
import { SignIn } from '@clerk/nextjs'

export default function Page() {
  return <SignIn />
}
```

The settings for that screen (which social logins, MFA, passkeys) live in the Clerk dashboard, not in code. A coding agent has very little to write and very little to get wrong.

The free tier matters for the same reason. Clerk's Hobby plan is free with ["No credit card required"](https://clerk.com/pricing). An agent can suggest it, and a developer can try it, without anyone asking a manager for a budget.

Our take is that agents favor products they can finish a task with, and that this is part of how they get trained and judged. We have no hard proof of that. But the answers read that way, and our small eval later in this post points the same direction: a model set up Clerk with zero type errors on every try, and it never got Auth0 to compile.

## Clerk's pages turn a citation into a recommendation

AI assistants search for both brands by name. Of the 2,301 [web searches](https://bydefault.so/blog/how-chatgpt-web-search-works-2026-breakdown-w-api-example) the assistants ran, 18% named Clerk and 21% named Auth0. Some are as direct as "site:clerk.com/docs passkeys magic links Clerk" from ChatGPT. Thus, the gap is not in who gets looked up. It is in what the assistant finds when it goes to each site.

When an answer cites Clerk's site, Clerk is ranked first in 47% of those answers. When an answer cites Auth0's site, Auth0 is ranked first in 17% of those answers:

| Provider      | Answers citing its site | Ranked first when cited |
| ------------- | ----------------------- | ----------------------- |
| Clerk         | 338                     | 47%                     |
| WorkOS        | 257                     | 29%                     |
| Supabase Auth | 190                     | 25%                     |
| Auth0         | 280                     | 17%                     |
| Kinde         | 141                     | 12%                     |
| SuperTokens   | 110                     | 1%                      |

While a citation is not proof that the assistant read the page, and this is a link rather than a cause, the gap is large enough to examine what Clerk's cited pages have in common.

Most of these pages are answers to buyer questions, written by Clerk. Clerk has 135 pages under [clerk.com/articles](https://clerk.com/articles), and that section gets 38% of all Clerk citations, more than the docs:

![](https://cdn.bydefault.so/image-J_6G0jRLr8zlcjEhoQJkN.png)

The page titles are the questions people type into AI. The second most cited Clerk page is [clerk-pricing-explained](https://clerk.com/articles/clerk-pricing-explained), with 45 citations. Then come pages like [how do I implement social login for my web app](https://clerk.com/articles/how-do-i-implement-social-login-for-my-web-app) (22), a [React user management comparison of Clerk, Auth0 and Firebase](https://clerk.com/articles/user-management-platform-comparison-react-clerk-auth0-firebase) (20) and [can Clerk handle enterprise requirements](https://clerk.com/articles/can-clerk-handle-enterprise-requirements) (16).

Clerk also writes its own comparison pages. Pages with "vs", "compare" or "alternative" in the URL got 105 citations across 21 pages. The [Clerk vs Auth0 page](https://clerk.com/articles/clerk-vs-auth0-which-authentication-platform-fits-your-team) opens with a verdict and gives Auth0 real credit. It says Auth0 "remains the stronger choice when you need deep pipeline extensibility, relationship-based fine-grained authorization, regulated-industry security controls". That honesty makes the page safe for an AI to quote.

![](https://cdn.bydefault.so/image-rAih-bWLdEo3gjWX0pp0S.png)

Auth0 does not tell its side of that story. None of the 348 Auth0 URLs cited in our data have Clerk in the URL or title. When an assistant compares the two, the comparison it finds was written by Clerk. Put together, the path from question to recommendation looks like this:

![](https://cdn.bydefault.so/drawing-7p6oSV9HLmImB0CsNjwsR.png)

## Serve markdown to agents

Some coding agents prefer markdown to HTML. Claude Code, Cursor and OpenCode send an Accept header for `text/markdown`, while Codex, Gemini CLI, GitHub Copilot and Windsurf [did not as of February 2026](https://www.checklyhq.com/blog/state-of-ai-agent-content-negotation/). A site that serves markdown to agents who ask for it provides them with clean text rather than a page full of scripts and layout.

Clerk does this. The same pricing URL returns markdown or HTML depending on what the client asks for:

```sh
curl -sI -H 'Accept: text/markdown' https://clerk.com/pricing | grep -iE '^(HTTP|content-type|vary)'
```

```text
HTTP/2 200 
content-type: text/markdown; charset=utf-8
vary: Accept
```

The difference in size is huge. Clerk's pricing page is 624,408 bytes as HTML and 22,823 bytes as markdown, 96% smaller. For an agent with a limited context window, that is the difference between reading the whole page and reading a slice of it.

The `Vary: Accept` line tells caches and CDNs that the response depends on the Accept header. Without it, a cache can store the markdown version and serve it to a browser, or vice versa. Clerk's markdown response for pricing sets it.

A small Next.js route handler can do the same. It checks the Accept header, chooses the format, and sets `Vary: Accept` on both responses:

```ts
const html = '<!doctype html><html lang="en"><head><title>Pricing</title></head><body><main><h1>Pricing</h1><p>Contact us for plan details.</p></main></body></html>'
const markdown = '# Pricing\n\nContact us for plan details.\n'

export function GET(request: Request) {
  const wantsMarkdown = request.headers.get('accept')?.toLowerCase().includes('text/markdown')

  return new Response(wantsMarkdown ? markdown : html, {
    headers: {
      'Content-Type': wantsMarkdown ? 'text/markdown; charset=utf-8' : 'text/html; charset=utf-8',
      Vary: 'Accept'
    }
  })
}
```

Clerk also ships an [`llms.txt`](https://clerk.com/llms.txt), a [proposed convention](https://llmstxt.org/) for a plain-text index of a site that AI tools can read. It tells agents they can add `.md` to any docs, articles, blog, changelog or glossary URL to get the markdown version.

But Auth0 serves markdown to agents too, and it ships an `llms.txt` of its own. Both sites are easy for an agent to read, and Auth0 still ranks first in only 17% of the answers that cite it. Markdown gets your page read. What the page says determines whether you get recommended.

## Put a quotable number on your pricing page

Our data contains 799 answers on auth providers, and 202 of them (25.3%) include Clerk’s free tier number written as “50,000”, “50K” or “50k”. It’s worth noting that this is just one number from one page, which is repeated in 202 answers by eight different assistants.

The pricing page of Clerk has a title that says “Free Up to 50K Users”. At the very bottom of the page there’s one short sentence summarizing the whole offer: [“Free for your first 50,000 monthly retained users and 100 monthly retained orgs. No credit card required.”](https://clerk.com/pricing) A monthly retained user is defined on the page as someone who signs up and then returns 24 hours or more later.

![](https://cdn.bydefault.so/image-IBA9aJiNoLJL6At2ajRIf.png)

Clerk also repeats the same number on several other pages that are designed for AI search engines to find. The pricing page itself is the most cited Clerk URL in our data (66 citations in 55 answers), followed by the [clerk-pricing-explained](https://clerk.com/articles/clerk-pricing-explained) article with 45 citations and the changelog post announcing the new plans with 34 citations. The pricing page even has a section answering the question “Is Clerk cheaper than Auth0?”.

If a company leaves the number to others, AI search engines will pick up whatever number they can find. For example, one answer in a Google AI Overview cited a stale “Free up to 10k MAUs” from a Reddit thread. The best way to avoid this is to have a clear sentence on your own pricing page.

## Build an agent eval for your own product

Clerk’s whole playbook rests on one claim: a coding agent can set it up fast. You can measure that for your own product, the same way you would test any other feature. The recipe has five steps:

1. Pick the tasks a new user starts with. For auth, that is "add a sign-in page to this app".
2. Give a coding agent or a model a fresh starter project with your package installed, plus the task in plain words.
3. Run the type checker or test suite on what it writes, and send the errors back for a fix, a few rounds at most.
4. Record type errors on the first try, rounds until it passes, total time, and every env var or dashboard step a human must do before the app runs.
5. Run it on a schedule against your competitors too, and push every number toward zero.

![](https://cdn.bydefault.so/drawing-PYcACXv0tBpO9CSRlGGzi.png)

We ran a small version of this for auth. A model (gpt-5.4-mini) got a fresh Next.js app and the task "Add a working sign-in page at /sign-in using \<provider>". We ran 3 trials per provider, 12 in total, for $0.18:

| Provider      | Type errors on first try (median) | Passed on first try | Passed within 3 fixes | Median seconds | Env vars a human must set |
| ------------- | --------------------------------- | ------------------- | --------------------- | -------------- | ------------------------- |
| Clerk         | 0                                 | 3 of 3              | 3 of 3                | 8              | 2                         |
| Supabase Auth | 2                                 | 0 of 3              | 3 of 3                | 20             | 2                         |
| Better Auth   | 1                                 | 1 of 3              | 3 of 3                | 24             | 3                         |
| Auth0         | 1                                 | 0 of 3              | 0 of 3                | 38             | 5                         |

The Auth0 result is the most telling one. The model kept writing code for the older v3 SDK, using `handleAuth` from `@auth0/nextjs-auth0`. The current v4 SDK removed that function, so the code never compiled, even after three rounds of error messages. The model's idea of how Auth0 works is out of date, and Auth0 pays for it in every agent session.

The model wrote Clerk code that compiled on the first try, every time, in about 8 seconds. That is the advantage the "minutes" answers describe.

Twelve trials are a small sample, and passing the type checker is not the same as a working login. Nobody clicked through a sign-in flow here. A real eval for your product should run the app and finish the task end to end.

## The playbook

Every step in Clerk’s journey is public, so you can check it out and steal it for your own business.

* Pick the tech stack and team size you want to own, and position yourself as the obvious tool of choice there.
* Make the set up as simple as possible. Cut down code lines and move settings out of the code.
* Offer a free plan that doesn’t require a credit card.
* Write one clear sentence with your free tier number, and repeat it on pages AI cites.
* Write an answer to every single question buyers ask AI. One page per question.
* Write your own honest comparison pages, including the areas where the competitor wins.
* Serve markdown to agents, set `Vary: Accept`, and ship an `llms.txt`.
* Run an agent eval on your setup flow and work to reduce type errors, time and human steps to zero.
* [Track where AI ranks you](https://bydefault.so/), prompt by prompt, to see which of these moves pay off.
