Cloudflare Bot Fight Mode and AI agents: what it blocks, what it can't tell apart
The free all-or-nothing bot defense challenges AI assistants, APIs, and scrapers alike. What it does, where the granular AI controls actually live, and both sides' playbook.
Bot Fight Mode is Cloudflare’s free, all-or-nothing bot defense: it matches requests against known automation patterns and answers them with computationally expensive challenges. It has no allowlist, can’t be scoped by WAF rules, and doesn’t distinguish a personal AI assistant from a scraper — so yes, it will challenge AI agents, and it can catch your own API and mobile traffic too. Granular control (skip rules, verified-bot handling, per-crawler AI policies) lives in Super Bot Fight Mode and Cloudflare’s AI Crawl Control, not here.
What Bot Fight Mode actually does
One toggle, whole domain. Requests matching known bot patterns get challenges that force the client to burn CPU — the point isn’t to identify you, it’s to make automated requests expensive at scale. Two design facts explain almost every real-world surprise with it. First, there are no exceptions: per Cloudflare’s own docs it can’t be customized or bypassed with WAF Skip or Allow rules, because it runs outside the ruleset engine. Second, “bot” is a pattern, not a judgment — the docs note it may challenge your own API or mobile-app traffic, and the same indiscrimination applies to any AI assistant fetching a page on a user’s behalf.
If you’re the site owner
Bot Fight Mode is a blunt instrument you reach for under attack, not a durable policy. If you want defense with judgment — let search and verified crawlers through, allow your own tooling, decide about AI traffic deliberately — that’s Super Bot Fight Mode (paid plans; runs on the ruleset engine and supports Skip rules) plus AI Crawl Control, Cloudflare’s dedicated AI-crawler surface, which is available on all plans and lets you allow or block individual AI crawlers and audit their robots.txt compliance. The decision framework for that — training vs search vs user-initiated agent traffic — is its own question. The practical trap we’d flag from operating behind Cloudflare ourselves: people enable Bot Fight Mode during an incident, forget it, and discover weeks later that some legitimate automated consumer of their site — a monitor, a partner integration, an AI assistant sending them users — has been silently fighting challenges the whole time.
If you’re the agent operator
A Bot Fight Mode site is effectively closed to your agent, and that’s worth internalizing rather than fighting: the challenges are designed so that beating them at scale is more expensive than the content is worth, and evasion tooling moves your traffic into the category the site is explicitly hostile to. The productive responses are the boring ones — use the site’s API if one exists, let the agent report “this site challenges automation” and move on, and prefer sources that have made themselves agent-readable. The wider context (why sites deploy this, what verified bots are, and where personal agents fit) is covered in why websites block AI agents.
The bigger picture
Bot Fight Mode is 2010s bot economics applied to a 2026 problem: it prices out automation without asking whether the automation serves a human. Cloudflare’s own product line concedes the point — the interesting work (verified bots, per-crawler AI policies, pay-per-crawl experiments) all happens in the tools that do ask. For now, the web is mid-negotiation about which agents count as guests, and an agent operator’s best move is to be the well-behaved kind while that settles.