Installation et configuration de Claude Code pour Ollama et llama.cpp : tarification

Programmation agentic, désormais avec des backends de modèles locaux.

Sommaire

Claude Code n’est pas un simple outil de complétion de code avec un meilleur marketing. C’est un outil de codage agentique : il lit votre base de code, modifie des fichiers, exécute des commandes et s’intègre à vos outils de développement.

Cette différence est cruciale, car l’unité de travail n’est plus « une ligne de code » mais devient « une tâche avec un état final ».

Anthropic pose la distinction clairement : la complétion de code suggère la ligne suivante au fur et à mesure que vous tapez, tandis que Claude Code opère au niveau du projet, planifie sur plusieurs fichiers, exécute des modifications, lance des tests et itère sur les échecs. En pratique, cela en fait un ingénieur junior natif du terminal capable d’exécuter des tâches rapidement, mais qui nécessite toujours une revue.

Cette tension entre vitesse et supervision constitue une grande partie de ce que les gens regroupent sous le terme de « vibe coding » ; Qu’est-ce que le Vibe Coding ? décortique le terme, son origine, ainsi que ce à quoi ressemblent l’efficacité et les risques en pratique.

laptop-homeresver-claude-code-coffee-books

Un détail facile à manquer lors d’une lecture rapide de la documentation : le Terminal CLI (et l’interface VS Code) peut être configuré pour utiliser des fournisseurs tiers. C’est là qu’interviennent Ollama et llama.cpp.

Une fois que Claude Code est pointé vers un point de terminaison HTTP local, les compromis liés à l’environnement d’exécution, au matériel et à l’hébergement se situent en dehors du client ; cette comparaison de l’hébergement des LLM en 2026 recense Ollama, les piles d’inférence dédiées et les options cloud en un seul endroit.

Pour voir comment Claude Code s’insère à côté des autres workflows de codage et de livraison assistés par IA, ce guide des outils de développement IA rassemble les assistants de style Copilot, l’automatisation et les modèles d’éditeurs en un seul endroit.

Pour un survol outil par outil des assistants de codage dans la même catégorie, Comparaison des assistants de codage IA parcourt Cursor, Copilot, Cline et le reste à un niveau plus élevé que ce guide d’installation.

Installation et prise en main rapide de Claude Code

Options d’installation et implications

Il existe plusieurs chemins d’installation, et ils ne sont pas égaux :

  • Les scripts d’installation natifs sont l’option « toujours à jour » car ils se mettent à jour automatiquement.
  • Homebrew et WinGet sont l’option « changement contrôlé » car vous effectuez la mise à niveau explicitement.

Commandes d’installation (prise en main rapide officielle) :

# macOS, Linux, WSL
curl -fsSL https://claude.ai/install.sh | bash
# Windows PowerShell
irm https://claude.ai/install.ps1 | iex
:: Windows CMD
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

Puis lancez une session interactive depuis un dossier de projet :

cd /path/to/your/project
claude

Connexion et types de compte

Claude Code nécessite un compte pour fonctionner en mode premier (première partie). Le processus de prise en main rapide prend en charge les connexions via un abonnement Claude (Pro, Max, Team, Enterprise), un compte Console (crédits API) ou des fournisseurs cloud pris en charge. Une note opérationnelle utile : lors de la première connexion à la Console, un espace de travail « Claude Code » est créé pour un suivi centralisé des coûts.

Configuration de Claude Code : settings.json et variables d’environnement

Si Claude Code semble magique lorsqu’il fonctionne, il peut souvent sembler « mystérieux » lorsqu’il ne fonctionne pas. Le remède est de comprendre sa couche de configuration et les quelques variables d’environnement qui comptent vraiment.

Fichiers de configuration et priorité

Les paramètres de Claude Code sont hiérarchiques, avec trois fichiers destinés aux développeurs :

  • Portée utilisateur, s’applique partout : ~/.claude/settings.json
  • Portée projet, partagée dans un dépôt : .claude/settings.json
  • Portée locale, remplacements par machine : .claude/settings.local.json (gitignored)

La priorité (du plus élevé au plus faible) est : politique gérée, drapeaux CLI, local, projet, utilisateur. Cet ordre explique plusieurs moments de type « pourquoi ma configuration est-elle ignorée ».

Vous pouvez gérer les paramètres de manière interactive via la commande /config, qui ouvre une interface utilisateur de paramètres à l’intérieur du REPL.

