Claude Code v2.1.169 发布 —— 那些悄悄消耗你的小问题终于修了
上周就遇到了这么一件——写一个跨模块重构,输入了很长一行 find . -path './src/*' -name '*.ts' | xargs ...,想按上键回到开头加个参数。结果光标直接跳到上一条历史命令,整行输入消失。那一瞬间的感觉就是憋屈——不是 bug,但就是不对。
v2.1.169 的更新日志读下来,发现这个版本在系统地清理这类「不对但不算 bug」的问题。接近 30 项修复,零个能写进营销文案的「大功能」,但每一刀都砍在你天天碰到的地方。
第一刀:自定义配多了,崩了怎么查
Claude Code 的可扩展性走得比想象中快。几个月前你只需要一个 CLAUDE.md,现在你可能挂着 5 个 plugin、3 个 MCP 服务器、一堆自定义 skill 和工作流 hook。这些扩展让 Claude Code 从「通用工具」变成「你的工具」——但一旦它们出问题,排查起来就是灾难。
Plugin A 和 MCP Server B 产生了冲突,session 启动就报错。你分不清是哪个环节出了问题,唯一的办法是逐一禁用、重启、测试。如果有 8 个扩展,最坏情况要重启 8 次。
--safe-mode(以及等效的环境变量 CLAUDE_CODE_SAFE_MODE)解决了这个问题的本质:让你能回到一个「肯定能跑的基线」。启动时 CLAUDE.md 不读、plugins 不加载、skills 不挂载、hooks 不注册、MCP 服务器不启动——回到出厂状态的 Claude Code。如果问题消失,说明是扩展层的问题,然后二分法排查。
这个思路不是 Claude Code 原创的——Chrome 的无痕模式、Windows 的安全模式都是同一逻辑。但值得注意的是,Claude Code 走到这一步说明一个问题:它已经不再是「一个终端工具」了,它变成了一个平台。只有平台才需要安全模式。 终端工具崩了大不了重装,平台崩了意味着你积累的配置、工作流、插件生态整个不可用——这时候一个干净的诊断入口就是必需品。
第二刀:/cd —— 改个目录不需要重新社交
Claude Code 的 prompt cache 维持着对当前工作目录的理解——项目结构在哪、配置文件在哪、你的意图和当前目录的关系是什么。如果你在一个 session 里想从 frontend/ 切到 backend/,之前只能开一个新 session,然后重新介绍项目背景、等模型重新理解目录结构。
/cd 命令改变了这个:输入 /cd /path/to/new/dir,工作目录变了,prompt cache 保持。你不需要重新解释上下文,模型知道你刚才在聊什么,只是「现在我们在另一个目录工作」。
实际编程中,「换目录」的发生频率比你以为的高得多。 改 API 层 -> 看前端怎么调用 -> 查配置文件路径 -> 看测试在哪。这四个步骤可能涉及四个不同目录。在一个 session 内完成的流畅感,和重新开四个 session 的割裂感,差别不是几秒钟的时间,而是思路会不会断。
第三刀:Skill 太多太杂,/ 命令列表挤满了
有一个细节可能只有重度用户才在意:Claude Code 自带了几十个内置 skill 和 slash command。当你敲 / 的时候,菜单里既有你真正需要的 /commit,也有你永远不用的 /condense、你忘了怎么用的 /doctor。并不是说这些东西不好,而是每个人的工作流只需要其中 5 个。
disableBundledSkills 设置(和 CLAUDE_CODE_DISABLE_BUNDLED_SKILLS 环境变量)允许你隐藏所有内置的 skill、workflow 和 slash command。这不是一个「禁用功能」,而是「减少噪音」。你需要的 skill 可以自己写,不需要的就别让它出现在 / 菜单里。
这个改动的潜台词是:Claude Code 团队意识到内置 skill 对所有用户来说不是 uniform 的。「我们觉得有用」不等于「你用得上」. 给用户一个全局开关来隐藏所有内置项,比逐一允许禁用更干净。
然后是一些「你肯定遇到过但没单独报过」的修复
Up/Down 键的行为终于对了。 之前输入长命令后按上键,光标直接跳回上一条历史记录。你只是想在同一行的可视行之间移动——比如从行尾回到行中某个位置——整行被历史替换了。现在上/下键先在本行的 wrap 行之间移动,到边缘才触发历史浏览。
macOS 上每轮对话开头不卡了。 如果你用了 claude.ai 账号登录,之前每轮对话开始都有一个 30-50ms 的 UI 冻结——刚好够你注意到「卡了一下」但不够让你去报 bug。累积下来 100 轮对话浪费 3-5 秒。修复的源头是凭证检查的异步化。30-50ms 这个数字很微妙——它恰好处于「能感知但不致命」的阈值上,所以这个 bug 存在了多个版本没被单独报告。
/workflows 现在能边聊边开了。 之前想在当前 turn 中引用一个 workflow 来指导模型行为?不行,得等当前回复跑完。现在 /workflows 在 turn 执行期间就能打开,适合你看到模型给了一个方向不对的回复,立刻打开 workflow 纠正它。
claude agents --json 终于能看到全量的 agent 了。 之前 blocked 状态和被分发的后台 session 被静默省略了——你用脚本管理 agent 集群,发现总数比预期少,但你不知道少了哪些。--all 参数和新增的 id/state 字段补上了这个缺口。
MCP 企业策略的完整性修补。 allowedMcpServers / deniedMcpServers 在 reconnect、IDE 配置、首次 session、远程设置未加载等场景下未被强制执行。从企业安全的角度,这属于「策略写了但覆盖不全等于没写」——管理员配好了白名单,但攻击者可以通过 reconnect 窗口绕过去。 这次把所有时间窗口都补上了。同时修复了一个连带问题:没有远程设置的 org 冷启动时客户端会在等待响应中挂住。
还有两个值得提的:不信任的项目设置不能再设 OTEL 客户端证书路径了(权限提升漏洞);.in_use PID 锁文件不再无限累积——每天扫走超过 24 小时的僵尸文件。
升级
# macOS(推荐)
brew upgrade --cask claude-code
# 已安装用户
claude update
# 首次安装
curl -fsSL https://claude.ai/install.sh | bash
📢 关注我,获取最新 AI 编程工具更新和开发者动态。欢迎转发给身边用 Claude Code 的朋友。
#ClaudeCode #AI编程 #安全模式 #开发者工具 #版本更新 #Anthropic