Providers
Claude Max API proxy
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
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.
npm install -g claude-max-api-proxy # Verify Claude CLI is authenticatedclaude --versionclaude auth login # if not already authenticatedStart the server
claude-max-api# Server runs at http://localhost:3456Test the proxy
curl http://localhost:3456/healthcurl http://localhost:3456/v1/models curl http://localhost:3456/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "claude-opus-4", "messages": [{"role": "user", "content": "Hello!"}] }'Configure OpenClaw
Point OpenClaw at the proxy as a custom OpenAI-compatible endpoint:
{ env: { OPENAI_API_KEY: "not-needed", OPENAI_BASE_URL: "http://localhost:3456/v1", }, agents: { defaults: { model: { primary: "openai/claude-opus-4" }, }, },}| Model ID | CLI alias | Current mapping |
|---|---|---|
claude-opus-4 |
opus |
Claude Opus 4.5 |
claude-sonnet-4 |
sonnet |
Claude Sonnet 4 |
claude-haiku-4 |
haiku |
Claude Haiku 4 |
Advanced configuration
Proxy-style OpenAI-compatible notes
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.
/fastandservice_tieronly apply to directapi.anthropic.comtraffic; proxy routes leaveservice_tieruntouched (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 nativeapi.openai.comOAuth traffic, not on customOPENAI_BASE_URLtargets like this proxy.
Auto-start on macOS with LaunchAgent
cat > ~/Library/LaunchAgents/com.claude-max-api.plist << 'EOF'<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict> <key>Label</key> <string>com.claude-max-api</string> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> <key>ProgramArguments</key> <array> <string>/usr/local/bin/node</string> <string>/usr/local/lib/node_modules/claude-max-api-proxy/dist/server/standalone.js</string> </array> <key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/usr/local/bin:/opt/homebrew/bin:~/.local/bin:/usr/bin:/bin</string> </dict></dict></plist>EOF launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.claude-max-api.plistNotes
- Inherits Claude Code's
claude -pbilling, usage-credit, and rate-limit behavior. - Binds to
127.0.0.1only; 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.