claude-max-api-proxy is a community npm package (not an OpenClaw plugin) that
exposes a Claude Max/Pro subscription as an OpenAI-compatible API endpoint, so
you can point any OpenAI-compatible tool at your subscription instead of an
Anthropic API key.
Why use this
Approach
Cost route
Best for
Anthropic API key
Pay per token through Claude Console
Production apps, shared automation, volume
Claude subscription proxy
Claude Code / claude -p plan and credit rules
Personal experiments with compatible tools
This proxy lets a Claude Max or Pro subscription work with OpenAI-compatible
tools. It is not an unlimited flat-rate path — it inherits Claude Code's usage
limits. API keys remain the clearer billing path for production use.
How it works
text
Your App -> claude-max-api-proxy -> Claude Code CLI / claude -p -> Anthropic (OpenAI format) (converts format) (uses your login)
The proxy spawns the Claude Code CLI as a subprocess per request, converts
OpenAI-format chat requests to CLI prompts, and streams (or returns) the
response back in OpenAI format.
Getting started
Install the proxy
Requires Node.js 20+ and an authenticated Claude Code CLI.
bash
npm install -g claude-max-api-proxy# Verify Claude CLI is authenticatedclaude --versionclaude auth login # if not already authenticated
Start the server
bash
claude-max-api# Server runs at http://localhost:3456
This uses OpenClaw's generic custom /v1 OpenAI-compatible route, the same
path as any other self-hosted OpenAI-compatible backend:
Native OpenAI-only request shaping does not apply.
/fast and service_tier only apply to direct api.anthropic.com
traffic; proxy routes leave service_tier untouched (see
Anthropic provider fast mode).
No Responses store, prompt-cache hints, or OpenAI reasoning-compat
payload shaping.
OpenClaw's OpenAI/Codex attribution headers (originator, version,
User-Agent) are only sent on native api.openai.com OAuth traffic, not
on custom OPENAI_BASE_URL targets like this proxy.
Inherits Claude Code's claude -p billing, usage-credit, and rate-limit behavior.
Binds to 127.0.0.1 only; does not send data to any third-party server beyond the CLI's own call to Anthropic.
Streaming responses are supported.
Auth failures are not checked at startup and only surface once a chat request actually runs; if the CLI is unauthenticated, expect the first request to fail rather than the server to refuse to start.