The AI purchasing trap bosses keep falling into
I've already run into this with five of my clients. Companies with teams of a dozen-odd people, all telling me they were using the official Claude Code. Then I checked: three were on a relay, and two were on domestic models.
Another boss told me he'd used Claude Code for half a year and didn't think it was as good as Codex. That baffled me, because of everyone I know, nobody who is on the official subscription with a properly configured harness thinks Codex is better.
Start with the numbers
The AI idiot tax that bosses pay—the most common case of it is Claude Code.
I’ve already run into this with five of my clients. Companies with teams of a dozen-odd people, all telling me they were using the official Claude Code. Then I checked: three were on a relay, and two were on domestic models.
Another boss told me he’d used Claude Code for half a year and didn’t think it was as good as Codex. That genuinely baffled me. Of everyone I know, including all of my clients, anyone who is on the official Claude Code subscription and has that whole harness configured properly—not a single one of them thinks Codex is better.
About a third of them do use both, mind you. Codex lets you generate images out of the subscription quota for free.
And yes, someone will say it in the comments: Claude Code plus Kimi’s K3 is pretty good too. It is genuinely good—front-end pages, office documents, that kind of work it does really well. But on complex tasks, especially once the knowledge base gets large, it really cannot keep up.
Why swapping the endpoint breaks things
So today I had my Claude Code lay out what the actual difference is between going in via API—even with the official model, the thing people call an account pool—and the official subscription.
It comes down to this analogy:
Claude Code is like a robot. We give it a brain, which is its model. We also bolt on a series of MCP servers, or Skills. The reason it can smoothly get a whole series of tasks done for us is mainly this: the model uses this robot shell, so it can conveniently call a whole set of tools.
And every model vendor’s way of calling tools is very different.
So if what you’re connected to isn’t the official, what he calls “pure-blooded” subscription or API, four whole layers go seriously wrong.
Three ways it shows up: errors, dumber, hallucination
- Sometimes you see an explicit error and it simply cannot execute.
- Sometimes it executes, but you feel it has gotten dumber.
- Sometimes it produces severe hallucination, with irreversible consequences.
Of those three, the middle one is the expensive one. An outright error is almost a mercy—you find out immediately.
Going down the list: what actually breaks
The video walks through a tiered page one item at a time. Red means an explicit error or completely unusable. Orange means degraded—it quietly gets worse while you aren’t paying attention. Gray means the whole job just gets slower.
- Exact string replacement—the most basic operation there is—doesn’t work
- Write, and strict enums
- Web search, including the one most used in research, doesn’t work
- While an agent runs it dispatches small models to call, and if those parameters are off, it gets even simple summarization wrong
- Worst for the day-to-day experience: image and PDF input are directly affected. You can’t use the official tools and have to fall back on third-party substitutes
- Tool extended fields degraded, parallel tool calls degraded, heavy-duty chains of thought blocked outright, streaming events degraded, MCP degraded, subagents slowed
- Skills degraded, thinking budget unusable, experimental feature flags not recognized properly
- Automatic context compaction and blocking both misbehave, cost and usage accounting unusable, plan mode broken, error recovery and retry broken
In fairness: third-party models can be wired up with other tools configured around them to get these jobs done. But picture it. A beautifully engineered robot, one of its parts swapped for something that didn’t come from the original factory—you can expect its operating efficiency to drop.
The number that matters to whoever signs off
The most basic local commands re-send the entire context every single turn, with no caching at all.
Which means:
This is exactly why, when you use a relay and they give you such a steep discount, your monthly token bill is still that high. Sometimes it’s even higher than the official subscription.
The discount is on paper. The token bill is what actually happens. Those are not the same number.
And then the concession
A relay’s timing behavior can also garble the context or inject into it. It may even swap in a cheaper, quality-reduced model on you.
But step back for a second:
Even if we grant that a relay is a perfectly honest outfit that won’t look at your data and won’t tamper with your pricing—everything listed above is still broken.
That’s the backbone of the whole episode: this isn’t a question of anyone’s integrity, it’s a question of architecture. The client’s entire set of optimizations was tailored to the official path. Change the path and the optimizations stop applying.
Which is why, as I’ve said before, some AI influencers really have not one shred of conscience—all for ad money, they teach people to wire third-party models into Claude Code.
If you genuinely can’t get onto the official one
Then there’s a better fallback than forcing it.
Among China’s domestic agent tools—and I won’t name specific vendors—a domestic agent connected to a domestic model, especially the matching big-vendor model or the models on that agent’s own supported list, is usually optimized reasonably well.
Calling a domestic model from inside a domestic agent works far better than having Claude Code call a domestic model.
Same principle either way: let a tool use the model it was actually built around, instead of forcing a model into a shell that wasn’t designed for it.
So how do you know you’re being taken for a ride
In the video I say the methods are listed further down that page and skip them on camera. That document is attached to this post (see the download above)—one page you can audit against.
The first thing to do is simple. Don’t just ask “are we on Claude?” Ask “are we on the official subscription, the official API, or a relay?” Everyone on the team saying “it’s the official one” does not count. Go look at the config yourself. All five of my clients only found out at exactly this step.
Past that, the checklist’s five-minute self-check is ordered as a real execution sequence—each step’s answer decides the next:
- Confirm the protocol endpoint — Claude Code only sends
POST /v1/messages. If the relay only offers/v1/chat/completions, the two are simply incompatible. - Confirm the model ID — don’t copy the model name from the official docs. Use the relay’s actual list, and it’s case-sensitive.
- Probe whether the proprietary fields pass through — send
thinkingandcache_controlonce each and see whether they’re accepted, ignored, or 400. Whethercache_creation_input_tokenscomes back in usage is direct evidence of caching. - Validate with one real tool call — read a file, make an exact Edit to one line, then Grep to verify. That single chain hits all three danger points at once: parallel calls,
tool_use_idpairing, and character-exact precision. - Explicitly disable what isn’t supported — better to turn a capability off than to keep sending fields that get rejected or ignored. It removes a whole class of baffling 400s and spinning.
One more, worth knowing: whether WebSearch works is the fastest tell. It’s an Anthropic server-side tool—the search runs on their servers. A relay only converts the protocol and has no search service; Bedrock and Vertex don’t support it either. So a reverse-proxied channel can Fetch but never Search.
One last thing
None of today’s argument depends on which client you use. It holds up just the same in the official command line.
And the last line is for certain people in this business: someone is always watching. Go earn some clean money.
Source: EP0077_audio.mp3 · ASR model gemini-2.5-pro (concurrent segment transcription) · full text of the original recording
[00:00] The AI idiot tax that bosses pay The most common case is Claude Code I’ve already run into this with five of my clients Companies with teams of a dozen-odd people who all told me they were using the official Claude Code So I checked and found three were on a relay and two were on domestic models And another boss told me he’d used Claude Code for half a year and felt it wasn’t as good as Codex I was really baffled at the time Because of everyone I know including all of my clients anyone who’s on the official subscription for Claude Code and has a properly configured harness not a single one of them
[00:26] thinks Codex is better to use Of course, about a third of them use both Codex and Claude Code After all, Codex lets you use the subscription quota to generate images for free Now, speaking of this, some people will say in the comments that Claude Code plus Kimi’s K3 is pretty good too Yes, it’s genuinely good For front-end pages and some office documents and that sort of work it does a very good job But on complex tasks especially once the knowledge base gets large it really cannot keep up So today I had my Claude Code to lay out what the difference is when you connect via API
[00:52] even with the official model what’s colloquially called an “account pool” what’s the real difference from the official subscription? So we can see from this web page that Claude Code made Claude Code is like a robot We give it a brain which is its large model We also bolt on a series of MCPs or Skills you know, Skills The reason it can smoothly help us complete a whole series of tasks and jobs is mainly because the model uses this robot shell so it can conveniently call a
[01:17] whole set of tools Every large model’s way of calling tools is actually very different So if what you’re connected to isn’t the official, “pure-blooded” subscription or API four whole layers go seriously wrong Sometimes you’ll see an explicit error it simply cannot execute Sometimes it executes but you feel it’s gotten dumber It can even lead to severe hallucination with irreversible consequences So let’s look at which specific tool uses will have problems I’ll drop this web page into the group The red marks on here mean
[01:42] an explicit error or completely unusable Orange means it’s degraded it quietly gets worse when you’re not paying attention And the gray ones just make the whole job slower Now, third-party models when connected can also be configured using other tools to get these tasks done But just imagine this a beautifully engineered robot where one of its body parts is swapped for a non-original-factory version You can expect that its operating efficiency will drop
[02:07] So even the most basic thing like exact string replacement doesn’t work Then, looking down the list: Write, strict enums including the most common one the one most used in research web search, doesn’t work When an agent is running it dispatches small models to call and if those parameters are off when doing simple summarization it’ll get it wrong And what’s worst for the user experience? Image and PDF input are directly affected You can’t use the official tools you have to use third-party substitutes
[02:32] Tool extended fields are degraded Parallel tool calls are degraded Heavy-duty chains of thought are blocked outright Streaming events degraded, MCP degraded Subagents are slowed And because there’s no caching the total cost runs extra high which is exactly why, when you use a relay and they give you such a steep discount your monthly token bill is still that high Sometimes it’s even higher than the official subscription Skills are degraded The most basic local commands re-send the entire context every single turn
[02:58] with no caching at all The thinking budget is unusable, experimental feature flags aren’t recognized properly The context’s automatic compaction and blocking both misbehave Cost and usage accounting is unusable Plan mode is broken Error recovery and retry is broken And a relay’s timing behavior can garble the context or inject into it It may even swap in a cheaper quality-reduced model on you. Even if we grant that a relay is a perfectly ordinary outfit that won’t look at your data and won’t tamper with your pricing
[03:23] everything I just listed above is still broken So, as I’ve said before, some AI influencers really have not one shred of conscience, all for ad money They teach users inside Claude Code to wire in third-party models So if you genuinely can’t get onto Claude Code then among China’s domestic agent tools and I won’t name specific vendors a domestic agent paired with a domestic model especially the matching big-vendor models or the models on that agent’s
[03:48] own supported list are usually optimized reasonably well Calling a domestic model from inside a domestic agent works far better than having Claude Code call a domestic model. So how can you tell if you’re being cheated? I’ve listed some methods on the page below I won’t go through them one by one here Finally, a word of advice to certain people in this business Someone is always watching Go earn some clean money That’s all for today See you next time, bye