
こんにちは。よっしーです(^^)
背景
この連載では、Claude Codeの公式ドキュメントを1ページずつ読み解いていきます。公式ドキュメントは情報が網羅されている分、「結局どの機能を、どんな場面で使えばいいのか」は自分で考える必要があり、読むのに意外と時間がかかります。そこで、私が実務で使うために読み込んだ内容を「使う場面→実例コード」の順に整理して残していくことにしました。専門家の解説というより、一次情報を読んだ記録です。推測や動作を確認していない部分には、その都度そう書きます。
1. 一言でいうと何か
このページは、Claude Code が使える組み込みツールの完全な一覧と、その挙動の詳細です。
読者にとっての価値は2つあります。ひとつはカタログとして——Claude に何ができるのかが一望できる。もうひとつ、そして実務上こちらのほうが重要ですが、設定に書く「正確な文字列」の出典としてです。
冒頭で明言されています。ツール名は、権限ルール、subagent のツールリスト、フックのマッチャーで使う正確な文字列です。ツールを完全に無効にするには、権限設定の deny 配列にその名前を追加します。
そして拡張の作法も整理されています。カスタムツールを足したいなら MCP サーバーを接続する。一方再利用可能なプロンプトベースのワークフローで拡張したいなら skill を作る——ただし**skill は新しいツールエントリを追加せず、既存の Skill ツールを通じて実行されます。**この区別は権限設計に直結します。
もうひとつ、表の読み方に重要な注釈があります。「権限が必要」列は作業ディレクトリ内のパスに対してデフォルト権限モードでプロンプトが出るかを示しています。したがって——
Read/Grep/Globは「いいえ」だが、作業ディレクトリと追加ディレクトリの外のパスに対してはプロンプトを出す。Bashは「はい」だが、組み込みの読み取り専用コマンドセットはプロンプトなしで実行する。
「はい/いいえ」が絶対ではない、ということです。
2. どういう場面で役立つか
シーン1:権限ルールを書くときに正確な名前を引く
permissions.deny に Bash(rm *) と書くのか bash(rm *) なのか、WebFetch(domain:...) の指定子形式は何か——このページが唯一の正解です。
シーン2:subagent に与えるツールを絞る
tools / disallowedTools の frontmatter に書く名前もここから引きます。両方設定した場合は disallowedTools が優先、といった合成規則も載っています。
シーン3:「なぜ Claude が編集を拒否したか」を理解する
**Edit の3チェック(編集前の読み取り・完全一致・一意性)**を知らないと、Claude の挙動が不可解に見えます。ここを読めば納得できます。
シーン4:出力が切れる・タイムアウトする原因を特定する
Bash のタイムアウト2分(最大10分)と出力30,000文字、Glob の100ファイル制限、Read のトークン制限と PARTIAL view——制限値がすべて明記されているので、詰まったときの当たりが付きます。
不要・向かないケース
- MCP ツールの正確な名前を知りたい。ここには載りません。
/mcpを実行します。 - advisor ツールを権限ルールで制御したい。できません。advisor はClaude Code が実装するツールではなく API が実行するサーバーツールで、権限ルールやフックマッチャーで参照できる名前がありません。
- セッションで実際に読み込まれているツールを知りたい。**正確なセットはプロバイダー・プラットフォーム・設定で変わります。**Claude に直接聞くのが確実です(後述)。
- WebFetch でページの生 HTML が欲しい。設計上損失があります(後述)。
curlを使います。 - WebSearch のバックエンドを変えたい。構成不可です。MCP サーバーを足します。
3. ツール一覧と、主要ツールの挙動
ツール一覧(機能別に整理)
公式は40行超の1枚表ですが、ここでは機能別に整理します。カッコ内は「権限が必要」列の値です。
ファイル操作と検索 Read(いいえ)ファイル内容の読み取り/Write(はい)作成または上書き/Edit(はい)対象を絞った編集/NotebookEdit(はい)Jupyter セルの変更/Glob(いいえ)名前パターンでファイル検索/Grep(いいえ)内容のパターン検索/LSP(いいえ)言語サーバー経由のコードインテリジェンス。
コマンド実行と監視 Bash(はい)シェルコマンド実行/PowerShell(はい)PowerShell をネイティブ実行/Monitor(はい)バックグラウンドで監視し各出力行を Claude に返す。
エージェントとタスク Agent(いいえ)独自のコンテキストウィンドウを持つ subagent を生成/SendMessage(いいえ)agent team メンバーへの送信、または subagent の再開/TaskCreate TaskGet TaskList TaskUpdate TaskOutput TaskStop(すべていいえ)タスクリストとバックグラウンドタスクの管理/TodoWrite(いいえ)v2.1.142 以降は Task 系を優先してデフォルト無効。CLAUDE_CODE_ENABLE_TASKS=0 で再有効化/Workflow(はい)動的ワークフローの実行。
スケジューリング CronCreate CronDelete CronList(すべていいえ)セッションスコープのスケジュール済みタスク(--resume / --continue で復元)/ScheduleWakeup(いいえ)self-paced /loop の次の反復をスケジュール変更(Claude が各反復の終わりに呼ぶもので、直接呼ぶことはない)/RemoteTrigger(いいえ)claude.ai のルーチンを操作。
モードと worktree EnterPlanMode ExitWorktree(いいえ)/ExitPlanMode EnterWorktree(はい)。
Web WebFetch(はい)URL からコンテンツ取得/WebSearch(はい)Web 検索。
MCP 関連 ListMcpResourcesTool ReadMcpResourceTool WaitForMcpServers ToolSearch(すべていいえ)。WaitForMcpServers はツール検索が無効なときだけ現れます——有効なら ToolSearch が待機を処理するからです。
ユーザーとのやり取り・成果物の受け渡し AskUserQuestion(いいえ)複数選択肢の質問/PushNotification(いいえ)デスクトップ/電話通知/SendUserFile(いいえ)ファイルの送信/Artifact(はい)HTML・Markdown を artifact として公開/ShareOnboardingGuide(はい)ONBOARDING.md の共有リンク生成/ReportFindings(いいえ)コードレビュー結果を構造化リストで報告/Skill(はい)メイン会話で skill を実行。
プロバイダー制限が明記されているものを抜き出しておきます。PushNotification・SendUserFile・Monitor・RemoteTrigger は Amazon Bedrock / Google Cloud の Agent Platform / Microsoft Foundry では利用不可(Anthropic ホストのインフラを通るため、あるいは claude.ai 側の機能のため)。ScheduleWakeup はこれらに Claude Platform on AWS を加えた環境で利用不可で、その場合、間隔なしの /loop は固定スケジュールで動きます。Monitor は加えて**DISABLE_TELEMETRY または CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC が設定されていても使えません。**
AskUserQuestion には運用上効く設定があります。質問はデフォルトでアイドルタイムアウトなしに開いたままですが、askUserQuestionTimeout を 60s / 5m / 10m に設定すると自動継続します(/config の Question auto-continue timeout 行でも設定可)。自動で閉じるときは既に選択済みのオプションを送信し、離席の可能性を Claude に伝えるので、Claude は自分の判断で進んで後から聞き直せます。最後の20秒はカウントダウン表示、キー入力とフォーカス報告のあるターミナルのフォーカスでタイマーが再開。そして重要な線引き——タイムアウトは AskUserQuestion の複数選択肢の質問にのみ適用され、権限プロンプト(プラン承認を含む)がアイドルで自動解決されることはありません。
権限ルールの書式
ツール名を書く場所は6つあります。設定の permissions.allow / permissions.deny と /permissions インターフェース、CLI の allowedTools / disallowedTools フラグ、Agent SDK の同名オプション、subagent の tools / disallowedTools frontmatter、skill の allowed-tools frontmatter、フックの if 条件。
すべて同じ ToolName(specifier) 形式を受け付け、複数のツールが形式を共有します。
| ルール形式 | 適用対象 |
|---|---|
Bash(npm run *) | Bash、Monitor |
PowerShell(Get-ChildItem *) | PowerShell |
Read(~/secrets/**) | Read、Grep、Glob、LSP |
Edit(/src/**) | Edit、Write、NotebookEdit |
Skill(deploy *) | Skill |
Agent(Explore) | Agent |
WebFetch(domain:example.com) | WebFetch |
WebSearch | WebSearch(指定子なし) |
ここにないツール(ExitPlanMode や ShareOnboardingGuide など)は、指定子なしのベアツール名のみを受け付けます。
Read と Edit の関係に非対称なルールがあります。Edit(...) の許可ルールは同じパスへの読み取りアクセスも付与するので、対応する Read(...) ルールは不要。逆に**Read(...) の拒否ルールは同じパスの Edit もブロック**し、新規ファイルの作成も含みます(編集には結果の読み取りが必要なため)。この Edit での Read 拒否チェックは v2.1.208 以降。
フックの matcher は括弧付きのルール形式ではなくベアツール名を使う点も忘れやすい差異です。
Agent — subagent の生成
**subagent は別のコンテキストウィンドウで動き、親には単一のテキスト結果だけを返します。親は中間のツール呼び出しも出力も見ません。**ターン数を絞るには subagent 定義の maxTurns。
同じ Agent ツールがフォーク subagent も起動します(フォークモード有効時)。フォークは新規に始める代わりに完全な親会話を継承し、常にバックグラウンドで実行され、ターミナルで権限プロンプトを出します。
名前付き subagent のツール合成は4パターン。どちらも未設定なら親のすべてを継承、tools のみなら列挙したものだけ、disallowedTools のみなら親から除外、両方なら disallowedTools が優先(両方に載っているツールは削除)。
v2.1.208 で入った改善が親切です。tools がまったくツールに解決されない場合(全部誤字、あるいは subagent で使えないツール名)、Agent ツールは起動せず、該当エントリを列挙するエラーを返します。それ以前はツールなしで起動して空か混乱した結果を返しうる——原因が分からない失敗の典型でした。
権限の扱いも明確です。subagent の起動自体はプロンプトを出さず、実行時に subagent 自身のツール呼び出しが権限ルールでチェックされます。v2.1.198 以降、subagent はデフォルトでバックグラウンド実行(結果が必要になる前に続行する必要があるとき、Claude はフォアグラウンドで実行)。バックグラウンド subagent も v2.1.186 以降はメインセッションで権限プロンプトを出し、どの subagent の要求かを表示、Esc はその1つの呼び出しを拒否するだけで subagent を止めません。それ以前は自動拒否してそのツールなしで続行していました。
Bash — 何が引き継がれ、何が消えるか
各コマンドは別プロセスで実行されますが、永続性の扱いが3つに分かれます。
cd は引き継がれます——ただしプロジェクトディレクトリ内、または --add-dir / /add-dir / additionalDirectories で追加した作業ディレクトリ内に留まる限り。外に出るとプロジェクトディレクトリにリセットされ、ツール結果に Shell cwd was reset to <dir> が追加されます。**subagent セッションは作業ディレクトリの変更を引き継ぎません。**引き継ぎ自体を切るなら CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1。
**環境変数は永続化されません。**1つのコマンドの export は次では使えない。
エイリアスとシェル関数は使えます。セッション開始時に~/.zshrc・~/.bashrc・~/.profile のいずれかをソースし、エイリアス・関数・シェルオプションをキャプチャして全 Bash コマンドに適用するからです。
したがって実務的な指針は——virtualenv や conda は Claude Code を起動する前にアクティブ化する。環境変数を永続化したいならCLAUDE_ENV_FILE をシェルスクリプトに設定するか、SessionStart フックで動的に設定します。
制限は2つ。タイムアウトはデフォルト2分、Claude が timeout パラメーターで最大10分までリクエスト可能(BASH_DEFAULT_TIMEOUT_MS / BASH_MAX_TIMEOUT_MS で変更)。出力長はデフォルト30,000文字で、超えると完全な出力をセッションディレクトリのファイルに保存し、Claude にはファイルパスと短いプレビューを渡す(BASH_MAX_OUTPUT_LENGTH で引き上げ可、上限150,000文字)。
長時間実行なら run_in_background: true でバックグラウンドタスク化し、/tasks で一覧・停止。ただし**-p の非対話モードでは、バックグラウンドタスクは実行の最終結果の直後に終了**します。
Edit — 3つのチェック
Edit は正確な文字列置換です。正規表現もあいまい一致も使いません。
適用には3チェックが必要で、その前に**Read 拒否ルールに一致するパスは拒否**されます(新規作成も含む、v2.1.208 以降)。
- 編集前の読み取り:現在の会話でファイルを読んでいること。
PARTIAL view通知で短縮された読み取りはカウントされません。ただしClaude Opus 4.6・Claude Haiku 4.5 およびそれ以前のモデルは常に読み取りが必要で、新しいモデルは、読み取りが権限プロンプトを必要とせず Read ツールが使えるなら、未読ファイルも編集できます。 - マッチ:
old_stringがファイルに書かれたとおり正確に現れること。空白やインデントの1文字違いでも不一致。 - 一意性:
old_stringがちょうど1回現れること。複数なら周囲の文脈を含めて長くするかreplace_all: true。
v2.1.208 で緩和された挙動が実用上大きい。Claude が最後に読んだ後にディスク上で変更されたファイルも、old_string が現在の内容と正確かつ一意に一致し、プロンプトなしで読めるなら編集できます。安全性は現在の内容に対してマッチングすることで担保され、結果にファイルが他の変更を含む旨が示されるので、Claude は周囲に依存する編集の前に読み直します。それ以外(古い old_string、replace_all なしの複数マッチなど)は読み直してから編集します。
そして見落としやすい仕様——Bash でファイルを表示することが「編集前の読み取り」を満たす場合があります。条件はcat・head・tail・sed -n 'X,Yp'・grep・egrep・fgrep のいずれかで、パイプやリダイレクトなしの単一ファイルに対して実行されたとき。パイプ出力やその他の Bash コマンドはカウントされません。
ただしこれは編集の適格性にのみ影響し、権限には影響しません。Read / Edit の拒否ルールはClaude Code が認識する Bash のファイルコマンドにも適用されますが、Python や Node スクリプトが自分でファイルを開くような間接的な読み書きには適用されません。(細かい非対称として、egrep と fgrep は読み取り前編集ではカウントされるが、Read 拒否ルールに対してはチェックされません。)全プロセスをカバーする OS レベルの強制が欲しいならサンドボックスです。
Glob と Grep — gitignore の扱いが逆
Glob は名前で、Grep は中身で探します。
Glob は ** を含む標準 glob 構文。結果は変更時刻でソートされ、100ファイルで制限され、制限に達すると切り詰めフラグが付くので Claude はパターンを絞れます。そして重要な差異——Glob はデフォルトで .gitignore を尊重しません(gitignore されたファイルも見つかる)。尊重させたいなら起動前に CLAUDE_CODE_GLOB_NO_IGNORE=false。
Grep は ripgrep ベースで、POSIX grep ではなく ripgrep の正規表現構文を使います。メタ文字はエスケープが必要——Go の interface{} を探すなら interface\{\}。そしてGrep は .gitignore を尊重する(gitignore されたファイルはスキップ、探したければパスを直接渡す)。Glob と逆なので混同注意です。
出力モードは3つ。files_with_matches(デフォルト、パスのみ)・content(ファイルと行番号付きの一致行)・count(ファイルごとの件数と全体合計)。合計についての細かい修正があり、head_limit や offset でエントリがトリミングされても、合計はすべての一致をカバーします(v2.1.208 より前はリストされた分だけ合計していた)。
スコープ指定は glob パラメーター(**/*.tsx)か type パラメーター(py、rust)。デフォルトは単一行内の一致で、multiline: true で行境界をまたげます。
v2.1.208 のもうひとつの改善——ripgrep が拒否するパターン・glob・ファイルタイプは、ripgrep の診断を含むエラーを返すようになりました。それ以前は、対象ファイルにテキストが存在していても No files found と報告していた——これは相当に紛らわしい挙動でした。
LSP
言語サーバーからコードインテリジェンスを供給します。ファイル編集後に型エラーと警告を自動報告するので、**別のビルドステップなしに問題を直せます。**Claude が直接呼べる操作は6つ——定義へのジャンプ、参照の検索、位置の型情報、ファイル内シンボルの一覧、ワークスペース全体でのシンボル検索、インターフェース実装の検索、呼び出し階層のトレース。
言語のコードインテリジェンスプラグインを入れるまでツールは非アクティブで、プラグインは構成をバンドルするだけ、サーバーバイナリは別途インストール(第55・57・61回と同じ)。
Monitor — 会話を止めずに見張る
バックグラウンドで何かを監視し、変わったら対応させるツールです。用途はログのテールとエラーのフラグ立て、PR や CI ジョブのポーリング、ディレクトリのファイル変更監視、長時間実行スクリプトの出力追跡、WebSocket フィードの各メッセージ報告。
多くの場合 Claude が小さな監視スクリプトを書いてバックグラウンド実行し、到着した各出力行を受け取ります。イベントをプッシュするサーバーならスクリプトの代わりに WebSocket を開けます。
同じセッションで作業を続けられ、イベントが来ると Claude が割り込みます。止めるにはClaude にキャンセルを頼むか、セッションを終える。
権限はMonitor がコマンドを実行する場合、Bash と同じルールを使います(Bash 用の allow / deny がそのまま効く)。
WebSocket ソース(v2.1.195 以降)の挙動は4分岐です。テキストメッセージは1件が1イベント(複数行にまたがっても同じ)、バイナリメッセージは渡されず [binary frame, 512 bytes] のようなプレースホルダー行、1 MiB を超えるメッセージは監視を終了(フィルタ済みフィードがあればそれを購読すべき)、ソケットクローズも監視を終了しクローズコードが渡されます。
入力は command の代わりに ws を使い(両方を1呼び出しで組み合わせられない)、フィールドは url(必須、ws:// か wss://、埋め込み認証情報・空白なし・ASCII のみ)と protocols(任意、有効なサブプロトコルトークンで重複不可)。
セキュリティも厳しめです。WebSocket を開くと承認プロンプトが出て、「同じホストの今後のプロンプトをスキップ」の選択肢はありません。そしてプライベート・リンクローカル・クラウドメタデータのアドレスを指すホスト名は拒否、sandbox.network.deniedDomains のホストも拒否、管理設定で allowManagedDomainsOnly があれば許可リスト外も拒否。
なおプラグインは、Claude に頼まずとも自動起動する Monitor を宣言できます(第55・61回)。
NotebookEdit / PowerShell / Read / Write
NotebookEdit はセル単位で、cell_id で対象を指定します。ノートブック全体で文字列置換はしません。モードは3つ——replace(デフォルト、ソースを上書き)、insert(対象の後に追加。cell_id がなければノートブック先頭へ。cell_type を code か markdown に設定必須)、delete。権限ルールは Edit(...) のパス形式を使います。
PowerShell の可用性はプラットフォームで異なります。Git Bash がない Windows は自動有効、Git Bash がある Windows は段階的ロールアウト、Linux / macOS / WSL はオプトイン。有効化は CLAUDE_CODE_USE_POWERSHELL_TOOL=1 で、settings.json にも書けます。
{
"env": {
"CLAUDE_CODE_USE_POWERSHELL_TOOL": "1"
}
}
Windows では 0 に設定してロールアウトをオプトアウトでき、Linux / macOS / WSL では PowerShell 7 以降(pwsh)が PATH に必要です。Windows では**pwsh.exe を自動検出し、なければ PowerShell 5.1 の powershell.exe にフォールバック**。有効時、Claude は PowerShell をプライマリシェルとして扱い、Git Bash があれば Bash ツールは POSIX スクリプト用に残ります。
実行ポリシーの扱いが丁寧です。-ExecutionPolicy Bypass をプロセススコープのみで使うので、マシンのポリシーを変えずに .ps1 とモジュールインポートが動く。そしてプロセススコープのバイパスはグループポリシーの MachinePolicy / UserPolicy を上書きしないのでエンタープライズポリシーは効いたまま。マシンの有効ポリシーを尊重させたいなら CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1。
シェル選択の追加設定が3つ——settings.json の "defaultShell": "powershell"(対話型 ! コマンド)、個別コマンドフックの "shell": "powershell"(フックは PowerShell を直接生成するので CLAUDE_CODE_USE_POWERSHELL_TOOL に関係なく動く)、skill frontmatter の shell: powershell。前者2つ以外はツール有効化が前提です。
v2.1.196 の改善として、grep・egrep・fgrep・git grep の終了コード1(一致なし)と git diff の終了コード1(差分あり)を、コマンド失敗として報告しなくなりました(Bash ツールと挙動が揃った)。プレビュー中の既知の制限は、PowerShell プロファイルがロードされないことと、Windows でサンドボックス非対応であること。
Read は行番号付きで内容を返し、Claude は常に絶対パスを渡すよう指示されます。全ファイル読み取りがトークン制限を超えると、最初のページを PARTIAL view 通知付きで返し、offset と limit でさらに読む方法を伝えます。ただし明示的な offset / limit を渡した読み取りが制限を超えるとエラー。v2.1.208 の改善で、明示 limit の読み取りは制限に収まらないと分かった時点で停止してエラーを返すようになりました——それ以前は範囲全体をメモリに読み込んでから拒否していたため、非常に長い単一行を持つファイルがメモリを枯渇させえた。
ファイルタイプ別の扱いは3つ。画像は生バイトではなく Claude が見えるビジュアルコンテンツとして返り、大きな画像はモデルの画像サイズ制限に合わせてリサイズ・再圧縮されます(v2.1.196 以降、リサイズ後も 500KB を超えるものはピクセル寸法を変えずに品質を落とした JPEG に再エンコード)。細部を見落とすようなら、ImageMagick で関心領域を先にトリミングするよう頼むのが対処です。PDF は短ければ全体、10ページを超えるものは pages パラメーター("1-5" など)で範囲指定、一度に最大20ページ。Jupyter ノートブックは全セルと出力を返します。
Read はファイルのみでディレクトリは読みません(ls を Bash 経由で使う)。空ファイルは**「存在するが内容が空」の通知**、最終行を超えた offset はファイルの行数を示す通知を返します(どちらも v2.1.208 以降の挙動)。
Write は完全な内容での作成または上書きで、追加やマージはしません。****既存ファイルが対象なら、現在の会話で少なくとも1回読んでいる必要があり、未読の既存ファイルへの Write はエラー(新規ファイルには適用されません)。**Bash での表示が読み取り要件を満たす条件は Edit と同じ。**部分的な変更には Write ではなく Edit を使います。
WebFetch と WebSearch
WebFetch は「設計上損失がある」——ここが最重要です。仕組みはこうです。**URL と抽出プロンプトを取り、ページを取得し、HTML なら Markdown に変換し、小さく高速なモデルでプロンプトを実行する。Claude が受け取るのは、生のページではなくそのモデルの回答です。**変換ステップは構成不可。
したがって公式が明言する帰結——「ページがそれについて言及していない」という結果は、単にプロンプトがそれについて尋ねなかっただけかもしれない。対処はもっと具体的なプロンプトで再フェッチさせるか、Bash の curl で未処理のページを取る。
その他の挙動が4つ。HTTP URL は自動的に HTTPS にアップグレード/大きなページは処理前に固定文字制限で切り詰め/応答は15分キャッシュ/別ホストへのリダイレクトは追わず、元 URL とリダイレクト先を名指しするテキスト結果を返す(Claude が2回目の呼び出しで取りに行く)。
権限はデフォルトと acceptEdits モードで、新しいドメインへの初回アクセス時にプロンプト。事前許可は WebFetch(domain:example.com)。auto と bypassPermissions はプロンプトを完全にスキップ。そして明示的な WebFetch(domain:...) ルールは deny / ask / allow のいずれにあっても事前承認セットより優先するので、事前承認済みドメインをブロックしたり、そこにプロンプトを要求したりできます。
送信ヘッダーも書かれています。User-Agent は Claude-User で始まり、Accept は HTML より Markdown を優先するので、コンテンツネゴシエーション対応サーバーは Markdown を直接返せます。なおサンドボックスのネットワークルールは別途構成が必要です。
WebSearch はAnthropic の web search バックエンドにクエリを投げ、タイトルと URL を返します。ページはフェッチしません(読むなら WebFetch でフォローアップ)。1回の呼び出しで最大8つのバックエンド検索を発行し、内部的に検索を絞り込む場合があります。****allowed_domains か blocked_domains でスコープでき、2つは1回の呼び出しで組み合わせられません。****バックエンドは構成不可で、別プロバイダーを使うなら MCP サーバー。権限ルールは指定子を取らず、ベアの WebSearch のみ。
可用性の差も明記されています。Claude API・Claude Platform on AWS・Microsoft Foundry で利用可能。Google Cloud の Agent Platform では Claude 4 以降のモデル(Opus / Sonnet / Haiku)で機能。Amazon Bedrock はサーバー側の Web 検索ツールを公開していません。
実際に何が使えるか確かめる
**正確なツールセットはプロバイダー・プラットフォーム・設定で変わります。**確認方法はシンプルです。
What tools do you have access to?
**Claude が会話形式の概要を返します。**正確な MCP ツール名は /mcp。
4. まとめ + 次回予告
- ツール名は権限ルール・subagent の
tools・フックマッチャーで使う正確な文字列。無効化はdeny配列に名前を書く。 - 「権限が必要」列は絶対ではない。
Read/Grep/Globは作業ディレクトリ外でプロンプトを出し、Bashは読み取り専用コマンドをプロンプトなしで実行する。 - ルール形式は複数ツールで共有——
Read(...)は Grep・Glob・LSP にも、Edit(...)は Write・NotebookEdit にも、Bash(...)は Monitor にも効く。 Edit(...)許可は読み取りも付与し、Read(...)拒否は Edit(新規作成含む)もブロックする(v2.1.208 以降)。- Agent:親は最終結果だけを見る。
toolsとdisallowedToolsの両方があれば後者が優先。****v2.1.198 以降デフォルトはバックグラウンドで、バックグラウンドでも権限プロンプトは出る(v2.1.186 以降)。 - Bash:
cdは引き継ぐが環境変数は消える。エイリアスと関数は使える(起動時に rc をソースするため)。タイムアウト2分/最大10分、出力30,000文字/上限150,000文字。 - Edit の3チェックは編集前の読み取り・完全一致・一意性。
cat/head/tail/sed -n/grep系の単一ファイル表示が読み取り要件を満たす。 - **Glob は
.gitignoreを尊重せず、Grep は尊重する。**逆なので注意。Grep は ripgrep 構文(interface\{\})。 - Monitor は Bash と同じ権限ルール。WebSocket ソースはホスト単位のスキップ選択肢がない承認プロンプトと、プライベート/メタデータアドレスの拒否。
- Read の画像は自動リサイズ・再圧縮される。細部が要るなら先にトリミング。PDF は10ページ超で
pages指定、一度に20ページまで。 - WebFetch は設計上損失がある。小型モデルが抽出した回答が返る。「言及がない」は「聞かなかった」かもしれない。
PushNotification/SendUserFile/Monitor/RemoteTriggerはサードパーティプロバイダーで使えない。ScheduleWakeupも同様(/loopは固定スケジュールになる)。- advisor は Claude Code のツールではなく API のサーバーツールで、権限ルールで参照できる名前がない。
- 実際のセットはClaude に直接聞くのが確実。MCP は
/mcp。
次回予告(暫定):EnterWorktree / ExitWorktree の背景である **git worktree(worktrees)**を取り上げ、分離されたワークツリーでの作業、.claude/worktrees/ の扱い、subagent の isolation: worktree との関係を扱う予定です。

何か質問や相談があれば、コメントをお願いします。また、エンジニア案件の相談にも随時対応していますので、お気軽にお問い合わせください。
それでは、また明日お会いしましょう(^^)

コメント