mod とは
mod は Claude Code のプロセス内で動くプラグインです。ツール呼び出し・プロンプト送信・画面描画などのイベントにフックを差し込み、観察する・書き換える・自分で答える、の三通りの対応ができます。設定ファイルの hooks やスキル、MCP サーバーと違い、ペイン・プロンプト上部領域・ステータス行・ボタンなどの画面を自分で描けるのが特徴です。
| mod | 設定 hooks | スキル | MCP | |
|---|---|---|---|---|
| 正体 | Claude Code 内で呼ばれる関数 | イベントで実行されるシェル / HTTP / プロンプト | Claude が読む SKILL.md | 外部プロセスが提供するツール |
| 画面を描ける | はい | いいえ | いいえ | いいえ |
| 書くもの | JS / TS | スクリプトと settings.json | Markdown | 任意の言語のサーバー |
最小構成は 3 ファイル
first-mod/
├── .claude-plugin/plugin.json # マニフェスト
└── hooks/
├── hooks.json # { "modules": ["./register.ts"] }
└── register.ts # export const register = (on) => { on('tool.call', ...) }
どこで動くか
- ターミナルの claude と Desktop アプリの Code タブ: フックも描画も動く
- VS Code 拡張のチャット、claude -p、クラウドセッション: フックは動くが描画は出ない
- Desktop アプリの WSL セッションではプラグイン自体が使えない
入れ方・外し方
# 入れる(作者の marketplace を追加してからインストール)
claude plugin marketplace add owner/repo
claude plugin install mod-name@marketplace-name
# セッション内なら /plugin marketplace add と /plugin install
# シェルから入れた直後は /reload-plugins
# 入れる前に何をするか確認(実行せずにフックと呼び出しを列挙)
claude plugin validate ./some-mod
# 外す・止める
/plugin # Installed タブで無効化・アンインストール
claude --safe-mode # このセッションだけ全 mod を止める
導入前の注意。 mod はサンドボックスの外で、あなたの権限で動きます。ファイルの読み書き、プロセスの起動、ネットワーク送信、環境変数(API キーを含む)の読み取り、すべてのプロンプトとツール呼び出しの閲覧、ツール呼び出しの自動承認、モデル呼び出しによる使用量の消費ができます。
信頼できる作者のものだけを入れ、入れる前に
deny ルールは mod 自身のファイル・プロセス呼び出しには効きません。信頼できる作者のものだけを入れ、入れる前に
claude plugin validate の hooks: と calls: を読んでください。特に $.fs、$.process、$.http.fetch、$.env.get、$.prompt.submit を呼ぶもの、tool.call や prompt.submit を購読するものは中身を確認しましょう。「安全系」の mod も例外ではありません。
早期アクセス期に必要だった CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 は v2.1.287 以降では無視されます。古い README に残っていても設定不要です。逆に 0 にしても mod は止まりません。
該当する mod はありません。
自作する
いちばん手早いのは、Claude Code のセッションで「〇〇する mod を作って」と頼むことです。v2.1.287 以降には組み込みの plugin-authoring スキル(/plugin の Built-in に cc-plugin-plugin-authoring として表示)が入っていて、Claude が API の型定義を参照しながら 3 ファイルを書き、ホットリロードで同じセッション内に読み込みます。
手で書くときの流れ
register.tsにexport const register = (on) => { ... }を書き、on('tool.call', ...)やon('ui.render', { component: 'Pane' }, ...)でフックを登録する- 各フックは
($, e, next)を受け取る。$がエンジン API($.ui.open,$.ui.toast,$.command.register,$.clock,$.fsなど)、eがイベント、next(e)で下流に渡す claude plugin validate ./my-modで検証、claude plugin test ./my-modでテスト、claude --plugin-dir ./my-modで 1 セッションだけ読み込む- 配るときは、リポジトリに marketplace 定義を 1 ファイル置けば
/plugin install my-mod --marketplace owner/repoで入れてもらえる
公式ドキュメント(日本語あり)
カタログ・ディレクトリ・記事
日本語の記事・解説
Claude Code mods 入門、TypeScript で挙動と UI を拡張するQiita / kai_kou
最小構成の mod を作り、validate / test / claude -p を実際に動かした記録。
最小構成の mod を作り、validate / test / claude -p を実際に動かした記録。
Claude Code の mod とは?使い方とおすすめの 4 つblog.joneshong.com
Mods の活用事例 7 選と最初の 1 個の作り方X 記事 / K_AI_Work
英語のカタログ・ディレクトリ
karanb192/awesome-claude-code-mods閲覧用サイト: mods.aidojo.si
GitHub を定期スキャンし
GitHub を定期スキャンし
claude plugin validate で各 mod が何を読み・書き・実行・送信するかを記録する最大規模のカタログ。wh000wh000/awesome-claude-mods
証拠の等級付きで 2 時間ごとに再生成される索引。
証拠の等級付きで 2 時間ごとに再生成される索引。
claudemods.dev
アクセス範囲を L0(表示のみ)〜 L3(ネットワーク / モデル)で分類して掲載。
アクセス範囲を L0(表示のみ)〜 L3(ネットワーク / モデル)で分類して掲載。
modsforclaude.com
各掲載物にソース・固定コミット・レビュー状況を表示。
各掲載物にソース・固定コミット・レビュー状況を表示。
claude-mods.com
フック用 JS / TS を持つプラグインのディレクトリ。
フック用 JS / TS を持つプラグインのディレクトリ。