Utiliser Ollama dans Claude Code et Cursor (modèles locaux)
Claude Code et Cursor sont devenus des outils de référence pour coder avec un LLM, mais les deux envoient votre code chez Anthropic ou OpenAI et coûtent 20 $/mois minimum. Ollama expose un endpoint OpenAI-compatible sur localhost:11434/v1 qui permet de brancher ces deux IDE — et n'importe quel assistant qui parle l'API OpenAI — sur un modèle local. Ce guide montre la config exacte pour Cursor (natif) et Claude Code (via proxy), quels modèles de code privilégier en 2026, et où le local décroche par rapport au cloud.
#Pourquoi utiliser Ollama dans Claude Code ou Cursor ?
Trois raisons qui reviennent toujours. La confidentialité d'abord : un projet client sous NDA, du code propriétaire, des secrets en clair dans les fichiers — rien de tout ça ne devrait partir chez un tiers. Le coût ensuite : Cursor Pro c'est 20 $/mois, Claude Code consomme des tokens Anthropic qui finissent vite à 50-100 $/mois en usage soutenu. Avec Ollama, c'est zéro après l'achat du GPU. La résilience enfin : votre assistant ne s'arrête pas quand l'API d'Anthropic a un incident ou quand votre connexion ADSL coupe.
Le compromis est honnête : un Qwen3-Coder 30B en local n'égale pas Claude Sonnet 4.6 ou GPT-5 pour les tâches d'agent complexes sur plusieurs fichiers. Mais pour 80% des usages quotidiens — compléter, refactor, écrire un test, expliquer un bloc, générer un commit — un coder de 14 à 32B en Q4 fait largement le job. Et vous pouvez toujours garder le cloud en parallèle pour les gros morceaux.
#L'endpoint OpenAI-compatible d'Ollama
Depuis la version 0.1.24, Ollama expose en plus de son API native un endpoint compatible avec l'API OpenAI ChatCompletions. C'est ce qui rend tout le reste possible : n'importe quel client OpenAI (SDK Python, SDK Node, Cursor, Cline, Aider, Continue, etc.) peut taper Ollama sans modification, juste en changeant le base URL.
Le format de réponse est identique à celui d'OpenAI : choices[0].message.content, usage avec prompt_tokens et completion_tokens, support du streaming via stream: true. La clé d'API est ignorée — vous pouvez envoyer n'importe quoi dans le header Authorization, Ollama l'accepte. Beaucoup de clients refusent cependant un champ vide : mettez ollama ou anything pour leur faire plaisir.
#Prérequis
- Ollama 0.5+
- ollama --version doit répondre. Sur Windows, l'icône système doit être active. Si vous partez de zéro, voir le guide d'installation Ollama pour votre OS.
- GPU avec 12 Go de VRAM ou Mac M-series 16 Go+
- Un coder 14B Q4 = ~9 Go, un 32B Q4 = ~19 Go. RTX 3060 12 Go = plancher utile ; RTX 4070/4080 ou Mac M3/M4 = confort réel.
- Cursor 0.40+ ou Claude Code CLI
- Cursor depuis cursor.com (mode OpenAI custom intégré). Claude Code via npm install -g @anthropic-ai/claude-code.
- Familiarité minimale avec les variables d'environnement
- Pour Claude Code, on jouera avec ANTHROPIC_BASE_URL et ANTHROPIC_AUTH_TOKEN.
#1. Brancher Cursor sur Ollama
Cursor a une option officielle pour pointer vers un endpoint OpenAI-compatible. Ce qui marche très bien pour le chat (Ctrl+L) et l'édition inline (Ctrl+K). Le Composer agent et le Tab autocomplete, eux, restent verrouillés sur les modèles Cursor cloud — c'est une limite produit assumée par Anthysphere.
- 01Télécharger un modèle de codeQwen2.5-Coder 14B est un excellent point de départ : francophone correct, support du tool calling, raisonnable en taille. Pour une RTX 4090 ou un Mac M3 Max, passez à 32B.
- 02Ouvrir les paramètres CursorCtrl+Shift+J (Cmd+, sur Mac) → onglet Models. Vous voyez la liste des modèles Cursor (claude-3.5-sonnet, gpt-5, etc.) avec des toggles.
- 03Ajouter un modèle customCliquez sur Add Model en bas. Mettez le nom exact du modèle Ollama : qwen2.5-coder:14b. Cochez la case pour l'activer.
- 04Configurer la base URLDans la section OpenAI API Key, dépliez Override OpenAI Base URL. Mettez http://localhost:11434/v1 puis cliquez Save. Pour l'API Key, mettez n'importe quoi (ollama suffit), Cursor refuse un champ vide.
- 05Vérifier la connexionCliquez sur Verify. Cursor envoie une requête de test à votre Ollama. Si ça répond 200, le bouton passe au vert et le modèle apparaît dans le sélecteur du chat.
Une fois en place, le chat Cursor (Ctrl+L) et l'édition inline (Ctrl+K) fonctionnent avec votre modèle local. Le sélecteur de modèle en haut du panneau chat liste qwen2.5-coder:14b ; les modèles Cursor cloud restent accessibles si vous voulez basculer ponctuellement.
#2. Brancher Claude Code sur Ollama
Claude Code (le CLI d'Anthropic) parle nativement l'API Messages d'Anthropic, pas l'API Chat Completions d'OpenAI. Les deux protocoles diffèrent (rôles, format des tool calls, streaming). Pour faire dialoguer Claude Code avec Ollama il faut donc un petit traducteur — un proxy qui reçoit du Anthropic Messages d'un côté et émet du OpenAI Chat Completions de l'autre.
Le projet de référence pour ça s'appelle claude-code-router (musistudio/claude-code-router sur GitHub). Il s'installe en une commande, tourne en local sur un port, et accepte des règles de routage par modèle (ex : envoyer haiku vers Ollama, sonnet vers le vrai Claude).
- 01Installer Claude Codenpm install -g @anthropic-ai/claude-code si ce n'est pas déjà fait. claude --version doit répondre.
- 02Installer claude-code-routernpm install -g @musistudio/claude-code-router. Le binaire ccr est ajouté au PATH.
- 03Pull du modèle dans OllamaPréférez un modèle qui supporte les tool calls : qwen2.5-coder:14b, qwen3:14b, ou devstral. Sans support tool, Claude Code ne pourra pas appeler ses outils internes (Read, Edit, Bash, etc.) et perd 90% de son intérêt.
- 04Configurer le routeurCréez ~/.claude-code-router/config.json avec une entrée Providers pointant vers Ollama, et une règle Router qui mappe les modèles Claude vers votre modèle local.
- 05Lancer via ccrccr code à la place de claude. Le wrapper démarre le proxy en arrière-plan, exporte ANTHROPIC_BASE_URL vers lui, puis lance Claude Code. À l'intérieur, /model permet de basculer entre routes.
Approche minimaliste sans router : vous pouvez aussi exporter directement ANTHROPIC_BASE_URL et ANTHROPIC_AUTH_TOKEN vers un proxy Anthropic-compatible (LiteLLM en mode --anthropic ou y-router en sont). Plus léger mais sans la souplesse de règles par tâche.
#3. Quel modèle de code choisir : Qwen3-Coder vs Devstral en local
Sur Ollama, trois familles dominent pour le code à mi-2026 : Qwen3-Coder (Alibaba), Devstral (Mistral AI), et DeepSeek-Coder-V2. Toutes sont open-weight et fonctionnent en Q4 sur du matériel grand public.
- Qwen2.5-Coder 14B / Qwen3-Coder 30B-A3B
- La référence polyvalente. Support tool calling solide, multilingue (français correct), bon en Python/JS/Go/Rust. Le 30B-A3B est un MoE qui rivalise avec un dense 14B en vitesse. Pull : qwen2.5-coder:14b ou qwen3-coder:30b.
- Devstral Small 24B (Mistral AI, mai 2025)
- Pensé spécifiquement pour les agents SWE (édition multi-fichiers, navigation de codebase). Excellent dans Aider, OpenHands, et — par extension — Claude Code. Licence Apache 2.0. 24B dense ≈ 14 Go en Q4. Pull : devstral:24b.
- DeepSeek-Coder-V2 16B / 236B
- Le 16B-Lite tient sur 12 Go de VRAM, le 236B est inatteignable sans Mac Studio Ultra. Très fort en algorithme et en complétion FIM, un peu plus pauvre en chat naturel français. Pull : deepseek-coder-v2:16b.
- GLM-4.5 Air (Z.ai, 2025)
- 9B paramètres seulement, étonnamment compétent sur du refactoring simple. Bon repli pour les GPU 8 Go. Pull : glm-4.5-air.
VRAM par taille en Q4_K_M (la quantization recommandée) : 7B ≈ 5 Go, 14B ≈ 9 Go, 24B ≈ 14 Go, 32B ≈ 19 Go, 70B ≈ 40 Go. Le contexte consomme en plus : comptez +2 à +4 Go pour 32k tokens de contexte selon le modèle.
#Limites vs le cloud : où le local décroche
Soyons honnêtes sur ce que le local ne fait pas aussi bien que Claude Sonnet 4.6 ou GPT-5 :
- Fenêtre de contexte
- Ollama par défaut limite num_ctx à 4096 tokens ; on monte à 32k voire 128k selon le modèle, mais au prix de la VRAM. Cursor avec Sonnet en cloud manipule 200k tokens sans broncher. Sur un gros monorepo, le cloud lit tout, le local doit choisir.
- Raisonnement multi-étapes
- Un Qwen 14B s'égare quand l'agent enchaîne 10 tool calls avec des dépendances entre eux. Sonnet tient le fil. Pour de l'orchestration agent vraiment complexe, le cloud reste devant — et de loin.
- Connaissance des API récentes
- Les modèles open-weight ont un cutoff (souvent 2024) et ratent les API sorties après. Cursor en cloud benéficie de la mise à jour continue et des outils de recherche web.
- Latence first-token
- Paradoxalement, le cloud peut être plus rapide à démarrer (pas de chargement modèle). En local, le modèle reste chaud entre deux appels — l'avantage rebascule après le premier prompt.
- Coût électrique
- Une RTX 4090 sous charge consomme 350 W. 8h/jour de codage soutenu = ~70 kWh/mois = ~15 € en France. Reste très inférieur à 20 $/mois Cursor + 50 $/mois Claude, mais ce n'est pas gratuit.
#Astuces et dépannage
- Cursor renvoie "OpenAI API key invalid"
- Le champ API Key doit contenir une valeur non vide. Mettez ollama, sk-anything ou n'importe quoi de plausible. C'est cosmétique : Ollama ignore le header.
- Cursor ne voit pas le modèle
- Le nom du modèle dans Cursor (Add Model) doit être EXACTEMENT celui retourné par ollama list (tag inclus, ex qwen2.5-coder:14b). Pas qwen2.5-coder seul, pas Qwen 2.5 Coder.
- Claude Code boucle ou redemande la même chose
- Souvent le modèle local rate ses tool calls. Vérifiez que le modèle supporte le function calling (ollama show qwen2.5-coder:14b → cherchez la mention tools dans les capabilities). Passez à un modèle plus gros, ou simplifiez la tâche.
- Réponses tronquées au bout de 2-3 phrases
- num_ctx par défaut = 4096. Pour Claude Code et Cursor avec un contexte de codebase, montez à 16384 ou 32768. Avec Ollama : créez un Modelfile custom avec PARAMETER num_ctx 32768 et faites ollama create coder-32k -f Modelfile. Le coût mémoire est réel (+ 2-4 Go pour le KV cache).
- VRAM saturée, OOM
- Vérifiez ollama ps pendant l'utilisation. Si vous voyez >100% loaded en GPU/CPU split, le modèle déborde en RAM et devient très lent. Solutions : quantization plus agressive (Q3_K_M), modèle plus petit, ou réduire num_ctx.
- Latence > 5 s par réponse
- Soit le modèle déborde en CPU (voir point précédent), soit Ollama recharge le modèle à chaque requête. Vérifiez OLLAMA_KEEP_ALIVE (par défaut 5 min). Mettez OLLAMA_KEEP_ALIVE=2h pour garder le modèle chaud.
#Pour aller plus loin
Vous avez Ollama qui sert un modèle de code à Cursor ou Claude Code. Les directions naturelles ensuite :
- Compléter dans l'éditeur (FIM inline)
- Le guide Copilot gratuit en local installe Continue.dev / Tabby / CodeGeeX pour la complétion inline façon Copilot — complément naturel du chat dans Cursor.
- Choisir la bonne quantification
- Q4_K_M, Q5_K_M, Q8_0 : le guide Choisir sa quantification compare la perte de qualité réelle sur les modèles de code, et explique quand un Q3 reste utilisable.
- Personnaliser un modèle de code
- Le guide Personnaliser un modèle avec Ollama Modelfile montre comment fixer le num_ctx, le system prompt et la température pour avoir un coder taillé pour votre stack.
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.