Claude Code settings.json et variables d’environnement : URL de base, jeton d’authentification et modèle

AIHubMix7 min de lecture
Claude Code settings.json et variables d’environnement : URL de base, jeton d’authentification et modèle

Claude Code récupère sa configuration dans des fichiers de paramètres JSON et des variables d’environnement. Pour l’utiliser via une passerelle plutôt que l’API d’Anthropic, vous avez besoin de deux variables, ANTHROPIC_BASE_URL et un jeton, ainsi que généralement d’un modèle. Les variables sont simples. Ce qui prête à confusion, c’est l’endroit où les définir, car une même variable peut se trouver dans le fichier de configuration de votre shell, dans plusieurs fichiers settings.json et dans les paramètres de VS Code.

Ce guide commence par une configuration fonctionnelle, puis explique où se trouvent les fichiers, quelle valeur prévaut et quelles erreurs vous risquez de rencontrer. Il a été vérifié à l’aide de la documentation d’Anthropic et testé avec AIHubMix sur Claude Code 2.1.304 le 20 octobre 2026. Les exemples utilisent AIHubMix comme passerelle ; toute adresse compatible avec l’API Anthropic se configure de la même manière.

En bref

  • Votre fichier de paramètres personnel est ~/.claude/settings.json, ou %USERPROFILE%\.claude\settings.json sous Windows.
  • Pour utiliser une passerelle, ajoutez ANTHROPIC_BASE_URL (sans /v1) et ANTHROPIC_AUTH_TOKEN au bloc env de ce fichier.
  • Une valeur définie dans le bloc env d’un fichier de paramètres remplace la même variable exportée dans votre shell.
  • Une fois le jeton défini, les requêtes n’utilisent plus votre abonnement Claude et sont facturées par la passerelle.
  • L’extension VS Code a besoin des mêmes variables dans son propre paramètre claudeCode.environmentVariables.

Configuration fonctionnelle d’AIHubMix

  1. Créez une clé dans la console AIHubMix.
  2. Ajoutez ceci à ~/.claude/settings.json. Créez le fichier s’il n’existe pas.
{
  "$schema": "https://json.schemastore.org/claude-code-settings.json",
  "env": {
    "ANTHROPIC_BASE_URL": "https://aihubmix.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-your-aihubmix-key"
  },
  "model": "claude-sonnet-5-5"
}
  1. Lancez un test rapide :
claude -p "1+1, output only the answer"
  1. Lancez claude dans un projet. L’en-tête sous le logo devrait afficher quelque chose comme Sonnet 5.5 · API Usage Billing, et /status indique votre passerelle sur la ligne Anthropic base URL.

Deux détails sont importants. L’URL de base est l’adresse racine : Claude Code ajoute lui-même /v1/messages, donc une URL qui se termine par /v1 fait échouer toutes les requêtes. Par ailleurs, AIHubMix utilise les identifiants de modèles d’Anthropic, comme claude-sonnet-5-5 ; les raccourcis sonnet, opus et haiku fonctionnent donc sans configuration supplémentaire.

La ligne $schema est facultative. Elle permet à VS Code, Cursor et aux autres éditeurs de signaler les erreurs dans le fichier pendant que vous le modifiez.

Vous pouvez aussi exporter les deux mêmes variables dans votre shell, mais un fichier de paramètres est préférable : tous les terminaux, les extensions de l’IDE et les agents en arrière-plan le lisent.

Emplacement des fichiers de paramètres

Portée Fichier S’applique à
Utilisateur ~/.claude/settings.json Vous, dans tous les projets
Projet .claude/settings.json Tous les membres du dépôt, via git
Local .claude/settings.local.json Vous, uniquement dans ce dépôt
Géré Défini par votre organisation Toutes les personnes auprès desquelles il est déployé

Ne placez jamais de jeton dans le fichier de projet .claude/settings.json, car il est ajouté à git. Utilisez votre fichier utilisateur ou .claude/settings.local.json.

Les fichiers de paramètres doivent être du JSON valide. Un commentaire // ou une virgule finale amène Claude Code à ignorer le fichier entier, jeton compris, et vous verrez l’écran de connexion au lieu de votre passerelle.

Ne confondez pas ces fichiers avec ~/.claude.json, un fichier unique dans votre dossier personnel. Il stocke l’état propre à Claude Code, par exemple vos informations de connexion et vos serveurs MCP, et vous avez rarement besoin de le modifier.

Quelle valeur prévaut ?

Lorsque plusieurs fichiers définissent le même paramètre, l’ordre de priorité des paramètres d’Anthropic s’applique, du plus prioritaire au moins prioritaire :

  1. Paramètres gérés par votre organisation
  2. --settings sur la ligne de commande, pour cette session uniquement
  3. .claude/settings.local.json
  4. .claude/settings.json
  5. ~/.claude/settings.json

Pour les variables d’environnement, une règle supplémentaire s’applique : une variable définie dans le bloc env d’un fichier de paramètres remplace la même variable issue de votre shell. Ainsi, un export ANTHROPIC_BASE_URL=... dans ~/.zshrc ne fait rien si un fichier de paramètres la définit également. Les outils de changement de fournisseur écrivent généralement dans ~/.claude/settings.json, ce qui explique pourquoi ce fichier prévaut sur votre shell.

