Claude Code modsとは?自分専用の機能を追加できる新しい拡張の仕組み・作り方・使い方を徹底解説

- Claude Code modsはセッション内で動くJavaScript/TypeScriptの小さなファイルで、Claude Codeの動きを監視・変更し独自UIも描画できる拡張
- 作りたいmodを自然言語で説明するだけでClaude Codeが作成し、保存すると再起動なしで反映
- Claude Code 2.1.287以降で既定で有効、プラグインと同じ仕組みで配布・インストールが可能
2026年10月、AnthropicからClaude Codeを自分好みに拡張できる新しい仕組みが紹介されました。
今回登場した「Claude Code mods」は、Claude Codeのセッション内で動く小さなJavaScript/TypeScriptファイルです。セッションで起きていることを監視し、Claude Codeの動作を書き換え、さらにターミナルやデスクトップアプリに独自のUIを描画できます。これまでのClaude Codeのカスタマイズでは、「設定や権限ルールで決められた範囲しか変えられない」「独自UIを自由に描画できる範囲が限られている」「Claude Codeの動作そのものには手を入れにくい」といった課題がありました。

一方で、新しい拡張の仕組みが登場するたびに、「スキルやスラッシュコマンドと何が違うのか」「APIを知らなくても作れるのか」「実際にどのような使い道があるのか」といった疑問を感じる方も多いのではないでしょうか。
そこで本記事では、Claude Code modsの概要や仕組み、特徴を整理しながら、作り方や共有方法、具体的なmodの例について詳しく解説します。最後までお読みいただくことで、Claude Code modsがどのように設計され、どのような場面で力を発揮するのかが理解できるはずです。
\生成AIを活用して業務プロセスを自動化/
Claude Code modsとは

Claude Code modsは、Claude Codeのセッション内で動作するJavaScriptまたはTypeScriptの小さなファイルです。
セッションで起きていることを見守り、Claude Codeの動作を変え、ターミナルとデスクトップアプリのどちらにも独自のUIを描画できます。開発者向けブログ「claude.dev」で、作り方のチュートリアルとあわせて紹介されました。
Claude Codeにはもともと、設定・権限ルール・スラッシュコマンド・スキル・ステータスラインといったカスタマイズ手段が用意されていました。modsはそこからさらに踏み込み、Claude Codeの動作を書き換えたり置き換えたりし、独自のUIまで描ける点が大きな違い。
| 比較項目 | Claude Code mods | 従来のカスタマイズ(設定・権限ルール・スキルなど) |
|---|---|---|
| できること | 動作の監視・書き換え・置き換え、独自UIの描画 | 決められた項目の挙動を調整 |
| 実体 | プラグインに同梱されたJavaScript/TypeScriptのフック | 設定ファイル・Markdown・シェルコマンドなど |
| イベントの把握 | mod向けに公開されたセッションイベントを発生のたびに受け取る | 機能ごとに限定的 |
| UI | プロンプト上部の帯やペインを自由に描画 | ステータスラインなど一部のみ |
内部的には、modsはプラグインに同梱されて配布されるフックです。それぞれのmodがmod向けに公開されたセッションイベントを発生のたびに受け取れるため、Claude Codeを自分の働き方に合わせ込む手段といえるでしょう。
例えば、いつも確認する数値の表示を追加したり、不安なコマンドの前にガードを置いたり、自分好みの形式で変更内容を確認できるビューを作ったりできます。
Claude Code modsの仕組み
Claude Code modsの正体は、振る舞いをJavaScriptまたはTypeScriptのモジュールに持たせたClaude Codeのプラグインです。構成は以下の3点に集約されます。
- フォルダは通常のプラグインと同じで、.claude-plugin/plugin.jsonというマニフェストを持つ
- hooks/hooks.jsonのmodulesに、読み込むモジュールを1つだけ指定する
- モジュールがregister(on,options)を公開し、その中でon(event,matcher?,hook)を呼んでフックを追加する
フックはどれも同じ形をしています。イベント名・絞り込み条件・処理関数の3つを渡し、処理関数は「$」「e」「next」の3つを受け取る形です。
サンプルコードはこちら
on("tool.call", { tool: "Bash" }, async ($, e, next) => {
// $ はmods API(ui・session・state・store・fs・process・clock・httpなど)
// e はこのイベントの入力データ
// next は e を他のプラグイン、最後にClaude Code本来の処理へ渡す
return next(e);
});フックはミドルウェアのようにチェーン状につながるのがポイント。自分のフックが動いたあと、next(e)でイベントを次のプラグインへ渡し、最後にClaude Codeが本来の処理を実行します。

