Claude Code, run via Free Claude Code. Screenshot from the project repository.
Free Claude Code (FCC) — an open-source project under the MIT license, with 49.2k stars and 8k forks on GitHub, promising to “use Claude Code for free.” It does not, however, Grant free access to Anthropic models. FCC is a local Python proxy that spoofs the Claude Code API endpoint for the client and redirects requests to other models: NVIDIA NIM, OpenRouter, DeepSeek, Groq, Kimi, Cerebras, Mistral, Ollama, and several dozen more providers. Here we break down how exactly the spoofing works, what in this scheme is truly free, and what you pay for.
The key thing to understand before installation: you get an interface for Claude Code, not the Claude models. Opus and Sonnet will not appear through FCC — the model at the other end will be the one whose free plan you connected. The project name describes the client, not the internal response.
Spoofing in two environment variables
The mechanism is visible directly in the project’s official screenshot — and it is more honest than any description:
$env:ANTHROPIC_BASE_URL="http://localhost:8082"; $env:ANTHROPIC_AUTH_TOKEN="ccnim"; claude
The Claude Code client can talk not only to api.anthropic.com — used officially by integrations with Amazon Bedrock and Google Vertex AI. FCC occupies the same space: starts a server on localhost:8082 that speaks the Anthropic API language, takes client requests, and forwards them to the chosen provider. The authorization token is arbitrary — it is checked by the local proxy, not by Anthropic.
For VS Code, the project offers the same setup via extension settings, and there you can see several more variables:
"claudeCode.environmentVariables": [
{ "name": "ANTHROPIC_BASE_URL", "value": "http://localhost:8082" },
{ "name": "ANTHROPIC_AUTH_TOKEN", "value": "freecc" },
{ "name": "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY", "value": "1" },
{ "name": "DISABLE_AUTOUPDATER", "value": "1" },
{ "name": "DISABLE_ERROR_REPORTING", "value": "1" }
]
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY — what causes a directory of external models to appear in the native picker under /model. In the project screenshot there are more than five hundred of them, labeled “From gateway.”
Choose a model via
/model: 508+ entries “From gateway.” Screenshot from the repository.
Also note the last three lines of the config: auto-update, error reporting, and feedback command are disabled. Logical for an external backend, but you should know this — the client stops updating itself.
Nine agents, one catalog
FCC is not tied to Claude Code. The same proxy feeds Codex, Pi, OpenCode, Cline, Hermes, DeepSeek Harness, Grok Build, and Muse Code — each with its own launcher type like fcc-claude, fcc-codex, fcc-opencode. Codex connects via ~/.codex/config.toml with a separate block [model_providers.fcc] and base_url = "http://127.0.0.1:8082/v1".
Providers are configured in the local admin panel. About thirty are explicitly named: NVIDIA NIM, OpenRouter, Google AI Studio and Vertex AI, DeepSeek, Mistral, Amazon Bedrock, Hugging Face, Cohere, GitHub Models, Kimi, MiniMax, Cerebras, Groq, SambaNova, Fireworks, Cloudflare Workers AI, Z.ai, plus local Ollama, LM Studio, and llama.cpp. The project description claims 50 providers and “more than 1.3 billion free tokens per month” — this is the sum across all free plans, and the README notes that limits are set by providers and can change.
Local FCC admin panel — provider status, keys, and model selection. Screenshot from the repository.
There is also a more granular configuration: MODEL_FABLE, MODEL_OPUS, MODEL_SONNET, and MODEL_HAIKU allow separating Claude Code models across different backends — heavy tasks to one model, small tasks to another.
Auto-failer — the reason this is installed
The most interesting engineering hidden in a single line of the description: in the Model Config you specify an ordered list of Fallback Models, and when the current provider runs out of attempts, FCC switches to the next model without interrupting the session or losing the task context.
Those who have run agents on free plans know the value of this feature: 429 and 500+ requests from free endpoints come constantly, and usually that means a mid-refactor break. It’s also advertised that there is savings on command output: an optional RTK filters typical terminal noise, according to the project — up to 90% of tokens.
What you pay for free
The README has no section on privacy and training on data. I looked for it specifically — it simply isn’t there. And free plans from some providers are exactly that: they power model training. Through FCC, your file contents, diffs, and prompts are sent to the company, whose terms you probably haven’t read. For a home pet project it doesn’t matter; for a work repository under NDA — that is the real price of “free.”
Second point — terminology around ToS. The project states that it “follows provider terms and removes integrations if they become disallowed,” and explicitly says it is not affiliated with Anthropic. This refers specifically to provider terms for the models. Whether the client usage scenario itself fits the terms of Claude Code is a separate question, and each person should decide for themselves by reading the provider’s current terms rather than the README of a third-party project.
Third — resilience. With 238 open issues and 107 open PRs across 969 commits, the project is active but with a noticeable backlog. Free plans change more often than releases, so you’ll need to rebuild the configuration periodically.
Installation and how to remove it
It installs in one line, and this is one of those cases where curl | sh deserves less emotional reaction than usual: a 1329-line installer, no sudo prompts, installs everything in the user profile, and prints the command it is about to run at every step. The authors also advise reading the installer before running — a sensible suggestion.
curl -fsSL "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.sh" | sh
Configuration lives in ~/.config/free-claude-code/.env and ~/.fcc/, the server starts with fcc-server, and the version checked with fcc-server --version. Uninstalling with a symmetric script removes FCC and the ~/.fcc/ directory, but leaves installed agents, uv, Python, and PATH entries — Claude Code, Codex, and others will have to be removed manually.
Who should consider it: those who already have keys from several providers and are tired of switching manually; those running local models through Ollama or LM Studio and want to drive them with a native agent interface; those who need a failover between free plans. Who shouldn’t: those who came for free Opus, and those whose repository contains someone else’s confidential data.
Forum threads on this topic: Orca: full guide to agent IDE, Agent in “allow all” mode: container, microVM, or separate machine and Serena MCP opens a browser tab on every startup.
Sources
- Alishahryar1/free-claude-code — project repository
- Project README
- install.sh — installer, worth reading before running
- Claude Code Documentation
Numbers by stars, forks, issues, and commits — from the repository page as of August 25, 2026.
Who has already tried FCC or similar proxies — which combo of free providers actually handles the workload and doesn’t drop on the third request? And separately: are you running production code through such schemes or only personal projects?


