前言

最近两周,Claude Code 从 v2.1.154 一路更新到 v2.1.168,发了十几个版本。我每天 claude update 的时候都在想:这次又改了啥?

翻完 CHANGELOG 发现,v2.1.167 和 v2.1.168 只写了"Bug fixes and reliability improvements",真正有功能更新的是 v2.1.166v2.1.163,加上 v2.1.160 的安全改进——这三个版本组成了近期最有价值的更新。

今天就把这几个版本的重量级功能一次讲透。


第一章:fallbackModel——主模型挂了自动切换备用模型

这是 v2.1.166 最重磅的功能。

1.1 解决什么问题

用 Claude Code 写代码,突然提示 “Model is overloaded”,整个流程卡住。或者半夜跑自动化任务,Opus 模型不可用,只能手动改配置切模型。

fallbackModel 就是自动切换方案:配置一组模型,Claude Code 按顺序尝试,主模型不可用时自动切到备用模型。

1.2 配置方法

settings.json 方式(推荐):

{
  "fallbackModel": [
    "claude-sonnet-4-6",
    "claude-haiku-4-5"
  ]
}

最多配置 3 个 fallback 模型,按顺序尝试。

命令行参数方式

claude --fallback-model claude-sonnet-4-6

注意:v2.1.166 新增了 --fallback-model 对交互式会话的支持,之前只在非交互模式生效。

1.3 智能重试机制

v2.1.166 还加了一个关键机制:当 API 返回非预期非重试错误时,Claude Code 会在 fallback 模型上重试一次。

但以下错误不会触发 fallback,而是立即报告:

错误类型 行为 说明
认证失败 (401) 立即报告 切模型也无法解决
限流 (429) 立即报告 需要等而不是换模型
请求超限 (400) 立即报告 请求本身有问题
传输层错误 立即报告 网络层面的问题
其他非预期错误 触发 fallback 重试 模型可能特定异常

来源:Claude Code CHANGELOG - v2.1.166

1.4 fallbackModel 配置参数表

参数 类型 必填 说明
model string 主模型,默认 Opus
fallbackModel string[] Fallback 模型列表,最多 3 个
--fallback-model CLI flag 单次会话指定 fallback 模型

第二章:thinking tokens 精细控制——省钱省时三件套

Claude 的 thinking 功能很强大,但有时候不需要长推理链,或者想省 tokens。v2.1.166 提供了三种方式禁用或限制 thinking:

2.1 环境变量:全局禁用

export MAX_THINKING_TOKENS=0

设置后,所有默认启用 thinking 的 Claude API 模型都会禁用 thinking。注意:第三方提供商(Bedrock/Vertex/Foundry)的模型不受影响。

2.2 命令行参数:单次禁用

claude "写一个 hello world" --thinking disabled

临时禁用 thinking,单次会话生效。简单问答、快速补全场景特别合适。

2.3 Per-Model 精细控制

在 settings.json 中按模型单独配置:

{
  "models": {
    "claude-opus-4-8": {
      "thinking": false
    },
    "claude-sonnet-4-6": {
      "thinking": {
        "maxTokens": 16000
      }
    }
  }
}

2.4 thinking 模式对比

模式 配置方式 适用场景 效果
启用(默认) 无需配置 复杂推理、架构设计 完整 thinking 链
禁用 --thinking disabled 简单问答、格式化 跳过 thinking,响应更快
限制 Token maxTokens: 16000 中等复杂度、控费 thinking 上限 16k tokens
环境变量全局禁用 MAX_THINKING_TOKENS=0 CI/CD、批量处理 所有 Claude API 模型禁用

来源:Claude Code CHANGELOG - v2.1.166


第三章:安全加固三连击——从 shell 文件到跨会话权限

v2.1.160 和 v2.1.166 在安全方面做了三个重要改进,我按时间线讲。

3.1 Shell 启动文件写入确认(v2.1.160)

v2.1.160 新增:写入 shell 启动文件(.zshenv.zlogin.bash_login)和 ~/.config/git/ 目录前,Claude Code 会弹出确认提示。

同时,acceptEdits 模式也会在写入构建工具配置文件(.npmrc.yarnrc*bunfig.toml.bazelrc.pre-commit-config.yaml.devcontainer/ 等)前提示确认——这些文件都可能被用来执行任意命令。

这个改进避免了 Claude Code 静默修改你的 shell 配置,对生产环境尤其重要。

