✏️ IP purity · Claude login/ban risk check 中文 · EN

1.1.1.1
Middle blurred for safe screenshots · tap to reveal
✗ high ban risk

VPN/proxy IPs are commonly flagged by Anthropic — do NOT log in or re-auth Claude here; high ban risk. switch to a residential network first.

2/100
Purity score · higher is safer
🏆 Purity score · collecting samples
What to do
  1. do not log in / re-auth Claude on a VPN/proxy IP — switch to a residential connection.
  2. prefer the official endpoint (api.anthropic.com / claude.ai) over third-party relays.
  3. keep one account on one clean network; avoid rapid network hopping.
  4. if an account was banned on this IP before, a new account won’t help — change the IP first.
🔒 No sign-up, no tracking cookies, no ads or trackers. Check records never keep your full IP and are deleted after 30 days. Privacy
Every check · problems first
Datacenter✓ yes
VPN✓ yes
Anycast/broadcast✓ yes
IP risk score98/100 · vpn/hosting
ASNAS13335 CLOUDFLARENET - Cloudflare, Inc., US
LocationSouth Brisbane, AU
Cloudflare's view…
IPv4 exit…
IPv6 exit…
Dual-stack consistency…
Browser timezone…
Local time at exit…
WebRTC…
China cloud✗ no
Proxy✗ no
Residential proxy✗ no
Tor✗ no
Mobile network✗ no
Abuse reputationnone (0.00%)
Edge colo—
Signals used
  • datacenter ASN AS13335
  • VPN egress: Cloudflare WARP / relay
  • anycast/broadcast IP
Optional: if your proxy routes by domain, check the IP claude.ai itself sees

None of the checks above touch Anthropic. Only if your proxy routes by domain (Clash/Surge rule mode) can claude.ai take a different route, and only then do you need this: open claude.ai/cdn-cgi/trace in a private/incognito window, select all and paste below. It is the plain-text diagnostic page Cloudflare serves on every site it fronts; a private window carries no login state, so the visit can't be tied to your account. Don't open it in a window that is signed in to Claude.

Data sources cymru-doh+ipapi.is+ip-api.com · check another IP: ?ip=… · JSON: add Accept: application/json
High-volume API? Get a free key (100 req/day) at account.leeguoo.com · How bans work: the three things Claude checks — region, IP, request fingerprint
Privacy · Contact
Free login/ban-risk check · ip-check.leeguoo.com

Compare expectations with observations

Optionally enter your expected exit country and browser timezone. Missing, failed or old observations stay unverified. Differences are for troubleshooting and do not change the score. A match does not establish account safety; language and timezone need not match the exit country.

On a phone, scroll the table sideways.

The country belongs to this page request, not a Claude request. Browser values are not system settings. Native reports appear separately and are not linked to this page session. Expectations stay in page memory and are excluded from saved reports and share images. Refresh and collect new observations after changing a proxy or configuration.

For more checks on your Mac, download Thermo

This page checks network exits and browser-visible signals. Claude installation identifiers, telemetry configuration and running-process environments require a local app. A network score cannot establish account safety or suspension status.

Download Thermo · macOS · See app features

Thermo 1.2.0 and later include read-only Claude diagnostics and redacted report export, alongside AI-tool configuration checks and browser privacy controls. Use version 1.2.0 or newer. Feature details

Import a redacted Thermo diagnostic report

In a Thermo version with this feature, run Claude local diagnostics in Privacy Tools and save the redacted report, or run thermo agents claude-local --json. The selected JSON is parsed only in this page’s memory: no upload, storage or network-score changes. An imported file does not prove the device’s current state.

📟 Tired of checking by hand? Let the Claude Code status bar watch it

claude-statusbar (cs) puts your 5-hour / 7-day usage, reset countdown, model and context in Claude Code’s status line. Turn on its IP-risk check and it re-verifies your exit IP against this service every minute: silent while the network is clean, and a red “don’t log in / re-auth Claude here” warning the moment you land on a datacenter, VPN or proxy exit. Toggle a VPN or switch Wi-Fi and you see it within a minute.

✗ ip risk 83/100 (vpn/hosting) — account-ban risk
   ↳ do NOT log in / re-auth Claude here: switch network first
  1. Install (macOS / Linux, wires up the status line):
    curl -fsSL https://raw.githubusercontent.com/leeguooooo/claude-code-usage-bar/main/install.sh | bash
  2. Turn on the IP-risk warning:
    cs config set show_ip_risk true
claude-statusbar on GitHub →

What is IP purity

IP purity measures how much an IP looks like a real residential user to anti-fraud and multi-account risk systems. The stronger the datacenter/hosting ASN or public VPN/proxy signature, the lower the purity — and the more likely a login from it triggers verification or a ban.

Reading the four bands

How the score works

The score combines whether the ASN belongs to a datacenter/hosting provider, whether the org name matches VPN/proxy keywords, anycast status and more — without calling third-party risk APIs that rate-limit or fingerprint back. To understand how detectors spot automation and proxies, read why a real browser isn't flagged as a bot.

FAQ

What is IP purity?

IP purity measures how much an IP looks like a real residential user to anti-fraud and multi-account risk systems. The stronger the datacenter ASN or VPN/proxy signature, the lower the purity and the higher the ban risk.

