Claude Code更新 alwaysLoad・hooks強化・project purge【4/26〜5/2】

記事タイトルとURLをコピーする

はじめに

サーバーワークスの池田です。

今週(4/26〜5/2)の Claude Code は v2.1.120 から v2.1.126 まで5バージョン(※ v2.1.124 は公式 CHANGELOG・GitHub Releases に記載なし、v2.1.125 は番号スキップ)がリリースされました。MCP サーバーのツールを tool-search deferral からまとめて除外できる alwaysLoad オプション、PostToolUse hooks の出力置換が MCP 限定から 全ツール対応に拡張された updatedToolOutput、プロジェクトに紐づく Claude Code の状態を一括削除する新コマンド claude project purge という、MCP 運用・Hooks 拡張・プロジェクト状態管理の3箇所が同時に強化された週です。あわせて /ultrareview を CI から非対話実行できる claude ultrareview サブコマンドや、孤立プラグイン依存を整理する claude plugin prune といった新コマンドが追加され、画像処理や /usage などで発生していた GB 級のメモリリークも v2.1.121 で連続して修正されています。

この記事で分かること

  • MCP サーバー単位でツールを常時ロード対象にする alwaysLoad オプション(v2.1.121)と、tool-search deferral とのトレードオフ
  • PostToolUse hooks の updatedToolOutput(v2.1.121)が全ツール対応となり、updatedMCPToolOutput が deprecated になった経緯と置換時の注意点
  • プロジェクトの Claude Code 状態(transcripts・tasks・file history・config)を一括削除する claude project purge(v2.1.126)の挙動とユースケース
  • /ultrareview を CI から非対話実行する claude ultrareview サブコマンド(v2.1.120)と、Pro / Max 向けの 3 回無料枠(2026年5月5日まで)
  • 孤立した自動インストール依存を削除する claude plugin prune(v2.1.121)と、/skills の type-to-filter 検索ボックス、--dangerously-skip-permissions の保護対象拡大など、既存コマンド系の主要な変更

今週の主要アップデート一覧

機能 バージョン 主な変更点 参照
MCP alwaysLoad オプション v2.1.121 サーバー設定で alwaysLoad: true にすると、そのサーバーの全ツールが tool-search deferral をスキップしてセッション開始時から常時利用可能になる。個別ツール側で _meta.anthropic/alwaysLoad を立てる方式もサポート 公式ドキュメント
PostToolUse hooks updatedToolOutput v2.1.121 これまで MCP ツール限定だった出力置換が全ツールに拡大。updatedMCPToolOutput は deprecated 扱いとなり、組み込みツールは出力スキーマ準拠が必須 公式ドキュメント
claude project purge v2.1.126 プロジェクトに紐づく Claude Code の状態(transcripts・tasks・file history・config エントリ)をまとめて削除する新コマンド。--dry-run-y/--yes-i/--interactive--all フラグに対応 Releases v2.1.126
claude ultrareview サブコマンド v2.1.120 /ultrareview の非対話実行版。stdout に findings を出力、終了コード 0/1 で結果通知。Pro / Max は 2026年5月5日まで 3 回無料、以降は extra usage 課金($5〜$20 程度/回) 公式ドキュメント
claude plugin prune v2.1.121 自動インストールされたプラグイン依存のうち、どの導入プラグインからも要求されなくなったものを削除する新コマンド。plugin uninstall --prune でカスケード削除も可能 公式ドキュメント

注目アップデート1 MCP alwaysLoad オプション

何が変わったのか

v2.1.121 で MCP サーバー設定に alwaysLoad フィールドが追加され、特定のサーバーのツールを tool-search deferral から除外してセッション開始時から常時利用可能にできるようになりました。tool-search deferral は MCP ツールの数が増えるとコンテキスト消費が膨らむ問題を解決するために導入された仕組みで、Claude Code は通常、必要になったツールをその都度サーチしてロードする遅延ロード方式で動作します。alwaysLoad: true を設定すると、そのサーバーのツール一式は遅延ロードを経由せず、ENABLE_TOOL_SEARCH 設定の値にかかわらずセッション開始時から常駐します。

