Claude Codeの modsとは? 作り方・ 入れ方・ 止め方
- modはClaude Codeの見た目と動きを変えるプラグインです。
- Claudeに頼んで作るか、/plugin installで入れます。
- 自分の権限で動くので、入れる前に中身を確かめます。

Claude Codeのmod(モッド)は、Claude Codeの中で動くJavaScriptやTypeScriptの関数で、Claude Codeの見た目と動きを変えるプラグインです。 画面の横に自分用のパネルを出す、ツールの呼び出しを止めて確かめる、Claudeを待たずにすぐ動く/コマンドを足す、といったことができます。いちばん簡単な作り方は、Claude Codeに「こういうmodを作って」と頼むことです。人が作ったmodは、ほかのプラグインと同じくマーケットプレイスから/plugin installで入れます。手元のフォルダにあるmodは、--plugin-dirで読み込めます。
modはあなたと同じ権限で、サンドボックスの外で動くコードです。ファイルの読み書き、プログラムの起動、ネットへの通信、許可の確認の前の承認までできます。入れるのは信頼できる作者とマーケットプレイスのものだけにして、入れる前にclaude plugin validateで中身を確かめます。この記事では、modでできること、作り方と入れ方、安全の確かめ方、止め方、会社での管理までを順に説明します。
内容は、2026年10月26日に公式のmodの概要、modの作り方、組織でのmodの管理、modのトラブルシューティング、Claude CodeのCHANGELOGと照らし合わせました。
modとは何か
公式の説明では、modは「Claude Codeの見た目と動きを変えるプラグイン」です。中身はJavaScriptかTypeScriptで書いたイベントの受け手(ハンドラー)で、Claudeがツールを使う、プロンプトが送られる、画面の一部が描かれる、といったことが起きるたびにClaude Codeがそれを呼びます。受け手は、そのできごとを見るだけにも、書き換えることも、自分で引き取ることもできます。
CHANGELOGでは、v2.1.287で「Claude Mods」として追加されました。ターミナルではv2.1.287以降、デスクトップアプリではv2.1.286以降で、最初からオンになっています。自分の版は、ターミナルならclaude --version、デスクトップアプリならCodeタブのローカルの会話で/statusを打ち、Claude Codeの行で確かめます。
似た名前のものに、設定ファイルに書くフックがあります。こちらはシェルのコマンドやHTTPのリクエストを外から動かす仕組みで、公式のmodの頁では「settings hook(設定のフック)」と呼び分けています。modはClaude Codeの中で関数として動くので、外からはできないことができます。
modで できること
公式の概要は、modにしかできないことを次の5つにまとめています。
| できること | 例 |
|---|---|
| できること使える | 例会話の |
| できることClaude Code | 例ツールの |
| できることツールの | 例呼び出しを |
| できることコマンドで | 例Claudeの/コマンド。 |
| できることフックどうしで | 例1つの |
公式の例に、ターンごとのコンテキストの埋まり具合をグラフにするパネルがあります。ステータスラインは画面の下に文字を1行出す仕組みですが、modならパネルやボタンまで描けます。
関連記事フック・ スキル・ MCPとの違い
modと、設定のフック、スキル、MCPサーバーは、できることが一部重なります。公式の比較表をまとめると次の通りです。
| mod | 設定の | スキル | MCPサーバー | |
|---|---|---|---|---|
| 何か | modプラグインの | 設定のフック決まった | スキルClaudeがSKILL.) | MCPサーバーClaudeに |
| 変えられるもの | modツールの | 設定のフックツールの | スキルClaudeが | MCPサーバーClaudeが |
| 画面に | mod描ける | 設定のフック描けない | スキル描けない | MCPサーバー描けない |
| 書くもの | modJavaScriptか | 設定のフックスクリプトとsettings.の記述 | スキルMarkdown | MCPサーバー好きな |
| 選ぶ場面 | modパネル、 | 設定のフック手元の | スキル同じ | MCPサーバーClaudeに |
公式は、設定のフック、スキル、MCPサーバーで足りるなら、modを書く前に比べるよう勧めています。1つのプラグインにmodとスキルとMCPサーバーを一緒に入れることもできます。
関連記事modを 使える場所
modのフックは、モデルをどこから使っていても動きます(Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundryも含みます)。描いた画面が出る場所はもっと狭く、公式の表は次の通りです。
| Claude Codeを | フックが | 描いた |
|---|---|---|
Claude Codeを使う場所ターミナルのclaude(エディターの | フックが動くか動く | 描いた画面が出るか出る |
| Claude Codeを使う場所デスクトップアプリの | フックが動くか動く | 描いた画面が出るか出る。 |
| Claude Codeを使う場所デスクトップアプリの | フックが動くか動かない | 描いた画面が出るか出ない |
| Claude Codeを使う場所VS Codeの | フックが動くか動く | 描いた画面が出るか出る。 |
Claude Codeを使う場所claude -pと | フックが動くか動く | 描いた画面が出るか出ない |
| Claude Codeを使う場所claude.aiや | フックが動くか手元の | 描いた画面が出るか手元の |
| Claude Codeを使う場所クラウドの会話 | フックが動くか届いた | 描いた画面が出るか出ない |
VS Codeの拡張機能で、機能のフラグを取りに行かない会話(Amazon Bedrockで使う場合など)は、2.1.304以降が要ります。
modを 手に 入れる 3つの方法
1. 最初から 入っている modを使う
Claude Codeの機能の一部は、それ自体がmodです。/pluginを開いてInstalledタブに進むと、Built-inの下に並んでいます。組み込みのmodは更新も削除もできず、止め方はmodごとに違います。
/pluginでの名前 | していること |
|---|---|
/pluginでの名前cc-plugin-agents-md | していることAGENTS.を |
/pluginでの名前cc-plugin-diff | していること/diffを |
/pluginでの名前cc-plugin-plugin-authoring | していることmodをplugin-authoringスキルを |
/pluginでの名前cc-plugin-sec-default | していること会社が |
/pluginでの名前cc-plugin-telemetry | していることClaude Codeと |
/pluginでの名前cc-plugin-you-should-know | していること横で |
cc-plugin-you-should-know(You should know)は、CHANGELOGでは/plugin enable cc-plugin-you-should-know@builtinでオンにすると書かれています(Anthropicに直接つなぐ会話で、テレメトリーがオンのとき)。
2. Claudeに 作って もらう
modを作るいちばん簡単な方法は、対話の会話で欲しいものを言葉で頼むことです。Claudeは組み込みのplugin-authoringスキルを使って書きます。自分で/plugin-authoringと打ってスキルを読み込ませることもできます。
- 頼む。たとえば「入力欄の上に、いまのgitのブランチを出すmodを作って」と書きます。Claudeは
~/.claude/dev-mods/の下の、会話ごとのフォルダにmodを書きます - ファイルを許可する。
defaultとacceptEditsの許可モードでは、このフォルダが保護された場所なので、ファイルを1つ作るたびに確認が出ます - ホットリロードを許可する。最初のファイルを保存すると、この会話でホットリロードを使うか聞かれます。Enable for this sessionを選ぶとターンの終わりにmodが読み込まれ、以後は変えるたびに読み直されます。Not nowを選ぶと、次にその会話を始めたときに読み込まれます
- 確かめる。
/pluginのInstalledタブにmodが出ていれば読み込まれています。ここでオフにもできます - 試して直す。思った通りでなければ、Claudeに直したいところを伝えます。読み込みに失敗すると、modの名前で始まる行が会話に出ます。Claudeにはその行が見えないので、直してもらうときに貼り付けます
Claudeが書いたmodは、作った会話の中でしか読み込まれません。その会話のフォルダは、cleanupPeriodDaysより古くなると消されます。残したいときは、modのフォルダを~/mods/git-branchのような自分の場所に写し、claude --plugin-dir ~/mods/git-branchで始めます。人に配るなら、マーケットプレイスに載せます。
次の会話では、Claudeが書いたmodは読み込まれません。
claude -pやdontAskモードのように、許可を聞く相手がいない会話- フォルダを信頼する確認に、まだ答えていない会話
--safe-modeや--bareで始めた、disableAllHooksを設定した、会社の管理された設定で止められている会話
3. 人が 作った modを 入れる
modはプラグインとして、マーケットプレイスから入れます。プラグインの名前、@、マーケットプレイスの名前を続けます。公式の例は次の通りです。
# Claude Codeの会話の中で
/plugin install token-chart@your-org
# シェルで
claude plugin install token-chart@your-org会話を開いたままシェルで入れたり更新したりしたときは、その会話で/reload-pluginsを打つと読み込まれます。マーケットプレイスの追加や入れる範囲(スコープ)の決め方は、ふつうのプラグインと同じです。
Anthropicは、claude-code-playgroundのリポジトリで見本のmodを公開しています。サポートなしで、そのままの形で共有されています。
| 見本 | していること |
|---|---|
見本token-weather | していることコンテキストの |
見本blast-radius | していることrm -rfや |
見本replay-theater | していること直前の/replayコマンドを足す |
試すときは、リポジトリを手元に写し、modのフォルダを--plugin-dirで1回の会話だけ読み込みます。
modの 中身 (いちばん 小さい例)
自分で書く場合、modは3つのファイルでできています。Node.jsやビルドの手順は要らず、Claude Codeが.jsと.tsをそのまま読み込みます。
first-mod/
├── .claude-plugin/
│ └── plugin.json プラグインの説明書き(マニフェスト)
└── hooks/
├── hooks.json コードのファイルの場所を書く
└── register.js modのコードhooks.jsonのmodulesにコードのファイルを書くと、そのプラグインがmodになります。公式の例のregister.jsは、Claudeがツールを使った回数を数え、作業中のスピナーの横に出します。
// 下の2つのフックで分け合う回数
let calls = 0
// modが読み込まれたときに1回呼ばれる
export function register(on) {
// Claudeがツールを使う直前に毎回動く
on('tool.call', async ($, e, next) => {
calls += 1
// 新しい回数が出るように、画面を描き直してもらう
$.ui.invalidate('ui.render')
// ツールはいつも通り動かす
return next(e)
})
// スピナーを描くたびに動く
on('ui.render', { component: 'Spinner' }, async ($, e, next) => {
// Claude Codeのスピナーはそのままにして、後ろに回数を足す
return next({ ...e, props: { ...e.props, suffix: ' · tool calls: ' + calls + '…' } })
})
}作業中は、スピナーがThinking · tool calls: 3…のように数えていきます。フックは、できごとを見るだけ(上のtool.call)、書き換える(上のui.render)、自分で引き取る(コマンドを断るなど)のどれかをします。ファイルを読む、通信する、画面を描く、といった外への働きかけはすべて「mods API」を呼んで行います。だから、入れる前にmodが何をするかを一覧にできます。
入れる 前に 安全を 確かめる
公式は、modを入れるのは信頼できる作者とマーケットプレイスのものだけにするよう、何度も注意しています。読み込まれたmodにできることは、公式の説明で次の通りです。
- あなたとして機械を操作する。あなたのアカウントで触れるファイルの読み書き、プログラムの起動、ネットへの通信
- 秘密を読む。環境変数や設定ファイル。そこに置いたAPIキーも含みます
- 会話を見る。送ったプロンプトと、Claudeのツールの呼び出しのすべて
- 会話を変える。プロンプトやツールの呼び出しを書き換える、あなたが打ったようにプロンプトを送る、別の会話にメッセージを送る
- 聞かずに進める。あなたに聞く前に、ツールの呼び出しを承認する
- 使用量を使う。あなたのプランやAPIキーでモデルを呼ぶ
modはサンドボックスに入りません。 サンドボックスをオンにしても、隔離されるのはClaudeが動かすBashのコマンドだけで、modが起こしたプログラムはその外で動きます。一方で、許可の確認の画面だけはmodでも描き変えられず、確認に出る内容は変えられません。
管理された設定があるか、TeamやEnterpriseの/loginで使っている会話では、modの承認は初めからaskのルールやPreToolUseのフックを素通りできません。どちらもない場合は、askのルールで確認が出るはずの呼び出しや、PreToolUseのフックが止めた呼び出しを、modが通せます。
入れる前に中身を見るには、プラグインのファイルを手元に写し(リポジトリを写すなど)、シェルで次を打ちます。modを動かさずに調べられます。
claude plugin validate ./some-mod出力のhooks:の行に、modが受け取るできごとが並びます。calls:の行には、ファイルを読む、通信するなど、modがClaude Codeに頼むことが並びます。中身の見方は、公式のmodの中身を調べるにあります。
modを 止める ・ オフにする
止める範囲と期間で、やり方が3つあります。元に戻すときは、同じ変更を取り消します。
| 止めたい範囲 | やり方 |
|---|---|
| 止めたい範囲1つの | やり方/pluginのInstalledタブで、 |
| 止めたい範囲入れた | やり方claude --safe-modeで |
| 止めたい範囲入れた | やり方~/.claude/に"disableAllHooks": trueを |
disableAllHooksで止まるのはmodだけで、プラグインは入ったまま残り、スキル、コマンド、エージェント、MCPサーバーは読み込まれます。また、disableAllHooks、--bare、--safe-modeでは、組み込みのmodは止まりません。
その会話でどのmodが読み込まれたかは、/pluginを開くとタブの下の薄い行に1 mod active · first-modのように出ます。この行に組み込みのmodは数えられません。
試験の公開のころに環境変数CLAUDE_CODE_ENABLE_FUNCTION_HOOKSを設定した人は、外しておきます。v2.1.287以降はこの変数を見ないので、0にしてもmodは止まりません。
modが 動かないとき
そもそもmodが読み込める状態かは、modの入っていないフォルダでシェルからclaude plugin testを打つと分かります。会話を始める必要はありません。
| 出る文 | 意味 |
|---|---|
出る文no hooks module to load | 意味modは |
出る文hooks modules are turned off here | 意味自分のdisableAllHooksか、 |
出る文the rollout switch served off | 意味Anthropicが、 |
出る文the rollout switch was saved off by an earlier session | 意味前のclaudeを |
会社が自社のmodだけを許す設定(次の節)にしている場合、このコマンドはそれを知らせません。そのときは、入れたmodが断られた理由が会話に出ます。
会社で modを 管理する
管理者は、管理された設定で、modを動かすかどうかと、どれを動かすかを決められます。何も設定しなければ、modはオンで、利用者は許されたマーケットプレイスからmodを入れたり、--plugin-dirで読み込んだりできます。機械に管理された設定があるときなどは、組み込みの見張り役(cc-plugin-sec-default)が、利用者のmodより先に読み込まれます。
利用者が持ち込むmodをすべて止めるには、管理された設定に次を書きます。
{
"pluginConfigs": {
"cc-plugin-sec-default@builtin": {
"options": {
"allowManagedModsOnly": true
}
}
}
}これで、利用者が入れたプラグインのmod、--plugin-dirで読み込んだmod、会話の中でClaudeが書いたmodのフックは、どれも動きません。会社のmodとして扱われるものは動き続けます。利用者の設定ファイルに同じことを書いても効かないので、利用者は取り消せません。設定ファイルのフック、ステータスライン、/goal、組み込みのmodはそのまま動きます。
よく ある質問
Claude Codeの modは どの 版から 使えますか?
ターミナルではv2.1.287以降、デスクトップアプリではv2.1.286以降で、最初からオンです。VS Codeの拡張機能で画面に描くには、拡張機能の2.1.299以降が要ります。
modと プラグインの 違いは 何ですか?
modはプラグインの一種です。プラグインのhooks/hooks.jsonに、JavaScriptやTypeScriptのコードのファイル(modules)を書いたものがmodになります。入れ方、更新、削除はふつうのプラグインと同じです。
modを 作るのに プログラミングは 必要ですか?
必須ではありません。Claude Codeの会話で欲しいmodを言葉で頼むと、Claudeが書いてくれます。ただし、できたmodはあなたの権限で動くコードなので、何をするかは確かめてから使います。
modは 安全ですか?
modはサンドボックスの外で、あなたと同じ権限で動きます。ファイル、環境変数のAPIキー、送ったプロンプトまで読めます。信頼できる作者のものだけを入れ、入れる前にclaude plugin validateで何をするかを確かめます。
modを すべて 止めるには?
その会話だけならclaude --safe-modeで始めます。ずっと止めるなら~/.claude/settings.jsonでdisableAllHooksをtrueにします。どちらも組み込みのmodは止まりません。