Variables d’environnement contrôlant le routage du fournisseur

Claude Code peut être dirigé à l’exécution par des variables d’environnement. Deux particularités comportementales méritent d’être traitées comme des contraintes de conception :

  1. Si ANTHROPIC_API_KEY est défini, Claude Code utilisera la clé au lieu d’un abonnement Claude, même si vous êtes connecté. En mode impression (-p), la clé est toujours utilisée si elle est présente.

  2. Si ANTHROPIC_BASE_URL pointe vers un hôte non premier (un proxy, une passerelle ou un serveur local), certaines fonctionnalités sont volontairement conservatrices. Par exemple, la recherche d’outils MCP est désactivée par défaut sauf si vous la réactivez explicitement.

Un modèle minimal « utiliser une passerelle » ressemble à ceci :

export ANTHROPIC_BASE_URL=https://your-gateway.example
export ANTHROPIC_API_KEY=sk-your-key

Note sur la passerelle : Claude Code s’attend à certains formats d’API. Pour le format Anthropic Messages, la passerelle doit exposer /v1/messages et /v1/messages/count_tokens et doit transférer les en-têtes anthropic-beta et anthropic-version. Si une passerelle rejette ces en-têtes, il existe un bouton dédié pour supprimer les bêta expérimentaux.

Sélection de modèle dans Claude Code lorsque vous n’utilisez pas Anthropic directement

Claude Code possède un concept d’alias (opus, sonnet, haiku) et prend également en charge la fixation d’ID de modèle spécifiques. Il existe également une liste blanche qui peut restreindre ce que les utilisateurs peuvent sélectionner dans le sélecteur de modèle, même lorsqu’ils sont acheminés via des fournisseurs tiers.

Un modèle pragmatique consiste à définir un modèle initial et à restreindre le sélecteur, puis à fixer ce à quoi « par défaut » se résout via l’environnement :

{
  "model": "claude-sonnet-4-5",
  "availableModels": ["claude-sonnet-4-5", "haiku"],
  "env": {
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-5"
  }
}

Exécution de LLM auto-hébergés via Ollama

Ollama est actuellement le moyen le moins contraignant de faire fonctionner Claude Code sur des modèles non-Anthropic, car il expose une API compatible Anthropic pour que Claude Code puisse communiquer.

Configuration rapide avec ollama launch

Si vous avez Ollama installé et en cours d’exécution, le chemin rapide est :

ollama launch claude

Ou spécifiez un modèle au lancement :

ollama launch claude --model glm-4.7-flash

Configuration manuelle avec des variables d’environnement explicites

L’intégration Ollama documente un câblage manuel simple où Claude Code communique avec Ollama via le point de terminaison de l’API compatible Anthropic :

export ANTHROPIC_AUTH_TOKEN=ollama
export ANTHROPIC_API_KEY=""
export ANTHROPIC_BASE_URL=http://localhost:11434

claude --model qwen3.5

Ce modèle est opinionné d’une manière utile : il traite le « routage du fournisseur » comme une préoccupation d’environnement, pas quelque chose que vous cliquez dans une interface graphique.

Vérification de réalité de la fenêtre de contexte

Le codage agentique est gourmand en contexte. Ollama le signale franchement : Claude Code nécessite une grande fenêtre de contexte et recommande au moins 64k tokens. Si votre modèle local plafonne à 8k ou 16k, Claude Code fonctionnera toujours, mais la promesse « au niveau du projet » devient fragile.

Pour un comportement de modèle local pratique dans une configuration d’agent terminal similaire (Ollama et llama.cpp, tâches de codage et notes d’échec francs), Meilleurs LLM pour OpenCode - Testés localement est un contrôle croisé utile lorsque vous sélectionnez des tags GGUF ou Ollama pour Claude Code.

Exécution de LLM auto-hébergés via llama.cpp

llama.cpp est attrayant pour la raison opposée : il n’essaie pas d’être une plateforme. C’est un serveur rapide et léger qui peut exposer des routes compatibles OpenAI et une route compatible avec l’API Messages d’Anthropic.

Pour les chemins d’installation, llama-cli et le comportement llama-server au-delà des extraits ci-dessous, Démarrage rapide de llama.cpp avec CLI et serveur est la référence de bout en bout.

Que faire tourner côté serveur