フックにできることは、次の3種類です。
| 動き | 方法 | 使いどころの例 |
|---|---|---|
| Observe(観察) | await next(e)で結果を受け取ってから中身を見る | 全てのファイル編集を記録する、ターンごとに数値を取る |
| Rewrite(書き換え) | 内容を変えたイベントをnextに渡す | 後続の処理が受け取るコマンドを安全なものに変える |
| Answer(応答) | nextを呼ばずにdenyなどを返す | ツール呼び出しを拒否する、コマンドやツールを自前で処理する |
受け取れるイベントは、ツール呼び出し、送信されたプロンプト、ターンの開始と終了、セッションの開始と終了、スラッシュコマンドなど多岐にわたります。さらにui.renderでは、画面のあらゆる部品が描画されるタイミングまで捉えられます。
なお、AGENTS.mdのサポートや会話の横に表示される/diffペインなど、Claude Code自身の機能の一部もmodsで作られています。テスト付きのソースは公開リポジトリanthropics/claude-codeのmods/配下で読めるため、開発チームの作り方を参考にできるでしょう。
Claude Code modsの特徴
| 比較項目 | Claude Code mods | 設定ファイルのフック(settings hooks) |
|---|---|---|
| 動き方 | 一度読み込まれ、セッション中ずっと常駐 | イベントごとにシェルコマンドを起動 |
| データの受け渡し | APIで直接やり取り | 標準入出力でJSONを受け渡し |
| 状態の保持 | 可能 | コマンドごとに完結 |
| UIの描画 | イベントに合わせて更新されるUIを描ける | 詳細は公開されていません |
| Claude Codeへの呼び出し | ペインを開く、プロセス実行、スラッシュコマンドやツールの登録 | 詳細は公開されていません |
Claude Code modsの強みは、Claude Codeの内側に常駐し、イベントに合わせて表示も動作も変えられる点です。ここでは主な特徴を見ていきます。
セッションに常駐して状態とUIを持てる
従来の設定ファイルのフックは、イベントのたびにシェルコマンドを実行し、JSONを標準入出力で受け渡す方式でした。
対してmodsは一度読み込まれるとセッション中ずっと残り続けます。状態を保持し、イベントに合わせてUIを更新し、さらにペインを開く・プロセスを実行する・スラッシュコマンドを登録する・モデルが呼べるツールを登録するといった操作も可能。
説明するだけでClaude Codeがmodを作ってくれる
modsを試すのにAPIを学ぶ必要はありません。セッションを始め、作りたいmodを説明するだけです。
Claude Codeにはmod作成用のガイドが組み込まれており、リロード後も消えない状態の持たせ方、claude plugin validateによる検証、フックすべきイベントの選び方までカバーしています。プロンプトで書くのは「何を表示したいか」だけでよいのが特徴です。
ホットリロードで変更が即座に反映される
プラグインのフォルダは監視されており、ファイルを保存するたびにモジュールが再起動なしで読み込み直されます。
「Stormは70%から始めて」「末尾に金額を追加して」のように調整を頼むと、その場で表示が変わる仕組みです。この素早いフィードバックループこそがmods作りを楽しくしている要素だと紹介されています。
ターミナルとデスクトップアプリの両方に描画できる
描画には$.ui.resolve(e)で取得する部品を使います。描画先の画面ごとに使える部品が少しずつ異なるため、グローバルな部品ではなく描画中の画面に合わせた部品が返される設計です。
JSXも利用可能。公式サンプルのReplay Theaterの例では、ペインは画面幅に応じて配置が変わり、フルスクリーンでは右側にドッキング、80桁の狭い画面ではプロンプト上部にインライン表示されます。mod側は同じ部品ツリーを描くだけで済む点は使いやすさにつながっているのではないでしょうか。
型定義とテストの仕組みがそろっている
Claude Codeはmodを読み込むたびに、そのビルドに対応した型定義を.claude-plugin/types/フォルダへ書き出します。エディタやtsc -pが追加作業なしで動き、全イベント・$の全メソッド・各部品のpropsの参照先になります。
さらにclaude plugin testを使えば、*.test.tsファイルを実際のClaude Codeランタイム上で実行可能。テスト側のフックでClaude Codeの応答を差し替えられるため、表示の切り替わりまで検証できます。
Claude Codeのコードレビュー機能について、詳しく知りたい方は下記の記事もあわせてご覧ください。

