3. API keys are the supported credential type¶
Status: accepted
Context¶
The obvious use for a pooling gateway is combining Claude Pro/Max subscription accounts. Two problems:
- Pooling subscription accounts to exceed per-account limits runs against Anthropic's consumer terms. For a public open-source project that is a takedown and reputation risk, not a footnote.
- It routes badly. Subscription sessions expose no
anthropic-ratelimit-*headers, so the header-driven routing this project exists for degrades into reactive 429 backoff — which is what every generic proxy already does.
Decision¶
Ship anthropic_api (API keys) as the supported, documented, tested path. Keep
providers.base.Upstream open so other credential types can be implemented. No OAuth
adapter in the core distribution.
Superseded in part. Subscription support was first added as a separate distribution, then folded into core; see ADR-0004 for why, and for what it still costs you. The decision above is otherwise unchanged: the supported, tested-against-a-real-API path is API keys.
Consequences¶
- The routing differentiators work as designed for every shipped credential type.
- Bedrock and Vertex shipped as adapters against the same interface, which is the evidence that the interface was the right seam.
- Anyone who wants subscription pooling can implement one interface; that is their call and their risk, not the project's.