Claude Code changed how developers work in the terminal. But there's always been a catch: you need an Anthropic subscription. What if you could keep the same interface—same commands, same tooling, same workflow—but swap in free models instead?
That's exactly what Free Claude Code (FCC) does. It's a middleware proxy that sits between Claude Code (and Codex) and whatever LLM backend you want to use. You keep the Anthropic API interface. The proxy translates requests to NVIDIA NIM, OpenRouter, Google AI Studio, DeepSeek, Mistral, OpenCode, Hugging Face, Cohere, GitHub Models, Wafer, Kimi, MiniMax, Cerebras, Groq, SambaNova, Fireworks, Cloudflare, Z.ai, LM Studio, llama.cpp, Ollama—24 providers and counting.
How It Works
The architecture is surprisingly clean. FCC runs a local FastAPI server that exposes the exact Anthropic Messages API endpoints: /v1/messages, /v1/models, /v1/messages/count_tokens. When you run claude (or fcc-claude), it points to http://localhost:8082 instead of api.anthropic.com. The proxy receives the request, picks a provider based on your config, translates the payload, streams the response back in Anthropic's SSE format, and Claude Code never knows the difference.
For Codex users, there's /v1/responses implementing OpenAI's Responses API. The fcc-codex launcher auto-generates a local model catalog so /model inside Codex shows your FCC providers.
The proxy also handles the little things that make it feel native: request optimizations that answer trivial probes locally (saving latency and quota), per-model-tier routing so Opus/Sonnet/Haiku can each hit different providers, thinking-block normalization so reasoning models render correctly in Claude Code's UI, and token usage mapping so your usage dashboard still makes sense.
The 3D Web Demo
While testing FCC with different models, I stumbled on something fun: asking a free model (Nemotron 3 Ultra via NVIDIA NIM) to build a 3D website with Three.js. The result was genuinely impressive—a interactive particle system with real-time physics, shader-based materials, and smooth camera controls. All generated in one conversation, running entirely in the browser.

Three.js particle system generated via Free Claude Code using Nemotron 3 Ultra (NVIDIA NIM). The model wrote the shaders, physics loop, and interaction logic in a single session.
The model didn't just spit out boilerplate—it reasoned about GPU instancing for 10k+ particles, wrote custom GLSL for the glow effect, and structured the code so it's actually maintainable. This is the level of coding assistance you get when the model has 256k context and strong reasoning, all routed through the same Claude Code interface you already know.
Getting Started in 3 Minutes
# 1. Install the proxy (installs Claude Code + Codex if missing)
curl -fsSL "https://github.com/Alishahryar1/free-claude-code/blob/main/scripts/install.sh?raw=1" | sh
# 2. Start the proxy
fcc-server
# 3. Open the Admin UI (printed on startup, e.g. http://127.0.0.1:8082/admin)
# Add your NVIDIA NIM API key (free at build.nvidia.com)
# Click Validate, then Apply
# 4. Launch Claude Code through the proxy
fcc-claude
That's it. You're now running Claude Code with Nemotron 3 Ultra (or any of 200+ models) for free. The fcc-claude launcher handles auth tokens, sets a 190k auto-compact window, and re-reads config on every launch so Admin UI changes take effect immediately.
Provider Flexibility
The real power is mixing providers by task. Route Opus-tier reasoning to NVIDIA NIM's Nemotron 3 Ultra or Z.ai's GLM-5.2. Send Sonnet-tier coding to OpenRouter's free tier (DeepSeek V3, GLM, Qwen). Keep Haiku-tier quick edits on a local Ollama or LM Studio model. All from one MODEL_OPUS, MODEL_SONNET, MODEL_HAIKU config in the Admin UI.
For Codex, fcc-codex generates a ~/.fcc/codex-model-catalog.json so the native /model picker lists every provider model with its FCC slug. Pick open_router/openrouter/free for one task, nvidia_nim/nvidia/nemotron-3-super-120b-a12b for the next.
Beyond the Terminal
FCC also wraps Discord and Telegram bots so you can run Claude Code sessions from your phone. Voice notes work too—send a voice message, it transcribes via local Whisper or NVIDIA Riva, feeds the text to Claude Code, streams the response back. The Admin UI has a dedicated Messaging tab to configure bot tokens, allowed channels/users, and voice settings.
VS Code and JetBrains integrations work by setting ANTHROPIC_BASE_URL and ANTHROPIC_AUTH_TOKEN in the extension config. The proxy becomes a drop-in replacement for the official Anthropic endpoint.
Why This Matters
Vendor lock-in for AI coding tools has been the default. You use Cursor, you pay Cursor. You use Claude Code, you pay Anthropic. FCC breaks that by making the interface the commodity and the model the swappable component. It's the same philosophy as LSP for editors: standardize the protocol, let the backend compete on quality and price.
For teams in regions where Anthropic billing doesn't work, or developers who want to experiment with local models without rewriting their workflow, FCC is a genuine unlock. The project is MIT licensed, actively maintained, and the PhaseOfficial fork adds OpenClaw-style voice integration on top.
Try it. Point fcc-claude at a free tier, build something, and realize the interface was never the moat—the model was. And now you choose the model.
GitHub: PhaseOfficial/free-claude-code — Fork of Alishahryar1/free-claude-code
Photo by Bernd 📷 Dittrich on Unsplash