Le développement assisté par intelligence artificielle impose souvent un dilemme économique : souscrire à des abonnements multiples auprès de chaque fournisseur ou subir les quotas stricts des interfaces web. Le projet open-source Free Claude Code (FCC) résout ce blocage technique. Il établit un pont d’orchestration local entre vos agents de programmation favoris et une constellation de fournisseurs de calcul.
Ce guide détaille l’architecture du projet hébergé sur le dépôt free-claude-code, son installation, sa configuration multi-fournisseurs ainsi que son exploitation quotidienne dans vos terminaux et éditeurs de code.
Architecture et Fonctionnement de Free Claude Code
FCC agit comme un proxy mandataire inverse intelligent positionné sur votre machine locale. Il intercepte les requêtes standardisées des agents de code pour les traduire et les acheminer vers 49 fournisseurs d’inférence compatibles avec leurs conditions d’utilisation (ToS).
Free Claude Code est un projet open-source indépendant, sans affiliation ni approbation de la part d’Anthropic. Claude et Claude Code sont des marques déposées d’Anthropic.
Le système centralise un catalogue unifié distribuant plus de 1,3 milliard de jetons gratuits mensuels cumulés via divers paliers d’accès. Plusieurs piliers techniques structurent son moteur d’exécution :
- Tolérance aux pannes : si un fournisseur s’épuise ou rencontre une interruption, FCC bascule la requête vers le modèle suivant défini dans votre chaîne de secours sans réinitialiser le tour de conversation de votre agent.
- Optimisation de contexte par RTK : un module de filtrage optionnel nettoie les sorties de commandes terminal redondantes, économisant jusqu’à 90 % des jetons. Cinq optimisations internes interceptent les sondes de quota, les préfixes de commande, la génération de titres, les suggestions et les chemins de fichiers sans solliciter les modèles distants.
- Préservation des capacités natives : diffusion continue du texte (streaming), exécution d’outils (tool calling), préservation du raisonnement entrelacé (interleaved thinking) et prise en charge des images.
- Routage par palier : affectation granulaire de modèles distincts pour les charges Fable, Opus, Sonnet et Haiku.
- Entrées vocales : transcription des notes audio par Whisper en local ou via NVIDIA NIM.
Installation et Démarrage du Serveur
L’installation s’effectue via un script automatisé qui configure l’exécutable local et ses dépendances.
# Sur macOS et Linux :
curl -fsSL "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.sh" | sh
# Sur Windows PowerShell :
& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/install.ps1")))
L’installateur vous invite à sélectionner au moins un agent de code et propose l’activation de RTK. Une réexécution de ces commandes met à jour le binaire vers la dernière version.
Pour démarrer l’infrastructure :
- Windows : Lancez Free Claude Code depuis le bureau ou le menu Démarrer.
- macOS : Ouvrez l’application depuis le dossier Applications ou le dock.
- Linux : Exécutez la commande
fcc-serverdans un terminal maintenu ouvert.
Le lancement ouvre l’interface d’administration (Admin UI) dans votre navigateur. L’icône de zone de notification système (tray) permet de gérer l’instance, de relancer le processus ou de quitter.
Configuration Initiale : Exemple avec NVIDIA NIM
- Générez une clé d’accès sur l’interface constructeur
build.nvidia.com/settings/api-keys. - Ouvrez l’interface d’administration locale de FCC accessible via l’URL inscrite dans les journaux du serveur.
- Collez votre jeton dans le champ
NVIDIA_NIM_API_KEY. - Conservez la valeur par défaut
nvidia_nim/nvidia/nemotron-3-super-120b-a12bou choisissez une référence alternative dans le catalogue déroulant. - Cliquez sur Validate, puis appliquez avec Apply.
- Activez l’option Proxy Authentication pour restreindre l’accès à votre mandataire local par un jeton Bearer.
Catalogue des 49 Fournisseurs et Identifiants Modèles
Pour exploiter un fournisseur, saisissez la variable demandée dans l’interface d’administration puis déclarez la chaîne du modèle sous le format <provider-id>/<exact-provider-model-id>.
| Fournisseur | Paramètre Admin UI | Exemple de MODEL |
|---|---|---|
| NVIDIA NIM | NVIDIA_NIM_API_KEY | nvidia_nim/nvidia/nemotron-3-super-120b-a12b |
| OpenRouter | OPENROUTER_API_KEY | open_router/openrouter/free |
| Groq | GROQ_API_KEY | groq/llama-3.3-70b-versatile |
| ClinePass | CLINE_API_KEY | cline_pass/cline-pass/kimi-k3 |
| OpenAI / ChatGPT | Connexion ChatGPT via l’interface | openai/<model-id> |
| xAI (Grok) | XAI_API_KEY | xai/grok-4.5 |
| QwenCloud Token Plan | QWENCLOUD_API_KEY | qwencloud/qwen3.7-plus |
| QwenCloud Coding Plan | QWENCLOUD_CODING_API_KEY | qwencloud_coding/qwen3.7-plus |
| Together AI | TOGETHER_API_KEY | together/zai-org/GLM-5.2 |
| DeepInfra | DEEPINFRA_API_KEY | deepinfra/deepseek-ai/DeepSeek-V4-Flash |
| SiliconFlow | SILICONFLOW_API_KEY | siliconflow/Qwen/Qwen3-32B |
| Nebius Token Factory | NEBIUS_API_KEY | nebius/Qwen/Qwen3-30B-A3B |
| Chutes | CHUTES_API_KEY | chutes/Qwen/Qwen3-32B-TEE |
| Featherless AI | FEATHERLESS_API_KEY | featherless/Qwen/Qwen3-32B |
| Agnes AI | AGNES_API_KEY | agnes/agnes-2.0-flash |
| ZenMux | ZENMUX_API_KEY | zenmux/deepseek/deepseek-v4-flash-free |
| W&B Inference | WANDB_API_KEY | wandb/openai/gpt-oss-20b |
| Azure OpenAI | AZURE_OPENAI_API_KEY et AZURE_OPENAI_BASE_URL | azure_openai/<deployment-name> |
| Google AI Studio (Gemini) | GEMINI_API_KEY | gemini/models/gemini-3.1-flash-lite |
| Google Vertex AI | VERTEX_PROJECT_ID + ADC | vertex/google/gemini-3.5-flash |
| DeepSeek | DEEPSEEK_API_KEY | deepseek/deepseek-chat |
| Mistral La Plateforme | MISTRAL_API_KEY | mistral/devstral-small-latest |
| Mistral Codestral | CODESTRAL_API_KEY | mistral_codestral/codestral-latest |
| OpenCode Zen | OPENCODE_API_KEY | opencode_zen/gpt-5.3-codex |
| OpenCode Go | OPENCODE_API_KEY | opencode_go/minimax-m2.7 |
| Vercel AI Gateway | AI_GATEWAY_API_KEY | vercel/openai/gpt-5.5 |
| Amazon Bedrock | AWS_BEARER_TOKEN_BEDROCK | bedrock/openai.gpt-oss-120b |
| Hugging Face Inference Providers | HUGGINGFACE_API_KEY | huggingface/Qwen/Qwen3-Coder-480B-A35B-Instruct:fastest |
| Cohere | COHERE_API_KEY | cohere/command-a-plus-05-2026 |
| GitHub Models | GITHUB_MODELS_TOKEN | github_models/openai/gpt-4.1 |
| Wafer | WAFER_API_KEY | wafer/DeepSeek-V4-Pro |
| Kimi API | KIMI_API_KEY | kimi/kimi-k2.5 |
| Kimi Code | KIMI_CODE_API_KEY | kimi_code/k3 |
| MiniMax | MINIMAX_API_KEY | minimax/MiniMax-M3 |
| Cerebras Inference | CEREBRAS_API_KEY | cerebras/gpt-oss-120b |
| SambaNova | SAMBANOVA_API_KEY | sambanova/Meta-Llama-3.3-70B-Instruct |
| Kilo.ai | KILO_API_KEY | kilo/kilo-auto/free |
| Fireworks AI | FIREWORKS_API_KEY | fireworks/accounts/fireworks/models/llama-v3p3-70b-instruct |
| Novita AI | NOVITA_API_KEY | novita/deepseek/deepseek-v4-flash-0731 |
| Cloudflare Workers AI | CLOUDFLARE_API_TOKEN et CLOUDFLARE_ACCOUNT_ID | cloudflare/@cf/moonshotai/kimi-k2.6 |
| Z.ai Coding Plan | ZAI_API_KEY | zai/glm-5.2 |
| Z.ai API (pay as you go) | ZAI_API_KEY | zai_api/glm-4.7-flash |
| TokenRouter | TOKENROUTER_API_KEY | tokenrouter/moonshotai/kimi-k3-free |
| NaraRoute | NARAROUTE_API_KEY | nararoute/kimi-k3-free |
| Poolside AI | POOLSIDE_API_KEY | poolside/poolside/laguna-s-2.1 |
| Ollama Cloud | OLLAMA_API_KEY | ollama_cloud/qwen3-coder:480b |
| LM Studio | LM_STUDIO_BASE_URL | lmstudio/<model-id> |
| llama.cpp | LLAMACPP_BASE_URL | llamacpp/<model-id> |
| Ollama (Local) | OLLAMA_BASE_URL | ollama/<model-tag> |
Spécificités d’Intégration des Fournisseurs
Certains environnements demandent une configuration ciblée :
- OpenAI / ChatGPT : la liaison exploite votre abonnement utilisateur via la section Providers → Connected accounts. Sur un serveur sans affichage, utilisez le code d’authentification machine (device code). Relancez vos agents actifs après la connexion.
- Azure OpenAI : renseignez le point de terminaison complet dans
AZURE_OPENAI_BASE_URL(ex.https://VOTRE-RESSOURCE.openai.azure.com/openai/v1/) et utilisez le nom exact de votre déploiement Chat Completions. - Mistral : la plateforme standard et Codestral utilisent deux clés distinctes (
MISTRAL_API_KEYetCODESTRAL_API_KEY). - Kimi : les forfaits interactifs personnels Kimi Code utilisent le préfixe
kimi_code/tandis que les crédits d’API standards exigent le préfixekimi/. - QwenCloud : séparez strictement le forfait Coding (
qwencloud_coding/) du forfait Token standard (qwencloud/). - OpenCode : la clé
OPENCODE_API_KEYs’utilise conjointement avec les préfixes explicitesopencode_zen/ouopencode_go/. - Amazon Bedrock : positionnez
BEDROCK_BASE_URLsur la région correspondant à votre clé d’accès. - Google Vertex AI : l’authentification repose sur les identifiants par défaut de Google (ADC). Exécutez
gcloud auth application-default loginen local, configurezVERTEX_PROJECT_ID, et ajustezVERTEX_LOCATIONsi nécessaire. - Cloudflare : requiert impérativement le jeton d’API ainsi que l’identifiant de compte (Account ID).
Intégration des Moteurs d’Inférence Locaux
Pour exécuter vos modèles sans aucune dépendance réseau externe, configurez vos backends locaux :
LM Studio : Démarrez le serveur local intégré. Chargez un modèle gérant les appels d’outils (tools). L’adresse par défaut pointe sur http://localhost:1234/v1. Utilisez le préfixe lmstudio/ suivi de l’identifiant du modèle chargé.
llama.cpp : Lancez l’exécutable llama-server avec une fenêtre de contexte suffisante. La variable LLAMACPP_BASE_URL accepte la racine ou le suffixe http://localhost:8080/v1. Préfixez l’identifiant par llamacpp/.
Ollama : Téléchargez et démarrez votre instance locale :
ollama pull llama3.1
ollama serve
Récupérez l’identifiant via ollama list et déclarez-le sous le préfixe ollama/ (URL par défaut : http://localhost:11434).
Lancement des 9 Agents Autonomes
FCC fournit neuf lanceurs dédiés qui héritent des paramètres définis dans l’interface d’administration. Les commandes préservent vos configurations existantes, extensions et sessions locales :
# Claude Code
fcc-claude
# Codex
fcc-codex
fcc-codex exec "hello"
# Pi
fcc-pi
# OpenCode
fcc-opencode
# Cline
fcc-cline
# Hermes
fcc-hermes
# DeepSeek Harness (Interface Web ou mode autonome)
fcc-dsh
fcc-dsh --profile headless "votre tâche"
# Grok Build
fcc-grok
# Muse Code
fcc-muse
Notes d’exécution des agents :
fcc-hermes: basculer vers un autre fournisseur avec la commande interne/modelquitte le routage FCC.fcc-dsh: supporte la version preview 0.1.0-rc.8 sous Node.js ^22.19 ou >=24.fcc-grok: la recherche web et l’extraction restent désactivées en attendant l’alignement sur le protocole d’outils web de Grok Build.fcc-muse: version bêta supportée officiellement sur macOS, Linux et WSL (nécessite un binaire préinstallé sous Windows pur).
Routage par Palier et Contrôle du Raisonnement
La variable MODEL sert de pivot par défaut. Vous pouvez rediriger indépendamment chaque niveau de traitement de Claude Code dans l’Admin UI :
MODEL_FABLEMODEL_OPUS(Exemple :nvidia_nim/nvidia/nemotron-3-super-120b-a12b)MODEL_SONNET(Exemple :open_router/openrouter/free)MODEL_HAIKU(Exemple :lmstudio/qwen3.5-coder)
Définir un palier sur None réaligne son exécution sur la valeur de MODEL.
La section Model Config → Reasoning ajuste l’intensité du raisonnement interne des modèles :
- From client (défaut) : conserve l’effort demandé par l’agent ou la valeur usine du fournisseur.
- Off : désactive explicitement les étapes de réflexion interne.
- Low / Medium / High / X-High / Max : force l’effort au niveau sélectionné.
- Inherit : applique la configuration racine aux sous-paliers Fable, Opus, Sonnet et Haiku.
Intégration dans l’IDE VS Code
Pour router l’extension officielle Claude Code vers votre instance locale FCC, modifiez la configuration utilisateur de VS Code (fichier settings.json) :
"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" }
]
Ajustez le port et le jeton de sécurité en fonction de votre interface d’administration, puis rechargez la fenêtre de l’éditeur. L’outil s’intègre également avec Codex App, Codex in VS Code et JetBrains ACP.
Passerelles de Messagerie et Commandes
L’Admin UI permet de connecter des agents de discussion sur Telegram ou Discord pour piloter vos processus à distance :
/stats: affiche l’état d’activité de la session courante./stop(seul) : interrompt l’intégralité des tâches en cours d’exécution./stop(en réponse à un message) : annule la requête ciblée sans bloquer le reste de la file d’attente./clear(seul) : purge l’état mémoire local et supprime tous les messages suivis dans le canal (invites, vocaux, réponses du bot)./clear(en réponse) : efface le message sélectionné et son sous-arbre de réponses tout en préservant l’historique parent.
Maintenance et Désinstallation
Pour vérifier la version active du serveur sans initialiser le moteur :
fcc-server --version
Avant d’entamer une procédure de suppression, fermez tous les processus FCC en cours d’exécution.
# Désinstallation sous macOS/Linux :
curl -fsSL "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/uninstall.sh" | sh
# Désinstallation sous Windows PowerShell :
& ([scriptblock]::Create((irm "https://raw.githubusercontent.com/Alishahryar1/free-claude-code/main/scripts/uninstall.ps1")))
La désinstallation supprime l’application Free Claude Code, les lanceurs de bureau, les commandes associées et le dossier ~/.fcc/. Elle conserve vos installations de Python, l’outil uv, vos agents de code d’origine (Claude Code, Codex, Pi, etc.), RTK et les variables partagées du système.
Limites Techniques et Risques Opérationnels
L’exploitation de FCC impose une vigilance sur certains points :
- Disponibilité des quotas : chaque fournisseur régule ses offres d’accès sans préavis. Les quotas gratuits peuvent varier, saturer ou fermer selon les décisions des hébergeurs d’API.
- Surconsommation lors des bascules : le mécanisme de secours automatique (Fallback) transmet une requête échouée au fournisseur suivant dans la liste. Une requête complexe peut ainsi consommer des jetons partiels sur plusieurs plateformes avant de finaliser son cycle.
- Conformité des modèles locaux : les modèles exécutés via Ollama, LM Studio ou llama.cpp doivent obligatoirement posséder une fenêtre de contexte suffisante et supporter nativement les structures d’appels d’outils pour éviter les plantages lors des phases d’analyse de code.