Claude Code 2.1.314 更新:新设置不让文件工具往工作目录外写,FORCE_HYPERLINK=false 改成真的关掉
10 月 30 日 Claude Code 发了 2.1.314(没有 2.1.313)。新设置能让文件工具在任何权限模式下都不往工作目录外写;FORCE_HYPERLINK=false 改成关掉超链接;网关拒收 beta 头或用带点的模型名不再出错。前两项本站实测了。
Claude Code 2.1.314 在北京时间 2026 年 10 月 30 日上午发布(UTC 10 月 30 日 01:06),版本号跳过了 2.1.313。和本站读者关系最大的是四点:
- 新设置
permissions.blockWritesOutsideWorkingDirectories。 打开后,Write、Edit、NotebookEdit 在任何权限模式下都不往工作目录外面写,bypassPermissions也一样。本站实测了。 FORCE_HYPERLINK=false改成关掉超链接。 以前写false反而是打开。本站实测了。- 走网关和中转站更稳了。 网关拒收某个 beta 请求头时,去掉它重发;不认工具搜索的
tool_reference块时,去掉工具搜索重发一次,之后整个会话都不再用;claude-opus-4.8这种带点的模型名,不再被当成旧模型。 - 内容被标记时,可用的只剩旧版 Opus 也会换模型重试,不再直接拒答。
这是 2.1.311 到 2.1.312 之后的版本。下面按“对你有什么影响”整理,不逐条翻译更新日志。本站服务器上的 Claude Code 10 月 31 日用 claude install 2.1.314 从 2.1.312 升上来,标了“实测”的地方是在它上面跑的,通过酷站AI 中转站。
权限和安全
新设置:不让文件工具往工作目录外写(实测)。 写进设置文件:
{
"permissions": {
"blockWritesOutsideWorkingDirectories": true
}
}
本站在服务器上建了一个工作目录,让 Claude 往它外面的一个目录写一行字,每次只给一个工具:
| 情况 | 结果 |
|---|---|
不设,bypassPermissions,只给 Write |
写出来了 |
设了,bypassPermissions,只给 Write |
没写,工具报错 |
设了,acceptEdits,只给 Write |
没写,同样的报错 |
设了,bypassPermissions,加 --add-dir 把目标目录加进来 |
写出来了 |
设了,bypassPermissions,只给 Bash |
写出来了 |
拦下时,工具返回的报错是这样的(目录换成了示意):
/path/outside/b.txt is outside /path/work; the permissions.blockWritesOutsideWorkingDirectories setting blocks writes outside the working directories. Ask the user to add the directory with /add-dir, or to remove that setting.
Claude 读到后会把原因和办法转告你:用 /add-dir 加目录,或者关掉这个设置。
要注意最后一行:它只管 Write、Edit、NotebookEdit 这三个文件工具,管不到 Bash。 只给 Bash 时,Claude 用 shell 命令照样写到了工作目录外面。想连命令一起限制,要配合沙箱或权限规则。到发稿时,权限和设置的文档页里还没有这个设置,只写在更新日志里。几次测试合计约 0.1 美元。
其他和权限有关的:
- 文件工具要改组织托管设置在本机的副本时,会先问你,和改你自己的设置文件一样。
/permissions里复查被拦调用的那一页改名为 Recently blocked。 内容显示不全的调用(包括终端太矮显示不下的),不让在这里批准。- auto 模式拦下调用时,提示说得更清楚:点名是哪条命令,说明 Claude 可能会重试、auto 模式会再判断一次,并指向
/permissions。 - hook 的
if条件可以写Monitor(tail *),像Bash(tail *)匹配 Bash 那样匹配 Monitor 工具跑的命令。另外修了:匹配 Bash 的 hook 原来不对 Monitor 启动的命令运行,现在会运行,能拦、能问,但不能批准或改写这些命令。见 hooks 参考。 /ultrareview运行 git 之前会先检查目录信任,和claude ultrareview一样。设了CI的任务里,claude ultrareview和claude remote-control不再弹信任的问题,没信任的目录直接拒绝。- 修了:
claude -p --resume或--continue进入 worktree 时,沙箱保护没生效;用--setting-sources排除的设置文件,仍然提供了 auto 模式规则、保存过的权限同意等一部分设置。
走网关和中转站
- 网关或云平台拒收某个 beta 请求头时,去掉它重发。 以前请求直接失败。
- 网关不认工具搜索的
tool_reference块时,去掉工具搜索重发一次,会话记住,以后不再反复被拒。 - 网关后面带点的模型名(比如
claude-opus-4.8)不再被当成旧模型。 以前上下文窗口、输出上限、effort、思考方式和价格都会按错的模型算。 - 内容被标记时换模型: 用
ANTHROPIC_DEFAULT_OPUS_MODEL、availableModels或deniedModels限定之后只剩旧版 Opus(或者一个都不剩)时,被标记的请求以前直接拒答,现在换别的模型重试。见模型怎么设。 - 闲置压缩的范围大了: 关了遥测的订阅用户也会跑;Bedrock、Vertex、Foundry 和 LLM 网关上,打开一小时的提示缓存之后也会跑。
- 修了: 系统证书库里有一张和旧根证书交叉签名的新根证书时,TLS 连接报
UNABLE_TO_GET_ISSUER_CERT。
终端和命令行
FORCE_HYPERLINK=false 改成关掉超链接(实测)。 本站在 tmux 里打开交互界面,只发 /help,把终端收到的原始输出录下来,数里面的超链接。/help 末尾的文档地址是一个超链接:
| 版本 | 不设 | FORCE_HYPERLINK=1 |
FORCE_HYPERLINK=false |
|---|---|---|---|
| 2.1.312 | 有超链接 | 有 | 有 |
| 2.1.314 | 有 | 有 | 没有 |
no 和 off 也算关。
claude -p 启动失败的退出码。 更新日志说修了“启动失败时退出码 0、什么也不输出”,现在打印错误并退出 1。本站在 2.1.312 上试了 13 种启动时就出错的写法:设置文件、MCP 配置或系统提示文件不存在,参数写错,会话 ID 不对,非 git 目录用 --worktree,配置目录不能用等。这些都已经打印错误并退出 1,只有设置文件里是坏的 JSON 时只给警告、照常运行(退出 0),所以没能复现旧的情况,也就没法对比。
其他:
Ctrl+R搜历史,能搜到折叠起来的[Pasted text]里的内容。- 流式输出 markdown 表格时,不再在网格和堆叠两种排法之间跳。
- vim 模式修了几个词移动和粘贴的问题。
- 用 skill 或
/security-review这类命令开头的会话,会按它自动起标题。 - 无界面模式和 Agent SDK 里,一轮开很多子代理时,主会话不再把每个子代理的工具结果一直留到这一轮结束,省内存。
云端会话、VS Code 和其他
- 云端会话的设置脚本出错,会话也照样启动,不再启动失败。到 10 月 31 日,云端环境的文档还写着“脚本非 0 退出,会话启动不了”,见云端会话。
- 云端定时任务会加载你 claude.ai 账号里启用的插件。
- VS Code 和桌面版 Code 标签页也有了闲置压缩:20 万 token 以上的对话闲置后先做摘要,下一条消息时提示缓存已经过期的话就用摘要。
- VS Code 里
CLAUDE_CODE_DISABLE_CFC_PROMPT也不再往会话里加 Claude in Chrome 的说明,浏览器工具照样能用。 - PreCompact hook 的输出超过 1 万字会被截断,以前太长会让压缩失败或反复做。
~/.claude/skills/.trash和~/.claude/plugins/.trash最多留约 1024 条,不再无限增长。- Claude Tag 修了几处:Enterprise Grid 共享频道里
@Claude !restart会重试,Slack Connect 频道里在自己的帖子里被 @ 时会回答。
同期官方文档的改动
这两天官方文档也改了不少,本站相关的文章已经跟着改了:
- Max 5x、Max 20x 改名为 Max 和 Ultra。 见快讯。
- Opus 4.8 的快速模式弃用,11 月 30 日下线。 见 Opus 5.5 快速模式转正的后续。
- Rate Limits API 可以设置工作区的限额。 见快讯。
- Claude API 的每分钟请求数提高了,Sonnet 5.5 三档是 4,000、10,000、13,000。见报错、限流和停止原因。
- 官方的 OpenAI 兼容接口收紧:
response_format只认json_schema加strict: true,音频和文件输入返回 400。见 Claude 的 SDK 和命令行。
怎么升级
claude update
claude --version
原生安装的 Claude Code 会在后台自己更新。到 10 月 31 日,更新日志里已经有 2.1.316,claude update 会直接装到最新;只想要 2.1.314 这一版,用 claude install 2.1.314。2.1.316 的改动见下一篇。