Claude Codeのmods(モッド)は、Claude Codeの画面や動きそのものに、自分用の機能を足せるプラグインです。作業の横に情報の欄を出す、Claudeがツールを使う直前に確認を挟む、独自の/コマンドを足す、といったことができます。その代わり、あなたと同じ権限でパソコン上で動くため、入れる前の確認が欠かせません。

この記事は、Anthropicの公式ドキュメント(mods関連の5ページと対話モードの1ページ)と公式の変更履歴を2026年10月20日に確認して書いています。図と動画は公式ドキュメントに掲載されたものです。編集部が手元でmodsを作成・導入して実測した記事ではありません。

対象はターミナル版のClaude Code v2.1.287以降です(デスクトップアプリのCodeタブはv2.1.286以降)。modsは更新の多い機能で、2026年10月20日時点で変更履歴の最新であるv2.1.304でも、mods向けの変更が加わっています。細かい仕様は、手元の版の公式ドキュメントで確かめてください。

Claude Codeのmodsとは:画面と動きに機能を足すプラグイン

公式のmods概要によると、modは「Claude Codeの見た目と振る舞いを変えるプラグイン」です。中身はJavaScriptかTypeScriptで書いた関数です。Claudeがツールを使う、あなたがプロンプトを送る、画面の一部が描かれる、といった出来事(イベント)のたびに、Claude Codeがこの関数を呼び出します。呼ばれた関数にできることは3つです。出来事を見るだけにするか、中身を書き換えるか、Claude Codeの代わりに自分で処理するかを選べます。

最初に紹介されている例は、Claudeがツールを使った回数を数え、作業中の「Thinking…」の横に表示するmodです。下の動画は、同じページに載っている録画です。Claudeがファイル一覧を取り、2つのファイルを読む間に、表示が「tool calls: 1」「2」「3」と増えていきます。

公式動画Anthropic「Mods overview」掲載・2026年10月20日確認

公式動画:ツールの使用回数を作業中の表示に出すmod(Anthropic「Mods overview」掲載、約15秒。2026年10月20日確認)

この例では、回数を数える部分と、それを画面に出す部分が、1つのmodの中で同じ数字を使っています。設定ファイルにコマンドを書いて動かす「フック」という仕組み(次の節で比べます)では、このようにClaude Code自身の表示を書き換えることはできません。modsの特徴は、Claude Codeの内側で動くことにあります。

なお、modsはプラグインの一種です。プラグインの選び方や、どんな種類があるかを先に知りたい方は、Claude Codeプラグインの選び方もあわせて読むと位置づけがつかめます。

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

Claude Codeには、似た目的に使える仕組みがいくつもあります。公式ドキュメントは、modを書く前に、ほかの仕組みで足りないかを比べるよう勧めています。違いを表にまとめました。

仕組み中身変えられるもの向いている場面
modsClaude Codeの中で動くJavaScript/TypeScriptの関数ツールの実行、プロンプト、コマンド、ターン(Claudeの1回の応答)、画面の表示欄やボタンを出したい、独自のコマンドを足したい、出来事を書き換えたい
フック(設定ファイルのhooks)設定ファイルに書くシェルコマンド・HTTPリクエストなどツールの実行やプロンプトを通すか止めるか、ツールに渡す内容と結果、Claudeへ渡す追加情報手元のスクリプトで止める・許可する・記録するだけでよい
スキルSKILL.mdに書く手順や知識Claudeが知っていること、進め方同じ指示を何度も会話に貼っている
MCPサーバー外部で動くプロセスやサービスClaudeが使えるツールClaudeから社内システムや外部サービスへつなぎたい

画面に何かを描けるのは、この中でmodsだけです。逆に、決まった手順をClaudeに覚えさせたいだけならスキル、外部のサービスとつなぎたいならMCPのほうが手軽です。1つのプラグインにmod・スキル・MCPサーバーをまとめて入れることもできます。

modsが描ける場所と、動く環境

modsが画面のどこに描けるかは、公式の画面描画ページの図が分かりやすいです。右側の欄(ペイン)、入力欄の上の帯、入力欄の下の状態表示、会話の流れに残す1行のメッセージ、右上の短いお知らせ(トースト)を追加できます。幅の狭いターミナルでは、右側の欄は入力欄の上に表示されます。会話のメッセージ、ツール実行の行、作業中の表示(スピナー)は描き直せます。入力欄そのものはClaude Codeの部品のままです。

