Claude Code to OpenAI-compatible API proxy
Project description
clodxy
A simple custom proxy for Claude Code -> Any (OpenAI-compatible) Backend.
Supports the bare minimum necessary (messages, streaming, tools, vision).
Security Warning
NEVER expose this proxy to the public internet. This proxy is designed for local-only use and has no authentication or authorization mechanisms. The moment you bind this to a public-facing interface, you're inviting anyone on the internet to use your API keys and backend credentials. That's a skill issue waiting to happen. Keep it local.
Requirements
- Python 3.12+
- Claude Code CLI must be installed
- uv (for running from source)
Installation
No installation needed - run directly via uvx:
uvx clodxy
Configuration
Create a config file at ~/.config/clodxy/config.json (or set CLODXY_CONFIG to customize the path).
See config.example.json for reference:
{
"backends": {
"openai": {
"api_base": "https://api.openai.com/v1",
"api_key": "sk-your-api-key-here",
"skip_last_assistant_message": false,
"models": {
"gpt-4o": {
"context_size": 128000,
"reasoning": false,
"vision": true
}
}
}
},
"default": {
"backend": "openai",
"model": "gpt-4o"
}
}
Configuration Options
Backend fields
api_base- The base URL of the OpenAI-compatible APIapi_key- API key for the backend (optional, defaults to"not-needed")skip_last_assistant_message- Skip the last assistant message in the Anthropic→OpenAI conversion. Only applies when both this is true AND the model hasreasoning: true. Enable this for backends like llama.cpp that don't accept assistant prefills as the final message.
Model fields
context_size- Maximum context window size in tokensreasoning- Whether this is a reasoning/thinking model (e.g., o1, o3-mini, deepseek-reasoner)vision- Whether this model supports vision/images
Usage
Run clodxy - it will start the proxy and launch Claude Code:
clodxy
clodxy /path/to/project
CLI Options
clodxy --help # Show help
clodxy --version # Show version
clodxy --list # List available backends and models
clodxy --validate-config # Validate configuration
clodxy --port 9000 # Custom port (default: auto-assign)
clodxy --host 0.0.0.0 # Custom host
Passthrough
Use -- to separate clodxy options from claude options:
clodxy --port 9000 -- --prompt "help me debug"
Logs
Logs are written to ~/.cache/clodxy/:
clodxy.log- Application logsuvicorn.log- Server logs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file clodxy-0.2.1.tar.gz.
File metadata
- Download URL: clodxy-0.2.1.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"NixOS","version":"26.05","id":"yarara","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d17462f335c46ab6aca3f15829c4998f1dbe60ac603944180f1d0604f03a87a
|
|
| MD5 |
6632bac1d3fcba21cca0814bb56b619f
|
|
| BLAKE2b-256 |
e763e95227849b03f41efe237b9eb422fa8bfea7e00f89e14ecd169a75a40f84
|
File details
Details for the file clodxy-0.2.1-py3-none-any.whl.
File metadata
- Download URL: clodxy-0.2.1-py3-none-any.whl
- Upload date:
- Size: 17.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"NixOS","version":"26.05","id":"yarara","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4790b098ba55dd9de1bcadd1691850d0b388f51551a26bf217c5017d93d18f2b
|
|
| MD5 |
5e36229201739abe9ede4e9868ff1439
|
|
| BLAKE2b-256 |
a94b220a3c3595042fcec50a3839bfa2776a69c00b2c430eed0bba9d3602834d
|