Skip to main content
Claude Code は、コードベースを理解および変更するのに役立つ組み込みツールのセットにアクセスできます。ツール名は、権限ルールsubagent ツールリスト、およびフック マッチャーで使用する正確な文字列です。ツールを完全に無効にするには、権限設定deny 配列にその名前を追加します。 カスタム ツールを追加するには、MCP サーバーを接続します。再利用可能なプロンプトベースのワークフローで Claude を拡張するには、skillを作成します。これは新しいツール エントリを追加するのではなく、既存の Skill ツールを通じて実行されます。 Permission required 列は、ツールが作業ディレクトリ内のパスに対してデフォルト権限モードでプロンプトを表示するかどうかを示します。ReadGrepGlob を含むファイル アクセス ツールは No とマークされていますが、作業ディレクトリと追加ディレクトリ外のパスに対してはプロンプトを表示します。Bash は Yes とマークされていますが、プロンプトなしで組み込みの読み取り専用コマンドセットを実行します。

権限ルールとフックでツールを構成する

ほとんどの場合、Claude はこれらのツールをいつ使用するかを決定し、Claude と対話するときにツール名を自分で指定する必要はありません。権限およびその他の構成を定義するときにツール名を直接参照します: これらはすべて同じルール形式 ToolName(specifier) を受け入れます。指定子はツールによって異なり、複数のツールが形式を共有します: ここにリストされていないツール(ExitPlanModeShareOnboardingGuide など)は、指定子なしのベア ツール名のみを受け入れます。 Edit(...) 許可ルールは同じパスへの読み取りアクセスも付与するため、一致する Read(...) ルールは必要ありません。Read(...) 拒否ルールは同じパスの Edit ツールもブロックします。これには新しいファイルの作成も含まれます。編集には結果の読み取りが必要なためです。Edit での Read 拒否チェックには Claude Code v2.1.208 以降が必要です。 フック matcher フィールドは括弧で囲まれたルール形式ではなく、ベア ツール名を使用します。マッチャー パターンのマッチング ルールを参照してください。各ツールがフック内の tool_input に渡すフィールド名については、PreToolUse 入力リファレンスを参照してください。

Agent ツールの動作

Agent ツールは、別のコンテキストウィンドウで subagent を生成します。Subagent はそのタスクを自律的に処理し、親会話に単一のテキスト結果を返します。親は subagent の中間ツール呼び出しまたは出力を見ず、その最終結果のみを見ます。 Subagent が実行するターン数を制限するには、subagent 定義maxTurns を設定します。 同じ Agent ツールは、フォーク モードが有効な場合にフォーク subagentも起動します。フォークは新規に開始する代わりに完全な親会話を継承し、常にバックグラウンドで実行され、ターミナルで権限プロンプトを表示します。このセクションの残りは名前付き subagent について説明します。 名前付き subagent が使用できるツールは、subagent 定義tools および disallowedTools フィールドに依存します:
  • どちらのフィールドも設定されていない:subagent は親が利用可能なすべてのツールを継承します。
  • tools のみ:subagent はリストされたツールのみを取得します。
  • disallowedTools のみ:subagent は親のすべてのツール(リストされたもの除く)を取得します。
  • 両方設定disallowedTools が優先されます。両方にリストされているツールは削除されます。
Subagent の tools リストがまったくツールに解決されない場合(例えば、すべてのエントリが誤字であるか、subagent で利用できないツールに名前を付けている場合)、Agent ツールは subagent を起動する代わりに、それらのエントリをリストするエラーを返します。v2.1.208 より前は、subagent はツールなしで起動し、空または混乱した結果を返す可能性がありました。 Subagent を起動しても、それ自体は権限を求めるプロンプトを表示しません。Claude Code は、実行時に subagent の独自のツール呼び出しを権限ルールに対してチェックします。 v2.1.198 以降、subagent はデフォルトでバックグラウンドで実行されます。Claude は結果が必要になる前に続行する必要がある場合、フォアグラウンドで実行します。
  • フォアグラウンド subagent は、メイン会話で見られるのと同じ権限プロンプトを表示し、各ツール呼び出しが発生した時点で表示されます。
  • バックグラウンド subagent は v2.1.186 以降、メイン セッションで権限プロンプトを表示します。プロンプトはどの subagent がリクエストしているかを示し、Esc キーを押すとその 1 つのツール呼び出しを拒否し、subagent を停止しません。v2.1.186 より前は、バックグラウンド subagent は、そうでなければプロンプトを表示するツール呼び出しを自動的に拒否し、そのツールなしで続行していました。
