2.1.224 版本取消了每会话200个子代理的硬性上限,仅保留并发和深度限制,长时间运行的Agent任务不再被强制中断。
版本 2.1.224 带来了什么
Anthropic 于 2026 年 8 月 7 日推送了 Claude Code 2.1.224,这是一次比版本号看起来更大的更新。我在该版本发布当天早上阅读了更新日志,因为 Claude Code 是我构建所有 RAXXO 产品的工具,其中若干改动直接影响我日常运行的那种长时间、大量使用 agent 的会话。
本次头条变化是取消了此前 Anthropic 仅在几个版本前才加上的、每个会话 200 个 subagent 的上限。并发限制和深度限制仍然适用,因此会话不能同时生成无限数量的 agent,但长生命周期会话在运行期间可以生成多少个 agent 的硬性天花板已经不存在了。在此基础上,2.1.224 还通过新的 claude self-hosted-runner 命令添加了自托管环境,添加了跨会话消息功能——同一台机器上的多个 Claude Code 会话(或者在 macOS 和 Linux 上跨机器)可以互相通信——以及一组面向大规模运行 Claude Code 的团队的安全和插件改动。
这一切都不是新模型的能力,而是基础设施层面的工作——那种不起眼但决定了一个工具在日常高强度使用下能否撑住、还是一旦工作流变得漫长复杂就开始给你添堵的工作。对于一个人独立工作的工作室来说,这种区别比一个基准测试分数重要得多。我没有团队可以绕过一个限制。如果一个会话在执行真实任务的过程中撞上了一堵人为的墙,整整一天都会慢下来。
此次发布也紧跟前一天 8 月 6 日的 2.1.223 更新,后者为市场准入和屏蔽列表添加了所有者通配符条目,允许一个组织用一行配置来许可或屏蔽某个 GitHub 组织下的所有插件仓库,而无需逐个列出。再往前一个版本是 8 月 4 日的 2.1.222,包含了针对 worktree 隔离和权限绕过的安全修复。把这三个版本连起来看,讲述的是一个故事:加固 Claude Code 中团队共享的部分,然后放宽那些本来只是为了保护单个失控会话的部分。
我不会在这里覆盖每一个 Claude Code 版本。大多数周版本都是些小修复,只对特定 bug 的相关人员有意义。这一次值得专门写一篇,是因为五个独立的改动同时出现在同一个版本中,而且每一个都在改变一个真实的约束,而非装饰性设置。
移除 Subagent 上限为何真正重要
会话限制听起来像是个小技术细节,直到它打断了你正在做的事情。200 个 subagent 的上限是为了防止失控的委托循环而设计的——这是一个真实存在的问题,会话生成帮助 agent 的速度快过解决它们的速度,最终被自己的扇出撑死。这种保护是合理的。但每个会话的硬性上限也惩罚了相反的情况:一个单独的长时间会话,在许多小时内合法地委托大量小而边界清晰的任务,从不失控,只是简单地累加成一个很大的数字。
在保留并发限制和深度限制的同时移除上限,是这个权衡的正确形态。并发限制阻止了 Anthropic 最初要防护的失控循环故障模式,因为会话仍然不能同时拥有无限数量的活跃 agent。深度限制阻止了一个 agent 衍生另一个 agent、再衍生另一个 agent 这样失控蔓延的链条。消失的是那个任意的生命周期计数器——它与一个会话是否行为良好无关,只与它运行了多久、完成了多少实际工作有关。
我关心这一点,是因为我构建的许多东西是在持续数小时而非数分钟的会话中测试和打磨的。像 Git Dojo 这样的工具不会在一次干净的过程中完成。它是跨会话构建、测试、打破、再重建的,会话不断从不同角度处理同一个问题。一个为故障模式而非工作负载调优的上限,恰恰会在那种场景下开始咬人。
自托管环境和跨会话消息
自托管环境是另一个结构层面的变化。新的 claude self-hosted-runner 命令将你控制的机器或容器变成 Claude Code 网页端、移动端和桌面端会话实际可以运行的地方,而不是所有流量都经过一个共享的托管池。这是一个 Team 和 Enterprise 层级的功能,不是一个人独立工作室第一天就能架设的东西,但它标志着 Anthropic 对 Claude Code 发展方向的判断:不再是一个单一的托管产品,而是一个可以接入团队已有基础设施的平台。有严格数据驻留规则的公司,或者只是想让会话运行在自己已经付费的硬件上的公司,有了一条受官方支持的路径而不是变通方案。
跨会话消息范围更小,但对我来说 Immediate 地更有趣。Claude Code 会话现在可以互相发送消息,通过会话列表发现,支持 macOS 和 Linux。两个新设置控制着这种交接的行为:一个控制接收会话在以绕过权限模式运行时,收到跨会话消息是否需要审批;另一个控制待处理消息在过期前等待多长时间。这是一个一直缺失的功能的第一个版本:一种让一个运行中的会话将一个事实、一个结果或一个提示直接交给另一个的方式,无需人工在中间传递。
想象同一台机器上两个会话在处理相关的问题。在此版本之前,其中一个了解另一个发现了什么的唯一方式是一个人同时读取两个终端并手工输入它们之间的关联。现在一个会话可以直接发送那个事实,而接收会话根据新的审批和过期设置决定是否立即对其采取行动。我还没有围绕它重构任何东西。这种原语在更新日志里看起来很小,但一旦有足够多的人开始在其之上构建,它就会变得重要,所以我想先观察几周它在实际使用中的表现,再把它用在任何重要的事情上。
发布的安静一半
2.1.224 的其余部分是安全和分发层面的加固,对团队的的意义大于对独立构建者,但仍然值得了解。沙箱凭证掩码新增了 decode: "jwt",支持声明感知的掩码,因此通过沙箱进程传递的 JWT 会将其敏感声明隐藏起来,而不是将整个令牌视为一个不透明 blob。它还新增了 AWS SigV4 感知的重新签名功能,适用于凭证对,这对在沙箱内部针对 AWS 支持的基础设施运行 Claude Code 的任何人都有意义。这两个选项都需要配置 TLS 终止,并且仅在通过 user、managed 或 explicit settings 源设置时才生效,而不是临时设置。
另一个新增是一个 archive 插件源:Claude Code 现在可以直接从通过 HTTPS 提供的 zip 文件安装插件,支持可选的 SHA-256 锁定,无需 git clone 和 npm 注册表。对于想要分发插件但又不想搭建包注册表条目的插件作者来说,这填补了一个真实的空白。对于用户来说,SHA-256 锁定意味着你可以精确验证安装的内容与作者发布的内容一致,这种事情只在某一天它真正重要的时候才会显得重要。这与我在 MCP 转向无状态时写的协议变更背后的思路一致:在周围的生态系统变得太大、难以收紧之前,先在边缘处收紧契约。
这四个新增——JWT 掩码、SigV4 重新签名、TLS 终止要求或 archive 源——都不会出现在演示中。它们出现在第一次安全审查询问凭证如何在沙箱进程中流动的时候,或者第一次插件作者需要在等待注册表审核的同时推送一个修复的时候。这是大多数基础设施工作真实的样子。在大多数时候是不可见的,直到有一天它成为唯一重要的事情。
2.1.224 中的各个单独改动本身都不算引人注目,而且它发布的同一周我写了 Anthropic 在自研芯片的文章,提醒人们 Claude 背后的基础设施不只有一个方向在同时推进。综合来看,2.1.224 的改动读起来像是一个工具在变得更诚实地面对它实际被使用的方式:长时间运行和大量委托的会话、需要自有基础设施而非共享池的团队、不需要完整包生态就能分发的插件、以及即使在默认安全的沙箱内部也需要保持掩码的凭证。
我不是在真空中构建的。每一个 RAXXO 工具都受到我构建它所使用的工具的塑造,而这样的一个版本改变了单个长时间会话在一次坐下来可以负责任地完成的事情的上限。Subagent 上限的移除是我最先感受到的,仅仅因为它移除了一堵我自己没有选择也没有控制过的墙。其余的——自托管运行器、跨会话消息、插件和沙箱改动——是那种我会在成长过程中逐步用上的基础设施,而不是第一天就会用到的东西。这通常是有用的更新的样子。激动人心的那些上了头条。承重墙般的那些出现在更新日志条目里,然后在六个月后悄然改变一个普通工作日的样子。