毎ターン必ず Claude が叩く社内 API ツール群や、コーディング作業の各ステップで参照するドキュメント検索系サーバー(例: 最新ドキュメントを引く Context7 のようなサーバー)など、ToolSearch のオーバーヘッドを避けたい少数のツールを抱えるサーバーに有効です。

alwaysLoad: true を設定した状態の /context 出力。MCP toolsLoaded セクションに、セッション開始直後の段階で context7 サーバーが提供する全ツール(mcp_context7__query-docsmcp_context7__resolve-library-id、合計 1.8k トークン)がそのまま並んでいる

サーバー単位での有効化

.mcp.json でサーバー定義に alwaysLoad: true を追加するだけで有効化できます。httpssestdio の全サーバータイプで利用可能です。

{
  "mcpServers": {
    "core-tools": {
      "type": "http",
      "url": "https://mcp.example.com/mcp",
      "alwaysLoad": true
    }
  }
}

上記の例では core-tools サーバーのツールだけが常時ロードされ、他のサーバーは従来通り tool-search deferral の対象として遅延ロードされます。サーバーごとに方針を変えられるため、頻繁に使うサーバーだけ常時ロード、それ以外は遅延ロードという運用が組めます。

注意点・制約

  • 常時ロードはコンテキスト消費とトレードオフです。各ツールの定義はセッション開始時から context window を占有するため、alwaysLoad を多くのサーバーに付けると会話に使えるコンテキストが圧迫されます。本当に毎ターン使うサーバーに限定するのが原則です。
  • alwaysLoad は v2.1.121 以降で利用できます。それ以前のバージョンでは設定値が無視されます。
  • ツール側の _meta.anthropic/alwaysLoad は MCP サーバーの実装が対応している必要があります。サーバー実装者が _meta フィールドにこのキーを出力していなければ機能しません。

注目アップデート2 PostToolUse hooks の updatedToolOutput が全ツール対応

前提 — PostToolUse hooks とは

Claude Code は作業中、BashReadEdit といったツールを呼び出してファイル操作やコマンド実行を行っています。ツールが返した結果は通常そのまま Claude に届き、Claude はそれを読んで次の手を判断します。

hooks は、このツール実行のタイミングに、ユーザーが用意した外部スクリプトや HTTP エンドポイントを差し込んで割り込ませる仕組みです。割り込むタイミングは大きく 2 種類あり、用途で使い分けます。

タイプ 発火タイミング できること
PreToolUse ツール実行の ツール実行を止める・引数を書き換える
PostToolUse ツール実行の ツールの結果を書き換える・Claude に追加コンテキストを渡す

PostToolUse hooks は、ツールが返した結果が Claude に届く直前に割り込み、Claude が見る出力を差し替えられる点がポイントです。たとえば、シェルコマンドの出力に紛れ込んだ AWS のシークレットキーを [REDACTED] に置き換えてから Claude に渡す、巨大な検索結果を要約済みのプレースホルダーに差し替えてコンテキスト消費を抑える、といった使い方ができます。

注意点として、PostToolUse が動く時点でツール自体は既に実行済みです。コマンドの副作用(ファイル書き込み・ネットワーク送信)は取り消せません。「そもそもこのコマンドを実行させたくない」という場合は PreToolUse 側で止めます。PostToolUse の役割は、あくまで 「実行してしまったあと、Claude にどう見せるか」を制御することに限られます。

何が変わったのか

v2.1.121 で PostToolUse hooks の出力置換フィールドが見直され、updatedToolOutput が追加されました。これまで PostToolUse hooks でツールの出力を差し替えるには updatedMCPToolOutput を使う必要がありましたが、その名前のとおり MCP ツール限定で、BashReadEdit などの組み込みツールには使えませんでした。今回追加された updatedToolOutputすべてのツールで利用可能で、組み込みツールの構造化出力にも対応しています。updatedMCPToolOutput は引き続き利用できますが deprecated 扱いとなり、SDK の TypeScript 型定義でも @deprecated コメントが付与されました。

