Anthropic 的编程助手 Claude Code 迎来了 2.1.261 版本。最受关注的是新增的斜杠命令 /skill-doctor,它会列出已加载却从未被调用的技能,以及每个技能占用了多少上下文。技能装得太多导致环境变沉重时,现在可以对着数字来做取舍。

/skill-doctor 会点名闲置的技能

Claude Code 的技能,是把某类工作的操作步骤事先加载进来的机制。因为好用,人们往往会不断往里加,但每加载一个技能就要占掉一部分上下文。占用越多,留给实际工作的余量就越少。

2.1.261 把这块看不见的开销变成了数字。执行 /skill-doctor 后,会显示已加载技能中哪些没有被用到,以及各自在上下文中的成本。能够凭实测而不是凭感觉挑出该清理的对象,正是这个功能最大的价值。

/skill-doctor

插件和技能装得越多,效果越明显。先跑一次,看看列表里有没有自己都想不起来的技能,这样开始就够了。

在输出被写入文件之前,让模型多读一些

在使用体验方面,输出上限也做了调整。新增的 bashOutputMaxChars 和 taskOutputMaxChars 两个设置,用于控制命令和后台任务的输出在被转存为文件之前,有多少可以直接交给模型阅读,上限为 12.8 万字符。

想让模型直接读日志或测试结果时,当场传过去比先落盘再回读要快。对于经常处理长输出的人来说,这是个不起眼但很实用的改动。

同时还加入了 --append-subagent-system-prompt-file,用于从文件中读取子智能体的系统提示词,适合那些长到无法写进命令行的提示词。

显示组织策略加载失败的原因

面向企业使用的部分也有改进。/status 和 claude doctor 的输出中新增了一行「Organization policy」,当组织策略无法加载时会说明原因。官方举出的一种情况,是代理没有放行相应的接口地址。

这类故障往往让人摸不着头脑,只能反复怀疑自己的配置。哪怕只多出一行原因说明,排查所花的时间也会明显缩短。

偏向保守的行为调整

一些细节行为也发生了变化。危险 rm 的确认提示,现在还会识别作用于位置参数的 rm -rf,以及藏在双引号包裹的 sh -c 脚本里的写法。

自动批准的范围同样被重新审视。把内容塞进 URL 交给公开图表渲染服务的链接,现在被视同向该站点上传,除非用户主动要求,否则不再自动放行。方向很明确:内容离开本机这件事,应当以明确指示为前提。

输入方面,按单词编辑的按键改为与 Bash 一致。Ctrl+W 回退删除到空白处,Alt+F 和 Alt+D 停在单词末尾,标点被当作单词分隔符。随之而来的是 keybindingFlavor 设置不再生效。这应该是为了让终端里的操作手感保持统一。

VS Code 这边,会话可以先「收起来」

VS Code 扩展也有改动。会话列表的右键菜单新增了 Archive session,同时 Unarchive 也有了专属图标。除了直接删除之外,现在多了先把会话放到一边的选择。

MCP 服务器对话框增加了添加服务器的表单和移除操作,不离开编辑器就能修改配置。模型选择器改为把所有模型放进一个扁平列表,旧写法的模型名排在末尾。权限确认和提问卡片新增了折叠按钮,不用关掉卡片也能看到后面的对话。

总结

Claude Code 2.1.261 的核心是 /skill-doctor。它会告诉你已加载的技能是否真的被用到、占用了多少上下文,让膨胀的配置可以基于实测来整理。与之同行的还有新的输出上限设置、组织策略加载失败的原因提示、更严格的危险命令识别与更窄的自动批准范围,以及 VS Code 的归档功能。与其说是华丽的新功能,不如说是一次越是重度使用越能受益的整备。