跳转到内容

Claude Code 自定义配置

安装 Claude Code 后,如果需要使用自定义 API 端点(如公司内部部署或第三方代理),可以通过环境变量和配置文件进行配置。

Claude Code 配置全览

配置文件位于用户家目录:

平台配置文件路径
Linux / macOS / WSL~/.claude/settings.json
WindowsC:\Users\%USERNAME%\.claude\settings.json

使用自定义 API 时,需要修改 ~/.claude.json 文件(注意:不是 settings.json),添加以下配置以跳过 Anthropic 官方账号登录流程:

{
"hasCompletedOnboarding": true
}

可以通过环境变量配置自定义 API 和模型参数。以下环境变量均可写入系统环境变量或 ~/.claude/settings.json 配置文件。

环境变量说明
ANTHROPIC_BASE_URL自定义 API 基础 URL(如 https://your-api.example.com注意:无需添加 /v1 等版本后缀
ANTHROPIC_API_KEY自定义 API 密钥(部分代理服务使用 ANTHROPIC_AUTH_TOKEN
ANTHROPIC_MODEL默认模型名称
CLAUDE_CODE_ATTRIBUTION_HEADER设为 0 可移除系统提示中的归属区块(客户端版本和 prompt 指纹)。使用自定义 API 代理/网关时必须设为 0,否则每次请求的 system prompt 都不同,导致 KV cache 无法命中,推理速度可能下降 90%。直连 Anthropic API 的用户不受影响,不需要设置
ENABLE_TOOL_SEARCH控制 MCP 工具按需发现(tool search)功能。设为 true 始终开启,false 关闭(每次加载全部工具定义),auto:N 表示当工具定义超过上下文窗口的 N% 时自动触发。注意:当 ANTHROPIC_BASE_URL 指向非官方 API 时,此功能默认关闭(因为多数代理不转发 tool_reference 块)。使用自定义端点的用户需显式设为 true 以启用

如果需要为不同任务类型使用不同模型,可以配置以下环境变量:

环境变量适用场景
ANTHROPIC_DEFAULT_OPUS_MODEL复杂推理、架构设计、代码审查等高难度任务
ANTHROPIC_DEFAULT_SONNET_MODEL代码编写、功能实现、调试修复等日常任务
ANTHROPIC_DEFAULT_HAIKU_MODEL语法检查、文件搜索、格式化等简单任务
ANTHROPIC_REASONING_MODEL专门用于复杂推理任务的模型(如数学推导、逻辑分析)
环境变量说明默认值建议值
BASH_DEFAULT_TIMEOUT_MSBash 命令默认超时时间(毫秒)120000 (2 分钟)30000 (30 秒) — 对代理/网关用户,过长的默认超时可能导致长时间等待后返回代理层错误而非模型响应,缩短超时可更快暴露问题
MCP_TIMEOUTMCP 服务器启动超时时间(毫秒)30000 (30 秒)60000 (60 秒) — 部分 MCP 服务器(尤其是远程或容器化部署)冷启动超过 30 秒,放宽可避免启动失败
CLAUDE_BASH_NO_LOGIN跳过 Bash 登录 Shell 初始化(.bashrc / .zshrc),减少每个命令的启动延迟未设置(默认运行登录 Shell)1 — 除非命令依赖登录 Shell 中的环境变量,否则开启可明显加快命令执行速度
API_TIMEOUT_MSAPI 请求超时时间(毫秒),控制每次 HTTP 请求的最大等待时间600000 (10 分钟)3000000 (50 分钟) — 使用自定义代理/网关时,模型推理可能耗时较长(尤其大上下文或高 effort 级别),延长超时可避免请求被提前截断
CLAUDE_CODE_EFFORT_LEVEL模型推理深度。值:low / medium / high / xhigh / max / auto。注意:此变量优先级高于 /effort 命令和 effortLevel 设置项。max 不会通过 settings.json 持久化,必须设为环境变量模型默认(通常 highmax — 对复杂任务要求最高质量的推理输出,但会增加 token 消耗和响应时间
DISABLE_AUTOUPDATER禁止 Claude Code 后台自动更新检查。设为 1claude updateclaude install 仍可手动执行。如需完全禁用所有更新路径(含手动),改用 DISABLE_UPDATES未设置(自动更新开启)1 — 通过系统包管理器分发 Claude Code 时,应锁定版本避免自动升级破坏环境

Claude Code 默认会向 Anthropic 上报运行指标,用于改进产品。根据 官方文档 和源代码分析,上报的数据包括:用户 ID、会话 ID、应用版本、平台类型、组织 UUID、账户 UUID、启用的功能开关、API 调用负载大小,以及通过正则匹配检测到的用户挫败信号(frustration detection)。代码内容和文件路径不会上报。数据在传输和存储时均加密。禁用遥测不会影响任何功能。

环境变量说明
DISABLE_TELEMETRY禁用遥测数据收集。会同时禁用会话质量调查弹窗(除非通过 CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL 重新开启)。对于使用自定义 API 端点、对网络出口敏感或注重隐私的环境,建议开启
DISABLE_ERROR_REPORTING禁用自动错误报告上传(类似 Sentry 的崩溃报告)。不影响正常功能,但 Anthropic 将无法收到你的错误堆栈信息来修复 bug
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC一键关闭所有非必要网络流量。等效于同时设置 DISABLE_AUTOUPDATERDISABLE_FEEDBACK_COMMANDDISABLE_ERROR_REPORTINGDISABLE_TELEMETRY。适合对网络出口有严格控制的环境,一个变量替代四个
环境变量说明
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS启用实验性的多代理协作功能

配置优先级

Claude Code 配置的优先级从高到低为:

  1. 工作目录配置文件 (.claude/settings.jsonCLAUDE.md) - 最高优先级
  2. 系统环境变量
  3. 用户目录配置文件 (~/.claude/settings.json)

Claude Code 的模型 ID 支持在末尾添加 [<size>] 后缀来指定上下文窗口大小。例如 claude-opus-4-7[1m] 表示请求 Opus 4.7 的 100 万 token 上下文窗口(标准窗口为 20 万 token)。

对于自定义 API 用户,选择一个支持大上下文窗口的模型并使用 [1m] 后缀可以显著改变工作体验:

指标200K 标准窗口1M 大窗口
上下文上限~20 万 token~100 万 token
自动压缩频率高(会话约 50-80 轮触发压缩)低(Anthropic 实测减少约 15% 压缩事件)
大型代码库分析可能被截断可完整加载
GPU 资源占用标准更高(每会话独占更多显存)

更大的上下文窗口意味着 Claude 可以同时”记住”更多对话历史、更完整的代码库和更长的工具输出,减少因上下文压缩导致的信息丢失。

模型说明
qwen3.7-max[1M]通义千问 3.7 Max,100 万 token 上下文
deepseek-v4-pro[1m]DeepSeek V4 Pro,100 万 token 上下文
mimo-v2.5-pro[1m]MiMo V2.5 Pro,100 万 token 上下文
claude-opus-4-7[1m]Claude Opus 4.7,100 万 token 上下文
  • 成本:当上下文超过 20 万 token 后,大窗口模型的推理计算量显著增加,token 消耗和响应时间也会上升
  • 模型选择:并非所有模型都支持 1M 上下文,需要确认你的 API 提供商是否支持指定窗口大小
  • 不要滥用:大窗口应该用于确实需要它的场景(大型代码库分析、长时间会话),简单问题加载全仓库是浪费
  • 紧凑仍然是好习惯:更大的窗口不意味着可以忽略上下文管理——保持会话整洁、及时外部化关键产出仍然是良好的工程实践

代理用户必设三项

临时生效(当前会话)

Terminal window
export ANTHROPIC_BASE_URL="https://your-api.example.com"
export ANTHROPIC_API_KEY="your-api-key-here"
export ANTHROPIC_MODEL="claude-sonnet-4-20250514"

永久生效(添加到 ~/.zshrc~/.bashrc):

Terminal window
echo 'export ANTHROPIC_BASE_URL="https://your-api.example.com"' >> ~/.zshrc
echo 'export ANTHROPIC_API_KEY="your-api-key-here"' >> ~/.zshrc
echo 'export ANTHROPIC_MODEL="claude-sonnet-4-20250514"' >> ~/.zshrc
source ~/.zshrc

临时生效

Terminal window
set -x ANTHROPIC_BASE_URL "https://your-api.example.com"
set -x ANTHROPIC_API_KEY "your-api-key-here"
set -x ANTHROPIC_MODEL "claude-sonnet-4-20250514"

永久生效(添加到 ~/.config/fish/config.fish):

Terminal window
echo 'set -x ANTHROPIC_BASE_URL "https://your-api.example.com"' >> ~/.config/fish/config.fish
echo 'set -x ANTHROPIC_API_KEY "your-api-key-here"' >> ~/.config/fish/config.fish
echo 'set -x ANTHROPIC_MODEL "claude-sonnet-4-20250514"' >> ~/.config/fish/config.fish

临时生效(当前会话)

Terminal window
$env:ANTHROPIC_BASE_URL = "https://your-api.example.com"
$env:ANTHROPIC_API_KEY = "your-api-key-here"
$env:ANTHROPIC_MODEL = "claude-sonnet-4-20250514"

永久生效(通过 PowerShell Profile)

Terminal window
# 编辑 PowerShell Profile
notepad $PROFILE
# 添加以下内容到文件
$env:ANTHROPIC_BASE_URL = "https://your-api.example.com"
$env:ANTHROPIC_API_KEY = "your-api-key-here"
$env:ANTHROPIC_MODEL = "claude-sonnet-4-20250514"

永久生效(通过系统环境变量)

Terminal window
# 以管理员身份运行
[Environment]::SetEnvironmentVariable("ANTHROPIC_BASE_URL", "https://your-api.example.com", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "your-api-key-here", "User")
[Environment]::SetEnvironmentVariable("ANTHROPIC_MODEL", "claude-sonnet-4-20250514", "User")

临时生效(当前会话)

Terminal window
set ANTHROPIC_BASE_URL=https://your-api.example.com
set ANTHROPIC_API_KEY=your-api-key-here
set ANTHROPIC_MODEL=claude-sonnet-4-20250514

永久生效(通过 GUI)

  1. Win + R,输入 sysdm.cpl
  2. 点击 高级环境变量
  3. 用户变量 区域点击 新建,添加上述变量

~/.claude/settings.json(Linux/macOS)或 C:\Users\%USERNAME%\.claude\settings.json(Windows)中添加:

{
"env": {
"API_TIMEOUT_MS": "3000000",
"BASH_DEFAULT_TIMEOUT_MS": "30000",
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "75",
"CLAUDE_BASH_NO_LOGIN": "1",
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
"CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
"CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY": "1",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
"CLAUDE_CODE_EFFORT_LEVEL": "max",
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1",
"DISABLE_AUTOUPDATER": "1",
"DISABLE_ERROR_REPORTING": "1",
"DISABLE_TELEMETRY": "1",
"ENABLE_TOOL_SEARCH": "true",
"MCP_TIMEOUT": "60000"
},
"attribution": {
"commit": "",
"pr": ""
},
"permissions": {
"defaultMode": "plan"
},
"skipDangerousModePermissionPrompt": true,
"enabledPlugins": {
"claude-code-setup@claude-plugins-official": true,
"claude-md-management@claude-plugins-official": true,
"code-review@claude-plugins-official": true,
"code-simplifier@claude-plugins-official": true,
"commit-commands@claude-plugins-official": true,
"explanatory-output-style@claude-plugins-official": true,
"feature-dev@claude-plugins-official": true,
"playground@claude-plugins-official": true,
"pr-review-toolkit@claude-plugins-official": true,
"pyright-lsp@claude-plugins-official": true,
"ralph-loop@claude-plugins-official": true,
"rust-analyzer-lsp@claude-plugins-official": true,
"security-guidance@claude-plugins-official": true,
"skill-creator@claude-plugins-official": true,
"superpowers@claude-plugins-official": true,
"typescript-lsp@claude-plugins-official": true
},
"language": "中文",
"alwaysThinkingEnabled": false,
"terminalProgressBarEnabled": true
}
配置项说明
language设置界面语言,设为 中文 可获得全中文交互体验。
terminalProgressBarEnabled是否在终端显示任务进度条,建议开启。
alwaysThinkingEnabled是否默认启用思考模式(扩展推理),false 表示按需手动开启。
skipDangerousModePermissionPrompt跳过危险操作模式的权限提示,设为 true 可减少交互中断。
配置项说明
permissions.defaultMode默认权限模式。plan 表示先规划后执行,适合谨慎操作;acceptEdits 表示自动接受编辑操作。
skipDangerousModePermissionPrompt跳过 --dangerously-skip-permissions 模式的安全确认提示,设为 true 可减少交互中断。注意:仅在你理解此模式风险的前提下开启。

Claude Code 默认在每次 Git 提交和 PR 描述中附加归属信息。提交中会添加 Co-Authored-By: Claude <noreply@anthropic.com>Git trailer,PR 描述中会附加 🤖 Generated with Claude Code 标记。

配置项说明
attribution.commitGit 提交归属文本(含 trailers)。设为空字符串 "" 可完全移除提交中的 AI 归属标记
attribution.prPR 描述归属文本。设为空字符串 "" 可移除 PR 中的 AI 生成标记

attribution 优先级高于已废弃的 includeCoAuthoredBy 配置。设为空字符串可保持 Git 历史干净,避免每次提交都带有 AI 署名。

历史说明:Claude Code 的默认提交署名(Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> 等)在 2025-2026 年间经过多次调整——早期使用 Claude Code <noreply@anthropic.com>,后期因品牌策略改为具体模型名。如果你在旧项目中看到不同的署名格式,这是正常的历史遗留。

配置项说明
CLAUDE_CODE_ATTRIBUTION_HEADER设为 0 可移除系统提示开头嵌入的归属区块(含客户端版本号和 prompt 指纹)。使用自定义 API 代理或 LLM 网关时必须设为 0:该区块每次请求都不同,会导致中间代理的 KV cache 无法命中,推理速度可能下降高达 90%。直连 Anthropic 官方 API 的用户缓存不受影响,无需设置此变量。
CLAUDE_AUTOCOMPACT_PCT_OVERRIDE上下文自动压缩阈值(百分比)。设为 75 表示当上下文占用达到 75% 时触发压缩,优化长会话性能。
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS设为 1 可从 API 请求中剥离 Anthropic 专有的 anthropic-beta 请求头及实验性工具 schema 字段(如 defer_loadingeager_input_streaming),同时保留标准字段(nameinput_schemacache_control)。使用自定义 API 代理/网关时必须设为 1:多数代理不认识这些 Anthropic 专有头,会直接拒绝请求并报错 Unexpected value(s) for the anthropic-beta headerExtra inputs are not permitted。直连 Anthropic 官方 API 的用户应关闭此设置以使用最新实验功能
CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY是否禁用”Claude 表现如何?“的会话质量调查弹窗,设为 1 可减少频繁询问干扰。
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS是否启用实验性的多代理协作功能,设为 1 开启。
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC一键禁用所有非必要网络流量(等效同时设置 DISABLE_AUTOUPDATER + DISABLE_FEEDBACK_COMMAND + DISABLE_ERROR_REPORTING + DISABLE_TELEMETRY)。适合网络出口受控的环境
CLAUDE_CODE_EFFORT_LEVEL模型推理深度控制。设为 max 可获得最高质量的推理输出,但 token 消耗和响应时间相应增加。支持的值:low / medium / high / xhigh / max / auto注意effortLevel 设置项无法持久化 max 级别(已知 bug),必须通过此环境变量设定
API_TIMEOUT_MSAPI 请求超时(毫秒)。默认 600000 (10 分钟)。使用代理/网关时模型推理可能耗时较长,设为此值可避免请求被提前截断
DISABLE_AUTOUPDATER禁止后台自动更新检查,设为 1 开启。claude update 手动更新仍可用。如需完全禁止所有更新路径,改用 DISABLE_UPDATES
ENABLE_TOOL_SEARCH控制 MCP 工具按需发现。设为 true 始终开启,false 关闭,auto:N 按上下文占用百分比触发。注意:使用自定义 API 端点时此功能默认关闭,需显式设为 true 启用
DISABLE_TELEMETRY禁用遥测数据收集(详见上方”隐私与遥测控制”),设为 1 开启。
DISABLE_ERROR_REPORTING禁用自动错误报告上传,设为 1 开启。

enabledPlugins 对象用于管理 Claude Code 插件的启用状态。每个插件的格式为 插件名@来源,值为 true 表示启用。