本ページはプロモーションが含まれています

AI

Claude Modsとは?hooksとの違い・始め方と活用法7選

トム

SESで約8年、環境を変えられないもどかしさの中にいました。32歳で自社開発企業に転職し、今はClaude Codeと自動化で、仕事も時間も組み直している途中です。
・Javaバックエンドエンジニア(Java歴12年以上)
・資格:基本情報技術者/応用情報技術者/Java Silver/Python3エンジニア認定基礎
詳細なプロフィール

Claude Codeを長く回していると、コンテキストの残りと使った金額が気になってきます。

Modsを使えば、その数字を入力欄の上に出しっぱなしにできます。

Claude Modsとは、TypeScriptの関数でClaude Code本体の動作と画面に割り込める、Early Access段階のプラグイン方式です。

結論から言うと、hooksが「起きたことを知らされる」仕組みなのに対し、Modsは「これから起きることを決められる」仕組みです。始めるのに必要なのは環境変数1つで、最初の1本は料金やコンテキストを表示するだけのModが安全です。

hooksとの違い、始め方、実用度で分けた活用法7つ(実用4、遊び2、自作1)を、公式Issueと各Modのリポジトリで確認した内容(2026年9月20日時点、24日に再確認)で整理しました。

この記事でわかること

  • Modsとhooks、Skillの違い
  • 環境変数1つで始める手順と、割り切るべき注意点
  • 見る、止める、隠す、残す。実用度で選ぶMod活用法
  • 最初の1本を自作するなら、Java開発者向けダッシュボード

Claude Modsとは?hooksとの違いを先に整理

Modsはhooksの延長ではなく、届く範囲が違う仕組みです。

hooksがイベントのたびに別プロセスでシェルコマンドを走らせるのに対し、Modsは本体に読み込まれたまま常駐して、実行の途中へ割り込みます。

提案が出たのは2026年9月3日、名称が公式に確定したのは9月9日です。登場して3週間も経っていません。

Modは関数フックで動くTypeScriptプラグイン

Claude Modsとは、function hooks(関数フック)を使って動くClaude Codeプラグインのことです。

Claude Code Modsと呼ばれることもあります。Minecraftなどゲームのモッド(改造データ)とは別物で、ここで扱うのはClaude Codeの拡張です。

中身は、register(on, options)を1つだけexportするTypeScriptモジュールです。プラグインのhooks/hooks.jsonが、そのモジュールを指します。

個々のフックはon("イベント名", matcher, async ($, e, next) => result)の形で書きます。$は本体の機能を呼ぶ入り口、eはイベントの中身、next()は次の処理を呼ぶ関数です。処理を順に受け渡す作りは、Web開発のExpressなどのミドルウェアと同じ発想です。

ツール実行を例に、hooksとModsの処理の流れを並べると次のようになります。

flowchart TD E["Claudeがツールを呼ぶ<br>(例: Bash、Read)"] --> H1 E --> M1 subgraph hk ["従来のhooks(別プロセス)"] H1["シェルコマンドを起動"] --> H2{"返せる結果"} H2 -->|"停止"| H3["ツールを実行しない"] H2 -->|"続行・メッセージ追加"| H4["本体がそのまま実行"] end subgraph md ["Mods(本体内の関数)"] M1["on(イベント, matcher, 関数)"] --> M2{"next()を呼ぶ?"} M2 -->|"呼ばない"| M3["拒否・キャッシュで代わりの結果"] M2 -->|"呼ぶ"| M4["本体がツールを実行"] M4 --> M5["結果を書き換え<br>(秘密情報のマスク等)"] M5 --> M6["入力欄の上に描画も可能"] end

従来のhooksが返せたのは、停止、続行、メッセージの追加だけでした。Modsでは、次のような操作まで届きます。

  • 危険なコマンドを拒否する
  • ツール出力の秘密情報をマスクする
  • WebFetchの結果をキャッシュする
  • すべてのイベントを監査ログに残す
  • ターミナルに独自の表示を描く

