【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, indent2) # 步骤 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_MODELclaude-sonnet-4-20250514 # 步骤 4验证 claude task4. 各方案对比总结方案适用场景推荐指数难度方案一最新模型通用⭐⭐⭐⭐⭐低方案二更新配置长期⭐⭐⭐⭐⭐低方案三别名简化⭐⭐⭐⭐低方案四正确格式格式⭐⭐⭐⭐⭐低方案五更新版本旧版本⭐⭐⭐⭐⭐低方案六检查代码硬编码⭐⭐⭐⭐⭐低5. 常见问题 FAQ5.1 如何查看可用模型claude --list-models # 或 claude --help | grep -A20 model5.2 模型命名格式claude-{tier}-{version}-{date}例如claude-sonnet-4-20250514。5.3 哪些模型已弃用claude-3-opus-20240229claude-3-sonnet-20240229claude-3-haiku-20240307早期版本号5.4 如何设置默认模型在~/.claude/settings.json中设置model: claude-sonnet-4-20250514。5.5 别名是什么sonnet、opus、haiku等简称自动指向最新版本。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 task5.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. 总结根本原因模型弃用最常见原因是版本号格式错误35%和模型被 Anthropic 弃用30%最佳实践使用claude --list-models查看可用模型使用最新模型名正确格式claude-sonnet-4-20250514、claude-opus-4-20250514、claude-3-5-haiku-20241022更新配置在~/.claude/settings.json中更新model字段最佳实践建议使用别名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[✅ 长期方案]