3.2 跨会话消息权限剥离(v2.1.166)

问题:通过 SendMessage API 转发消息时,可能携带用户的权限信息,存在权限泄露风险。

解决方案:v2.1.166 开始,通过 SendMessage 转发的消息不再携带用户权限。接收方会拒绝转发的权限请求,auto 模式也会阻止权限提升。

这对企业用户尤其关键——多人共享 Claude Code 实例时,一个会话的权限不能被另一个会话冒用。

3.3 deny 规则支持 glob 通配符(v2.1.166)

v2.1.166 增强了权限规则的表达能力:

{
  "permissions": {
    "allow": ["Write", "Read", "Bash", "Edit", "Grep", "Glob"],
    "deny": ["*"]
  }
}

"*" 表示拒绝所有未在 allow 中列出的工具。allow 规则会拒绝非 MCP 的 glob 模式,deny 规则中的未知工具名会在启动时发出警告。

3.4 安全功能时间线

功能 版本 说明
Shell 启动文件写入确认 v2.1.160 .zshenv.bash_login
构建配置文件写入确认 v2.1.160 .npmrc.bazelrc 等(acceptEdits 模式)
跨会话权限剥离 v2.1.166 SendMessage 不携带权限
deny glob 通配符 v2.1.166 "*" 拒绝所有工具
WebFetch 权限修复 v2.1.162 显式 deny/allow 规则优先于内置预批准
Windows 路径权限修复 v2.1.162 反斜杠和大小写变体路径正确匹配

来源:Claude Code CHANGELOG


第四章:Hooks additionalContext 与版本管控

v2.1.163 带来了 Hooks 增强和企业级版本管控。

4.1 additionalContext:让 Hook 反馈不再中断对话

之前,Stop 和 SubagentStop hooks 只能返回"通过"或"拒绝"——拒绝会标记为 hook 错误。v2.1.163 新增了 hookSpecificOutput.additionalContext 字段,允许 hook 向 Claude 反馈额外信息,同时保持对话继续而不标记为错误

使用场景示例:代码审查 hook 检测到安全问题时,返回 additionalContext 提醒 Claude 注意,但不会中断当前流程。

Hooks 类型支持情况:

Hook 类型 触发时机 additionalContext 支持
Stop 停止生成时 ✅ v2.1.163+
SubagentStop 子 Agent 停止时 ✅ v2.1.163+
PreToolUse 工具执行前 ❌ 不支持
PostToolUse 工具执行后 ❌ 不支持

4.2 版本范围管控

v2.1.163 新增两个 managed settings:

{
  "requiredMinimumVersion": "2.1.160",
  "requiredMaximumVersion": "2.1.166"
}

Claude Code 版本不在指定范围内时,拒绝启动并提示升级。适合企业统一管控版本,避免团队成员使用不兼容版本。

4.3 其他 v2.1.163 改进

功能 说明
Skills \$ 转义 命令体中可用 \$ 包含字面量 $ 加数字
stdio MCP SESSION_ID --resume 时 stdio MCP 服务器收到与 hooks/Bash 相同的 CLAUDE_CODE_SESSION_ID

来源:Claude Code CHANGELOG - v2.1.163


第五章:/btw 剪贴板快捷键与 /plugin list

两个小功能,但日常用起来效率提升明显。

5.1 /btw 的 “c to copy”

v2.1.163 给 /btw 命令加了快捷键:按 c 一键复制 Markdown 格式答案到剪贴板。

claude> /btw 这个方案的性能如何?

📋 Markdown 答案已生成
💡 按 [c] 复制到剪贴板 |[e] 编辑 |[Enter] 继续

复制后粘贴到 Typora、VSCode、飞书等支持 Markdown 的编辑器,格式完整保留。比手动鼠标选中长文本方便太多。

5.2 /plugin list

v2.1.163 新增 /plugin list 命令,列出已安装的插件,支持 --enabled--disabled 过滤:

/plugin list --enabled

结合 v2.1.157 新增的 .claude/skills 自动加载和 claude plugin init <name> 脚手架命令,插件管理已经比较完善了。

来源:Claude Code CHANGELOG - v2.1.163


第六章:其他值得关注的更新

6.1 claude update 显示目标版本号(v2.1.166)

之前更新时静默下载,不知道在装什么版本。现在会先显示目标版本号:

$ claude update
📦 正在下载 Claude Code v2.1.168...
✅ 更新完成

6.2 claude agents URL 过滤(v2.1.166)