CLAUDE.md、Skill、hooks、Modの役割比較

4つの仕組みは、作用する相手で分けると整理できます。

仕組み作用する相手動き方
CLAUDE.mdモデル常に読み込まれる指示
Skillモデル特定作業の手順書。必要な場面で読まれる
hooks(従来)イベント別プロセスのシェルコマンド。返せるのは停止、続行、メッセージ追加
ModClaude Code本体本体内で動くTypeScript関数。処理の流れと画面に割り込める

Skillは仕事を教え、hooksはイベントに反応し、Modは本体を拡張します。

4つは競合せず、組み合わせると役割分担がはっきりします。

たとえば、Skillで/review-javaというレビュー手順を用意します。差分の確認、規約の照合、セキュリティとテストの点検を、SkillがClaudeに実行させます(Skillの作り方はClaude Skillsとは?使い方・作り方を参照)。

Modは、Claudeがレビュー対象のファイルを編集したことをツール呼び出しから検知し、レビューの進み具合を画面に出します。

では、Modsを入れればhooksは不要になるのか。そうはなりません。

通知音を鳴らす程度なら、hooksで足ります。Modsは本体の内側で動く分だけ影響範囲が広く、入れるものを選ぶ必要があります。従来のhooksの設定例はClaude Code hooksの使い方にまとめています。

Claude Modsの始め方と注意点

始めるのに必要なのは、バージョンの確認と環境変数1つです。

Early Accessなので、環境変数を設定しない限り、Modは一切読み込まれません。設定ファイルを1か所書き換えれば、次の起動から使えます。

必要バージョンと環境変数の設定

Modの読み込みに必要なバージョンは、解説サイトによって2.1.259以降、コミュニティカタログ(claudemods.ai)では2.1.269以降が基準とされています。公式の最低バージョンは明示されていないため、最新版に上げてから試すのが確実です。まず手元のバージョンを確かめます。

bash
claude --version

有効化は、~/.claude/settings.jsonのenvに書くのが手軽です。すでにenvブロックがあるなら、キーを1行足すだけです。

json
{
  "env": {
    "CLAUDE_CODE_ENABLE_FUNCTION_HOOKS": "1"
  }
}

1回だけ試すなら、起動時に付ける方法でも動きます。

bash
CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1 claude

プラグインの導入コマンド

Modの導入は、通常のプラグインと同じ3ステップです。

step
1
マーケットプレイスを登録する

bash
claude plugin marketplace add owner/repo

owner/repoは、導入したいModのリポジトリに置き換えます。

step
2
Modをインストールする

bash
claude plugin install mod-name@repo

step
3
試すだけならディレクトリ指定で読み込む

bash
claude --plugin-dir ./the-mod

入れる前に挙動を見たいときは、この方法が安全です。

自作するときは、セッション内で/plugin-typesを実行するとTypeScriptの型定義が生成されます。アップグレード後は型が変わり得るので、再生成しておきます。

Modが表示されないときの確認点

Modが表示されないときは、次の順に確認します。

  • 環境変数:CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1が、起動したclaudeのプロセスに渡っているか
  • バージョン:claude --versionが古くないか
  • Mod側の前提:READMEに書かれた前提(フルスクリーン表示など)を満たしているか
  • ターミナル:クリックが反応しないなら、iTerm2やWindows Terminalのようなマウス対応のターミナルか

最初の入口になる公式同梱のMod

Anthropic自身も、公式リポジトリのmodsフォルダでModのソースを公開しています。動きを見る入口としても、コードを読む教材としても手ごろです。

Mod役割補足
diff/diffの画面で、未コミットの変更を表示する本体に組み込み済み
sec-default組織の設定を、利用者のプラグインから隔離する管理者向け
telemetryイベントの分析ログを記録する機能を提供する本体に組み込み済み。利用者が入れたプラグインからは使えない
agents-mdAGENTS.mdを、CLAUDE.mdと同じ場所の指示ファイルとして読む2.1.277で追加。Bedrock、Vertex、Foundryでは2.1.281から使える

