是什么

model-config 描述 Claude Code 的模型选择机制,包括模型别名、各提供商的模型 ID 格式、切换方式和版本固定策略。

核心机制

模型别名

别名行为
default清除模型覆盖,恢复账号推荐模型
best最强模型,当前等同于 opus
sonnet日常编码任务的最新 Sonnet
opus复杂推理的最新 Opus
haiku简单任务的快速轻量模型
sonnet[1m]Sonnet + 1M token context window
opus[1m]Opus + 1M token context window
opusplanPlan 阶段用 Opus,执行阶段切换到 Sonnet

各提供商的别名解析

  • Anthropic API / Claude Platform on AWS:opus → Opus 4.7,sonnet → Sonnet 4.6
  • Bedrock / Vertex / Foundry:opus → Opus 4.6,sonnet → Sonnet 4.5(低一个版本)

设置模型的优先级

  1. Session 内:/model <alias|name> 或 /model 打开选择器
  2. 启动时:claude --model <alias|name>
  3. 环境变量:ANTHROPIC_MODEL=<alias|name>
  4. Settings 文件:"model": "sonnet"

/model 选择保存到 user settings,跨 session 持久化。--model 和 ANTHROPIC_MODEL 仅当次 session 有效。

固定具体版本

# 使用完整模型名
export ANTHROPIC_MODEL=claude-sonnet-4-6
# 或通过环境变量固定别名解析
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6

各提供商的模型 ID 格式

  • Anthropic API:完整模型名,如 claude-opus-4-7
  • Bedrock:inference profile ARN
  • Foundry:deployment name
  • Vertex:version name

关键细节

  • Opus 4.7 需要 Claude Code v2.1.111+,运行 claude update 升级
  • 项目 .claude/settings.json 固定了模型时,个人选择会写入 .claude/settings.local.json 保持生效
  • Managed settings 优先级最高,下次启动时重新应用
  • ANTHROPIC_BASE_URL 改变请求目标,不改变模型选择;路由到 gateway 见 llm-gateway

与其他概念的关联

  • settings - 模型配置在 settings.json 中的位置
  • llm-gateway - 通过 gateway 使用自定义模型名
  • fast-mode - Opus 的高速模式配置

实践要点

  • 团队部署固定具体版本,避免别名指向的模型升级影响稳定性
  • opusplan 别名适合需要深度规划但执行阶段不需要最强模型的场景
  • 同时运行多个不同模型的 session:用 --model 标志启动,不要用 /model 切换