· 8 分钟 · 开发者指南

如何更改 Claude Code 的默认模型(以及 2.1.251 中新增的模型切换钩子)

如何更改 Claude Code 的默认模型(以及 2.1.251 中新增的模型切换钩子)

更改你的 Claude Code 默认模型 首先需要了解:模型选择应保留到新会话中,还是仅应用于当前会话。本指南介绍 /model 的持久保存行为、截至发布截止时间仍未经核实的配置细节,以及 Claude Code 2.1.251 引入的模型切换钩子和缓存诊断功能。

使用 /model 设置 Claude Code 默认模型

关键区别在于保存偏好设置与临时切换模型。截至 2026 年 29 月, /model 已支持这两种工作流程。

2.1.153 版本更改了 /model 的行为,使所选模型保存为新会话的默认模型。这一行为早于 2.1.251:八月的版本引入的是模型切换钩子,而非记住交互式模型选择的能力。

该 固定版本的更新日志 是区分这两种行为的历史参考依据。它既记录了持久保存选择的行为,也记录了用于临时切换的选择器操作。

为未来的会话保存偏好设置

使用模型选择器:

/model

选择你希望设为默认值的模型。2.1.153 引入的持久保存行为意味着,这一选择会保存下来,供新会话使用。

这是对“如何让我的首选模型持续生效?”这一问题最明确且有历史依据的回答。无需将早期版本引入的功能视为 2.1.251 的新能力。

仅为当前会话切换模型

按下 s 即可在选择器中仅为当前会话切换模型。如果只希望临时使用所选模型,请使用此操作。

在遵循旧版说明或维护自定义键盘快捷键时,这一区别很重要。选择器之前的 d 操作变为 s,关联的自定义按键绑定也从 modelPicker:setAsDefault 变为 modelPicker:thisSessionOnly.

如需了解更全面的模型选择背景,请参阅 Claude Code 模型指南。这个版本相关的要点很简单:普通选择会保存默认模型,而仅限当前会话的操作则允许你临时切换。

配置文件、ANTHROPIC_MODEL 和启动时覆盖设置

模型配置还可以通过设置文件、环境变量和启动标志完成。不过,所提供的研究资料指出了一项历史局限:这些方式的具体文档和优先级尚未通过截至 2026 年 29 月可用的快照进行独立核实。

该 模型配置文档 和 设置文档 介绍了这些方式,但这些页面包含后续更新,无法证明本文截止时间之前的所有行为细节。

下表区分了文档中列出的选项与有日期的证据所支持的内容。

配置方式 所提供研究资料中的细节 本文中的历史核实状态
交互式 /model 选择 为新会话保存默认模型 已在截止时间之前的更新日志中确认
选择器操作 s 仅为当前会话切换模型 已在截止时间之前的更新日志中确认
设置文件 model 键 持久配置选项 截止时间之前的具体文档尚未核实
ANTHROPIC_MODEL 基于环境变量的模型选择选项 截止时间之前的具体文档尚未核实
启动 --model 标志 在启动时选择模型 截止时间之前的具体优先级尚未核实

哪项设置优先?

所提供的研究资料指出,文档将启动标志的优先级置于 ANTHROPIC_MODEL之上,并将环境变量的优先级置于设置文件中的 model 值之上。资料也明确标注,截至发布截止时间,这一顺序尚未经核实。

因此,本文不会将这一优先级链视为 29 年八月已确定的事实。 /model 的持久保存行为变更有带日期的更新日志作为依据;精确的配置层级则没有。

如何为单个项目设置默认模型?

研究资料指出,文档中列出了用户设置文件、项目设置文件和个人项目设置文件。但它并未通过截止时间之前的快照,确认这些文档当时的具体表述或模型设置行为。

因此,这里能给出的回答比项目配置教程更有限: /model 的持久保存行为已获确认,而针对特定项目的文件配置说明仍需历史核实。 CLI 参考文档 可作为命令行配置的实用补充资料,但它并不能消除本文的证据范围限制。

2.1.251 中的模型切换钩子新增了哪些能力

Claude Code 2.1.251 于 2026 年 28 月发布。其 官方发布说明 引入了两个钩子,确切名称如下:

  • PreModelSwitch
  • PostModelSwitch

发布说明将它们的能力描述为阻止模型切换、要求确认或添加注释。这些钩子通过围绕切换过程提供控制,扩展了模型选择工作流程。

这才是需要与默认模型持久保存行为区分的新功能。保存模型偏好的能力此前已存在;新的钩子事件增加了参与模型变更过程的方式。

钩子能否阻止切换或请求确认?

可以,阻止切换和请求确认是发布公告明确列出的能力。添加注释也在其中。

公告并未提供完整的输入和输出模式、匹配器规则或决策 JSON。因此,它足以支持对这些能力的描述,但不足以仅凭公告发布可运行的配置。

同样的限制也适用于其他细节,例如哪些载荷字段用于标识旧模型和新模型,以及确认响应必须采用何种结构。所提供的截止时间之前的证据中没有这些细节。

实现钩子之前需要哪些信息?

可用的实现不仅需要事件名称,还需要适用的配置格式和受支持的响应约定。发布说明并未提供这些内容。

请参阅 Claude Code 钩子指南 以了解更全面的钩子背景。对于此版本,应准确限定已确认的范围: PreModelSwitch 和 PostModelSwitch 确实存在,且公告描述了阻止切换、请求确认和添加注释的能力。

检查提示词缓存行为和恢复成本

2.1.251 版本还新增了有助于解释提示词缓存行为的诊断功能。这些新增功能展示了缓存活动和预估重建成本;该版本并未公布新的 token 价格或具体的缓存数量限制。

