Anthropic の Claude Code ドキュメントによると、Fable 系モデル、Opus 5.5、Sonnet 5.5、Opus 5 は安全分類器付きで動き、フラグが立つのは主にサイバーセキュリティと生物学の内容だ。フラグが立ったリクエストは別のモデルで再実行されることがある。自分で選んでいないのにセッションのモデルが変わるのはこのためだ。
どのモデルに切り替わるか
Model configuration ページによると、切り替え先は拒否したモデルとフラグの種類で決まる。
- Fable 5.1、Fable 5、Opus 5.5:生物学のフラグは Opus 5、サイバーセキュリティのフラグは Opus 4.8 で再実行。
- Sonnet 5.5:サイバーセキュリティは Sonnet 5 で再実行。生物学は拒否で終わる。
- Opus 5:サイバーセキュリティは Opus 4.8 で再実行。生物学は拒否で終わる。
ドキュメントによると、切り替え時にはトランスクリプトに通知が出る。切り替え後もセッションは代替モデルのまま続き、元に戻すには /model を実行する。availableModels 設定で代替モデルが除外されている場合は切り替えが起きず、拒否は通常のエラーとして表示される。
セッションの最初のリクエストでフラグが立つこともあるとドキュメントは書いている。最初のリクエストには CLAUDE.md や git status などのワークスペース情報が含まれるため、セキュリティや生物学の資料を含むリポジトリではそれだけで分類器が反応しうる。原因がカスタマイズかどうかを確かめるには claude --safe-mode でセッションを始めるよう Anthropic は勧めている。このモードでも git status とディレクトリ名は送られる。
最近の変更
Claude Code の CHANGELOG には、フラグが立ったメッセージの扱いに関する最近の変更がいくつか載っている。9月29日リリースの 2.1.284 では、Sonnet モデルの安全機能がメッセージにフラグを立てたときの通知が、理由を説明し、編集して再試行する選択肢を出すようになった。同じバージョンで、ANTHROPIC_DEFAULT_OPUS_MODEL や modelOverrides で Opus モデルを固定しているセッションについて、Anthropic API 上の切り替え先を固定モデルではなく API がフラグの種類ごとに選ぶようになった。10月2日リリースの 2.1.287 では、フラグ後の自動切り替えで新しいモデルの既定値ではなく現在の effort レベルを保つようになった。10月6日リリースの 2.1.290 では、設定に別の effort レベルが保存された代替モデルで再試行すると effort レベルが変わる問題が修正された。10月15日リリースの 2.1.300 では、VS Code でフラグが立ったメッセージの「Edit prompt」を押すとファイルやコマンドのメニューが開いてしまう問題が修正された。
切り替え前に確認させる方法
Anthropic の Settings reference に switchModelsOnFlag の説明がある。/config では「Switch models when a message is flagged」として表示され、選択肢は「Switch automatically」と「Ask each time」だ。
- true:代替モデルに切り替えて続行する。
- false:対話セッションでは一時停止し、切り替えるかプロンプトを編集するかを選べる。-p 実行などダイアログを出せない場合は、フラグが立ったリクエストはエラーで終わる。
- 未設定:自動で切り替えるが、対話セッションでは先に確認することがある。確認に答えると、その選択がユーザー設定にこの設定として保存される。
GitHub の issue でのユーザー報告
anthropics/claude-code リポジトリには、この設定が効かない、あるいは普通の作業にフラグが立つという未解決の issue が複数ある。以下はユーザー自身の報告だ。
- 10月18日に jlumbroso が立てた issue 103106:プロジェクト設定で switchModelsOnFlag を false にしていたのに、claude-fable-5 のセッションが 10月14日に操作なしで claude-opus-4-8 に切り替わった。
- 10月2日に ttmdxb が立てた issue 98875:自社オフィス PC の IT 管理中、Fable 5.1 が繰り返し cyber のフラグを立てた。1 つのセッションで 255 件連続のメッセージが Opus 4.8 で処理され、設定は無視され、モデルが変わったことは画面に表示されなかったという。
- 9月30日に axiomie が立てた issue 98387:設定を false にしていても、Agent ツールで起動したサブエージェントが拒否の後 claude-opus-4-8 で続行した。
- 9月19日に cafe24-yyoh が立てた issue 95500:設定を false にした状態で、Fable 5 が童謡の歌詞や日常的な韓国語の EC 開発指示にまでフラグを立て、そのセッションでは Fable 5 が使えなくなったという。
- 9月1日に sayantan-work が立てた issue 91209:LaunchAgent の plist ファイルを読むなどのローカルの不具合調査が 8月3日以降 15 回 cyber としてフラグされ、セッション全体が Opus 4.8 に固定されたという。
確認した時点で、これらの issue に Anthropic からの返信はなかった。