これにより、シェルコマンドの出力に含まれる API キー・トークン・本番 URL などの機密情報を Claude に渡す前にマスクしたり、巨大な検索結果を要約済みのプレースホルダーに差し替えるといった使い方が、組み込みツールでもそのまま組めるようになりました。

cat .env を実行した結果、AWS / Anthropic / OpenAI / GitHub / Slack の各キーと DB パスワードが [*_REDACTED] 表記に差し替わった状態で Claude の transcript に表示されている。APP_NAME=demo-appLOG_LEVEL=info のような機密でない値はそのまま残っており、hook が選択的に効いていることがわかる

Bashツールの出力を置換する例

PostToolUse hook から hookSpecificOutput ラッパーの中に updatedToolOutput を含めて返すと、Claude が受け取る出力をそのまま差し替えられます。組み込みツールの場合、置換値はツールの出力スキーマに一致している必要があります。Bash ツールは stdoutstderrinterruptedisImage を持つオブジェクトなので、そのキーをすべて埋めて返します。

たとえば cat .env の出力に含まれる AWS / Anthropic / DB パスワードなどの機密値を検出してマスクした場合、hook が返す JSON は次のようになります。

{
  "hookSpecificOutput": {
    "hookEventName": "PostToolUse",
    "additionalContext": "機密情報パターンを検出したため、Claude に渡す前に [REDACTED] へ置換しました。",
    "updatedToolOutput": {
      "stdout": "AWS_ACCESS_KEY_ID=[AWS_ACCESS_KEY_ID_REDACTED]\nAWS_SECRET_ACCESS_KEY=[AWS_SECRET_REDACTED]\nANTHROPIC_API_KEY=[ANTHROPIC_KEY_REDACTED]\nDATABASE_URL=postgres://app_user:[DB_PASSWORD_REDACTED]@db.example.com:5432/app_db\nAPP_NAME=demo-app\nLOG_LEVEL=info\n",
      "stderr": "",
      "interrupted": false,
      "isImage": false
    }
  }
}

stdout の中身は実際にマスク処理を施した文字列で、APP_NAMELOG_LEVEL のような機密扱いではない値はそのまま残しています。スキーマに合わない値を返した場合、組み込みツールでは置換が無視されて元の出力が使われます。

注意点・制約

  • updatedToolOutput は Claude が見る出力を変えるだけで、ツール自体はすでに実行済みです。書き込まれたファイル、実行されたコマンド、送信されたネットワークリクエストはそのまま残ります。実行前に止めたい場合は PreToolUse フックを使う必要があります。
  • OpenTelemetry の tool span や analytics イベントには 置換前の元の出力が記録されます。テレメトリで監視している場合、Claude に見せた値とテレメトリ上の値が異なる点に注意が必要です。
  • 組み込みツールでスキーマに合わない値を返した場合、置換は静かに無視されます。additionalContext だけでなく updatedToolOutput がスキーマ準拠かを確認する仕組みを CI に組み込んでおくと安全です。

注目アップデート3 claude project purge

何が変わったのか

v2.1.126 で claude project purge [path] サブコマンドが追加され、プロジェクトに紐づく Claude Code の状態を一括で完全削除できるようになりました。これまで Claude Code は、プロジェクト単位に transcripts(会話ログ)・tasks(タスク履歴)・file history(ファイル編集履歴)・config エントリ(プロジェクト固有の設定)の 4 種類の状態を ~/.claude 配下に蓄積していました。不要になったプロジェクトのこれらを横断して整理する公式の手段はなく、ユーザーがファイルパスを把握した上で手動削除するしかありませんでした。claude project purge はこの 4 種類の状態をまとめて削除し、検証用に残った古いプロジェクト・機密情報を含む完了プロジェクト・退職者から引き継いだリポジトリなどを安全に整理できます。

実機での動きを 3 枚の画面で追ってみます。/tmp/purge-demo というダミープロジェクトで何度か会話を積んだあとに /resume を開くと、このプロジェクトの会話履歴が候補として並びます。

purge 実行前の /resume 画面。purge-demo プロジェクトのセッション(45KB、40 秒前の「こんにちは!」というやりとり)が候補として残っている

