一份面向深度用户的实用指南,覆盖官网文档没写清楚的那些配置项。


目录

  1. [1M] 后缀 —— 上下文窗口大小的唯一信号

  2. CLAUDE_CODE_EFFORT_LEVEL —— 推理深度控制

  3. DISABLE_AUTOUPDATER —— 关闭后台自动更新

  4. ENABLE_TOOL_SEARCH —— 按需加载工具

  5. CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS —— 多实例协作

  6. attribution —— 隐藏 AI 署名


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 按以下顺序确定上下文窗口大小:

  1. 模型 ID 中包含 [1m] 后缀 → 直接返回 1,000,000(优先级最高)

  2. Provider 元数据中的 max_input_tokens

  3. Beta header context-1m-2025-08-07(仅限 Anthropic / Bedrock)

  4. 兜底默认值 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 在后台自动检查、下载、安装新版本

正常更新流程

  1. 后台定期检查是否有新版本

  2. 有的话下载到 ~/.cache/claude/staging/

  3. 下次启动时自动切换(不会中断当前会话)

开启后

后台自动更新被完全禁止,但以下操作不受影响

  • 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 的功能。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