SpyBara
Go Premium

tools-reference.md 2026-07-02 23:59 UTC to 2026-07-03 23:00 UTC

16 added, 10 removed.

2026
Sat 4 03:01 Fri 3 23:00 Thu 2 23:59 Wed 1 21:01

ツール リファレンス

Claude Code が使用できるツールの完全なリファレンス(権限要件とツール別の動作を含む)

Claude Code は、コードベースを理解および変更するのに役立つ組み込みツールのセットにアクセスできます。ツール名は、権限ルールsubagent ツールリスト、およびフック マッチャーで使用する正確な文字列です。ツールを完全に無効にするには、権限設定deny 配列にその名前を追加します。

カスタム ツールを追加するには、MCP サーバーを接続します。再利用可能なプロンプトベースのワークフローで Claude を拡張するには、skillを作成します。これは新しいツール エントリを追加するのではなく、既存の Skill ツールを通じて実行されます。

ツール 説明 権限が必要
Agent 独自のコンテキストウィンドウを持つ subagentを生成してタスクを処理します。Agent ツールの動作を参照してください いいえ
Artifact HTML または Markdown ファイルを artifactとして公開します:claude.ai 上の非公開でインタラクティブなページで、組織内で共有できます。{/* plan-availability: feature=artifacts plans=pro,max,team,enterprise providers=anthropic */}Pro、Max、Team、または Enterprise プランが必要で、/login 認証が必要です。可用性を参照してください はい
AskUserQuestion 要件を収集したり曖昧さを明確にするために複数選択肢の質問をします。{/* min-version: 2.1.198 */}v2.1.198 以降、60 秒以内に応答しない場合、ダイアログは自動的に閉じます:既に選択したオプションを送信し、キーボードから離れている可能性があることを Claude に伝えるため、Claude は独自の判断で進行し、後で再度質問できます。最後の 20 秒間はカウントダウンが表示されます。キープレスはダイアログを開いたままにし、フォーカスを報告するターミナルのフォーカスされたウィンドウも同様です。CLAUDE_AFK_TIMEOUT_MS環境変数を設定して、Claude Code が待機する時間を変更するか、86400000(24 時間)などの大きな値に設定して、離席中もクエスチョンを開いたままにします。このタイムアウトは AskUserQuestion の複数選択肢の質問にのみ適用されます。権限プロンプト(プラン承認を含む)は、アイドル時に自動解決されることはありません いいえ
Bash 環境でシェル コマンドを実行します。Bash ツールの動作を参照してください はい
CronCreate 現在のセッション内で定期的または 1 回限りのプロンプトをスケジュールします。タスクはセッションスコープであり、--resume または --continue で復元されます(有効期限が切れていない場合)。スケジュール済みタスクを参照してください いいえ
CronDelete ID でスケジュール済みタスクをキャンセルします いいえ
CronList セッション内のすべてのスケジュール済みタスクをリストします いいえ
Edit 特定のファイルに対して対象を絞った編集を行います。Edit ツールの動作を参照してください はい
EnterPlanMode Plan Mode に切り替えてコーディング前にアプローチを設計します いいえ
EnterWorktree 分離された git worktreeを作成してそこに切り替えます。現在のリポジトリの既存の worktree に切り替えるには、新しいものを作成する代わりに path を渡します。isolation: worktreeなどで既に独自の作業ディレクトリで実行される subagent では、path フォームのみが利用可能で、ターゲットは .claude/worktrees/ の下にある必要があります いいえ
ExitPlanMode 承認用のプランを提示して Plan Mode を終了します はい
ExitWorktree worktree セッションを終了して元のディレクトリに戻ります。isolation: worktreeなどで既に独自の作業ディレクトリで実行される subagent では利用できません いいえ
Glob パターン マッチングに基づいてファイルを検索します。Glob ツールの動作を参照してください いいえ
Grep ファイル コンテンツ内のパターンを検索します。Grep ツールの動作を参照してください いいえ
ListMcpResourcesTool 接続された MCP serversによって公開されたリソースをリストします いいえ
LSP 言語サーバー経由のコード インテリジェンス:定義へのジャンプ、参照の検索、型エラーと警告の報告。LSP ツールの動作を参照してください いいえ
Monitor コマンドをバックグラウンドで実行し、各出力行を Claude にフィードバックするため、会話の途中でログ エントリ、ファイル変更、またはポーリング ステータスに対応できます。WebSocket を開いて、各受信メッセージをイベントとして扱うこともできます。Monitor ツールを参照してください はい
NotebookEdit Jupyter ノートブック セルを変更します。NotebookEdit ツールの動作を参照してください はい
PowerShell PowerShell コマンドをネイティブに実行します。PowerShell ツールの可用性を参照してください はい
PushNotification デスクトップ通知を送信し、Remote Controlが接続されている場合は電話プッシュ通知を送信するため、長時間実行タスクまたはスケジュール済みタスクが離席時に到達できます。{/* plan-availability: feature=push-notifications providers=anthropic */}プッシュ配信は Anthropic ホスト インフラストラクチャを通じて実行されます。これは Amazon Bedrock、Google Vertex AI、または Microsoft Foundry からはアクセスできません いいえ
Read ファイルの内容を読み取ります。Read ツールの動作を参照してください いいえ
ReadMcpResourceTool URI で特定の MCP リソースを読み取ります いいえ
RemoteTrigger claude.ai でルーチンを作成、更新、実行、リストします。/schedule コマンドをサポートします。{/* plan-availability: feature=routines plans=pro,max,team,enterprise providers=anthropic */}ルーチンは claude.ai に存在し、Pro、Max、Team、または Enterprise プランが必要なため、このツールは Amazon Bedrock、Google Vertex AI、または Microsoft Foundry からはアクセスできません いいえ
ReportFindings コード レビューの検出結果を構造化されたリストとして報告します。検出結果ごとにファイル、概要、失敗シナリオがあり、Claude Code はテキストとして出力するのではなく、それらをレンダリングできます。アクティブなコード レビュー指示が Claude にそれを呼び出すよう指示した場合、Claude はそれを呼び出します。{/* min-version: 2.1.196 /}Claude Code v2.1.196 以降が必要です。{/ min-version: 2.1.199 */}v2.1.199 以降、検出結果はオプションの category スラッグ(correctnesstest-coverage など)を含めることもでき、レンダリングされたリストのファイル位置の横に表示されます いいえ
ScheduleWakeup self-paced /loopの次の反復をスケジュール変更します。Claude は各反復の終了時にこれを呼び出して、次の実行時刻を 1 分から 1 時間の間で選択します。直接呼び出すことはありません。保留中のウェイクアップは Stop hook inputsession_crons に表示されます。{/* plan-availability: feature=loop-dynamic providers=anthropic */}Amazon Bedrock、Google Vertex AI、または Microsoft Foundry では利用できません。これらでは、間隔のない /loop プロンプトは固定スケジュールで実行されます いいえ
SendMessage agent teamメンバーにメッセージを送信するか、agent ID または名前で subagentを再開します。停止した subagent はバックグラウンドで自動的に再開されます。構造化されたチーム プロトコル メッセージには agent teams が必要です。受信者は別のエージェントからのメッセージを、あなたの同意または承認として扱うことはありません。{/* min-version: 2.1.198 /}v2.1.198 以降、subagent はそれを起動したエージェントからのメッセージをピア リクエストではなく通常のタスク指示として扱います。{/ min-version: 2.1.199 */}v2.1.199 以降、会話の早い段階で解決された名前とは異なるエージェントに現在解決される名前への送信は、配信される代わりに拒否されます。subagent を再開を参照してください いいえ
SendUserFile セッションからファイルをオプションのキャプション付きで送信するため、生成されたレポート、図、スクリーンショット、または構築されたアーティファクトがトランスクリプトでのみ言及されるのではなく、デバイスに到達します。{/* min-version: 2.1.196 */}v2.1.196 以降、オプションの display 入力がプレゼンテーションを制御します:render はファイルをクライアントにインラインで開き、attach はダウンロード カードのみを表示し、設定されていない場合はクライアントがファイル タイプで決定します。Remote Controlクライアントが接続されている場合、またはセッションが Claude Code on the webなどのマネージド クラウド環境で実行されている場合に利用可能です。配信は Anthropic ホスト インフラストラクチャを通じて実行されるため、このツールは Amazon Bedrock、Google Vertex AI、または Microsoft Foundry では利用できません いいえ
ShareOnboardingGuide {/* plan-availability: feature=onboarding-guide-share plans=pro,max,team,enterprise providers=anthropic */}}ONBOARDING.md をアップロードし、チームメンバーが Claude Code で開くことができる共有リンクを返します。ガイドが作成された後、/team-onboarding から呼び出されます。claude.ai の Pro、Max、Team、および Enterprise プランのサブスクライバーが利用可能です はい
Skill メイン会話内で skillを実行します はい
TaskCreate タスク リストに新しいタスクを作成します いいえ
TaskGet 特定のタスクの完全な詳細を取得します いいえ
TaskList すべてのタスクとその現在のステータスをリストします いいえ
TaskOutput (非推奨)バックグラウンド タスクから出力を取得します。タスクの出力ファイル パスで Read を使用することをお勧めします いいえ
TaskStop ID で実行中のバックグラウンド タスクを終了します。{/* min-version: 2.1.198 */}v2.1.198 以降、agent team メンバーまたは agent ID または名前で名前付きバックグラウンド エージェントも受け入れます いいえ
TaskUpdate タスク ステータス、依存関係、詳細を更新するか、タスクを削除します いいえ
TodoWrite {/* min-version: 2.1.142 */}セッション タスク チェックリストを管理します。v2.1.142 以降、TaskCreateTaskGetTaskListTaskUpdate を優先するため、デフォルトで無効になっています。CLAUDE_CODE_ENABLE_TASKS=0 を設定して再度有効にします いいえ
ToolSearch ツール検索が有効な場合、遅延ツールを検索してロードします いいえ
WaitForMcpServers バックグラウンドでまだ接続中の 1 つ以上の MCP serversを待機するため、セッションを再開することなくそのツールをリクエストで使用できます。必要なサーバーがまだ接続されていない場合、Claude はそれを呼び出します。ツール検索が無効な場合にのみ表示されます。有効な場合は ToolSearch が待機を処理するため いいえ
WebFetch 指定された URL からコンテンツを取得します。WebFetch ツールの動作を参照してください はい
WebSearch Web 検索を実行します。WebSearch ツールの動作を参照してください はい
Workflow 動的ワークフローを実行します:バックグラウンドで多くの subagent を調整し、1 つの統合結果を返すスクリプト はい
Write ファイルを作成または上書きします。Write ツールの動作を参照してください はい

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