そのまま claude project purge を引数なしで実行すると、削除対象のプロジェクトを選ぶ対話 UI が立ち上がります。現在のディレクトリが削除候補としてハイライトされ、選択して実行することで該当プロジェクトの状態を一括削除できます。

claude project purge をフラグなしで叩くと、現在のディレクトリ(/private/tmp/purge-demo)が削除対象としてハイライトされる

実行したあと、再び /resume を開くと、先ほどあった purge-demo の履歴は跡形もなく消えていました。

purge 後の /resume 画面。No conversations found to resume と表示され、purge-demo プロジェクトの transcripts が完全に削除されたことが確認できる

削除対象の 4 種類

claude project purge が削除する状態は以下の 4 種類です。

  • transcripts: そのプロジェクト配下で実行した会話ログのすべて。--resume で復帰する対象もここに含まれます。
  • tasks: バックグラウンドタスクや Routines、Forked subagents など、プロジェクトに紐づくタスク履歴。
  • file history: Claude Code が編集したファイルの履歴(/rewind などで参照される編集タイムライン)。
  • config エントリ: プロジェクト固有の Claude Code 設定(プロジェクト関連エントリのうち、ユーザー設定側に蓄積されているもの)。

claude project purge --help の説明でも purge の対象は上記 4 種類(transcripts・tasks・file history・config entry)と明記されており、リポジトリ内の .claude/ ディレクトリ(settings.jsonskills/agents/ など、git 管理下のユーザー資産)は対象に含まれません。

実行方法とフラグ

# 現在のディレクトリのプロジェクト状態を削除
claude project purge

# パスを指定して削除
claude project purge /path/to/project

# 削除対象を表示するだけで実際には消さない(必ず初回はこれ)
claude project purge --dry-run

# 確認プロンプトをスキップして削除(CI で使う場合)
claude project purge -y

# 対話的に削除対象のプロジェクトを選んで進める
claude project purge -i

# Claude Code が把握しているすべてのプロジェクト状態を一括削除
claude project purge --all

--dry-run は CI などの非対話環境でも安全に削除候補を確認できる定番フラグで、初回は必ずこれを付けて削除対象を確認するのが推奨です。-i/--interactive を使うと、Claude Code が認識しているプロジェクト一覧から削除対象を選びながら段階的に進められるため、複数のプロジェクトを整理する場合に便利です。--all は名前のとおりすべてのプロジェクト状態が削除対象になるため、退職時のクリーンアップやマシン入れ替え時の最終整理など、戻すつもりがない場面でのみ使う想定のフラグです。

ユースケース

  • 検証用プロジェクトの一掃: 機能評価のために作った大量の小さなリポジトリの transcripts が残ってディスクを圧迫しているケース。--dry-run でディレクトリを確認して、不要なものから順に削除できます。
  • 機密情報を含むプロジェクトの整理: クライアントワークが終わって NDA でデータ削除義務がある場合、transcripts に含まれる会話履歴を含めてまとめて消去できます。
  • マシン入れ替え時のクリーンアップ: 開発機を引き渡す前に、--all で Claude Code 関連の全状態を削除します。

注意点・制約

警告: claude project purgetranscripts や tasks の履歴を完全に削除します。後から復旧する手段はありません。Claude Code が再びそのプロジェクトを開いた際は、空のセッション履歴から始まることになります。

  • 初回実行時は 必ず --dry-run で削除対象を確認してください。誤って -y --all を組み合わせると、すべてのプロジェクトの履歴が瞬時に消えます。
  • リポジトリ内の .claude/skills/.claude/agents/.claude/commands/ などのファイルは、purge の削除対象(transcripts・tasks・file history・config entry)に含まれません。これらは git 管理下のチーム資産として、purge コマンドのスコープ外で運用される想定です。
  • セキュリティ目的で履歴を削除する場合、Claude Code 側の transcripts は消えますが、Anthropic 側のサービスログ・テレメトリ・組織のロギングシステムには別途痕跡が残る可能性がある点に注意してください。
  • v2.1.126 では同時に --dangerously-skip-permissionsバイパス対象パスが大幅に拡大しています(.claude/ 全体・.git/.vscode/・シェル設定ファイル等。詳細は本記事「既存コマンドのアップデート」参照)。従来は例外的にプロンプトされていた重要パスへの書き込みも、--dangerously-skip-permissions 下では止まらなくなったため、CI で実行する場合は対象スコープが妥当かを --dry-run で確認してから本番投入する流れを徹底するのが安全です。

