Claude CLI v2.1.154 Breaks Local vLLM — One-Line Patch Fixes It

Claude CLI v2.1.154 introduced support for workflows, but in doing so it added three new API message roles (ctx, msg, and system) that broke compatibility with local vLLM servers. The fix is a one-line change to vLLM's Anthropic protocol definitions.
The Problem
Claude CLI versions ≥2.1.154 now send messages with roles beyond user and assistant. vLLM's Anthropic API endpoint only accepted the original two roles, causing requests from the CLI to fail when pointing to a local vLLM instance.
The One-Line Patch
The patch updates the role field in vllm/entrypoints/anthropic/protocol.py to allow the new roles:
--- a/vllm/entrypoints/anthropic/protocol.py
+++ b/vllm/entrypoints/anthropic/protocol.py
@@ -65,7 +65,7 @@ class AnthropicContentBlock(BaseModel):
class AnthropicMessage(BaseModel):
"""Message structure"""
- role: Literal["user", "assistant"]
+ role: Literal["user", "assistant", "ctx", "msg", "system"]That's it. After applying this change, you can use the latest Claude CLI workflows with vLLM-based local models like MiniMax-M2.7 (the only model tested by the author).
If you run a local Anthropic-compatible endpoint on vLLM, apply this patch to keep working with Claude CLI ≥2.1.154.
📖 Read the full source: r/LocalLLaMA
👀 See Also

High CPU/RAM and Gateway Restarts in OpenClaw? Disable IPv6 for Telegram
Setting autoSelectFamily: false and dnsResultOrder: 'ipv4first' in Telegram bot config stops ENETUNREACH errors, fixing high CPU, event loop freezes, and gateway restarts.

Reddit User Warns: When Using Claude for Complex Projects, Tackle the Hardest Part First
A developer on r/ClaudeAI reports that letting the AI plan incrementally for a complex document editor led to 'complexity soup' and failures. The user advises forcing the model to solve the most complicated use case first, as its performance degrades with more context.

100K Lines of Rust with AI: Contracts, Spec-Driven Dev, and Performance
Cheng Huang built a Rust multi-Paxos engine with AI agents, achieving 300K ops/sec. Key techniques: AI-written code contracts, lightweight spec-driven development, and aggressive optimization.

Getting Claude to Adversarially Debate Without Caving: 5 Prompt Tweaks That Work
Five concrete prompt engineering techniques to prevent Claude from hedging, sycophancy, and fabrication when acting as a debate opponent, based on building sparwithai.com.