ほとんどの場合、Claude はこれらのツールをいつ使用するかを決定し、Claude と対話するときにツール名を自分で指定する必要はありません。権限およびその他の構成を定義するときにツール名を直接参照します:

これらはすべて同じルール形式 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 Skill 名マッチング
Agent(Explore) Agent Subagent タイプ マッチング
WebFetch(domain:example.com) WebFetch ドメイン マッチング
WebSearch WebSearch 指定子なし。ツール全体を許可または拒否します

ここにリストされていないツール(ExitPlanModeShareOnboardingGuide など)は、指定子なしのベア ツール名のみを受け入れます。

Edit(...) 許可ルールは同じパスへの読み取りアクセスも付与するため、一致する Read(...) ルールは必要ありません。

フック 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 を起動しても、それ自体は権限を求めるプロンプトを表示しません。Claude Code は、実行時に subagent の独自のツール呼び出しを権限ルールに対してチェックします。

{/* min-version: 2.1.198 */}v2.1.198 以降、subagent はデフォルトでバックグラウンドで実行されます。Claude は結果が必要になる前に続行する必要がある場合、フォアグラウンドで実行します。

  • フォアグラウンド subagent は、メイン会話で見られるのと同じ権限プロンプトを表示し、各ツール呼び出しが発生した時点で表示されます。
  • バックグラウンド subagent {/* min-version: 2.1.186 */}は 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 でバックグラウンド タスクをリストおよび停止します。

