Use Claude Code CLI, Codex CLI, their VS Code extensions, JetBrains ACP, or chat bots through your own provider-backed proxy.
Free Claude Code routes Anthropic Messages API traffic from Claude Code (CLI and VS Code extension) and OpenAI Responses API traffic from Codex (CLI and VS Code extension) to any provider. It keeps each client's protocol stable while letting you choose free, paid, or local models through the same proxy and Admin UI.
Quick Start · Providers · Clients · Integrations · Development

Claude Code running through the Free Claude Code proxy.

Codex CLI using the local FCC Responses provider.

Claude Code native /model picker with FCC gateway models.

Codex native /model picker with the generated FCC catalog.
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=Alishahryar1/free-claude-code&type=Date" width="700">
/v1/messages, /v1/models)./v1/responses).fcc-claude and fcc-codex launchers that read the current Admin UI port and auth token each time they start./model picker support through the proxy's /v1/models endpoint (see Model Picker)./model picker support when launched through fcc-codex, using a generated local model catalog.~/.codex/config.toml provider config./admin to edit supported proxy settings, validate changes, and check providers (loopback access only).macOS/Linux:
curl -fsSL "https://github.com/Alishahryar1/free-claude-code/blob/main/scripts/install.sh?raw=1" | sh
Windows PowerShell:
irm "https://github.com/Alishahryar1/free-claude-code/blob/main/scripts/install.ps1?raw=1" | iex
Review the installers at scripts/install.sh and scripts/install.ps1. They install Claude Code and Codex when missing, then install or update the proxy. Re-run these commands to update to the latest version.
To remove only Free Claude Code (not uv, Claude Code, Codex, or the uv-managed Python runtime):
macOS/Linux:
curl -fsSL "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/uninstall.sh" | sh
Windows PowerShell:
irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/uninstall.ps1" | iex
Review scripts/uninstall.sh and scripts/uninstall.ps1. They remove the FCC uv tool and always delete ~/.fcc/. Stop any running fcc-server, fcc-claude, fcc-codex, fcc-init, or free-claude-code process before uninstalling.
fcc-server
After startup, Uvicorn prints the proxy bind address and the app logs the admin URL:
INFO: Admin UI: http://127.0.0.1:8082/admin (local-only)
Many terminals make these clickable. Use your configured PORT if it is not 8082.
Open the Admin UI URL from the terminal output.
Need an NVIDIA NIM API key? Use the NVIDIA NIM provider section below, then scroll back up here.

