据 Anthropic 的 Claude Code 文档,Fable 系列、Opus 5.5、Sonnet 5.5 和 Opus 5 都带安全分类器运行,最常被标记的是网络安全和生物学内容。请求被标记后,Claude Code 可能换一个模型重跑。这就是会话没经你选择就换了模型的原因。
会换到哪个模型
据 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 上重跑,生物学类直接以拒绝结束。
文档说,切换时 Claude Code 会在对话记录里显示提示。切换后会话继续用备用模型,要换回去需要运行 /model。如果 availableModels 设置屏蔽了备用模型,就不会切换,拒绝会显示为普通错误。
文档还提到,会话的第一个请求就可能被标记。第一个请求带有 CLAUDE.md、git status 等工作区信息,仓库里有安全或生物学资料时,单靠这些就可能触发分类器。Anthropic 建议用 claude --safe-mode 启动会话,排查是不是自定义内容引起的。这个模式下 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」时,文件或命令菜单盖住恢复的提示词的问题。
怎样让 Claude Code 先问你
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,反映这个设置不总是生效,或普通工作也被标记。以下都是用户自己的说法。
- jlumbroso 10 月 18 日提交的 issue 103106:项目设置里 switchModelsOnFlag 设为 false,claude-fable-5 上的会话仍在 10 月 14 日、用户没有任何操作的情况下切到了 claude-opus-4-8。
- ttmdxb 10 月 2 日提交的 issue 98875:管理自己公司办公电脑时,Fable 5.1 反复把内容标为 cyber。提交者说,一次会话里连续 255 条消息在 Opus 4.8 上运行,设置被忽略,界面也没有提示换了模型。
- axiomie 9 月 30 日提交的 issue 98387:设置为 false 后,用 Agent 工具启动的子代理在拒绝后仍在 claude-opus-4-8 上继续。
- cafe24-yyoh 9 月 19 日提交的 issue 95500:在设为 false 的情况下,提交者说 Fable 5 连儿歌歌词和日常的韩语电商开发指令都标记了,会话再也无法用 Fable 5。
- sayantan-work 9 月 1 日提交的 issue 91209:提交者说读取 LaunchAgent plist 文件等本地排障操作自 8 月 3 日以来 15 次被标为 cyber,整个会话被固定在 Opus 4.8。
我们查看时,这些 issue 都没有 Anthropic 的回复。
