0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Claude Code Week 24 実践 — fallbackModel・safe-mode・/cd で自動化を止めない運用術

0
Posted at

はじめに

Claude Code をスケジュール実行や CI に組み込んで「無人で回す」運用をしていると、いちばん怖いのは 人が見ていない時間にパイプラインが止まること です。モデルが一時的に過負荷(HTTP 529 Overloaded)になっただけでターンが失敗したり、CLAUDE.md やフックの設定ミスで挙動が変わっても、原因の切り分けに時間がかかったりします。

2026 年 6 月(Week 24・v2.1.166〜172)の Claude Code アップデートは、まさにこの「止めない・素早く切り分ける」運用に効く機能が集中投入されました。本記事では新フラッグシップモデルの紹介ではなく、自動化パイプラインを落とさず・デバッグしやすくするための 3 機能fallbackModel / /cd / --safe-mode)を、そのまま settings.json にコピペできる形で解説します。

この記事で分かること

  • fallbackModel でモデル過負荷時にパイプラインを止めない設定
  • /cd でプロンプトキャッシュを壊さずに作業ディレクトリを移動する方法
  • --safe-mode でカスタマイズ起因の不具合を一発で切り分ける手順
  • 3 つを組み合わせた「耐障害+デバッグ容易」な settings.json の全体例

対象読者

  • Claude Code をスケジュール実行・CI・無人パイプラインで運用しているエンジニア
  • フック・スキル・MCP を盛り込んだ結果、不具合の切り分けに苦労している人

前提環境

  • Claude Code v2.1.172 以降(claude --version で確認)
  • 設定ファイル: ~/.claude/settings.json(ユーザー)または .claude/settings.json(プロジェクト)

TL;DR

機能 解決する課題 最小設定
fallbackModel モデル過負荷(529)でターンが落ちる "fallbackModel": ["sonnet", "haiku"]
/cd 作業ディレクトリ移動でキャッシュが飛ぶ /cd ../other-project
--safe-mode カスタマイズ起因の不具合の切り分けが遅い claude --safe-mode

3 つとも「いざという時の保険」です。普段は意識せず、障害時・調査時にだけ効きます。

背景・課題

無人運用のパイプラインでは、次のような失敗が起きがちです。

  1. 一時的なモデル過負荷でターンが失敗する — プライマリモデルが 529 を返すと、その場でパイプラインが止まる。再実行のスケジュールまで進捗ゼロ。
  2. 複数プロジェクトを横断するとキャッシュが無駄になる — セッション中に別ディレクトリへ移ると、プロンプトキャッシュが作り直しになり、レイテンシとコストが増える。
  3. 「設定のどれかが悪さをしている」が切り分けられないCLAUDE.md・フック・スキル・MCP を盛った結果、想定外の挙動が出ても、どのカスタマイズが原因か特定に時間がかかる。

Week 24 の 3 機能は、この 1〜3 に一対一で対応します。

1. fallbackModel — 過負荷でもターンを落とさない

fallbackModel(v2.1.166・2026-06-06)は、プライマリモデルが過負荷・利用不可のときに 順番に試す予備モデル を最大 3 つまで指定できる設定です。

設定方法

settings.json に配列で指定します。

{
  "model": "opus",
  "fallbackModel": ["sonnet", "haiku"]
}

CLI から一時的に指定する場合はカンマ区切りで渡します。

claude --fallback-model sonnet,haiku

挙動のポイント

  • プライマリが過負荷・利用不可のとき、指定順にフォールバックし、切り替え時に通知が出ます。
  • 切り替えは そのターンだけ 有効です。次のメッセージではまずプライマリから試行されるため、過負荷が解消すれば自動的に元のモデルに戻ります。
  • 自動圧縮(コンパクション)処理も、過負荷時にはフォールバックチェーンを尊重します。長時間タスクの途中で圧縮が走っても止まりにくくなります。

⚠️ マージしない点に注意

fallbackModel は配列設定ですが、ほとんどの配列設定と違ってファイル間でマージされません。ユーザー設定とプロジェクト設定の両方に書いた場合、優先度が最も高いファイルの定義がチェーン全体を上書きします。

// ~/.claude/settings.json(ユーザー)
{ "fallbackModel": ["sonnet", "haiku"] }

// .claude/settings.json(プロジェクト・こちらが優先)
{ "fallbackModel": ["haiku"] }
//  実際に使われるのは ["haiku"] のみ。sonnet は引き継がれない

予備を厚くしたいのに薄いチェーンで上書きしてしまう、というハマりが起きやすいので、フォールバックは「実際に効かせたいファイル」に書き切るのが安全です。

2. /cd — キャッシュを壊さず作業ディレクトリを移動する

