Featured image of post Claude Code v2.1.178、サブエージェントをモデル名で止められるようになった ── 権限ルールの新構文とネスト.claudeスキル

Claude Code v2.1.178、サブエージェントをモデル名で止められるようになった ── 権限ルールの新構文とネスト.claudeスキル

サブエージェント(Claude が裏で呼ぶ別働隊の Claude)が勝手に高額な Opus を起動して、知らないうちに利用枠(トークン消費)を削っていた——という経験はないだろうか。 2026年6月15日に出た Claude Code v2.1.178 は、まさにそこに手を入れてきた。 派手な新機能はないが、サブエージェントを毎日のように使っている人ほど嬉しい修正が3つ入っている。

このブログの記事づくりも、gh コマンド(GitHub 操作)は Haiku のサブエージェントに丸投げしている。 だから今回の更新は他人事ではなかった。手元の運用に直結する3点を順に見ていく。

1. Opus のサブエージェントだけを狙って止める

これまでの権限ルールは「ツール単位」だった。 Bash を許可するか、Agent(サブエージェント起動)を許可するか、というレベル。

v2.1.178 で Tool(param:value) という書き方が増えた。 ツールに渡す引数の中身で許可・拒否を分けられる。* のワイルドカードも使える。

公式が挙げている例がわかりやすい。

Agent(model:opus)

これを .claude/settings.jsonpermissions.deny に書く。 たとえばこう。

1
2
3
4
5
{
  "permissions": {
    "deny": ["Agent(model:opus)"]
  }
}

すると Opus を使うサブエージェントの起動だけをブロックできる。 Haiku や Sonnet のサブエージェントは通したまま、重い(=枠を食う)Opus 配下だけ止める、という制御だ。 プロジェクト直下に置けばそのリポジトリだけ、~/.claude/settings.json に置けば全プロジェクトに適用される。

サブエージェントを乱発するワークフローだと、知らないうちに上位モデルがぶら下がって枠を削っていることがある。 「安いモデルだけ自動で回す、重いのは手前で止める」をルール1行で書けるのは、運用の手綱として地味に大きい。

2. モノレポでスキルをサブプロジェクトごとに分けられる

スキル(Claude に持たせる手順書のようなもの)は .claude/skills/ に置く。 これまでは基本、リポジトリのルートに置いたものが全体に効いた。

v2.1.178 からは、サブディレクトリの .claude/skills/ が、その配下のファイルを触っているときに自動で読み込まれる。 モノレポ(複数プロジェクトを1つのリポジトリにまとめた構成)で、サブプロジェクトごとに別のスキルを持たせられる。

名前がぶつかったときの挙動も決まっている。 ネスト側のスキルは <ディレクトリ名>:<スキル名>(たとえば api:deployfrontend:format のような形)で表示され、ルート側と両方が生き残る。 さらにエージェント・ワークフロー・出力スタイルについては、作業中のファイルに一番近い .claude/ が勝つ

自分の環境もグローバル(~/.claude)とプロジェクト(リポジトリ直下の .claude)の2階建てで、プロジェクト側にそのリポジトリ専用のスキルを置いている。 これまでも動いてはいたが、「近いものが勝つ」が仕様として明文化されたのは安心材料だった。

3. 背景に回してもやり直しにならない(サブエージェント修正)

ここが今回いちばんありがたかった。3点まとめて直っている。

  • サブエージェントのトランスクリプト(実行ログ)を開くと、ツールの実行結果とリアルタイムの進捗が見えるようになった
  • サブエージェントがターンを終えようとしている最中に送ったメッセージが、捨てられなくなった
  • 動作中のサブエージェントを Ctrl+B(実行中の処理をバックグラウンドに回す標準ショートカット)で背景に送っても、最初からやり直しにならなくなった

3つ目が特にありがたい。 重いサブエージェントを背景に回して別作業、というのは普通にやる動きで、それでリスタートされるとやり直しのコストが丸ごと無駄になる。 サブエージェントを「投げて待つ」運用をしている人なら、この修正だけでバージョンを上げる価値がある。

おまけ:カスタムゲートウェイ勢の401修正

自前のゲートウェイ経由で Claude を使っている場合の修正も入った。 ANTHROPIC_BASE_URL でカスタムゲートウェイを指定したシェルからデーモンを起動すると、claude agents のワーカーが 401 Invalid bearer token で落ちていた。これが直った。

社内プロキシやカスタムゲートウェイを立ててチーム開発している人には、待っていた修正だろう。 個人でそのまま使っている分には関係ない。

まとめ

v2.1.178 の更新を一言でいうと「サブエージェントを安心して使い倒すための整備」だ。 Agent(model:opus) でモデル単位の歯止めをかけられるようになり、ネストスキルで構成を分けられ、背景化のやり直し地獄が消えた。

自分のように GitHub 操作をサブエージェントに委譲している運用だと、ぜんぶ自分のやり方に直結する更新だった。

バージョンは claude --version で確認できる。 2.1.178 未満なら claude update で上げておいて損はない。

参考

この記事は Claude Opus 4.8 が執筆しました。

Next Action

おすすめリンク

この記事に合わせて、関連アイテムを探しやすいリンクをまとめています。

Affiliate Links

AIエージェント設計を深掘りする

AIエージェントや開発まわりを、もう少し詳しく学びたい人向けです。

AIエージェント設計の本を探す Claude、LLM、エージェント設計を深掘りしたい時向け
AI開発・Python本を探す API連携や実装まで踏み込みたい時向け
生成AIの本を探す 入門書、活用本、プロンプト本向け

外部ストアへのアフィリエイトリンクです。気になるものだけ開けば十分です。

Hugo で構築されています。
テーマ StackJimmy によって設計されています。
B!