Claude Code modsの安全性・制約
modsは強力な拡張である一方、Claude Codeと同じ権限で手元のマシン上を動くコードです。導入前に押さえておきたい点を表にまとめました。
| 項目 | 内容 |
|---|---|
| 実行権限 | modはClaude Codeと同じアクセス権を持って手元のマシンで動作する |
| 作成者 | modを書くのは公開者でありAnthropicではない |
| インストール | コマンドを実行するまで何もインストールされない |
| 実行環境 | DOMもNode.jsもない専用サンドボックス。外部とのやり取りは$のAPI経由 |
| 処理時間 | フックは1回の呼び出しごとに10秒の持ち時間がある($の呼び出し内で待つ時間は含まれない) |
| APIの互換性 | リリース間でAPIが変わる可能性がある。手元のビルドの型定義が正となる |
他人のmodは、パッケージを入れるときと同じ感覚で扱うことが推奨されています。まずリポジトリを読み、信頼できる人のものだけをインストールしましょう。
Claude Code modsの料金
Claude Code modsは、Claude Code 2.1.287以降に組み込まれた機能です。既定で有効になっているため、別途オンにする作業もありません。
| 項目 | 内容 |
|---|---|
| 対応バージョン | Claude Code 2.1.287以降 |
| 有効化 | 既定で有効(設定不要) |
| mods単体の料金 | 追加料金の案内なし(Claude Codeに組み込まれた機能) |
| 配布・インストール | 通常のプラグインと同じ方法 |
modsはClaude Codeに組み込まれた機能であり、公式チュートリアルではmods単体の追加料金は案内されていません。Claude Code自体の利用プランや料金は、公式サイトで最新情報を確認する必要があります。
なお、今回紹介されているToken Weatherで使う$.session.usage()の呼び出しは無料とされています。内訳(breakdown)を求めた場合にのみ、トークン数のカウントリクエストが送られる仕組みです。
Claude Code modsのライセンス
Claude Code mods自体のライセンス情報は確認できませんでした。
modsは作成者が自由に公開できるプラグインであり、他人のmodを利用する場合はそれぞれのリポジトリに記載された条件に従うことになります。商用利用などを検討する場合は、事前に提供元への確認が必要です。
また、Claude Code自身のmodsのソースは公開リポジトリanthropics/claude-codeで読めます。参考にしたり流用したりする場合は、リポジトリの規約を確認しておくと安心でしょう。
Claude Codeの設定やスキルをまとめて導入できるEverything Claude Codeについて、詳しく知りたい方は下記の記事もあわせてご覧ください。

Claude Code modsの使い方
Claude Code modsは、作りたいmodを説明してClaude Codeに作らせるのが最短ルートです。ここでは、コンテキストウィンドウの埋まり具合を天気予報風に表示する「Token Weather」を例に手順を解説します。

Token Weatherは、ターンごとにコンテキストの使用率を読み取り、天気アイコン・使用率・使用トークン数・直近ターンの推移グラフ・前ターンでの増加量をプロンプトの上に1行で表示するmodです。使用率に応じて、天気は以下のように変わります。
| コンテキスト使用率 | 表示される天気 |
|---|---|
| 25%未満 | Clear(晴れ) |
| 25〜49% | Cloudy(曇り) |
| 50〜74% | Showers(にわか雨) |
| 75〜89% | Storm(嵐) |
| 90%以上 | Compact soon(まもなく圧縮) |
modsはClaude Code 2.1.287以降で利用できます。まずはターミナルで以下のコマンドを実行し、バージョンを確認しましょう。
claude --version「claude」でセッションを始め、作りたいmodの内容を伝えます。APIの知識は不要で、何を表示したいかを書くだけで問題ありません。
token-weather という名前のClaude Code modを作って。コンテキストウィンドウの埋まり具合を天気予報のように表示したい。
1行で以下を表示すること
- 使用率に応じた天気アイコンと単語(25%未満は晴れ、など)
- 使用率と、ウィンドウに対する使用トークン数
- 直近12ターンの推移を表す小さなグラフ
- 前のターンで増えた量
毎ターン更新されるようにして。セッション中のホットリロードを有効にするか一度だけ確認されるので、許可します。Claudeのターンが終わると、プロンプトの上にmodの表示が現れます。

