Claude Code ツール一覧|許可が要る道具と名前の調べ方

公開 更新 著者 永上裕之導入とルール
工具箱の中の道具を、確認なしで使えるものと許可が要るものに分けて並べているイメージ

この記事の要点

  • Claude Code は Read・Edit・Bash などの決まった道具で作業する。道具ごとに確認なしで動くか、許可を求めるかが決まっている
  • 読むだけの道具は確認なし、書き換え・コマンド・ネット接続の道具は許可が要る。作業フォルダの外は読むだけでも確認が出る
  • 権限ルール・サブエージェント・フックには、一覧の名前をそのまま書く。形は ToolName(指定) で、道具ごとに指定の書き方が違う

Claude Code に「このファイルを直して」と頼むと、Claude は中で 決まった道具(ツール) を選んで作業します。ファイルを読む道具、書き換える道具、コマンドを動かす道具、Web から取ってくる道具などです。

ふだんは道具の名前を意識しなくても使えます。ただ、確認の出方を変えたい、特定の操作だけ止めたい、という段階になると、道具の正しい名前 が必要になります。この記事では、公式ドキュメント「Tools reference」(2026年11月4日確認)にもとづいて、主な道具の役割と、許可が要るかどうか、ルールへの書き方をまとめます。

結論:読む道具は確認なし、変える道具は許可が要る

ファイルを読む・探す道具は確認なしで動き、ファイルを書き換える・コマンドを動かす・Web に出る道具は、手動の確認モードでは許可を求めます。 ここでの「許可が要る」は、作業フォルダの中を扱うときの基本の動きです。

例外が2つあります。1つは、作業フォルダの外のファイルは、読むだけの道具でも確認が出る こと。もう1つは、Bash は許可が要る道具ですが、読むだけの決まったコマンドは確認なしで動く ことです。確認の出方そのものを変えたい時は、権限モードの違い で切り替えます。

よく使う道具と許可の要否

公式の一覧には30を超える道具が載っています。ふだんの作業でよく出てくるものを、役割ごとにまとめます。

道具の名前していること許可
Readファイルを読む。画像・PDF・ノートブックも読める不要
Editファイルの一部を、文字列を指定して置き換える要る
Writeファイルを新しく作る・まるごと上書きする要る
Bashターミナルのコマンドを動かす要る
Glob / Grepファイル名で探す / ファイルの中身を探す不要
WebFetch指定した URL のページを取ってくる要る
WebSearchWeb 検索をして、結果のタイトルと URL を返す要る
Agentサブエージェントを立ち上げて仕事を任せる不要
Skillスキルを会話の中で実行する要る
AskUserQuestion選択肢つきで質問する不要
NotebookEditJupyter ノートブックのセルを書き換える要る
Monitorコマンドを裏で動かし、出力を1行ずつ受け取る要る

サブエージェントを立ち上げること自体には確認が出ません。 そのかわり、サブエージェントが使う道具1つずつが、あなたの許可ルールで確かめられます。サブエージェントの使い分けは サブエージェントと思考の深さ で説明しています。

道具ごとに知っておきたい動き

一覧の名前だけでは分からない、つまずきやすい動きを道具ごとに押さえておきます。

Edit は、指定した文字列が1か所だけ、完全に一致した時にだけ書き換えます。 空白1つ違っても外れます。同じ文字列が何か所もある時は、前後を含めて長く指定するか、すべて置き換える指定を使います。また、書き換える前にそのファイルを読んでいることが前提です。

Write は追記ではなく、まるごと上書き です。一部だけ直す時は Edit が使われます。

Bash は、コマンドごとに別のプロセスで動きます。 作業フォルダの中での cd は次のコマンドに引き継がれますが、export した環境変数は引き継がれません。標準の待ち時間は2分で、最大10分です。

macOS・Linux・WSL では、Glob と Grep は最初から入っていません。 かわりに Bash の find と grep で探します。そのため、探す操作もフックや許可ルールには Bash として届きます。Windows では Glob と Grep が標準で入っています。

