
Claude Codeの新機能「mods」とは? hooks・スキル・MCPとの違いと始め方
2026年10月1日、Claude Codeに「mods」という拡張の仕組みが追加されました。Claude Codeの見た目や振る舞いそのものを、JavaScriptやTypeScriptの小さな関数で変えられる機能です。
Claude Codeにはすでに、hooks、スキル、MCPサーバーといった拡張の手段があります。この記事では、公式の発表とドキュメントをもとに、modsが何で、ほかの手段と何が違うのか、どう始めるのかを整理します。
2026年10月16日 追記: 「要確認」としていた点
本文で「VS Code拡張、claude -p、クラウドのセッションでの扱いは要確認」とした点は、公式ドキュメントの「Where mods run」に表があります。
VS Code拡張のチャット画面: modのフックは動くが、modの描画(パネルなど)は出ない
claude -p と Agent SDK: フックは動くが、描画は出ない
クラウドのセッション: プラグインがクラウドのセッションに引き継がれていればフックは動くが、描画は出ない
関連記事
出典: Claude Code Docs「Mods overview」 https://code.claude.com/docs/en/plugins/mods/overview(2026年10月16日に確認)。最新は公式ドキュメントで確認してください。
この記事が関係する人・関係しない人
関係する人
Claude Codeを、ターミナルのCLI、またはClaudeデスクトップアプリの「Code」タブで使っている人
Claude Codeの画面(ツールの結果の表示、スピナー、Claudeからの質問など)や、ツールの呼び出し・プロンプトの扱いを、自分用に変えたい人
hooks・スキル・MCPサーバーのどれで拡張するか迷っている人
組織でClaude Codeを管理していて、読み込まれるmodを制限したい管理者
関係しない人
Claude Codeを使っていない人
Claudeに決まった手順や知識を渡したいだけの人(スキルで足ります)、外部のサービスにつなぎたいだけの人(MCPサーバーで足ります)
Claudeデスクトップアプリで、WSLのセッションだけを使っている人(公式ドキュメントでは、WSLのセッションではプラグインが使えないため、modのフックも動かないとされています)
自分が当てはまるかの確認方法
ターミナル: シェルで claude --version を実行し、v2.1.287以降かを見る
デスクトップアプリ: 「Code」タブのローカルセッションで /status を入力し、「Claude Code」の行のバージョンを見る(デスクトップアプリでは v2.1.286 から動きます)
読み込まれているmod: Claude Codeのプロンプトで /plugin を実行すると、タブの下に 1 mod active · first-mod のような行で数と名前が出る(組み込みのmodはこの行には含まれません)
modsとは
公式ドキュメントでは、modは「Claude Codeの見た目と振る舞いを変えるプラグイン」と説明されています。中身はJavaScriptまたはTypeScriptのイベントハンドラーです。ツールの呼び出し、プロンプトの送信、画面の一部の描画といったイベントが起きるたびに、Claude Codeがハンドラーを呼び出します。ハンドラーは、そのイベントを見るだけにすることも、内容を変えることも、処理を丸ごと引き取ることもできます。
A mod is a plugin that changes how Claude Code looks and behaves.
訳: modは、Claude Codeの見た目と振る舞いを変えるプラグインです。(Mods overview)
発表記事では、できることの例として、プロンプトの書き換え、新しいUIの追加、組み込み機能の置き換え、まったく新しい機能の追加が挙げられています。Claude Codeが描く画面の一部(ツールの結果や、Claudeからの質問など)を編集したり差し替えたりでき、ボタンや入力欄を足すこともできます。
Today we're introducing mods, small TypeScript functions that change how Claude Code works. A mod can rewrite a prompt, add new UI, replace a built-in feature, or add entirely new functionality.
訳: 本日、Claude Codeの動きを変える小さなTypeScriptの関数「mods」を導入します。modは、プロンプトの書き換え、新しいUIの追加、組み込み機能の置き換え、まったく新しい機能の追加ができます。(Customize Claude Code with mods)
hooks・スキル・MCPとの違い
いちばん大きな違いは、どこで動くかです。
hooks: settings.json に書いたスクリプトを、イベントのタイミングで実行する仕組み。Claude Codeの外でコマンドとして動きます
mods: JavaScript / TypeScriptの関数が、Claude Codeの中で動きます。画面の描画にまで手を入れられるのは、このためです
スキル: Markdownで書く手順や知識。Claudeへの指示を足すもので、Claude Code自体の動きは変えません
MCPサーバー: 任意の言語で書くサーバー。Claudeが使える外部のツールやデータを足します
Claudeに渡す知識や手順を足したいならスキル、外部のサービスにつなぎたいならMCP、決まったタイミングでコマンドを走らせたいならhooks、Claude Codeそのものの画面や処理を変えたいならmods、という使い分けになります。

