Why the AI agent won't open a site: 403, robots.txt, and safe fallback
A browser agent might see a page yesterday and get a CAPTCHA or 403 today. This isn't always an "AI failure": the site might have blocked agents, the WAF might have mistaken them for bots, the session might have lost permission, or the action might require a human. Below is a diagnosis without bypassing protection and a ready-made plan for developers.

An AI agent and a regular browser are not the same thing
On October 17, The Verge gathered evidence regarding the blocking of browser agents on major services: from online stores to airlines and financial websites. Some companies explicitly do not allow agents to perform actions, some only agree through partnerships or licensed access, and elsewhere, automated traffic is stopped by standard anti-bot protection. This is a journalistic collection, not proof that every mentioned service blocks all agents in all countries.
OpenAI's official documentation also warns: a site may restrict a cloud browser, even if the same page opens on your device. The site owner decides whom to let in. A user's permission to open a domain does not override the site's rules, and permission to access a site is not automatic permission to confirm a payment or other irreversible action.
What 401, 403, 429, or CAPTCHA actually mean
| Signal | Likely explanation | Safe action |
|---|---|---|
| 401 Unauthorized | No active session or authentication is required. | Hand over control to a human for login; do not ask for a password in the chat. |
| 403 Forbidden | The server understood the request, but policy or permissions rejected it. | Do not repeat endlessly. Check the rules, official API, or allowlist. |
| 429 Too Many Requests | Rate or quota exceeded. | Slow down, apply backoff, cache, and respect the documented limit. |
| CAPTCHA / challenge | WAF or anti-bot system does not trust the client. | Pause and manual takeover. Do not automate CAPTCHA solving. |
| robots.txt: Disallow | The owner asks conscientious robots not to bypass a certain path. | Respect the rule; it is not authentication or private data protection. |
| Page has changed | Selector, form, or business process no longer matches expectations. | Stop the action, show the user the new state, and re-verify the scenario. |
robots.txt — a voluntary protocol. It helps well-behaved crawlers but does not protect secret URLs: a malicious client can ignore it. Real restrictions are enforced by authentication, access rights, WAF, rate limits, and server-side request verification.
AI feature architecture that doesn't break from a single 403
- First, look for an official connector or API. It has more stable contracts, explicit permissions, and machine error codes. Leave the browser for supported UI scenarios.
- Separate reading from consequences. Price searching can be automated more cautiously than payment, booking cancellation, or changing bank details.
- Add fail-closed. If the agent does not see the final amount, domain, or confirmation, it stops rather than "guessing."
- Preserve the manual path. The user should receive a direct link, a brief explanation of the blocker, and the ability to continue manually.
- Design for re-runs. Steps must be idempotent: a retry after failure should not create a second order, email, or charge.
- Log state, not secrets. Domain, error category, stage, and time are sufficient. Passwords, tokens, payment data, and private page content must not enter analytics.
A useful agent response format: "The site rejected automated access during the availability check. I did not bypass protection. Here is a direct link; check the price and complete the final confirmation yourself." This is worse than the magical one-click seen only in demos, but better for real trust.
As a site owner, do not confuse a useful agent with a scraper
In its documentation, Cloudflare distinguishes between search crawlers, training bots, and agents acting in real-time on behalf of a human. A single global "block all AI" button is simple, but it can cut off indexing, citations, or real customers along with unwanted data scraping.
Public content
Define search, AI citations, model training, and real-time agents separately. Establish rules in an accessible policy.
Accounts and personal data
Requires authentication, least privilege, short sessions, auditing, and additional confirmation for risky actions.
Commercial actions
Show the full price before the final step, require explicit confirmation, and protect against duplicate retries.
Trusted agent
Verify cryptographic signatures or official provider mechanisms, not just User-Agent or IP.
OpenAI describes Web Bot Auth: cloud browser requests contain signed headers that a site owner can verify using a public key. This helps confirm the request's origin, but it does not mean automatic permission for any action. User authorization and specific endpoint rules are still required.
Local checker: will your site blocking function survive
Mark only what has already been implemented. Responses are counted in this browser and are not sent to the server; only the result range will be sent to analytics, without the site name.
Example: agent searches for and books a service
A reliable scenario has three different levels. First—the agent collects available options and sources. Second—the user chooses an offer and verifies the terms. Third—final booking or payment occurs only after explicit confirmation.
Implementation contractGoal: find three available options for [date/city]. Allowed: - read public pages and official APIs; - create a comparison with direct links; - prepare the form for the final step. Prohibited without new confirmation: - paying, booking, or agreeing to terms; - bypassing CAPTCHA, 403, rate limits, or site policy; - transferring passwords, tokens, or payment data to chat or logs. If the site blocks the agent: 1. stop automation; 2. name the stage and type of blocker; 3. provide a direct link; 4. suggest an official API, another allowed service, or manual continuation.
For functions with custom tools, continue with the material on secure function calling. If the agent works with code—use change verification checklist. Secret protection basics are collected in the guide on API keys in Vibe Coding.
Primary sources and journalistic signal
- The Verge: Websites are closing their doors to AI agents, 17.10.2026 — a journalistic collection of examples and company positions; this very collection became the basis for our practical study.
- OpenAI: Using cloud browser in ChatGPT, verified 18.10.2026 — site permissions, manual takeover, irreversible actions, and blocking scenarios.
- OpenAI: Cloud browser allowlisting, verified 18.10.2026 — Web Bot Auth and signed request verification.
- Cloudflare: Manage AI crawlers, updated 28.07.2026 — allow, block, robots enforcement, and custom 403/402 response.
- Cloudflare: Configure AI bot policies, verified 18.10.2026 — the difference between Search, Training, and Agent.
- Cloudflare Browser Run: robots.txt — the voluntary nature of the protocol and server-side methods for real access restriction.
- MDN: 403 Forbidden — status meaning and the reason not to repeat the same request without changing conditions.
Is your agent hitting a 403 or CAPTCHA?
Bring the bare minimum to Telegram: status code, scenario stage, and expected result. Do not post cookies, tokens, private URLs, or personal data.
Analyze the blocker in TelegramOne practical AI scenario per week: view the email example and subscribe with address confirmation.
Discussion
Share your opinion or ask about the material. Your nickname and comment text will be visible to everyone.
Log in via email
Get a one-time code. No password required.
The code is valid for 10 minutes. Logging in does not subscribe you to the newsletter. Data usage.
Or log in via ChatGPT ↗Loading comments...