Anthropic 在 GitHub 上发布了 Claude Code 2.1.318 版本。发布说明篇幅不短,重点主要在可靠性上。此次更新涉及共享网络目录中的配置保存与登录、claude.ai 登录的过期时间,以及远程和非交互会话的行为。如果你在企业环境或自动化流程中使用该工具,值得看看有哪些变化。
在进入正题之前,先了解几个术语。 ~/.claude.json 是 Claude Code 的配置文件,保存设置、受信任目录和 MCP 服务器。MCP 是助手连接外部工具所用的协议。claude -p 是非交互模式,常用于脚本和自动化。Mod 是 Claude Code 在会话中编写的扩展。Subagent 是与主代理并行工作的次级代理。
Claude Code 2.1.318 有哪些新变化?
根据 GitHub 上的官方说明,此版本会记录用户在 Claude Code 询问是否启用会话中编写的 mod 时的回答。它还为 Claude 应用网关的 mantle 上游添加了 assume_role,可用于切换到另一个 AWS 账户的角色,并将 AWS 成本归属到每位开发者。
mod 还新增了 $.model.fork 的 effort 选项,使快速的次要任务可以在低 effort 下运行,与会话无关。结果中会报告所发送的 effort。
登录过期的处理方式有何变化?
现在 claude auth status 会显示已保存的 claude.ai 登录的截止日期(loginExpiresAt)。claude -p 的 JSON 结果会返回 credential_expires_at。在过期前 10 天,claude -p 的文本输出会在 stderr 上显示一行提醒。
登录过期时,错误信息会明确说明,并且在 claude -p 中会提示 claude auth login 和 claude setup-token。对于无人值守运行任务的人来说,这是以前缺少的信息。
为什么网络主目录被反复提及?
许多修复都涉及共享网络主目录。说明中提到 /logout、claude auth logout 和 claude mcp remove 即使文件未被更新也会报告成功。另外,当主目录空间耗尽时,已保存的登录被空文件替换的问题也已修复。
其他条目涉及任务在另一终端重新登录后以 Not logged in 退出,以及 claude mcp add 和 remove 在无锁状态下写入的问题。现在它们会等待,或以退出码 1 结束,不过另一任务的保存仍可能覆盖已保存的服务器。
对于 ~/.claude.json,无效文件不再被默认值替换。启动会失败并说明如何恢复。如果文件为空且没有备份,Claude Code 的行为与文件缺失时相同。如需了解背景,也可以阅读2.1.314 的修复。
会话、subagent 和安全方面有哪些变化?
说明中修复了在工具调用失败后使用 --continue 时对话丢失的问题,这是 2.1.314 的回归。同时修复了 macOS 上大量 Bash 命令导致的卡顿,以及因发送消息后立即输入的按键而被误处理的权限提示。
在自托管 runner 或云会话重启后获批准的命令,原先在会话的初始目录中运行。现在如果所请求的目录无法访问,命令将不会执行。另外,带 URL 的 deniedMcpServers 也会阻止与之匹配的 Anthropic 提供的服务器上游。
后台 subagent 在所有提供商上都会在 3 分钟后将 shell 命令转入后台,以避免提示缓存过期。在 Bedrock、Vertex、Foundry 或未启用遥测的情况下,若缓存为冷,等待时间可能达到 5 分钟。与上一版本的对比可参阅 2.1.316。
需要了解的限制
所提供的说明内容被截断,最后一条关于网关的条目也不完整。我们并未在实际环境中验证任何修复。文中仍保留了一些已声明的限制,例如另一个任务的保存操作仍可能覆盖已保存的 MCP 服务器。文中也没有性能影响的测量数据。
对数字工作者的影响
如果你在脚本或 CI 中使用 Claude Code,可以用 claude auth status 检查登录过期时间,并在 stderr 上捕获提醒。如果主目录位于 NFS 或其他共享目录,此次更新能降低配置被清空或 MCP 丢失的风险。负责企业策略的人应复查 deniedMcpServers 规则,其范围现已扩大。若你在该服务上做开发,也可以回顾Cursor 上带后门扩展的案例,因为 2.1.318 在 IDE 终端中启动时不再自动安装 IDE 扩展。
我们的看法
这是一次不太显眼但很实用的发布。几乎所有条目都在修复静默的数据丢失,或是在未真正成功时却声称成功的问题,这类缺陷在生产环境中往往要耗费数小时排查。不利的一面是,与网络主目录和重启相关的问题依然不少。对于一个越来越多地在无人值守状态下使用的工具而言,登录与配置保存的稳健性应当是基本要求,而不是靠一连串后续补丁来逐步补齐。
常见问题
新的登录过期提醒有什么作用?
从已保存的 claude.ai 登录过期前 10 天起,它会在 claude -p 的文本输出中通过 stderr 显示。过期日期也可以在 claude auth status 中查看。JSON 结果中还有 credential_expires_at 字段。
Claude Code 2.1.318 是否修复了使用 --continue 时对话丢失的问题?
是的,针对一个特定情况。说明中提到,在格式错误的工具调用重试失败后,之前的对话会丢失。这是 2.1.314 引入的回归问题。
如果 ~/.claude.json 损坏会怎样?
非交互启动会失败,并说明如何恢复文件,文件本身保持原样。以前它会被默认值覆盖。如果文件为空且没有备份,现在不会再被报告为损坏。
IDE 扩展是否有变化?
有。如果在 IDE 终端中启动,Claude Code 不再安装或更新 IDE 扩展。可以在外部终端中使用 /ide,或使用编辑器的扩展视图。
subagent 的工作方式有变化吗?
有。后台 subagent 会在 3 分钟后将 shell 命令转入后台运行。另外,如果选项设为 Ask each time,它们会停止而不是切换模型。
在后续 Claude Code 版本中需要关注什么
2.1.318 修复了许多缺陷,但也留下了一些已声明的问题。接下来的发布说明将显示网络主目录是否还会引发问题。
- 阅读后续发布说明时,留意与 MCP 服务器锁定和并发保存相关的条目。
- 在将更新推广到整个团队之前,先在测试 runner 上试运行。
- 检查你的任务中是否出现过期提醒,并记录登录的截止日期。