Edit ツールの動作

Edit ツールは正確な文字列置換を実行します。old_stringnew_string を取り、最初のものを 2 番目のものに置き換えます。正規表現またはあいまい一致は使用しません。

編集を適用するには、3 つのチェックが合格する必要があります:

  • 編集前の読み取り:Claude は現在の会話でファイルを読み取っている必要があり、その読み取り以降、ファイルはディスク上で変更されていない必要があります。このチェックは最初に実行され、文字列マッチングの前に実行されます。
  • マッチold_string はファイルに正確に記述されたとおりに表示される必要があります。空白またはインデントの 1 文字の違いでも不一致になります。
  • 一意性old_string は正確に 1 回表示される必要があります。複数回表示される場合、Claude は 1 つの出現を特定するのに十分な周囲コンテキストを含む長い文字列を提供するか、replace_all: true を設定してすべてを置き換えます。

Bash でファイルを表示することは、コマンドが catheadtailsed -n 'X,Yp'grepegrep、または fgrep である場合、パイプやリダイレクトのない単一ファイルに対して、編集前の読み取り要件を満たします。パイプ出力およびその他の Bash コマンドはカウントされず、Claude はこれらの場合は編集前に Read を使用する必要があります。

これは編集の適格性にのみ影響し、権限には影響しません。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 を設定します。

