Claude Media
Claude Code v2.1.178 — 権限ルールがツールの入力パラメーターで条件分岐できるようになった

Claude Code v2.1.178 — 権限ルールがツールの入力パラメーターで条件分岐できるようになった

Claude Code v2.1.178は、権限ルールがツールの入力パラメーターまで見て分岐できるようになり、入れ子のSkillと設定の解決も近い方が勝つ形に整った版です。誰に効くかを早見表で示します。

Claude Code v2.1.178では、権限ルールがツールの入力パラメーターまで見て一致判定できるようになりました。コマンドの接頭辞で許可・拒否を書いていた仕組みが、Agent(model:opus)のように引数の値で分岐できる形に広がっています。あわせて、入れ子に置いた.claude/skillsが必要なときだけ読み込まれるようになり、近いディレクトリの設定が優先される解決ルールも整いました。本稿では、この版で何ができるようになるのかを、新旧の権限記法の比較表と利用形態別の早見表で見ていきます。

このリリースで何ができるようになるか

この版の中核は、権限ルールがツールの入力パラメーターで分岐できるようになったことです。これまでの権限ルールはBash(git push:*)のように、コマンドの接頭辞でマッチする仕組みが基本でした。v2.1.178ではTool(param:value)という記法が加わり、ツールに渡される入力引数の値を見て許可・拒否を決められます。*のワイルドカードも使えます。

最初に挙がる具体例はAgent(model:opus)です。サブエージェントの起動でOpusモデルを指定するものをまとめて止める、といった制御が権限ルール側で書けるようになりました。これまで「どのコマンドか」で見ていた制御の単位が、「ツールに何を渡したか」へと一段細かくなった形です。

2つ目は、入れ子に置いた.claude/skillsの扱いです。サブディレクトリに置いたSkillは、そのディレクトリ配下のファイルを触っているときに必要に応じて読み込まれるようになりました。名前が衝突したときは入れ子側のSkillが<ディレクトリ名>:<Skill名>として現れるため、上位のSkillと入れ子のSkillが両方とも使える状態を保てます。複数プロジェクトを1つのリポジトリにまとめるモノレポ運用で効く変更です。

3つ目は、入れ子の.claude/を解決するときに「近い方が勝つ」ルールが明確になったことです。エージェント定義・ワークフロー・出力スタイルで名前が衝突したとき、作業ディレクトリにいちばん近い定義が優先されます。プロジェクト範囲でワークフローを保存する操作も、いちばん近い既存の.claude/workflows/を保存先に選ぶようになりました。

あなたの開発フローはどう変わるか

変化の効き方は利用形態によって差があります。権限ルールを書く管理者やマルチエージェントを運用する人ほど恩恵が大きく、ローカルで単発のタスクを回すだけの使い方では体感差は小さめです。

権限ルールを設計する管理者にとっては、制御を書ける軸が一つ増えます。これまではコマンド名の接頭辞でしか書けなかった制限が、ツールに渡るパラメーターの値で書けるようになりました。Agent(model:opus)のように、サブエージェントが使うモデルを権限ルールの段階で絞る、という設計がそのまま記述できます。

マルチエージェントを運用している場合、サブエージェントまわりの操作感が複数の点で改善されています。トランスクリプトにツールの実行結果とリアルタイムの進捗が表示されるようになり、サブエージェントがターンを終える間に送ったメッセージも取りこぼされなくなりました。実行中のサブエージェントをctrl+bでバックグラウンドに送っても、最初からやり直しにならず、その時点から継続します。

モノレポで開発している場合、入れ子の.claude/skillsが必要なときだけ読み込まれるため、リポジトリ全体のSkillを常に抱え込まずに済みます。名前が衝突しても<ディレクトリ名>:<Skill名>で区別されるので、プロジェクトごとのSkillと共通のSkillを並立させられます。非対話実行(ヘッドレス実行)では、こうしたディレクトリ名付きSkillが権限プロンプトで止まっていた問題も直りました。

CIや非対話で回している場合は、認証まわりの修正がいくつも効きます。ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKENでカスタムのAPIゲートウェイを指すシェルからデーモンを起動したとき、claude agentsのワーカーが401 Invalid bearer tokenで落ちる問題が解消しました。セッションの外で認証情報を更新した後もモデル要求が認証エラーで失敗し続ける問題、/bg←←でターンの終了後に作ったバックグラウンドセッションが延々と「Working」のままになる問題も直っています。

CJKの入力メソッド(IME)を使うVSCodeユーザーにも、見逃せない修正が入りました。日本語などの変換候補ウインドウをEscで閉じると、動いていたClaudeのタスクまでキャンセルされていた問題が解消されています。日本語入力中にうっかり処理を止めてしまう、という事故が減る変更です。

利用形態別の影響早見表

自分の使い方でどの程度効くかは、次の早見表で確認できます。全員が一律に急いで更新すべき種類ではなく、運用形態ごとに濃淡があります。

