Fuck Claude: What the Browser Check Reveals About AI Geo-Restrictions

Understand how Fuck Claude detects locale fingerprints in your browser, why Claude Code checks your timezone, and what the risk score means for developers in China and beyond.

Uwarp TeamJuly 4, 20266 min read
Fuck Claude: What the Browser Check Reveals About AI Geo-Restrictions

Several recent reverse-engineering reports uncovered something developers did not expect: when Claude Code routes through a non-official ANTHROPIC_BASE_URL endpoint, it reads your operating-system timezone and the proxy hostname, then encodes a "China user" check into the system prompt using Unicode steganography. Fuck Claude is an open-source browser tool that replicates the key signal behind that check, giving you a quick estimate of whether your environment would be flagged.

In this post, we break down how Fuck Claude works, what six locale fingerprints it scans, and why the broader conversation about AI geo-restrictions matters—whether you are a developer shipping code or a user wondering why certain models behave differently depending on where you sit.

What is the Fuck Claude browser check?

Fuck Claude is a fully client-side scanner that reads six locale fingerprints in your browser and weights them into a 0–100 risk score. The tool is inspired by public reverse-engineering of Claude Code's proxy-fingerprinting behavior. Only one signal—the system timezone—maps directly onto what Claude Code reportedly reads. The other five are common Chinese-environment indicators that correlate with it.

Because everything runs locally in your browser, your scan results never leave your device. No account is needed, and no data is uploaded. The tool only loads anonymous page-view stats via Google Analytics.

You can try our hosted mirror at /fuck-claude to scan your own browser environment.

The six signals that make up the score

1. System timezone (weight: 30)

Intl.DateTimeFormat exposes the same OS timezone that Claude Code reads. The scanner compares it against Asian timezones like Asia/Shanghai and Asia/Urumqi. This is the highest-weighted signal and the only one with a direct one-to-one mapping to Claude Code's reported mechanism.

2. Browser language (weight: 24)

navigator.languages reveals your browser's preferred language list. If zh-CN or Simplified Chinese sits at the top, the signal contributes a significant block to the score—this is one of the strongest non-timezone indicators of a Chinese-localized environment.

3. Installed Chinese fonts (weight: 20)

Canvas width-probing detects whether fonts like Microsoft YaHei, PingFang SC, or other Simplified and Traditional Chinese typefaces are installed on your system. Font availability is a notoriously stable fingerprinting vector because it rarely changes between sessions.

4. Intl locale (weight: 10)

The locale your browser resolves for date and number formatting. While a weaker signal on its own, it reinforces the picture when combined with language and timezone data.

5. Timezone offset (weight: 8)

A simpler check: does getTimezoneOffset() equal UTC+8? This is a quick sanity gate that catches cases where the system timezone name might differ from the actual offset.

6. Emoji rendering style (weight: 8)

The scanner guesses your OS vendor from the user agent string and maps it to common emoji rendering styles—a weak, loosely correlated signal that acts as a tiebreaker rather than a primary indicator.

Score bands and what they mean

The scanner groups results into three bands:

BandScore RangeMeaning
Low0–30Your environment shows few or no Chinese locale fingerprints. Claude Code would likely not flag you based on timezone alone.
Medium31–60One or two signals (e.g., browser language or fonts) suggest a Chinese-localized setup. The timezone may or may not match.
High61–100Multiple signals align: your timezone, language, fonts, and locale all point toward a China-based environment. Claude Code's check would likely return a positive match.

Signals scoring 0.25 or above (relative to their weight) count as individual "hits," and the Fuck Claude result panel lists each contributing signal so you can see exactly what pushed your score up.

Why this matters beyond one tool

The Fuck Claude scanner is a clever piece of reverse engineering, but it also surfaces a broader tension in AI tooling: geo-aware behavior that is invisible to the end user. When a model hides its region classification inside Unicode steganography in the system prompt—down to look-alike apostrophes in the "Today's date" line—the user has no way to know or contest the classification.

This matters for several reasons:

  1. Developers debugging unexpected model refusals. If Claude Code silently treats you as a China user, you might get different completions, different guardrails, or outright blocks without a clear error message. Understanding your fingerprint helps you isolate whether geography is the cause.

  2. Companies operating across regions. Teams with offices in China, Singapore, and the US may see inconsistent behavior from the same Claude Code instance, purely because one developer's macOS timezone is set to Asia/Shanghai.

  3. Transparency and trust in AI products. When classification logic is hidden and unappealable, it erodes the trust that open-weight and API-first companies have worked to build. Fuck Claude makes that classification visible, even if only for one model.

For a hands-on look at how these signals play out in your own browser, scan yourself at /fuck-claude.

How accurate is the score?

The score is an estimate, not a verdict. Only the system timezone maps directly onto Claude Code's reported check. The other five signals—language, fonts, locale, offset, and emoji style—are probabilistic. A developer running macOS in English with fonts from a previous Chinese-language install might see a medium score even though Claude Code would only flag the timezone.

If you want to lower your score, the tool's FAQ recommends:

  • Switching your OS timezone away from China zones like Asia/Shanghai
  • Moving zh-CN off the top of your browser language preference list
  • Avoiding Claude Code proxies whose hostnames contain flagged domains or AI-lab keywords

The bigger picture: browser fingerprinting is everywhere

Fuck Claude is a playful entry point into a serious topic. Browser fingerprinting—reading signals like timezone, fonts, language, screen dimensions, and WebGL renderer to build a unique device identifier—is used by fraud detection, ad networks, and now apparently AI API routing. The same Intl.DateTimeFormat().resolvedOptions().timeZone call Fuck Claude checks is also used by analytics libraries to geolocate users without asking for location permission.

If you are curious about the technical details behind the Claude Code reverse engineering, the Fuck Claude source linked from the tool page points to the original reports. The page itself is open-source and inspectable, so you can verify exactly what each signal reads and how the weighting works.

Conclusion: a mirror for invisible classification

Fuck Claude does not change how Claude Code classifies you. It does not bypass any restrictions. What it does is show you the fingerprints your browser leaves behind, and whether they match the pattern that reportedly triggers a "China user" flag. In an era where AI models increasingly make invisible decisions about who you are and what you should see, tools that make those decisions visible—even partially—are worth paying attention to.

Scan your browser environment now: /fuck-claude

Ready to create your charts?

Create professional data visualization charts in minutes with uchart

Get Started for Free