README.md

August 8, 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

What You Get

  • Use your preferred coding agent. Run Claude Code, Codex, or Pi with FCC.
  • Choose your own models. Connect free, paid, or local providers and search their models from one Admin UI.
  • Route work your way. Set one default model or map Fable, Opus, Sonnet, and Haiku separately.
  • Save time and tokens. Five built-in optimizations handle quota probes, command-prefix detection, title generation, suggestion mode, and filepath extraction locally instead of calling your provider; optionally enable RTK to filter noisy terminal output before it reaches the model.
  • Keep coding-agent capabilities. Use streaming, tools, reasoning, and image input with compatible models.
  • Work where you want. Launch from your desktop, connect supported IDEs, or use optional Discord and Telegram bots with voice notes.
Claude Code running with Free Claude Code

Claude Code running with FCC.

Quick Start

1. Install Or Update

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")))

Re-run the same command whenever you want to update. You can review the installers before running them: install.sh and install.ps1.

The installer asks which coding agents to install or verify. Choose at least one; skipped agents are left unchanged. It can also install and configure RTK globally for the selected agents; RTK is off by default.

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

On Windows and macOS, FCC runs in the system tray or menu bar without opening a terminal. Use its menu to open Admin, check server status, restart, or quit. On Windows, left-clicking the tray icon opens Admin directly.

To print the installed Free Claude Code version without starting the server, run fcc-server --version.

When using fcc-server, keep the terminal open. The Admin UI opens in your browser after startup by default. Its address is also shown in the log:

INFO:     Admin UI: http://127.0.0.1:8082/admin (local-only)

Use the port shown in your terminal if it differs from 8082.

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 Validate, then Apply.
Free Claude Code Admin UI

4. Run Your Coding Agent

Claude Code:

fcc-claude

Codex:

fcc-codex

Pi:

fcc-pi

All three launchers use the current Admin UI settings. Use the agent's model picker to choose from the models FCC exposes. Normal CLI arguments still work, for example:

fcc-codex exec "hello"

fcc-pi registers FCC only for that Pi process; your existing Pi settings, sessions, credentials, and extensions remain unchanged.

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, use Providers → Connected accounts 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 Validate, then Apply.
Provider catalog
ProviderAdmin UI settingExample MODEL
NVIDIA NIMNVIDIA_NIM_API_KEYnvidia_nim/nvidia/nemotron-3-super-120b-a12b
OpenAI / ChatGPTConnect ChatGPT in the Admin UIopenai/<model-id>
Azure OpenAIAZURE_OPENAI_API_KEY and AZURE_OPENAI_BASE_URLazure_openai/<deployment-name>
OpenRouterOPENROUTER_API_KEYopen_router/openrouter/free
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
GitHub ModelsGITHUB_MODELS_TOKENgithub_models/openai/gpt-4.1
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
GroqGROQ_API_KEYgroq/llama-3.3-70b-versatile
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
Cloudflare Workers AICLOUDFLARE_API_TOKEN and CLOUDFLARE_ACCOUNT_IDcloudflare/@cf/moonshotai/kimi-k2.6
Z.aiZAI_API_KEYzai/glm-5.2
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 uses your ChatGPT subscription rather than an API key. Connect from Providers → Connected accounts in the Admin UI. Use device code on headless systems. Restart an already-running agent after connecting.
  • 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.
  • 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, or Pi. 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, or fcc-pi. Use the guides below for editor integrations.

Claude Code in VS Code

Install the Claude Code extension. Open VS Code's user settings as JSON and add:

"claudeCode.disableLoginPrompt": true,
"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": "CLAUDE_CODE_AUTO_COMPACT_WINDOW", "value": "190000" },
  { "name": "DISABLE_AUTOUPDATER", "value": "1" },
  { "name": "DISABLE_FEEDBACK_COMMAND", "value": "1" },
  { "name": "DISABLE_ERROR_REPORTING", "value": "1" }
]

Match the port and authentication token to the Admin UI, then reload the extension.

Codex App

Start FCC, then edit your Codex configuration:

  • Windows: %USERPROFILE%\.codex\config.toml
  • macOS: ~/.codex/config.toml

Add the matching model-catalog path and replace YOUR_USERNAME.

Windows:

model_catalog_json = "C:/Users/YOUR_USERNAME/.fcc/codex-model-catalog.json"

macOS:

model_catalog_json = "/Users/YOUR_USERNAME/.fcc/codex-model-catalog.json"

Then add the shared FCC settings:

model_provider = "fcc"
model = "nvidia_nim/nvidia/nemotron-3-super-120b-a12b"

[model_providers.fcc]
name = "Free Claude Code"
base_url = "http://127.0.0.1:8082/v1"
wire_api = "responses"

[model_providers.fcc.auth]
command = "fcc-codex"
args = ["--print-proxy-auth-token"]

Match the model and port to the Admin UI. The auth command reads FCC's current proxy token automatically. Restart the Codex App after setup or model changes, then select an FCC model from its model picker.

Codex in VS Code

Install the Codex extension. Create or edit ~/.codex/config.toml (%USERPROFILE%\.codex\config.toml on Windows):

model_provider = "fcc"
model = "nvidia_nim/nvidia/nemotron-3-super-120b-a12b"

[model_providers.fcc]
name = "Free Claude Code"
base_url = "http://127.0.0.1:8082/v1"
wire_api = "responses"

[model_providers.fcc.auth]
command = "fcc-codex"
args = ["--print-proxy-auth-token"]

Match model and the port to the Admin UI. The auth command reads FCC's current proxy token automatically. Restart VS Code after setup or model changes. For WSL-backed Codex, edit the file inside WSL.

Claude Code in JetBrains ACP

Edit the installed Claude ACP configuration:

  • Windows: C:\Users\%USERNAME%\AppData\Roaming\JetBrains\acp-agents\installed.json
  • Linux/macOS: ~/.jetbrains/acp.json

Set the environment for acp.registry.claude-acp:

"env": {
  "ANTHROPIC_BASE_URL": "http://localhost:8082",
  "ANTHROPIC_AUTH_TOKEN": "freecc",
  "CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1",
  "CLAUDE_CODE_AUTO_COMPACT_WINDOW": "190000",
  "DISABLE_AUTOUPDATER": "1",
  "DISABLE_FEEDBACK_COMMAND": "1",
  "DISABLE_ERROR_REPORTING": "1"
}

Match the port and token to the Admin UI, then restart the IDE.

Claude Code still asks you to log in

If Claude Code asks you to log in after you configure the FCC URL and token, open its state file:

  • Windows: %USERPROFILE%\.claude.json
  • macOS/Linux/WSL: ~/.claude.json

Merge this property into the existing JSON without removing its other fields:

"hasCompletedOnboarding": true

If the file does not exist, create it with a complete JSON object:

{
  "hasCompletedOnboarding": true
}

Restart Claude Code or the IDE after saving the file.

Optional Integrations

Configure integrations from Admin UI → Messaging, then click Validate and 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

Choose the voice backend you want, then re-run the installer with its option.

Voice backendmacOS/Linux optionWindows option
NVIDIA NIM transcription--voice-nim-VoiceNim
Local Whisper on CPU or CUDA--voice-local-VoiceLocal
Both backends--voice-all-VoiceAll
Local Whisper with CUDA 13.0--voice-local --torch-backend cu130-VoiceLocal -TorchBackend cu130

The examples below install NVIDIA NIM transcription. To use another backend, replace the final option with the matching one from the table.

macOS/Linux:

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

Windows PowerShell:

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

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

Update

Re-run the matching command from Install Or Update.

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, 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.