agents-mdは、AGENTS.mdを別に持つプロジェクトで、symlink(別ファイルへのリンク)や@import(CLAUDE.mdから別ファイルを読み込む記法)で代用している運用の置き換え候補になります。CLAUDE.mdと挙動が異なる箇所が公式READMEに8つ挙げられているため、切り替える前に確認が要ります。

Early Accessで割り切るべき2点

2026年9月20日時点で、割り切っておくべきことは2つあります。

  • APIは予告なく変わる:公式Issueにも、出荷前に破壊的変更があり得ると書かれています。昨日書いたModが更新で動かなくなる前提で使います。
  • Modは強い権限を持ち得る:Node.jsのAPIを直接触れなくても、本体が仲介するツール経由でできる操作は多い。信頼できない作者のModは入れません。

この記事の情報源
動作情報は、公式Issue #91870、コミュニティカタログ、各Modのリポジトリで2026年9月20日に確認した内容です。私自身が全Modを実運用して検証した記録ではありません。

実用度が高いClaude Modsの活用法4選

実用度で選ぶなら、見る、止める、隠す、残すの4系統に絞れます。

コミュニティカタログ(claudemods.ai)には、2026年9月20日時点で45個のModが9カテゴリに並んでいます。

系統代表例何をするか
見るcctop、token-ledgerコンテキスト、料金、トークンを常時表示する
止めるbudget-guard、claude-cost-guard上限を超える前に、ツール呼び出しやエージェントの処理を止める
隠すsecret-redactor、honmoon-redactツール出力の秘密情報を、モデルが読む前に置き換える
残すRoll Creditsセッション中のイベントを集計して、/creditsで表示する

コンテキストと料金をリアルタイムで表示する

1つめは「見る」系です。使用状況を常時表示するcctopが代表格で、Claudeが一度に扱える会話量(コンテキスト)の埋まり具合も見られます。

cctopは、btopのようなライブダッシュボードです。次の項目を1画面にリアルタイムで出します。

  • コンテキストの埋まり具合と、次の圧縮のタイミング
  • トークン数と料金、キャッシュヒット率(過去の入力を再利用できた割合)
  • 使用量の上限と、到達までの予測
  • ツールごとの遅延
  • サブエージェントとMCPサーバーの状況
  • 触ったファイル

セッション中に/cctopと打つと現れます。事前に環境変数と、/tui fullscreenが必要です。

料金だけ見たいなら、セッション料金、直近ターンのトークン、キャッシュヒット率を出すtoken-ledgerが軽量です。

コスト暴走を止めるガードをかける

2つめは「止める」系です。表示は、気づいた人にしか効きません。放っておいても止まる仕組みが要ります。

カタログのbudget-guardは、上限に近づくと警告し、使い切る前にツール呼び出しを拒否します。

GitHubのclaude-cost-guard(Claude Codeプラグイン)は、次の4つの上限で、エージェントの処理をステップの途中でも止めます。

上限の種類止める対象
セッション総額1セッションで使った金額
1ステップの金額1回の指示で使った金額。新しいプロンプトごとに戻る
1分あたりの金額(burn rate)直近5分の金額を、1分あたりの上限と比べる
サブエージェントの起動数1ステップ内の追加起動を、ツール実行の直前に走るフック(PreToolUse)で拒否する

サブエージェントを何本も呼ぶ作業が、テスト失敗の修正ループで繰り返されると、金額は静かに積み上がります。

私はブログの投稿、分析、SEO最適化までClaude Codeに回させています。画面を見ていない時間が長いほど、止める仕組みの価値が上がる運用です。

上限値の目安は環境で変わります。設定値は、自分の使用実績を見てから決めます。実績の確認方法はClaude Code料金確認と日本円換算で紹介しています。