今週の新コマンド

今週は claude のサブコマンドとして 3 つの新コマンドが追加されました。claude project purge は注目アップデート3で深掘りしたため、ここでは残りの 2 つを取り上げます。

claude ultrareview サブコマンド

v2.1.120 で claude ultrareview [target] サブコマンドが追加され、/ultrareview を対話セッションなしで起動できるようになりました。/ultrareview 自体は v2.1.86 で研究プレビューとして登場した、クラウドサンドボックス上で並列マルチエージェントがコードを読むレビュー機能ですが、これまでは Claude Code を起動してスラッシュコマンドを叩く必要があり、CI から呼び出すには工夫が要りました。今回追加されたサブコマンドは、リモートレビューの完了までブロックして findings を stdout に出力し、終了コード 0/1 で結果を伝える設計で、GitHub Actions などのワークフローからそのまま組み込めます。

# 現在のブランチを default branch と比較してレビュー
claude ultrareview

# PR 番号でレビュー対象を指定
claude ultrareview 1234

# ベースブランチで diff の起点を指定
claude ultrareview origin/main

# raw payload を JSON で取得
claude ultrareview 1234 --json > findings.json

進捗メッセージとライブセッション URL は stderr に流れ、findings は stdout のみに出力される設計のため、claude ultrareview > findings.md のようにリダイレクトしても進捗ログは画面に残ります。待機時間は --timeout <minutes> で制御でき、デフォルトは 30 分です。終了コード 0findings の有無にかかわらずレビュー完走1起動失敗・リモートエラー・タイムアウト、Ctrl-C 中断時は 130 で、stderr に表示されたセッション URL からブラウザで結果を確認できます。

Pro / Max は 2026年5月5日まで 3 回無料、それ以降は extra usage 課金

/ultrareview は extra usage 扱いの有償機能ですが、Pro / Max プランは 2026年5月5日までアカウント単位で 3 回まで無料で試せる期間限定の枠があります。claude ultrareview サブコマンドからの実行も同じ無料枠を消費します。

プラン 無料回数 期限 期限後
Pro 3 回(アカウント単位、リフレッシュなし) 2026年5月5日 extra usage 課金($5〜$20 程度/回)
Max 3 回(アカウント単位、リフレッシュなし) 2026年5月5日 extra usage 課金($5〜$20 程度/回)
Team / Enterprise なし - extra usage 課金($5〜$20 程度/回)

無料枠は リモートセッションが開始した時点で 1 回カウントされる仕様で、途中で停止しても、リモート側でレビューが失敗しても、消費した無料枠は戻りません。CI に組み込んでフラッキー(不安定)に走らせると、無料枠 3 回が一瞬で溶けるため注意が必要です。試用したい場合は、対話版で 1 回挙動を確認してから CI に組み込むのが推奨です。期限後または無料枠超過後は extra usage(追加課金) が必要で、組織または個人アカウント側で extra usage を有効化していないとサブコマンドは起動を拒否します(/extra-usage で確認・変更できます)。

claude plugin prune

v2.1.121 で追加された、プラグインの自動インストール依存を整理する新コマンドです。あるプラグインが dependencies で別のプラグインを要求していた場合、Claude Code はその依存プラグインを自動でインストールします。元のプラグインをアンインストールしても、自動インストールされた依存はディスク上に残ったままになります(再度依存プラグインをインストールするケースや、依存先を直接使い続けたいケースを考慮した既定動作)。claude plugin prune は、現在インストールされているどのプラグインからも要求されなくなった孤立した依存を一覧表示し、確認プロンプトを経て削除します。apt autoremove に相当する動作で、エイリアスも autoremove です。

