Skip to main content

Claude Max API Proxy

claude-max-api-proxy is a community tool that exposes your Claude Max/Pro subscription as an OpenAI-compatible API endpoint. This allows you to use your subscription with any tool that supports the OpenAI API format.
This path is technical compatibility only. Anthropic has blocked some subscription usage outside Claude Code in the past. You must decide for yourself whether to use it and verify Anthropic’s current terms before relying on it.

Why Use This?

ApproachCostBest For
Anthropic APIPay per token (~15/Minput,15/M input, 75/M output for Opus)Production apps, high volume
Claude Max subscription$200/month flatPersonal use, development, unlimited usage
If you have a Claude Max subscription and want to use it with OpenAI-compatible tools, this proxy may reduce cost for some workflows. API keys remain the clearer policy path for production use.

How It Works

Your App → claude-max-api-proxy → Claude Code CLI → Anthropic (via subscription)
     (OpenAI format)              (converts format)      (uses your login)
The proxy:
  1. Accepts OpenAI-format requests at http://localhost:3456/v1/chat/completions
  2. Converts them to Claude Code CLI commands
  3. Returns responses in OpenAI format (streaming supported)

Installation

# Requires Node.js 20+ and Claude Code CLI
npm install -g claude-max-api-proxy

# Verify Claude CLI is authenticated
claude --version

Usage

Start the server

claude-max-api
# Server runs at http://localhost:3456

Test it

# Health check
curl http://localhost:3456/health

# List models
curl http://localhost:3456/v1/models

# Chat completion
curl http://localhost:3456/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-4",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

With OpenClaw

You can 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" },
    },
  },
}
This path uses the same proxy-style OpenAI-compatible route as other custom /v1 backends:
  • native OpenAI-only request shaping does not apply
  • no service_tier, no Responses store, no prompt-cache hints, and no OpenAI reasoning-compat payload shaping
  • hidden OpenClaw attribution headers (originator, version, User-Agent) are not injected on the proxy URL

Available Models

Model IDMaps To
claude-opus-4Claude Opus 4
claude-sonnet-4Claude Sonnet 4
claude-haiku-4Claude Haiku 4

Auto-Start on macOS

Create a LaunchAgent to run the proxy automatically:
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.plist

Notes

  • This is a community tool, not officially supported by Anthropic or OpenClaw
  • Requires an active Claude Max/Pro subscription with Claude Code CLI authenticated
  • The proxy runs locally and does not send data to any third-party servers
  • Streaming responses are fully supported

See Also