Paste your NVIDIA NIM API key into NVIDIA_NIM_API_KEY, then click Validate and Apply.
The default model is already set to nvidia_nim/nvidia/nemotron-3-super-120b-a12b. You can change it later from the same Admin UI.
Keep fcc-server running while you work.
Claude Code
fcc-claude
fcc-claude reads the current configured port and auth token each time it starts, sets the Claude Code environment variables (including a 190k-token CLAUDE_CODE_AUTO_COMPACT_WINDOW for auto-compaction), and then launches the real claude command. When proxy auth is disabled, it still passes ANTHROPIC_AUTH_TOKEN=fcc-no-auth so newer Claude Code versions do not stop at their local login gate before contacting the proxy.
Codex
fcc-codex
fcc-codex reads the same port and auth token, registers an ephemeral fcc model provider that points at the local proxy's /v1/responses endpoint, generates a Codex model catalog from the proxy's /v1/models response, sets FCC_CODEX_API_KEY from the Admin UI auth token, strips official OPENAI_* credentials from the child environment, and then launches the real codex command. Type /model inside Codex to open its native picker. Pass through Codex args as usual, for example fcc-codex exec "hello".
Pick one provider, enter its key or local URL in the Admin UI, and set MODEL to a provider-prefixed model slug. MODEL is the fallback. MODEL_OPUS, MODEL_SONNET, and MODEL_HAIKU can override routing for Claude Code's model tiers.
Get a key at build.nvidia.com/settings/api-keys.
In the Admin UI, paste it into NVIDIA_NIM_API_KEY. The default MODEL is nvidia_nim/nvidia/nemotron-3-super-120b-a12b.
Popular examples:
nvidia_nim/nvidia/nemotron-3-super-120b-a12bnvidia_nim/z-ai/glm5.1nvidia_nim/moonshotai/kimi-k2.5nvidia_nim/minimaxai/minimax-m2.5Browse models at build.nvidia.com.
Get a key at openrouter.ai/keys.
In the Admin UI, paste it into OPENROUTER_API_KEY, then set MODEL to an OpenRouter slug such as open_router/openrouter/free.
Browse all models or free models.
Get a Gemini API key at Google AI Studio (see Google's Gemini OpenAI compatibility docs).
In the Admin UI, paste it into GEMINI_API_KEY, then set MODEL to a Gemini model slug such as gemini/models/gemini-3.1-flash-lite.
The Gemini API exposes an OpenAI-compatible endpoint at https://generativelanguage.googleapis.com/v1beta/openai/. Free tier quotas are per-model; prompts may be used to improve Google's products outside the UK/CH/EEA/EU unless your account region says otherwise—see Google's terms.
Popular examples:
gemini/models/gemini-3.1-flash-liteGet a key at platform.deepseek.com/api_keys.
In the Admin UI, paste it into DEEPSEEK_API_KEY, then set MODEL to a DeepSeek slug such as deepseek/deepseek-chat.
FCC uses DeepSeek's OpenAI-compatible Chat Completions endpoint so DeepSeek's prompt-cache hit/miss counters can be mapped into Claude-compatible usage metadata.
Mistral hosts an OpenAI-compatible Chat Completions API at https://api.mistral.ai/v1. Activate the Experiment plan on console.mistral.ai for free-tier API access with rate limits (upgrade for higher quotas).
In the Admin UI, paste your API key into MISTRAL_API_KEY, then set MODEL to a Mistral model slug such as mistral/devstral-small-latest or mistral/mistral-small-latest.
Popular examples:
mistral/devstral-small-latestmistral/mistral-small-latestBrowse models at Mistral documentation.
Mistral's Codestral gateway uses a separate API key from La Plateforme: provision CODESTRAL_API_KEY, then route with the mistral_codestral/ prefix. The default upstream is https://codestral.mistral.ai/v1 (OpenAI-compatible Chat Completions; same request shaping as the mistral provider). See Mistral's coding / FIM domains; the curated free LLM API list summarizes typical Codestral access terms.
Popular examples:
mistral_codestral/codestral-latestGet an API key at opencode.ai/auth.
In the Admin UI, paste it into OPENCODE_API_KEY, then set MODEL to an OpenCode Zen model slug such as opencode/gpt-5.3-codex. The same OPENCODE_API_KEY powers OpenCode Go (below); use opencode_go/ slugs there.
OpenCode Zen is a curated model gateway that provides access to models from Anthropic, OpenAI, Google, DeepSeek, and more through a single API key and OpenAI-compatible endpoint at https://opencode.ai/zen/v1.
Popular examples:
opencode/gpt-5.3-codexopencode/claude-sonnet-4opencode/deepseek-v4-flash-free (free)opencode/gemini-3-flashopencode/big-pickle (free)opencode/glm-5.1Browse available models at opencode.ai.
Get an API key at opencode.ai/auth (same as OpenCode Zen).
In the Admin UI, use OPENCODE_API_KEY, then set MODEL to an OpenCode Go model slug such as opencode_go/minimax-m2.7.
OpenCode Go is a subscription gateway with its own curated catalog and OpenAI-compatible endpoint at https://opencode.ai/zen/go/v1. It shares the same OpenCode API key as Zen; only the slug prefix (opencode_go/ vs opencode/) and upstream path differ.
Popular examples:
opencode_go/minimax-m2.7Browse available models at opencode.ai.
Get a key from wafer.ai. In the Admin UI, paste it into WAFER_API_KEY, then set MODEL to a Wafer Pass model such as wafer/DeepSeek-V4-Pro.
Popular examples:
wafer/DeepSeek-V4-Prowafer/MiniMax-M2.7wafer/Qwen3.5-397B-A17Bwafer/GLM-5.1This provider uses Wafer's Anthropic-compatible endpoint at https://pass.wafer.ai/v1/messages.
Get a key at platform.moonshot.ai/console/api-keys.
In the Admin UI, paste it into KIMI_API_KEY, then set MODEL to a Kimi slug such as kimi/kimi-k2.5.
This provider calls Kimi's Anthropic-compatible Messages API (https://api.moonshot.ai/anthropic/v1/messages; model discovery uses OpenAI-compat GET https://api.moonshot.ai/v1/models). It is not the OpenAI Chat Completions path.
Browse models
$ claude mcp add free-claude-code \
-- python -m otcore.mcp_server <graph>