以降は変更がその場で読み込み直されるため、「Stormは70%から始めて」「末尾に金額を追加して」のように調整を頼みながら、表示の変化を確認できます。
この方法で作ったmodはそのセッション限りで読み込まれ、フォルダも後で削除されます。使い続けたい場合はフォルダを別の場所へコピーし、通常のプラグインと同じようにインストールしましょう。
claude plugin marketplace add ./my-mods
claude plugin install token-weather@my-mods --scope userマーケットプレイスは、.claude-plugin/marketplace.jsonを置いたフォルダだけでも作れます。
中身の構成を理解したい場合や、Claudeが書いたコードを確認したい場合は、手動でも作れます。公式サンプルのToken Weatherは、空のフォルダから約80行で作れる規模です。主な流れは以下のとおり。
| 手順 | やること |
|---|---|
| 1. フォルダ作成 | .claude-plugin/plugin.json(マニフェスト)とhooks/hooks.json(モジュール指定)を用意 |
| 2. 描画 | プロンプト直上の部品「AbovePrompt」のui.renderをフックし、要素のツリーを返す。claude–plugin-dirで読み込んで確認 |
| 3. 数値の取得と保存 | $.session.usage()で使用量を取得し、ホットリロードでも消えない$.stateに履歴を保存。型定義(.d.ts)で状態を宣言 |
| 4. 予報の描画 | 天気・使用率・推移グラフを1行に組み立てて表示 |
| 5. 検証とテスト | claude plugin validateで構成を検証し、claude plugin testでテストを実行 |
| 6. 共有 | マーケットプレイスに登録してインストール |
他人が公開したmodを使う場合は、Claude Code上で次の3つのコマンドを実行するだけです。
/plugin marketplace add your-org/my-mods
/plugin install token-weather@my-mods
/reload-pluginsリロードするとmodが起動します。表示されない場合は、Claude Codeを再起動しましょう。
【業界別】Claude Code modsの活用シーン
Claude Code modsは、Claude Codeを日常的に使う開発・運用の現場で特に力を発揮すると考えられます。ここでは業界・職種別に活用シーンを紹介します。
Web・SaaS開発
複数ファイルにまたがる変更が多いWeb・SaaS開発では、Claudeが何を変えたのかを素早く把握することが課題になりがちです。
Replay Theaterのように直前のターンの編集を1つずつ再生するmodを使えば、レビューの負担を軽くできる可能性があります。チームの規約を全プロンプトに付け加えるprompt.submitのフックも、品質のばらつきを抑えるのに役立つでしょう。
生成AIとSaaSの関係について、詳しく知りたい方は下記の記事をご覧ください。

インフラ・クラウド運用
本番環境を扱うインフラ運用では、一度の誤操作が大きな障害につながるリスクがあります。
tool.callのガードを自社の技術スタックに合わせ、本番環境のkubectlコンテキストやterraform applyの前で一旦止めるといった使い方が例として挙げられています。実行前に影響範囲を確認する習慣づくりに活用が期待できます。
生成AIのインフラ領域での活用について、詳しく知りたい方は下記の記事をご覧ください。

情報システム部門
社内でClaude Codeを展開する情報システム部門にとって、利用状況やコストの見える化は欠かせません。
公式が例示するアイデアとして、$.session.usage()を使いコストやレート制限のメーターをステータスラインに表示するmodが挙げられています。社内向けのmodをマーケットプレイスで配布すれば、全員に同じ仕組みを行き渡らせることも可能。
情シス部門での生成AI活用について、詳しく知りたい方は下記の記事をご覧ください。

