CheckCC: a browser-side environment checker for Claude accounts
https://checkcc.org 是一个 Claude 运行环境检测与账号风险分析工具,面向正在注册 Claude 账号、订阅 Claude Pro、申请 Claude API、使用 Claude Code,或担心 Claude 封号、账号受限、订阅失败的用户。
At a glance
- What is it?
- CheckCC is an open source Next.js app that samples browser fingerprint, timezone, locale and container signals to flag environment conflicts before you register, subscribe or log in to Claude. It does not touch your Claude account, and it cannot prove your account is safe.
- Who is it for?
- Adopt CheckCC if you want a self-hosted page that surfaces language, timezone, locale and container conflicts before a Claude signup, Pro subscription or Claude Code session, and you are comfortable reading a heuristic score rather than a verdict. Do not adopt it if you need a guarantee about account standing, an API for automated gating, or anything that inspects an actual Claude account: the project states it reads no account data, no cookies and no chat content.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 44 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
The problem CheckCC targets, and who actually has it
Claude account restrictions rarely trace back to one obvious cause. The README frames it as an aggregate: browser fingerprint, system timezone, language preference, network egress, runtime container, device environment and payment environment combine into what it calls an environment profile. CheckCC exists to make the conflicts inside that profile visible before you act on it.
The intended audience is narrow and specific. People about to register a Claude account, subscribe to Claude Pro, apply for Claude API access, or run Claude Code, and people who already worry about a ban, a restricted account or a failed subscription. If you are none of those, the tool has nothing to say to you.
The README is honest about the ceiling here, and it is worth quoting rather than paraphrasing: these signals "cannot prove that an account is definitely safe or will definitely be restricted." That sentence should govern how you read every score the app produces. CheckCC is a conflict detector, not an oracle, and the project says so in its own documentation.
How the detection pipeline is put together
The architecture is a Next.js app with a client half and a server half. On the client, the app samples the browser environment: preferred language, system timezone, the JavaScript Intl locale, the User-Agent string, and runtime container characteristics that would indicate a WebView, an automation environment or an unusual client. On the server, the README describes request analysis and IP intelligence lookup, then a consistency check that compares the two sets of signals against a regional profile.
That last step is the interesting one. A single mismatched timezone means little on its own. CheckCC's value proposition is cross-referencing several weak signals until they contradict each other: a browser language that does not match the claimed region, a timezone that disagrees with the IP's geography, an Intl locale that exposes a different environment than the User-Agent suggests. The README claims 40+ detection dimensions folded into this comparison.
The privacy design follows from the split. Sampling happens locally in the browser, and the README states the project does not require a Claude login, does not read Claude account data, passwords, cookies or chat content, and does not upload detection results by default. The server-side IP lookup is the one part that necessarily leaves the browser, and the README does not spell out which service performs it.
Running CheckCC locally with pnpm
The README gives a two-command start. The package manager is pnpm, and the repository includes a pnpm-lock.yaml and a pnpm-workspace.yaml, so pnpm is the expected tool rather than npm or yarn. Install dependencies first, then start the development server:
pnpm install
pnpm devThe app then serves on port 3000. Open http://localhost:3000 in the browser you actually use for Claude, because the detection runs against that browser's environment. A fresh tab in a different browser profile will produce a different result.
For a production build, the README gives the standard Next.js pair:
pnpm build
pnpm startThe package.json engines field requires Node 20 or newer, so check that before installing. The dependency set is small: Next.js 16.2.10, React 19.2.4 and react-dom 19.2.4, with Tailwind CSS 4 and TypeScript 5 on the development side. The README also names Vercel, Cloudflare Pages, Netlify and self-hosted servers as deployment targets, without giving per-platform instructions for any of them.
What CheckCC cannot tell you, and why the distinction matters
The most important limitation is stated plainly: the result is not an official Anthropic judgement and should not be the sole basis for decisions about account security, subscription status or an appeal. Anyone treating a green score as permission to proceed has misread the tool.
The mechanism has a second, structural limit. Everything the client half measures is observable and changeable. Timezone, browser language and Intl locale are all settings you can edit, which means a clean result can reflect a well-configured environment or a deliberately staged one. CheckCC cannot distinguish between the two, and the README does not claim it can.
There is also a deployment gap. The README documents the browser-side sampling thoroughly and mentions server-side request analysis and IP intelligence in the technical section, but it does not document which IP data source is used, how it is configured, or what happens when that lookup fails. Anyone self-hosting needs to read the source to answer that, because the README will not. Finally, there is no documented API for programmatic checks: this is a page you open, not a service you call from a CI pipeline.
CheckCC against a plain browser fingerprinting library
The obvious alternative is a general fingerprinting or bot-detection library such as FingerprintJS or a headless-browser detector. The difference is in what gets compared. A fingerprinting library answers "is this the same browser I saw before?" or "does this look automated?" It returns an identifier or a bot score, and it has no opinion about geography, language or timezone coherence.
CheckCC asks a narrower, domain-specific question: do the signals in this environment contradict each other in a way that matters for a Claude account? That framing is why it ships a regional profile and a consistency check rather than a hash. It is also why it is useless outside its stated scope. If you need device identification or bot mitigation for a general web application, a fingerprinting library is the right tool and CheckCC is not; if you need to know whether your timezone, locale and egress agree before a Claude signup, the fingerprinting library will not tell you. The two solve different problems and only one of them is about Claude.
Licence terms and the cost of keeping a fork current
CheckCC is MIT licensed, Copyright yacuo / CheckCC. The README adds a request beyond the licence text: any copy, derivative, self-hosted site or substantial portion must retain the original copyright and licence notice and credit the source repository, and redeployments should keep the footer attribution or repository link. Under MIT those attribution requirements are contractual for the licence notice itself, and the footer request is a stated expectation rather than a legal term. This is not legal advice; read the LICENSE file in the repository before you redistribute.
On maintenance, the last push to the repository was on 2026-08-03, and the repository is not archived. The release history shows v1.0.0 on 2026-07-07, V1.1.0 described as a new detection architecture on 2026-07-11, and v1.1.1 covering startup workflow and deployment experience on 2026-07-22. Note that the version in package.json is 0.1.0, which does not track the release tags, so do not use it to judge which release you are running.
Upgrade cost is mostly the Next.js and React majors. The project pins Next.js 16.2.10 and React 19.2.4, and the README's detection rules are the part most likely to need edits as your own environment changes. The README also mentions an unreleased desktop repair application for macOS, Windows and Linux that is described as in internal testing; nothing about it is installable today, and the README gives no date.
Editorial conclusion
Adopt CheckCC if you want a self-hosted page that surfaces language, timezone, locale and container conflicts before a Claude signup, Pro subscription or Claude Code session, and you are comfortable reading a heuristic score rather than a verdict. Do not adopt it if you need a guarantee about account standing, an API for automated gating, or anything that inspects an actual Claude account: the project states it reads no account data, no cookies and no chat content. Before deploying, verify that your Node version satisfies the engines field (>=20), check the pnpm version your lockfile expects, and confirm where the server-side IP intelligence step runs, since the README documents the client-side sampling in detail but is silent on how the server half is configured.
Frequently asked questions
What is a CC check in the context of CheckCC?
In this project, CC refers to CheckCC itself, the Claude environment checker. A check means sampling browser and network signals and comparing them against a regional profile to surface environment conflicts. The README describes it as risk guidance, not an official Anthropic judgement.
What is a CC checker used for?
CheckCC is used to inspect the environment around a Claude account before registering, subscribing to Claude Pro, applying for API access or running Claude Code. It reports whether language, timezone, locale, User-Agent and container signals contradict each other. It does not read the account itself.
How do I check my CC usage with CheckCC?
CheckCC does not report usage or balances. The README states it does not read Claude account data, cookies or chat content, so it cannot show consumption of a Claude plan. Its output is an environment risk assessment only.
Community notes