Subagent が最初に到達できるものを制限するには、その tools フィールドを絞り込み、Bash をリストから外すか、Subagent 機能の制御で説明されているように設定で拒否ルールを設定します。フォアグラウンドとバックグラウンドの選択の詳細については、Subagent をフォアグラウンドまたはバックグラウンドで実行を参照してください。

Bash ツールの動作

Bash ツールは、次の永続化動作で各コマンドを別々のプロセスで実行します:
  • Claude がメイン セッションで cd を実行すると、新しい作業ディレクトリはプロジェクト ディレクトリ内に留まる限り、または --add-dir/add-dir、または設定の additionalDirectories で追加した追加の作業ディレクトリ内に留まる限り、後の Bash コマンドに引き継がれます。Subagent セッションは作業ディレクトリの変更を引き継ぎません。
    • cd がこれらのディレクトリの外に出た場合、Claude Code はプロジェクト ディレクトリにリセットし、ツール結果に Shell cwd was reset to <dir> を追加します。
    • この引き継ぎを無効にして、すべての Bash コマンドがプロジェクト ディレクトリで開始されるようにするには、CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1 を設定します。
  • 環境変数は永続化されません。1 つのコマンドの export は次のコマンドでは利用できません。
  • シェル スタートアップ ファイルで定義されたエイリアスとシェル関数は利用できます。セッション開始時に、Claude Code はシェルに応じて ~/.zshrc~/.bashrc、または ~/.profile をソースし、結果のエイリアス、関数、およびシェル オプションをキャプチャして、すべての Bash コマンドに適用します。
Claude Code を起動する前に virtualenv または conda 環境をアクティブ化してください。Bash コマンド間で環境変数を永続化するには、Claude Code を起動する前に CLAUDE_ENV_FILE をシェル スクリプトに設定するか、SessionStart フックを使用して動的に設定します。 2 つの制限が各コマンドを制限します:
  • タイムアウト:デフォルトでは 2 分です。Claude は timeout パラメーターで 1 コマンドあたり最大 10 分をリクエストできます。BASH_DEFAULT_TIMEOUT_MSBASH_MAX_TIMEOUT_MSでデフォルトと上限をオーバーライドします。
  • 出力長:デフォルトでは 30,000 文字です。コマンドがそれ以上を生成する場合、Claude Code は完全な出力をセッション ディレクトリのファイルに保存し、Claude にファイル パスと開始からの短いプレビューを提供します。Claude は必要に応じてそのファイルを読み取るか検索します。BASH_MAX_OUTPUT_LENGTHで制限を上げます。上限は 150,000 文字です。
開発サーバーやウォッチ ビルドなどの長時間実行プロセスの場合、Claude は run_in_background: true を設定して、コマンドをバックグラウンド タスクとして開始し、実行中に作業を続けることができます。/tasks でバックグラウンド タスクをリストおよび停止します。非インタラクティブ モードで -p フラグを使用する場合、バックグラウンド タスクは実行の最終結果の直後に終了します

Edit ツールの動作