AIエージェント開発
AIエージェントを開発する現場では、エージェントが何を読み、何をしたのかを追跡することが重要です。
セッション中にClaudeが読んだファイルを一覧化するペインを作れば、Claudeが見てきた情報のライブマップとして機能します。エージェントの挙動を理解する手がかりとして役立つのではないでしょうか。
AIエージェント開発の進め方について、詳しく知りたい方は下記の記事をご覧ください。

Claude Code modsを実際に使ってみた
今回は、社内の機密ファイルをAIが勝手に読まないようにするmodをClaude Codeに作ってもらいました。法人でAIを導入する際によく挙がる「顧客データを読まれないか」という不安に、modでどこまで応えられるかを試します。
検証用には、架空の会社名を並べたダミーの顧客リストと、比較用の議事録メモを用意しました。
Claude Codeのデスクトップアプリで、以下のように指示を与えます。
secret-guard という名前のClaude Code modを作って。社内の機密ファイルをAIが勝手に読まないようにしたい。
- Claudeが「顧客データ」フォルダの中身、または .env を含むファイルを読もうとしたら、実行前に止める
- Bash(cat や head など)や検索ツールで「顧客データ」フォルダの中身を読もうとした場合も同じように止める
- 止めたら、対象のファイル名と「機密ファイルへのアクセスを検知しました」という説明をペインで表示する
- ペインに「許可」と「拒否」のボタンを置き、選ぶまで待つ
- 拒否したら、Claudeに「機密ファイルのため読み取りを拒否されました」と理由を返す
- それ以外のファイルは今までどおり読めるようにする実際に処理している様子がこちらです。
modが完成するまでにかかった時間は約10分でした。APIについては何も指示していませんが、Claude Codeが自分で型定義を確認しながら作り進めています。
印象的だったのは、作業の途中で「フックの実行には1回10秒の時間制限があり、超えると処理が素通りになる」ことにClaude Code自身が気づいた点です。機密情報を守る仕組みとしては致命的な欠陥になると判断し、設計を変えていました。
| 場面 | modの動き |
|---|---|
| 機密ファイルへのアクセスを検知 | ペインに対象ファイルと「拒否」「許可」ボタンを表示し、約8秒待つ |
| 8秒以内に選ばれなかった場合 | Claude Code標準の確認ダイアログに切り替えて、選ぶまで待つ |
| 処理が落ちた・ペインを閉じた場合 | 全て拒否として扱う |
依頼どおりにできない部分を勝手に省くのではなく、制約を説明したうえで代わりの設計を提示してくれるのは安心感がありますね。
ファイルが書き出されると、ホットリロードを有効にするかの確認が表示されました。「Enable for this session」を選ぶと、そのセッションでmodが読み込まれます。
また完成後には、このmodで止められない経路もClaude Codeから報告がありました。「cat 顧*」のようなワイルドカード指定や、上の階層からフォルダごと検索するコマンド、書き込み系のツールは対象外とのこと。
【課題別】Claude Code modsが解決できること
Claude Code modsが解決できる代表的な課題を紹介します。
コンテキストの残量をひと目で把握できる
「コンテキストはどれくらい埋まっているのか」という疑問に答えるのがToken Weatherです。
大きなファイルを読むターンが続くと、表示がClear→Showers→Stormと変化。圧縮が近づいていることを天気のように直感的に把握できます。
危険なコマンドの影響を実行前に確認できる
「このコマンドは何を削除しようとしているのか」に答えるのがBlast Radiusです。

ClaudeがBashでrm -rf、git reset –hard、git clean、強制プッシュ、データベースのマイグレーションを実行しようとすると、呼び出しを一旦保留。影響範囲を割り出し、「Proceed」と「Cancel」のボタンが付いたペインを開きます。
影響範囲の調査には、git status –porcelainやgit clean -nなどツール自身のドライラン系コマンドを使う仕組み。2を押すとClaudeに理由付きで拒否が返り、1を押すとコマンドがそのまま実行されます。
Claudeが加えた変更を1ステップずつ振り返れる
「Claudeは今何を変えたのか」に答えるのがReplay Theaterです。

