Claude Code CLI · 手动配置
配置文件位置
| 平台 | 路径 |
|---|---|
| macOS / Linux / WSL | ~/.claude/settings.json |
| Windows | %USERPROFILE%\.claude\settings.json |
启动时采用哪种认证路径取决于当前版本、账户和 provider 配置。不要把“存在 settings.json”等同于“可以跳过登录或首次引导”;官方账户/API 与第三方 LLM Gateway 是不同路径。
最小可用模板
{
"env": {
"ANTHROPIC_BASE_URL": "https://foropencode.com",
"ANTHROPIC_API_KEY": "sk-xxx"
}
}保存后重新启动一个 Claude Code 会话,并用 /status 核对实际 Base URL。不要假定所有版本和插件组合都能热切换。
完整环境变量字段
env 段所有字段在进程启动时注入到环境变量。Anthropic 官方文档列出的:
认证与路由
| 变量 | 用途 |
|---|---|
ANTHROPIC_API_KEY | 作为 x-api-key 请求头发送。中转站若校验标准 Anthropic Key,用这个 |
ANTHROPIC_AUTH_TOKEN | 作为 Authorization: Bearer 请求头发送。很多第三方网关用的是这个,不是 ANTHROPIC_API_KEY |
ANTHROPIC_BASE_URL | 请求目标地址。本站截图使用第三方网关 https://foropencode.com;实际路径以网关当前正式说明为准 |
模型选择
| 变量 | 用途 |
|---|---|
ANTHROPIC_MODEL | 指定默认模型,覆盖 settings 的 model 设置;会被 --model 参数和会话内 /model 选择覆盖 |
ANTHROPIC_DEFAULT_OPUS_MODEL | opus 别名解析到的具体模型 ID |
ANTHROPIC_DEFAULT_SONNET_MODEL | sonnet 别名解析到的具体模型 ID |
ANTHROPIC_DEFAULT_HAIKU_MODEL | haiku 别名解析到的具体模型 ID |
ANTHROPIC_DEFAULT_FABLE_MODEL | fable 别名解析到的具体模型 ID |
CLAUDE_CODE_SUBAGENT_MODEL | 子代理用什么模型(默认跟主模型一样) |
CLAUDE_CODE_EFFORT_LEVEL | 推理深度档位 |
行为开关
| 变量 | 用途 |
|---|---|
MAX_THINKING_TOKENS | 上限思考 token,0 关闭思考(Fable 5 例外) |
DISABLE_AUTO_COMPACT | 1 关掉自动压缩 |
DISABLE_AUTOUPDATER | 1 关掉自动更新 |
CLAUDE_CODE_DISABLE_1M_CONTEXT | 1 让 1M 变体不出现在 /model 选择器里 |
CLAUDE_CODE_SAFE_MODE | 等价于 --safe-mode |
CLAUDE_CODE_SIMPLE | 等价于 --bare |
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS | AWS 400 时关掉实验性 Beta 头 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC | 关掉遥测、更新检查 |
提示词缓存
| 变量 | 用途 |
|---|---|
DISABLE_PROMPT_CACHING | 全模型关闭缓存 |
DISABLE_PROMPT_CACHING_{HAIKU,SONNET,OPUS,FABLE} | 关闭特定模型缓存 |
ENABLE_PROMPT_CACHING_1H | 启用 1 小时长缓存(需对应分组支持) |
网络与非必要流量
如果组织策略要求减少非必要流量,可仅使用 Anthropic 当前文档明确列出的设置,并先理解功能影响。skipWebFetchPreflight 是官方 LLM Gateway 文档记录的 settings 选项:WebFetch 工具的域名安全预检默认仍会请求 api.anthropic.com,仅当网络确实封锁该主机时才在 settings 中设置 "skipWebFetchPreflight": true 单独关闭。ENABLE_TOOL_SEARCH 是当前官方变量,但只控制 MCP tool search,且在第三方网关下有特定兼容条件,不是通用联网修复,因此不放进最小模板。
连接异常时先检查 HTTP_PROXY、HTTPS_PROXY、NO_PROXY、DNS、系统时间与企业证书代理。不要关闭 TLS 校验或添加来源不明的 skip* 字段。详见 CC-017:WebFetch 排查。
系统环境变量(临时/一次性配置)
不想改 settings.json,也可以在 shell 中导出环境变量。注意官方规则:当 shell 导出与 settings.json 的 env 段设置同名变量时,以 settings.json 中的值为准;shell 导出只对当前终端会话及其子进程生效,适合首次验证连接或临时切换。
~/.zshrc 或 ~/.bashrc:
export ANTHROPIC_BASE_URL=https://foropencode.com
export ANTHROPIC_API_KEY=sk-xxxsource ~/.zshrc 后新开终端跑 claude。
[System.Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://foropencode.com", "User")
[System.Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "sk-xxx", "User")重启所有终端窗口 让新值进入子进程。
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在用户变量里新建:
ANTHROPIC_BASE_URL=https://foropencode.comANTHROPIC_API_KEY=sk-xxx
- 重启所有终端
网关拒绝 Beta 字段时的兼容项
如果第三方网关明确返回 anthropic-beta 或 Beta schema 不兼容错误:
{
"env": {
"ANTHROPIC_BASE_URL": "https://foropencode.com",
"ANTHROPIC_API_KEY": "sk-xxx",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
}
}保存后重启所有终端,再启动 claude 生效。仅在错误明确与实验性 Beta 头有关、且 Anthropic 当前文档仍记录该变量时使用。详见 CC-006。
验证 & 排查
claude
/status/status 里看到的 Base URL 应该是你刚配的。看到 api.anthropic.com = 配置没生效或被覆盖。
| 现象 | 排障页 |
|---|---|
| 401 / Invalid API Key | CC-007、CC-016 |
| Key 看起来对但仍 401 | CC-021 不可见字符 |
| OAuth 残留覆盖中转 | CC-018 |
| Invalid model | 对照当前端点实时模型列表,不照抄旧分组名或模型名 |
资料来源:Claude Code 设置 · LLM Gateway 配置 · Claude Code 官方 GitHub(2026-07-26 核对)