Claude Code 2.1.101 リリース:セキュリティ修正・UX改善・多数のバグ修正

anthropics/claude-code

Claude Code 2.1.101 では、コマンドインジェクション脆弱性の修正を含む40件超の変更が一括で投入されました。新機能の追加、エラーメッセージの改善、そして長期セッションやリジューム機能に関わる深刻なバグの修正が中心です。

背景

本バージョンには、セキュリティ修正、セッション管理、認証機能、プラグインシステム、レンダリングなど、多岐にわたる40件以上の修正が含まれています。新機能3件、改善12件、バグ修正25件以上が一つのリリースにまとめられており、変更の範囲はClaude Codeのほぼすべてのサブシステムに及んでいます。

新機能

本バージョンで追加された新機能は3つです。それぞれ独立した利便性向上を目的としています。

/team-onboarding コマンドが追加され、ローカルのClaude Code使用履歴からチームメンバー向けのランプアップガイドを自動生成できるようになりました。また /ultraplan などのリモートセッション機能が、事前にWebでの環境セットアップなしにデフォルトのクラウド環境を自動作成するようになり、導入摩擦が低減されています。

エンタープライズ向けの変更として、OSのCAストアがデフォルトで信頼されるようになりました。これにより、TLSインターセプトプロキシを使用する企業環境で追加設定なしに動作します。従来通りバンドルされたCAのみを使用したい場合は CLAUDE_CODE_CERT_STORE=bundled を設定することで切り替えが可能です。

技術的な変更

セキュリティ修正

LSPバイナリ検出に使用されていたPOSIXの which フォールバック実装にコマンドインジェクション脆弱性が存在しており、本バージョンで修正されました。コマンドインジェクションは攻撃者が任意のシェルコマンドを実行できる可能性を持つ深刻なカテゴリの脆弱性であり、今回の修正項目の中で特に重要な変更です。

セッションとリジューム機能の修正

--resume/--continue 周辺で複数の深刻なバグが修正されています。大規模セッションでローダーがライブな会話ではなくデッドエンドブランチにアンカーしてしまう問題により、会話コンテキストが失われる不具合が解消されました。また、サブエージェントのメッセージがメインチェーンの書き込みギャップ付近に存在する場合に、無関係なサブエージェント会話へブリッジしてしまう問題も修正されています。

/resume ピッカーに関しても複数の修正が入りました:

  • 他プロジェクトのセッションがデフォルトビューで非表示になる問題
  • Windows Terminalでプレビューが到達不能になる問題
  • ワークツリー内でのcwdが不正になる問題
  • セッション未発見エラーがstderrに出力されない問題
  • ターミナルタイトルが設定されない問題
  • リジュームヒントがプロンプト入力欄と重なる問題

認証・権限まわりの修正

Bedrock SigV4認証が、ANTHROPIC_AUTH_TOKENapiKeyHelper、または ANTHROPIC_CUSTOM_HEADERS で Authorization ヘッダーが設定されている場合に403で失敗する問題が修正されました。また permissions.deny ルールが、PreToolUse フックの permissionDecision: "ask" によって上書きされてしまう問題(denyがpromptに降格される)も修正されています。

パフォーマンスとリソース管理

長期セッションで仮想スクローラーがメッセージリストの過去コピーを数十個保持し続けるメモリリークが修正されました。また、ローカルLLMや拡張思考、低速ゲートウェイなどを使用する場合に API_TIMEOUT_MS の設定を無視してリクエストを中断していたハードコードされた5分のタイムアウトも解消されています。

SDK の query() では、for await からの breakawait using 使用時にサブプロセスと一時ファイルが適切にクリーンアップされるようになりました。

プラグインシステムの修正

プラグイン関連のバグも複数修正されています:

  • name: フロントマターが重複している場合にスラッシュコマンドが誤ったプラグインに解決される問題
  • /plugin updateENAMETOOLONG で失敗する問題
  • Discover でインストール済みプラグインが再表示される問題
  • ディレクトリソースプラグインが古いバージョンキャッシュから読み込まれる問題
  • スキルが context: forkagent フロントマターフィールドを無視する問題

エラーメッセージとUXの改善

エラーメッセージの質が全体的に向上しています。ツールが現在のコンテキストで利用不可の場合に理由と対処法を説明するメッセージが表示されるようになり、レート制限時のリトライメッセージではどの制限に達したかとリセット時刻が表示されるようになりました。拒否エラーにはAPIが提供する説明が含まれるようになっています。

claude -p --resume <name> がセッション名(/rename--name で設定した名前)でのリジュームを受け付けるようになりました。また settings.json でフックイベント名が未認識の場合にファイル全体が無視されていた問題も修正され、設定の堅牢性が向上しています。

まとめ

Claude Code 2.1.101 は、セキュリティ修正・認証の堅牢化・長期セッションのリソース管理改善を核としつつ、エラーメッセージの可視性向上やプラグインシステムの信頼性強化を広く取り込んだリリースです。特に --resume/--continue 周辺とプラグインシステムに集中した修正の数は、これらの機能の複雑さと実運用上の重要度を反映しています。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
1ca7d250

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

品質レビュー結果

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

Review Criteria:

記事構成 ✓ PASS

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

「リード文→背景→技術的な変更→まとめ」という総論→各論→結論の構成が明確に守られており、非常に分かりやすい記事構成です。

カスタムMarkdown構文 ✓ PASS

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

コミットIDの短縮形リンクが正しく使用されています。記事内にコードブロックがないため、ファイル名付きシンタックスハイライトの評価は対象外ですが、違反はありません。

対象読者への適合性 ✓ PASS

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

「LSP」「SigV4認証」「仮想スクローラー」などの専門用語が適切に使用されており、専門知識を持つエンジニアという対象読者に適合した内容です。

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

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

各セクションの冒頭で要旨が述べられ、各段落がトピックセンテンスで始まるなど、パラグラフ・ライティングの原則が守られており、可読性が高いです。

Diff内容との照合 ✓ PASS

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

記事の内容は、提供されたCHANGELOG.mdのDiff情報を正確に反映しており、内容の改変や省略は見られません。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「コマンドインジェクション」「Bedrock SigV4認証」など、CHANGELOGに記載の技術用語が正確に使用されています。

説明の技術的正確性 ✓ PASS

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

CHANGELOGの各項目について、その技術的な意味合いを正確に解説できています。例えば `permissions.deny` の挙動に関する説明は的確です。

事実の突合 ⚠ WARNING

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

記事の主張はCHANGELOGの内容に忠実ですが、「コマンドインジェクション」の一般的な定義文はソースに含まれていない外部情報です。

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

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

バージョン番号「2.1.101」やコミットID「9772e13」、変更件数(新機能3件、改善12件、修正25件以上)など、すべての数値・固有名詞が正確です。

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

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

元のPRタイトルは汎用的ですが、記事のタイトルはCHANGELOGの内容を的確に要約しており、主題と一致しています。

外部知識の正確性 ⚠ WARNING

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

「コマンドインジェクションは...深刻なカテゴリの脆弱性」という説明は、ソースのCHANGELOGには記載のない外部知識です。

時間表現の正確性 ✓ PASS

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

リリース済みのバージョンに関する記述であり、「修正されました」などの過去形表現が適切に使用されています。時間表現の歪曲はありません。