2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.
4 4
5# ツール リファレンス5# ツールリファレンス
6 6
7> Claude Code が使用できるツールの完全なリファレンス(権限要件とツール別の動作を含む)7> Claude Code が使用できるツールの完全なリファレンス。権限要件とツール別の動作を含みます。
8 8
9Claude Code は、コードベースを理解および変更するのに役立つ組み込みツールのセットにアクセスできます。ツール名は、[権限ルール](/docs/ja/permissions#tool-specific-permission-rules)、[subagent ツールリスト](/docs/ja/sub-agents)、および[フック マッチャー](/docs/ja/hooks)で使用する正確な文字列です。ツールを完全に無効にするには、[権限設定](/docs/ja/permissions#tool-specific-permission-rules)の `deny` 配列にその名前を追加します。9Claude Code は、コードベースを理解および変更するのに役立つ組み込みツールのセットにアクセスできます。ツール名は、[権限ルール](/docs/ja/permissions#tool-specific-permission-rules)、[サブエージェントツールリスト](/docs/ja/sub-agents)、および[フックマッチャー](/docs/ja/hooks)で使用する正確な文字列です。
10 10
11カスタム ツールを追加するには、[MCP サーバー](/docs/ja/mcp)を接続します。再利用可能なプロンプトベースのワークフローで Claude を拡張するには、[skill](/docs/ja/skills)を作成します。これは新しいツール エントリを追加するのではなく、既存の `Skill` ツールを通じて実行されます。11Claude が使用できるツールと、いつ最初に確認するかを制御するには、設定、[フック](/docs/ja/hooks)、または[サブエージェントのツールリスト](/docs/ja/sub-agents#supported-frontmatter-fields)で[権限ルール](/docs/ja/permissions#tool-specific-permission-rules)を設定します。ツール名を受け入れる各場所については、[権限ルールとフックでツールを設定する](#configure-tools-with-permission-rules-and-hooks)を参照してください。
12 12
13Permission required 列は、ツールが作業ディレクトリ内のパスに対してデフォルト権限モードでプロンプトを表示するかどうかを示します。`Read`、`Grep`、`Glob` を含むファイル アクセス ツールは No とマークされていますが、[作業ディレクトリと追加ディレクトリ](/docs/ja/permissions#working-directories)外のパスに対してはプロンプトを表示します。`Bash` は Yes とマークされていますが、プロンプトなしで組み込みの[読み取り専用コマンド](/docs/ja/permissions#read-only-commands)セットを実行します。13カスタムツールを追加するには、[MCP サーバー](/docs/ja/mcp)を接続します。再利用可能なプロンプトベースのワークフローで Claude を拡張するには、[スキル](/docs/ja/skills)を作成します。これは新しいツールエントリを追加するのではなく、既存の `Skill` ツールを通じて実行されます。
14
15<Info>
16 Pro、Max、Team プランでは、Claude Code は[オートモード](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode)でセッションを開始します。ここでは、分類器がこれらのプロンプトのほとんどを決定します。`Permission required` 列は、ツールが[マニュアルモード](/docs/ja/permission-modes)でワーキングディレクトリ内のパスに対してプロンプトを表示するかどうかを示します。`Read`、`Grep`、`Glob` を含むファイルアクセスツールは「いいえ」とマークされていますが、[ワーキングディレクトリと追加ディレクトリ](/docs/ja/permissions#working-directories)外のパスに対してはプロンプトを表示します。`Bash` は「はい」とマークされていますが、プロンプトなしで組み込みの[読み取り専用コマンド](/docs/ja/permissions#read-only-commands)セットを実行します。
17</Info>
14 18
15| ツール | 説明 | 権限が必要 |19| ツール | 説明 | 権限が必要 |
16| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---- |20| :--------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :---- |
17| `Agent` | 独自のコンテキストウィンドウを持つ [subagent](/docs/ja/sub-agents)を生成してタスクを処理します。[Agent ツールの動作](#agent-tool-behavior)を参照してください | いいえ |21| `Agent` | タスクを処理するために独自のコンテキストウィンドウを持つ[サブエージェント](/docs/ja/sub-agents)を生成します。[エージェントチーム](/docs/ja/agent-teams)が有効な場合、`name` を含む呼び出しは[チームメイト](/docs/ja/agent-teams#how-claude-starts-agent-teams)を起動できます。[Agent ツールの動作](#agent-tool-behavior)を参照してください | いいえ |
18| `Artifact` | HTML または Markdown ファイルを [artifact](/docs/ja/artifacts)として公開します:claude.ai 上の非公開でインタラクティブなページで、組織内で共有できます。Pro、Max、Team、または Enterprise プランが必要で、`/login` 認証が必要です。[可用性](/docs/ja/artifacts#availability)を参照してください | はい |22| `Artifact` | HTML または Markdown ファイルを[アーティファクト](/docs/ja/artifacts)として公開します。これは claude.ai 上のプライベートでインタラクティブなページです。公開リンクで共有することも、Team および Enterprise プランの組織内で共有することもできます。公開共有には Owner による[有効化](/docs/ja/artifacts#control-public-sharing)が必要です。Pro、Max、Team、または Enterprise プランが必要で、`/login` 認証が必要です。[利用可能性](/docs/ja/artifacts#availability)を参照してください | はい |
19| `AskUserQuestion` | 要件を収集したり曖昧さを明確にするために複数選択肢の質問をします。質問は回答するまで開いたままです:デフォルトではアイドル タイムアウトはありません。アイドル ダイアログを自動的に続行させるには、ユーザー `settings.json` または `/config` の **Question auto-continue timeout** 行で [`askUserQuestionTimeout`](/docs/ja/settings#available-settings) 設定を `60s`、`5m`、または `10m` に設定します。選択したアイドル時間が経過してから入力がない場合、ダイアログは自動的に閉じます:既に選択したオプションを送信し、キーボードから離れている可能性があることを Claude に伝えるため、Claude は独自の判断で進行し、後で再度質問できます。最後の 20 秒間はカウントダウンが表示されます。キープレスはタイマーを再開し、フォーカスを報告するターミナルのフォーカスされたウィンドウも同様です。タイムアウトは `AskUserQuestion` の複数選択肢の質問にのみ適用されます。権限プロンプト(プラン承認を含む)は、アイドル時に自動解決されることはありません。v2.1.198 および v2.1.199 では、ダイアログはデフォルトで 60 秒のアイドル後に自動的に続行され、[`CLAUDE_AFK_TIMEOUT_MS`](/docs/ja/env-vars#variables)がそれを変更する唯一の方法でした | いいえ |23| `AskUserQuestion` | 要件を収集したり曖昧さを明確にしたりするために、複数選択肢の質問をします。デフォルトでは、質問に答えるまで質問は開いたままになります。[AskUserQuestion ツールの動作](#askuserquestion-tool-behavior)を参照してください | いいえ |
20| `Bash` | 環境でシェル コマンドを実行します。[Bash ツールの動作](#bash-tool-behavior)を参照してください | はい |24| `Bash` | 環境でシェルコマンドを実行します。[Bash ツールの動作](#bash-tool-behavior)を参照してください | はい |
21| `CronCreate` | 現在のセッション内で定期的または 1 回限りのプロンプトをスケジュールします。タスクはセッションスコープであり、`--resume` または `--continue` で復元されます(有効期限が切れていない場合)。[スケジュール済みタスク](/docs/ja/scheduled-tasks)を参照してください | いいえ |25| `CronCreate` | 現在のセッション内で定期的または 1 回限りのプロンプトをスケジュールします。タスクはセッションスコープであり、`--resume` または `--continue` で復元されます(有効期限が切れていない場合)。[スケジュール済みタスク](/docs/ja/scheduled-tasks)を参照してください | いいえ |
22| `CronDelete` | ID でスケジュール済みタスクをキャンセルします | いいえ |26| `CronDelete` | ID でスケジュール済みタスクをキャンセルします | いいえ |
23| `CronList` | セッション内のすべてのスケジュール済みタスクをリストします | いいえ |27| `CronList` | セッション内のすべてのスケジュール済みタスクをリストします | いいえ |
24| `Edit` | 特定のファイルに対して対象を絞った編集を行います。[Edit ツールの動作](#edit-tool-behavior)を参照してください | はい |28| `Edit` | 特定のファイルに対して対象を絞った編集を行います。[Edit ツールの動作](#edit-tool-behavior)を参照してください | はい |
25| `EnterPlanMode` | Plan Mode に切り替えてコーディング前にアプローチを設計します | いいえ |29| `EndConversation` | セッションを終了します。持続的な不正使用入力の稀なケースまたは Claude にツールのデモンストレーションを求める場合に使用します。Claude Code v2.1.213 以降が必要です。[EndConversation ツールの動作](#endconversation-tool-behavior)を参照してください | いいえ |
26| `EnterWorktree` | 分離された [git worktree](/docs/ja/worktrees)を作成してそこに切り替えます。現在のリポジトリの既存の worktree に切り替えるには、新しいものを作成する代わりに `path` を渡します。最初のエントリでは、ターゲットは現在のリポジトリの worktree、またはマルチリポジトリ ワークスペースでは、その中にネストされたリポジトリの worktree である可能性があります。v2.1.203 より前では、ネストされたリポジトリの worktree は拒否されました。`.claude/worktrees/` の外の `path` はセッションの作業ディレクトリと書き込みアクセスをその場所に移動するため、入る前に承認を求めるプロンプトが表示されます。新しい worktree の作成と `.claude/worktrees/` の下のパスはプロンプトを表示しません。v2.1.206 より前では、Claude は `.claude/worktrees/` の外のパスにプロンプトなしで入りました。worktree セッション内から、または [`isolation: worktree`](/docs/ja/sub-agents#supported-frontmatter-fields)などでピン留めされた作業ディレクトリを持つ subagent から、`path` フォームのみが利用可能で、ターゲットはセッションのリポジトリの `.claude/worktrees/` の下にある必要があります | はい |30| `EnterPlanMode` | プランモードに切り替えて、コーディング前にアプローチを設計します | いいえ |
27| `ExitPlanMode` | 承認用のプランを提示して Plan Mode を終了します | はい |31| `EnterWorktree` | 分離された[git worktree](/docs/ja/worktrees)を作成し、それに切り替えます。新しいものを作成する代わりに、既存の worktree に切り替えるには `path` を渡します。最初のエントリでは、ターゲットは現在のリポジトリの worktree、またはマルチリポジトリワークスペースでは、その中にネストされたリポジトリの worktree である可能性があります。v2.1.203 より前では、ネストされたリポジトリの worktree は拒否されていました。`.claude/worktrees/` の外の `path` は、セッションのワーキングディレクトリと書き込みアクセスをその場所に移動するため、承認を求めるプロンプトが表示されます。新しい worktree の作成と `.claude/worktrees/` の下のパスはプロンプトを表示しません。v2.1.206 より前では、Claude は `.claude/worktrees/` の外のパスにプロンプトなしで入りました。worktree セッション内から、または [`isolation: worktree`](/docs/ja/sub-agents#supported-frontmatter-fields) などのピン留めされたワーキングディレクトリを持つサブエージェントから、`path` フォームのみが利用可能で、ターゲットはセッションのリポジトリの `.claude/worktrees/` の下にある必要があります | はい |
28| `ExitWorktree` | worktree セッションを終了して元のディレクトリに戻ります。[`isolation: worktree`](/docs/ja/sub-agents#supported-frontmatter-fields)などで既に独自の作業ディレクトリで実行される subagent では利用できません | いいえ |32| `ExitPlanMode` | 承認のためのプランを提示し、プランモードを終了します | はい |
29| `Glob` | パターン マッチングに基づいてファイルを検索します。[Glob ツールの動作](#glob-tool-behavior)を参照してください | いいえ |33| `ExitWorktree` | worktree セッションを終了し、元のディレクトリに戻ります。[`isolation: worktree`](/docs/ja/sub-agents#supported-frontmatter-fields) などのように既に独自のワーキングディレクトリで実行されているサブエージェントは利用できません | いいえ |
30| `Grep` | ファイル コンテンツ内のパターンを検索します。[Grep ツールの動作](#grep-tool-behavior)を参照してください | いいえ |34| `Glob` | パターンマッチングに基づいてファイルを検索します。[Glob ツールの動作](#glob-tool-behavior)を参照してください | いいえ |
31| `ListMcpResourcesTool` | 接続された [MCP servers](/docs/ja/mcp)によって公開されたリソースをリストします | いいえ |35| `Grep` | ファイルコンテンツ内のパターンを検索します。[Grep ツールの動作](#grep-tool-behavior)を参照してください | いいえ |
32| `LSP` | 言語サーバー経由のコード インテリジェンス:定義へのジャンプ、参照の検索、型エラーと警告の報告。[LSP ツールの動作](#lsp-tool-behavior)を参照してください | いいえ |36| `ListAgents` | Claude が `SendMessage` でメッセージを送信できるエージェントをリストします。セッション内のサブエージェント、[エージェントチーム](/docs/ja/agent-teams)チームメイト、その他のローカル Claude Code セッション、およびこのセッションが[リモートコントロール](/docs/ja/remote-control)に接続されている間、[ウェブ上の Claude Code](/docs/ja/claude-code-on-the-web)セッションと他のマシン上のリモートコントロールセッション。`/list-agents` コマンドをサポートします。[クロスセッションメッセージング](/docs/ja/cross-session-messaging)を参照してください。Claude Code v2.1.224 以降が必要で、[クロスセッションメッセージングが有効](/docs/ja/cross-session-messaging#availability)なセッションにのみ表示されます。チームメイト行とこのセッション独自の名前を示す最初の行には v2.1.239 以降が必要です | いいえ |
33| `Monitor` | コマンドをバックグラウンドで実行し、各出力行を Claude にフィードバックするため、会話の途中でログ エントリ、ファイル変更、またはポーリング ステータスに対応できます。WebSocket を開いて、各受信メッセージをイベントとして扱うこともできます。[Monitor ツール](#monitor-tool)を参照してください | はい |37| `ListMcpResourcesTool` | 接続された[MCP サーバー](/docs/ja/mcp)によって公開されたリソースをリストします | いいえ |
34| `NotebookEdit` | Jupyter ノートブック セルを変更します。[NotebookEdit ツールの動作](#notebookedit-tool-behavior)を参照してください | はい |38| `LSP` | 言語サーバー経由のコードインテリジェンス。定義にジャンプ、参照を検索、型エラーと警告をレポートします。[LSP ツールの動作](#lsp-tool-behavior)を参照してください | いいえ |
35| `PowerShell` | PowerShell コマンドをネイティブに実行します。[PowerShell ツール](#powershell-tool)の可用性を参照してください | はい |39| `Monitor` | コマンドをバックグラウンドで実行し、各出力行を Claude にフィードバックして、ログエントリ、ファイル変更、またはポーリングされたステータスに対応できるようにします。WebSocket を開いて、各受信メッセージをイベントとして扱うこともできます。[Monitor ツール](#monitor-tool)を参照してください | はい |
36| `PushNotification` | デスクトップ通知を送信し、[Remote Control](/docs/ja/remote-control)が接続されている場合は電話プッシュ通知を送信するため、長時間実行タスクまたは[スケジュール済みタスク](/docs/ja/scheduled-tasks)が離席時に到達できます。プッシュ配信は Anthropic ホスト インフラストラクチャを通じて実行されます。これは Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry からはアクセスできません | いいえ |40| `NotebookEdit` | Jupyter ノートブックセルを変更します。[NotebookEdit ツールの動作](#notebookedit-tool-behavior)を参照してください | はい |
41| `PowerShell` | PowerShell コマンドをネイティブに実行します。[PowerShell ツール](#powershell-tool)の利用可能性を参照してください | はい |
42| `PushNotification` | デスクトップ通知を送信し、[リモートコントロール](/docs/ja/remote-control)が接続されている場合は電話プッシュを送信します。長時間実行されるタスクまたは[スケジュール済みタスク](/docs/ja/scheduled-tasks)が、あなたが離れているときに到達できるようにします。プッシュ配信は Anthropic ホスト型インフラストラクチャを通じて実行されます。これは Amazon Bedrock、AWS 上の Claude Platform、Google Cloud の Agent Platform、または Microsoft Foundry からはアクセスできません | いいえ |
37| `Read` | ファイルの内容を読み取ります。[Read ツールの動作](#read-tool-behavior)を参照してください | いいえ |43| `Read` | ファイルの内容を読み取ります。[Read ツールの動作](#read-tool-behavior)を参照してください | いいえ |
38| `ReadMcpResourceTool` | URI で特定の MCP リソースを読み取ります | いいえ |44| `ReadMcpResourceTool` | URI で特定の MCP リソースを読み取ります | いいえ |
39| `RemoteTrigger` | claude.ai で[ルーチン](/docs/ja/routines)を作成、更新、実行、リストします。`/schedule` コマンドをサポートします。ルーチンは claude.ai に存在し、Pro、Max、Team、または Enterprise プランが必要なため、このツールは Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry からはアクセスできません | いいえ |45| `RemoteTrigger` | claude.ai で[ルーチン](/docs/ja/routines)を作成、更新、実行、リストします。`/schedule` コマンドをサポートします。[`RemoteTrigger` 入力リファレンス](/docs/ja/agent-sdk/typescript#remotetrigger)は、すべてのアクション と、ツールを削除する組織ポリシーを文書化しています。ルーチンは claude.ai に存在し、Pro、Max、Team、または Enterprise プランが必要です。そのため、このツールは Amazon Bedrock、AWS 上の Claude Platform、Google Cloud の Agent Platform、または Microsoft Foundry からはアクセスできません | いいえ |
40| `ReportFindings` | コード レビューの検出結果を構造化されたリストとして報告します。検出結果ごとにファイル、概要、失敗シナリオがあり、Claude Code はテキストとして出力するのではなく、それらをレンダリングできます。アクティブなコード レビュー指示が Claude にそれを呼び出すよう指示した場合、Claude はそれを呼び出します。Claude Code v2.1.196 以降が必要です。v2.1.199 以降、検出結果はオプションの `category` スラッグ(`correctness` や `test-coverage` など)を含めることもでき、レンダリングされたリストのファイル位置の横に表示されます | いいえ |46| `ReportFindings` | コード レビューの検出結果を構造化リストとしてレポートします。検出結果ごとにファイル、概要、失敗シナリオがあり、Claude Code はテキストとして出力する代わりにレンダリングできます。Claude はアクティブなコード レビュー指示がこれを呼び出すように指示する場合に呼び出します。Claude Code v2.1.196 以降が必要です。v2.1.199 以降、検出結果は `correctness` または `test-coverage` などのオプションの `category` スラッグを含むことができ、レンダリングされたリストのファイルの場所の横に表示されます | いいえ |
41| `ScheduleWakeup` | [self-paced `/loop`](/docs/ja/scheduled-tasks#let-claude-choose-the-interval)の次の反復をスケジュール変更します。Claude は各反復の終了時にこれを呼び出して、次の実行時刻を 1 分から 1 時間の間で選択します。直接呼び出すことはありません。ループを終了する代わりに、Claude は `stop: true` で呼び出します。これにより、保留中のウェイクアップがキャンセルされます。}`stop` フィールドには Claude Code v2.1.202 以降が必要です。保留中のウェイクアップは [Stop hook input](/docs/ja/hooks#stop-input)の `session_crons` に表示されます。Amazon Bedrock、Claude Platform on AWS、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません。これらでは、間隔のない `/loop` プロンプトは固定スケジュールで実行されます | いいえ |47| `ScheduleWakeup` | [自分のペースで `/loop`](/docs/ja/scheduled-tasks#let-claude-choose-the-interval)の次の反復をスケジュール変更します。Claude は各反復の終了時にこれを呼び出して、次の反復がいつ実行されるかを選択します。1 分から 1 時間の間です。直接呼び出すことはありません。ループを終了する代わりに、Claude は `stop: true` で呼び出します。これは保留中のウェイクアップをキャンセルします。`stop` フィールドには Claude Code v2.1.202 以降が必要です。保留中のウェイクアップは[Stop フックの入力](/docs/ja/hooks#stop-input)の `session_crons` に表示されます | いいえ |
42| `SendMessage` | [agent team](/docs/ja/agent-teams)メンバーにメッセージを送信するか、agent ID または名前で [subagent](/docs/ja/sub-agents#resume-subagents)を再開します。完了した subagent はバックグラウンドで自動的に再開されます。`/tasks` から停止した subagent は再開されず、呼び出しは拒否を返します。構造化されたチーム プロトコル メッセージには agent teams が必要です。受信者は別のエージェントからのメッセージを、あなたの同意または承認として扱うことはありません。v2.1.198 以降、subagent はそれを起動したエージェントからのメッセージをピア リクエストではなく通常のタスク指示として扱います。v2.1.199 以降、会話の早い段階で解決された名前とは異なるエージェントに現在解決される名前への送信は、配信される代わりに拒否されます。[subagent を再開](/docs/ja/sub-agents#resume-subagents)を参照してください | いいえ |48| `SendFeedback` | Claude Code に関するフィードバックレポートを作成します。製品の問題または Claude Code セッション内での Claude 自身の動作をカバーします。マシンでキューに入れられ、レビューするために確認します。Claude Code は、ドラフトを送信することを選択するまで何も送信しません。[SendFeedback ツールの動作](#sendfeedback-tool-behavior)を参照してください。Claude Code v2.1.238 以降が必要です | いいえ |
43| `SendUserFile` | セッションからファイルをオプションのキャプション付きで送信するため、生成されたレポート、図、スクリーンショット、または構築されたアーティファクトがトランスクリプトでのみ言及されるのではなく、デバイスに到達します。v2.1.196 以降、オプションの `display` 入力がプレゼンテーションを制御します:`render` はファイルをクライアントにインラインで開き、`attach` はダウンロード カードのみを表示し、設定されていない場合はクライアントがファイル タイプで決定します。[Remote Control](/docs/ja/remote-control)クライアントが接続されている場合、またはセッションが [Claude Code on the web](/docs/ja/claude-code-on-the-web)などのマネージド クラウド環境で実行されている場合に利用可能です。配信は Anthropic ホスト インフラストラクチャを通じて実行されるため、このツールは Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません | いいえ |49| `SendMessage` | 別のエージェントにメッセージを送信します。[エージェントチーム](/docs/ja/agent-teams)チームメイト、[エージェント ID または名前で再開するサブエージェント](/docs/ja/sub-agents#resume-subagents)、またはこのマシンまたはそれ以上の他の Claude Code セッション。他のセッションへのメッセージングには Claude Code v2.1.224 以降が必要です。[クロスセッションメッセージング](/docs/ja/cross-session-messaging)は、Claude が到達できるセッション、[メッセージが到着したときの外観](/docs/ja/cross-session-messaging#what-a-message-looks-like)、および[別のセッションがアイドル状態になったときに Claude が通知を受け取る方法](/docs/ja/cross-session-messaging#get-a-notice-when-another-session-goes-idle)をカバーしています。Claude はオプションの `summary` 入力を含めることができます。通常は 5~10 語で、Claude Code は 1 行のプレビューとして表示します。Claude が[プレーンテキストメッセージ](/docs/ja/cross-session-messaging#limitations)で省略した場合、Claude Code はメッセージの最初の行を概要として使用します。Claude Code は 200 文字を超える概要を省略記号で切り詰めます | いいえ |
44| `ShareOnboardingGuide` | }`ONBOARDING.md` をアップロードし、チームメンバーが Claude Code で開くことができる共有リンクを返します。ガイドが作成された後、`/team-onboarding` から呼び出されます。claude.ai の Pro、Max、Team、および Enterprise プランのサブスクライバーが利用可能です | はい |50| `SendUserFile` | セッションからファイルをオプションのキャプション付きで送信します。生成されたレポート、図、スクリーンショット、または構築されたアーティファクトがトランスクリプトでのみ言及されるのではなく、デバイスに到達するようにします。v2.1.196 以降、オプションの `display` 入力はプレゼンテーションを制御します。`render` はファイルをクライアントにインラインで開き、`attach` はダウンロードカードのみを表示し、設定されていない場合、クライアントはファイルタイプで決定します。[リモートコントロール](/docs/ja/remote-control)クライアントが接続されている場合、またはセッションが[ウェブ上の Claude Code](/docs/ja/claude-code-on-the-web)などのマネージドクラウド環境で実行されている場合に利用可能です。配信は Anthropic ホスト型インフラストラクチャを通じて実行されるため、このツールは Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません | いいえ |
45| `Skill` | メイン会話内で [skill](/docs/ja/skills#control-who-invokes-a-skill)を実行します | はい |51| `ShareOnboardingGuide` | ガイドが作成された後、`ONBOARDING.md` をアップロードし、チームメイトが Claude Code で開くことができる共有リンクを返します。`/team-onboarding` から呼び出されます。claude.ai サブスクライバーが Pro、Max、Team、Enterprise プランで利用可能です | はい |
46| `TaskCreate` | タスク リストに新しいタスクを作成します | いいえ |52| `Skill` | メイン会話内で[スキル](/docs/ja/skills#control-who-invokes-a-skill)を実行します | はい |
47| `TaskGet` | 特定のタスクの完全な詳細を取得します | いいえ |53| `TaskCreate` | タスクリストに新しいタスクを作成します。Claude Code は、[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでこれを除外します。オプトインしない限り | いいえ |
48| `TaskList` | すべてのタスクとその現在のステータスをリストします | いいえ |54| `TaskGet` | 特定のタスクの完全な詳細を取得します。Claude Code は、[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでこれを除外します。オプトインしない限り | いいえ |
49| `TaskOutput` | バックグラウンド タスクから出力を取得します。タスクの出力ファイル パスで `Read` を使用することをお勧めします。タスク ID が一致しない場合、エラーは実行中のバックグラウンド エージェントを ID と説明でリストします。v2.1.203 より前では、エラーは不足している ID のみを名前付けていました | いいえ |55| `TaskList` | すべてのタスクを現在のステータスでリストします。Claude Code は、[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでこれを除外します。オプトインしない限り | いいえ |
50| `TaskStop` | ID で実行中のバックグラウンド タスクを終了します。また、[agent team メンバー](/docs/ja/agent-teams)または agent ID または名前で名前付きバックグラウンド エージェントも受け入れます。v2.1.198 より前では、バックグラウンド タスク ID のみを受け入れていました。タスク ID が一致しない場合、エラーは実行中のバックグラウンド エージェントを ID と説明でリストします。これには別のエージェントが生成したエージェントも含まれます。v2.1.203 より前では、エラーは実行中のチームメンバーと名前付きエージェントをリストしていましたが、別のエージェントが生成したバックグラウンド エージェントはリストしていなかったため、メイン会話から識別または停止できませんでした | いいえ |56| `TaskOutput` | バックグラウンドタスクから出力を取得します。タスクの出力ファイルパスで `Read` を優先して廃止されました。ID に一致するタスクがない場合、エラーは実行中のバックグラウンドエージェントを ID と説明でリストします。v2.1.203 より前では、エラーは欠落している ID のみを名前付けていました | いいえ |
51| `TaskUpdate` | タスク ステータス、依存関係、詳細を更新するか、タスクを削除します | いいえ |57| `TaskStop` | ID でバックグラウンドタスクを実行中に停止します。また、[エージェントチームチームメイト](/docs/ja/agent-teams)またはエージェント ID または名前でバックグラウンドエージェントを受け入れます。v2.1.198 より前では、バックグラウンドタスク ID のみを受け入れていました。ID に一致するタスクがない場合、エラーは実行中のバックグラウンドエージェントを ID と説明でリストします。別のエージェントが生成したエージェントを含みます。v2.1.203 より前では、エラーは実行中のチームメイトと名前付きエージェントをリストしていましたが、別のエージェントが生成したバックグラウンドエージェントはリストしていなかったため、メイン会話から識別または停止できませんでした | いいえ |
52| `TodoWrite` | セッション タスク チェックリストを管理します。v2.1.142 以降、`TaskCreate`、`TaskGet`、`TaskList`、`TaskUpdate` を優先するため、デフォルトで無効になっています。`CLAUDE_CODE_ENABLE_TASKS=0` を設定して再度有効にします | いいえ |58| `TaskUpdate` | タスクステータス、依存関係、詳細を更新するか、タスクを削除します。Claude Code は、[タスクツール利用可能性](#task-tool-availability)の下にリストされているモデルでこれを除外します。オプトインしない限り | いいえ |
59| `TodoWrite` | セッションタスクチェックリストを管理します。`TaskCreate`、`TaskGet`、`TaskList`、`TaskUpdate` を優先して、デフォルトで無効になっています。[タスク追跡ツールを持つセッション](#task-tool-availability)で再度有効にするには、`CLAUDE_CODE_ENABLE_TASKS=0` を設定します | いいえ |
53| `ToolSearch` | [ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)が有効な場合、遅延ツールを検索してロードします | いいえ |60| `ToolSearch` | [ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)が有効な場合、遅延ツールを検索してロードします | いいえ |
54| `WaitForMcpServers` | バックグラウンドでまだ接続中の 1 つ以上の [MCP servers](/docs/ja/mcp)を待機するため、セッションを再開することなくそのツールをリクエストで使用できます。必要なサーバーがまだ接続されていない場合、Claude はそれを呼び出します。[ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)が無効な場合にのみ表示されます。有効な場合は `ToolSearch` が待機を処理するため | いいえ |61| `WaitForMcpServers` | バックグラウンドでまだ接続中の 1 つ以上の[MCP サーバー](/docs/ja/mcp)を待機して、セッションを再開しなくてもリクエストがそのツールを使用できるようにします。必要なサーバーがまだ接続されていない場合、Claude はこれを呼び出します。[ツール検索](/docs/ja/mcp#scale-with-mcp-tool-search)が無効な場合にのみ表示されます。有効な場合は `ToolSearch` が待機を処理します | いいえ |
55| `WebFetch` | 指定された URL からコンテンツを取得します。[WebFetch ツールの動作](#webfetch-tool-behavior)を参照してください | はい |62| `WebFetch` | 指定された URL からコンテンツを取得します。[WebFetch ツールの動作](#webfetch-tool-behavior)を参照してください | はい |
56| `WebSearch` | Web 検索を実行します。[WebSearch ツールの動作](#websearch-tool-behavior)を参照してください | はい |63| `WebSearch` | ウェブ検索を実行します。[WebSearch ツールの動作](#websearch-tool-behavior)を参照してください | はい |
57| `Workflow` | [動的ワークフロー](/docs/ja/workflows)を実行します:バックグラウンドで多くの subagent を調整し、1 つの統合結果を返すスクリプト | はい |64| `Workflow` | [動的ワークフロー](/docs/ja/workflows)を実行します。バックグラウンドで多くのサブエージェントをオーケストレーションし、1 つの統合結果を返すスクリプト | はい |
58| `Write` | ファイルを作成または上書きします。[Write ツールの動作](#write-tool-behavior)を参照してください | はい |65| `Write` | ファイルを作成または上書きします。[Write ツールの動作](#write-tool-behavior)を参照してください | はい |
59 66
60<h2 id="configure-tools-with-permission-rules-and-hooks">67<h2 id="configure-tools-with-permission-rules-and-hooks">
61 権限ルールとフックでツールを構成する68 権限ルールとフックでツールを設定する
62</h2>69</h2>
63 70
64ほとんどの場合、Claude はこれらのツールをいつ使用するかを決定し、Claude と対話するときにツール名を自分で指定する必要はありません。権限およびその他の構成を定義するときにツール名を直接参照します:71ほとんどの場合、Claude がこれらのツールをいつ使用するかを決定するため、Claude と対話するときに自分でツール名を指定する必要はありません。権限やその他の設定を定義するときにツール名を直接参照します。
65 72
66* 設定の [`permissions.allow` と `permissions.deny`](/docs/ja/settings#available-settings)および `/permissions` インターフェイス内73* 設定の [`permissions.allow`](/docs/ja/settings-reference#permissions-allow) と [`permissions.deny`](/docs/ja/settings-reference#permissions-deny)、および `/permissions` インターフェース内
67* [`allowedTools` と `disallowedTools`](/docs/ja/cli-reference)の CLI フラグ内74* [`CLI フラグ`](/docs/ja/cli-reference)の `--allowedTools` と `--disallowedTools`
68* Agent SDK の [`allowedTools` と `disallowedTools`](/docs/ja/agent-sdk/permissions#allow-and-deny-rules)オプション内75* Agent SDK の [`allowedTools` と `disallowedTools`](/docs/ja/agent-sdk/permissions#allow-and-deny-rules) オプション内
69* [subagent の `tools` または `disallowedTools`](/docs/ja/sub-agents#supported-frontmatter-fields)frontmatter 内76* [サブエージェントの `tools` または `disallowedTools`](/docs/ja/sub-agents#supported-frontmatter-fields) frontmatter 内
70* [skill の `allowed-tools`](/docs/ja/skills#frontmatter-reference)frontmatter 内77* [スキルの `allowed-tools`](/docs/ja/skills#frontmatter-reference) frontmatter 内
71* フックの [`if` 条件](/docs/ja/hooks-guide#filter-by-tool-name-and-arguments-with-the-if-field)内78* フックの [`if` 条件](/docs/ja/hooks-guide#filter-by-tool-name-and-arguments-with-the-if-field)内
72 79
73これらはすべて同じルール形式 `ToolName(specifier)` を受け入れます。指定子はツールによって異なり、複数のツールが形式を共有します:80これらはすべて同じルール形式 `ToolName(specifier)` を受け入れます。指定子はツールによって異なり、複数のツールが形式を共有しています。
74 81
75| ルール形式 | 適用対象 | 詳細 |82| ルール形式 | 適用対象 | 詳細 |
76| :----------------------------- | :---------------------- | :---------------------------------------------------------------- |83| :----------------------------- | :---------------------- | :----------------------------------------------------- |
77| `Bash(npm run *)` | Bash、Monitor | [コマンド パターン マッチング](/docs/ja/permissions#bash) |84| `Bash(npm run *)` | Bash、Monitor | [コマンドパターンマッチング](/docs/ja/permissions#bash) |
78| `PowerShell(Get-ChildItem *)` | PowerShell | [コマンド パターン マッチング](/docs/ja/permissions#powershell) |85| `PowerShell(Get-ChildItem *)` | PowerShell | [コマンドパターンマッチング](/docs/ja/permissions#powershell) |
79| `Read(~/secrets/**)` | Read、Grep、Glob、LSP | [パス パターン マッチング](/docs/ja/permissions#read-and-edit) |86| `Read(~/secrets/**)` | Read、Grep、Glob、LSP | [パスパターンマッチング](/docs/ja/permissions#read-and-edit) |
80| `Edit(/src/**)` | Edit、Write、NotebookEdit | [パス パターン マッチング](/docs/ja/permissions#read-and-edit) |87| `Edit(/src/**)` | Edit、Write、NotebookEdit | [パスパターンマッチング](/docs/ja/permissions#read-and-edit) |
81| `Skill(deploy *)` | Skill | [Skill 名マッチング](/docs/ja/skills#restrict-claude%E2%80%99s-skill-access) |88| `Skill(deploy *)` | Skill | [スキル名マッチング](/docs/ja/skills#restrict-claude's-skill-access) |
82| `Agent(Explore)` | Agent | [Subagent タイプ マッチング](/docs/ja/permissions#agent-subagents) |89| `Agent(Explore)` | Agent | [サブエージェントタイプマッチング](/docs/ja/permissions#agent-subagents) |
83| `WebFetch(domain:example.com)` | WebFetch | [ドメイン マッチング](/docs/ja/permissions#webfetch) |90| `WebFetch(domain:example.com)` | WebFetch | [ドメインマッチング](/docs/ja/permissions#webfetch) |
84| `WebSearch` | WebSearch | 指定子なし。ツール全体を許可または拒否します |91| `WebSearch` | WebSearch | 指定子なし。ツール全体を許可または拒否 |
85 92
86ここにリストされていないツール(`ExitPlanMode` や `ShareOnboardingGuide` など)は、指定子なしのベア ツール名のみを受け入れます。93ここに記載されていないツール(`ExitPlanMode` や `ShareOnboardingGuide` など)は、指定子なしの裸のツール名のみを受け入れます。
87 94
88`Edit(...)` 許可ルールは同じパスへの読み取りアクセスも付与するため、一致する `Read(...)` ルールは必要ありません。`Read(...)` 拒否ルールは同じパスの Edit ツールもブロックします。これには新しいファイルの作成も含まれます。編集には結果の読み取りが必要なためです。Edit での `Read` 拒否チェックには Claude Code v2.1.208 以降が必要です。95`Edit(...)` 許可ルールは同じパスへの読み取りアクセスも付与するため、一致する `Read(...)` ルールは必要ありません。`Read(...)` 拒否ルールは同じパス上の Edit および Write ツールもブロックします。これには新しいファイルの作成も含まれます。両方のツールが Claude が読み戻す必要があるコンテンツを変更するためです。`Read` 拒否チェックには、編集時に Claude Code v2.1.208 以降が必要です。書き込み時には v2.1.228 以降が必要です。
89 96
90フック `matcher` フィールドは括弧で囲まれたルール形式ではなく、ベア ツール名を使用します。[マッチャー パターン](/docs/ja/hooks#matcher-patterns)のマッチング ルールを参照してください。各ツールがフック内の `tool_input` に渡すフィールド名については、[PreToolUse 入力リファレンス](/docs/ja/hooks#pretooluse-input)を参照してください。97フックの `matcher` フィールドは、括弧で囲まれたルール形式ではなく、裸のツール名を使用します。マッチングルールについては [matcher パターン](/docs/ja/hooks#matcher-patterns)を参照してください。各ツールがフック内の `tool_input` に渡すフィールド名については、[PreToolUse 入力リファレンス](/docs/ja/hooks#pretooluse-input)を参照してください。
91 98
92<h2 id="agent-tool-behavior">99<h2 id="agent-tool-behavior">
93 Agent ツールの動作100 Agent ツールの動作
94</h2>101</h2>
95 102
96Agent ツールは、別のコンテキストウィンドウで subagent を生成します。Subagent はそのタスクを自律的に処理し、親会話に単一のテキスト結果を返します。親は subagent の中間ツール呼び出しまたは出力を見ず、その最終結果のみを見ます。103Agent ツールは、別のコンテキストウィンドウでサブエージェントを起動します。サブエージェントはそのタスクを自律的に処理し、親の会話に単一のテキスト結果を返します。親はサブエージェントの中間的なツール呼び出しや出力を見ることはなく、最終的な結果のみを見ます。[agent teams](/docs/ja/agent-teams) が有効な場合、`name` を持つ呼び出しは [teammate](/docs/ja/agent-teams#how-claude-starts-agent-teams) を起動することができ、結果を返す代わりにチームメッセージを通じて報告します。
104
105サブエージェントが実行するターン数を制限するには、[subagent definition](/docs/ja/sub-agents#supported-frontmatter-fields) で `maxTurns` を設定します。サブエージェントが制限に達すると、Claude Code は返された結果を部分的な出力としてマークし、Claude は [subagent を再開](/docs/ja/sub-agents#resume-subagents) して続行することができます。
106
107同じ Agent ツールは、[fork mode](/docs/ja/sub-agents#turn-fork-mode-on-or-off) がオンの場所で [forked subagents](/docs/ja/sub-agents#fork-the-current-conversation) も起動します。フォークは新規に開始する代わりに親の会話全体を継承し、[foreground に留まるケース](/docs/ja/sub-agents#run-subagents-in-foreground-or-background) を除いてバックグラウンドで実行され、ターミナルで権限プロンプトを表示します。このセクションの残りは、非フォーク subagent について説明します。
108
109非フォーク subagent が使用できるツールは、[subagent definition](/docs/ja/sub-agents) の `tools` フィールドと `disallowedTools` フィールドに依存します。
110
111* **どちらのフィールドも設定されていない場合**: subagent は [subagent で利用可能なすべてのツール](/docs/ja/sub-agents#available-tools) を継承します。
112* **`tools` のみ**: subagent はリストされたツールのみを取得します。
113* **`disallowedTools` のみ**: subagent はリストされたツール以外のすべての親ツールを取得します。
114* **両方設定されている場合**: `disallowedTools` が優先されます。両方にリストされているツールは削除されます。
115
116すべての場合において、解決されたセットは [subagent で利用可能なツール](/docs/ja/sub-agents#available-tools) に制限されます。subagent で利用可能でないツールは、`tools` にリストされている場合でも付与されることはありません。
117
118subagent の `tools` リスト内のすべてのエントリが使用可能なツールと一致しない場合、Agent ツールは通常、subagent を起動する代わりにエントリを名前で指定するエラーを返します。[Agent would be spawned with zero tools](/docs/ja/errors#agent-would-be-spawned-with-zero-tools) でメッセージと各エントリの修正方法を参照してください。
97 119
98Subagent が実行するターン数を制限するには、[subagent 定義](/docs/ja/sub-agents#supported-frontmatter-fields)で `maxTurns` を設定します。120subagent を起動すること自体は権限の確認を促しません。Claude Code は実行時に subagent 自身のツール呼び出しを権限ルールに対してチェックします。
99 121
100同じ Agent ツールは、フォーク モードが有効な場合に[フォーク subagent](/docs/ja/sub-agents#fork-the-current-conversation)も起動します。フォークは新規に開始する代わりに完全な親会話を継承し、常にバックグラウンドで実行され、ターミナルで権限プロンプトを表示します。このセクションの残りは名前付き subagent について説明します。122subagent の権限プロンプトが表示される場所は、foreground で実行されるか background で実行されるかによって異なります。Claude Code は [foreground で実行されるケース](/docs/ja/sub-agents#run-subagents-in-foreground-or-background) を除き、デフォルトで background で subagent を実行します。
101 123
102名前付き subagent が使用できるツールは、[subagent 定義](/docs/ja/sub-agents)の `tools` および `disallowedTools` フィールドに依存します:124* **Foreground subagents** は、メイン会話で見られるのと同じ権限プロンプトを表示し、各ツール呼び出しが発生した時点で表示されます。
125* **Background subagents** v2.1.186 以降、メインセッションで権限プロンプトを表示します。プロンプトはどの subagent がリクエストしているかを名前で示し、Esc キーを押すとそのツール呼び出しのみを拒否し、subagent を停止しません。v2.1.186 より前は、background subagent は権限プロンプトが表示されるツール呼び出しを自動的に拒否し、そのツールなしで続行していました。
103 126
104* **どちらのフィールドも設定されていない**:subagent は親が利用可能なすべてのツールを継承します。127[subagent が到達できる範囲を制限](/docs/ja/sub-agents#control-subagent-capabilities) するには、まず `tools` フィールドを絞り込みます。例えば、Bash をリストから除外するか、設定で拒否ルールを設定します。
105* **`tools` のみ**:subagent はリストされたツールのみを取得します。
106* **`disallowedTools` のみ**:subagent は親のすべてのツール(リストされたもの除く)を取得します。
107* **両方設定**:`disallowedTools` が優先されます。両方にリストされているツールは削除されます。
108 128
109Subagent の `tools` リストがまったくツールに解決されない場合(例えば、すべてのエントリが誤字であるか、subagent で利用できないツールに名前を付けている場合)、Agent ツールは subagent を起動する代わりに、それらのエントリをリストするエラーを返します。v2.1.208 より前は、subagent はツールなしで起動し、空または混乱した結果を返す可能性がありました。129<h2 id="askuserquestion-tool-behavior">
130 AskUserQuestion ツールの動作
131</h2>
132
133Claude は `AskUserQuestion` を使用して、決定や確認が必要な場合に複数選択肢の質問をします。オプションを選択して回答するか、`Other` 行またはメモフィールドを通じて独自のテキストを入力してください。
110 134
111Subagent を起動しても、それ自体は権限を求めるプロンプトを表示しません。Claude Code は、実行時に subagent の独自のツール呼び出しを権限ルールに対してチェックします。135独自のテキストを入力して回答する場合、Claude Code は中立的な表現で回答をリレーするため、Claude はあなたが書いたものに従い、最初に待機または説明するよう要求します。
136
137<h3 id="question-auto-continue-timeout">
138 質問の自動継続タイムアウト
139</h3>
112 140
113v2.1.198 以降、subagent はデフォルトでバックグラウンドで実行されます。Claude は結果が必要になる前に続行する必要がある場合、フォアグラウンドで実行します。141質問は、あなたが回答するまで開いたままになります。回答しないままにした質問が最終的に閉じて Claude が あなたなしで続行できるようにしたい場合は、[`askUserQuestionTimeout`](/docs/ja/settings-reference#askuserquestiontimeout) 設定を `60s`、`5m`、または `10m` に設定します。これはユーザーの `settings.json` または `/config` の **Question auto-continue timeout** 行から設定できます。
114 142
115* **フォアグラウンド subagent** は、メイン会話で見られるのと同じ権限プロンプトを表示し、各ツール呼び出しが発生した時点で表示されます。143質問がその期間入力なしで放置された後、ダイアログは自動的に閉じます。既に選択したオプションを送信し、Claude にあなたがキーボードから離れている可能性があることを伝えるため、Claude は独自の判断で進行し、後で再度質問できます。最後の 20 秒間のカウントダウンが表示されます。任意のキーを押してタイマーを再開します。フォーカスを報告するターミナルでは、ウィンドウに切り替えることでもタイマーが再開されます。
116* **バックグラウンド subagent** は v2.1.186 以降、メイン セッションで権限プロンプトを表示します。プロンプトはどの subagent がリクエストしているかを示し、Esc キーを押すとその 1 つのツール呼び出しを拒否し、subagent を停止しません。v2.1.186 より前は、バックグラウンド subagent は、そうでなければプロンプトを表示するツール呼び出しを自動的に拒否し、そのツールなしで続行していました。
117 144
118Subagent が最初に到達できるものを制限するには、その `tools` フィールドを絞り込み、Bash をリストから外すか、[Subagent 機能の制御](/docs/ja/sub-agents#control-subagent-capabilities)で説明されているように設定で拒否ルールを設定します。フォアグラウンドとバックグラウンドの選択の詳細については、[Subagent をフォアグラウンドまたはバックグラウンドで実行](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)を参照してください。145タイムアウトは `AskUserQuestion` の複数選択肢の質問にのみ適用されます。権限プロンプト(計画承認を含む)は、アイドル時に自動解決されることはありません。
119 146
120<h2 id="bash-tool-behavior">147<h2 id="bash-tool-behavior">
121 Bash ツールの動作148 Bash ツールの動作
122</h2>149</h2>
123 150
124Bash ツールは、次の永続化動作で各コマンドを別々のプロセスで実行します:151Bash ツールは各コマンドを別々のプロセスで実行します。
152
153<h3 id="what-persists-between-commands">
154 コマンド間で保持されるもの
155</h3>
156
157* Claude が メインセッションで `cd` を実行すると、新しい作業ディレクトリは、プロジェクトディレクトリ内に留まっている限り、または `--add-dir`、`/add-dir`、もしくは設定の `additionalDirectories` で追加した[追加の作業ディレクトリ](/docs/ja/permissions#working-directories)内に留まっている限り、後続の Bash コマンドに引き継がれます。サブエージェントセッションは作業ディレクトリの変更を引き継ぎません。
158 * `cd` がこれらのディレクトリの外に出た場合、Claude Code はプロジェクトディレクトリにリセットし、ツール結果に `Shell cwd was reset to <dir>` を追加します。
159 * この引き継ぎを無効にして、すべての Bash コマンドがプロジェクトディレクトリで開始されるようにするには、`CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1` を設定します。
160* 環境変数は保持されません。1 つのコマンドで `export` しても、次のコマンドでは利用できません。
161* シェルスタートアップファイルで定義されたエイリアスとシェル関数は利用可能です。セッション開始時に、Claude Code は `~/.zshrc`、`~/.bashrc`、または `~/.profile` をシェルに応じてソースし、結果のエイリアス、関数、シェルオプションをキャプチャして、すべての Bash コマンドに適用します。
162
163Claude Code を起動する前に virtualenv または conda 環境をアクティベートしてください。環境変数を Bash コマンド間で保持するには、Claude Code を起動する前に [`CLAUDE_ENV_FILE`](/docs/ja/env-vars) をシェルスクリプトに設定するか、[SessionStart フック](/docs/ja/hooks#persist-environment-variables)を使用して動的に設定してください。
164
165<h3 id="timeout-and-output-limits">
166 タイムアウトと出力制限
167</h3>
168
169各コマンドはタイムアウト下で実行され、Claude がそれを管理します。コマンドにデフォルトより長い時間が必要な場合、その呼び出しで `timeout` パラメータを渡します。ユーザーがコマンドごとのタイムアウトを設定することはありません。2 つの[環境変数](/docs/ja/env-vars)が Claude が取得するものを制限します。
170
171* `BASH_DEFAULT_TIMEOUT_MS` — Claude がタイムアウトを渡さない場合のデフォルト。デフォルトでは 2 分です。
172* `BASH_MAX_TIMEOUT_MS` — デフォルトでは、Claude が要求するものを上限で制限します。有効な上限は 2 つの値の大きい方です。デフォルトでは 10 分です。
173
174<h4 id="output-limits">
175 出力制限
176</h4>
177
178Claude Code はコマンドの出力をコマンド実行中に作業ファイルにストリーミングします。出力が 5 GB を超えるコマンドは強制終了されます。コマンドが完了すると、Claude Code はそのファイルから出力を読み戻します。読み戻しウィンドウは以下で説明されています。出力のどの程度が Claude にインラインで到達するかは、Claude Code が結果を失敗として扱うかどうかによって異なります。
179
180| 結果 | Claude が取得するもの |
181| :- | :------------------------------------------------------------------------------------------------------------------------------------ |
182| 有効 | デフォルトでは約 30,000 文字までインライン。それ以上の場合、セッションディレクトリに保存されたファイルのパスと 64 MiB を超える部分は切り詰められ、開始部分からの短いプレビューが表示されます。Claude は必要に応じてファイルを読み取るか検索します。 |
183| 失敗 | 約 10,000 文字までインライン。それ以上の場合、読み戻しウィンドウから切り出された同じサイズの先頭と末尾の抜粋。ファイルパスはありません。 |
184
185終了コード 1 で終了するコマンドは、Claude Code がそのコマンドに対して終了コード 1 を良好な結果として認識する場合にのみ、Bash ツールの有効な結果としてカウントされます。`grep`、`rg`、`egrep`、`fgrep`、`find`、`diff`、`test`、`[`、および `git diff` と `git grep` です。終了コード 1 で終了する他のすべてのコマンドは失敗としてカウントされます。終了コード 1 が良好な情報結果である場合でも同様です。`pgrep` と `jq -e` の一致なし、`cmp` の異なるファイルなど。
186
187[`BASH_MAX_OUTPUT_LENGTH`](/docs/ja/env-vars) は、Claude Code が作業ファイルからコマンド結果に読み戻す出力の文字数を設定します。デフォルトは 30,000 文字で、ハード上限は 150,000 文字です。コマンドが定期的にそのウィンドウをオーバーフローする場合、例えば詳細なビルドまたは完全なテストスイートログの場合は、これを上げてください。これを上げると読み戻しウィンドウが拡大され、これは失敗したコマンドの抜粋が切り出されるウィンドウでもあります。インラインの上限は上げません。インラインの上限を超える有効な結果は、この変数に関係なくファイルパスとプレビューとして到達します。
188
189有効な結果の Claude が受け取るインラインの量を変更するには、代わりに [`bashOutputMaxChars`](/docs/ja/settings-reference#bashoutputmaxchars) 設定を設定してください。最大 128,000 文字まで設定できます。これはインラインの上限と読み戻しウィンドウのサイズを一緒に設定し、Claude Code は `BASH_MAX_OUTPUT_LENGTH` を無視します。Claude Code v2.1.261 以降が必要です。
190
191<h3 id="background-commands">
192 バックグラウンドコマンド
193</h3>
194
195開発サーバーやウォッチビルドなどの長時間実行プロセスの場合、Claude は `run_in_background: true` を設定してコマンドをバックグラウンドタスクとして開始し、実行中に作業を続けることができます。`/tasks` でバックグラウンドタスクをリストアップして停止します。そこから停止するか、デスクトップアプリなどの接続されたクライアントから停止すると、Claude は待機する代わりに先に進みます。サブエージェントがコマンドを開始した場合、先に進むのはそのサブエージェントです。
196
197[フォアグラウンドサブエージェント](/docs/ja/sub-agents#run-subagents-in-foreground-or-background)が開始したコマンドは、そのサブエージェントが最終応答を提供するときに停止します。メインの会話またはバックグラウンドサブエージェントが開始したコマンドは、最終応答の後も実行し続けます。`-p` フラグを使用した非対話型モードでは、[バックグラウンドコマンドは実行の最終結果の直後に終了します](/docs/ja/headless#background-tasks-at-exit)。
198
199コマンドがタイムアウトに達しても完了しない場合、Claude Code はそれを停止する代わりにバックグラウンドに移動します。Claude はコマンドが続行している間、作業を続けます。Claude Code は移動されたコマンドに他のバックグラウンドコマンドと同じライフタイムルールを適用するため、フォアグラウンドサブエージェントのコマンドはそのサブエージェントの最終応答で終了します。[`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/ja/env-vars#variables) を設定すると、バックグラウンドタスク機能の残りと共に自動バックグラウンド化を無効にします。
200
201Claude Code は 3 種類のコマンドを自動バックグラウンド化しません。代わりにタイムアウトで停止します。
202
203* `sleep` で始まるコマンド。
204* どこかで `git` を実行するコマンド。
205* Claude Code が単純なコマンドに完全に解析できない複合コマンド。Claude Code は `${VAR}` などのパラメータ展開を解析不可能として扱うため、`; exit "${PIPESTATUS[0]}"` で終わるコマンドは、コマンドの残りが解析される場合でもタイムアウトで停止します。
206
207バックグラウンドに移動されたコマンドの結果は、何が起こったかを示します。
208
209* タイムアウトが移動をトリガーする場合、結果は明示的に報告します。`Command did not complete within its 120s timeout and was moved to the background`。秒はタイムアウトに一致し、その後にタスク ID と出力が書き込まれているファイルのパスが続きます。
210* バックグラウンドに移動されるコマンド内の `cd`、`pushd`、`popd`、または `chdir` は決して引き継がれません。結果は `Session cwd remains <dir>; directory changes made by the backgrounded command do not apply to subsequent commands.` と述べているため、Claude は発生しなかったディレクトリ変更に対して行動しません。
125 211
126* Claude がメイン セッションで `cd` を実行すると、新しい作業ディレクトリはプロジェクト ディレクトリ内に留まる限り、または `--add-dir`、`/add-dir`、または設定の `additionalDirectories` で追加した[追加の作業ディレクトリ](/docs/ja/permissions#working-directories)内に留まる限り、後の Bash コマンドに引き継がれます。Subagent セッションは作業ディレクトリの変更を引き継ぎません。212<h3 id="memory-limit-on-linux-and-wsl">
127 * `cd` がこれらのディレクトリの外に出た場合、Claude Code はプロジェクト ディレクトリにリセットし、ツール結果に `Shell cwd was reset to <dir>` を追加します。213 Linux と WSL のメモリ制限
128 * この引き継ぎを無効にして、すべての Bash コマンドがプロジェクト ディレクトリで開始されるようにするには、`CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1` を設定します。214</h3>
129* 環境変数は永続化されません。1 つのコマンドの `export` は次のコマンドでは利用できません。215
130* シェル スタートアップ ファイルで定義されたエイリアスとシェル関数は利用できます。セッション開始時に、Claude Code はシェルに応じて `~/.zshrc`、`~/.bashrc`、または `~/.profile` をソースし、結果のエイリアス、関数、およびシェル オプションをキャプチャして、すべての Bash コマンドに適用します。216Linux と WSL では、[`CLAUDE_CODE_TOOL_MEMORY_LIMIT`](/docs/ja/env-vars#variables) を `4G` などのサイズに設定して、Bash、PowerShell、および[Monitor](#monitor-tool) ツールコマンドが使用できるメモリを上限に設定し、1 つの暴走ビルドがセッションの残りが必要とするメモリを奪わないようにします。Claude Code v2.1.233 以降が必要です。v2.1.246 より前では、Monitor ツールコマンドは上限の外で実行されていました。
131 217
132Claude Code を起動する前に virtualenv または conda 環境をアクティブ化してください。Bash コマンド間で環境変数を永続化するには、Claude Code を起動する前に [`CLAUDE_ENV_FILE`](/docs/ja/env-vars) をシェル スクリプトに設定するか、[SessionStart フック](/docs/ja/hooks#persist-environment-variables)を使用して動的に設定します。218* サイズをバイト数として、または `K`、`M`、`G`、または `T` サフィックス付きで記述します。`0`、`off`、`false`、`no`、または `none` を設定して上限をオフにします。Claude Code は `4e9` などのサイズとして読み取ることができない他の値を無視します。
219* Claude Code は、各コマンドごとではなく、1 つの上限に対してセッションのすべての Bash、PowerShell、および Monitor コマンドをカウントします。
220* Claude Code はメモリ cgroup で上限を適用します。cgroup をセットアップできない場合、コマンドは上限なしで実行され、`claude --debug` からのデバッグログは理由を示します。
221* Claude Code が開始した最初のプロセスが上限をオンにした後、またはオフ値またはcgroup セットアップの失敗のためにオフにした後、Claude Code はその結果を保持します。変更または削除された値、または固定されたセットアップを適用するには、`claude` を再度起動します。
222* コマンドが上限の下に留まることができない場合、カーネルはコマンドを強制終了し、その結果に上限を名前で示すものはありません。
133 223
1342 つの制限が各コマンドを制限します:224Claude Code は、開始する他の種類のプロセスも同じ制限に対してカウントできます。[`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/ja/env-vars#variables) を上限から除外する種類のカンマ区切りリストに設定します。Claude Code はリストにない種類に上限を適用します。`none` に設定してすべての種類に上限を設定するか、`all-new` に設定して Bash、PowerShell、および Monitor ツールコマンドのみに上限を設定します。Claude Code v2.1.246 以降が必要です。名前を付けることができる種類は次のとおりです。
135 225
136* **タイムアウト**:デフォルトでは 2 分です。Claude は `timeout` パラメーターで 1 コマンドあたり最大 10 分をリクエストできます。[`BASH_DEFAULT_TIMEOUT_MS` と `BASH_MAX_TIMEOUT_MS`](/docs/ja/env-vars)でデフォルトと上限をオーバーライドします。226* `mcp`: ローカル[MCP サーバー](/docs/ja/mcp)
137* **出力長**:デフォルトでは 30,000 文字です。コマンドがそれ以上を生成する場合、Claude Code は完全な出力をセッション ディレクトリのファイルに保存し、Claude にファイル パスと開始からの短いプレビューを提供します。Claude は必要に応じてそのファイルを読み取るか検索します。[`BASH_MAX_OUTPUT_LENGTH`](/docs/ja/env-vars)で制限を上げます。上限は 150,000 文字です。227* `lsp`: [言語サーバー](#lsp-tool-behavior)
228* `hooks`: [フック](/docs/ja/hooks)コマンド
229* `plugin`: [プラグイン](/docs/ja/plugins)が実行するコマンド
230* `helper`: Claude Code 独自のヘルパーコマンド(`git` など)
231* `agent`: [エージェントチームメイト](/docs/ja/agent-teams)などの子 Claude Code プロセス
138 232
139開発サーバーやウォッチ ビルドなどの長時間実行プロセスの場合、Claude は `run_in_background: true` を設定して、コマンドをバックグラウンド タスクとして開始し、実行中に作業を続けることができます。`/tasks` でバックグラウンド タスクをリストおよび停止します。非インタラクティブ モードで `-p` フラグを使用する場合、[バックグラウンド タスクは実行の最終結果の直後に終了します](/docs/ja/headless#background-tasks-at-exit)。233リストするものに関係なく、これらのルールが適用されます。
234
235* **不明な名前**: Claude Code は認識しない名前を無視します。
236* **Bash、PowerShell、および Monitor**: Claude Code は、リストするものに関係なく、Bash、PowerShell、および Monitor ツールコマンドを上限の下に保ちます。
237* **変数が設定されていない**: Claude Code は、Anthropic がサーバーから配信する設定から他のキャップされた種類のセットを取得し、そのセットは時間とともに変わる可能性があるため、変更されないセットが必要な場合は変数を設定します。
238* **権限ゲーティングフック**: すべての種類がキャップされている場合でも、Claude Code はアクションをブロックまたは変更できるフック、およびそのようなフックが呼び出す MCP サーバーを上限から除外するため、カーネルが権限ゲーティングフックを強制終了してもブロックしていたアクションを許可することはできません。
140 239
141<h2 id="edit-tool-behavior">240<h2 id="edit-tool-behavior">
142 Edit ツールの動作241 Edit ツールの動作
143</h2>242</h2>
144 243
145Edit ツールは正確な文字列置換を実行します。`old_string` と `new_string` を取り、最初のものを 2 番目のものに置き換えます。正規表現またはあいまい一致は使用しません。244Edit ツールは正確な文字列置換を実行します。`old_string` と `new_string` を受け取り、最初のものを 2 番目のものに置き換えます。正規表現やあいまい一致は使用しません。
245
246編集を適用するには、3 つのチェックに合格する必要があります。その前に、[`Read` 拒否ルール](/docs/ja/permissions#tool-specific-permission-rules)に一致するパスは拒否されます。新しいファイルをそこに作成することも含まれます。この拒否には Claude Code v2.1.208 以降が必要です。
146 247
147編集を適用するには、3 つのチェックが合格する必要があります。その前に、[`Read` 拒否ルール](/docs/ja/permissions#tool-specific-permission-rules)に一致するパスは拒否されます。これには新しいファイルをそこに作成することも含まれます。この拒否には Claude Code v2.1.208 以降が必要です。248* **Read-before-edit**: Claude は編集前に現在の会話でファイルを読み取り、[`PARTIAL view` 通知](#read-tool-behavior)で短縮された読み取りはカウントされません。Claude Opus 4.6、Claude Haiku 4.5、およびそれ以前のモデルは常に読み取りが必要です。新しいモデルは、読み取りが権限プロンプトを必要としない場合、および Read ツールが利用可能な場合、読み取られていないファイルを編集できます。
249* **Match**: `old_string` はファイルに記述されたとおりに正確に表示される必要があります。空白またはインデントの 1 文字の違いでも一致を逃す可能性があります。
250* **Uniqueness**: `old_string` は正確に 1 回だけ表示される必要があります。複数回表示される場合、Claude は 1 つの出現を特定するのに十分な周囲のコンテキストを含む長い文字列を提供するか、`replace_all: true` を設定してすべてを置換します。
148 251
149* **編集前の読み取り**:Claude は現在の会話でファイルを読み取っている必要があり、[`PARTIAL ビュー` 通知](#read-tool-behavior)で短縮された読み取りはカウントされません。Claude Opus 4.6、Claude Haiku 4.5、およびそれ以前のモデルは常に読み取りが必要です。新しいモデルは、読み取りが権限プロンプトを必要とせず、Read ツールが利用可能な場合、未読ファイルを編集できます。252Claude が最後に読み取った後、ディスク上で変更されたファイルは、`old_string` が現在のコンテンツと正確かつ明確に一致し、Claude Code がプロンプトなしでファイルを読み取ることができる場合でも編集できます。ファイルの現在のコンテンツに対してマッチングすることでこれを安全に保ち、結果はファイルが他の変更を含むことを示すため、Claude は周囲のコンテンツに依存する編集の前に再度読み取ります。古い `old_string` や `replace_all` なしで複数回一致するものなど、その他の場合は、Claude は編集前にファイルを再度読み取ります。読み取られていないファイルと変更されたファイルの緩和された処理には Claude Code v2.1.208 以降が必要です。それ以前は、Claude Code は会話で読み取られていないファイルまたは読み取り後にディスク上で変更されたファイルへの編集を拒否していました。
150* **マッチ**:`old_string` はファイルに正確に記述されたとおりに表示される必要があります。空白またはインデントの 1 文字の違いでも不一致になります。
151* **一意性**:`old_string` は正確に 1 回表示される必要があります。複数回表示される場合、Claude は 1 つの出現を特定するのに十分な周囲コンテキストを含む長い文字列を提供するか、`replace_all: true` を設定してすべてを置き換えます。
152 253
153Claude が最後に読み取った後、ディスク上で変更されたファイルは、`old_string` が現在のコンテンツと正確かつ明確に一致し、Claude Code がプロンプトなしでファイルを読み取ることができる場合でも編集できます。ファイルの現在のコンテンツに対してマッチングすることでこれを安全に保ち、結果はファイルが他の変更を含むことを示すため、Claude は周囲のコンテンツに依存する編集の前に再度読み取ります。古い `old_string` や `replace_all` なしで複数回マッチするものなど、その他の場合は、Claude は編集する前にファイルを再度読み取ります。未読および変更されたファイルの緩和された処理には Claude Code v2.1.208 以降が必要です。それ以前は、Claude Code は会話で読み取っていないファイルまたは読み取り後にディスク上で変更されたファイルへの編集を拒否していました。254Bash でファイルを表示することは、コマンドが `cat`、`nl`、`bat`、`batcat`、`head`、`tail`、`sed -n 'X,Yp'`、`grep`、`egrep`、`fgrep`、または `rg` である場合、パイプまたはリダイレクトなしで単一ファイルに対して read-before-edit 要件を満たします。パイプされた出力およびその他の Bash コマンドは read-before-edit チェックにはカウントされません。
255
256Bash でファイルを表示することは、権限ではなく編集適格性にのみ影響します。[Read と Edit の権限ルール](/docs/ja/permissions#read-and-edit)を参照して、`Read` と `Edit` 拒否ルールがどの Bash コマンドをカバーするかを確認してください。
257
258<h2 id="endconversation-tool-behavior">
259 EndConversation ツールの動作
260</h2>
154 261
155Bash でファイルを表示することは、コマンドが `cat`、`head`、`tail`、`sed -n 'X,Yp'`、`grep`、`egrep`、または `fgrep` である場合、パイプやリダイレクトのない単一ファイルに対して、編集前の読み取り要件を満たします。パイプ出力およびその他の Bash コマンドは編集前の読み取りチェックにはカウントされません。262EndConversation ツールは現在のセッションを終了します。Claude がこれを使用するのは 2 つの状況のみです。
156 263
157これは編集の適格性にのみ影響し、権限には影響しません。[Read および Edit 拒否ルール](/docs/ja/permissions#tool-specific-permission-rules)は、Claude Code が `cat`、`head`、`tail`、`sed`、`grep` などの Bash で認識するファイルコマンドにも適用されますが、Python または Node スクリプトがファイルを自分で開くなど、ファイルを間接的に読み取るまたは書き込む任意のサブプロセスには適用されません。読み取り前編集リストの `egrep` と `fgrep` は読み取り前編集ではカウントされますが、Read 拒否ルールに対してはチェックされません。すべてのプロセスをカバーする OS レベルの強制については、[サンドボックスを有効にする](/docs/ja/sandboxing)を参照してください。264* 継続的な不適切な入力に対する最後の手段として、会話をリダイレクトする試みが失敗し、前のメッセージで明確な警告を出した後
265* カスタマーが明示的にツールのデモンストレーションを見たいと要求し、セッションを終了したいことを確認した場合
266
267一般的なフラストレーション、下品な言葉遣い、またはタスクが上手くいかないことは該当しません。有害なコンテンツのリクエストも該当しません。Claude はセッションを終了する代わりにそれらを拒否します。Claude Code は claude.ai と同じアプローチに従い、[チャットの限定的なサブセットを終了](https://www.anthropic.com/research/end-subset-conversations)することができます。
268
269Claude がインタラクティブセッションを終了した後、セッションはロックされます。新しいプロンプトとほとんどのコマンドは `Claude ended this conversation. Start a new session (or /clear) to continue.` を返し、`/clear`、`/resume`、`/help`、`/exit`、および `/feedback` のみが実行されます。Claude Code はセッションのトランスクリプトに終了を記録するため、終了したセッションを再開するとロックが復元されます。セッションの履歴は削除されません。
270
271[非インタラクティブモード](/docs/ja/headless)で `-p` フラグを使用して終了したセッションを再開するとエラーが発生し、コード 1 で終了するため、スクリプトは終了した実行を成功として読み取りません。
272
273このツールは権限を求めるプロンプトを表示することはなく、[PreToolUse フック](/docs/ja/hooks#pretooluse)はこのツールに対して実行されません。他のツールが残っている間は、これをブロックすることもできません。[EndConversation という名前の deny and ask ルール](/docs/ja/permissions#tool-specific-permission-rules)は効果がなく、`--disallowedTools` も `--tools` リストもこれを削除できません。この除外は意図的です。このツールはセッションを終了する以外に何もしません。ファイルやデータを読み取ったり変更したりすることはなく、この種のセーフガードは、それが適用されるセッションがそれをオフにできない場合にのみ機能します。deny ルールが他のすべてのツールを削除し、`"*"` のように EndConversation にも一致する場合、Claude Code は allow ルールが EndConversation を明示的に指定しない限り、唯一のツールとして残すのではなく、それを削除します。EndConversation に一致しずに他のすべてのツールを削除する deny リストは、それを所定の位置に残します。
274
275[サブエージェント](/docs/ja/sub-agents)はこのツールを取得しません。メインの会話のツールリストを共有するバックグラウンドタスクはそれを見ますが、そこでそれを呼び出しても何も終了しません。
276
277このツールは以下のすべてが当てはまる場合にのみ表示されます。
278
279* **バージョン**: Claude Code v2.1.213 以降。
280* **モデル**: セッションのモデルが Claude Opus 4.8、Claude Sonnet 5、Claude Fable 5、またはこれらのファミリーの後続バージョンです。
281* **サーフェス**: インタラクティブターミナルセッション。IDE の統合ターミナルの `claude` セッションを含みます。これは [JetBrains プラグイン](/docs/ja/jetbrains)がそれを実行する方法です。他のサーフェスはこのツールを含みません。例えば:
282 * 非インタラクティブな `-p` 実行
283 * [Agent SDK](/docs/ja/agent-sdk/overview) TypeScript および Python パッケージを通じたセッション
284 * [VS Code 拡張機能](/docs/ja/vs-code)パネル。独自の CLI をバンドルしています
285 * [GitHub Actions](/docs/ja/github-actions)
286 * [Claude Code on the web](/docs/ja/claude-code-on-the-web)
287* **スタートアップモード**: [`--bare`](/docs/ja/headless#start-faster-with-bare-mode) セッションではありません。ベアモードはシェルとファイルツールのみをロードするため、このツールはそこに登録されません。
288* **プロバイダー**: [Amazon Bedrock](/docs/ja/amazon-bedrock)、[Claude Platform on AWS](/docs/ja/claude-platform-on-aws)、[Google Cloud の Agent Platform](/docs/ja/google-vertex-ai)、または [Microsoft Foundry](/docs/ja/microsoft-foundry) では利用できません。また、[クラウドゲートウェイ](/docs/ja/claude-apps-gateway)を通じてサインインしたセッションでも利用できません。
158 289
159<h2 id="glob-tool-behavior">290<h2 id="glob-tool-behavior">
160 Glob ツールの動作291 Glob ツールの動作
161</h2>292</h2>
162 293
163Glob ツールはファイルを名前パターンで検索します。`**` を含む標準 glob 構文をサポートして、再帰的なディレクトリ マッチングを行います:294Glob ツールはファイル名パターンでファイルを検索します。`**` を使用した再帰的なディレクトリマッチングを含む標準的な glob 構文をサポートしています。
164 295
165* `**/*.js` は任意の深さのすべての `.js` ファイルにマッチします296* `**/*.js` は任意の深さにあるすべての `.js` ファイルにマッチします
166* `src/**/*.ts` は `src/` の下のすべての `.ts` ファイルにマッチします297* `src/**/*.ts` は `src/` 以下のすべての `.ts` ファイルにマッチします
167* `*.{json,yaml}` は現在のディレクトリの `.json` および `.yaml` ファイルにマッチします298* `*.{json,yaml}` は現在のディレクトリ内の `.json` および `.yaml` ファイルにマッチします
168 299
169結果は変更時刻でソートされ、100 ファイルで制限されます。制限に達した場合、Claude は結果に切り詰めフラグを見て、パターンを絞り込むことができます。300結果は変更時刻でソートされ、100 ファイルの上限があります。上限に達した場合、Claude は結果に切り詰めフラグを表示し、パターンを絞り込むことができます。
170 301
171Glob はデフォルトで `.gitignore` を尊重しないため、追跡されたファイルと並んで gitignore されたファイルを検出します。これは [Grep](#grep-tool-behavior) とは異なり、gitignore されたファイルをスキップします。Glob が `.gitignore` を尊重するようにするには、Claude Code を起動する前に `CLAUDE_CODE_GLOB_NO_IGNORE=false` を設定します。302Glob はデフォルトでは `.gitignore` を尊重しないため、gitignore されたファイルと追跡されたファイルの両方を検索します。これは gitignore されたファイルをスキップする [Grep](#grep-tool-behavior) とは異なります。Glob が `.gitignore` を尊重するようにするには、Claude Code を起動する前に `CLAUDE_CODE_GLOB_NO_IGNORE=false` を設定してください。
172 303
173`pattern` または `path` の値に null バイトが含まれている場合、Claude にそれを削除するよう求めるエラーが返されます。304Claude Code は Glob 呼び出しの権限を決定してから、検索ディレクトリが存在するかどうかを確認します。[作業ディレクトリ](/docs/ja/permissions#working-directories) 外の存在しない `path` に対しても読み取り権限チェックを実行するため、パスの権限プロンプトはそのパスが存在することを意味しません。
305
306null バイトを含む `pattern` または `path` 値はエラーを返し、Claude にそれを削除するよう求めます。
174 307
175<h2 id="grep-tool-behavior">308<h2 id="grep-tool-behavior">
176 Grep ツールの動作309 Grep ツールの動作
177</h2>310</h2>
178 311
179Grep ツールはファイル コンテンツ内のパターンを検索します。[Glob](#glob-tool-behavior)がファイルを名前で検索する場合、Grep はそれらの内部の行を検索します。312Grep ツールはファイルの内容からパターンを検索します。[Glob](#glob-tool-behavior) がファイル名でファイルを検索するのに対し、Grep はそれらの内部の行を検索します。
180 313
181Grep は [ripgrep](https://github.com/BurntSushi/ripgrep)に基づいており、POSIX grep ではなく ripgrep の正規表現構文を使用します。正規表現メタ文字を含むパターンはエスケープが必要です。たとえば、Go コードで `interface{}` を検出するには、パターン `interface\{\}` が必要です。314Grep は [ripgrep](https://github.com/BurntSushi/ripgrep) に基づいており、POSIX grep ではなく ripgrep の正規表現構文を使用します。正規表現のメタ文字を含むパターンはエスケープが必要です。例えば、Go コードで `interface{}` を検索する場合、パターン `interface\{\}` が必要です。
182 315
183ripgrep が拒否するパターン、glob、またはファイル タイプは、ripgrep の診断を含むエラーを返すため、Claude は入力を修正して再度検索できます。v2.1.208 より前では、Claude Code は拒否された入力を、検索対象のテキストが対象ファイルに存在する場合でも、エラーではなく `No files found` として報告していました。316ripgrep が拒否するパターン、glob、またはファイルタイプは、ripgrep の診断を含むエラーを返すため、Claude は入力を修正して再度検索できます。v2.1.208 より前では、Claude Code は拒否された入力を、検索対象のテキストが対象ファイルに存在する場合でも、エラーではなく `No files found` として報告していました。
184 317
1853 つの出力モードは、戻ってくるものを制御します:3183 つの出力モードが何を返すかを制御します。
186 319
187* `files_with_matches`:ファイル パスのみ、行コンテンツなし。これがデフォルトです。320* `files_with_matches`: ファイルパスのみで、行の内容はありません。これがデフォルトです。
188* `content`:ファイルと行番号を含む一致する行。321* `content`: ファイルと行番号を含む一致する行。ツールの `offset` パラメータが一致を持つパターンの最後の一致を超えて指す場合、Grep は `No entries at this offset` を返すため、Claude はパターンが一致しないと結論付けるのではなく、offset を拡大またはリセットします。
189* `count`:ファイルごとの一致数。その後、すべての一致ファイル全体の合計。合計は、ツールの `head_limit` または `offset` パラメーターがファイルごとのエントリをトリミングする場合でも、すべての一致をカバーします。v2.1.208 より前では、合計はリストされたエントリのみを合計していました。322* `count`: ファイルごとの一致数、その後すべての一致するファイル全体の合計。合計はツールの `head_limit` または `offset` パラメータがリストされたファイルごとのエントリを切り詰める場合でも、すべての一致をカバーします。v2.1.208 より前では、合計はリストされたエントリのみを合計していました。
190 323
191Claude は `**/*.tsx` などの `glob` パラメーターでファイルごとに結果をスコープするか、`py` または `rust` などの `type` パラメーターで言語ごとにスコープできます。デフォルトでは、パターンは単一行内で一致します。Claude は `multiline: true` を設定して、行の境界を越えて一致させることができます。324Claude は `glob` パラメータ(例:`**/*.tsx`)でファイルごとに結果をスコープできます。または `type` パラメータ(例:`py` または `rust`)で言語ごとにスコープできます。デフォルトでは、パターンは単一行内で一致します。Claude は `multiline: true` を設定して、行の境界を越えて一致させることができます。
192 325
193Grep は `.gitignore` を尊重するため、gitignore されたファイルはスキップされます。gitignore されたファイルを検索するには、Claude はそのパスを直接渡します。326Grep は `.gitignore` を尊重するため、gitignore されたファイルはスキップされます。gitignore されたファイルを検索するには、Claude はそのパスを直接渡します。
194 327
328Claude Code は Grep 呼び出しの権限を、検索 `path` が存在するかどうかを確認する前に決定します。[作業ディレクトリ](/docs/ja/permissions#working-directories) 外の存在しない `path` に対して読み取り権限チェックを実行するため、パスの権限プロンプトはそのパスが存在することを意味しません。
329
195<h2 id="lsp-tool-behavior">330<h2 id="lsp-tool-behavior">
196 LSP ツールの動作331 LSP ツールの動作
197</h2>332</h2>
198 333
199LSP ツールは、実行中の言語サーバーから Claude にコード インテリジェンスを提供します。ファイル編集後、型エラーと警告を自動的に報告するため、Claude は別のビルド ステップなしで問題を修正できます。Claude はナビゲーション操作のために直接呼び出すこともできます:334LSP ツールは、実行中の言語サーバーから Claude にコード インテリジェンスを提供します。ファイルを編集するたびに、型エラーと警告を自動的に報告するため、Claude は別のビルド ステップなしで問題を修正できます。Claude はコードをナビゲートするために直接呼び出すこともできます。
200 335
201* シンボルの定義へのジャンプ336* シンボルの定義にジャンプ
202* シンボルへのすべての参照を検索337* シンボルへのすべての参照を検索
203* 位置での型情報を取得338* 位置での型情報を取得
204* ファイル内のシンボルをリスト339* ファイル内のシンボルをリスト表示
205* ワークスペース全体でシンボルを名前で検索340* ワークスペース全体でシンボルを名前で検索
206* インターフェイスの実装を検索341* インターフェースの実装を検索
207* 呼び出し階層をトレース342* コール階層をトレース
343
344Claude Code は、言語の[コード インテリジェンス プラグイン](/docs/ja/discover-plugins#code-intelligence)をインストールするまで、ツールを非アクティブに保ちます。[クラウド セッション](/docs/ja/claude-code-on-the-web)では、Claude Code はプラグイン言語サーバーを起動しないため、LSP ツールはそこで非アクティブなままです。Claude Code は言語サーバーの設定をプラグインから取得し、サーバー バイナリは自分でインストールします。
208 345
209ツールは、言語の[コード インテリジェンス プラグイン](/docs/ja/discover-plugins#code-intelligence)をインストールするまで非アクティブです。プラグインは言語サーバー構成をバンドルし、サーバー バイナリは別途インストールします。346Claude Code は、言語サーバーを起動できないファイルの各 LSP 呼び出しに対してエラー結果を返します。
210 347
211<h2 id="monitor-tool">348<h2 id="monitor-tool">
212 Monitor ツール349 Monitor ツール
213</h2>350</h2>
214 351
215Monitor ツールを使用すると、Claude は会話を一時停止することなく、バックグラウンドで何かを監視し、変更時に対応できます。Claude に以下を依頼します:352Monitor ツールは Claude がバックグラウンドで何かを監視し、会話を一時停止することなく変更時に反応することができます。Claude に以下のことを依頼できます。
216 353
217* ログ ファイルをテールして、エラーが表示されたらフラグを立てる354* ログファイルをテールして、エラーが表示されたらフラグを立てる
218* PR または CI ジョブをポーリングして、ステータスが変更されたときに報告する355* PR または CI ジョブをポーリングして、ステータスが変更されたときに報告する
219* ディレクトリのファイル変更を監視する356* ディレクトリのファイル変更を監視する
220* 指定した長時間実行スクリプトからの出力を追跡する357* 指定した長時間実行スクリプトからの出力を追跡する
221* WebSocket フィードに接続し、到着した各メッセージを報告する358* WebSocket フィードに接続して、到着した各メッセージを報告する
222 359
223ほとんどの監視では、Claude は監視用の小さなスクリプトを作成し、バックグラウンドで実行し、到着した各出力行を受け取ります。イベントをプッシュするサーバーの場合、Claude はスクリプトを実行する代わりに、[WebSocket](#websocket-source) を開くことができます。360ほとんどの監視では、Claude は小さなスクリプトを作成し、バックグラウンドで実行し、到着した各出力行を受け取ります。イベントをプッシュするサーバーの場合、Claude はスクリプトを実行する代わりに [WebSocket](#websocket-source) を開くことができます。
224 361
225同じセッションで作業を続け、イベントが到着すると Claude が割り込みます。Claude にキャンセルするよう依頼するか、セッションを終了することで Monitor を停止します。362同じセッションで作業を続けることができ、イベントが到着すると Claude が割り込みます。
226 363
227Monitor がコマンドを実行する場合、[Bash と同じ権限ルール](/docs/ja/permissions#tool-specific-permission-rules)を使用するため、Bash に設定した `allow` および `deny` パターンがここにも適用されます。[WebSocket ソース](#websocket-source)には独自の承認プロンプトがあります。364Monitor をキャンセルするよう Claude に依頼するか、セッションを終了することで Monitor を停止できます。例えば `/tasks` から開始された Monitor を停止する [subagent](/docs/ja/sub-agents) を停止すると、それらの Monitor も一緒に停止します。
228 365
229このツールは Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません。`DISABLE_TELEMETRY` または `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合も利用できません。366Monitor がコマンドを実行するとき、[Bash と同じ権限ルール](/docs/ja/permissions#tool-specific-permission-rules) を使用するため、Bash に設定した `allow` および `deny` パターンがここにも適用されます。[auto mode](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) がアクティブな場合、Claude Code は `Monitor` 自体を名前に含む allow ルール、および [削除する他のブロード allow ルール](/docs/ja/permission-modes#how-the-classifier-evaluates-actions) を脇に置くため、分類器は Monitor コマンドを Bash コマンドと同じ方法で確認します。
230 367
231プラグインは、Claude に開始するよう依頼する代わりに、プラグインがアクティブな場合に自動的に開始される Monitor を宣言できます。[プラグイン Monitor](/docs/ja/plugins-reference#monitors)を参照してください。368[WebSocket ソース](#websocket-source) には独自の承認プロンプトがあり、分類器も auto mode で決定します。
369
370このツールは Amazon Bedrock、Google Cloud の Agent Platform、または Microsoft Foundry では利用できません。また、`DISABLE_TELEMETRY` または `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` が設定されている場合も利用できません。
371
372プラグインは Claude に開始を依頼する代わりに、プラグインがアクティブな場合に自動的に開始される Monitor を宣言できます。[プラグイン Monitor](/docs/ja/plugins-reference#monitors) を参照してください。
232 373
233<h3 id="websocket-source">374<h3 id="websocket-source">
234 WebSocket ソース375 WebSocket ソース
238 WebSocket ソースには Claude Code v2.1.195 以降が必要です。379 WebSocket ソースには Claude Code v2.1.195 以降が必要です。
239</Note>380</Note>
240 381
241サーバーが既に WebSocket 経由でイベントをプッシュしている場合、Claude はポーリング スクリプトを作成する代わりに、直接接続できます。各種のソケット アクティビティはイベントになるか、監視を終了します:382サーバーが既に WebSocket 経由でイベントをプッシュしている場合、Claude はポーリング スクリプトを作成する代わりに直接接続できます。各種のソケット アクティビティはイベントになるか、監視を終了します。
242 383
243* **テキスト メッセージ**:各メッセージが 1 つのイベントになります。メッセージが複数行にまたがる場合でも同じです。384* **テキスト メッセージ**: メッセージが複数行にまたがる場合でも、各メッセージが 1 つのイベントになります。
244* **バイナリ メッセージ**:渡されません。Claude は `[binary frame, 512 bytes]` などのプレースホルダー行を受け取ります。385* **バイナリ メッセージ**: 渡されません。Claude は `[binary frame, 512 bytes]` などのプレースホルダー行を受け取ります。
245* **1 MiB より大きいメッセージ**:監視が終了するため、フィルタリングされたフィードが存在する場合はそれにサブスクライブしてください。386* **1 MiB より大きいメッセージ**: 監視が終了するため、フィルタリングされたフィードが存在する場合はそれにサブスクライブしてください。
246* **ソケット クローズ**:監視が終了し、Claude はクローズ コードを受け取ります。387* **ソケット クローズ**: 監視が終了し、Claude はクローズ コードを受け取ります。
247 388
248WebSocket 監視は `command` の代わりに `ws` 入力を使用し、1 つの Monitor 呼び出しで両方を組み合わせることはできません。`ws` 入力には 2 つのフィールドがあります:389WebSocket 監視は `command` の代わりに `ws` 入力を取り、単一の Monitor 呼び出しは 2 つを組み合わせることはできません。`ws` 入力には 2 つのフィールドがあります。
249 390
250| フィールド | 必須 | 説明 |391| フィールド | 必須 | 説明 |
251| :---------- | :-- | :------------------------------------------------------------------------------------ |392| :---------- | :-- | :--------------------------------------------------------------------------------------- |
252| `url` | はい | 接続するエンドポイント。`ws://` または `wss://` URL である必要があり、埋め込まれた認証情報やホワイトスペースがなく、ASCII 文字のみを使用します |393| `url` | はい | 接続するエンドポイント。埋め込まれた認証情報またはホワイトスペースなしで、ASCII 文字のみを使用する `ws://` または `wss://` URL である必要があります |
253| `protocols` | いいえ | ハンドシェイク中に提供する WebSocket サブプロトコル名。各エントリは有効なサブプロトコル トークンである必要があり、リストに重複を含めることはできません |394| `protocols` | いいえ | ハンドシェイク中に提供する WebSocket サブプロトコル名。各エントリは有効なサブプロトコル トークンである必要があり、リストに重複を含めることはできません |
254 395
255`timeout_ms` および `persistent` 入力は、コマンドの場合と同じように動作します。`persistent` が設定されていない限り、監視は期限で終了し、`TaskStop` は早期にキャンセルします。396`timeout_ms` および `persistent` 入力は、コマンドの場合と同じように動作します。`persistent` が設定されていない限り、監視はデッドラインで終了し、`TaskStop` は早期にキャンセルします。
256 397
257WebSocket を開くと承認を求めるプロンプトが表示され、プロンプトは同じホストの今後のプロンプトをスキップするオプションを提供しません。398WebSocket を開くと承認を求めるプロンプトが表示されます。[auto mode](/docs/ja/permission-modes#eliminate-prompts-with-auto-mode) では分類器が代わりに決定します。プロンプトは同じホストの将来のプロンプトをスキップするオプションを提供しません。
258 399
259Claude Code は、プライベート、リンク ローカル、またはクラウド メタデータ アドレスを指すホスト名を含む URL を拒否します。また、`sandbox.network.deniedDomains` 内のホストも拒否し、マネージド設定で [`allowManagedDomainsOnly`](/docs/ja/settings#sandbox-settings) が設定されている場合は、マネージド許可リスト外のホストを拒否します。400Claude Code は、ホスト名が 1 つに解決される場合を含む、プライベート、リンク ローカル、またはクラウド メタデータ アドレスを指すURL を拒否します。また、`sandbox.network.deniedDomains` 内のホストも拒否し、マネージド設定で [`allowManagedDomainsOnly`](/docs/ja/settings-reference#sandbox-network-allowmanageddomainsonly) が設定されている場合、マネージド許可リスト外のホストも拒否します。
260 401
261<h2 id="notebookedit-tool-behavior">402<h2 id="notebookedit-tool-behavior">
262 NotebookEdit ツールの動作403 NotebookEdit ツールの動作
276 PowerShell ツール417 PowerShell ツール
277</h2>418</h2>
278 419
279PowerShell ツールを使用すると、Claude は PowerShell コマンドをネイティブに実行できます。Windows では、これは Git Bash を経由するのではなく、PowerShell でコマンドが実行されることを意味します。ツールが利用可能になる方法はプラットフォームによって異なります:420PowerShell ツールを使用すると、Claude は PowerShell コマンドをネイティブに実行できます。Windows では、これはコマンドが Git Bash を経由するのではなく PowerShell で実行されることを意味します。ツールが利用可能になる方法はプラットフォームによって異なります。
421
422* **Git Bash がない Windows**: ツールは自動的に有効になります。
423* **Git Bash がインストールされている Windows**: ツールは claude.ai と Console アカウントではデフォルトで有効です。Amazon Bedrock、Google Cloud の Agent Platform、Microsoft Foundry セッションで有効にするには `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定するか、無効にするには `0` を設定します。
424* **Linux、macOS、WSL**: ツールはオプトインです。
280 425
281* **Git Bash がない Windows**:ツールは自動的に有効になります。426[PreToolUse フック](/docs/ja/hooks#powershell)は、Bash ツールと同じフィールドを持つ `tool_input.command` でツールのコマンド文字列を受け取ります。
282* **Git Bash がインストールされている Windows**:ツールは段階的にロールアウトされています。427
283* **Linux、macOS、および WSL**:ツールはオプトインです。428シェルコマンドを検査するフックで `Bash|PowerShell` と一致させます。[PowerShell フック入力セクション](/docs/ja/hooks#powershell)は、`Bash` だけと一致させるだけでは十分でない理由を説明しています。
284 429
285<h3 id="enable-the-powershell-tool">430<h3 id="enable-the-powershell-tool">
286 PowerShell ツールを有効にする431 PowerShell ツールを有効にする
287</h3>432</h3>
288 433
289環境または `settings.json` で `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定します:434環境または `settings.json` で `CLAUDE_CODE_USE_POWERSHELL_TOOL=1` を設定します。
290 435
291```json theme={null}436```json theme={null}
292{437{
296}441}
297```442```
298 443
299Windows では、変数を `0` に設定してロールアウトをオプトアウトします。Linux、macOS、および WSL では、ツールに PowerShell 7 以降が必要です:`pwsh` をインストールして、`PATH` に含まれていることを確認します。444Windows では、ツールを無効にするために変数を `0` に設定します。Linux、macOS、WSL では、ツールは PowerShell 7 以降が必要です。`pwsh` をインストールして、`PATH` に含まれていることを確認します。
300 445
301Windows では、Claude Code は PowerShell 7 以降の `pwsh.exe` を自動検出し、PowerShell 5.1 の `powershell.exe` にフォールバックします。ツールが有効になっている場合、Claude は PowerShell をプライマリシェルとして扱います。Git Bash がインストールされている場合、Bash ツールは POSIX スクリプト用に利用可能なままです。446Windows では、Claude Code は PowerShell 7 以降の `pwsh.exe` を自動検出し、PowerShell 5.1 の `powershell.exe` にフォールバックします。ツールが有効な場合、Claude は PowerShell をプライマリシェルとして扱います。Git Bash がインストールされている場合、Bash ツールは POSIX スクリプト用に利用可能なままです。
302 447
303Claude Code は `-ExecutionPolicy Bypass` を使用して PowerShell をプロセススコープのみで生成するため、`.ps1` スクリプトとモジュールのインポートは、マシンのポリシーを変更することなく、デフォルトの Windows インストールで機能します。プロセススコープのバイパスは、グループ ポリシーの `MachinePolicy` または `UserPolicy` をオーバーライドしないため、エンタープライズポリシーは引き続き適用されます。マシンの有効な実行ポリシーを尊重する代わりに、`CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1` を設定します。448Claude Code は PowerShell をプロセススコープのみで `-ExecutionPolicy Bypass` で起動するため、`.ps1` スクリプトとモジュールインポートは、マシンのポリシーを変更することなく、デフォルトの Windows インストールで機能します。プロセススコープのバイパスは、グループポリシーの `MachinePolicy` または `UserPolicy` をオーバーライドしないため、エンタープライズポリシーは引き続き適用されます。マシンの有効な実行ポリシーを尊重するには、`CLAUDE_CODE_POWERSHELL_RESPECT_EXECUTION_POLICY=1` を設定します。
304 449
305<h3 id="shell-selection-in-settings-hooks-and-skills">450<h3 id="shell-selection-in-settings-hooks-and-skills">
306 設定、フック、スキルでのシェル選択451 設定、フック、スキルでのシェル選択
307</h3>452</h3>
308 453
3093 つの追加設定は PowerShell が使用される場所を制御します:4543 つの追加設定は PowerShell が使用される場所を制御します。
455
456* [`settings.json`](/docs/ja/settings-reference#all-settings) の `"defaultShell": "powershell"`: インタラクティブな `!` コマンドを PowerShell を経由してルーティングします。PowerShell ツールが有効になっている必要があります。
457* 個別の[コマンドフック](/docs/ja/hooks#command-hook-fields)の `"shell": "powershell"`: そのフックを PowerShell で実行します。フックは PowerShell を直接起動するため、`CLAUDE_CODE_USE_POWERSHELL_TOOL` に関係なく機能します。
458* [スキルフロントマター](/docs/ja/skills#frontmatter-reference)の `shell: powershell`: `` !`command` `` ブロックを PowerShell で実行します。PowerShell ツールが有効になっている必要があります。
310 459
311* [`settings.json`](/docs/ja/settings#available-settings)の `"defaultShell": "powershell"`:対話型 `!` コマンドを PowerShell 経由でルーティングします。PowerShell ツールが有効になっている必要があります。460Bash ツールセクションで説明されているのと同じメインセッションの作業ディレクトリリセット動作が PowerShell コマンドに適用されます。これには `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` 環境変数が含まれます。
312* 個別の[コマンド フック](/docs/ja/hooks#command-hook-fields)の `"shell": "powershell"`:そのフックを PowerShell で実行します。フックは PowerShell を直接生成するため、`CLAUDE_CODE_USE_POWERSHELL_TOOL` に関係なく機能します。
313* [skill frontmatter](/docs/ja/skills#frontmatter-reference)の `shell: powershell`:`` !`command` `` ブロックを PowerShell で実行します。PowerShell ツールが有効になっている必要があります。
314 461
315Bash ツール セクションで説明されている同じメイン セッション作業ディレクトリ リセット動作が PowerShell コマンドに適用されます。これには `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR` 環境変数が含まれます。462v2.1.196 以降、`grep`、`rg`、`egrep`、`fgrep`、`findstr`、`git grep` からの終了コード 1 は一致がないことを意味します。`git diff` からの終了コード 1 は差分が存在することを意味します。どちらの結果も Claude にコマンド失敗として報告されません。`robocopy` の場合、終了コード 0 から 7 は情報結果です。コピーされたファイルや検出された追加ファイルなどです。終了コード 8 以上は失敗としてカウントされます。
463
464<h3 id="windows-encoding-and-exit-codes">
465 Windows エンコーディングと終了コード
466</h3>
316 467
317v2.1.196 以降、PowerShell ツールは Bash ツールの検索および diff 終了コードの処理と一致します。`grep`、`egrep`、`fgrep`、および `git grep` からの終了コード 1 は一致がないことを意味し、`git diff` からの終了コード 1 は差分が存在することを意味するため、これらの結果は Claude へのコマンド失敗として報告されません。468Windows では、以下の PowerShell エンコーディングと終了コード動作には Claude Code v2.1.214 以降が必要です。
469
470* `>` と `>>` でのリダイレクトは PowerShell 5.1 で UTF-8 ファイルを書き込みます
471* Claude Code はネイティブコマンドの標準入力にパイプされたテキストを UTF-8 としてエンコードします
472* Claude Code は ANSI エスケープシーケンスなしでエラー出力をキャプチャします
473* 子プロセスが標準入力で待機するコマンドは、ハングするのではなくファイルの終わりを受け取ります
474* `where.exe` からの終了コード 1 は一致がないことを意味し、`fc.exe` と `diff.exe` からはファイルが異なることを意味するため、コマンドが出力を生成する場合、Claude Code はその終了コードをコマンドエラーではなく有効な否定的な回答として扱います。Claude Code は `where.exe /Q` または `$null` へのリダイレクトなどのサイレント形式を終了コード 1 での失敗として報告します
475
476v2.1.214 より前では、PowerShell 5.1 の `>` は UTF-16LE ファイルを書き込み、非 ASCII パイプ入力は `?` として到着し、Python スクリプトは非 ASCII 文字を出力するときに `UnicodeEncodeError` でクラッシュする可能性がありました。
318 477
319<h3 id="preview-limitations">478<h3 id="preview-limitations">
320 プレビューの制限事項479 プレビューの制限事項
321</h3>480</h3>
322 481
323PowerShell ツールには、プレビュー中に次の既知の制限事項があります:482PowerShell ツールには、プレビュー中に以下の既知の制限事項があります。
324 483
325* PowerShell プロファイルはロードされません484* PowerShell プロファイルは読み込まれません
326* Windows では、サンドボックスはサポートされていません485* Windows では、サンドボックス化はサポートされていません
327 486
328<h2 id="read-tool-behavior">487<h2 id="read-tool-behavior">
329 Read ツールの動作488 Read ツールの動作
330</h2>489</h2>
331 490
332Read ツールはファイル パスを取得し、行番号付きでコンテンツを返します。Claude は常に絶対パスを渡すよう指示されます。491Read ツールはファイルパスを受け取り、行番号付きでコンテンツを返します。Claude は常に絶対パスを渡すように指示されています。
492
493デフォルトでは、Read はファイルの開始から返します。ファイル全体の読み込みがトークン制限を超える場合、Read は最初のページを `PARTIAL view` 通知とともに返し、Claude が受け取ったファイルの量と `offset` および `limit` を使用してさらに読み込む方法を伝えます。明示的な `offset` または `limit` を渡す読み込みがトークン制限を超える場合、エラーが返されます。
333 494
334デフォルトでは、Read は開始からファイルを返します。全ファイル読み取りがトークン制限を超える場合、Read は最初のページを `PARTIAL view` 通知付きで返し、Claude がファイルのどの部分を受け取ったか、および `offset` と `limit` を使用してさらに読み取る方法を伝えます。明示的な `offset` または `limit` を渡す読み取りがトークン制限を超える場合でも、エラーを返します。495明示的な `limit` を指定した読み込みは、選択された行がトークン制限に収まる量を超えるとすぐに停止し、範囲の残りを読み込まずにエラーを返します。エラーは Claude に、より小さい `limit` を使用するか、単一行がそれほど大きい場合は [Grep](#grep-tool-behavior) で特定のコンテンツを検索するよう指示します。v2.1.208 より前では、Claude Code は範囲全体をメモリに読み込んでから拒否していたため、非常に長い単一行を持つファイルを読み込むとメモリ不足になる可能性がありました。
335 496
336明示的な `limit` を指定した読み取りは、選択された行がトークン制限で収まる可能性のある量を超えるとすぐに停止し、残りの範囲を読み込まずにエラーを返します。エラーは Claude に、より小さい `limit` を使用するか、単一行が大きい場合は代わりに [Grep](#grep-tool-behavior) で特定のコンテンツを検索するよう指示します。v2.1.208 より前では、Claude Code は範囲全体をメモリに読み込んでから拒否していたため、非常に長い単一行を持つファイルはメモリを枯渇させる可能性がありました。497空のファイルを読み込むと、ファイルは存在するがコンテンツが空であることを示す通知が返され、最後の行を超えた `offset` はファイルの行数を示す通知を返します。v2.1.208 より前では、空のファイルを読み込むと末尾を超えた通知が返されていました。
337 498
338空のファイルを読み取ると、ファイルは存在するがコンテンツが空であることを示す通知が返され、最後の行を超えた `offset` は、ファイルの行数を示す通知を返します。v2.1.208 より前では、空のファイルを読み取ると、末尾を超えた通知が返されていました。499Read は平文テキスト以外のいくつかのファイルタイプを処理します。
339 500
340Read はプレーン テキストを超えるいくつかのファイル タイプを処理します:501* **画像**: PNG、JPG、およびその他の画像形式は、生バイトではなく Claude が見ることができるビジュアルコンテンツとして返されます。Claude Code は大きな画像をモデルの画像サイズ制限に合わせるようにリサイズして再圧縮してから送信するため、Claude は大きなスクリーンショットのダウンスケール版を見る可能性があります。v2.1.196 以降、そのリサイズ後も 500KB より大きい画像は、ピクセル寸法を変更せずに品質を低下させた JPEG として再エンコードされます。Claude が大きな画像の細かいピクセルレベルの詳細を見落とした場合、ImageMagick を使用して Bash で領域をトリミングするなど、関心のある領域を最初にトリミングするよう指示してください。
502* **PDF**: Claude は短い `.pdf` ファイルを全体として読み込みます。10 ページを超える PDF の場合、`pages` パラメータ(例:`"1-5"`)を使用して範囲で読み込み、一度に最大 20 ページまで読み込みます。
503* **Jupyter ノートブック**: `.ipynb` ファイルは、コード、マークダウン、ビジュアライゼーションを含むすべてのセルとその出力を返します。Claude Code は 100 MB を超えるノートブックファイルの読み込みを拒否します。エラーは Claude に、Bash シェルコマンドを使用してセルのスライスなど、ノートブックの一部を読み込む方法を指示します。
504
505Read はファイルのみを読み込み、ディレクトリは読み込みません。Claude は `ls` などのシェルコマンドを使用してディレクトリコンテンツをリストします。
506
507<h2 id="sendfeedback-tool-behavior">
508 SendFeedback ツールの動作
509</h2>
510
511Claude が作成したフィードバックは、Claude Code に関する Claude が作成するフィードバックレポートです。Claude Code v2.1.238 以降が必要です。Claude Code は各ドラフトをマシン上の `~/.claude/feedback/drafts/` に保存し、送信するまで何も Anthropic に到達しません。Claude は以下の場合に SendFeedback ツールでドラフトを作成します。
512
513* ツールまたはコマンドが失敗し続ける
514* 要求されたことに対応できない
515* 自分が犯した間違いを指摘するか、それに気付く
516* フィードバックを提出するよう要求する
517
518<h3 id="what-you-see-when-claude-drafts">
519 Claude がドラフトを作成するときに表示される内容
520</h3>
341 521
342* **画像**:PNG、JPG、およびその他の画像形式は、生バイトではなく Claude が見ることができるビジュアル コンテンツとして返されます。Claude Code は大きな画像をモデルの画像サイズ制限に合わせるようにサイズ変更および再圧縮するため、Claude は大きなスクリーンショットのダウンスケール版を見る場合があります。v2.1.196 以降、そのサイズ変更後も 500KB より大きい画像は、ピクセル寸法を変更せずに品質を低下させた JPEG として再エンコードされます。Claude が大きな画像で細かいピクセル レベルの詳細を見落とす場合は、ImageMagick を使用して Bash 経由で関心領域を最初にトリミングするよう依頼してください。522Claude がドラフトをキューに入れた後、プロンプトの上にドラフトのタイトルが表示されたカードが表示されます。`1` を押してドラフトを確認し、`2` を 2 回押して記述されたとおりに送信するか、`0` を押して却下します。却下されたドラフトはキューに残ります。カードを却下した後、Claude Code は Claude が作成したフィードバックをオフにするかどうかを尋ねます。2 回拒否すると、質問が停止します。
343* **PDF**:Claude は短い `.pdf` ファイルを全体的に読み取ります。10 ページより長い PDF の場合、`pages` パラメーター(`"1-5"` など)で範囲で読み取り、一度に最大 20 ページまで読み取ります。
344* **Jupyter ノートブック**:`.ipynb` ファイルは、コード、マークダウン、ビジュアライゼーションを含む、すべてのセルとその出力を返します。
345 523
346Read はファイルのみを読み取り、ディレクトリは読み取りません。Claude は Bash ツール経由で `ls` を使用してディレクトリ コンテンツをリストします。524デフォルトでは、セッションで最大 3 つのカードが表示されます。Anthropic はリリースなしでサーバーからその制限を調整できます。制限後、および [`feedbackDrafts`](/docs/ja/settings-reference#feedbackdrafts) を `quiet` に設定するたびに、プロンプトフッターにキューに入れられたドラフトの数のみが表示されます。
525
526<h3 id="review-and-edit-a-draft">
527 ドラフトを確認して編集する
528</h3>
529
530引数なしで `/feedback` を実行してキューを開きます。これにより、カードを却下したセッションや表示されなかったセッションを含む、すべてのセッションからキューに入れられたすべてのドラフトが一覧表示されます。ドラフトを選択して確認用に開くと、以下を実行できます。
531
532* タイトル、領域、詳細を編集する
533* **トランスクリプトを送信** を `yes` または `no` に設定します。Claude がドラフトをキューに入れたセッションからのトランスクリプトがまだ利用可能な場合、`yes` で開始され、その会話を Anthropic に送信します。`no` はレポートのみを送信します
534* ドラフトを送信するか、破棄するか、後で使用するためにキューに残す
535
536代わりに自分でレポートを作成するには、`w` を押して標準フィードバックダイアログを開きます。その後のテキストを含む `/feedback` と `/bug` がそのダイアログを直接開きます。
537
538<h3 id="send-a-draft">
539 ドラフトを送信する
540</h3>
541
542ドラフトを送信すると、Claude Code は `/feedback` レポートと同じ方法で送信し、同じ [保持期間](/docs/ja/data-usage#feedback-using-the-%2Ffeedback-command) を使用し、マシンからドラフトを削除します。カードから送信すると、`✓ Sent` が表示されます。キューから送信すると、受信 ID で閉じます。
543
544レポートには以下が含まれます。
545
546* タイトル、領域、詳細
547* Claude Code バージョン、オペレーティングシステム、モデルなどの環境情報
548* 最近の API リクエストの ID
549* 確認画面で **トランスクリプトを送信** を `yes` のままにした場合の会話トランスクリプト。カードから送信する場合、トランスクリプトは含まれません
550
551Claude Code はローカルドラフトに作業ディレクトリを保持してトランスクリプトを見つけることができ、ディレクトリは送信しません。
552
553[ゼロデータ保持を使用する組織](/docs/ja/zero-data-retention#features-disabled-under-zdr) では、Claude Code は `/feedback` と同様にツールを除外します。そのような組織のセッションがまだツールを提供している場合、ドラフトはマシンに残り、送信は `Feedback collection is not available for organizations with custom data retention policies.` で失敗します。
554
555<h3 id="discard-or-keep-a-draft">
556 ドラフトを破棄または保持する
557</h3>
558
559ドラフトを破棄すると、Claude Code はマシンからそれを削除します。キューに残すドラフトは 30 日後、または [`cleanupPeriodDays`](/docs/ja/settings-reference#cleanupperioddays) がより短い場合はその後に期限切れになります。キューはすべてのセッション全体で 10 個のドラフトを保持し、Claude が 11 番目をキューに入れると、Claude Code は最も古いものを削除します。セッションからのドラフトがまだキューに入っている状態で `/exit` を実行すると、Claude Code は終了する前にそれらを確認するか破棄するかを尋ねます。
560
561<h3 id="turn-claude-drafted-feedback-off">
562 Claude が作成したフィードバックをオフにする
563</h3>
564
565`/config` で **Claude が作成したフィードバック** を `off` に設定します。これにより [`feedbackDrafts`](/docs/ja/settings-reference#feedbackdrafts) 設定が書き込まれるか、1 つのセッションに対して [`CLAUDE_CODE_SEND_FEEDBACK=0`](/docs/ja/env-vars) を設定します。どちらでも、Claude はドラフトをキューに入れることができません。カードなしでドラフトを続行するには、代わりに `feedbackDrafts` を `quiet` に設定します。管理者は [管理設定](/docs/ja/managed-settings) で `feedbackDrafts` を設定でき、これは独自の設定よりも優先されます。
566
567<h3 id="sessions-without-claude-drafted-feedback">
568 Claude が作成したフィードバックなしのセッション
569</h3>
570
571Claude Code には、Claude API を使用する独自のマシン上のインタラクティブターミナルセッションにツールが含まれています。以下からツールを除外します。
572
573* キューを確認する画面がない非インタラクティブ `-p` 実行と [Agent SDK](/docs/ja/agent-sdk/overview) セッション
574* マシン上のキューに書き込むことができない [Claude Code on the web](/docs/ja/claude-code-on-the-web) などのクラウドセッション
575* [Amazon Bedrock](/docs/ja/amazon-bedrock)、[Claude Platform on AWS](/docs/ja/claude-platform-on-aws)、[Google Cloud の Agent Platform](/docs/ja/google-vertex-ai)、または [Microsoft Foundry](/docs/ja/microsoft-foundry) 上のセッション
576* [`CLAUDE_CODE_SEND_FEEDBACK=0`](/docs/ja/env-vars) または [`DISABLE_FEEDBACK_COMMAND=1`](/docs/ja/env-vars) を設定したセッション、`CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` を空でない値に設定したセッション、または [機能フラグ取得](/docs/ja/env-vars#features-that-need-feature-flag-fetching) をオフにしたセッション
577* 製品フィードバックをオフにした組織、および [ゼロデータ保持を使用する組織](/docs/ja/zero-data-retention#features-disabled-under-zdr)
578
579<h2 id="task-tool-availability">
580 Task ツールの利用可能性
581</h2>
582
583Claude Code v2.1.233 以降では、以下のツールは Opus 4.8、Sonnet 5、Fable 5、Mythos 5、またはそれ以降のバージョンでは、オプトインしない限り利用できません:`TodoWrite`、`TaskCreate`、`TaskGet`、`TaskUpdate`、および `TaskList`。これらのモデルは書かれたチェックリストなしで複数ステップの作業を追跡でき、ツールの定義とリマインダーはコンテキストを占有するため、Claude Code はそれらを除外します。これらがない場合、Claude は作業中に[タスクリスト](/docs/ja/interactive-mode#task-list)に何も追加しません。Opus 4.7 などの他のモデルでは、Claude Code はデフォルトで 4 つの Task ツールを提供し、[`CLAUDE_CODE_ENABLE_TASKS=0`](/docs/ja/env-vars)を設定した場合のみ `TodoWrite` を提供します。
584
585これらのツールをリストされたモデルのいずれかで使用したい場合は、以下のいずれかを実行してください:
586
587* Claude Code を開始する前に [`CLAUDE_CODE_ENABLE_TODO_TOOLS=1`](/docs/ja/env-vars)をエクスポートします。例えば `CLAUDE_CODE_ENABLE_TODO_TOOLS=1 claude`。Claude Code はすべてのモデルとすべてのプロバイダーで同じツールを提供します
588* [`--allowedTools`](/docs/ja/cli-reference#cli-flags)で、例えば `claude --allowedTools TaskCreate` のようにツールの 1 つを指定します
589* [`--tools`](/docs/ja/cli-reference#cli-flags)でツールをリストします。これはセッションの組み込みツールを指定されたものに制限します。使用する他の組み込みツールと一緒に必要なツールを含めます
590* Agent SDK では、[`allowedTools` と `tools` オプション](/docs/ja/agent-sdk/todo-tracking#model-availability)は 2 つのフラグと同じように機能します
591
592[バックグラウンドセッション](/docs/ja/agent-view)および[ウェブ上の Claude Code](/docs/ja/claude-code-on-the-web)では、Claude Code はリストされているかどうかに関わらず、すべてのモデルで同じツールを提供します。
593
594Claude Code はサブエージェントにツールを提供するのは、セッションがそれらを持っている場合のみです。サブエージェントが異なるモデルを実行している場合でも同じです。プロセス内の[エージェントチーム](/docs/ja/agent-teams)メンバーはセッションと同じ方法で従いますが、独自の[分割ペイン](/docs/ja/agent-teams#choose-a-display-mode)にいるメンバーは別の Claude Code プロセスとして実行されるため、独自のモデルが決定します。Task ツールがない場合、エージェントは[共有タスクリスト](/docs/ja/agent-teams#assign-and-claim-tasks)の代わりにメッセージを通じてチームと調整します。
347 595
348<h2 id="webfetch-tool-behavior">596<h2 id="webfetch-tool-behavior">
349 WebFetch ツールの動作597 WebFetch ツールの動作
350</h2>598</h2>
351 599
352WebFetch は URL と抽出する内容を説明するプロンプトを取得します。ページを取得し、サーバーが HTML を返す場合は応答を Markdown に変換し、小さく高速なモデルを使用してコンテンツに対してプロンプトを実行します。ほとんどのフェッチでは、Claude はそのモデルの回答を受け取り、生のページではなく受け取ります。変換ステップは構成不可です。600WebFetch は URL とそこから抽出する内容を説明するプロンプトを受け取ります。ページをフェッチし、サーバーが HTML を返した場合はレスポンスを Markdown に変換し、小型で高速なモデルを使用してコンテンツに対してプロンプトを実行します。ほとんどのフェッチでは、Claude はそのモデルの回答を受け取り、生のページではありません。変換ステップは設定できません。
353 601
354これにより WebFetch は設計上損失があります。抽出プロンプトは Claude に到達するものを決定するため、ページが何かについて言及していないという結果は、プロンプトがそれについて尋ねなかったことのみを意味する場合があります。Claude にもっと具体的なプロンプトで再度フェッチするよう依頼するか、Bash 経由で `curl` を使用して未処理のページを取得します。602これにより WebFetch は設計上、情報損失が発生します。抽出プロンプトが Claude に到達する内容を決定するため、ページがあるものについて言及していないという結果は、単にプロンプトがそれについて尋ねなかったことを意味するだけかもしれません。Claude に別のより具体的なプロンプトでもう一度フェッチするよう依頼するか、Bash 経由で `curl` を使用して未処理のページを取得してください。
355 603
356いくつかの動作は Claude が受け取る応答を形成します:604Claude が受け取るレスポンスを形作るいくつかの動作があります。
357 605
358* HTTP URL は自動的に HTTPS にアップグレードされます。606* HTTP URL は自動的に HTTPS にアップグレードされます。
359* 大きなページは処理前に固定文字制限に切り詰められます。607* 大きなページは処理前に固定文字数制限に切り詰められます。
360* 応答は 15 分間キャッシュされるため、同じ URL の繰り返しフェッチは迅速に返されます。608* WebFetch はデフォルトで各レスポンスを 15 分間キャッシュするため、同じ URL の繰り返しフェッチは迅速に返されます。Claude Code v2.1.233 以降では、[`CLAUDE_CODE_WEBFETCH_CACHE_TTL_MS`](/docs/ja/env-vars#variables) を設定して、WebFetch が各レスポンスを保持する期間を変更できます。
361* URL が別のホストにリダイレクトされる場合、WebFetch はそれに従う代わりに、元の URL とリダイレクト ターゲットを名前付けするテキスト結果を返します。Claude は 2 番目の WebFetch 呼び出しで新しい URL をフェッチします。609* URL が別のホストにリダイレクトされる場合、WebFetch はそれに従う代わりに、元の URL とリダイレクト先を名前で示すテキスト結果を返します。その後 Claude は 2 番目の WebFetch 呼び出しで新しい URL をフェッチします。
610* 抽出ステップが過負荷の API にヒットした場合、Claude Code はバックオフで再試行します。それでも失敗するフェッチはエラー結果を返します。v2.1.212 より前では、API エラーテキストが抽出されたページコンテンツであるかのように Claude に到達する可能性がありました。
611
612Manual および `acceptEdits` [権限モード](/docs/ja/permission-modes) では、WebFetch はフェッチ前にプロンプトを表示します。ただし、[権限ルール](/docs/ja/permissions#manage-permissions) で既に許可または拒否されているドメイン、および事前承認されたドキュメンテーションドメインの組み込みセットについてはプロンプトなしでフェッチされます。ルールが許可するものが何であれ、フェッチは最初に [WebFetch ドメイン安全性チェック](/docs/ja/data-usage#webfetch-domain-safety-check) に合格する必要があります。そのセクションではチェックが送信する内容とそれをスキップする設定について説明しています。プロンプトは 3 つのオプションを提供します。
362 613
363デフォルトおよび `acceptEdits` 権限モードでは、WebFetch は新しいドメインに最初に到達するときにプロンプトを表示します。プロンプトなしで事前にドメインを許可するには、`WebFetch(domain:example.com)` のような権限ルールを追加します。`auto` および `bypassPermissions` [権限モード](/docs/ja/permissions#permission-modes)はプロンプトを完全にスキップします。614* **Yes**: このフェッチのみを承認します。次の WebFetch 呼び出しは、同じドメインであってもプロンプトを再度表示します。
615* **Yes, and don't ask again for `<domain>`**: フェッチを承認し、そのドメインの `WebFetch(domain:...)` 許可ルールをそのリポジトリの `.claude/settings.local.json` に保存します。[保存された承認の永続化方法](/docs/ja/permissions#permission-system) を参照してください。組織が [`allowManagedPermissionRulesOnly`](/docs/ja/permissions#managed-only-settings) を設定している場合、Claude Code はこのオプションを非表示にします。
616* **No, and tell Claude what to do differently**: フェッチを拒否します。
364 617
365明示的な `WebFetch(domain:...)` ルールが `deny`、`ask`、または `allow` にある場合、事前承認されたセットよりも優先されるため、事前承認されたドメインをブロックするか、そのドメインに対してプロンプトを要求できます。618プロンプトなしで事前にドメインを許可するには、`WebFetch(domain:example.com)` のような許可ルールを追加します。`WebFetch(domain:*)` はすべてのドメインを許可します。`auto` および `bypassPermissions` [権限モード](/docs/ja/permissions#permission-modes) はプロンプトをスキップします。ただし、明示的な `ask` ルールが一致するドメインは除きます。
366 619
367WebFetch は `Claude-User` で始まる `User-Agent` ヘッダーと、HTML よりも Markdown を優先する `Accept` ヘッダーを設定するため、コンテンツ ネゴシエーションをサポートするサーバーは Markdown を直接返すことができます。[sandbox](/docs/ja/sandboxing)ネットワーク ルールは別途構成されるため、サンドボックス化されたプロセスが到達したいドメインには、明示的なサンドボックス権限ルールが必要です。620`deny`、`ask`、または `allow` の明示的な `WebFetch(domain:...)` ルールは事前承認セットより優先されるため、事前承認されたドメインをブロックするか、そのドメインに対してプロンプトを要求できます。
621
622WebFetch は `Claude-User` で始まる `User-Agent` ヘッダーと、コンテンツネゴシエーションをサポートするサーバーが Markdown を直接返すことができるように HTML より Markdown を優先する `Accept` ヘッダーを設定します。
623
624サンドボックス化されたコマンドは WebFetch の事前承認されたドキュメンテーションドメインの組み込みセットを継承しません。サンドボックス化されたコマンドがプロンプトなしでドメインに到達できるようにするには、ドメインを [`allowedDomains`](/docs/ja/settings-reference#sandbox-network-alloweddomains) に追加するか、`WebFetch(domain:...)` ルールで許可します。[サンドボックスもこれを尊重します](/docs/ja/sandboxing#network-isolation)。WebFetch は代わりにサンドボックス許可リストを読み取ることはないため、ドメインをサンドボックスまたは組織ネットワーク許可リストに追加しても、WebFetch がそれについてプロンプトを表示するのを止めることはできません。
368 625
369<h2 id="websearch-tool-behavior">626<h2 id="websearch-tool-behavior">
370 WebSearch ツールの動作627 WebSearch ツールの動作
371</h2>628</h2>
372 629
373WebSearch は Anthropic の [web search](https://platform.claude.com/docs/ja/agents-and-tools/tool-use/web-search-tool)バックエンドに対してクエリを実行し、結果のタイトルと URL を返します。結果ページをフェッチしません。Claude が検索結果で見つけたページを読むには、[WebFetch](#webfetch-tool-behavior)でフォローアップします。630WebSearch は Anthropic の [ウェブ検索](https://platform.claude.com/docs/en/agents-and-tools/tool-use/web-search-tool) バックエンドに対してクエリを実行し、結果のタイトルと URL を返します。結果ページを取得することはありません。Claude が検索結果で見つけたページを読むには、[WebFetch](#webfetch-tool-behavior) でフォローアップします。
631
632このツールは呼び出しごとに最大 8 つのバックエンド検索を実行でき、結果を返す前に内部で検索を絞り込みます。Claude は `allowed_domains` で結果を特定のホストのみに含めるようにスコープできます。または `blocked_domains` で結果を除外できます。この 2 つのリストは 1 回の呼び出しで組み合わせることはできません。
374 633
375ツールは 1 回の呼び出しあたり最大 8 つのバックエンド検索を発行し、結果を返す前に内部的に検索を絞り込む場合があります。Claude は `allowed_domains` で結果をスコープして特定のホストのみを含めるか、`blocked_domains` で除外できます。2 つのリストは 1 回の呼び出しで組み合わせることはできません。634検索リクエストが過負荷状態の API にヒットした場合、Claude Code はバックオフで再試行します。それでも失敗した呼び出しはエラー結果を返します。v2.1.212 より前では、API エラーテキストが検索結果のように Claude に到達する可能性がありました。
376 635
377検索バックエンドは構成不可です。別のプロバイダーで検索するには、検索ツールを公開する [MCP サーバー](/docs/ja/mcp)を追加します。636WebSearch 権限ルールは指定子を取りません。`allow` または `deny` の単なる `WebSearch` エントリが唯一の形式です。
378 637
379WebSearch 権限ルールは指定子を取りません。`allow` または `deny` の裸の `WebSearch` エントリのみが唯一の形式です。638検索バックエンドは設定不可です。別のプロバイダーで検索するには、検索ツールを公開する [MCP サーバー](/docs/ja/mcp) を追加します。
380 639
381<Note>640<Note>
382 WebSearch は Claude API、[Claude Platform on AWS](/docs/ja/claude-platform-on-aws)、および Microsoft Foundry で利用可能です。Google Cloud の Agent Platform では、Opus、Sonnet、Haiku を含む Claude 4 以降のモデルで機能します。Amazon Bedrock はサーバー側の Web 検索ツールを公開していません。641 WebSearch は Claude API と [AWS 上の Claude Platform](/docs/ja/claude-platform-on-aws) で利用可能です。Microsoft Foundry では [Anthropic でホストされているデプロイメント](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options) が必要です。Azure でホストされているデプロイメントはサーバー側ツールをサポートしていないため、WebSearch 呼び出しは失敗します。Google Cloud の Agent Platform では Claude 4 以降のモデル(Opus、Sonnet、Haiku を含む)で動作します。Amazon Bedrock はサーバー側ウェブ検索ツールを公開していません。
383</Note>642</Note>
384 643
644<h3 id="session-search-limit">
645 セッション検索制限
646</h3>
647
648セッションは最大 200 回の WebSearch 呼び出しを実行できます。メイン会話とそれが生成するすべての [サブエージェント](/docs/ja/sub-agents) 全体でカウントされるため、並列リサーチ ファンアウトによって行われた検索は同じ制限にカウントされます。この制限には Claude Code v2.1.212 以降が必要です。Claude が制限に達すると、さらなる呼び出しは、再試行を促すエラーではなく、既に収集した情報で続行するよう Claude に指示する通知を返します。通知は表示されません。キャップされた呼び出しは会話に何もしなかった検索として表示され、Claude がさらに検索が必要な場合、通知は制限を引き上げるよう求めるよう指示します。
649
650[`CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION`](/docs/ja/env-vars) 環境変数を設定して上限を変更します。正の整数を受け入れるため、上限を引き上げることはできますが、オフにすることはできません。[`/clear`](/docs/ja/commands#all-commands) を実行するとカウントがリセットされます。ワークフローの実行など、[サブエージェント](/docs/ja/sub-agents) を生成できる作業がクリア後も存在する場合、カウントは代わりに引き継がれます。
651
385<h2 id="write-tool-behavior">652<h2 id="write-tool-behavior">
386 Write ツールの動作653 Write ツールの動作
387</h2>654</h2>
388 655
389Write ツールは新しいファイルを作成するか、提供された完全なコンテンツで既存のファイルを上書きします。追加またはマージは行いません。656Write ツールは新しいファイルを作成するか、既存のファイルを提供された完全なコンテンツで上書きします。追記やマージは行いません。
657
658Claude が現在の会話で既存ファイルを上書きする前に読む必要があるかどうかは、モデルとファイルによって異なります。
659
660* Claude Opus 4.6、Claude Haiku 4.5、およびそれ以前のモデルは常に読み込みが必要なため、読み込まれていない既存ファイルへの Write は エラーで失敗します。
661* より新しいモデルは、[read-before-edit](#edit-tool-behavior) と同じ条件下で、このセッション中に読み込んだことのないファイルを上書きできます。読み込みが権限プロンプトを必要とせず、Read ツールが利用可能な場合です。
662* Jupyter ノートブック、および Claude が [`PARTIAL view` 通知](#read-tool-behavior) で部分的にのみ読み込んだファイルは、すべてのモデルで読み込みが必要です。
390 663
391ターゲット パスが既に存在する場合、Claude は現在の会話でそのファイルを少なくとも 1 回読み取っている必要があります。読み取られていない既存ファイルへの Write はエラーで失敗します。この制約は新しいファイルには適用されません。664この制約は新しいファイルには適用されません。v2.1.228 より前は、すべてのモデルが既存ファイルを上書きする前に読み込みが必要でした。
392 665
393Bash でファイルを表示することは、[Edit ツールの動作](#edit-tool-behavior)で説明されているのと同じルールの下で、この要件を満たします。666Bash でファイルを表示することも、[Edit ツールの動作](#edit-tool-behavior) で説明されている同じルールの下でこの要件を満たします。
394 667
395既存ファイルへの部分的な変更の場合、Claude は Write ではなく Edit を使用します。668既存ファイルへの部分的な変更の場合、Claude は Write ではなく Edit を使用します。
396 669