Brancher Claude Code sur un endpoint auto-hébergé
Trois variables d'environnement suffisent à rediriger le client. Une quatrième, moins connue, évite des erreurs difficiles à diagnostiquer.
Claude Code accepte n'importe quel endpoint compatible avec l'API Messages via ANTHROPIC_BASE_URL, avec ANTHROPIC_AUTH_TOKEN pour l'authentification et ANTHROPIC_MODEL pour nommer le modèle. C'est le socle, et il tient en trois lignes de configuration.
Ce que cette configuration ne règle pas : le protocole ne comporte aucun champ par lequel un serveur déclare la taille de sa fenêtre de contexte. Le client compte les tokens lui-même à partir du bloc usage des réponses, et compare ce total à une fenêtre qu'il déduit de l'identifiant de modèle. Face à un identifiant qu'il ne connaît pas, il en suppose une — rarement la bonne.
Le symptôme est désagréable : au lieu de compacter proprement la conversation avant d'atteindre la limite, le client la dépasse et reçoit une erreur. L'utilisateur perd son tour et n'a aucun moyen de comprendre pourquoi.
La variable CLAUDE_CODE_MAX_CONTEXT_TOKENS déclare la fenêtre que le client doit supposer. Elle s'applique directement quand l'identifiant de modèle ne commence pas par claude- et ne contient pas de suffixe de contexte étendu — le cas de tout déploiement auto-hébergé sous son propre nom. Un piège à connaître : nommer son modèle claude-quelque-chose désactive cette variable.
Le seuil de compaction se règle séparément avec CLAUDE_CODE_AUTO_COMPACT_WINDOW, qui n'accepte qu'un nombre entier de tokens. Le client le plafonne de toute façon à la fenêtre déclarée, donc les deux variables se lisent ensemble.