Claude CLI v2.1.154がローカルvLLMを壊す—一行のパッチで修正

Claude CLI v2.1.154 はワークフローをサポートするようになりましたが、その際に3つの新しいAPIメッセージロール(ctx、msg、system)が追加され、ローカルのvLLMサーバーとの互換性が壊れました。修正方法は、vLLMのAnthropicプロトコル定義に1行加えるだけです。
問題
Claude CLI バージョン ≥2.1.154 は、user と assistant 以外のロールを持つメッセージを送信するようになりました。vLLMのAnthropic APIエンドポイントは元の2つのロールしか受け付けないため、CLIがローカルのvLLMインスタンスを指すとリクエストが失敗します。
1行パッチ
パッチは、vllm/entrypoints/anthropic/protocol.py の role フィールドを更新して、新しいロールを許可します:
--- 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"]これだけです。この変更を適用すると、最新のClaude CLIワークフローをMiniMax-M2.7(著者がテストした唯一のモデル)のようなvLLMベースのローカルモデルで使用できます。
vLLM上でローカルのAnthropic互換エンドポイントを実行している場合は、このパッチを適用してClaude CLI ≥2.1.154 で動作させ続けてください。
📖 全文を読む: r/LocalLLaMA
👀 See Also

Claude Code Pluginのバグによりスキルが二重に読み込まれ、コンテキスト圧縮が増加
Claude Codeのバグにより、プラグインがすべてのスキルを二重に読み込んでしまい、システムプロンプトのサイズが大幅に増加し、頻繁なコンテキスト圧縮が発生します。この問題は、自動更新中に古いプラグインキャッシュディレクトリがクリーンアップされず、スキルディレクトリ内に重複したシンボリックリンクが存在することに起因します。

Claudeモバイルアプリのマイクフィードバックループエラーの回避策
Redditユーザーが、Claudeモバイルアプリのマイクフィードバックループエラーの有効な回避策を共有しています。Google Chrome経由でウェブ版をスタンドアロンのプログレッシブウェブアプリとしてインストールすることで、この問題を回避し、異なるClaudeモデルにアクセスできるようになります。

コスト効率の高いOpenClaw自動化:必要な時だけLLMを活用
ある開発者が、OpenClawを決定論的タスクに使用する実用的なアプローチを共有しています。これにより、LLMへの頻繁な呼び出しを避け、Pythonスクリプトをcronジョブとして作成し、エラー分析と修正が必要な場合にのみLLMを呼び出します。

Claudeコードにおけるシステムプロンプトの肥大化を削減するため、CLAUDE.mdファイルを圧縮する
人間が読みやすいマークダウンヘッダーや文章などの書式を削除し、パイプ区切りのリストなどのコンパクトな表記に置き換えることで、CLAUDE.mdファイルを圧縮する技術。Claudeにとって同じ情報を維持しながら、文字数を60〜70%削減できます。