ツール出力の秘密情報をClaudeが読む前に隠す

3つめは「隠す」系です。Anthropic自身のIssueにも、ツール出力の秘密情報をモデルが読む前にマスクするケーススタディが載っています。

1文の指示からClaude Codeがプラグインを書き、検証し、読み込むところまで進めた例です。

コミュニティ製では、secret-redactorが秘密情報、メールアドレス、IPアドレスを、毎回同じ形の代わりの文字列([REDACTED]のようなもの)に置き換えます。honmoon-redactは、Read、Bash、Grepの出力からAPIキーなどの識別子を消します。

ルールに基づく置換なら、モデルへの追加リクエストは発生しません。

.envを置いたプロジェクトでは、コミットしないルールだけでは、Claudeが読むこと自体は防げません。読まれた値は、会話とログに残ります。マスクは、その入口で止める手段です。

取りこぼしの検証は欠かせません。wavectの解説では、ダミーの目印値を流して、どこに残るかを追う試験を勧めています。

セッションの作業を記録してレポートにする

4つめは「残す」系です。Roll Creditsは、/creditsを実行すると、そこまでのセッションを映画のエンドロール風の画面で流します。

セッションの出来事エンドロールでの扱い
編集回数が最も多かったファイル主役として先頭に表示
使ったツール謝辞として表示
失敗した呼び出し「どんでん返し」として表示

モデルは呼び出さず、利用状況も送信しません。イベントを数えて描くだけなので、追加のトークンを消費しません。

この構造は、作業分析の土台にそのまま使えます。

たとえば、編集ファイル数、ツール呼び出し数、失敗数をSQLiteに溜めれば、過去30セッションの平均や、失敗しやすい作業の傾向まで出せます。これは私の構想で、既製Modの機能ではありません。

試して楽しいClaude Modsの活用法2選|ゲームとCI表示

実用一辺倒でなくても構いません。Modsの描画力を体感するには、遊べるものと、開発の流れに寄せたものが手ごろです。

どちらも入力欄の上に描画する仕組みで、Claude Codeの画面が1つのアプリに変わる感覚をつかめます。

Claude Codeの画面はReactで描かれています。設計資料には、Modが既存の部品(コンポーネント)に渡す設定値(props)を書き換えたり、描画結果を包んだりする構想が示されています。入力欄の上に足すだけでなく、画面そのものを作り変える余地があります。

待ち時間に遊べるcc-arcade

cc-arcadeは、入力欄の上でSnake、Tetris、Doom、2048、Minesweeper、Flappy、Pong、タイピング、Invadersの9本が遊べるModです。ペットも付いてきます。

Claudeの作業が終わると、ゲームは自動で一時停止します。Zennの入門記事も、自作Modの題材にcc-arcadeを選んでいます。

実用性は低く、ゲームが目的で入れるModではありません。ただ、コードを読む教材としては、いちばん取っつきやすい部類です。

PRとCIの状態をClaude Code内に表示する

cc-pr-trackerは、プルリクエストのマージ状態、レビューの判定、必須チェックの結果を、入力欄の上に1行ずつ表示します。

実装、テスト、PR、CI、レビューまでの流れを、Claude Codeの画面から離れずに確認できます。

Issueには、ボタンの押下をui.pressイベントに統一し、ターミナルとデスクトップアプリを1つのフックで扱う設計が示されています。

サブエージェントの動きを木の形でリアルタイムに見せるagent-flowのように、開発の進行を視覚化するModも並びます。

7つめの活用法:最初の1本はModを自作する

大量に入れるより、1本を自分で書くほうが得るものは大きいと考えています。

APIもUIもまだ動いている段階では、既製Modの使い方を覚えても、来月には変わっているかもしれません。書いた経験は、変更が入っても手元に残ります。

自作で学べる4つのこと

