第一个改动:把写入边界变成硬约束
Claude Code 2.1.314 在 10 月 30 日发布,最值得注意的新增项是一个权限配置:permissions.blockWritesOutsideWorkingDirectories。开启后,无论当前处于哪种权限模式,Write、Edit、NotebookEdit 这三类会修改文件的操作都会拒绝工作目录之外的路径。
这条配置的价值在于它不依赖人工确认。过去的防护逻辑是遇到敏感路径就弹确认,靠人盯着每一次提示;现在是在权限层直接封死。比如你在仓库根目录启动 Claude Code,让它去改 etc 下的系统配置文件,或者去动同级目录里的另一个项目,都会被直接拒绝,而不是等你按下同意。对在自动化流水线、无人值守环境里跑编码智能体的团队,这一条基本是必开项。
配置写进项目的 settings 即可,不需要额外环境变量。建议配合 /permissions 面板一起用:2.1.314 把这个面板里的 review 标签页改名成了 Recently blocked,页脚会直接告诉你按 Esc 会对标记行做什么。
第二个改动:闲置会话自动压缩,覆盖到 VS Code 与桌面端
idle compaction 这次扩到了 VS Code 和 Claude Desktop 的 Code 标签页。规则是:超过 20 万 Token 的对话如果闲置,会被自动摘要,摘要会在你下一次发消息时启用——前提是 prompt 缓存已经过期。此前的版本只在终端侧生效。
这件事的价值在成本与时延。一个 20 万 Token 的会话,缓存过期后每发一条消息都要重新读入全部上下文,既慢又贵;自动压缩把上下文压到更小的规模,代价是丢掉一部分细节。2.1.314 还顺手修了一个相关问题:长会话里跑大量子代理时,父会话不再把每个子代理的工具结果一直保留到整轮结束,内存占用明显下降。
权限收紧和上下文压缩看起来是两件不相关的事,本质是同一个方向:让智能体跑得更久,同时让它的活动范围更小。
网关、API 与一批手感修复
企业侧加了两项:Claude apps gateway 的上游可以配 groups 列表,只有属于指定 IdP 组的开发者才会被路由到该上游,故障转移时同样生效;Bedrock 上游加了 guardrail_trace,用来记录是哪一条 Amazon Bedrock 护栏过滤器触发了拦截,但不记录被匹配的文本内容。这对排查误拦很实用——知道是哪条规则拦的,又不会把敏感内容落到日志里。
API 侧,Messages API 与 Token Counting API 的单次请求上限从 32MB 提到 128MB;单张图片的分辨率上限提高到 3000 像素,条件是请求里超过 20 张图。这两个改动主要服务于长时间 computer-use 会话和大型 PDF 处理。
另外几个手感修复值得提:claude -p 在启动失败时现在会打印错误并以 1 退出,不再静默返回 0;管理员给模型设了 effort 上限时不再报 Invalid effort level,而是自动调整;Ctrl+R 搜索历史时能匹配到折叠的粘贴文本块内部。升级是常规的全局更新,建议先在非关键项目跑一天再推到 CI。