Dans Claude Code, /status répertorie les fichiers chargés sur sa ligne Setting sources.

ANTHROPIC_AUTH_TOKEN ou ANTHROPIC_API_KEY

Variable Envoyé comme Remarque
ANTHROPIC_AUTH_TOKEN Authorization: Bearer Utilisé immédiatement
ANTHROPIC_API_KEY x-api-key Demande une autorisation une seule fois

Utilisez celle que votre passerelle lit. AIHubMix accepte les deux, et son guide Claude Code utilise ANTHROPIC_AUTH_TOKEN, qui est aussi l’option la plus simple. Ne définissez pas les deux. Claude Code enverrait alors les deux en-têtes, et AIHubMix vérifie x-api-key en premier : lors de notre test, un jeton correct dans settings.json a quand même renvoyé une erreur 401, car une ancienne variable ANTHROPIC_API_KEY était exportée dans le shell. Le bloc env ne remplace que les variables qu’il définit ; supprimez donc l’ancienne clé du fichier de configuration de votre shell lorsque vous changez de méthode.

Qu’en est-il de votre abonnement Claude ? Selon le guide des passerelles d’Anthropic, dès qu’une variable de jeton ou de clé API est définie, les requêtes l’utilisent à la place de votre connexion claude.ai, et la passerelle facture chaque jeton. Votre connexion reste enregistrée et est réutilisée lorsque vous supprimez la variable. Si vous définissez uniquement ANTHROPIC_BASE_URL, sans jeton, votre abonnement reste utilisé.

Choisir le modèle

La page d’Anthropic sur la configuration des modèles indique l’ordre suivant, du plus prioritaire au moins prioritaire :

  1. /model <name> pendant une session
  2. claude --model <name> au démarrage
  3. La variable ANTHROPIC_MODEL
  4. La clé model dans un fichier de paramètres

/model enregistre votre choix comme nouveau modèle par défaut. Toutefois, si ANTHROPIC_MODEL est définie, chaque nouvelle session démarre de nouveau avec ce modèle. Si vous changez souvent de modèle, définissez la clé model et ne renseignez pas ANTHROPIC_MODEL. Si aucun modèle n’est défini, Claude Code utilise Opus 5.5.

ANTHROPIC_DEFAULT_OPUS_MODEL, ANTHROPIC_DEFAULT_SONNET_MODEL et ANTHROPIC_DEFAULT_HAIKU_MODEL permettent de modifier le modèle associé à chaque raccourci. Vous n’en avez besoin que si vous souhaitez qu’un raccourci pointe vers un autre modèle, par exemple pour conserver une version antérieure de sonnet.

AIHubMix propose aussi des modèles d’autres fournisseurs à la même adresse, mais Anthropic ne prend pas en charge Claude Code avec des modèles autres que Claude ; certaines fonctionnalités risquent donc de ne pas fonctionner avec eux.

Quand les modifications prennent-elles effet ?

Claude Code surveille ses fichiers de paramètres, et la plupart des modifications enregistrées, y compris celles du bloc env, s’appliquent à la session en cours. La clé model, les variables supprimées et les exportations du shell nécessitent un redémarrage. En cas de doute, redémarrez Claude Code.

L’extension VS Code

L’extension lit les mêmes fichiers de paramètres, mais vérifie qu’une connexion existe avant de démarrer, à l’aide de son propre paramètre claudeCode.environmentVariables. C’est pourquoi VS Code peut vous demander de vous connecter alors que l’interface en ligne de commande fonctionne. Dans la palette de commandes, ouvrez Préférences : Ouvrir les paramètres utilisateur (JSON) et ajoutez :

{
  "claudeCode.environmentVariables": [
    { "name": "ANTHROPIC_BASE_URL", "value": "https://aihubmix.com" },
    { "name": "ANTHROPIC_AUTH_TOKEN", "value": "sk-your-aihubmix-key" }
  ]
}

Exécutez ensuite Developer: Reload Window. Vous trouverez d’autres options dans la documentation VS Code d’Anthropic. L’application Claude Desktop est indépendante : elle ne lit ni settings.json ni ces variables.

Autres variables utiles

Variable À définir lorsque
API_TIMEOUT_MS Les requêtes longues expirent (délai par défaut : 10 minutes)
CLAUDE_CODE_MAX_RETRIES Vous souhaitez que les erreurs s’affichent plus rapidement
HTTPS_PROXY Vous êtes derrière un proxy HTTP
NODE_EXTRA_CA_CERTS Votre proxy utilise son propre certificat racine

Vous pouvez toutes les placer dans le bloc env. La référence complète des variables d’environnement se trouve dans la documentation d’Anthropic.

Erreurs fréquentes et leur signification

Not logged in · Please run /login, ou l’écran de connexion au premier lancement
Claude Code n’a trouvé aucun jeton. Vérifiez trois points : une erreur JSON qui l’a amené à ignorer le fichier, l’absence de ANTHROPIC_AUTH_TOKEN ou un jeton présent uniquement dans un fichier de projet. L’étape de connexion a lieu avant le chargement des paramètres du projet ; déplacez donc le jeton dans ~/.claude/settings.json.

