アクセス解析は同意後だけ使います。詳細

広げる

Claude Codeのmodsとは?作り方・入れ方・止め方

要点この記事の答え
  1. modはClaude Codeの見た目と動きを変えるプラグインです。
  2. Claudeに頼んで作るか、/plugin installで入れます。
  3. 自分の権限で動くので、入れる前に中身を確かめます。
大きなT-1の横にグラフの出るmodのパネルが金具で留められ、利用者はしゃがんでvalidateの箱から出た紙を読み、差したmodのカードを入れる前に確かめる図。

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自身の画面を描き直す例ツールの呼び出しの行、考え中の表示(スピナー)、質問の画面の見た目を変える
できることツールの呼び出しやリクエストに割り込む例呼び出しを止めて人に聞く、ツールを動かさずに答える、1つのリクエストだけ別のモデルに送る
できることコマンドで自分のコードを動かす例Claudeの返事を待たずにすぐ動く/コマンド。Claudeが作業中でも動く
できることフックどうしでデータを分け合う例1つのフックがツールの呼び出しを数え、もう1つがその数をスピナーの横に出す

公式の例に、ターンごとのコンテキストの埋まり具合をグラフにするパネルがあります。ステータスラインは画面の下に文字を1行出す仕組みですが、modならパネルやボタンまで描けます。

関連記事設定と CLAUDE.mdClaude Codeのステータスラインの設定方法|/statuslineとsettings.json、出力スタイルの切り替えClaude Codeのステータスラインとは何か、/statuslineとsettings.jsonでの作り方、スクリプトに渡されるデータ、表示されないときの確認、出力スタイルの種類と切り替え方を公式ドキュメントで解説。

フック・スキル・MCPとの違い

modと、設定のフック、スキル、MCPサーバーは、できることが一部重なります。公式の比較表をまとめると次の通りです。

mod設定のフックスキルMCPサーバー
何かmodプラグインの中の関数。Claude Codeの中で動く設定のフック決まった時点で動くシェルのコマンドなどスキルClaudeが読む手順書(SKILL.md)MCPサーバーClaudeに道具を渡す外のプログラム
変えられるものmodツールの呼び出し、プロンプト、コマンド、ターン、画面設定のフックツールの呼び出しやプロンプトを通すかどうか、引数と結果、足す文脈スキルClaudeが知ることとすることMCPサーバーClaudeが使える道具
画面に描けるかmod描ける設定のフック描けないスキル描けないMCPサーバー描けない
書くものmodJavaScriptかTypeScript設定のフックスクリプトとsettings.jsonの記述スキルMarkdownMCPサーバー好きな言語のサーバー
選ぶ場面modパネル、入力欄の上の帯、自分のコマンドがほしい設定のフック手元のスクリプトで止める、通す、記録するスキル同じ指示を毎回貼っているMCPサーバーClaudeに外のシステムを触らせたい

公式は、設定のフック、スキル、MCPサーバーで足りるなら、modを書く前に比べるよう勧めています。1つのプラグインにmodとスキルとMCPサーバーを一緒に入れることもできます。

関連記事広げるClaude Code Hooksの使い方とおすすめ例|通知・整形・危険操作の停止Claude Code Hooksのおすすめの使い道を早見表で。Mac・Windows・Linuxの通知、編集後の自動整形、rm -rfを止めるPreToolUse。exit 2とexit 1の違いを実際に動かして確かめた結果も。

modを使える場所

modのフックは、モデルをどこから使っていても動きます(Amazon Bedrock、Google CloudのAgent Platform、Microsoft Foundryも含みます)。描いた画面が出る場所はもっと狭く、公式の表は次の通りです。

