Analysis updated 2026-05-18
Run Claude Code against a local Ollama or LM Studio model to avoid paying for the Anthropic API.
Route Claude Code traffic through OpenRouter to access many AI providers with a single API key.
Self-host a proxy so your team's AI requests never leave your own infrastructure.
Test Anthropic SDK code against different models without changing any client-side code.
| jesuspeterson342-dot/anthropic-openai-proxy | 0-bingwu-0/live-interpreter | 0xkaz/llm-governance-dashboard | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | Python | Python | Python |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 2/5 | 2/5 | 4/5 |
| Audience | developer | general | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires an API key for your chosen upstream OpenAI-compatible service such as OpenRouter or a local Ollama instance.
This project is a small Python web server that acts as a translator between two AI service formats. On one side it speaks the language that Claude Code and Anthropic's software tools expect (called the Anthropic Messages API). On the other side, it forwards those requests to any service that speaks the more widely supported OpenAI Chat Completions format, including local models running on your own computer via Ollama or LM Studio, or cloud gateways like OpenRouter. The core problem it solves is that Claude Code is built to talk exclusively to Anthropic's API format. If you want to run Claude Code against a cheaper or self-hosted model, there is no built-in way to do that. Generic bridge tools exist but tend to fail on the precise streaming event sequence and tool-calling behavior that Claude Code relies on. This proxy is specifically built to handle those edge cases correctly: it runs a state machine that emits streaming events in the exact order the Anthropic SDK expects, and it correctly buffers and reassembles the fragments that carry tool call data. The project covers several details that simpler shims miss. It answers the token-counting endpoint that the Anthropic SDK calls before sending messages, because many proxies return an error here and cause the client to fail before making a single request. It also maps model names by substring rather than exact match, so names like "claude-sonnet-4-8" route to whatever upstream model you configure for Sonnet. Error responses are translated into the format Anthropic clients understand, rather than passing through raw error shapes. The upstream API key is stored in a local configuration file rather than passed by the client, keeping the key private. Setup involves cloning the repo, copying a configuration file, setting your upstream API key and the base URL for whichever OpenAI-compatible backend you want to use, and running the server. Once it is running locally, you point Claude Code at it by changing one environment variable. The README includes separate instructions for Bash, Fish, Zsh, and PowerShell. The codebase is about five Python modules with no database dependency.
A Python proxy server that translates Anthropic API requests into OpenAI format, letting Claude Code run against any OpenAI-compatible backend including local Ollama or OpenRouter.
Mainly Python. The stack also includes Python, FastAPI, SSE.
Use freely for any purpose including commercial projects, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.