Grep ツールの動作

Grep ツールはファイル コンテンツ内のパターンを検索します。Globがファイルを名前で検索する場合、Grep はそれらの内部の行を検索します。

Grep は ripgrepに基づいており、POSIX grep ではなく ripgrep の正規表現構文を使用します。正規表現メタ文字を含むパターンはエスケープが必要です。たとえば、Go コードで interface{} を検出するには、パターン interface\{\} が必要です。

3 つの出力モードは、戻ってくるものを制御します:

  • files_with_matches:ファイル パスのみ、行コンテンツなし。これがデフォルトです。
  • content:ファイルと行番号を含む一致する行。
  • count:ファイルごとの一致数。

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 Vertex AI、または Microsoft Foundry では利用できません。DISABLE_TELEMETRY または CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC が設定されている場合も利用できません。

プラグインは、Claude に開始するよう依頼する代わりに、プラグインがアクティブな場合に自動的に開始される Monitor を宣言できます。プラグイン Monitorを参照してください。

WebSocket ソース

サーバーが既に WebSocket 経由でイベントをプッシュしている場合、Claude はポーリング スクリプトを作成する代わりに、直接接続できます。各種のソケット アクティビティはイベントになるか、監視を終了します:

  • テキスト メッセージ:各メッセージが 1 つのイベントになります。メッセージが複数行にまたがる場合でも同じです。
  • バイナリ メッセージ:渡されません。Claude は [binary frame, 512 bytes] などのプレースホルダー行を受け取ります。
  • 1 MiB より大きいメッセージ:監視が終了するため、フィルタリングされたフィードが存在する場合はそれにサブスクライブしてください。
  • ソケット クローズ:監視が終了し、Claude はクローズ コードを受け取ります。

WebSocket 監視は command の代わりに ws 入力を使用し、1 つの Monitor 呼び出しで両方を組み合わせることはできません。ws 入力には 2 つのフィールドがあります:

フィールド 必須 説明
url はい 接続するエンドポイント。ws:// または wss:// URL である必要があり、埋め込まれた認証情報やホワイトスペースがなく、ASCII 文字のみを使用します
protocols いいえ ハンドシェイク中に提供する WebSocket サブプロトコル名。各エントリは有効なサブプロトコル トークンである必要があり、リストに重複を含めることはできません

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 を設定します:

{
  "env": {
    "CLAUDE_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 環境変数が含まれます。

{/* min-version: 2.1.196 */}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 を渡す読み取りがトークン制限を超える場合でも、エラーを返します。

Read はプレーン テキストを超えるいくつかのファイル タイプを処理します:

  • 画像:PNG、JPG、およびその他の画像形式は、生バイトではなく Claude が見ることができるビジュアル コンテンツとして返されます。Claude Code は大きな画像をモデルの画像サイズ制限に合わせるようにサイズ変更および再圧縮するため、Claude は大きなスクリーンショットのダウンスケール版を見る場合があります。{/* min-version: 2.1.196 */}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 エントリのみが唯一の形式です。

Write ツールの動作

Write ツールは新しいファイルを作成するか、提供された完全なコンテンツで既存のファイルを上書きします。追加またはマージは行いません。

ターゲット パスが既に存在する場合、Claude は現在の会話でそのファイルを少なくとも 1 回読み取っている必要があります。読み取られていない既存ファイルへの Write はエラーで失敗します。この制約は新しいファイルには適用されません。

Bash でファイルを表示することは、Edit ツールの動作で説明されているのと同じルールの下で、この要件を満たします。

既存ファイルへの部分的な変更の場合、Claude は Write ではなく Edit を使用します。

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

正確なツール セットは、プロバイダー、プラットフォーム、および設定によって異なります。実行中のセッションで読み込まれているものを確認するには、Claude に直接尋ねます:

What tools do you have access to?

Claude は会話形式の概要を提供します。正確な MCP ツール名については、/mcp を実行します。

関連項目

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