動く環境と前提
Claude Code v2.1.287以降が必要です
Claude CodeのCLIと、Claudeデスクトップアプリの「Code」タブで動きます
modsは初期状態で有効です
VS Code拡張、claude -p(非対話モード)、クラウドのセッションでの扱いは、公式ドキュメントで最新の対応状況を確認してください(要確認)。
すでに入っているmods
Claude Codeの組み込み機能の一部は、modとして作られています。たとえば /diff コマンドです。公式は、今後ほかの組み込み機能もmodに移していき、小さな本体に必要なものだけを足して使えるようにする方針を示しています。
組み込みのmodの1つに「You should know」があります。別のエージェントが横で見ていて、あなたやClaudeが見落としそうなことを知らせる機能です。/plugin enable cc-plugin-you-should-know@builtin で有効にできます(公式の変更履歴では、ファーストパーティのセッションで、テレメトリーがオンのときが対象とされています)。
始め方
1. 入っているmodsを確認する
Claude Codeのプロンプトで /plugin を実行すると、そのセッションで読み込まれているmodsを確認できます。modsはプラグインの中に入って配布されるので、追加や管理もプラグインと同じ /plugin から行います。
2. Claudeに書いてもらう
いちばん手軽なのは、Claude Codeのセッションで「こういうmodがほしい」と説明して、Claudeに書かせる方法です。Claudeは、セッションごとの作業フォルダ(~/.claude/dev-mods/ の下にセッションIDのフォルダ)にmodを書き、そのセッションに読み込みます。最初のファイルを保存したときに、ホットリロードを有効にするかを聞かれます。
注意点として、Claudeが書いたmodは、それを作ったセッションでだけ読み込まれます。また、その作業フォルダは、設定の cleanupPeriodDays より古くなると削除されます。残したいmodは、自分の置き場所(例: ~/mods/ の下)にフォルダごとコピーし、claude --plugin-dir ~/mods/<フォルダ名> で読み込むか、プラグインとしてインストールします。

3. 自分で書く
modはプラグインなので、マニフェストが必要です。最小限の構成は次のようになります。
my-mod/
├── .claude-plugin/
│ └── plugin.json # プラグインのマニフェスト
└── hooks/
└── hooks.json # modのコード(フックモジュール)の場所を指すClaude Codeはプラグインを読み込むときに hooks/hooks.json を読み、そこに書かれたJavaScript / TypeScriptのファイルを、modのコード(フックモジュール)として扱います。.js と .ts はそのまま読み込まれます。書いたら、プラグインのフォルダで claude plugin validate を実行して検証できます。
使えるイベントやメソッドの一覧は、Claude Codeのリポジトリにある、mods用のTypeScriptの型定義が完全なリファレンスです。公式ドキュメントは、自分のバージョンのClaude Codeが書き出す型定義のほうを信頼するよう案内しています。サンプルのmodは、Anthropicの claude-code-playground リポジトリにあります。
複数のmodを重ねたとき
同じイベントに複数のmodがフックしている場合、読み込まれた順に実行されます。作者の違うmodを重ねて使えるのは、この仕組みのおかげです。ハンドラーには次の処理(next)が渡され、ミドルウェアのように順につながります。

安全面の注意
modはClaude Codeの中で、あなたの権限のまま動くコードです。入れるのは、中身を確認できるものか、信頼できる配布元のものに限るのが安全です。
A mod is code that runs with your permissions, inside Claude Code.
訳: modは、Claude Codeの中で、あなたの権限で動くコードです。(Mods overview)
止めたいときの手段も用意されています。
特定のmod: /plugin から無効にする
1回のセッションで全部止める: --safe-mode で起動する(ほかのカスタマイズも外れます)
組織で管理する: 管理者が、管理された設定で読み込めるmodを制限できます
まとめ
modsは、Claude Codeの中で動くJavaScript / TypeScriptのイベントハンドラーで、プラグインとして配布される
hooksとの違いは、Claude Codeの中で動き、画面の描画まで変えられること
Claudeに書かせるのが手軽。ただし作ったセッションでしか読み込まれないので、残すならコピーしてプラグインとして読み込む
あなたの権限で動くので、入れるmodは選ぶ
出典: Anthropic「Customize Claude Code with mods」、Claude Code Docs「Mods overview」「mod を作成する」「Mods reference」、Claude Code changelog(2026年10月1日)。新しい機能で仕様の変更が続いているので、最新の内容は公式ドキュメントで確認してください。
開発ツールの仕様変更・提供終了の情報を毎朝お届けしています。見逃したくない方は、フォローしてください。