Anthropic 在 2026-10-01 给 Claude Code 加了 Mods:装在插件里的一小段 TypeScript(也支持 JavaScript),用来改行为、改界面。CLI 和桌面端都能用。版本要求是 Claude Code 2.1.287 及以上,默认开启。

Mods 能干什么

官方博文里写得很直白。一次会话里 Claude Code 每做一件事(调工具、要权限、画一块界面),都会发出事件。Mod 挂到这些事件上,可以:

  • 在提示到达模型前改写提示
  • 拦截、改写或重试工具调用
  • 批准或拒绝权限请求
  • 在工具输出进模型前脱敏密钥一类内容
  • 编辑或替换界面片段,加按钮和输入框

和以前的 hooks 比,hooks 改不了事件内容,也画不了 UI,更替不了内置功能。Mods 可以。

事件怎么叠

一个 Mod 可以在事件之前、之后、代替它跑,也可以 wrap(前后都跑)。多个 Mod 挂同一事件时,按加载顺序排队:先加载的先看到事件,结果最后回来。这样不同作者的 Mod 能叠在一起。

Addy Osmani 的入门文里把链路写得更具体:register(on, options) 注册钩子,钩子里拿到 $(mods API)、事件数据 e,以及 next。你可以观察后原样放行,改写后再 next,也可以不调 next 直接拒绝或自己接手。

内置功能也在迁到 Mods

部分内置能力已经做成 Mod。官方点名 /diff;入门文还提到 AGENTS.md 支持。你可以在 /plugin 里关掉或换成自己的实现。Anthropic 说会继续把更多内置功能迁过去,方便你把 Claude Code 削到核心再按需加回。

安全:和 Claude Code 同权

官方写得很清楚:Mods 没有沙箱,对机器的访问权和 Claude Code 本身一样。只装你信任的来源,和装本机任意代码一个道理。

入门文补充了一点边界:模块侧没有 DOM、也没有裸 Node,对外要通过 $ API(ui、session、state、fs、process 等)。这是 API 面约束,不等于进程隔离。信任模型仍以官方「同权、不沙箱」为准。

团队与企业侧:

  • Mods 走插件通道,现有插件管控仍然生效。管理员可允许或屏蔽插件市场。
  • Team / Enterprise,以及带 managed settings 的机器上,内置 Mod sec-default(security default)最先加载,拦住用户安装的 Mod 去覆盖 deny 规则一类危险操作。源码可查。管理员也可以自己先加载一组 Mod,但仍建议把 sec-default 留在列表里。

怎么上手

不必先啃完整 API。开 claude,直接说想要什么样的 Mod,允许热重载后,Claude Code 可以写 TypeScript、装上并在当前会话热加载。入门文演示了 Token Weather(上下文占用预报)、Blast Radius(危险 Bash 先量影响再确认)、Replay Theater(逐步回放本轮编辑)等例子。

分享方式与普通插件相同:打进插件,走 marketplace 或 Claude directory。本地校验可用 claude plugin validate。

下面这段来自 Addy 入门文的简化示意(观察并放行 Bash 调用),仅作形状参考,以你本机版本生成的 .claude-plugin/types/ 为准:

on("tool.call", { tool: "Bash" }, async ($, e, next) => {
  // $  mods API;e 事件数据;next 交给后续插件与 Claude Code
  return next(e);
});

主源:Anthropic 官方介绍、Getting started with Claude Code mods(Addy Osmani)。能力边界与 API 细节以文档和本机类型声明为准。

— 感谢阅读 —

一起交流

分享你的思考,让讨论更进一步。