WebFetch は、ページをそのまま渡すのではなく、要点を抜き出した結果を Claude に渡します。 「載っていない」と返ってきても、抜き出しの頼み方の問題のことがあります。また、localhost のような点の入らない名前には取りに行きません。

権限ルールに書くツール名の形

許可・禁止のルールには、一覧の名前をそのまま ToolName(指定) の形で書きます。 同じ書き方が、設定ファイルの permissions.allow と permissions.deny、起動時の --allowedTools と --disallowedTools、スキルの allowed-tools、フックの if 条件で使えます。

カッコの中の書き方は、道具によって違います。

書き方の例対象の道具中身
Bash(npm run *)Bash・Monitorコマンドの形で絞る
Read(~/secrets/**)Read・Grep・Glob・LSPファイルの場所で絞る
Edit(/src/**)Edit・Write・NotebookEditファイルの場所で絞る
Skill(deploy *)Skillスキルの名前で絞る
Agent(Explore)Agentサブエージェントの種類で絞る
WebFetch(domain:example.com)WebFetchドメインで絞る
WebSearchWebSearch指定なし。道具ごと許可か禁止

表にない道具は、カッコなしの名前だけで書きます。

道具を確認なし・許可が要る・ルールの名前の3つに分けて説明する図
道具を確認なし・許可が要る・ルールの名前の3つに分けて説明する図(イメージ)

覚えておくと便利な決まりが2つあります。Edit(...) で許可した場所は、読むことも許可されます。 逆に Read(...) で禁止した場所は、Edit と Write でも書き換えられません(新しいファイルを作ることも含む)。読めない場所を書き換えさせない、という考え方です。

フックの matcher だけは、カッコを付けない素の名前 を書きます。フックの書き方は フック入門、ルール全体の組み立ては 権限設定の基本 で説明しています。

サブエージェントに渡す道具を絞る

サブエージェントの定義では、tools と disallowedTools で使える道具を決めます。 どちらも書かなければ、サブエージェントが使える道具をすべて受け継ぎます。

書いたもの使える道具
どちらも書かない使える道具をすべて受け継ぐ
tools だけ書いた道具だけ
disallowedTools だけ書いた道具以外すべて
両方disallowedTools が優先。両方に書いた道具は外れる

たとえば調べもの役のサブエージェントから Bash を外しておけば、コマンドを動かせない役にできます。

いま使える道具を確かめる

使える道具は、契約の種類・パソコンの種類・設定によって変わります。 いまの会話で何が使えるかは、Claude に直接「使える道具を教えて」と聞くと、会話の形で答えてくれます。

MCP でつないだ道具の正確な名前は、/mcp で確かめます。 自分で道具を足したい時は MCP サーバーをつなぎます。手順は MCP を追加する手順 で説明しています。スキルは新しい道具を増やすのではなく、Skill という道具を通して動きます。

よくある質問

Glob や Grep が一覧に出てきません

macOS・Linux・WSL では、標準では入っていません。起動時に --tools や --allowedTools で名前を書く、Bash を禁止して外す、サブエージェントの tools に書いて Bash を外す、のどれかで使えるようになります。設定ファイルの許可ルールに書くだけでは戻りません。

WebFetch で毎回確認が出るのを減らしたい

よく使うドメインを WebFetch(domain:example.com) の形で許可ルールに足します。確認の画面で「このドメインは今後聞かない」を選ぶと、そのプロジェクトの .claude/settings.local.json に同じルールが保存されます。

Glob で .gitignore に書いたファイルまで見つかります

Glob は標準では .gitignore を見ないので、除外したファイルも一緒に見つけます。Grep は除外したファイルを飛ばします。Glob にも .gitignore を守らせたい時は、Claude Code を起動する前に環境変数 CLAUDE_CODE_GLOB_NO_IGNORE=false を設定します。環境変数の置き方は 環境変数の設定方法 で説明しています。

まとめ

出典

永上裕之

ユニコスクール株式会社 代表取締役。AIエージェント専門のスクール&コミュニティを運営しています。

この記事はAIを使って下書きし、著者が事実確認・加筆しています。ツールの機能や料金は変わることがあるため、最新の情報は各社の公式ページでご確認ください。

関連する記事