Le serveur HTTP llama.cpp (llama-server) prend en charge une API Messages compatible Anthropic sur POST /v1/messages, avec un streaming via SSE. Il propose également count_tokens sur /v1/messages/count_tokens.

Deux détails sont importants pour Claude Code :

  • Le serveur ne fait pas explicitement de revendications fortes de compatibilité totale avec la spécification API Anthropic, mais indique qu’il fonctionne suffisamment bien pour de nombreuses applications.
  • L’utilisation d’outils nécessite de démarrer llama-server avec le drapeau –jinja. Si vous manquez cela, Claude Code se comportera comme s’il avait soudainement oublié comment être un agent.

Une exécution locale minimale ressemble à ceci :

# Construire ou télécharger llama-server, puis exécuter avec un modèle GGUF
./llama-server -m /models/your-model.gguf --jinja --host 127.0.0.1 --port 8080

Si vous voulez une frontière d’authentification stricte, llama-server peut être configuré avec une clé API :

./llama-server -m /models/your-model.gguf --jinja --api-key my-local-key --host 127.0.0.1 --port 8080

Pointez Claude Code vers llama-server

Avec le serveur en cours d’exécution, votre côté Claude Code est principalement une surcharge d’URL de base :

export ANTHROPIC_BASE_URL=http://127.0.0.1:8080
export ANTHROPIC_API_KEY=my-local-key   # uniquement si vous avez activé --api-key sur llama-server

claude --model your-model-alias

Si vous ne définissez pas de clé API ou de jeton d’authentification, Claude Code peut essayer de basculer vers la connexion par abonnement, ce qui est la source de nombreuses plaintes « pourquoi cela ouvre-t-il un navigateur ».

Vérifications d’intégrité et triage des premiers échecs

llama-server expose un point de terminaison de santé simple qui renvoie « loading model » (chargement du modèle) jusqu’à ce que le modèle soit prêt, et « ok » lorsqu’il est utilisable. Lorsque Claude Code semble se bloquer sur la première demande, vérifier /health est un moyen rapide de distinguer une « erreur de configuration client » d’un « serveur toujours en chargement ».

Tarification et modèle de coûts

La tarification de Claude Code est moins une question d’« acheter un CLI » que de « quelle voie de facturation soutient les tokens ».

Les plans d’abonnement incluent Claude Code

Anthropic inclut Claude Code dans les niveaux d’abonnement Claude payants. À partir d’avril 2026, la tarification publiée liste :

  • Pro à 17 $ par mois avec une remise annuelle (200 $ facturés d’avance), ou 20 $ facturés mensuellement, et cela inclut Claude Code.
  • Plans Max à partir de 100 $ par mois.
  • Plans Team facturés par siège, avec un siège standard à 20 $ par siège par mois facturé annuellement (25 $ mensuel) et un siège premium à 100 $ par siège par mois facturé annuellement (125 $ mensuel).

Tarification des tokens API

Si vous utilisez Claude Code via la facturation API, les coûts suivent les taux de tokens. Anthropic publie une tarification par million de tokens (MTok) pour des modèles tels que :

  • Haiku 4.5 à 1 $/MTok en entrée et 5 $/MTok en sortie.
  • Sonnet 4.5 à 3 $/MTok en entrée et 15 $/MTok en sortie.
  • Opus 4.5 à 5 $/MTok en entrée et 25 $/MTok en sortie.

Contrôles de coûts dans le CLI

Le mode impression (-p) prend en charge des plafonds de budget directs comme –max-budget-usd, ce qui est pratique lorsque vous scriptez des tâches et souhaitez des dépenses prévisibles.

À l’intérieur des sessions interactives, /cost affiche les statistiques d’utilisation des tokens.

Les backends locaux changent la facture, pas la physique

Routage Claude Code vers Ollama ou llama.cpp peut supprimer les facturations API par token, mais cela ne rend pas le travail gratuit. Vous échangez des coûts cloud contre du calcul local, de la mémoire et « quelqu’un possède la disponibilité ». Pour certaines équipes, cet échange est le point entier.

Workflow typique : du plan à la PR

Mon biais est que Claude Code est le plus fort lorsque vous le traitez comme un moteur de workflow, pas comme un chatbot. Les outils suggèrent cela.

Commencer par le modèle de permissions, pas par le prompt

