Claude Code 2.1.90 リリース:パフォーマンス改善とセキュリティ強化を含む多数の修正

anthropics/claude-code

Claude Code 2.1.90では、二次時間計算量の解消によるパフォーマンス改善、PowerShellのセキュリティ強化、複数のバグ修正が一括して適用されました。インタラクティブ学習機能 /powerup の追加や、オフライン環境向けのプラグイン設定も取り込まれています。

背景

v2.1.90は小規模なインクリメンタルリリースながら、ユーザー体験に直接影響する回帰バグと性能劣化への対処が中心となっています。特に --resume コマンドに関する問題は v2.1.69 以降に持ち込まれた回帰であり、deferred tools・MCPサーバー・カスタムエージェントを利用しているユーザーがプロンプトキャッシュをフルミスするという影響がありました。

パフォーマンス面では、会話が長くなるほど処理が遅くなる二次時間計算量の問題が複数箇所で確認されており、今回のリリースで解消されています。

技術的な変更

パフォーマンス改善

今回のリリースでは、二次時間計算量 (O(n²)) に起因するパフォーマンス劣化が3箇所で解消されました。

具体的な改善点は以下のとおりです:

  • MCPツールスキーマのキャッシュキー照合において、ターンごとに JSON.stringify を実行していたコストを削減
  • SSEトランスポートで大きなストリームフレームを処理する際、従来の二次時間処理を線形時間に改善
  • SDKセッションのトランスクリプト書き込みで、会話が長くなるにつれて速度が二次的に低下する問題を解消

これらはいずれも会話の長さや接続頻度に比例して顕在化する問題です。

バグ修正

ユーザー操作に影響する複数の不具合が修正されました。--resume のプロンプトキャッシュミス(v2.1.69以降の回帰)に加え、以下の問題も解消されています:

  • レートリミットダイアログが繰り返し自動表示されセッションをクラッシュさせる無限ループ
  • PostToolUseフックがファイルをフォーマット保存で書き換えた際に Edit/Write が「File content has changed」で失敗する競合状態
  • PreToolUse フックが JSON を stdout に出力して exit code 2 で終了してもツール呼び出しをブロックできない問題
  • /resume の全プロジェクト表示でプロジェクトセッションを並列読み込みするよう改善し、多数のプロジェクトを持つユーザーの読み込み時間を短縮
  • --resume ピッカーclaude -p またはSDK呼び出しで作成されたセッションを表示しないよう変更

PowerShellのセキュリティ強化

PowerShellツールの権限チェックが複数の観点からハードニングされました。修正された問題は以下のとおりです:

  • 末尾の & によるバックグラウンドジョブ実行のバイパス
  • -ErrorAction Break によるデバッガーハング
  • アーカイブ展開時のTOCTOU(Time-of-Check to Time-of-Use)競合
  • パース失敗時のフォールバックでdeny ruleが劣化する問題

また、Get-DnsClientCacheipconfig /displaydns がオートアローリストから削除されました。CHANGELOGには「DNS cache privacy」との理由が明記されており、これらDNSキャッシュを取得するコマンドはデフォルト許可の対象外となりました。

新機能と設定追加

/powerup コマンドが追加され、アニメーションデモ付きのインタラクティブなClaude Code機能学習が可能になりました。また、CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE 環境変数が追加され、git pull 失敗時に既存のマーケットプレイスキャッシュを保持できるようになりました。これはオフライン環境でのプラグイン運用に役立ちます。さらに .husky ディレクトリが acceptEdits モードの保護対象に追加されました。

設計判断

CHANGELOGに明示されている変更の意図として、DNSキャッシュ関連コマンドのオートアロー削除が挙げられます。Get-DnsClientCacheipconfig /displaydns は「DNS cache privacy」を理由にデフォルト許可から外されており、プライバシー保護を目的とした変更であることが明記されています。

--resume ピッカーの絞り込みについても、CHANGELOGに「claude -p またはSDK呼び出しで作成されたセッションを表示しない」と明記されており、ヘッドレス・自動化用途のセッションをインタラクティブな再開操作の対象から除外する変更です。

まとめ

v2.1.90は機能追加よりも品質・セキュリティ・性能の整備に重点を置いたリリースです。二次時間計算量の解消はSDKセッションや長期稼働エージェントの実用性向上に直結し、PowerShellのハードニングはツール実行の信頼性を高めます。v2.1.69以降の回帰バグへの修正も含まれており、継続的な品質改善の一環となっています。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
d7736ba9

この記事は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リンク記法の正確性

コミットIDのリンク記法 ([a50a919](URL)) がガイドラインに準拠しています。コードブロックがないためシンタックスハイライトの評価は対象外ですが、存在する構文は正しく使用されています。

対象読者への適合性 ✓ PASS

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

「二次時間計算量」「TOCTOU」「プロンプトキャッシュ」といった専門用語を適切に使用しており、専門知識を持つエンジニアという対象読者に適合した内容です。

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

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

各セクションが総論→各論の構成になっており、各段落はトピックセンテンスで始まるなど、パラグラフ・ライティングの原則が徹底されています。箇条書きも効果的に使われ、可読性が高いです。

Diff内容との照合 ✓ PASS

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

DiffはCHANGELOGのテキスト変更ですが、その内容を忠実に、かつ分かりやすく再構成して記事に反映できています。記事で言及されている変更点はすべてDiffで確認できます。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「SSEトランスポート」「PreToolUseフック」など、CHANGELOGに記載されている技術用語を正確に使用しています。

説明の技術的正確性 ✓ PASS

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

「v2.1.69以降の回帰」や「DNS cache privacy」といった変更の背景や理由について、CHANGELOGの記述を根拠に正確な説明がなされています。

事実の突合 ✓ PASS

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

記事内の主張はすべてCHANGELOGの記述に基づいており、憶測や根拠のない主張(ハルシネーション)は一切見られません。

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

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

バージョン番号(2.1.90, 2.1.69)、コマンド名(/powerup, --resume)、コミットID(a50a919)など、数値や固有名詞はすべて正確です。

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

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

記事のタイトルは、PRの内容である「CHANGELOG.mdの更新(v2.1.90)」を的確に要約しており、主題が一致しています。

外部知識の正確性 ✓ PASS

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

PR(CHANGELOG)に記載のない、バージョンのサポート状況やリリース日程などの外部知識の持ち込みはありません。

時間表現の正確性 ✓ PASS

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

リリースされた変更点を「適用されました」「解消されています」といった過去形・完了形で記述しており、時間表現は正確です。