Skip to main content

openai2claude

Proxy server that converts Claude API requests to OpenAI-compatible backends. This allows you to use the Anthropic Claude SDK with any OpenAI-compatible API provider.

Installation

pip install openai2claude

Quick Start

  1. Start the proxy server:
export OPENAI2CLAUDE_BACKEND=https://api.openai.com/v1
export OPENAI2CLAUDE_API_KEY=sk-your-api-key
openai2claude

Or with command-line arguments:

openai2claude --backend https://api.openai.com/v1 --api-key sk-your-api-key
  1. Configure your Claude SDK code to use the proxy:
import anthropic

client = anthropic.Anthropic(
    base_url="http://localhost:8000"
)

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello, world!"}]
)

Or via environment variable:

export ANTHROPIC_API_BASE="http://localhost:8000"

Configuration

Environment Variables

Variable Default Description
OPENAI2CLAUDE_BACKEND http://localhost:8080/v1 OpenAI-compatible backend URL
OPENAI2CLAUDE_API_KEY sk-xxx... API key for the backend
OPENAI2CLAUDE_HOST 0.0.0.0 Proxy server host
OPENAI2CLAUDE_PORT 8000 Proxy server port
OPENAI2CLAUDE_LOG_LEVEL INFO Logging level
OPENAI2CLAUDE_TIMEOUT 300 Request timeout in seconds
OPENAI2CLAUDE_VERIFY_SSL true Verify SSL certificates

Command-Line Options

openai2claude [OPTIONS]

Options:
  -b, --backend TEXT         OpenAI-compatible backend URL
  -k, --api-key TEXT         API key for the backend
  -h, --host TEXT            Host to bind the proxy server
  -p, --port INTEGER         Port to bind the proxy server
  -l, --log-level TEXT       Logging level (debug, info, warning, error)
  -t, --timeout FLOAT        Request timeout in seconds
  --no-verify-ssl            Disable SSL certificate verification
  --version                  Show version

Architecture

┌─────────────┐    ┌─────────────────┐    ┌────────────────────┐
│  Your Code  │───>│  openai2claude  │───>│  OpenAI Backend    │
│ Claude SDK  │    │    (localhost   │    │  (api.openai.com,  │
│             │<───│     :8000)      │<───│  ollama, etc.)     │
└─────────────┘    └─────────────────┘    └────────────────────┘

The proxy:

  1. Accepts requests in Claude API format (/v1/messages)
  2. Converts them to OpenAI API format (/v1/chat/completions)
  3. Forwards to the configured backend
  4. Converts responses back to Claude format

Features

  • Format Conversion: Automatically converts between Claude and OpenAI API formats
  • Tool Calling Fix: Fixes malformed tool calls (e.g., cmd/input -> command) for Bash tools
  • Streaming Support: Full SSE streaming support for real-time responses
  • System Prompt Injection: Adds tool usage instructions to prevent common errors
  • Environment Variables: Full configuration via environment variables
  • CLI Interface: Easy-to-use command-line interface with --help

Use Cases

  1. Use Claude SDK with local models: Point to Ollama, LM Studio, or other OpenAI-compatible local servers
  2. Multi-provider support: Switch between OpenAI, Azure, or other OpenAI-compatible providers
  3. Development and testing: Test Claude code against mock or local backends

License

MIT

Metadata

Release files for openai2claude 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openai2claude 0.1.1
File Size Uploaded
openai2claude-0.1.1.tar.gz 11.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openai2claude 0.1.1
File Interpreter ABI Platform
openai2claude-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 20.5 kB

Release files / openai2claude-0.1.1.tar.gz

Download URL openai2claude-0.1.1.tar.gz
Size 11.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5308a696113be301a67480f2efb4c43453316b7611156eb6c98fd5e286592ed5
BLAKE2b-256 checksum
How to use checksums
64f87341c1aee45ccdbf24b42475674f7f3a5526cc9a1c21f9ededac92b8250c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release files / openai2claude-0.1.1-py3-none-any.whl

Download URL openai2claude-0.1.1-py3-none-any.whl
Size 8.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc009a1f75114cf9101a3906f40e95a08302fbdea1f043820cb305b99e058fdc
BLAKE2b-256 checksum
How to use checksums
0de2b1956bb5a9e8199364ce93bd3f3712aa0bbb15241c729e9048b967905d91
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.11

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page