公式画像Anthropic「Draw in the interface with a mod」掲載・2026年10月20日確認
Claude Codeのターミナルの全画面表示の図。modsは右側のペイン、右上のトースト、会話内の記録行、入力欄の上の帯、入力欄の下の状態表示を追加でき、メッセージ・ツール実行の行・スピナーを描き直せる。入力欄はClaude Code自身の部品

公式図:modsが追加・描き直しできる画面の場所(Anthropic「Draw in the interface with a mod」掲載。2026年10月20日確認)

動く場所は、使い方によって違います。modが出来事に反応して動かす関数(公式ドキュメントではこれも「フック」と呼びます。設定ファイルに書くフックとは別のものです)は、プラグインを読み込めるセッションならどこでも動きます。ただし、画面への描画が出る場所は限られます。

使う場所modの関数画面への描画
ターミナルのclaude(エディター内のターミナル、JetBrainsプラグインを含む)動く出る
デスクトップアプリのCodeタブ動く出る(ターミナル専用の部品を除く)
デスクトップアプリのWSLセッション動かない(プラグインが使えないため)出ない
VS Code拡張のチャット欄動く拡張v2.1.299以降で出る(Amazon Bedrockなどで使う場合はv2.1.304以降)
claude -p・Agent SDK動く出ない
Remote Control(claude.aiやスマホから操作)手元のパソコンのセッションで動く手元のターミナルに出る
クラウドのセッション届いたプラグインなら動く出ない

自動実行(claude -p)の中で使う場合は、表示に頼らない作りにする必要があります。公式ドキュメントも、描画が出ない場所では、会話の流れに1行のメッセージを残したり、コマンドの返事を文字だけで返したりする作り方を挙げています。

modsを入れる前に確認すること

modsで最も注意したいのは権限です。公式ドキュメントは、modを「あなたの権限で動くコード」と位置づけています。そのうえで、信頼できる作者とマーケットプレイスのものだけを入れるよう、はっきり警告しています。

modsが届く範囲を知っておく

読み込まれたmodは、次のことができます。普通のアプリを入れる時より、慎重に考えてください。

  • あなたのユーザー権限で、ファイルの読み書き、プログラムの起動、ネットワーク通信をする
  • 環境変数や設定ファイルを読む(そこに置いたAPIキーも含む)
  • 送ったプロンプトと、Claudeのツール実行をすべて見る
  • プロンプトやツール実行を書き換える、別のセッションへメッセージを送る、あなたが打ったかのようにプロンプトを送る
  • あなたに確認が出る前に、ツールの実行を許可する
  • あなたのプランやAPIキーでモデルを呼び出し、その分の利用枠や料金を消費する

また、modsはサンドボックスの中では動きません。サンドボックス(実行できる範囲を区切る機能)を有効にしても、その範囲に閉じ込められるのはClaudeが実行するBashコマンドだけです。modが起動したプログラムは、サンドボックスの外で動きます。許可を求める確認画面(パーミッションプロンプト)の見た目はmodsでも変えられませんが、確認画面が出る前にツールの実行を許可することはできます。公式ドキュメントによると、modはaskルールで確認が出るはずの実行や、自分で設定したPreToolUseフックが止めた実行も許可でき、autoモードではmodが許可した実行は安全判定を通りません。denyルールが優先されるのは、組み込みの保護機能(sec-default)が動く、管理設定のあるパソコンかTeam・Enterpriseプランの場合です。それ以外ではdenyルールも越えられ得ます。またdenyルールはClaudeのツール実行に対するもので、mod自身のファイル読み書きは止めません。例えばRead(.env)を禁止していても、modは.envを読めます。

validateで中身を一覧にしてから入れる

入れる前に、そのmodがどの出来事に反応し、何を呼び出すかを、実行せずに一覧にできます。プラグインのファイルを手元に取得してから、ターミナルで次のコマンドを実行します。

claude plugin validate ./some-mod

