README.md

September 24, 2026 · View on GitHub

Free Claude Code

License: MIT Python 3.14 uv Testing: Pytest Type checking: Ty Code style: Ruff Logging: Loguru

Quick Start · Providers · Clients · Integrations · Manage

Independent open-source project. Not affiliated with or endorsed by Anthropic. Claude and Claude Code are trademarks of Anthropic.

What You Get

  • 54 ToS-friendly providers. 1.3B+ free tokens every month. Use free, paid, subscription, and local models from one searchable UI without putting your account at risk. FCC follows provider terms and removes integrations if they stop being allowed.
  • 10 coding agents. One model catalog. Run Claude Code, Codex, Pi, OpenCode, Cline, Hermes, DeepSeek Harness, Grok Build, Muse Code, or Aider with your FCC models.
  • Keep coding through provider outages. After retries are exhausted, FCC automatically tries your next configured model without making you restart the turn—across every client.
  • Up to 90% fewer terminal-output tokens. Optional RTK filters common command output, while five FCC optimizations handle quota probes, command-prefix detection, titles, suggestions, and filepaths without calling a provider.
  • Native Code sessions in your browser. Choose a folder and run Codex in the browser with real-time and background support. Freely switch providers/models in the same session. Support for switching harnesses in the same session coming soon!
  • Terminal, desktop, IDE, or phone. Work through native launchers, VS Code, Codex App, JetBrains, Discord, or Telegram.
  • Voice notes in. Code out. Talk to your agent using local Whisper or NVIDIA NIM transcription.
  • Agent capabilities stay intact. Stream responses, use tools, preserve native interleaved thinking for maximum performance, send images, and route Fable, Opus, Sonnet, and Haiku independently with compatible models.

Free-tier availability and limits are controlled by each provider and may change.

Claude Code running with Free Claude Code

Claude Code running with FCC.

Native Codex browser session in FCC, showing model controls and a repository exploration

A native Codex session in FCC's browser UI.

Quick Start

1. Install

macOS/Linux:

curl -fsSL "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.sh" | sh

Windows PowerShell:

& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.ps1")))

When prompted, choose at least one coding agent and optionally RTK. You can review the installers before running them: install.sh and install.ps1.

2. Start FCC

Windows

Open Free Claude Code from your desktop or Start menu.

macOS

Open Free Claude Code from your desktop or Applications folder.

Linux

Run:

fcc-server

FCC opens the Admin UI after starting. On Windows and macOS, use the tray or menu-bar icon to open Admin, restart, or quit. When using fcc-server, keep its terminal open.

3. Configure NVIDIA NIM

  1. Create an API key at build.nvidia.com/settings/api-keys.
  2. Open the Admin UI URL from the server log.
  3. Paste the key into NVIDIA_NIM_API_KEY.
  4. Leave MODEL on the default nvidia_nim/nvidia/nemotron-3-super-120b-a12b, or search the model dropdown and select another model.
  5. Click Apply.

To protect the local proxy with a bearer token, enable Proxy Authentication in Admin.

Free Claude Code Admin UI

4. Run Your Coding Agent

Claude Code:

fcc-claude

Codex:

fcc-codex

Pi:

fcc-pi

OpenCode 2:

fcc-opencode

To upgrade from OpenCode 1, rerun the FCC installer with OpenCode selected. It upgrades the native installation in ~/.opencode/bin; for npm or other package managers, follow OpenCode's migration instructions first. For npm v1, run npm uninstall -g opencode-ai, then rerun the FCC installer. Close OpenCode before upgrading. OpenCode manages its own data upgrades.

RTK integration is temporarily unavailable for OpenCode 2. The installer saves the recognized old RTK plugin outside the plugin directory; customized plugins need manual migration. RTK continues to work with the other supported agents.

Use fcc-opencode for coding and sessions. Use plain opencode for commands such as upgrades, service management, ACP, and MCP setup.

Cline:

fcc-cline

Hermes:

fcc-hermes

DeepSeek Harness Web:

fcc-dsh

Grok Build:

fcc-grok

Muse Code:

fcc-muse

Aider:

fcc-aider

Claude Code model picker showing FCC models

Select an FCC model from Claude Code's native /model picker.

Choose A Provider

  1. Open a provider link below for its key, models, or setup instructions.
  2. In the Admin UI, configure the listed setting. For OpenAI / ChatGPT subscription access, use Providers → OAuth providers instead.
  3. Search the MODEL dropdown and select a model. If the provider cannot list models, enter <provider-id>/<exact-provider-model-id> manually.
  4. Click Apply.

Optional: add an ordered Fallback Models list under Model Config. It applies to every connected client. A failed request may reach and consume usage from more than one provider before succeeding.