Claude Code est verrouillé par des permissions par conception. La documentation décrit un modèle par niveaux : les opérations en lecture seule telles que la lecture de fichiers et grep sont autorisées, tandis que les commandes bash et les modifications de fichiers nécessitent une approbation.

Les modes de permission existent pour gérer la friction. Dans le CLI, vous pouvez faire défiler les modes avec Shift+Tab (par défaut -> acceptEdits -> plan). Le mode Plan lit et propose des modifications mais n’édite pas. Le mode acceptEdits permet à Claude Code de créer et de modifier des fichiers dans votre répertoire de travail sans demander, tout en demandant toujours pour les commandes ayant des effets secondaires en dehors de sa liste sécurisée.

Le mode Auto est une option plus récente qui réduit les prompts en déléguant les approbations à un classificateur, positionné comme un chemin intermédiaire plus sûr entre les prompts constants et la désactivation totale des prompts. Il nécessite une version minimale de Claude Code et des exigences spécifiques de plan et de modèle.

Utilisez les commandes intégrées pour garder les sessions honnêtes

Quelques commandes transforment Claude Code d’« assistant » en « outil » :

  • /init génère un guide de projet CLAUDE.md, qui est un moyen léger d’alimenter un contexte cohérent.
  • /diff donne une vue interactive des modifications, y compris les diffs par tour.
  • /rewind vous permet de remonter la conversation et/ou le code à un point précédent, en utilisant des points de contrôle.
  • /debug active la journalisation de débogage en cours de session.
  • /doctor diagnostique et vérifie votre installation et vos paramètres.

Ce ne sont pas des gadgets ; ce sont les rails de sécurité sur lesquels vous vous appuyez lorsqu’un agent modifie plus que prévu.

Quand passer en mode non interactif

Pour des tâches ponctuelles (expliquer, résumer, générer un plan de patch), le mode impression est un bon choix :

claude -p "Summarise the repository architecture and list the riskiest modules"

Il se termine après la réponse, ce qui fonctionne bien dans les scripts et CI.

Checklist de dépannage

La plupart des problèmes de Claude Code sont des problèmes de configuration déguisés. Voici une checklist qui mappe les symptômes courants au mécanisme sous-jacent.

Claude Code demande continuellement de se connecter en utilisant un serveur local

Cela signifie généralement que Claude Code essaie toujours d’utiliser l’authentification d’abonnement premier. Assurez-vous de définir un mode d’authentification explicite pour le proxy :

  • Définir ANTHROPIC_API_KEY pour les passerelles qui attendent X-Api-Key.
  • Ou définir ANTHROPIC_AUTH_TOKEN pour les passerelles qui utilisent Authorization Bearer.

Rappelez-vous que ANTHROPIC_API_KEY remplace l’utilisation de l’abonnement même si vous êtes connecté, et en mode interactif, vous devrez peut-être approuver ce remplacement une fois.

La passerelle signale une erreur sur les en-têtes anthropic-beta

Certaines passerelles rejettent les en-têtes inconnus ou les champs bêta. Il existe une variable d’environnement conçue pour ce mode d’échec exact :

export CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

La documentation de la passerelle LLM note également que vous pouvez en avoir besoin lors de l’utilisation du format Anthropic Messages avec Bedrock ou Vertex.

L’appel d’outils ne fonctionne pas sur llama.cpp

Vérifiez deux fois les drapeaux du serveur. llama-server documente que l’utilisation d’outils nécessite le drapeau –jinja. Sans cela, le serveur peut répondre, mais la boucle d’agent se dégradera.

Les prompts de permission interrompent chaque commande

Cela peut être normal, selon le mode et les règles de permission. Les options incluent :

  • Passer temporairement en acceptEdits (les modifications de fichiers sont plus rapides).
  • Écrire des règles d’autorisation explicites pour les commandes bash connues comme sûres dans settings.json.
  • Utiliser /sandbox pour isoler l’outil bash tout en réduisant les prompts.
  • Évaluer le mode auto si votre plan et votre version le prennent en charge, comme compromis.

Quelque chose semble incorrect et vous avez besoin d’observabilité

Utilisez les intégrés :

  • /doctor pour valider l’installation et les paramètres.
  • /debug pour commencer à capturer les journaux à partir de ce point.
  • Si vous êtes en mode impression, envisagez un budget maximal serré et un nombre maximal de tours pour garder les expériences bornées.