用 mods 定制 Claude Code
来自 Claude Blog · 期号 2026-10-01
摘要
开发者想要更多控制权,又不想等 Anthropic 发新功能。 Claude Code 现在支持 mods:用几行 TypeScript 写一个函数,挂到某个事件上,在它之前、之后或代替它执行。可以改写发给模型的 prompt、拦截或重试工具调用、自动批准权限请求、或者改 UI。 Mods 打包在 plugin 里分发,CLI 和桌面端都能用。内置的 /diff 功能现在也是一个 mod,用户可以关掉它或换成自己的版本。 团队版和企业版的管理员可以控制哪些 mod 能跑。一个内置的 sec-default mod 会阻止用户安装的 mod 覆盖安全规则。 Mods 和 Claude Code 共享同样的机器权限,没有沙箱隔离,只应从可信来源安装。
深读
导读 Claude Code 现在支持 mods——用几行 TypeScript 函数就能改写 prompt、拦截工具调用、替换内置功能或添加新 UI。Mods 打包在 plugin 里分发,CLI 和桌面端都能用,团队版和企业版的管理员可以控制哪些 mod 能跑。读完能快速判断 mods 是否值得上手,以及它跟旧版 hooks 的根本区别在哪里。 关键信息 - Mods 是 TypeScript 函数,挂到 Claude Code 的某个事件上,可以在事件之前、之后或代替它执行,也可以同时在前和后运行代码。 - 一个 mod 能做的事包括:改写发给模型的 prompt、拦截/改写/重试工具调用、自动批准或拒绝权限请求、从工具输出中抹掉敏感信息。 - 内置的 /diff 功能现在本身就是一个 mod,用户可以关掉它或换成自己的版本;Anthropic 计划把更多内置功能逐步迁移成 mods。 - Mods 和 Claude Code 共享同样的机器权限,没有沙箱隔离,只应从可信来源安装。 - 团队版和企业版的管理员可以在管理后台控制哪些 mod 能跑;一个内置的 sec-default mod 会阻止用户安装的 mod 覆盖安全规则。 逐节讲解 为什么需要 mods 开发者想要更多控制权,又不想等 Anthropic 发新功能。旧版的 hooks 能提供一部分控制,但 hooks 无法改写事件、绘制新 UI 或替换功能——mods 可以。Anthropic 在发布前把设计放到了 GitHub 上收集反馈。 Mods 的工作原理 Claude Code 每次做一件事(调用工具、请求权限、绘制界面的一部分)都会发射一个事件。Mod 就是一个挂到某个事件上的函数,可以跑在事件前、事件后、或者代替事件执行。多个 mod 挂同一个事件时,按加载顺序依次执行,先加载的先看到事件、后拿到结果,这样不同作者的 mod 可以叠加。 用户也可以让 Claude Code 自己写 mod:告诉它需求,它就能写出 TypeScript、安装并热加载到当前会话里。 替换内置功能与团队控制 部分内置功能已经以 mod 形式提供,比如 /diff。用户可以在 /plugin 里关掉它,或者换成自己写的版本。Mods 打包在 plugin 里分发,现有的 plugin 管理规则(如允许或屏蔽某个 marketplace)同样适用。团队版和企业版的管理员可以在管理后台设置,Claude API 和第三方 API 计划的用户则由管理员推送托管配置。 一个名为 sec-default 的内置 mod 会最先加载,阻止用户安装的 mod 做危险操作(比如覆盖权限拒绝规则)。管理员也可以把自己的 mod 设为最先加载,此时需要手动把 sec-default 加回列表才能保留它的限制。 团队可用的场景…