Skip to content

[bug] captcha doesn't work 70% time on Chrome iOS browser when "Attempt to block headless browsers" option is on #294

Description

@mplatov

bug description:
If "Attempt to block headless browsers" is enabled, the CAPTCHA always fails on Chrome browser on my iOS phone with iOS26. Sometimes check passes after clicking on captcha again few times. There is no issue with Safari on same device.

When it fails, captha error handler emits this:
code: instr_blocked
message: Instrumentation blocked (automated_browser)

affects:

  • standalone
  • [] widget (ui)
  • [] widget (wasm solver)
  • [] js server
  • [] js solver

to reproduce:
Enable "Attempt to block headless browsers"
On an iOS phone, open a site using the CAPTCHA using Google Chrome browser
Try to solve the CAPTCHA. It will try to solve and say "Error". in case it pass, refresh the page and try again (it will sure fail after few tries)

expected behavior:
I expect captcha to pass, as this real ios device with Chrome browser, with "Attempt to block headless browsers" option on.

screenshots:
N/A

versions and environment:
Mozilla/5.0 (iPhone; CPU iPhone OS 26_5_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/150.0.7871.113 Mobile/15E148 Safari

additional context:
After poking around with issue, it seems that it's related to core/src/instrumentation.js:197
if (!b && Object.getOwnPropertyNames(navigator).length !== 0) b = true;
Chrome for iOS (CriOS — a Chromium UI over WKWebView) exposes credentials as an own property of the navigator instance rather than on Navigator.prototype, so this check always evaluates to "automated browser" there.

criOS_test.html

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions