Skip to content

[Feature]: Claude account pool — parity with ChatGPT/Codex multi-account routing #294

Description

@str0203

Problem to solve

opencodex has a mature ChatGPT/Codex account pool with quota-aware auto-routing, affinity, cooldown, and failover. Claude support exists only as a single account — one OAuth login or one API key.

This is a serious asymmetry for users who rely on Claude for heavy coding workloads:

  • Claude Pro/Teams/Enterprise users often have multiple subscriptions across different organizations
  • A single Claude account has rate limits that can be exhausted during long agentic coding sessions
  • Unlike ChatGPT where the pool automatically picks the lowest-usage account, Claude users must manually switch accounts in the dashboard when they hit a rate limit
  • ocx claude sessions that run for hours (SSH, tmux, overnight) have no fallback — they just fail when the single account is throttled

The ChatGPT pool is a first-class feature. Claude deserves the same treatment.

Proposed solution

A Claude account pool that mirrors the existing ChatGPT/Codex pool behavior:

  1. Add multiple Claude accounts via OAuth (sk-ant-*) or API key, just like the "Codex Auth" page does for ChatGPT
  2. Quota-aware routing — opencodex polls each account's usage/quota and routes new sessions to the lowest-usage healthy account
  3. Session affinity — existing threads stay pinned to their account so long-running sessions don't jump mid-conversation
  4. Cooldown + failover — 429 responses put the account in cooldown; future work fails over to another eligible pool account
  5. Non-PII labels in the request log, matching the ChatGPT pool's account ordinal display
  6. Dashboard integration — a new "Claude Auth" page (or a Claude section in the existing auth/dashboard) showing account status, quota, and pool controls

Alternatives considered

  • Manual account switching (current state): Works but defeats the purpose of a proxy that should manage routing transparently
  • External load balancer: Overkill and defeats the point of having opencodex manage pool state with quota awareness
  • Using API key rotation only: Doesn't solve the subscription-based rate limit problem; most Claude users have subscription accounts, not just API keys

Additional context

The ChatGPT pool is a headline feature in the README and a major reason users adopt opencodex. Extending this to Claude would:

  • Make ocx claude viable for heavy/production use
  • Eliminate the anxiety of "will my Claude session die mid-task?"
  • Give Claude parity with ChatGPT in the proxy's feature matrix
  • Likely increase adoption among Claude-heavy teams and enterprises

This is not asking for new infrastructure — the pool engine already exists for ChatGPT. It needs to be extended to the Anthropic adapter with Claude-specific quota semantics (RPM/TPM limits, organization-level rate limits).

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestroadmapAccepted long-term work item; needs its own project cycle

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions