Pool subscription accounts
Enroll Claude Code or Codex accounts and route across eligible members of one subscription kind.
Pool subscription accounts
RouteKit can enroll named Claude Code and Codex subscription accounts. Clients
keep using normal namespaced models such as claude-code/<model> or
codex/<model>; the daemon chooses an eligible account within that provider.
Enroll an account
Start a provider-free daemon, then enroll one or both subscription kinds:
curl -fsSL https://github.com/velum-labs/routekit/releases/latest/download/install.sh | sh
routekit config init --empty
routekit accounts login claude-code --name personal
routekit accounts login codex --name work
routekit accounts status
routekit models listThe first successful login enables its provider in the canonical configuration.
No temporary API route is needed. For guided onboarding that can combine
subscriptions with selected API routes, run routekit setup.
accounts login runs the matching official CLI in a disposable profile,
imports only the resulting credential, enables the provider, and verifies live
model discovery. It does not replace your normal Claude Code or Codex login.
Use --no-browser on a headless host. Codex uses device authorization; Claude
Code prints a copyable URL and accepts a pasted code. To import an existing
official CLI login instead, run routekit accounts add <kind> --name <label>.
Manage enrolled accounts
routekit accounts list
routekit accounts status
routekit accounts rename codex work personal
routekit accounts remove codex personalRename moves the credential and its quota and cooldown state atomically. Login, rename, and removal are recoverable daemon transactions; an interrupted change is restored from a private rollback vault at startup.
API-key providers remain different. openai, anthropic, and openrouter
read one unlabeled registry-defined environment variable.
RouteKit does not currently store named API credential slots, so API keys cannot
be listed or renamed as accounts.
Configure pool selection
Pool policy belongs to the subscription provider:
providers:
claude-code:
strategy: capacity_weighted
switchThreshold: 0.9Available strategies are:
capacity_weightedfavors available capacity and can switch proactively;round_robinrotates eligible accounts;stickyretains an account while it remains eligible.
Optional probeIntervalMs and fallbackCooldownSeconds tune probing and
cooldown behavior. See configuration
for exact ranges and defaults.
Understand model selection
At startup, RouteKit discovers models from every healthy member and publishes their union. A request is sent only to an account that advertised the requested model. Each member retains independent credentials, quota windows, cooldowns, and reset times.
Exhaustion rotates within the same subscription kind only. RouteKit never falls back to a paid API-key provider or another billing class.
Explicit reasoningCapabilities configuration wins over discovered metadata.
Otherwise RouteKit uses deterministic account order when resolving conflicting
capability reports. It exposes only effort levels the provider marks supported.
Read subscription routing for credential
recovery, retry containment, and client-facing model names.
Verify the pool
routekit accounts status
routekit usage
routekit models list --provider codex
routekit models list --provider claude-codeRead observe and operate for activity markers, quota windows, and banked Codex reset redemption. Use troubleshooting when no member can route.
Implementation boundary
The singleton daemon owns subscription credentials, relays, and pools. Users do not install or serve a separate connector. Retained registry implementations exist for compatibility, migration, and development; they are non-contractual and do not expand RouteKit's public support surface.
routekit stop shuts down only the local singleton and gateway. Enrolled remote
gateways are unaffected.