Edit ツールは正確な文字列置換を実行します。old_stringnew_string を取り、最初のものを 2 番目のものに置き換えます。正規表現またはあいまい一致は使用しません。 編集を適用するには、3 つのチェックが合格する必要があります。その前に、Read 拒否ルールに一致するパスは拒否されます。これには新しいファイルをそこに作成することも含まれます。この拒否には Claude Code v2.1.208 以降が必要です。
  • 編集前の読み取り:Claude は現在の会話でファイルを読み取っている必要があり、PARTIAL ビュー 通知で短縮された読み取りはカウントされません。Claude Opus 4.6、Claude Haiku 4.5、およびそれ以前のモデルは常に読み取りが必要です。新しいモデルは、読み取りが権限プロンプトを必要とせず、Read ツールが利用可能な場合、未読ファイルを編集できます。
  • マッチold_string はファイルに正確に記述されたとおりに表示される必要があります。空白またはインデントの 1 文字の違いでも不一致になります。
  • 一意性old_string は正確に 1 回表示される必要があります。複数回表示される場合、Claude は 1 つの出現を特定するのに十分な周囲コンテキストを含む長い文字列を提供するか、replace_all: true を設定してすべてを置き換えます。
Claude が最後に読み取った後、ディスク上で変更されたファイルは、old_string が現在のコンテンツと正確かつ明確に一致し、Claude Code がプロンプトなしでファイルを読み取ることができる場合でも編集できます。ファイルの現在のコンテンツに対してマッチングすることでこれを安全に保ち、結果はファイルが他の変更を含むことを示すため、Claude は周囲のコンテンツに依存する編集の前に再度読み取ります。古い old_stringreplace_all なしで複数回マッチするものなど、その他の場合は、Claude は編集する前にファイルを再度読み取ります。未読および変更されたファイルの緩和された処理には Claude Code v2.1.208 以降が必要です。それ以前は、Claude Code は会話で読み取っていないファイルまたは読み取り後にディスク上で変更されたファイルへの編集を拒否していました。 Bash でファイルを表示することは、コマンドが catheadtailsed -n 'X,Yp'grepegrep、または fgrep である場合、パイプやリダイレクトのない単一ファイルに対して、編集前の読み取り要件を満たします。パイプ出力およびその他の Bash コマンドは編集前の読み取りチェックにはカウントされません。 これは編集の適格性にのみ影響し、権限には影響しません。Read および Edit 拒否ルールは、Claude Code が catheadtailsedgrep などの Bash で認識するファイルコマンドにも適用されますが、Python または Node スクリプトがファイルを自分で開くなど、ファイルを間接的に読み取るまたは書き込む任意のサブプロセスには適用されません。読み取り前編集リストの egrepfgrep は読み取り前編集ではカウントされますが、Read 拒否ルールに対してはチェックされません。すべてのプロセスをカバーする OS レベルの強制については、サンドボックスを有効にするを参照してください。

Glob ツールの動作

Glob ツールはファイルを名前パターンで検索します。** を含む標準 glob 構文をサポートして、再帰的なディレクトリ マッチングを行います:
  • **/*.js は任意の深さのすべての .js ファイルにマッチします
  • src/**/*.tssrc/ の下のすべての .ts ファイルにマッチします
  • *.{json,yaml} は現在のディレクトリの .json および .yaml ファイルにマッチします
結果は変更時刻でソートされ、100 ファイルで制限されます。制限に達した場合、Claude は結果に切り詰めフラグを見て、パターンを絞り込むことができます。 Glob はデフォルトで .gitignore を尊重しないため、追跡されたファイルと並んで gitignore されたファイルを検出します。これは Grep とは異なり、gitignore されたファイルをスキップします。Glob が .gitignore を尊重するようにするには、Claude Code を起動する前に CLAUDE_CODE_GLOB_NO_IGNORE=false を設定します。 pattern または path の値に null バイトが含まれている場合、Claude にそれを削除するよう求めるエラーが返されます。

Grep ツールの動作