ターン中の全てのEditとWriteを、対象ファイルと変更前後のテキストごと記録します。ターンが終わるとヒントが表示され、rキーまたは/replayでペインが開く仕組みです。
編集は差分1つずつ表示され、番号付きのステップと「Prev」「Next」「Close」ボタンで移動できます。編集をブロックしたり変更したりは一切せず、観察に徹するのが特徴。
| 課題 | 解決できること | 留意点 |
|---|---|---|
| コンテキストの残量が分からない | Token Weatherで使用率と推移を常時表示 | サブエージェントのターンは集計対象外 |
| 危険なコマンドの影響が読めない | Blast Radiusで影響範囲を確認してから実行を判断 | 権限システムではなく、$(…)やエイリアスはすり抜ける |
| 変更内容を追いにくい | Replay Theaterで直前ターンの編集を順に再生 | 観察のみで、編集の取り消しは行わない |
このほか、長いターンが終わったら$.ui.toastで通知する集中タイマーなど、自分の疑問を起点に新しいmodを考えられるのが最大の魅力といえるでしょう。
AIを使ったコードレビューについて、詳しく知りたい方は下記の記事もあわせてご覧ください。

Claude Code modsの活用事例
ここではClaude Code modsの活用事例をXでリサーチして紹介していきます。どのように使っていこうか悩んでいる方は参考にしてください。
過去のプロンプト位置にジャンプする
こちらの投稿では、過去に入力したプロンプトの位置へジャンプできる「prompt-rail」というmodが公開されていました。
やり取りが長くなると、以前の指示を探してスクロールし続けることも多いのではないでしょうか。マーケットプレイスの追加とインストールの2コマンドで導入できるため、modの手軽さを体感する最初の1本としてもおすすめです。
作業中の内容とディスク残量を表示する
こちらの投稿では、セッションが今何に取り組んでいるかと、マシンのディスクがいっぱいになりそうなタイミングを表示する小さなmodが紹介されていました。
Claude Codeの作業状況だけでなく、マシン側の状態まで同じ画面で確認できるのがポイント。自分が普段気にしている情報を1か所にまとめられるのは、modならではの使い方といえるでしょう。
入力中のプロンプトをMarkdownで装飾する
こちらの投稿では、入力中のプロンプト欄にMarkdownの装飾をリアルタイムで反映する「md-prompt」が公開されていました。
コードブロックを閉じる前から、シンタックスハイライト付きのカードとして表示されるそうです。長いプロンプトやコードを書くときでも構造がひと目で分かるため、入力ミスを減らせるのではないでしょうか。
Claude Codeのご相談はWEELへ
Claude Code modsを活用することで、コンテキストの見える化や危険コマンドのガード、変更内容の振り返りなど、Claude Codeを自分やチームの働き方に合わせて拡張できます。一方で、modは手元のマシン上でClaude Codeと同じ権限で動くため、導入するmodの選定や権限ルールとの併用など、運用ルールの設計も重要な選択肢です。
「生成AIで新しいプロダクトを作りたい」「もっと本格的に生成AIを業務に組み込みたい」とお考えの方は、ぜひ株式会社WEELにご相談ください。
開発実績として、
・新規事業室での「リサーチ」「分析」「事業計画検討」を70%自動化するAIエージェント
・社内お問い合わせの1次回答を自動化するRAG型のチャットボット
・過去事例や最新情報を加味して、10秒で記事のたたき台を作成できるAIプロダクト
・お客様からのメール対応の工数を80%削減したAIメール
・サーバーやAI PCを活用したオンプレでの生成AI活用
・生徒の感情や学習状況を踏まえ、勉強をアシストするAIアシスタント
などの開発実績がございます。
生成AIを活用したプロダクト開発の支援内容は、以下のページでも詳しくご覧いただけます。
➡︎株式会社WEELのサービスを詳しく見る。
アイデア段階でも構いません。まずは無料相談でお気軽にご相談ください。
➡︎生成AIを活用したプロダクト開発・業務効率化について相談する

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。
セミナー内容や料金については、ご相談ください。
また、大規模言語モデル(LLM)を対象に、言語理解能力、生成能力、応答速度の各側面について比較・検証した資料も配布しております。この機会にぜひご活用ください。

