Claude Code 一些有用的非官方配置详解
一份面向深度用户的实用指南,覆盖官网文档没写清楚的那些配置项。
目录
1. [1M] 后缀 —— 上下文窗口大小的唯一信号
配置示例
"ANTHROPIC_DEFAULT_FABLE_MODEL": "DeepSeek-V4-pro[1M]"
它是什么
[1M] 是一个纯客户端标记(大小写不敏感,匹配模式 /\[1m\]$/i),告诉 Claude Code「这个模型支持 100 万 token 的上下文窗口」。它不会被发送到 API——Claude Code 在发起请求前会自动剥离它,上游 Provider 永远看不到这个后缀。
有 [1M] vs 没有
| 维度 | 加 [1M] |
不加 |
|---|---|---|
| 上下文窗口 | 1,000,000 tokens | 200,000 tokens(硬编码默认值) |
| 自动压缩触发点 | ~987K | ~187K |
/context 显示 |
1M 刻度 | 200K 刻度 |
| API 收到的内容 | DeepSeek-V4-pro-DSpark(后缀已剥离) |
完全一致 |
不加 [1M] 的后果: 对话在 ~187K token 时就被压缩,而不是 ~987K——长对话能力被阉割了五倍。
上下文窗口的解析优先级
Claude Code 按以下顺序确定上下文窗口大小:
-
模型 ID 中包含
[1m]后缀 → 直接返回 1,000,000(优先级最高) -
Provider 元数据中的
max_input_tokens -
Beta header
context-1m-2025-08-07(仅限 Anthropic / Bedrock) -
兜底默认值 200,000
如果你用的是第三方 Provider(如 DeepSeek),路径 2 和 3 都不适用,[1M] 是唯一能获得正确 1M 上下文的方式。
注意事项
-
如果使用代理(如 CC Switch 的本地路由模式),不要加
[1M]——代理可能把带后缀的模型名原样转发给上游 API,导致上游不认识。 -
直接连接 API 端点(如
https://api.deepseek.com/anthropic)则完全没问题。
2. CLAUDE_CODE_EFFORT_LEVEL —— 推理深度控制
配置示例
"CLAUDE_CODE_EFFORT_LEVEL": "max"
它是什么
控制模型在给出回答之前的推理深度(thinking budget)。值越高,模型花越多时间「思考」,答案越全面,但响应越慢、token 消耗越大。
可选值
| 级别 | 推理深度 | 适用场景 |
|---|---|---|
low |
最少推理 | 修 typo、跑命令等机械任务 |
medium |
标准推理 | 日常编程 |
high |
较深推理 | 复杂调试、多文件重构 |
xhigh |
深度推理(有预算上限) | Opus 4.7+ 的默认值,大多数编程任务的推荐选择 |
max |
无上限推理 | 仅最难的问题;仅 Opus 4.6+ 原生支持 |
关键限制
-
max不能在settings.json中设置,只能通过环境变量或/effort max命令(会话级)。 -
非 Anthropic 模型大概率不支持
max。以 DeepSeek 为例,其/anthropic兼容端点对output_config.effort的支持程度未知,max很可能是被静默降级为high,且没有任何提示。 -
配置优先级: 环境变量 >
/effort命令 > 模型默认值 > settings.json
实际建议
如果你用的是 DeepSeek 或其他第三方模型,或许可能都无法处理这个参数
3. DISABLE_AUTOUPDATER —— 关闭后台自动更新
配置示例
"DISABLE_AUTOUPDATER": "1"
它是什么
禁止 Claude Code 在后台自动检查、下载、安装新版本。
正常更新流程
-
后台定期检查是否有新版本
-
有的话下载到
~/.cache/claude/staging/ -
下次启动时自动切换(不会中断当前会话)
开启后
后台自动更新被完全禁止,但以下操作不受影响:
-
claude update—— 手动更新 -
claude install <版本号>—— 安装特定版本
相关配置对比
| 配置 | 效果 |
|---|---|
DISABLE_AUTOUPDATER=1 |
只禁用后台自动更新 |
DISABLE_UPDATES=1 |
禁用所有更新路径,包括手动 claude update |
CLAUDE_CODE_PACKAGE_MANAGER_AUTO_UPDATE=1 |
允许 Homebrew/WinGet 自动升级 |
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1 |
伞式开关,自动关闭自动更新 + 反馈上报 + 遥测 + 错误报告 |
什么时候该开
-
CI/CD 环境,版本固定是刚需
-
使用自定义 API 端点(如 DeepSeek),不想被自动升级打乱配置
-
网络受限环境
-
偏好手动控制更新节奏
4. ENABLE_TOOL_SEARCH —— 按需加载工具
配置示例
"ENABLE_TOOL_SEARCH": "true"
它是什么
工具延迟发现机制。正常情况下,Claude Code 每轮对话都会把所有 MCP 工具的定义(schema、参数、描述)一股脑塞进上下文。当 MCP 工具多到几十上百个时,光是工具定义就能吃掉上万个 token。
开启 Tool Search 后,Agent 只拿到一份工具摘要,需要用某个工具时通过 ToolSearch 搜索并按需加载最匹配的 3-5 个。
Token 节省效果
| 工具数量 | 不开 | 开了 | 节省 |
|---|---|---|---|
| 10 个 | ~2,000 tokens | ~600 tokens | ~70% |
| 50 个 | ~10,000 tokens | ~600 tokens | ~94% |
| 200 个 | ~40,000 tokens | ~600 tokens | ~99% |
配置值含义
| 值 | 行为 |
|---|---|
| 不设 | 默认开启,但在非官方 ANTHROPIC_BASE_URL 上可能自动回退到全量加载 |
true |
强制开启,无论什么平台 |
auto |
工具定义超过上下文 10% 时才激活 |
auto:N |
自定义百分比阈值,如 auto:5 |
false |
完全关闭,每轮全量加载 |
为什么设为 true
使用第三方 API(如 DeepSeek)时,系统可能因为检测到非官方 BASE_URL 而退回全量预加载模式。显式设 true 锁定行为,确保上下文不被工具定义白占。
什么时候可以考虑关闭
-
工具总数不到 10 个(搜索往返反而多一层延迟)
-
使用 Haiku 模型(不支持 Tool Search)
-
极端重视响应速度且工具很少
5. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS —— 多实例协作
配置示例
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
它是什么
实验性的多实例协作功能。 一个「队长」会话 spawn 多个独立的 Claude Code 实例(「队员」),各自拥有独立上下文窗口,通过共享任务列表和直连邮箱互相通信。
核心能力
-
并行执行:多个队员同时处理不同任务
-
共享任务列表:队长创建任务 + 依赖关系,空闲队员自动认领
-
直连通信:队员之间可以直接发消息,不需要经过队长
-
Plan 审批模式:队员先提方案,队长审核通过后再执行
-
三种显示模式:同终端(
Shift+↑↓切换)/ tmux 分屏 / iTerm2 分屏(仅 macOS)
与普通 Subagent 的区别
| 普通 Subagent | Agent Teams | |
|---|---|---|
| 上下文 | 返回结果给主 agent,共享上下文预算 | 每个队员独立上下文窗口 |
| 通信 | 只向主 agent 汇报 | 队员之间可以直接发消息 |
| 协调 | 主 agent 集中管理 | 共享任务列表,队员自助认领 |
| 工具 | ~25 个 | ~20 个(部分被剥离) |
| Token 消耗 | 较低 | 3-4 倍于串行执行 |
不建议使用 并且这种方向我个人不太看好
6. attribution —— 隐藏 AI 署名
配置示例
{
"attribution": {
"commit": "",
"pr": ""
}
}
它是什么
Claude Code 在帮你做 git commit 或提 PR 时,会自动附带 AI 署名:
-
commit 信息末尾加
Co-Authored-By: Claude <noreply@anthropic.com> -
PR 描述末尾加
Generated with [Claude Code]页脚
设为空字符串就是「不加署名」。
⚠️ 配置经常不生效
多个 GitHub issue(#11135, #14241, #19463, #45137)均报告:设了空字符串,Claude Code 照样往里塞署名。 根因是系统 prompt 里有硬编码指令覆盖了配置值。
真正管用的办法:Git Hook
#!/bin/sh # .git/hooks/commit-msg sed -i '/^Co-Authored-By:.*<noreply@anthropic.com>/d' "$1" sed -i '/^Generated with \[Claude Code\]/d' "$1"
commit 写完后自动删除署名行,简单粗暴但管用。
附录:完整配置参考
将以上所有配置整合到一个完整的 settings.json 示例中:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_API_KEY": "sk-xxx",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "DeepSeek-V4-pro[1M]",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "DeepSeek-V4-pro[1M]",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "DeepSeek-V4-pro[1M]",
"ANTHROPIC_DEFAULT_FABLE_MODEL": "DeepSeek-V4-pro[1M]",
"CLAUDE_CODE_EFFORT_LEVEL": "xhigh",
"DISABLE_AUTOUPDATER": "1",
"ENABLE_TOOL_SEARCH": "true",
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
},
"attribution": {
"commit": "",
"pr": ""
},
"includeCoAuthoredBy": false
}
最后更新:2026-07-01
本文基于 Claude Code 截至 2026 年中的行为编写。部分配置的行为可能随版本更新而变化,尤其是标记为
EXPERIMENTAL的功能。
更多推荐



所有评论(0)