Why Your OpenClaw Browser Keeps Getting CAPTCHAs
OpenClaw uses Playwright under the hood. Anti-bot systems detect CDP fingerprints and block your agent. GateSolve solves the CAPTCHA and returns a token so your agent can continue.
The Problem
OpenClaw's browser runs Chromium via Playwright. Sites with bot detection (Cloudflare, DataDome, PerimeterX) detect the automation in three layers:
- 1. CDP detection: Runtime.Enable fires when Playwright connects. Anti-bot scripts catch this instantly.
- 2. JavaScript injection: Playwright injects bindings (window.__playwright__). Property descriptor checks expose tampering.
- 3. IP reputation: Datacenter IPs are flagged before the page even loads. VPS and cloud hosting get blocked at the ASN level.
Your agent fails silently — falling back to worse sources, cached pages, or hallucinated results.
The Fix
GateSolve uses Camoufox (a patched Firefox build) that bypasses CDP detection and fingerprinting. When your OpenClaw agent hits a CAPTCHA, it calls GateSolve, gets a valid token in 7-15 seconds, and injects it into the page. Your agent continues as if the CAPTCHA never existed.
MCP Server (Recommended for OpenClaw)
Add GateSolve as an MCP tool. Your OpenClaw agent gets a solve_captcha tool it can call whenever it encounters a CAPTCHA. Zero code changes.
# Add GateSolve to your OpenClaw MCP config
# In your openclaw config or mcp-servers.json:
{
"mcpServers": {
"gatesolve": {
"command": "npx",
"args": ["-y", "@gatesolve/mcp-server"],
"env": {
"GATESOLVE_API_KEY": "gs_your_key_here"
}
}
}
}
# Your OpenClaw agent now has a solve_captcha tool
# It can solve Turnstile, reCAPTCHA, and hCaptcha automaticallyPython SDK
If you prefer explicit control, use the Python SDK directly.
from gatesolve import GateSolve
solver = GateSolve(api_key="gs_your_key_here")
# When your OpenClaw agent hits a CAPTCHA:
result = solver.solve(
type="cloudflare-turnstile",
page_url="https://example.com/login",
site_key="0x4AAAAAAA..." # from page source
)
# Inject the token into the page form
print(f"Token: {result.token}")
print(f"Solved in: {result.solve_time}")pip install gatesolveDirect API
Works from any language. Submit a solve request, poll for the result.
# Direct API call — works from any language
curl -X POST https://gatesolve.dev/api/solve \
-H "Authorization: Bearer gs_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"type": "cloudflare-turnstile",
"siteKey": "0x4AAAAAAA...",
"pageUrl": "https://example.com"
}'
# Returns: { "id": "...", "status": "pending", "poll": "..." }
# Poll the URL until status is "solved"How It Works
Agent hits a CAPTCHA
Your OpenClaw browser navigates to a page protected by Cloudflare Turnstile, reCAPTCHA, or hCaptcha.
GateSolve solves it
Camoufox (patched Firefox) loads the page on residential infrastructure. Passes fingerprint and IP checks. Solves in 7-15 seconds.
Agent gets the token
GateSolve returns a valid CAPTCHA token. Your agent injects it into the form and continues the workflow.
Cloudflare Turnstile
Most common on modern sites. $0.02/solve.
reCAPTCHA v2/v3
Google reCAPTCHA support. $0.03/solve.
hCaptcha
Privacy-focused CAPTCHA. $0.03/solve.
Why GateSolve for OpenClaw Agents
100 free solves
No credit card required. Get an API key and start immediately.
MCP server
Listed in the official MCP Registry. Add as a tool in seconds.
Async API
Submit and poll. Non-blocking. Optional webhook callbacks.
Camoufox solver
Patched Firefox that passes CDP and fingerprint detection.
Error taxonomy
correction_class tells your agent what to do on failure.
Python SDK
pip install gatesolve. Three lines of code.
Stop Losing Tasks to CAPTCHAs
100 free solves. No credit card. Works with OpenClaw today.