利用形態影響度効く理由
権限ルールを書く管理者影響度明確な恩恵あり効く理由ツールの入力パラメーターで分岐でき、Agent(model:opus)が書ける
マルチエージェント運用影響度明確な恩恵あり効く理由サブエージェントの進捗表示・継続・メッセージ取りこぼしが改善
モノレポ・CI/非対話影響度明確な恩恵あり効く理由入れ子Skillの読み込みと認証まわりの不具合が解消
CJK IMEのVSCode利用影響度条件次第効く理由Escで変換候補を閉じてもタスクが止まらなくなる
ローカル単発の対話影響度ほぼ影響なし効く理由上記の前提に当てはまらず、体感の変化は小さい

サブエージェントのモデルを組織として絞りたい場合は、Agent(model:opus)のようなパラメーター単位の権限ルールが書けるようになった点で「明確な恩恵あり」に寄ります。サブエージェントの基本的な組み方はサブエージェント完全ガイドに、Skillの仕組みはClaude Code Skills活用ガイドにまとめています。

主な変更点

この版の変更は、テーマごとに新機能・改善・修正の3つに分けて読めます。各項目に「誰に効くか」を1行添えます。

新機能

  • 権限ルールのパラメーター一致:Tool(param:value)の記法で、ツールの入力引数の値を見て許可・拒否を分岐できます。*のワイルドカードも使え、Agent(model:opus)でOpusのサブエージェントを止められます(権限ルールを書く管理者)。
  • 入れ子の.claude/skillsを必要時に読み込み:サブディレクトリのSkillは配下のファイルを触るときに読み込まれ、名前が衝突すると<ディレクトリ名>:<Skill名>で両方とも使えます(モノレポ運用者)。
  • 入れ子の.claude/は近い方が勝つ:エージェント・ワークフロー・出力スタイルの名前が衝突したとき、作業ディレクトリにいちばん近い定義が優先されます。ワークフローのプロジェクト保存も最寄りの.claude/workflows/を選びます(複数の.claude/を持つ人)。

改善

  • /doctorの表示がフラットなツリー配置になり、アイコンがわかりやすくなって、コマンド名がハイライトされるようになりました(環境診断を使う人)。
  • Skill一覧の説明が省略されたとき、いくつの説明が影響を受けたかを警告で示すようになりました(多くのSkillを持つ人)。
  • ワークフロー起動語の見せ方が紫のシマーになり、「run a workflow」や「workflow:」のような明示的な言い回しのときだけ反応します。文中で触れただけでは反応しません(ワークフローを使う人)。
  • リモート操作のエラー表示が具体的になりました。失敗時はフッターに赤い/rc failedの表示が残り、「まだ有効化されていない」エラーはゲート・チェック失敗・期限切れの権限・組織ポリシーのどれが原因かを説明します(リモート操作を使う人)。
  • /bugは送信前に説明を必須にし、モデルの拒否文をそのままGitHubのIssueタイトルに使わないようになりました(不具合を報告する人)。

auto modeも一つ堅くなりました。サブエージェントの起動が、実行前に分類器で評価されるようになり、サブエージェントが審査を経ずにブロック対象の操作を要求できてしまう隙が塞がれています。これはセキュリティ面の地固めで、脆弱性の修正という性質のものではありません。

修正

  • 親プロセスから古いwebsocketやOAuthのファイルディスクリプタの環境変数を引き継いだとき、CLIがメモリー不足でクラッシュする問題を修正(特定の親プロセスから起動する人)。
  • Claude in Chromeが、OAuthトークンの所属アカウントとClaude Codeのログインが別アカウントのとき、無言で接続に失敗していた問題を修正(Chrome連携を使う人)。
  • 入れ子の.claude/skillsにあるディレクトリ名付きSkillが、非対話実行で権限プロンプトに止められていた問題を修正(CI/非対話運用者)。
  • サブエージェントまわりを複数修正。トランスクリプトにツール結果とリアルタイム進捗が出るようになり、ターンを終える間に送ったメッセージが取りこぼされなくなり、ctrl+bでのバックグラウンド化が最初からのやり直しにならなくなりました(マルチエージェント運用者)。
  • ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKENでカスタムのAPIゲートウェイを指すシェルからデーモンを起動すると、claude agentsのワーカーが401 Invalid bearer tokenで失敗していた問題を修正(独自ゲートウェイ運用者)。
  • コンパクト(履歴圧縮)が--fallback-modelを尊重せず、過負荷やモデル提供状況のエラーで設定したフォールバック先に切り替わらなかった問題を修正(フォールバック構成を使う人)。
  • セッションの外で認証情報を更新した後も、古いキャッシュ済みの要求設定が残ってモデル要求が認証エラーで失敗し続ける問題を修正。
  • /bg←←でターンの終了後に作ったバックグラウンドセッションが、ずっと「Working」のままになる問題を修正。
  • CLAUDE_CODE_PLUGIN_KEEP_MARKETPLACE_ON_FAILURE=1が、新規マーケットプレイスのインストールでクローンを妨げていた問題を修正(プラグインを入れる人)。
  • サブエージェントのdisallowedToolsで、mcp__servermcp__server__*mcp__*のようなMCPサーバー単位の指定が無言で無視されていた問題を修正(MCPツールを絞る人)。
  • vimモードのアンドゥuが、NORMAL/VISUALモードのコマンドを一つずつ戻すようになり、まとめて巻き戻さなくなりました(vimモード利用者)。
  • ステータスライン上のvscode://のような独自URIスキームのリンクが、claude agentsでクリックしても開かなかった問題を修正。
  • VSCodeで、CJKのIME変換候補ウインドウをEscで閉じると動いていたClaudeのタスクがキャンセルされていた問題を修正(日本語などの入力メソッドを使う人)。

