ClaudeOpus stands between your code and Anthropic's API. It routes, meters, and caches — then gets out of the way. Your SDK keeps its shape; your keys keep their limits.
Three lines of config
# ~/.claude/settings.json ANTHROPIC_BASE_URL=https://api.claudeopus.pro ANTHROPIC_AUTH_TOKEN=sk-ant-co-... ANTHROPIC_MODEL=claude-opus-4-6
Works with any client that speaks the Anthropic messages API. If yours doesn't, there's an OpenAI-shaped endpoint too.
— 01
Swap a single base URL and every Anthropic client sees Opus, Sonnet, and Haiku. No forks of your SDK, no custom routing layer, no vendor glue.
— 02
Each API key enforces a rolling five-hour token window and a per-minute request ceiling. When a team burns through their quota, they stop — not the proxy, not the upstream.
— 03
Admins mint keys. Resellers mint keys for their users. Everyone sees their own usage. No one sees the ones above them.
| Tier | Model ID | When to reach for it |
|---|---|---|
| Opus | claude-opus-4-6 | Deep reasoning, synthesis, long horizons. |
| Sonnet | claude-sonnet-4-6 | Balanced — the default for most prompts. |
| Haiku | claude-haiku-4-5 | Low latency, high throughput. |
Any model ID Anthropic publishes, you can request. The proxy accepts them all.
No surprises. No feature flags. Everything below is live for every key from the moment it's issued.
— on routing —
“The best infrastructure is the kind you forget about. ClaudeOpus is meant to be forgotten.”
From the README
Install the wizard, paste your key, and pick your editor. The proxy does everything else.
$ npx claudeopus → Enter your ClaudeOpus API key: █