/cd(v2.1.169・2026-06-08)は、セッションを別の作業ディレクトリへ プロンプトキャッシュを作り直さずに 移動するコマンドです。

/cd ../other-project

何が嬉しいか

  • 通常、作業ディレクトリを変えるとプロンプトの前提が変わり、キャッシュが効かなくなります。/cd はキャッシュを保ったまま移動するため、モノレポ内のパッケージ間移動や、関連する別リポジトリへの移動が低コストになります。
  • 移動先の CLAUDE.md は、システムプロンプトを置き換えるのではなく メッセージとして追記 されます。元のコンテキストを維持しつつ、移動先固有のルールが上乗せされる挙動です。
  • セッションの保存先も移動先に合わせて切り替わるため、--resume / --continue でのセッション復帰も維持されます。

複数プロジェクトを 1 セッションで横断するパイプラインでは、/cd を使うだけでキャッシュ再構築のオーバーヘッドを避けられます。

3. --safe-mode — カスタマイズ起因の不具合を一発で切り分ける

--safe-mode(v2.1.169)は、すべてのカスタマイズを無効化 して Claude Code を起動するトラブルシュート用フラグです。環境変数 CLAUDE_CODE_SAFE_MODE でも有効化できます。

claude --safe-mode
# または
CLAUDE_CODE_SAFE_MODE=1 claude

無効化されるもの / 残るもの

セーフモードで無効化 セーフモードでも有効
CLAUDE.md(プロジェクト指示) 認証
プラグイン モデル選択
スキル 組み込みツール
フック パーミッション
MCP サーバー Git のステータス・ディレクトリ名

デバッグの定石

「想定外の挙動が出るが原因が分からない」ときは、次の手順で切り分けます。

  1. claude --safe-mode で起動し、同じ操作を再現する。
  2. セーフモードで問題が消えた → 無効化された 5 つの面(CLAUDE.md・プラグイン・スキル・フック・MCP)のどれかが原因。
  3. セーフモードでも問題が残る → カスタマイズではなく、認証・モデル・組み込みツール・パーミッション側の問題。

これで「自分の設定が悪いのか、Claude Code 本体の挙動なのか」をまず二分できます。認証やモデル選択は生きているので、ログインし直さずにそのまま調査を続けられるのも実用的です。

実践: 耐障害+デバッグ容易なパイプライン設定

3 機能を踏まえた、無人運用向けの settings.json 最小構成です。

{
  "model": "opus",
  "fallbackModel": ["sonnet", "haiku"]
}

運用フローとしては次のようになります。

  • 平常時: プライマリ(opus)で実行。fallbackModel は待機。
  • モデル過負荷時: 自動的に sonnethaiku の順にフォールバックし、ターンを落とさない。圧縮処理も同様に保護される。
  • 複数プロジェクト横断時: /cd でキャッシュを保ったまま移動。
  • 不具合調査時: claude --safe-mode で起動し、カスタマイズ起因かを最初に切り分ける。

「設定を 1 行足すだけ・調査時にフラグを 1 つ付けるだけ」で、無人パイプラインの止まりにくさと調査のしやすさが両立します。

ハマりポイント

ポイント1: fallbackModel は厚く書いたつもりが上書きされる

前述のとおり fallbackModel はファイル間でマージされません。ユーザー設定で 3 段重ねても、プロジェクト設定が 1 段だけ定義していればそれが全体を上書きします。フォールバックを効かせたいスコープに、チェーン全体を書き切ってください。

ポイント2: safe-mode は「設定が読まれない」だけで認証は切れない

セーフモードはあくまでカスタマイズ(CLAUDE.md・フック・MCP 等)を読み込まないモードです。認証・モデル選択・パーミッションは生きています。「ログインし直しが必要なのでは」と身構える必要はなく、調査用の素の状態としてそのまま使えます。

ポイント3: バージョン確認を忘れない

これらは v2.1.166〜172 で順次入った機能です。/cd--safe-mode は v2.1.169、fallbackModel は v2.1.166 が起点です。動かない場合はまず claude --version を確認し、必要なら更新してください。

まとめ

  • fallbackModel: 最大 3 モデルの予備チェーン。過負荷でもターン単位でフォールバックし、圧縮処理も保護される。ただしファイル間でマージされない点に注意。
  • /cd: プロンプトキャッシュを壊さず作業ディレクトリを移動。移動先 CLAUDE.md は追記され、--resume/--continue も維持。
  • --safe-mode: カスタマイズ(CLAUDE.md・プラグイン・スキル・フック・MCP)を全無効化して起動。不具合がカスタマイズ起因かを最初に二分できる。

新モデルの話題に隠れがちですが、Week 24 の真価は「無人で回し続ける運用」を支える地味で実用的な機能群にあります。まずは fallbackModel を 1 行足すところから始めてみてください。

参考リンク

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?