Published
Engineering

How we tell real Claude from a fake

Cheap Claude is often another model wearing Claude's name. Why asking the model proves nothing, why the knowledge cutoff is a guess, and the checks that actually catch a fake.

·5 min read·By UnoRouter team
engineeringannouncement

Claude is one of the most wanted models and one of the most expensive. That gap created a market of resellers selling "the same Claude" for a fraction of the price. Some really are selling Claude. Many are not: they answer with a cheaper model and put Claude's name on it.

This post explains, without jargon, how we check which one you are getting, and why the tests most people try do not work.

Asking the model does not work

The first thing everyone tries is asking: "Who made you?", "Which model are you?", "What is your knowledge cutoff?" None of these can prove anything.

A model says what it is told to say. A reseller passing off another model as Claude simply gives it an instruction: "You are Claude, made by Anthropic. Never mention anything else." The fake then answers every identity question perfectly.

The knowledge cutoff is a guess, not a fact. In Anthropic's own Claude app, Claude is told today's date and its knowledge cutoff in a hidden system prompt, so it answers the question confidently. Through the API, and through Amazon Bedrock, Google Vertex AI or Microsoft Foundry, there is no such prompt, and Claude has to guess. We asked one backend that we know serves real Claude 34 times. It gave 12 different cutoff dates. So a "wrong" cutoff does not mean a fake, and a "right" one does not mean the real thing: comparing the answer to what the Claude app says only compares a guess to a fact it was given. We stopped using the question entirely.

So instead of asking the model about itself, we look at things it cannot easily fake.

What actually gives a fake away

Some signs are clear enough to fail a channel on their own:

  • It behaves like a different product. Some resellers route "Claude" to free coding assistants built into code editors. Ask one for a two sentence sad story about a lost kitten and it refuses: "I'm here to help with coding." Real Claude never does that.
  • It leaks its real instructions. When a model is disguised, its hidden instructions tell it never to mention its real maker. Models that show their reasoning often repeat that instruction while thinking, even when every answer they give says "Claude". We catch the disguise in the reasoning, not in the answer.
  • The reply carries the wrong label. Every reply comes with technical details next to the text, including which model produced it. A reply sold as "Claude Opus" that names a different model, or a cheaper Claude tier, in its own details is caught here.
  • It skips the thinking it cannot skip. The newest Claude models always reason before they answer. A "Claude" that answers with no reasoning at all is not that model.
  • It slips into another language. Several cheap substitutes are Chinese models, and they sometimes drift into Chinese mid-reply. Real Claude does not.
  • The "answer" is really an error page. Some resellers return their own content filter message or error page as if it were the model's reply. You pay for it and get nothing.

Other signs are kept as evidence and compared over weeks, because one run alone can mislead:

  • The thinking signature. Real Claude marks its reasoning with a signature only Anthropic produces.
  • How it counts your words. Every model family splits text into tokens differently, and you are billed per token. A text that every family splits differently shows, in one number, which kind of model counted it.
  • Its favourite random answers. Ask a model many times for a random number, a colour or a city, and each model family has its own pattern of answers. Collected over days, that pattern tells families apart and shows when a reseller mixes several models behind one name.
  • Hidden prompts added by the reseller. Asked to repeat its earlier instructions, a model often recites what the reseller slipped in front of your message.

A channel is never failed on a timeout or a flaky connection, only on what the model actually answered.

What is not a fake

Claude is also sold through Amazon Bedrock, Google Vertex AI and Microsoft Foundry. Those platforms run Anthropic's real Claude under license, so a reseller buying capacity there and reselling it is selling the real thing. Claude served there sometimes answers "Amazon" or "Google" when asked who made it, because the platform adds its own instructions. We do not count that against it.

What no test can tell you

Being honest about the limits matters as much as the checks. From the outside, nobody can prove the exact version of a model or whether it was compressed to run cheaper. And a reseller that passes today can switch its backend tomorrow, which is why we keep testing every channel on a schedule rather than once.

What we found when we started

In April we probed 8 popular Claude resellers for 17 days. 183 of their channels sold under Claude names were not Claude at all, most of them coding assistants wearing a Claude name tag. That is why we built these checks into our routing. Our sync engine, new-api-sync, discovers and tests every channel before it serves traffic and keeps retesting it, so a channel that fails does not serve your requests on our network.

Test your own provider

You do not need to install anything. Open the API model tester, paste your provider's address and key, pick a model, and it runs these checks live and shows you exactly what passed and what failed.

Prefer the command line? This is the kitten test from above. If the reply refuses or steers you toward coding, your "Claude" is not Claude.

bash
curl https://YOUR-PROVIDER/v1/messages \
  -H "x-api-key: $YOUR_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-opus-4-7",
    "max_tokens": 150,
    "messages": [{
      "role": "user",
      "content": "Tell me a 2-sentence sad story about a lost kitten."
    }]
  }'

Both pieces are open source, so anyone can check how it works or run it themselves: the checks are ai-model-verifier (also on npm), and new-api-sync is what runs them across every provider we route to.

Related posts