Grep ツールはファイル コンテンツ内のパターンを検索します。Globがファイルを名前で検索する場合、Grep はそれらの内部の行を検索します。 Grep は ripgrepに基づいており、POSIX grep ではなく ripgrep の正規表現構文を使用します。正規表現メタ文字を含むパターンはエスケープが必要です。たとえば、Go コードで interface{} を検出するには、パターン interface\{\} が必要です。 ripgrep が拒否するパターン、glob、またはファイル タイプは、ripgrep の診断を含むエラーを返すため、Claude は入力を修正して再度検索できます。v2.1.208 より前では、Claude Code は拒否された入力を、検索対象のテキストが対象ファイルに存在する場合でも、エラーではなく No files found として報告していました。 3 つの出力モードは、戻ってくるものを制御します:
  • files_with_matches:ファイル パスのみ、行コンテンツなし。これがデフォルトです。
  • content:ファイルと行番号を含む一致する行。
  • count:ファイルごとの一致数。その後、すべての一致ファイル全体の合計。合計は、ツールの head_limit または offset パラメーターがファイルごとのエントリをトリミングする場合でも、すべての一致をカバーします。v2.1.208 より前では、合計はリストされたエントリのみを合計していました。
Claude は **/*.tsx などの glob パラメーターでファイルごとに結果をスコープするか、py または rust などの type パラメーターで言語ごとにスコープできます。デフォルトでは、パターンは単一行内で一致します。Claude は multiline: true を設定して、行の境界を越えて一致させることができます。 Grep は .gitignore を尊重するため、gitignore されたファイルはスキップされます。gitignore されたファイルを検索するには、Claude はそのパスを直接渡します。

LSP ツールの動作

LSP ツールは、実行中の言語サーバーから Claude にコード インテリジェンスを提供します。ファイル編集後、型エラーと警告を自動的に報告するため、Claude は別のビルド ステップなしで問題を修正できます。Claude はナビゲーション操作のために直接呼び出すこともできます:
  • シンボルの定義へのジャンプ
  • シンボルへのすべての参照を検索
  • 位置での型情報を取得
  • ファイル内のシンボルをリスト
  • ワークスペース全体でシンボルを名前で検索
  • インターフェイスの実装を検索
  • 呼び出し階層をトレース
ツールは、言語のコード インテリジェンス プラグインをインストールするまで非アクティブです。プラグインは言語サーバー構成をバンドルし、サーバー バイナリは別途インストールします。

Monitor ツール

Monitor ツールを使用すると、Claude は会話を一時停止することなく、バックグラウンドで何かを監視し、変更時に対応できます。Claude に以下を依頼します:
  • ログ ファイルをテールして、エラーが表示されたらフラグを立てる
  • PR または CI ジョブをポーリングして、ステータスが変更されたときに報告する
  • ディレクトリのファイル変更を監視する
  • 指定した長時間実行スクリプトからの出力を追跡する
  • WebSocket フィードに接続し、到着した各メッセージを報告する
ほとんどの監視では、Claude は監視用の小さなスクリプトを作成し、バックグラウンドで実行し、到着した各出力行を受け取ります。イベントをプッシュするサーバーの場合、Claude はスクリプトを実行する代わりに、WebSocket を開くことができます。 同じセッションで作業を続け、イベントが到着すると Claude が割り込みます。Claude にキャンセルするよう依頼するか、セッションを終了することで Monitor を停止します。 Monitor がコマンドを実行する場合、Bash と同じ権限ルールを使用するため、Bash に設定した allow および deny パターンがここにも適用されます。WebSocket ソースには独自の承認プロンプトがあります。 このツールは Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません。DISABLE_TELEMETRY または CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC が設定されている場合も利用できません。 プラグインは、Claude に開始するよう依頼する代わりに、プラグインがアクティブな場合に自動的に開始される Monitor を宣言できます。プラグイン Monitorを参照してください。

WebSocket ソース

WebSocket ソースには Claude Code v2.1.195 以降が必要です。
サーバーが既に WebSocket 経由でイベントをプッシュしている場合、Claude はポーリング スクリプトを作成する代わりに、直接接続できます。各種のソケット アクティビティはイベントになるか、監視を終了します:
  • テキスト メッセージ:各メッセージが 1 つのイベントになります。メッセージが複数行にまたがる場合でも同じです。
  • バイナリ メッセージ:渡されません。Claude は [binary frame, 512 bytes] などのプレースホルダー行を受け取ります。
  • 1 MiB より大きいメッセージ:監視が終了するため、フィルタリングされたフィードが存在する場合はそれにサブスクライブしてください。
  • ソケット クローズ:監視が終了し、Claude はクローズ コードを受け取ります。
WebSocket 監視は command の代わりに ws 入力を使用し、1 つの Monitor 呼び出しで両方を組み合わせることはできません。ws 入力には 2 つのフィールドがあります: timeout_ms および persistent 入力は、コマンドの場合と同じように動作します。persistent が設定されていない限り、監視は期限で終了し、TaskStop は早期にキャンセルします。 WebSocket を開くと承認を求めるプロンプトが表示され、プロンプトは同じホストの今後のプロンプトをスキップするオプションを提供しません。 Claude Code は、プライベート、リンク ローカル、またはクラウド メタデータ アドレスを指すホスト名を含む URL を拒否します。また、sandbox.network.deniedDomains 内のホストも拒否し、マネージド設定で allowManagedDomainsOnly が設定されている場合は、マネージド許可リスト外のホストを拒否します。

NotebookEdit ツールの動作

NotebookEdit は、Jupyter ノートブックを 1 回に 1 セル、cell_id でセルをターゲットにして変更します。Editがプレーン ファイルで行うようにノートブック全体で文字列置換を実行しません。 3 つの編集モードは、ターゲット セルに何が起こるかを制御します:
  • replace:セルのソースを上書きします。これがデフォルトです。
  • insert:ターゲットの後に新しいセルを追加します。cell_id がない場合、新しいセルはノートブックの開始に移動します。cell_typecode または markdown に設定する必要があります。
  • delete:ターゲット セルを削除します。
権限ルールは Edit(...) パス形式を使用します。Edit(notebooks**) のようなルールは、そのディレクトリ内のファイルに対する NotebookEdit 呼び出しをカバーします。

PowerShell ツール

PowerShell ツールを使用すると、Claude は PowerShell コマンドをネイティブに実行できます。Windows では、これは Git Bash を経由するのではなく、PowerShell でコマンドが実行されることを意味します。ツールが利用可能になる方法はプラットフォームによって異なります:
  • Git Bash がない Windows:ツールは自動的に有効になります。
  • Git Bash がインストールされている Windows:ツールは段階的にロールアウトされています。
  • Linux、macOS、および WSL:ツールはオプトインです。

PowerShell ツールを有効にする

環境または settings.jsonCLAUDE_CODE_USE_POWERSHELL_TOOL=1 を設定します:
Windows では、変数を 0 に設定してロールアウトをオプトアウトします。Linux、macOS、および WSL では、ツールに PowerShell 7 以降が必要です:pwsh をインストールして、PATH に含まれていることを確認します。 Windows では、Claude Code は PowerShell 7 以降の pwsh.exe を自動検出し、PowerShell 5.1 の powershell.exe にフォールバックします。ツールが有効になっている場合、Claude は PowerShell をプライマリシェルとして扱います。Git Bash がインストールされている場合、Bash ツールは POSIX スクリプト用に利用可能なままです。 Claude Code は -ExecutionPolicy Bypass を使用して PowerShell をプロセススコープのみで生成するため、.ps1 スクリプトとモジュールのインポートは、マシンのポリシーを変更することなく、デフォルトの Windows インストールで機能します。プロセススコープのバイパスは、グループ ポリシーの MachinePolicy または UserPolicy をオーバーライドしないため、エンタープライズポリシーは引き続き適用されます。マシンの有効な実行ポリシーを尊重する代わりに、CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1 を設定します。

設定、フック、スキルでのシェル選択

3 つの追加設定は PowerShell が使用される場所を制御します:
  • settings.json"defaultShell": "powershell":対話型 ! コマンドを PowerShell 経由でルーティングします。PowerShell ツールが有効になっている必要があります。
  • 個別のコマンド フック"shell": "powershell":そのフックを PowerShell で実行します。フックは PowerShell を直接生成するため、CLAUDE_CODE_USE_POWERSHELL_TOOL に関係なく機能します。
  • skill frontmattershell: powershell!`command` ブロックを PowerShell で実行します。PowerShell ツールが有効になっている必要があります。
Bash ツール セクションで説明されている同じメイン セッション作業ディレクトリ リセット動作が PowerShell コマンドに適用されます。これには CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR 環境変数が含まれます。 v2.1.196 以降、PowerShell ツールは Bash ツールの検索および diff 終了コードの処理と一致します。grepegrepfgrep、および git grep からの終了コード 1 は一致がないことを意味し、git diff からの終了コード 1 は差分が存在することを意味するため、これらの結果は Claude へのコマンド失敗として報告されません。

プレビューの制限事項

PowerShell ツールには、プレビュー中に次の既知の制限事項があります:
  • PowerShell プロファイルはロードされません
  • Windows では、サンドボックスはサポートされていません

Read ツールの動作

Read ツールはファイル パスを取得し、行番号付きでコンテンツを返します。Claude は常に絶対パスを渡すよう指示されます。 デフォルトでは、Read は開始からファイルを返します。全ファイル読み取りがトークン制限を超える場合、Read は最初のページを PARTIAL view 通知付きで返し、Claude がファイルのどの部分を受け取ったか、および offsetlimit を使用してさらに読み取る方法を伝えます。明示的な offset または limit を渡す読み取りがトークン制限を超える場合でも、エラーを返します。 明示的な limit を指定した読み取りは、選択された行がトークン制限で収まる可能性のある量を超えるとすぐに停止し、残りの範囲を読み込まずにエラーを返します。エラーは Claude に、より小さい limit を使用するか、単一行が大きい場合は代わりに Grep で特定のコンテンツを検索するよう指示します。v2.1.208 より前では、Claude Code は範囲全体をメモリに読み込んでから拒否していたため、非常に長い単一行を持つファイルはメモリを枯渇させる可能性がありました。 空のファイルを読み取ると、ファイルは存在するがコンテンツが空であることを示す通知が返され、最後の行を超えた offset は、ファイルの行数を示す通知を返します。v2.1.208 より前では、空のファイルを読み取ると、末尾を超えた通知が返されていました。 Read はプレーン テキストを超えるいくつかのファイル タイプを処理します:
  • 画像:PNG、JPG、およびその他の画像形式は、生バイトではなく Claude が見ることができるビジュアル コンテンツとして返されます。Claude Code は大きな画像をモデルの画像サイズ制限に合わせるようにサイズ変更および再圧縮するため、Claude は大きなスクリーンショットのダウンスケール版を見る場合があります。v2.1.196 以降、そのサイズ変更後も 500KB より大きい画像は、ピクセル寸法を変更せずに品質を低下させた JPEG として再エンコードされます。Claude が大きな画像で細かいピクセル レベルの詳細を見落とす場合は、ImageMagick を使用して Bash 経由で関心領域を最初にトリミングするよう依頼してください。
  • PDF:Claude は短い .pdf ファイルを全体的に読み取ります。10 ページより長い PDF の場合、pages パラメーター("1-5" など)で範囲で読み取り、一度に最大 20 ページまで読み取ります。
  • Jupyter ノートブック.ipynb ファイルは、コード、マークダウン、ビジュアライゼーションを含む、すべてのセルとその出力を返します。
Read はファイルのみを読み取り、ディレクトリは読み取りません。Claude は Bash ツール経由で ls を使用してディレクトリ コンテンツをリストします。

WebFetch ツールの動作

WebFetch は URL と抽出する内容を説明するプロンプトを取得します。ページを取得し、サーバーが HTML を返す場合は応答を Markdown に変換し、小さく高速なモデルを使用してコンテンツに対してプロンプトを実行します。ほとんどのフェッチでは、Claude はそのモデルの回答を受け取り、生のページではなく受け取ります。変換ステップは構成不可です。 これにより WebFetch は設計上損失があります。抽出プロンプトは Claude に到達するものを決定するため、ページが何かについて言及していないという結果は、プロンプトがそれについて尋ねなかったことのみを意味する場合があります。Claude にもっと具体的なプロンプトで再度フェッチするよう依頼するか、Bash 経由で curl を使用して未処理のページを取得します。 いくつかの動作は Claude が受け取る応答を形成します:
  • HTTP URL は自動的に HTTPS にアップグレードされます。
  • 大きなページは処理前に固定文字制限に切り詰められます。
  • 応答は 15 分間キャッシュされるため、同じ URL の繰り返しフェッチは迅速に返されます。
  • URL が別のホストにリダイレクトされる場合、WebFetch はそれに従う代わりに、元の URL とリダイレクト ターゲットを名前付けするテキスト結果を返します。Claude は 2 番目の WebFetch 呼び出しで新しい URL をフェッチします。
デフォルトおよび acceptEdits 権限モードでは、WebFetch は新しいドメインに最初に到達するときにプロンプトを表示します。プロンプトなしで事前にドメインを許可するには、WebFetch(domain:example.com) のような権限ルールを追加します。auto および bypassPermissions 権限モードはプロンプトを完全にスキップします。 明示的な WebFetch(domain:...) ルールが denyask、または allow にある場合、事前承認されたセットよりも優先されるため、事前承認されたドメインをブロックするか、そのドメインに対してプロンプトを要求できます。 WebFetch は Claude-User で始まる User-Agent ヘッダーと、HTML よりも Markdown を優先する Accept ヘッダーを設定するため、コンテンツ ネゴシエーションをサポートするサーバーは Markdown を直接返すことができます。sandboxネットワーク ルールは別途構成されるため、サンドボックス化されたプロセスが到達したいドメインには、明示的なサンドボックス権限ルールが必要です。

WebSearch ツールの動作

WebSearch は Anthropic の web searchバックエンドに対してクエリを実行し、結果のタイトルと URL を返します。結果ページをフェッチしません。Claude が検索結果で見つけたページを読むには、WebFetchでフォローアップします。 ツールは 1 回の呼び出しあたり最大 8 つのバックエンド検索を発行し、結果を返す前に内部的に検索を絞り込む場合があります。Claude は allowed_domains で結果をスコープして特定のホストのみを含めるか、blocked_domains で除外できます。2 つのリストは 1 回の呼び出しで組み合わせることはできません。 検索バックエンドは構成不可です。別のプロバイダーで検索するには、検索ツールを公開する MCP サーバーを追加します。 WebSearch 権限ルールは指定子を取りません。allow または deny の裸の WebSearch エントリのみが唯一の形式です。
WebSearch は Claude API、Claude Platform on AWS、および Microsoft Foundry で利用可能です。Google Cloud の Agent Platform では、Opus、Sonnet、Haiku を含む Claude 4 以降のモデルで機能します。Amazon Bedrock はサーバー側の Web 検索ツールを公開していません。

Write ツールの動作

Write ツールは新しいファイルを作成するか、提供された完全なコンテンツで既存のファイルを上書きします。追加またはマージは行いません。 ターゲット パスが既に存在する場合、Claude は現在の会話でそのファイルを少なくとも 1 回読み取っている必要があります。読み取られていない既存ファイルへの Write はエラーで失敗します。この制約は新しいファイルには適用されません。 Bash でファイルを表示することは、Edit ツールの動作で説明されているのと同じルールの下で、この要件を満たします。 既存ファイルへの部分的な変更の場合、Claude は Write ではなく Edit を使用します。

利用可能なツールを確認する

正確なツール セットは、プロバイダー、プラットフォーム、および設定によって異なります。実行中のセッションで読み込まれているものを確認するには、Claude に直接尋ねます:
Claude は会話形式の概要を提供します。正確な MCP ツール名については、/mcp を実行します。
advisor tool は、Claude Code が実装するツールではなく、API が実行する server tool です。権限ルールやフック マッチャーで参照できる名前はありません。

関連項目

  • MCP servers:外部サーバーを接続してカスタム ツールを追加する
  • 権限:権限システム、ルール構文、ツール固有のパターン
  • Subagents:subagent のツール アクセスを構成する
  • フック:ツール実行の前後にカスタム コマンドを実行する