If you use Pi and you're willing to gamble your Anthropic account on it, here you go:
https://github.com/spksoft/pi-sub-anthropic
That sentence is not a joke, and I'd rather lead with it than bury it.
How I got here
I watched Mario Zechner's talk, Building pi in a World of Slop, and came out the other side genuinely in love with Pi. Four primitives — read, write, edit, bash — a system prompt under a thousand tokens, and everything else is an extension you write yourself. After a couple of years of agents that ship with fifty tools and opinions about all of them, that minimalism lands hard.
Then I hit the wall everyone hits.
Pi's provider layer does the correct thing: it follows Anthropic's policy and doesn't let you point a Claude Pro/Max subscription at a third-party harness. Since April 4, 2026, Anthropic has enforced this server-side — third-party tools authenticating with a subscription OAuth token get a 400 telling them their usage draws from extra usage, billed per token, not from plan limits. There's an open issue on the Pi repo from someone running into exactly this.
That is a reasonable position for Anthropic to hold. Subscriptions were priced for interactive use, not for agents burning tokens unattended, and first-party clients get prompt-cache behaviour that third-party harnesses don't. I'm not writing a grievance post about it.
But I was curious. And curiosity, for me, mostly expresses itself as "what happens if I try."
What I actually built
So I ported the Anthropic provider layer out of omp (oh-my-pi), pinned at v17.4.2, into a standalone Pi extension. It registers a second provider — pi-sub-anthropic — alongside Pi's built-in one, so nothing about your existing setup changes until you explicitly select it.
pi install npm:pi-sub-anthropic
/login pi-sub-anthropic
/model pi-sub-anthropic/claude-opus-5
No runtime dependencies, no build step. Pi type-strips the TypeScript at load, and the Messages API is spoken directly over fetch. Nine models registered, mirroring Pi's own Anthropic catalog.
It also accepts an API key via PI_SUB_ANTHROPIC_API_KEY, which is the boring, sanctioned path — billed as API credits, no fingerprint games, and the one I'd actually recommend to anyone reading this.
The part you need to read before installing
To make a subscription credential work outside Claude Code, this extension reproduces Claude Code's wire fingerprint: user-agent, beta headers, system-block layout, token clamp, tool naming, billing attestation. That is, by construction, presenting a third-party client as a first-party one.
Which means:
- It may violate Anthropic's Usage Policy and Consumer Terms. Read them and decide for yourself. This project takes no position and offers no defence.
- Detection is trivial and entirely on Anthropic's side. They can identify, rate-limit, suspend, or terminate accounts at any time, without notice.
- The account at risk is your Claude subscription account — the same one you use in Claude.ai and Claude Code. There is no sandbox. There is no way to limit the blast radius.
- The fingerprint is pinned and does not self-update. The moment Anthropic changes something server-side, requests start failing, possibly loudly.
- No warranty, no support, no liability.
If you aren't prepared to lose the account, don't install it. Use an API key, or use Pi's built-in anthropic provider, or just use Claude Code — which is, after all, the client this thing is imitating.
Credit where it's due
The interesting work here isn't mine. The OAuth flow, the wire fingerprint, the beta profile, the token clamp, the tool naming, the billing attestation — all of that is omp's discovery. What I contributed is a Node-compatible translation, tests, and documentation. MIT licensed, carrying omp's notice.
Not an official Anthropic or Pi project. Use at your own risk.
Top comments (0)