Provider catalog
ProviderAdmin UI settingExample MODEL
NVIDIA NIMNVIDIA_NIM_API_KEYnvidia_nim/nvidia/nemotron-3-super-120b-a12b
OpenRouterOPENROUTER_API_KEYopen_router/openrouter/free
GroqGROQ_API_KEYgroq/llama-3.3-70b-versatile
ClinePassCLINE_API_KEYcline_pass/cline-pass/kimi-k3
OpenAI / ChatGPTConnect ChatGPT in the Admin UIopenai/<model-id>
OpenAI APIOPENAI_API_KEYopenai_api/gpt-5.6-sol
GitHub CopilotConnect GitHub Copilot in the Admin UIgithub_copilot/<model-id>
xAI (Grok)XAI_API_KEYxai/grok-4.5
QwenCloud Token PlanQWENCLOUD_API_KEYqwencloud/qwen3.7-plus
QwenCloud Coding PlanQWENCLOUD_CODING_API_KEYqwencloud_coding/qwen3.7-plus
Together AITOGETHER_API_KEYtogether/zai-org/GLM-5.2
DeepInfraDEEPINFRA_API_KEYdeepinfra/deepseek-ai/DeepSeek-V4-Flash
SiliconFlowSILICONFLOW_API_KEYsiliconflow/Qwen/Qwen3-32B
Nebius Token FactoryNEBIUS_API_KEYnebius/Qwen/Qwen3-30B-A3B
ChutesCHUTES_API_KEYchutes/Qwen/Qwen3-32B-TEE
Featherless AIFEATHERLESS_API_KEYfeatherless/Qwen/Qwen3-32B
Agnes AIAGNES_API_KEYagnes/agnes-2.0-flash
ZenMuxZENMUX_API_KEYzenmux/deepseek/deepseek-v4-flash-free
W&B InferenceWANDB_API_KEYwandb/openai/gpt-oss-20b
Azure OpenAIAZURE_OPENAI_API_KEY and AZURE_OPENAI_BASE_URLazure_openai/<deployment-name>
Google AI Studio (Gemini)GEMINI_API_KEYgemini/models/gemini-3.1-flash-lite
Google Vertex AIVERTEX_PROJECT_ID + ADCvertex/google/gemini-3.5-flash
DeepSeekDEEPSEEK_API_KEYdeepseek/deepseek-chat
Mistral La PlateformeMISTRAL_API_KEYmistral/devstral-small-latest
Mistral CodestralCODESTRAL_API_KEYmistral_codestral/codestral-latest
OpenCode ZenOPENCODE_API_KEYopencode_zen/gpt-5.3-codex
OpenCode GoOPENCODE_API_KEYopencode_go/minimax-m2.7
Vercel AI GatewayAI_GATEWAY_API_KEYvercel/openai/gpt-5.5
Amazon BedrockAWS_BEARER_TOKEN_BEDROCKbedrock/openai.gpt-oss-120b
Hugging Face Inference ProvidersHUGGINGFACE_API_KEYhuggingface/Qwen/Qwen3-Coder-480B-A35B-Instruct:fastest
CohereCOHERE_API_KEYcohere/command-a-plus-05-2026
WaferWAFER_API_KEYwafer/DeepSeek-V4-Pro
Kimi APIKIMI_API_KEYkimi/kimi-k2.5
Kimi CodeKIMI_CODE_API_KEYkimi_code/k3
MiniMaxMINIMAX_API_KEYminimax/MiniMax-M3
Cerebras InferenceCEREBRAS_API_KEYcerebras/gpt-oss-120b
SambaNovaSAMBANOVA_API_KEYsambanova/Meta-Llama-3.3-70B-Instruct
Kilo.aiKILO_API_KEYkilo/kilo-auto/free
Fireworks AIFIREWORKS_API_KEYfireworks/accounts/fireworks/models/llama-v3p3-70b-instruct
Novita AINOVITA_API_KEYnovita/deepseek/deepseek-v4-flash-0731
Cloudflare Workers AICLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_IDcloudflare/@cf/moonshotai/kimi-k2.6
Z.ai Coding PlanZAI_API_KEYzai/glm-5.2
Z.ai API (pay as you go)ZAI_API_KEYzai_api/glm-4.7-flash
TokenRouterTOKENROUTER_API_KEYtokenrouter/moonshotai/kimi-k3-free
NaraRouteNARAROUTE_API_KEYnararoute/kimi-k3-free
Poolside AIPOOLSIDE_API_KEYpoolside/poolside/laguna-s-2.1
LLM7.ioLLM7_API_KEYllm7/default
ScalewaySCW_SECRET_KEYscaleway/deepseek/deepseek-v4-flash
Lightning AILIGHTNING_API_KEYlightning/lightning-ai/Qwen3.8-27B
Experiential LabsEXPLABS_API_KEYexperiential/union-alpha
Ollama CloudOLLAMA_API_KEYollama_cloud/qwen3-coder:480b
LM StudioLM_STUDIO_BASE_URLlmstudio/<model-id>
llama.cppLLAMACPP_BASE_URLllamacpp/<model-id>
OllamaOLLAMA_BASE_URLollama/<model-tag>
Provider-specific setup
  • OpenAI / ChatGPT uses your ChatGPT subscription rather than an API key. Connect from Providers → OAuth providers → OpenAI / ChatGPT → Connect in the Admin UI and finish signing in through your browser. Restart an already-running agent after connecting.
  • OpenAI API uses a separate Platform API key. Enter it under Providers → Cloud providers → OpenAI API → Configure. The model list may include IDs that cannot handle coding requests; choose a text-generation model.
  • GitHub Copilot uses your signed-in GitHub account and subscription. Install Copilot CLI 1.0.83 on PATH, then choose Providers → OAuth providers → GitHub Copilot → Connect. FCC reuses the native profile or shows a GitHub device code when sign-in is needed. You can also sign in first with copilot login --device-code. Select a concrete github_copilot/<model-id> from the discovered list; available models and quotas depend on your subscription and organization policies. Restart an already-running agent after connecting. Disconnect stops FCC use and leaves the native login intact. FCC pins its SDK and CLI compatibility because direct endpoint access is experimental.
  • Azure OpenAI uses the deployment names from your resource. Set AZURE_OPENAI_BASE_URL to its complete v1 endpoint, such as https://YOUR-RESOURCE-NAME.openai.azure.com/openai/v1/, and select a deployment that supports Chat Completions. Enter the deployment name as a custom model slug if it does not appear in the model dropdown.
  • Mistral Codestral uses a separate key from Mistral La Plateforme.
  • Kimi Code subscription keys use kimi_code/; Kimi API credit keys use kimi/. Kimi Code plans are for personal interactive coding-agent use under Kimi's community guidelines.
  • QwenCloud Coding Plan keys use qwencloud_coding/; QwenCloud Token Plan keys use qwencloud/. The keys and endpoints are not interchangeable. Coding Plan is for local, personal, interactive coding-agent use under the Coding Plan terms.
  • OpenCode Zen and OpenCode Go share OPENCODE_API_KEY but use the explicit opencode_zen/ and opencode_go/ model prefixes.
  • For Amazon Bedrock, set BEDROCK_BASE_URL to the URL for the same region as the API key and select one of the listed models.
  • Vertex AI uses Google Application Default Credentials instead of an API key. Locally, run gcloud auth application-default login once; service-account files and attached service accounts also work. Set VERTEX_PROJECT_ID, and optionally change VERTEX_LOCATION from its global default.
  • Cloudflare requires both its API token and account ID.
  • For Ollama Cloud, use the exact model IDs shown in the model picker. Local Ollama uses the separate ollama/ prefix.
  • Prefer tool-capable models for coding agents. Local models also need enough context for the agent's system prompt and tool definitions.
