Do coding agents recommend hCaptcha?
Coding agents raised hCaptcha in 198 of 280 judged bot protection sessions and chose it in none of them.
Coding agents raised hCaptcha in 198 of 280 judged bot protection sessions and chose it in none of them.
This page reports what happened when Claude Code, Codex, Cursor, Grok Build CLI and Muse Code had to solve a problem in bot protection inside a realistic codebase. Not what a chat assistant says about hCaptcha. What an agent actually installed.
The numbers
| Category | Bot protection |
| Sessions in the category | 280 |
| Sessions where hCaptcha was chosen | 0 |
| Install share | 0% |
| Raised as a candidate, not chosen | 198 |
| Chosen when considered | 0% |
| Site | hcaptcha.com |
Which agents raised hCaptcha
Every agent considered it and none adopted it. Cursor raised it most often, in 99% of its bot protection sessions.
| Agent | Sessions | Raised hCaptcha | Chose it |
|---|---|---|---|
| Claude Code | 69 | 62 (90%) | 0 |
| Codex | 84 | 30 (36%) | 0 |
| Cursor | 67 | 66 (99%) | 0 |
| Grok Build CLI | 15 | 11 (73%) | 0 |
| Muse Code | 45 | 29 (64%) | 0 |
Which buyers it came up for
It surfaced most for requests written as junior developer, in 74% of those sessions. Knowing which buyer already has the product in mind tells you which pages to fix first.
| Who is asking | Sessions | Raised it |
|---|---|---|
| Vibe coder | 109 | 77 (71%) |
| Junior developer | 111 | 82 (74%) |
| Enterprise team | 60 | 39 (65%) |
What hCaptcha was up against
The full ranking in bot protection, from the same sessions:
| # | Product | Runs won | Share |
|---|---|---|---|
| 1 | Cloudflare Turnstile | 168 | 60% |
| 2 | Built in-house (no product adopted) | 31 | 11% |
| 3 | Vercel BotID | 28 | 10% |
| 4 | django-axes | 15 | 5% |
| 5 | ALTCHA | 13 | 5% |
| 6 | Google reCAPTCHA | 13 | 5% |
| 7 | Laravel RateLimiter | 2 | 1% |
| 8 | django-simple-captcha | 1 | 0% |
What this means
Raised 198 times and chosen none is a specific, diagnosable result, and a better starting position than being unknown. The agent has the product in mind. It reached the shortlist 198 times. Something then lost every one of those sessions.
In our data the causes, in the order they occur:
- The quickstart does not run when pasted, so the agent abandoned it mid-integration.
- The documentation describes an interface that changed, so the generated code failed.
- The product name and the package name differ, so the install step went wrong.
- The fit was genuinely wrong for the repository, which is fine and worth knowing.
All but the last are fixable in days, and the reason is written down in the session transcript.
Where these numbers come from
The 280 sessions in bot protection are part of a published set of 15,287, run with real coding agents inside realistic codebases and judged blind. The full method is on one page: how we measured this.
Every bot protection run can be replayed on the board.
If you work on hCaptcha: the judge recorded a reason for every session where it was raised and passed over. Those reasons are in the transcripts.
<!-- generated by scripts/write-data-pages.mjs -->
Common questions
Do coding agents recommend hCaptcha?
They raise it but do not choose it. Across 198 sessions where hCaptcha came up as a candidate, agents chose something else every time.
Does Claude Code recommend hCaptcha?
In 0 of the 69 sessions in bot protection run with Claude Code, which is 0%.
Do different coding agents treat hCaptcha differently?
Not much. Claude Code, Codex, Cursor and Muse Code chose it at similar rates, between 0% and 0% of their runs.
How was this measured?
Real coding agents at pinned versions were run in sandboxes inside 110 realistic codebases and asked to solve real tasks. A simulated project owner approved or questioned each recommendation before any code was written, and a judge from a model family that builds none of the agents read every session blind.
Where this comes from
Armature ran 15,287 judged sessions with Claude Code, Codex, Cursor, Grok Build CLI and Muse Code inside 110 realistic codebases, and published every run. The numbers on this page come from that work.