查看 /cost 中新增的缓存信息行

现有命令新增了按会话显示的提示词缓存信息行:

/cost

该行报告以下四项信息:

  • 命中率
  • 未命中次数
  • 重新缓存的 token 数
  • 热缓存或冷缓存状态

这些信息结合起来,比单独的成本数字提供了更详细的缓存视图。它们区分缓存命中与未命中,并展示重新缓存了多少 token。

状态栏脚本也新增了相应的 prompt_cache 对象。这样,缓存诊断信息既可通过状态栏界面查看,也可通过 /cost.

查看。公告并未提供该对象的完整模式。应将 prompt_cache 视为已确认的对象名称,不要假定它包含发布说明所述诊断信息之外的其他字段。

通过 SessionStart 查看恢复会话的信息

恢复会话时, SessionStart 钩子现在会收到会话的陈旧程度以及重建提示词缓存的预估成本。

这与以下内容不同: /cost 显示:恢复会话时新增的功能向钩子提供信息,而该命令报告每个会话的缓存诊断信息。这两项新增功能都涉及缓存可见性,但通过不同的接口提供这些信息。

发行说明未给出会话陈旧程度或预估重建成本的确切载荷键名。假定这些键名的钩子示例会超出已有证据的范围。

其他模型默认值和诊断功能的变化

2.1.251 中的几项相关变化会影响对“默认模型”的理解。它们涉及子智能体、账户默认值、思考力度偏好以及网关支出的可见性。

子智能体模型的优先级

CLAUDE_CODE_SUBAGENT_MODEL 现在提供默认值。智能体定义中的 model: 值以及创建智能体时显式选择的模型,其优先级均高于该变量。

这是带版本标签的更新日志中已确认的优先级变化。应将其与尚未核实的主模型启动参数、环境变量和设置文件值的历史优先级顺序区分开来。

检查子智能体的模型选择时,应先考虑这些显式选择,再判断环境变量是否具有决定性作用。 子代理指南 提供了有关智能体配置的更全面背景。

账户默认值和思考力度偏好

按席位计费的 Enterprise 订阅现在默认使用 Opus 5,与其他高级套餐一致。

这项账户级变化与通过以下方式保存的模型偏好是分开的: /model。此版本还改变了 /effort 的持久化方式:现在会为每个模型分别保存默认思考力度。

实际区别在于,模型选择和思考力度的持久化是独立的设置。新的思考力度行为会记住每个模型各自的默认值,而不是使用一个共享的默认思考力度。

网关支出可见性

该 /usage 命令新增了一个 支出限额 进度条,供使用设有支出限额的 Claude 应用网关的开发者查看:

/usage

状态栏脚本新增了对应的 rate_limits.spend_limit 字段。这是针对该网关使用场景新增的诊断功能。

更新日志并未宣布通用的美元金额上限。因此,不应将支出限额显示功能理解为适用于所有 Claude Code 用户的固定限额。

要点

  • /model 在 2.1.251 之前就已经会为新会话保存默认值;该行为始于 2.1.153。
  • 按下 s ,即可在模型选择器中仅为当前会话切换模型。自定义快捷键使用 modelPicker:thisSessionOnly.
  • Claude Code 2.1.251 新增了 PreModelSwitch 和 PostModelSwitch,发行说明描述了其阻止、确认和注释功能。
  • /cost、状态栏缓存数据以及恢复会话时的 SessionStart 信息,使提示词缓存活动和预估重建成本更加可见。
  • CLAUDE_CODE_SUBAGENT_MODEL 提供默认值,但显式选择的智能体模型可以覆盖该默认值。所提供的研究资料尚未核实主模型配置的确切历史优先级。

常见问题

/model 会在 Claude Code 中保存默认模型吗?

会。版本 2.1.153 修改了 /model ,使所选模型保存为新会话的默认模型,而这一行为在 2.1.251 之前就已存在。按 s ,即可在选择器中仅为当前会话切换模型。

settings.json、ANTHROPIC_MODEL 和 --model 中,哪个优先?

所提供的研究资料称,文档将启动参数的优先级排在以下变量之上: ANTHROPIC_MODEL,并将该变量的优先级排在设置文件的模型值之上。不过,这一确切顺序未在 29 年八月之前的 2026 快照中得到独立核实,因此本文并未将其确认为截至该时间点的特定行为。

Claude Code 的模型切换钩子可以阻止切换吗?

2.1.251 版本的说明将 PreModelSwitch 和 PostModelSwitch 描述为支持阻止、确认和注释模型切换。说明未提供完整的架构或决策 JSON,因此仅凭该公告不足以实现可运行的钩子。

在哪里可以查看缓存未命中情况和预估重建成本?

在 2.1.251 中, /cost 报告每个会话的缓存命中率、未命中次数、重新缓存的 token 数以及热缓存或冷缓存状态;状态栏脚本新增了相应的 prompt_cache 对象。另外, SessionStart 钩子会在恢复会话时收到会话的陈旧程度以及提示词缓存的预估重建成本,但发行说明未指定这些载荷键名。

A

本博客由 AI Prime Tech 发布。文章借助 AI 辅助起草;在据此采取行动前,请对照官方文档核实模型 ID、价格和限额等特定版本的细节。

以更低价格接入 Claude API

一个 API 密钥即可使用 Claude Opus 5.5、Sonnet 5、Haiku 4.5 和 Fable 5.1,以及 GPT-6 个模型。按量付费,无需订阅。

获取 API 密钥 →
AI Prime Tech 是独立的第三方 API 网关。Claude™ 和 Anthropic® 是 Anthropic, PBC 的商标。此处不暗示任何关联或背书。