Local provider setup

LM Studio

Start LM Studio's local server, load a tool-capable model, and use the model identifier shown by LM Studio with the lmstudio/ prefix. The default URL is http://localhost:1234/v1.

llama.cpp

Start llama-server with its OpenAI-compatible Chat Completions API and enough context for the model. Use the local model ID with the llamacpp/ prefix. LLAMACPP_BASE_URL defaults to http://localhost:8080/v1; FCC accepts either the server root or an explicit /v1 suffix.

Ollama

ollama pull llama3.1
ollama serve

Use the tag shown by ollama list with the ollama/ prefix. OLLAMA_BASE_URL defaults to http://localhost:11434; FCC accepts either the root URL or an explicit /v1 suffix.

Optional model-tier routing

MODEL is the fallback for every request. Select a model for MODEL_FABLE, MODEL_OPUS, MODEL_SONNET, or MODEL_HAIKU to override an individual Claude Code tier; select None to use MODEL.

For example, route Opus to nvidia_nim/nvidia/nemotron-3-super-120b-a12b, Sonnet to open_router/openrouter/free, Haiku to lmstudio/qwen3.5-coder, and keep MODEL on zai/glm-5.2.

Reasoning control

Open Admin UI → Model Config → Reasoning and select the behavior you want.

SelectionBehavior
From client (default)Use the effort sent by Claude Code, Codex, Pi, OpenCode, Cline, Hermes, DeepSeek Harness, Grok Build, Muse Code, or Aider. If none is sent, keep the provider default.
OffRequest reasoning to be disabled.
Low, Medium, High, X-High, or MaxOverride the client with the selected reasoning level.
Inherit (Fable, Opus, Sonnet, and Haiku only)Use the root Reasoning selection.

Providers that do not support a selected control retain their own behavior.

Connect Your Client

