Are AI bot names in robots.txt case-sensitive?
99Visibility Research · Updated October 21, 2026 · 5 min read
Short answer
No. RFC 9309 tells crawlers to match the user-agent product token case-insensitively, so "gptbot" and "GPTBot" select the same group. The path values in Allow and Disallow rules are case-sensitive, though. Spelling matters more than case: a missing hyphen or an invented name creates a group no crawler reads. Copy each token from the vendor's crawler page, then test the file.
Key takeaways
- Under RFC 9309, crawlers match the User-agent token case-insensitively, but Allow and Disallow paths are case-sensitive.
- A misspelled token, such as OAISearchBot instead of OAI-SearchBot, fails silently because no crawler matches it.
- A crawler that finds a group naming it follows that group and ignores the * group, which surprises many site owners.
- Copy tokens from each vendor's own crawler documentation and test the result, because robots.txt is only one of the gates an AI crawler has to pass.
The short answer: case doesn't matter, spelling does
The Robots Exclusion Protocol, standardised as RFC 9309, says crawlers must use case-insensitive matching to find the group that matches their product token. So User-agent: gptbot, User-agent: GPTBot and User-agent: GPTBOT all address OpenAI's training crawler.
The rest of the line is less forgiving. RFC 9309 treats the path in an Allow or Disallow rule as case-sensitive. Disallow: /Pricing does not block /pricing.
The real risk is spelling. A crawler only reads a group whose token matches its own. If you write OAISearchBot or Claude-Search-Bot, the group is valid syntax that nobody obeys. Nothing warns you. The bot falls through to the * group, or to no rules at all.
What this means for you: stop worrying about capital letters and start checking every token character by character against the vendor's page.
How RFC 9309 picks a group
A robots.txt file is a set of groups. Each group starts with one or more User-agent lines followed by rules. A crawler reads the file like this:
- It looks for a group whose token matches its own product token, ignoring case.
- If several groups match, it combines their rules.
- If none match, it uses the
*group. - Within the chosen group, the most specific matching path wins.
Step 3 catches people out. Once a crawler finds a group that names it, it ignores the * group entirely. Say you block /admin/ under * and add a separate GPTBot group that only allows /blog/. GPTBot no longer sees your /admin/ rule. Repeat shared rules inside every named group.
The user agent token is also not the full HTTP user-agent string. RFC 9309 expects the short product token, which contains only letters, underscores and hyphens. Pasting a full browser-style string or a version number into the User-agent line produces a group that matches nothing.
If a bot isn't named anywhere, the answer to whether an unlisted AI bot is allowed depends on your * group.
Syntax mistakes that silently break AI bot rules
These are the errors worth checking first. Each one leaves a file that looks fine to a human and does nothing for the bot.
- Wrong spelling or punctuation.
OAI-SearchBothas a hyphen.Claude-SearchBotandMeta-WebIndexerdo too. Dropping or moving it breaks the match. - Comma-separated names.
User-agent: GPTBot, ClaudeBotis not a list. Put each token on its ownUser-agentline above the shared rules. - Confusing training bots with search bots. OpenAI documents that GPTBot governs training use and OAI-SearchBot governs ChatGPT search, and states that each setting is independent. A blanket block written for training can remove search eligibility if you also list the search bot.
- Missing colon or a typo in the field name.
UseragentorUser agentwithout the hyphen is not a recognised field. - Path case mismatches. Your rules must match the case of your real URLs.
- Rules split from their group. A stray
User-agentline between rules starts a new group, which changes who the rules apply to.
File size can also cause trouble. See whether a very large robots.txt can break AI crawler rules if yours runs to thousands of lines.
Where to get the exact tokens
Copy tokens from each vendor's own documentation, not from a blog post or a plugin's preset list. As of October 2026, the documented names include:
| Vendor | Training crawler | Search or index crawler | User-triggered fetcher |
|---|---|---|---|
| OpenAI | GPTBot | OAI-SearchBot | ChatGPT-User |
| Anthropic | ClaudeBot | Claude-SearchBot | Claude-User |
| Perplexity | (none documented) | PerplexityBot | Perplexity-User |
| Google-Extended | Googlebot | (n/a) | |
| Meta | Meta-ExternalAgent | Meta-WebIndexer | Meta-ExternalFetcher |
The user-triggered fetchers behave differently. OpenAI says robots.txt rules may not apply to ChatGPT-User, and Perplexity says Perplexity-User generally ignores robots.txt. There's also no robots.txt token for Google AI Overviews or AI Mode: Googlebot rules are the control there.
Our digests of OpenAI's crawler documentation and Anthropic's crawler documentation quote the vendor wording for each bot.
A clean example that allows search bots and blocks two training bots:
User-agent: GPTBot
User-agent: ClaudeBot
Disallow: /
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
Test the file, then test the network
A correct file is necessary but not sufficient. Check three things in order.
- Parse the file per bot. Resolve which group each named crawler selects and what it may fetch. The robots.txt Checker for AI Crawlers does this for the main AI bots.
- Confirm robots.txt itself is reachable. Anthropic warns that IP blocking impedes its ability to read your robots.txt file.
- Request a page as each crawler. A firewall or CDN can return a 403 to a bot your file allows. OpenAI's help centre says eligibility for ChatGPT search needs both OAI-SearchBot allowed and your host or CDN allowing its published IP addresses. Our page on OpenAI crawlers, robots.txt and firewalls covers that second gate.
What stays outside your control: allowing a bot buys eligibility only. It does not make any engine retrieve, cite or rank your pages. What you control is not blocking them by accident.
Frequently asked questions
Is the Disallow path in robots.txt case-sensitive?
Yes. RFC 9309 treats the path value in Allow and Disallow rules as case-sensitive, even though the User-agent token is matched without regard to case. A rule for /Docs/ does not cover /docs/. If your site serves the same content under different casings, write rules for each casing or fix the URLs so only one form exists.
Does blocking GPTBot stop my site appearing in ChatGPT search?
No. OpenAI documents GPTBot as its training crawler and OAI-SearchBot as the crawler for ChatGPT search, and states that each setting is independent. You can disallow GPTBot and still allow OAI-SearchBot. Sites that opt out of OAI-SearchBot will not be shown in ChatGPT search answers, though OpenAI says they can still appear as navigational links.
Can I list several AI bots on one User-agent line?
Not reliably. RFC 9309 expects one product token per User-agent line. A line like "User-agent: GPTBot, ClaudeBot" is not a list, so neither bot may match it. Instead, stack several User-agent lines one after another, then write the shared rules beneath them. That block forms a single group that applies to every bot named above the rules.
Does a wildcard group cover AI bots I also name separately?
No. Under RFC 9309, a crawler that finds a group naming its token follows that group and ignores the * group. Any rule you only wrote under * stops applying to that bot. If you want shared restrictions, such as blocking an admin area, repeat them inside each named group as well as under the wildcard.
Do all AI crawlers follow robots.txt?
Not all of them in every mode. The index and training crawlers from OpenAI, Anthropic and Perplexity are documented as respecting robots.txt. User-triggered fetchers are different: OpenAI says robots.txt may not apply to ChatGPT-User, and Perplexity says Perplexity-User generally ignores it. Treat robots.txt as one control among several, alongside your firewall and CDN settings.
Sources
This page is AI-assisted. It was written from a verified evidence base and checked against our editorial policy. Engine behaviour changes often; facts are as of October 21, 2026.