Invalid or malformed JSON
Le fichier mentionné dans le message contient un commentaire, une virgule finale ou une autre erreur de syntaxe ; aucun de ses paramètres n’a été appliqué.

There's an issue with the selected model (...)
Soit l’identifiant du modèle est incorrect, soit l’URL de base se termine par /v1 et la requête a été envoyée à /v1/v1/messages. Si l’identifiant du modèle semble correct, vérifiez d’abord l’URL.

API Error: 400 avec This model ID is incorrect
AIHubMix ne connaît aucun modèle portant cet identifiant, et le message reprend l’identifiant reçu. Il s’agit généralement d’une faute de frappe. Copiez à nouveau l’identifiant dans la liste des modèles AIHubMix.

Failed to authenticate. API Error: 401 invalid key: ...
AIHubMix n’accepte pas la clé. Le message se termine par les six derniers caractères de la clé reçue : comparez-les avec la fin de votre jeton. PI_KEY indique que le texte de remplacement AIHUBMIX_API_KEY a été collé à la place d’une vraie clé. Tout autre résultat signifie généralement que l’ancienne variable ANTHROPIC_API_KEY de votre shell a été envoyée. Si le message indique plutôt this key is not enabled, vérifiez dans la console AIHubMix que la clé est activée et qu’elle dispose d’un solde.

auth may not work as expected
Une variable de jeton et une connexion enregistrée à claude.ai sont toutes deux actives. Exécutez /logout pour continuer à utiliser la passerelle, ou supprimez la variable pour revenir à votre abonnement.

Claude Code doesn't recognize the model ...
Il s’agit d’un avertissement, pas d’une erreur : la requête est tout de même envoyée, mais Claude Code suppose une fenêtre de contexte de 200K jetons. Si l’identifiant correspond à un modèle Claude récent, claude update résout le problème.

Il semble rester bloqué avec une clé invalide
Claude Code réessaie les requêtes qui échouent jusqu’à 10 fois. Lors d’un test avec une clé qui échouait systématiquement, claude -p a continué à réessayer pendant environ trois minutes. Réduisez CLAUDE_CODE_MAX_RETRIES pour afficher l’erreur plus rapidement.

Si vous souhaitez utiliser une seule clé pour Claude dans Claude Code, et pour OpenAI, Google et d’autres fournisseurs dans vos autres outils, AIHubMix propose l’API Anthropic à l’adresse https://aihubmix.com. Le fichier de paramètres ci-dessus suffit à Claude Code.

FAQ

Où se trouve le fichier settings.json de Claude Code ?
Votre fichier personnel se trouve à ~/.claude/settings.json, ou à %USERPROFILE%.claude\settings.json sous Windows. Un projet peut aussi avoir un fichier .claude/settings.json, partagé via git, et un fichier .claude/settings.local.json, qui vous est réservé. Claude Code ne les crée pas lors de l’installation.

settings.json remplace-t-il les variables d’environnement ?
Oui. Une valeur dans le bloc env d’un fichier de paramètres remplace la même variable exportée dans votre shell. Les variables non définies dans le fichier, comme un ancien ANTHROPIC_API_KEY, proviennent toujours du shell.

Dois-je utiliser ANTHROPIC_AUTH_TOKEN ou ANTHROPIC_API_KEY ?
Utilisez celui que votre passerelle lit. ANTHROPIC_AUTH_TOKEN envoie un jeton Bearer et ne nécessite aucune autorisation. Pour AIHubMix, ANTHROPIC_AUTH_TOKEN est l’option recommandée dans la documentation. Ne définissez pas les deux : AIHubMix lit x-api-key en premier, donc un ANTHROPIC_API_KEY obsolète provoque une erreur 401.

ANTHROPIC_BASE_URL doit-il se terminer par /v1 ?
Non. Claude Code ajoute lui-même /v1/messages. Pour AIHubMix, utilisez https://aihubmix.com.

Dois-je redémarrer Claude Code après avoir modifié settings.json ?
La plupart des modifications, y compris celles des variables d’environnement, sont appliquées à l’enregistrement. La clé de modèle et les exports du shell nécessitent un redémarrage. Par sécurité, mieux vaut redémarrer.

Pourquoi VS Code me demande-t-il de me connecter alors que l’interface CLI fonctionne ?
Avant de démarrer, l’extension vérifie si une connexion a été effectuée à l’aide de son paramètre claudeCode.environmentVariables, et les valeurs de ~/.claude/settings.json ne sont pas prises en compte par cette vérification. Ajoutez-y l’URL de base et le jeton, puis rechargez la fenêtre.

Définir ANTHROPIC_BASE_URL utilise-t-il mon abonnement Claude ?
Uniquement si aucun jeton n’est défini. Si ANTHROPIC_AUTH_TOKEN ou ANTHROPIC_API_KEY est défini, les requêtes utilisent cette clé et la passerelle facture à l’usage, par jeton.

Sources