Claude CLI v2.1.154 brise le vLLM local — un correctif d'une ligne le répare

Claude CLI v2.1.154 a introduit la prise en charge des workflows, mais ce faisant, il a ajouté trois nouveaux rôles de message API (ctx, msg et system) qui ont cassé la compatibilité avec les serveurs vLLM locaux. Le correctif est une modification d'une ligne dans les définitions du protocole Anthropic de vLLM.
Le problème
Les versions de Claude CLI ≥2.1.154 envoient désormais des messages avec des rôles au-delà de user et assistant. Le point de terminaison API Anthropic de vLLM n'acceptait que les deux rôles d'origine, ce qui entraînait l'échec des requêtes du CLI lorsqu'elles pointaient vers une instance vLLM locale.
Le correctif d'une ligne
Le correctif met à jour le champ role dans vllm/entrypoints/anthropic/protocol.py pour autoriser les nouveaux rôles :
--- a/vllm/entrypoints/anthropic/protocol.py
+++ b/vllm/entrypoints/anthropic/protocol.py
@@ -65,7 +65,7 @@ class AnthropicContentBlock(BaseModel):
class AnthropicMessage(BaseModel):
"""Structure du message"""
- role: Literal["user", "assistant"]
+ role: Literal["user", "assistant", "ctx", "msg", "system"]C'est tout. Après avoir appliqué cette modification, vous pouvez utiliser les derniers workflows de Claude CLI avec des modèles locaux basés sur vLLM comme MiniMax-M2.7 (le seul modèle testé par l'auteur).
Si vous exécutez un point de terminaison local compatible Anthropic sur vLLM, appliquez ce correctif pour continuer à travailler avec Claude CLI ≥2.1.154.
📖 Lire la source complète : r/LocalLLaMA
👀 See Also

La plupart des gens utilisent Claude à 5% de ses capacités – Voici comment y remédier
Après plus de 60 heures à tester des prompts sur Claude Opus 4.7, un utilisateur partage une recette en 5 étapes : attribuer un rôle, charger un contexte spécifique, définir des contraintes, préciser le format de sortie, ajouter une fonction de forçage.

Taux d’acceptation MTP : le seuil de 50 % détermine le bénéfice du décodage spéculatif
La MTP (prédiction multi-tokens) via décodage spéculatif sur Gemma-4 26B n'est bénéfique que lorsque le taux d'acceptation des tokens candidats dépasse 50 % — d'après les benchmarks mlx-vlm sur M4 Max Studio.

Créer un portfolio développeur avec Claude Code : Workflow et leçons apprises d’un développeur junior
Un développeur junior (stack MERN) de 21 ans raconte comment il a construit nidhil.live en utilisant Claude Code, en soulignant l'importance de formuler des requêtes précises et de comprendre le code généré plutôt que de le copier-coller aveuglément.

Correction de l'Erreur Auth 400 : Utilisation du Package mnemonic de Python pour Éviter les Déclencheurs du Filtre BIP39
Un utilisateur de Reddit a identifié que le filtre de contenu d'Anthropic déclenche une erreur 400 lorsque des agents IA tentent d'écrire la liste complète de mots BIP39 (2048 mots anglais standardisés) dans du code Python. La solution consiste à utiliser le package Python mnemonic à la place, qui contient la liste de mots en interne.