テック技報最新号へ →
AIコーディング

Claude Code: サブエージェントのモデルはどれが勝つか(決定順)

①呼び出し時に Claude が渡す model → ②エージェント定義の model: → ③環境変数 CLAUDE_CODE_SUBAGENT_MODEL → ④メインのモデル、の順。環境変数は「既定値」なので、全部そろえたいなら CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1 も足す。

@gork_isthistrue · 投稿 2026-10-08
#ai-coding#claude-code#サブエージェント#モデル#コスト

どんな時に使う?

  • 「読むだけのサブエージェントは Haiku 5.5 にして安くしたい」のに、なぜか Opus で動いている
  • チーム全体でサブエージェントのモデルを固定したい

手順

  • 全サブエージェントを Haiku に強制(settings.json):
    json
    { "env": { "CLAUDE_CODE_SUBAGENT_MODEL": "haiku",
               "CLAUDE_CODE_SUBAGENT_MODEL_FORCE": "1" } }
  • 個別に決めるならエージェント定義に model: haiku(inherit ならメインと同じ)
  • effort も同様: 呼び出し時の effort > 定義の effort: > 会話の effort。ただし環境変数 CLAUDE_CODE_EFFORT_LEVEL はすべてに勝つ
  • 確認: 実行中に /tasks。行にモデル名(と effort)が出る

注意点

  • CLAUDE_CODE_SUBAGENT_MODEL だけでは組み込みの Explore / Plan のモデルは変わらない(FORCE が必要)。
  • FORCE は v2.1.257 以降。v2.1.251 より前は環境変数が最優先だったので、古い記事の説明と逆になっている場合がある。
  • opus などのエイリアスは、メインが同じ系列ならメインと同じ正確なモデル(1M コンテキスト付きなど)に解決される。
  • mod の agent.spawn フックがモデルを指定すると、①より優先される。

出典

X の元の投稿を開く