小さなModを1本書くと、次の4つが手に入ります。

  • イベントモデル:どのイベントで、何が渡ってくるのか
  • 描画:入力欄の上に、何をどう出すのか
  • ツールイベント:Read、Edit、Bashの呼び出しをどう拾うのか
  • セッション状態の読み取り:使用量やコンテキストの数字をどう取るのか

書くこと自体も、Claude Codeに任せられます。Anthropicの公式Issueには、短い指示からプラグインを書き、検証して読み込むまで進めたケーススタディがあります。

自作Modの最小ファイル構成

公式リポジトリのmodsフォルダを見ると、1つのModは次の3種類のファイルでできています。

text
my-mod/
├── .claude-plugin/
│   └── plugin.json   … プラグインの名前などのメタ情報
└── hooks/
    ├── hooks.json    … どのTypeScriptモジュールを読むかを宣言
    └── register.ts   … register(on, options) をexportする本体

型定義はセッション内の/plugin-typesで生成し、動作はclaude --plugin-dir ./my-modで読み込んで確かめます。ファイル名や型はEarly Accessのうちに変わる可能性があるため、書く前に公式のmodsフォルダで最新の構成を確認してください。

Java開発者向けダッシュボード案

Javaバックエンドを書く立場なら、題材として面白いのはJava開発向けのダッシュボードです。構想の段階で、実装は済んでいません。

Claudeがツールを呼ぶたびにModがイベントを拾い、拡張子とコマンドで振り分けて、画面を更新します。表示のイメージは次のとおりです。

text
JAVA DEV MODE
Context  ███████████░░ 74%   $1.23

Current : UserService.java
Tests   : Unit ✓ / Checkstyle ✓ / Integration ○
Changes : +3 files  ~7 files
Warnings: 500行超のクラス 1件 / リフレクション使用 1件

核になるのは、イベントごとの条件分岐です。

拾うイベント判定表示
.javaファイルの編集ファイル名の拡張子で判定Current欄のファイル名と、Changes欄の件数
Bashでmvn testを実行終了結果の成否Tests欄の ✓ と ✗
編集後のファイルの内容行数とリフレクションの使用を判定(読み取り権限が必要)Warnings欄

行数や警告の判定には、ファイルの読み取り権限が要ります。

hooksをスルーしてきた私がModsに感じたこと

私はClaude Codeを、実務でもプライベートでも毎日使っています。それでも最初の半年ほどは雰囲気で使い続け、サブエージェントもMCPもhooksも、全部スルーしていました。

Before(最初の半年ほど)

CLAUDE.mdは3行。サブエージェント、MCP、hooksはすべて未使用

After(本で学び直したあと)

CLAUDE.mdは40行以上。やり直しの回数が目に見えて減った

2026年8月には、CLAUDE.mdに1ファイルで詰め込みすぎて、反応が鈍くなった経験もあります。rulesをトピック別に分割し、pathsを指定して必要なときだけ読み込む形にしたら、精度が改善しました(分割の考え方はCLAUDE.mdとは?rulesとの違いで解説しています)。

2つの経験から学んだのは、機能の価値は「入れた量」ではなく「効く場所に置いたか」で決まる、という点です。

だからModsも、45個を並べて全部試す気にはなれません。まず表示だけのModを1本入れて、自分の使い方でコンテキストと料金がどう動くかを見る。そこから止める系へ進む順番を取ります。

hooksを半年スルーした人間が言うのも何ですが、Modsは「hooksを使いこなしてから」でなくて構いません。表示だけなら、最初から入れられます。

Claude Modsのよくある質問

検索でよく見かける7つの疑問に、結論から答えます。導入の条件、安全性、自作の入口、他社AIとの併用、正式版の時期までを、各2〜4行で扱います。

Q1. Claude Modsとは何ですか?

A1. Claude Modsとは、TypeScriptの関数フック(function hooks)で動くClaude Codeプラグインです。ツール実行の拒否、出力の書き換え、入力欄の上への描画など、本体の内側から動作を変えられます。2026年9月20日時点は、Early Access段階です。

