【Bug已解决】Claude model deprecated / Model no longer available — Claude 模型弃用解决方案

📅 2026/7/10 1:38:00 👁️ 阅读次数 📝 编程学习
【Bug已解决】Claude model deprecated / Model no longer available — Claude 模型弃用解决方案

【Bug已解决】Claude: "model_deprecated" / Model no longer available — Claude 模型弃用解决方案

1. 问题描述

Claude 报模型已弃用或不再可用:

# 模型弃用 $ claude --model claude-3-opus-20240229 "task" Error: model_deprecated This model version is no longer available. # 或模型不存在 $ claude --model claude-3-sonnet Error: model_not_found Model 'claude-3-sonnet' does not exist. # 或版本号错误 $ claude --model claude-3.5-sonnet Error: model_not_found Did you mean 'claude-sonnet-4-20250514'? # 或默认模型弃用 $ claude "task" Error: model_deprecated The default model is deprecated. Please update.

这个问题在以下场景中特别常见:

  • 使用旧版本模型名称
  • 模型被 Anthropic 弃用
  • 版本号格式错误
  • 配置中模型名过时
  • 新模型发布后旧名不可用
  • 代码中硬编码旧模型名

2. 原因分析

原因分类表

原因分类具体表现占比
版本号错误格式不对约 35%
模型弃用不再支持约 30%
配置过时旧模型名约 15%
硬编码代码中约 10%
大小写Claude vs claude约 5%
别名移除简称不再用约 5%

3. 解决方案

方案一:使用最新模型名(最推荐)

# 步骤 1:查看可用模型 claude --list-models # 或 claude --help | grep -A20 model # 步骤 2:使用最新模型 claude --model claude-sonnet-4-20250514 "task" claude --model claude-opus-4-20250514 "task" claude --model claude-3-5-haiku-20241022 "task" # 步骤 3:验证 claude --model claude-sonnet-4-20250514 --print "hello" # 步骤 4:使用默认模型 claude "task" # 使用默认最新模型

方案二:更新配置

# 步骤 1:检查配置中的模型 cat ~/.claude/settings.json | grep model # 步骤 2:更新模型名 python3 -c " import json with open('/root/.claude/settings.json') as f: config = json.load(f) config['model'] = 'claude-sonnet-4-20250514' with open('/root/.claude/settings.json', 'w') as f: json.dump(config, f, indent=2) " # 步骤 3:或手动创建 cat > ~/.claude/settings.json << 'EOF' { "model": "claude-sonnet-4-20250514" } EOF # 步骤 4:验证 claude --print "hello"

方案三:使用模型别名

# 步骤 1:使用别名(如果支持) claude --model sonnet "task" # 最新 Sonnet claude --model opus "task" # 最新 Opus claude --model haiku "task" # 最新 Haiku # 步骤 2:如果不支持别名,使用全名 claude --model claude-sonnet-4-20250514 "task" # 步骤 3:验证 claude --model sonnet --print "hello" # 步骤 4:使用默认 claude "task" # 自动使用最新默认模型

方案四:使用正确格式

# 步骤 1:正确格式 # 格式: claude-{tier}-{date} claude --model claude-sonnet-4-20250514 "task" claude --model claude-opus-4-20250514 "task" claude --model claude-3-5-haiku-20241022 "task" # 步骤 2:常见错误 # 错误: claude-3.5-sonnet(小数点) # 错误: Claude-3-Sonnet(大小写) # 错误: claude-3-sonnet-20240229(弃用) # 步骤 3:验证 claude --model claude-sonnet-4-20250514 --print "hello" # 步骤 4:使用 --list-models 查看所有 claude --list-models

方案五:更新 Claude Code

# 步骤 1:检查版本 claude --version # 步骤 2:更新 npm update -g @anthropic-ai/claude-code # 步骤 3:验证模型支持 claude --list-models # 步骤 4:使用最新模型 claude --model claude-sonnet-4-20250514 "task"

方案六:检查代码中的硬编码