How is the score computed?

Signals such as whether the ASN belongs to a datacenter/hosting provider, whether the org name matches VPN/proxy keywords, and anycast status are combined into a 0-100 score across four bands — no third-party risk API involved.

Why does IP purity matter for logins and multi-accounting?

Many platforms treat datacenter IPs and public VPN/proxy exits as high risk; logging in from them triggers verification, restrictions or bans. Checking purity first tells you whether an egress IP is safe to log in from.

How do I check an IP’s purity, and how do I get a clean IP?

Opening this page checks your current egress IP automatically; add ?ip= to look up any IP. For a clean IP, prefer a direct residential or mobile connection and avoid datacenter and public VPN/proxy exits.

How do I see which IP claude.ai actually sees?

This site checks your IPv4 and IPv6 exits separately and reads your exit from Cloudflare (the network claude.ai sits behind) — none of that touches Anthropic. Only a domain-routing proxy can send claude.ai down a different route; then open claude.ai/cdn-cgi/trace (Cloudflare's plain-text diagnostic page) in a private window and paste it here. A private window carries no login state, so the visit can't be tied to your account.

After a ban, can a new account reuse the same IP?

Not advisable. Users have tested it: after an account was banned, signing up a new one from the same IP failed, while a fresh IP worked regardless of browser. An exit IP used by a banned account may be flagged. This site can tell an IP's type and region, not whether it has had bans — keep track of which routes had trouble yourself.

Which domains must my proxy rules cover? Is claude.ai enough?

No. Claude also uses claude.com, anthropic.com, api.anthropic.com, claudeusercontent.com and the short-link domain clau.de; miss one and those requests go direct, exposing your real IP. All of them live in Anthropic's own network AS399358 (160.79.104.0/23, 2607:6bc0::/32), so one ASN or IP-range rule covers every one.

I use a proxy — why can Claude still see my real IP?

claude.ai is dual-stack (IPv4 and IPv6) and browsers prefer IPv6. Many proxies only carry IPv4, so IPv6 traffic leaves directly and Claude sees your real network. This site checks the IPv4 and IPv6 exits separately and flags it when they disagree.

Which regions can use Claude? Does Hong Kong or mainland China work?

Anthropic’s official Supported Regions page lists 185 countries and regions (plus their territories). Mainland China, Hong Kong, Macau, Russia, Iran and others are not on it, and logging in from networks there trips the region check. This site judges regions against that official list.

Can I log in to Claude from a datacenter IP, VPN or WARP?

A datacenter IP is generally fine for the API or Claude Code, but logging into claude.ai on the web or signing up from one looks like automation. Commercial VPNs, proxies, Tor and Cloudflare WARP are anonymizing exits — the highest ban-risk category — so avoid logging in or re-authenticating on them.

Local self-check: signals a website can't read but risk systems do

The checks above cover the IP and browser layers a website can measure for you. But account-risk systems also read things off your machine — the system proxy, shell env, tool config — that no website can physically see. Run these in a terminal; clear anything that isn't empty / 0 / null:

# 1. System proxy (should be all 0 — otherwise you're on "system proxy", not TUN mode)
scutil --proxy | grep -E "HTTPEnable|HTTPSEnable"

# 2. Leftover env vars (should print nothing)
env | grep -i proxy

# 3. This route's exit as Cloudflare sees it (never touches Anthropic): ip/loc should be
#    a residential network in a supported region, warp=off
curl -4 -s https://ip-check-origin.leeguoo.com/cdn-cgi/trace | grep -E '^(ip|loc|warp)='   # IPv4
curl -6 -s https://ip-check-origin.leeguoo.com/cdn-cgi/trace | grep -E '^(ip|loc|warp)='   # IPv6 — same region as IPv4

# 3b. Proxy rules must cover ALL Anthropic domains (claude.ai alone misses clau.de, claude.com…)
#     They all live in AS399358 — one rule in mihomo/Clash Meta (Surge: IP-ASN likewise):
#       - IP-ASN,399358,YourProxyGroup
#     or by range: IP-CIDR,160.79.104.0/23 / IP-CIDR6,2607:6bc0::/32

# 4. System timezone (should match where your exit IP is)
node -e "console.log(Intl.DateTimeFormat().resolvedOptions().timeZone)"

# 5. Relay residue: ANTHROPIC_BASE_URL (easiest to miss, should be empty)
echo "$ANTHROPIC_BASE_URL"
env | grep -iE "anthropic|claude"          # broad — catch CLAUDE_* / API_KEY targets
grep -RiE "ANTHROPIC_BASE_URL|HTTPS?_PROXY" ~/.zshrc ~/.bashrc ~/.zshenv ~/.profile ~/.npmrc ~/.gitconfig 2>/dev/null

# 6. Claude Code's own config (env.ANTHROPIC_BASE_URL often hides here)
grep -iE "base_url|proxy|anthropic_" ~/.claude/settings.json 2>/dev/null

# 7. npm / git config (command-level — a proxy can be set outside the dotfiles)
npm config get proxy; npm config get https-proxy
git config --global --get http.proxy; git config --global --get https.proxy

The mechanism is explained in the three things Claude checks — region, IP, request fingerprint.