Q2. Modsとhooksの違いは何ですか?

A2. hooksはイベントのたびに別プロセスでシェルコマンドを走らせ、返せるのは停止、続行、メッセージの追加です。Modsは本体に読み込まれたまま常駐し、ツール出力の書き換えや画面の描画まで担えます。

Q3. Claude Modsの利用に必要なバージョンと設定は?

A3. 公式の最低バージョンは明示されておらず、解説サイトでは2.1.259以降、カタログのclaudemods.aiでは2.1.269以降が基準です。最新版に上げたうえで、CLAUDE_CODE_ENABLE_FUNCTION_HOOKS=1を環境変数かsettings.jsonのenvに設定すると、Modが読み込まれます。

Q4. Claude Modsは安全に使えますか?

A4. 信頼できる作者のModに限れば実用的ですが、無条件に安全とは言えません。Node.jsを直接触れなくても、本体が仲介するツール経由で多くの操作ができます。リポジトリを読んでから入れ、表示専用のModから始めてください。

Q5. Claude Modsを自作するにはどうすればよいですか?

A5. register(on, options)をexportするTypeScriptモジュールを書き、hooks/hooks.jsonから指します。/plugin-typesで型定義を生成できます。Claude Codeに書かせて、検証と読み込みまで進める方法も公式Issueで紹介されています。

Q6. Claude Codeから他社のAIも使えますか?

A6. cc-multi-cli-plugin(GitHubのプラグイン)を使うと、ChatGPT(Codex)、Cursor、OpenCode Zen、Antigravityのモデルを1つのClaude Codeセッションで切り替えられます。各プロバイダーのログインと権限は別々に保持されるので、利用規約と認証方法を事前に確認してください。

Q7. Claude Modsはいつ正式版になりますか?

A7. 2026年9月20日時点で、公式に確定した日付はありません。公式Issueには数週間以内の出荷を目指す記載がありますが、出荷前にAPIが変わることも明記されています。

Claude Modsを使うか迷ったときの判断まとめ

迷ったときの基準は、Modが触れる範囲です。GitHubのawesome-claude-code-modsは、2026年9月17日時点で72個のModを、到達範囲ごとに分類しています。

到達範囲できること該当数(72個中)
L0表示とメモリ20個
L1読み取り6個
L2書き込みと実行32個
L3ネットワーク14個

72個のうち46個は、書き込みと実行、またはネットワークに届きます。表示専用のL0は20個です。

入れる順番は、表示、読み取り、書き込み、ネットワークの順に広げるのが安全です。

見るModは表示中心で済みますが、止める、隠すModはツールの実行や出力に触れます。権限を確かめてから入れます。

組織で使うなら、管理者が下位プラグインの$の機能を絞れる設計です。個人の判断だけでなく、チームの方針として権限の線を引けます。

  • Modsは、hooksより届く範囲が広い、Claude Code本体の拡張方式
  • 最初の1本は、cctopやtoken-ledgerのような表示専用
  • 自動運転させるなら、止めるガードを足す
  • 秘密情報を扱うなら、マスクModをダミー値で試験してから
  • 自作は1本だけ。Claude Codeに書かせて、イベントモデルを学ぶ

冒頭の疑問に戻ると、コンテキストの残りと使った金額は、Modを1本入れるだけで入力欄の上に出しっぱなしにできます。APIが落ち着くまでの数週間、どこまで広げるかは、自分の使い方で決めることになります。

  • この記事を書いた人
  • 最新記事

トム

SESで約8年、環境を変えられないもどかしさの中にいました。32歳で自社開発企業に転職し、今はClaude Codeと自動化で、仕事も時間も組み直している途中です。
・Javaバックエンドエンジニア(Java歴12年以上)
・資格:基本情報技術者/応用情報技術者/Java Silver/Python3エンジニア認定基礎
詳細なプロフィール

-AI