Claude Code 2.1.178:Tool 参数权限规则让运营商可按模型层级阻断子代理

Claude Code 2.1.178 引入 Tool(param:value) 权限语法,支持用 Agent(model:opus) 等规则阻断特定模型层级的子代理,同时新增嵌套 .claude/ 目录作用域和 auto 模式子代理预检分类器。

TheRouter Newsroom来源 Anthropic Claude Code
深色编辑背景上展示路由规则与分支路径的抽象网络示意图

Claude Code 2.1.178 于 6 月 15 日发布,针对在规模化环境中管理 claude code 2.1.178 Tool 参数权限子代理部署的运营商,带来三项关键变更:全新的 Tool(param:value) 权限语法(可精准定位模型层级)、嵌套 .claude/ 目录作用域(具备确定性冲突解决机制)、以及在 auto 模式下对每次子代理启动进行预检的分类器门控。

2.1.178 的变更内容

Tool(param:value)——可定位模型层级的权限规则

本次最重要的治理新增是 Tool(param:value) 权限规则语法。此前,权限规则只能针对整个工具类别(AgentBashEdit)进行允许或拒绝;现在,可通过键值对和 * 通配符匹配工具的输入参数。

Anthropic 重点展示的使用场景是 Agent(model:opus)——一条拒绝规则,阻止任何子代理以 Opus 模型运行。对于通过 TheRouter 或共享 gateway 路由到 Claude 的团队,这意味着实质性的成本治理:一个无意间启动多轮 Opus 子代理的开发者任务,正是按模型允许名单所要防范的失控消耗类型。

该语法可用于 allowedToolsdisallowedTools 以及 managed settings 文件,因此可在不要求用户单独启用的情况下,在整个部署层面强制执行策略:

{
  "disallowedTools": ["Agent(model:opus)", "Agent(model:claude-fable*)"]
}

值侧的 * 通配符可匹配任意后缀,因此也可以写成 Bash(command:rm*) 来阻断破坏性 shell 前缀——不过 Anthropic changelog 的重点仍在模型层级使用场景。

嵌套 .claude/ 目录作用域

Claude Code 现在会在用户处于子目录中工作时,从嵌套的 .claude/skills/ 目录加载 skill。当嵌套 skill 与项目根目录 skill 同名时,嵌套 skill 以 <dir>:<name> 形式出现在列表中,两者均可调用。

相同的作用域逻辑扩展到 agent、workflow 和 output-style 配置:名称冲突时,离当前工作目录最近的定义优先。项目级 workflow 的保存目标现在是最近的 .claude/workflows/,而非始终写入项目根目录。

这对 monorepo 团队尤为重要——不同包可拥有不同的 skill 或 workflow 集合,而不再由共享的项目根目录统一控制。

Auto 模式子代理预检分类器

在 auto 模式下,Claude Code 现在会在子代理启动之前运行安全分类器来检查子代理启动请求。此前,子代理可能在执行过程中才被发现请求了被阻断的操作——此时 token 已经消耗。预检机制在启动时即暴露阻断结果。

对于执行严格 disallowedToolsavailableModels 策略的运营商,这填补了子代理意图绕过审查的漏洞。分类器使用与此前版本相同的 auto 模式模型选择逻辑。

运营商应关注的 Bug 修复

2.1.178 中有两项修复与在自定义 API gateway 上运行 Claude Code 的团队直接相关:

ANTHROPIC_BASE_URL + ANTHROPIC_AUTH_TOKEN daemon 认证。 通过 claude agents 启动的 worker,当 daemon 从设有自定义 ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN 的 shell 启动时,返回 401 Invalid bearer token。daemon 未能正确继承凭证。此问题已修复。

Compaction fallback 模型链。 Compaction(自动上下文压缩)之前未遵循 --fallback-model。当 compaction 遇到过载或模型不可用错误时,会直接失败而非在配置的 fallback 链上重试。现在已正常工作。

这两项修复与 2.1.175 引入的 enforceAvailableModels 治理形成叠加效果:现在可以同时组合使用严格的模型允许名单、fallback 链和自定义 gateway 凭证,而不会出现静默认证缺口。

对路由团队的意义

Tool(param:value) 将 Claude Code 权限规则从"哪个工具类别"升级为"哪个模型、命令前缀或参数值"。对于通过共享 gateway 路由到多个 provider 的团队:

  • 现在可以在 harness 层面拒绝 Opus 层级的子代理,而无需完全禁用 Agent 工具。这意味着 swarm 架构仍可使用子代理,但仅限于已批准的模型层级。
  • 结合 enforceAvailableModels,managed settings 文件可以将整个 session(包括直接模型选择和子代理启动)锁定在计费方案所覆盖的层级。
  • Auto 模式预检分类器意味着策略违规在计算资源消耗前就会被发现。

daemon 凭证修复对需要自定义 base URL 的代理运营商同样重要。基于 daemon 的后台 session 现在可以正确继承父 shell 中设置的 gateway 凭证。

需关注的后续进展

Anthropic 目前尚未将 Tool(param:value) 扩展到键和值侧同时支持通配符(如 Agent(*:fable*) 未见记录为支持)。请关注 Claude Code changelog 了解语法的后续扩展。

嵌套 .claude/ 作用域是新行为——如果 CI 流水线或脚本假设所有 .claude/ 定义均位于项目根目录,请在升级前进行审查。带目录限定名的 skill(如 api:lint)现在的行为与不带限定的 lint 有所不同。

立即体验

更新 Claude Code 后通过 /permissions 检查权限规则。现有 disallowedTools 条目继续正常工作;Tool(param:value) 语法为增量新增。

如需了解 TheRouter 的模型目录与权限规则的对应关系,以及 Agent(model:...) 条目的有效模型 ID,请参阅模型目录

企业部署的广泛治理配置,包括 managed settings、OTEL 集成和多 provider fallback 链设置,请参阅 docs 中心

客服支持