Tool(param:value)で「サブエージェントのモデル制限」が初めて権限ルールで書けるようになる

権限ルールのパラメーター一致は、Claude Codeの制御の単位を一つ動かしたと読めます。これまでの権限ルールは、Bash(git push:*)のように「どのコマンドか」を接頭辞で見る仕組みが基本でした。コマンドの先頭にマッチする書き方では、同じツールに渡される引数の中身まで条件にすることはできなかったわけです。

v2.1.178のTool(param:value)では、ツールに渡る入力引数の値が判定の対象になります。Agent(model:opus)はその一例で、サブエージェントの起動でOpusモデルを指定するものを権限ルールの段階で止められます。旧来の接頭辞マッチでは、この「モデル名という入力パラメーターでの絞り込み」は同じ形では書けませんでした。下表は新旧の記法を対比したものです。

観点旧:接頭辞マッチ Bash(...:*)新:パラメーター一致 Tool(param:value)旧記法で書けたか
一致の対象旧:接頭辞マッチ Bash(...:*)コマンドの接頭辞新:パラメーター一致 Tool(param:value)ツールの入力引数の値旧記法で書けたか
git pushを止める旧:接頭辞マッチ Bash(...:*)Bash(git push:*)で可能新:パラメーター一致 Tool(param:value)同様に表現可能旧記法で書けたかYes
サブエージェントのモデル制限旧:接頭辞マッチ Bash(...:*)コマンド名では表現できない新:パラメーター一致 Tool(param:value)Agent(model:opus)で表現旧記法で書けたかNo

サブエージェントのモデルを組織として絞りたい場面では、これまで権限ルール側に書く素直な手段がありませんでした。Agent(model:opus)が書けるようになったことで、「どのモデルでサブエージェントを動かすか」をルールとして固定する選択肢が増えたと言えそうです。権限ルールやモデルの絞り込みの全体像はClaude Code完全ガイドにまとめています。

版差分タイムライン(v2.1.176 → v2.1.178)

直前の版はv2.1.176で、v2.1.177は欠番(changelogに存在しません)です。番号上の直前・直前の機能追加版・記事化された直前のいずれもv2.1.176を指すため、ここでは直前のv2.1.176との差分で並べます。

公開日この版の中核
v2.1.176公開日2026-06-12この版の中核直前の版
v2.1.178公開日2026-06-15この版の中核権限ルールのパラメーター一致、入れ子のSkillと設定の解決

直前のv2.1.176に続き、v2.1.178は権限と設定解決の仕組みを細かく広げる方向の更新と読めます。接頭辞での権限制御から入力パラメーターでの制御へ、入れ子の.claude/を「近い方が勝つ」で揃える、という二つの軸が中心です。直前版の詳細はClaude Code v2.1.176の変更点で確認できます。

auto modeの分類器はいつ働くようになったか

auto modeの変更は、サブエージェントの審査が「起動した後」から「起動する前」へ動いた点が要です。これまでは、サブエージェントが分類器の審査を経ずにブロック対象の操作を要求できてしまう隙がありました。v2.1.178では、サブエージェントの起動そのものを実行前に分類器で評価するため、この隙が塞がれています。

これはセキュリティ面の地固めで、脆弱性(CVE)の修正という性質のものではありません。サブエージェントを多用する運用では、起動前に一段審査が入る形になったと読めます。マルチエージェントの設計や審査の流れは、サブエージェントの使い方とあわせて押さえておくと扱いやすい変更です。

更新のための手順

更新は通常のインストールコマンドで反映されます。バージョンはclaude --versionで確認できます。

npm install -g @anthropic-ai/claude-code
claude --version

権限ルールの設定を見直すときは、設定ファイルにAgent(model:opus)のようなパラメーター一致の行を加えられます。

まとめ

Claude Code v2.1.178は、権限ルールのパラメーター一致を中核に、入れ子のSkillと.claude/設定の「近い方が勝つ」解決をまとめて整えた版です。権限ルールを設計する管理者と、サブエージェントやモノレポを運用している人は、更新の価値が大きい変更がそろっています。

CIや非対話で認証まわりに詰まっていた人、日本語などの入力メソッドをVSCodeで使っていてEscで処理が止まっていた人も、本版で摩擦が解消します。ローカルで単発のタスクを回す使い方では体感差は小さいため、手の空いたタイミングでの更新で問題ありません。Claude Code全体の使い方はClaude Code完全ガイドを参照してください。

この記事を共有:XLinkedIn