Claude Code 2.1.128 リリース — MCP改善・バグ修正・安定性向上

anthropics/claude-code

Claude Code 2.1.128では、MCPサーバー管理の挙動改善、サブプロセスへの環境変数分離、バグ修正を中心とした多数の変更が含まれています。

背景

Claude Code 2.1.128は、MCPサーバーの接続管理における冗長な通知問題、OTELインストルメンテーションの意図しない伝播、worktreeブランチ作成時のコミット消失といった実運用上の問題を解決するリリースです。あわせて、UX面での細かな不具合が30件以上修正されています。

技術的な変更

MCPサーバー管理の改善

MCP の接続管理において、再接続時の挙動が大きく変わりました。従来は再接続のたびにツール名の全リストが会話に出力されていましたが、ツールの再アナウンスをサーバープレフィックスでまとめて表示するよう改善されています。長時間セッションや不安定なMCP接続環境でのノイズが大幅に減少します。

また、workspace がMCPサーバーの予約済み名称となりました。この名称を持つ既存のサーバーは警告とともにスキップされます。さらに、CLAUDE_CODE_SHELL_PREFIX が設定されている場合に、引数にスペースやシェルメタキャラクタが含まれると MCPのstdioサーバー に渡す引数が破損するバグも修正されています。

サブプロセスへのOTEL環境変数の伝播を遮断

OTEL_* 環境変数がBash・フック・MCP・LSPのサブプロセスに継承されなくなりました。これにより、Bashツール経由で実行したOTELインストルメンテーション済みアプリケーションが、CLI自身のOTLPエンドポイントを意図せず引き継ぐ問題が解消されます。

EnterWorktree のブランチ作成元の修正

EnterWorktree が新規ブランチを origin/<default-branch> ではなくローカルのHEADから作成するようになりました。これはドキュメントに記載された仕様への修正です。従来の挙動ではプッシュ済みでないコミットが失われる可能性があり、ローカルで積み上げた作業が消えるリスクがありました。

その他の主要バグ修正

安定性・UXに関する多数のバグが修正されています:

  • claude -p へのstdin経由の10MB超の大きな入力でクラッシュループが発生する問題を修正
  • MCP ツール結果で、サーバーがstructured contentとcontent blockの両方を返した場合に画像が失われる問題を修正
  • サブエージェントのサマリーが、トランスクリプトが静止しているにもかかわらず繰り返し発火し、トークンコストが膨らむ問題を修正
  • /plugin update がnpmソースのプラグインの新バージョンを検出しない問題を修正
  • ヘッドレスモード --output-format stream-jsoninit.plugin_errors--plugin-dir のロード失敗が含まれない問題を修正

設計判断

OTEL環境変数については、CLI自身の計装設定がBash・フック・MCP・LSPのサブプロセスに影響を与えないよう遮断されました。MCPの予約名として workspace が導入され、既存の同名サーバーはエラーではなく警告付きでスキップされるようになっています。

--channels がコンソール(APIキー)認証でも動作するようになりましたが、マネージド設定を持つコンソールOrgについては channelsEnabled: true の明示的な設定が必要です。また、SDK hostsは localSettings の永続的な提案をBashパーミッションプロンプト向けに受け取るようになり、「Always allow」が .claude/settings.local.json に書き込まれるようになりました。

まとめ

Claude Code 2.1.128は、MCPサーバー管理の信頼性向上とサブプロセスの環境変数分離という重要な修正を含み、特に複雑なツールチェーンやObservabilityスタックを持つ環境での動作が改善されます。30件超のバグ修正によって、日常的なユースケースでの安定性も底上げされています。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
4df66065

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
リトライ後承認
Review Count:
2回 (改善を経て承認)
Reviewed by:
Gemini 2.5 Pro for DiffDaily

Review Criteria:

記事構成 ✓ PASS

Title, Context, Technical Detailの存在と明確さ

リード文(総論)→各セクション(各論)→まとめ(結論)の構成が明確で、ガイドラインに完全に準拠しています。特に「設計判断」セクションも設けられており、内容の深い理解が示されています。

カスタムMarkdown構文 ✓ PASS

シンタックスハイライト・GitHubリンク記法の正確性

記事の末尾にあるPrimary SourceのコミットIDが、短縮形で正しくリンク化されています。

対象読者への適合性 ✓ PASS

エンジニア向けの適切な技術レベルと表現

MCP、OTEL、worktreeなど、専門的な用語を前提として解説しており、対象読者であるエンジニアに適した技術レベルと表現になっています。

パラグラフ・ライティング ✓ PASS

トピックセンテンス・1段落1トピック・段落長

各セクション、各パラグラフが要点を先に述べる構成になっており、非常に読みやすいです。1段落1トピックの原則も守られており、パラグラフの長さも適切です。

Diff内容との照合 ⚠ WARNING

コードブロックとDiff内容の一致

Diff情報がCHANGELOG.mdの変更のみであり、記事内にコードブロックが存在しないため、コードレベルでの照合はできませんでした。ただし、これは記事の性質(リリースノートの解説)によるものであり、技術的な妥当性を損なうものではありません。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

MCP, OTEL, EnterWorktree, stream-jsonなど、CHANGELOGに記載の技術用語を正確に使用しています。

説明の技術的正確性 ✓ PASS

技術的主張の正確性と論理性

CHANGELOGに記載された各変更点について、その背景や影響を含めて技術的に正確に解説できています。

事実の突合 ✓ PASS

PR情報による主張の裏付け(ハルシネーション検出)

記事内のすべての主張(例: MCPの挙動変更、OTEL変数の遮断など)は、提供されたCHANGELOGのDiff内容で裏付けられており、ハルシネーションは検出されませんでした。「30件以上のバグ修正」という表現も、CHANGELOGの項目数から妥当な要約です。

数値・固有名詞の確認 ✓ PASS

PR番号・コミットID・バージョン等の正確性

バージョン番号「2.1.128」やコミットID「9fce4e6」などの数値・固有名詞は正確に記載されています。

タイトル・説明との一致 ✓ PASS

記事タイトル・説明とPR内容の一致

PRの主題は「CHANGELOGの更新」ですが、記事のタイトルはその更新内容である「Claude Code 2.1.128」の主要な変更点を的確に要約しており、読者の関心を引く適切なものになっています。

外部知識の正確性 ✓ PASS

PRに記載のない外部知識(LTS、サポート状況など)の不使用

記事の内容はすべてPR情報(CHANGELOG)に基づいており、サポート状況やリリース日程といった外部知識の不正確な持ち込みはありません。

時間表現の正確性 ✓ PASS

時間表現がPR情報と一致しているか

CHANGELOGは完了した変更を記載したものであり、記事も「〜しました」「〜されるようになりました」といった過去・完了形の表現を正しく使用しており、時間表現の歪曲はありません。