# 孤立した自動インストール依存を確認して削除
claude plugin prune

# 削除候補だけを表示(実際には消さない)
claude plugin prune --dry-run

# 確認プロンプトをスキップ
claude plugin prune -y

スコープは -s, --scope <scope>user(デフォルト)・projectlocal を指定できます。stdin / stdout が TTY でない環境(CI など)では、-y を付けない限り削除を行わずに孤立依存の一覧表示だけで終了します。

アンインストールと同時に依存もクリーンアップしたい場合は、uninstall --prune で連鎖削除できます。

claude plugin uninstall deploy-kit --prune

自分で直接インストールしたプラグインは prune の対象外です。あくまで他のプラグインの依存として自動的に入ったものだけが対象になります。

claude plugin prune を実行した結果。今回はユーザースコープに孤立した自動インストール依存がなかったため Nothing to prune (no auto-installed plugins at user scope). と表示されている

既存コマンドのアップデート

/skills に検索ボックス(v2.1.121)

/skills のスキル一覧に type-to-filter の検索ボックスが追加されました。プラグインを多数導入していて /skills のリストが長くなっていた環境で、スクロールせずに目的のスキルを呼び出せるようになっています。

/skills を開いた直後の画面。33 個のスキルが並ぶ上部に「Search skills…」のテキスト入力ボックスが追加されており、/ を押して文字を打つだけで一覧を絞り込める

--dangerously-skip-permissions のバイパス対象が 2 週連続で拡大

--dangerously-skip-permissions は権限プロンプトをスキップする強力なフラグですが、Claude Code の挙動を破壊しうる重要パスへの書き込みについては、これまで安全策として例外的にプロンプトを出していました。今週はこのプロンプト例外が 2 段階で外され、--dangerously-skip-permissions のバイパス対象が拡大しています。

  • v2.1.121: .claude/skills/.claude/agents/.claude/commands/ への書き込みでプロンプトが出なくなりました(バイパス対象に追加)。
  • v2.1.126: さらに .claude/ 全体、.git/.vscode/、シェル設定ファイル(.bashrc などの dotfiles)といった、これまで保護されていたパスもプロンプトをバイパスするようになりました。rm -rf のような catastrophic removal commands は引き続き safety net としてプロンプト対象に残ります。

CI で --dangerously-skip-permissions を多用している場合、これまで例外的に止められていた書き込みも素通りするようになるため、想定外のファイル書き換えが起きないように、対象スコープと実行コマンドを見直すのが安全です。

その他の変更点

