Status

Agent support matrix.

Which AI agents send Accept: text/markdown (or otherwise advertise a Markdown preference) when their built-in browse or fetch tools hit a URL.

Agent
Status
Mechanism
Verified
Claude Code Anthropic
Supports
Accept: text/markdown, text/html, */*
Cursor Anysphere
Supports
Accept: text/markdown, text/plain;q=0.9, */*;q=0.8
Codex CLI OpenAI
Partial
Follows <link rel="alternate" type="text/markdown" href="https://example.com/page.md">
Claude.ai (web app) Anthropic
No
Fetches only HTML
ChatGPT (browse) OpenAI
No
Fetches only HTML
Gemini CLI Google
No
Fetches only HTML
Gemini (web app) Google
No
Fetches only HTML
Perplexity Perplexity
No
Fetches only HTML
Grok xAI
No
Fetches only HTML
Copilot CLI GitHub / Microsoft
No
Fetches only HTML
Copilot Chat (VS Code) GitHub / Microsoft
No
Fetches only HTML

Last updated .

Verify an agent yourself

We test the matrix ourselves, but agent behavior shifts across versions, plans, and newly-added tools. You can corroborate any row — or catch a regression — by triggering an agent against your own server and reading the request from your access logs.

1. Capture the Accept header in your logs

Default log formats usually drop it. Add it once:

log_format with_accept '$remote_addr - $remote_user [$time_local] '
                       '"$request" $status $body_bytes_sent '
                       '"$http_referer" "$http_user_agent" '
                       'accept="$http_accept"';
access_log /var/log/nginx/access.log with_accept;

2. Trigger a known agent against a specific URL

Pick a URL on your site — ideally a unique or freshly-published one so the request isn't masked by background traffic. Then ask the agent to fetch or summarize it:

  • ChatGPT"Summarize https://yoursite.com/article-xyz" (with the browse tool enabled)
  • Claude"What does https://yoursite.com/article-xyz say?" (requires web_fetch / web_search)
  • Perplexity — paste the URL directly into a query
  • …and so on for whichever agent you're testing.

3. Report what you saw

Grep for the URL in your access log and send the line(s) to feedback, along with the agent you used and the prompt you sent. The accept= field tells us whether text/markdown was advertised.