Claude Code 配置模型,先分清是只改当前会话,还是希望以后启动时也使用该模型:临时选择可用启动参数或在会话中切换;要保存默认值,可通过模型选择器或设置文件配置。个人设置适用于本机各项目,项目设置则可以只作用于某个项目。
Claude Code 里切换模型,临时选择和设为默认有什么区别?
如果只是想在当前任务试用另一个模型,启动 Claude Code 时可以使用 claude --model <模型别名或名称>,例如 claude --model sonnet。这种命令行选择只影响以该参数启动的会话,不会自动把它保存为今后所有会话的默认模型。需要在多个终端分别运行不同模型时,也可以分别给每个启动命令指定 --model。
已经进入交互会话后,输入 /model 打开模型选择器。根据当前官方文档,选择模型后按 Enter 会切换模型,并保存为新会话使用的默认选择;按 s 则只切换当前会话,不改变已保存的默认值。直接输入 /model <名称> 的行为相当于选择模型并保存默认值。若你的版本按键行为不同,先核对 Claude Code 版本及该版本对应的文档。
还可以设置环境变量 ANTHROPIC_MODEL,让用该环境启动的会话采用指定模型。不过它影响的是启动会话,并且会优先于设置文件里的 model 值;如果变量仍然存在,之后启动时可能继续使用变量指定的模型。排查“明明改了默认值,重新打开却又变回去”时,应检查启动命令和 shell 环境中的这个变量。
需要注意,模型别名与具体模型名称不是一回事。别名如 sonnet 会根据服务提供方及其可用配置解析,别名指向也可能随时间变化;若要固定特定版本,应先确认所用提供方支持的准确名称,再使用该名称。不要仅凭网上旧示例推断当前账号或服务一定能使用某个模型。
怎样把模型设置保存到个人或项目配置?
Claude Code 设置文件中的 model 字段可以指定默认模型。以下是最小 JSON 示例,实际名称应替换为你当前服务可用的模型别名或名称:
{
"model": "sonnet"
}
要让设置适用于本机上的各个项目,可编辑个人设置文件 ~/.claude/settings.json。Windows 环境下,官方文档中的 ~/.claude 对应用户目录下的 .claude 文件夹。保存后,新会话可读取个人默认设置;如果启动参数、环境变量或更高优先级的配置另有指定,实际选择仍可能不同。
只想让某个项目的协作者统一使用一个模型,可以在项目目录的 .claude/settings.json 中设置 model。这属于共享项目设置:文件提交到版本控制后,协作者克隆项目时才能获得这份配置。团队项目是否适合固定默认模型,要看成员所用服务是否支持该名称、组织是否限制可选模型;不确定时,先和团队确认再提交,避免把个人偏好当成所有人的通用配置。
如果只想在一个项目里为自己覆盖选择,不希望影响其他协作者,可用项目内的 .claude/settings.local.json。它适合本地测试和个人覆盖;官方文档说明 Claude Code 创建该文件时会将其排除在 Git 提交之外。若是手动新建,需自行确认它已被忽略,避免把本地配置意外提交。
编辑设置文件时,注意它必须是合法 JSON:不能添加注释,也不能在最后一个项目后多写逗号。文件有错误时,Claude Code 可能提示设置错误,或忽略无法识别的条目。设置路径也要与目标范围相符:个人文件管所有本机项目,项目文件面向该项目,项目本地文件则用于个人覆盖。
模型设置了却没有生效,应该按什么顺序检查?
- 先判断设置是否只对当前会话有效。 使用
--model启动,或在模型选择器中按s,本来就不会把选择保存为新的个人默认值。重新启动后出现不同模型,不一定代表配置失效。 - 检查启动参数和环境变量。 对照启动命令是否带有
--model,再检查运行环境是否设置了ANTHROPIC_MODEL。环境变量可以覆盖设置文件里的model,所以只修改 JSON 文件未必能改变实际选择。 - 核对配置文件的作用范围和优先级。 项目设置、项目本地设置、个人设置和组织托管设置并非同一层级。更高优先级的设置可能覆盖低优先级值;组织管理员也可能设置默认值或限制可选模型。启动界面若指出模型由项目或托管设置指定,先检查相应文件或向管理员确认,而不是反复修改个人设置。
- 确认文件格式和是否被读取。 在会话中运行
/status可以查看当前加载了哪些设置来源,但它列出的是已加载的文件,并不直接说明每个配置项最终取自哪一个文件。若文件格式有误或条目被拒绝,可运行claude doctor查看诊断信息。 - 最后确认模型名称是否可用。 拼写错误、服务方不提供该名称、账号不可用或组织限制,都可能导致选择失败。这类情况与“文件没有保存”不同。对于通过参数或设置文件指定的名称,Claude Code 不一定会提前验证;名称错误可能直到首次请求才报错。
另一个常见误区是把请求路由地址当成模型选择。官方文档明确说明,ANTHROPIC_BASE_URL 改变的是请求发送到哪里,不决定由哪个模型回答。若使用网关或第三方服务,模型名称还需符合该服务的配置与可用范围。
怎样确认 Claude Code 当前实际使用的是哪个模型?
不要只看某个 JSON 文件里写了什么,因为其他配置可能覆盖该值。先在 Claude Code 会话中使用 /model 查看模型选择入口,并结合启动时的提示判断当前默认或模型来源。官方文档说明,当模型由项目设置或托管设置指定时,启动信息会指出相应设置文件。
还可以运行 /status 核对本次会话加载了哪些设置文件。如果结果显示读取了个人和项目设置,要记住这只能证明文件已加载,不能单独证明某个 model 字段胜出。因此,核对时应把模型选择入口、启动信息、设置来源和启动参数一并考虑;不要仅凭配置文件内容断定当前请求已经使用了目标模型。
什么情况下不建议为每个项目单独固定模型?
如果项目成员使用不同的服务提供方、账号权限或模型可用范围,固定某个具体名称可能让部分成员无法使用;如果大家只是希望保留个人习惯,项目共享配置也不一定合适。团队确实需要统一默认模型时,可以先确认成员都能访问该选项,再将设置放入共享项目文件;个人尝试则留在个人设置或项目本地文件中。
本文配置方式依据 Claude Code 官方模型配置与设置文档整理,核查日期为 2026 年 10 月 9 日。模型名称、别名解析、组织限制及不同版本的操作细节可能变化,遇到与界面不符的情况,应以当前安装版本及对应官方文档为准。