変更点 バージョン 参照
Skills が ${CLAUDE_EFFORT} で現在の effort レベル(low/medium/high/xhigh/max)を参照可能に。スキル本文を effort に応じて切り替えられる v2.1.120 公式ドキュメント
Esc で stdio MCP ツール呼び出しを中断したとき、サーバー接続全体が切れていた問題を修正(v2.1.105 からの regression) v2.1.120 Releases v2.1.120
claude --resume 起動直後、/rewind などのインタラクティブオーバーレイがキー入力を受け付けない問題を修正 v2.1.120 Releases v2.1.120
DISABLE_TELEMETRY / CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC が API・エンタープライズ利用者で usage metrics テレメトリを抑制できていなかった問題を修正 v2.1.120 Releases v2.1.120
Auto mode の deny メッセージから設定ドキュメントへのリンクが追加 v2.1.120 Releases v2.1.120
メモリリーク修正: 多数の画像を扱うセッションで RSS が GB 単位で増え続けるリークを解消 v2.1.121 Releases v2.1.121
メモリリーク修正: /usage が大きな transcript 履歴を持つ環境で最大約 2GB をリークしていた問題を解消 v2.1.121 Releases v2.1.121
メモリリーク修正: 長時間動くツールが進捗イベントを発しないケースで起きていたリークを解消 v2.1.121 Releases v2.1.121
Bash ツールが起動ディレクトリを削除/移動されると恒久的に使えなくなる問題を修正 v2.1.121 Releases v2.1.121
大規模ディレクトリツリーで find 実行時の file descriptor ピーク使用量を削減(EMFILE 予防) v2.1.121 Releases v2.1.121
--resume が外部ビルドで起動時クラッシュする問題、および巨大セッションで unclean shutdown により破損した transcript 行があると読み込みが止まる問題を修正(破損行をスキップして継続) v2.1.121 Releases v2.1.121
/terminal-setup が iTerm2 の "Applications in terminal may access clipboard" 設定を自動有効化(tmux からの実行でも検出)。これにより /copy が tmux 越しに動く v2.1.121 Releases v2.1.121
! プレフィックスのインタラクティブ機能の表示名が "Bash mode" から "Shell mode" にリネーム。動作は変わらず、Windows ネイティブの PowerShell 主シェル化に合わせた汎化 v2.1.121 Releases v2.1.121
フルスクリーンモードで上にスクロールして履歴を読んでいる最中、プロンプトに入力するとスクロール位置が末尾に飛んでいた問題を修正 v2.1.121 Releases v2.1.121
端末からはみ出すダイアログが矢印キー・PgUp/PgDn・Home/End・マウスホイールでスクロール可能に。フルスクリーン・非フルスクリーン両モードで対応 v2.1.121 Releases v2.1.121
フルスクリーンモードで複数行に折り返した URL のどの行をクリックしても完全な URL が開くように改善 v2.1.121 Releases v2.1.121
SDK と claude -p の非対話セッションでも CLAUDE_CODE_FORK_SUBAGENT=1 が動作するように。v2.1.117 で導入された Forked subagents が Agent SDK・headless でも利用可能になった v2.1.121 公式ドキュメント
ターミナルタブのセッションタイトルが language 設定の言語で生成されるように。日本語環境では日本語タイトルになる v2.1.121 Releases v2.1.121
Vertex AI で X.509 証明書ベースの Workload Identity Federation(mTLS ADC)をサポート v2.1.121 公式ドキュメント
OpenTelemetry の LLM リクエストスパンに stop_reasongen_ai.response.finish_reasonsuser_system_promptOTEL_LOG_USER_PROMPTS=1 必須)が追加 v2.1.121 公式ドキュメント
VSCode 拡張の音声入力が、Claude Code 言語が未設定のとき VSCode の accessibility.voice.speechLanguage を尊重 v2.1.121 Releases v2.1.121
VSCode 拡張で /context がネイティブのトークン使用量ダイアログを開くようになった v2.1.121 Releases v2.1.121
ANTHROPIC_BEDROCK_SERVICE_TIER 環境変数追加。Bedrock サービスティア(default/flex/priority)を X-Amzn-Bedrock-Service-Tier ヘッダで送信 v2.1.122 Releases v2.1.122
/resume 検索ボックスに PR URL を貼り付けると、その PR を作成したセッションが見つかるように(GitHub・GitHub Enterprise・GitLab・Bitbucket 対応) v2.1.122 Releases v2.1.122
OpenTelemetry に claude_code.at_mention ログイベント追加(@ メンション解決時に発火) v2.1.122 Releases v2.1.122
/branch で生成したフォークが tool_use ids were found without tool_result blocks で失敗していた問題を修正(巻き戻し済みタイムラインのエントリが含まれるケース) v2.1.122 Releases v2.1.122
画像が 2576px にリサイズされていた問題を修正。正しく 2000px 上限が適用される v2.1.122 Releases v2.1.122
settings.json の hooks エントリが不正だった場合、ファイル全体が無効化されていた問題を修正。該当エントリだけがスキップされる挙動に v2.1.122 Releases v2.1.122
!exit / !quit! シェルモードでシェルコマンドではなく CLI 終了として扱われていた問題を修正 v2.1.122 Releases v2.1.122
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1 設定時に OAuth 認証が 401 リトライループに陥る問題を修正 v2.1.123 Releases v2.1.123
/model ピッカーが ANTHROPIC_BASE_URL を Anthropic 互換ゲートウェイに向けたとき、ゲートウェイの /v1/models から利用可能モデル一覧を表示するように v2.1.126 Releases v2.1.126
claude auth login が WSL2 / SSH 越しのリモート開発 / Dev Container などブラウザコールバックが localhost に届かない環境で、OAuth コードのターミナル貼り付けによる認証完了をサポート v2.1.126 Releases v2.1.126
Windows の no-flicker モードで日本語・韓国語・中国語が文字化けしていた問題を修正 v2.1.126 Releases v2.1.126
2000px を超える画像を貼り付けるとセッションが壊れる問題を修正。貼り付け時に自動でダウンスケールされ、履歴中の過大画像も自動削除して再試行 v2.1.126 Releases v2.1.126
Mac をスリープから復帰した直後の Stream idle timeout エラーを修正 v2.1.126 Releases v2.1.126
バックグラウンド/リモートセッションが、長時間の thinking 中に Stream idle timeout で誤って中断する問題を修正 v2.1.126 Releases v2.1.126
Ctrl+L がプロンプト入力をクリアしてしまう問題を修正。readline と同じく画面再描画のみを行う動作に v2.1.126 Releases v2.1.126
Auto mode のスピナーが、permission check で停止しているときに赤色に変わるように。ツールが動いているのか権限待ちなのかの判別がしやすくなった v2.1.126 Releases v2.1.126
OpenTelemetry の claude_code.skill_activated イベントがユーザータイプのスラッシュコマンドでも発火するように。invocation_trigger 属性(user-slash/claude-proactive/nested-skill)が追加 v2.1.126 Releases v2.1.126
Windows: クリップボード書き込み時、コピー内容が EDR / SIEM テレメトリから見えるプロセスコマンドライン引数に露出していた問題を修正(あわせて 22KB 超の選択がクリップボードに届かない問題も解消) v2.1.126 Releases v2.1.126
セキュリティ修正: 上位の managed-settings ソースに sandbox ブロックがないとき allowManagedDomainsOnly / allowManagedReadPathsOnly が無視される問題を修正 v2.1.126 Releases v2.1.126
Windows ARM64 でデスクトップアプリが利用可能に。Linux はサポート対象外であることがドキュメントで明記 v2.1.126 (docs) 公式ドキュメント
Read tool の per-file malware-assessment reminder を削除(旧モデルで誤って "this is not malware" 拒否や注釈が出る問題の解消) v2.1.126 Releases v2.1.126
devcontainer ドキュメントが整理。Claude Code Dev Container Feature の導入手順、認証永続化、組織ポリシー適用、ネットワーク制限などが体系的にまとまった内容に docs 更新 公式ドキュメント

