« Installé, mais ça ne démarre pas » — c'est le retour le plus fréquent des utilisateurs de Claude Code, et presque chaque erreur correspond à la même poignée de causes. Ce guide décompose les 5 erreurs de déploiement les plus courantes : d'abord le message d'erreur exact, puis la cause racine, puis des commandes à copier-coller pour résoudre le problème en moins de 10 minutes.
Erreur 1 : Clé API invalide ou non configurée
C'est le premier obstacle que rencontrent les débutants. Claude Code utilise la variable d'environnement ANTHROPIC_API_KEY pour l'authentification — une clé manquante ou mal formatée provoque immédiatement une erreur.
Messages d'erreur :
# L'un de ces trois messages indique un problème de clé API Error: ANTHROPIC_API_KEY is not set AuthenticationError: 401 {"type":"error","error":{"type":"authentication_error","message":"invalid x-api-key"}} Error: Your API key is invalid.
Commandes de correction :
# 1. Vérifier si la clé est définie dans le shell actuel echo $ANTHROPIC_API_KEY # 2. Définir temporairement (valable pour la session en cours uniquement) export ANTHROPIC_API_KEY="sk-ant-api03-xxxxxxxxxx" # 3. Écrire dans le fichier de config pour une persistance permanente (zsh: ~/.zshrc, bash: ~/.bashrc) echo 'export ANTHROPIC_API_KEY="sk-ant-api03-xxxxxxxxxx"' >> ~/.zshrc source ~/.zshrc # 4. Vérifier le format : doit commencer par sk-ant-api claude --version
Où obtenir la clé API
Les clés API se génèrent sur console.anthropic.com → API Keys. Attention : la clé n'est affichée qu'une seule fois lors de la création — copiez-la immédiatement. En cas de perte, il faut en générer une nouvelle.
Erreur 2 : Version de Node.js incompatible
Claude Code requiert Node.js ≥ 18. Les versions anciennes provoquent des erreurs de syntaxe à l'installation ou au démarrage.
Messages d'erreur :
SyntaxError: Unexpected token '?' engine "node" is incompatible with this module. Expected version ">=18". Got "16.x.x" Error [ERR_REQUIRE_ESM]: require() of ES Module ... not supported.
Commandes de correction :
# 1. Vérifier la version Node actuelle node -v # 2a. Changer de version avec nvm (recommandé) nvm install 22 nvm use 22 nvm alias default 22 # 2b. Mettre à jour via Homebrew sur macOS brew install node@22 brew link --overwrite node@22 # 3. Réinstaller Claude Code après la mise à jour npm uninstall -g @anthropic-ai/claude-code npm install -g @anthropic-ai/claude-code
Piège courant sur les serveurs Linux
Les dépôts apt par défaut d'Ubuntu/Debian incluent souvent Node.js v12 ou v16. Utilisez NodeSource ou nvm plutôt que apt install nodejs pour éviter d'installer une version obsolète.
Erreur 3 : Permission refusée
Les erreurs de permission se présentent sous deux formes : les permissions d'installation globale npm insuffisantes, et l'exécution des outils de Claude Code bloquée par la politique système ou utilisateur.
Messages d'erreur :
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules' Error: Permission denied (tool: bash) EPERM: operation not permitted, unlink
Correction pour les permissions npm :
# Changer le répertoire de packages global vers le dossier utilisateur — plus besoin de sudo mkdir -p ~/.npm-global npm config set prefix '~/.npm-global' # Ajouter au PATH (mettre à jour la config shell, puis recharger) echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc source ~/.zshrc # Réinstaller npm install -g @anthropic-ai/claude-code
Correction pour les permissions des outils (bash/système bloqués par la politique Claude Code) :
# Autoriser explicitement les outils au démarrage claude --allowedTools "bash,read,write,edit" # Ou configurer dans CLAUDE.md (persistance au niveau du projet) # Pour les serveurs CI : --dangerously-skip-permissions ignore les confirmations interactives # À utiliser uniquement dans des environnements de confiance claude --dangerously-skip-permissions -p "your prompt here"
Erreur 4 : Timeout réseau ou problèmes de proxy
Claude Code doit pouvoir atteindre api.anthropic.com. Dans les environnements réseau restreints — intranets d'entreprise, proxies, ou certaines régions cloud — vous verrez des timeouts de connexion ou des échecs de handshake TLS.
Messages d'erreur :
FetchError: request to https://api.anthropic.com/v1/messages failed, reason: connect ETIMEDOUT Error: Network request failed: ENOTFOUND api.anthropic.com ProxyError: tunneling socket could not be established, cause=connect ECONNREFUSED
Commandes de correction :
# 1. Tester la connectivité directe curl -v https://api.anthropic.com/v1/messages -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "anthropic-version: 2023-06-01" -H "content-type: application/json" \ -d '{"model":"claude-opus-4-5","max_tokens":10,"messages":[{"role":"user","content":"hi"}]}' # 2. Configurer un proxy HTTP export HTTPS_PROXY="http://proxy.company.com:8080" export HTTP_PROXY="http://proxy.company.com:8080" export NO_PROXY="localhost,127.0.0.1" # 3. Proxy avec authentification export HTTPS_PROXY="http://username:password@proxy.company.com:8080" # 4. URL de base personnalisée (passerelle interne d'entreprise) export ANTHROPIC_BASE_URL="https://your-internal-gateway.company.com"
Note sur le proxy système macOS
Les paramètres proxy des Préférences Système macOS ne sont pas automatiquement hérités par les processus Node.js. Vous devez définir explicitement HTTPS_PROXY dans la session shell où vous lancez Claude Code, ou l'ajouter en permanence à ~/.zshrc.
Erreur 5 : Manque de mémoire (OOM) – plantage du processus
Lors du traitement de grandes bases de code ou de longues conversations, Claude Code peut épuiser le tas Node.js. Cette erreur est la plus fréquente sur les machines avec 8 Go de RAM ou dans les conteneurs CI à mémoire limitée.
Messages d'erreur :
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory Killed (signal 9) ← Arrêt forcé par le Linux OOM Killer RangeError: Maximum call stack size exceeded
Commandes de correction :
# 1. Augmenter la limite du tas Node.js (en Mo, selon la RAM disponible) export NODE_OPTIONS="--max-old-space-size=4096" claude # 2. Vérifier l'utilisation mémoire actuelle free -h # Linux vm_stat # macOS # 3. Pour les grandes bases de code, créer un .claudeignore # node_modules/ # dist/ # .next/ # *.lock # 4. Dans les longues conversations, utiliser /clear pour libérer la mémoire du contexte
| RAM machine | --max-old-space-size recommandé |
Notes |
|---|---|---|
| 8 Go | 2048 | ~6 Go réservés pour l'OS et autres processus |
| 16 Go | 4096 | Adapté aux bases de code de taille moyenne |
| 24 Go (Mac mini M4 standard) | 8192 | Gère les grands monorepos |
| 32 Go et plus | 16384 | Projets d'entreprise / instances parallèles |
Organigramme de diagnostic : chemin vers la cause racine en 10 min
claudeou npm install -gclaude --version réussitPas d'erreur = problème résoluRéférence rapide des mots-clés
api-key/401→ Erreur 1SyntaxError/ESM→ Erreur 2EACCES/permission→ Erreur 3ETIMEDOUT/ENOTFOUND→ Erreur 4heap out of memory/Killed→ Erreur 5
Toujours bloqué ? Vérifier ces points
- Version Node ≥ 18 (
node -v) - La clé commence par
sk-ant-api curlatteint api.anthropic.com- Pas de
sudo npm install -gutilisé
Bonus : Rendre Claude Code plus stable sur un serveur
Pour exécuter Claude Code sur la durée sur un serveur CI ou un hébergement cloud, quelques détails supplémentaires font une vraie différence au-delà de la correction des 5 erreurs ci-dessus :
tmuxouscreen– le processus continue après déconnexion SSH, empêchant les longues tâches d'être interrompues- Rédiger un
CLAUDE.md– documenter les conventions du projet réduit la consommation de tokens liée aux clarifications répétées --output-format jsonavec-p(mode non-interactif) – plus facile à analyser dans les scripts d'automatisationdirenv– chargement automatique des variables d'environnement à l'entrée dans le projet, sansexportmanuel
Un serveur macOS dédié élimine la plupart des erreurs
Mémoire suffisante (16–24 Go de mémoire unifiée), connexion réseau directe, pas de proxy — voilà pourquoi la plupart des erreurs OOM et timeout disparaissent sur un serveur dédié. Les instances dédiées Mac mini M4 de ZavCloud arrivent avec Node.js préinstallé — déploiement immédiat.
ZavCloud Cloud Mac
Exécuter Claude Code sur un serveur macOS dédié
Instance dédiée Mac mini M4 : 24 Go de mémoire unifiée, connexion 1 Gbps directe, vrai macOS — dites adieu aux OOM et aux timeouts réseau.
Voir les offres Cloud Mac