Claude Code v2.1.145:セキュリティ修正とマルチエージェント強化を含む大型リリース

anthropics/claude-code

Claude Code v2.1.145では、セキュリティ上の重要な修正を含む複数のバグ修正と、マルチエージェント操作性の向上に関する機能追加が行われました。パーミッションバイパスの脆弱性への対処から、スクリプティング向けJSON出力の追加まで、運用品質を高める変更が集まっています。

背景

v2.1.145は、前バージョン v2.1.144 に続く小規模リリースですが、セキュリティ修正・バグ修正・機能追加の3カテゴリにわたる幅広い変更を含んでいます。特に注目すべきは、Bashコマンド実行時のパーミッションチェックをバイパスできた脆弱性の修正で、環境変数への代入が誤って自動承認されていた問題が解消されています。また、マルチエージェント運用が普及するにつれて顕在化したUX上の課題やOTEL可観測性の不足も、このリリースで対処されています。

技術的な変更

セキュリティ:Bashコマンドのパーミッションバイパス修正

環境変数への裸の変数代入(bare variable assignment)がパーミッションプロンプトを回避して自動承認されていた脆弱性が修正されました。

具体的には、SOME_VAR=value のような構文でAllowリストに登録されていない環境変数への代入が含まれるBashコマンドが、ユーザー確認なしに実行できてしまっていました。この修正により、非許可の環境変数への代入を含むコマンドは適切にパーミッションプロンプトを表示するようになります。

マルチエージェント:可観測性とスクリプティングの強化

claude agents --json コマンドが追加され、稼働中のClaudeセッション一覧をJSON形式で出力できるようになりました。tmux-resurrectによるセッション復元、ステータスバー、セッションピッカーなど、外部ツールとの連携を想定したスクリプティング用途に対応しています。

OTEL(OpenTelemetry)のスパン属性にも改善が加わりました。claude_code.tool スパンに agent_id および parent_agent_id 属性が追加され、バックグラウンドサブエージェントのスパンが正しくディスパッチ元のAgentツールスパン配下にネストされるようになっています。これにより、マルチエージェント構成のトレース構造が分散トレーシングツール上で正確に可視化されます。

フック:Stop/SubagentStopへの新フィールド追加

Stop および SubagentStop フックへの入力に background_taskssession_crons フィールドが追加されました。セッション終了時に実行されるフックスクリプトから、バックグラウンドタスクやセッションスクロンの状態を参照できるようになります。

バグ修正:主要な不具合の解消

今回のリリースで修正された主なバグを以下に示します:

  • Windows PowerShell 5.1でのクロスプロジェクト再開失敗: コマンドセパレータを ; に変更することで解消
  • Agent Teamsでの非ASCII名メンバーのAPIコール失敗: HTTPヘッダーエンコーディングの不正が原因、修正済み
  • /review コマンドのエラー: 廃止された projectCards GraphQL クエリを使用していたため、Classic Projectsを持つリポジトリでエラーが発生していた
  • スキルの無限ループ: context: fork を使うスキルが自己再呼び出しを繰り返す問題を修正
  • Readツールのハードエラー: ファイル全体の読み込みがトークン上限を超えた場合、エラーではなく「PARTIAL view」通知付きの先頭ページ切り詰めを返すよう改善
  • タスクリストのランダム順序表示: 複数タスクを同時作成した際の順序不定バグを修正

UX改善

ステータスラインJSONにGitHubリポジトリとPR情報が含まれるようになりました。また、claude agents のターミナルタブタイトルに待機入力カウントが表示されるようになり、別タブに切り替えた状態でもエージェントが入力待ちかどうかを確認できます。フルスクリーンモードでのスラッシュコマンド・@メンション候補リストがマウスホバーとクリックに対応しました。

/plugin の発見・閲覧画面では、インストール前にプラグインのコマンド・エージェント・スキル・フック・MCP/LSPサーバーの内容が表示されるようになり、インストール前の内容確認が可能になっています。

設計判断

エラーのハードフェイルよりも部分的成功を優先する方針 が、ReadツールとMCPプロンプトの両方で採用されています。Readツールはトークン上限超過時にエラーを返す代わりに「PARTIAL view」通知付きで先頭ページを返し、MCPプロンプトの引数省略時は生のバリデーションエラーではなく欠落引数名と期待される使用法を示すメッセージを返します。どちらも、エラーで処理を止めるよりも利用者が次のアクションを取りやすい情報を提供する設計です。

OTELのトレース親子関係の修正も重要な設計上の選択です。バックグラウンドサブエージェントのスパンがディスパッチ元のスパン配下にネストされるようになったことで、分散トレーシングツール上でマルチエージェントの実行フローを因果関係に沿って追えるようになりました。

まとめ

v2.1.145は、セキュリティ修正・可観測性強化・エラーハンドリングの改善を一つのリリースに集約した実用的なアップデートです。特にBashパーミッションバイパスの修正は即時適用を推奨する変更であり、OTEL属性の拡充はマルチエージェント構成を本番運用しているチームにとって診断能力を大きく向上させます。

記事メタデータ

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

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

品質レビュー結果

Review Status:
承認済み
Review Count:
1回
Reviewed by:
Gemini 2.5 Pro for DiffDaily

Review Criteria:

記事構成 ✓ PASS

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

リード文(総論)→背景・技術詳細・設計判断(各論)→まとめ(結論)という3部構成が明確に適用されています。各セクションの役割も適切で、非常に分かりやすい構成です。

カスタムMarkdown構文 ⚠ WARNING

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

コミットIDのリンク表示がPR番号形式(`#cc898dc`)になっています。リンク先は正しいコミットを指していますが、紛らわしさを避けるため、`#`を削除することが望ましいです。その他の構文は正しく使用されています。

対象読者への適合性 ✓ PASS

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

OTEL、スパン、GraphQLなど専門用語を前提としており、対象読者であるエンジニアに適した技術レベルと表現で書かれています。

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

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

各セクション、各パラグラフが「総論→各論」の構造で書かれており、トピックセンテンスが明確です。1段落1トピックの原則も守られており、可読性が高いです。

Diff内容との照合 ✓ PASS

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

この記事はコードの差分ではなくCHANGELOGの差分をソースとしています。記事で言及されているコマンド名や属性名(`claude agents --json`, `agent_id`等)は、CHANGELOGの内容と正確に一致しています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

パーミッションバイパス、OTEL、スパン、分散トレーシングなどの技術用語が、文脈に沿って正確に使用されています。

説明の技術的正確性 ✓ PASS

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

パーミッションバイパスのメカニズムやOTELのトレース親子関係の修正に関する説明は、CHANGELOGの記述と整合性が取れており、技術的に正確です。

事実の突合 ✓ PASS

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

記事内のすべての主張は、提供されたCHANGELOGのdiff内容に基づいています。「設計判断」セクションも、複数の修正内容から導出できる妥当な分析であり、ハルシネーションは見られません。

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

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

バージョン番号「v2.1.145」やコミットID「cc898dc」など、記事内の数値や固有名詞はすべて正確です。

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

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

タイトルはCHANGELOGで言及されている主要な変更点(セキュリティ修正、マルチエージェント強化)を的確に要約しており、PRの内容(CHANGELOGの更新)と一致しています。

外部知識の正確性 ✓ PASS

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

記事の内容はすべて提供されたCHANGELOGの範囲内に留まっており、サポート状況やリリース予定といった外部知識の追記はありません。

時間表現の正確性 ✓ PASS

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

CHANGELOGは完了した変更のリストであり、記事も「修正されました」「追加されました」といった過去形の表現で統一されており、時間表現は正確です。