For terminal use, start fcc-server, then run fcc-claude, fcc-codex, fcc-pi, fcc-opencode, fcc-cline, fcc-hermes, fcc-dsh, fcc-grok, fcc-muse, or fcc-aider.

For editor and app integrations, install the client, start FCC, then open Admin UI → Integrations and click Connect on its card.

  • Claude Code in VS Code — install the Claude Code extension.
  • Claude Desktop — install Claude Desktop. Fully quit it before connecting or disconnecting, then reopen it. Disconnect returns to normal Claude sign-in.
  • Codex in VS Code and App — install the Codex extension or Codex App.
  • Claude Code in JetBrains ACP — install Claude Agent in JetBrains AI Assistant and start it once, then click Connect in FCC. Reopen the IDE, select Claude Code (FCC), and start a new chat. After JetBrains updates the agent, restart FCC before starting a new chat. Requires a local IDE in its standard installation locations.

Reload VS Code or restart the app/IDE after connecting. In Codex and Claude Desktop, select an FCC model from the model picker. FCC keeps connected integrations up to date when it starts; reload or restart the client when FCC reports updated settings. Use Disconnect on the same card to remove the integration.

Run FCC on the same computer and in the same user environment as the client you are configuring.

Optional Integrations

Configure integrations from Admin UI → Messaging, then click Apply.

Discord bot
  1. Create a bot in the Discord Developer Portal.
  2. Enable Message Content Intent and invite it with read, send, message-history, and Manage Messages permissions so /clear can remove user prompts.
  3. Set Messaging Platform to discord.
  4. Enter Discord Bot Token, Allowed Discord Channels, and an absolute Allowed Directory.
  5. Apply the settings and restart the server if requested.
Telegram bot
  1. Create a bot with @BotFather.
  2. Get your numeric user ID from @userinfobot. In groups, grant the bot permission to delete messages.
  3. Set Messaging Platform to telegram.
  4. Enter Telegram Bot Token, Allowed Telegram User ID, and an absolute Allowed Directory.
  5. Apply the settings and restart the server if requested.

Messaging commands

UsageBehavior
/statsShow session state.
Standalone /stopCancel all work.
Reply with /stopCancel only the selected request while other queued requests continue.
Standalone /clearReset all FCC state and remove every tracked message in that chat, including user prompts, voice notes, FCC replies, Telegram's online notice, and the clear command itself.
Reply with /clearDelete the selected message and its literal platform reply subtree while preserving its ancestors and siblings.
Voice notes

Re-run the installer with the command for your voice backend.

macOS/Linux:

NVIDIA NIM transcription:

curl -fsSL "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.sh" | sh -s -- --voice-nim

Local Whisper on CPU or CUDA:

curl -fsSL "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.sh" | sh -s -- --voice-local

Both backends:

curl -fsSL "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.sh" | sh -s -- --voice-all

Local Whisper with CUDA 13.0:

curl -fsSL "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.sh" | sh -s -- --voice-local --torch-backend cu130

Windows PowerShell:

NVIDIA NIM transcription:

& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.ps1"))) -VoiceNim

Local Whisper on CPU or CUDA:

& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.ps1"))) -VoiceLocal

Both backends:

& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.ps1"))) -VoiceAll

Local Whisper with CUDA 13.0:

& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.ps1"))) -VoiceLocal -TorchBackend cu130

Restart fcc-server. In Admin UI → Messaging → Voice, enable voice notes, select cpu, cuda, or nvidia_nim, and choose the Whisper model. Local gated models need HUGGINGFACE_API_KEY; NVIDIA NIM transcription needs NVIDIA_NIM_API_KEY.

Manage Your Installation

Run fcc-server --version to check the installed version without starting FCC.

Update

Stop all running FCC commands, then run:

fcc-update

This runs the same installer as above, including its coding-agent prompts and checks. If you use voice support, pass the same voice options used during installation.

If your installation does not have fcc-update yet, run the installer once to add it.

Muse Code on native Windows

Rerunning FCC's Windows installer with Muse Code selected installs or updates FCC's managed Muse executable. To install or update only Muse Code:

& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install-muse.ps1")))

To remove only that managed Muse executable while preserving Muse data and other installations:

& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/uninstall-muse.ps1")))

FCC's ordinary uninstaller below continues to leave Muse Code installed.

Uninstall

Stop every running FCC command before uninstalling.

Removes

  • Free Claude Code, including its desktop launcher and commands
  • ~/.fcc/

Keeps

  • uv and Python
  • Claude Code, Codex, Pi, OpenCode, Cline, Hermes, DeepSeek Harness, Grok Build, Muse Code, Aider, and RTK
  • Shared PATH entries

macOS/Linux:

curl -fsSL "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/uninstall.sh" | sh

Windows PowerShell:

& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/uninstall.ps1")))

License

MIT License. See LICENSE for details.