出力のうち、hooks:の行にはそのmodが反応する出来事が、calls:の行にはmodがClaude Codeに頼む操作(ファイルの読み取り、通信など)が並びます。公式ドキュメントは、hooks:にtool.callやprompt.submitがあれば、そのmodはすべてのツール実行とプロンプトを見て書き換えられる、tool.checkがあれば確認画面が出る前にツールの実行を許可・拒否できる、と読み方を示しています。calls:にファイル操作($.fs.readなど)やプログラムの起動($.process.runなど)があれば、その分だけ届く範囲が広がります。起動されたプログラムは、あなたの権限で何でもできる点にも注意が必要です。例えば「作業時間を表示するだけ」と説明されたmodのhooks:にtool.checkがあったら、理由が分かるまで入れない、という判断ができます。編集部の提案として、チームで使う場合は、この一覧を導入前の確認記録として残しておくと、後から見直しやすくなります。

入れる前の確認リスト

公式の注意点をもとに、編集部が導入前に確かめる項目を5つにまとめました。1つでも答えられない項目があれば、その時点では入れずに見送って構いません。

  1. 作者と配布元:信頼できる作者・社内のマーケットプレイスか。誰が更新しているか分かるか
  2. 反応する出来事:claude plugin validateのhooks:が、説明された機能に見合っているか。特にtool.check(許可・拒否)やtool.call・prompt.submit(すべての実行とプロンプトを見る)の理由が説明できるか
  3. 頼む操作:calls:に、ファイル操作・プログラムの起動・通信など、説明にない操作がないか
  4. 試す前の理解:--plugin-dirはインストールしないだけで、隔離ではありません。1回の起動でも、modはあなたのアカウントが読み書きできるすべてのファイルに届きます。中身に納得したものだけを試せるか
  5. 止め方:問題が起きた時に、下で紹介する止め方をすぐ使えるか。会社のパソコンなら管理者の方針に沿っているか

modsを始める3つの方法

modsはv2.1.287以降のターミナル版で、最初から有効になっています。使っている版はclaude --versionで確認できます。始め方は大きく3つです。

すでにある組み込みのmodsを見る

Claude Codeの機能の一部は、それ自体がmodです。例えば/diffの表示は組み込みのmod(cc-plugin-diff)が担当しています。/pluginを開いて「Installed」タブの「Built-in」の欄を見ると、自分のセッションにある組み込みのmodsが分かります。組み込みのmodは更新や削除はできず、止め方は種類ごとに違います。

組み込みのmodの1つ「You should know」は、Claudeが長めの作業を進める間に別のエージェントが会話を読み返し、見落としがありそうな点を入力欄の上に短く知らせる機能です。最初はオフで、ツールを持たないため、ファイルを読んだりコマンドを実行したりはしません。v2.1.287の公式の変更履歴では/plugin enable cc-plugin-you-should-know@builtinで有効にできると案内されています(Anthropicに直接つなぎ、利用状況の送信がオンのセッションが対象)。ただし、接続方法によっては/pluginの一覧に表示されません。「You should know」は、コードを1行も書かずにmodsの動きを体験できるので、編集部としては最初の1つに向いている機能だと考えます。ただし、確認のたびに同じモデルへ別の依頼を送るため、プランの利用枠やAPIの料金を消費します。

公式のサンプルを1回だけ試す

Anthropicはサンプルのmodsを公開しています。例えばtoken-weatherは、Claudeがあとどれくらい会話を覚えていられるか(コンテキストの残り)を、天気予報のように入力欄の上に出します。blast-radiusは、rm -rf(ファイルの一括削除)や強制プッシュのような危ないコマンドを実行前に保留し、変わる内容と、続行・取り消しのボタンを見せます。replay-theaterは、直前のやり取りで加えた編集を順に見返せる/replayコマンドを足します。これらは動作保証のないサンプルとして公開されている点に注意してください。

試す時は、リポジトリを手元に取得し、先ほどのclaude plugin validateで中身を確認してから、claude --plugin-dir <modのフォルダー>で起動します。このオプションは、そのセッションだけプラグインを読み込む方法で、インストールはしません。

マーケットプレイスから入れる

継続して使うmodは、ほかのプラグインと同じくマーケットプレイスから入れます。セッション内なら/plugin install プラグイン名@マーケットプレイス名、シェルならclaude plugin install プラグイン名@マーケットプレイス名です。セッションを開いたままシェルから入れた場合は、/reload-pluginsで読み込み直します。

Claudeにmodsを作らせる手順

