The short version:
- The "Claude bans accounts with a points system" story comes from community posts. Anthropic has never published any points rules, and we cannot confirm them. Everything below about points is a summary of those posts.
- Anthropic's own help center lists only three ban reasons: repeated Usage Policy violations, creating an account from an unsupported location, and Terms of Service violations. If you think you were banned by mistake, file an official appeal first.
- If you want to keep coding in Claude Code, you can connect it with an API Key instead of relying on a claude.ai login. We tested Claude Code 2.1.310 with an API Key from our site: simple requests came back in about 1.4–1.7 seconds, and asking it to fix an empty-list bug and write passing tests took 8.5 seconds over 5 turns.
Create an API Key and connect Claude Code with it →
What is going around: the community "points system" claim
On October 28, two Chinese-language posts about how Claude bans accounts spread on X at the same time:
- According to a post by @Mashiro_0619 (about 370,000 views), Claude's risk control is a points system: an account gets a starting score at signup, gains or loses points based on behavior, and is banned once it drops below a threshold.
- According to a post by @make_claude (about 400,000 views), these findings come from "reverse engineering by the Chinese community", and the content largely matches the first post.
- X also turned it into a trending news story. According to that summary, users compared it to a "credit score" and mentioned large waves of bans and appeals earlier this year.
The main claims in the two posts (summarized, not our conclusions):
| Claim in the posts | Source |
|---|---|
| Each account has a score; below a threshold it is banned, and the score is hard to recover | According to both posts |
| Near the threshold an account enters an "observation period", typically shown by being logged out; losing more points then leads to a ban | According to both posts |
| Older accounts have more room for error, and the score grows slowly with account age | According to both posts |
| Time zone and language barely matter, and telling Claude where you are does not get you banned | According to both posts |
| Signup method, payment method, number of logged-in devices and network stability all affect the score | According to both posts |
The posts also include long lists of specific steps for "how to sign up, pay and set up your network to gain points". We do not repeat those, for two reasons:
- They are the authors' observations. Anthropic has not confirmed them, and following them guarantees nothing.
- Some of them, such as "rotate between two accounts", directly conflict with the Usage Policy clause against creating multiple accounts to avoid detection. Following them could put an account at more risk, not less.
So treat the "points system" as a folk explanation, not an official rule.
What Anthropic officially publishes: ban reasons, policy and appeals
The three sources below are Anthropic's own pages. We opened each of them on the day of writing.
1. Official ban reasons
According to the Claude Help Center article Safeguards warnings and appeals, an account may be banned for:
- repeated violations of the Usage Policy;
- account creation from an unsupported location;
- Terms of Service violations.
2. The Usage Policy clauses most relevant to bans
The Anthropic Usage Policy says the Safeguards team runs detection and monitoring, and that suspected violations may lead to a warning, throttling, limits, suspension or termination. In the "Do Not Abuse Our Platform" section, the clauses most relevant here are:
- do not coordinate malicious activity across multiple accounts, or create multiple accounts to avoid detection or circumvent guardrails;
- do not use automation to create accounts;
- do not circumvent a ban with a different account, new or existing;
- do not access, or give others access, in violation of the Supported Regions Policy;
- do not use stolen, fraudulent or unauthorized payment methods.
The policy also notes that having an output blocked by a real-time safeguard does not by itself mean you violated the Usage Policy.
3. Supported regions
The Supported Regions Policy lists the countries and regions where Claude.ai, Claude Code and the API are available. Anything not listed is unsupported, and mainland China is not on the list. The policy also says that using the products while physically located in an unsupported region counts as unsupported.
Banned? Start with the official appeal
If you believe the ban was a mistake, the help center says to:
- go to claude.ai and log in with the banned account (the appeal form is only visible after login);
- fill out the appeal form on the restricted-account screen, after which the Safeguards team investigates;
- if an organization you belong to was put on hold, click "Request a review" next to that organization on the same screen;
- if you only received a warning and think it was a mistake, email usersafety@anthropic.com with the details.
The same page says that personal accounts banned for Usage Policy violations can still log in to claude.ai to export their data or delete the account. Exporting your conversations and project data while the appeal is pending is a sensible first step.
Also, according to the GitHub issue anthropics/claude-code#66918, some users report that the appeal page redirects to claude.ai/new and the form never loads. In that case, contact support through the help center messenger or email as described in How to get support, and keep to one conversation per issue.
Tutorial: connect Claude Code with an API Key
Besides logging in with a Claude account, Claude Code can take a Base URL and an API Key from environment variables. Requests then go to the API endpoint you configure, without depending on a claude.ai login. Below is the configuration we actually ran.
Step 1: create an API Key
Sign up and log in to our site, create an API Key in the console, and save it somewhere safe. Do not paste it into chats or code repositories.
Step 2: write the global ~/.claude/settings.json
Put the configuration in the global ~/.claude/settings.json (on Windows, %USERPROFILE%\.claude\settings.json) so it applies to every project:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
"ANTHROPIC_AUTH_TOKEN": "your API Key"
},
"model": "claude-sonnet-5-5"
}
Three things to watch:
- set
ANTHROPIC_BASE_URLtohttps://api.aicodewith.ai, without/v1; - put the Key in
ANTHROPIC_AUTH_TOKEN. If your shell still exports an oldANTHROPIC_API_KEYorANTHROPIC_BASE_URL,unsetthem first so they do not override each other; modelcan also beclaude-opus-5-5. For help choosing, see Which model should Claude Code use.
For a full explanation of every field, see How to connect Claude Code to a third-party API.
Step 3: check that it works
claude -p "Reply with one word: received" --output-format json
If is_error is false and modelUsage lists claude-sonnet-5-5, the request went through your API Key.
Test results (Claude Code 2.1.310, Linux)
We ran two sets of tests in a temporary directory with the configuration above:
| Test | Result | Time |
|---|---|---|
| Simple request asking for a one-word reply, run 4 times | Correct reply every time | 1.4–1.7 s API time, 1.8–2.3 s for the whole command |
| Fix the ZeroDivisionError in avg([]) in stats.py, write test_stats.py and run it | Empty list now returns 0.0, tests pass | 8.5 s over 5 turns, about 9 s for the whole command |
The second test used this command. --permission-mode acceptEdits lets it edit files directly, and --allowedTools only allows python3 in Bash:
claude -p "avg in stats.py raises ZeroDivisionError on an empty list. Fix it so an empty list returns 0.0, write test_stats.py covering [] and [1,2,3], run it with python3 test_stats.py, and report in one sentence once it passes." \
--permission-mode acceptEdits \
--allowedTools "Bash(python3:*)" "Edit" "Write" "Read" \
--output-format json
Its final report said that avg now returns 0.0 for an empty list, that test_stats.py covers the empty list and [1,2,3] with assert, and that the run passed. We ran python3 test_stats.py ourselves afterwards and it passed too. After testing we deleted the config and session files containing the Key from the temporary directory.
Also: connecting Codex and Cursor
Codex: use the global ~/.codex/config.toml and put the Key in experimental_bearer_token:
model = "gpt-6.1-sol"
model_provider = "aicodewith"
[model_providers.aicodewith]
name = "aicodewith"
base_url = "https://api.aicodewith.ai/chatgpt/v1"
wire_api = "responses"
experimental_bearer_token = "your API Key"
See Codex config.toml explained for what each field does. This article only tested Claude Code; if Codex returns 401 after setup, see the troubleshooting below.
Cursor: according to the Cursor docs, your own keys go in Settings → Models under each provider. They only apply to chat models, Tab completion still uses Cursor's own models, and requests pass through Cursor's servers for prompt building. Whether you can enter a third-party endpoint depends on the settings page of your Cursor version.
Each client has its strengths, so pick the one that fits your workflow. The same Key can be set up in both Claude Code and Codex.
Troubleshooting: 401 and 429
401: invalid or missing Key
When we sent a request straight to the API with a deliberately wrong Key, it returned HTTP 401 with the message "请在请求中提供有效的 API Key。" ("please provide a valid API Key in the request"). With the same wrong Key in Claude Code, claude -p returned nothing within 90 seconds because it keeps retrying, so it looks "stuck". Check in this order:
- whether the Key in
~/.claude/settings.jsonpicked up an extra space or line break when copied; - whether your shell still has an old
ANTHROPIC_API_KEYorANTHROPIC_AUTH_TOKEN; runenv | grep ANTHROPICto check (look at the variable names only, and do not paste the Key anywhere); - whether the Key was deleted or disabled in the console.
For step-by-step 401 troubleshooting on the Codex side, see How to fix Codex 401 Unauthorized.
429: too many requests
429 means too many requests in a short time, or that you hit a usage window. Wait a moment and retry, run fewer sub-agents in parallel, and split long tasks into smaller ones. To tell rate limits, quota and usage windows apart, see How to fix Codex 429 Too Many Requests. If your Claude Code subscription usage ran out, see What to do when Claude Code usage runs out.
FAQ
Does Claude really ban accounts based on points?
Nobody outside Anthropic can say. The points system is a claim from posts by @make_claude, @Mashiro_0619 and others, and Anthropic has never published it. The only official reasons are repeated Usage Policy violations, signing up from an unsupported location, and Terms of Service violations.
Can I get a banned Claude account back?
You can appeal. Log in to claude.ai with the banned account and fill out the appeal form on the restricted screen. Export your data while you wait.
Is a Claude Code ban the same as a Claude web ban?
If you log in to Claude Code with your Claude account, it is the same account as the web app, so a ban affects both. Under the Usage Policy, using another account to get around a ban is itself a violation. Claude Code connected with an API Key uses the service behind that Key, and you still need to follow that service's terms.
Do I still need to log in to a Claude account after setting an API Key?
No. Once ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN are set, Claude Code sends requests with the Key directly. Our test used a brand-new empty HOME directory with no login history.
Can I put settings.json inside the project?
You can, but we do not recommend putting the Key in a project directory, because it is easy to commit to the repository. The global ~/.claude/settings.json is the simplest choice.
Test environment
- Claude Code 2.1.310, Linux, temporary HOME directory;
- model
claude-sonnet-5-5, all requests through an API Key from our site; - tested on October 29, 2026. The config and logs containing the Key were deleted after testing.



