CLAUDE LABEN
2.1.273 — 接続まわりがまとめて整理されました。LLM ゲートウェイ向けの 5 ヘッダが opt-in で追加され、MCP が再接続を諦めたときにも通知が出ます09/29 — 廃止予定表にある claude-sonnet-4-5 の日付は残り 12 日ですが、これは「最も早い場合」の暫定日です。現在も Active で、公開モデルの廃止は最低 60 日前に告知されますMCP — セッションを畳まずに繋ぎ直したい、という要望が続いています。切断の通知は出るようになりましたが、再接続そのものはまだ手元の操作に委ねられていますNEW — 定期タスクが動く日と動かない日があったのは、フォルダを1つしか指定していなかったからでしたWINDOWS — Cowork が最初のタスクから失敗するときは、原因を探す前に開発者モードとセットアップの状態を確認しますHANDOFF — 会話が重くなった原稿を次のチャットへ渡すとき、要約に必ず残しておく項目を先に 3 つ決めておきます2.1.273 — 接続まわりがまとめて整理されました。LLM ゲートウェイ向けの 5 ヘッダが opt-in で追加され、MCP が再接続を諦めたときにも通知が出ます09/29 — 廃止予定表にある claude-sonnet-4-5 の日付は残り 12 日ですが、これは「最も早い場合」の暫定日です。現在も Active で、公開モデルの廃止は最低 60 日前に告知されますMCP — セッションを畳まずに繋ぎ直したい、という要望が続いています。切断の通知は出るようになりましたが、再接続そのものはまだ手元の操作に委ねられていますNEW — 定期タスクが動く日と動かない日があったのは、フォルダを1つしか指定していなかったからでしたWINDOWS — Cowork が最初のタスクから失敗するときは、原因を探す前に開発者モードとセットアップの状態を確認しますHANDOFF — 会話が重くなった原稿を次のチャットへ渡すとき、要約に必ず残しておく項目を先に 3 つ決めておきます
記事一覧/Claude Code
Claude Code/2026-09-02中級

モデル切り替えの記録と歯止めを、フック2本で作る

PreModelSwitch と PostModelSwitch を使い、無人実行中のモデル切り替えを記録するフックと、約束していない切り替えだけを止めるフックをゼロから作ります。実測値つきの手順です。

Claude Code254hooks19PreModelSwitchPostModelSwitch自動化87

プレミアム記事

先週、無人で回している定期タスクの週次消費が思ったより伸びていたので、内訳を確かめようとしました。ところが手元のログには「どの枠が、いつ、どのモデルに切り替わったか」がどこにも残っていませんでした。残っていたのは各タスクの成否と成果物だけです。

個人開発で4つのサイトを自動運用していると、枠ごとにモデルを変えるのは自然な設計になります。整形や置換のような定型作業は軽いモデル、記事の書き直しのような判断の要る作業は重いモデル、という具合です。ただ、その振り分けが「そのつもり」で終わっていて、実際にどう動いたかを一度も記録していませんでした。

Claude Code v2.1.251 で PreModelSwitchPostModelSwitch という2つのフックイベントが追加されています。これを使って、記録する仕組みと、約束していない切り替えを止める仕組みを別々に作ります。分けて作るところに理由があるので、そこから書きます。

週次の消費は、切り替えの記録がないと事後に説明できません

Claude Code の週次上限はモデル横断の共有プールです。ステータスラインの JSON を見ると rate_limits.seven_day のほかに seven_day_opusseven_day_sonnet という内枠があり、ひとつのプールの中にモデル別の枠が同居している構造が読み取れます。

つまり、ある枠が想定より重いモデルで走った分だけ、別の枠の余地が削られます。そして 9月14日からは、この週次上限がプロモーション前の水準に対して +25% で恒久化されます。現在の +50% と比べれば水準は下がるので、配分を測り直しておく価値があります。

測り直すには記録が要ります。事後に /usage で総量を見ても、「どの作業がどのモデルを食ったか」までは分解できません。切り替えが起きた瞬間にしか取れない情報があるので、その瞬間に書き出す仕組みを先に用意します。

2つのフックが受け取るもの

PreModelSwitch は切り替えの直前、PostModelSwitch はセッションのモデルが変わった後に発火します。他のフックが tool_name などを受け取るのに対して、この2つは切り替えそのものを説明するフィールドを受け取ります。

フィールド意味
from_modelstring切り替え前のモデル
to_modelstring切り替え先のモデル
requested_modelstring | null明示的に要求されたモデル。自動的な切り替えでは null になります
source"command" | "picker" | "sdk"切り替えの経路。/model コマンド、対話的なピッカー、SDK 経由の3種です
context_tokensnumberその時点のコンテキストのトークン数
prompt_cache_warmbooleanプロンプトキャッシュが温まっているか
cache_ttl"5m" | "1h"キャッシュの有効期間
estimated_cache_write_usdnumberキャッシュ書き込みの推定費用(USD)
pricing"configured" | "catalog" | "default"費用の推定に使った価格表の出所

これに加えて、他のフックと共通の session_idtranscript_pathcwd が入ります。PostModelSwitch は同じフィールドを受け取り、source の取り得る値が2つ増えます。

source があるおかげで、人が画面の前でモデルを選んだ切り替えと、無人実行の中で起きた切り替えを区別できます。この区別が、あとで歯止めを作るときの分かれ目になります。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
無人実行でモデルが入れ替わっても、PostModelSwitch で残した1行の記録から、どの枠がどのモデルを消費したのかを後から説明できるようになる
PreModelSwitch に重い処理を置いたせいで切り替えそのものが止まる、という事故を書き始める前に避けられるようになる
モデル単価の差だけで判断していた切り替えの見積もりに、estimated_cache_write_usd が示すキャッシュ書き込みの費用を足して考えられるようになる
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Claude Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥2,480 の永久アクセス
メンバーシップを見る →

関連記事

Claude Code2026-08-28
検証スクリプトの出力を、そのまま hook から返してはいけません
hook に足した検査は正しく動いていたのに、会話のほうが先に容量を使い果たしていました。833ファイルで58バイトの検査と42KBの検査を実測で並べ、出力が会話に届く経路と、予算を機械的に守らせるラッパーの書き方をまとめます。
Claude Code2026-07-01
Claude Code をアップデートしたら hook が発火しなくなった — ハイフン入り matcher の厳密一致化(v2.1.195)
Claude Code v2.1.195 でハイフンを含む hook matcher が部分一致から厳密一致に変わり、既存の PreToolUse フックが静かに発火しなくなりました。原因の切り分けと、壊れない matcher の書き方をまとめます。
Claude Code2026-09-01
heredoc のクォートを1つ落とすと、ログに書いた金額や日付が別物になります
未クォートの heredoc は本文の変数とバックティックを実行します。実測した4通りの書き換わり方、3種類のクォート記法の比較、プレースホルダと sed で値を安全に埋める手順、既存スクリプトを棚卸しする検出コードまでをまとめました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます