问题:Claude Code 启动报 “There’s an issue with the selected model (gpt-5.6-luna)“。排查后确认不是模型问题,而是三个配置错误叠加。下面先给可直接抄的配置,坑放最后。
一、最终配置(结果)
把这段 env 写进 ~/.claude/settings.json:
{
"env": {
"ANTHROPIC_API_KEY": "sk-你的OpenCodeGoKey",
"ANTHROPIC_BASE_URL": "https://opencode.ai/zen/go",
"ANTHROPIC_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-v4-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-v4-flash",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}
}
验证:claude -p "hi" 能正常回复即成功。
二、接入格式的三个要点
| 要点 | 正确写法 | 错误写法 |
|---|---|---|
| Base URL | https://opencode.ai/zen/go(Claude Code 自动拼 /v1/messages) | .../zen/go/v1 或 .../zen/go/v1/messages → 双 /v1,404 |
| 认证变量 | ANTHROPIC_API_KEY(发 x-api-key 头) | ANTHROPIC_AUTH_TOKEN(发 Bearer 头,网关 401 拒绝) |
| 模型选择 | 走 /v1/messages 的模型:qwen3.7-plus、qwen3.8-max、minimax-m3、deepseek-v4-flash | gpt-5.6-luna、grok-4.5 走 /v1/responses,协议不兼容 |
OpenCode Go 的模型分三套协议,只有第一套能直接接 Claude Code:
- ✅
/v1/messages(Anthropic 兼容,直接接):qwen3.7-plus、qwen3.8-max、minimax-m3、minimax-m2.7 - ⚠️
/v1/chat/completions(实测可直连,官方未保证):deepseek-v4-flash、glm-5.x、kimi-k* - ❌
/v1/responses(需协议转换网关):gpt-5.6-luna、grok-4.5
三、踩坑清单(简短版)
- “模型不存在”是误报:
gpt-5.6-luna真实存在,但走/v1/responses协议且 key 无权限(403),Claude Code 统一误报成”模型不存在”。 - Base URL 双
/v1:填.../zen/go/v1后实际请求变成/zen/go/v1/v1/messages→ 404。填https://opencode.ai/zen/go。 - 认证头 401:
ANTHROPIC_AUTH_TOKEN发 Bearer 头,OpenCode Go 网关只认x-api-key,改用ANTHROPIC_API_KEY。 - 配置切换工具会写回
ANTHROPIC_AUTH_TOKEN:每次切换后检查 settings.json。 - 排障方法论:
curl直连网关 →claude -p复现 →--debug看[API REQUEST]实际路径。改 settings.json 会热加载,无需重启。