# 步骤 1:搜索代码中的模型名 grep -r "claude-3" src/ --include="*.js" grep -r "claude-3" src/ --include="*.py" # 步骤 2:更新为新模型名 # 将 claude-3-sonnet-20240229 改为 claude-sonnet-4-20250514 # 步骤 3:使用环境变量代替硬编码 export CLAUDE_MODEL=claude-sonnet-4-20250514 # 步骤 4:验证 claude "task"

4. 各方案对比总结

方案适用场景推荐指数难度
方案一:最新模型通用⭐⭐⭐⭐⭐
方案二:更新配置长期⭐⭐⭐⭐⭐
方案三:别名简化⭐⭐⭐⭐
方案四:正确格式格式⭐⭐⭐⭐⭐
方案五:更新版本旧版本⭐⭐⭐⭐⭐
方案六:检查代码硬编码⭐⭐⭐⭐⭐

5. 常见问题 FAQ

5.1 如何查看可用模型

claude --list-models # 或 claude --help | grep -A20 model

5.2 模型命名格式

claude-{tier}-{version}-{date},例如claude-sonnet-4-20250514

5.3 哪些模型已弃用

  • claude-3-opus-20240229
  • claude-3-sonnet-20240229
  • claude-3-haiku-20240307
  • 早期版本号

5.4 如何设置默认模型

~/.claude/settings.json中设置"model": "claude-sonnet-4-20250514"

5.5 别名是什么

sonnetopushaiku等简称,自动指向最新版本。

5.6 大小写敏感吗

是的。使用小写claude-sonnet-4-20250514

5.7 如何更新代码中的模型名

grep -r "claude-3" src/ # 替换为新模型名

5.8 模型弃用后会怎样

返回model_deprecated错误,需要切换到新模型。

5.9 如何使用最新模型

claude "task" # 使用默认最新 # 或 claude --model claude-sonnet-4-20250514 "task"

5.10 排查清单速查表

□ 1. claude --list-models 查看可用 □ 2. 使用 claude-sonnet-4-20250514 □ 3. 使用 claude-opus-4-20250514 □ 4. 使用 claude-3-5-haiku-20241022 □ 5. 格式: claude-{tier}-{version}-{date} □ 6. 小写: claude 非 Claude □ 7. 更新 settings.json 的 model □ 8. 使用别名 sonnet/opus/haiku □ 9. npm update -g claude-code 更新 □ 10. grep -r "claude-3" 检查代码

6. 总结

  1. 根本原因:模型弃用最常见原因是版本号格式错误(35%)和模型被 Anthropic 弃用(30%)
  2. 最佳实践:使用claude --list-models查看可用模型,使用最新模型名
  3. 正确格式claude-sonnet-4-20250514claude-opus-4-20250514claude-3-5-haiku-20241022
  4. 更新配置:在~/.claude/settings.json中更新model字段
  5. 最佳实践建议:使用别名sonnet/opus/haiku(自动指向最新),或直接用默认模型

故障排查流程图

flowchart TD A[模型弃用] --> B[claude --list-models 查看可用] B --> C[使用最新模型名] C --> D[claude-sonnet-4-20250514] D --> E[claude --print hello 验证] E --> F{成功?} F -->|是| G[✅ 问题解决] F -->|否| H[检查格式] H --> I{格式正确?} I -->|否| j[使用 claude-tier-version-date 格式] I -->|是| K[检查大小写] j --> E K --> L{小写?} L -->|否| M[使用小写 claude] L -->|是| N[使用别名] M --> E N --> O[claude --model sonnet] O --> E F -->|否| P[更新配置] P --> Q[settings.json: model] Q --> R[更新为最新模型] R --> E F -->|否| S[更新 Claude Code] S --> T[npm update -g claude-code] T --> E F -->|否| U[检查代码硬编码] U --> V[grep -r claude-3 src/] V --> W[替换为新模型名] W --> E G --> X[长期: 别名 + list-models] X --> Y[✅ 长期方案]