在 agent 列表中输入 URL,自动过滤到 first prompt 包含该 URL 的 session,快速定位目标会话。

6.3 单文件 grep 满足 read-before-edit(v2.1.160)

之前编辑文件必须先 Read,现在对单文件执行 grep/egrep/fgrep 也满足 read-before-edit 检查。省了一步操作,写脚本自动化时尤其方便。

6.4 并行工具调用容错(v2.1.161)

一个 Bash 命令失败不再取消同批次的其他工具调用——每个工具独立返回结果。这对多文件并行编辑场景很关键。

6.5 重要 Bug 修复汇总

修复 版本 影响
不可处理图片导致 token 浪费 v2.1.166 零字节/损坏图片不再崩溃
远程会话启动时后端中断永久卡死 v2.1.166 短暂后端故障不再导致会话永久卡住
JetBrains 终端闪烁 v2.1.166 IntelliJ/PyCharm 2026.1+ 启用同步输出
PowerShell 命令验证超时 v2.1.166 Windows 上被杀进程的子进程持有时不再挂起
孤立 claude --bg-pty-host 100% CPU v2.1.166 macOS 守护进程死后不再 CPU 空转
WebFetch 权限规则不生效 v2.1.162 显式 deny/allow 规则现在优先于内置预批准
Windows 路径权限不匹配 v2.1.162 反斜杠、大小写变体路径正确匹配

来源:Claude Code CHANGELOG


第七章:升级指南与兼容性

7.1 升级命令

# 方式一:内置更新(现在会显示目标版本号了)
claude update

# 方式二:npm 全局更新
npm update -g @anthropic-ai/claude-code

# 验证版本
claude --version

7.2 功能兼容性表

功能 最低版本 向后兼容 注意事项
fallbackModel v2.1.166 旧配置不受影响 --fallback-model 交互式支持需 166+
thinking disabled v2.1.166 旧配置不受影响 仅影响 Claude API 模型
deny glob "*" v2.1.166 旧配置继续有效 未知工具名启动时警告
additionalContext v2.1.163 旧 hooks 不受影响 新字段,不填不影响
Shell 文件写入确认 v2.1.160 可通过配置关闭 默认开启
/plugin list v2.1.163 新命令
版本范围管控 v2.1.163 managed settings

7.3 推荐配置模板

{
  "model": "claude-opus-4-8",
  "fallbackModel": [
    "claude-sonnet-4-6",
    "claude-haiku-4-5"
  ],
  "permissions": {
    "allow": ["Write", "Read", "Bash", "Edit", "Grep", "Glob"],
    "deny": ["*"]
  }
}

总结

核心更新一览

功能 版本 实用度 我的评价
fallbackModel 自动切换 v2.1.166 ⭐⭐⭐⭐⭐ 生产环境必开,半夜不用爬起来切模型了
thinking tokens 控制 v2.1.166 ⭐⭐⭐⭐⭐ CI 环境禁用 thinking 省 token 提速度
跨会话权限剥离 v2.1.166 ⭐⭐⭐⭐ 企业多人协作必看
deny glob 通配符 v2.1.166 ⭐⭐⭐⭐ 精细化权限管理,"*" 一键收紧
Shell 文件写入确认 v2.1.160 ⭐⭐⭐⭐ 防止静默改配置,安全感拉满
Hooks additionalContext v2.1.163 ⭐⭐⭐ 高级用户自定义工作流有用
/btw c to copy v2.1.163 ⭐⭐⭐⭐ 每天都用的小功能
/plugin list v2.1.163 ⭐⭐⭐ 插件多了之后排查方便
版本范围管控 v2.1.163 ⭐⭐⭐ 企业管控有用

我的使用建议

  1. 生产环境必开 fallbackModel:Opus → Sonnet → Haiku 三级降级,再也不怕模型过载
  2. CI/CD 环境设置 MAX_THINKING_TOKENS=0:省 token 提速度,简单任务不需要长推理
  3. 企业用户关注安全加固:deny glob + 跨会话权限剥离 + 版本管控,三件套配齐
  4. 日常开发用 /btw 快捷键:Markdown 格式一键复制,贴到文档格式完整

互动时间

以上就是 Claude Code v2.1.160-v2.1.168 新功能的完整解析。你最期待用上哪个功能? 在使用 Claude Code 时有没有遇到过模型过载、权限问题?评论区见👇


📚 参考资料

更多推荐