Claude Codeを使う場所フックが動くか描いた画面が出るか
Claude Codeを使う場所ターミナルのclaude(エディターの中のターミナル、JetBrainsのプラグインを含む)フックが動くか動く描いた画面が出るか出る
Claude Codeを使う場所デスクトップアプリのCodeタブ(WSLの会話を除く)フックが動くか動く描いた画面が出るか出る。ターミナル専用の部品は出ない
Claude Codeを使う場所デスクトップアプリのWSLの会話フックが動くか動かない(プラグインが使えない)描いた画面が出るか出ない
Claude Codeを使う場所VS Codeの拡張機能フックが動くか動く描いた画面が出るか出る。拡張機能の版が2.1.299以降
Claude Codeを使う場所claude -pとAgent SDKフックが動くか動く描いた画面が出るか出ない
Claude Codeを使う場所claude.aiやスマホからのRemote Controlフックが動くか手元の会話で動く描いた画面が出るか手元のターミナルに出る
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.mdをプロジェクトの指示として読み込む
/pluginでの名前cc-plugin-diffしていること/diffを引き受けて、差分のパネルを描く
/pluginでの名前cc-plugin-plugin-authoringしていることmodを書くためのplugin-authoringスキルをClaudeに渡す
/pluginでの名前cc-plugin-sec-defaultしていること会社が管理するものを、利用者が入れたmodから守る
/pluginでの名前cc-plugin-telemetryしていることClaude Codeと組み込みのmodの分析の記録を送る
/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と打ってスキルを読み込ませることもできます。

  1. 頼む。たとえば「入力欄の上に、いまのgitのブランチを出すmodを作って」と書きます。Claudeは~/.claude/dev-mods/の下の、会話ごとのフォルダにmodを書きます
  2. ファイルを許可する。defaultとacceptEditsの許可モードでは、このフォルダが保護された場所なので、ファイルを1つ作るたびに確認が出ます
  3. ホットリロードを許可する。最初のファイルを保存すると、この会話でホットリロードを使うか聞かれます。Enable for this sessionを選ぶとターンの終わりにmodが読み込まれ、以後は変えるたびに読み直されます。Not nowを選ぶと、次にその会話を始めたときに読み込まれます
  4. 確かめる。/pluginのInstalledタブにmodが出ていれば読み込まれています。ここでオフにもできます
  5. 試して直す。思った通りでなければ、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を打つと読み込まれます。マーケットプレイスの追加や入れる範囲(スコープ)の決め方は、ふつうのプラグインと同じです。

関連記事広げるClaude Codeのプラグインとは?使い方と入れ方Claude Codeのプラグインの使い方を公式情報で解説。スキルやMCPを手で入れるのとの違い、/pluginでの入れ方とスコープ、無効化・更新・削除、公式マーケットプレイスのおすすめ、入れる前の安全確認、自作の入口までまとめます。

Anthropicは、claude-code-playgroundのリポジトリで見本のmodを公開しています。サポートなしで、そのままの形で共有されています。

見本していること
見本token-weatherしていることコンテキストの埋まり具合の「予報」を入力欄の上に描く
見本blast-radiusしていることrm -rfや強制のプッシュのような危ないコマンドを止め、何が変わるかを見せて、進めるか取りやめるかのボタンを出す
見本replay-theaterしていること直前のターンでClaudeがしたファイルの編集を順に見せる/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の中身を調べるにあります。

関連記事安全と会社での利用Claude Codeのセキュリティ設定|権限・sandbox・法人運用【2026年版】Claude Codeを安全に使うためのpermissions、sandbox、機密ファイル拒否、ネットワーク制御、managed settings、データ保持、監査を公式仕様で解説。

modを止める・オフにする

止める範囲と期間で、やり方が3つあります。元に戻すときは、同じ変更を取り消します。

止めたい範囲やり方
止めたい範囲1つのmodだけやり方/pluginのInstalledタブで、そのプラグインを無効にするか削除する
止めたい範囲入れたmodすべてを、1回の会話だけやり方claude --safe-modeで始める。ほかの自分の設定も止まる
止めたい範囲入れたmodすべてを、すべての会話でやり方~/.claude/settings.jsonに"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は読み込める。このフォルダに試すmodがなかっただけ
出る文hooks modules are turned off here意味自分のdisableAllHooksか、会社の方針で止められている
出る文the rollout switch served off意味Anthropicが、入れたmodを遠隔で止めている
出る文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の活用事例と法人導入ガイド|研修・セキュリティ・規約までClaude Codeの活用事例と法人導入の手順を解説。楽天・マネーフォワード・Pictetの公式事例、プラン選定、権限とsandbox、情報漏洩対策、研修・講座の選び方、利用規約、全社展開チェックリストまでまとめました。

よくある質問

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は止まりません。