← AIバイブコーディングTips 一覧へ Claude Code / mods / 拡張レイヤー

Claude Codeに「mods」が来た。hooksの次の層と、サンドボックス無しの怖さ

Claude Codeの挙動を、小さなTypeScript関数で書き換えられる「mods」が公式に発表された。プロンプトの書き換え、ツール呼び出しの遮断、画面の編集まで届く一方、Claude Code本体と同じ権限で動き、サンドボックスもない。便利さと引き換えの安全運用を整理する。

この記事で手に入るもの

modsとは何か、hooks・skills・pluginsとの役割の違い、そして個人開発者が入れる前に守りたい導入ルールを整理します。

01 — modsとは

Claude Codeのイベントに割り込む、小さな関数

Claude Codeは、ツールを呼ぶ、許可を求める、画面を描く、といった動作のたびにイベントを発します。modsは、そのイベントの前・後・あるいは代わりに動くTypeScript関数です。

公式の説明では、できることは大きく次のとおりです。

複数のmodsは読み込み順に積み重なって実行されます。配布はpluginに同梱する形で、/pluginから入れられます。CLIとデスクトップ版の両方で使え、Claude Code自身に「modを書いて、入れて、今のセッションで再読み込みして」と頼むこともできます。


02 — 位置づけ

hooks・skills・pluginsと、何が違うのか

これまでの拡張手段は、役割がはっきり分かれていました。modsはその間を埋める層として読むと整理しやすくなります。

01

skills:モデルに「やり方」を教える

手順や知識を渡す層。モデルの判断の中で使われます。

02

hooks:決まった節目で外部コマンドを走らせる

確定的な処理を差し込む層。モデルの外から動作を縛る手段です。

03

mods:本体の挙動そのものを書き換える

プロンプト、ツール呼び出し、許可、画面の内側に入る層。plugin経由で配るので、導入は気軽でも影響範囲は一番広くなります。

つまり「配りやすさ」はpluginの延長ですが、「届く範囲」はhooksより深い。ここが便利さと危うさの両方の源です。


03 — リスク

サンドボックスは無い。権限はClaude Codeと同じ

公式の明記。modsはClaude Codeと同じマシンへのアクセス権で動き、サンドボックスはありません。信頼できる出所のものだけ入れる、とされています。

プロンプトを書き換えられるということは、悪意あるmodがあなたの指示の裏に別の指示を足せるということです。許可リクエストを自動承認できるということは、承認ゲートそのものを無効化できるということでもあります。出力の伏せ字化も、逆向きに使えば情報を隠す側に働きます。

TeamとEnterpriseプランには、ユーザーが入れたmodがセキュリティルールを上書きできないようにする標準のmod(sec-default)が用意されています。個人利用にはこの防波堤が無いので、自分で運用ルールを持つ必要があります。


04 — 導入ルール

個人開発者が入れる前にやること

✓
出所を確認する配布元が誰か、中身が読める形か。出所が曖昧なものは入れない。
✓
入れる前にコードを読む数十行のTypeScriptなら読めるはず。ネットワーク送信、ファイル書き込み、許可の自動承認が無いかを見る。
✓
自分で書いたmodも「人に見せられる状態」にするClaude Codeに書かせた場合も同じ。何をフックしているかを一覧で説明できること。
✓
承認ゲートはmodに任せない課金・公開・削除のような取り返しのつかない操作の承認は、modの自動判断に寄せず人間の確認を残す。
✓
入れたmodを台帳に残すいつ・何の目的で・どのイベントに入れたかを1行で記録し、不要になったら外す。

私の運用でも、hooksと承認ゲートで「やってはいけない操作」を外側から縛っています。modsはその内側に届く力なので、使うなら縛る側ではなく補助する側(表示の改善や、決まった前処理)に限るのが安全だと考えています。


05 — まとめ

拡張の自由度は、信頼の置き方とセットで受け取る

modsは、公式機能の追加を待たずに自分の道具を整えられる、魅力的な仕組みです。ただし届く範囲が深いぶん、入れる前の確認コストを惜しまないこと。「読める量のコードを、入れる前に読む」。この一手間が、一番安い保険になります。

出典:Claude Blog「Customize Claude Code with mods」(2026年10月)。内容は同記事の要約・解説であり、仕様は変更される可能性があります。