まとめ

今週の Claude Code は、MCP alwaysLoad オプションPostToolUse hooks の updatedToolOutput 全ツール対応claude project purge 新コマンドという、MCP 運用・Hooks 拡張・プロジェクト状態管理の 3 箇所で同時に拡張点が増えた週でした。あわせて claude ultrareview サブコマンドで /ultrareview を CI から非対話実行できるようになり、claude plugin prune で孤立プラグイン依存を整理する経路も用意されています。これまで手作業や手探りで対応してきたライフサイクル管理に、正式なコマンドが揃ってきた印象です。

加えて v2.1.121 では、画像処理の multi-GB RSS リーク・/usage の最大 2GB リーク・Bash ツールのディレクトリ消滅問題・find の file descriptor 過大利用といった、長時間セッションの足元を支える安定性課題がまとめて潰されました。1 週間に 5 バージョン(公式記載分)が連続でリリースされながら、新機能と並行して GB 級リークの撲滅まで畳みかけられた点は、Claude Code 本体のメンテナンス速度が一段上がっていることの表れと考えられます。新機能の検証はもちろんですが、長時間セッションを多用している環境では v2.1.121 以降への即時アップデートが、今週の中で最も実務効果の大きいアクションになりそうです。

なお、/ultrareview の Pro / Max 向け 3 回無料枠は 2026年5月5日で期限切れとなります。試用していない方は、無料枠の期限を意識した上で、claude ultrareview の挙動を体感する最後のタイミングとして使ってみるのが良さそうです。

池田 智耶(執筆記事の一覧)

ディベロップメントサービス2課

生成AI関連の記事を中心に執筆!