Shiraude Code Docs
用語2026年8月17日disable-model-invocation設定スラッシュコマンドスキル自動実行制御

disable-model-invocationとは?AIに勝手に使わせない設定

ひとことで言うと

disable-model-invocation は、「この機能はAIが自分の判断で勝手に呼び出してはいけない」と指定するための設定項目です。名前をそのまま読むと「モデル(AI)による呼び出しを無効化する」。まさにその通りの意味で、あなたが明示的に指示したときだけ動くようになります。

Claude Codeでは、スラッシュコマンドやスキルのように「AI側から自発的に使える部品」があります。便利な反面、こちらが望んでいないタイミングでAIが勝手に使い始めることもある。そういうときに「これは自動では触らないで」と札を立てるのが、この設定の役割です。

身近な例で考える

キッチンにある道具を思い出してください。包丁やまな板は毎日自由に使ってもらってかまわない。でも、来客用の高い食器や、扱いを間違えると危ないミキサーは「使うときは一声かけてね」と決めておきたい。disable-model-invocation は、その「一声かけてね」の札に相当します。

棚から道具そのものを撤去するわけではありません。道具はちゃんとそこにあって、あなたが「あれ使って」と言えば使える。ただ、AIが自分で「これ使えそうだな」と手を伸ばすルートだけを閉じておく、という発想です。

設定しない場合

AIが文脈から判断して、必要そうだと思ったタイミングで自発的にその機能を呼び出す。

設定した場合

AIは自分から呼び出さない。あなたが明示的に指示・実行したときだけ動く。

なぜこんな設定が必要なのか

AIに自由に道具を使わせると、たしかに手間は減ります。ただ、実際に使っていると「今それやらなくていいのに」という場面が出てきます。

たとえば、デプロイや外部への通知みたいに副作用が大きい処理。AIが親切心で先回りして実行してしまうと困りますよね。あるいは、単に説明を求めただけなのに、関連しそうなツールを次々呼び出してトークンを消費されるケースもあります。用途が限定されている社内向けの手順書のようなものを、汎用的な質問にまで持ち出されるのも噛み合いません。

そういうものに対して「自動発動オフ、手動なら可」という中間の状態を作れるのが、この設定の価値です。オールオアナッシングで機能を消すより現実的なんですよね。

「無効化」との違い

初めて名前を見ると「機能そのものを無効にする設定」だと思いがちですが、そこがつまずきポイントです。切っているのはAIによる自動呼び出しという経路だけで、機能自体は生きています。

やりたいことこの設定で足りるか
AIが勝手に使うのを止めたい。自分では使いたいこれがまさに用途
そもそも存在自体をなくしたい別の手段(定義の削除など)が必要

使うときの考え方

全部に付けてしまうと、AIが自律的に動いてくれる良さが失われます。おすすめは、まず何も設定せずに使ってみて、「今の自動発動はいらなかった」と感じたものだけ後から札を立てていくやり方です。

設定を書く場所や具体的な記述方法は、その機能の定義ファイルの書式に従います。手元のバージョンで実際にどう書くかは、公式のドキュメントで確認してください。名前が長いので、タイプミスで効いていないのに気づかない、というのもわりとよくある落とし穴です。

覚えておきたいこと

結局のところ、これは「AIにどこまで自由を渡すか」を細かく調整するためのつまみです。全部任せるか全部禁止するかの二択ではなく、機能ごとに手綱の長さを変えられる。Claude Codeを長く使うほど、この手の細かい制御が効いてくる場面は増えていきます。

このページは役に立ちましたか?

disable-model-invocationとは?AIに勝手に使わせない設定 | Shiraude Code Docs