JavaScriptを書けなくても、作りたいmodを自分の言葉で説明すれば、Claudeが書いてくれます。Claudeは組み込みのplugin-authoringスキルを使い、手元の版で使える出来事や書き方に合わせて作ります。公式の作成ページの流れは次のとおりです。

  1. 対話モードのClaude Codeで、作りたいものを伝えます。公式の例は「入力欄の上に今のgitブランチを表示するmodを作って」です。
  2. Claudeは~/.claude/dev-mods/の下の、そのセッション専用のフォルダーにファイルを書きます。通常の許可モードでは、ファイルごとに作成の確認が出るので、内容を見て許可します。
  3. 最初のファイルが保存されると「このセッションでホットリロードを有効にするか」を聞かれます。「Enable for this session」を選ぶと、Claudeの返答が終わった時点でmodが読み込まれます。その後は、ファイルが変わった返答が終わるたびに、自動で読み込み直されます(これをホットリロードと呼びます)。「Not now」なら今は読み込まれませんが、次にそのセッションを開き直した時に読み込まれます。読み込ませたくない場合は、そのmodのフォルダーを削除します。
  4. /pluginの「Installed」タブで、作ったmodが一覧にあるか確かめます。止めたい時もここから無効にできます。
  5. 実際に使い、思った動きでなければ、直してほしい点をClaudeに伝えます。

Claudeが作ったmodは、作ったセッションの中でしか読み込まれません。さらに、保存期間の設定(cleanupPeriodDays)より古くなると、そのフォルダーは自動で削除されます。気に入ったmodは、~/mods/git-branchのような自分の場所へフォルダーごとコピーし、claude --plugin-dir ~/mods/git-branchで読み込みます。

なお、claude -pの実行やdontAskモードのように、確認を出せない場面では、Claudeが書いたmodは読み込まれません。Claude Codeを起動した時の「このフォルダーを信頼しますか」という確認で、まだ信頼していないフォルダーの場合も同じく読み込まれません。

modsを止める方法と、動かない時の確認

止める範囲によって、方法が分かれます。

止めたい範囲方法
1つのmodだけ/pluginの「Installed」タブで、そのプラグインを無効化・削除
このセッションだけ、入れたmodsをすべて--safe-modeを付けて起動(ほかのカスタマイズも止まる)
すべてのセッションで、入れたmodsをすべて~/.claude/settings.jsonに"disableAllHooks": true(設定ファイルのフックと独自の状態表示も止まる)

--safe-modeとdisableAllHooks(と--bare)は、自分で入れたmodsを止めるもので、組み込みのmodsは止まりません。組み込みのmodsの多くは、/pluginから個別に無効にできます。会社のアカウントでは、管理者が「会社が配ったmodsだけを許可する」(allowManagedModsOnly)といった設定をしている場合があります。

また、modsが早期提供(early access)だった時期の記事には、環境変数CLAUDE_CODE_ENABLE_FUNCTION_HOOKSを設定する手順が書かれていることがあります。公式ドキュメントによると、v2.1.287以降はこの環境変数を読まないため、設定は不要です。0にしてもmodsは止まらないので、止めたい時は上の方法を使い、以前に設定した人は削除しておきます。

入れたはずのmodが何もしない時は、次の順に確かめます。

  • /pluginを開き、タブの下の薄い文字の行(例:1 mod active · first-mod)に名前があるか
  • claude --versionの版がv2.1.287以降か
  • modが入っていないフォルダーでclaude plugin testを実行し、modsを読み込める状態か。no hooks module to loadなら読み込める状態、hooks modules are turned off hereなら設定や組織の方針で止まっています
  • 同じ名前のプラグインが先に読み込まれていないか、--bareや--safe-modeで起動していないか

原因の詳しい読み方は、公式のトラブル対処ページにメッセージごとの意味が載っています。編集部の提案として、会社で導入する場合は、組織向けの管理ページで、既定の動きと許可の範囲を先に決めておくと安心です。

まとめ:modsは「信頼できるものだけ・小さく試す」

Claude Codeのmodsは、画面の表示やツールの実行、独自のコマンドなど、Claude Codeの内側に自分の機能を足せる仕組みです。スキルやMCPでは届かない「見え方」や「途中の確認」まで変えられる点が、ほかの仕組みとの違いです。

その分、modはあなたと同じ権限で動きます。まずclaude plugin validateで中身を一覧にし、--plugin-dirで1回だけ試し、必要なものだけを入れる、という順に進めると、危険を減らせます。Claude Code全体の使い方を確認したい方は、Claude Codeとは?使い方の全体像から読み始めてください。