Skip to main content
A mod is a complete plugin directory in Anthropic’s mods/ layout. Read Anthropic’s mods overview and the three reference mods in anthropics/claude-code/mods first.

Layout

Names starting with claude-, anthropic- or cc-plugin- are reserved by Claude Code.

Engine rules

  • Import types only from 'claude-code'; use relative imports for your own files.
  • Write $ as $.noun.event(...) at the call site. Never pass $ to a helper.
  • Treat the event e as frozen.
  • To block something, return { deny } without calling next. Returning {} lets it through.
  • Options come from plugin.json userConfig and are read from user or managed settings, never project settings. Lists are comma-separated strings.
  • No secrets in code, no absolute paths, no $.process.run through a shell.

Before the pull request

Type-checking against the current API does not prove an older Claude Code draws your mod. Test a pane on the oldest supported engine too:
The README must state the command, the options, the minimum Claude Code version and, for vendored code, the license and attribution.