pr-captchafree · hosted Star Install free
Human-presence check for pull requests

Your repo
has a bouncer
now.

pr-captcha checks ID at the door. Every unknown PR has to prove a real GitHub human is present before it touches your queue or your CI.

1 user 1 commit 0 patch executed · bound to the exact head SHA
octo-org/awesome-repo#184 · a1b2c3d
pr-captcha / human
Verified by @real-contributor for this exact commit.
Pass
ci / build & test
Fork workflow held until a human is verified.
Held
identity GitHub OAuthpresence Turnstilescope head SHA
30 seconds, start to finish

Watch it work.

A drive-by PR opens, the human check posts, a contributor clears the door, and held CI releases. No code ever runs.

The inbox problem, for code

When a PR costs nothing to send, maintainers inherit the spam. One fast-growing repo went from 2 PRs a week to 3,400 while its merge rate fell off a cliff.

3,400
PRs per week at peak, up from 2
9.3%
merged, down from 48%
106
PRs from one account in a day, ~3s apart
Deliberately boring

Not AI detection. A door.

pr-captcha never guesses whether a patch was written by a model, and never checks out or runs the code. It reads metadata, binds the commit, and asks for one logged-in human.

01

PR opens

A pull request lands under your policy: everything, or a narrower target.

02

Check posted

A SHA-bound pr-captcha/human check and one comment appear.

03

Human shows

Contributor signs in with GitHub and clears a browser check.

04

Signal published

The exact commit is marked human-verified. New commit, new check.

05

You decide

Use it for triage, branch protection, or releasing held CI.

The short version

Stop refereeing taste. Charge at the door.

You can't reliably detect AI, and you shouldn't have to. Move the cost to the sender: a logged-in human, bound to one commit. Cheap for real contributors, annoying for spray-and-pray bots.

🙅‍♂️
Detect whether the patch was written by AI
false positives, an arms race, angry humans
😎
Make the sender prove they're one human
bound to the commit, zero code executed

It's not a Turing test. It's a guest list.

★☆☆☆☆ "Tried to spam this repo. It made me log in. Like a human. Zero stars."a bot, allegedly
We don't run your PR's code. We've seen your PR's code. We're good.
git push → "200 OK, but who are you?" → pr-captcha/human: pending
Don't let your CI runners be some AI agent's free GPU.
Kick the tires

See it before you install.

Every tool below runs on the free hosted Worker. No install required to look around.

After installing, generate a policy in the setup wizard and check service health on the status page.

Give your repo a door.

$ git push → "who sent this?" → review still decides.
Install free Star on GitHub Read the trust docs