Claude Code adapter for LM Studio / Poe / OpenRouter / OpenAI Codex (Subscription required)
Project description
CC Adapter
cc-adapter lets Claude Code speak Anthropic /v1/messages to Poe, OpenRouter, OpenAI Codex subscription or LM Studio. It supports streaming, tool calls, and cache-control passthrough.
Tested models (quick list)
Choose one of these thoroughly tested models:
codex:gpt-5.2-medium(requires OpenAI Codex Subscription)poe:claude-opus-4.5(best quality; requires Poe key)poe:claude-sonnet-4.5(requires Poe key)poe:deepseek-v3.2(best value for money; requires Poe key)poe:glm-4.6(requires Poe key)poe:gpt-5.2-pro(requires Poe key; extremely expensive!)openrouter:claude-sonnet-4.5(requires OpenRouter key)openrouter:claude-opus-4.5(requires OpenRouter key)openrouter:gpt-5.2(requires OpenRouter key)openrouter:glm-4.6(requires OpenRouter key)openrouter:gpt-5.2-pro(requires OpenRouter key; extremely expensive!)lmstudio:gpt-oss-120b(requires LM Studio + gpt-oss-120b)
Install from PyPI (recommended)
Quickest way to get cc-adapter:
uv tool install cc-adapter
Install from source
Clone and set up a local dev environment:
git clone https://github.com/binbinsh/cc-adapter.git
cd cc-adapter/
uv venv --python 3.10
GUI (recommended for daily use)
Launch the Tkinter GUI to configure and start/stop the adapter:
uv run cc-adapter-gui
Set provider/model/API keys in the window, then use Test Provider and Start/Stop.
OpenAI Codex (ChatGPT OAuth)
This provider uses ChatGPT subscription to call the Codex backend. You do not need an OPENAI_API_KEY.
CLI
cc-adapter-codex-login
uv run cc-adapter --model codex:gpt-5.2-medium
GUI
choose provider OpenAI Codex, then click Login and Start.
CLI (recommended for remote host)
The GUI offers a curated drop-down list. But the CLI accepts any provider-prefixed model string (e.g., poe:any-model-name); Common flags: --host (default 127.0.0.1), --port (default 8005), plus provider-specific API keys.
Poe
uv run cc-adapter --host 127.0.0.1 --port 8005 \
--model poe:claude-opus-4.5 \
--poe-api-key YOUR_POE_API_KEY \
--daemon
OpenRouter
uv run cc-adapter --host 127.0.0.1 --port 8005 \
--model openrouter:claude-opus-4.5 \
--openrouter-api-key YOUR_OPENROUTER_API_KEY \
--daemon
LM Studio
uv run cc-adapter --host 127.0.0.1 --port 8005 \
--model lmstudio:gpt-oss-120b \
--lmstudio-base http://127.0.0.1:1234/v1/chat/completions \
--lmstudio-timeout 3600 \
--daemon
Proxy support (optional)
Only set these if your network blocks the provider URLs:
export HTTP_PROXY=http://localhost:port
export HTTPS_PROXY=http://localhost:port
export NO_PROXY=127.0.0.1,localhost
uv run cc-adapter --model poe:claude-opus-4.5 --poe-api-key YOUR_POE_API_KEY
Run Claude Code
Point Claude Code to the adapter:
export ANTHROPIC_BASE_URL=http://127.0.0.1:8005
export ANTHROPIC_AUTH_TOKEN=dummy
export ANTHROPIC_API_KEY=
export NO_PROXY=127.0.0.1
export DISABLE_TELEMETRY=true
export DISABLE_COST_WARNINGS=true
export API_TIMEOUT_MS=600000
export CLAUDE_CODE_USE_BEDROCK=
claude
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 cc_adapter-0.25.1.tar.gz.
File metadata
- Download URL: cc_adapter-0.25.1.tar.gz
- Upload date:
- Size: 906.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f43146dbd68ef2d195ba868ce5f87741bc6d60be04e862c6e6480c964f8064fb
|
|
| MD5 |
1ab4fa082b10c1804de12a7cda7a5093
|
|
| BLAKE2b-256 |
ee1b316e69dd990432bbe0334028167c2c7b66f8c23cac8eb965dc03eb5f22e9
|
Provenance
The following attestation bundles were made for cc_adapter-0.25.1.tar.gz:
Publisher:
publish.yml on binbinsh/cc-adapter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_adapter-0.25.1.tar.gz -
Subject digest:
f43146dbd68ef2d195ba868ce5f87741bc6d60be04e862c6e6480c964f8064fb - Sigstore transparency entry: 764047119
- Sigstore integration time:
-
Permalink:
binbinsh/cc-adapter@6fdf664b735b96188b1bd3b6085c18a40dece8ff -
Branch / Tag:
refs/tags/v0.25.1 - Owner: https://github.com/binbinsh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6fdf664b735b96188b1bd3b6085c18a40dece8ff -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file cc_adapter-0.25.1-py3-none-any.whl.
File metadata
- Download URL: cc_adapter-0.25.1-py3-none-any.whl
- Upload date:
- Size: 919.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3870c30eea4ba2c3bd59f363150078c9f8a9754890a92df611738c5bda36bfaa
|
|
| MD5 |
bc99400bb954974fc1e197ff3e97dc65
|
|
| BLAKE2b-256 |
bd053c782152f09025280c8829364e019e580959e63743e15ab9867786e15d26
|
Provenance
The following attestation bundles were made for cc_adapter-0.25.1-py3-none-any.whl:
Publisher:
publish.yml on binbinsh/cc-adapter
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
cc_adapter-0.25.1-py3-none-any.whl -
Subject digest:
3870c30eea4ba2c3bd59f363150078c9f8a9754890a92df611738c5bda36bfaa - Sigstore transparency entry: 764047124
- Sigstore integration time:
-
Permalink:
binbinsh/cc-adapter@6fdf664b735b96188b1bd3b6085c18a40dece8ff -
Branch / Tag:
refs/tags/v0.25.1 - Owner: https://github.com/binbinsh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@6fdf664b735b96188b1bd3b6085c18a40dece8ff -
Trigger Event:
workflow_dispatch
-
Statement type: